static void ide_workbench_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { IdeWorkbench *self = IDE_WORKBENCH (object); switch (prop_id) { case PROP_DISABLE_GREETER: self->disable_greeter = g_value_get_boolean (value); break; case PROP_VISIBLE_PERSPECTIVE: ide_workbench_set_visible_perspective (self, g_value_get_object (value)); break; case PROP_VISIBLE_PERSPECTIVE_NAME: ide_workbench_set_visible_perspective_name (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }
void ide_workbench_set_visible_perspective_name (IdeWorkbench *self, const gchar *name) { IdePerspective *perspective; g_return_if_fail (IDE_IS_WORKBENCH (self)); g_return_if_fail (name != NULL); perspective = ide_workbench_get_perspective_by_name (self, name); if (perspective != NULL) ide_workbench_set_visible_perspective (self, perspective); }
static void ide_workbench_show_parents (GtkWidget *widget) { GtkWidget *parent; g_assert (GTK_IS_WIDGET (widget)); parent = gtk_widget_get_parent (widget); if (IDE_IS_LAYOUT_PANE (widget)) pnl_dock_revealer_set_reveal_child (PNL_DOCK_REVEALER (widget), TRUE); if (IDE_IS_PERSPECTIVE (widget)) ide_workbench_set_visible_perspective (ide_widget_get_workbench (widget), IDE_PERSPECTIVE (widget)); if (GTK_IS_STACK (parent)) gtk_stack_set_visible_child (GTK_STACK (parent), widget); if (parent != NULL) ide_workbench_show_parents (parent); }