view console/libgnt/gntmenuitem.c @ 14764:f0292b71104b

[gaim-migrate @ 17521] Fix a couple of issues I ran into while running make distcheck. It still isn't successfully completing but it is getting farther. Right now I'm getting: /usr/bin/xgettext: error while opening "../../po/../gtk/plugins/crazychat/cc_gaim_plugin.c" for reading: No such file or directory ERROR: xgettext failed to generate PO template file. Please consult error message above if there is any. while in the /home/deryni/gaim/clean/gaim-2.0.0beta4/_build/po directory. I think we either need to remove crazy chat from the po files or add it to DIST_SUBDIRS, but I don't have time to test that right now. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Wed, 18 Oct 2006 15:45:22 +0000
parents f1f1dcb26d89
children c8cd118653fc
line wrap: on
line source

#include "gntmenu.h"
#include "gntmenuitem.h"

static GObjectClass *parent_class = NULL;

static void
gnt_menuitem_destroy(GObject *obj)
{
	GntMenuItem *item = GNT_MENUITEM(obj);
	g_free(item->text);
	item->text = NULL;
	if (item->submenu)
		gnt_widget_destroy(GNT_WIDGET(item->submenu));
}

static void
gnt_menuitem_class_init(GntMenuItemClass *klass)
{
	parent_class = G_OBJECT_CLASS(klass);

	parent_class->dispose = gnt_menuitem_destroy;
}

static void
gnt_menuitem_init(GTypeInstance *instance, gpointer class)
{
}

/******************************************************************************
 * GntMenuItem API
 *****************************************************************************/
GType
gnt_menuitem_get_gtype(void)
{
	static GType type = 0;

	if(type == 0)
	{
		static const GTypeInfo info = {
			sizeof(GntMenuItemClass),
			NULL,					/* base_init		*/
			NULL,					/* base_finalize	*/
			(GClassInitFunc)gnt_menuitem_class_init,
			NULL,					/* class_finalize	*/
			NULL,					/* class_data		*/
			sizeof(GntMenuItem),
			0,						/* n_preallocs		*/
			gnt_menuitem_init,			/* instance_init	*/
		};

		type = g_type_register_static(G_TYPE_OBJECT,
									  "GntMenuItem",
									  &info, 0);
	}

	return type;
}

GntMenuItem *gnt_menuitem_new(const char *text)
{
	GObject *item = g_object_new(GNT_TYPE_MENUITEM, NULL);
	GntMenuItem *menuitem = GNT_MENUITEM(item);

	menuitem->text = g_strdup(text);

	return menuitem;
}

void gnt_menuitem_set_callback(GntMenuItem *item, GntMenuItemCallback callback, gpointer data)
{
	item->callback = callback;
	item->callbackdata = data;
}

void gnt_menuitem_set_submenu(GntMenuItem *item, GntMenu *menu)
{
	item->submenu = menu;
}