Mercurial > pidgin
comparison gtk/gtkcellviewmenuitem.c @ 14191:009db0b357b5
This is a hand-crafted commit to migrate across subversion revisions
16854:16861, due to some vagaries of the way the original renames were
done. Witness that monotone can do in one revision what svn had to
spread across several.
author | Ethan Blanton <elb@pidgin.im> |
---|---|
date | Sat, 16 Dec 2006 04:59:55 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
14190:366be2ce35a7 | 14191:009db0b357b5 |
---|---|
1 /* gtkcellviewmenuitem.c | |
2 * Copyright (C) 2003 Kristian Rietveld <kris@gtk.org> | |
3 * | |
4 * This library is free software; you can redistribute it and/or | |
5 * modify it under the terms of the GNU Library General Public | |
6 * License as published by the Free Software Foundation; either | |
7 * version 2 of the License, or (at your option) any later version. | |
8 * | |
9 * This library is distributed in the hope that it will be useful, | |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
12 * Library General Public License for more details. | |
13 * | |
14 * You should have received a copy of the GNU Library General Public | |
15 * License along with this library; if not, write to the | |
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
17 * Boston, MA 02111-1307, USA. | |
18 */ | |
19 | |
20 /* | |
21 #include <config.h> | |
22 */ | |
23 #include <gtk/gtkversion.h> | |
24 #if !GTK_CHECK_VERSION(2,6,0) | |
25 #include "gtkcellviewmenuitem.h" | |
26 #include "gtkcellview.h" | |
27 | |
28 struct _GtkCellViewMenuItemPrivate | |
29 { | |
30 GtkWidget *cell_view; | |
31 }; | |
32 | |
33 static void gtk_cell_view_menu_item_init (GtkCellViewMenuItem *item); | |
34 static void gtk_cell_view_menu_item_class_init (GtkCellViewMenuItemClass *klass); | |
35 static void gtk_cell_view_menu_item_finalize (GObject *object); | |
36 | |
37 | |
38 GType | |
39 gtk_cell_view_menu_item_get_type (void) | |
40 { | |
41 static GType cell_view_menu_item_type = 0; | |
42 | |
43 if (!cell_view_menu_item_type) | |
44 { | |
45 static const GTypeInfo cell_view_menu_item_info = | |
46 { | |
47 sizeof (GtkCellViewMenuItemClass), | |
48 NULL, | |
49 NULL, | |
50 (GClassInitFunc) gtk_cell_view_menu_item_class_init, | |
51 NULL, | |
52 NULL, | |
53 sizeof (GtkCellViewMenuItem), | |
54 0, | |
55 (GInstanceInitFunc) gtk_cell_view_menu_item_init | |
56 }; | |
57 | |
58 cell_view_menu_item_type = | |
59 g_type_register_static (GTK_TYPE_MENU_ITEM, "GaimGtkCellViewMenuItem", | |
60 &cell_view_menu_item_info, 0); | |
61 } | |
62 | |
63 return cell_view_menu_item_type; | |
64 } | |
65 | |
66 static void | |
67 gtk_cell_view_menu_item_class_init (GtkCellViewMenuItemClass *klass) | |
68 { | |
69 GObjectClass *object_class; | |
70 | |
71 object_class = (GObjectClass *)klass; | |
72 object_class->finalize = gtk_cell_view_menu_item_finalize; | |
73 } | |
74 | |
75 static void | |
76 gtk_cell_view_menu_item_init (GtkCellViewMenuItem *item) | |
77 { | |
78 item->priv = g_new0(GtkCellViewMenuItemPrivate,1); | |
79 } | |
80 | |
81 GtkWidget * | |
82 gtk_cell_view_menu_item_new (void) | |
83 { | |
84 GtkCellViewMenuItem *item; | |
85 | |
86 item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); | |
87 | |
88 item->priv->cell_view = gtk_cell_view_new (); | |
89 gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); | |
90 gtk_widget_show (item->priv->cell_view); | |
91 | |
92 return GTK_WIDGET (item); | |
93 } | |
94 | |
95 GtkWidget * | |
96 gtk_cell_view_menu_item_new_with_pixbuf (GdkPixbuf *pixbuf) | |
97 { | |
98 GtkCellViewMenuItem *item; | |
99 | |
100 item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); | |
101 | |
102 item->priv->cell_view = gtk_cell_view_new_with_pixbuf (pixbuf); | |
103 gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); | |
104 gtk_widget_show (item->priv->cell_view); | |
105 | |
106 return GTK_WIDGET (item); | |
107 } | |
108 | |
109 GtkWidget * | |
110 gtk_cell_view_menu_item_new_with_text (const gchar *text) | |
111 { | |
112 GtkCellViewMenuItem *item; | |
113 | |
114 item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); | |
115 | |
116 item->priv->cell_view = gtk_cell_view_new_with_text (text); | |
117 gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); | |
118 gtk_widget_show (item->priv->cell_view); | |
119 | |
120 return GTK_WIDGET (item); | |
121 } | |
122 | |
123 GtkWidget * | |
124 gtk_cell_view_menu_item_new_with_markup (const gchar *markup) | |
125 { | |
126 GtkCellViewMenuItem *item; | |
127 | |
128 item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); | |
129 | |
130 item->priv->cell_view = gtk_cell_view_new_with_markup (markup); | |
131 gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); | |
132 gtk_widget_show (item->priv->cell_view); | |
133 | |
134 return GTK_WIDGET (item); | |
135 } | |
136 | |
137 GtkWidget * | |
138 gtk_cell_view_menu_item_new_from_model (GtkTreeModel *model, | |
139 GtkTreePath *path) | |
140 { | |
141 GtkCellViewMenuItem *item; | |
142 | |
143 item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); | |
144 | |
145 item->priv->cell_view = gtk_cell_view_new (); | |
146 gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); | |
147 | |
148 gtk_cell_view_set_model (GTK_CELL_VIEW (item->priv->cell_view), model); | |
149 gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (item->priv->cell_view), path); | |
150 | |
151 gtk_widget_show (item->priv->cell_view); | |
152 | |
153 return GTK_WIDGET (item); | |
154 } | |
155 | |
156 static void | |
157 gtk_cell_view_menu_item_finalize (GObject *object) | |
158 { | |
159 GtkCellViewMenuItem *item = GTK_CELL_VIEW_MENU_ITEM (object); | |
160 | |
161 g_free (item->priv); | |
162 } | |
163 #endif /* Gtk 2.6 */ |