]> Pileus Git - ~andy/gtk/blob - gtk/gtkcellviewmenuitem.c
Add "Since: 2.4" to all API doc comments.
[~andy/gtk] / gtk / gtkcellviewmenuitem.c
1 /* gtkcellviewmenuitem.c
2  * Copyright (C) 2003  Kristian Rietveld <kris@gtk.org>
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation; either version 2 of the
7  * License, or (at your option) any later version.
8  *
9  * This program 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  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public
15  * License along with this program; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 #include "gtkcellviewmenuitem.h"
21 #include "gtkcellview.h"
22
23 struct _GtkCellViewMenuItemPrivate
24 {
25   GtkWidget *cell_view;
26 };
27
28 static void gtk_cell_view_menu_item_init       (GtkCellViewMenuItem      *item);
29 static void gtk_cell_view_menu_item_class_init (GtkCellViewMenuItemClass *klass);
30
31
32 GType
33 gtk_cell_view_menu_item_get_type (void)
34 {
35   static GType cell_view_menu_item_type = 0;
36
37   if (!cell_view_menu_item_type)
38     {
39       static const GTypeInfo cell_view_menu_item_info =
40         {
41           sizeof (GtkCellViewMenuItemClass),
42           NULL,
43           NULL,
44           (GClassInitFunc) gtk_cell_view_menu_item_class_init,
45           NULL,
46           NULL,
47           sizeof (GtkCellViewMenuItem),
48           0,
49           (GInstanceInitFunc) gtk_cell_view_menu_item_init
50         };
51
52       cell_view_menu_item_type =
53         g_type_register_static (GTK_TYPE_MENU_ITEM, "GtkCellViewMenuItem",
54                                 &cell_view_menu_item_info, 0);
55     }
56
57   return cell_view_menu_item_type;
58 }
59
60 static void
61 gtk_cell_view_menu_item_class_init (GtkCellViewMenuItemClass *klass)
62 {
63   g_type_class_add_private ((GObjectClass *)klass,
64                             sizeof (GtkCellViewMenuItemPrivate));
65 }
66
67 static void
68 gtk_cell_view_menu_item_init (GtkCellViewMenuItem *item)
69 {
70   item->priv = GTK_CELL_VIEW_MENU_ITEM_GET_PRIVATE (item);
71 }
72
73 GtkWidget *
74 gtk_cell_view_menu_item_new (void)
75 {
76   GtkCellViewMenuItem *item;
77
78   item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL);
79
80   item->priv->cell_view = gtk_cell_view_new ();
81   gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view);
82   gtk_widget_show (item->priv->cell_view);
83
84   return GTK_WIDGET (item);
85 }
86
87 GtkWidget *
88 gtk_cell_view_menu_item_new_with_pixbuf (GdkPixbuf *pixbuf)
89 {
90   GtkCellViewMenuItem *item;
91
92   item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL);
93
94   item->priv->cell_view = gtk_cell_view_new_with_pixbuf (pixbuf);
95   gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view);
96   gtk_widget_show (item->priv->cell_view);
97
98   return GTK_WIDGET (item);
99 }
100
101 GtkWidget *
102 gtk_cell_view_menu_item_new_with_text (const gchar *text)
103 {
104   GtkCellViewMenuItem *item;
105
106   item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL);
107
108   item->priv->cell_view = gtk_cell_view_new_with_text (text);
109   gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view);
110   gtk_widget_show (item->priv->cell_view);
111
112   return GTK_WIDGET (item);
113 }
114
115 GtkWidget *
116 gtk_cell_view_menu_item_new_with_markup (const gchar *markup)
117 {
118   GtkCellViewMenuItem *item;
119
120   item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL);
121
122   item->priv->cell_view = gtk_cell_view_new_with_markup (markup);
123   gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view);
124   gtk_widget_show (item->priv->cell_view);
125
126   return GTK_WIDGET (item);
127 }
128
129 GtkWidget *
130 gtk_cell_view_menu_item_new_from_model (GtkTreeModel *model,
131                                         GtkTreePath  *path)
132 {
133   GtkCellViewMenuItem *item;
134
135   item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL);
136
137   item->priv->cell_view = gtk_cell_view_new ();
138   gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view);
139
140   gtk_cell_view_set_model (GTK_CELL_VIEW (item->priv->cell_view), model);
141   gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (item->priv->cell_view), path);
142
143   gtk_widget_show (item->priv->cell_view);
144
145   return GTK_WIDGET (item);
146 }