Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src/plugins


Modified Files:
        Makefile.am etk_list_viewer.c layout_etk_simple.c 
Added Files:
        etk_icon_viewer.c 


Log Message:
* Plugin-finding API
* Etk-Iconbox first commit!

===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/plugins/Makefile.am,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -3 -r1.32 -r1.33
--- Makefile.am 5 Apr 2006 06:28:00 -0000       1.32
+++ Makefile.am 8 Apr 2006 08:13:36 -0000       1.33
@@ -38,14 +38,16 @@
 ETK_STRUCTURE_VIEWER_L = etk_structure_viewer.la
 ETK_LIST_VIEWER_L = etk_list.la
 ETK_METADATA_L = etk_metadata.la
+ETK_ICONBOX_L = etk_iconbox.la
 else
 LAYOUT_ETK_L =
 ETK_LIST_VIEWER_L =
 ETK_STRUCTURE_VIEWER_L =
 ETK_METADATA_L =
+ETK_ICONBOX_L = 
 endif
 
-pkg_LTLIBRARIES                = $(MIME_L) $(THUMBNAILER_L) $(POSIX_L) 
$(LAYOUT_L) $(EWL_LOCAL_ICON_L) $(STRUCTURE_VIEWER_L) $(SYSTEM_THUMBNAILER_L) 
$(ACTION_SIMPLE_L) $(LAYOUT_ETK_L) $(EWL_LIST_L) $(REMOTE_THUMBNAILER_L) 
$(DISTRIB_THUMBNAILER_L) $(ETK_STRUCTURE_VIEWER_L) $(ETK_LIST_VIEWER_L) 
$(METADATA_EXTRACT_L) $(ETK_METADATA_L)
+pkg_LTLIBRARIES                = $(MIME_L) $(THUMBNAILER_L) $(POSIX_L) 
$(LAYOUT_L) $(EWL_LOCAL_ICON_L) $(STRUCTURE_VIEWER_L) $(SYSTEM_THUMBNAILER_L) 
$(ACTION_SIMPLE_L) $(LAYOUT_ETK_L) $(EWL_LIST_L) $(REMOTE_THUMBNAILER_L) 
$(DISTRIB_THUMBNAILER_L) $(ETK_STRUCTURE_VIEWER_L) $(ETK_LIST_VIEWER_L) 
$(METADATA_EXTRACT_L) $(ETK_METADATA_L) $(ETK_ICONBOX_L)
 
 ewl_local_icon_la_SOURCES      =       $(top_srcdir)/src/entropy_gui.c \
                                        
$(top_srcdir)/src/dialogs/ewl_progress_dialog.c \
@@ -119,6 +121,16 @@
 etk_list_la_CFLAGS       = @ETK_CFLAGS@
 etk_list_la_LDFLAGS      = -module -avoid-version
 etk_list_la_LIBADD       = @ETK_LIBS@
+
+etk_iconbox_la_SOURCES      =      etk_icon_viewer.c \
+                                $(top_srcdir)/src/entropy_gui.c \
+                                $(top_srcdir)/src/entropy_debug.c \
+                                
$(top_srcdir)/src/dialogs/etk_directory_add_dialog.c \
+                                
$(top_srcdir)/src/dialogs/etk_properties_dialog.c
+etk_iconbox_la_CFLAGS       = @ETK_CFLAGS@
+etk_iconbox_la_LDFLAGS      = -module -avoid-version
+etk_iconbox_la_LIBADD       = @ETK_LIBS@
+
 
 
 etk_metadata_la_SOURCES = etk_meta_plugin.c
===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/plugins/etk_list_viewer.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -3 -r1.58 -r1.59
--- etk_list_viewer.c   5 Apr 2006 06:28:00 -0000       1.58
+++ etk_list_viewer.c   8 Apr 2006 08:13:37 -0000       1.59
@@ -96,7 +96,7 @@
 char *
 entropy_plugin_identify ()
 {
-  return (char *) "ETK File system list viewer";
+  return (char *) "listviewer";
 }
 
 char*
@@ -834,7 +834,7 @@
   plugin = entropy_malloc(sizeof(Entropy_Plugin_Gui));
   base = ENTROPY_PLUGIN(plugin);
   
-  return plugin;
+  return base;
 }
 
 
===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/plugins/layout_etk_simple.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -3 -r1.37 -r1.38
--- layout_etk_simple.c 5 Apr 2006 06:28:00 -0000       1.37
+++ layout_etk_simple.c 8 Apr 2006 08:13:37 -0000       1.38
@@ -30,6 +30,7 @@
 struct entropy_layout_gui
 {
   entropy_gui_component_instance *iconbox_viewer;
+  entropy_gui_component_instance *list_viewer;
   entropy_gui_component_instance *structure_viewer;
   Etk_Widget *tree;
   Etk_Widget *paned;
@@ -38,7 +39,9 @@
   Etk_Tree_Row* delete_row; /*The row pending deletion, if any*/
 
   Etk_Widget* popup;
+  Etk_Widget* localshell;
   Ecore_Hash* progress_hash; /*Track progress events->dialogs*/
+
 };
 
 typedef enum _Etk_Menu_Item_Type
@@ -220,6 +223,44 @@
        etk_mime_dialog_create();
 }
 
+
+void etk_local_viewer_cb(Etk_Object* obj, void* data)
+{
+       entropy_gui_component_instance* local;
+       Evas_List* children;
+       entropy_gui_component_instance* instance = data;
+       entropy_layout_gui* gui = instance->data;
+       Etk_Widget* widget;
+       
+       /*Get the local viewer they want..*/
+       local = etk_object_data_get(ETK_OBJECT(obj), "VISUAL");
+
+       if (local) {
+               /*FIXME - disable plugins - this should be cleaner*/
+               gui->iconbox_viewer->active = 0;
+               gui->list_viewer->active = 0;
+
+               for (children = 
etk_container_children_get(ETK_CONTAINER(gui->localshell)); children; ) {
+                       widget = children->data;
+                       etk_container_remove(ETK_CONTAINER(gui->localshell), 
widget);
+                       
+                       children = children->next;
+               }
+
+               if (local->gui_object) {
+                       etk_box_pack_start(ETK_BOX(gui->localshell), 
local->gui_object, ETK_TRUE,ETK_TRUE,0);
+                       local->active = 1;
+               } else {
+                       printf("Selected instance has no GUI_OBJECT\n");
+               }
+       } else {
+               printf("Local is null!\n");
+       }
+}
+
+
+
+
 void etk_file_cache_dialog_cb(Etk_Object *obj, void *data)
 {
        etk_file_cache_dialog_create();
@@ -447,56 +488,6 @@
   vbox = etk_vbox_new(ETK_FALSE,0);
   etk_container_add(ETK_CONTAINER(window), vbox);
 
-  /*Menu setup*/
-  menubar = etk_menu_bar_new();
-  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("File"), 
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, _("Exit"), 
ETK_STOCK_SYSTEM_SHUTDOWN, ETK_MENU_SHELL(menu), NULL);
-  etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(etk_layout_simple_exit_cb), layout);
-  
-  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Edit"), 
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));
-  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Cut"), 
ETK_STOCK_EDIT_CUT, ETK_MENU_SHELL(menu), NULL);
-  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Copy"), 
ETK_STOCK_EDIT_COPY, ETK_MENU_SHELL(menu), NULL);
-  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Paste"), 
ETK_STOCK_EDIT_PASTE, ETK_MENU_SHELL(menu), NULL);
-  
-  
-  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Tools"), 
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, _("Add 
Location"), ETK_STOCK_ADDRESS_BOOK_NEW, ETK_MENU_SHELL(menu), NULL);
-  etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(_location_add_cb), layout);
-  
-  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Program 
Associations.."), 
-                 ETK_STOCK_EMBLEM_SYMBOLIC_LINK, ETK_MENU_SHELL(menu), NULL);
-  etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(etk_mime_dialog_cb), layout);
-  
-  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));
-  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Tree View"), 
ETK_STOCK_SYSTEM_SHUTDOWN, ETK_MENU_SHELL(menu), NULL);
-  _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_NORMAL, _("Icon View"), 
ETK_STOCK_IMAGE_X_GENERIC, ETK_MENU_SHELL(menu), NULL);
-
-  
-  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Debug"), 
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, _("File 
Cache"), ETK_STOCK_PLACES_FOLDER_SAVED_SEARCH, ETK_MENU_SHELL(menu), NULL);
-  etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(etk_file_cache_dialog_cb), layout);
-  
-  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Help"), 
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));
-  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("About.."), 
ETK_STOCK_HELP_BROWSER, ETK_MENU_SHELL(menu), NULL);
-
-
-  etk_box_pack_start(ETK_BOX(vbox), menubar, ETK_FALSE, ETK_FALSE, 0);
-  etk_box_pack_start(ETK_BOX(vbox), gui->paned, TRUE, TRUE, 0);
-
   /*Tree init*/
   gui->tree = etk_tree_new();
   etk_paned_add1(ETK_PANED(gui->paned), gui->tree, ETK_FALSE);
@@ -509,6 +500,10 @@
 
   etk_widget_size_request_set(gui->tree, 230, 600);
 
+  /*LocalShell Init*/
+  gui->localshell = etk_vbox_new(ETK_TRUE,0);
+  etk_paned_add2(ETK_PANED(gui->paned), gui->localshell, ETK_TRUE);
+
   /*Popup init*/
    gui->popup = etk_menu_new();
    etk_signal_connect("row_clicked", ETK_OBJECT( gui->tree  ),
@@ -528,15 +523,30 @@
   }
 
   /*Initialise the list view*/
-  local = 
entropy_plugins_type_get_first(ENTROPY_PLUGIN_GUI_COMPONENT,ENTROPY_PLUGIN_GUI_COMPONENT_LOCAL_VIEW);
+  local = entropy_plugin_gui_get_by_name_toolkit(ENTROPY_TOOLKIT_ETK, 
"listviewer");
   if (local) {
          local_plugin_init =
              dlsym (local->dl_ref, "entropy_plugin_gui_instance_new");   
          instance = (*local_plugin_init)(core, layout,NULL);
          instance->plugin = local;
+         instance->active=0;
+         gui->list_viewer = instance;
+         etk_box_pack_start(ETK_BOX(gui->localshell), instance->gui_object, 
ETK_TRUE,ETK_TRUE,0);
+   }
+
+   /*Initialise the icon viewer*/
+  /*Initialise the list view*/
+  local = entropy_plugin_gui_get_by_name_toolkit(ENTROPY_TOOLKIT_ETK, 
"iconviewer");
+  if (local) {
+         local_plugin_init =
+             dlsym (local->dl_ref, "entropy_plugin_gui_instance_new");   
+         gui->iconbox_viewer = (*local_plugin_init)(core, layout,NULL);
+         gui->iconbox_viewer->plugin = local;
+         //etk_box_pack_start(ETK_BOX(gui->localshell), instance->gui_object, 
ETK_TRUE,ETK_TRUE,0);
    }
 
 
+
   /*Initialise the metadata plugin*/
   meta = entropy_plugins_type_get_first(ENTROPY_PLUGIN_GUI_COMPONENT, 
ENTROPY_PLUGIN_GUI_COMPONENT_INFO_PROVIDER);
   if (meta) {
@@ -546,7 +556,65 @@
          meta_instance->plugin = meta;
   }
 
-  etk_paned_add2(ETK_PANED(gui->paned), instance->gui_object, ETK_TRUE);
+
+  /*Menu setup*/
+  menubar = etk_menu_bar_new();
+  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("File"), 
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, _("Exit"), 
ETK_STOCK_SYSTEM_SHUTDOWN, ETK_MENU_SHELL(menu), NULL);
+  etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(etk_layout_simple_exit_cb), layout);
+  
+  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Edit"), 
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));
+  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Cut"), 
ETK_STOCK_EDIT_CUT, ETK_MENU_SHELL(menu), NULL);
+  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Copy"), 
ETK_STOCK_EDIT_COPY, ETK_MENU_SHELL(menu), NULL);
+  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Paste"), 
ETK_STOCK_EDIT_PASTE, ETK_MENU_SHELL(menu), NULL);
+  
+  
+  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Tools"), 
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, _("Add 
Location"), ETK_STOCK_ADDRESS_BOOK_NEW, ETK_MENU_SHELL(menu), NULL);
+  etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(_location_add_cb), layout);
+  
+  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Program 
Associations.."), 
+                 ETK_STOCK_EMBLEM_SYMBOLIC_LINK, ETK_MENU_SHELL(menu), NULL);
+  etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(etk_mime_dialog_cb), layout);
+  
+  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));
+  _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_item_new(ETK_MENU_ITEM_NORMAL, _("List View"), 
ETK_STOCK_SYSTEM_SHUTDOWN, ETK_MENU_SHELL(menu), NULL);
+  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);
+  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);
+
+
+  
+  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Debug"), 
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, _("File 
Cache"), ETK_STOCK_PLACES_FOLDER_SAVED_SEARCH, ETK_MENU_SHELL(menu), NULL);
+  etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(etk_file_cache_dialog_cb), layout);
+  
+  menu_item = _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("Help"), 
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));
+  _entropy_etk_menu_item_new(ETK_MENU_ITEM_NORMAL, _("About.."), 
ETK_STOCK_HELP_BROWSER, ETK_MENU_SHELL(menu), NULL);
+
+
+  etk_box_pack_start(ETK_BOX(vbox), menubar, ETK_FALSE, ETK_FALSE, 0);
+  etk_box_pack_start(ETK_BOX(vbox), gui->paned, TRUE, TRUE, 0);
+  /*---------------------------*/
 
   gui->statusbar_box = etk_hbox_new(ETK_TRUE, 0);
   etk_box_pack_start(ETK_BOX(vbox), gui->statusbar_box, ETK_FALSE, ETK_FALSE, 
0);




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to