add more details for doxygen
[obnox/wireshark/wip.git] / gtk / gtkglobals.h
1 /* gtkglobals.h
2  * GTK-related Global defines, etc.
3  *
4  * $Id: gtkglobals.h,v 1.28 2004/06/04 20:05:31 ulfl Exp $
5  *
6  * Ethereal - Network traffic analyzer
7  * By Gerald Combs <gerald@ethereal.com>
8  * Copyright 1998 Gerald Combs
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23  */
24
25 #ifndef __GTKGLOBALS_H__
26 #define __GTKGLOBALS_H__
27
28 /** @mainpage GTK subsystem
29  *
30  * @section intro Introduction
31  *
32  * Ethereal uses GTK (the Gimp ToolKit) as it's user interface toolkit.
33  *
34  * See Modules for a list of submodules.
35  *
36  */
37
38 /** @file
39  *  GTK global definitions. For example a pointer to the main application window.
40  */
41
42 /** application window */
43 extern GtkWidget *top_level;
44
45 /** packet list pane */
46 extern GtkWidget *packet_list;
47
48 /** tree view (packet details) pane */
49 extern GtkWidget *tree_view;
50
51 /** byte notebook (packet bytes) pane */
52 extern GtkWidget *byte_nb_ptr;
53
54 /** the filter text entry in the filter toolbar */
55 extern GtkWidget   *main_display_filter_widget;
56
57 #if GTK_MAJOR_VERSION < 2
58 /** normal font */
59 extern GdkFont   *m_r_font;
60 /** bold font */
61 extern GdkFont   *m_b_font;
62 /** font height */
63 extern guint      m_font_height;
64 /** font width */
65 extern guint      m_font_width;
66 /** ??? 
67  * @todo what's this?
68  */
69 extern GtkStyle  *item_style;
70 #else
71 /** normal font */
72 extern PangoFontDescription *m_r_font;
73 /** bold font */
74 extern PangoFontDescription *m_b_font;
75 #endif
76
77 #if GTK_MAJOR_VERSION >= 2 || GTK_MINOR_VERSION >= 3
78 /**
79  * XXX - "isprint()" can return "true" for non-ASCII characters, but
80  * those don't work with GTK+ 1.3 or later, as they take UTF-8 strings
81  * as input.  Until we fix up Ethereal to properly handle non-ASCII
82  * characters in all output (both GUI displays and text printouts)
83  * in those versions of GTK+, we work around the problem by escaping
84  * all characters that aren't printable ASCII.
85  */
86 #undef isprint
87 #define isprint(c) (c >= 0x20 && c < 0x7f)
88 #endif
89
90 #endif