#ifdef HAVE_CONFIG_H # include #endif #include #include #include "callbacks.h" #include "interface.h" #include "support.h" gint scivi_config_done_func(gpointer data); gint scivi_config_cancel_func(gpointer data); gint scivi_control_message(gpointer message); /* KEEP IN SYNC WITH plugin.c */ #define CTL_MESSAGE_RETTOWIN 1 #define CTL_MESSAGE_PRST_REL 10 #define CTL_MESSAGE_PRST_PREV 11 #define CTL_MESSAGE_PRST_NEXT 12 void on_path_list_select_child (GtkList *list, GtkWidget *widget, gpointer user_data) { GtkWidget *pe; gpointer p; pe = lookup_widget(GTK_WIDGET(user_data), "path_entry"); p = gtk_object_get_data(GTK_OBJECT(widget), "data"); gtk_entry_set_text(GTK_ENTRY(pe), (gchar*)p); } void on_cfg_button_path_up_clicked (GtkButton *button, gpointer user_data) { } void on_cfg_button_path_down_clicked (GtkButton *button, gpointer user_data) { } void on_cfg_button_path_add_clicked (GtkButton *button, gpointer user_data) { GtkWidget *pl, *pe, *ww, *m; gchar *t; pe = lookup_widget(GTK_WIDGET(user_data), "path_entry"); pl = lookup_widget(GTK_WIDGET(user_data), "path_list"); t = gtk_entry_get_text(GTK_ENTRY(pe)); m = gtk_label_new(t); ww = gtk_list_item_new(); gtk_container_add(GTK_CONTAINER(ww), m); gtk_widget_show(m); gtk_container_add(GTK_CONTAINER(pl), ww); gtk_widget_show(ww); gtk_object_set_data(GTK_OBJECT(ww), "data", g_strdup(t)); } void on_cfg_button_path_remove_clicked (GtkButton *button, gpointer user_data) { GtkWidget *pl, *s; GList *l; pl = lookup_widget(GTK_WIDGET(user_data), "path_list"); l = GTK_LIST(pl)->selection; if (!l) return; s = GTK_WIDGET(l->data); gtk_widget_destroy(s); } void on_cfg_button_ok_clicked (GtkButton *button, gpointer user_data) { gtk_idle_add(scivi_config_done_func, user_data); } void on_cfg_button_cancel_clicked (GtkButton *button, gpointer user_data) { gtk_widget_destroy(GTK_WIDGET(user_data)); } void on_scivi_window_config_destroy (GtkObject *object, gpointer user_data) { gtk_idle_add(scivi_config_cancel_func, user_data); } /* * * * * */ void on_scivi_ctl_destroy (GtkObject *object, gpointer user_data) { gtk_idle_add(scivi_control_message, (gpointer)CTL_MESSAGE_RETTOWIN); } void on_scivi_ctl_return_to_wnd_clicked (GtkButton *button, gpointer user_data) { gtk_widget_destroy(GTK_WIDGET(user_data)); } void on_scivi_ctl_presets_reload_clicked (GtkButton *button, gpointer user_data) { gtk_idle_add(scivi_control_message, (gpointer)CTL_MESSAGE_PRST_REL); } void on_scivi_ctl_presets_prev_clicked (GtkButton *button, gpointer user_data) { gtk_idle_add(scivi_control_message, (gpointer)CTL_MESSAGE_PRST_PREV); } void on_scivi_ctl_presets_next_clicked (GtkButton *button, gpointer user_data) { gtk_idle_add(scivi_control_message, (gpointer)CTL_MESSAGE_PRST_NEXT); }