procedure :choice-stack name Creates a choicestack widget within the current panel frame for the TCL interpreter. A choicestack widget is a frame window containing a menubutton window, menu, message window and (optionally) label window. name is used to generate the path name of the windows to be created. It should have the format of a widget name (e.g. :choicestack CHSTK) and should be unique within this interpreter. The name will be lower-cased (using the string tolower command) in order to generate the path name used to create the windows. When a choice is selected by releasing mouse button 1 while the mouse focus is on an item in the menu then the TCL command click FRAME “ ” CHOICESTACK index item will be executed where FRAME and CHOICESTACK are widget names, index is the index of the selected menu item within the choicestack menu and item is the contents of the menu item selected. The selected menu item is written into the message window. The path names generated have the root framename.panelname.choice- stackname and the items menu, message and label. The :choice-stack procedure may also be used directly within a frame window (i.e. before any panel window has been created). The :choice-stack procedure may have a number of arguments however none of these is mandatory. arguments :x number number is the x-co-ordinate within the current panel of the choicestack widget in pixels e.g. :x 400 :y number number is the y-co-ordinate within the current panel of the choicestack widget in pixels e.g. :y 200 The :x and :y parameters may be omitted in which case the packer geometry manager will be used and the position of the window will be determined by the contents of the master (panel) window. If however the :x and :y parameters are supplied then the placer geometry manager will be used to position the window within the master (panel) window. Warning: Note that it is not possible to mix use of the packer and placer geometry managers within the same window. Thus all windows within a panel must request or imply that the same geometry manager is used. :value value value is the index of the initially selected item within the choice menu. The selected menu item is written into the message window. The default value is 0. :valuex value value is the position of the left hand edge of the menubutton window with relation to the left hand edge of the checkbox widget. It is thus the space available to write the label string but also allows alignment of the menubutton windows of several checkbox widgets. The value may be expressed in units of pixels or characters. e.g. :valuex 100 (pixels); :valuex 15c (characters) The default value is 0. If :valuex is specified then a label window will be created even if :label is not specified (in which case the label will be a single space character). :label string string is a text string to be written into the label component of the choice-stack widget. By default no label window is created. A non null :label string (a single space is adequate) causes the label window to be created (see also :valuex). :strings list list is a simple TCL list of text strings which form the elements of the menu. The default is a null list and hence an empty menu. :menu list list is a TCL list of items which form the elements of the menu. Each item may be a simple string in which case it is appended as the name of a command in the current menu. However an item may itself be a list in which case the first element of the item is appended as the name of a cascade in the current menu and the remaining elements of the item are used to construct the cascade menu. It is not meaningful that :menu and :string are both specified in the same command. The arguments :rows and :cols are no longer available since the use of :menu permits menus to be structured as required. See also common procedure arguments defined later in this document.