From: <enl...@li...> - 2002-02-18 03:23:31
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Removed Files: callbacks.c callbacks.h interface.c interface.h main.c support.c support.h utils.c utils.h Log Message: Removing old ebony stuff |
From: <enl...@li...> - 2002-02-18 03:23:31
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony Removed Files: acconfig.h Log Message: Removing old ebony stuff |
From: <enl...@li...> - 2002-02-18 03:25:15
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony Removed Files: Makefile.am autogen.sh configure.in Log Message: more old stuff going |
From: <enl...@li...> - 2002-02-18 03:30:39
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Modified Files: Makefile.am Added Files: advanced.c advanced.h callbacks.c callbacks.h interface.c interface.h main.c manager.c manager.h util.c util.h Log Message: Ebony can now make colors and gradients too You might need to upgrade ebg. It's not done, but it's functional enough =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- Makefile.am 28 Jul 2001 05:24:00 -0000 1.2 +++ Makefile.am 18 Feb 2002 03:30:39 -0000 1.3 @@ -1,20 +1,28 @@ -## Process this file with automake to produce Makefile.in +# Process this file with automake to produce Makefile.in INCLUDES = \ - -I$(top_srcdir)/intl \ @BONUS_INCS@ \ - @GTK_CFLAGS@ + @GTK_CFLAGS@ \ + @GLIB_CFLAGS@ \ + @evas_cflags@ \ + @imlib2_cflags@ \ + @ebg_cflags@ \ + @edb_cflags@ bin_PROGRAMS = ebony ebony_SOURCES = \ - main.c \ - support.c support.h \ - interface.c interface.h \ - callbacks.c callbacks.h \ - utils.c utils.h + advanced.c advanced.h \ + callbacks.c callbacks.h \ + interface.c interface.h \ + util.c util.h \ + main.c ebony_LDADD = \ -@GTK_LIBS@ $(INTLLIBS) \ -@BONUS_LIBS@ - + @BONUS_LIBS@ \ + @GTK_LIBS@ \ + @GLIB_CFLAGS@ \ + @evas_libs@ \ + @imlib2_libs@ \ + @ebg_libs@ \ + @edb_libs@ |
From: <enl...@li...> - 2002-02-18 03:31:09
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony Added Files: Makefile.am acinclude.m4 autogen.sh configure.in Log Message: Ebony can now make colors and gradients too You might need to upgrade ebg. It's not done, but it's functional enough |
From: <enl...@li...> - 2002-02-18 03:33:14
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Removed Files: manager.c manager.h Log Message: shouldn't have added these |
From: <enl...@li...> - 2002-02-18 03:46:21
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Modified Files: interface.c Log Message: Settings tab not Browse =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/interface.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- interface.c 18 Feb 2002 03:30:39 -0000 1.4 +++ interface.c 18 Feb 2002 03:46:20 -0000 1.5 @@ -308,7 +308,7 @@ gtk_object_set_data_full(GTK_OBJECT(win), "image_file", entry, (GtkDestroyNotify)gtk_widget_unref); - button = gtk_button_new_with_label("Browse"); + button = gtk_button_new_with_label("Settings"); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 2); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(on_image_file_browse_clicked), NULL); |
From: <enl...@li...> - 2002-02-20 00:48:21
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Modified Files: advanced.c callbacks.c callbacks.h interface.c interface.h Log Message: Make the title the current background you're working on Add scroll x/y stuff for images =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/advanced.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- advanced.c 18 Feb 2002 03:30:39 -0000 1.1 +++ advanced.c 20 Feb 2002 00:48:20 -0000 1.2 @@ -909,6 +909,8 @@ evas_gradient_free(og); evas_show(evas, bl->obj); + return; + UN(g); } void gradient_one_cs_ok_button_clicked(GtkWidget *w, gpointer data) @@ -958,7 +960,7 @@ { GdkColor fg; static GdkGC *gc1 = NULL; - E_Background_Gradient g; + E_Background_Gradient g = NULL; if(!w) return(FALSE); if(!w->window) return(FALSE); @@ -990,7 +992,7 @@ gradient_two_color_drawing_area_expose(GtkWidget *w, GdkEventExpose *e, gpointer data) { - E_Background_Gradient g; + E_Background_Gradient g = NULL; GdkColor fg; static GdkGC *gc2 = NULL; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/callbacks.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- callbacks.c 18 Feb 2002 03:30:39 -0000 1.6 +++ callbacks.c 20 Feb 2002 00:48:20 -0000 1.7 @@ -82,6 +82,7 @@ bg = e_bg_load((char*)file); if(bg) { + char buf[PATH_MAX]; if(_bg) e_bg_free(_bg); e_bg_add_to_evas(bg, evas); @@ -91,6 +92,8 @@ g_snprintf(errstr, 1024, "Saved background: %s", (char*)file); ebony_status_message(errstr, EBONY_STATUS_TO); + snprintf(buf, PATH_MAX, "Ebony - %s", (char*)file); + gtk_window_set_title(GTK_WINDOW(win_ref), buf); } else { @@ -145,6 +148,8 @@ gtk_widget_show(w); w = gtk_object_get_data(GTK_OBJECT(win_ref), "gradient_frame"); gtk_widget_hide(w); + w = gtk_object_get_data(GTK_OBJECT(win_ref), "layer_scroll_follow"); + gtk_widget_show(w); w = gtk_object_get_data(GTK_OBJECT(win_ref), "size_orig_w"); if(w) gtk_widget_set_sensitive(w, TRUE); w = gtk_object_get_data(GTK_OBJECT(win_ref), "size_orig_h"); @@ -159,6 +164,8 @@ gtk_widget_hide(w); w = gtk_object_get_data(GTK_OBJECT(win_ref), "layer_color_frame"); gtk_widget_hide(w); + w = gtk_object_get_data(GTK_OBJECT(win_ref), "layer_scroll_follow"); + gtk_widget_hide(w); w = gtk_object_get_data(GTK_OBJECT(win_ref), "layer_fill_frame"); gtk_widget_hide(w); w = gtk_object_get_data(GTK_OBJECT(win_ref), "gradient_frame"); @@ -179,6 +186,8 @@ gtk_widget_show(w); w = gtk_object_get_data(GTK_OBJECT(win_ref), "layer_fill_frame"); gtk_widget_hide(w); + w = gtk_object_get_data(GTK_OBJECT(win_ref), "layer_scroll_follow"); + gtk_widget_hide(w); w = gtk_object_get_data(GTK_OBJECT(win_ref), "gradient_frame"); gtk_widget_hide(w); w = gtk_object_get_data(GTK_OBJECT(win_ref), "size_orig_w"); @@ -202,6 +211,7 @@ _bl->size.w = _bl->size.h = 1.0; _bg->layers = evas_list_append(_bg->layers, _bl); display_bg(_bg); + gtk_window_set_title(GTK_WINDOW(win_ref), "Ebony - New Background"); } return; UN(w); @@ -306,6 +316,31 @@ { if(!data) return; open_bg_named((char*)data); + return; + UN(w); + UN(data); +} +double +get_range_value(char *named) +{ + GtkWidget *w; + double result = 0.0; + + w = gtk_object_get_data(GTK_OBJECT(win_ref), named); + if(w) + result = (gtk_range_get_adjustment(GTK_RANGE(w))->value); + return(result); +} +void +on_scroll_changed(GtkWidget *w, gpointer data) +{ + if(!bg) return; + if(!bl) return; + e_bg_set_scroll(bg, (int)get_range_value("hscroll"), + (int)get_range_value("vscroll")); + if((bl->scroll.x) || (bl->scroll.y)) + DRAW(); + return; UN(w); UN(data); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/callbacks.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- callbacks.h 18 Feb 2002 03:30:39 -0000 1.3 +++ callbacks.h 20 Feb 2002 00:48:20 -0000 1.4 @@ -33,4 +33,5 @@ gint ebony_status_clear(gpointer data); void ebony_status_message(gchar *message, gint delay); +void on_scroll_changed(GtkWidget *w, gpointer data); #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/interface.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- interface.c 18 Feb 2002 03:46:20 -0000 1.5 +++ interface.c 20 Feb 2002 00:48:20 -0000 1.6 @@ -869,6 +869,9 @@ gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, TRUE, 3); /* ROW 5 */ frame = create_layer_scroll_follow_frame(win); + gtk_widget_ref(frame); + gtk_object_set_data_full(GTK_OBJECT(win), "layer_scroll_follow", frame, + (GtkDestroyNotify)gtk_widget_unref); gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_ETCHED_IN); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, TRUE, 3); /* ROW 6 */ @@ -945,6 +948,8 @@ GtkWidget *p1, *da; GtkWidget *align; GtkWidget *rpd; /* right pane data */ + GtkWidget *hbox, *vbox; + GtkWidget *hscroll, *vscroll; result = gtk_hpaned_new(); p1 = gtk_vpaned_new(); @@ -954,19 +959,53 @@ gtk_paned_pack1(GTK_PANED(result), p1, TRUE, FALSE); gtk_paned_pack2(GTK_PANED(result), align, FALSE, FALSE); + vbox = gtk_vbox_new(FALSE, 0); + + /* hbox for the top */ + hbox = gtk_hbox_new(FALSE, 0); + + /* drawing area stuffs */ da = gtk_drawing_area_new(); gtk_widget_ref(da); gtk_object_set_data_full(GTK_OBJECT(win), "evas", da, (GtkDestroyNotify) gtk_widget_unref); - gtk_paned_pack1(GTK_PANED(p1), da, TRUE, FALSE); gtk_widget_set_usize(da, 320, 240); gtk_widget_set_events(da, GDK_EXPOSURE_MASK | GDK_CONFIGURE); gtk_signal_connect(GTK_OBJECT(da), "configure_event", GTK_SIGNAL_FUNC(drawing_area_configure_event), NULL); gtk_signal_connect(GTK_OBJECT(da), "expose_event", GTK_SIGNAL_FUNC(drawing_area_expose_event), NULL); + gtk_box_pack_start(GTK_BOX(hbox), da, TRUE, TRUE, 2); + /* vertical scaler */ + vscroll = gtk_vscale_new(GTK_ADJUSTMENT( + gtk_adjustment_new(0, 0, 300, 3, 5, 10))); + gtk_signal_connect(GTK_OBJECT(gtk_range_get_adjustment(GTK_RANGE(vscroll))) + ,"value_changed", GTK_SIGNAL_FUNC(on_scroll_changed), NULL); + gtk_widget_ref(vscroll); + gtk_object_set_data_full(GTK_OBJECT(win), "vscroll", vscroll, + (GtkDestroyNotify) gtk_widget_unref); + gtk_box_pack_start(GTK_BOX(hbox), vscroll, FALSE, FALSE, 2); + gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 2); + + /* horizontal scroller */ + hscroll = gtk_hscale_new(GTK_ADJUSTMENT( + gtk_adjustment_new(0, 0, 400, 3, 5, 10))); + gtk_widget_ref(hscroll); + gtk_signal_connect(GTK_OBJECT(gtk_range_get_adjustment(GTK_RANGE(hscroll))) + ,"value_changed", GTK_SIGNAL_FUNC(on_scroll_changed), NULL); + gtk_object_set_data_full(GTK_OBJECT(win), "hscroll", hscroll, + (GtkDestroyNotify) gtk_widget_unref); + + gtk_box_pack_start(GTK_BOX(vbox), hscroll, FALSE, FALSE, 2); + + gtk_paned_pack1(GTK_PANED(p1), vbox, TRUE, FALSE); + + gtk_widget_show(vscroll); + gtk_widget_show(hscroll); + gtk_widget_show(hbox); + gtk_widget_show(vbox); gtk_widget_show(rpd); gtk_widget_show(da); gtk_widget_show(align); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/interface.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- interface.h 18 Feb 2002 03:30:39 -0000 1.3 +++ interface.h 20 Feb 2002 00:48:20 -0000 1.4 @@ -7,7 +7,6 @@ #include <Evas.h> #include <Ebg.h> -#define D(string) fprintf(stderr, string) #define MAX_RECENT_BG_COUNT 5 int idle; |
From: <enl...@li...> - 2002-02-24 04:34:36
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Modified Files: main.c Log Message: have a version now =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/main.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- main.c 18 Feb 2002 03:30:39 -0000 1.6 +++ main.c 24 Feb 2002 04:34:33 -0000 1.7 @@ -6,6 +6,7 @@ #include "interface.h" #include "callbacks.h" #include "advanced.h" +#include "config.h" void setup_evas(Display *disp, Window win, Visual *vis, Colormap cm, int w, int h) @@ -48,7 +49,13 @@ evas_set_color(evas, o, colors[0], colors[1], colors[2], colors[3]); evas_show(evas, o); } - +void +show_version_and_exit(void) +{ + printf("%s-%s\nA background editor for Enlightenment 0.17\n", PACKAGE, + VERSION); + exit(0); +} int main(int argc, char *argv[]) { @@ -60,12 +67,20 @@ bg = NULL; bl = NULL; recent_bgs = NULL; + bgfile[0] = '\0'; + + if(argc > 1) + { + if(!strcmp(argv[1], "-v") || !strcmp(argv[1], "--version")) + show_version_and_exit(); + else + snprintf(bgfile,PATH_MAX, "%s", argv[1]); + } gtk_init(&argc, &argv); win = create_ebony_window(); - /* setup the evas stuffs */ gdk_window_get_geometry(GDK_ROOT_PARENT(), &rx, &ry, &rw, &rh, &rd); gtk_widget_realize(GTK_WIDGET(win)); @@ -84,6 +99,7 @@ gtk_widget_realize(w); + /* setup the evas stuffs */ setup_evas(GDK_WINDOW_XDISPLAY(w->window), GDK_WINDOW_XWINDOW(w->window), GDK_VISUAL_XVISUAL(gtk_widget_get_visual(win)), @@ -93,15 +109,11 @@ gtk_widget_show(win); win_ref = win; - if(argv[1]) - { - snprintf(bgfile,PATH_MAX, "%s", argv[1]); - open_bg_named(bgfile); - } - else - { + + if(!strlen(bgfile)) new_bg(NULL, NULL); - } + else + open_bg_named(bgfile); gtk_main(); |
From: <enl...@li...> - 2002-02-24 04:43:32
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Modified Files: callbacks.c interface.c Log Message: Slightly more organized recent bg list. Allow fill size greater then 1.0 Some documentation =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/callbacks.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- callbacks.c 20 Feb 2002 00:48:20 -0000 1.7 +++ callbacks.c 24 Feb 2002 04:43:30 -0000 1.8 @@ -7,6 +7,10 @@ int idle = 0; +/** + * ebony_status_clear - clear the current text in the statusbar + * @data - ignored + */ gint ebony_status_clear(gpointer data) { @@ -14,6 +18,11 @@ return FALSE; UN(data); } +/** + * ebony_status_message - display a message in the statusbar + * @message - the text to display in the statusbar + * @delay - the timeout before the text is deleted + */ void ebony_status_message(gchar *message, gint delay) { @@ -23,13 +32,22 @@ UN(delay); UN(message); } +/** + * redraw - render the evas + * @data - ignored + */ int redraw(void *data) { evas_render(evas); return(FALSE); } - +/** + * drawing_area_configure_event - resize the bg's evas request + * @w - ignored + * @ev - ignored + * @data - ignored + */ gboolean drawing_area_configure_event(GtkWidget *w, GdkEventConfigure *ev, gpointer data) { @@ -40,6 +58,12 @@ DRAW(); return(FALSE); } +/** + * drawing_area_expose_event - expose event on the bg's evas + * @w - ignored + * @ev - ignored + * @data - ignored + */ gboolean drawing_area_expose_event(GtkWidget *w, GdkEventExpose *ev, gpointer data) { @@ -48,6 +72,11 @@ DRAW(); return(FALSE); } +/** + * save_bg - save the current background in context to disk + * @w - ignored + * @data - ignored + */ void save_bg(GtkWidget *w, gpointer data) { @@ -65,49 +94,39 @@ UN(w); UN(data); } +/** + * save_as_ok_clicked - ok clicked on the save as file selection + * @w - the ok button + * @data - the file selection + */ void save_as_ok_clicked(GtkWidget *w, gpointer data) { - E_Background _bg; gchar *file; gchar errstr[1024]; file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data)); if(!file) return; - - _bg = bg; fill_background_images(bg); + clear_bg_db_keys(bg); e_bg_save(bg, (char*)file); - bg = e_bg_load((char*)file); - if(bg) - { - char buf[PATH_MAX]; - if(_bg) e_bg_free(_bg); - e_bg_add_to_evas(bg, evas); - e_bg_set_layer(bg, 0); - e_bg_show(bg); - DRAW(); - - g_snprintf(errstr, 1024, "Saved background: %s", (char*)file); - ebony_status_message(errstr, EBONY_STATUS_TO); - snprintf(buf, PATH_MAX, "Ebony - %s", (char*)file); - gtk_window_set_title(GTK_WINDOW(win_ref), buf); - } - else - { - g_snprintf(errstr, 1024, "Unable to save %s", (char*)file); - ebony_status_message(errstr, EBONY_STATUS_TO); - bg = _bg; - } + open_bg_named((char*)file); + g_snprintf(errstr, 1024, "Saved background: %s", (char*)file); + ebony_status_message(errstr, EBONY_STATUS_TO); + gtk_widget_destroy(GTK_WIDGET(data)); return; UN(w); UN(data); } - +/** + * save_as_cancel_clicked - cancel clicked on save as file selection + * @w - ignored + * @data - the file selection to destroy + */ void save_as_cancel_clicked(GtkWidget *w, gpointer data) { @@ -116,7 +135,11 @@ UN(w); UN(data); } - +/** + * save_bg_as - save as request, create a file selection + * @w - ignored + * @data - ignored + */ void save_bg_as(GtkWidget *w, gpointer data) { @@ -135,6 +158,12 @@ UN(w); UN(data); } +/** + * advanced_widgets_show_for_images - show widgets for an image layer + * Only certain widgets in the advanced interface are applicable to layers + * that are of type E_BACKGROUND_TYPE_IMAGE hide the rest so it's less + * confusing. + */ void advanced_widgets_show_for_image(void) { @@ -155,6 +184,12 @@ w = gtk_object_get_data(GTK_OBJECT(win_ref), "size_orig_h"); if(w) gtk_widget_set_sensitive(w, TRUE); } +/** + * advanced_widgets_show_for_gradient - show widgets for a gradient layer + * Only certain widgets in the advanced interface are applicable to layers + * that are of type E_BACKGROUND_TYPE_GRADIENT hide the rest so it's less + * confusing. + */ void advanced_widgets_show_for_gradient(void) { @@ -175,6 +210,12 @@ w = gtk_object_get_data(GTK_OBJECT(win_ref), "size_orig_h"); if(w) gtk_widget_set_sensitive(w, FALSE); } +/** + * advanced_widgets_show_for_color - show widgets for a color layer + * Only certain widgets in the advanced interface are applicable to layers + * that are of type E_BACKGROUND_TYPE_SOLID hide the rest so it's less + * confusing. + */ void advanced_widgets_show_for_color(void) { @@ -195,6 +236,11 @@ w = gtk_object_get_data(GTK_OBJECT(win_ref), "size_orig_h"); if(w) gtk_widget_set_sensitive(w, FALSE); } +/** + * new_bg - create a new E_Background and show it in the evas + * @w - ignored + * @data - ignored + */ void new_bg(GtkWidget *w, void *data) { @@ -217,6 +263,74 @@ UN(w); UN(data); } + +/** + * add_bg_filename_to_recent_menu - recent menu in realtime + * @filename - the file to add to the recently load bg menu + * Add filename to the recent menu so multiple bgs opened in one session are + * avaiable from the menu list + */ +void +add_bg_filename_to_recent_menu(char *filename) +{ + GtkWidget *mi; + GtkWidget *menu; + char *short_name; + + short_name = get_shortname_for(filename); + mi = gtk_menu_item_new_with_label(short_name); + + menu = gtk_object_get_data(GTK_OBJECT(win_ref), "recent_menu"); + gtk_menu_append(GTK_MENU(menu), mi); + gtk_signal_connect(GTK_OBJECT(mi), "activate", + GTK_SIGNAL_FUNC(open_bg), (gpointer)filename); + gtk_widget_show(mi); +} +/** + * handle_recent_bgs_append - append the file to recent bg list + * @name - the filename on disk + * If the file name already exists in the list, remove it and append it to + * the list, if the list is full pop the first element and append the + * filename to the recent_bgs list + */ +static void +handle_recent_bgs_append(char *name) +{ + GList *l; + int ok, length; + char *str; + + ok = 1; + for(l = recent_bgs; l; l = l->next) + { + if(!strcmp((char*)l->data, name)) + { + recent_bgs = g_list_remove(recent_bgs, l->data); + free((char*)l->data); + ok = 0; + } + } + if(!ok) + { + char *bg_to_pop = NULL; + length = 0; + for(l = recent_bgs; (l) && (length < 5); l = l->next) length++; + if(length == 4) + { + bg_to_pop = g_list_nth_data(recent_bgs, 0); + recent_bgs = g_list_remove(recent_bgs, (gpointer)bg_to_pop); + free((char*)bg_to_pop); + } + } + str = strdup((char*)name); + recent_bgs = g_list_append(recent_bgs, str); +} +/** + * open_bg_named - have ebony load the bg named name + * @name - the filename on disk + * Handle the freeing of the old bg, and loading of the new bg, plus keep up + * with the recently used bg stuff + */ void open_bg_named(char *name) { @@ -231,15 +345,29 @@ snprintf(buf, 256, "Ebony - %s", name); gtk_window_set_title(GTK_WINDOW(win_ref), buf); + add_bg_filename_to_recent_menu(name); + handle_recent_bgs_append(name); e_bg_free(bg); display_bg(_bg); bg = _bg; } + else + { + gchar errstr[1024]; + + g_snprintf(errstr, 1024, "Unable to load %s", name); + ebony_status_message(errstr, EBONY_STATUS_TO); + } return; UN(name); } +/** + * filemenu_load_cancel_clicked - select a file and click cancel + * @w - the ok button + * @data - pointer to the fileselection the user chose from + */ static void filemenu_load_cancel_clicked(GtkWidget *w, gpointer data) { @@ -248,53 +376,29 @@ UN(w); UN(data); } - +/** + * filemenu_load_ok_clicked - select a file and click ok + * @w - the ok button + * @data - pointer to the fileselection the user chose from + */ static void filemenu_load_ok_clicked(GtkWidget *w, gpointer data) { - gchar *file; - E_Background _bg; - - file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data)); - - _bg = bg; - - _bg = e_bg_load((char*)file); - if(_bg) - { - GList *l; - int length = 0; - char *file_on_disk; - - if(bg) e_bg_free(bg); - display_bg(_bg); - bg = _bg; - for(l = recent_bgs; (l) && (length < 5); l = l->next) length++; - if(length == 4) /* full list */ - { - char *bg_to_pop = NULL; - bg_to_pop = g_list_nth_data(recent_bgs, 0); - recent_bgs = g_list_remove(recent_bgs, (gpointer)bg_to_pop); - free((char*)bg_to_pop); - } - file_on_disk = strdup((char*)file); - recent_bgs = g_list_append(recent_bgs, file_on_disk); - } - else - { - gchar errstr[1024]; - - g_snprintf(errstr, 1024, "Unable to load %s", (char*)file); - ebony_status_message(errstr, EBONY_STATUS_TO); - } + gchar *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data)); + if(file) open_bg_named((char*)file); gtk_widget_destroy(GTK_WIDGET(data)); return; UN(w); UN(data); } +/** + * open_bg_cb - create a file selection to open a background + * @w - ignored + * @data - ignored + */ void -open_bg(GtkWidget *w, gpointer data) +open_bg_cb(GtkWidget *w, gpointer data) { GtkWidget *fs; @@ -311,8 +415,13 @@ UN(w); UN(data); } +/** + * open_bg - open background file data points to + * @w - Any widget + * @data - The char* string for the filename on disk + */ void -open_bg_cb(GtkWidget *w, gpointer data) +open_bg(GtkWidget *w, gpointer data) { if(!data) return; open_bg_named((char*)data); @@ -320,6 +429,11 @@ UN(w); UN(data); } +/** + * get_range_value - get the value from the named GtkRange + * @named - the name of the gtk range + * Returns the double value of the range + */ double get_range_value(char *named) { @@ -331,6 +445,11 @@ result = (gtk_range_get_adjustment(GTK_RANGE(w))->value); return(result); } +/** + * on_scroll_changed - set the scroll for the image layer + * @w - the modified range + * @data - ignored + */ void on_scroll_changed(GtkWidget *w, gpointer data) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/interface.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- interface.c 20 Feb 2002 00:48:20 -0000 1.6 +++ interface.c 24 Feb 2002 04:43:31 -0000 1.7 @@ -15,17 +15,42 @@ UN(w); UN(data); } - +static GtkWidget * +add_recent_bgs_to_filemenu(GtkWidget *win) +{ + GList *l; + GtkWidget *menu, *mi; + + menu = gtk_menu_new(); + gtk_widget_ref(menu); + gtk_object_set_data_full(GTK_OBJECT(win), "recent_menu", menu, + (GtkDestroyNotify)gtk_widget_unref); + + recent_bgs = parse_ebony_bg_list_db(); + for(l = recent_bgs; l; l = l->next) + { + char *txt = (char*)l->data; + char *short_txt = get_shortname_for(txt); + mi = gtk_menu_item_new_with_label(short_txt); + gtk_menu_append(GTK_MENU(menu), mi); + gtk_signal_connect(GTK_OBJECT(mi), "activate", + GTK_SIGNAL_FUNC(open_bg), (gpointer)txt); + gtk_widget_show(mi); + } + + gtk_widget_show(menu); + + return(menu); +} /** * create_ebony_filemenu - Create the Filemenu widget and return it * return Completely built menu, AND widget needs to be shown elsewhere */ static GtkWidget * -create_ebony_filemenu(void) +create_ebony_filemenu(GtkWidget *win) { GtkWidget *result; - GtkWidget *menu, *m, *mi; - GList *l; + GtkWidget *menu, *m, *mi, *recent_menu; result = gtk_menu_bar_new(); @@ -44,26 +69,20 @@ mi = gtk_menu_item_new_with_label("Open"); gtk_menu_append(GTK_MENU(menu), mi); gtk_signal_connect(GTK_OBJECT(mi), "activate", - GTK_SIGNAL_FUNC(open_bg), NULL); + GTK_SIGNAL_FUNC(open_bg_cb), NULL); gtk_widget_show(mi); mi = gtk_menu_item_new(); gtk_menu_append(GTK_MENU(menu), mi); gtk_widget_show(mi); + + mi = gtk_menu_item_new_with_label("Recent"); + gtk_menu_append(GTK_MENU(menu), mi); + gtk_widget_show(mi); - /* FIXME Parse recent bgs list */ - recent_bgs = parse_ebony_bg_list_db(); - for(l = recent_bgs; l; l = l->next) - { - char *txt = (char*)l->data; - char *short_txt = get_shortname_for(txt); - mi = gtk_menu_item_new_with_label(short_txt); - gtk_menu_append(GTK_MENU(menu), mi); - gtk_signal_connect(GTK_OBJECT(mi), "activate", - GTK_SIGNAL_FUNC(open_bg_cb), (gpointer)txt); - gtk_widget_show(mi); - } - + recent_menu = add_recent_bgs_to_filemenu(win); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(mi), recent_menu); + gtk_widget_show(mi); /* */ mi = gtk_menu_item_new(); gtk_menu_append(GTK_MENU(menu), mi); @@ -657,7 +676,7 @@ GTK_SHRINK, 2, 2); gtk_widget_show(label); - o = gtk_adjustment_new(0.0, 0.0, 1.0, 0.01, 0.1, 2.5); + o = gtk_adjustment_new(0.0, 0.0, 100.0, 0.01, 0.1, 2.5); spin_button = gtk_spin_button_new(GTK_ADJUSTMENT(o), 0.01, 2); gtk_widget_ref(spin_button); @@ -685,7 +704,7 @@ GTK_SHRINK, 2, 2); gtk_widget_show(label); - o = gtk_adjustment_new(0.0, 0.0, 1.0, 0.01, 0.1, 2.5); + o = gtk_adjustment_new(0.0, 0.0, 100.0, 0.01, 0.1, 2.5); spin_button = gtk_spin_button_new(GTK_ADJUSTMENT(o), 0.01, 2); gtk_widget_ref(spin_button); @@ -1033,7 +1052,7 @@ gtk_signal_connect(GTK_OBJECT(result), "delete_event", GTK_SIGNAL_FUNC(app_exit), NULL); - menu = create_ebony_filemenu(); + menu = create_ebony_filemenu(result); hpaned = create_ebony_main_section(result); vbox = gtk_vbox_new(FALSE, 1); |
From: <enl...@li...> - 2002-03-04 08:19:31
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Removed Files: Makefile.am advanced.c advanced.h callbacks.c callbacks.h interface.c interface.h main.c util.c util.h Log Message: Hopefull it will never come to this again. Lots of the code is reused tho. |
From: <enl...@li...> - 2002-03-04 08:53:06
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony Removed Files: ebony.glade Makefile.am configure.in Log Message: remove these |
From: <enl...@li...> - 2002-03-04 08:56:19
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony Modified Files: ChangeLog AUTHORS Added Files: ebony.glade configure.in Makefile.am Log Message: Adding stuff =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/ChangeLog,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ChangeLog 28 Jul 2001 05:22:00 -0000 1.1 +++ ChangeLog 4 Mar 2002 08:56:17 -0000 1.2 @@ -1 +1,8 @@ - +Mon Mar 4 00:20:20 CST 2002 Corey Donohoe<at...@at...> + * Trashed old interface for a more scalable one + * Use ebony.glade to manipulate the interface + * Lots of ebony specific callbacks in gtk_util.c + * Background specific stuff, and recent bg stuff is in util.c + * Needs a good look through cause I pulled a lot of verbatim code from + the older version + * The Really simplified front tab interface needs to be implemented =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/AUTHORS,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- AUTHORS 28 Jul 2001 05:22:00 -0000 1.1 +++ AUTHORS 4 Mar 2002 08:56:17 -0000 1.2 @@ -1 +1,2 @@ Carsten Haitzler (Raster) <ra...@ra...> +Corey Donohoe (atmos) <at...@at...> |
From: <enl...@li...> - 2002-03-04 08:58:32
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Added Files: Makefile.am callbacks.c callbacks.h ebony.h gtk_util.c gtk_util.h interface.c interface.h main.c support.c support.h util.c util.h Log Message: New ui, ran indent on edited files before committing =) No need to run it on interface.c since glade is handling that |
From: <enl...@li...> - 2002-03-04 08:59:01
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Added Files: .indent.pro Log Message: add this too |
From: <enl...@li...> - 2002-03-04 09:08:03
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/intl Added Files: Makefile.in Log Message: need this too |
From: <enl...@li...> - 2002-03-04 09:08:07
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/intl Log Message: Directory /cvsroot/enlightenment/e17/apps/ebony/intl added to the repository |
From: <enl...@li...> - 2002-03-04 09:08:07
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony Added Files: acconfig.h Log Message: need this |
From: <enl...@li...> - 2002-03-04 10:50:57
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/pixmaps Added Files: ebony.bg.db Log Message: A default bg, it needs text saying Ebony, feel free to change it. |
From: <enl...@li...> - 2002-03-04 11:02:36
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Modified Files: gtk_util.c interface.c main.c Log Message: - Handle a file passed as a command line arg - Load the default ebony.bg.db if nothing is passed on the command line - Set usize for the window so things are less ugly at startup =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/gtk_util.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- gtk_util.c 4 Mar 2002 08:58:29 -0000 1.1 +++ gtk_util.c 4 Mar 2002 11:02:35 -0000 1.2 @@ -702,6 +702,12 @@ w = gtk_object_get_data(GTK_OBJECT(win_ref), "size_abs_w"); if (w) gtk_widget_set_sensitive(w, FALSE); + w = gtk_object_get_data(GTK_OBJECT(win_ref), "gradient_frame"); + if (w) + gtk_widget_hide(w); + w = gtk_object_get_data(GTK_OBJECT(win_ref), "layer_color_frame"); + if (w) + gtk_widget_hide(w); set_toggled_state("size_abs_h", 0); set_toggled_state("size_abs_w", 0); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/interface.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- interface.c 4 Mar 2002 08:58:29 -0000 1.9 +++ interface.c 4 Mar 2002 11:02:35 -0000 1.10 @@ -355,7 +355,7 @@ (GtkDestroyNotify) gtk_widget_unref); gtk_widget_show (evas); gtk_box_pack_start (GTK_BOX (hbox3), evas, TRUE, TRUE, 0); - gtk_widget_set_usize (evas, 200, 200); + gtk_widget_set_usize (evas, 250, 200); gtk_widget_set_events (evas, GDK_EXPOSURE_MASK); vscale1 = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 768, 0, 0, 0))); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/main.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- main.c 4 Mar 2002 08:58:29 -0000 1.9 +++ main.c 4 Mar 2002 11:02:35 -0000 1.10 @@ -14,6 +14,7 @@ #include "interface.h" #include "support.h" #include "ebony.h" +#include "gtk_util.h" void setup_evas(Display * disp, Window win, Visual * vis, Colormap cm, int w, @@ -77,7 +78,6 @@ { GtkWidget *win, *w; int rx, ry, rw, rh, rd; - int ww, wh; char bgfile[PATH_MAX]; bgfile[0] = '\0'; @@ -89,6 +89,8 @@ add_pixmap_directory(PACKAGE_DATA_DIR "/pixmaps"); add_pixmap_directory(PACKAGE_SOURCE_DIR "/pixmaps"); + if (argv[1]) + snprintf(bgfile, PATH_MAX, "%s", argv[1]); /* * The following code was added by Glade to create one of each component * (except popup menus), just so that you see something after building @@ -100,18 +102,6 @@ gdk_window_get_geometry(GDK_ROOT_PARENT(), &rx, &ry, &rw, &rh, &rd); gtk_widget_realize(GTK_WIDGET(win)); - if (rw > 1400) /* wider screen */ - { - ww = rw / 3; - wh = rh * 0.75; - } - else - { - ww = rw * 0.75; - wh = rh * 0.75; - } - gtk_widget_set_usize(win, ww, wh); - /* realize the drwaing areas */ w = gtk_object_get_data(GTK_OBJECT(win), "evas"); gtk_widget_realize(w); @@ -147,10 +137,13 @@ /* load the file passed as argv[1] or create a new bg */ if (!strlen(bgfile)) - new_bg(NULL, NULL); + open_bg_named(PACKAGE_DATA_DIR "/pixmaps/ebony.bg.db"); else open_bg_named(bgfile); + + set_spin_value("layer_num", 0); + gtk_widget_set_usize(win, 600, 380); gtk_main(); return 0; |
From: <enl...@li...> - 2002-03-08 08:43:27
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/pixmaps Modified Files: ebony.bg.db Log Message: updated default bg.db =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/pixmaps/ebony.bg.db,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 Binary files /tmp/cvssRJR9d and /tmp/cvsSo2Ntj differ |
From: <enl...@li...> - 2002-03-08 08:50:23
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony Modified Files: ChangeLog ebony.glade Log Message: cleaner ui and more functionality =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/ChangeLog,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ChangeLog 4 Mar 2002 08:56:17 -0000 1.2 +++ ChangeLog 8 Mar 2002 08:50:22 -0000 1.3 @@ -6,3 +6,14 @@ * Needs a good look through cause I pulled a lot of verbatim code from the older version * The Really simplified front tab interface needs to be implemented + +Fri Mar 8 02:43:40 CST 2002 Corey Donohoe<at...@at...> + * Moved to a "gimp-like" interface where the workspace is not attached to + the controls. + * Added a default bg to load if no file is passed as a command line arg + * It leaks somewhere in loading/freeing of dbs + - It doesn't seem to take out the app + - Ctrl-n alone won't leak have to load off disk + * Really simplified version might be a bunch of buttons with dialogue boxes + to walk the user through tiling an image or scaling it, just having a + certain color etc. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/ebony.glade,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- ebony.glade 4 Mar 2002 08:56:17 -0000 1.3 +++ ebony.glade 8 Mar 2002 08:50:22 -0000 1.4 @@ -16,15 +16,20 @@ <widget> <class>GtkWindow</class> <name>main_win</name> + <x>0</x> + <y>40</y> + <width>280</width> <signal> <name>delete_event</name> <handler>on_main_win_delete_event</handler> <last_modification_time>Sun, 03 Mar 2002 20:50:43 GMT</last_modification_time> </signal> - <title>Ebony</title> + <title>Ebony Controls</title> <type>GTK_WINDOW_TOPLEVEL</type> <position>GTK_WIN_POS_NONE</position> <modal>False</modal> + <default_width>300</default_width> + <default_height>300</default_height> <allow_shrink>True</allow_shrink> <allow_grow>True</allow_grow> <auto_shrink>False</auto_shrink> @@ -201,11 +206,16 @@ </widget> <widget> - <class>GtkHPaned</class> - <name>hpaned1</name> - <handle_size>10</handle_size> - <gutter_size>6</gutter_size> - <position>0</position> + <class>GtkNotebook</class> + <name>notebook1</name> + <can_focus>True</can_focus> + <show_tabs>True</show_tabs> + <show_border>True</show_border> + <tab_pos>GTK_POS_TOP</tab_pos> + <scrollable>False</scrollable> + <tab_hborder>2</tab_hborder> + <tab_vborder>2</tab_vborder> + <popup_enable>False</popup_enable> <child> <padding>0</padding> <expand>True</expand> @@ -213,58 +223,61 @@ </child> <widget> - <class>GtkVPaned</class> - <name>vpaned1</name> - <handle_size>10</handle_size> - <gutter_size>6</gutter_size> - <position>100</position> - <child> - <shrink>False</shrink> - <resize>True</resize> - </child> + <class>Placeholder</class> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label1</name> + <label>Settings</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkVBox</class> + <name>vbox2</name> + <border_width>3</border_width> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <widget> <class>GtkVBox</class> - <name>vbox4</name> + <name>vbox3</name> <homogeneous>False</homogeneous> <spacing>0</spacing> <child> - <shrink>False</shrink> - <resize>True</resize> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> </child> <widget> <class>GtkHBox</class> - <name>hbox3</name> + <name>hbox1</name> <homogeneous>False</homogeneous> <spacing>0</spacing> <child> <padding>0</padding> - <expand>True</expand> - <fill>True</fill> + <expand>False</expand> + <fill>False</fill> </child> <widget> - <class>GtkDrawingArea</class> - <name>evas</name> - <width>200</width> - <height>200</height> - <events>GDK_EXPOSURE_MASK</events> - <signal> - <name>configure_event</name> - <handler>on_bg_evas_configure_event</handler> - <last_modification_time>Sun, 03 Mar 2002 02:38:40 GMT</last_modification_time> - </signal> - <signal> - <name>drag_data_received</name> - <handler>on_bg_evas_drag_data_received</handler> - <last_modification_time>Sun, 03 Mar 2002 02:39:12 GMT</last_modification_time> - </signal> - <signal> - <name>expose_event</name> - <handler>on_evas_expose_event</handler> - <last_modification_time>Mon, 04 Mar 2002 01:16:54 GMT</last_modification_time> - </signal> + <class>GtkLabel</class> + <name>label3</name> + <label>Layer Number</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> <child> <padding>0</padding> <expand>True</expand> @@ -273,1626 +286,1605 @@ </widget> <widget> - <class>GtkVScale</class> - <name>vscale1</name> + <class>GtkSpinButton</class> + <name>layer_num</name> <can_focus>True</can_focus> - <draw_value>True</draw_value> - <value_pos>GTK_POS_TOP</value_pos> + <signal> + <name>changed</name> + <handler>on_layer_num_spin_button_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:06:28 GMT</last_modification_time> + </signal> + <climb_rate>1</climb_rate> <digits>0</digits> - <policy>GTK_UPDATE_CONTINUOUS</policy> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> <value>0</value> <lower>0</lower> - <upper>768</upper> - <step>0</step> - <page>0</page> - <page_size>0</page_size> + <upper>100</upper> + <step>1</step> + <page>10</page> + <page_size>10</page_size> <child> <padding>0</padding> <expand>False</expand> <fill>True</fill> </child> </widget> + + <widget> + <class>GtkButton</class> + <name>button3</name> + <can_focus>True</can_focus> + <signal> + <name>clicked</name> + <handler>on_layer_add_clicked</handler> + <last_modification_time>Sun, 03 Mar 2002 20:05:58 GMT</last_modification_time> + </signal> + <label>Add</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkButton</class> + <name>button4</name> + <can_focus>True</can_focus> + <signal> + <name>clicked</name> + <handler>on_layer_delete_clicked</handler> + <last_modification_time>Sun, 03 Mar 2002 20:06:09 GMT</last_modification_time> + </signal> + <label>Delete</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> </widget> <widget> - <class>GtkHScale</class> - <name>hscale1</name> - <can_focus>True</can_focus> - <draw_value>True</draw_value> - <value_pos>GTK_POS_TOP</value_pos> - <digits>0</digits> - <policy>GTK_UPDATE_CONTINUOUS</policy> - <value>0</value> - <lower>0</lower> - <upper>1200</upper> - <step>0</step> - <page>0</page> - <page_size>0</page_size> + <class>GtkHBox</class> + <name>hbox2</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <child> <padding>0</padding> <expand>False</expand> <fill>True</fill> </child> - </widget> - </widget> - - <widget> - <class>Placeholder</class> - </widget> - </widget> - - <widget> - <class>GtkAlignment</class> - <name>control_alignment</name> - <border_width>1</border_width> - <xalign>1</xalign> - <yalign>0</yalign> - <xscale>0</xscale> - <yscale>1</yscale> - <child> - <shrink>True</shrink> - <resize>True</resize> - </child> - <widget> - <class>GtkNotebook</class> - <name>notebook1</name> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> + <widget> + <class>GtkButton</class> + <name>button1</name> + <can_focus>True</can_focus> + <signal> + <name>clicked</name> + <handler>on_move_layer_up_clicked</handler> + <last_modification_time>Sun, 03 Mar 2002 20:05:20 GMT</last_modification_time> + </signal> + <label>Move Layer Up</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> - <widget> - <class>Placeholder</class> + <widget> + <class>GtkButton</class> + <name>button2</name> + <can_focus>True</can_focus> + <signal> + <name>clicked</name> + <handler>on_move_layer_downclicked</handler> + <last_modification_time>Sun, 03 Mar 2002 20:05:33 GMT</last_modification_time> + </signal> + <label>Move Layer Down</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> </widget> + </widget> - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label1</name> - <label>Settings</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> + <widget> + <class>GtkFrame</class> + <name>frame11</name> + <border_width>4</border_width> + <label>Layer Settings</label> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>2</padding> + <expand>False</expand> + <fill>True</fill> + </child> <widget> <class>GtkVBox</class> - <name>vbox2</name> - <border_width>3</border_width> + <name>vbox10</name> <homogeneous>False</homogeneous> <spacing>0</spacing> <widget> - <class>GtkVBox</class> - <name>vbox3</name> + <class>GtkHBox</class> + <name>hbox14</name> <homogeneous>False</homogeneous> <spacing>0</spacing> <child> <padding>0</padding> - <expand>False</expand> + <expand>True</expand> <fill>True</fill> </child> <widget> - <class>GtkHBox</class> - <name>hbox1</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> + <class>GtkRadioButton</class> + <name>type_image</name> + <can_focus>True</can_focus> + <signal> + <name>toggled</name> + <handler>on_layer_type_toggled</handler> + <last_modification_time>Mon, 04 Mar 2002 02:25:27 GMT</last_modification_time> + </signal> + <label>Image</label> + <active>False</active> + <draw_indicator>True</draw_indicator> <child> <padding>0</padding> - <expand>False</expand> + <expand>True</expand> <fill>False</fill> </child> - - <widget> - <class>GtkLabel</class> - <name>label3</name> - <label>Layer Number</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>layer_num</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_layer_num_spin_button_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:06:28 GMT</last_modification_time> - </signal> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>100</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>button3</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>on_layer_add_clicked</handler> - <last_modification_time>Sun, 03 Mar 2002 20:05:58 GMT</last_modification_time> - </signal> - <label>Add</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>button4</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>on_layer_delete_clicked</handler> - <last_modification_time>Sun, 03 Mar 2002 20:06:09 GMT</last_modification_time> - </signal> - <label>Delete</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> </widget> <widget> - <class>GtkHBox</class> - <name>hbox2</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> + <class>GtkRadioButton</class> + <name>type_color</name> + <can_focus>True</can_focus> + <signal> + <name>toggled</name> + <handler>on_layer_type_toggled</handler> + <last_modification_time>Mon, 04 Mar 2002 02:25:23 GMT</last_modification_time> + </signal> + <label>Color</label> + <active>False</active> + <draw_indicator>True</draw_indicator> <child> <padding>0</padding> - <expand>False</expand> - <fill>True</fill> + <expand>True</expand> + <fill>False</fill> </child> + </widget> - <widget> - <class>GtkButton</class> - <name>button1</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>on_move_layer_up_clicked</handler> - <last_modification_time>Sun, 03 Mar 2002 20:05:20 GMT</last_modification_time> - </signal> - <label>Move Layer Up</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>button2</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>on_move_layer_downclicked</handler> - <last_modification_time>Sun, 03 Mar 2002 20:05:33 GMT</last_modification_time> - </signal> - <label>Move Layer Down</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> + <widget> + <class>GtkRadioButton</class> + <name>type_gradient</name> + <can_focus>True</can_focus> + <signal> + <name>toggled</name> + <handler>on_layer_type_toggled</handler> + <last_modification_time>Mon, 04 Mar 2002 02:25:18 GMT</last_modification_time> + </signal> + <label>Gradient</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>False</fill> + </child> </widget> </widget> <widget> - <class>GtkFrame</class> - <name>frame11</name> - <border_width>4</border_width> - <label>Layer Settings</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <class>GtkNotebook</class> + <name>notebook2</name> + <can_focus>True</can_focus> + <show_tabs>True</show_tabs> + <show_border>True</show_border> + <tab_pos>GTK_POS_TOP</tab_pos> + <scrollable>False</scrollable> + <tab_hborder>2</tab_hborder> + <tab_vborder>2</tab_vborder> + <popup_enable>False</popup_enable> <child> - <padding>2</padding> - <expand>False</expand> + <padding>0</padding> + <expand>True</expand> <fill>True</fill> </child> <widget> - <class>GtkVBox</class> - <name>vbox10</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> + <class>GtkFrame</class> + <name>image_file_frame</name> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> <widget> - <class>GtkHBox</class> - <name>hbox14</name> + <class>GtkVBox</class> + <name>vbox5</name> <homogeneous>False</homogeneous> <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> <widget> - <class>GtkRadioButton</class> - <name>type_image</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_layer_type_toggled</handler> - <last_modification_time>Mon, 04 Mar 2002 02:25:27 GMT</last_modification_time> - </signal> - <label>Image</label> - <active>False</active> - <draw_indicator>True</draw_indicator> + <class>GtkHBox</class> + <name>hbox5</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <child> <padding>0</padding> - <expand>True</expand> - <fill>False</fill> + <expand>False</expand> + <fill>True</fill> </child> + + <widget> + <class>GtkEntry</class> + <name>image_file</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_image_file_entry_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:06:46 GMT</last_modification_time> + </signal> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>1024</text_max_length> + <text></text> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkButton</class> + <name>button5</name> + <can_focus>True</can_focus> + <signal> + <name>clicked</name> + <handler>on_file_select_button_clicked</handler> + <last_modification_time>Sun, 03 Mar 2002 20:07:03 GMT</last_modification_time> + </signal> + <label>Select</label> + <relief>GTK_RELIEF_NORMAL</relief> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> </widget> <widget> - <class>GtkRadioButton</class> - <name>type_color</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_layer_type_toggled</handler> - <last_modification_time>Mon, 04 Mar 2002 02:25:23 GMT</last_modification_time> - </signal> - <label>Color</label> - <active>False</active> - <draw_indicator>True</draw_indicator> + <class>GtkHBox</class> + <name>hbox6</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <child> <padding>0</padding> - <expand>True</expand> - <fill>False</fill> + <expand>False</expand> + <fill>True</fill> </child> + + <widget> + <class>GtkCheckButton</class> + <name>inline_image</name> + <can_focus>True</can_focus> + <signal> + <name>toggled</name> + <handler>on_inline_image_toggled</handler> + <last_modification_time>Sun, 03 Mar 2002 20:07:15 GMT</last_modification_time> + </signal> + <label>Inline Image</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>False</fill> + </child> + </widget> + + <widget> + <class>Placeholder</class> + </widget> </widget> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label4</name> + <label>Image</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkFrame</class> + <name>frame4</name> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + + <widget> + <class>GtkVBox</class> + <name>vbox6</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <widget> - <class>GtkRadioButton</class> - <name>type_gradient</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_layer_type_toggled</handler> - <last_modification_time>Mon, 04 Mar 2002 02:25:18 GMT</last_modification_time> - </signal> - <label>Gradient</label> - <active>False</active> - <draw_indicator>True</draw_indicator> + <class>GtkCombo</class> + <name>combo1</name> + <value_in_list>False</value_in_list> + <ok_if_empty>True</ok_if_empty> + <case_sensitive>False</case_sensitive> + <use_arrows>True</use_arrows> + <use_arrows_always>False</use_arrows_always> + <items>Base_Layer +Tintable_Gradient +</items> <child> <padding>0</padding> - <expand>True</expand> + <expand>False</expand> <fill>False</fill> </child> + + <widget> + <class>GtkEntry</class> + <child_name>GtkCombo:entry</child_name> + <name>color_class_combo</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_color_class_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:07:33 GMT</last_modification_time> + </signal> + <editable>True</editable> + <text_visible>True</text_visible> + <text_max_length>0</text_max_length> + <text>Base_Layer</text> + </widget> </widget> </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label5</name> + <label>Color Class</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkFrame</class> + <name>layer_scroll_follow</name> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> <widget> - <class>GtkNotebook</class> - <name>notebook2</name> - <can_focus>True</can_focus> - <show_tabs>True</show_tabs> - <show_border>True</show_border> - <tab_pos>GTK_POS_TOP</tab_pos> - <scrollable>False</scrollable> - <tab_hborder>2</tab_hborder> - <tab_vborder>2</tab_vborder> - <popup_enable>False</popup_enable> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> + <class>GtkVBox</class> + <name>vbox12</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <widget> - <class>GtkFrame</class> - <name>image_file_frame</name> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <class>GtkHBox</class> + <name>hbox7</name> + <border_width>3</border_width> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> <widget> - <class>GtkVBox</class> - <name>vbox5</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkHBox</class> - <name>hbox5</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> + <class>GtkLabel</class> + <name>label10</name> + <label>X:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> - <widget> - <class>GtkEntry</class> - <name>image_file</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_image_file_entry_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:06:46 GMT</last_modification_time> - </signal> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text></text> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkButton</class> - <name>button5</name> - <can_focus>True</can_focus> - <signal> - <name>clicked</name> - <handler>on_file_select_button_clicked</handler> - <last_modification_time>Sun, 03 Mar 2002 20:07:03 GMT</last_modification_time> - </signal> - <label>Select</label> - <relief>GTK_RELIEF_NORMAL</relief> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - </widget> + <widget> + <class>GtkSpinButton</class> + <name>scroll_x</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_scroll_x_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:08:15 GMT</last_modification_time> + </signal> + <climb_rate>1</climb_rate> + <digits>2</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>0</value> + <lower>0</lower> + <upper>99999</upper> + <step>0.1</step> + <page>1</page> + <page_size>10</page_size> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> - <widget> - <class>GtkHBox</class> - <name>hbox6</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> + <widget> + <class>GtkLabel</class> + <name>label11</name> + <label>Y:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> - <widget> - <class>GtkCheckButton</class> - <name>inline_image</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_inline_image_toggled</handler> - <last_modification_time>Sun, 03 Mar 2002 20:07:15 GMT</last_modification_time> - </signal> - <label>Inline Image</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>Placeholder</class> - </widget> - </widget> + <widget> + <class>GtkSpinButton</class> + <name>scroll_y</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_scroll_y_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:08:27 GMT</last_modification_time> + </signal> + <climb_rate>1</climb_rate> + <digits>2</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>0</value> + <lower>0</lower> + <upper>99999</upper> + <step>0.1</step> + <page>1</page> + <page_size>10</page_size> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> </widget> </widget> <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label4</name> - <label>Image</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> + <class>Placeholder</class> </widget> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label6</name> + <label>Scroll</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkFrame</class> + <name>frame6</name> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + + <widget> + <class>GtkVBox</class> + <name>vbox7</name> + <border_width>4</border_width> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <widget> - <class>GtkFrame</class> - <name>frame4</name> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <class>GtkHBox</class> + <name>hbox8</name> + <border_width>2</border_width> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> <widget> - <class>GtkVBox</class> - <name>vbox6</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> + <class>GtkLabel</class> + <name>label12</name> + <label>X:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> - <widget> - <class>GtkCombo</class> - <name>combo1</name> - <value_in_list>False</value_in_list> - <ok_if_empty>True</ok_if_empty> - <case_sensitive>False</case_sensitive> - <use_arrows>True</use_arrows> - <use_arrows_always>False</use_arrows_always> - <items>Base_Layer -Tintable_Gradient -</items> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> + <widget> + <class>GtkSpinButton</class> + <name>pos_x</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_pos_x_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:08:51 GMT</last_modification_time> + </signal> + <climb_rate>0.01</climb_rate> + <digits>2</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>0</value> + <lower>0</lower> + <upper>1</upper> + <step>0.01</step> + <page>1</page> + <page_size>1</page_size> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> - <widget> - <class>GtkEntry</class> - <child_name>GtkCombo:entry</child_name> - <name>color_class_combo</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_color_class_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:07:33 GMT</last_modification_time> - </signal> - <editable>True</editable> - <text_visible>True</text_visible> - <text_max_length>0</text_max_length> - <text>Base_Layer</text> - </widget> - </widget> + <widget> + <class>GtkLabel</class> + <name>label13</name> + <label>Y:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> </widget> - </widget> - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label5</name> - <label>Color Class</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> + <widget> + <class>GtkSpinButton</class> + <name>pos_y</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_pos_y_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:09:02 GMT</last_modification_time> + </signal> + <climb_rate>0.01</climb_rate> + <digits>2</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>0</value> + <lower>0</lower> + <upper>1</upper> + <step>0.01</step> + <page>1</page> + <page_size>1</page_size> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> </widget> <widget> <class>GtkFrame</class> - <name>layer_scroll_follow</name> + <name>frame2</name> + <border_width>2</border_width> + <label>Absolute Offset From Position:</label> <label_xalign>0</label_xalign> <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> <widget> - <class>GtkVBox</class> - <name>vbox12</name> + <class>GtkHBox</class> + <name>hbox9</name> + <border_width>3</border_width> <homogeneous>False</homogeneous> <spacing>0</spacing> <widget> - <class>GtkHBox</class> - <name>hbox7</name> - <border_width>3</border_width> - <homogeneous>False</homogeneous> - <spacing>0</spacing> + <class>GtkLabel</class> + <name>label14</name> + <label>X:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> <child> <padding>0</padding> - <expand>False</expand> + <expand>True</expand> <fill>True</fill> </child> - - <widget> - <class>GtkLabel</class> - <name>label10</name> - <label>X:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>scroll_x</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_scroll_x_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:08:15 GMT</last_modification_time> - </signal> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>99999</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label11</name> - <label>Y:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>scroll_y</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_scroll_y_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:08:27 GMT</last_modification_time> - </signal> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>99999</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> </widget> <widget> - <class>Placeholder</class> - </widget> - </widget> - </widget> - - <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label6</name> - <label>Scroll</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - - <widget> - <class>GtkFrame</class> - <name>frame6</name> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - - <widget> - <class>GtkVBox</class> - <name>vbox7</name> - <border_width>4</border_width> - <homogeneous>False</homogeneous> - <spacing>0</spacing> + <class>GtkSpinButton</class> + <name>abs_x</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_pos_abs_x_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:09:14 GMT</last_modification_time> + </signal> + <climb_rate>1</climb_rate> + <digits>0</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>0</value> + <lower>-9999</lower> + <upper>99999</upper> + <step>1</step> + <page>1</page> + <page_size>10</page_size> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> <widget> - <class>GtkHBox</class> - <name>hbox8</name> - <border_width>2</border_width> - <homogeneous>False</homogeneous> - <spacing>0</spacing> + <class>GtkLabel</class> + <name>label15</name> + <label>Y:</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> <child> <padding>0</padding> - <expand>False</expand> + <expand>True</expand> <fill>True</fill> </child> - - <widget> - <class>GtkLabel</class> - <name>label12</name> - <label>X:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>pos_x</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_pos_x_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:08:51 GMT</last_modification_time> - </signal> - <climb_rate>0.01</climb_rate> - <digits>2</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>99999</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label13</name> - <label>Y:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>pos_y</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_pos_y_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:09:02 GMT</last_modification_time> - </signal> - <climb_rate>0.01</climb_rate> - <digits>2</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>99999</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> </widget> <widget> - <class>GtkFrame</class> - <name>frame2</name> - <border_width>2</border_width> - <label>Absolute Offset From Position:</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <class>GtkSpinButton</class> + <name>abs_y</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_pos_abs_y_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:09:32 GMT</last_modification_time> + </signal> + <climb_rate>1</climb_rate> + <digits>0</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>0</value> + <lower>-9999</lower> + <upper>99999</upper> + <step>1</step> + <page>1</page> + <page_size>10</page_size> <child> <padding>0</padding> - <expand>False</expand> + <expand>True</expand> <fill>True</fill> </child> - - <widget> - <class>GtkHBox</class> - <name>hbox9</name> - <border_width>3</border_width> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkLabel</class> - <name>label14</name> - <label>X:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>abs_x</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_pos_abs_x_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:09:14 GMT</last_modification_time> - </signal> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>99999</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label15</name> - <label>Y:</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>abs_y</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_pos_abs_y_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:09:32 GMT</last_modification_time> - </signal> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>99999</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - </widget> </widget> </widget> </widget> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label7</name> + <label>Position</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkFrame</class> + <name>frame7</name> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + + <widget> + <class>GtkVBox</class> + <name>vbox8</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name>label7</name> - <label>Position</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> + <class>GtkHBox</class> + <name>hbox10</name> + <homogeneous>False</homogeneous> + <spacing>0</spacing> + <child> + <padding>0</padding> + <expand>False</expand> + <fill>True</fill> + </child> + + <widget> + <class>GtkLabel</class> + <name>label16</name> + <label>Width: </label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkSpinButton</class> + <name>size_w</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_size_w_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:10:14 GMT</last_modification_time> + </signal> + <climb_rate>1</climb_rate> + <digits>2</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>0</value> + <lower>0</lower> + <upper>9999</upper> + <step>0.01</step> + <page>1</page> + <page_size>10</page_size> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkLabel</class> + <name>label17</name> + <label>Height</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> + + <widget> + <class>GtkSpinButton</class> + <name>size_h</name> + <can_focus>True</can_focus> + <signal> + <name>changed</name> + <handler>on_size_h_changed</handler> + <last_modification_time>Sun, 03 Mar 2002 20:10:24 GMT</last_modification_time> + </signal> + <climb_rate>1</climb_rate> + <digits>2</digits> + <numeric>False</numeric> + <update_policy>GTK_UPDATE_ALWAYS</update_policy> + <snap>False</snap> + <wrap>False</wrap> + <value>0</value> + <lower>0</lower> + <upper>9999</upper> + <step>0.01</step> + <page>1</page> + <page_size>10</page_size> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> + </widget> </widget> <widget> - <class>GtkFrame</class> - <name>frame7</name> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + <class>GtkTable</class> + <name>table1</name> + <rows>2</rows> + <columns>2</columns> + <homogeneous>False</homogeneous> + <row_spacing>0</row_spacing> + <column_spacing>0</column_spacing> + <child> + <padding>0</padding> + <expand>True</expand> + <fill>True</fill> + </child> <widget> - <class>GtkVBox</class> - <name>vbox8</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkHBox</class> - <name>hbox10</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> + <class>GtkCheckButton</class> + <name>size_abs_w</name> + <can_focus>True</can_focus> + <signal> + <name>toggled</name> + <handler>on_size_abs_w_toggled</handler> + <last_modification_time>Sun, 03 Mar 2002 20:11:44 GMT</last_modification_time> + </signal> + <label>Absolute Width</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> - <widget> - <class>GtkLabel</class> - <name>label16</name> - <label>Width: </label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>size_w</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_size_w_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:10:14 GMT</last_modification_time> - </signal> - <climb_rate>1</climb_rate> - <digits>2</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>100</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label17</name> - <label>Height</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>size_h</name> - <can_focus>True</can_focus> - <signal> - <name>changed</name> - <handler>on_size_h_changed</handler> - <last_modification_time>Sun, 03 Mar 2002 20:10:24 GMT</last_modification_time> - </signal> - <climb_rate>1</climb_rate> - <digits>2</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>0</value> - <lower>0</lower> - <upper>100</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - </widget> - </widget> + <widget> + <class>GtkCheckButton</class> + <name>size_abs_h</name> + <can_focus>True</can_focus> + <signal> + <name>toggled</name> + <handler>on_size_abs_h_toggled</handler> + <last_modification_time>Sun, 03 Mar 2002 20:12:05 GMT</last_modification_time> + </signal> + <label>Absolute Height</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>1</top_attach> + <bottom_attach>2</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>True</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> - <widget> - <class>GtkTable</class> - <name>table1</name> - <rows>2</rows> - <columns>2</columns> - <homogeneous>False</homogeneous> - <row_spacing>0</row_spacing> - <column_spacing>0</column_spacing> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> + <widget> + <class>GtkCheckButton</class> + <name>size_orig_w</name> + <can_focus>True</can_focus> + <signal> + <name>toggled</name> + <handler>on_size_orig_w_toggled</handler> + <last_modification_time>Sun, 03 Mar 2002 20:11:27 GMT</last_modification_time> + </signal> + <label>Original Width</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <left_attach>0</left_attach> + <right_attach>1</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> + </widget> - <widget> - <class>GtkCheckButton</class> - <name>size_abs_w</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_size_abs_w_toggled</handler> - <last_modification_time>Sun, 03 Mar 2002 20:11:44 GMT</last_modification_time> - </signal> - <label>Absolute Width</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>size_abs_h</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_size_abs_h_toggled</handler> - <last_modification_time>Sun, 03 Mar 2002 20:12:05 GMT</last_modification_time> - </signal> - <label>Absolute Height</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>1</top_attach> - <bottom_attach>2</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>True</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>size_orig_w</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_size_orig_w_toggled</handler> - <last_modification_time>Sun, 03 Mar 2002 20:11:27 GMT</last_modification_time> - </signal> - <label>Original Width</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>size_orig_h</name> - <can_focus>True</can_focus> - <signal> - <name>toggled</name> - <handler>on_size_orig_h_toggled</handler> - <last_modification_time>Sun, 03 Mar 2002 20:10:43 GMT</last_modification_time> - </signal> - <label>Original Height</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> - <top_attach>0</top_attach> - <bottom_attach>1</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>False</yfill> - </child> - </widget> - </widget> + <widget> + <class>GtkCheckButton</class> + <name>size_orig_h</name> + <can_focus>True</can_focus> + <signal> + <name>toggled</name> + <handler>on_size_orig_h_toggled</handler> + <last_modification_time>Sun, 03 Mar 2002 20:10:43 GMT</last_modification_time> + </signal> + <label>Original Height</label> + <active>False</active> + <draw_indicator>True</draw_indicator> + <child> + <left_attach>1</left_attach> + <right_attach>2</right_attach> + <top_attach>0</top_attach> + <bottom_attach>1</bottom_attach> + <xpad>0</xpad> + <ypad>0</ypad> + <xexpand>False</xexpand> + <yexpand>False</yexpand> + <xshrink>False</xshrink> + <yshrink>False</yshrink> + <xfill>True</xfill> + <yfill>False</yfill> + </child> </widget> </widget> + </widget> + </widget> + + <widget> + <class>GtkLabel</class> + <child_name>Notebook:tab</child_name> + <name>label8</name> + <label>Size</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0.5</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> + </widget> + + <widget> + <class>GtkFrame</class> + <name>layer_fill_frame</name> + <label_xalign>0</label_xalign> + <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> + + <widget> + <class>GtkVBox</class> + <name>vbox9</name> + <border_width>3</border_width> + <homogeneous>False</homogeneous> + <spacing>0</spacing> <widget> - <class>GtkLabel</class> - <child_name>Notebook:tab</child_name> - <name... [truncated message content] |
From: <enl...@li...> - 2002-03-08 09:02:13
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Modified Files: callbacks.c callbacks.h ebony.h gtk_util.c gtk_util.h interface.c interface.h main.c util.c util.h Log Message: Same functionality, slightly more reasonable interface =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/callbacks.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- callbacks.c 4 Mar 2002 08:58:29 -0000 1.10 +++ callbacks.c 8 Mar 2002 09:02:12 -0000 1.11 @@ -3,6 +3,7 @@ #endif #include <gtk/gtk.h> +#include <gdk/gdkkeysyms.h> #include "ebony.h" #include "callbacks.h" @@ -20,6 +21,9 @@ if (bg) e_bg_free(bg); + if (!bg_ref) + rebuild_bg_ref(); + _bg = e_bg_new(); if (_bg) { @@ -29,7 +33,7 @@ _bl->size.w = _bl->size.h = 1.0; _bg->layers = evas_list_append(_bg->layers, _bl); display_bg(_bg); - gtk_window_set_title(GTK_WINDOW(win_ref), "Ebony - New Background"); + gtk_window_set_title(GTK_WINDOW(bg_ref), "Ebony - New Background"); } return; @@ -74,7 +78,8 @@ e_bg_save(bg, bg->file); g_snprintf(errstr, 1024, "Saved background: %s", (char *) bg->file); - ebony_status_message(errstr, EBONY_STATUS_TO); + if (ebony_status) + ebony_status_message(errstr, EBONY_STATUS_TO); } return; @@ -111,23 +116,12 @@ on_bg_evas_configure_event(GtkWidget * widget, GdkEventConfigure * event, gpointer user_data) { - GtkWidget *controls; - int ww, wh; - evas_set_output_viewport(evas, 0, 0, event->width, event->height); evas_set_output_size(evas, event->width, event->height); e_bg_resize(bg, event->width, event->height); if (bl) outline_evas_object(bl->obj); - /* Instead of cramming the controls, hide them if space is small */ - gdk_window_get_size(win_ref->window, &ww, &wh); - controls = gtk_object_get_data(GTK_OBJECT(win_ref), "control_alignment"); - if ((ww - event->width) < MINIMUM_CONTROL_WIDTH) - gtk_widget_hide(controls); - else - gtk_widget_show(controls); - DRAW(); return FALSE; @@ -853,4 +847,78 @@ update_background(bg); return; +} + +gboolean +on_win_bg_delete_event(GtkWidget * widget, GdkEvent * event, + gpointer user_data) +{ + if (bg) + { + e_bg_free(bg); + bg = NULL; + bl = NULL; + } + if (evas) + { + evas_free(evas); + } + gtk_widget_destroy(widget); + bg_ref = NULL; + evas = NULL; + ebony_status = NULL; + return FALSE; +} + +gboolean +on_win_bg_button_press_event(GtkWidget * widget, GdkEventKey * event, + gpointer user_data) +{ + guint mods; + + mods = event->state; + + if (mods & GDK_CONTROL_MASK) + { + /* check out gdkkeysyms.h for other key values */ + switch (event->keyval) + { + case GDK_q: + gtk_main_quit(); + break; + case GDK_w: + gtk_widget_destroy(bg_ref); + on_win_bg_delete_event(bg_ref, NULL, NULL); + break; + case GDK_n: + new_bg(NULL, NULL); + break; + case GDK_l: + case GDK_o: + on_open_bg_activate(NULL, NULL); + break; + case GDK_s: + on_save_bg_activate(NULL, NULL); + default: + break; + } + } + return FALSE; +} + +void +on_scale_scroll_request(GtkWidget * widget, gpointer user_data) +{ + if (!bg) + return; + if (!bl) + return; + + + if ((bl->scroll.x) || (bl->scroll.y)) + { + e_bg_set_scroll(bg, (int) get_range_value("xscale"), + (int) get_range_value("yscale")); + DRAW(); + } } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/callbacks.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- callbacks.h 4 Mar 2002 08:58:29 -0000 1.6 +++ callbacks.h 8 Mar 2002 09:02:12 -0000 1.7 @@ -134,3 +134,11 @@ gpointer user_data); void on_gradient_angle_changed(GtkEditable * editable, gpointer user_data); + +gboolean on_win_bg_delete_event(GtkWidget * widget, GdkEvent * event, + gpointer user_data); + +gboolean on_win_bg_button_press_event(GtkWidget * widget, GdkEventKey * event, + gpointer user_data); + +void on_scale_scroll_request(GtkWidget * widget, gpointer user_data); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/ebony.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ebony.h 4 Mar 2002 08:58:29 -0000 1.1 +++ ebony.h 8 Mar 2002 09:02:12 -0000 1.2 @@ -8,7 +8,7 @@ #include <gtk/gtk.h> GtkWidget *ebony_status; -GtkWidget *win_ref; +GtkWidget *win_ref, *bg_ref; GList *recent_bgs; =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/gtk_util.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- gtk_util.c 4 Mar 2002 11:02:35 -0000 1.2 +++ gtk_util.c 8 Mar 2002 09:02:12 -0000 1.3 @@ -1,6 +1,8 @@ #include "gtk_util.h" #include "util.h" #include "callbacks.h" +#include "interface.h" /* i shouldn't have included this here =( */ +#include <gdk/gdkx.h> /** * get_spin_value - for a named GtkWidget, attempt to retrieve its data @@ -116,13 +118,33 @@ } /** + * get_range_value - get the value from the named GtkRange + * @named - the name of the gtk range + * Returns the double value of the range + */ +double +get_range_value(char *named) +{ + GtkWidget *w; + double result = 0.0; + + w = gtk_object_get_data(GTK_OBJECT(bg_ref), named); + if (w) + result = (gtk_range_get_adjustment(GTK_RANGE(w))->value); + else + fprintf(stderr, "Unable to find range named %s\n", named); + return (result); +} + +/** * ebony_status_clear - clear the current text in the statusbar * @data - ignored */ gint ebony_status_clear(gpointer data) { - gtk_statusbar_pop(GTK_STATUSBAR(ebony_status), 1); + if (ebony_status) + gtk_statusbar_pop(GTK_STATUSBAR(ebony_status), 1); return FALSE; UN(data); } @@ -135,8 +157,11 @@ void ebony_status_message(gchar * message, gint delay) { - gtk_statusbar_push(GTK_STATUSBAR(ebony_status), 1, message); - gtk_timeout_add(delay, (GtkFunction) ebony_status_clear, ebony_status); + if (ebony_status) + { + gtk_statusbar_push(GTK_STATUSBAR(ebony_status), 1, message); + gtk_timeout_add(delay, (GtkFunction) ebony_status_clear, ebony_status); + } return; UN(delay); UN(message); @@ -740,6 +765,8 @@ if (!name) return; + if (!bg_ref) + rebuild_bg_ref(); _bg = e_bg_load(name); if (_bg) @@ -747,7 +774,7 @@ char buf[256]; snprintf(buf, 256, "Ebony - %s", name); - gtk_window_set_title(GTK_WINDOW(win_ref), buf); + gtk_window_set_title(GTK_WINDOW(bg_ref), buf); /* add_bg_filename_to_recent_menu(name); */ /* handle_recent_bgs_append(name); */ e_bg_free(bg); @@ -848,13 +875,18 @@ } void -new_bg(GtkWidget * w, void *data) +new_bg(GtkWidget * widget, void *data) { E_Background_Layer _bl; E_Background _bg = NULL; + GtkWidget *w; if (bg) e_bg_free(bg); + if (!bg_ref) + rebuild_bg_ref(); + + /* FIXME Need to free the outlining objects in the evas */ _bg = e_bg_new(); if (_bg) { =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/gtk_util.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- gtk_util.h 4 Mar 2002 08:58:29 -0000 1.1 +++ gtk_util.h 8 Mar 2002 09:02:12 -0000 1.2 @@ -9,6 +9,7 @@ void set_spin_value(char *name, double val); void set_toggled_state(char *name, int val); int get_toggled_state(char *name); +double get_range_value(char *name); char *get_entry_text(char *name); void set_entry_text(char *name, char *txt); gint ebony_status_clear(gpointer data); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/interface.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- interface.c 4 Mar 2002 11:02:35 -0000 1.10 +++ interface.c 8 Mar 2002 09:02:12 -0000 1.11 @@ -18,1319 +18,1325 @@ #include "interface.h" #include "support.h" -GtkWidget* -create_main_win (void) +GtkWidget * +create_main_win(void) { - GtkWidget *main_win; - GtkWidget *vbox1; - GtkWidget *menubar1; - GtkWidget *_file; - GtkWidget *_file_menu; - GtkAccelGroup *_file_menu_accels; - GtkWidget *new1; - GtkWidget *open; - GtkWidget *separator1; - GtkWidget *recent_bg_mi; - GtkWidget *separator2; - GtkWidget *save; - GtkWidget *save_as; - GtkWidget *separator3; - GtkWidget *quit; - GtkWidget *edit1; - GtkWidget *edit1_menu; - GtkAccelGroup *edit1_menu_accels; - GtkWidget *layer_outline_invert1; - GtkWidget *hpaned1; - GtkWidget *vpaned1; - GtkWidget *vbox4; - GtkWidget *hbox3; - GtkWidget *evas; - GtkWidget *vscale1; - GtkWidget *hscale1; - GtkWidget *control_alignment; - GtkWidget *notebook1; - GtkWidget *empty_notebook_page; - GtkWidget *label1; - GtkWidget *vbox2; - GtkWidget *vbox3; - GtkWidget *hbox1; - GtkWidget *label3; - GtkObject *layer_num_adj; - GtkWidget *layer_num; - GtkWidget *button3; - GtkWidget *button4; - GtkWidget *hbox2; - GtkWidget *button1; - GtkWidget *button2; - GtkWidget *frame11; - GtkWidget *vbox10; - GtkWidget *hbox14; - GSList *hbox14_group = NULL; - GtkWidget *type_image; - GtkWidget *type_color; - GtkWidget *type_gradient; - GtkWidget *notebook2; - GtkWidget *image_file_frame; - GtkWidget *vbox5; - GtkWidget *hbox5; - GtkWidget *image_file; - GtkWidget *button5; - GtkWidget *hbox6; - GtkWidget *inline_image; - GtkWidget *label4; - GtkWidget *frame4; - GtkWidget *vbox6; - GtkWidget *combo1; - GList *combo1_items = NULL; - GtkWidget *color_class_combo; - GtkWidget *label5; - GtkWidget *layer_scroll_follow; - GtkWidget *vbox12; - GtkWidget *hbox7; - GtkWidget *label10; - GtkObject *scroll_x_adj; - GtkWidget *scroll_x; - GtkWidget *label11; - GtkObject *scroll_y_adj; - GtkWidget *scroll_y; - GtkWidget *label6; - GtkWidget *frame6; - GtkWidget *vbox7; - GtkWidget *hbox8; - GtkWidget *label12; - GtkObject *pos_x_adj; - GtkWidget *pos_x; - GtkWidget *label13; - GtkObject *pos_y_adj; - GtkWidget *pos_y; - GtkWidget *frame2; - GtkWidget *hbox9; - GtkWidget *label14; - GtkObject *abs_x_adj; - GtkWidget *abs_x; - GtkWidget *label15; - GtkObject *abs_y_adj; - GtkWidget *abs_y; - GtkWidget *label7; - GtkWidget *frame7; - GtkWidget *vbox8; - GtkWidget *hbox10; - GtkWidget *label16; - GtkObject *size_w_adj; - GtkWidget *size_w; - GtkWidget *label17; - GtkObject *size_h_adj; - GtkWidget *size_h; - GtkWidget *table1; - GtkWidget *size_abs_w; - GtkWidget *size_abs_h; - GtkWidget *size_orig_w; - GtkWidget *size_orig_h; - GtkWidget *label8; - GtkWidget *layer_fill_frame; - GtkWidget *vbox9; - GtkWidget *hbox12; - GtkWidget *label18; - GtkObject *fill_w_adj; - GtkWidget *fill_w; - GtkWidget *label19; - GtkObject *fill_h_adj; - GtkWidget *fill_h; - GtkWidget *hbox13; - GtkWidget *fill_orig_w; - GtkWidget *fill_orig_h; - GtkWidget *label9; - GtkWidget *layer_color_frame; - GtkWidget *vbox11; - GtkWidget *color_box; - GtkWidget *label20; - GtkWidget *gradient_frame; - GtkWidget *table2; - GtkWidget *label22; - GtkWidget *label23; - GtkWidget *label24; - GtkWidget *gradient_one_color_box; - GtkWidget *gradient_two_color_box; - GtkObject *gradient_angle_adj; - GtkWidget *gradient_angle; - GtkWidget *label21; - GtkWidget *whocares; - GtkWidget *_ebony_statusbar; - GtkAccelGroup *accel_group; - - accel_group = gtk_accel_group_new (); - - main_win = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_widget_set_name (main_win, "main_win"); - gtk_object_set_data (GTK_OBJECT (main_win), "main_win", main_win); - gtk_window_set_title (GTK_WINDOW (main_win), _("Ebony")); - gtk_window_set_policy (GTK_WINDOW (main_win), TRUE, TRUE, FALSE); - gtk_window_set_wmclass (GTK_WINDOW (main_win), "Ebony", "Main"); - - vbox1 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox1, "vbox1"); - gtk_widget_ref (vbox1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox1", vbox1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox1); - gtk_container_add (GTK_CONTAINER (main_win), vbox1); - - menubar1 = gtk_menu_bar_new (); - gtk_widget_set_name (menubar1, "menubar1"); - gtk_widget_ref (menubar1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "menubar1", menubar1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (menubar1); - gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0); - - _file = gtk_menu_item_new_with_label (_("File")); - gtk_widget_set_name (_file, "_file"); - gtk_widget_ref (_file); - gtk_object_set_data_full (GTK_OBJECT (main_win), "_file", _file, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (_file); - gtk_container_add (GTK_CONTAINER (menubar1), _file); - - _file_menu = gtk_menu_new (); - gtk_widget_set_name (_file_menu, "_file_menu"); - gtk_widget_ref (_file_menu); - gtk_object_set_data_full (GTK_OBJECT (main_win), "_file_menu", _file_menu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (_file), _file_menu); - _file_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (_file_menu)); - - new1 = gtk_menu_item_new_with_label (_("New")); - gtk_widget_set_name (new1, "new1"); - gtk_widget_ref (new1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "new1", new1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (new1); - gtk_container_add (GTK_CONTAINER (_file_menu), new1); - gtk_widget_add_accelerator (new1, "activate", accel_group, - GDK_n, GDK_CONTROL_MASK, - GTK_ACCEL_VISIBLE); - - open = gtk_menu_item_new_with_label (_("Open")); - gtk_widget_set_name (open, "open"); - gtk_widget_ref (open); - gtk_object_set_data_full (GTK_OBJECT (main_win), "open", open, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (open); - gtk_container_add (GTK_CONTAINER (_file_menu), open); - gtk_widget_add_accelerator (open, "activate", accel_group, - GDK_o, GDK_CONTROL_MASK, - GTK_ACCEL_VISIBLE); - - separator1 = gtk_menu_item_new (); - gtk_widget_set_name (separator1, "separator1"); - gtk_widget_ref (separator1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "separator1", separator1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (separator1); - gtk_container_add (GTK_CONTAINER (_file_menu), separator1); - gtk_widget_set_sensitive (separator1, FALSE); - - recent_bg_mi = gtk_menu_item_new_with_label (_("Recent")); - gtk_widget_set_name (recent_bg_mi, "recent_bg_mi"); - gtk_widget_ref (recent_bg_mi); - gtk_object_set_data_full (GTK_OBJECT (main_win), "recent_bg_mi", recent_bg_mi, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (recent_bg_mi); - gtk_container_add (GTK_CONTAINER (_file_menu), recent_bg_mi); - - separator2 = gtk_menu_item_new (); - gtk_widget_set_name (separator2, "separator2"); - gtk_widget_ref (separator2); - gtk_object_set_data_full (GTK_OBJECT (main_win), "separator2", separator2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (separator2); - gtk_container_add (GTK_CONTAINER (_file_menu), separator2); - gtk_widget_set_sensitive (separator2, FALSE); - - save = gtk_menu_item_new_with_label (_("Save")); - gtk_widget_set_name (save, "save"); - gtk_widget_ref (save); - gtk_object_set_data_full (GTK_OBJECT (main_win), "save", save, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (save); - gtk_container_add (GTK_CONTAINER (_file_menu), save); - gtk_widget_add_accelerator (save, "activate", accel_group, - GDK_s, GDK_CONTROL_MASK, - GTK_ACCEL_VISIBLE); - - save_as = gtk_menu_item_new_with_label (_("Save As")); - gtk_widget_set_name (save_as, "save_as"); - gtk_widget_ref (save_as); - gtk_object_set_data_full (GTK_OBJECT (main_win), "save_as", save_as, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (save_as); - gtk_container_add (GTK_CONTAINER (_file_menu), save_as); - - separator3 = gtk_menu_item_new (); - gtk_widget_set_name (separator3, "separator3"); - gtk_widget_ref (separator3); - gtk_object_set_data_full (GTK_OBJECT (main_win), "separator3", separator3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (separator3); - gtk_container_add (GTK_CONTAINER (_file_menu), separator3); - gtk_widget_set_sensitive (separator3, FALSE); - - quit = gtk_menu_item_new_with_label (_("Quit")); - gtk_widget_set_name (quit, "quit"); - gtk_widget_ref (quit); - gtk_object_set_data_full (GTK_OBJECT (main_win), "quit", quit, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (quit); - gtk_container_add (GTK_CONTAINER (_file_menu), quit); - gtk_widget_add_accelerator (quit, "activate", accel_group, - GDK_q, GDK_CONTROL_MASK, - GTK_ACCEL_VISIBLE); - - edit1 = gtk_menu_item_new_with_label (_("Edit")); - gtk_widget_set_name (edit1, "edit1"); - gtk_widget_ref (edit1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "edit1", edit1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (edit1); - gtk_container_add (GTK_CONTAINER (menubar1), edit1); - - edit1_menu = gtk_menu_new (); - gtk_widget_set_name (edit1_menu, "edit1_menu"); - gtk_widget_ref (edit1_menu); - gtk_object_set_data_full (GTK_OBJECT (main_win), "edit1_menu", edit1_menu, - (GtkDestroyNotify) gtk_widget_unref); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (edit1), edit1_menu); - edit1_menu_accels = gtk_menu_ensure_uline_accel_group (GTK_MENU (edit1_menu)); - - layer_outline_invert1 = gtk_check_menu_item_new_with_label (_("Layer Outline Invert")); - gtk_widget_set_name (layer_outline_invert1, "layer_outline_invert1"); - gtk_widget_ref (layer_outline_invert1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "layer_outline_invert1", layer_outline_invert1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (layer_outline_invert1); - gtk_container_add (GTK_CONTAINER (edit1_menu), layer_outline_invert1); - gtk_widget_add_accelerator (layer_outline_invert1, "activate", accel_group, - GDK_i, GDK_CONTROL_MASK, - GTK_ACCEL_VISIBLE); - gtk_check_menu_item_set_show_toggle (GTK_CHECK_MENU_ITEM (layer_outline_invert1), TRUE); - - hpaned1 = gtk_hpaned_new (); - gtk_widget_set_name (hpaned1, "hpaned1"); - gtk_widget_ref (hpaned1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hpaned1", hpaned1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hpaned1); - gtk_box_pack_start (GTK_BOX (vbox1), hpaned1, TRUE, TRUE, 0); - gtk_paned_set_position (GTK_PANED (hpaned1), 0); - - vpaned1 = gtk_vpaned_new (); - gtk_widget_set_name (vpaned1, "vpaned1"); - gtk_widget_ref (vpaned1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vpaned1", vpaned1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vpaned1); - gtk_paned_pack1 (GTK_PANED (hpaned1), vpaned1, TRUE, FALSE); - gtk_paned_set_position (GTK_PANED (vpaned1), 100); - - vbox4 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox4, "vbox4"); - gtk_widget_ref (vbox4); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox4", vbox4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox4); - gtk_paned_pack1 (GTK_PANED (vpaned1), vbox4, TRUE, FALSE); - - hbox3 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox3, "hbox3"); - gtk_widget_ref (hbox3); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox3", hbox3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox3); - gtk_box_pack_start (GTK_BOX (vbox4), hbox3, TRUE, TRUE, 0); - - evas = gtk_drawing_area_new (); - gtk_widget_set_name (evas, "evas"); - gtk_widget_ref (evas); - gtk_object_set_data_full (GTK_OBJECT (main_win), "evas", evas, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (evas); - gtk_box_pack_start (GTK_BOX (hbox3), evas, TRUE, TRUE, 0); - gtk_widget_set_usize (evas, 250, 200); - gtk_widget_set_events (evas, GDK_EXPOSURE_MASK); - - vscale1 = gtk_vscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 768, 0, 0, 0))); - gtk_widget_set_name (vscale1, "vscale1"); - gtk_widget_ref (vscale1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vscale1", vscale1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vscale1); - gtk_box_pack_start (GTK_BOX (hbox3), vscale1, FALSE, TRUE, 0); - gtk_scale_set_digits (GTK_SCALE (vscale1), 0); - - hscale1 = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 1200, 0, 0, 0))); - gtk_widget_set_name (hscale1, "hscale1"); - gtk_widget_ref (hscale1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hscale1", hscale1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hscale1); - gtk_box_pack_start (GTK_BOX (vbox4), hscale1, FALSE, TRUE, 0); - gtk_scale_set_digits (GTK_SCALE (hscale1), 0); - - control_alignment = gtk_alignment_new (1, 0, 0, 1); - gtk_widget_set_name (control_alignment, "control_alignment"); - gtk_widget_ref (control_alignment); - gtk_object_set_data_full (GTK_OBJECT (main_win), "control_alignment", control_alignment, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (control_alignment); - gtk_paned_pack2 (GTK_PANED (hpaned1), control_alignment, TRUE, TRUE); - gtk_container_set_border_width (GTK_CONTAINER (control_alignment), 1); - - notebook1 = gtk_notebook_new (); - gtk_widget_set_name (notebook1, "notebook1"); - gtk_widget_ref (notebook1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "notebook1", notebook1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (notebook1); - gtk_container_add (GTK_CONTAINER (control_alignment), notebook1); - - empty_notebook_page = gtk_vbox_new (FALSE, 0); - gtk_widget_show (empty_notebook_page); - gtk_container_add (GTK_CONTAINER (notebook1), empty_notebook_page); - - label1 = gtk_label_new (_("Settings")); - gtk_widget_set_name (label1, "label1"); - gtk_widget_ref (label1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label1", label1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label1); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label1); - - vbox2 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox2, "vbox2"); - gtk_widget_ref (vbox2); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox2", vbox2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox2); - gtk_container_add (GTK_CONTAINER (notebook1), vbox2); - gtk_container_set_border_width (GTK_CONTAINER (vbox2), 3); - - vbox3 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox3, "vbox3"); - gtk_widget_ref (vbox3); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox3", vbox3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox3); - gtk_box_pack_start (GTK_BOX (vbox2), vbox3, FALSE, TRUE, 0); - - hbox1 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox1, "hbox1"); - gtk_widget_ref (hbox1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox1", hbox1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox1); - gtk_box_pack_start (GTK_BOX (vbox3), hbox1, FALSE, FALSE, 0); - - label3 = gtk_label_new (_("Layer Number")); - gtk_widget_set_name (label3, "label3"); - gtk_widget_ref (label3); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label3", label3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label3); - gtk_box_pack_start (GTK_BOX (hbox1), label3, TRUE, TRUE, 0); - - layer_num_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); - layer_num = gtk_spin_button_new (GTK_ADJUSTMENT (layer_num_adj), 1, 0); - gtk_widget_set_name (layer_num, "layer_num"); - gtk_widget_ref (layer_num); - gtk_object_set_data_full (GTK_OBJECT (main_win), "layer_num", layer_num, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (layer_num); - gtk_box_pack_start (GTK_BOX (hbox1), layer_num, FALSE, TRUE, 0); - - button3 = gtk_button_new_with_label (_("Add")); - gtk_widget_set_name (button3, "button3"); - gtk_widget_ref (button3); - gtk_object_set_data_full (GTK_OBJECT (main_win), "button3", button3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (button3); - gtk_box_pack_start (GTK_BOX (hbox1), button3, TRUE, TRUE, 0); - - button4 = gtk_button_new_with_label (_("Delete")); - gtk_widget_set_name (button4, "button4"); - gtk_widget_ref (button4); - gtk_object_set_data_full (GTK_OBJECT (main_win), "button4", button4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (button4); - gtk_box_pack_start (GTK_BOX (hbox1), button4, TRUE, TRUE, 0); - - hbox2 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox2, "hbox2"); - gtk_widget_ref (hbox2); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox2", hbox2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox2); - gtk_box_pack_start (GTK_BOX (vbox3), hbox2, FALSE, TRUE, 0); - - button1 = gtk_button_new_with_label (_("Move Layer Up")); - gtk_widget_set_name (button1, "button1"); - gtk_widget_ref (button1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "button1", button1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (button1); - gtk_box_pack_start (GTK_BOX (hbox2), button1, TRUE, TRUE, 0); - - button2 = gtk_button_new_with_label (_("Move Layer Down")); - gtk_widget_set_name (button2, "button2"); - gtk_widget_ref (button2); - gtk_object_set_data_full (GTK_OBJECT (main_win), "button2", button2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (button2); - gtk_box_pack_start (GTK_BOX (hbox2), button2, TRUE, TRUE, 0); - - frame11 = gtk_frame_new (_("Layer Settings")); - gtk_widget_set_name (frame11, "frame11"); - gtk_widget_ref (frame11); - gtk_object_set_data_full (GTK_OBJECT (main_win), "frame11", frame11, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame11); - gtk_box_pack_start (GTK_BOX (vbox2), frame11, FALSE, TRUE, 2); - gtk_container_set_border_width (GTK_CONTAINER (frame11), 4); - - vbox10 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox10, "vbox10"); - gtk_widget_ref (vbox10); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox10", vbox10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox10); - gtk_container_add (GTK_CONTAINER (frame11), vbox10); - - hbox14 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox14, "hbox14"); - gtk_widget_ref (hbox14); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox14", hbox14, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox14); - gtk_box_pack_start (GTK_BOX (vbox10), hbox14, TRUE, TRUE, 0); - - type_image = gtk_radio_button_new_with_label (hbox14_group, _("Image")); - hbox14_group = gtk_radio_button_group (GTK_RADIO_BUTTON (type_image)); - gtk_widget_set_name (type_image, "type_image"); - gtk_widget_ref (type_image); - gtk_object_set_data_full (GTK_OBJECT (main_win), "type_image", type_image, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (type_image); - gtk_box_pack_start (GTK_BOX (hbox14), type_image, TRUE, FALSE, 0); - - type_color = gtk_radio_button_new_with_label (hbox14_group, _("Color")); - hbox14_group = gtk_radio_button_group (GTK_RADIO_BUTTON (type_color)); - gtk_widget_set_name (type_color, "type_color"); - gtk_widget_ref (type_color); - gtk_object_set_data_full (GTK_OBJECT (main_win), "type_color", type_color, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (type_color); - gtk_box_pack_start (GTK_BOX (hbox14), type_color, TRUE, FALSE, 0); - - type_gradient = gtk_radio_button_new_with_label (hbox14_group, _("Gradient")); - hbox14_group = gtk_radio_button_group (GTK_RADIO_BUTTON (type_gradient)); - gtk_widget_set_name (type_gradient, "type_gradient"); - gtk_widget_ref (type_gradient); - gtk_object_set_data_full (GTK_OBJECT (main_win), "type_gradient", type_gradient, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (type_gradient); - gtk_box_pack_start (GTK_BOX (hbox14), type_gradient, TRUE, FALSE, 0); - - notebook2 = gtk_notebook_new (); - gtk_widget_set_name (notebook2, "notebook2"); - gtk_widget_ref (notebook2); - gtk_object_set_data_full (GTK_OBJECT (main_win), "notebook2", notebook2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (notebook2); - gtk_box_pack_start (GTK_BOX (vbox10), notebook2, TRUE, TRUE, 0); - - image_file_frame = gtk_frame_new (NULL); - gtk_widget_set_name (image_file_frame, "image_file_frame"); - gtk_widget_ref (image_file_frame); - gtk_object_set_data_full (GTK_OBJECT (main_win), "image_file_frame", image_file_frame, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (image_file_frame); - gtk_container_add (GTK_CONTAINER (notebook2), image_file_frame); - - vbox5 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox5, "vbox5"); - gtk_widget_ref (vbox5); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox5", vbox5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox5); - gtk_container_add (GTK_CONTAINER (image_file_frame), vbox5); - - hbox5 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox5, "hbox5"); - gtk_widget_ref (hbox5); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox5", hbox5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox5); - gtk_box_pack_start (GTK_BOX (vbox5), hbox5, FALSE, TRUE, 0); - - image_file = gtk_entry_new (); - gtk_widget_set_name (image_file, "image_file"); - gtk_widget_ref (image_file); - gtk_object_set_data_full (GTK_OBJECT (main_win), "image_file", image_file, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (image_file); - gtk_box_pack_start (GTK_BOX (hbox5), image_file, TRUE, TRUE, 0); - - button5 = gtk_button_new_with_label (_("Select")); - gtk_widget_set_name (button5, "button5"); - gtk_widget_ref (button5); - gtk_object_set_data_full (GTK_OBJECT (main_win), "button5", button5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (button5); - gtk_box_pack_start (GTK_BOX (hbox5), button5, FALSE, FALSE, 0); - - hbox6 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox6, "hbox6"); - gtk_widget_ref (hbox6); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox6", hbox6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox6); - gtk_box_pack_start (GTK_BOX (vbox5), hbox6, FALSE, TRUE, 0); - - inline_image = gtk_check_button_new_with_label (_("Inline Image")); - gtk_widget_set_name (inline_image, "inline_image"); - gtk_widget_ref (inline_image); - gtk_object_set_data_full (GTK_OBJECT (main_win), "inline_image", inline_image, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (inline_image); - gtk_box_pack_start (GTK_BOX (hbox6), inline_image, FALSE, FALSE, 0); - - label4 = gtk_label_new (_("Image")); - gtk_widget_set_name (label4, "label4"); - gtk_widget_ref (label4); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label4", label4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label4); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 0), label4); - - frame4 = gtk_frame_new (NULL); - gtk_widget_set_name (frame4, "frame4"); - gtk_widget_ref (frame4); - gtk_object_set_data_full (GTK_OBJECT (main_win), "frame4", frame4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame4); - gtk_container_add (GTK_CONTAINER (notebook2), frame4); - - vbox6 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox6, "vbox6"); - gtk_widget_ref (vbox6); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox6", vbox6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox6); - gtk_container_add (GTK_CONTAINER (frame4), vbox6); - - combo1 = gtk_combo_new (); - gtk_widget_set_name (combo1, "combo1"); - gtk_widget_ref (combo1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "combo1", combo1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (combo1); - gtk_box_pack_start (GTK_BOX (vbox6), combo1, FALSE, FALSE, 0); - combo1_items = g_list_append (combo1_items, (gpointer) _("Base_Layer")); - combo1_items = g_list_append (combo1_items, (gpointer) _("Tintable_Gradient")); - gtk_combo_set_popdown_strings (GTK_COMBO (combo1), combo1_items); - g_list_free (combo1_items); - - color_class_combo = GTK_COMBO (combo1)->entry; - gtk_widget_set_name (color_class_combo, "color_class_combo"); - gtk_widget_ref (color_class_combo); - gtk_object_set_data_full (GTK_OBJECT (main_win), "color_class_combo", color_class_combo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (color_class_combo); - gtk_entry_set_text (GTK_ENTRY (color_class_combo), _("Base_Layer")); - - label5 = gtk_label_new (_("Color Class")); - gtk_widget_set_name (label5, "label5"); - gtk_widget_ref (label5); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label5", label5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label5); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 1), label5); - - layer_scroll_follow = gtk_frame_new (NULL); - gtk_widget_set_name (layer_scroll_follow, "layer_scroll_follow"); - gtk_widget_ref (layer_scroll_follow); - gtk_object_set_data_full (GTK_OBJECT (main_win), "layer_scroll_follow", layer_scroll_follow, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (layer_scroll_follow); - gtk_container_add (GTK_CONTAINER (notebook2), layer_scroll_follow); - - vbox12 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox12, "vbox12"); - gtk_widget_ref (vbox12); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox12", vbox12, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox12); - gtk_container_add (GTK_CONTAINER (layer_scroll_follow), vbox12); - - hbox7 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox7, "hbox7"); - gtk_widget_ref (hbox7); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox7", hbox7, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox7); - gtk_box_pack_start (GTK_BOX (vbox12), hbox7, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (hbox7), 3); - - label10 = gtk_label_new (_("X:")); - gtk_widget_set_name (label10, "label10"); - gtk_widget_ref (label10); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label10", label10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label10); - gtk_box_pack_start (GTK_BOX (hbox7), label10, TRUE, TRUE, 0); - - scroll_x_adj = gtk_adjustment_new (0, 0, 99999, 1, 10, 10); - scroll_x = gtk_spin_button_new (GTK_ADJUSTMENT (scroll_x_adj), 1, 0); - gtk_widget_set_name (scroll_x, "scroll_x"); - gtk_widget_ref (scroll_x); - gtk_object_set_data_full (GTK_OBJECT (main_win), "scroll_x", scroll_x, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scroll_x); - gtk_box_pack_start (GTK_BOX (hbox7), scroll_x, TRUE, TRUE, 0); - - label11 = gtk_label_new (_("Y:")); - gtk_widget_set_name (label11, "label11"); - gtk_widget_ref (label11); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label11", label11, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label11); - gtk_box_pack_start (GTK_BOX (hbox7), label11, TRUE, TRUE, 0); - - scroll_y_adj = gtk_adjustment_new (0, 0, 99999, 1, 10, 10); - scroll_y = gtk_spin_button_new (GTK_ADJUSTMENT (scroll_y_adj), 1, 0); - gtk_widget_set_name (scroll_y, "scroll_y"); - gtk_widget_ref (scroll_y); - gtk_object_set_data_full (GTK_OBJECT (main_win), "scroll_y", scroll_y, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (scroll_y); - gtk_box_pack_start (GTK_BOX (hbox7), scroll_y, TRUE, TRUE, 0); - - label6 = gtk_label_new (_("Scroll")); - gtk_widget_set_name (label6, "label6"); - gtk_widget_ref (label6); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label6", label6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label6); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label6); - - frame6 = gtk_frame_new (NULL); - gtk_widget_set_name (frame6, "frame6"); - gtk_widget_ref (frame6); - gtk_object_set_data_full (GTK_OBJECT (main_win), "frame6", frame6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame6); - gtk_container_add (GTK_CONTAINER (notebook2), frame6); - - vbox7 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox7, "vbox7"); - gtk_widget_ref (vbox7); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox7", vbox7, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox7); - gtk_container_add (GTK_CONTAINER (frame6), vbox7); - gtk_container_set_border_width (GTK_CONTAINER (vbox7), 4); - - hbox8 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox8, "hbox8"); - gtk_widget_ref (hbox8); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox8", hbox8, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox8); - gtk_box_pack_start (GTK_BOX (vbox7), hbox8, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (hbox8), 2); - - label12 = gtk_label_new (_("X:")); - gtk_widget_set_name (label12, "label12"); - gtk_widget_ref (label12); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label12", label12, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label12); - gtk_box_pack_start (GTK_BOX (hbox8), label12, TRUE, TRUE, 0); - - pos_x_adj = gtk_adjustment_new (0, 0, 99999, 1, 10, 10); - pos_x = gtk_spin_button_new (GTK_ADJUSTMENT (pos_x_adj), 0.01, 2); - gtk_widget_set_name (pos_x, "pos_x"); - gtk_widget_ref (pos_x); - gtk_object_set_data_full (GTK_OBJECT (main_win), "pos_x", pos_x, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pos_x); - gtk_box_pack_start (GTK_BOX (hbox8), pos_x, TRUE, TRUE, 0); - - label13 = gtk_label_new (_("Y:")); - gtk_widget_set_name (label13, "label13"); - gtk_widget_ref (label13); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label13", label13, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label13); - gtk_box_pack_start (GTK_BOX (hbox8), label13, TRUE, TRUE, 0); - - pos_y_adj = gtk_adjustment_new (0, 0, 99999, 1, 10, 10); - pos_y = gtk_spin_button_new (GTK_ADJUSTMENT (pos_y_adj), 0.01, 2); - gtk_widget_set_name (pos_y, "pos_y"); - gtk_widget_ref (pos_y); - gtk_object_set_data_full (GTK_OBJECT (main_win), "pos_y", pos_y, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (pos_y); - gtk_box_pack_start (GTK_BOX (hbox8), pos_y, TRUE, TRUE, 0); - - frame2 = gtk_frame_new (_("Absolute Offset From Position:")); - gtk_widget_set_name (frame2, "frame2"); - gtk_widget_ref (frame2); - gtk_object_set_data_full (GTK_OBJECT (main_win), "frame2", frame2, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame2); - gtk_box_pack_start (GTK_BOX (vbox7), frame2, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (frame2), 2); - - hbox9 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox9, "hbox9"); - gtk_widget_ref (hbox9); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox9", hbox9, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox9); - gtk_container_add (GTK_CONTAINER (frame2), hbox9); - gtk_container_set_border_width (GTK_CONTAINER (hbox9), 3); - - label14 = gtk_label_new (_("X:")); - gtk_widget_set_name (label14, "label14"); - gtk_widget_ref (label14); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label14", label14, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label14); - gtk_box_pack_start (GTK_BOX (hbox9), label14, TRUE, TRUE, 0); - - abs_x_adj = gtk_adjustment_new (0, 0, 99999, 1, 10, 10); - abs_x = gtk_spin_button_new (GTK_ADJUSTMENT (abs_x_adj), 1, 0); - gtk_widget_set_name (abs_x, "abs_x"); - gtk_widget_ref (abs_x); - gtk_object_set_data_full (GTK_OBJECT (main_win), "abs_x", abs_x, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (abs_x); - gtk_box_pack_start (GTK_BOX (hbox9), abs_x, TRUE, TRUE, 0); - - label15 = gtk_label_new (_("Y:")); - gtk_widget_set_name (label15, "label15"); - gtk_widget_ref (label15); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label15", label15, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label15); - gtk_box_pack_start (GTK_BOX (hbox9), label15, TRUE, TRUE, 0); - - abs_y_adj = gtk_adjustment_new (0, 0, 99999, 1, 10, 10); - abs_y = gtk_spin_button_new (GTK_ADJUSTMENT (abs_y_adj), 1, 0); - gtk_widget_set_name (abs_y, "abs_y"); - gtk_widget_ref (abs_y); - gtk_object_set_data_full (GTK_OBJECT (main_win), "abs_y", abs_y, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (abs_y); - gtk_box_pack_start (GTK_BOX (hbox9), abs_y, TRUE, TRUE, 0); - - label7 = gtk_label_new (_("Position")); - gtk_widget_set_name (label7, "label7"); - gtk_widget_ref (label7); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label7", label7, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label7); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 3), label7); - - frame7 = gtk_frame_new (NULL); - gtk_widget_set_name (frame7, "frame7"); - gtk_widget_ref (frame7); - gtk_object_set_data_full (GTK_OBJECT (main_win), "frame7", frame7, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame7); - gtk_container_add (GTK_CONTAINER (notebook2), frame7); - - vbox8 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox8, "vbox8"); - gtk_widget_ref (vbox8); - gtk_object_set_data_full (GTK_OBJECT (main_win), "vbox8", vbox8, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox8); - gtk_container_add (GTK_CONTAINER (frame7), vbox8); - - hbox10 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (hbox10, "hbox10"); - gtk_widget_ref (hbox10); - gtk_object_set_data_full (GTK_OBJECT (main_win), "hbox10", hbox10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox10); - gtk_box_pack_start (GTK_BOX (vbox8), hbox10, FALSE, TRUE, 0); - - label16 = gtk_label_new (_("Width: ")); - gtk_widget_set_name (label16, "label16"); - gtk_widget_ref (label16); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label16", label16, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label16); - gtk_box_pack_start (GTK_BOX (hbox10), label16, TRUE, TRUE, 0); - - size_w_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); - size_w = gtk_spin_button_new (GTK_ADJUSTMENT (size_w_adj), 1, 2); - gtk_widget_set_name (size_w, "size_w"); - gtk_widget_ref (size_w); - gtk_object_set_data_full (GTK_OBJECT (main_win), "size_w", size_w, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (size_w); - gtk_box_pack_start (GTK_BOX (hbox10), size_w, TRUE, TRUE, 0); - - label17 = gtk_label_new (_("Height")); - gtk_widget_set_name (label17, "label17"); - gtk_widget_ref (label17); - gtk_object_set_data_full (GTK_OBJECT (main_win), "label17", label17, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label17); - gtk_box_pack_start (GTK_BOX (hbox10), label17, TRUE, TRUE, 0); - - size_h_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); - size_h = gtk_spin_button_new (GTK_ADJUSTMENT (size_h_adj), 1, 2); - gtk_widget_set_name (size_h, "size_h"); - gtk_widget_ref (size_h); - gtk_object_set_data_full (GTK_OBJECT (main_win), "size_h", size_h, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (size_h); - gtk_box_pack_start (GTK_BOX (hbox10), size_h, TRUE, TRUE, 0); - - table1 = gtk_table_new (2, 2, FALSE); - gtk_widget_set_name (table1, "table1"); - gtk_widget_ref (table1); - gtk_object_set_data_full (GTK_OBJECT (main_win), "table1", table1, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (table1); - gtk_box_pack_start (GTK_BOX (vbox8), table1, TRUE, TRUE, 0); - - size_abs_w = gtk_check_button_new_with_label (_("Absolute Width")); - gtk_widget_set_name (size_abs_w, "size_abs_w"); - gtk_widget_ref (size_abs_w); - gtk_object_set_data_full (GTK_OBJECT (main_win), "size_abs_w", size_abs_w, + GtkWidget *main_win; + GtkWidget *vbox1; + GtkWidget *menubar1; + GtkWidget *_file; + GtkWidget *_file_menu; + GtkAccelGroup *_file_menu_accels; + GtkWidget *new1; + GtkWidget *open; + GtkWidget *separator1; + GtkWidget *recent_bg_mi; + GtkWidget *separator2; + GtkWidget *save; + GtkWidget *save_as; + GtkWidget *separator3; + GtkWidget *quit; + GtkWidget *edit1; + GtkWidget *edit1_menu; + GtkAccelGroup *edit1_menu_accels; + GtkWidget *layer_outline_invert1; + GtkWidget *notebook1; + GtkWidget *empty_notebook_page; + GtkWidget *label1; + GtkWidget *vbox2; + GtkWidget *vbox3; + GtkWidget *hbox1; + GtkWidget *label3; + GtkObject *layer_num_adj; + GtkWidget *layer_num; + GtkWidget *button3; + GtkWidget *button4; + GtkWidget *hbox2; + GtkWidget *button1; + GtkWidget *button2; + GtkWidget *frame11; + GtkWidget *vbox10; + GtkWidget *hbox14; + GSList *hbox14_group = NULL; + GtkWidget *type_image; + GtkWidget *type_color; + GtkWidget *type_gradient; + GtkWidget *notebook2; + GtkWidget *image_file_frame; + GtkWidget *vbox5; + GtkWidget *hbox5; + GtkWidget *image_file; + GtkWidget *button5; + GtkWidget *hbox6; + GtkWidget *inline_image; + GtkWidget *label4; + GtkWidget *frame4; + GtkWidget *vbox6; + GtkWidget *combo1; + GList *combo1_items = NULL; + GtkWidget *color_class_combo; + GtkWidget *label5; + GtkWidget *layer_scroll_follow; + GtkWidget *vbox12; + GtkWidget *hbox7; + GtkWidget *label10; + GtkObject *scroll_x_adj; + GtkWidget *scroll_x; + GtkWidget *label11; + GtkObject *scroll_y_adj; + GtkWidget *scroll_y; + GtkWidget *label6; + GtkWidget *frame6; + GtkWidget *vbox7; + GtkWidget *hbox8; + GtkWidget *label12; + GtkObject *pos_x_adj; + GtkWidget *pos_x; + GtkWidget *label13; + GtkObject *pos_y_adj; + GtkWidget *pos_y; + GtkWidget *frame2; + GtkWidget *hbox9; + GtkWidget *label14; + GtkObject *abs_x_adj; + GtkWidget *abs_x; + GtkWidget *label15; + GtkObject *abs_y_adj; + GtkWidget *abs_y; + GtkWidget *label7; + GtkWidget *frame7; + GtkWidget *vbox8; + GtkWidget *hbox10; + GtkWidget *label16; + GtkObject *size_w_adj; + GtkWidget *size_w; + GtkWidget *label17; + GtkObject *size_h_adj; + GtkWidget *size_h; + GtkWidget *table1; + GtkWidget *size_abs_w; + GtkWidget *size_abs_h; + GtkWidget *size_orig_w; + GtkWidget *size_orig_h; + GtkWidget *label8; + GtkWidget *layer_fill_frame; + GtkWidget *vbox9; + GtkWidget *hbox12; + GtkWidget *label18; + GtkObject *fill_w_adj; + GtkWidget *fill_w; + GtkWidget *label19; + GtkObject *fill_h_adj; + GtkWidget *fill_h; + GtkWidget *hbox13; + GtkWidget *fill_orig_w; + GtkWidget *fill_orig_h; + GtkWidget *label9; + GtkWidget *layer_color_frame; + GtkWidget *vbox11; + GtkWidget *color_box; + GtkWidget *label20; + GtkWidget *gradient_frame; + GtkWidget *table2; + GtkWidget *label22; + GtkWidget *label23; + GtkWidget *label24; + GtkWidget *gradient_one_color_box; + GtkWidget *gradient_two_color_box; + GtkObject *gradient_angle_adj; + GtkWidget *gradient_angle; + GtkWidget *label21; + GtkWidget *whocares; + GtkAccelGroup *accel_group; + + accel_group = gtk_accel_group_new(); + + main_win = gtk_window_new(GTK_WINDOW_TOPLEVEL); + gtk_widget_set_name(main_win, "main_win"); + gtk_object_set_data(GTK_OBJECT(main_win), "main_win", main_win); + gtk_widget_set_uposition(main_win, 0, 40); + gtk_widget_set_usize(main_win, 280, -2); + gtk_window_set_title(GTK_WINDOW(main_win), _("Ebony Controls")); + gtk_window_set_default_size(GTK_WINDOW(main_win), 300, 300); + gtk_window_set_policy(GTK_WINDOW(main_win), TRUE, TRUE, FALSE); + gtk_window_set_wmclass(GTK_WINDOW(main_win), "Ebony", "Main"); + + vbox1 = gtk_vbox_new(FALSE, 0); + gtk_widget_set_name(vbox1, "vbox1"); + gtk_widget_ref(vbox1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "vbox1", vbox1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(vbox1); + gtk_container_add(GTK_CONTAINER(main_win), vbox1); + + menubar1 = gtk_menu_bar_new(); + gtk_widget_set_name(menubar1, "menubar1"); + gtk_widget_ref(menubar1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "menubar1", menubar1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(menubar1); + gtk_box_pack_start(GTK_BOX(vbox1), menubar1, FALSE, FALSE, 0); + + _file = gtk_menu_item_new_with_label(_("File")); + gtk_widget_set_name(_file, "_file"); + gtk_widget_ref(_file); + gtk_object_set_data_full(GTK_OBJECT(main_win), "_file", _file, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(_file); + gtk_container_add(GTK_CONTAINER(menubar1), _file); + + _file_menu = gtk_menu_new(); + gtk_widget_set_name(_file_menu, "_file_menu"); + gtk_widget_ref(_file_menu); + gtk_object_set_data_full(GTK_OBJECT(main_win), "_file_menu", _file_menu, + (GtkDestroyNotify) gtk_widget_unref); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(_file), _file_menu); + _file_menu_accels = + gtk_menu_ensure_uline_accel_group(GTK_MENU(_file_menu)); + + new1 = gtk_menu_item_new_with_label(_("New")); + gtk_widget_set_name(new1, "new1"); + gtk_widget_ref(new1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "new1", new1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(new1); + gtk_container_add(GTK_CONTAINER(_file_menu), new1); + gtk_widget_add_accelerator(new1, "activate", accel_group, GDK_n, + GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + + open = gtk_menu_item_new_with_label(_("Open")); + gtk_widget_set_name(open, "open"); + gtk_widget_ref(open); + gtk_object_set_data_full(GTK_OBJECT(main_win), "open", open, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(open); + gtk_container_add(GTK_CONTAINER(_file_menu), open); + gtk_widget_add_accelerator(open, "activate", accel_group, GDK_o, + GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + + separator1 = gtk_menu_item_new(); + gtk_widget_set_name(separator1, "separator1"); + gtk_widget_ref(separator1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "separator1", separator1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(separator1); + gtk_container_add(GTK_CONTAINER(_file_menu), separator1); + gtk_widget_set_sensitive(separator1, FALSE); + + recent_bg_mi = gtk_menu_item_new_with_label(_("Recent")); + gtk_widget_set_name(recent_bg_mi, "recent_bg_mi"); + gtk_widget_ref(recent_bg_mi); + gtk_object_set_data_full(GTK_OBJECT(main_win), "recent_bg_mi", + recent_bg_mi, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(recent_bg_mi); + gtk_container_add(GTK_CONTAINER(_file_menu), recent_bg_mi); + + separator2 = gtk_menu_item_new(); + gtk_widget_set_name(separator2, "separator2"); + gtk_widget_ref(separator2); + gtk_object_set_data_full(GTK_OBJECT(main_win), "separator2", separator2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(separator2); + gtk_container_add(GTK_CONTAINER(_file_menu), separator2); + gtk_widget_set_sensitive(separator2, FALSE); + + save = gtk_menu_item_new_with_label(_("Save")); + gtk_widget_set_name(save, "save"); + gtk_widget_ref(save); + gtk_object_set_data_full(GTK_OBJECT(main_win), "save", save, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(save); + gtk_container_add(GTK_CONTAINER(_file_menu), save); + gtk_widget_add_accelerator(save, "activate", accel_group, GDK_s, + GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + + save_as = gtk_menu_item_new_with_label(_("Save As")); + gtk_widget_set_name(save_as, "save_as"); + gtk_widget_ref(save_as); + gtk_object_set_data_full(GTK_OBJECT(main_win), "save_as", save_as, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(save_as); + gtk_container_add(GTK_CONTAINER(_file_menu), save_as); + + separator3 = gtk_menu_item_new(); + gtk_widget_set_name(separator3, "separator3"); + gtk_widget_ref(separator3); + gtk_object_set_data_full(GTK_OBJECT(main_win), "separator3", separator3, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(separator3); + gtk_container_add(GTK_CONTAINER(_file_menu), separator3); + gtk_widget_set_sensitive(separator3, FALSE); + + quit = gtk_menu_item_new_with_label(_("Quit")); + gtk_widget_set_name(quit, "quit"); + gtk_widget_ref(quit); + gtk_object_set_data_full(GTK_OBJECT(main_win), "quit", quit, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(quit); + gtk_container_add(GTK_CONTAINER(_file_menu), quit); + gtk_widget_add_accelerator(quit, "activate", accel_group, GDK_q, + GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + + edit1 = gtk_menu_item_new_with_label(_("Edit")); + gtk_widget_set_name(edit1, "edit1"); + gtk_widget_ref(edit1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "edit1", edit1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(edit1); + gtk_container_add(GTK_CONTAINER(menubar1), edit1); + + edit1_menu = gtk_menu_new(); + gtk_widget_set_name(edit1_menu, "edit1_menu"); + gtk_widget_ref(edit1_menu); + gtk_object_set_data_full(GTK_OBJECT(main_win), "edit1_menu", edit1_menu, + (GtkDestroyNotify) gtk_widget_unref); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(edit1), edit1_menu); + edit1_menu_accels = + gtk_menu_ensure_uline_accel_group(GTK_MENU(edit1_menu)); + + layer_outline_invert1 = + gtk_check_menu_item_new_with_label(_("Layer Outline Invert")); + gtk_widget_set_name(layer_outline_invert1, "layer_outline_invert1"); + gtk_widget_ref(layer_outline_invert1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "layer_outline_invert1", + layer_outline_invert1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(layer_outline_invert1); + gtk_container_add(GTK_CONTAINER(edit1_menu), layer_outline_invert1); + gtk_widget_add_accelerator(layer_outline_invert1, "activate", accel_group, + GDK_i, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + gtk_check_menu_item_set_show_toggle(GTK_CHECK_MENU_ITEM + (layer_outline_invert1), TRUE); + + notebook1 = gtk_notebook_new(); + gtk_widget_set_name(notebook1, "notebook1"); + gtk_widget_ref(notebook1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "notebook1", notebook1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(notebook1); + gtk_box_pack_start(GTK_BOX(vbox1), notebook1, TRUE, TRUE, 0); + + empty_notebook_page = gtk_vbox_new(FALSE, 0); + gtk_widget_show(empty_notebook_page); + gtk_container_add(GTK_CONTAINER(notebook1), empty_notebook_page); + + label1 = gtk_label_new(_("Settings")); + gtk_widget_set_name(label1, "label1"); + gtk_widget_ref(label1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "label1", label1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(label1); + gtk_notebook_set_tab_label(GTK_NOTEBOOK(notebook1), + gtk_notebook_get_nth_page(GTK_NOTEBOOK + (notebook1), 0), + label1); + + vbox2 = gtk_vbox_new(FALSE, 0); + gtk_widget_set_name(vbox2, "vbox2"); + gtk_widget_ref(vbox2); + gtk_object_set_data_full(GTK_OBJECT(main_win), "vbox2", vbox2, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(vbox2); + gtk_container_add(GTK_CONTAINER(notebook1), vbox2); + gtk_container_set_border_width(GTK_CONTAINER(vbox2), 3); + + vbox3 = gtk_vbox_new(FALSE, 0); + gtk_widget_set_name(vbox3, "vbox3"); + gtk_widget_ref(vbox3); + gtk_object_set_data_full(GTK_OBJECT(main_win), "vbox3", vbox3, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(vbox3); + gtk_box_pack_start(GTK_BOX(vbox2), vbox3, FALSE, TRUE, 0); + + hbox1 = gtk_hbox_new(FALSE, 0); + gtk_widget_set_name(hbox1, "hbox1"); + gtk_widget_ref(hbox1); + gtk_object_set_data_full(GTK_OBJECT(main_win), "hbox1", hbox1, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(hbox1); + gtk_box_pack_start(GTK_BOX(vbox3), hbox1, FALSE, FALSE, 0); + + label3 = gtk_label_new(_("Layer Number")); + gtk_widget_set_name(label3, "label3"); + gtk_widget_ref(label3); + gtk_object_set_data_full(GTK_OBJECT(main_win), "label3", label3, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(label3); + gtk_box_pack_start(GTK_BOX(hbox1), label3, TRUE, TRUE, 0); + + layer_num_adj = gtk_adjustment_new(0, 0, 100, 1, 10, 10); + layer_num = gtk_spin_button_new(GTK_ADJUSTMENT(layer_num_adj), 1, 0); + gtk_widget_set_name(layer_num, "layer_num"); + gtk_widget_ref(layer_num); + gtk_object_set_data_full(GTK_OBJECT(main_win), "layer_num", layer_num, + (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(layer_num); + gtk_box_pack_start(GTK_BOX(hbox1), laye... [truncated message content] |
From: <enl...@li...> - 2002-03-08 09:13:07
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony Modified Files: configure.in Log Message: Up the version for no apparent reason =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/configure.in,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- configure.in 4 Mar 2002 08:56:17 -0000 1.5 +++ configure.in 8 Mar 2002 09:13:06 -0000 1.6 @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(configure.in) -AM_INIT_AUTOMAKE(ebony, 0.3) +AM_INIT_AUTOMAKE(ebony, 0.4) AM_CONFIG_HEADER(config.h) AC_ISC_POSIX |
From: <enl...@li...> - 2002-03-19 16:00:37
|
Enlightenment CVS committal Author : atmosphere Project : e17 Module : apps/ebony Dir : e17/apps/ebony/src Modified Files: callbacks.c ebony.h gtk_util.c gtk_util.h main.c util.c util.h Log Message: - Recently edited bg list in the filemenu again. - Fileselections now remember the last directory you selected something or saved something in. =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/callbacks.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- callbacks.c 8 Mar 2002 09:02:12 -0000 1.11 +++ callbacks.c 19 Mar 2002 16:00:36 -0000 1.12 @@ -44,9 +44,11 @@ on_open_bg_activate(GtkMenuItem * menuitem, gpointer user_data) { GtkWidget *fs; + char buf[PATH_MAX]; + snprintf(buf, PATH_MAX, "%s/*.bg.db", bg_fileselection_dir); fs = gtk_file_selection_new("Load Background File"); - gtk_file_selection_complete(GTK_FILE_SELECTION(fs), "*.bg.db"); + gtk_file_selection_complete(GTK_FILE_SELECTION(fs), buf); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->cancel_button), "clicked", GTK_SIGNAL_FUNC(filemenu_load_cancel_clicked), @@ -90,9 +92,11 @@ on_save_bg_as_activate(GtkMenuItem * menuitem, gpointer user_data) { GtkWidget *fs; + char buf[PATH_MAX]; + snprintf(buf, PATH_MAX, "%s/new.bg.db", save_as_fileselection_dir); fs = gtk_file_selection_new("Save Background As File ..."); - gtk_file_selection_set_filename(GTK_FILE_SELECTION(fs), "new.bg.db"); + gtk_file_selection_set_filename(GTK_FILE_SELECTION(fs), buf); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->cancel_button), "clicked", GTK_SIGNAL_FUNC(save_as_cancel_clicked), (gpointer) fs); @@ -884,6 +888,7 @@ switch (event->keyval) { case GDK_q: + write_ebony_bg_list_db(recent_bgs); gtk_main_quit(); break; case GDK_w: =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/ebony.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ebony.h 8 Mar 2002 09:02:12 -0000 1.2 +++ ebony.h 19 Mar 2002 16:00:36 -0000 1.3 @@ -6,6 +6,7 @@ #include <Imlib2.h> #include <stdlib.h> #include <gtk/gtk.h> +#include <limits.h> GtkWidget *ebony_status; GtkWidget *win_ref, *bg_ref; @@ -17,6 +18,10 @@ E_Background_Layer bl; int idle; +char image_fileselection_dir[PATH_MAX]; +char bg_fileselection_dir[PATH_MAX]; +char save_as_fileselection_dir[PATH_MAX]; + #define MAX_RECENT_BG_COUNT 5 #define EBONY_STATUS_TO 3500 #define DRAW() \ @@ -25,4 +30,5 @@ idle = gtk_idle_add(redraw, NULL); \ } #define UN(data) data = 0 + #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/gtk_util.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- gtk_util.c 8 Mar 2002 09:02:12 -0000 1.3 +++ gtk_util.c 19 Mar 2002 16:00:36 -0000 1.4 @@ -3,6 +3,9 @@ #include "callbacks.h" #include "interface.h" /* i shouldn't have included this here =( */ #include <gdk/gdkx.h> +#include <config.h> + +static GtkWidget *recent_menu = NULL; /** * get_spin_value - for a named GtkWidget, attempt to retrieve its data @@ -319,7 +322,7 @@ /** * filemenu_load_cancel_clicked - select a file and click cancel - * @w - the ok button + * @w - the cancel button * @data - pointer to the fileselection the user chose from */ void @@ -339,8 +342,15 @@ void filemenu_load_ok_clicked(GtkWidget * w, gpointer data) { + char *dirpath; + gchar *file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data)); + dirpath = get_dirpath_from_filename((char *) file); + + snprintf(bg_fileselection_dir, PATH_MAX, "%s/", dirpath); + free(dirpath); + if (file) open_bg_named((char *) file); gtk_widget_destroy(GTK_WIDGET(data)); @@ -388,12 +398,22 @@ E_Background _bg; gchar *file; gchar errstr[1024]; + char *dirpath; file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data)); + + dirpath = get_dirpath_from_filename((char *) file); + + snprintf(save_as_fileselection_dir, PATH_MAX, "%s/", dirpath); + free(dirpath); + if (!file) return; - /* Save as over another file */ + + /* Save as over another file, load images before nuking it */ + fill_background_images(bg); + _bg = e_bg_load((char *) file); if (_bg) { @@ -401,7 +421,6 @@ e_bg_free(_bg); } - fill_background_images(bg); e_bg_save(bg, (char *) file); open_bg_named((char *) file); @@ -752,6 +771,17 @@ UN(_bl); } +void +open_bg(GtkWidget * w, gpointer data) +{ + if (!data) + return; + open_bg_named((char *) data); + return; + UN(w); + UN(data); +} + /** * open_bg_named - have ebony load the bg named name * @name - the filename on disk @@ -775,8 +805,7 @@ snprintf(buf, 256, "Ebony - %s", name); gtk_window_set_title(GTK_WINDOW(bg_ref), buf); - /* add_bg_filename_to_recent_menu(name); */ - /* handle_recent_bgs_append(name); */ + handle_recent_bgs_append(name); e_bg_free(bg); display_bg(_bg); @@ -911,8 +940,13 @@ browse_file_ok_clicked(GtkWidget * w, gpointer data) { gchar *file; + char *dirpath; file = gtk_file_selection_get_filename(GTK_FILE_SELECTION(data)); + dirpath = get_dirpath_from_filename((char *) file); + + snprintf(image_fileselection_dir, PATH_MAX, "%s/", dirpath); + free(dirpath); if (file) set_entry_text("image_file", file); @@ -935,4 +969,90 @@ return; UN(w); UN(data); +} + +/** + * regen_recent_menu - regenerate from recent_bgs list + * Destroy the current widget submenu for recent bgs, recreate the submenu + * and show it. + */ +void +regen_recent_menu(void) +{ + GList *l; + GtkWidget *mi, *w; + GtkWidget *menu; + char *short_name, *filename; + + w = gtk_object_get_data(GTK_OBJECT(win_ref), "recent_bg_mi"); + + menu = gtk_menu_new(); + gtk_widget_show(menu); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(w), menu); + + for (l = recent_bgs; l; l = l->next) + { + filename = (char *) l->data; + + short_name = get_shortname_for(filename); + mi = gtk_menu_item_new_with_label(short_name); + + gtk_menu_append(GTK_MENU(menu), mi); + gtk_signal_connect(GTK_OBJECT(mi), "activate", GTK_SIGNAL_FUNC(open_bg), + (gpointer) filename); + gtk_widget_show(mi); + } + recent_menu = menu; +} + +/** + * handle_recent_bgs_append - append the file to recent bg list + * @name - the filename on disk + * If the file name already exists in the list, remove it and append it to + * the list, if the list is full pop the first element and append the + * filename to the recent_bgs list + */ +void +handle_recent_bgs_append(char *name) +{ + GList *l; + int ok, length; + char *str; + + ok = 1; + if (!strcmp((char *) name, PACKAGE_DATA_DIR "/pixmaps/ebony.bg.db")) + return; + str = strdup((char *) name); + for (l = recent_bgs; l; l = l->next) + { + if (!l->data) + { + recent_bgs = g_list_remove_link(recent_bgs, l); + } + else if (!strcmp((char *) l->data, name)) + { + recent_bgs = g_list_remove(recent_bgs, l->data); + free((char *) l->data); + ok = 0; + } + } + if (!ok) + { + char *bg_to_pop = NULL; + + length = 0; + for (l = recent_bgs; (l) && (length < 5); l = l->next) + length++; + if (length == 4) + { + bg_to_pop = g_list_nth_data(recent_bgs, 0); + recent_bgs = g_list_remove(recent_bgs, (gpointer) bg_to_pop); + free((char *) bg_to_pop); + } + if (recent_menu) + gtk_widget_destroy(recent_menu); + recent_menu = NULL; + } + recent_bgs = g_list_append(recent_bgs, str); + regen_recent_menu(); } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/gtk_util.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- gtk_util.h 8 Mar 2002 09:02:12 -0000 1.2 +++ gtk_util.h 19 Mar 2002 16:00:37 -0000 1.3 @@ -48,4 +48,8 @@ gboolean gradient_two_color_drawing_area_expose(GtkWidget * w, GdkEventExpose * e, gpointer data); + +void regen_recent_menu(); +void handle_recent_bgs_append(char *name); + #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/main.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- main.c 8 Mar 2002 09:02:12 -0000 1.11 +++ main.c 19 Mar 2002 16:00:37 -0000 1.12 @@ -17,6 +17,14 @@ #include "util.h" void +setup_recent_menus(void) +{ + recent_bgs = parse_ebony_bg_list_db(); + regen_recent_menu(); +} + + +void init_globals(void) { win_ref = NULL; @@ -29,6 +37,9 @@ bg = NULL; bl = NULL; idle = 0; + snprintf(image_fileselection_dir, PATH_MAX, "%s", getenv("HOME")); + snprintf(bg_fileselection_dir, PATH_MAX, "%s", getenv("HOME")); + snprintf(save_as_fileselection_dir, PATH_MAX, "%s", getenv("HOME")); } int @@ -96,6 +107,7 @@ set_spin_value("layer_num", 0); + setup_recent_menus(); gtk_main(); return 0; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/util.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- util.c 8 Mar 2002 09:02:12 -0000 1.4 +++ util.c 19 Mar 2002 16:00:37 -0000 1.5 @@ -86,6 +86,27 @@ } } +char * +get_dirpath_from_filename(const char *filename) +{ + char *result, *str; + int i; + + result = strdup(filename); + i = strlen(filename); + while (i--) + { + if (result[i] == '/') + break; + } + result[i] = '\0'; + str = strdup(result); + result[i] = 'e'; + + free(result); + return (str); +} + /** * get_shortname_for - chop the absolute path off of a bg filename * @filename the file to chop =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/ebony/src/util.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- util.h 8 Mar 2002 09:02:12 -0000 1.4 +++ util.h 19 Mar 2002 16:00:37 -0000 1.5 @@ -18,4 +18,6 @@ void setup_evas(Display * disp, Window win, Visual * vis, Colormap cm, int w, int h); void rebuild_bg_ref(void); +char *get_dirpath_from_filename(const char *filename); + #endif |