Enlightenment CVS committal Author : andreas99 Project : e16 Module : tools
Dir : e16/tools/e16menuedit2/src Modified Files: Makefile.am callbacks.c callbacks.h e16menuedit2.c e16menuedit2.h file.c file.h treeview.c treeview.h Added Files: libglade_support.c libglade_support.h Log Message: - some bugs fixed - started info dialog - added funtions to easy libglade use =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- Makefile.am 31 Jul 2004 22:31:22 -0000 1.3 +++ Makefile.am 2 Aug 2004 19:36:15 -0000 1.4 @@ -26,7 +26,9 @@ e16menu.c\ e16menu.h\ treeview.c\ - treeview.h + treeview.h\ + libglade_support.c\ + libglade_support.h e16menuedit2_LDFLAGS = =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/callbacks.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- callbacks.c 31 Jul 2004 22:31:22 -0000 1.8 +++ callbacks.c 2 Aug 2004 19:36:15 -0000 1.9 @@ -24,10 +24,6 @@ * */ -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - #include <string.h> #include <unistd.h> #include <sys/types.h> @@ -38,65 +34,65 @@ #include "e16menu.h" #include "treeview.h" -void bind_toolbar_callbacks (GladeXML *main_xml, GtkWidget *treeview_menu) +void bind_toolbar_callbacks (GtkWidget *treeview_menu) { GtkWidget *toolbar1; GtkWidget *toolitem1; - toolbar1 = glade_xml_get_widget (main_xml, "toolbar1"); + toolbar1 = lookup_libglade_widget ("main_window", "toolbar1"); /* bind callbacks */ - toolitem1 = glade_xml_get_widget (main_xml, "toolbutton_save"); + toolitem1 = lookup_libglade_widget ("main_window", "toolbutton_save"); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolitem1), GTK_TOOLBAR (toolbar1)->tooltips, _("Save"), ""); g_signal_connect (toolitem1, "clicked", G_CALLBACK (on_toolbutton_save_clicked), treeview_menu); - toolitem1 = glade_xml_get_widget (main_xml, "toolbutton_new"); + toolitem1 = lookup_libglade_widget ("main_window", "toolbutton_new"); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolitem1), GTK_TOOLBAR (toolbar1)->tooltips, _("New Entry"), ""); g_signal_connect (toolitem1, "clicked", G_CALLBACK (on_toolbutton_new_clicked), treeview_menu); - toolitem1 = glade_xml_get_widget (main_xml, "toolbutton_icon"); + toolitem1 = lookup_libglade_widget ("main_window", "toolbutton_icon"); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolitem1), GTK_TOOLBAR (toolbar1)->tooltips, _("Choose Icon"), ""); g_signal_connect (toolitem1, "clicked", G_CALLBACK (on_toolbutton_icon_clicked), treeview_menu); - toolitem1 = glade_xml_get_widget (main_xml, "toolbutton_del"); + toolitem1 = lookup_libglade_widget ("main_window", "toolbutton_del"); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolitem1), GTK_TOOLBAR (toolbar1)->tooltips, _("Delete Entry"), ""); g_signal_connect (toolitem1, "clicked", G_CALLBACK (on_toolbutton_del_clicked), treeview_menu); - toolitem1 = glade_xml_get_widget (main_xml, "toolbutton_quit"); + toolitem1 = lookup_libglade_widget ("main_window", "toolbutton_quit"); gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolitem1), GTK_TOOLBAR (toolbar1)->tooltips, _("Quit"), ""); } -void bind_menubar_callbacks (GladeXML *main_xml, GtkWidget *treeview_menu) +void bind_menubar_callbacks (GtkWidget *treeview_menu) { GtkWidget *menuitem; - menuitem = glade_xml_get_widget (main_xml, "menu_save"); + menuitem = lookup_libglade_widget ("main_window", "menu_save"); g_signal_connect (menuitem, "activate", G_CALLBACK (on_menu_save_activate), treeview_menu); - menuitem = glade_xml_get_widget (main_xml, "menu_new"); + menuitem = lookup_libglade_widget ("main_window", "menu_new"); g_signal_connect (menuitem, "activate", G_CALLBACK (on_menu_new_activate), treeview_menu); - menuitem = glade_xml_get_widget (main_xml, "menu_icon"); + menuitem = lookup_libglade_widget ("main_window", "menu_icon"); g_signal_connect (menuitem, "activate", G_CALLBACK (on_menu_icon_activate), treeview_menu); - menuitem = glade_xml_get_widget (main_xml, "menu_delete"); + menuitem = lookup_libglade_widget ("main_window", "menu_delete"); g_signal_connect (menuitem, "activate", G_CALLBACK (on_menu_delete_activate), treeview_menu); @@ -157,23 +153,23 @@ void on_menu_info_activate (GtkMenuItem *menuitem, gpointer user_data) { - GladeXML *info_xml; GtkWidget *info_window; GtkWidget *logo_image; + GladeXML *info_xml; info_xml = glade_xml_new (PACKAGE_SOURCE_DIR"/e16menuedit2.glade", "info_window", NULL); + register_libglade_parent (info_xml, "info_window"); glade_xml_signal_autoconnect (info_xml); - info_window = glade_xml_get_widget (info_xml, "info_window"); + info_window = lookup_libglade_widget ("info_window", "info_window"); - logo_image = glade_xml_get_widget (info_xml, "logo_image"); + logo_image = lookup_libglade_widget ("info_window", "logo_image"); gtk_image_set_from_file (GTK_IMAGE (logo_image), PACKAGE_PIXMAPS_DIR"/e16menuedit2-icon.png"); - gtk_widget_show (info_window); } @@ -236,3 +232,53 @@ treeview_menu = (GtkWidget*) user_data; delete_table_row (treeview_menu); } + +gboolean +on_treeview_menu_button_press_event (GtkWidget *widget, + GdkEventButton *event, + gpointer user_data) +{ + /* Currently deactivated until GtkTreeView Drag&Drop button + * problem is fixed */ + /*GtkWidget *pop_menu1; + GladeXML *pop_menu1_xml; + GtkTreeView *treeview_menu; + + pop_menu1_xml = glade_xml_new (PACKAGE_SOURCE_DIR"/e16menuedit2.glade", + "pop_menu1", NULL); + register_libglade_parent (pop_menu1_xml, "pop_menu1"); + glade_xml_signal_autoconnect (pop_menu1_xml); + + treeview_menu = (GtkTreeView *) user_data; + + pop_menu1 = lookup_libglade_widget ("pop_menu1", "pop_menu1"); + + if (event->button == 3) + { + //deactivate_dragndrop (treeview_menu); + gtk_menu_popup (GTK_MENU (pop_menu1), + NULL, + NULL, + NULL, + NULL, // data + event->button, + event->time); + } + */ + return FALSE; +} + + +gboolean +on_pop_menu1_destroy_event (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + /*GtkWidget *treeview_menu; + + treeview_menu = lookup_libglade_widget ("main_window", "treeview_menu");*/ + + //activate_dragndrop (GTK_TREE_VIEW (treeview_menu)); + + return FALSE; +} =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/callbacks.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- callbacks.h 31 Jul 2004 22:31:22 -0000 1.5 +++ callbacks.h 2 Aug 2004 19:36:15 -0000 1.6 @@ -27,8 +27,12 @@ #ifndef _CALLBACKS_H #define _CALLBACKS_H +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif #include <gtk/gtk.h> #include <glade/glade.h> +#include "libglade_support.h" #define ICON_SIZE_AUTO_STRING "auto (64x64 limit)" #define ICON_SIZE1_STRING "64x64" @@ -48,8 +52,8 @@ #define ICON_SIZE6 22 #define ICON_SIZE7 16 -void bind_toolbar_callbacks (GladeXML *main_xml, GtkWidget *treeview_menu); -void bind_menubar_callbacks (GladeXML *main_xml, GtkWidget *treeview_menu); +void bind_toolbar_callbacks (GtkWidget *treeview_menu); +void bind_menubar_callbacks (GtkWidget *treeview_menu); void on_menu_save_activate (GtkMenuItem *menuitem, gpointer user_data); void on_descrenderer_edited (GtkCellRendererText *celltext, @@ -76,10 +80,23 @@ void on_toolbutton_del_clicked (GtkToolButton *toolbutton, gpointer user_data); void on_menu_new_activate (GtkMenuItem *menuitem, - gpointer user_data); + gpointer user_data); void on_menu_icon_activate (GtkMenuItem *menuitem, - gpointer user_data); + gpointer user_data); void on_menu_delete_activate (GtkMenuItem *menuitem, - gpointer user_data); - + gpointer user_data); + +gboolean +on_treeview_menu_button_press_event (GtkWidget *widget, + GdkEventButton *event, + gpointer user_data); + + + + + +gboolean +on_pop_menu1_destroy_event (GtkWidget *widget, + GdkEvent *event, + gpointer user_data); #endif /* _CALLBACKS_H */ =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/e16menuedit2.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- e16menuedit2.c 31 Jul 2004 22:31:22 -0000 1.7 +++ e16menuedit2.c 2 Aug 2004 19:36:15 -0000 1.8 @@ -32,19 +32,20 @@ #include "callbacks.h" #include "e16menu.h" #include "treeview.h" +#include <glib-object.h> int librsvg_cmp; int main (int argc, char *argv[]) { + GladeXML *main_xml; GtkWidget *main_window; GtkWidget *treeview_menu; - GladeXML *main_xml; char app_dir[PATH_MAX]; char package[] = "librsvg-2.0"; char good_version[] = "2.7.1"; char *version; - int i; + int i; #ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); @@ -61,23 +62,26 @@ main_xml = glade_xml_new (PACKAGE_SOURCE_DIR"/e16menuedit2.glade", "main_window", NULL); + + register_libglade_parent (main_xml, "main_window"); + glade_xml_signal_autoconnect (main_xml); - main_window = glade_xml_get_widget (main_xml, "main_window"); + + + main_window = lookup_libglade_widget ("main_window", "main_window"); + gtk_window_set_icon_from_file (GTK_WINDOW (main_window), PACKAGE_PIXMAPS_DIR"/e16menuedit2-icon.png", NULL); - g_object_set_data (G_OBJECT (main_window), - "main_xml", main_xml); - - treeview_menu = glade_xml_get_widget (main_xml, "treeview_menu"); + treeview_menu = lookup_libglade_widget ("main_window", "treeview_menu"); create_tree_model (treeview_menu); /* bind callbacks manual. Is Glade too stupid for it? */ - bind_toolbar_callbacks (main_xml, treeview_menu); - bind_menubar_callbacks (main_xml, treeview_menu); + bind_toolbar_callbacks (treeview_menu); + bind_menubar_callbacks (treeview_menu); /* create initial directories */ sprintf (app_dir, "%s/%s/%s", homedir (getuid ()), APP_HOME, ICON_DIR); @@ -87,8 +91,6 @@ version = pkg_config_version (package); librsvg_cmp = version_cmp (version, good_version); g_free (version); - - gtk_widget_show (main_window); gtk_main (); return 0; =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/e16menuedit2.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e16menuedit2.h 28 Jul 2004 22:12:28 -0000 1.3 +++ e16menuedit2.h 2 Aug 2004 19:36:15 -0000 1.4 @@ -29,11 +29,11 @@ #include <gtk/gtk.h> #include <glade/glade.h> -#include <stdio.h> #ifdef HAVE_CONFIG_H #include <config.h> #endif #include "nls.h" +#include "libglade_support.h" #define to_utf8(String) g_locale_to_utf8(String,-1,0,0,0) #define from_utf8(String) g_locale_from_utf8(String,-1,0,0,0) =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/file.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- file.c 29 Jul 2004 21:28:29 -0000 1.4 +++ file.c 2 Aug 2004 19:36:15 -0000 1.5 @@ -1,3 +1,29 @@ +/* Copyright (C) 2004 Andreas Volz and various contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies of the Software, its documentation and marketing & publicity + * materials, and acknowledgment shall be given in the documentation, materials + * and software packages that this Software was used. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * File: file.c + * Created by: Andreas Volz <[EMAIL PROTECTED]> + * + */ + #include "file.h" char *homedir (int uid) =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/file.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- file.h 29 Jul 2004 21:28:29 -0000 1.3 +++ file.h 2 Aug 2004 19:36:15 -0000 1.4 @@ -1,3 +1,29 @@ +/* Copyright (C) 2004 Andreas Volz and various contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies of the Software, its documentation and marketing & publicity + * materials, and acknowledgment shall be given in the documentation, materials + * and software packages that this Software was used. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * File: file.h + * Created by: Andreas Volz <[EMAIL PROTECTED]> + * + */ + #ifndef _FILE_H #define _FILE_H =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/treeview.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- treeview.c 28 Jul 2004 22:12:28 -0000 1.1 +++ treeview.c 2 Aug 2004 19:36:15 -0000 1.2 @@ -94,6 +94,21 @@ gtk_tree_view_set_model (GTK_TREE_VIEW (treeview_menu), model); + activate_dragndrop (GTK_TREE_VIEW (treeview_menu)); + + g_object_unref (model); /* destroy model automatically with view */ + + return; +} + +void deactivate_dragndrop (GtkTreeView *treeview_menu) +{ + gtk_tree_view_unset_rows_drag_source (GTK_TREE_VIEW (treeview_menu)); + gtk_tree_view_unset_rows_drag_dest (GTK_TREE_VIEW (treeview_menu)); +} + +void activate_dragndrop (GtkTreeView *treeview_menu) +{ gtk_tree_view_enable_model_drag_source (GTK_TREE_VIEW (treeview_menu), GDK_BUTTON1_MASK, row_targets, @@ -104,10 +119,6 @@ row_targets, G_N_ELEMENTS (row_targets), GDK_ACTION_MOVE | GDK_ACTION_COPY); - - g_object_unref (model); /* destroy model automatically with view */ - - return; } void new_table_row (GtkWidget *treeview_menu) @@ -156,10 +167,10 @@ void delete_table_row (GtkWidget *treeview_menu) { - GtkTreeIter iter; + GtkTreeIter iter; GtkTreeModel *model; GtkTreeSelection *select; - + model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview_menu)); select = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview_menu)); @@ -170,10 +181,10 @@ } void save_table_to_menu (GtkWidget *treeview_menu) -{ +{ GtkTreeModel *model; int i = 0; - + model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview_menu)); gtk_tree_model_foreach (GTK_TREE_MODEL(model), table_save_func, NULL); =================================================================== RCS file: /cvsroot/enlightenment/e16/tools/e16menuedit2/src/treeview.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- treeview.h 28 Jul 2004 22:12:28 -0000 1.1 +++ treeview.h 2 Aug 2004 19:36:15 -0000 1.2 @@ -36,6 +36,8 @@ void new_table_row (GtkWidget *treeview_menu); void delete_table_row (GtkWidget *treeview_menu); void save_table_to_menu (GtkWidget *treeview_menu); +void activate_dragndrop (GtkTreeView *treeview_menu); +void deactivate_dragndrop (GtkTreeView *treeview_menu); enum tree_columns { ------------------------------------------------------- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs