Use "progdlg_t *" rather than "void *" as the handle for a progress
[obnox/wireshark/wip.git] / ui_util.h
1 /* ui_util.h
2  * Definitions for UI utility routines
3  *
4  * $Id: ui_util.h,v 1.6 2000/07/07 07:01:28 guy Exp $
5  *
6  * Ethereal - Network traffic analyzer
7  * By Gerald Combs <gerald@zing.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * 
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  * 
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  * 
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24  */
25
26 #ifndef __UI_UTIL_H__
27 #define __UI_UTIL_H__
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif /* __cplusplus */
32
33 /* Set the name of the top-level window and its icon. */
34 void set_main_window_name(gchar *);
35
36 /* Given a pointer to a GtkWidget for a top-level window, raise it and
37    de-iconify it.  This routine is used if the user has done something to
38    ask that a window of a certain type be popped up when there can be only
39    one such window and such a window has already been popped up - we
40    pop up the existing one rather than creating a new one. */
41 void reactivate_window(GtkWidget *);
42
43 /* Destroy all popup packet windows. */
44 void destroy_packet_wins(void);
45
46 /*
47  * Progress (modal) dialog box routines.
48  */
49
50 struct progdlg;
51
52 typedef struct progdlg progdlg_t;
53
54 /*
55  * Create and pop up the progress dialog; allocate a "progdlg_t"
56  * and initialize it to contain all information the implementation
57  * needs in order to manipulate the dialog, and return a pointer to
58  * it.
59  *
60  * The first argument is the title to give the dialog box; the second
61  * argument is the string to put in the "stop this operation" button;
62  * the third argument is a pointer to a Boolean variable that will be
63  * set to TRUE if the user hits that button.
64  */
65 progdlg_t *create_progress_dlg(const gchar *title, const gchar *stop_title,
66     gboolean *stop_flag);
67
68 /*
69  * Set the percentage value of the progress bar.
70  */
71 void update_progress_dlg(progdlg_t *dlg, gfloat percentage);
72
73 /*
74  * Destroy the progress bar.
75  */
76 void destroy_progress_dlg(progdlg_t *dlg);
77
78 #ifdef __cplusplus
79 }
80 #endif /* __cplusplus */
81
82 #endif /* __UI_UTIL_H__ */