! ! Motif ! ! Copyright (c) 1987-2012, The Open Group. All rights reserved. ! ! These libraries and programs are free software; you can ! redistribute them and/or modify them under the terms of the GNU ! Lesser General Public License as published by the Free Software ! Foundation; either version 2 of the License, or (at your option) ! any later version. ! ! These libraries and programs are distributed in the hope that ! they will be useful, but WITHOUT ANY WARRANTY; without even the ! implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ! PURPOSE. See the GNU Lesser General Public License for more ! details. ! ! You should have received a copy of the GNU Lesser General Public ! License along with these librararies and programs; if not, write ! to the Free Software Foundation, Inc., 51 Franklin Street, Fifth ! Floor, Boston, MA 02110-1301 USA ! ! ! HISTORY ! ! $XConsortium: menuBar.uil /main/8 1995/07/13 20:48:28 drk $ !****************************************************************************** module Test version = 'v1.0' names = case_sensitive include file "menuBar.msg"; procedure exit_test(); Report_Callback(string); value wheat : color('wheat'); navy : color('navy'); object ! The main window widget. S_MAIN_WIDGET : XmBulletinBoard { arguments { XmNx = 0; XmNy = 0; }; controls { XmBulletinBoardDialog explanation; XmMenuBar Menu_Bar; }; }; value green: color ('green'); MediumBlue: color ('MediumBlue'); black: color ('black'); navy_blue: color ('navy blue'); red: color('red'); object Menu_Bar : XmMenuBar { arguments { XmNborderWidth = 50; XmNbackground = green; XmNwidth = 200; XmNheight = 100; XmNborderColor = MediumBlue; XmNshadowThickness = 5; XmNbottomShadowColor = navy_blue; XmNmarginWidth = 10; XmNmarginHeight = 10; XmNpacking = XmPACK_COLUMN; XmNentryAlignment = XmALIGNMENT_CENTER; }; controls { XmCascadeButton cb1; XmCascadeButton cb2; }; }; ! Create Two Pulldown Menus - ! One with two toggle buttons - valueChangedCallback ON ! Another with two Pushbuttons - armCallback ON ! Both Pulldowns are controls off of CascadeButtons. object cb1 : XmCascadeButton { arguments { XmNlabelString = compound_string('PullDown 1'); XmNborderWidth = 2; }; controls { XmPulldownMenu pdm1; }; }; object cb2 : XmCascadeButton { arguments { XmNlabelString = compound_string('PullDown 2'); XmNborderWidth = 2; }; controls { XmPulldownMenu pdm2; }; }; object pdm1 : XmPulldownMenu { arguments { XmNtearOffModel = XmTEAR_OFF_ENABLED; }; callbacks { XmNtearOffMenuActivateCallback = procedure Report_Callback ('Pulldown1: tearOffMenuActivateCallback called'); XmNtearOffMenuDeactivateCallback = procedure Report_Callback ('Pulldown1: XmNtearOffMenuDeactivateCallback called'); }; controls { XmToggleButton tb1; XmToggleButton tb2; Xm_TearOffControl { arguments { XmNbackground = wheat; XmNshadowThickness = 2; XmNseparatorType = XmDOUBLE_DASHED_LINE; }; }; }; }; object pdm2 : XmPulldownMenu { arguments { XmNtearOffModel = XmTEAR_OFF_ENABLED; }; callbacks { XmNtearOffMenuActivateCallback = procedure Report_Callback ('Pulldown2: tearOffMenuActivateCallback called'); XmNtearOffMenuDeactivateCallback = procedure Report_Callback ('Pulldown2: XmNtearOffMenuDeactivateCallback called'); }; controls { XmPushButton pb1; XmPushButton pb2; Xm_TearOffControl { arguments { XmNbackground = red; XmNshadowThickness = 2; XmNseparatorType = XmDOUBLE_DASHED_LINE; }; }; }; }; object tb1 : XmToggleButton { arguments { XmNlabelString = compound_string('Toggle 1'); }; callbacks { XmNvalueChangedCallback = procedure Report_Callback ('valueChangedCallback - Toggle Button 1'); }; }; object tb2 : XmToggleButton { arguments { XmNlabelString = compound_string('Toggle 2'); }; callbacks { XmNvalueChangedCallback = procedure Report_Callback ('valueChangedCallback - Toggle Button 2'); }; }; object pb1: XmPushButton { arguments { XmNlabelString = compound_string('Push_Button 1'); }; callbacks { XmNarmCallback = procedure Report_Callback('armCallback - Push Button 1'); }; }; object pb2: XmPushButton { arguments { XmNlabelString = compound_string('Push_Button 2'); }; callbacks { XmNarmCallback = procedure Report_Callback('armCallback - Push Button 2'); }; }; object explanation : XmBulletinBoardDialog { arguments { XmNx = 500; XmNy = 0; XmNdefaultPosition = false; XmNbackground = wheat; XmNforeground = navy; }; controls { XmPushButton pushb1; XmLabel label1; XmText text1; }; }; object pushb1 : XmPushButton { arguments { XmNx = 0; XmNy = 0; XmNbackground = wheat; XmNforeground = navy; XmNlabelString = compound_string("Exit"); }; callbacks { XmNarmCallback = procedure exit_test(); }; }; object label1 : XmLabel { arguments { XmNx = 60; XmNy = 0; XmNbackground = wheat; XmNforeground = navy; XmNlabelString = compound_string("Explanation of Widget Displayed"); }; }; object text1 : XmText { arguments { XmNx = 0; XmNy = 40; XmNheight = 480; XmNwidth = 300; XmNwordWrap = true; XmNeditMode = XmMULTI_LINE_EDIT; XmNeditable = false; XmNbackground = wheat; XmNforeground = navy; XmNvalue = message; }; }; end module;