Doc map
[sgc.git] / signals-editor.c
blob30cfc270974f8cd0e63bb2bc4fe22e7ac104f00f
1 #include "sgc.h"
3 void on_buttonAdd_clicked (GtkWidget *treeview, gpointer data)
5 add_entry("san1");
8 void add_entry(gchar *txt) {
9 /* ignore if entry is empty */
10 if (txt && *txt)
12 GtkTreeIter newrow;
14 gtk_list_store_append(GTK_LIST_STORE(liststore), &newrow);
16 gtk_list_store_set(GTK_LIST_STORE(liststore), &newrow, COL_TEXT, txt, -1);
18 if (treevalid == FALSE) {
19 treevalid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(liststore), &mainIter);
20 updateWidgets();
25 void remove_entry (GtkWidget *treeview, gpointer data)
27 GtkTreeSelection *sel;
28 GtkTreeIter selected_row;
30 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
32 if (gtk_tree_selection_get_selected(sel, &liststore, &selected_row))
34 gtk_list_store_remove(GTK_LIST_STORE(liststore), &selected_row);
35 treevalid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(liststore), &mainIter);
36 updateWidgets();
40 void on_treeview_edited (GtkCellRendererText *celltext,
41 const gchar *string_path, const gchar *new_text, gpointer data) {
43 GtkTreeModel *model = GTK_TREE_MODEL(data);
44 GtkTreeIter iter;
45 gtk_tree_model_get_iter_from_string(model, &iter, string_path);
46 gtk_list_store_set(GTK_LIST_STORE(model), &iter, COL_TEXT, new_text, -1);
47 treevalid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(liststore), &mainIter);
48 updateWidgets();
51 gboolean on_treeother() {
52 treevalid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(liststore), &mainIter);
53 updateWidgets();
54 return false;
57 void on_buttonOpen2_clicked(GtkWidget *filechooser, gpointer data) {
58 gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser));
59 fileSave(filename);
60 g_free(filename);
64 void on_buttonOpen_clicked(GtkWidget *filechooser, gpointer data) {
65 /* Eerst vragen oude op te slaan ? */
67 gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(filechooser));
69 if (g_str_has_suffix(filename, ".sgc") || g_str_has_suffix(filename, ".SGC")) {
70 if (openSGC(filename)) {
71 gchar *basename = g_path_get_basename(filename);
72 int end = strlen(basename)-3;
73 gchar *basenamenoext = g_malloc(end * sizeof(gchar));
74 gchar *currentDir = g_get_current_dir();
75 g_strlcpy(basenamenoext, basename, end);
76 g_free(filename);
77 filename = g_strjoin(NULL, currentDir, G_DIR_SEPARATOR_S, WORDLISTS, G_DIR_SEPARATOR_S, basenamenoext, G_DIR_SEPARATOR_S, "wordlist.txt", NULL);
78 g_free(currentDir);
79 g_free(basename);
80 g_free(basenamenoext);
81 gtk_widget_unrealize(glade_xml_get_widget(xml, "menuWordlists"));
84 fileOpen(filename);
85 g_free(filename);
88 void on_buttonSaveDistribution_clicked(GtkWidget *entry, gpointer data) {
89 if (GTK_ENTRY(entry)) {
90 saveSGC(gtk_entry_get_text(entry), base);