SetMenuBar: Difference between revisions
(added more info from release notes) |
mNo edit summary |
||
Line 3: | Line 3: | ||
SetMenuBar enables a complete modeller customsied menubar, with hierarchic menus, to be built in one step. It superceeds the "[[ClearCustomMenubar]]" and "[[AddListToMenu]]" routine operations. | SetMenuBar enables a complete modeller customsied menubar, with hierarchic menus, to be built in one step. It superceeds the "[[ClearCustomMenubar]]" and "[[AddListToMenu]]" routine operations. | ||
The operation takes a | The operation takes a 5 column table as a parameter (the table can have more than 5 columns but only the first 5 are used). The name of the columns are not important but the positions must be ordered as follows. | ||
The columns are: | The columns are: | ||
;depth: sets the depth of the submenu, 0 = top level | ;depth: sets the depth of the submenu, 0 = top level | ||
;label: the text label for the menu item | ;label: the text label for the menu item | ||
;id: return id for menu item | ;id: return id for menu item | ||
;unavailable: sets the menu item to unselectable (gray), <>0 = unselectable | |||
;tick: places a menu tick next to the menu item | |||
The menu structure is defined by enumerating the menu items in prefix order, for example for: | The menu structure is defined by enumerating the menu items in prefix order, for example for: | ||
Line 17: | Line 21: | ||
|Load || Paste || || || Label | |Load || Paste || || || Label | ||
|- | |- | ||
|Save || || Reset || || | |<font color=gray> Save </font> || || Reset || || | ||
|- | |- | ||
|Quit | |Quit | ||
Line 24: | Line 28: | ||
{| border="1" | {| border="1" | ||
!depth !! label !! id | !depth !! label !! id !! unavailable !! tick | ||
|- | |- | ||
|0 || File || 0 | |0 || File || 0 || 0|| 0 | ||
|- | |- | ||
|1 || New || 1 | |1 || New || 1 || 0 || 0 | ||
|- | |- | ||
|1 || Load || 2 | |1 || Load || 2 || 0 || 0 | ||
|- | |- | ||
|1 || Save || 3 | |1 || Save || 3 || 1 || 0 | ||
|- | |- | ||
|1 || Quit || 4 | |1 || Quit || 4 || 0 || 0 | ||
|- | |- | ||
|0 || Edit || 0 | |0 || Edit || 0 || 0 || 0 | ||
|- | |- | ||
|1 || Cut || 5 | |1 || Cut || 5 || 0 || 0 | ||
|- | |- | ||
|1 || Paste || 6 | |1 || Paste || 6 || 0 || 0 | ||
|- | |- | ||
|0 || Tools || 0 | |0 || Tools || 0 || 0 || 0 | ||
|- | |- | ||
|1 || Add || 0 | |1 || Add || 0 || 0 || 0 | ||
|- | |- | ||
|2 || Table || 7 | |2 || Table || 7 || 0 || 0 | ||
|- | |- | ||
|2 || Label || 8 | |2 || Label || 8 || 0 || 0 | ||
|- | |- | ||
|1 || Reset || 9 | |1 || Reset || 9 || 0 || 0 | ||
|} | |} | ||
You can use | You can use a label of '-' as a separator between menu items. | ||
When a menu bar selection is made the system broadcast "[[_Menu Command]]" is sent and the [[Item Attribute|item attribute]] "_command" will contain the index (from the index column) of the selected menu item. | When a menu bar selection is made the system broadcast "[[_Menu Command]]" is sent and the [[Item Attribute|item attribute]] "_command" will contain the index (from the index column) of the selected menu item. | ||
Menu items flagged as ''unavailable'' will be shown in <font color=gray> Grey </font> and cannot be selected. | |||
Useful when creating end user applications with Planimate. | Useful when creating end user applications with Planimate. |
Revision as of 12:45, 21 August 2008
Routine Operation that interprets columns in table as depth/name/index and builds a custom menu bar.
SetMenuBar enables a complete modeller customsied menubar, with hierarchic menus, to be built in one step. It superceeds the "ClearCustomMenubar" and "AddListToMenu" routine operations.
The operation takes a 5 column table as a parameter (the table can have more than 5 columns but only the first 5 are used). The name of the columns are not important but the positions must be ordered as follows.
The columns are:
- depth
- sets the depth of the submenu, 0 = top level
- label
- the text label for the menu item
- id
- return id for menu item
- unavailable
- sets the menu item to unselectable (gray), <>0 = unselectable
- tick
- places a menu tick next to the menu item
The menu structure is defined by enumerating the menu items in prefix order, for example for:
File | Edit | Tools | ||
---|---|---|---|---|
New | Cut | Add | ---> | Table |
Load | Paste | Label | ||
Save | Reset | |||
Quit |
depth | label | id | unavailable | tick |
---|---|---|---|---|
0 | File | 0 | 0 | 0 |
1 | New | 1 | 0 | 0 |
1 | Load | 2 | 0 | 0 |
1 | Save | 3 | 1 | 0 |
1 | Quit | 4 | 0 | 0 |
0 | Edit | 0 | 0 | 0 |
1 | Cut | 5 | 0 | 0 |
1 | Paste | 6 | 0 | 0 |
0 | Tools | 0 | 0 | 0 |
1 | Add | 0 | 0 | 0 |
2 | Table | 7 | 0 | 0 |
2 | Label | 8 | 0 | 0 |
1 | Reset | 9 | 0 | 0 |
You can use a label of '-' as a separator between menu items.
When a menu bar selection is made the system broadcast "_Menu Command" is sent and the item attribute "_command" will contain the index (from the index column) of the selected menu item.
Menu items flagged as unavailable will be shown in Grey and cannot be selected.
Useful when creating end user applications with Planimate.