GtkWidget *gui_create_editor_tree(EDITOR *editor) { GtkWidget *treeview; treeview = gtk_tree_view_new(); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), FALSE); main_add_mod_tree_columns(GTK_TREE_VIEW(treeview)); XI_message(("\ngui_create_editor_tree Mod Name:%s\n", editor->module)); main_load_book_tree_in_editor(GTK_TREE_VIEW(treeview), editor->module); menu = create_edit_tree_menu(editor); g_signal_connect_after((gpointer)treeview, "button_release_event", G_CALLBACK(on_button_release), editor); return treeview; }
gint editor_create_new(const gchar *filename, const gchar *key, gint editor_type) { GList *tmp = NULL; tmp = g_list_first(editors_all); while (tmp != NULL) { EDITOR *e = (EDITOR *)tmp->data; switch (editor_type) { case STUDYPAD_EDITOR: if (e->studypad) { if (editor_is_dirty(e)) _save_file(e); if (e->filename) g_free(e->filename); e->filename = g_strdup(filename); gtk_widget_show(e->window); gdk_window_raise(gtk_widget_get_parent_window(GTK_WIDGET(e->window))); _load_file(e, g_strdup(filename)); return 1; } break; case NOTE_EDITOR: if (!e->noteeditor) break; if (editor_is_dirty(e)) _save_note(e); if (e->module) g_free(e->module); e->module = g_strdup(filename); if (e->key) g_free(e->key); e->key = g_strdup(key); gtk_widget_show(e->window); gdk_window_raise(gtk_widget_get_parent_window(GTK_WIDGET(e->window))); editor_load_note(e, NULL, NULL); return 1; break; case BOOK_EDITOR: if (!e->bookeditor) break; if (editor_is_dirty(e)) _save_book(e); if (e->module) g_free(e->module); e->module = g_strdup(filename); if (e->key) g_free(e->key); e->key = g_strdup(key); gtk_widget_show(e->window); gdk_window_raise(gtk_widget_get_parent_window(GTK_WIDGET(e->window))); main_load_book_tree_in_editor(GTK_TREE_VIEW(e->treeview), e->module); editor_load_book(e); return 1; break; } tmp = g_list_next(tmp); } XI_message(("filename %s, key %s", (filename ? filename : "-null-"), (key ? key : "-null-"))); return _create_new(filename, key, editor_type); }