Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : proto/edje_editor

Dir     : e17/proto/edje_editor/src/bin


Modified Files:
        evas.c main.h 


Log Message:
 * Show 4 lines when dragging the 2 points or the whole part. They are usefull 
for aligning objects togheter.

===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/evas.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- evas.c      24 Feb 2008 03:52:58 -0000      1.31
+++ evas.c      1 Jul 2008 00:47:13 -0000       1.32
@@ -54,7 +54,7 @@
 
       edje_edit_state_rel1_relative_y_set(edje_o, Cur.part->string,
                   Cur.state->string,(float)(mouse_y - parenty)/(float)parenth);
-
+      
       UpdatePositionFrame();
    }
    // Move Rel2 Point
@@ -108,6 +108,7 @@
 
       UpdatePositionFrame();
    }
+   
    ev_redraw();
 
    //printf("Drag %s - ",source);
@@ -122,12 +123,24 @@
    Evas_Coord x, y, mx, my;
    //printf("Start Drag\n");
 
-   if ((int)data == DRAG_REL1) 
+   if ((int)data == DRAG_REL1)
+   {
       evas_object_event_callback_add(rel1_handler, EVAS_CALLBACK_MOUSE_MOVE,
                                     on_Drag,(void*)DRAG_REL1);
-   if ((int)data == DRAG_REL2) 
+      evas_object_show(rel1X_align_guide);
+      evas_object_raise(rel1X_align_guide);
+      evas_object_show(rel1Y_align_guide);
+      evas_object_raise(rel1Y_align_guide);
+   }
+   if ((int)data == DRAG_REL2)
+   {
       evas_object_event_callback_add(rel2_handler, EVAS_CALLBACK_MOUSE_MOVE,
                                     on_Drag,(void*)DRAG_REL2);
+      evas_object_show(rel2X_align_guide);
+      evas_object_raise(rel2X_align_guide);
+      evas_object_show(rel2Y_align_guide);
+      evas_object_raise(rel2Y_align_guide);
+   }
    if ((int)data == DRAG_MOVE)
    {
       evas_object_event_callback_add(move_handler, EVAS_CALLBACK_MOUSE_MOVE,
@@ -138,6 +151,15 @@
       dy = my - y - 3;
       edje_object_part_geometry_get(edje_o, Cur.part->string, NULL, NULL,
                                     &dx2, &dy2);
+      
+      evas_object_show(rel1X_align_guide);
+      evas_object_raise(rel1X_align_guide);
+      evas_object_show(rel1Y_align_guide);
+      evas_object_raise(rel1Y_align_guide);
+      evas_object_show(rel2X_align_guide);
+      evas_object_raise(rel2X_align_guide);
+      evas_object_show(rel2Y_align_guide);
+      evas_object_raise(rel2Y_align_guide);
    }
    
    if ((int)data == DRAG_MOVEBOX)
@@ -157,11 +179,33 @@
 {
    //printf("End Drag\n");
    if ((int)data == DRAG_REL1)
+   {
       
evas_object_event_callback_del(rel1_handler,EVAS_CALLBACK_MOUSE_MOVE,on_Drag);
+      evas_object_hide(rel1X_align_guide);
+      evas_object_hide(rel1Y_align_guide);
+      evas_object_line_xy_set(rel1X_align_guide, 0, 0, 0, 0);
+      evas_object_line_xy_set(rel1Y_align_guide, 0, 0, 0, 0);
+   }
    if ((int)data == DRAG_REL2)
+   {
       
evas_object_event_callback_del(rel2_handler,EVAS_CALLBACK_MOUSE_MOVE,on_Drag);
+      evas_object_hide(rel2X_align_guide);
+      evas_object_hide(rel2Y_align_guide);
+      evas_object_line_xy_set(rel2X_align_guide, 0, 0, 0, 0);
+      evas_object_line_xy_set(rel2Y_align_guide, 0, 0, 0, 0);
+   }
    if ((int)data == DRAG_MOVE)
+   {
       
evas_object_event_callback_del(move_handler,EVAS_CALLBACK_MOUSE_MOVE,on_Drag);
+      evas_object_hide(rel1X_align_guide);
+      evas_object_hide(rel1Y_align_guide);
+      evas_object_line_xy_set(rel1X_align_guide, 0, 0, 0, 0);
+      evas_object_line_xy_set(rel1Y_align_guide, 0, 0, 0, 0);
+      evas_object_hide(rel2X_align_guide);
+      evas_object_hide(rel2Y_align_guide);
+      evas_object_line_xy_set(rel2X_align_guide, 0, 0, 0, 0);
+      evas_object_line_xy_set(rel2Y_align_guide, 0, 0, 0, 0);
+   }
    if ((int)data == DRAG_MOVEBOX)
       
evas_object_event_callback_del(EV_movebox,EVAS_CALLBACK_MOUSE_MOVE,on_Drag);
    if ((int)data == DRAG_MINIARROW)
@@ -216,6 +260,17 @@
    rel2Y_parent_handler = 
evas_object_line_add(ecore_evas_get(UI_ecore_MainWin));
    evas_object_color_set(rel2Y_parent_handler, 0, 0, 255, 200);
 
+   //Create Align Guides
+   rel1X_align_guide = evas_object_line_add(ecore_evas_get(UI_ecore_MainWin));
+   evas_object_color_set(rel1X_align_guide, 180, 0, 0, 180);
+   rel1Y_align_guide = evas_object_line_add(ecore_evas_get(UI_ecore_MainWin));
+   evas_object_color_set(rel1Y_align_guide, 180, 0, 0, 180);
+
+   rel2X_align_guide = evas_object_line_add(ecore_evas_get(UI_ecore_MainWin));
+   evas_object_color_set(rel2X_align_guide, 0, 0, 180, 180);
+   rel2Y_align_guide = evas_object_line_add(ecore_evas_get(UI_ecore_MainWin));
+   evas_object_color_set(rel2Y_align_guide, 0, 0, 180, 180);
+
    // Create Fake win
    EV_fakewin = edje_object_add(ecore_evas_get(UI_ecore_MainWin));
    edje_object_file_set(EV_fakewin, EdjeFile, "FakeWin");
@@ -393,6 +448,15 @@
       evas_object_line_xy_set(rel2Y_parent_handler, ParentX+ParentW, ParentY,
                                             ParentX+ParentW, ParentY+ParentH);
 
+      
+      //Place the align guides
+      evas_object_geometry_get(rel1_handler, &px, &py, NULL, NULL);
+      evas_object_line_xy_set(rel1X_align_guide, px + 2, 0, px + 2, 2000); 
//TODO FIX 2000
+      evas_object_line_xy_set(rel1Y_align_guide, 0, py + 2, 2000, py + 2); 
//TODO FIX 2000
+      evas_object_geometry_get(rel2_handler, &px, &py, NULL, NULL);
+      evas_object_line_xy_set(rel2X_align_guide, px + 2, 0, px + 2, 2000); 
//TODO FIX 2000
+      evas_object_line_xy_set(rel2Y_align_guide, 0, py + 2, 2000, py + 2); 
//TODO FIX 2000
+      
       evas_object_raise(rel1X_parent_handler);
       evas_object_show(rel1X_parent_handler);
       evas_object_raise(rel1Y_parent_handler);
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- main.h      30 Jun 2008 17:43:14 -0000      1.35
+++ main.h      1 Jul 2008 00:47:13 -0000       1.36
@@ -152,6 +152,10 @@
 Evas_Object    *rel1Y_parent_handler;  //
 Evas_Object    *rel2X_parent_handler;  //
 Evas_Object    *rel2Y_parent_handler;  //
+Evas_Object    *rel1X_align_guide;     //The 4 line (2 blu & 2 red) used for 
align on drag operation
+Evas_Object    *rel1Y_align_guide;     //
+Evas_Object    *rel2X_align_guide;     //
+Evas_Object    *rel2Y_align_guide;     //
 Evas_Object    *Consolle;              //The lower consolle panel
 Evas_List      *stack;                 //Stack for the consolle
 int            consolle_count;         //Counter for the consolle



-------------------------------------------------------------------------
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