2 * @file gtkmenutray.h GTK+ Tray menu item
6 /* Pidgin is the legal property of its developers, whose names are too numerous
7 * to list here. Please refer to the COPYRIGHT file distributed with this
10 * This program is free software; you can redistribute it and/or modify
11 * under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
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.
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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
24 #ifndef PIDGIN_MENU_TRAY_H
25 #define PIDGIN_MENU_TRAY_H
29 #define PIDGIN_TYPE_MENU_TRAY (pidgin_menu_tray_get_gtype())
30 #define PIDGIN_MENU_TRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTray))
31 #define PIDGIN_MENU_TRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
32 #define PIDGIN_IS_MENU_TRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PIDGIN_TYPE_MENU_TRAY))
33 #define PIDGIN_IS_MENU_TRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PIDGIN_TYPE_MENU_TRAY))
34 #define PIDGIN_MENU_TRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
36 typedef struct _PidginMenuTray PidginMenuTray
;
37 typedef struct _PidginMenuTrayClass PidginMenuTrayClass
;
39 /** A PidginMenuTray */
40 struct _PidginMenuTray
{
41 GtkMenuItem gparent
; /**< The parent instance */
42 GtkWidget
*tray
; /**< The tray */
43 GtkTooltips
*tooltips
; /**< Tooltips */
46 /** A PidginMenuTrayClass */
47 struct _PidginMenuTrayClass
{
48 GtkMenuItemClass gparent
; /**< The parent class */
54 * Registers the PidginMenuTray class if necessary and returns the
55 * type ID assigned to it.
57 * @return The PidginMenuTray type ID
59 GType
pidgin_menu_tray_get_gtype(void);
62 * Creates a new PidginMenuTray
64 * @return A new PidginMenuTray
66 GtkWidget
*pidgin_menu_tray_new(void);
69 * Gets the box for the PidginMenuTray
71 * @param menu_tray The PidginMenuTray
73 * @return The box that this menu tray is using
75 GtkWidget
*pidgin_menu_tray_get_box(PidginMenuTray
*menu_tray
);
78 * Appends a widget into the tray
80 * @param menu_tray The tray
81 * @param widget The widget
82 * @param tooltip The tooltip for this widget (widget requires its own X-window)
84 void pidgin_menu_tray_append(PidginMenuTray
*menu_tray
, GtkWidget
*widget
, const char *tooltip
);
87 * Prepends a widget into the tray
89 * @param menu_tray The tray
90 * @param widget The widget
91 * @param tooltip The tooltip for this widget (widget requires its own X-window)
93 void pidgin_menu_tray_prepend(PidginMenuTray
*menu_tray
, GtkWidget
*widget
, const char *tooltip
);
96 * Set the tooltip for a widget
98 * @param menu_tray The tray
99 * @param widget The widget
100 * @param tooltip The tooltip to set for the widget (widget requires its own X-window)
102 void pidgin_menu_tray_set_tooltip(PidginMenuTray
*menu_tray
, GtkWidget
*widget
, const char *tooltip
);
106 #endif /* PIDGIN_MENU_TRAY_H */