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_editor_frame__source_view_focus_location (IdeEditorFrame *self, IdeSourceLocation *location, IdeSourceView *source_view) { IdeWorkbench *workbench; IdePerspective *editor; g_assert (IDE_IS_EDITOR_FRAME (self)); g_assert (location != NULL); g_assert (IDE_IS_SOURCE_VIEW (source_view)); workbench = ide_widget_get_workbench (GTK_WIDGET (self)); editor = ide_workbench_get_perspective_by_name (workbench, "editor"); ide_editor_perspective_focus_location (IDE_EDITOR_PERSPECTIVE (editor), location); }
static void ide_application_actions_load_workbench_view (IdeApplication *self, const char *genesis_view, const char *manifest) { IdeWorkbench *workbench = NULL; IdePerspective *greeter; const GList *list; list = gtk_application_get_windows (GTK_APPLICATION (self)); for (; list != NULL; list = list->next) { GtkWindow *window = list->data; if (IDE_IS_WORKBENCH (window)) { if (ide_workbench_get_context (IDE_WORKBENCH (window)) == NULL) { workbench = IDE_WORKBENCH (window); break; } } } if (workbench == NULL) { workbench = g_object_new (IDE_TYPE_WORKBENCH, "application", self, NULL); } greeter = ide_workbench_get_perspective_by_name (workbench, "greeter"); if (greeter) { ide_greeter_perspective_show_genesis_view (IDE_GREETER_PERSPECTIVE (greeter), genesis_view, manifest); } gtk_window_present (GTK_WINDOW (workbench)); }
static void ide_editor_frame_actions_spellcheck (GSimpleAction *action, GVariant *variant, gpointer user_data) { IdeEditorFrame *self = user_data; IdeWorkbench *workbench; IdePerspective *editor; gboolean state; g_assert (IDE_IS_EDITOR_FRAME (self)); state = !!g_variant_get_int32 (variant); if (state == TRUE) { if (IDE_IS_SOURCE_VIEW (self->source_view) && NULL != (workbench = ide_widget_get_workbench (GTK_WIDGET (self))) && NULL != (editor = ide_workbench_get_perspective_by_name (workbench, "editor"))) ide_editor_perspective_show_spellchecker (IDE_EDITOR_PERSPECTIVE (editor), self->source_view); } else gtk_widget_grab_focus (GTK_WIDGET (self->source_view)); }