static void on_value_removed (AnjutaPlugin *plugin, const gchar *name, gpointer data) { AnjutaShell* shell = anjuta_plugin_get_shell (plugin); StarterPlugin* splugin = ANJUTA_PLUGIN_STARTER (plugin); IAnjutaDocumentManager* docman = anjuta_shell_get_interface (shell, IAnjutaDocumentManager, NULL); IAnjutaProjectManager* pm = anjuta_shell_get_interface (shell, IAnjutaProjectManager, NULL); if (!(docman && ianjuta_document_manager_get_doc_widgets (docman, NULL)) && !(pm && ianjuta_project_manager_get_current_project (pm, NULL))) { DEBUG_PRINT ("Showing starter"); splugin->priv->starter = create_starter_widget (splugin); anjuta_shell_add_widget (shell, splugin->priv->starter, "AnjutaStarter", _("Start"), GTK_STOCK_ABOUT, ANJUTA_SHELL_PLACEMENT_CENTER, NULL); anjuta_shell_present_widget (shell, splugin->priv->starter, NULL); g_object_unref (splugin->priv->starter); } }
void anjuta_docman_add_document (AnjutaDocman *docman, IAnjutaDocument *doc, GFile* file) { AnjutaDocmanPage *page; page = anjuta_docman_page_new (); anjuta_docman_page_init (docman, doc, file, page); /* list order matches pages in book, initially at least */ docman->priv->pages = g_list_prepend (docman->priv->pages, (gpointer)page); gtk_notebook_prepend_page_menu (GTK_NOTEBOOK (docman), page->widget, page->box, page->menu_box); gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (docman), page->widget, TRUE); g_signal_connect (G_OBJECT (doc), "update-save-ui", G_CALLBACK (on_document_update_save_ui), docman); g_signal_connect (G_OBJECT (doc), "destroy", G_CALLBACK (on_document_destroy), docman); g_object_ref (doc); anjuta_docman_set_current_document (docman, doc); anjuta_shell_present_widget (docman->shell, GTK_WIDGET (docman->priv->plugin->vbox), NULL); anjuta_docman_update_documents_menu (docman); g_signal_emit_by_name (docman, "document-added", doc); }
static void on_show_in_file_manager (GtkAction* action, AnjutaFileManager* file_manager) { IAnjutaDocumentManager* docman; IAnjutaDocument* document; GFile* file; docman = anjuta_shell_get_interface (ANJUTA_PLUGIN (file_manager)->shell, IAnjutaDocumentManager, NULL); g_return_if_fail (docman); document = ianjuta_document_manager_get_current_document (docman, NULL); if (!IANJUTA_IS_FILE (document)) return; file = ianjuta_file_get_file (IANJUTA_FILE (document), NULL); if (!file) return; file_view_set_selected (file_manager->fv, file); g_object_unref (file); anjuta_shell_present_widget (ANJUTA_PLUGIN (file_manager)->shell, file_manager->sw, NULL); }
static void anjuta_docman_grab_text_focus (AnjutaDocman *docman) { anjuta_shell_present_widget (docman->shell, GTK_WIDGET (docman->priv->plugin->vbox), NULL); }
static pid_t terminal_execute (TerminalPlugin *term_plugin, const gchar *directory, const gchar *command, gchar **environment) { char **args, **args_ptr; GList *args_list, *args_list_ptr; gchar *dir; VteTerminal *term; pid_t pid; g_return_val_if_fail (command != NULL, 0); /* Prepare command args */ args_list = anjuta_util_parse_args_from_string (command); args = g_new (char*, g_list_length (args_list) + 1); args_list_ptr = args_list; args_ptr = args; while (args_list_ptr) { *args_ptr = (char*) args_list_ptr->data; args_list_ptr = g_list_next (args_list_ptr); args_ptr++; } *args_ptr = NULL; if (directory == NULL) dir = g_path_get_dirname (args[0]); else dir = g_strdup (directory); term = VTE_TERMINAL (term_plugin->term); /* vte_terminal_reset (term, TRUE, TRUE); */ pid = vte_terminal_fork_command (term, args[0], args, environment, dir, term_plugin->lastlog, term_plugin->update_records, term_plugin->update_records); /* vte_terminal_form_command return -1 if there is an error */ if (pid > 0) { gboolean focus; term_plugin->child_pid = pid; /* Display terminal widget */ focus = gtk_widget_is_focus (term_plugin->shell); gtk_container_remove (GTK_CONTAINER (term_plugin->frame), term_plugin->shell_box); gtk_container_add (GTK_CONTAINER (term_plugin->frame), term_plugin->term_box); gtk_widget_show_all (term_plugin->term_box); if (focus) gtk_widget_grab_focus (term_plugin->term); if (term_plugin->widget_added_to_shell) anjuta_shell_present_widget (ANJUTA_PLUGIN (term_plugin)->shell, term_plugin->frame, NULL); } g_free (dir); g_free (args); g_list_foreach (args_list, (GFunc)g_free, NULL); g_list_free (args_list); return pid; }