summaryrefslogtreecommitdiff
path: root/Build/source/texk/xdvik/gui/menu.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/xdvik/gui/menu.h')
-rw-r--r--Build/source/texk/xdvik/gui/menu.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/Build/source/texk/xdvik/gui/menu.h b/Build/source/texk/xdvik/gui/menu.h
new file mode 100644
index 00000000000..3c5f4487f1f
--- /dev/null
+++ b/Build/source/texk/xdvik/gui/menu.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2003-2004 the xdvik development team
+ *
+ * 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
+ * PAUL VOJTA OR ANY OTHER AUTHOR OF THIS SOFTWARE 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.
+ *
+ */
+
+/*
+ * Common code for Xaw and Motif menu bar creation.
+ */
+#ifndef MENU_H_
+#define MENU_H_
+
+#include "xdvi-config.h"
+#include "events.h"
+#include "xdvi.h"
+
+typedef enum {
+ BT_INVALID = -1, /* error code */
+ BT_NONE = 0,
+ BT_PUSH, /* pushbutton */
+ BT_RADIO, /* radio button (1 of n) */
+ BT_CHECK, /* check button (m of n) */
+ BT_SEP /* separator */
+} buttonTypeT;
+
+
+/* structures for menu data */
+struct button_elems {
+ char *title; /* menu item label string */
+ buttonTypeT type; /* button type */
+ char mnemonic; /* 0 if none */
+ char *accelerator; /* NULL if none */
+ struct button_info *submenu;/* submenu, or NULL */
+ Widget widget; /* the widget in this item, for later use, or 0 */
+ struct xdvi_action *action; /* translated action, for later use, or NULL */
+};
+
+struct button_info {
+ size_t size;
+ struct button_elems *elems;
+};
+
+#include "xm_menu.h"
+#include "xaw_menu.h"
+
+extern void create_menu_buttons(Widget parent,
+#ifdef MOTIF
+ Widget *child
+#else
+ int *ret_panel_width
+#endif
+ );
+
+extern void set_menu(void *val, XtActionProc proc, Boolean (*cmp)());
+
+#endif /* MENU_H_ */