[SOLVED] How do you interface with a tab strip component data set?

I have a window called ‘SideBar’ and on it is a Tab Strip Component.

  1. How do I add a row to the Tab Data through scripting?

  2. How do I set the Tab data column ‘Hidden’ to true or false through scritping?

Thank you for any help.

After some further investigation I answered my own question.

row = ["Main/Overview/_Navigation", "Overview2", True, False, "F48E1C", "Builtin/icons/24/home.png", 4, 3, "000000", "808080", "font(Dialog,bold,24)", "EEECE8", "EEECE8", "Builtin/icons/24/home.png", 4, 3, "000000", "EEECE8", "font(Dialog,bold,24)", "EEECE8", "AAAAAA", True, True, "Overview"]
tab = event.source.parent.getComponent('Tabs')
tab.tabData = system.dataset.addRow(tab.tabData, 0, row)
tab.tabData = system.dataset.setValue(tab.tabData, 5, "HIDDEN", True)

There are 24 columns on the data set that need filled out.

NAME					                STRING		Main/Overview/_Navigation
DISPLAY_NAME				            STRING		Overview
ENABLED					                BOOLEAN		TRUE
HIDDEN					                BOOLEAN		FALSE
HOVER_COLOR				                COLOR		F48E1C
SELECTED_IMAGE_PATH			            STRING		Builtin/icons/24/home.png
SELECTED_IMAGE_HORIZONTAL_ALIGNMENT	    INTEGER		4
SELECTED_IMAGE_VERTICAL_ALIGNMENT	    INTEGER		3
SELECTED_FOREGROUND_COLOR		        COLOR		000000
SELECTED_BACKGROUND_COLOR		        COLOR		808080
SELECTED_FONT				            STRING		font(Dialog,bold,24)
SELECTED_GRADIENT_START_COLOR		    COLOR		EEECE8
SELECTED_GRADIENT_END_COLOR		        COLOR		EEECE8
UNSELECTED_IMAGE_PATH			        STRING		Builtin/icons/24/home.png
UNSELECTED_IMAGE_HORIZONTAL_ALIGNMENT   INTEGER		4
UNSELECTED_IMAGE_VERTICAL_ALIGNMENT	    INTEGER		3
UNSELECTED_FOREGROUND_COLOR		        COLOR		000000
UNSELECTED_BACKGROUND_COLOR		        COLOR		EEECE8
UNSELECTED_FONT				            STRING		font(Dialog,bold,24)
UNSELECTED_GRADIENT_START_COLOR		    COLOR		EEECE8
UNSELECTED_GRADIENT_END_COLOR		    COLOR		AAAAAA
USE_SELECTED_GRADIENT			        BOOLEAN		TRUE
USE_UNSELECTED_GRADIENT			        BOOLEAN		TRUE
MOUSEOVER_TEXT				            STRING		Overview

The 4 lines of code defines the new row, it obtains the component which ive called ‘Tabs’. The code then adds a new row 0 (all other rows are shifted down). Finally the code hides the sixth row (which is after rows 0, 1, 2, 3, and 4.

Nicely done!

One suggestion though; create a temporary dataset variable initialized with the tab’s dataset, make all neccesary changes to the temp dataset and then set the tab’s dataset property. This avoids updating the tab strip more than once.

row = ["Main/Overview/_Navigation", "Overview2", True, False, "F48E1C", "Builtin/icons/24/home.png", 4, 3, "000000", "808080", "font(Dialog,bold,24)", "EEECE8", "EEECE8", "Builtin/icons/24/home.png", 4, 3, "000000", "EEECE8", "font(Dialog,bold,24)", "EEECE8", "AAAAAA", True, True, "Overview"]
tab = event.source.parent.getComponent('Tabs')
dsEdit = tab.tabData
dsEdit = system.dataset.addRow(dsEdit, 0, row)
dsEdit = system.dataset.setValue(dsEdit 5, "HIDDEN", True)
tab.tabData = dsEdit
2 Likes

Thanks for the input. I will definitely do it this way.

(One minor thing: you missed a coma in your code.)

Thanks again!