Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : proto

Dir     : e17/proto/edje_editor/src/bin


Modified Files:
        callbacks.c callbacks.h interface.c interface.h main.h 


Log Message:
 * You can now define program to interact with !
 * Add the mouse_events combobox
 * Use an Etk_Combobox_Entry instead of a simple entry (more to come)

===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- callbacks.c 3 Jul 2007 02:17:44 -0000       1.22
+++ callbacks.c 10 Jul 2007 02:16:37 -0000      1.23
@@ -230,6 +230,7 @@
          etk_widget_hide(UI_PartFrame);
          etk_widget_show(UI_ProgramFrame);
          UpdateProgFrame();
+         PopulateSourceComboBox();
          break;
    }
 
@@ -348,6 +349,15 @@
 }
 
 void
+on_PartEventsCheck_toggled(Etk_Object *object, void *data)
+{
+   printf("Toggled Signal on EventsCheck EMITTED\n");
+   if (Cur.ep)
+   {
+      
engrave_part_mouse_events_set(Cur.ep,etk_toggle_button_active_get(object));
+   }
+}
+void
 on_StateEntry_text_changed(Etk_Object *object, void *data)
 {
    Etk_Tree_Col *col1=NULL;
@@ -725,7 +735,23 @@
 on_SourceEntry_text_changed(Etk_Object *object, void *data)
 {
    printf("Text Changed Signal on SourceEntry Emitted\n");
-   
engrave_program_source_set(Cur.epr,etk_entry_text_get(ETK_ENTRY(UI_SourceEntry)));
+   engrave_program_source_set(Cur.epr,
+            etk_entry_text_get(etk_combobox_entry_entry_get(UI_SourceEntry)));
+}
+void
+on_SourceEntry_item_changed(Etk_Combobox_Entry *combo, void *data)
+{
+   Etk_Combobox_Entry_Item *active_item = NULL;
+   char *pname;
+   
+   printf("Item Changed Signal on SourceEntry Emitted\n");
+   
+   if (!(active_item = etk_combobox_entry_active_item_get(combo)))
+      return;
+   
+   etk_combobox_entry_item_fields_get(active_item, NULL, &pname, NULL); 
+   
+   etk_entry_text_set(etk_combobox_entry_entry_get(UI_SourceEntry),pname);
 }
 void
 on_SignalEntry_text_changed(Etk_Object *object, void *data)
@@ -987,12 +1013,14 @@
    ev_redraw();
 }
 
+/* Add/Remove Buttons Callbacks */
 void 
 on_AddMenu_item_activated(Etk_Object *object, void *data)
 {
    Engrave_Group *group = NULL;
    Engrave_Part *part;
    Engrave_Part_State *new_state;
+   Engrave_Program *prog = NULL;
 
    printf("Item Activated Signal on AddMenu EMITTED\n");
 
@@ -1083,7 +1111,16 @@
          }else{
             ShowAlert("You must first select a group.");
          }
-
+         break;
+      case NEW_PROG:
+         if (Cur.eg){
+            prog = engrave_program_new();
+            engrave_program_name_set(prog,"new program");
+            engrave_group_program_add(Cur.eg,prog);
+            AddProgramToTree(prog);
+         }else{
+            ShowAlert("You must first select a group.");
+         }
          break;
       case NEW_DESC:
          if (Cur.ep){
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- callbacks.h 5 Feb 2007 07:44:18 -0000       1.10
+++ callbacks.h 10 Jul 2007 02:16:37 -0000      1.11
@@ -14,6 +14,7 @@
                                        void *event_info);
 void on_ColorDialog_change             (Etk_Object *object, void *data);
 void on_PartNameEntry_text_changed     (Etk_Object *object, void *data);
+void on_PartEventsCheck_toggled        (Etk_Object *object, void *data);
 void on_StateEntry_text_changed        (Etk_Object *object, void *data);
 void on_AllButton_click                (Etk_Button *button, void *data);
 void on_AddMenu_item_activated         (Etk_Object *object, void *data);
@@ -44,6 +45,7 @@
 void on_ActionComboBox_changed         (Etk_Combobox *combobox, void *data);
 void on_ProgramEntry_text_changed      (Etk_Object *object, void *data);
 void on_SourceEntry_text_changed       (Etk_Object *object, void *data);
+void on_SourceEntry_item_changed       (Etk_Combobox_Entry *combo, void *data);
 void on_SignalEntry_text_changed       (Etk_Object *object, void *data);
 void on_DelaySpinners_value_changed    (Etk_Range *range, double value, void 
*data);
 void on_TargetEntry_text_changed       (Etk_Object *object, void *data);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- interface.c 9 Jul 2007 12:32:10 -0000       1.26
+++ interface.c 10 Jul 2007 02:16:37 -0000      1.27
@@ -106,7 +106,8 @@
    col1 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 0);
    col2 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 1);
    col3 = etk_tree_nth_col_get(ETK_TREE(UI_PartsTree), 2);
-
+   
+   //TODO: place the prog after all the parts
    row = etk_tree_row_append(ETK_TREE(UI_PartsTree),
                ecore_hash_get(hash,prog->parent),
                col1, EdjeFile,"PROG.PNG", prog->name,
@@ -265,6 +266,37 @@
 }
 
 void
+PopulateSourceComboBox(void){
+   Evas_List *l;
+   Engrave_Part *ep;
+
+   //Stop signal propagation
+   etk_signal_block("active-item-changed", ETK_OBJECT(UI_SourceEntry),
+                  ETK_CALLBACK(on_SourceEntry_item_changed));
+
+   printf("Populate Source Combobox\n");
+
+   etk_combobox_entry_clear(ETK_COMBOBOX_ENTRY(UI_SourceEntry));
+
+   for (l = Cur.eg->parts; l ; l = l->next)
+   {
+      ep = l->data;
+      if (ep->type == ENGRAVE_PART_TYPE_RECT)
+         etk_combobox_entry_item_append(UI_SourceEntry,
+                     etk_image_new_from_edje (EdjeFile,"RECT.PNG"),ep->name);
+      if (ep->type == ENGRAVE_PART_TYPE_TEXT)
+         etk_combobox_entry_item_append(UI_SourceEntry,
+                     etk_image_new_from_edje (EdjeFile,"TEXT.PNG"),ep->name);
+      if (ep->type == ENGRAVE_PART_TYPE_IMAGE)
+          etk_combobox_entry_item_append(UI_SourceEntry,
+                     etk_image_new_from_edje (EdjeFile,"IMAGE.PNG"),ep->name);
+   }
+
+   //Renable  signal propagation
+   etk_signal_unblock("active-item-changed", ETK_OBJECT(UI_SourceEntry),
+                     ETK_CALLBACK(on_SourceEntry_item_changed));
+}
+void
 UpdateGroupFrame(void)
 {
    //Stop signal propagation
@@ -299,14 +331,20 @@
       //printf("Update Part Frame: %s\n",Cur.ep->name);
 
       //Stop signal propagation
-      
etk_signal_block("text-changed",ETK_OBJECT(UI_PartNameEntry),on_PartNameEntry_text_changed);
+      etk_signal_block("text-changed",ETK_OBJECT(UI_PartNameEntry),
+                        on_PartNameEntry_text_changed);
+      etk_signal_block("toggled",ETK_OBJECT(UI_PartEventsCheck),
+                        on_PartEventsCheck_toggled);
 
       //Update Part
       etk_entry_text_set(ETK_ENTRY(UI_PartNameEntry),Cur.ep->name);
+      etk_toggle_button_active_set(UI_PartEventsCheck,Cur.ep->mouse_events);   
 
 
       //ReEnable Signal Propagation
-      
etk_signal_unblock("text-changed",ETK_OBJECT(UI_PartNameEntry),on_PartNameEntry_text_changed);
-
+      etk_signal_unblock("text-changed",ETK_OBJECT(UI_PartNameEntry),
+                           on_PartNameEntry_text_changed);
+      etk_signal_unblock("toggled",ETK_OBJECT(UI_PartEventsCheck),
+                           on_PartEventsCheck_toggled);
    }
 }
 
@@ -673,7 +711,7 @@
    //Stop signal propagation
    etk_signal_block("text-changed", ETK_OBJECT(UI_ProgramEntry),
          ETK_CALLBACK(on_ProgramEntry_text_changed));
-   etk_signal_block("text-changed", ETK_OBJECT(UI_SourceEntry), 
+   etk_signal_block("text-changed", 
ETK_OBJECT(etk_combobox_entry_entry_get(UI_SourceEntry)), 
          ETK_CALLBACK(on_SourceEntry_text_changed));
    etk_signal_block("text-changed", ETK_OBJECT(UI_SignalEntry), 
          ETK_CALLBACK(on_SignalEntry_text_changed));
@@ -701,8 +739,8 @@
    etk_entry_text_set(ETK_ENTRY(UI_ProgramEntry),Cur.epr->name);
 
    //Update Source
-   etk_entry_text_set(ETK_ENTRY(UI_SourceEntry),Cur.epr->source);   
-
+   
etk_entry_text_set(etk_combobox_entry_entry_get(UI_SourceEntry),Cur.epr->source);
+   
    //Update Signal
    etk_entry_text_set(ETK_ENTRY(UI_SignalEntry),Cur.epr->signal);
 
@@ -768,7 +806,7 @@
    //Reenable signal propagation
    etk_signal_unblock("text-changed", ETK_OBJECT(UI_ProgramEntry),
          ETK_CALLBACK(on_ProgramEntry_text_changed));
-   etk_signal_unblock("text-changed", ETK_OBJECT(UI_SourceEntry), 
+   etk_signal_unblock("text-changed", 
ETK_OBJECT(etk_combobox_entry_entry_get(UI_SourceEntry)), 
          ETK_CALLBACK(on_SourceEntry_text_changed));
    etk_signal_unblock("text-changed", ETK_OBJECT(UI_SignalEntry), 
          ETK_CALLBACK(on_SignalEntry_text_changed));
@@ -778,7 +816,7 @@
          ETK_CALLBACK(on_DelaySpinners_value_changed));
    etk_signal_unblock("text-changed", ETK_OBJECT(UI_TargetEntry), 
          ETK_CALLBACK(on_TargetEntry_text_changed));
-   etk_signal_unblock("text_changed", ETK_OBJECT(UI_Param1Entry), 
+   etk_signal_unblock("text-changed", ETK_OBJECT(UI_Param1Entry), 
          ETK_CALLBACK(on_Param1Entry_text_changed));
    etk_signal_unblock("value-changed", ETK_OBJECT(UI_Param1Spinner),
          ETK_CALLBACK(on_Param1Spinner_value_changed));
@@ -1023,8 +1061,15 @@
    image = etk_image_new_from_edje(EdjeFile,"TEXT.PNG");
    etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image));
    etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(on_AddMenu_item_activated), (void*)NEW_TEXT);
-
    etk_menu_shell_append(ETK_MENU_SHELL(UI_AddMenu), ETK_MENU_ITEM(menu_item));
+   
+   //New Program
+   menu_item = etk_menu_item_image_new_with_label("Program");
+   image = etk_image_new_from_edje(EdjeFile,"PROG.PNG");
+   etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image));
+   etk_signal_connect("activated", ETK_OBJECT(menu_item), 
ETK_CALLBACK(on_AddMenu_item_activated), (void*)NEW_PROG);
+   etk_menu_shell_append(ETK_MENU_SHELL(UI_AddMenu), ETK_MENU_ITEM(menu_item));
+   
    //Separator
    menu_item = etk_menu_item_separator_new();
    etk_menu_shell_append(ETK_MENU_SHELL(UI_AddMenu), ETK_MENU_ITEM(menu_item));
@@ -1525,6 +1570,7 @@
    ComboItem = etk_combobox_item_append(ETK_COMBOBOX(UI_EffectComboBox),
       etk_image_new_from_edje (EdjeFile,"NONE.PNG"), "Outline Soft Shadow");
    etk_combobox_item_data_set (ComboItem, 
(void*)ENGRAVE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW);
+   
    etk_table_attach_default (ETK_TABLE(table),UI_EffectComboBox, 1, 4, 2,2);
 
    //hbox
@@ -1765,6 +1811,10 @@
    UI_PartNameEntry = etk_entry_new();
    etk_table_attach_default (ETK_TABLE(table),UI_PartNameEntry, 1, 1, 0, 0);
 
+   //PartEventsCheck
+   UI_PartEventsCheck = etk_check_button_new_with_label ("<b>Accept mouse 
events</b>");
+   etk_table_attach_default (ETK_TABLE(table),UI_PartEventsCheck, 0, 1, 1, 1);
+
    //PartClipToComboBox
    label = etk_label_new("<b>Clip_to</b>");
    etk_table_attach (ETK_TABLE(table), label, 0, 0, 2, 2,ETK_TABLE_NONE,0,0);
@@ -1780,6 +1830,7 @@
    etk_table_attach_default (ETK_TABLE(table), combo, 1, 1, 2, 2);
 
    etk_signal_connect("text-changed", ETK_OBJECT(UI_PartNameEntry), 
ETK_CALLBACK(on_PartNameEntry_text_changed), NULL);
+   etk_signal_connect("toggled", ETK_OBJECT(UI_PartEventsCheck), 
ETK_CALLBACK(on_PartEventsCheck_toggled), NULL);
 
    return UI_PartFrame;
 }
@@ -1806,8 +1857,11 @@
    //UI_SourceEntry
    label = etk_label_new("<b>Source</b>");
    etk_table_attach(ETK_TABLE(table), label, 0, 0, 1, 1,ETK_TABLE_NONE,0,0);
-   UI_SourceEntry = etk_entry_new();
-   etk_tooltips_tip_set(UI_SourceEntry, "<b>Source(s)</b> of the 
signal.<br>The Part or Program that emit the signal<br>Wildcards can be used to 
widen the scope, ex: \"button-*\"");
+   //etk_tooltips_tip_set(UI_SourceEntry, "<b>Source(s)</b> of the 
signal.<br>The Part or Program that emit the signal<br>Wildcards can be used to 
widen the scope, ex: \"button-*\"");
+   UI_SourceEntry = etk_combobox_entry_new();
+   etk_combobox_entry_column_add(UI_SourceEntry, ETK_COMBOBOX_ENTRY_IMAGE, 24, 
ETK_COMBOBOX_ENTRY_NONE, 0.0);
+   etk_combobox_entry_column_add(UI_SourceEntry, ETK_COMBOBOX_ENTRY_LABEL, 75, 
ETK_COMBOBOX_ENTRY_EXPAND, 0.0);
+   etk_combobox_entry_build(UI_SourceEntry);
    etk_table_attach_default(ETK_TABLE(table), UI_SourceEntry, 1, 3, 1, 1);
 
    //UI_SignalEntry
@@ -1923,8 +1977,10 @@
          ETK_CALLBACK(on_ActionComboBox_changed), NULL);
    etk_signal_connect("text-changed", ETK_OBJECT(UI_ProgramEntry), 
          ETK_CALLBACK(on_ProgramEntry_text_changed), NULL);
-   etk_signal_connect("text-changed", ETK_OBJECT(UI_SourceEntry), 
-         ETK_CALLBACK(on_SourceEntry_text_changed), NULL);
+   etk_signal_connect("text-changed", 
ETK_OBJECT(etk_combobox_entry_entry_get(UI_SourceEntry)), 
+         ETK_CALLBACK(on_SourceEntry_text_changed), UI_SourceEntry);
+   etk_signal_connect("active-item-changed", ETK_OBJECT(UI_SourceEntry), 
+         ETK_CALLBACK(on_SourceEntry_item_changed), NULL);
    etk_signal_connect("text-changed", ETK_OBJECT(UI_SignalEntry), 
          ETK_CALLBACK(on_SignalEntry_text_changed), NULL);
    etk_signal_connect("value-changed", ETK_OBJECT(UI_DelayFromSpinner),
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- interface.h 23 May 2007 01:06:24 -0000      1.12
+++ interface.h 10 Jul 2007 02:16:37 -0000      1.13
@@ -91,6 +91,7 @@
 Etk_Widget *UI_DelayFromSpinner;
 Etk_Widget *UI_DelayRangeSpinner;
 Etk_Widget *UI_CurrentGroupSizeLabel;
+Etk_Widget *UI_PartEventsCheck;
 
 void     create_main_window      (void);
 void     PopulateTree            (void);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- main.h      13 Mar 2007 04:43:18 -0000      1.8
+++ main.h      10 Jul 2007 02:16:37 -0000      1.9
@@ -55,6 +55,7 @@
    NEW_IMAGE,
    NEW_RECT,
    NEW_TEXT,
+   NEW_PROG,
    NEW_DESC,
    NEW_GROUP,
    REMOVE_DESCRIPTION,



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to