Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : proto/edje_editor

Dir     : e17/proto/edje_editor/src/bin


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


Log Message:
* Add shortcuts 'engine'
ctrl+q = quit
ctrl+f = fullscreen
ctrl+s = save
...and more to come

* Disable not in context menu items (but etk should grey-out disabled 
menu entry)


 

===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -3 -r1.68 -r1.69
--- callbacks.c 19 Apr 2008 21:24:54 -0000      1.68
+++ callbacks.c 21 Jun 2008 21:40:27 -0000      1.69
@@ -87,7 +87,7 @@
          ShowFilechooser(FILECHOOSER_SAVE_EDJ);
          break;
       }
-      
+
       edje_edit_save(edje_o);
       if (!ecore_file_cp(Cur.edj_temp_name->string, Cur.edj_file_name->string))
       {
@@ -101,12 +101,27 @@
       ShowFilechooser(FILECHOOSER_SAVE_EDJ);
       break;
    case TOOLBAR_ADD:
+      if (!etk_string_length_get(Cur.part))
+         etk_widget_disabled_set(UI_AddStateButton, 1);
+      else etk_widget_disabled_set(UI_AddStateButton, 0);
       etk_menu_popup(ETK_MENU(UI_AddMenu));
       break;
    case TOOLBAR_REMOVE:
+      if (!etk_string_length_get(Cur.state))
+         etk_widget_disabled_set(UI_RemoveStateButton, 1);
+      else etk_widget_disabled_set(UI_RemoveStateButton, 0);
+      if (!etk_string_length_get(Cur.part))
+         etk_widget_disabled_set(UI_RemovePartButton, 1);
+      else etk_widget_disabled_set(UI_RemovePartButton, 0);
+      if (!etk_string_length_get(Cur.prog))
+         etk_widget_disabled_set(UI_RemoveProgramButton, 1);
+      else etk_widget_disabled_set(UI_RemoveProgramButton, 0);
+
       etk_menu_popup(ETK_MENU(UI_RemoveMenu));
       break;
-   
+   case TOOLBAR_QUIT:
+      etk_main_quit();
+      break;
    case TOOLBAR_MOVE_UP: //Lower
       if (!etk_string_length_get(Cur.part))
       {
@@ -215,6 +230,10 @@
    case TOOLBAR_OPTION_BG4:
       edje_object_signal_emit(edje_ui,"set_bg4","edje_editor");
       break;
+   case TOOLBAR_OPTION_FULLSCREEN:
+      Cur.fullscreen = !Cur.fullscreen;
+      ecore_evas_fullscreen_set(UI_ecore_MainWin, Cur.fullscreen);
+      break;
    case TOOLBAR_PLAY:
       TogglePlayButton(-1);
       break;
@@ -248,6 +267,58 @@
    return ETK_TRUE;
 }
 
+void
+on_Editing_click(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+   Evas_Object *o2;
+   int x, y;
+   Evas_Event_Mouse_Down *ev = event_info;
+   
+       evas_pointer_output_xy_get(e, &x, &y);
+   
+   printf("CLIK\n");
+   //o2 = evas_object_top_at_pointer_get(e);
+   Evas_List *l =      evas_objects_at_xy_get (e, ev->canvas.x, ev->canvas.y, 
1, 1);
+   printf("CLIK %x [%d %d] num: %d\n", obj, ev->canvas.x, ev->canvas.y, 
evas_list_count(l));
+   
+}
+
+void
+on_Mainwin_key_press(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Key_Down *ev = event_info;
+  
+   printf("*** Logo receive key pressed\n");
+   printf("   keyname: %s\n", ev->keyname);
+   printf("   key: %s\n", ev->key);
+   printf("   string: %s\n", ev->string);
+   printf("   compose: %s\n", ev->compose);
+       
+   
+   /* NOTE: To add new bindings you must add a keygrab for the key
+      you want in create_main_window(). And remember to update the README */
+   
+   /* quit */
+   if (!strcmp(ev->key, "q") &&
+       evas_key_modifier_is_set(ev->modifiers, "Control"))
+      etk_main_quit();
+   
+   /* fullscreen */
+   else if (!strcmp(ev->key, "f") &&
+            evas_key_modifier_is_set(ev->modifiers, "Control"))
+   {    
+      Cur.fullscreen = !Cur.fullscreen;
+      ecore_evas_fullscreen_set(UI_ecore_MainWin, Cur.fullscreen);     
+   }
+
+   /* save (TODO make some sort of feedback for the user)*/
+   else if (!strcmp(ev->key, "s") &&
+            evas_key_modifier_is_set(ev->modifiers, "Control"))
+      on_AllButton_click(NULL, TOOLBAR_SAVE);
+   
+   
+}
+
 /* Tree callbacks */
 Etk_Bool
 on_PartsTree_row_selected(Etk_Object *object, Etk_Tree_Row *row, void *data)
@@ -359,7 +430,7 @@
 Etk_Bool
 on_GroupNameEntry_key_down(Etk_Object *object, Etk_Event_Key_Down *event, void 
*data)
 {
-   printf("PRESSED %s\n", event->keyname);
+   //printf("PRESSED %s\n", event->keyname);
    
    if (!strcmp(event->keyname, "Return"))
       on_GroupNameEntryImage_mouse_clicked(
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- callbacks.h 26 Feb 2008 01:33:35 -0000      1.25
+++ callbacks.h 21 Jun 2008 21:40:27 -0000      1.26
@@ -21,6 +21,8 @@
 Etk_Bool on_StateEntry_key_down            (Etk_Object *object, 
Etk_Event_Key_Down *event, void *data);
 Etk_Bool on_StateEntryImage_mouse_clicked  (Etk_Object *object, void *data);
 Etk_Bool on_AllButton_click                (Etk_Button *button, void *data);
+void on_Mainwin_key_press                  (void *data, Evas *e, Evas_Object 
*obj, void *event_info);
+void on_Editing_click                      (void *data, Evas *e, Evas_Object 
*obj, void *event_info);   
 Etk_Bool on_AddMenu_item_activated         (Etk_Object *object, void *data);
 Etk_Bool on_RemoveMenu_item_activated      (Etk_Object *object, void *data);
 Etk_Bool on_RelToComboBox_changed          (Etk_Combobox *combobox, void 
*data);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -3 -r1.70 -r1.71
--- interface.c 19 Apr 2008 22:58:48 -0000      1.70
+++ interface.c 21 Jun 2008 21:40:27 -0000      1.71
@@ -38,11 +38,11 @@
       stack = evas_list_remove_list(stack, evas_list_last(stack));
    }
 
-      edje_object_part_text_set(Consolle, "line1", evas_list_nth(stack, 0));
-      edje_object_part_text_set(Consolle, "line2", evas_list_nth(stack, 1));
-      edje_object_part_text_set(Consolle, "line3", evas_list_nth(stack, 2));
-      edje_object_part_text_set(Consolle, "line4", evas_list_nth(stack, 3));
-      edje_object_part_text_set(Consolle, "line5", evas_list_nth(stack, 4));
+   edje_object_part_text_set(Consolle, "line1", evas_list_nth(stack, 0));
+   edje_object_part_text_set(Consolle, "line2", evas_list_nth(stack, 1));
+   edje_object_part_text_set(Consolle, "line3", evas_list_nth(stack, 2));
+   edje_object_part_text_set(Consolle, "line4", evas_list_nth(stack, 3));
+   edje_object_part_text_set(Consolle, "line5", evas_list_nth(stack, 4));
 }
 
 void
@@ -1537,12 +1537,12 @@
    etk_menu_shell_append(ETK_MENU_SHELL(UI_AddMenu), ETK_MENU_ITEM(menu_item));
 
    //New Description
-   menu_item = etk_menu_item_image_new_with_label("A new state to part");
+   UI_AddStateButton = etk_menu_item_image_new_with_label("A new state to 
part");
    image = etk_image_new_from_edje(EdjeFile,"DESC.PNG");
-   etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image));
-   etk_signal_connect("activated", ETK_OBJECT(menu_item),
+   etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(UI_AddStateButton), 
ETK_IMAGE(image));
+   etk_signal_connect("activated", ETK_OBJECT(UI_AddStateButton),
                      ETK_CALLBACK(on_AddMenu_item_activated), (void*)NEW_DESC);
-   etk_menu_shell_append(ETK_MENU_SHELL(UI_AddMenu), ETK_MENU_ITEM(menu_item));
+   etk_menu_shell_append(ETK_MENU_SHELL(UI_AddMenu), 
ETK_MENU_ITEM(UI_AddStateButton));
 
    //New Group
    menu_item = etk_menu_item_image_new_with_label("A new group to edj");
@@ -1562,38 +1562,38 @@
    UI_RemoveMenu = etk_menu_new();
 
    //description
-   menu_item = etk_menu_item_image_new_with_label("Selected State");
+   UI_RemoveStateButton = etk_menu_item_image_new_with_label("Selected State");
    image = etk_image_new_from_edje(EdjeFile,"DESC.PNG");
-   etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image));
-   etk_signal_connect("activated", ETK_OBJECT(menu_item),
+   etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(UI_RemoveStateButton), 
ETK_IMAGE(image));
+   etk_signal_connect("activated", ETK_OBJECT(UI_RemoveStateButton),
          ETK_CALLBACK(on_RemoveMenu_item_activated), 
(void*)REMOVE_DESCRIPTION);
-   etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(menu_item));
+   etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(UI_RemoveStateButton));
 
    //part
-   menu_item = etk_menu_item_image_new_with_label("Selected Part");
-   etk_signal_connect("activated", ETK_OBJECT(menu_item),
+   UI_RemovePartButton = etk_menu_item_image_new_with_label("Selected Part");
+   etk_signal_connect("activated", ETK_OBJECT(UI_RemovePartButton),
                ETK_CALLBACK(on_RemoveMenu_item_activated), (void*)REMOVE_PART);
-   etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(menu_item));
-
-   //group
-   menu_item = etk_menu_item_image_new_with_label("Selected Group");
-   image = etk_image_new_from_edje(EdjeFile,"NONE.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_RemoveMenu_item_activated), 
(void*)REMOVE_GROUP);
-   etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(menu_item));
+   etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(UI_RemovePartButton));
 
    //program 
-   menu_item = etk_menu_item_image_new_with_label("Selected Program");
+   UI_RemoveProgramButton = etk_menu_item_image_new_with_label("Selected 
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_menu_item_image_set(ETK_MENU_ITEM_IMAGE(UI_RemoveProgramButton), 
ETK_IMAGE(image));
+   etk_signal_connect("activated", ETK_OBJECT(UI_RemoveProgramButton),
                ETK_CALLBACK(on_RemoveMenu_item_activated), (void*)REMOVE_PROG);
-   etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(menu_item));
+   etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(UI_RemoveProgramButton));
     
    sep = etk_vseparator_new();
    etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), sep, ETK_BOX_START);
 
+   //group
+   menu_item = etk_menu_item_image_new_with_label("Current Group");
+   image = etk_image_new_from_edje(EdjeFile,"NONE.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_RemoveMenu_item_activated), 
(void*)REMOVE_GROUP);
+   etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(menu_item));
+
    //MoveUp Button
    button = etk_tool_button_new_from_stock( ETK_STOCK_GO_UP);
    etk_object_properties_set(ETK_OBJECT(button),"label","Lower",NULL);
@@ -1639,7 +1639,7 @@
 
    //set bg3
    menu_item = etk_menu_item_image_new_with_label("White background");
-   image = etk_image_new_from_edje(EdjeFile,"NONE.PNG");
+   image = etk_image_new_from_edje(EdjeFile,"BG3_I.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_AllButton_click), (void*)TOOLBAR_OPTION_BG3);
@@ -1647,12 +1647,24 @@
 
    //set bg4
    menu_item = etk_menu_item_image_new_with_label("Black background");
-   image = etk_image_new_from_edje(EdjeFile,"NONE.PNG");
+   image = etk_image_new_from_edje(EdjeFile,"BG4_I.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_AllButton_click), (void*)TOOLBAR_OPTION_BG4);
    etk_menu_shell_append(ETK_MENU_SHELL(UI_OptionsMenu), 
ETK_MENU_ITEM(menu_item));
    
+   //Separator
+   menu_item = etk_menu_item_separator_new();
+   etk_menu_shell_append(ETK_MENU_SHELL(UI_OptionsMenu), 
ETK_MENU_ITEM(menu_item));
+
+   //Fullscreen
+   menu_item = etk_menu_item_image_new_with_label("Toggle fullscreen");
+   image = etk_image_new_from_stock(ETK_STOCK_VIDEO_DISPLAY, ETK_STOCK_SMALL);
+   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_AllButton_click), 
(void*)TOOLBAR_OPTION_FULLSCREEN);
+   etk_menu_shell_append(ETK_MENU_SHELL(UI_OptionsMenu), 
ETK_MENU_ITEM(menu_item));
+  
    sep = etk_vseparator_new();
    etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), sep, ETK_BOX_START);
 
@@ -1678,6 +1690,14 @@
                         ETK_CALLBACK(on_AllButton_click), 
(void*)TOOLBAR_DEBUG);
    etk_object_properties_set(ETK_OBJECT(button),"label","Debug",NULL);
 #endif
+   
+   //QuitButton
+   button = etk_tool_button_new_from_stock(ETK_STOCK_SYSTEM_LOG_OUT);
+   etk_object_properties_set(ETK_OBJECT(button),"label","Quit",NULL);
+   etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START);
+   etk_signal_connect("clicked", ETK_OBJECT(button),
+                     ETK_CALLBACK(on_AllButton_click), (void*)TOOLBAR_QUIT);
+   
    return UI_Toolbar;
 }
 
@@ -2909,10 +2929,23 @@
                                  _embed_position_set, UI_ecore_MainWin);
    etk_widget_show_all(UI_PartsTreeEmbed);
    
-   //Logo
+   //Logo (keygrabber)
    Evas_Object *logo;
    logo = edje_object_add(UI_evas);
    edje_object_file_set(logo, EdjeFile, "Logo");
+   evas_object_event_callback_add(logo, EVAS_CALLBACK_KEY_DOWN,
+                                  on_Mainwin_key_press, NULL);
+   Evas_Modifier_Mask mask;
+   mask = evas_key_modifier_mask_get(UI_evas, "Control");
+   evas_object_key_grab(logo, "q", mask, 0, 0); // quit
+   evas_object_key_grab(logo, "f", mask, 0, 0); // fullscreen
+   evas_object_key_grab(logo, "s", mask, 0, 0); // save
+   evas_object_key_grab(logo, "c", mask, 0, 0); // copy selection (TODO)
+   evas_object_key_grab(logo, "v", mask, 0, 0); // paste selection (TODO)
+   evas_object_key_grab(logo, "x", mask, 0, 0); // cut selection (TODO)
+   evas_object_key_grab(logo, "d", mask, 0, 0); // duplicate selection (TODO)
+   evas_object_key_grab(logo, "n", mask, 0, 0); // new object (TODO)
+   
    evas_object_show(logo);
    
    //GroupEmbed
@@ -3021,6 +3054,9 @@
    //Create the main edje object to edit
    edje_o = edje_object_add(UI_evas);
    edje_object_signal_callback_add(edje_o, "*", "*", signal_cb, NULL);
+   evas_object_event_callback_add(edje_o, EVAS_CALLBACK_MOUSE_DOWN,
+                                  on_Editing_click, NULL);
+
 
    /*edje_object_signal_emit(edje_ui,"group_frame_show","edje_editor");
    edje_object_signal_emit(edje_ui,"part_frame_show","edje_editor");
@@ -3032,6 +3068,3 @@
    edje_object_signal_emit(edje_ui,"program_frame_show","edje_editor");
    edje_object_signal_emit(edje_ui,"script_frame_show","edje_editor");*/
 }
-
-
-
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- interface.h 26 Feb 2008 01:33:36 -0000      1.35
+++ interface.h 21 Jun 2008 21:40:27 -0000      1.36
@@ -35,6 +35,11 @@
 Etk_Widget *UI_PlayButton;
 Etk_Widget *UI_PlayImage;
 Etk_Widget *UI_PauseImage;
+Etk_Widget *UI_AddStateButton;
+Etk_Widget *UI_RemoveStateButton;
+Etk_Widget *UI_RemovePartButton;
+Etk_Widget *UI_RemoveProgramButton;
+
 /* group frame objects */
 Etk_Widget *UI_GroupNameEntry;
 Etk_Widget *UI_GroupNameEntryImage;
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -3 -r1.39 -r1.40
--- main.c      8 Mar 2008 23:20:41 -0000       1.39
+++ main.c      21 Jun 2008 21:40:27 -0000      1.40
@@ -292,6 +292,7 @@
    Cur.open_file_name = NULL;
    Cur.source_dir = NULL;
    Cur.main_source_file = NULL;
+   Cur.fullscreen = 0;
    stack = NULL;
    
    //Setting Globals
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -3 -r1.32 -r1.33
--- main.h      26 Feb 2008 01:33:36 -0000      1.32
+++ main.h      21 Jun 2008 21:40:27 -0000      1.33
@@ -13,7 +13,7 @@
 #define FAKEWIN_BORDER_BOTTOM 4
 
 #define USE_GL_ENGINE 0
-#define DEBUG_MODE 0
+#define DEBUG_MODE 1
 
 #if DEBUG_MODE
    #define TREE_WIDTH 365
@@ -59,8 +59,10 @@
    TOOLBAR_OPTION_BG2,
    TOOLBAR_OPTION_BG3,
    TOOLBAR_OPTION_BG4,
+   TOOLBAR_OPTION_FULLSCREEN,
    TOOLBAR_IMAGE_FILE_ADD,
    TOOLBAR_FONT_FILE_ADD,
+   TOOLBAR_QUIT,
    COLOR_OBJECT_RECT,
    COLOR_OBJECT_TEXT,
    COLOR_OBJECT_SHADOW,
@@ -125,7 +127,8 @@
    
    Etk_String *edj_file_name;
    Etk_String *edj_temp_name;
-    
+   
+   int fullscreen;            //The current main window state   
 }Cur;
 
 /* GLOBALS */



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to