aboutsummaryrefslogtreecommitdiff
path: root/vendor/x11iraf/xgterm/menu.h
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/x11iraf/xgterm/menu.h')
-rw-r--r--vendor/x11iraf/xgterm/menu.h311
1 files changed, 311 insertions, 0 deletions
diff --git a/vendor/x11iraf/xgterm/menu.h b/vendor/x11iraf/xgterm/menu.h
new file mode 100644
index 00000000..4b7d01e3
--- /dev/null
+++ b/vendor/x11iraf/xgterm/menu.h
@@ -0,0 +1,311 @@
+/* $XConsortium: menu.h,v 1.24 93/02/25 17:21:31 gildea Exp $ */
+
+/* Copyright 1989 Massachusetts Institute of Technology */
+
+/*
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation, and that the name of M.I.T. not be used in advertising or
+publicity pertaining to distribution of the software without specific,
+written prior permission. M.I.T. makes no representations about the
+suitability of this software for any purpose. It is provided "as is"
+without express or implied warranty.
+*/
+
+typedef struct _MenuEntry {
+ char *name;
+ void (*function)();
+ Widget widget;
+} MenuEntry;
+
+extern MenuEntry mainMenuEntries[], vtMenuEntries[], tekMenuEntries[];
+extern MenuEntry fontMenuEntries[];
+extern Arg menuArgs[];
+
+extern void HandleAllowSends();
+extern void HandleSetVisualBell();
+#ifdef ALLOWLOGGING
+extern void HandleLogging();
+#endif
+extern void HandleRedraw();
+extern void HandleSendSignal();
+extern void HandleQuit();
+extern void HandleScrollbar();
+extern void HandleJumpscroll();
+extern void HandleReverseVideo();
+extern void HandleColorText();
+extern void HandleAutoWrap();
+extern void HandleReverseWrap();
+extern void HandleAutoLineFeed();
+extern void HandleAppCursor();
+extern void HandleAppKeypad();
+extern void HandleScrollKey();
+extern void HandleScrollTtyOutput();
+extern void HandleAllow132();
+extern void HandleCursesEmul();
+extern void HandleMarginBell();
+extern void HandleAltScreen();
+extern void HandleSoftReset();
+extern void HandleHardReset();
+extern void HandleClearSavedLines();
+extern void HandleSetTerminalType();
+extern void HandleVisibility();
+extern void HandleTekPage();
+extern void HandleTekReset();
+extern void HandleTekCopy();
+extern void DoSecureKeyboard();
+
+/*
+ * The following definitions MUST match the order of entries given in
+ * the mainMenuEntries, vtMenuEntries, and tekMenuEntries arrays in menu.c.
+ */
+
+/*
+ * items in primary menu
+ */
+#define mainMenu_securekbd 0
+#define mainMenu_allowsends 1
+#ifdef ALLOWLOGGING
+#define mainMenu_logging 2
+#endif
+#define mainMenu_redraw 3
+#define mainMenu_line1 4
+#define mainMenu_suspend 5
+#define mainMenu_continue 6
+#define mainMenu_interrupt 7
+#define mainMenu_hangup 8
+#define mainMenu_terminate 9
+#define mainMenu_kill 10
+#define mainMenu_line2 11
+#define mainMenu_quit 12
+
+/*
+ * items in vt100 mode menu
+ */
+#define vtMenu_scrollbar 0
+#define vtMenu_jumpscroll 1
+#define vtMenu_reversevideo 2
+#define vtMenu_colortext 3
+#define vtMenu_line1 4
+#define vtMenu_gioenable 5
+#define vtMenu_tekshow 6
+#define vtMenu_tekmode 7
+#define vtMenu_tekreset 8
+#define vtMenu_vthide 9
+#define vtMenu_line2 10
+#define vtMenu_autowrap 11
+#define vtMenu_reversewrap 12
+#define vtMenu_autolinefeed 13
+#define vtMenu_appcursor 14
+#define vtMenu_appkeypad 15
+#define vtMenu_scrollkey 16
+#define vtMenu_scrollttyoutput 17
+#define vtMenu_allow132 18
+#define vtMenu_cursesemul 19
+#define vtMenu_visualbell 20
+#define vtMenu_marginbell 21
+#define vtMenu_altscreen 22
+#define vtMenu_line3 23
+#define vtMenu_softreset 24
+#define vtMenu_hardreset 25
+#define vtMenu_clearsavedlines 26
+
+/*
+ * items in vt100 font menu
+ */
+#define fontMenu_fontdefault 0
+#define fontMenu_font1 1
+#define fontMenu_font2 2
+#define fontMenu_font3 3
+#define fontMenu_font4 4
+#define fontMenu_font5 5
+#define fontMenu_font6 6
+#define fontMenu_lastBuiltin fontMenu_font6
+#define fontMenu_fontescape 7
+#define fontMenu_fontsel 8
+/* number of non-line items should match NMENUFONTS in ptyx.h */
+
+
+
+/*
+ * items in tek4014 mode menu
+ */
+#define tekMenu_tekpage 0
+#define tekMenu_tekhide 1
+#define tekMenu_vtshow 2
+#define tekMenu_tekreset 3
+
+
+/*
+ * macros for updating menus
+ */
+
+#define update_menu_item(w,mi,val) { if (mi) { \
+ menuArgs[0].value = (XtArgVal) ( \
+ (val) ? \
+ ((XtDisplay(w) == gtermio_display) ? \
+ term->screen.tek_menu_item_bitmap \
+ : term->screen.menu_item_bitmap) \
+ : None \
+ ); \
+ XtSetValues (mi, menuArgs, (Cardinal) 1); }}
+
+
+#define set_sensitivity(w,mi,val) { if (mi) { \
+ menuArgs[1].value = (XtArgVal) (val); \
+ XtSetValues (mi, menuArgs+1, (Cardinal) 1); }}
+
+
+
+/*
+ * there should be one of each of the following for each checkable item
+ */
+
+
+#define update_securekbd() \
+ update_menu_item (term->screen.mainMenu, \
+ mainMenuEntries[mainMenu_securekbd].widget, \
+ term->screen.grabbedKbd)
+
+#define update_allowsends() \
+ update_menu_item (term->screen.mainMenu, \
+ mainMenuEntries[mainMenu_allowsends].widget, \
+ term->screen.allowSendEvents)
+
+#ifdef ALLOWLOGGING
+#define update_logging() \
+ update_menu_item (term->screen.mainMenu, \
+ mainMenuEntries[mainMenu_logging].widget, \
+ term->screen.logging)
+#endif
+
+#define update_scrollbar() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_scrollbar].widget, \
+ term->screen.scrollbar)
+
+#define update_jumpscroll() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_jumpscroll].widget, \
+ term->screen.jumpscroll)
+
+#define update_reversevideo() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_reversevideo].widget, \
+ (term->flags & REVERSE_VIDEO))
+
+#define update_colortext() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_colortext].widget, \
+ term->misc.dynamicColors)
+
+#define update_autowrap() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_autowrap].widget, \
+ (term->flags & WRAPAROUND))
+
+#define update_reversewrap() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_reversewrap].widget, \
+ (term->flags & REVERSEWRAP))
+
+#define update_autolinefeed() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_autolinefeed].widget, \
+ (term->flags & LINEFEED))
+
+#define update_appcursor() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_appcursor].widget, \
+ (term->keyboard.flags & CURSOR_APL))
+
+#define update_appkeypad() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_appkeypad].widget, \
+ (term->keyboard.flags & KYPD_APL))
+
+#define update_scrollkey() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_scrollkey].widget, \
+ term->screen.scrollkey)
+
+#define update_scrollttyoutput() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_scrollttyoutput].widget, \
+ term->screen.scrollttyoutput)
+
+#define update_allow132() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_allow132].widget, \
+ term->screen.c132)
+
+#define update_cursesemul() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_cursesemul].widget, \
+ term->screen.curses)
+
+#define update_visualbell() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_visualbell].widget, \
+ term->screen.visualbell)
+
+#define update_marginbell() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_marginbell].widget, \
+ term->screen.marginbell)
+
+#define update_gioenable() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_gioenable].widget, \
+ gt_enable(2))
+
+#define update_tekshow() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_tekshow].widget, \
+ gt_activated())
+
+#define update_tekreset() \
+ set_sensitivity (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_tekreset].widget, \
+ gt_status())
+
+#define update_vttekmode() { \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_tekmode].widget, \
+ gt_tekmode(2)); }
+
+#define update_vtshow() \
+ update_menu_item (term->screen.tekMenu, \
+ tekMenuEntries[tekMenu_vtshow].widget, \
+ term->screen.Vshow)
+
+#define set_vthide_sensitivity() \
+ set_sensitivity (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_vthide].widget, \
+ gt_activated())
+
+#define set_tekhide_sensitivity() \
+ set_sensitivity (term->screen.tekMenu, \
+ tekMenuEntries[tekMenu_tekhide].widget, \
+ term->screen.Vshow)
+
+#define set_tekreset_sensitivity() \
+ set_sensitivity (term->screen.tekMenu, \
+ tekMenuEntries[tekMenu_tekreset].widget, \
+ term->screen.Vshow)
+
+#define update_altscreen() \
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_altscreen].widget, \
+ term->screen.alternate)
+
+#define set_altscreen_sensitivity(val) \
+ set_sensitivity (term->screen.vtMenu,\
+ vtMenuEntries[vtMenu_altscreen].widget, (val))
+
+#define set_menu_font(val) \
+ update_menu_item (term->screen.fontMenu, \
+ fontMenuEntries[term->screen.menu_font_number].widget, \
+ (val))