Mercurial > pidgin
comparison src/gtkmenutray.c @ 11558:19941a47405c
[gaim-migrate @ 13820]
Compiles against GTK < 2.4
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Tue, 20 Sep 2005 22:08:40 +0000 |
parents | 5c8210f7cbe2 |
children | 767e3c0c5062 |
comparison
equal
deleted
inserted
replaced
11557:1e7c0773380f | 11558:19941a47405c |
---|---|
16 * You should have received a copy of the GNU General Public License | 16 * You should have received a copy of the GNU General Public License |
17 * along with this program; if not, write to the Free Software | 17 * along with this program; if not, write to the Free Software |
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 */ | 19 */ |
20 #include "gtkmenutray.h" | 20 #include "gtkmenutray.h" |
21 | |
22 #define GAIM_GTK_MENU_TRAY_GET_PRIVATE(obj) \ | |
23 (G_TYPE_INSTANCE_GET_PRIVATE((obj), GAIM_GTK_TYPE_MENU_TRAY, GaimGtkMenuTrayPriv)) | |
24 | |
25 /****************************************************************************** | |
26 * Structs | |
27 *****************************************************************************/ | |
28 typedef struct { | |
29 GtkWidget *tray; | |
30 } GaimGtkMenuTrayPriv; | |
31 | 21 |
32 /****************************************************************************** | 22 /****************************************************************************** |
33 * Enums | 23 * Enums |
34 *****************************************************************************/ | 24 *****************************************************************************/ |
35 enum { | 25 enum { |
87 } | 77 } |
88 } | 78 } |
89 | 79 |
90 static void | 80 static void |
91 gaim_gtk_menu_tray_finalize(GObject *obj) { | 81 gaim_gtk_menu_tray_finalize(GObject *obj) { |
92 GaimGtkMenuTrayPriv *priv = GAIM_GTK_MENU_TRAY_GET_PRIVATE(obj); | 82 GaimGtkMenuTray *tray = GAIM_GTK_MENU_TRAY(obj); |
93 | 83 if(GTK_IS_WIDGET(tray->tray)) |
94 if(GTK_IS_WIDGET(priv->tray)) | 84 gtk_widget_destroy(GTK_WIDGET(tray->tray)); |
95 gtk_widget_destroy(GTK_WIDGET(priv->tray)); | |
96 | 85 |
97 G_OBJECT_CLASS(parent_class)->finalize(obj); | 86 G_OBJECT_CLASS(parent_class)->finalize(obj); |
98 } | 87 } |
99 | 88 |
100 static void | 89 static void |
109 object_class->get_property = gaim_gtk_menu_tray_get_property; | 98 object_class->get_property = gaim_gtk_menu_tray_get_property; |
110 | 99 |
111 item_class->select = gaim_gtk_menu_tray_select; | 100 item_class->select = gaim_gtk_menu_tray_select; |
112 item_class->deselect = gaim_gtk_menu_tray_deselect; | 101 item_class->deselect = gaim_gtk_menu_tray_deselect; |
113 | 102 |
114 g_type_class_add_private(klass, sizeof(GaimGtkMenuTrayPriv)); | |
115 | |
116 pspec = g_param_spec_object("box", "The box", | 103 pspec = g_param_spec_object("box", "The box", |
117 "The box", | 104 "The box", |
118 GTK_TYPE_BOX, | 105 GTK_TYPE_BOX, |
119 G_PARAM_READABLE); | 106 G_PARAM_READABLE); |
120 g_object_class_install_property(object_class, PROP_BOX, pspec); | 107 g_object_class_install_property(object_class, PROP_BOX, pspec); |
121 } | 108 } |
122 | 109 |
123 static void | 110 static void |
124 gaim_gtk_menu_tray_init(GaimGtkMenuTray *menu_tray) { | 111 gaim_gtk_menu_tray_init(GaimGtkMenuTray *menu_tray) { |
125 GaimGtkMenuTrayPriv *priv = GAIM_GTK_MENU_TRAY_GET_PRIVATE(menu_tray); | |
126 | |
127 gtk_menu_item_set_right_justified(GTK_MENU_ITEM(menu_tray), TRUE); | 112 gtk_menu_item_set_right_justified(GTK_MENU_ITEM(menu_tray), TRUE); |
128 | 113 |
129 if(!GTK_IS_WIDGET(priv->tray)) | 114 if(!GTK_IS_WIDGET(menu_tray->tray)) |
130 priv->tray = gtk_hbox_new(FALSE, 0); | 115 menu_tray->tray = gtk_hbox_new(FALSE, 0); |
131 | 116 |
132 gtk_container_add(GTK_CONTAINER(menu_tray), priv->tray); | 117 gtk_container_add(GTK_CONTAINER(menu_tray), menu_tray->tray); |
133 | 118 |
134 gtk_widget_show(priv->tray); | 119 gtk_widget_show(menu_tray->tray); |
135 } | 120 } |
136 | 121 |
137 /****************************************************************************** | 122 /****************************************************************************** |
138 * API | 123 * API |
139 *****************************************************************************/ | 124 *****************************************************************************/ |
168 return g_object_new(GAIM_GTK_TYPE_MENU_TRAY, NULL); | 153 return g_object_new(GAIM_GTK_TYPE_MENU_TRAY, NULL); |
169 } | 154 } |
170 | 155 |
171 GtkWidget * | 156 GtkWidget * |
172 gaim_gtk_menu_tray_get_box(GaimGtkMenuTray *menu_tray) { | 157 gaim_gtk_menu_tray_get_box(GaimGtkMenuTray *menu_tray) { |
173 GaimGtkMenuTrayPriv *priv; | |
174 | |
175 g_return_val_if_fail(GAIM_GTK_IS_MENU_TRAY(menu_tray), NULL); | 158 g_return_val_if_fail(GAIM_GTK_IS_MENU_TRAY(menu_tray), NULL); |
176 | 159 return menu_tray->tray; |
177 priv = GAIM_GTK_MENU_TRAY_GET_PRIVATE(menu_tray); | |
178 | |
179 return priv->tray; | |
180 } | 160 } |
181 | 161 |
182 void | 162 void |
183 gaim_gtk_menu_tray_append(GaimGtkMenuTray *menu_tray, GtkWidget *widget) { | 163 gaim_gtk_menu_tray_append(GaimGtkMenuTray *menu_tray, GtkWidget *widget) { |
184 GaimGtkMenuTrayPriv *priv; | |
185 | |
186 g_return_if_fail(GAIM_GTK_IS_MENU_TRAY(menu_tray)); | 164 g_return_if_fail(GAIM_GTK_IS_MENU_TRAY(menu_tray)); |
187 g_return_if_fail(GTK_IS_WIDGET(widget)); | 165 g_return_if_fail(GTK_IS_WIDGET(widget)); |
188 | 166 |
189 priv = GAIM_GTK_MENU_TRAY_GET_PRIVATE(menu_tray); | 167 gtk_box_pack_end(GTK_BOX(menu_tray->tray), widget, FALSE, FALSE, 0); |
190 | |
191 gtk_box_pack_end(GTK_BOX(priv->tray), widget, FALSE, FALSE, 0); | |
192 } | 168 } |
193 | 169 |
194 void | 170 void |
195 gaim_gtk_menu_tray_prepend(GaimGtkMenuTray *menu_tray, GtkWidget *widget) { | 171 gaim_gtk_menu_tray_prepend(GaimGtkMenuTray *menu_tray, GtkWidget *widget) { |
196 GaimGtkMenuTrayPriv *priv; | |
197 | |
198 g_return_if_fail(GAIM_GTK_IS_MENU_TRAY(menu_tray)); | 172 g_return_if_fail(GAIM_GTK_IS_MENU_TRAY(menu_tray)); |
199 g_return_if_fail(GTK_IS_WIDGET(widget)); | 173 g_return_if_fail(GTK_IS_WIDGET(widget)); |
200 | 174 |
201 priv = GAIM_GTK_MENU_TRAY_GET_PRIVATE(menu_tray); | 175 gtk_box_pack_start(GTK_BOX(menu_tray->tray), widget, FALSE, FALSE, 0); |
202 | |
203 gtk_box_pack_start(GTK_BOX(priv->tray), widget, FALSE, FALSE, 0); | |
204 } | 176 } |