/* * @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 */ /* static char rcsid[] = "$XConsortium: OptionMenu5.dat /main/6 1995/07/13 18:50:57 drk $" */ /* test for PIRS 2658 */ @) This test confirms that programmatically changing the items in the pulldown menu associated with an option menu results in the XmOptionButtonGadget of the option menu correctly updating. @) 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 */ #) 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.) #) Pop the menu back down. C) @) 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. #) Pop up the option menu. Confirm that the item has changed. C) @) 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. #) Confirm that the display of the XmOptionButtonGadget immediately reflects a new value. C) @) 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. C) @) 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. C) E)