00001 /* 00002 * $XConsortium: SimpleMenP.h,v 1.14 94/04/17 20:12:44 kaleb Exp $ 00003 * 00004 Copyright (c) 1989, 1994 X Consortium 00005 00006 Permission is hereby granted, free of charge, to any person obtaining a copy 00007 of this software and associated documentation files (the "Software"), to deal 00008 in the Software without restriction, including without limitation the rights 00009 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00010 copies of the Software, and to permit persons to whom the Software is 00011 furnished to do so, subject to the following conditions: 00012 00013 The above copyright notice and this permission notice shall be included in 00014 all copies or substantial portions of the Software. 00015 00016 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00017 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00018 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00019 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00020 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00021 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00022 00023 Except as contained in this notice, the name of the X Consortium shall not be 00024 used in advertising or otherwise to promote the sale, use or other dealings 00025 in this Software without prior written authorization from the X Consortium. 00026 * 00027 */ 00028 00029 /* 00030 * SimpleMenuP.h - Private Header file for SimpleMenu widget. 00031 * 00032 * Date: April 3, 1989 00033 * 00034 * By: Chris D. Peterson 00035 * MIT X Consortium 00036 * kit@expo.lcs.mit.edu 00037 */ 00038 00039 #ifndef _SimpleMenuP_h 00040 #define _SimpleMenuP_h 00041 00042 #include <X11/Xaw3d/SimpleMenu.h> 00043 #include <X11/Xaw3d/SmeP.h> 00044 #include <X11/ShellP.h> 00045 00046 typedef struct { 00047 XtPointer extension; /* For future needs. */ 00048 } SimpleMenuClassPart; 00049 00050 typedef struct _SimpleMenuClassRec { 00051 CoreClassPart core_class; 00052 CompositeClassPart composite_class; 00053 ShellClassPart shell_class; 00054 OverrideShellClassPart override_shell_class; 00055 SimpleMenuClassPart simpleMenu_class; 00056 } SimpleMenuClassRec; 00057 00058 extern SimpleMenuClassRec simpleMenuClassRec; 00059 00060 typedef struct _SimpleMenuPart { 00061 00062 /* resources */ 00063 00064 String label_string; /* The string for the label or NULL. */ 00065 SmeObject label; /* If label_string is non-NULL then this is 00066 the label widget. */ 00067 WidgetClass label_class; /* Widget Class of the menu label object. */ 00068 00069 Dimension top_margin; /* Top and bottom margins. */ 00070 Dimension bottom_margin; 00071 Dimension row_height; /* height of each row (menu entry) */ 00072 00073 Cursor cursor; /* The menu's cursor. */ 00074 SmeObject popup_entry; /* The entry to position the cursor on for 00075 when using XawPositionSimpleMenu. */ 00076 Boolean menu_on_screen; /* Force the menus to be fully on the screen.*/ 00077 int backing_store; /* What type of backing store to use. */ 00078 00079 /* private state */ 00080 00081 Boolean recursive_set_values; /* contain a possible infinite loop. */ 00082 00083 Boolean menu_width; /* If true then force width to remain 00084 core.width */ 00085 Boolean menu_height; /* Just like menu_width, but for height. */ 00086 00087 SmeObject entry_set; /* The entry that is currently set or 00088 highlighted. */ 00089 } SimpleMenuPart; 00090 00091 typedef struct _SimpleMenuRec { 00092 CorePart core; 00093 CompositePart composite; 00094 ShellPart shell; 00095 OverrideShellPart override; 00096 SimpleMenuPart simple_menu; 00097 } SimpleMenuRec; 00098 00099 #endif /* _SimpleMenuP_h */
1.5.1