diff options
author | Kristian Rietveld <kris@gtk.org> | 2003-09-26 21:57:06 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2003-09-26 21:57:06 +0000 |
commit | c920afd9c52e160ac83f1fe01ba3394b20fb76be (patch) | |
tree | 671198a3b56d35464327af689d2bb397e8efbe32 /gtk/gtkcellviewmenuitem.c | |
parent | 4a2de86c44b264d69e69da92b92957024a1e2c56 (diff) | |
download | gtk+-c920afd9c52e160ac83f1fe01ba3394b20fb76be.tar.gz |
Landing the new ComboBox. Note that only gtkcombobox.h and
Fri Sep 26 23:49:44 2003 Kristian Rietveld <kris@gtk.org>
Landing the new ComboBox. Note that only gtkcombobox.h and
gtkcomboboxentry.h are public.
* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.
* gtk/Makefile.am, gtk/gtk.h: adding the new files.
* tests/testcombo.c: and a new test.
* tests/Makefile.am: adding the new test.
Diffstat (limited to 'gtk/gtkcellviewmenuitem.c')
-rw-r--r-- | gtk/gtkcellviewmenuitem.c | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/gtk/gtkcellviewmenuitem.c b/gtk/gtkcellviewmenuitem.c new file mode 100644 index 0000000000..d69435f7f3 --- /dev/null +++ b/gtk/gtkcellviewmenuitem.c @@ -0,0 +1,146 @@ +/* gtkcellviewmenuitem.c + * Copyright (C) 2003 Kristian Rietveld <kris@gtk.org> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <gtk/gtkcellviewmenuitem.h> +#include <gtk/gtkcellview.h> + +struct _GtkCellViewMenuItemPrivate +{ + GtkWidget *cell_view; +}; + +static void gtk_cell_view_menu_item_init (GtkCellViewMenuItem *item); +static void gtk_cell_view_menu_item_class_init (GtkCellViewMenuItemClass *klass); + + +GType +gtk_cell_view_menu_item_get_type (void) +{ + static GType cell_view_menu_item_type = 0; + + if (!cell_view_menu_item_type) + { + static const GTypeInfo cell_view_menu_item_info = + { + sizeof (GtkCellViewMenuItemClass), + NULL, + NULL, + (GClassInitFunc) gtk_cell_view_menu_item_class_init, + NULL, + NULL, + sizeof (GtkCellViewMenuItem), + 0, + (GInstanceInitFunc) gtk_cell_view_menu_item_init + }; + + cell_view_menu_item_type = + g_type_register_static (GTK_TYPE_MENU_ITEM, "GtkCellViewMenuItem", + &cell_view_menu_item_info, 0); + } + + return cell_view_menu_item_type; +} + +static void +gtk_cell_view_menu_item_class_init (GtkCellViewMenuItemClass *klass) +{ + g_type_class_add_private ((GObjectClass *)klass, + sizeof (GtkCellViewMenuItemPrivate)); +} + +static void +gtk_cell_view_menu_item_init (GtkCellViewMenuItem *item) +{ + item->priv = GTK_CELL_VIEW_MENU_ITEM_GET_PRIVATE (item); +} + +GtkWidget * +gtk_cell_view_menu_item_new (void) +{ + GtkCellViewMenuItem *item; + + item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); + + item->priv->cell_view = gtk_cell_view_new (); + gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); + gtk_widget_show (item->priv->cell_view); + + return GTK_WIDGET (item); +} + +GtkWidget * +gtk_cell_view_menu_item_new_with_pixbuf (GdkPixbuf *pixbuf) +{ + GtkCellViewMenuItem *item; + + item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); + + item->priv->cell_view = gtk_cell_view_new_with_pixbuf (pixbuf); + gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); + gtk_widget_show (item->priv->cell_view); + + return GTK_WIDGET (item); +} + +GtkWidget * +gtk_cell_view_menu_item_new_with_text (const gchar *text) +{ + GtkCellViewMenuItem *item; + + item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); + + item->priv->cell_view = gtk_cell_view_new_with_text (text); + gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); + gtk_widget_show (item->priv->cell_view); + + return GTK_WIDGET (item); +} + +GtkWidget * +gtk_cell_view_menu_item_new_with_markup (const gchar *markup) +{ + GtkCellViewMenuItem *item; + + item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); + + item->priv->cell_view = gtk_cell_view_new_with_markup (markup); + gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); + gtk_widget_show (item->priv->cell_view); + + return GTK_WIDGET (item); +} + +GtkWidget * +gtk_cell_view_menu_item_new_from_model (GtkTreeModel *model, + GtkTreePath *path) +{ + GtkCellViewMenuItem *item; + + item = g_object_new (GTK_TYPE_CELL_VIEW_MENU_ITEM, NULL); + + item->priv->cell_view = gtk_cell_view_new (); + gtk_container_add (GTK_CONTAINER (item), item->priv->cell_view); + + gtk_cell_view_set_model (GTK_CELL_VIEW (item->priv->cell_view), model); + gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (item->priv->cell_view), path); + + gtk_widget_show (item->priv->cell_view); + + return GTK_WIDGET (item); +} |