Take the "simple_dialog()" stuff out of "ui_util.h" and "gtk/ui_util.c",
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 3 Jan 2000 06:59:25 +0000 (06:59 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Mon, 3 Jan 2000 06:59:25 +0000 (06:59 +0000)
and move it to "simple_dialog.h" and "gtk/simple_dialog.c".

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@1414 f5534014-38df-0310-8fa8-9805f1628bb7

17 files changed:
Makefile.am
capture.c
colors.c
file.c
gtk/Makefile.am
gtk/capture_dlg.c
gtk/file_dlg.c
gtk/find_dlg.c
gtk/goto_dlg.c
gtk/main.c
gtk/plugins_dlg.c
gtk/prefs_dlg.c
gtk/print_dlg.c
gtk/simple_dialog.c [new file with mode: 0644]
gtk/ui_util.c
simple_dialog.h [new file with mode: 0644]
ui_util.h

index c952ffc81f543c7c8a6e78e58178d03d55088f6f..8880782c4108920e544374b0a31877759f560d2f 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am
 # Automake file for Ethereal
 #
-# $Id: Makefile.am,v 1.141 2000/01/03 03:56:53 guy Exp $
+# $Id: Makefile.am,v 1.142 2000/01/03 06:59:06 guy Exp $
 #
 # Ethereal - Network traffic analyzer
 # By Gerald Combs <gerald@zing.org>
@@ -224,6 +224,7 @@ ethereal_SOURCES = \
        register.h     \
        resolv.c       \
        resolv.h       \
+       simple_dialog.h \
        smb.h          \
        summary.c      \
        summary.h      \
index c06f896f9dadee834354b1931ed24d752ff4c2c4..afd57a11f0c4b2242a2db442413d4f1445041a35 100644 (file)
--- a/capture.c
+++ b/capture.c
@@ -1,7 +1,7 @@
 /* capture.c
  * Routines for packet capture windows
  *
- * $Id: capture.c,v 1.87 2000/01/03 03:56:53 guy Exp $
+ * $Id: capture.c,v 1.88 2000/01/03 06:59:07 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -89,7 +89,7 @@
 #include "file.h"
 #include "capture.h"
 #include "util.h"
-#include "ui_util.h"
+#include "simple_dialog.h"
 #include "prefs.h"
 #include "globals.h"
 
index eef68888b030113658a14996c03ec2765bd28460..ddf2c9d7844954db243e50dce391eaedeccdf879 100644 (file)
--- a/colors.c
+++ b/colors.c
@@ -1,7 +1,7 @@
 /* colors.c
  * Definitions for color structures and routines
  *
- * $Id: colors.c,v 1.27 1999/12/20 06:05:07 guy Exp $
+ * $Id: colors.c,v 1.28 2000/01/03 06:59:07 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -41,6 +41,7 @@
 #include "colors.h"
 #include "file.h"
 #include "dfilter.h"
+#include "simple_dialog.h"
 #include "ui_util.h"
 
 extern capture_file cf;
diff --git a/file.c b/file.c
index 54b5327eba6f9ae74ab9447bd4cb97bcc745fd9c..dd58008e5b0748efb1926498339a01a1fa9ad983 100644 (file)
--- a/file.c
+++ b/file.c
@@ -1,7 +1,7 @@
 /* file.c
  * File I/O routines
  *
- * $Id: file.c,v 1.145 2000/01/03 03:56:54 guy Exp $
+ * $Id: file.c,v 1.146 2000/01/03 06:59:08 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -76,6 +76,7 @@
 #include "file.h"
 #include "menu.h"
 #include "util.h"
+#include "simple_dialog.h"
 #include "ui_util.h"
 #include "gtk/proto_draw.h"
 #include "dfilter.h"
index 7cc0cc25e8ce8124cf73890a9cb0622a3b08d721..7cb6832dd7c1499cec6fc4fdfbe3d9a9e2e683d5 100644 (file)
@@ -1,7 +1,7 @@
 # Makefile.am
 # Automake file for the GTK interface routines for Ethereal
 #
-# $Id: Makefile.am,v 1.17 1999/12/26 22:37:28 gerald Exp $
+# $Id: Makefile.am,v 1.18 2000/01/03 06:59:19 guy Exp $
 #
 # Ethereal - Network traffic analyzer
 # By Gerald Combs <gerald@zing.org>
@@ -58,6 +58,7 @@ libui_a_SOURCES = \
        print_prefs.h   \
        proto_draw.c    \
        proto_draw.h    \
+       simple_dialog.c \
        stream_prefs.c  \
        stream_prefs.h  \
        summary_dlg.c   \
index 2cc71ff381826f66e3e3584b31fc3a300ce81731..af8d5dc8dfbeb26ba674f03ca357ce6e79325ba8 100644 (file)
@@ -1,7 +1,7 @@
 /* capture_dlg.c
  * Routines for packet capture windows
  *
- * $Id: capture_dlg.c,v 1.13 1999/12/23 09:31:09 guy Exp $
+ * $Id: capture_dlg.c,v 1.14 2000/01/03 06:59:19 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -75,7 +75,7 @@
 #include "main.h"
 #include "capture_dlg.h"
 #include "prefs_dlg.h"
-#include "ui_util.h"
+#include "simple_dialog.h"
 
 /* Capture callback data keys */
 #define E_CAP_IFACE_KEY    "cap_iface"
index c575b643c2b208ded0e00970b7c2c22cd37d66dc..62daf702e03122f03a54a124424e29957a497761 100644 (file)
@@ -1,7 +1,7 @@
 /* file_dlg.c
  * Dialog boxes for handling files
  *
- * $Id: file_dlg.c,v 1.16 2000/01/01 04:28:45 gram Exp $
+ * $Id: file_dlg.c,v 1.17 2000/01/03 06:59:20 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -52,8 +52,8 @@
 #include "prefs_dlg.h"
 #endif
 
-#ifndef __UI_UTIL_H__
-#include "ui_util.h"
+#ifndef __DIALOG_H__
+#include "simple_dialog.h"
 #endif
 
 #ifndef __MENU_H__
index ba4f461836aef64caf07f9e79a119174240e1a18..12dab2d49a384ba6034e81a08afe358e81de69d9 100644 (file)
@@ -1,7 +1,7 @@
 /* find_dlg.c
  * Routines for "find frame" window
  *
- * $Id: find_dlg.c,v 1.4 1999/12/09 07:19:17 guy Exp $
+ * $Id: find_dlg.c,v 1.5 2000/01/03 06:59:21 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -44,7 +44,7 @@
 
 #include "find_dlg.h"
 #include "prefs_dlg.h"
-#include "ui_util.h"
+#include "simple_dialog.h"
 
 /* Capture callback data keys */
 #define E_FIND_FILT_KEY     "find_filter_te"
index 02b16f6ea0a0b527d24ca5efd55fda91ed01fa2a..fef1f32be0a44e7702dab91ccebc8223cd39d94f 100644 (file)
@@ -1,7 +1,7 @@
 /* goto_dlg.c
  * Routines for "go to frame" window
  *
- * $Id: goto_dlg.c,v 1.3 1999/12/09 07:19:18 guy Exp $
+ * $Id: goto_dlg.c,v 1.4 2000/01/03 06:59:21 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -46,7 +46,7 @@
 
 #include "goto_dlg.h"
 #include "prefs_dlg.h"
-#include "ui_util.h"
+#include "simple_dialog.h"
 
 /* Capture callback data keys */
 #define E_GOTO_FNUMBER_KEY     "goto_fnumber_te"
index f62894178f3cf79af9981a5101a0ab652ba68f25..d3d931bc8cb5395ca635fb2476a6ca325d49d54f 100644 (file)
@@ -1,6 +1,6 @@
 /* main.c
  *
- * $Id: main.c,v 1.79 1999/12/30 23:02:56 gram Exp $
+ * $Id: main.c,v 1.80 2000/01/03 06:59:21 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -99,7 +99,7 @@
 #include "resolv.h"
 #include "follow.h"
 #include "util.h"
-#include "ui_util.h"
+#include "simple_dialog.h"
 #include "proto_draw.h"
 #include "dfilter.h"
 #include "keys.h"
index 08cb7b315e7e60fb6a1ed7b236e9c8651b3863fe..8fc16c5a539e9f7a1e90341ddbfe6fef3e549df6 100644 (file)
@@ -1,7 +1,7 @@
 /* plugins_dlg.c
  * Dialog boxes for plugins
  *
- * $Id: plugins_dlg.c,v 1.6 1999/12/29 07:39:51 guy Exp $
+ * $Id: plugins_dlg.c,v 1.7 2000/01/03 06:59:23 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -40,7 +40,7 @@
 #include "plugins.h"
 #include "keys.h"
 #include "prefs_dlg.h"
-#include "ui_util.h"
+#include "simple_dialog.h"
 
 static gint selected_row;
 static gchar *selected_name;
index 9f610d1705b796bee5980b2df0b35e614d83e089..2f381b408a76bf25ac9de9e4e38d79a997731b11 100644 (file)
@@ -1,7 +1,7 @@
 /* prefs_dlg.c
  * Routines for handling preferences
  *
- * $Id: prefs_dlg.c,v 1.7 2000/01/03 06:29:39 guy Exp $
+ * $Id: prefs_dlg.c,v 1.8 2000/01/03 06:59:23 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -55,7 +55,7 @@
 #include "stream_prefs.h"
 #include "gui_prefs.h"
 #include "util.h"
-#include "ui_util.h"
+#include "simple_dialog.h"
 
 static void     prefs_main_ok_cb(GtkWidget *, gpointer);
 static void     prefs_main_save_cb(GtkWidget *, gpointer);
index 9ad99959d28ce7a0fb422d9099e57a451869fa1a..0407f5778f19fad561251766a6107d3bf509d8d9 100644 (file)
@@ -1,7 +1,7 @@
 /* print_dlg.c
  * Dialog boxes for printing
  *
- * $Id: print_dlg.c,v 1.11 2000/01/03 06:28:44 guy Exp $
+ * $Id: print_dlg.c,v 1.12 2000/01/03 06:59:24 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -45,8 +45,8 @@
 #include "prefs_dlg.h"
 #endif
 
-#ifndef __UI_UTIL_H__
-#include "ui_util.h"
+#ifndef __DIALOG_H__
+#include "simple_dialog.h"
 #endif
 
 static void print_cmd_toggle_dest(GtkWidget *widget, gpointer data);
diff --git a/gtk/simple_dialog.c b/gtk/simple_dialog.c
new file mode 100644 (file)
index 0000000..1cb1917
--- /dev/null
@@ -0,0 +1,169 @@
+/* dialog.c
+ * Dialog box routines.
+ *
+ * $Id: simple_dialog.c,v 1.1 2000/01/03 06:59:25 guy Exp $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@zing.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <glib.h>
+
+#include <gtk/gtk.h>
+
+#include <stdarg.h>
+#include <stdio.h>
+
+#ifdef NEED_SNPRINTF_H
+# ifdef HAVE_STDARG_H
+#  include <stdarg.h>
+# else
+#  include <varargs.h>
+# endif
+# include "snprintf.h"
+#endif
+
+#include "gtkglobals.h"
+#include "simple_dialog.h"
+
+#include "image/icon-excl.xpm"
+#include "image/icon-ethereal.xpm"
+
+static void simple_dialog_cancel_cb(GtkWidget *, gpointer);
+
+static const gchar bm_key[] = "button mask";
+
+/* Simple dialog function - Displays a dialog box with the supplied message
+ * text.
+ * 
+ * Args:
+ * type       : One of ESD_TYPE_*.
+ * btn_mask   : The address of a gint.  The value passed in determines if
+ *              the 'Cancel' button is displayed.  The button pressed by the 
+ *              user is passed back.
+ * msg_format : Sprintf-style format of the text displayed in the dialog.
+ * ...        : Argument list for msg_format
+ *
+ */
+#define ESD_MAX_MSG_LEN 2048
+void
+simple_dialog(gint type, gint *btn_mask, gchar *msg_format, ...) {
+  GtkWidget   *win, *main_vb, *top_hb, *type_pm, *msg_label,
+              *bbox, *ok_btn, *cancel_btn;
+  GdkPixmap   *pixmap;
+  GdkBitmap   *mask;
+  GtkStyle    *style;
+  GdkColormap *cmap;
+  va_list      ap;
+  gchar        message[ESD_MAX_MSG_LEN];
+  gchar      **icon;
+
+  /* Main window */
+  win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+  gtk_container_border_width(GTK_CONTAINER(win), 7);
+
+  switch (type) {
+  case ESD_TYPE_WARN :
+    gtk_window_set_title(GTK_WINDOW(win), "Ethereal: Warning");
+    icon = icon_excl_xpm;
+    break;
+  case ESD_TYPE_CRIT :
+    gtk_window_set_title(GTK_WINDOW(win), "Ethereal: Critical");
+    icon = icon_excl_xpm;
+    break;
+  case ESD_TYPE_INFO :
+  default :
+    icon = icon_ethereal_xpm;
+    gtk_window_set_title(GTK_WINDOW(win), "Ethereal: Information");
+    break;
+  }
+
+  gtk_object_set_data(GTK_OBJECT(win), bm_key, btn_mask);
+
+  /* Container for our rows */
+  main_vb = gtk_vbox_new(FALSE, 5);
+  gtk_container_border_width(GTK_CONTAINER(main_vb), 5);
+  gtk_container_add(GTK_CONTAINER(win), main_vb);
+  gtk_widget_show(main_vb);
+
+  /* Top row: Icon and message text */
+  top_hb = gtk_hbox_new(FALSE, 10);
+  gtk_container_add(GTK_CONTAINER(main_vb), top_hb);
+  gtk_widget_show(top_hb);
+  
+  style = gtk_widget_get_style(win);
+  cmap  = gdk_colormap_get_system();
+  pixmap = gdk_pixmap_colormap_create_from_xpm_d(NULL, cmap,  &mask,
+    &style->bg[GTK_STATE_NORMAL], icon);
+  type_pm = gtk_pixmap_new(pixmap, mask);
+  gtk_misc_set_alignment (GTK_MISC (type_pm), 0.5, 0.0);
+  gtk_container_add(GTK_CONTAINER(top_hb), type_pm);
+  gtk_widget_show(type_pm);
+
+  /* Load our vararg list into the message string */
+  va_start(ap, msg_format);
+  vsnprintf(message, ESD_MAX_MSG_LEN, msg_format, ap);
+
+  msg_label = gtk_label_new(message);
+  gtk_label_set_justify(GTK_LABEL(msg_label), GTK_JUSTIFY_FILL);
+  gtk_container_add(GTK_CONTAINER(top_hb), msg_label);
+  gtk_widget_show(msg_label);
+  
+  /* Button row */
+  bbox = gtk_hbutton_box_new();
+  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
+  gtk_container_add(GTK_CONTAINER(main_vb), bbox);
+  gtk_widget_show(bbox);
+
+  ok_btn = gtk_button_new_with_label ("OK");
+  gtk_signal_connect_object(GTK_OBJECT(ok_btn), "clicked",
+    GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT (win)); 
+  gtk_container_add(GTK_CONTAINER(bbox), ok_btn);
+  GTK_WIDGET_SET_FLAGS(ok_btn, GTK_CAN_DEFAULT);
+  gtk_widget_grab_default(ok_btn);
+  gtk_widget_show(ok_btn);
+
+  if (btn_mask && *btn_mask == ESD_BTN_CANCEL) {
+    cancel_btn = gtk_button_new_with_label("Cancel");
+    gtk_signal_connect(GTK_OBJECT(cancel_btn), "clicked",
+      GTK_SIGNAL_FUNC(simple_dialog_cancel_cb), (gpointer) win);
+    gtk_container_add(GTK_CONTAINER(bbox), cancel_btn);
+    GTK_WIDGET_SET_FLAGS(cancel_btn, GTK_CAN_DEFAULT);
+    gtk_widget_show(cancel_btn);
+  }
+
+  if (btn_mask)
+    *btn_mask = ESD_BTN_OK;
+
+  gtk_widget_show(win);
+}
+
+static void
+simple_dialog_cancel_cb(GtkWidget *w, gpointer win) {
+  gint *btn_mask = (gint *) gtk_object_get_data(win, bm_key);
+  
+  if (btn_mask)
+    *btn_mask = ESD_BTN_CANCEL;
+  gtk_widget_destroy(GTK_WIDGET(win));
+}
index f5b7495fb3d7533b5965643060f5d9ce56bfc8af..c652ef85eb41cbaa56264704edc050d7579ba63b 100644 (file)
@@ -1,7 +1,7 @@
 /* ui_util.c
  * UI utility routines
  *
- * $Id: ui_util.c,v 1.2 1999/12/20 06:05:15 guy Exp $
+ * $Id: ui_util.c,v 1.3 2000/01/03 06:59:25 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
 
 #include <gtk/gtk.h>
 
-#include <stdarg.h>
-#include <stdio.h>
-
-#ifdef NEED_SNPRINTF_H
-# ifdef HAVE_STDARG_H
-#  include <stdarg.h>
-# else
-#  include <varargs.h>
-# endif
-# include "snprintf.h"
-#endif
-
 #include "gtkglobals.h"
 #include "ui_util.h"
 
-#include "image/icon-excl.xpm"
-#include "image/icon-ethereal.xpm"
-
 /* Set the name of the top-level window and its icon.
    XXX - for some reason, KWM insists on making the icon name be just
    the window name, in parentheses; perhaps it's trying to imitate
@@ -80,122 +65,3 @@ reactivate_window(GtkWidget *win)
   gdk_window_show(win->window);
   gdk_window_raise(win->window);
 }
-
-static void simple_dialog_cancel_cb(GtkWidget *, gpointer);
-
-static const gchar bm_key[] = "button mask";
-
-/* Simple dialog function - Displays a dialog box with the supplied message
- * text.
- * 
- * Args:
- * type       : One of ESD_TYPE_*.
- * btn_mask   : The address of a gint.  The value passed in determines if
- *              the 'Cancel' button is displayed.  The button pressed by the 
- *              user is passed back.
- * msg_format : Sprintf-style format of the text displayed in the dialog.
- * ...        : Argument list for msg_format
- *
- */
-#define ESD_MAX_MSG_LEN 2048
-void
-simple_dialog(gint type, gint *btn_mask, gchar *msg_format, ...) {
-  GtkWidget   *win, *main_vb, *top_hb, *type_pm, *msg_label,
-              *bbox, *ok_btn, *cancel_btn;
-  GdkPixmap   *pixmap;
-  GdkBitmap   *mask;
-  GtkStyle    *style;
-  GdkColormap *cmap;
-  va_list      ap;
-  gchar        message[ESD_MAX_MSG_LEN];
-  gchar      **icon;
-
-  /* Main window */
-  win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-  gtk_container_border_width(GTK_CONTAINER(win), 7);
-
-  switch (type) {
-  case ESD_TYPE_WARN :
-    gtk_window_set_title(GTK_WINDOW(win), "Ethereal: Warning");
-    icon = icon_excl_xpm;
-    break;
-  case ESD_TYPE_CRIT :
-    gtk_window_set_title(GTK_WINDOW(win), "Ethereal: Critical");
-    icon = icon_excl_xpm;
-    break;
-  case ESD_TYPE_INFO :
-  default :
-    icon = icon_ethereal_xpm;
-    gtk_window_set_title(GTK_WINDOW(win), "Ethereal: Information");
-    break;
-  }
-
-  gtk_object_set_data(GTK_OBJECT(win), bm_key, btn_mask);
-
-  /* Container for our rows */
-  main_vb = gtk_vbox_new(FALSE, 5);
-  gtk_container_border_width(GTK_CONTAINER(main_vb), 5);
-  gtk_container_add(GTK_CONTAINER(win), main_vb);
-  gtk_widget_show(main_vb);
-
-  /* Top row: Icon and message text */
-  top_hb = gtk_hbox_new(FALSE, 10);
-  gtk_container_add(GTK_CONTAINER(main_vb), top_hb);
-  gtk_widget_show(top_hb);
-  
-  style = gtk_widget_get_style(win);
-  cmap  = gdk_colormap_get_system();
-  pixmap = gdk_pixmap_colormap_create_from_xpm_d(NULL, cmap,  &mask,
-    &style->bg[GTK_STATE_NORMAL], icon);
-  type_pm = gtk_pixmap_new(pixmap, mask);
-  gtk_misc_set_alignment (GTK_MISC (type_pm), 0.5, 0.0);
-  gtk_container_add(GTK_CONTAINER(top_hb), type_pm);
-  gtk_widget_show(type_pm);
-
-  /* Load our vararg list into the message string */
-  va_start(ap, msg_format);
-  vsnprintf(message, ESD_MAX_MSG_LEN, msg_format, ap);
-
-  msg_label = gtk_label_new(message);
-  gtk_label_set_justify(GTK_LABEL(msg_label), GTK_JUSTIFY_FILL);
-  gtk_container_add(GTK_CONTAINER(top_hb), msg_label);
-  gtk_widget_show(msg_label);
-  
-  /* Button row */
-  bbox = gtk_hbutton_box_new();
-  gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END);
-  gtk_container_add(GTK_CONTAINER(main_vb), bbox);
-  gtk_widget_show(bbox);
-
-  ok_btn = gtk_button_new_with_label ("OK");
-  gtk_signal_connect_object(GTK_OBJECT(ok_btn), "clicked",
-    GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT (win)); 
-  gtk_container_add(GTK_CONTAINER(bbox), ok_btn);
-  GTK_WIDGET_SET_FLAGS(ok_btn, GTK_CAN_DEFAULT);
-  gtk_widget_grab_default(ok_btn);
-  gtk_widget_show(ok_btn);
-
-  if (btn_mask && *btn_mask == ESD_BTN_CANCEL) {
-    cancel_btn = gtk_button_new_with_label("Cancel");
-    gtk_signal_connect(GTK_OBJECT(cancel_btn), "clicked",
-      GTK_SIGNAL_FUNC(simple_dialog_cancel_cb), (gpointer) win);
-    gtk_container_add(GTK_CONTAINER(bbox), cancel_btn);
-    GTK_WIDGET_SET_FLAGS(cancel_btn, GTK_CAN_DEFAULT);
-    gtk_widget_show(cancel_btn);
-  }
-
-  if (btn_mask)
-    *btn_mask = ESD_BTN_OK;
-
-  gtk_widget_show(win);
-}
-
-static void
-simple_dialog_cancel_cb(GtkWidget *w, gpointer win) {
-  gint *btn_mask = (gint *) gtk_object_get_data(win, bm_key);
-  
-  if (btn_mask)
-    *btn_mask = ESD_BTN_CANCEL;
-  gtk_widget_destroy(GTK_WIDGET(win));
-}
diff --git a/simple_dialog.h b/simple_dialog.h
new file mode 100644 (file)
index 0000000..9afdf1f
--- /dev/null
@@ -0,0 +1,54 @@
+/* simple_dialog.h
+ * Definitions for dialog box routines with toolkit-independent APIs but
+ * toolkit-dependent implementations.
+ *
+ * $Id: simple_dialog.h,v 1.1 2000/01/03 06:59:09 guy Exp $
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@zing.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * 
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+#ifndef __DIALOG_H__
+#define __DIALOG_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* Dialog type. */
+#define ESD_TYPE_INFO 0
+#define ESD_TYPE_WARN 1
+#define ESD_TYPE_CRIT 2
+
+/* Which buttons to display. */
+#define ESD_BTN_OK     0
+#define ESD_BTN_CANCEL 1
+
+#if __GNUC__ == 2
+void simple_dialog(gint, gint *, gchar *, ...)
+    __attribute__((format (printf, 3, 4)));
+#else
+void simple_dialog(gint, gint *, gchar *, ...);
+#endif
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __DIALOG_H__ */
index 5a25c45704703b920401ce84a7e17f45501a8256..31d3731c8c6c00e7346797ad3a13ba37fe1639fc 100644 (file)
--- a/ui_util.h
+++ b/ui_util.h
@@ -1,7 +1,7 @@
 /* ui_util.h
  * Definitions for UI utility routines
  *
- * $Id: ui_util.h,v 1.2 1999/12/20 06:05:08 guy Exp $
+ * $Id: ui_util.h,v 1.3 2000/01/03 06:59:10 guy Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@zing.org>
@@ -40,22 +40,6 @@ void set_main_window_name(gchar *);
    pop up the existing one rather than creating a new one. */
 void reactivate_window(GtkWidget *);
 
-/* Dialog type. */
-#define ESD_TYPE_INFO 0
-#define ESD_TYPE_WARN 1
-#define ESD_TYPE_CRIT 2
-
-/* Which buttons to display. */
-#define ESD_BTN_OK     0
-#define ESD_BTN_CANCEL 1
-
-#if __GNUC__ == 2
-void simple_dialog(gint, gint *, gchar *, ...)
-    __attribute__((format (printf, 3, 4)));
-#else
-void simple_dialog(gint, gint *, gchar *, ...);
-#endif
-
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */