Updated October 2020; see History
The TabX control was introduced in A-Shell 6.1.1321 as an alternate version of the standard Tab control, with several extended features, including:
• Many different styles of tab labels |
• Ability to set the label font style/size |
• Extensive color options (background, text, flyby, active, inactive, etc) for each tab |
• Ability to put the labels on the left, right, or bottom, as well as the top |
• Options relating to the scroll buttons position and style |
• Transparency of the area around the labels (cleaner look) |
• Add and delete tab labels |
• Enable/Disable tab labels |
• Tooltips for each tab label |
• Optional close ("x") button |
• Options relating to arrangement of the labels |
• Option to have just labels (no panel) |
In its basic/default configuration, it supports the same configuration syntax as the standard Tab, except that you must also specify the MBF2_TABX flag in the ctype2 parameter (or the SBR=AUTO_TAB global flag); in this mode it looks and behaves similarly to the standard Tab. To take advantage of some of the extended features, set your ctext parameter according to the following syntax shown below.
Creating a new TabX control (opcode CTLOP_ADD):
ctext = {@globalattribs~~} {labeldef~~labeldef~~...labeldef~~}
Modifying a TabX control (opcode CTLOP_CHG):
ctext = {@globalattribs~~}{+|-|={labelid}:}{labeldef~~}...{+|-|={labelid}:}{labeldef~~}
where:
globalattribs define attributes for the tab control as a whole
labeldefs define each individual tab/label
labelid identifies a tab/label to modify, or the position in which to insert a new one. It may be either the tab label number, starting from 1, or the label text or command field defined in the labeldef. It must begin with "+", "-", or "=", and end with ":"
Value |
Description |
+labelid: |
insert a new label at the specified position, or at the end (if no labelid) |
+: |
(no labelid specified) append a new label at the end |
-labelid: |
delete the specified label |
=labelid: |
modify specified label, e.g. enable/disable it |
History
2020 October 2020, A-Shell 6.5.1690: You can now specify any of the label RGB attributes in the global attributes section of the configuration string (passed in the ctext parameter). Any attributes thus specified will be used as the default for any labels that do not specify their own RGB attributes. This eliminates the redundancy of having to specify the same RGB attributes on every label.
2014 December, A-Shell 6.1.1399: TabX refinement/workaround: If the user somehow manages to click on a tab label in such a way that the event code trigger is bypassed and consequently the application doesn't know to switch panels, resulting in a mismatch between the actual panel displayed and the highlighted label, you can now rectify the situation by just re-clicking on the correct label. This is a rare situation, generally only possible if clicking rapidly on the labels while other control updating operations are occurring within the TABX control. When it did occur, it previously caused more headache because clicking on the correct label typically caused confusion in the application, which thought that the specified panel was already the active one, thus rejecting the click.
2012 November, A-Shell 6.1.1321: TabX control added to A-Shell