summaryrefslogtreecommitdiff
path: root/Build/source/texk/xdvik/gui/message-window.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/xdvik/gui/message-window.h')
-rw-r--r--Build/source/texk/xdvik/gui/message-window.h134
1 files changed, 134 insertions, 0 deletions
diff --git a/Build/source/texk/xdvik/gui/message-window.h b/Build/source/texk/xdvik/gui/message-window.h
new file mode 100644
index 00000000000..7e38197abbc
--- /dev/null
+++ b/Build/source/texk/xdvik/gui/message-window.h
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2002-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.
+ */
+
+#ifndef MESSAGE_WINDOW_H_
+#define MESSAGE_WINDOW_H_
+
+#define Xdvi_MESSAGE_DIALOG_NAME "dialog"
+#define Xdvi_MESSAGE_SHELL_NAME "message_popup"
+
+
+/*
+ * Callback before the message window is closed. It is passed
+ * the message window widget ID, and the next XtPointer argument
+ * in the message dialog calls.
+ */
+typedef void (*pre_message_cbT)(Widget w, XtPointer arg);
+/*
+ * Additional callbacks passed in as argument. It is passed
+ * the next XtPointer argument in the message dialog calls.
+ */
+typedef void (*message_cbT)(XtPointer arg);
+
+/* preferred size of dialogs, only used for Xaw ... not really hints, but
+ hard-coded values ;-) */
+typedef enum popupMessageSizeHintT_ { SIZE_SMALL, SIZE_MEDIUM, SIZE_LARGE } popupMessageSizeHintT;
+typedef enum popupMessageT_ { MSG_QUESTION, MSG_HELP, MSG_INFO, MSG_WARN, MSG_ERR } popupMessageT;
+
+extern Widget popup_message(Widget parent,
+ popupMessageT type,
+ const char *helptext,
+ const char *format, ...);
+
+extern Widget popup_message_sized(Widget parent,
+ popupMessageT type,
+ popupMessageSizeHintT size,
+ const char *helptext,
+ const char *format, ...);
+
+extern Widget positioned_popup_message(Widget parent,
+ popupMessageT type,
+ int x, int y,
+ const char *helptext, const char *format, ...);
+
+extern Widget choice_dialog(Widget parent,
+ popupMessageT type,
+ const char *helptext,
+#ifndef MOTIF
+ const char *ret_action_str,
+#endif
+ pre_message_cbT pre_cb, XtPointer arg,
+ const char *ok_label, message_cbT ok_cb, XtPointer ok_args,
+ const char *cancel_label, message_cbT cancel_cb, XtPointer cancel_args,
+ const char *format, ...);
+
+#if MOTIF
+/* 3 buttons currently only implemented for Motif */
+extern Widget choice3_dialog(Widget parent,
+ popupMessageT type,
+ const char *helptext,
+ pre_message_cbT pre_cb, XtPointer arg,
+ const char *yes_label, message_cbT yes_cb, XtPointer yes_args,
+ const char *no_label, message_cbT no_cb, XtPointer no_args,
+ const char *cancel_label, message_cbT cancel_cb, XtPointer cancel_args,
+ const char *format, ...);
+#endif
+
+extern Widget choice_dialog_sized(Widget parent,
+ popupMessageT type,
+ popupMessageSizeHintT size,
+ const char *helptext,
+#ifndef MOTIF
+ const char *ret_action_str,
+#endif
+ pre_message_cbT pre_cb, XtPointer arg,
+ const char *ok_label, message_cbT ok_cb, XtPointer ok_args,
+ const char *cancel_label, message_cbT cancel_cb, XtPointer cancel_args,
+ const char *format, ...);
+
+extern Widget positioned_choice_dialog(Widget parent,
+ popupMessageT type,
+ int x_pos, int y_pos,
+ const char *helptext,
+#ifndef MOTIF
+ const char *ret_action_str,
+#endif
+ pre_message_cbT pre_cb, XtPointer arg,
+ const char *ok_label, message_cbT ok_cb, XtPointer ok_args,
+ const char *cancel_label, message_cbT cancel_cb, XtPointer cancel_args,
+ const char *format, ...);
+extern void warn_overstrike(void);
+extern Boolean raise_message_windows(void);
+extern Boolean is_message_window(Widget w);
+extern Boolean kill_message_window(Widget w);
+
+/* XawtextScrollWhenNeeded has been ditched in Xaw7
+ (e.g. Xfree >= 4.x); from the man page:
+
+ The value XawtextScrollWhenNeeded (and whenNeeded, recognized by
+ the converter), is accepted for backwards compatibilty with
+ resource specifications written for the Xaw6 Text widget, but
+ ignored (effectively treated as XawtextScrollNever).
+
+ So we're forced to use `scrollAlways' here.
+*/
+#define XAW_SCROLL_ALWAYS XawtextScrollAlways
+
+/* the reconfig stuff has been fixed
+ in XFree 4.1.0, vendor release 6510 (Slackware 8.0) */
+#define BROKEN_RECONFIG (( \
+ (strstr(ServerVendor(DISP), "XFree") != NULL) \
+ && VendorRelease(DISP) >= 4000 \
+ && VendorRelease(DISP) < 4002 \
+ ))
+
+#endif /* MESSAGE_WINDOW_H_ */