hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=f44b41ab29ffc6150ccf9be1103c0085771b098b

commit f44b41ab29ffc6150ccf9be1103c0085771b098b
Author: ChunEon Park <[email protected]>
Date:   Sun Feb 22 23:35:11 2015 +0900

    bin/live_edit: show/hide control points
    
    show/hide control points case by case.
---
 data/themes/default/content.edc | 25 ++++++++++++++++++++++++-
 src/bin/live_edit.c             | 28 +++++++++++++++++++++++++++-
 2 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/data/themes/default/content.edc b/data/themes/default/content.edc
index 71a4d6c..75c6341 100644
--- a/data/themes/default/content.edc
+++ b/data/themes/default/content.edc
@@ -108,9 +108,18 @@ group { name: "part_highlight";
 
 group { name: "ctrl_pt";
    parts {
+      part { name: "clipper";
+         type: RECT;
+         description { state: "default" 0.0;
+         }
+         description { state: "hide" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 0;
+         }
+      }
       part { name: "base";
          type: RECT;
-         scale: 1;
+         clip_to: "clipper";
          description { state: "default" 0.0;
          }
          description { state: "anim" 0.0;
@@ -136,5 +145,19 @@ group { name: "ctrl_pt";
          transition: LINEAR 0.5;
          after: "anim";
       }
+      program { name: "show";
+         signal: "elm,state,show";
+         source: "";
+         action: STATE_SET "default" 0.0;
+         target: "clipper";
+         transition: LINEAR 0.125;
+      }
+      program { name: "hide";
+         signal: "elm,state,hide";
+         source: "";
+         action: STATE_SET "hide" 0.0;
+         target: "clipper";
+         transition: LINEAR 0.125;
+      }
    }
 }
diff --git a/src/bin/live_edit.c b/src/bin/live_edit.c
index 9e1383e..32ad849 100644
--- a/src/bin/live_edit.c
+++ b/src/bin/live_edit.c
@@ -444,6 +444,10 @@ cp_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, 
void *event_info)
    //Dispatch to actual mouse move call
    Ctrl_Pt cp = (Ctrl_Pt) evas_object_data_get(obj, "index");
 
+   //Show Control Point
+   live_data *ld = data;
+   elm_object_signal_emit(ld->ctrl_pt[cp], "elm,state,show", "");
+
    switch (cp)
      {
         case Ctrl_Pt_Rel1:
@@ -471,7 +475,6 @@ cp_mouse_move_cb(void *data, Evas *e, Evas_Object *obj, 
void *event_info)
           cp_right_mouse_move_cb(data, e, obj, event_info);
           break;
      }
-   live_data *ld = data;
    live_edit_update(ld);
 }
 
@@ -491,6 +494,11 @@ cp_mouse_up_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj,
                                   cp_mouse_move_cb);
    live_data *ld = data;
    align_lines_hide(ld);
+
+   //Show All Control Points
+   int i;
+   for (i = 0; i < Ctrl_Pt_Cnt; i++)
+     elm_object_signal_emit(ld->ctrl_pt[i], "elm,state,show", "");
 }
 
 static void
@@ -500,6 +508,12 @@ cp_mouse_down_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj,
    evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE,
                                   cp_mouse_move_cb, data);
    evas_object_layer_set(obj, EVAS_LAYER_MAX);
+
+   //Hide All Control Points
+   live_data *ld = data;
+   int i;
+   for (i = 0; i < Ctrl_Pt_Cnt; i++)
+     elm_object_signal_emit(ld->ctrl_pt[i], "elm,state,hide", "");
 }
 
 static void
@@ -649,6 +663,12 @@ layout_mouse_up_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj,
                                   layout_mouse_move_cb);
    live_data *ld = data;
    align_lines_hide(ld);
+
+   //Show hidden control points
+   elm_object_signal_emit(ld->ctrl_pt[Ctrl_Pt_Top], "elm,state,show", "");
+   elm_object_signal_emit(ld->ctrl_pt[Ctrl_Pt_Bottom], "elm,state,show", "");
+   elm_object_signal_emit(ld->ctrl_pt[Ctrl_Pt_Left], "elm,state,show", "");
+   elm_object_signal_emit(ld->ctrl_pt[Ctrl_Pt_Right], "elm,state,show", "");
 }
 
 static void
@@ -668,6 +688,12 @@ layout_mouse_down_cb(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj,
 
    evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE,
                                   layout_mouse_move_cb, data);
+
+   //Hide unnecessary control points
+   elm_object_signal_emit(ld->ctrl_pt[Ctrl_Pt_Top], "elm,state,hide", "");
+   elm_object_signal_emit(ld->ctrl_pt[Ctrl_Pt_Bottom], "elm,state,hide", "");
+   elm_object_signal_emit(ld->ctrl_pt[Ctrl_Pt_Left], "elm,state,hide", "");
+   elm_object_signal_emit(ld->ctrl_pt[Ctrl_Pt_Right], "elm,state,hide", "");
 }
 
 static void

-- 


Reply via email to