[colorpalette, colorselector, editfield] signals' explanation
[framework/uifw/elementary.git] / src / lib / elm_editfield.c
index 9601e44..c392b73 100644 (file)
@@ -6,6 +6,13 @@
  * @ingroup Elementary
  *
  * This is a editfield. It can contain a simple label and icon objects.
+ * 
+ * Smart callbacks that you can add are:
+ *
+ * clicked - This signal is emitted when an editfield is clicked.
+ * 
+ * unfocused - This signal is emitted when an editfield is unfocused.
+ * 
  */
 
 //#define ERASER_PADDING (10)
@@ -36,11 +43,6 @@ static void _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *eve
 static void _on_focus_hook(void *data, Evas_Object *obj);
 static Eina_Bool _empty_entry(Evas_Object *entry);
 
-#ifdef HAVE_CONFORMANT_AUTOSCROLL
-static const char SIG_CURSOR_CHANGED[] = "cursor,changed";
-static const char SIG_IMPREGION_CHANGED[] = "impregion,changed";
-#endif
-
 static void
 _del_hook(Evas_Object *obj)
 {
@@ -50,23 +52,12 @@ _del_hook(Evas_Object *obj)
    free(wd);
 }
 
-#ifdef HAVE_CONFORMANT_AUTOSCROLL
-static Evas_Object *
-_imp_region_get_hook(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)
-{
-   Widget_Data *wd = elm_widget_data_get(obj);
-   if (!wd) return NULL;
-   elm_widget_imp_region_get(wd->entry, x, y, w, h);
-   return NULL;
-}
-#endif
-
 static void
 _on_focus_hook(void *data, Evas_Object *obj)
 {
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd || !wd->base)
-      return ; 
+      return 
    if (!elm_widget_focus_get(obj) && !(elm_widget_disabled_get(obj)) ) 
      {
         evas_object_smart_callback_call(obj, "unfocused", NULL);
@@ -188,7 +179,7 @@ _entry_changed_cb(void *data, Evas_Object *obj, void* event_info)
 
    if(!_empty_entry(wd->entry)) 
      {
-        if(wd->eraser_show)
+        if(wd->eraser_show && elm_object_focus_get(obj))
            edje_object_signal_emit(wd->base, "elm,state,eraser,show", "elm");
        if(wd->guide_text) 
          {
@@ -203,15 +194,6 @@ _entry_changed_cb(void *data, Evas_Object *obj, void* event_info)
      } 
 }
 
-#ifdef HAVE_CONFORMANT_AUTOSCROLL
-static void
-_entry_cursor_changed_cb(void *data, Evas_Object *obj, void* event_info)
-{
-   Evas_Object *ef_obj = (Evas_Object *)data;
-   evas_object_smart_callback_call(ef_obj, SIG_IMPREGION_CHANGED, NULL);
-}
-#endif
-
 static void
 _signal_mouse_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
@@ -293,9 +275,6 @@ elm_editfield_add(Evas_Object *parent)
    elm_widget_on_focus_hook_set( obj, _on_focus_hook, NULL );
    elm_widget_signal_emit_hook_set(obj, _signal_emit_hook);
    elm_widget_can_focus_set(obj, EINA_TRUE);
-#ifdef HAVE_CONFORMANT_AUTOSCROLL
-   elm_widget_imp_region_get_hook_set(obj, _imp_region_get_hook, NULL);
-#endif
 
    wd->base = edje_object_add(e);
    _elm_theme_object_set(obj, wd->base, "editfield", "base", "default");
@@ -321,10 +300,6 @@ elm_editfield_add(Evas_Object *parent)
    edje_object_part_swallow(wd->base, "elm.swallow.content", wd->entry);
    evas_object_smart_callback_add(wd->entry, "changed", _entry_changed_cb, obj);
    elm_widget_sub_object_add(obj, wd->entry);
-#ifdef HAVE_CONFORMANT_AUTOSCROLL
-   evas_object_smart_callback_add(wd->entry, SIG_CURSOR_CHANGED, _entry_cursor_changed_cb, obj); 
-#endif
-
    _sizing_eval(obj);
 
    return obj;