Take the "simple_dialog()" stuff out of "ui_util.h" and "gtk/ui_util.c",
and move it to "simple_dialog.h" and "gtk/simple_dialog.c". svn path=/trunk/; revision=1414
This commit is contained in:
parent
302c116483
commit
4096029a66
|
@ -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 \
|
||||
|
|
|
@ -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"
|
||||
|
||||
|
|
3
colors.c
3
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;
|
||||
|
|
3
file.c
3
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"
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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__
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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));
|
||||
}
|
136
gtk/ui_util.c
136
gtk/ui_util.c
|
@ -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>
|
||||
|
@ -31,24 +31,9 @@
|
|||
|
||||
#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));
|
||||
}
|
||||
|
|
|
@ -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__ */
|
18
ui_util.h
18
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 */
|
||||
|
|
Loading…
Reference in New Issue