Hi all. A while ago someone started a thread about how to enable or disable
individual tabs in a Tab Panel. I wrote these two admittedly simple functions
to accommodate this. They both take two parameters, the name of the tab panel,
and the tab item, which can be a number or the name of the tab. If you pass
"All" for the tab item, it will enable or disable all the tabs. There is some
basic error chacking. They will ignore a number that is out of bounds of the
number of tab items, or a tab name that does not exist, or a tab panel that
does not exist as a button. They will ignore enabling or disabling of tabs that
are already enable/disabled respectively. (Already shot myself in the foot with
that one!)
ON disableTab theTabPanel, theTab
IF theTabPanel is empty THEN exit disableTab
IF not there is a button theTabPanel THEN exit disableTab
put the text of button theTabPanel into theTabOptions
IF theTab is "All" THEN
REPEAT WITH i = 1 to the number of lines of theTabOptions
IF char 1 of line i of theTabOptions is not "(" THEN
put "(" before line i of theTabOptions
END IF
END REPEAT
ELSE
SWITCH
CASE theTab is a number
IF theTab > the number of lines of theTabOptions OR theTab = 0 THEN
exit disableTab
IF char 1 of line theTab of theTabOptions is not "(" THEN
put "(" before line theTab of theTabOptions
END IF
break
CASE theTab is not a number
put lineoffset(theTab, theTabOptions) into theTabLine
IF theTabLine = 0 THEN exit disableTab
IF char 1 of line theTabLine of theTabOptions is not "(" THEN
put "(" before line theTabLine of theTabOptions
END IF
break
END SWITCH
END IF
set the text of button theTabPanel to theTabOptions
END disableTab
ON enableTab theTabPanel, theTab
put the text of button theTabPanel into theTabOptions
IF theTab is "All" THEN
REPEAT WITH i = 1 to the number of lines of theTabOptions
IF char 1 of line i of theTabOptions is "(" THEN
put empty into char 1 of line i of theTabOptions
END IF
END REPEAT
ELSE
SWITCH
CASE theTab is a number
IF theTab > the number of lines of theTabOptions OR theTab = 0 THEN
exit enableTab
IF char 1 of line theTab of theTabOptions is "(" THEN
put empty into char 1 of line theTab of theTabOptions
END IF
break
CASE theTab is not a number
put lineoffset(theTab, theTabOptions) into theTabLine
IF theTabLine = 0 THEN exit enableTab
IF char 1 of line theTabLine of theTabOptions is "(" THEN
put empty into char 1 of line theTabLine of theTabOptions
END IF
break
END SWITCH
END IF
set the text of button theTabPanel to theTabOptions
END enableTab
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode