static void gtk_source_gutter_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GtkSourceGutter *self = GTK_SOURCE_GUTTER (object); switch (prop_id) { case PROP_VIEW: set_view (self, GTK_SOURCE_VIEW (g_value_get_object (value))); break; case PROP_WINDOW_TYPE: self->priv->window_type = g_value_get_enum (value); break; case PROP_XPAD: set_xpad (self, g_value_get_int (value), TRUE); break; case PROP_YPAD: set_ypad (self, g_value_get_int (value), TRUE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void gtk_source_gutter_dispose (GObject *object) { GtkSourceGutter *gutter = GTK_SOURCE_GUTTER (object); g_list_free_full (gutter->priv->renderers, (GDestroyNotify)renderer_free); gutter->priv->renderers = NULL; gutter->priv->view = NULL; G_OBJECT_CLASS (gtk_source_gutter_parent_class)->dispose (object); }
static void gtk_source_gutter_constructed (GObject *object) { GtkSourceGutter *gutter; gutter = GTK_SOURCE_GUTTER (object); if (gutter->priv->window_type == GTK_TEXT_WINDOW_LEFT || gutter->priv->window_type == GTK_TEXT_WINDOW_RIGHT) { gutter->priv->orientation = GTK_ORIENTATION_HORIZONTAL; } else { gutter->priv->orientation = GTK_ORIENTATION_VERTICAL; } G_OBJECT_CLASS (gtk_source_gutter_parent_class)->constructed (object); }
static void gtk_source_gutter_dispose (GObject *object) { GtkSourceGutter *gutter = GTK_SOURCE_GUTTER (object); gint i; g_list_foreach (gutter->priv->renderers, (GFunc)renderer_free, NULL); g_list_free (gutter->priv->renderers); if (gutter->priv->view) { for (i = 0; i < LAST_EXTERNAL_SIGNAL; ++i) { g_signal_handler_disconnect (gutter->priv->view, gutter->priv->signals[i]); } gutter->priv->view = NULL; } gutter->priv->renderers = NULL; }