Ejemplo n.º 1
0
static void
sp_button_set_action (SPButton *button, SPAction *action)
{
	GtkWidget *child;

	if (button->action) {
		nr_active_object_remove_listener_by_data ((NRActiveObject *) button->action, button);
		nr_object_unref ((NRObject *) button->action);
		child = gtk_bin_get_child (GTK_BIN (button));
		if (child) {
			gtk_container_remove (GTK_CONTAINER (button), child);
		}
	}
	button->action = action;
	if (action) {
		button->action = (SPAction *) nr_object_ref ((NRObject *) action);
		nr_active_object_add_listener ((NRActiveObject *) action, (NRObjectEventVector *) &button_event_vector, sizeof (SPActionEventVector), button);
		if (action->image) {
			child = sp_icon_new (button->lsize, action->image);
			gtk_widget_show (child);
			gtk_container_add (GTK_CONTAINER (button), child);
		}
	}

	if (button->tooltips) {
		sp_button_set_composed_tooltip (button->tooltips, (GtkWidget *) button, action);
	}
}
Ejemplo n.º 2
0
static void
sp_canvas_arena_init (SPCanvasArena *arena)
{
	arena->sticky = FALSE;

	arena->arena = (NRArena *) nr_object_new (NR_TYPE_ARENA);
	arena->root = nr_arena_item_new (arena->arena, NR_TYPE_ARENA_GROUP);
	nr_arena_group_set_transparent (NR_ARENA_GROUP (arena->root), TRUE);

	arena->active = NULL;

#if 0
	g_signal_connect (G_OBJECT (arena->arena), "item_added",
			  G_CALLBACK (sp_canvas_arena_item_added), arena);
	g_signal_connect (G_OBJECT (arena->arena), "remove_item",
			  G_CALLBACK (sp_canvas_arena_remove_item), arena);
	g_signal_connect (G_OBJECT (arena->arena), "request_update",
			  G_CALLBACK (sp_canvas_arena_request_update), arena);
	g_signal_connect (G_OBJECT (arena->arena), "request_render",
			  G_CALLBACK (sp_canvas_arena_request_render), arena);
#endif

	nr_active_object_add_listener ((NRActiveObject *) arena->arena, (NRObjectEventVector *) &carenaev, sizeof (carenaev), arena);
}