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);

-- 


Reply via email to