static void
gnome_icon_text_item_destroy (GtkObject *object)
{
	GnomeIconTextItem *iti = GNOME_ICON_TEXT_ITEM (object);
	GnomeIconTextItemPrivate *priv = iti->_priv;

	if (iti->text && iti->is_text_allocated) {
		g_free (iti->text);
		iti->text = NULL;
	}

	if (priv) {
		if (priv->layout) {
			g_object_unref (priv->layout);
			priv->layout = NULL;
		}

		if (priv->entry_top) {
			gtk_widget_destroy (priv->entry_top);
			priv->entry_top = NULL;
		}

		if (priv->cursor_gc) {
			g_object_unref (priv->cursor_gc);
			priv->cursor_gc = NULL;
		}

		g_free (priv);
		iti->_priv = NULL;
	}

	GNOME_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object));
}
Beispiel #2
0
/* Destroy handler for the image view */
static void
image_view_dispose (GObject *object)
{
	ImageView *view;
	ImageViewPrivate *priv;

	view = IMAGE_VIEW (object);
	priv = view->priv;

	g_signal_handlers_disconnect_matched (
		priv->hadj, G_SIGNAL_MATCH_DATA,
		0, 0, NULL, NULL, view);

	g_signal_handlers_disconnect_matched (
		priv->vadj, G_SIGNAL_MATCH_DATA,
		0, 0, NULL, NULL, view);

	/* Clean up */
	if (view->priv->pixbuf)
		g_object_unref (G_OBJECT (view->priv->pixbuf));
	view->priv->pixbuf = NULL;

	remove_dirty_region (view);

	GNOME_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
}
static void
gnome_icon_text_item_update (GnomeCanvasItem *item, double *affine, ArtSVP *clip_path, int flags)
{
	GnomeIconTextItem *iti;
	GnomeIconTextItemPrivate *priv;

	iti = GNOME_ICON_TEXT_ITEM (item);
	priv = iti->_priv;

	GNOME_CALL_PARENT (GNOME_CANVAS_ITEM_CLASS, update, (item, affine, clip_path, flags));

	/* If necessary, queue a redraw of the old bounding box */
	if ((flags & GNOME_CANVAS_UPDATE_VISIBILITY)
	    || (flags & GNOME_CANVAS_UPDATE_AFFINE)
	    || priv->need_pos_update
	    || priv->need_font_update
	    || priv->need_text_update)
		gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2);

	/* Compute new bounds */
	if (priv->need_pos_update
	    || priv->need_font_update
	    || priv->need_text_update)
		recompute_bounding_box (iti);

	/* Queue redraw */
	gnome_canvas_request_redraw (item->canvas, item->x1, item->y1, item->x2, item->y2);

	priv->need_pos_update = FALSE;
	priv->need_font_update = FALSE;
	priv->need_text_update = FALSE;
	priv->need_state_update = FALSE;
}
Beispiel #4
0
static void
gnome_druid_destroy (GtkObject *object)
{
	GnomeDruid *druid;

	/* remember, destroy can be run multiple times! */

	g_return_if_fail (object != NULL);
	g_return_if_fail (GNOME_IS_DRUID (object));

	druid = GNOME_DRUID (object);

	if(druid->_priv->bbox) {
		gtk_widget_destroy (druid->_priv->bbox);
		druid->_priv->bbox = NULL;
		druid->back = NULL;
		druid->next = NULL;
		druid->cancel = NULL;
		druid->finish = NULL;
		druid->help = NULL;
	}

	/* Remove all children, we set current to NULL so
	 * that the remove code doesn't try to do anything funny */
	druid->_priv->current = NULL;
	while (druid->_priv->children != NULL) {
		GnomeDruidPage *child = druid->_priv->children->data;
		gtk_container_remove (GTK_CONTAINER (druid), GTK_WIDGET(child));
	}

	GNOME_CALL_PARENT (GTK_OBJECT_CLASS, destroy, (object));
}
static void
gnome_icon_text_item_realize (GnomeCanvasItem *item)
{
	GnomeIconTextItem *iti = GNOME_ICON_TEXT_ITEM (item);

	if (iti->_priv->entry) {
		realize_cursor_gc (iti);
	}

	GNOME_CALL_PARENT (GNOME_CANVAS_ITEM_CLASS, realize, (item));
}
static void
gnome_icon_text_item_unrealize (GnomeCanvasItem *item)
{
	GnomeIconTextItem *iti = GNOME_ICON_TEXT_ITEM (item);

	if (iti->_priv->cursor_gc) {
		g_object_unref (iti->_priv->cursor_gc);
		iti->_priv->cursor_gc = NULL;
	}

	GNOME_CALL_PARENT (GNOME_CANVAS_ITEM_CLASS, unrealize, (item));
}
Beispiel #7
0
static void
gnome_druid_finalize (GObject *object)
{
	GnomeDruid *druid;

	g_return_if_fail (object != NULL);
	g_return_if_fail (GNOME_IS_DRUID (object));

	druid = GNOME_DRUID (object);

	g_free(druid->_priv);
	druid->_priv = NULL;

	GNOME_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
}
Beispiel #8
0
/* Finalize handler for the image view */
static void
image_view_finalize (GObject *object)
{
	ImageView *view;
	ImageViewPrivate *priv;

	view = IMAGE_VIEW (object);
	priv = view->priv;

	g_object_unref (priv->hadj);
	g_object_unref (priv->vadj);

	g_free (priv);

	GNOME_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
}