[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r446 - in GNUnet: . contrib/win src/conf
From: |
durner |
Subject: |
[GNUnet-SVN] r446 - in GNUnet: . contrib/win src/conf |
Date: |
Sat, 19 Mar 2005 09:22:33 -0800 (PST) |
Author: durner
Date: 2005-03-19 09:22:31 -0800 (Sat, 19 Mar 2005)
New Revision: 446
Added:
GNUnet/src/conf/gconf_callbacks.h
GNUnet/src/conf/gconf_interface.c
GNUnet/src/conf/gconf_interface.h
GNUnet/src/conf/gconf_support.c
GNUnet/src/conf/gconf_support.h
Modified:
GNUnet/configure.ac
GNUnet/contrib/win/Installer.nsi
GNUnet/src/conf/Makefile.am
GNUnet/src/conf/gconf.c
GNUnet/src/conf/gconf.glade
GNUnet/src/conf/gnunet-setup.c
Log:
Graphical GNUnet Setup (first try)
Modified: GNUnet/configure.ac
===================================================================
--- GNUnet/configure.ac 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/configure.ac 2005-03-19 17:22:31 UTC (rev 446)
@@ -324,9 +324,13 @@
AM_CONDITIONAL(HAVE_CURSES, test x$curses = x1)
# check for gtk >= 2.4.0
-# AC_MSG_CHECKING(for gtk)
-# AM_PATH_GTK_2_0(2.4.0,without_gtk=false,without_gtk=true)
-# AM_CONDITIONAL(HAVE_GTK, test x$without_gtk != xtrue)
+AC_MSG_CHECKING(for gtk)
+AM_PATH_GTK_2_0(2.4.0,without_gtk=false,without_gtk=true)
+AM_CONDITIONAL(HAVE_GTK, test x$without_gtk != xtrue)
+if test $without_gtk != true
+then
+ AC_DEFINE_UNQUOTED([HAVE_GTK], 1, [We have GTK])
+fi
# check for gettext
AM_GNU_GETTEXT_VERSION(0.14)
Modified: GNUnet/contrib/win/Installer.nsi
===================================================================
--- GNUnet/contrib/win/Installer.nsi 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/contrib/win/Installer.nsi 2005-03-19 17:22:31 UTC (rev 446)
@@ -308,8 +308,12 @@
SetOutPath "$INSTDIR\etc\pango"
File "C:\GNUnet\etc\pango\pango.aliases"
File "C:\GNUnet\etc\pango\pango.modules"
+ SetOutPath "$INSTDIR\etc\gtk-2.0"
+ File "C:\GNUnet\etc\gtk-2.0\gdk-pixbuf.loaders"
SetOutPath "$INSTDIR\lib\gtk-2.0\2.4.0\engines"
File "C:\GNUnet\lib\gtk-2.0\2.4.0\engines\libwimp.dll"
+ SetOutPath "$INSTDIR\lib\gtk-2.0\2.4.0\loaders"
+ File "C:\GNUnet\lib\gtk-2.0\2.4.0\loaders\libpixbufloader-xpm.dll"
SetOutPath "$INSTDIR\lib\pango\1.4.0\modules"
File "C:\GNUnet\lib\pango\1.4.0\modules\pango-basic-win32.dll"
SetOutPath "$INSTDIR\share\themes\Default\gtk-2.0"
Modified: GNUnet/src/conf/Makefile.am
===================================================================
--- GNUnet/src/conf/Makefile.am 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/Makefile.am 2005-03-19 17:22:31 UTC (rev 446)
@@ -1,5 +1,7 @@
INCLUDES = -I$(top_srcdir)/src/include
+AM_CFLAGS = $(GTK_CFLAGS)
+
if MINGW
WINTOOL = gnunet-win-tool
endif
@@ -39,21 +41,35 @@
mconf_yesno.c
endif
+if HAVE_GTK
+ gconf_libs = $(GTK_LIBS) @EXT_LIB_PATH@ $(LDADD) @EXT_LIBS@ -lgthread-2.0
+
+ gconf_src = \
+ gconf_callbacks.h \
+ gconf_interface.h \
+ gconf_support.h \
+ gconf_interface.c \
+ gconf_support.c \
+ gconf.c
+endif
+
+
gnunet_setup_SOURCES = \
conf.c \
confdata.c \
expr.c \
expr.h \
lkc.h \
- $(mconf_src) \
menu.c \
symbol.c \
zconf.tab.h \
zconf_tab.c \
+ $(mconf_src) \
+ $(gconf_src) \
gnunet-setup.c
gnunet_setup_LDFLAGS = \
- $(curses_lib)
+ $(curses_lib) $(gconf_libs)
gnunet_setup_LDADD = \
$(top_builddir)/src/util/libgnunetutil.la
Modified: GNUnet/src/conf/gconf.c
===================================================================
--- GNUnet/src/conf/gconf.c 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/gconf.c 2005-03-19 17:22:31 UTC (rev 446)
@@ -14,22 +14,27 @@
#include "platform.h"
+#define LKC_DIRECT_LINK
+
#include "lkc.h"
#include "images.c"
-#include <glade/glade.h>
#include <gtk/gtk.h>
#include <glib.h>
#include <gdk/gdkkeysyms.h>
+#include "gconf_interface.h"
+#undef ENABLE_NLS
+#include "gconf_support.h"
+#define ENABLE_NLS 1
-/* #define DEBUG */
+#define DEBUG
enum {
- SINGLE_VIEW, SPLIT_VIEW, FULL_VIEW
+ SINGLE_VIEW, SPLIT_VIEW, FULL_VIEW
};
-static gint view_mode = FULL_VIEW;
+static gint view_mode = SPLIT_VIEW;
static gboolean show_name = TRUE;
static gboolean show_range = TRUE;
static gboolean show_value = TRUE;
@@ -43,8 +48,8 @@
"Sorry, no help available for this option yet.\n";
GtkWidget *main_wnd = NULL;
-GtkWidget *tree1_w = NULL; /* left frame */
-GtkWidget *tree2_w = NULL; /* right frame */
+GtkWidget *tree1_w = NULL; /* left frame */
+GtkWidget *tree2_w = NULL; /* right frame */
GtkWidget *text_w = NULL;
GtkWidget *hpaned = NULL;
GtkWidget *vpaned = NULL;
@@ -62,10 +67,10 @@
static struct menu *browsed; /* browsed node for SPLIT view */
enum {
- COL_OPTION, COL_NAME, COL_NO, COL_MOD, COL_YES, COL_VALUE,
- COL_MENU, COL_COLOR, COL_EDIT, COL_PIXBUF,
- COL_PIXVIS, COL_BTNVIS, COL_BTNACT, COL_BTNINC, COL_BTNRAD,
- COL_NUMBER
+ COL_OPTION, COL_NAME, COL_NO, COL_MOD, COL_YES, COL_VALUE,
+ COL_MENU, COL_COLOR, COL_EDIT, COL_PIXBUF,
+ COL_PIXVIS, COL_BTNVIS, COL_BTNACT, COL_BTNINC, COL_BTNRAD,
+ COL_NUMBER
};
static void display_list(void);
@@ -81,438 +86,457 @@
const char *dbg_print_stype(int val)
{
- static char buf[256];
+ static char buf[256];
- bzero(buf, 256);
+ memset(buf, 0, 256);
- if (val == S_UNKNOWN)
- strcpy(buf, "unknown");
- if (val == S_BOOLEAN)
- strcpy(buf, "boolean");
- if (val == S_TRISTATE)
- strcpy(buf, "tristate");
- if (val == S_INT)
- strcpy(buf, "int");
- if (val == S_HEX)
- strcpy(buf, "hex");
- if (val == S_STRING)
- strcpy(buf, "string");
- if (val == ST_OTHER)
- strcpy(buf, "other");
+ if (val == S_UNKNOWN)
+ strcpy(buf, "unknown");
+ if (val == S_BOOLEAN)
+ strcpy(buf, "boolean");
+ if (val == S_TRISTATE)
+ strcpy(buf, "tristate");
+ if (val == S_INT)
+ strcpy(buf, "int");
+ if (val == S_HEX)
+ strcpy(buf, "hex");
+ if (val == S_STRING)
+ strcpy(buf, "string");
+ if (val == ST_OTHER)
+ strcpy(buf, "other");
#ifdef DEBUG
- printf("%s", buf);
+ printf("%s", buf);
#endif
- return buf;
+ return buf;
}
const char *dbg_print_flags(int val)
{
- static char buf[256];
+ static char buf[256];
- bzero(buf, 256);
+ memset(buf, 0, 256);
- if (val & SYMBOL_YES)
- strcat(buf, "yes/");
- if (val & SYMBOL_MOD)
- strcat(buf, "mod/");
- if (val & SYMBOL_NO)
- strcat(buf, "no/");
- if (val & SYMBOL_CONST)
- strcat(buf, "const/");
- if (val & SYMBOL_CHECK)
- strcat(buf, "check/");
- if (val & SYMBOL_CHOICE)
- strcat(buf, "choice/");
- if (val & SYMBOL_CHOICEVAL)
- strcat(buf, "choiceval/");
- if (val & SYMBOL_PRINTED)
- strcat(buf, "printed/");
- if (val & SYMBOL_VALID)
- strcat(buf, "valid/");
- if (val & SYMBOL_OPTIONAL)
- strcat(buf, "optional/");
- if (val & SYMBOL_WRITE)
- strcat(buf, "write/");
- if (val & SYMBOL_CHANGED)
- strcat(buf, "changed/");
- if (val & SYMBOL_NEW)
- strcat(buf, "new/");
- if (val & SYMBOL_AUTO)
- strcat(buf, "auto/");
+ if (val & SYMBOL_YES)
+ strcat(buf, "yes/");
+ if (val & SYMBOL_MOD)
+ strcat(buf, "mod/");
+ if (val & SYMBOL_NO)
+ strcat(buf, "no/");
+ if (val & SYMBOL_CONST)
+ strcat(buf, "const/");
+ if (val & SYMBOL_CHECK)
+ strcat(buf, "check/");
+ if (val & SYMBOL_CHOICE)
+ strcat(buf, "choice/");
+ if (val & SYMBOL_CHOICEVAL)
+ strcat(buf, "choiceval/");
+ if (val & SYMBOL_PRINTED)
+ strcat(buf, "printed/");
+ if (val & SYMBOL_VALID)
+ strcat(buf, "valid/");
+ if (val & SYMBOL_OPTIONAL)
+ strcat(buf, "optional/");
+ if (val & SYMBOL_WRITE)
+ strcat(buf, "write/");
+ if (val & SYMBOL_CHANGED)
+ strcat(buf, "changed/");
+ if (val & SYMBOL_NEW)
+ strcat(buf, "new/");
+ if (val & SYMBOL_AUTO)
+ strcat(buf, "auto/");
- buf[strlen(buf) - 1] = '\0';
+ buf[strlen(buf) - 1] = '\0';
#ifdef DEBUG
- printf("%s", buf);
+ printf("%s", buf);
#endif
- return buf;
+ return buf;
}
const char *dbg_print_ptype(int val)
{
- static char buf[256];
+ static char buf[256];
- bzero(buf, 256);
+ bzero(buf, 256);
- if (val == P_UNKNOWN)
- strcpy(buf, "unknown");
- if (val == P_PROMPT)
- strcpy(buf, "prompt");
- if (val == P_COMMENT)
- strcpy(buf, "comment");
- if (val == P_MENU)
- strcpy(buf, "menu");
- if (val == P_DEFAULT)
- strcpy(buf, "default");
- if (val == P_CHOICE)
- strcpy(buf, "choice");
+ if (val == P_UNKNOWN)
+ strcpy(buf, "unknown");
+ if (val == P_PROMPT)
+ strcpy(buf, "prompt");
+ if (val == P_COMMENT)
+ strcpy(buf, "comment");
+ if (val == P_MENU)
+ strcpy(buf, "menu");
+ if (val == P_DEFAULT)
+ strcpy(buf, "default");
+ if (val == P_CHOICE)
+ strcpy(buf, "choice");
#ifdef DEBUG
- printf("%s", buf);
+ printf("%s", buf);
#endif
- return buf;
+ return buf;
}
+static void set_help(const char *prompt, const char *name, const char *help)
+{
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+ buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+ gtk_text_buffer_get_bounds(buffer, &start, &end);
+ gtk_text_buffer_delete(buffer, &start, &end);
+ gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
+
+ gtk_text_buffer_get_end_iter(buffer, &end);
+ gtk_text_buffer_insert_with_tags(buffer, &end, prompt, -1, tag1,
+ NULL);
+ gtk_text_buffer_insert_at_cursor(buffer, " ", 1);
+ gtk_text_buffer_get_end_iter(buffer, &end);
+ gtk_text_buffer_insert_with_tags(buffer, &end, name, -1, tag1,
+ NULL);
+ gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
+ gtk_text_buffer_get_end_iter(buffer, &end);
+ gtk_text_buffer_insert_with_tags(buffer, &end, help, -1, tag2,
+ NULL);
+}
+
/* Main Window Initialization */
-void init_main_window(const gchar * glade_file)
+void init_main_window()
{
- GladeXML *xml;
- GtkWidget *widget;
- GtkTextBuffer *txtbuf;
- char title[256];
- GdkPixmap *pixmap;
- GdkBitmap *mask;
- GtkStyle *style;
+ GtkWidget *widget;
+ GtkTextBuffer *txtbuf;
+ char title[256];
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+ GtkStyle *style;
+ GtkToolbar *toolbar;
+ GtkWidget *vbox;
+ GtkMenu *options;
+
+ main_wnd = create_main_wnd ();
+ gtk_widget_show (GTK_WINDOW(main_wnd));
- xml = glade_xml_new(glade_file, "window1", NULL);
- if (!xml)
- g_error("GUI loading failed !\n");
- glade_xml_signal_autoconnect(xml);
+ vbox = lookup_widget(GTK_WINDOW(main_wnd), "vbox1");
+ hpaned = lookup_widget(vbox, "hpaned1");
+ vpaned = lookup_widget(hpaned, "vpaned1");
+ tree1_w = lookup_widget(lookup_widget(hpaned, "scrolledwindow1"),
+ "treeview1");
+ tree2_w = lookup_widget(lookup_widget(vpaned, "scrolledwindow2"),
+ "treeview2");
+ text_w = lookup_widget(lookup_widget(vpaned, "scrolledwindow3"),
+ "textview3");
- main_wnd = glade_xml_get_widget(xml, "window1");
- hpaned = glade_xml_get_widget(xml, "hpaned1");
- vpaned = glade_xml_get_widget(xml, "vpaned1");
- tree1_w = glade_xml_get_widget(xml, "treeview1");
- tree2_w = glade_xml_get_widget(xml, "treeview2");
- text_w = glade_xml_get_widget(xml, "textview3");
+ toolbar = lookup_widget(lookup_widget(vbox, "handlebox1"), "toolbar1");
- back_btn = glade_xml_get_widget(xml, "button1");
- gtk_widget_set_sensitive(back_btn, FALSE);
+ back_btn = lookup_widget(toolbar, "button1");
+ gtk_widget_set_sensitive(back_btn, FALSE);
- widget = glade_xml_get_widget(xml, "show_name1");
- gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
- show_name);
+ options = lookup_widget(lookup_widget(lookup_widget(vbox, "menubar1"),
+ "options1"), "options1_menu");
- widget = glade_xml_get_widget(xml, "show_range1");
- gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
- show_range);
+ widget = lookup_widget(options, "show_name1");
+ gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+ show_name);
- widget = glade_xml_get_widget(xml, "show_data1");
- gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
- show_value);
+ widget = lookup_widget(options, "show_range1");
+ gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+ show_range);
- style = gtk_widget_get_style(main_wnd);
- widget = glade_xml_get_widget(xml, "toolbar1");
+ widget = lookup_widget(options, "show_data1");
+ gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+ show_value);
- pixmap = gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
- &style->bg[GTK_STATE_NORMAL],
- (gchar **) xpm_single_view);
- gtk_image_set_from_pixmap(GTK_IMAGE
- (((GtkToolbarChild
- *) (g_list_nth(GTK_TOOLBAR(widget)->
- children,
- 5)->data))->icon),
- pixmap, mask);
- pixmap =
- gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
- &style->bg[GTK_STATE_NORMAL],
- (gchar **) xpm_split_view);
- gtk_image_set_from_pixmap(GTK_IMAGE
- (((GtkToolbarChild
- *) (g_list_nth(GTK_TOOLBAR(widget)->
- children,
- 6)->data))->icon),
- pixmap, mask);
- pixmap =
- gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
- &style->bg[GTK_STATE_NORMAL],
- (gchar **) xpm_tree_view);
- gtk_image_set_from_pixmap(GTK_IMAGE
- (((GtkToolbarChild
- *) (g_list_nth(GTK_TOOLBAR(widget)->
- children,
- 7)->data))->icon),
- pixmap, mask);
+ style = gtk_widget_get_style(main_wnd);
- switch (view_mode) {
- case SINGLE_VIEW:
- widget = glade_xml_get_widget(xml, "button4");
- gtk_button_clicked(GTK_BUTTON(widget));
- break;
- case SPLIT_VIEW:
- widget = glade_xml_get_widget(xml, "button5");
- gtk_button_clicked(GTK_BUTTON(widget));
- break;
- case FULL_VIEW:
- widget = glade_xml_get_widget(xml, "button6");
- gtk_button_clicked(GTK_BUTTON(widget));
- break;
- }
+ pixmap = gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
+ &style->bg[GTK_STATE_NORMAL],
+ (gchar **) xpm_single_view);
+ gtk_image_set_from_pixmap(GTK_IMAGE
+ (((GtkToolbarChild
+ *) (g_list_nth(GTK_TOOLBAR(toolbar)->
+ children,
+ 5)->data))->icon),
+ pixmap, mask);
+ pixmap =
+ gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
+ &style->bg[GTK_STATE_NORMAL],
+ (gchar **) xpm_split_view);
+ gtk_image_set_from_pixmap(GTK_IMAGE
+ (((GtkToolbarChild
+ *) (g_list_nth(GTK_TOOLBAR(toolbar)->
+ children,
+ 6)->data))->icon),
+ pixmap, mask);
+ pixmap =
+ gdk_pixmap_create_from_xpm_d(main_wnd->window, &mask,
+ &style->bg[GTK_STATE_NORMAL],
+ (gchar **) xpm_tree_view);
+ gtk_image_set_from_pixmap(GTK_IMAGE
+ (((GtkToolbarChild
+ *) (g_list_nth(GTK_TOOLBAR(toolbar)->
+ children,
+ 7)->data))->icon),
+ pixmap, mask);
- txtbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
- tag1 = gtk_text_buffer_create_tag(txtbuf, "mytag1",
- "foreground", "red",
- "weight", PANGO_WEIGHT_BOLD,
- NULL);
- tag2 = gtk_text_buffer_create_tag(txtbuf, "mytag2",
- /*"style", PANGO_STYLE_OBLIQUE, */
- NULL);
+ switch (view_mode) {
+ case SINGLE_VIEW:
+ widget = lookup_widget(toolbar, "button4");
+ gtk_button_clicked(GTK_BUTTON(widget));
+ break;
+ case SPLIT_VIEW:
+ widget = lookup_widget(toolbar, "button5");
+ gtk_button_clicked(GTK_BUTTON(widget));
+ break;
+ case FULL_VIEW:
+ widget = lookup_widget(toolbar, "button6");
+ gtk_button_clicked(GTK_BUTTON(widget));
+ break;
+ }
- strcpy(title, "GNUnet Configuration");
- gtk_window_set_title(GTK_WINDOW(main_wnd), title);
+ txtbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+ tag1 = gtk_text_buffer_create_tag(txtbuf, "mytag1",
+ "foreground", "red",
+ "weight", PANGO_WEIGHT_BOLD,
+ NULL);
+ tag2 = gtk_text_buffer_create_tag(txtbuf, "mytag2",
+ /*"style", PANGO_STYLE_OBLIQUE, */
+ NULL);
- gtk_widget_show(main_wnd);
+ strcpy(title, "GNUnet Configuration");
+ gtk_window_set_title(GTK_WINDOW(main_wnd), title);
+
+ set_help("GNUnet Setup", "",
+ "This is GNUnet's configuration interface.\n"
+ "GNUnet's options are separated into categories. You can browse "
+ "them in the left tree. If you click on one of the categories, its "
+ "options are shown above.\nTo change the value of an option, simply "
+ "click on its value and enter a new value.\nTo get additional "
+ "information about a specific option, click on its description.");
+
+ gtk_widget_show(main_wnd);
}
void init_tree_model(void)
{
- gint i;
+ gint i;
- tree = tree2 = gtk_tree_store_new(COL_NUMBER,
- G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_POINTER, GDK_TYPE_COLOR,
- G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF,
- G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
- G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
- G_TYPE_BOOLEAN);
- model2 = GTK_TREE_MODEL(tree2);
+ tree = tree2 = gtk_tree_store_new(COL_NUMBER,
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_POINTER, GDK_TYPE_COLOR,
+ G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF,
+ G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+ G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+ G_TYPE_BOOLEAN);
+ model2 = GTK_TREE_MODEL(tree2);
- for (parents[0] = NULL, i = 1; i < 256; i++)
- parents[i] = (GtkTreeIter *) g_malloc(sizeof(GtkTreeIter));
+ for (parents[0] = NULL, i = 1; i < 256; i++)
+ parents[i] = (GtkTreeIter *) g_malloc(sizeof(GtkTreeIter));
- tree1 = gtk_tree_store_new(COL_NUMBER,
- G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_STRING,
- G_TYPE_POINTER, GDK_TYPE_COLOR,
- G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF,
- G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
- G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
- G_TYPE_BOOLEAN);
- model1 = GTK_TREE_MODEL(tree1);
+ tree1 = gtk_tree_store_new(COL_NUMBER,
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_STRING, G_TYPE_STRING,
+ G_TYPE_POINTER, GDK_TYPE_COLOR,
+ G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF,
+ G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+ G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+ G_TYPE_BOOLEAN);
+ model1 = GTK_TREE_MODEL(tree1);
}
void init_left_tree(void)
{
- GtkTreeView *view = GTK_TREE_VIEW(tree1_w);
- GtkCellRenderer *renderer;
- GtkTreeSelection *sel;
- GtkTreeViewColumn *column;
+ GtkTreeView *view = GTK_TREE_VIEW(tree1_w);
+ GtkCellRenderer *renderer;
+ GtkTreeSelection *sel;
+ GtkTreeViewColumn *column;
- gtk_tree_view_set_model(view, model1);
- gtk_tree_view_set_headers_visible(view, TRUE);
- gtk_tree_view_set_rules_hint(view, FALSE);
-
- column = gtk_tree_view_column_new();
- gtk_tree_view_append_column(view, column);
- gtk_tree_view_column_set_title(column, "Options");
+ gtk_tree_view_set_model(view, model1);
+ gtk_tree_view_set_headers_visible(view, TRUE);
+ gtk_tree_view_set_rules_hint(view, FALSE);
+
+ column = gtk_tree_view_column_new();
+ gtk_tree_view_append_column(view, column);
+ gtk_tree_view_column_set_title(column, "Options");
- renderer = gtk_cell_renderer_toggle_new();
- gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
- renderer, FALSE);
- gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
- renderer,
- "active", COL_BTNACT,
- "inconsistent", COL_BTNINC,
- "visible", COL_BTNVIS,
- "radio", COL_BTNRAD, NULL);
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
- renderer, FALSE);
- gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
- renderer,
- "text", COL_OPTION,
- "foreground-gdk",
- COL_COLOR, NULL);
+ renderer = gtk_cell_renderer_toggle_new();
+ gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+ renderer, FALSE);
+ gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+ renderer,
+ "active", COL_BTNACT,
+ "inconsistent", COL_BTNINC,
+ "visible", COL_BTNVIS,
+ "radio", COL_BTNRAD, NULL);
+ renderer = gtk_cell_renderer_text_new();
+ gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+ renderer, FALSE);
+ gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+ renderer,
+ "text", COL_OPTION,
+ "foreground-gdk",
+ COL_COLOR, NULL);
- sel = gtk_tree_view_get_selection(view);
- gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
- gtk_widget_realize(tree1_w);
+ sel = gtk_tree_view_get_selection(view);
+ gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
+ gtk_widget_realize(tree1_w);
}
static void renderer_edited(GtkCellRendererText * cell,
- const gchar * path_string,
- const gchar * new_text, gpointer user_data);
+ const gchar * path_string,
+ const gchar * new_text, gpointer user_data);
static void renderer_toggled(GtkCellRendererToggle * cellrenderertoggle,
- gchar * arg1, gpointer user_data);
+ gchar * arg1, gpointer user_data);
void init_right_tree(void)
{
- GtkTreeView *view = GTK_TREE_VIEW(tree2_w);
- GtkCellRenderer *renderer;
- GtkTreeSelection *sel;
- GtkTreeViewColumn *column;
- gint i;
+ GtkTreeView *view = GTK_TREE_VIEW(tree2_w);
+ GtkCellRenderer *renderer;
+ GtkTreeSelection *sel;
+ GtkTreeViewColumn *column;
+ gint i;
- gtk_tree_view_set_model(view, model2);
- gtk_tree_view_set_headers_visible(view, TRUE);
- gtk_tree_view_set_rules_hint(view, FALSE);
+ gtk_tree_view_set_model(view, model2);
+ gtk_tree_view_set_headers_visible(view, TRUE);
+ gtk_tree_view_set_rules_hint(view, FALSE);
- column = gtk_tree_view_column_new();
- gtk_tree_view_append_column(view, column);
- gtk_tree_view_column_set_title(column, "Options");
+ column = gtk_tree_view_column_new();
+ gtk_tree_view_append_column(view, column);
+ gtk_tree_view_column_set_title(column, "Options");
- renderer = gtk_cell_renderer_pixbuf_new();
- gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
- renderer, FALSE);
- gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
- renderer,
- "pixbuf", COL_PIXBUF,
- "visible", COL_PIXVIS, NULL);
- renderer = gtk_cell_renderer_toggle_new();
- gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
- renderer, FALSE);
- gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
- renderer,
- "active", COL_BTNACT,
- "inconsistent", COL_BTNINC,
- "visible", COL_BTNVIS,
- "radio", COL_BTNRAD, NULL);
- /*g_signal_connect(G_OBJECT(renderer), "toggled",
- G_CALLBACK(renderer_toggled), NULL); */
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
- renderer, FALSE);
- gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
- renderer,
- "text", COL_OPTION,
- "foreground-gdk",
- COL_COLOR, NULL);
+ renderer = gtk_cell_renderer_pixbuf_new();
+ gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+ renderer, FALSE);
+ gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+ renderer,
+ "pixbuf", COL_PIXBUF,
+ "visible", COL_PIXVIS, NULL);
+ renderer = gtk_cell_renderer_toggle_new();
+ gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+ renderer, FALSE);
+ gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+ renderer,
+ "active", COL_BTNACT,
+ "inconsistent", COL_BTNINC,
+ "visible", COL_BTNVIS,
+ "radio", COL_BTNRAD, NULL);
+ /*g_signal_connect(G_OBJECT(renderer), "toggled",
+ G_CALLBACK(renderer_toggled), NULL); */
+ renderer = gtk_cell_renderer_text_new();
+ gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+ renderer, FALSE);
+ gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+ renderer,
+ "text", COL_OPTION,
+ "foreground-gdk",
+ COL_COLOR, NULL);
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_insert_column_with_attributes(view, -1,
- "Name", renderer,
- "text", COL_NAME,
- "foreground-gdk",
- COL_COLOR, NULL);
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_insert_column_with_attributes(view, -1,
- "N", renderer,
- "text", COL_NO,
- "foreground-gdk",
- COL_COLOR, NULL);
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_insert_column_with_attributes(view, -1,
- "M", renderer,
- "text", COL_MOD,
- "foreground-gdk",
- COL_COLOR, NULL);
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_insert_column_with_attributes(view, -1,
- "Y", renderer,
- "text", COL_YES,
- "foreground-gdk",
- COL_COLOR, NULL);
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_insert_column_with_attributes(view, -1,
- "Value", renderer,
- "text", COL_VALUE,
- "editable",
- COL_EDIT,
- "foreground-gdk",
- COL_COLOR, NULL);
- g_signal_connect(G_OBJECT(renderer), "edited",
- G_CALLBACK(renderer_edited), NULL);
+ renderer = gtk_cell_renderer_text_new();
+ gtk_tree_view_insert_column_with_attributes(view, -1,
+ "Name", renderer,
+ "text", COL_NAME,
+ "foreground-gdk",
+ COL_COLOR, NULL);
+ renderer = gtk_cell_renderer_text_new();
+ gtk_tree_view_insert_column_with_attributes(view, -1,
+ "N", renderer,
+ "text", COL_NO,
+ "foreground-gdk",
+ COL_COLOR, NULL);
+ renderer = gtk_cell_renderer_text_new();
+ gtk_tree_view_insert_column_with_attributes(view, -1,
+ "M", renderer,
+ "text", COL_MOD,
+ "foreground-gdk",
+ COL_COLOR, NULL);
+ renderer = gtk_cell_renderer_text_new();
+ gtk_tree_view_insert_column_with_attributes(view, -1,
+ "Y", renderer,
+ "text", COL_YES,
+ "foreground-gdk",
+ COL_COLOR, NULL);
+ renderer = gtk_cell_renderer_text_new();
+ gtk_tree_view_insert_column_with_attributes(view, -1,
+ "Value", renderer,
+ "text", COL_VALUE,
+ "editable",
+ COL_EDIT,
+ "foreground-gdk",
+ COL_COLOR, NULL);
+ g_signal_connect(G_OBJECT(renderer), "edited",
+ G_CALLBACK(renderer_edited), NULL);
- column = gtk_tree_view_get_column(view, COL_NAME);
- gtk_tree_view_column_set_visible(column, show_name);
- column = gtk_tree_view_get_column(view, COL_NO);
- gtk_tree_view_column_set_visible(column, show_range);
- column = gtk_tree_view_get_column(view, COL_MOD);
- gtk_tree_view_column_set_visible(column, show_range);
- column = gtk_tree_view_get_column(view, COL_YES);
- gtk_tree_view_column_set_visible(column, show_range);
- column = gtk_tree_view_get_column(view, COL_VALUE);
- gtk_tree_view_column_set_visible(column, show_value);
+ column = gtk_tree_view_get_column(view, COL_NAME);
+ gtk_tree_view_column_set_visible(column, show_name);
+ column = gtk_tree_view_get_column(view, COL_NO);
+ gtk_tree_view_column_set_visible(column, show_range);
+ column = gtk_tree_view_get_column(view, COL_MOD);
+ gtk_tree_view_column_set_visible(column, show_range);
+ column = gtk_tree_view_get_column(view, COL_YES);
+ gtk_tree_view_column_set_visible(column, show_range);
+ column = gtk_tree_view_get_column(view, COL_VALUE);
+ gtk_tree_view_column_set_visible(column, show_value);
- if (resizeable) {
- for (i = 0; i < COL_VALUE; i++) {
- column = gtk_tree_view_get_column(view, i);
- gtk_tree_view_column_set_resizable(column, TRUE);
- }
- }
+ if (resizeable) {
+ for (i = 0; i < COL_VALUE; i++) {
+ column = gtk_tree_view_get_column(view, i);
+ gtk_tree_view_column_set_resizable(column, TRUE);
+ }
+ }
- sel = gtk_tree_view_get_selection(view);
- gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
+ sel = gtk_tree_view_get_selection(view);
+ gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
}
/* Utility Functions */
-
static void text_insert_help(struct menu *menu)
{
- GtkTextBuffer *buffer;
- GtkTextIter start, end;
- const char *prompt = menu_get_prompt(menu);
- gchar *name;
- const char *help = nohelp_text;
+ const char *prompt = menu_get_prompt(menu);
+ gchar *name;
+ const char *help = nohelp_text;
- if (!menu->sym)
- help = "";
- else if (menu->sym->help)
- help = menu->sym->help;
+ if (!menu->sym)
+ help = "";
+ else if (menu->sym->help)
+ help = menu->sym->help;
- if (menu->sym && menu->sym->name)
- name = g_strdup_printf(menu->sym->name);
- else
- name = g_strdup("");
+ if (menu->sym && menu->sym->name)
+ name = g_strdup_printf(menu->sym->name);
+ else
+ name = g_strdup("");
- buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
- gtk_text_buffer_get_bounds(buffer, &start, &end);
- gtk_text_buffer_delete(buffer, &start, &end);
- gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
-
- gtk_text_buffer_get_end_iter(buffer, &end);
- gtk_text_buffer_insert_with_tags(buffer, &end, prompt, -1, tag1,
- NULL);
- gtk_text_buffer_insert_at_cursor(buffer, " ", 1);
- gtk_text_buffer_get_end_iter(buffer, &end);
- gtk_text_buffer_insert_with_tags(buffer, &end, name, -1, tag1,
- NULL);
- gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
- gtk_text_buffer_get_end_iter(buffer, &end);
- gtk_text_buffer_insert_with_tags(buffer, &end, help, -1, tag2,
- NULL);
+ set_help(prompt, name, help);
}
static void text_insert_msg(const char *title, const char *message)
{
- GtkTextBuffer *buffer;
- GtkTextIter start, end;
- const char *msg = message;
+ GtkTextBuffer *buffer;
+ GtkTextIter start, end;
+ const char *msg = message;
- buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
- gtk_text_buffer_get_bounds(buffer, &start, &end);
- gtk_text_buffer_delete(buffer, &start, &end);
- gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
+ buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+ gtk_text_buffer_get_bounds(buffer, &start, &end);
+ gtk_text_buffer_delete(buffer, &start, &end);
+ gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
- gtk_text_buffer_get_end_iter(buffer, &end);
- gtk_text_buffer_insert_with_tags(buffer, &end, title, -1, tag1,
- NULL);
- gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
- gtk_text_buffer_get_end_iter(buffer, &end);
- gtk_text_buffer_insert_with_tags(buffer, &end, msg, -1, tag2,
- NULL);
+ gtk_text_buffer_get_end_iter(buffer, &end);
+ gtk_text_buffer_insert_with_tags(buffer, &end, title, -1, tag1,
+ NULL);
+ gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
+ gtk_text_buffer_get_end_iter(buffer, &end);
+ gtk_text_buffer_insert_with_tags(buffer, &end, msg, -1, tag2,
+ NULL);
}
@@ -520,73 +544,74 @@
void on_save1_activate(GtkMenuItem * menuitem, gpointer user_data);
gboolean on_window1_delete_event(GtkWidget * widget, GdkEvent * event,
- gpointer user_data)
+ gpointer user_data)
{
- GtkWidget *dialog, *label;
- gint result;
+ GtkWidget *dialog, *label;
+ gint result;
- if (config_changed == FALSE)
- return FALSE;
+ if (config_changed == FALSE)
+ return FALSE;
- dialog = gtk_dialog_new_with_buttons("Warning !",
- GTK_WINDOW(main_wnd),
- (GtkDialogFlags)
- (GTK_DIALOG_MODAL |
- GTK_DIALOG_DESTROY_WITH_PARENT),
- GTK_STOCK_OK,
- GTK_RESPONSE_YES,
- GTK_STOCK_NO,
- GTK_RESPONSE_NO,
- GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL, NULL);
- gtk_dialog_set_default_response(GTK_DIALOG(dialog),
- GTK_RESPONSE_CANCEL);
+ dialog = gtk_dialog_new_with_buttons("Warning !",
+ GTK_WINDOW(main_wnd),
+ (GtkDialogFlags)
+ (GTK_DIALOG_MODAL |
+ GTK_DIALOG_DESTROY_WITH_PARENT),
+ GTK_STOCK_OK,
+ GTK_RESPONSE_YES,
+ GTK_STOCK_NO,
+ GTK_RESPONSE_NO,
+ GTK_STOCK_CANCEL,
+ GTK_RESPONSE_CANCEL, NULL);
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog),
+ GTK_RESPONSE_CANCEL);
- label = gtk_label_new("\nSave configuration ?\n");
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label);
- gtk_widget_show(label);
+ label = gtk_label_new("\nSave configuration ?\n");
+ gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label);
+ gtk_widget_show(label);
- result = gtk_dialog_run(GTK_DIALOG(dialog));
- switch (result) {
- case GTK_RESPONSE_YES:
- on_save1_activate(NULL, NULL);
- return FALSE;
- case GTK_RESPONSE_NO:
- return FALSE;
- case GTK_RESPONSE_CANCEL:
- case GTK_RESPONSE_DELETE_EVENT:
- default:
- gtk_widget_destroy(dialog);
- return TRUE;
- }
+ result = gtk_dialog_run(GTK_DIALOG(dialog));
+ switch (result) {
+ case GTK_RESPONSE_YES:
+ on_save1_activate(NULL, NULL);
+ return FALSE;
+ case GTK_RESPONSE_NO:
+ return FALSE;
+ case GTK_RESPONSE_CANCEL:
+ case GTK_RESPONSE_DELETE_EVENT:
+ default:
+ gtk_widget_destroy(dialog);
+ return TRUE;
+ }
- return FALSE;
+ return FALSE;
}
void on_window1_destroy(GtkObject * object, gpointer user_data)
{
- gtk_main_quit();
+ gtk_main_quit();
}
void
on_window1_size_request(GtkWidget * widget,
- GtkRequisition * requisition, gpointer user_data)
+ GtkRequisition * requisition, gpointer user_data)
{
- static gint old_h;
- gint w, h;
+ static gint old_h;
+ gint w, h;
- if (widget->window == NULL)
- gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
- else
- gdk_window_get_size(widget->window, &w, &h);
+ if (widget->window == NULL)
+ gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
+ else
+ gdk_window_get_size(widget->window, &w, &h);
- if (h == old_h)
- return;
- old_h = h;
+ if (h == old_h)
+ return;
+ old_h = h;
- gtk_paned_set_position(GTK_PANED(vpaned), 2 * h / 3);
+ if (vpaned)
+ gtk_paned_set_position(GTK_PANED(vpaned), 2 * h / 3);
}
@@ -596,284 +621,285 @@
static void
load_filename(GtkFileSelection * file_selector, gpointer user_data)
{
- const gchar *fn;
+ const gchar *fn;
- fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
- (user_data));
+ fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
+ (user_data));
- if (conf_read(fn))
- text_insert_msg("Error", "Unable to load configuration !");
- else
- display_tree(&rootmenu);
+ if (conf_read(fn))
+ text_insert_msg("Error", "Unable to load configuration !");
+ else
+ display_tree(&rootmenu);
}
void on_load1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- GtkWidget *fs;
+ GtkWidget *fs;
- fs = gtk_file_selection_new("Load file...");
- g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button),
- "clicked",
- G_CALLBACK(load_filename), (gpointer) fs);
- g_signal_connect_swapped(GTK_OBJECT
- (GTK_FILE_SELECTION(fs)->ok_button),
- "clicked", G_CALLBACK(gtk_widget_destroy),
- (gpointer) fs);
- g_signal_connect_swapped(GTK_OBJECT
- (GTK_FILE_SELECTION(fs)->cancel_button),
- "clicked", G_CALLBACK(gtk_widget_destroy),
- (gpointer) fs);
- gtk_widget_show(fs);
+ fs = gtk_file_selection_new("Load file...");
+ g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button),
+ "clicked",
+ G_CALLBACK(load_filename), (gpointer) fs);
+ g_signal_connect_swapped(GTK_OBJECT
+ (GTK_FILE_SELECTION(fs)->ok_button),
+ "clicked", G_CALLBACK(gtk_widget_destroy),
+ (gpointer) fs);
+ g_signal_connect_swapped(GTK_OBJECT
+ (GTK_FILE_SELECTION(fs)->cancel_button),
+ "clicked", G_CALLBACK(gtk_widget_destroy),
+ (gpointer) fs);
+ gtk_widget_show(fs);
}
void on_save1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- if (conf_write(NULL))
- text_insert_msg("Error", "Unable to save configuration !");
+ if (conf_write(NULL))
+ text_insert_msg("Error", "Unable to save configuration !");
- config_changed = FALSE;
+ config_changed = FALSE;
}
static void
store_filename(GtkFileSelection * file_selector, gpointer user_data)
{
- const gchar *fn;
+ const gchar *fn;
- fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
- (user_data));
+ fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
+ (user_data));
- if (conf_write(fn))
- text_insert_msg("Error", "Unable to save configuration !");
+ if (conf_write(fn))
+ text_insert_msg("Error", "Unable to save configuration !");
- gtk_widget_destroy(GTK_WIDGET(user_data));
+ gtk_widget_destroy(GTK_WIDGET(user_data));
}
void on_save_as1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- GtkWidget *fs;
+ GtkWidget *fs;
- fs = gtk_file_selection_new("Save file as...");
- g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button),
- "clicked",
- G_CALLBACK(store_filename), (gpointer) fs);
- g_signal_connect_swapped(GTK_OBJECT
- (GTK_FILE_SELECTION(fs)->ok_button),
- "clicked", G_CALLBACK(gtk_widget_destroy),
- (gpointer) fs);
- g_signal_connect_swapped(GTK_OBJECT
- (GTK_FILE_SELECTION(fs)->cancel_button),
- "clicked", G_CALLBACK(gtk_widget_destroy),
- (gpointer) fs);
- gtk_widget_show(fs);
+ fs = gtk_file_selection_new("Save file as...");
+ g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button),
+ "clicked",
+ G_CALLBACK(store_filename), (gpointer) fs);
+ g_signal_connect_swapped(GTK_OBJECT
+ (GTK_FILE_SELECTION(fs)->ok_button),
+ "clicked", G_CALLBACK(gtk_widget_destroy),
+ (gpointer) fs);
+ g_signal_connect_swapped(GTK_OBJECT
+ (GTK_FILE_SELECTION(fs)->cancel_button),
+ "clicked", G_CALLBACK(gtk_widget_destroy),
+ (gpointer) fs);
+ gtk_widget_show(fs);
}
void on_quit1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- if (!on_window1_delete_event(NULL, NULL, NULL))
- gtk_widget_destroy(GTK_WIDGET(main_wnd));
+ if (!on_window1_delete_event(NULL, NULL, NULL))
+ gtk_widget_destroy(GTK_WIDGET(main_wnd));
}
void on_show_name1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- GtkTreeViewColumn *col;
+ GtkTreeViewColumn *col;
- show_name = GTK_CHECK_MENU_ITEM(menuitem)->active;
- col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_NAME);
- if (col)
- gtk_tree_view_column_set_visible(col, show_name);
+ show_name = GTK_CHECK_MENU_ITEM(menuitem)->active;
+ col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_NAME);
+ if (col)
+ gtk_tree_view_column_set_visible(col, show_name);
}
void on_show_range1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- GtkTreeViewColumn *col;
+ GtkTreeViewColumn *col;
- show_range = GTK_CHECK_MENU_ITEM(menuitem)->active;
- col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_NO);
- if (col)
- gtk_tree_view_column_set_visible(col, show_range);
- col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_MOD);
- if (col)
- gtk_tree_view_column_set_visible(col, show_range);
- col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_YES);
- if (col)
- gtk_tree_view_column_set_visible(col, show_range);
+ show_range = GTK_CHECK_MENU_ITEM(menuitem)->active;
+ col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_NO);
+ if (col)
+ gtk_tree_view_column_set_visible(col, show_range);
+ col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_MOD);
+ if (col)
+ gtk_tree_view_column_set_visible(col, show_range);
+ col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_YES);
+ if (col)
+ gtk_tree_view_column_set_visible(col, show_range);
}
void on_show_data1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- GtkTreeViewColumn *col;
+ GtkTreeViewColumn *col;
- show_value = GTK_CHECK_MENU_ITEM(menuitem)->active;
- col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_VALUE);
- if (col)
- gtk_tree_view_column_set_visible(col, show_value);
+ show_value = GTK_CHECK_MENU_ITEM(menuitem)->active;
+ col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_VALUE);
+ if (col)
+ gtk_tree_view_column_set_visible(col, show_value);
}
void
on_show_all_options1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- show_all = GTK_CHECK_MENU_ITEM(menuitem)->active;
+ show_all = GTK_CHECK_MENU_ITEM(menuitem)->active;
- gtk_tree_store_clear(tree2);
- display_tree(&rootmenu); /* instead of update_tree to speed-up */
+ gtk_tree_store_clear(tree2);
+ display_tree(&rootmenu); /* instead of update_tree to speed-up */
}
void
on_show_debug_info1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- show_debug = GTK_CHECK_MENU_ITEM(menuitem)->active;
- update_tree(&rootmenu, NULL);
+ show_debug = GTK_CHECK_MENU_ITEM(menuitem)->active;
+ update_tree(&rootmenu, NULL);
}
void on_introduction1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- GtkWidget *dialog;
- const gchar *intro_text =
- "Welcome to GNUnet Setup.\n"
- "For each option, a blank box indicates the feature is disabled,
and\n"
- "check indicates it is enabled.\n"
- "Clicking on the box will cycle through the three states.\n"
- "\n"
- "If you do not see an option (e.g., a device driver) that you\n"
- "believe should be present, try turning on Show All Options\n"
- "under the Options menu.\n"
- "Although there is no cross reference yet to help you figure out\n"
- "what other options must be enabled to support the option you\n"
- "are interested in, you can still view the help of a grayed-out\n"
- "option.\n"
- "\n"
- "Toggling Show Debug Info under the Options menu will show \n"
- "the dependencies, which you can then match by examining other
options.";
+ GtkWidget *dialog;
+ const gchar *intro_text =
+ "Welcome to GNUnet Setup.\n"
+ "For each option, a blank box indicates the feature is disabled, and\n"
+ "check indicates it is enabled.\n"
+ "Clicking on the box will cycle through the three states.\n"
+ "\n"
+ "If you do not see an option (e.g., a device driver) that you\n"
+ "believe should be present, try turning on Show All Options\n"
+ "under the Options menu.\n"
+ "Although there is no cross reference yet to help you figure out\n"
+ "what other options must be enabled to support the option you\n"
+ "are interested in, you can still view the help of a grayed-out\n"
+ "option.\n"
+ "\n"
+ "Toggling Show Debug Info under the Options menu will show \n"
+ "the dependencies, which you can then match by examining other options.";
- dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_INFO,
- GTK_BUTTONS_CLOSE, intro_text);
- g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
- G_CALLBACK(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_widget_show_all(dialog);
+ dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_CLOSE, intro_text);
+ g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+ G_CALLBACK(gtk_widget_destroy),
+ GTK_OBJECT(dialog));
+ gtk_widget_show_all(dialog);
}
void on_about1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- GtkWidget *dialog;
- const gchar *about_text =
- "gkc is copyright (c) 2002 Romain Lievin <address@hidden>.\n"
- "Based on the source code from Roman Zippel.\n";
+ GtkWidget *dialog;
+ const gchar *about_text =
+ "gkc is copyright (c) 2002 Romain Lievin <address@hidden>.\n"
+ "Based on the source code from Roman Zippel.\n";
- dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_INFO,
- GTK_BUTTONS_CLOSE, about_text);
- g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
- G_CALLBACK(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_widget_show_all(dialog);
+ dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_CLOSE, about_text);
+ g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+ G_CALLBACK(gtk_widget_destroy),
+ GTK_OBJECT(dialog));
+ gtk_widget_show_all(dialog);
}
void on_license1_activate(GtkMenuItem * menuitem, gpointer user_data)
{
- GtkWidget *dialog;
- const gchar *license_text =
- "gkc is released under the terms of the GNU GPL v2.\n"
- "For more information, please see the source code or\n"
- "visit http://www.fsf.org/licenses/licenses.html\n";
+ GtkWidget *dialog;
+ const gchar *license_text =
+ "gkc is released under the terms of the GNU GPL v2.\n"
+ "For more information, please see the source code or\n"
+ "visit http://www.fsf.org/licenses/licenses.html\n";
- dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_INFO,
- GTK_BUTTONS_CLOSE, license_text);
- g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
- G_CALLBACK(gtk_widget_destroy),
- GTK_OBJECT(dialog));
- gtk_widget_show_all(dialog);
+ dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_CLOSE, license_text);
+ g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+ G_CALLBACK(gtk_widget_destroy),
+ GTK_OBJECT(dialog));
+ gtk_widget_show_all(dialog);
}
void on_back_pressed(GtkButton * button, gpointer user_data)
{
- enum prop_type ptype;
+ enum prop_type ptype;
- current = current->parent;
- ptype = current->prompt ? current->prompt->type : P_UNKNOWN;
- if (ptype != P_MENU)
- current = current->parent;
- display_tree_part();
+ current = current->parent;
+ ptype = current->prompt ? current->prompt->type : P_UNKNOWN;
+ if (ptype != P_MENU)
+ current = current->parent;
+ display_tree_part();
- if (current == &rootmenu)
- gtk_widget_set_sensitive(back_btn, FALSE);
+ if (current == &rootmenu)
+ gtk_widget_set_sensitive(back_btn, FALSE);
}
void on_load_pressed(GtkButton * button, gpointer user_data)
{
- on_load1_activate(NULL, user_data);
+ on_load1_activate(NULL, user_data);
}
void on_save_pressed(GtkButton * button, gpointer user_data)
{
- on_save1_activate(NULL, user_data);
+ on_save1_activate(NULL, user_data);
}
void on_single_clicked(GtkButton * button, gpointer user_data)
{
- view_mode = SINGLE_VIEW;
- gtk_paned_set_position(GTK_PANED(hpaned), 0);
- gtk_widget_hide(tree1_w);
- current = &rootmenu;
- display_tree_part();
+ view_mode = SINGLE_VIEW;
+ gtk_paned_set_position(GTK_PANED(hpaned), 0);
+ gtk_widget_hide(tree1_w);
+ current = &rootmenu;
+ display_tree_part();
}
void on_split_clicked(GtkButton * button, gpointer user_data)
{
- gint w, h;
- view_mode = SPLIT_VIEW;
- gtk_widget_show(tree1_w);
- gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
- gtk_paned_set_position(GTK_PANED(hpaned), w / 2);
- if (tree2)
- gtk_tree_store_clear(tree2);
- display_list();
+ gint w, h;
+ view_mode = SPLIT_VIEW;
+ gtk_widget_show(tree1_w);
+ gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
+ gtk_paned_set_position(GTK_PANED(hpaned), w / 2);
+ gtk_paned_set_position(GTK_PANED(vpaned), h / 2);
+ if (tree2)
+ gtk_tree_store_clear(tree2);
+ display_list();
}
void on_full_clicked(GtkButton * button, gpointer user_data)
{
- view_mode = FULL_VIEW;
- gtk_paned_set_position(GTK_PANED(hpaned), 0);
- gtk_widget_hide(tree1_w);
- if (tree2)
- gtk_tree_store_clear(tree2);
- display_tree(&rootmenu);
- gtk_widget_set_sensitive(back_btn, FALSE);
+ view_mode = FULL_VIEW;
+ gtk_paned_set_position(GTK_PANED(hpaned), 0);
+ gtk_widget_hide(tree1_w);
+ if (tree2)
+ gtk_tree_store_clear(tree2);
+ display_tree(&rootmenu);
+ gtk_widget_set_sensitive(back_btn, FALSE);
}
void on_collapse_pressed(GtkButton * button, gpointer user_data)
{
- gtk_tree_view_collapse_all(GTK_TREE_VIEW(tree2_w));
+ gtk_tree_view_collapse_all(GTK_TREE_VIEW(tree2_w));
}
void on_expand_pressed(GtkButton * button, gpointer user_data)
{
- gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
+ gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
}
@@ -881,240 +907,240 @@
/* Change hex/int/string value in the cell */
static void renderer_edited(GtkCellRendererText * cell,
- const gchar * path_string,
- const gchar * new_text, gpointer user_data)
+ const gchar * path_string,
+ const gchar * new_text, gpointer user_data)
{
- GtkTreePath *path = gtk_tree_path_new_from_string(path_string);
- GtkTreeIter iter;
- const char *old_def, *new_def;
- struct menu *menu;
- struct symbol *sym;
+ GtkTreePath *path = gtk_tree_path_new_from_string(path_string);
+ GtkTreeIter iter;
+ const char *old_def, *new_def;
+ struct menu *menu;
+ struct symbol *sym;
- if (!gtk_tree_model_get_iter(model2, &iter, path))
- return;
+ if (!gtk_tree_model_get_iter(model2, &iter, path))
+ return;
- gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
- sym = menu->sym;
+ gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+ sym = menu->sym;
- gtk_tree_model_get(model2, &iter, COL_VALUE, &old_def, -1);
- new_def = new_text;
+ gtk_tree_model_get(model2, &iter, COL_VALUE, &old_def, -1);
+ new_def = new_text;
- sym_set_string_value(sym, new_def);
+ sym_set_string_value(sym, new_def);
- config_changed = TRUE;
- update_tree(&rootmenu, NULL);
+ config_changed = TRUE;
+ update_tree(&rootmenu, NULL);
- gtk_tree_path_free(path);
+ gtk_tree_path_free(path);
}
/* Change the value of a symbol and update the tree */
static void change_sym_value(struct menu *menu, gint col)
{
- struct symbol *sym = menu->sym;
- tristate oldval, newval;
+ struct symbol *sym = menu->sym;
+ tristate oldval, newval;
- if (!sym)
- return;
+ if (!sym)
+ return;
- if (col == COL_NO)
- newval = no;
- else if (col == COL_MOD)
- newval = mod;
- else if (col == COL_YES)
- newval = yes;
- else
- return;
+ if (col == COL_NO)
+ newval = no;
+ else if (col == COL_MOD)
+ newval = mod;
+ else if (col == COL_YES)
+ newval = yes;
+ else
+ return;
- switch (sym_get_type(sym)) {
- case S_BOOLEAN:
- case S_TRISTATE:
- oldval = sym_get_tristate_value(sym);
- if (!sym_tristate_within_range(sym, newval))
- newval = yes;
- sym_set_tristate_value(sym, newval);
- config_changed = TRUE;
- if (view_mode == FULL_VIEW)
- update_tree(&rootmenu, NULL);
- else if (view_mode == SPLIT_VIEW) {
- update_tree(browsed, NULL);
- display_list();
- }
- else if (view_mode == SINGLE_VIEW)
- display_tree_part(); /* fixme: keep exp/coll*/
- break;
- case S_INT:
- case S_HEX:
- case S_STRING:
- default:
- break;
- }
+ switch (sym_get_type(sym)) {
+ case S_BOOLEAN:
+ case S_TRISTATE:
+ oldval = sym_get_tristate_value(sym);
+ if (!sym_tristate_within_range(sym, newval))
+ newval = yes;
+ sym_set_tristate_value(sym, newval);
+ config_changed = TRUE;
+ if (view_mode == FULL_VIEW)
+ update_tree(&rootmenu, NULL);
+ else if (view_mode == SPLIT_VIEW) {
+ update_tree(browsed, NULL);
+ display_list();
+ }
+ else if (view_mode == SINGLE_VIEW)
+ display_tree_part(); /* fixme: keep exp/coll*/
+ break;
+ case S_INT:
+ case S_HEX:
+ case S_STRING:
+ default:
+ break;
+ }
}
static void toggle_sym_value(struct menu *menu)
{
- const tristate next_val[3] = { no, mod, yes };
- tristate newval;
+ const tristate next_val[3] = { no, mod, yes };
+ tristate newval;
- if (!menu->sym)
- return;
+ if (!menu->sym)
+ return;
- newval = next_val[(sym_get_tristate_value(menu->sym) + 1) % 3];
- if (!sym_tristate_within_range(menu->sym, newval))
- newval = yes;
- sym_set_tristate_value(menu->sym, newval);
- if (view_mode == FULL_VIEW)
- update_tree(&rootmenu, NULL);
- else if (view_mode == SPLIT_VIEW) {
- update_tree(browsed, NULL);
- display_list();
- }
- else if (view_mode == SINGLE_VIEW)
- display_tree_part(); /* fixme: keep exp/coll*/
+ newval = next_val[(sym_get_tristate_value(menu->sym) + 1) % 3];
+ if (!sym_tristate_within_range(menu->sym, newval))
+ newval = yes;
+ sym_set_tristate_value(menu->sym, newval);
+ if (view_mode == FULL_VIEW)
+ update_tree(&rootmenu, NULL);
+ else if (view_mode == SPLIT_VIEW) {
+ update_tree(browsed, NULL);
+ display_list();
+ }
+ else if (view_mode == SINGLE_VIEW)
+ display_tree_part(); /* fixme: keep exp/coll*/
}
static void renderer_toggled(GtkCellRendererToggle * cell,
- gchar * path_string, gpointer user_data)
+ gchar * path_string, gpointer user_data)
{
- GtkTreePath *path, *sel_path = NULL;
- GtkTreeIter iter, sel_iter;
- GtkTreeSelection *sel;
- struct menu *menu;
+ GtkTreePath *path, *sel_path = NULL;
+ GtkTreeIter iter, sel_iter;
+ GtkTreeSelection *sel;
+ struct menu *menu;
- path = gtk_tree_path_new_from_string(path_string);
- if (!gtk_tree_model_get_iter(model2, &iter, path))
- return;
+ path = gtk_tree_path_new_from_string(path_string);
+ if (!gtk_tree_model_get_iter(model2, &iter, path))
+ return;
- sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree2_w));
- if (gtk_tree_selection_get_selected(sel, NULL, &sel_iter))
- sel_path = gtk_tree_model_get_path(model2, &sel_iter);
- if (!sel_path)
- goto out1;
- if (gtk_tree_path_compare(path, sel_path))
- goto out2;
+ sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree2_w));
+ if (gtk_tree_selection_get_selected(sel, NULL, &sel_iter))
+ sel_path = gtk_tree_model_get_path(model2, &sel_iter);
+ if (!sel_path)
+ goto out1;
+ if (gtk_tree_path_compare(path, sel_path))
+ goto out2;
- gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
- toggle_sym_value(menu);
+ gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+ toggle_sym_value(menu);
out2:
- gtk_tree_path_free(sel_path);
+ gtk_tree_path_free(sel_path);
out1:
- gtk_tree_path_free(path);
+ gtk_tree_path_free(path);
}
static gint column2index(GtkTreeViewColumn * column)
{
- gint i;
+ gint i;
- for (i = 0; i < COL_NUMBER; i++) {
- GtkTreeViewColumn *col;
+ for (i = 0; i < COL_NUMBER; i++) {
+ GtkTreeViewColumn *col;
- col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), i);
- if (col == column)
- return i;
- }
+ col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), i);
+ if (col == column)
+ return i;
+ }
- return -1;
+ return -1;
}
/* User click: update choice (full) or goes down (single) */
gboolean
on_treeview2_button_press_event(GtkWidget * widget,
- GdkEventButton * event, gpointer user_data)
+ GdkEventButton * event, gpointer user_data)
{
- GtkTreeView *view = GTK_TREE_VIEW(widget);
- GtkTreePath *path;
- GtkTreeViewColumn *column;
- GtkTreeIter iter;
- struct menu *menu;
- gint col;
+ GtkTreeView *view = GTK_TREE_VIEW(widget);
+ GtkTreePath *path;
+ GtkTreeViewColumn *column;
+ GtkTreeIter iter;
+ struct menu *menu;
+ gint col;
#if GTK_CHECK_VERSION(2,1,4) /* bug in ctree with earlier version of GTK */
- gint tx = (gint) event->x;
- gint ty = (gint) event->y;
- gint cx, cy;
+ gint tx = (gint) event->x;
+ gint ty = (gint) event->y;
+ gint cx, cy;
- gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, &cx,
- &cy);
+ gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, &cx,
+ &cy);
#else
- gtk_tree_view_get_cursor(view, &path, &column);
+ gtk_tree_view_get_cursor(view, &path, &column);
#endif
- if (path == NULL)
- return FALSE;
+ if (path == NULL)
+ return FALSE;
- gtk_tree_model_get_iter(model2, &iter, path);
- gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+ gtk_tree_model_get_iter(model2, &iter, path);
+ gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
- col = column2index(column);
- if (event->type == GDK_2BUTTON_PRESS) {
- enum prop_type ptype;
- ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+ col = column2index(column);
+ if (event->type == GDK_2BUTTON_PRESS) {
+ enum prop_type ptype;
+ ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
- if (ptype == P_MENU && view_mode != FULL_VIEW && col ==
COL_OPTION) {
- /* goes down into menu */
- current = menu;
- display_tree_part();
- gtk_widget_set_sensitive(back_btn, TRUE);
- } else if ((col == COL_OPTION)) {
- toggle_sym_value(menu);
- gtk_tree_view_expand_row(view, path, TRUE);
- }
- } else {
- if (col == COL_VALUE) {
- toggle_sym_value(menu);
- gtk_tree_view_expand_row(view, path, TRUE);
- } else if (col == COL_NO || col == COL_MOD
- || col == COL_YES) {
- change_sym_value(menu, col);
- gtk_tree_view_expand_row(view, path, TRUE);
- }
- }
+ if (ptype == P_MENU && view_mode != FULL_VIEW && col == COL_OPTION) {
+ /* goes down into menu */
+ current = menu;
+ display_tree_part();
+ gtk_widget_set_sensitive(back_btn, TRUE);
+ } else if ((col == COL_OPTION)) {
+ toggle_sym_value(menu);
+ gtk_tree_view_expand_row(view, path, TRUE);
+ }
+ } else {
+ if (col == COL_VALUE) {
+ toggle_sym_value(menu);
+ gtk_tree_view_expand_row(view, path, TRUE);
+ } else if (col == COL_NO || col == COL_MOD
+ || col == COL_YES) {
+ change_sym_value(menu, col);
+ gtk_tree_view_expand_row(view, path, TRUE);
+ }
+ }
- return FALSE;
+ return FALSE;
}
/* Key pressed: update choice */
gboolean
on_treeview2_key_press_event(GtkWidget * widget,
- GdkEventKey * event, gpointer user_data)
+ GdkEventKey * event, gpointer user_data)
{
- GtkTreeView *view = GTK_TREE_VIEW(widget);
- GtkTreePath *path;
- GtkTreeViewColumn *column;
- GtkTreeIter iter;
- struct menu *menu;
- gint col;
+ GtkTreeView *view = GTK_TREE_VIEW(widget);
+ GtkTreePath *path;
+ GtkTreeViewColumn *column;
+ GtkTreeIter iter;
+ struct menu *menu;
+ gint col;
- gtk_tree_view_get_cursor(view, &path, &column);
- if (path == NULL)
- return FALSE;
+ gtk_tree_view_get_cursor(view, &path, &column);
+ if (path == NULL)
+ return FALSE;
- if (event->keyval == GDK_space) {
- if (gtk_tree_view_row_expanded(view, path))
- gtk_tree_view_collapse_row(view, path);
- else
- gtk_tree_view_expand_row(view, path, FALSE);
- return TRUE;
- }
- if (event->keyval == GDK_KP_Enter) {
- }
- if (widget == tree1_w)
- return FALSE;
+ if (event->keyval == GDK_space) {
+ if (gtk_tree_view_row_expanded(view, path))
+ gtk_tree_view_collapse_row(view, path);
+ else
+ gtk_tree_view_expand_row(view, path, FALSE);
+ return TRUE;
+ }
+ if (event->keyval == GDK_KP_Enter) {
+ }
+ if (widget == tree1_w)
+ return FALSE;
- gtk_tree_model_get_iter(model2, &iter, path);
- gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+ gtk_tree_model_get_iter(model2, &iter, path);
+ gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
- if (!strcasecmp(event->string, "n"))
- col = COL_NO;
- else if (!strcasecmp(event->string, "m"))
- col = COL_MOD;
- else if (!strcasecmp(event->string, "y"))
- col = COL_YES;
- else
- col = -1;
- change_sym_value(menu, col);
+ if (!strcasecmp(event->string, "n"))
+ col = COL_NO;
+ else if (!strcasecmp(event->string, "m"))
+ col = COL_MOD;
+ else if (!strcasecmp(event->string, "y"))
+ col = COL_YES;
+ else
+ col = -1;
+ change_sym_value(menu, col);
- return FALSE;
+ return FALSE;
}
@@ -1122,55 +1148,55 @@
void
on_treeview2_cursor_changed(GtkTreeView * treeview, gpointer user_data)
{
- GtkTreeSelection *selection;
- GtkTreeIter iter;
- struct menu *menu;
+ GtkTreeSelection *selection;
+ GtkTreeIter iter;
+ struct menu *menu;
- selection = gtk_tree_view_get_selection(treeview);
- if (gtk_tree_selection_get_selected(selection, &model2, &iter)) {
- gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
- text_insert_help(menu);
- }
+ selection = gtk_tree_view_get_selection(treeview);
+ if (gtk_tree_selection_get_selected(selection, &model2, &iter)) {
+ gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+ text_insert_help(menu);
+ }
}
/* User click: display sub-tree in the right frame. */
gboolean
on_treeview1_button_press_event(GtkWidget * widget,
- GdkEventButton * event, gpointer user_data)
+ GdkEventButton * event, gpointer user_data)
{
- GtkTreeView *view = GTK_TREE_VIEW(widget);
- GtkTreePath *path;
- GtkTreeViewColumn *column;
- GtkTreeIter iter;
- struct menu *menu;
+ GtkTreeView *view = GTK_TREE_VIEW(widget);
+ GtkTreePath *path;
+ GtkTreeViewColumn *column;
+ GtkTreeIter iter;
+ struct menu *menu;
- gint tx = (gint) event->x;
- gint ty = (gint) event->y;
- gint cx, cy;
+ gint tx = (gint) event->x;
+ gint ty = (gint) event->y;
+ gint cx, cy;
- gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, &cx,
- &cy);
- if (path == NULL)
- return FALSE;
+ gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, &cx,
+ &cy);
+ if (path == NULL)
+ return FALSE;
- gtk_tree_model_get_iter(model1, &iter, path);
- gtk_tree_model_get(model1, &iter, COL_MENU, &menu, -1);
+ gtk_tree_model_get_iter(model1, &iter, path);
+ gtk_tree_model_get(model1, &iter, COL_MENU, &menu, -1);
- if (event->type == GDK_2BUTTON_PRESS) {
- toggle_sym_value(menu);
- current = menu;
- display_tree_part();
- } else {
- browsed = menu;
- display_tree_part();
- }
+ if (event->type == GDK_2BUTTON_PRESS) {
+ toggle_sym_value(menu);
+ current = menu;
+ display_tree_part();
+ } else {
+ browsed = menu;
+ display_tree_part();
+ }
- gtk_widget_realize(tree2_w);
- gtk_tree_view_set_cursor(view, path, NULL, FALSE);
- gtk_widget_grab_focus(GTK_TREE_VIEW(tree2_w));
+ gtk_widget_realize(tree2_w);
+ gtk_tree_view_set_cursor(view, path, NULL, FALSE);
+ gtk_widget_grab_focus(GTK_TREE_VIEW(tree2_w));
- return FALSE;
+ return FALSE;
}
@@ -1180,170 +1206,172 @@
/* Fill a row of strings */
static gchar **fill_row(struct menu *menu)
{
- static gchar *row[COL_NUMBER];
- struct symbol *sym = menu->sym;
- const char *def;
- int stype;
- tristate val;
- enum prop_type ptype;
- int i;
+ static gchar *row[COL_NUMBER];
+ struct symbol *sym = menu->sym;
+ const char *def;
+ int stype;
+ tristate val;
+ enum prop_type ptype;
+ int i;
+ static gchar *prompt;
- for (i = COL_OPTION; i <= COL_COLOR; i++)
- g_free(row[i]);
- bzero(row, sizeof(row));
+ for (i = COL_OPTION; i <= COL_COLOR; i++)
+ g_free(row[i]);
+ memset(row, 0, sizeof(row));
- row[COL_OPTION] =
- g_strdup_printf("%s %s", menu_get_prompt(menu),
- sym ? (sym->
- flags & SYMBOL_NEW ? "(NEW)" : "") :
- "");
+ prompt = menu_get_prompt(menu);
+ row[COL_OPTION] =
+ g_strdup_printf("%s %s", prompt ? prompt : "(unknown)",
+ sym ? (sym->
+ flags & SYMBOL_NEW ? "(NEW)" : "") :
+ "");
- if (show_all && !menu_is_visible(menu))
- row[COL_COLOR] = g_strdup("DarkGray");
- else
- row[COL_COLOR] = g_strdup("Black");
+ if (show_all && !menu_is_visible(menu))
+ row[COL_COLOR] = g_strdup("DarkGray");
+ else
+ row[COL_COLOR] = g_strdup("Black");
- ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
- switch (ptype) {
- case P_MENU:
- row[COL_PIXBUF] = (gchar *) xpm_menu;
- if (view_mode == SINGLE_VIEW)
- row[COL_PIXVIS] = GINT_TO_POINTER(TRUE);
- row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
- break;
- case P_COMMENT:
- row[COL_PIXBUF] = (gchar *) xpm_void;
- row[COL_PIXVIS] = GINT_TO_POINTER(FALSE);
- row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
- break;
- default:
- row[COL_PIXBUF] = (gchar *) xpm_void;
- row[COL_PIXVIS] = GINT_TO_POINTER(FALSE);
- row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
- break;
- }
+ ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+ switch (ptype) {
+ case P_MENU:
+ row[COL_PIXBUF] = (gchar *) xpm_menu;
+ if (view_mode == SINGLE_VIEW)
+ row[COL_PIXVIS] = GINT_TO_POINTER(TRUE);
+ row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+ break;
+ case P_COMMENT:
+ row[COL_PIXBUF] = (gchar *) xpm_void;
+ row[COL_PIXVIS] = GINT_TO_POINTER(FALSE);
+ row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+ break;
+ default:
+ row[COL_PIXBUF] = (gchar *) xpm_void;
+ row[COL_PIXVIS] = GINT_TO_POINTER(FALSE);
+ row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
+ break;
+ }
- if (!sym)
- return row;
- row[COL_NAME] = g_strdup(sym->name);
+ if (!sym)
+ return row;
+ row[COL_NAME] = g_strdup(sym->name);
- sym_calc_value(sym);
- sym->flags &= ~SYMBOL_CHANGED;
+ sym_calc_value(sym);
+ sym->flags &= ~SYMBOL_CHANGED;
- if (sym_is_choice(sym)) { /* parse childs for getting final value
*/
- struct menu *child;
- struct symbol *def_sym = sym_get_choice_value(sym);
- struct menu *def_menu = NULL;
+ if (sym_is_choice(sym)) { /* parse childs for getting final value */
+ struct menu *child;
+ struct symbol *def_sym = sym_get_choice_value(sym);
+ struct menu *def_menu = NULL;
- row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+ row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
- for (child = menu->list; child; child = child->next) {
- if (menu_is_visible(child)
- && child->sym == def_sym)
- def_menu = child;
- }
+ for (child = menu->list; child; child = child->next) {
+ if (menu_is_visible(child)
+ && child->sym == def_sym)
+ def_menu = child;
+ }
- if (def_menu)
- row[COL_VALUE] =
- g_strdup(menu_get_prompt(def_menu));
- }
- if(sym->flags & SYMBOL_CHOICEVAL)
- row[COL_BTNRAD] = GINT_TO_POINTER(TRUE);
+ if (def_menu)
+ row[COL_VALUE] =
+ g_strdup(menu_get_prompt(def_menu));
+ }
+ if(sym->flags & SYMBOL_CHOICEVAL)
+ row[COL_BTNRAD] = GINT_TO_POINTER(TRUE);
- stype = sym_get_type(sym);
- switch (stype) {
- case S_BOOLEAN:
- if(GPOINTER_TO_INT(row[COL_PIXVIS]) == FALSE)
- row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
- if (sym_is_choice(sym))
- break;
- case S_TRISTATE:
- val = sym_get_tristate_value(sym);
- switch (val) {
- case no:
- row[COL_NO] = g_strdup("N");
- row[COL_VALUE] = g_strdup("N");
- row[COL_BTNACT] = GINT_TO_POINTER(FALSE);
- row[COL_BTNINC] = GINT_TO_POINTER(FALSE);
- break;
- case mod:
- row[COL_MOD] = g_strdup("M");
- row[COL_VALUE] = g_strdup("M");
- row[COL_BTNINC] = GINT_TO_POINTER(TRUE);
- break;
- case yes:
- row[COL_YES] = g_strdup("Y");
- row[COL_VALUE] = g_strdup("Y");
- row[COL_BTNACT] = GINT_TO_POINTER(TRUE);
- row[COL_BTNINC] = GINT_TO_POINTER(FALSE);
- break;
- }
+ stype = sym_get_type(sym);
+ switch (stype) {
+ case S_BOOLEAN:
+ if(GPOINTER_TO_INT(row[COL_PIXVIS]) == FALSE)
+ row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
+ if (sym_is_choice(sym))
+ break;
+ case S_TRISTATE:
+ val = sym_get_tristate_value(sym);
+ switch (val) {
+ case no:
+ row[COL_NO] = g_strdup("N");
+ row[COL_VALUE] = g_strdup("N");
+ row[COL_BTNACT] = GINT_TO_POINTER(FALSE);
+ row[COL_BTNINC] = GINT_TO_POINTER(FALSE);
+ break;
+ case mod:
+ row[COL_MOD] = g_strdup("M");
+ row[COL_VALUE] = g_strdup("M");
+ row[COL_BTNINC] = GINT_TO_POINTER(TRUE);
+ break;
+ case yes:
+ row[COL_YES] = g_strdup("Y");
+ row[COL_VALUE] = g_strdup("Y");
+ row[COL_BTNACT] = GINT_TO_POINTER(TRUE);
+ row[COL_BTNINC] = GINT_TO_POINTER(FALSE);
+ break;
+ }
- if (val != no && sym_tristate_within_range(sym, no))
- row[COL_NO] = g_strdup("_");
- if (val != mod && sym_tristate_within_range(sym, mod))
- row[COL_MOD] = g_strdup("_");
- if (val != yes && sym_tristate_within_range(sym, yes))
- row[COL_YES] = g_strdup("_");
- break;
- case S_INT:
- case S_HEX:
- case S_STRING:
- def = sym_get_string_value(sym);
- row[COL_VALUE] = g_strdup(def);
- row[COL_EDIT] = GINT_TO_POINTER(TRUE);
- row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
- break;
- }
+ if (val != no && sym_tristate_within_range(sym, no))
+ row[COL_NO] = g_strdup("_");
+ if (val != mod && sym_tristate_within_range(sym, mod))
+ row[COL_MOD] = g_strdup("_");
+ if (val != yes && sym_tristate_within_range(sym, yes))
+ row[COL_YES] = g_strdup("_");
+ break;
+ case S_INT:
+ case S_HEX:
+ case S_STRING:
+ def = sym_get_string_value(sym);
+ row[COL_VALUE] = g_strdup(def);
+ row[COL_EDIT] = GINT_TO_POINTER(TRUE);
+ row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+ break;
+ }
- return row;
+ return row;
}
/* Set the node content with a row of strings */
static void set_node(GtkTreeIter * node, struct menu *menu, gchar ** row)
{
- GdkColor color;
- gboolean success;
- GdkPixbuf *pix;
+ GdkColor color;
+ gboolean success;
+ GdkPixbuf *pix;
- pix = gdk_pixbuf_new_from_xpm_data((const char **)
- row[COL_PIXBUF]);
+ pix = gdk_pixbuf_new_from_xpm_data((const char **)
+ row[COL_PIXBUF]);
- gdk_color_parse(row[COL_COLOR], &color);
- gdk_colormap_alloc_colors(gdk_colormap_get_system(), &color, 1,
- FALSE, FALSE, &success);
+ gdk_color_parse(row[COL_COLOR], &color);
+ gdk_colormap_alloc_colors(gdk_colormap_get_system(), &color, 1,
+ FALSE, FALSE, &success);
- gtk_tree_store_set(tree, node,
- COL_OPTION, row[COL_OPTION],
- COL_NAME, row[COL_NAME],
- COL_NO, row[COL_NO],
- COL_MOD, row[COL_MOD],
- COL_YES, row[COL_YES],
- COL_VALUE, row[COL_VALUE],
- COL_MENU, (gpointer) menu,
- COL_COLOR, &color,
- COL_EDIT, GPOINTER_TO_INT(row[COL_EDIT]),
- COL_PIXBUF, pix,
- COL_PIXVIS, GPOINTER_TO_INT(row[COL_PIXVIS]),
- COL_BTNVIS, GPOINTER_TO_INT(row[COL_BTNVIS]),
- COL_BTNACT, GPOINTER_TO_INT(row[COL_BTNACT]),
- COL_BTNINC, GPOINTER_TO_INT(row[COL_BTNINC]),
- COL_BTNRAD, GPOINTER_TO_INT(row[COL_BTNRAD]),
- -1);
+ gtk_tree_store_set(tree, node,
+ COL_OPTION, row[COL_OPTION],
+ COL_NAME, row[COL_NAME],
+ COL_NO, row[COL_NO],
+ COL_MOD, row[COL_MOD],
+ COL_YES, row[COL_YES],
+ COL_VALUE, row[COL_VALUE],
+ COL_MENU, (gpointer) menu,
+ COL_COLOR, &color,
+ COL_EDIT, GPOINTER_TO_INT(row[COL_EDIT]),
+ COL_PIXBUF, pix,
+ COL_PIXVIS, GPOINTER_TO_INT(row[COL_PIXVIS]),
+ COL_BTNVIS, GPOINTER_TO_INT(row[COL_BTNVIS]),
+ COL_BTNACT, GPOINTER_TO_INT(row[COL_BTNACT]),
+ COL_BTNINC, GPOINTER_TO_INT(row[COL_BTNINC]),
+ COL_BTNRAD, GPOINTER_TO_INT(row[COL_BTNRAD]),
+ -1);
- g_object_unref(pix);
+ g_object_unref(pix);
}
/* Add a node to the tree */
static void place_node(struct menu *menu, char **row)
{
- GtkTreeIter *parent = parents[indent - 1];
- GtkTreeIter *node = parents[indent];
+ GtkTreeIter *parent = parents[indent - 1];
+ GtkTreeIter *node = parents[indent];
- gtk_tree_store_append(tree, node, parent);
- set_node(node, menu, row);
+ gtk_tree_store_append(tree, node, parent);
+ set_node(node, menu, row);
}
@@ -1354,32 +1382,32 @@
* Find a menu in the GtkTree starting at parent.
*/
GtkTreeIter *gtktree_iter_find_node(GtkTreeIter * parent,
- struct menu *tofind)
+ struct menu *tofind)
{
- GtkTreeIter iter;
- GtkTreeIter *child = &iter;
- gboolean valid;
- GtkTreeIter *ret;
+ GtkTreeIter iter;
+ GtkTreeIter *child = &iter;
+ gboolean valid;
+ GtkTreeIter *ret;
- valid = gtk_tree_model_iter_children(model2, child, parent);
- while (valid) {
- struct menu *menu;
+ valid = gtk_tree_model_iter_children(model2, child, parent);
+ while (valid) {
+ struct menu *menu;
- gtk_tree_model_get(model2, child, 6, &menu, -1);
+ gtk_tree_model_get(model2, child, 6, &menu, -1);
- if (menu == tofind) {
- memcpy(&found, child, sizeof(GtkTreeIter));
- return &found;
- }
+ if (menu == tofind) {
+ memcpy(&found, child, sizeof(GtkTreeIter));
+ return &found;
+ }
- ret = gtktree_iter_find_node(child, tofind);
- if (ret)
- return ret;
+ ret = gtktree_iter_find_node(child, tofind);
+ if (ret)
+ return ret;
- valid = gtk_tree_model_iter_next(model2, child);
- }
+ valid = gtk_tree_model_iter_next(model2, child);
+ }
- return NULL;
+ return NULL;
}
@@ -1389,170 +1417,170 @@
*/
static void update_tree(struct menu *src, GtkTreeIter * dst)
{
- struct menu *child1;
- GtkTreeIter iter, tmp;
- GtkTreeIter *child2 = &iter;
- gboolean valid;
- GtkTreeIter *sibling;
- struct symbol *sym;
- struct property *prop;
- struct menu *menu1, *menu2;
- static GtkTreePath *path = NULL;
+ struct menu *child1;
+ GtkTreeIter iter, tmp;
+ GtkTreeIter *child2 = &iter;
+ gboolean valid;
+ GtkTreeIter *sibling;
+ struct symbol *sym;
+ struct property *prop;
+ struct menu *menu1, *menu2;
+ static GtkTreePath *path = NULL;
- if (src == &rootmenu)
- indent = 1;
+ if (src == &rootmenu)
+ indent = 1;
- valid = gtk_tree_model_iter_children(model2, child2, dst);
- for (child1 = src->list; child1; child1 = child1->next) {
+ valid = gtk_tree_model_iter_children(model2, child2, dst);
+ for (child1 = src->list; child1; child1 = child1->next) {
- prop = child1->prompt;
- sym = child1->sym;
+ prop = child1->prompt;
+ sym = child1->sym;
- reparse:
- menu1 = child1;
- if (valid)
- gtk_tree_model_get(model2, child2, COL_MENU,
- &menu2, -1);
- else
- menu2 = NULL; /* force adding of a first child */
+ reparse:
+ menu1 = child1;
+ if (valid)
+ gtk_tree_model_get(model2, child2, COL_MENU,
+ &menu2, -1);
+ else
+ menu2 = NULL; /* force adding of a first child */
#ifdef DEBUG
- printf("%*c%s | %s\n", indent, ' ',
- menu1 ? menu_get_prompt(menu1) : "nil",
- menu2 ? menu_get_prompt(menu2) : "nil");
+ printf("%*c%s | %s\n", indent, ' ',
+ menu1 ? menu_get_prompt(menu1) : "nil",
+ menu2 ? menu_get_prompt(menu2) : "nil");
#endif
- if (!menu_is_visible(child1) && !show_all) { /*/ remove node
*/
- if (gtktree_iter_find_node(dst, menu1) != NULL) {
- memcpy(&tmp, child2, sizeof(GtkTreeIter));
- valid = gtk_tree_model_iter_next(model2,
- child2);
- gtk_tree_store_remove(tree2, &tmp);
- if (!valid)
- return; /* next parent */
- else
- goto reparse; /* next child */
- } else
- continue;
- }
+ if (!menu_is_visible(child1) && !show_all) { /*/ remove node */
+ if (gtktree_iter_find_node(dst, menu1) != NULL) {
+ memcpy(&tmp, child2, sizeof(GtkTreeIter));
+ valid = gtk_tree_model_iter_next(model2,
+ child2);
+ gtk_tree_store_remove(tree2, &tmp);
+ if (!valid)
+ return; /* next parent */
+ else
+ goto reparse; /* next child */
+ } else
+ continue;
+ }
- if (menu1 != menu2) {
- if (gtktree_iter_find_node(dst, menu1) == NULL) { /* add
node */
- if (!valid && !menu2)
- sibling = NULL;
- else
- sibling = child2;
- gtk_tree_store_insert_before(tree2,
- child2,
- dst, sibling);
- set_node(child2, menu1, fill_row(menu1));
- if (menu2 == NULL)
- valid = TRUE;
- } else { /* remove node */
- memcpy(&tmp, child2, sizeof(GtkTreeIter));
- valid = gtk_tree_model_iter_next(model2,
- child2);
- gtk_tree_store_remove(tree2, &tmp);
- if (!valid)
- return; /* next parent */
- else
- goto reparse; /* next child */
- }
- } else if (sym && (sym->flags & SYMBOL_CHANGED)) {
- set_node(child2, menu1, fill_row(menu1));
- }
+ if (menu1 != menu2) {
+ if (gtktree_iter_find_node(dst, menu1) == NULL) { /* add node */
+ if (!valid && !menu2)
+ sibling = NULL;
+ else
+ sibling = child2;
+ gtk_tree_store_insert_before(tree2,
+ child2,
+ dst, sibling);
+ set_node(child2, menu1, fill_row(menu1));
+ if (menu2 == NULL)
+ valid = TRUE;
+ } else { /* remove node */
+ memcpy(&tmp, child2, sizeof(GtkTreeIter));
+ valid = gtk_tree_model_iter_next(model2,
+ child2);
+ gtk_tree_store_remove(tree2, &tmp);
+ if (!valid)
+ return; /* next parent */
+ else
+ goto reparse; /* next child */
+ }
+ } else if (sym && (sym->flags & SYMBOL_CHANGED)) {
+ set_node(child2, menu1, fill_row(menu1));
+ }
- indent++;
- update_tree(child1, child2);
- indent--;
+ indent++;
+ update_tree(child1, child2);
+ indent--;
- valid = gtk_tree_model_iter_next(model2, child2);
- }
+ valid = gtk_tree_model_iter_next(model2, child2);
+ }
}
/* Display the whole tree (single/split/full view) */
static void display_tree(struct menu *menu)
{
- struct symbol *sym;
- struct property *prop;
- struct menu *child;
- enum prop_type ptype;
+ struct symbol *sym;
+ struct property *prop;
+ struct menu *child;
+ enum prop_type ptype;
- if (menu == &rootmenu) {
- indent = 1;
- current = &rootmenu;
- }
+ if (menu == &rootmenu) {
+ indent = 1;
+ current = &rootmenu;
+ }
- for (child = menu->list; child; child = child->next) {
- prop = child->prompt;
- sym = child->sym;
- ptype = prop ? prop->type : P_UNKNOWN;
+ for (child = menu->list; child; child = child->next) {
+ prop = child->prompt;
+ sym = child->sym;
+ ptype = prop ? prop->type : P_UNKNOWN;
- if (sym)
- sym->flags &= ~SYMBOL_CHANGED;
+ if (sym)
+ sym->flags &= ~SYMBOL_CHANGED;
- if ((view_mode == SPLIT_VIEW) && !(child->flags & MENU_ROOT) &&
- (tree == tree1))
- continue;
+ if ((view_mode == SPLIT_VIEW) && !(child->flags & MENU_ROOT) &&
+ (tree == tree1))
+ continue;
- if ((view_mode == SPLIT_VIEW) && (child->flags & MENU_ROOT) &&
- (tree == tree2))
- continue;
+ if ((view_mode == SPLIT_VIEW) && (child->flags & MENU_ROOT) &&
+ (tree == tree2))
+ continue;
- if (menu_is_visible(child) || show_all)
- place_node(child, fill_row(child));
+ if (menu_is_visible(child) || show_all)
+ place_node(child, fill_row(child));
#ifdef DEBUG
- printf("%*c%s: ", indent, ' ', menu_get_prompt(child));
- printf("%s", child->flags & MENU_ROOT ? "rootmenu | " : "");
- dbg_print_ptype(ptype);
- printf(" | ");
- if (sym) {
- dbg_print_stype(sym->type);
- printf(" | ");
- dbg_print_flags(sym->flags);
- printf("\n");
- } else
- printf("\n");
+ printf("%*c%s: ", indent, ' ', menu_get_prompt(child));
+ printf("%s", child->flags & MENU_ROOT ? "rootmenu | " : "");
+ dbg_print_ptype(ptype);
+ printf(" | ");
+ if (sym) {
+ dbg_print_stype(sym->type);
+ printf(" | ");
+ dbg_print_flags(sym->flags);
+ printf("\n");
+ } else
+ printf("\n");
#endif
- if ((view_mode != FULL_VIEW) && (ptype == P_MENU)
- && (tree == tree2))
- continue;
+ if ((view_mode != FULL_VIEW) && (ptype == P_MENU)
+ && (tree == tree2))
+ continue;
/*
- if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT)) ||
- (view_mode == FULL_VIEW)
- || (view_mode == SPLIT_VIEW))*/
- if ((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT)
- || (view_mode == FULL_VIEW) || (view_mode == SPLIT_VIEW)) {
- indent++;
- display_tree(child);
- indent--;
- }
- }
+ if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT)) ||
+ (view_mode == FULL_VIEW)
+ || (view_mode == SPLIT_VIEW))*/
+ if ((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT)
+ || (view_mode == FULL_VIEW) || (view_mode == SPLIT_VIEW)) {
+ indent++;
+ display_tree(child);
+ indent--;
+ }
+ }
}
/* Display a part of the tree starting at current node (single/split view) */
static void display_tree_part(void)
{
- if (tree2)
- gtk_tree_store_clear(tree2);
- if(view_mode == SINGLE_VIEW)
- display_tree(current);
- else if(view_mode == SPLIT_VIEW)
- display_tree(browsed);
- gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
+ if (tree2)
+ gtk_tree_store_clear(tree2);
+ if(view_mode == SINGLE_VIEW)
+ display_tree(current);
+ else if(view_mode == SPLIT_VIEW)
+ display_tree(browsed);
+ gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
}
/* Display the list in the left frame (split view) */
static void display_list(void)
{
- if (tree1)
- gtk_tree_store_clear(tree1);
+ if (tree1)
+ gtk_tree_store_clear(tree1);
- tree = tree1;
- display_tree(&rootmenu);
- gtk_tree_view_expand_all(GTK_TREE_VIEW(tree1_w));
- tree = tree2;
+ tree = tree1;
+ display_tree(&rootmenu);
+ gtk_tree_view_expand_all(GTK_TREE_VIEW(tree1_w));
+ tree = tree2;
}
void fixup_rootmenu(struct menu *menu)
@@ -1577,68 +1605,58 @@
int gconf_main(int ac, char *av[])
{
- const char *name;
- gchar *cur_dir, *exe_path;
- gchar *glade_file;
+ const char *name;
+ gchar *cur_dir, *exe_path;
#ifndef LKC_DIRECT_LINK
- kconfig_load();
+ kconfig_load();
#endif
- /* GTK stuffs */
- gtk_set_locale();
- gtk_init(&ac, &av);
- glade_init();
+ /* GTK stuffs */
+ gtk_set_locale();
+ gtk_init(&ac, &av);
- /* add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps"); */
- /* add_pixmap_directory (PACKAGE_SOURCE_DIR "/pixmaps"); */
+ /* add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps"); */
+ /* add_pixmap_directory (PACKAGE_SOURCE_DIR "/pixmaps"); */
- /* Determine GUI path */
- cur_dir = g_get_current_dir();
- exe_path = g_strdup(av[0]);
- exe_path[0] = DIR_SEPARATOR;
- glade_file = g_strconcat(cur_dir, exe_path, ".glade", NULL);
- g_free(cur_dir);
- g_free(exe_path);
+ /* Load the interface and connect signals */
+ init_main_window();
+ init_tree_model();
+ init_left_tree();
+ init_right_tree();
- /* Load the interface and connect signals */
- init_main_window(glade_file);
- init_tree_model();
- init_left_tree();
- init_right_tree();
+ /* Conf stuffs */
+ if (ac > 1 && av[1][0] == '-') {
+ switch (av[1][1]) {
+ case 'a':
+ /* showAll = 1;*/
+ break;
+ case 'h':
+ case '?':
+ printf("%s <config>\n", av[0]);
+ exit(0);
+ }
+ name = av[2];
+ } else
+ name = av[1];
- /* Conf stuffs */
- if (ac > 1 && av[1][0] == '-') {
- switch (av[1][1]) {
- case 'a':
- /* showAll = 1;*/
- break;
- case 'h':
- case '?':
- printf("%s <config>\n", av[0]);
- exit(0);
- }
- name = av[2];
- } else
- name = av[1];
+ conf_parse(name);
+ fixup_rootmenu(&rootmenu);
+ conf_read(NULL);
- conf_parse(name);
- fixup_rootmenu(&rootmenu);
- conf_read(NULL);
+ switch (view_mode) {
+ case SINGLE_VIEW:
+ display_tree_part();
+ break;
+ case SPLIT_VIEW:
+ display_list();
+ break;
+ case FULL_VIEW:
+ display_tree(&rootmenu);
+ break;
+ }
- switch (view_mode) {
- case SINGLE_VIEW:
- display_tree_part();
- break;
- case SPLIT_VIEW:
- display_list();
- break;
- case FULL_VIEW:
- display_tree(&rootmenu);
- break;
- }
+ gtk_main();
- gtk_main();
-
- return 0;
+ return 0;
}
Modified: GNUnet/src/conf/gconf.glade
===================================================================
--- GNUnet/src/conf/gconf.glade 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/gconf.glade 2005-03-19 17:22:31 UTC (rev 446)
@@ -3,7 +3,7 @@
<glade-interface>
-<widget class="GtkWindow" id="window1">
+<widget class="GtkWindow" id="main_wnd">
<property name="visible">True</property>
<property name="title" translatable="yes">Gtk GNUnet Configurator</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
@@ -13,9 +13,9 @@
<property name="default_height">480</property>
<property name="resizable">True</property>
<property name="destroy_with_parent">False</property>
- <signal name="destroy" handler="on_window1_destroy" object="window1"/>
+ <signal name="destroy" handler="on_window1_destroy" object="main_wnd"/>
<signal name="size_request" handler="on_window1_size_request"
object="vpaned1" last_modification_time="Fri, 11 Jan 2002 16:17:11 GMT"/>
- <signal name="delete_event" handler="on_window1_delete_event"
object="window1" last_modification_time="Sun, 09 Mar 2003 19:42:46 GMT"/>
+ <signal name="delete_event" handler="on_window1_delete_event"
object="main_wnd" last_modification_time="Sun, 09 Mar 2003 19:42:46 GMT"/>
<child>
<widget class="GtkVBox" id="vbox1">
@@ -310,7 +310,7 @@
<property name="tooltips">True</property>
<child>
- <widget class="button" id="button1">
+ <widget class="GtkButton" id="button1">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Goes up of one
level (single view)</property>
<property name="label" translatable="yes">Back</property>
@@ -327,7 +327,7 @@
</child>
<child>
- <widget class="button" id="button2">
+ <widget class="GtkButton" id="button2">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Load a config
file</property>
<property name="label" translatable="yes">Load</property>
@@ -338,7 +338,7 @@
</child>
<child>
- <widget class="button" id="button3">
+ <widget class="GtkButton" id="button3">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Save a config
file</property>
<property name="label" translatable="yes">Save</property>
@@ -355,7 +355,7 @@
</child>
<child>
- <widget class="button" id="button4">
+ <widget class="GtkButton" id="button4">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Single
view</property>
<property name="label" translatable="yes">Single</property>
@@ -366,7 +366,7 @@
</child>
<child>
- <widget class="button" id="button5">
+ <widget class="GtkButton" id="button5">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Split
view</property>
<property name="label" translatable="yes">Split</property>
@@ -377,7 +377,7 @@
</child>
<child>
- <widget class="button" id="button6">
+ <widget class="GtkButton" id="button6">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Full
view</property>
<property name="label" translatable="yes">Full</property>
@@ -394,7 +394,7 @@
</child>
<child>
- <widget class="button" id="button7">
+ <widget class="GtkButton" id="button7">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Collapse the
whole tree in the right frame</property>
<property name="label" translatable="yes">Collapse</property>
@@ -404,7 +404,7 @@
</child>
<child>
- <widget class="button" id="button8">
+ <widget class="GtkButton" id="button8">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Expand the whole
tree in the right frame</property>
<property name="label" translatable="yes">Expand</property>
Added: GNUnet/src/conf/gconf_callbacks.h
===================================================================
--- GNUnet/src/conf/gconf_callbacks.h 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/gconf_callbacks.h 2005-03-19 17:22:31 UTC (rev 446)
@@ -0,0 +1,68 @@
+#include <gtk/gtk.h>
+
+
+void on_window1_destroy (GtkObject * object, gpointer user_data);
+
+void
+on_window1_size_request (GtkWidget * widget,
+ GtkRequisition * requisition, gpointer user_data);
+
+gboolean
+on_window1_delete_event (GtkWidget * widget,
+ GdkEvent * event, gpointer user_data);
+
+void on_load1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_save1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_save_as1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_quit1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_show_name1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_show_range1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_show_data1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void
+on_show_all_options1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void
+on_show_debug_info1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_introduction1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_about1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_license1_activate (GtkMenuItem * menuitem, gpointer user_data);
+
+void on_back_pressed (GtkButton * button, gpointer user_data);
+
+void on_load_pressed (GtkButton * button, gpointer user_data);
+
+void on_save_pressed (GtkButton * button, gpointer user_data);
+
+void on_single_clicked (GtkButton * button, gpointer user_data);
+
+void on_split_clicked (GtkButton * button, gpointer user_data);
+
+void on_full_clicked (GtkButton * button, gpointer user_data);
+
+void on_collapse_pressed (GtkButton * button, gpointer user_data);
+
+void on_expand_pressed (GtkButton * button, gpointer user_data);
+
+void on_treeview2_cursor_changed (GtkTreeView * treeview, gpointer user_data);
+
+gboolean
+on_treeview1_button_press_event (GtkWidget * widget,
+ GdkEventButton * event, gpointer user_data);
+
+gboolean
+on_treeview2_key_press_event (GtkWidget * widget,
+ GdkEventKey * event, gpointer user_data);
+
+gboolean
+on_treeview2_button_press_event (GtkWidget * widget,
+ GdkEventButton * event, gpointer user_data);
Added: GNUnet/src/conf/gconf_interface.c
===================================================================
--- GNUnet/src/conf/gconf_interface.c 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/gconf_interface.c 2005-03-19 17:22:31 UTC (rev 446)
@@ -0,0 +1,480 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+
+#include "gconf_callbacks.h"
+#include "gconf_interface.h"
+#include "gconf_support.h"
+
+#define GLADE_HOOKUP_OBJECT(component,widget,name) \
+ g_object_set_data_full (G_OBJECT (component), name, \
+ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
+
+#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
+ g_object_set_data (G_OBJECT (component), name, widget)
+
+GtkWidget *
+create_main_wnd (void)
+{
+ GtkWidget *main_wnd;
+ GtkWidget *vbox1;
+ GtkWidget *menubar1;
+ GtkWidget *file1;
+ GtkWidget *file1_menu;
+ GtkWidget *load1;
+ GtkWidget *image27;
+ GtkWidget *save1;
+ GtkWidget *image28;
+ GtkWidget *save_as1;
+ GtkWidget *image29;
+ GtkWidget *separator1;
+ GtkWidget *quit1;
+ GtkWidget *image30;
+ GtkWidget *options1;
+ GtkWidget *options1_menu;
+ GtkWidget *show_name1;
+ GtkWidget *show_range1;
+ GtkWidget *show_data1;
+ GtkWidget *separator2;
+ GtkWidget *show_all_options1;
+ GtkWidget *show_debug_info1;
+ GtkWidget *help1;
+ GtkWidget *help1_menu;
+ GtkWidget *introduction1;
+ GtkWidget *image31;
+ GtkWidget *about1;
+ GtkWidget *image32;
+ GtkWidget *license1;
+ GtkWidget *image33;
+ GtkWidget *handlebox1;
+ GtkWidget *toolbar1;
+ GtkWidget *button1;
+ GtkWidget *vseparator1;
+ GtkWidget *button2;
+ GtkWidget *button3;
+ GtkWidget *vseparator2;
+ GtkWidget *button4;
+ GtkWidget *button5;
+ GtkWidget *button6;
+ GtkWidget *vseparator3;
+ GtkWidget *button7;
+ GtkWidget *button8;
+ GtkWidget *hpaned1;
+ GtkWidget *scrolledwindow1;
+ GtkWidget *treeview1;
+ GtkWidget *vpaned1;
+ GtkWidget *scrolledwindow2;
+ GtkWidget *treeview2;
+ GtkWidget *scrolledwindow3;
+ GtkWidget *textview3;
+ GtkAccelGroup *accel_group;
+ GtkTooltips *tooltips;
+
+ tooltips = gtk_tooltips_new ();
+
+ accel_group = gtk_accel_group_new ();
+
+ main_wnd = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_title (GTK_WINDOW (main_wnd), _("Gtk GNUnet Configurator"));
+ gtk_window_set_default_size (GTK_WINDOW (main_wnd), 640, 480);
+
+ vbox1 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox1);
+ gtk_container_add (GTK_CONTAINER (main_wnd), vbox1);
+
+ menubar1 = gtk_menu_bar_new ();
+ gtk_widget_show (menubar1);
+ gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);
+
+ file1 = gtk_menu_item_new_with_mnemonic (_("_File"));
+ gtk_widget_show (file1);
+ gtk_container_add (GTK_CONTAINER (menubar1), file1);
+
+ file1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (file1), file1_menu);
+
+ load1 = gtk_image_menu_item_new_with_mnemonic (_("_Load"));
+ gtk_widget_show (load1);
+ gtk_container_add (GTK_CONTAINER (file1_menu), load1);
+ gtk_tooltips_set_tip (tooltips, load1, _("Load a config file"), NULL);
+ gtk_widget_add_accelerator (load1, "activate", accel_group,
+ GDK_L, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+ image27 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image27);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (load1), image27);
+
+ save1 = gtk_image_menu_item_new_with_mnemonic (_("_Save"));
+ gtk_widget_show (save1);
+ gtk_container_add (GTK_CONTAINER (file1_menu), save1);
+ gtk_tooltips_set_tip (tooltips, save1, _("Save the config in .config"),
+ NULL);
+ gtk_widget_add_accelerator (save1, "activate", accel_group, GDK_S,
+ GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+ image28 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image28);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (save1), image28);
+
+ save_as1 = gtk_image_menu_item_new_with_mnemonic (_("Save _as"));
+ gtk_widget_show (save_as1);
+ gtk_container_add (GTK_CONTAINER (file1_menu), save_as1);
+ gtk_tooltips_set_tip (tooltips, save_as1, _("Save the config in a file"),
+ NULL);
+
+ image29 = gtk_image_new_from_stock ("gtk-save-as", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image29);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (save_as1), image29);
+
+ separator1 = gtk_menu_item_new ();
+ gtk_widget_show (separator1);
+ gtk_container_add (GTK_CONTAINER (file1_menu), separator1);
+ gtk_widget_set_sensitive (separator1, FALSE);
+
+ quit1 = gtk_image_menu_item_new_with_mnemonic (_("_Quit"));
+ gtk_widget_show (quit1);
+ gtk_container_add (GTK_CONTAINER (file1_menu), quit1);
+ gtk_widget_add_accelerator (quit1, "activate", accel_group,
+ GDK_Q, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+ image30 = gtk_image_new_from_stock ("gtk-quit", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image30);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (quit1), image30);
+
+ options1 = gtk_menu_item_new_with_mnemonic (_("_Options"));
+ gtk_widget_show (options1);
+ gtk_container_add (GTK_CONTAINER (menubar1), options1);
+
+ options1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (options1), options1_menu);
+
+ show_name1 = gtk_check_menu_item_new_with_mnemonic (_("Show _name"));
+ gtk_widget_show (show_name1);
+ gtk_container_add (GTK_CONTAINER (options1_menu), show_name1);
+ gtk_tooltips_set_tip (tooltips, show_name1, _("Show name"), NULL);
+
+ show_range1 = gtk_check_menu_item_new_with_mnemonic (_("Show _range"));
+ gtk_widget_show (show_range1);
+ gtk_container_add (GTK_CONTAINER (options1_menu), show_range1);
+ gtk_tooltips_set_tip (tooltips, show_range1, _("Show range (Y/M/N)"), NULL);
+
+ show_data1 = gtk_check_menu_item_new_with_mnemonic (_("Show _data"));
+ gtk_widget_show (show_data1);
+ gtk_container_add (GTK_CONTAINER (options1_menu), show_data1);
+ gtk_tooltips_set_tip (tooltips, show_data1, _("Show value of the option"),
+ NULL);
+
+ separator2 = gtk_menu_item_new ();
+ gtk_widget_show (separator2);
+ gtk_container_add (GTK_CONTAINER (options1_menu), separator2);
+ gtk_widget_set_sensitive (separator2, FALSE);
+
+ show_all_options1 =
+ gtk_check_menu_item_new_with_mnemonic (_("Show all _options"));
+ gtk_widget_show (show_all_options1);
+ gtk_container_add (GTK_CONTAINER (options1_menu), show_all_options1);
+ gtk_tooltips_set_tip (tooltips, show_all_options1, _("Show all options"),
+ NULL);
+
+ show_debug_info1 =
+ gtk_check_menu_item_new_with_mnemonic (_("Show _debug info"));
+ gtk_widget_show (show_debug_info1);
+ gtk_container_add (GTK_CONTAINER (options1_menu), show_debug_info1);
+ gtk_tooltips_set_tip (tooltips, show_debug_info1, _("Show masked options"),
+ NULL);
+
+ help1 = gtk_menu_item_new_with_mnemonic (_("_Help"));
+ gtk_widget_show (help1);
+ gtk_container_add (GTK_CONTAINER (menubar1), help1);
+
+ help1_menu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (help1), help1_menu);
+
+ introduction1 = gtk_image_menu_item_new_with_mnemonic (_("_Introduction"));
+ gtk_widget_show (introduction1);
+ gtk_container_add (GTK_CONTAINER (help1_menu), introduction1);
+ gtk_widget_add_accelerator (introduction1, "activate", accel_group,
+ GDK_I, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+ image31 =
+ gtk_image_new_from_stock ("gtk-dialog-question", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image31);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (introduction1),
+ image31);
+
+ about1 = gtk_image_menu_item_new_with_mnemonic (_("_About"));
+ gtk_widget_show (about1);
+ gtk_container_add (GTK_CONTAINER (help1_menu), about1);
+ gtk_widget_add_accelerator (about1, "activate", accel_group,
+ GDK_A, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
+
+ image32 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image32);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (about1), image32);
+
+ license1 = gtk_image_menu_item_new_with_mnemonic (_("_License"));
+ gtk_widget_show (license1);
+ gtk_container_add (GTK_CONTAINER (help1_menu), license1);
+
+ image33 = gtk_image_new_from_stock ("gtk-justify-fill", GTK_ICON_SIZE_MENU);
+ gtk_widget_show (image33);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (license1), image33);
+
+ handlebox1 = gtk_handle_box_new ();
+ gtk_widget_show (handlebox1);
+ gtk_box_pack_start (GTK_BOX (vbox1), handlebox1, FALSE, FALSE, 0);
+
+ toolbar1 = gtk_toolbar_new ();
+ gtk_widget_show (toolbar1);
+ gtk_container_add (GTK_CONTAINER (handlebox1), toolbar1);
+ gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH);
+
+ button1 = gtk_button_new_with_mnemonic (_("Back"));
+ gtk_widget_show (button1);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), button1,
+ _("Goes up of one level (single view)"), NULL);
+ GTK_WIDGET_UNSET_FLAGS (button1, GTK_CAN_FOCUS);
+
+ vseparator1 = gtk_vseparator_new ();
+ gtk_widget_show (vseparator1);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), vseparator1, NULL, NULL);
+
+ button2 = gtk_button_new_with_mnemonic (_("Load"));
+ gtk_widget_show (button2);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), button2,
+ _("Load a config file"), NULL);
+ GTK_WIDGET_UNSET_FLAGS (button2, GTK_CAN_FOCUS);
+
+ button3 = gtk_button_new_with_mnemonic (_("Save"));
+ gtk_widget_show (button3);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), button3,
+ _("Save a config file"), NULL);
+ GTK_WIDGET_UNSET_FLAGS (button3, GTK_CAN_FOCUS);
+
+ vseparator2 = gtk_vseparator_new ();
+ gtk_widget_show (vseparator2);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), vseparator2, NULL, NULL);
+
+ button4 = gtk_button_new_with_mnemonic (_("Single"));
+ gtk_widget_show (button4);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), button4,
+ _("Single view"), NULL);
+ GTK_WIDGET_UNSET_FLAGS (button4, GTK_CAN_FOCUS);
+
+ button5 = gtk_button_new_with_mnemonic (_("Split"));
+ gtk_widget_show (button5);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), button5, _("Split view"),
+ NULL);
+ GTK_WIDGET_UNSET_FLAGS (button5, GTK_CAN_FOCUS);
+
+ button6 = gtk_button_new_with_mnemonic (_("Full"));
+ gtk_widget_show (button6);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), button6, _("Full view"),
+ NULL);
+ GTK_WIDGET_UNSET_FLAGS (button6, GTK_CAN_FOCUS);
+
+ vseparator3 = gtk_vseparator_new ();
+ gtk_widget_show (vseparator3);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), vseparator3, NULL, NULL);
+
+ button7 = gtk_button_new_with_mnemonic (_("Collapse"));
+ gtk_widget_show (button7);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), button7,
+ _("Collapse the whole tree in the right frame"),
+ NULL);
+ GTK_WIDGET_UNSET_FLAGS (button7, GTK_CAN_FOCUS);
+
+ button8 = gtk_button_new_with_mnemonic (_("Expand"));
+ gtk_widget_show (button8);
+ gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar1), button8,
+ _("Expand the whole tree in the right frame"),
+ NULL);
+ GTK_WIDGET_UNSET_FLAGS (button8, GTK_CAN_FOCUS);
+
+ hpaned1 = gtk_hpaned_new ();
+ gtk_widget_show (hpaned1);
+ gtk_box_pack_start (GTK_BOX (vbox1), hpaned1, TRUE, TRUE, 0);
+ gtk_widget_set_size_request (hpaned1, 1, -1);
+ gtk_paned_set_position (GTK_PANED (hpaned1), 0);
+
+ scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_show (scrolledwindow1);
+ gtk_paned_pack1 (GTK_PANED (hpaned1), scrolledwindow1, FALSE, TRUE);
+ GTK_WIDGET_UNSET_FLAGS (scrolledwindow1, GTK_CAN_FOCUS);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1),
+ GTK_SHADOW_IN);
+
+ treeview1 = gtk_tree_view_new ();
+ gtk_widget_show (treeview1);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow1), treeview1);
+
+ vpaned1 = gtk_vpaned_new ();
+ gtk_widget_show (vpaned1);
+ gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned1, TRUE, TRUE);
+ gtk_paned_set_position (GTK_PANED (vpaned1), 0);
+
+ scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_show (scrolledwindow2);
+ gtk_paned_pack1 (GTK_PANED (vpaned1), scrolledwindow2, FALSE, TRUE);
+ GTK_WIDGET_UNSET_FLAGS (scrolledwindow2, GTK_CAN_FOCUS);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow2),
+ GTK_SHADOW_IN);
+
+ treeview2 = gtk_tree_view_new ();
+ gtk_widget_show (treeview2);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow2), treeview2);
+
+ scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_show (scrolledwindow3);
+ gtk_paned_pack2 (GTK_PANED (vpaned1), scrolledwindow3, TRUE, TRUE);
+ GTK_WIDGET_UNSET_FLAGS (scrolledwindow3, GTK_CAN_FOCUS);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3),
+ GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3),
+ GTK_SHADOW_IN);
+
+ textview3 = gtk_text_view_new ();
+ gtk_widget_show (textview3);
+ gtk_container_add (GTK_CONTAINER (scrolledwindow3), textview3);
+ gtk_text_view_set_editable (GTK_TEXT_VIEW (textview3), FALSE);
+ gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview3), GTK_WRAP_WORD);
+ gtk_text_buffer_set_text (gtk_text_view_get_buffer
+ (GTK_TEXT_VIEW (textview3)),
+ _
+ ("Sorry, no help available for this option yet."),
+ -1);
+
+ g_signal_connect_swapped ((gpointer) main_wnd, "destroy",
+ G_CALLBACK (on_window1_destroy),
+ GTK_OBJECT (main_wnd));
+ g_signal_connect_swapped ((gpointer) main_wnd, "size_request",
+ G_CALLBACK (on_window1_size_request),
+ GTK_OBJECT (vpaned1));
+ g_signal_connect_swapped ((gpointer) main_wnd, "delete_event",
+ G_CALLBACK (on_window1_delete_event),
+ GTK_OBJECT (main_wnd));
+ g_signal_connect ((gpointer) load1, "activate",
+ G_CALLBACK (on_load1_activate), NULL);
+ g_signal_connect ((gpointer) save1, "activate",
+ G_CALLBACK (on_save1_activate), NULL);
+ g_signal_connect ((gpointer) save_as1, "activate",
+ G_CALLBACK (on_save_as1_activate), NULL);
+ g_signal_connect ((gpointer) quit1, "activate",
+ G_CALLBACK (on_quit1_activate), NULL);
+ g_signal_connect ((gpointer) show_name1, "activate",
+ G_CALLBACK (on_show_name1_activate), NULL);
+ g_signal_connect ((gpointer) show_range1, "activate",
+ G_CALLBACK (on_show_range1_activate), NULL);
+ g_signal_connect ((gpointer) show_data1, "activate",
+ G_CALLBACK (on_show_data1_activate), NULL);
+ g_signal_connect ((gpointer) show_all_options1, "activate",
+ G_CALLBACK (on_show_all_options1_activate), NULL);
+ g_signal_connect ((gpointer) show_debug_info1, "activate",
+ G_CALLBACK (on_show_debug_info1_activate), NULL);
+ g_signal_connect ((gpointer) introduction1, "activate",
+ G_CALLBACK (on_introduction1_activate), NULL);
+ g_signal_connect ((gpointer) about1, "activate",
+ G_CALLBACK (on_about1_activate), NULL);
+ g_signal_connect ((gpointer) license1, "activate",
+ G_CALLBACK (on_license1_activate), NULL);
+ g_signal_connect ((gpointer) button1, "pressed",
+ G_CALLBACK (on_back_pressed), NULL);
+ g_signal_connect ((gpointer) button2, "pressed",
+ G_CALLBACK (on_load_pressed), NULL);
+ g_signal_connect ((gpointer) button3, "pressed",
+ G_CALLBACK (on_save_pressed), NULL);
+ g_signal_connect ((gpointer) button4, "clicked",
+ G_CALLBACK (on_single_clicked), NULL);
+ g_signal_connect ((gpointer) button5, "clicked",
+ G_CALLBACK (on_split_clicked), NULL);
+ g_signal_connect ((gpointer) button6, "clicked",
+ G_CALLBACK (on_full_clicked), NULL);
+ g_signal_connect ((gpointer) button7, "pressed",
+ G_CALLBACK (on_collapse_pressed), NULL);
+ g_signal_connect ((gpointer) button8, "pressed",
+ G_CALLBACK (on_expand_pressed), NULL);
+ g_signal_connect ((gpointer) treeview1, "cursor_changed",
+ G_CALLBACK (on_treeview2_cursor_changed), NULL);
+ g_signal_connect ((gpointer) treeview1, "button_press_event",
+ G_CALLBACK (on_treeview1_button_press_event), NULL);
+ g_signal_connect ((gpointer) treeview1, "key_press_event",
+ G_CALLBACK (on_treeview2_key_press_event), NULL);
+ g_signal_connect ((gpointer) treeview2, "cursor_changed",
+ G_CALLBACK (on_treeview2_cursor_changed), NULL);
+ g_signal_connect ((gpointer) treeview2, "button_press_event",
+ G_CALLBACK (on_treeview2_button_press_event), NULL);
+ g_signal_connect ((gpointer) treeview2, "key_press_event",
+ G_CALLBACK (on_treeview2_key_press_event), NULL);
+
+ /* Store pointers to all widgets, for use by lookup_widget(). */
+ GLADE_HOOKUP_OBJECT_NO_REF (main_wnd, main_wnd, "main_wnd");
+ GLADE_HOOKUP_OBJECT (main_wnd, vbox1, "vbox1");
+ GLADE_HOOKUP_OBJECT (main_wnd, menubar1, "menubar1");
+ GLADE_HOOKUP_OBJECT (main_wnd, file1, "file1");
+ GLADE_HOOKUP_OBJECT (main_wnd, file1_menu, "file1_menu");
+ GLADE_HOOKUP_OBJECT (main_wnd, load1, "load1");
+ GLADE_HOOKUP_OBJECT (main_wnd, image27, "image27");
+ GLADE_HOOKUP_OBJECT (main_wnd, save1, "save1");
+ GLADE_HOOKUP_OBJECT (main_wnd, image28, "image28");
+ GLADE_HOOKUP_OBJECT (main_wnd, save_as1, "save_as1");
+ GLADE_HOOKUP_OBJECT (main_wnd, image29, "image29");
+ GLADE_HOOKUP_OBJECT (main_wnd, separator1, "separator1");
+ GLADE_HOOKUP_OBJECT (main_wnd, quit1, "quit1");
+ GLADE_HOOKUP_OBJECT (main_wnd, image30, "image30");
+ GLADE_HOOKUP_OBJECT (main_wnd, options1, "options1");
+ GLADE_HOOKUP_OBJECT (main_wnd, options1_menu, "options1_menu");
+ GLADE_HOOKUP_OBJECT (main_wnd, show_name1, "show_name1");
+ GLADE_HOOKUP_OBJECT (main_wnd, show_range1, "show_range1");
+ GLADE_HOOKUP_OBJECT (main_wnd, show_data1, "show_data1");
+ GLADE_HOOKUP_OBJECT (main_wnd, separator2, "separator2");
+ GLADE_HOOKUP_OBJECT (main_wnd, show_all_options1, "show_all_options1");
+ GLADE_HOOKUP_OBJECT (main_wnd, show_debug_info1, "show_debug_info1");
+ GLADE_HOOKUP_OBJECT (main_wnd, help1, "help1");
+ GLADE_HOOKUP_OBJECT (main_wnd, help1_menu, "help1_menu");
+ GLADE_HOOKUP_OBJECT (main_wnd, introduction1, "introduction1");
+ GLADE_HOOKUP_OBJECT (main_wnd, image31, "image31");
+ GLADE_HOOKUP_OBJECT (main_wnd, about1, "about1");
+ GLADE_HOOKUP_OBJECT (main_wnd, image32, "image32");
+ GLADE_HOOKUP_OBJECT (main_wnd, license1, "license1");
+ GLADE_HOOKUP_OBJECT (main_wnd, image33, "image33");
+ GLADE_HOOKUP_OBJECT (main_wnd, handlebox1, "handlebox1");
+ GLADE_HOOKUP_OBJECT (main_wnd, toolbar1, "toolbar1");
+ GLADE_HOOKUP_OBJECT (main_wnd, button1, "button1");
+ GLADE_HOOKUP_OBJECT (main_wnd, vseparator1, "vseparator1");
+ GLADE_HOOKUP_OBJECT (main_wnd, button2, "button2");
+ GLADE_HOOKUP_OBJECT (main_wnd, button3, "button3");
+ GLADE_HOOKUP_OBJECT (main_wnd, vseparator2, "vseparator2");
+ GLADE_HOOKUP_OBJECT (main_wnd, button4, "button4");
+ GLADE_HOOKUP_OBJECT (main_wnd, button5, "button5");
+ GLADE_HOOKUP_OBJECT (main_wnd, button6, "button6");
+ GLADE_HOOKUP_OBJECT (main_wnd, vseparator3, "vseparator3");
+ GLADE_HOOKUP_OBJECT (main_wnd, button7, "button7");
+ GLADE_HOOKUP_OBJECT (main_wnd, button8, "button8");
+ GLADE_HOOKUP_OBJECT (main_wnd, hpaned1, "hpaned1");
+ GLADE_HOOKUP_OBJECT (main_wnd, scrolledwindow1, "scrolledwindow1");
+ GLADE_HOOKUP_OBJECT (main_wnd, treeview1, "treeview1");
+ GLADE_HOOKUP_OBJECT (main_wnd, vpaned1, "vpaned1");
+ GLADE_HOOKUP_OBJECT (main_wnd, scrolledwindow2, "scrolledwindow2");
+ GLADE_HOOKUP_OBJECT (main_wnd, treeview2, "treeview2");
+ GLADE_HOOKUP_OBJECT (main_wnd, scrolledwindow3, "scrolledwindow3");
+ GLADE_HOOKUP_OBJECT (main_wnd, textview3, "textview3");
+ GLADE_HOOKUP_OBJECT_NO_REF (main_wnd, tooltips, "tooltips");
+
+ gtk_widget_grab_focus (treeview2);
+ gtk_window_add_accel_group (GTK_WINDOW (main_wnd), accel_group);
+
+ return main_wnd;
+}
Added: GNUnet/src/conf/gconf_interface.h
===================================================================
--- GNUnet/src/conf/gconf_interface.h 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/gconf_interface.h 2005-03-19 17:22:31 UTC (rev 446)
@@ -0,0 +1,5 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+GtkWidget *create_main_wnd (void);
Added: GNUnet/src/conf/gconf_support.c
===================================================================
--- GNUnet/src/conf/gconf_support.c 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/gconf_support.c 2005-03-19 17:22:31 UTC (rev 446)
@@ -0,0 +1,143 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+
+#include <gtk/gtk.h>
+
+#include "gconf_support.h"
+
+GtkWidget *
+lookup_widget (GtkWidget * widget, const gchar * widget_name)
+{
+ GtkWidget *parent, *found_widget;
+
+ for (;;)
+ {
+ if (GTK_IS_MENU (widget))
+ parent = gtk_menu_get_attach_widget (GTK_MENU (widget));
+ else
+ parent = widget->parent;
+ if (!parent)
+ parent =
+ (GtkWidget *) g_object_get_data (G_OBJECT (widget),
+ "GladeParentKey");
+ if (parent == NULL)
+ break;
+ widget = parent;
+ }
+
+ found_widget = (GtkWidget *) g_object_get_data (G_OBJECT (widget),
+ widget_name);
+ if (!found_widget)
+ g_warning ("Widget not found: %s", widget_name);
+ return found_widget;
+}
+
+static GList *pixmaps_directories = NULL;
+
+/* Use this function to set the directory containing installed pixmaps. */
+void
+add_pixmap_directory (const gchar * directory)
+{
+ pixmaps_directories = g_list_prepend (pixmaps_directories,
+ g_strdup (directory));
+}
+
+/* This is an internally used function to find pixmap files. */
+static gchar *
+find_pixmap_file (const gchar * filename)
+{
+ GList *elem;
+
+ /* We step through each of the pixmaps directory to find it. */
+ elem = pixmaps_directories;
+ while (elem)
+ {
+ gchar *pathname = g_strdup_printf ("%s%s%s", (gchar *) elem->data,
+ G_DIR_SEPARATOR_S, filename);
+ if (g_file_test (pathname, G_FILE_TEST_EXISTS))
+ return pathname;
+ g_free (pathname);
+ elem = elem->next;
+ }
+ return NULL;
+}
+
+/* This is an internally used function to create pixmaps. */
+GtkWidget *
+create_pixmap (GtkWidget * widget, const gchar * filename)
+{
+ gchar *pathname = NULL;
+ GtkWidget *pixmap;
+
+ if (!filename || !filename[0])
+ return gtk_image_new ();
+
+ pathname = find_pixmap_file (filename);
+
+ if (!pathname)
+ {
+ g_warning (_("Couldn't find pixmap file: %s"), filename);
+ return gtk_image_new ();
+ }
+
+ pixmap = gtk_image_new_from_file (pathname);
+ g_free (pathname);
+ return pixmap;
+}
+
+/* This is an internally used function to create pixmaps. */
+GdkPixbuf *
+create_pixbuf (const gchar * filename)
+{
+ gchar *pathname = NULL;
+ GdkPixbuf *pixbuf;
+ GError *error = NULL;
+
+ if (!filename || !filename[0])
+ return NULL;
+
+ pathname = find_pixmap_file (filename);
+
+ if (!pathname)
+ {
+ g_warning (_("Couldn't find pixmap file: %s"), filename);
+ return NULL;
+ }
+
+ pixbuf = gdk_pixbuf_new_from_file (pathname, &error);
+ if (!pixbuf)
+ {
+ fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
+ pathname, error->message);
+ g_error_free (error);
+ }
+ g_free (pathname);
+ return pixbuf;
+}
+
+/* This is used to set ATK action descriptions. */
+void
+glade_set_atk_action_description (AtkAction * action,
+ const gchar * action_name,
+ const gchar * description)
+{
+ gint n_actions, i;
+
+ n_actions = atk_action_get_n_actions (action);
+ for (i = 0; i < n_actions; i++)
+ {
+ if (!strcmp (atk_action_get_name (action, i), action_name))
+ atk_action_set_description (action, i, description);
+ }
+}
Added: GNUnet/src/conf/gconf_support.h
===================================================================
--- GNUnet/src/conf/gconf_support.h 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/gconf_support.h 2005-03-19 17:22:31 UTC (rev 446)
@@ -0,0 +1,64 @@
+/*
+ * DO NOT EDIT THIS FILE - it is generated by Glade.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <gtk/gtk.h>
+
+/*
+ * Standard gettext macros.
+ */
+#ifdef ENABLE_NLS
+# include <libintl.h>
+# undef _
+# define _(String) dgettext (PACKAGE, String)
+# ifdef gettext_noop
+# define N_(String) gettext_noop (String)
+# else
+# define N_(String) (String)
+# endif
+#else
+# define textdomain(String) (String)
+# define gettext(String) (String)
+# define dgettext(Domain,Message) (Message)
+# define dcgettext(Domain,Message,Type) (Message)
+# define bindtextdomain(Domain,Directory) (Domain)
+# define _(String) (String)
+# define N_(String) (String)
+#endif
+
+
+/*
+ * Public Functions.
+ */
+
+/*
+ * This function returns a widget in a component created by Glade.
+ * Call it with the toplevel widget in the component (i.e. a window/dialog),
+ * or alternatively any widget in the component, and the name of the widget
+ * you want returned.
+ */
+GtkWidget *lookup_widget (GtkWidget * widget, const gchar * widget_name);
+
+
+/* Use this function to set the directory containing installed pixmaps. */
+void add_pixmap_directory (const gchar * directory);
+
+
+/*
+ * Private Functions.
+ */
+
+/* This is used to create the pixmaps used in the interface. */
+GtkWidget *create_pixmap (GtkWidget * widget, const gchar * filename);
+
+/* This is used to create the pixbufs used in the interface. */
+GdkPixbuf *create_pixbuf (const gchar * filename);
+
+/* This is used to set ATK action descriptions. */
+void glade_set_atk_action_description (AtkAction * action,
+ const gchar * action_name,
+ const gchar * description);
Modified: GNUnet/src/conf/gnunet-setup.c
===================================================================
--- GNUnet/src/conf/gnunet-setup.c 2005-03-17 17:29:04 UTC (rev 445)
+++ GNUnet/src/conf/gnunet-setup.c 2005-03-19 17:22:31 UTC (rev 446)
@@ -1,6 +1,6 @@
/*
This file is part of GNUnet.
- (C) 2001, 2002 Christian Grothoff (and other contributing authors)
+ (C) 2001, 2002, 2005 Christian Grothoff (and other contributing authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
@@ -67,6 +67,13 @@
mconf_main(argc - 1, &argv[1]);
#else
puts("Menuconfig is not available\n");
+#endif
+ }
+ else if (strncmp(argv[1], "gconfig", 10) == 0) {
+#if HAVE_GTK
+ gconf_main(argc - 1, &argv[1]);
+#else
+ puts("Gconfig is not available\n");
#endif
} else {
puts("Unknown configurator\n\n");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r446 - in GNUnet: . contrib/win src/conf,
durner <=