Enlightenment CVS committal Author : chaos Project : e17 Module : proto
Dir : e17/proto/entropy/src/plugins Modified Files: layout_etk_simple.c Log Message: * Make the menus a bit more logical =================================================================== RCS file: /cvs/e/e17/proto/entropy/src/plugins/layout_etk_simple.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- layout_etk_simple.c 3 Jun 2006 11:04:02 -0000 1.47 +++ layout_etk_simple.c 4 Jun 2006 05:06:12 -0000 1.48 @@ -100,6 +100,68 @@ } + +/*Function to make standard menu items*/ +static Etk_Widget *_entropy_etk_menu_item_new(Etk_Menu_Item_Type item_type, const char *label, + Etk_Stock_Id stock_id, Etk_Menu_Shell *menu_shell, Etk_Widget *statusbar) +{ + Etk_Widget *menu_item = NULL; + + switch (item_type) + { + case ETK_MENU_ITEM_NORMAL: + menu_item = etk_menu_item_image_new_with_label(label); + break; + case ETK_MENU_ITEM_SEPARATOR: + menu_item = etk_menu_item_separator_new(); + break; + default: + return NULL; + } + if (stock_id != ETK_STOCK_NO_STOCK) + { + Etk_Widget *image; + + image = etk_image_new_from_stock(stock_id, ETK_STOCK_SMALL); + etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image)); + } + etk_menu_shell_append(menu_shell, ETK_MENU_ITEM(menu_item)); + + /*etk_signal_connect("selected", ETK_OBJECT(menu_item), ETK_CALLBACK(_etk_test_menu_item_selected_cb), statusbar); + etk_signal_connect("deselected", ETK_OBJECT(menu_item), ETK_CALLBACK(_etk_test_menu_item_deselected_cb), statusbar);*/ + + return menu_item; +} + +/*Function to make checkbox menu items*/ +static Etk_Widget *_entropy_etk_menu_check_item_new(const char *label, Etk_Menu_Shell *menu_shell) +{ + Etk_Widget *menu_item; + + if (!menu_shell) + return NULL; + + menu_item = etk_menu_item_check_new_with_label(label); + etk_menu_shell_append(menu_shell, ETK_MENU_ITEM(menu_item)); + + return menu_item; +} + +/*Function to make radio items*/ +static Etk_Widget *_entropy_etk_radio_item_new(const char *label, Etk_Menu_Item_Radio *group_item, Etk_Menu_Shell *menu_shell) +{ + Etk_Widget *menu_item; + + if (!menu_shell) + return NULL; + + menu_item = etk_menu_item_radio_new_with_label_from_widget(label, group_item); + etk_menu_shell_append(menu_shell, ETK_MENU_ITEM(menu_item)); + + return menu_item; +} + + static void _etk_layout_location_delete_confirm_cb(Etk_Object * object, void *data) { entropy_gui_component_instance* instance = data; @@ -142,37 +204,6 @@ } -static Etk_Widget *_entropy_etk_menu_item_new(Etk_Menu_Item_Type item_type, const char *label, - Etk_Stock_Id stock_id, Etk_Menu_Shell *menu_shell, Etk_Widget *statusbar) -{ - Etk_Widget *menu_item = NULL; - - switch (item_type) - { - case ETK_MENU_ITEM_NORMAL: - menu_item = etk_menu_item_image_new_with_label(label); - break; - case ETK_MENU_ITEM_SEPARATOR: - menu_item = etk_menu_item_separator_new(); - break; - default: - return NULL; - } - if (stock_id != ETK_STOCK_NO_STOCK) - { - Etk_Widget *image; - - image = etk_image_new_from_stock(stock_id, ETK_STOCK_SMALL); - etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image)); - } - etk_menu_shell_append(menu_shell, ETK_MENU_ITEM(menu_item)); - - /*etk_signal_connect("selected", ETK_OBJECT(menu_item), ETK_CALLBACK(_etk_test_menu_item_selected_cb), statusbar); - etk_signal_connect("deselected", ETK_OBJECT(menu_item), ETK_CALLBACK(_etk_test_menu_item_deselected_cb), statusbar);*/ - - return menu_item; -} - Entropy_Plugin* entropy_plugin_init (entropy_core * core) { @@ -663,15 +694,20 @@ menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("View"), ETK_STOCK_NO_STOCK, ETK_MENU_SHELL(menubar), NULL); menu = etk_menu_new(); etk_menu_item_submenu_set(ETK_MENU_ITEM(menu_item), ETK_MENU(menu)); - menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Tree View"), ETK_STOCK_SYSTEM_SHUTDOWN, ETK_MENU_SHELL(menu), NULL); + menu_item = _entropy_etk_menu_check_item_new(_("Tree View"), ETK_MENU_SHELL(menu)); + etk_menu_item_check_active_set(ETK_MENU_ITEM_CHECK(menu_item),1 ); etk_signal_connect("activated", ETK_OBJECT(menu_item), ETK_CALLBACK(entropy_etk_layout_tree_cb), layout); + - menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("List View"), ETK_STOCK_SYSTEM_SHUTDOWN, ETK_MENU_SHELL(menu), NULL); + _entropy_etk_menu_item_new(ETK_MENU_ITEM_SEPARATOR, NULL, + ETK_STOCK_NO_STOCK, ETK_MENU_SHELL(menu), NULL); + + menu_item = _entropy_etk_radio_item_new(_("List View"), NULL, ETK_MENU_SHELL(menu)); etk_object_data_set(ETK_OBJECT(menu_item), "VISUAL", gui->list_viewer); etk_signal_connect("activated", ETK_OBJECT(menu_item), ETK_CALLBACK(etk_local_viewer_cb), layout); - menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Icon View"), ETK_STOCK_IMAGE_X_GENERIC, ETK_MENU_SHELL(menu), NULL); + menu_item = _entropy_etk_radio_item_new(_("Icon View"), menu_item, ETK_MENU_SHELL(menu)); etk_object_data_set(ETK_OBJECT(menu_item), "VISUAL", gui->iconbox_viewer); etk_signal_connect("activated", ETK_OBJECT(menu_item), ETK_CALLBACK(etk_local_viewer_cb), layout); _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs