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