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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs