Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : proto/edje_editor

Dir     : e17/proto/edje_editor/src/bin


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


Log Message:
 * Add a small arrow in the center of part. If you drag it you can move the 2 
points together. Aka move parts.
 * Add a toggle button on the toolbar to play/stop the edje execution.
 * Update edje_patch to recent edje change

===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -3 -r1.58 -r1.59
--- callbacks.c 22 Feb 2008 02:36:40 -0000      1.58
+++ callbacks.c 23 Feb 2008 03:54:46 -0000      1.59
@@ -209,11 +209,7 @@
       edje_object_signal_emit(edje_ui,"set_bg4","edje_editor");
       break;
    case TOOLBAR_PLAY:
-      ShowAlert("Not yet implemented");
-      //   snprintf(cmd,1024,"edje_editor -t \"%s\" \"%s\" &",
-      //            Cur.open_file_name,Cur.eg->name);
-      //   printf("TESTING EDJE. cmd: %s\n",cmd);
-      //   system(cmd);
+      TogglePlayButton(-1);
       break;
    case TOOLBAR_DEBUG:
       //DebugInfo(FALSE);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/evas.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- evas.c      20 Feb 2008 19:31:38 -0000      1.29
+++ evas.c      23 Feb 2008 03:54:46 -0000      1.30
@@ -10,7 +10,7 @@
 #define MAIN_TOP 27
 
 
-static Evas_Coord dx, dy;
+static Evas_Coord dx, dy, dx2, dy2;
 
 void
 on_Drag(void *data, Evas *e, Evas_Object *obj, void *event_info)
@@ -36,6 +36,7 @@
       if (y < 0) y = 0;
       ev_resize_fake((int)x,(int)y);
    }
+   
    // Move Rel1 Point
    if ((int)data == DRAG_REL1)
    {
@@ -47,7 +48,6 @@
                                 &parenty, &parentw, &parenth);
       edje_edit_state_rel1_relative_x_set(edje_o, Cur.part->string, 
                   Cur.state->string, (float)(mouse_x - 
parentx)/(float)parentw);
-    
       //Calc the rel1_relative_y value
       evas_object_geometry_get(rel1Y_parent_handler, &parentx,
                                 &parenty, &parentw, &parenth);
@@ -68,7 +68,6 @@
                                 &parentx, &parenty, &parentw, &parenth);
       edje_edit_state_rel2_relative_x_set(edje_o, Cur.part->string,
                   Cur.state->string, (float)(mouse_x - 
parentx)/(float)parentw);
-
       //Calc the rel2_relative_y value
       evas_object_geometry_get(rel2Y_parent_handler, &parentx,
                                 &parenty, &parentw, &parenth);
@@ -77,27 +76,72 @@
 
       UpdatePositionFrame();
    }
+   // Move Move Handler
+   if ((int)data == DRAG_MOVE)
+   {
+      evas_pointer_output_xy_get(ecore_evas_get(UI_ecore_MainWin), 
+                                 &mouse_x, &mouse_y);
+      //Calc the rel1_relative_x value
+      evas_object_geometry_get(rel1X_parent_handler, &parentx,
+                                &parenty, &parentw, &parenth);
+      edje_edit_state_rel1_relative_x_set(edje_o,
+                        Cur.part->string, Cur.state->string,
+                        (float)(mouse_x - parentx - dx)/(float)parentw);
+      //Calc the rel1_relative_y value
+      evas_object_geometry_get(rel1Y_parent_handler, &parentx,
+                                &parenty, &parentw, &parenth);
+      edje_edit_state_rel1_relative_y_set(edje_o,
+                        Cur.part->string, Cur.state->string,
+                        (float)(mouse_y - parenty - dy)/(float)parenth);
+      //Calc the rel2_relative_x value
+      evas_object_geometry_get(rel2X_parent_handler,
+                                &parentx, &parenty, &parentw, &parenth);
+      edje_edit_state_rel2_relative_x_set(edje_o,
+                        Cur.part->string, Cur.state->string,
+                        (float)(mouse_x - parentx - dx + dx2)/(float)parentw);
+      //Calc the rel2_relative_y value
+      evas_object_geometry_get(rel2Y_parent_handler, &parentx,
+                                &parenty, &parentw, &parenth);
+      edje_edit_state_rel2_relative_y_set(edje_o,
+                        Cur.part->string, Cur.state->string,
+                        (float)(mouse_y - parenty - dy + dy2)/(float)parenth);
+
+      UpdatePositionFrame();
+   }
    ev_redraw();
 
    //printf("Drag %s - ",source);
    //printf("Position %i, %i\n", x, y);
 }
 
+
+
 void
 on_StartDrag(void *data, Evas_Object *o, const char *em, const char *src)
 {
+   Evas_Coord x, y, mx, my;
    //printf("Start Drag\n");
 
    if ((int)data == DRAG_REL1) 
-      edje_object_signal_callback_add(rel1_handler,"DRAG","rel1",
-                                      on_Drag,(void*)DRAG_REL1);
+      evas_object_event_callback_add(rel1_handler, EVAS_CALLBACK_MOUSE_MOVE,
+                                    on_Drag,(void*)DRAG_REL1);
    if ((int)data == DRAG_REL2) 
-      edje_object_signal_callback_add(rel2_handler,"DRAG","rel2",
-                                      on_Drag,(void*)DRAG_REL2);
-   /* THIS COMMENT DISABLE THE FAKEWIN MOVE ABILITY (don't like it) */
+      evas_object_event_callback_add(rel2_handler, EVAS_CALLBACK_MOUSE_MOVE,
+                                    on_Drag,(void*)DRAG_REL2);
+   if ((int)data == DRAG_MOVE)
+   {
+      evas_object_event_callback_add(move_handler, EVAS_CALLBACK_MOUSE_MOVE,
+                                    on_Drag,(void*)DRAG_MOVE);
+      evas_object_geometry_get(rel1_handler, &x, &y, NULL, NULL);
+      evas_pointer_output_xy_get(ecore_evas_get(UI_ecore_MainWin), &mx, &my);
+      dx = mx - x - 3;
+      dy = my - y - 3;
+      edje_object_part_geometry_get(edje_o, Cur.part->string, NULL, NULL,
+                                    &dx2, &dy2);
+   }
+   
    if ((int)data == DRAG_MOVEBOX)
    {
-      Evas_Coord x, y, mx, my;
       evas_object_event_callback_add(EV_movebox, EVAS_CALLBACK_MOUSE_MOVE,
                                      on_Drag, (void*)DRAG_MOVEBOX);
       evas_object_geometry_get(EV_movebox, &x, &y, NULL, NULL);
@@ -113,11 +157,13 @@
 {
    //printf("End Drag\n");
    if ((int)data == DRAG_REL1)
-      edje_object_signal_callback_del(rel1_handler,"DRAG","rel1",on_Drag);
+      
evas_object_event_callback_del(rel1_handler,EVAS_CALLBACK_MOUSE_MOVE,on_Drag);
    if ((int)data == DRAG_REL2)
-      edje_object_signal_callback_del(rel2_handler,"DRAG","rel2",on_Drag);
+      
evas_object_event_callback_del(rel2_handler,EVAS_CALLBACK_MOUSE_MOVE,on_Drag);
+   if ((int)data == DRAG_MOVE)
+      
evas_object_event_callback_del(move_handler,EVAS_CALLBACK_MOUSE_MOVE,on_Drag);
    if ((int)data == DRAG_MOVEBOX)
-      evas_object_event_callback_del(EV_movebox, EVAS_CALLBACK_MOUSE_MOVE, 
on_Drag);
+      
evas_object_event_callback_del(EV_movebox,EVAS_CALLBACK_MOUSE_MOVE,on_Drag);
    if ((int)data == DRAG_MINIARROW)
    {
       int fw,fh;  //Fakewin geometry
@@ -136,18 +182,26 @@
    //Create Rel1 handler
    rel1_handler = edje_object_add(ecore_evas_get(UI_ecore_MainWin));
    edje_object_file_set(rel1_handler, EdjeFile, "Rel1H");
-   edje_object_signal_callback_add(rel1_handler,"START_DRAG","rel1",
-                                   on_StartDrag,(void*)DRAG_REL1);
-   edje_object_signal_callback_add(rel1_handler,"END_DRAG","rel1",
-                                   on_EndDrag,(void*)DRAG_REL1);
+   edje_object_signal_callback_add(rel1_handler, "START_DRAG", "rel1",
+                                   on_StartDrag, (void*)DRAG_REL1);
+   edje_object_signal_callback_add(rel1_handler, "END_DRAG", "rel1",
+                                   on_EndDrag, (void*)DRAG_REL1);
 
    //Create Rel2 handler
    rel2_handler = edje_object_add(ecore_evas_get(UI_ecore_MainWin));
-   edje_object_file_set(rel2_handler,EdjeFile, "Rel2H");
-   edje_object_signal_callback_add(rel2_handler,"START_DRAG","rel2",
-                                   on_StartDrag,(void*)DRAG_REL2);
-   edje_object_signal_callback_add(rel2_handler,"END_DRAG","rel2",
-                                   on_EndDrag,(void*)DRAG_REL2);
+   edje_object_file_set(rel2_handler, EdjeFile, "Rel2H");
+   edje_object_signal_callback_add(rel2_handler, "START_DRAG", "rel2",
+                                   on_StartDrag, (void*)DRAG_REL2);
+   edje_object_signal_callback_add(rel2_handler, "END_DRAG", "rel2",
+                                   on_EndDrag, (void*)DRAG_REL2);
+   
+   //Create Move handler
+   move_handler = edje_object_add(ecore_evas_get(UI_ecore_MainWin));
+   edje_object_file_set(move_handler, EdjeFile, "MoveH");
+   edje_object_signal_callback_add(move_handler, "START_DRAG", "MoveH",
+                                   on_StartDrag, (void*)DRAG_MOVE);
+   edje_object_signal_callback_add(move_handler, "END_DRAG", "MoveH",
+                                   on_EndDrag, (void*)DRAG_MOVE);
 
    //Create Parent Handlers
    rel1X_parent_handler = 
evas_object_line_add(ecore_evas_get(UI_ecore_MainWin));
@@ -185,8 +239,8 @@
    
    
    //Place Fakewin 
-   ev_move_fake(TREE_WIDTH+15,75);
-   ev_resize_fake(200,200);
+   ev_move_fake(TREE_WIDTH + 15, 75);
+   ev_resize_fake(200, 200);
 }
 
 void
@@ -258,9 +312,19 @@
                        fy + py + ph - o2y - 4);
       evas_object_show(rel2_handler);
       evas_object_raise(rel2_handler);
-       
+      
+      //Draw move_handler
+      evas_object_move(move_handler,
+                       fx + px + pw/2 - 6,
+                       fy + py + ph/2 - 6);
+      evas_object_show(move_handler);
+      evas_object_raise(move_handler);
+
+      
       //draw Rel1X_ParentH (top line)
-      if((rel = edje_edit_state_rel1_to_x_get(edje_o, Cur.part->string, 
Cur.state->string)))
+      rel = edje_edit_state_rel1_to_x_get(edje_o, Cur.part->string,
+                                          Cur.state->string);
+      if(rel)
       {
          edje_object_part_geometry_get(edje_o, rel, &rx, &ry, &rw, &rh);
          ParentX = fx + rx;
@@ -273,7 +337,7 @@
          evas_object_geometry_get(EV_fakewin, &ParentX, &ParentY,
                                               &ParentW, &ParentH);
       evas_object_line_xy_set(rel1X_parent_handler, ParentX, ParentY, 
-                                                    ParentX+ParentW, 
ParentY+1);
+                                                    ParentX+ParentW, ParentY);
       
       //draw Rel1Y_ParentH (left line)
       if((rel = edje_edit_state_rel1_to_y_get(edje_o, Cur.part->string, 
Cur.state->string)))
@@ -305,7 +369,7 @@
          evas_object_geometry_get(EV_fakewin, &ParentX, &ParentY,
                                               &ParentW, &ParentH);
       evas_object_line_xy_set(rel2X_parent_handler, ParentX, ParentY+ParentH,
-                                          ParentX+ParentW+1, 
ParentY+ParentH+1);
+                                          ParentX+ParentW, ParentY+ParentH);
 
       //draw Rel2Y_ParentH (right line)
       if((rel = edje_edit_state_rel2_to_y_get(edje_o, Cur.part->string, 
Cur.state->string)))
@@ -334,6 +398,7 @@
       evas_object_raise(focus_handler);
       evas_object_raise(rel1_handler);
       evas_object_raise(rel2_handler);
+      evas_object_raise(move_handler);
       
    }else{ //none selected, hide all
       edje_object_signal_emit(rel1_handler,"REL1_HIDE","edje_editor");
@@ -344,6 +409,7 @@
       evas_object_hide(rel2Y_parent_handler);
       evas_object_hide(rel1_handler);
       evas_object_hide(rel2_handler);
+      evas_object_hide(move_handler);
    }
 }
 
@@ -392,10 +458,6 @@
    //printf("DRAW ALL\n");
    if (etk_string_length_get(Cur.group))
    {
-      //Get the geometry of ETK_canvas
-      //evas_object_geometry_get(EV_canvas_bg,&x,&y,&w,&h);
-
-      
       //Get the geometry of fakewin
       evas_object_geometry_get(EV_fakewin,&x,&y,&w,&h);
       
@@ -430,5 +492,6 @@
    evas_object_hide(rel2Y_parent_handler);
    evas_object_hide(rel1_handler);
    evas_object_hide(rel2_handler);
+   evas_object_hide(move_handler);
    evas_object_hide(focus_handler);
 }
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -3 -r1.63 -r1.64
--- interface.c 22 Feb 2008 02:36:40 -0000      1.63
+++ interface.c 23 Feb 2008 03:54:46 -0000      1.64
@@ -44,6 +44,28 @@
       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
+TogglePlayButton(int set)
+{
+   /* set    -1 = toggle   0 = pause   1 = play   */
+   if (set == -1)
+      set = !edje_object_play_get(edje_o);
+   
+   if (set == 0)
+   {
+      edje_object_play_set(edje_o, 0);
+      etk_button_image_set(ETK_BUTTON(UI_PlayButton), ETK_IMAGE(UI_PlayImage));
+      etk_object_properties_set(ETK_OBJECT(UI_PlayButton),"label","Play 
Edje",NULL);
+   }
+   else if (set == 1)
+   {
+      edje_object_play_set(edje_o, 1);
+      etk_button_image_set(ETK_BUTTON(UI_PlayButton), 
ETK_IMAGE(UI_PauseImage));
+      etk_object_properties_set(ETK_OBJECT(UI_PlayButton),"label","Pause 
Edje",NULL);
+   }
+}
+
 void
 ShowAlert(char* text)
 {
@@ -1366,7 +1388,6 @@
                ETK_CALLBACK(on_RemoveMenu_item_activated), 
(void*)REMOVE_GROUP);
    etk_menu_shell_append(ETK_MENU_SHELL(UI_RemoveMenu), 
ETK_MENU_ITEM(menu_item));
 
-      
    //program 
    menu_item = etk_menu_item_image_new_with_label("Selected Program");
    image = etk_image_new_from_edje(EdjeFile,"PROG.PNG");
@@ -1436,7 +1457,25 @@
    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));
+   
+   sep = etk_vseparator_new();
+   etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), sep, ETK_BOX_START);
+
+   //UI_PlayButton
+   UI_PlayImage = etk_image_new_from_stock(ETK_STOCK_MEDIA_PLAYBACK_START, 
ETK_STOCK_MEDIUM);
+   UI_PauseImage = etk_image_new_from_stock(ETK_STOCK_MEDIA_PLAYBACK_PAUSE, 
ETK_STOCK_MEDIUM);
+   UI_PlayButton = etk_tool_button_new();
+   etk_button_image_set (ETK_BUTTON(UI_PlayButton), ETK_IMAGE(UI_PauseImage));
+   etk_object_properties_set(ETK_OBJECT(UI_PlayButton),"label","Pause 
Edje",NULL);
+   etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), UI_PlayButton, ETK_BOX_START);
+   etk_signal_connect("clicked", ETK_OBJECT(UI_PlayButton),
+                     ETK_CALLBACK(on_AllButton_click), (void*)TOOLBAR_PLAY);
+   
 #if DEBUG_MODE
+   //Separator
+   sep = etk_vseparator_new();
+   etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), sep, ETK_BOX_START);
+   
    //DebugButton
    button = etk_tool_button_new_from_stock(ETK_STOCK_DOCUMENT_PROPERTIES);
    etk_toolbar_append(ETK_TOOLBAR(UI_Toolbar), button, ETK_BOX_START);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.h,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -3 -r1.32 -r1.33
--- interface.h 22 Feb 2008 02:36:40 -0000      1.32
+++ interface.h 23 Feb 2008 03:54:46 -0000      1.33
@@ -31,6 +31,10 @@
 Etk_Widget *UI_FilechooserLoadButton;
 Etk_Widget *UI_ColorWin;
 Etk_Widget *UI_ColorPicker;
+/* toolbar objects */
+Etk_Widget *UI_PlayButton;
+Etk_Widget *UI_PlayImage;
+Etk_Widget *UI_PauseImage;
 /* group frame objects */
 Etk_Widget *UI_GroupNameEntry;
 Etk_Widget *UI_GroupNameEntryImage;
@@ -171,5 +175,6 @@
 void ShowAlert(char* text);
 void ConsolleLog(char *text);
 void ConsolleClear(void);
+void TogglePlayButton(int set);
 
 #endif
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- main.c      20 Feb 2008 19:31:38 -0000      1.34
+++ main.c      23 Feb 2008 03:54:46 -0000      1.35
@@ -136,6 +136,9 @@
 
    if (Cur.group->string && !strcmp(group, Cur.group->string)) return;
    printf("Change to group: %s\n", group);
+
+   TogglePlayButton(1);
+   
    edje_edit_save(edje_o);
    evas_object_hide(edje_o);
    ConsolleClear();
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- main.h      22 Feb 2008 02:36:40 -0000      1.28
+++ main.h      23 Feb 2008 03:54:46 -0000      1.29
@@ -52,6 +52,7 @@
    TOOLBAR_SAVE_EDC,
    TOOLBAR_SAVE_EDJ,
    TOOLBAR_PLAY,
+   TOOLBAR_PAUSE,
    TOOLBAR_MOVE_UP,
    TOOLBAR_MOVE_DOWN,
    TOOLBAR_OPTION_BG1,
@@ -97,6 +98,7 @@
    DRAG_MINIARROW,
    DRAG_REL1,
    DRAG_REL2,
+   DRAG_MOVE,
    DRAG_MOVEBOX,
    REL_COMBO_INTERFACE,
    IMAGE_TWEEN_UP,
@@ -136,6 +138,7 @@
 Evas_Object    *focus_handler;         //The yellow box around the selected 
part
 Evas_Object    *rel1_handler;          //The red point
 Evas_Object    *rel2_handler;          //The blue point
+Evas_Object    *move_handler;          //The central move arrows
 Evas_Object    *rel1X_parent_handler;  //The 4 line that show the container 
for each side of the part
 Evas_Object    *rel1Y_parent_handler;  //
 Evas_Object    *rel2X_parent_handler;  //



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to