annotate src/gtkmenutray.h @ 11849:dc51cdcb648e

[gaim-migrate @ 14140] sf patch #1339135, from Sadrul Habib Chowdhury Hi. Bleeter found this bug: (1) open up some conversation window (2) open the smiley dialog (3) close the conversation window. the smiley dialog remains open (4) select some smiley (5) Gaim crashes This patch fixes this crash. It shouldn't cause any probs with regards to gtk-version-checking. The other code handling the smiley-dialog doesn't do the version-checking, so this shouldn't be necessary either. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 27 Oct 2005 12:00:17 +0000
parents 767e3c0c5062
children 34ea75bdd0c9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11553
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /**
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * @file gtkmenutray.h GTK+ Tray menu item
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * @ingroup gtkui
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Gaim is the legal property of its developers, whose names are too numerous
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * under the terms of the GNU General Public License as published by
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * (at your option) any later version.
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * GNU General Public License for more details.
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * along with this program; if not, write to the Free Software
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22 */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #ifndef GAIM_GTK_MENU_TRAY_H
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 #define GAIM_GTK_MENU_TRAY_H
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26 #include <gtk/gtkhbox.h>
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #include <gtk/gtkmenuitem.h>
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29 #define GAIM_GTK_TYPE_MENU_TRAY (gaim_gtk_menu_tray_get_gtype())
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #define GAIM_GTK_MENU_TRAY(obj) (GTK_CHECK_CAST((obj), GAIM_GTK_TYPE_MENU_TRAY, GaimGtkMenuTray))
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 #define GAIM_GTK_MENU_TRAY_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass), GAIM_GTK_TYPE_MENU_TRAY, GaimGtkMenuTrayClass))
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32 #define GAIM_GTK_IS_MENU_TRAY(obj) (GTK_CHECK_TYPE((obj), GAIM_GTK_TYPE_MENU_TRAY))
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 #define GAIM_GTK_IS_MENU_TRAY_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), GAIM_GTK_TYPE_MENU_TRAY))
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 #define GAIM_GTK_MENU_TRAY_GET_CLASS(obj) (GTK_CHECK_GET_CLASS((obj), GAIM_GTK_TYPE_MENU_TRAY, GaimGtkMenuTrayClass))
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 typedef struct _GaimGtkMenuTray GaimGtkMenuTray;
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37 typedef struct _GaimGtkMenuTrayClass GaimGtkMenuTrayClass;
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39 /** A GaimGtkMenuTray */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 struct _GaimGtkMenuTray {
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 GtkMenuItem gparent; /**< The parent instance */
11599
767e3c0c5062 [gaim-migrate @ 13869]
Gary Kramlich <grim@reaperworld.com>
parents: 11558
diff changeset
42 GtkWidget *tray; /**< The tray */
11553
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 };
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 /** A GaimGtkMenuTrayClass */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 struct _GaimGtkMenuTrayClass {
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 GtkMenuItemClass gparent; /**< The parent class */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 };
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 G_BEGIN_DECLS
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 /**
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 * Registers the GaimGtkMenuTray class if necessary and returns the
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 * type ID assigned to it.
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 * @return The GaimGtkMenuTray type ID
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 GType gaim_gtk_menu_tray_get_gtype(void);
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 /**
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 * Creates a new GaimGtkMenuTray
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 * @return A new GaimGtkMenuTray
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 GtkWidget *gaim_gtk_menu_tray_new();
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67 /**
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 * Gets the box for the GaimGtkMenuTray
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 * @param menu_tray The GaimGtkMenuTray
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 * @return The box that this menu tray is using
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 GtkWidget *gaim_gtk_menu_tray_get_box(GaimGtkMenuTray *menu_tray);
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 /**
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77 * Appends a widget into the tray
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 * @param menu_tray The tray
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 * @param widget The widget
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81 */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 void gaim_gtk_menu_tray_append(GaimGtkMenuTray *menu_tray, GtkWidget *widget);
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 /**
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 * Prepends a widget into the tray
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 *
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 * @param menu_tray The try
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 * @param widget The widget
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 */
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 void gaim_gtk_menu_tray_prepend(GaimGtkMenuTray *menu_tray, GtkWidget *widget);
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 G_END_DECLS
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93
5c8210f7cbe2 [gaim-migrate @ 13813]
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 #endif /* GAIM_GTK_MENU_TRAY_H */