summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYakov Goldberg <yakov.g@samsung.com>2014-10-06 17:06:28 +0300
committerYakov Goldberg <yakov.g@samsung.com>2014-10-06 17:06:28 +0300
commite6d1b177d86eac5241c369cdcdbe9147983ace0e (patch)
treec05ede5d2d84ffb70e0a9d2c8b067945b9ba2d9a
parentc7b7128f2d3db886b51a46b36b3bfdd38d2c0e79 (diff)
refactor props_hoversel_objects_add and update objects hoversel, when add new object
-rw-r--r--src/bin/egui_gui/props_helper.c13
-rw-r--r--src/bin/egui_gui/props_helper.h2
-rw-r--r--src/bin/egui_gui/propview.c12
-rw-r--r--src/bin/egui_gui/seqview.c2
4 files changed, 21 insertions, 8 deletions
diff --git a/src/bin/egui_gui/props_helper.c b/src/bin/egui_gui/props_helper.c
index 333b682..3d48a2d 100644
--- a/src/bin/egui_gui/props_helper.c
+++ b/src/bin/egui_gui/props_helper.c
@@ -109,10 +109,13 @@ props_hoversel_enums_add(Eo *box, Eo *hover_parent, const char *default_val, con
109} 109}
110 110
111Eo * 111Eo *
112props_hoversel_objects_add(Eo *box, Eo *hover_parent, const char *default_val, const Eina_List *wdgs_list, const Gui_Widget *wdg) 112props_hoversel_objects_add(Eo *box, Eo *hoversel, Eo *hover_parent, const char *default_val, const Eina_List *wdgs_list, const Gui_Widget *wdg)
113{ 113{
114 Eo *hoversel = eo_add(ELM_HOVERSEL_CLASS, box); 114 if (!hoversel)
115 eo_do(hoversel, elm_obj_hoversel_hover_parent_set(hover_parent)); 115 {
116 hoversel = eo_add(ELM_HOVERSEL_CLASS, box);
117 eo_do(hoversel, elm_obj_hoversel_hover_parent_set(hover_parent));
118 }
116 119
117 if ((wdg) && 120 if ((wdg) &&
118 (!strcmp(wdg_class_name_get(wdg), DB_DEF_CTXPOPUP_CLASS) || 121 (!strcmp(wdg_class_name_get(wdg), DB_DEF_CTXPOPUP_CLASS) ||
@@ -163,7 +166,7 @@ props_hoversel_objects_add(Eo *box, Eo *hover_parent, const char *default_val, c
163 166
164 eo_do(hoversel, evas_obj_size_hint_weight_set(0.0, 0.0)); 167 eo_do(hoversel, evas_obj_size_hint_weight_set(0.0, 0.0));
165 eo_do(hoversel, evas_obj_size_hint_align_set(0.5, 0.5)); 168 eo_do(hoversel, evas_obj_size_hint_align_set(0.5, 0.5));
166 eo_do(box, elm_obj_box_pack_end(hoversel)); 169 if (box) eo_do(box, elm_obj_box_pack_end(hoversel));
167 eo_do(hoversel, evas_obj_visibility_set(EINA_TRUE)); 170 eo_do(hoversel, evas_obj_visibility_set(EINA_TRUE));
168 return hoversel; 171 return hoversel;
169} 172}
@@ -273,7 +276,7 @@ props_value_add(Eo *box, const Gui_Context *ctx, const Gui_Widget *wdg, const Gu
273 if (dep_id) 276 if (dep_id)
274 default_str = dep_name_get(dep_id); 277 default_str = dep_name_get(dep_id);
275 } 278 }
276 new_obj = props_hoversel_objects_add(box, elm_widget_top_get(box), default_str, gui_context_wdg_list_get(ctx), wdg); 279 new_obj = props_hoversel_objects_add(box, NULL, elm_widget_top_get(box), default_str, gui_context_wdg_list_get(ctx), wdg);
277 break; 280 break;
278 } 281 }
279 case GUI_TYPE_DOUBLE: 282 case GUI_TYPE_DOUBLE:
diff --git a/src/bin/egui_gui/props_helper.h b/src/bin/egui_gui/props_helper.h
index 90a52c8..a8123db 100644
--- a/src/bin/egui_gui/props_helper.h
+++ b/src/bin/egui_gui/props_helper.h
@@ -22,7 +22,7 @@ Eo *
22props_hoversel_enums_add(Eo *box, Eo *hover_parent, const char *default_val, const char **enums_lst); 22props_hoversel_enums_add(Eo *box, Eo *hover_parent, const char *default_val, const char **enums_lst);
23 23
24Eo * 24Eo *
25props_hoversel_objects_add(Eo *box, Eo *hover_parent, const char *default_val, const Eina_List *wdgs_list, const Gui_Widget *wdg); 25props_hoversel_objects_add(Eo *box, Eo *hoversel, Eo *hover_parent, const char *default_val, const Eina_List *wdgs_list, const Gui_Widget *wdg);
26 26
27Eo * 27Eo *
28props_hoversel_object_ops_add(Eo *box, Eo *hover_parent, const char *default_val, const Gui_Widget *wdg); 28props_hoversel_object_ops_add(Eo *box, Eo *hover_parent, const char *default_val, const Gui_Widget *wdg);
diff --git a/src/bin/egui_gui/propview.c b/src/bin/egui_gui/propview.c
index e366143..84c79fa 100644
--- a/src/bin/egui_gui/propview.c
+++ b/src/bin/egui_gui/propview.c
@@ -502,13 +502,23 @@ _prop_field_update(const Gui_Widget_Property *prop, Eo *item_box, It_Data *it_da
502 break; 502 break;
503 } 503 }
504 case GUI_TYPE_FILE: 504 case GUI_TYPE_FILE:
505 {
506 Dep_Id *dep_id = DEP_ID_GET(prop_value_nth_get(prop, i));
507 const char *default_str = PROP_HOVERSEL_NONE_VALUE;
508 if (dep_id)
509 default_str = dep_name_get(dep_id);
510 eo_do(o, elm_obj_widget_part_text_set(NULL, default_str));
511 break;
512 }
505 case GUI_TYPE_OBJECT: 513 case GUI_TYPE_OBJECT:
506 { 514 {
515 eo_do(o, elm_obj_hoversel_clear());
516 props_hoversel_objects_add(NULL, o, NULL, NULL, gui_context_wdg_list_get(wdg_context_get(it_data->wdg)), it_data->wdg);
507 Dep_Id *dep_id = DEP_ID_GET(prop_value_nth_get(prop, i)); 517 Dep_Id *dep_id = DEP_ID_GET(prop_value_nth_get(prop, i));
508 const char *default_str = PROP_HOVERSEL_NONE_VALUE; 518 const char *default_str = PROP_HOVERSEL_NONE_VALUE;
509 if (dep_id) 519 if (dep_id)
510 default_str = dep_name_get(dep_id); 520 default_str = dep_name_get(dep_id);
511 elm_object_text_set(o, default_str); 521 eo_do(o, elm_obj_widget_part_text_set(NULL, default_str));
512 break; 522 break;
513 } 523 }
514 case GUI_TYPE_DOUBLE: 524 case GUI_TYPE_DOUBLE:
diff --git a/src/bin/egui_gui/seqview.c b/src/bin/egui_gui/seqview.c
index 793c1e0..3e2bba7 100644
--- a/src/bin/egui_gui/seqview.c
+++ b/src/bin/egui_gui/seqview.c
@@ -347,7 +347,7 @@ _action_content_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part E
347 { 347 {
348 wdg_name = dep_name_get(wdg_id); 348 wdg_name = dep_name_get(wdg_id);
349 } 349 }
350 wdgs_hover = props_hoversel_objects_add(box, elm_widget_top_get(lst), wdg_name, gui_context_main_widgets_get(action_ctx_get(action)), NULL); 350 wdgs_hover = props_hoversel_objects_add(box, NULL, elm_widget_top_get(lst), wdg_name, gui_context_main_widgets_get(action_ctx_get(action)), NULL);
351 evas_object_smart_callback_add(wdgs_hover, "selected", _action_wdg_selected, action); 351 evas_object_smart_callback_add(wdgs_hover, "selected", _action_wdg_selected, action);
352 } 352 }
353 if (act_type == MODIF_ACTION) 353 if (act_type == MODIF_ACTION)