multi-file: support live editor.
Additional implementation. Now it works for live editing.
This commit is contained in:
parent
3840ab3f5e
commit
193ec29fa0
|
@ -222,7 +222,9 @@ view_obj_get(live_data *ld)
|
|||
{
|
||||
//This is a trick! we got the actual view object from the live edit.
|
||||
Evas_Object *o = view_scroller_get(ld);
|
||||
if (!o) return NULL;
|
||||
Evas_Object *o2 = elm_object_content_get(o);
|
||||
if (!o2) return NULL;
|
||||
return elm_object_part_content_get(o2, "elm.swallow.content");
|
||||
}
|
||||
|
||||
|
@ -1959,7 +1961,7 @@ rel_to_values_reset(live_data *ld)
|
|||
ld->rel_to_info.min_h = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
static Eina_Bool
|
||||
live_edit_layer_set(live_data *ld)
|
||||
{
|
||||
//Keygrabber
|
||||
|
@ -1995,7 +1997,15 @@ live_edit_layer_set(live_data *ld)
|
|||
//Create Live View Layout
|
||||
Evas_Object *layout = elm_layout_add(ld->live_view);
|
||||
Evas_Object *view_obj = view_obj_get(ld);
|
||||
if (!view_obj)
|
||||
{
|
||||
stats_info_msg_update("Live Edit is not avaiable here. A base group is required!");
|
||||
live_edit_cancel(EINA_FALSE);
|
||||
return EINA_FALSE;
|
||||
}
|
||||
evas_object_smart_member_add(layout, view_obj);
|
||||
//Live Edit layout should be more than spacer and dummies.
|
||||
evas_object_layer_set(layout, EVAS_LAYER_MAX);
|
||||
elm_layout_file_set(layout, EDJE_PATH, "live_edit_layout");
|
||||
evas_object_event_callback_add(layout, EVAS_CALLBACK_MOUSE_DOWN,
|
||||
layout_mouse_down_cb, ld);
|
||||
|
@ -2024,6 +2034,8 @@ live_edit_layer_set(live_data *ld)
|
|||
ld->last_cp = Ctrl_Pt_Cnt;
|
||||
|
||||
panes_live_edit_fixed_bar_visible_set(EINA_TRUE);
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2041,7 +2053,7 @@ live_btn_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
ld->live_view = enventor_object_live_view_get(base_enventor_get());
|
||||
ld->on = EINA_TRUE;
|
||||
|
||||
live_edit_layer_set(ld);
|
||||
if (!live_edit_layer_set(ld)) return;
|
||||
|
||||
stats_info_msg_update(_("Double click part to confirm."
|
||||
"(Esc = cancel, Direction Key ="
|
||||
|
|
|
@ -146,22 +146,25 @@ dummy_objs_update(dummy_obj *dummy)
|
|||
}
|
||||
if (!obj)
|
||||
{
|
||||
//Trick!. set smart members of actual live view object.
|
||||
Evas_Object *scroller = view_obj_get(VIEW_DATA);
|
||||
Evas_Object *scroller_edje = elm_layout_edje_get(scroller);
|
||||
Evas_Object *clipper =
|
||||
(Evas_Object *)edje_object_part_object_get(scroller_edje,
|
||||
"clipper");
|
||||
obj = elm_layout_add(scroller);
|
||||
elm_layout_file_set(obj, EDJE_PATH, "spacer");
|
||||
evas_object_smart_member_add(obj, scroller);
|
||||
if (!scroller) continue;
|
||||
Evas_Object *o = elm_object_content_get(scroller);
|
||||
if (!o) continue;
|
||||
Evas_Object *o2 =
|
||||
elm_object_part_content_get(o, "elm.swallow.content");
|
||||
if (!o2) continue;
|
||||
|
||||
obj = edje_object_add(evas);
|
||||
edje_object_file_set(obj, EDJE_PATH, "spacer");
|
||||
evas_object_layer_set(obj, EVAS_LAYER_MAX - 1);
|
||||
evas_object_smart_member_add(obj, o2);
|
||||
|
||||
po = malloc(sizeof(part_obj));
|
||||
po->obj = obj;
|
||||
po->name = eina_stringshare_add(part_name);
|
||||
dummy->spacers = eina_list_append(dummy->spacers, po);
|
||||
evas_object_show(obj);
|
||||
evas_object_clip_set(obj, clipper);
|
||||
evas_object_data_set(obj, EDIT_LAYOUT_KEY, dummy->layout);
|
||||
|
||||
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_DOWN,
|
||||
|
|
|
@ -1427,6 +1427,7 @@ edit_init(Enventor_Object *enventor, Enventor_Item *it)
|
|||
ed->pd = parser_init();
|
||||
ed->rd = redoundo_init(ed, enventor);
|
||||
ed->sh = syntax_init(ed);
|
||||
ed->main = (enventor_object_main_item_get(ed->enventor) == ed->it);
|
||||
|
||||
return ed;
|
||||
}
|
||||
|
@ -1843,7 +1844,7 @@ edit_text_get(edit_data *ed)
|
|||
Eina_Bool
|
||||
edit_is_main_file(edit_data *ed)
|
||||
{
|
||||
return (enventor_object_main_item_get(ed->enventor) == ed->it);
|
||||
return ed->main;
|
||||
}
|
||||
|
||||
Eina_Bool
|
||||
|
|
|
@ -321,7 +321,6 @@ cur_context_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
|
|||
const char *DEF_STATE_NAME = "default";
|
||||
const int DEF_STATE_LEN = 7;
|
||||
|
||||
|
||||
cur_context_td *td = data;
|
||||
char *utf8 = td->utf8;
|
||||
int cur_pos = td->cur_pos;
|
||||
|
@ -346,6 +345,8 @@ cur_context_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
|
|||
int cur_line = 1;
|
||||
Eina_List *macro_list = NULL;
|
||||
|
||||
if (!collections) bracket = 1;
|
||||
|
||||
if (td->pd->macro_update)
|
||||
{
|
||||
parser_macro_list_set(td->pd, (const char *) utf8);
|
||||
|
@ -397,28 +398,15 @@ cur_context_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
|
|||
{
|
||||
bracket--;
|
||||
p++;
|
||||
|
||||
if (collections)
|
||||
{
|
||||
if (bracket == 1) group_name = NULL;
|
||||
else if (bracket == 2 && inside_parts == EINA_TRUE)
|
||||
inside_parts = EINA_FALSE;
|
||||
else if (bracket == 3) part_name = NULL;
|
||||
else if (bracket == 4) desc_name = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (bracket == 0) group_name = NULL;
|
||||
else if (bracket == 1 && inside_parts == EINA_TRUE)
|
||||
inside_parts = EINA_FALSE;
|
||||
else if (bracket == 2) part_name = NULL;
|
||||
else if (bracket == 3) desc_name = NULL;
|
||||
}
|
||||
if (bracket == 1) group_name = NULL;
|
||||
else if (bracket == 2 && inside_parts == EINA_TRUE)
|
||||
inside_parts = EINA_FALSE;
|
||||
else if (bracket == 3) part_name = NULL;
|
||||
else if (bracket == 4) desc_name = NULL;
|
||||
continue;
|
||||
}
|
||||
//check block "Parts" in
|
||||
if ((collections && (bracket == 2)) ||
|
||||
(!collections && (bracket == 1)))
|
||||
if (bracket == 2)
|
||||
{
|
||||
if (!strncmp(p, PARTS, PARTS_LEN))
|
||||
{
|
||||
|
@ -429,8 +417,7 @@ cur_context_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
|
|||
}
|
||||
}
|
||||
//Check Part in
|
||||
if ((collections && (bracket == 3)) ||
|
||||
(!collections && (bracket == 2)))
|
||||
if (bracket == 3)
|
||||
{
|
||||
int part_idx = -1;
|
||||
//part ? image ? swallow ? text ? rect ?
|
||||
|
@ -461,8 +448,7 @@ cur_context_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
|
|||
}
|
||||
}
|
||||
//Check Description in
|
||||
if ((collections && (bracket == 4)) ||
|
||||
(!collections && (bracket == 3)))
|
||||
if (bracket == 4)
|
||||
{
|
||||
//description? or desc?
|
||||
int desc_idx = -1;
|
||||
|
@ -559,8 +545,7 @@ cur_context_thread_blocking(void *data, Ecore_Thread *thread EINA_UNUSED)
|
|||
}
|
||||
}
|
||||
//Check Group in. Probably inside of collections or the most outside.
|
||||
if ((collections && (bracket == 1)) ||
|
||||
(!collections && (bracket == 0)))
|
||||
if (bracket == 1)
|
||||
{
|
||||
if (!strncmp(p, GROUP, GROUP_LEN))
|
||||
{
|
||||
|
|
|
@ -168,7 +168,6 @@ edj_mgr_view_switch_to(view_data *vd)
|
|||
elm_object_part_content_unset(em->layout, "elm.swallow.content");
|
||||
elm_object_part_content_set(em->layout, "elm.swallow.content",
|
||||
view_obj_get(vd));
|
||||
|
||||
view_scale_set(vd, em->view_scale);
|
||||
|
||||
//Switching effect
|
||||
|
|
|
@ -767,7 +767,7 @@ _enventor_object_template_part_insert(Eo *obj EINA_UNUSED,
|
|||
rel2_x_to = buf;
|
||||
}
|
||||
|
||||
return template_part_insert(pd->main_it.ed, part, insert_type,
|
||||
return template_part_insert(pd->focused_it->ed, part, insert_type,
|
||||
fixed_w, fixed_h,
|
||||
rel1_x_to, rel1_y_to,
|
||||
rel2_x_to, rel2_y_to,
|
||||
|
|
Loading…
Reference in New Issue