summaryrefslogtreecommitdiff
path: root/include/X11/Xaw3d/SimpleMenP.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/X11/Xaw3d/SimpleMenP.h')
-rw-r--r--include/X11/Xaw3d/SimpleMenP.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/include/X11/Xaw3d/SimpleMenP.h b/include/X11/Xaw3d/SimpleMenP.h
new file mode 100644
index 0000000..6b67e90
--- /dev/null
+++ b/include/X11/Xaw3d/SimpleMenP.h
@@ -0,0 +1,111 @@
+/*
+Copyright (c) 1989, 1994 X Consortium
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of the X Consortium shall not be
+used in advertising or otherwise to promote the sale, use or other dealings
+in this Software without prior written authorization from the X Consortium.
+ *
+ */
+
+/*
+ * SimpleMenuP.h - Private Header file for SimpleMenu widget.
+ *
+ * Date: April 3, 1989
+ *
+ * By: Chris D. Peterson
+ * MIT X Consortium
+ * kit@expo.lcs.mit.edu
+ */
+
+#ifndef _SimpleMenuP_h
+#define _SimpleMenuP_h
+
+#include <X11/Xaw3d/SimpleMenu.h>
+#include <X11/Xaw3d/SmeP.h>
+#include <X11/ShellP.h>
+
+typedef struct {
+ XtPointer extension; /* For future needs. */
+} SimpleMenuClassPart;
+
+typedef struct _SimpleMenuClassRec {
+ CoreClassPart core_class;
+ CompositeClassPart composite_class;
+ ShellClassPart shell_class;
+ OverrideShellClassPart override_shell_class;
+ SimpleMenuClassPart simpleMenu_class;
+} SimpleMenuClassRec;
+
+extern SimpleMenuClassRec simpleMenuClassRec;
+
+typedef struct _SimpleMenuPart {
+
+ /* resources */
+
+ String label_string; /* The string for the label or NULL. */
+ SmeObject label; /* If label_string is non-NULL then this is
+ the label widget. */
+ WidgetClass label_class; /* Widget Class of the menu label object. */
+
+ Dimension top_margin; /* Top and bottom margins. */
+ Dimension bottom_margin;
+ Dimension left_whitespace; /* Space between BSB elements */
+ Dimension right_whitespace;
+ Dimension row_height; /* height of each row (menu entry) */
+
+ Cursor cursor; /* The menu's cursor. */
+ SmeObject popup_entry; /* The entry to position the cursor on for
+ when using XawPositionSimpleMenu. */
+ Boolean menu_on_screen; /* Force the menus to be fully on the screen.*/
+ int backing_store; /* What type of backing store to use. */
+
+ /* private state */
+
+ Boolean recursive_set_values; /* contain a possible infinite loop. */
+
+ Boolean menu_width; /* If true then force width to remain
+ core.width */
+ Boolean menu_height; /* Just like menu_width, but for height. */
+
+ SmeObject entry_set; /* The entry that is currently set or
+ highlighted. */
+
+ Widget threeD; /* 3d drawing stuff */
+
+ SmeObject *first_entry; /* the first entry */
+ SmeObject *current_first; /* the first entry displayed */
+ Dimension last_y;
+ int first_y; /* Dimension doesn't do negatives! */
+ int jump_val; /* number of entries to scroll by */
+ Boolean too_tall; /* menu doesn't fit on screen */
+ Boolean didnt_fit; /* if some entry didn't fit in the menu */
+ Widget sub_menu; /* submenu of active SmeBSB object */
+ unsigned char state;
+} SimpleMenuPart;
+
+typedef struct _SimpleMenuRec {
+ CorePart core;
+ CompositePart composite;
+ ShellPart shell;
+ OverrideShellPart override;
+ SimpleMenuPart simple_menu;
+} SimpleMenuRec;
+
+#endif /* _SimpleMenuP_h */