Enlightenment CVS committal

Author  : chaos
Project : e17
Module  : proto

Dir     : e17/proto/entropy/src


Modified Files:
        entropy_core.c entropy_gui_event_handlers.c plugin_helper.c 


Log Message:
* Big changes - copy/cut/paste events/requests now available to layout event 
consumers
* This is also means that cut/copy/paste are now available from the main window 
(as well as through Ctrl-(x|c|v)

===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/entropy_core.c,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -3 -r1.91 -r1.92
--- entropy_core.c      6 Sep 2006 11:09:22 -0000       1.91
+++ entropy_core.c      7 Sep 2006 13:40:14 -0000       1.92
@@ -287,6 +287,9 @@
        
entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_USER_INTERACTION_YES_NO_ABORT,
 entropy_event_handler_user_interaction_handler);
        entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_EXTENDED_STAT, 
entropy_event_handler_extended_stat_handler);
        entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_METADATA_GROUPS, 
entropy_event_handler_metadata_groups_handler);
+       entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_COPY_REQUEST, 
entropy_event_handler_copy_request_handler);
+       entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_CUT_REQUEST, 
entropy_event_handler_cut_request_handler);
+       entropy_core_gui_event_handler_add(ENTROPY_GUI_EVENT_PASTE_REQUEST, 
entropy_event_handler_paste_request_handler);
        
 
        //printf("\n\nDetails of thumbnailers:\n");
@@ -594,7 +597,7 @@
 
 
 /*A function we need, unfortunately, because of the way dlopen works with 
string refs, and the need of ecore_hash for 
- * a pointer */
+ * a pointer. This isn't a big inefficiency - this is only called on plugin 
create */
 char* entropy_core_gui_event_get(char* event) {
        if (!strcmp(event, ENTROPY_GUI_EVENT_FOLDER_CHANGE_CONTENTS)) {
                return "entropy_gui_event_folder_change_contents";
@@ -628,9 +631,14 @@
                return "entropy_gui_event_extended_stat";
        } else if (!strcmp(event,  ENTROPY_GUI_EVENT_METADATA_GROUPS)) {
                return "entropy_gui_event_metadata_groups";
-       } else {
+       } else if (!strcmp(event, ENTROPY_GUI_EVENT_COPY_REQUEST)) {
+               return "entropy_gui_event_copy_request";
+       } else if (!strcmp(event, ENTROPY_GUI_EVENT_CUT_REQUEST)) {
+               return "entropy_gui_event_cut_request";
+       } else if (!strcmp(event, ENTROPY_GUI_EVENT_PASTE_REQUEST)) {
+               return "entropy_gui_event_paste_request";
+       } else 
                return "";
-       }
 }
 
 void generic_file_print(entropy_generic_file* file) {
@@ -999,7 +1007,7 @@
                if (!found) {
                        /*Now add this component to this list*/
                        ecore_list_append(event_list, comp);
-                       //printf("Registered interest in '%s' for this gui 
component\n", event);
+                       /*printf("Registered interest in '%s' for this gui 
component\n", event);*/
                }
        }
 }
@@ -1072,9 +1080,8 @@
                return;
        }
 
-       //printf ("Got layout hash %p for layout at %p\n", lay_hash, layout);
-
-       //printf("Called event call, for event: '%s'\n", event->event_type);
+       /*printf ("Got layout hash %p for layout at %p\n", lay_hash, layout);
+       printf("Called event call, for event: '%s'\n", event->event_type);*/
 
        /*Otherwise, get the list of instances that care about this event*/
        el = ecore_hash_get(lay_hash, event->event_type);
@@ -1093,6 +1100,7 @@
                
                ecore_list_goto_first(handlers);
                while ( (handler = ecore_list_next(handlers))) {
+
                        data = (*handler->notify_event_cb)(event,instance);
                        
                        if (data->notify) {
===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/entropy_gui_event_handlers.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- entropy_gui_event_handlers.c        5 Sep 2006 06:27:39 -0000       1.14
+++ entropy_gui_event_handlers.c        7 Sep 2006 13:40:14 -0000       1.15
@@ -520,3 +520,91 @@
 
        return data;
 }
+
+/*Copy Request */
+Entropy_Gui_Event_Handler* entropy_event_handler_copy_request_handler()
+{
+       return entropy_gui_event_handler_new(
+                       entropy_event_handler_copy_request_instance_data,
+                       entropy_event_handler_instance_data_generic_cleanup);
+       
+}
+
+Entropy_Gui_Event_Handler_Instance_Data* 
entropy_event_handler_copy_request_instance_data(entropy_gui_event* event, 
+       entropy_gui_component_instance* requestor) 
+{
+       Entropy_Gui_Event_Handler_Instance_Data* data = NULL;
+       entropy_notify_event* ev = NULL;
+       
+       data = entropy_malloc(sizeof(Entropy_Gui_Event_Handler_Instance_Data));
+
+       ev = entropy_notify_event_new();
+       ev->event_type = ENTROPY_NOTIFY_COPY_REQUEST; 
+       ev->return_struct = (void*)1; /*We only call notify if there's data*/
+       ev->processed = 1;
+
+       printf("Copy request at gui_event_handler..\n");
+
+       data->notify = ev;
+       
+
+       return data;
+}
+
+
+/*Cut Request */
+Entropy_Gui_Event_Handler* entropy_event_handler_cut_request_handler()
+{
+       return entropy_gui_event_handler_new(
+                       entropy_event_handler_cut_request_instance_data,
+                       entropy_event_handler_instance_data_generic_cleanup);
+       
+}
+
+Entropy_Gui_Event_Handler_Instance_Data* 
entropy_event_handler_cut_request_instance_data(entropy_gui_event* event, 
+       entropy_gui_component_instance* requestor) 
+{
+       Entropy_Gui_Event_Handler_Instance_Data* data = NULL;
+       entropy_notify_event* ev = NULL;
+       
+       data = entropy_malloc(sizeof(Entropy_Gui_Event_Handler_Instance_Data));
+
+       ev = entropy_notify_event_new();
+       ev->event_type = ENTROPY_NOTIFY_CUT_REQUEST; 
+       ev->return_struct = (void*)1; /*We only call notify if there's data*/
+       ev->processed = 1;
+
+       data->notify = ev;
+       
+
+       return data;
+}
+
+/*Paste Request */
+Entropy_Gui_Event_Handler* entropy_event_handler_paste_request_handler()
+{
+       return entropy_gui_event_handler_new(
+                       entropy_event_handler_paste_request_instance_data,
+                       entropy_event_handler_instance_data_generic_cleanup);
+       
+}
+
+Entropy_Gui_Event_Handler_Instance_Data* 
+entropy_event_handler_paste_request_instance_data(entropy_gui_event* event, 
+       entropy_gui_component_instance* requestor) 
+{
+       Entropy_Gui_Event_Handler_Instance_Data* data = NULL;
+       entropy_notify_event* ev = NULL;
+       
+       data = entropy_malloc(sizeof(Entropy_Gui_Event_Handler_Instance_Data));
+
+       ev = entropy_notify_event_new();
+       ev->event_type = ENTROPY_NOTIFY_PASTE_REQUEST; 
+       ev->return_struct = (void*)1; /*We only call notify if there's data*/
+       ev->processed = 1;
+
+       data->notify = ev;
+       
+
+       return data;
+}
===================================================================
RCS file: /cvs/e/e17/proto/entropy/src/plugin_helper.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- plugin_helper.c     26 Aug 2006 12:59:15 -0000      1.29
+++ plugin_helper.c     7 Sep 2006 13:40:14 -0000       1.30
@@ -61,8 +61,6 @@
 }
 
 entropy_plugin* entropy_plugin_gui_get_by_name_toolkit(char* toolkit, char* 
name) {
-       entropy_plugin* plugin; 
-
         entropy_plugin* list_item;
 
        Ecore_List* plugins = entropy_core_get_core()->plugin_list;
@@ -396,6 +394,42 @@
        entropy_core_gui_event_get (ENTROPY_GUI_EVENT_ACTION_FILE);
     gui_event->data = file;
     entropy_core_layout_notify_event (instance, gui_event, 
ENTROPY_EVENT_GLOBAL); 
+}
+
+void entropy_event_copy_request(entropy_gui_component_instance* instance) 
+{
+    entropy_gui_event *gui_event;
+
+       
+    gui_event = entropy_malloc (sizeof (entropy_gui_event));
+    gui_event->event_type =
+       entropy_core_gui_event_get (ENTROPY_GUI_EVENT_COPY_REQUEST);
+    gui_event->data = NULL;
+    entropy_core_layout_notify_event (instance, gui_event, 
ENTROPY_EVENT_LOCAL); 
+}
+
+void entropy_event_cut_request(entropy_gui_component_instance* instance) 
+{
+    entropy_gui_event *gui_event;
+
+       
+    gui_event = entropy_malloc (sizeof (entropy_gui_event));
+    gui_event->event_type =
+       entropy_core_gui_event_get (ENTROPY_GUI_EVENT_CUT_REQUEST);
+    gui_event->data = NULL;
+    entropy_core_layout_notify_event (instance, gui_event, 
ENTROPY_EVENT_LOCAL); 
+}
+
+void entropy_event_paste_request(entropy_gui_component_instance* instance) 
+{
+    entropy_gui_event *gui_event;
+
+       
+    gui_event = entropy_malloc (sizeof (entropy_gui_event));
+    gui_event->event_type =
+       entropy_core_gui_event_get (ENTROPY_GUI_EVENT_PASTE_REQUEST);
+    gui_event->data = NULL;
+    entropy_core_layout_notify_event (instance, gui_event, 
ENTROPY_EVENT_LOCAL); 
 }
 
 entropy_generic_file* 
entropy_layout_current_folder_get(entropy_gui_component_instance_layout* layout)



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to