rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=e15f0c30c280c950f35195fdb101bc3b77c254e4
commit e15f0c30c280c950f35195fdb101bc3b77c254e4 Author: Vyacheslav Reutskiy <v.reuts...@samsung.com> Date: Tue Jul 21 09:59:29 2015 +0300 Animator: replace the ewe_entry to elm_entry Change-Id: I620cc531244a1557d6bc527bd59d13b7b557ca24 --- src/bin/ui/editors/animator.c | 53 ++++++++++++++++++++++++++++----------- src/bin/ui/editors/style_editor.c | 2 +- 2 files changed, 39 insertions(+), 16 deletions(-) diff --git a/src/bin/ui/editors/animator.c b/src/bin/ui/editors/animator.c index f237f63..f59cde7 100644 --- a/src/bin/ui/editors/animator.c +++ b/src/bin/ui/editors/animator.c @@ -16,6 +16,9 @@ * You should have received a copy of the GNU Lesser General Public License * along with this program; If not, see www.gnu.org/licenses/lgpl.html. */ +#define EO_BETA_API +#define EFL_BETA_API_SUPPORT +#define EFL_EO_API_SUPPORT #include "animator.h" #include "animator_private.h" @@ -38,7 +41,9 @@ struct _Animator struct { Evas_Object *popup; + Elm_Validator_Regexp *name_validator; Evas_Object *entry; + Evas_Object *btn_add; } popup; struct { Evas_Object *play; @@ -53,11 +58,6 @@ typedef struct _Animator Animator; static Elm_Genlist_Item_Class *_itc_prog, *_itc_prog_after; -static Elm_Entry_Filter_Accept_Set accept_name = { - .accepted = NULL, - .rejected = EDITORS_BANNED_SYMBOLS -}; - /* onload callback for live object. needed to interrupt onload/onshow programs */ static void _on_object_load(void *data, @@ -238,7 +238,7 @@ _on_add_popup_bt_add(void *data, void *ei __UNUSED__) { Elm_Object_Item *glit_prog = NULL; - App_Data *ap = app_data_get(); + //App_Data *ap = app_data_get(); Animator *animator = (Animator*)data; Eina_Stringshare *name = elm_entry_entry_get(animator->popup.entry); @@ -263,9 +263,11 @@ _on_add_popup_bt_add(void *data, animator->popup.popup = NULL; animator->popup.entry = NULL; + /* move to "Apply"? live_view_widget_style_set(animator->live, ap->project, animator->style); edje_object_signal_callback_add(animator->live->object, "show", "", _on_object_load, animator); + */ } static void @@ -276,6 +278,10 @@ _on_add_popup_bt_cancel(void *data, Animator *animator = (Animator*)data; assert(animator != NULL); + assert(animator->popup.name_validator != NULL); + + elm_validator_regexp_free(animator->popup.name_validator); + animator->popup.name_validator = NULL; evas_object_del(animator->popup.popup); animator->popup.popup = NULL; @@ -318,6 +324,21 @@ _on_bt_prog_del(void *data, } static void +_validation(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Animator *animator = (Animator*)data; + + assert(animator != NULL); + + if (elm_validator_regexp_status_get(animator->popup.name_validator) != ELM_REG_NOERROR) + elm_object_disabled_set(animator->popup.btn_add, true); + else + elm_object_disabled_set(animator->popup.btn_add, false); +} + +static void _on_bt_prog_add(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) @@ -328,27 +349,29 @@ _on_bt_prog_add(void *data, Animator *animator = (Animator*)data; assert(animator != NULL); + assert(animator->popup.name_validator == NULL); animator->popup.popup = elm_popup_add(animator->mwin); elm_object_part_text_set(animator->popup.popup, "title,text", _("New program")); + animator->popup.name_validator = elm_validator_regexp_new(NAME_REGEX, NULL); ITEM_ADD(animator->popup.popup, item, _("Program name:"), "eflete/property/item/default"); - EWE_ENTRY_ADD(item, animator->popup.entry, true) - elm_entry_markup_filter_append(animator->popup.entry, - elm_entry_filter_accept_set, &accept_name); + ENTRY_ADD(item, animator->popup.entry, true) + eo_do(animator->popup.entry, + eo_event_callback_add(ELM_ENTRY_EVENT_VALIDATE, elm_validator_regexp_helper, animator->popup.name_validator)); + evas_object_smart_callback_add(animator->popup.entry, "changed", _validation, animator); elm_object_part_content_set(item, "elm.swallow.content", animator->popup.entry); elm_object_content_set(animator->popup.popup, item); - BUTTON_ADD(animator->popup.popup, button, _("Ok")); - evas_object_smart_callback_add(button, "clicked", _on_add_popup_bt_add, - animator); - elm_object_part_content_set(animator->popup.popup, "button1", button); + BUTTON_ADD(animator->popup.popup, animator->popup.btn_add, _("Ok")); + evas_object_smart_callback_add(animator->popup.btn_add, "clicked", _on_add_popup_bt_add, animator); + elm_object_part_content_set(animator->popup.popup, "button1", animator->popup.btn_add); + elm_object_disabled_set(animator->popup.btn_add, true); BUTTON_ADD(animator->popup.popup, button, _("Cancel")); - evas_object_smart_callback_add(button, "clicked", _on_add_popup_bt_cancel, - animator); + evas_object_smart_callback_add(button, "clicked", _on_add_popup_bt_cancel, animator); elm_object_part_content_set(animator->popup.popup, "button2", button); evas_object_show(animator->popup.popup); diff --git a/src/bin/ui/editors/style_editor.c b/src/bin/ui/editors/style_editor.c index c969e7a..f7912c9 100644 --- a/src/bin/ui/editors/style_editor.c +++ b/src/bin/ui/editors/style_editor.c @@ -691,7 +691,7 @@ _on_viewer_exit(void *data, assert(style_edit != NULL); - App_Data *ap = app_data_get(); + //App_Data *ap = app_data_get(); TODO("Move to 'Apply'") //workspace_edit_object_recalc(ap->workspace); mw_del(style_edit->mwin); --