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