Blob Blame History Raw
! 
! 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;