# $XConsortium: OptionMenu5.scr /main/4 1995/07/17 20:27:21 drk $ # @OPENGROUP_COPYRIGHT@ # COPYRIGHT NOTICE # Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc. # Copyright (c) 1996, 1997, 1998, 1999, 2000 The Open Group # ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for # the full copyright text. # # This software is subject to an open license. It may only be # used on, with or for operating systems which are themselves open # source systems. You must contact The Open Group for a license # allowing distribution and sublicensing of this software on, with, # or for operating systems which are not Open Source programs. # # See http://www.opengroup.org/openmotif/license for full # details of the license agreement. Any use, reproduction, or # distribution of the program constitutes recipient's acceptance of # this agreement. # # EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS # PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY # WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY # OR FITNESS FOR A PARTICULAR PURPOSE # # EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT # NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE # EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGES. # # HISTORY # # You should see a set of six buttons, an option menu labeled "Label/LabelG # Menu Items", and two toggle buttons. You should see the initial value of # the option menu be the string "Label Gadget", the first item in the menu. # /* BUG! fix this by the end of the bug */ CompareVisual form # Pop up the option menu. The set of items should be "Label Gadget", "Label", # "Push Button Gadget", "Push Button", "Toggle Button Gadget", "Toggle Button". # The labels correspond to the items' widget classes. # (These values were set programmatically on the widgets after the menu was # created and realized and before any user interaction occurred.) LocatePointer option_menu ROptionButton PressMB Btn1 CompareVisual pulldown ReleaseMB Btn1 # Pop the menu back down. Continue # Now confirm that the values shown by the menu items can be changed, # whether they are echoed by the XmOptionButtonGadget or not. # Select any of the buttons on the left which say "Change pulldown entry #n". # This changes the XmNlabelString of the corresponding item in the menu. # The XmNlabelString for the pulldown is set to one of set of strings that # indicates how many times you have done this ("1st in series", "second in # series" -- items of different length), modulo the number of strings. LocatePointer entry0 ClickMB Btn1 LocatePointer option_menu ROptionButton PressMB Btn1 CompareVisual pulldown ReleaseMB Btn1 # Pop up the option menu. Confirm that the item has changed. Continue # Do the following for each of the selectable items in the # menu (the "Push Button Gadget", # "Push Button", "Toggle Button Gadget", "Toggle Button") in order # to make sure that changing the menu item which is currently displayed # as the option's choice # results in the XmOptionButtonGadget changing: # Choose the item from the menu so that it is currently selected and displayed. # Choose the corresponding button "Change pulldown entry #n". # The XmNlabelString for the pulldown is set to one of set of strings that # indicates its place in the sequence. LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer label ReleaseMB Btn1 LocatePointer entry1 ClickMB Btn1 CompareVisual option_menu LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer pbg ReleaseMB Btn1 LocatePointer entry2 ClickMB Btn1 CompareVisual option_menu LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer pb ReleaseMB Btn1 LocatePointer entry3 ClickMB Btn1 CompareVisual option_menu Continue # Now confirm that changing the value of menu-item changes the displayed # value in the XmOptionButtonGadget even when the menu it insensitive. # Change the sensitivity of the option menu to false by pressing the # toggle button so labeled. # /* BUG! the option menu should appear grayed out, like it does on start-up */ # Choose the button "Change pulldown entry #n" corresponding to the # menu item currently being displayed. # Confirm that the display of the XmOptionButtonGadget immediately reflects # a new value. # Change the menu to be sensitive again. LocatePointer sensitivity ClickMB Btn1 LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer tbg ReleaseMB Btn1 LocatePointer entry4 ClickMB Btn1 CompareVisual option_menu LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer tb ReleaseMB Btn1 LocatePointer entry5 ClickMB Btn1 CompareVisual option_menu # Confirm that the display of the XmOptionButtonGadget immediately reflects # a new value. # Change the menu to be sensitive again. LocatePointer sensitivity ClickMB Btn1 Continue # This test also confirms that menu items with the XmNlabelType of XmPIXMAP # behave similarly. # The initial value of XmNlabelPixmap for each entry is the target bitmap. # As you change the pulldown entries, the XmNlabelPixmap resource is set to # one of a set of pixmaps, in sequence: # star opendot black boxes icon xlogo16 xlogo32 wide_weave # Set the XmNlabelType of the menu-items to XmPIXMAP by pressing the toggle # so labeled. # Confirm that the XmOptionButtonGadget changes type immediately to display # the XmNlabelPixmap of the currently-selected menu-item. # /* BUG! the size of the XmOptionButtonGadget is not reset until an item is # selected. See CascadeBG.c`Redisplay and CascadeBG.c`position_cascade */ # Repeat this test until this point. LocatePointer labelType ClickMB Btn1 LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer label ReleaseMB Btn1 LocatePointer entry1 ClickMB Btn1 CompareVisual option_menu LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer pbg ReleaseMB Btn1 LocatePointer entry2 ClickMB Btn1 CompareVisual option_menu LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer pb ReleaseMB Btn1 LocatePointer entry3 ClickMB Btn1 CompareVisual option_menu LocatePointer sensitivity ClickMB Btn1 LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer tbg ReleaseMB Btn1 LocatePointer entry4 ClickMB Btn1 CompareVisual option_menu LocatePointer option_menu ROptionButton PressMB Btn1 LocatePointer tb ReleaseMB Btn1 LocatePointer entry5 ClickMB Btn1 CompareVisual option_menu LocatePointer sensitivity ClickMB Btn1 Continue Exit