1 /*
2  * $XConsortium: MenuButton.h,v 1.9 94/04/17 20:12:21 kaleb Exp $
3  */
4 /* MODIFIED FOR N*XTSTEP LOOK	 				*/
5 /* Modifications Copyright (c) 1996, 1997 by Alfredo Kojima	*/
6 
7 /*
8 Copyright (c) 1989, 1994  X Consortium
9 
10 Permission is hereby granted, free of charge, to any person obtaining a copy
11 of this software and associated documentation files (the "Software"), to deal
12 in the Software without restriction, including without limitation the rights
13 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14 copies of the Software, and to permit persons to whom the Software is
15 furnished to do so, subject to the following conditions:
16 
17 The above copyright notice and this permission notice shall be included in
18 all copies or substantial portions of the Software.
19 
20 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
23 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
24 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
25 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 
27 Except as contained in this notice, the name of the X Consortium shall not be
28 used in advertising or otherwise to promote the sale, use or other dealings
29 in this Software without prior written authorization from the X Consortium.
30  */
31 
32 /***********************************************************************
33  *
34  * MenuButton Widget
35  *
36  ***********************************************************************/
37 
38 /*
39  * MenuButton.h - Public Header file for MenuButton widget.
40  *
41  * This is the public header file for the Athena MenuButton widget.
42  * It is intended to provide an easy method of activating pulldown menus.
43  *
44  * Date:    May 2, 1989
45  *
46  * By:      Chris D. Peterson
47  *          MIT X Consortium
48  *          kit@expo.lcs.mit.edu
49  */
50 
51 #ifndef _XawMenuButton_h
52 #define _XawMenuButton_h
53 
54 #include <X11/neXtaw/Command.h>
55 
56 /* Resources:
57 
58  Name		     Class		RepType		Default Value
59  ----		     -----		-------		-------------
60  background	     Background		Pixel		XtDefaultBackground
61  bitmap		     Pixmap		Pixmap		None
62  border		     BorderColor	Pixel		XtDefaultForeground
63  borderWidth	     BorderWidth	Dimension	1
64  callback	     Callback		Pointer		NULL
65  cursor		     Cursor		Cursor		None
66  destroyCallback     Callback		Pointer		NULL
67  font		     Font		XFontStruct*	XtDefaultFont
68  foreground	     Foreground		Pixel		XtDefaultForeground
69  height		     Height		Dimension	text height
70  highlightThickness  Thickness		Dimension	2
71  insensitiveBorder   Insensitive	Pixmap		Gray
72  internalHeight	     Height		Dimension	2
73  internalWidth	     Width		Dimension	4
74  justify	     Justify		XtJustify	XtJustifyCenter
75  label		     Label		String		NULL
76  mappedWhenManaged   MappedWhenManaged	Boolean		True
77  menuName            MenuName           String          "menu"
78  resize		     Resize		Boolean		True
79  sensitive	     Sensitive		Boolean		True
80  width		     Width		Dimension	text width
81  x		     Position		Position	0
82  y		     Position		Position	0
83 
84 */
85 
86 #define XtNmenuName "menuName"
87 #define XtCMenuName "MenuName"
88 
89 #define XtNmenuButtonStyle "menuButtonStyle"
90 #define XtCMenuButtonStyle "MenuButtonStyle"
91 
92 typedef enum {
93     XtMenuButtonSimple,
94     XtMenuButtonAction,
95     XtMenuButtonSelect
96 } XtMenuButtonStyle;
97 
98 extern WidgetClass     menuButtonWidgetClass;
99 
100 typedef struct _MenuButtonClassRec   *MenuButtonWidgetClass;
101 typedef struct _MenuButtonRec        *MenuButtonWidget;
102 
103 #endif /* _XawMenuButton_h */
104