Merge "[cnp] fixed S1-2415 issue("search" is not working)"
authorminseok3.kim <minseok3.kim@samsung.com>
Mon, 16 Apr 2012 04:49:45 +0000 (13:49 +0900)
committerGerrit Code Review <gerrit2@localhost>
Mon, 16 Apr 2012 04:49:45 +0000 (13:49 +0900)
27 files changed:
data/themes/default-desktop.edc
data/themes/widgets/entry.edc
data/themes/widgets/scroller.edc
src/bin/test.c
src/bin/test_entry.c
src/lib/Elementary.h.in
src/lib/elc_player.c
src/lib/elm_calendar.c
src/lib/elm_datetime.c
src/lib/elm_diskselector.c
src/lib/elm_entry.h
src/lib/elm_general.h
src/lib/elm_gengrid.c
src/lib/elm_hover.h
src/lib/elm_list.c
src/lib/elm_main.c
src/lib/elm_map.c
src/lib/elm_photocam.c
src/lib/elm_scroller.c
src/lib/elm_slider.c
src/lib/elm_slideshow.c
src/lib/elm_spinner.c
src/lib/elm_table.h
src/lib/elm_video.c
src/lib/elm_widget.c
src/lib/elm_widget.h
src/lib/elm_win.c

index 862ce78..ec645dc 100644 (file)
@@ -758,7 +758,6 @@ collections {
     group { name: "elm/scroller/base/default";
         alias: "elm/list/base/default";
         alias: "elm/genlist/base/default";
-        alias: "elm/carousel/base/default";
         alias: "elm/gengrid/base/default";
 
         data {
index 8ab0268..6fbee9d 100644 (file)
@@ -718,11 +718,34 @@ group { name: "elm/entry/base/default";
          tag:  "preedit" "+ underline=on underline_color=#000";
          tag:  "preedit_sel" "+ backing=on backing_color=#000 color=#FFFFFF";
       }
+      style { name: "entry_textblock_guide_style";
+         base: "font=Sans font_size=10 color=#00000040 wrap=word text_class=entry left_margin=4 right_margin=4 ellipsis=0.0";
+         tag:  "em" "+ font_style=Oblique";
+         tag:  "hilight" "+ font_weight=Bold";
+      }
    }
    data {
         //         item: context_menu_orientation "horizontal";
    }
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -773,6 +796,18 @@ group { name: "elm/entry/base/default";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
    }
 }
 
@@ -796,8 +831,31 @@ group { name: "elm/entry/base-mixedwrap/default";
          tag:  "preedit" "+ underline=on underline_color=#000";
          tag:  "preedit_sel" "+ backing=on backing_color=#000 color=#FFFFFF";
       }
+      style { name: "entry_textblock_guide_style_mixedwrap";
+         base: "font=Sans font_size=10 color=#00000040 wrap=mixed text_class=entry left_margin=4 right_margin=4 ellipsis=0.0";
+         tag:  "em" "+ font_style=Oblique";
+         tag:  "hilight" "+ font_weight=Bold";
+      }
    }
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_textblock_guide_style_mixedwrap";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          description { state: "default" 0.0;
             fixed: 1 0;
@@ -838,8 +896,31 @@ group { name: "elm/entry/base-charwrap/default";
          tag:  "preedit" "+ underline=on underline_color=#000";
          tag:  "preedit_sel" "+ backing=on backing_color=#000 color=#FFFFFF";
       }
+      style { name: "entry_textblock_guide_style_charwrap";
+         base: "font=Sans font_size=10 color=#00000040 wrap=char text_class=entry left_margin=4 right_margin=4 ellipsis=0.0";
+         tag:  "em" "+ font_style=Oblique";
+         tag:  "hilight" "+ font_weight=Bold";
+      }
    }
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_textblock_guide_style_charwrap";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          description { state: "default" 0.0;
             fixed: 1 0;
@@ -863,6 +944,24 @@ group { name: "elm/entry/base-charwrap/default";
 group { name: "elm/entry/base-nowrap/default";
    inherit: "elm/entry/base/default";
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          description { state: "default" 0.0;
             text {
@@ -902,8 +1001,31 @@ group { name: "elm/entry/base-single/default";
          tag:  "preedit" "+ underline=on underline_color=#000";
          tag:  "preedit_sel" "+ backing=on backing_color=#000 color=#FFFFFF";
       }
+      style { name: "entry_single_textblock_guide_style";
+         base: "font=Sans font_size=10 color=#00000080 wrap=none text_class=entry left_margin=4 right_margin=4 ellipsis=0.0";
+         tag:  "em" "+ font_style=Oblique";
+         tag:  "hilight" "+ font_weight=Bold";
+      }
    }
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_single_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          multiline: 0;
          description { state: "default" 0.0;
@@ -1057,6 +1179,24 @@ group { name: "elm/entry/base-nowrap-noedit/default";
 group { name: "elm/entry/base-password/default";
    inherit: "elm/entry/base/default";
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_single_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          entry_mode: PASSWORD;
          multiline: 0;
index 374d774..66d007b 100644 (file)
@@ -2,7 +2,6 @@ group { name: "elm/scroller/base/default";
 
    alias: "elm/list/base/default";
    alias: "elm/genlist/base/default";
-   alias: "elm/carousel/base/default";
    alias: "elm/gengrid/base/default";
    alias: "elm/scroller/base/map_bubble";
    alias: "elm/genscroller/base/default";
index ddbebd4..ae2b165 100644 (file)
@@ -1,3 +1,6 @@
+
+#define _GNU_SOURCE
+#include <string.h>
 #include <Elementary.h>
 #include "test.h"
 #ifdef HAVE_CONFIG_H
@@ -183,6 +186,10 @@ void test_web_normal(void *data, Evas_Object *obj, void *event_info);
 void test_web_mobile(void *data, Evas_Object *obj, void *event_info);
 #endif
 
+Evas_Object *win, *tbx; // TODO: refactoring
+void *tt;
+Eina_List *tests;
+
 struct elm_test
 {
    const char *icon;
@@ -231,15 +238,18 @@ _frame_clicked(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSE
 }
 
 static void
-_menu_create(Evas_Object *win, Evas_Object *tbx, void **tt, Eina_List *tests, const char *option_str __UNUSED__)
+_menu_create(const char *option_str)
 {
    struct elm_test *t = NULL;
    const char *pcat = NULL;
    Evas_Object *cfr = NULL, *tbx2 = NULL, *bt = NULL, *ic = NULL;
    char buf[PATH_MAX];
+   Eina_List *l;
 
-   EINA_LIST_FREE(tests, t)
+   elm_box_clear(tbx);
+   EINA_LIST_FOREACH(tests, l, t)
      {
+        if (option_str && !strcasestr(t->name, option_str)) continue;
         if ((!pcat) || (strcmp(pcat, t->category)))
           {
              cfr = elm_frame_add(win);
@@ -275,19 +285,34 @@ _menu_create(Evas_Object *win, Evas_Object *tbx, void **tt, Eina_List *tests, co
         evas_object_show(bt);
         evas_object_smart_callback_add(bt, "clicked", t->cb, NULL);
         pcat = t->category;
-        if (t == *tt) *tt = cfr;
-        free(t);
+        if (t == tt) tt = cfr;
      }
 }
 
 static void
+_entry_activated_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
+{
+   const char *str = elm_entry_entry_get(obj);
+   if (!str) return;
+   _menu_create(str);
+}
+
+static void
+_btn_clicked_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
+{
+   const char *str = elm_entry_entry_get(data);
+   if (!str) return;
+   _menu_create(str);
+}
+
+static void
 my_win_main(char *autorun, Eina_Bool test_win_only)
 {
-   Evas_Object *win = NULL, *bg = NULL, *bx0 = NULL, *lb = NULL;
-   Evas_Object *fr = NULL, *tg = NULL, *sc = NULL, *tbx = NULL;
-   Eina_List *tests, *l;
+   Evas_Object *bg = NULL, *bx0 = NULL, *bx1 = NULL, *lb = NULL;
+   Evas_Object *fr = NULL, *tg = NULL, *sc = NULL, *en = NULL;
+   Evas_Object *btn = NULL;
+   Eina_List *l;
    struct elm_test *t = NULL;
-   void *tt;
 
    if (test_win_only) goto add_tests;
    /* Create an elm window - It returns an evas object. This is a little
@@ -367,6 +392,36 @@ my_win_main(char *autorun, Eina_Bool test_win_only)
    elm_box_pack_end(bx0, tg);
    evas_object_show(tg);
 
+   bx1 = elm_box_add(win);
+   elm_box_horizontal_set(bx1, EINA_TRUE);
+   evas_object_size_hint_weight_set(bx1, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(bx1, EVAS_HINT_FILL, 0.0);
+   elm_box_pack_end(bx0, bx1);
+   evas_object_show(bx1);
+
+   lb = elm_label_add(win);
+   elm_object_text_set(lb, " Search Menu :");
+   evas_object_size_hint_weight_set(en, 0.0, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(en, 0.0, EVAS_HINT_FILL);
+   elm_box_pack_end(bx1, lb);
+   evas_object_show(lb);
+
+   en = elm_entry_add(win);
+   elm_entry_single_line_set(en, EINA_TRUE);
+   elm_entry_scrollable_set(en, EINA_TRUE);
+   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   evas_object_smart_callback_add(en, "activated", _entry_activated_cb, NULL);
+   elm_box_pack_end(bx1, en);
+   evas_object_show(en);
+   elm_object_focus_set(en, EINA_TRUE);
+
+   btn = elm_button_add(win);
+   elm_object_text_set(btn, "Go");
+   evas_object_smart_callback_add(btn, "clicked", _btn_clicked_cb, en);
+   elm_box_pack_end(bx1, btn);
+   evas_object_show(btn);
+
    sc = elm_scroller_add(win);
    elm_scroller_bounce_set(sc, EINA_FALSE, EINA_TRUE);
    evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -645,7 +700,7 @@ add_tests:
      }
 
    if (tests)
-     _menu_create(win, tbx, &tt, tests, NULL);
+     _menu_create(NULL);
 
    /* set an initial window size */
    evas_object_resize(win, 480, 480);
index a07011d..3d786c6 100644 (file)
@@ -112,15 +112,15 @@ test_entry(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
             "<item size=16x16 vsize=full href=emoticon/happy-panting></item>"
             " (before this)<br/>"
 
-              "And as well (absize + ascent): "
-                 "<item absize=64x64 vsize=ascent href=emoticon/knowing-grin></item>"
-                   " (full) "
-                   "<item absize=64x64 vsize=full href=emoticon/not-impressed></item>"
-                   " or even paths to image files on disk too like: "
-                   "<item absize=96x128 vsize=full href=file://%s/images/sky_01.jpg></item>"
-                   " ... end."
-                   , elm_app_data_dir_get()
-                   );
+            "And as well (absize + ascent): "
+            "<item absize=64x64 vsize=ascent href=emoticon/knowing-grin></item>"
+            " (full) "
+            "<item absize=64x64 vsize=full href=emoticon/not-impressed></item>"
+            " or even paths to image files on disk too like: "
+            "<item absize=96x128 vsize=full href=file://%s/images/sky_01.jpg></item>"
+            " ... end."
+            , elm_app_data_dir_get()
+            );
    elm_object_text_set(en, buf);
    evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -2039,13 +2039,13 @@ test_entry8(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
    bt = elm_icon_add(win);
    elm_icon_standard_set(bt, "home");
    evas_object_size_hint_min_set(bt, 48, 48);
-   evas_object_color_set(bt, 255, 0, 0, 128);
+   evas_object_color_set(bt, 128, 0, 0, 128);
    evas_object_show(bt);
    elm_object_part_content_set(en3, "icon", bt);
 
    bt = elm_icon_add(win);
    elm_icon_standard_set(bt, "delete");
-   evas_object_color_set(bt, 255, 0, 0, 128);
+   evas_object_color_set(bt, 128, 0, 0, 128);
    evas_object_size_hint_min_set(bt, 48, 48);
    evas_object_show(bt);
    elm_object_part_content_set(en3, "end", bt);
@@ -2074,6 +2074,7 @@ test_entry8(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
    evas_object_show(rect);
 
    en4 = elm_entry_add(win);
+   elm_object_part_text_set(en4, "guide", "Type in here");
    elm_entry_scrollable_set(en4, EINA_TRUE);
    elm_entry_bounce_set(en4, EINA_TRUE, EINA_TRUE);
    elm_entry_autocapital_type_set(en4, EINA_TRUE);
index 38a6b69..254e73e 100644 (file)
 #endif
 
 #ifdef EAPI
-#undef EAPI
+# undef EAPI
 #endif
 
 #ifdef _WIN32
-#ifdef ELEMENTARY_BUILD
-#ifdef DLL_EXPORT
-#define EAPI __declspec(dllexport)
+# ifdef ELEMENTARY_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EVAS_BUILD */
 #else
-#define EAPI
-#endif /* ! DLL_EXPORT */
-#else
-#define EAPI __declspec(dllimport)
-#endif /* ! EFL_EVAS_BUILD */
-#else
-#ifdef __GNUC__
-#if __GNUC__ >= 4
-#define EAPI __attribute__ ((visibility("default")))
-#else
-#define EAPI
-#endif
-#else
-#define EAPI
-#endif
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
 #endif /* ! _WIN32 */
 
 #ifdef _WIN32
-#define EAPI_MAIN
+# define EAPI_MAIN
 #else
-#define EAPI_MAIN EAPI
+# define EAPI_MAIN EAPI
 #endif
 
 /* allow usage from c++ */
index aef28ce..a6327c3 100644 (file)
@@ -66,7 +66,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
    if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
    if (elm_widget_disabled_get(obj)) return EINA_FALSE;
    if (!wd->video) return EINA_FALSE;
-   if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
+   if ((!strcmp(ev->keyname, "Left")) ||
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         double current, last;
 
@@ -82,7 +83,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         return EINA_TRUE;
      }
-   if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
+   if ((!strcmp(ev->keyname, "Right")) ||
+       ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         double current, last;
 
index 0975918..21c6a63 100644 (file)
@@ -671,32 +671,32 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
    if (!wd->selection_enabled) return EINA_FALSE;
 
    if ((!strcmp(ev->keyname, "Left")) ||
-       (!strcmp(ev->keyname, "KP_Left")))
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         _update_sel_it(obj, wd->selected_it-1);
      }
    else if ((!strcmp(ev->keyname, "Right")) ||
-            (!strcmp(ev->keyname, "KP_Right")))
+            ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         _update_sel_it(obj, wd->selected_it+1);
      }
    else if ((!strcmp(ev->keyname, "Up"))  ||
-            (!strcmp(ev->keyname, "KP_Up")))
+            ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
      {
         _update_sel_it(obj, wd->selected_it-ELM_DAY_LAST);
      }
    else if ((!strcmp(ev->keyname, "Down")) ||
-            (!strcmp(ev->keyname, "KP_Down")))
+            ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
      {
         _update_sel_it(obj, wd->selected_it+ELM_DAY_LAST);
      }
    else if ((!strcmp(ev->keyname, "Prior")) ||
-            (!strcmp(ev->keyname, "KP_Prior")))
+            ((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
      {
         if (_update_month(obj, -1)) _populate(obj);
      }
    else if ((!strcmp(ev->keyname, "Next")) ||
-            (!strcmp(ev->keyname, "KP_Next")))
+            ((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
      {
         if (_update_month(obj, 1)) _populate(obj);
      }
index f43eec1..6f65f74 100644 (file)
@@ -74,19 +74,21 @@ struct _Format_Map
    char *fmt_char;
    int def_min;
    int def_max;
+   char *ignore_sep;
 };
 
 // default limits for individual fields
 static Format_Map mapping[DATETIME_TYPE_COUNT] = {
-   [ELM_DATETIME_YEAR]   =  { "Yy",  -1,  -1  },
-   [ELM_DATETIME_MONTH]  =  { "mbBh", 0,  11  },
-   [ELM_DATETIME_DATE]   =  { "de",   1,  31  },
-   [ELM_DATETIME_HOUR]   =  { "IHkl", 0,  23  },
-   [ELM_DATETIME_MINUTE] =  { "M",    0,  59  },
-   [ELM_DATETIME_AMPM]   =  { "pP",   0,  1   }
+   [ELM_DATETIME_YEAR]   =  { "Yy",  -1,  -1, "" },
+   [ELM_DATETIME_MONTH]  =  { "mbBh", 0,  11, "" },
+   [ELM_DATETIME_DATE]   =  { "de",   1,  31, "" },
+   [ELM_DATETIME_HOUR]   =  { "IHkl", 0,  23, "" },
+   [ELM_DATETIME_MINUTE] =  { "M",    0,  59, ":" },
+   [ELM_DATETIME_AMPM]   =  { "pP",   0,   1, "" }
 };
 
 static const char *multifield_formats = "cxXrRTDF";
+static const char *ignore_separators = "()";
 
 static Datetime_Mod_Api *dt_mod = NULL;
 static const char *widtype = NULL;
@@ -678,9 +680,11 @@ _parse_format(Evas_Object *obj, char *fmt_ptr)
              separator[len] = 0;
              if (field) eina_stringshare_replace(&field->separator, separator);
           }
+
+        // ignore the set of chars (global, field specific).
         if (sep_parsing && (len < MAX_SEPARATOR_LEN - 1) &&
-            (field->type != ELM_DATETIME_AMPM) &&
-            (!((field->type == ELM_DATETIME_MINUTE) && (cur ==':'))))
+            (field->type != ELM_DATETIME_AMPM) && (!strchr(ignore_separators, cur)) &&
+            (!strchr(mapping[idx].ignore_sep, cur)))
            separator[len++] = cur;
         if (sep_lookup) sep_parsing = EINA_TRUE;
         sep_lookup = EINA_FALSE;
index 9d70e7f..096bd81 100644 (file)
@@ -602,23 +602,29 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
         return EINA_TRUE;
    }
 
-   if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")) ||
-       (!strcmp(ev->keyname, "Up"))  || (!strcmp(ev->keyname, "KP_Up")))
+   if ((!strcmp(ev->keyname, "Left")) ||
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)) ||
+       (!strcmp(ev->keyname, "Up"))  ||
+       ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
      {
         l = wd->selected_item->node->prev;
         if ((!l) && (wd->round))
           l = eina_list_last(wd->items);
      }
-   else if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")) ||
-            (!strcmp(ev->keyname, "Down")) || (!strcmp(ev->keyname, "KP_Down")))
+   else if ((!strcmp(ev->keyname, "Right")) ||
+            ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)) ||
+            (!strcmp(ev->keyname, "Down")) ||
+            ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
      {
         l = wd->selected_item->node->next;
         if ((!l) && (wd->round))
           l = wd->items;
      }
-   else if ((!strcmp(ev->keyname, "Home")) || (!strcmp(ev->keyname, "KP_Home")))
+   else if ((!strcmp(ev->keyname, "Home")) ||
+            ((!strcmp(ev->keyname, "KP_Home")) && (!ev->string)))
      l = wd->items;
-   else if ((!strcmp(ev->keyname, "End")) || (!strcmp(ev->keyname, "KP_End")))
+   else if ((!strcmp(ev->keyname, "End")) ||
+            ((!strcmp(ev->keyname, "KP_End")) && (!ev->string)))
      l = eina_list_last(wd->items);
    else return EINA_FALSE;
 
index 9048180..7869fa5 100644 (file)
  */
 
 /**
- * @enum _Elm_Text_Format
  * @typedef Elm_Text_Format
  *
  * Text Format types.
@@ -254,7 +253,6 @@ typedef enum
 } Elm_Text_Format;
 
 /**
- * @enum _Elm_Wrap_Type
  * @typedef Elm_Wrap_Type
  *
  * Line wrapping types.
@@ -271,7 +269,6 @@ typedef enum
 } Elm_Wrap_Type; /**< Type of word or character wrapping to use */
 
 /**
- * @enum _Elm_Input_Panel_Layout
  * @typedef Elm_Input_Panel_Layout
  *
  * Input panel (virtual keyboard) layout types.
@@ -295,7 +292,6 @@ typedef enum
 } Elm_Input_Panel_Layout; /**< Type of input panel (virtual keyboard) to use - this is a hint and may not provide exactly what is desired. */
 
 /**
- * @enum _Elm_Input_Panel_Lang
  * @typedef Elm_Input_Panel_Lang
  *
  * Input panel (virtual keyboard) language modes.
@@ -309,7 +305,6 @@ typedef enum
 } Elm_Input_Panel_Lang;
 
 /**
- * @enum _Elm_Autocapital_Type
  * @typedef Elm_Autocapital_Type
  *
  * Autocapitalization Types.
@@ -325,7 +320,6 @@ typedef enum
 } Elm_Autocapital_Type; /**< Choose method of auto-capitalization */
 
 /**
- * @enum _Elm_Input_Panel_Return_Key_Type
  * @typedef Elm_Input_Panel_Return_Key_Type
  *
  * "Return" Key types on the input panel (virtual keyboard).
@@ -1448,14 +1442,13 @@ EAPI void                   elm_entry_filter_accept_set(void *data, Evas_Object
 EAPI void                  *elm_entry_imf_context_get(Evas_Object *obj);
 
 /**
- * @enum _Elm_Cnp_Mode
  * @typedef Elm_Cnp_Mode
  * Enum of entry's copy & paste policy.
  *
  * @see elm_entry_cnp_mode_set()
  * @see elm_entry_cnp_mode_get()
  */
-typedef enum _Elm_Cnp_Mode {
+typedef enum {
    ELM_CNP_MODE_MARKUP,   /**< copy & paste text with markup tag */
    ELM_CNP_MODE_NO_IMAGE, /**< copy & paste text without item(image) tag */
    ELM_CNP_MODE_PLAINTEXT /**< copy & paste text without markup tag */
index 39fd1bd..8c7d300 100644 (file)
@@ -135,7 +135,7 @@ typedef Eina_Bool             (*Elm_Event_Cb)(void *data, Evas_Object *obj, Evas
  * macro. There is no need to use this if you use this macro (which
  * is highly advisable). An elm_main() should contain the entry
  * point code for your application, having the same prototype as
- * elm_init(), and @b not being static (putting the @c EAPI symbol
+ * elm_init(), and @b not being static (putting the @c EAPI_MAIN symbol
  * in front of its type declaration is advisable). The @c
  * ELM_MAIN() call should be placed just after it.
  *
index 58f7d9d..0b133e3 100644 (file)
@@ -143,7 +143,8 @@ _event_hook(Evas_Object        *obj,
    elm_smart_scroller_page_size_get(wd->scr, &page_x, &page_y);
    elm_smart_scroller_child_viewport_size_get(wd->scr, &v_w, &v_h);
 
-   if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
+   if ((!strcmp(ev->keyname, "Left")) ||
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         if ((wd->horizontal) &&
             (((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
@@ -164,7 +165,8 @@ _event_hook(Evas_Object        *obj,
         else
           x -= step_x;
      }
-   else if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
+   else if ((!strcmp(ev->keyname, "Right")) ||
+            ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         if ((wd->horizontal) &&
             (((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
@@ -185,7 +187,8 @@ _event_hook(Evas_Object        *obj,
         else
           x += step_x;
      }
-   else if ((!strcmp(ev->keyname, "Up")) || (!strcmp(ev->keyname, "KP_Up")))
+   else if ((!strcmp(ev->keyname, "Up")) ||
+            ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
      {
         if ((wd->horizontal) &&
             (((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
@@ -206,7 +209,8 @@ _event_hook(Evas_Object        *obj,
         else
           y -= step_y;
      }
-   else if ((!strcmp(ev->keyname, "Down")) || (!strcmp(ev->keyname, "KP_Down")))
+   else if ((!strcmp(ev->keyname, "Down")) ||
+            ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
      {
         if ((wd->horizontal) &&
             (((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
@@ -227,7 +231,8 @@ _event_hook(Evas_Object        *obj,
         else
           y += step_y;
      }
-   else if ((!strcmp(ev->keyname, "Home")) || (!strcmp(ev->keyname, "KP_Home")))
+   else if ((!strcmp(ev->keyname, "Home")) ||
+            ((!strcmp(ev->keyname, "KP_Home")) && (!ev->string)))
      {
         it = elm_gengrid_first_item_get(obj);
         elm_gengrid_item_bring_in(it, ELM_GENGRID_ITEM_SCROLLTO_IN);
@@ -235,7 +240,8 @@ _event_hook(Evas_Object        *obj,
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         return EINA_TRUE;
      }
-   else if ((!strcmp(ev->keyname, "End")) || (!strcmp(ev->keyname, "KP_End")))
+   else if ((!strcmp(ev->keyname, "End")) ||
+            ((!strcmp(ev->keyname, "KP_End")) && (!ev->string)))
      {
         it = elm_gengrid_last_item_get(obj);
         elm_gengrid_item_bring_in(it, ELM_GENGRID_ITEM_SCROLLTO_IN);
@@ -243,7 +249,8 @@ _event_hook(Evas_Object        *obj,
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         return EINA_TRUE;
      }
-   else if ((!strcmp(ev->keyname, "Prior")) || (!strcmp(ev->keyname, "KP_Prior")))
+   else if ((!strcmp(ev->keyname, "Prior")) ||
+            ((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
      {
         if (wd->horizontal)
           {
@@ -260,7 +267,8 @@ _event_hook(Evas_Object        *obj,
                y -= page_y;
           }
      }
-   else if ((!strcmp(ev->keyname, "Next")) || (!strcmp(ev->keyname, "KP_Next")))
+   else if ((!strcmp(ev->keyname, "Next")) ||
+            ((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
      {
         if (wd->horizontal)
           {
index 593d65c..18722f9 100644 (file)
  *
  * @{
  */
+
+/**
+ * @typedef Elm_Hover_Axis
+ *
+ * The orientation axis for the hover object
+ */
 typedef enum
 {
    ELM_HOVER_AXIS_NONE, /**< ELM_HOVER_AXIS_NONE -- no preferred orientation */
index 9de44b1..1f45c70 100644 (file)
@@ -1132,7 +1132,7 @@ _item_content_unset_hook(const Elm_Object_Item *it, const char *part)
 }
 
 static void
-_item_text_set(Elm_Object_Item *it, const char *part, const char *text)
+_item_text_set_hook(Elm_Object_Item *it, const char *part, const char *text)
 {
    Elm_List_Item *list_it = (Elm_List_Item *)it;
    if (part && strcmp(part, "default")) return;
@@ -1142,7 +1142,7 @@ _item_text_set(Elm_Object_Item *it, const char *part, const char *text)
 }
 
 static const char *
-_item_text_get(const Elm_Object_Item *it, const char *part)
+_item_text_get_hook(const Elm_Object_Item *it, const char *part)
 {
    if (part && strcmp(part, "default")) return NULL;
    return ((Elm_List_Item *)it)->label;
@@ -1219,8 +1219,8 @@ _item_new(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *e
    elm_widget_item_content_set_hook_set(it, _item_content_set_hook);
    elm_widget_item_content_get_hook_set(it, _item_content_get_hook);
    elm_widget_item_content_unset_hook_set(it, _item_content_unset_hook);
-   elm_widget_item_text_set_hook_set(it, _item_text_set);
-   elm_widget_item_text_get_hook_set(it, _item_text_get);
+   elm_widget_item_text_set_hook_set(it, _item_text_set_hook);
+   elm_widget_item_text_get_hook_set(it, _item_text_get_hook);
    elm_widget_item_del_pre_hook_set(it, _item_del_pre_hook);
    return it;
 }
index a6e3fd8..4f860ba 100644 (file)
@@ -1319,20 +1319,20 @@ elm_object_item_part_content_set(Elm_Object_Item *it,
                                  const char *part,
                                  Evas_Object *content)
 {
-   _elm_widget_item_content_part_set((Elm_Widget_Item *)it, part, content);
+   _elm_widget_item_part_content_set((Elm_Widget_Item *)it, part, content);
 }
 
 EAPI Evas_Object *
 elm_object_item_part_content_get(const Elm_Object_Item *it,
                                  const char *part)
 {
-   return _elm_widget_item_content_part_get((Elm_Widget_Item *)it, part);
+   return _elm_widget_item_part_content_get((Elm_Widget_Item *)it, part);
 }
 
 EAPI Evas_Object *
 elm_object_item_part_content_unset(Elm_Object_Item *it, const char *part)
 {
-   return _elm_widget_item_content_part_unset((Elm_Widget_Item *)it, part);
+   return _elm_widget_item_part_content_unset((Elm_Widget_Item *)it, part);
 }
 
 EAPI void
@@ -1340,13 +1340,13 @@ elm_object_item_part_text_set(Elm_Object_Item *it,
                               const char *part,
                               const char *label)
 {
-   _elm_widget_item_text_part_set((Elm_Widget_Item *)it, part, label);
+   _elm_widget_item_part_text_set((Elm_Widget_Item *)it, part, label);
 }
 
 EAPI const char *
 elm_object_item_part_text_get(const Elm_Object_Item *it, const char *part)
 {
-   return _elm_widget_item_text_part_get((Elm_Widget_Item *)it, part);
+   return _elm_widget_item_part_text_get((Elm_Widget_Item *)it, part);
 }
 
 EAPI void
index 838bf47..dae8319 100644 (file)
@@ -3800,30 +3800,36 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
    elm_smart_scroller_page_size_get(wd->scr, &page_x, &page_y);
    elm_smart_scroller_child_viewport_size_get(wd->scr, NULL, &vh);
 
-   if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
+   if ((!strcmp(ev->keyname, "Left")) ||
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         x -= step_x;
      }
-   else if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
+   else if ((!strcmp(ev->keyname, "Right")) ||
+            ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         x += step_x;
      }
-   else if ((!strcmp(ev->keyname, "Up"))  || (!strcmp(ev->keyname, "KP_Up")))
+   else if ((!strcmp(ev->keyname, "Up")) ||
+            ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
      {
         y -= step_y;
      }
-   else if ((!strcmp(ev->keyname, "Down")) || (!strcmp(ev->keyname, "KP_Down")))
+   else if ((!strcmp(ev->keyname, "Down")) ||
+            ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
      {
         y += step_y;
      }
-   else if ((!strcmp(ev->keyname, "Prior")) || (!strcmp(ev->keyname, "KP_Prior")))
+   else if ((!strcmp(ev->keyname, "Prior")) ||
+            ((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
      {
         if (page_y < 0)
           y -= -(page_y * vh) / 100;
         else
           y -= page_y;
      }
-   else if ((!strcmp(ev->keyname, "Next")) || (!strcmp(ev->keyname, "KP_Next")))
+   else if ((!strcmp(ev->keyname, "Next")) ||
+            ((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
      {
         if (page_y < 0)
           y += -(page_y * vh) / 100;
index 6babd8c..021ddcf 100644 (file)
@@ -1018,27 +1018,27 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__,
    elm_smart_scroller_child_viewport_size_get(wd->scr, &v_w, &v_h);
 
    if ((!strcmp(ev->keyname, "Left")) ||
-       (!strcmp(ev->keyname, "KP_Left")))
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         x -= step_x;
      }
    else if ((!strcmp(ev->keyname, "Right")) ||
-            (!strcmp(ev->keyname, "KP_Right")))
+            ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         x += step_x;
      }
    else if ((!strcmp(ev->keyname, "Up"))  ||
-            (!strcmp(ev->keyname, "KP_Up")))
+            ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
      {
         y -= step_y;
      }
    else if ((!strcmp(ev->keyname, "Down")) ||
-            (!strcmp(ev->keyname, "KP_Down")))
+            ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
      {
         y += step_y;
      }
    else if ((!strcmp(ev->keyname, "Prior")) ||
-            (!strcmp(ev->keyname, "KP_Prior")))
+            ((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
      {
         if (page_y < 0)
           y -= -(page_y * v_h) / 100;
@@ -1046,7 +1046,7 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__,
           y -= page_y;
      }
    else if ((!strcmp(ev->keyname, "Next")) ||
-            (!strcmp(ev->keyname, "KP_Next")))
+            ((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
      {
         if (page_y < 0)
           y += -(page_y * v_h) / 100;
index 47076d1..49959b2 100644 (file)
@@ -75,38 +75,46 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
    elm_smart_scroller_child_viewport_size_get(wd->scr, &v_w, &v_h);
    elm_scroller_child_size_get(obj, &max_x, &max_y);
 
-   if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
+   if ((!strcmp(ev->keyname, "Left")) ||
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         x -= step_x;
      }
-   else if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
+   else if ((!strcmp(ev->keyname, "Right")) ||
+            ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         x += step_x;
      }
-   else if ((!strcmp(ev->keyname, "Up"))  || (!strcmp(ev->keyname, "KP_Up")))
+   else if ((!strcmp(ev->keyname, "Up")) ||
+            ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
      {
         y -= step_y;
      }
-   else if ((!strcmp(ev->keyname, "Down")) || (!strcmp(ev->keyname, "KP_Down")))
+   else if ((!strcmp(ev->keyname, "Down")) ||
+            ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
      {
         y += step_y;
      }
-   else if ((!strcmp(ev->keyname, "Home")) || (!strcmp(ev->keyname, "KP_Home")))
+   else if ((!strcmp(ev->keyname, "Home")) ||
+            ((!strcmp(ev->keyname, "KP_Home")) && (!ev->string)))
      {
         y = 0;
      }
-   else if ((!strcmp(ev->keyname, "End")) || (!strcmp(ev->keyname, "KP_End")))
+   else if ((!strcmp(ev->keyname, "End")) ||
+            ((!strcmp(ev->keyname, "KP_End")) && (!ev->string)))
      {
         y = max_y - v_h;
      }
-   else if ((!strcmp(ev->keyname, "Prior")) || (!strcmp(ev->keyname, "KP_Prior")))
+   else if ((!strcmp(ev->keyname, "Prior")) ||
+            ((!strcmp(ev->keyname, "KP_Prior")) && (!ev->string)))
      {
         if (page_y < 0)
           y -= -(page_y * v_h) / 100;
         else
           y -= page_y;
      }
-   else if ((!strcmp(ev->keyname, "Next")) || (!strcmp(ev->keyname, "KP_Next")))
+   else if ((!strcmp(ev->keyname, "Next")) ||
+            ((!strcmp(ev->keyname, "KP_Next")) && (!ev->string)))
      {
         if (page_y < 0)
           y += -(page_y * v_h) / 100;
index c89ff32..bf7fb6f 100644 (file)
@@ -95,8 +95,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
    ev = event_info;
    if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
    if (elm_widget_disabled_get(obj)) return EINA_FALSE;
-   if ((!strcmp(ev->keyname, "Left"))
-       || (!strcmp(ev->keyname, "KP_Left")))
+   if ((!strcmp(ev->keyname, "Left")) ||
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         if (!wd->horizontal) return EINA_FALSE;
         if (!wd->inverted) _drag_down(obj, NULL, NULL, NULL);
@@ -104,8 +104,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         return EINA_TRUE;
      }
-   else if ((!strcmp(ev->keyname, "Right"))
-            || (!strcmp(ev->keyname, "KP_Right")))
+   else if ((!strcmp(ev->keyname, "Right")) ||
+            ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         if (!wd->horizontal) return EINA_FALSE;
         if (!wd->inverted) _drag_up(obj, NULL, NULL, NULL);
@@ -113,7 +113,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         return EINA_TRUE;
      }
-   else if ((!strcmp(ev->keyname, "Up")) || (!strcmp(ev->keyname, "KP_Up")))
+   else if ((!strcmp(ev->keyname, "Up")) ||
+            ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
      {
         if (wd->horizontal) return EINA_FALSE;
         if (wd->inverted) _drag_up(obj, NULL, NULL, NULL);
@@ -121,7 +122,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         return EINA_TRUE;
      }
-   else if ((!strcmp(ev->keyname, "Down")) || (!strcmp(ev->keyname, "KP_Down")))
+   else if ((!strcmp(ev->keyname, "Down")) ||
+            ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
      {
         if (wd->horizontal) return EINA_FALSE;
         if (wd->inverted) _drag_down(obj, NULL, NULL, NULL);
index 52ef7c1..08aa142 100644 (file)
@@ -70,13 +70,15 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
    if (!wd) return EINA_FALSE;
    if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
    if (elm_widget_disabled_get(obj)) return EINA_FALSE;
-   if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
+   if ((!strcmp(ev->keyname, "Left")) ||
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         elm_slideshow_previous(obj);
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         return EINA_TRUE;
      }
-   if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
+   if ((!strcmp(ev->keyname, "Right")) ||
+       ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         elm_slideshow_next(obj);
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
index 4d03d3b..d26dba4 100644 (file)
@@ -519,16 +519,20 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
      {
         Evas_Event_Key_Down *ev = event_info;
         if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
-        else if (!strcmp(ev->keyname, "Left") || !strcmp(ev->keyname, "KP_Left")
-                 || !strcmp(ev->keyname, "Down") || !strcmp(ev->keyname, "KP_Down"))
+        else if (!strcmp(ev->keyname, "Left") ||
+                 ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)) ||
+                 !strcmp(ev->keyname, "Down") ||
+                 ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
           {
              _val_dec_start(obj);
              edje_object_signal_emit(wd->spinner, "elm,left,anim,activate", "elm");
              ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
              return EINA_TRUE;
           }
-        else if (!strcmp(ev->keyname, "Right") || !strcmp(ev->keyname, "KP_Right")
-                 || !strcmp(ev->keyname, "Up") || !strcmp(ev->keyname, "KP_Up"))
+        else if (!strcmp(ev->keyname, "Right") ||
+                 ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)) ||
+                 !strcmp(ev->keyname, "Up") ||
+                 ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
           {
              _val_inc_start(obj);
              edje_object_signal_emit(wd->spinner, "elm,right,anim,activate", "elm");
@@ -540,11 +544,15 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
      {
         Evas_Event_Key_Down *ev = event_info;
         if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
-        if (!strcmp(ev->keyname, "Right") || !strcmp(ev->keyname, "KP_Right")
-            || !strcmp(ev->keyname, "Up") || !strcmp(ev->keyname, "KP_Up"))
+        if (!strcmp(ev->keyname, "Right") ||
+            ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)) ||
+            !strcmp(ev->keyname, "Up") ||
+            ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
           _val_inc_stop(obj);
-        else if (!strcmp(ev->keyname, "Left") || !strcmp(ev->keyname, "KP_Left")
-                 || !strcmp(ev->keyname, "Down") || !strcmp(ev->keyname, "KP_Down"))
+        else if (!strcmp(ev->keyname, "Left") ||
+                 ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)) ||
+                 !strcmp(ev->keyname, "Down") ||
+                 ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
           _val_dec_stop(obj);
         else  return EINA_FALSE;
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
index c214f82..0e28e5f 100644 (file)
@@ -78,8 +78,8 @@ EAPI void      elm_table_padding_get(const Evas_Object *obj, Evas_Coord *horizon
  * @param subobj The subobject to be added to the table
  * @param x Row number
  * @param y Column number
- * @param w rowspan
- * @param h colspan
+ * @param w colspan
+ * @param h rowspan
  *
  * @note All positioning inside the table is relative to rows and columns, so
  * a value of 0 for x and y, means the top left cell of the table, and a
index 76c8f4e..e4d73b6 100644 (file)
@@ -44,7 +44,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
    if (!wd) return EINA_FALSE;
    if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return EINA_FALSE;
    if (elm_widget_disabled_get(obj)) return EINA_FALSE;
-   if ((!strcmp(ev->keyname, "Left")) || (!strcmp(ev->keyname, "KP_Left")))
+   if ((!strcmp(ev->keyname, "Left")) ||
+       ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
      {
         double current, last;
 
@@ -60,7 +61,8 @@ _event_hook(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_Type ty
         ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
         return EINA_TRUE;
      }
-   if ((!strcmp(ev->keyname, "Right")) || (!strcmp(ev->keyname, "KP_Right")))
+   if ((!strcmp(ev->keyname, "Right")) ||
+       ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
      {
         double current, last;
 
index 53d9d6e..4b62b63 100644 (file)
@@ -922,6 +922,7 @@ elm_widget_sub_object_add(Evas_Object *obj,
                           Evas_Object *sobj)
 {
    API_ENTRY return;
+   EINA_SAFETY_ON_TRUE_RETURN(obj == sobj);
    double scale, pscale = elm_widget_scale_get(sobj);
    Elm_Theme *th, *pth = elm_widget_theme_get(sobj);
    Eina_Bool mirrored, pmirrored = elm_widget_mirrored_get(obj);
@@ -3396,59 +3397,74 @@ _smart_reconfigure(Smart_Data *sd)
 }
 
 EAPI void
-_elm_widget_item_content_part_set(Elm_Widget_Item *item,
-                                 const char *part,
-                                 Evas_Object *content)
+_elm_widget_item_part_content_set(Elm_Widget_Item *item,
+                                  const char *part,
+                                  Evas_Object *content)
 {
    ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
-   if (!item->content_set_func) return;
+   if (!item->content_set_func)
+     {
+        ERR("%s does not support elm_object_item_part_content_set() API.",
+            elm_widget_type_get(item->widget));
+        return;
+     }
    item->content_set_func((Elm_Object_Item *)item, part, content);
 }
 
 EAPI Evas_Object *
-_elm_widget_item_content_part_get(const Elm_Widget_Item *item,
+_elm_widget_item_part_content_get(const Elm_Widget_Item *item,
                                   const char *part)
 {
    ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
-   if (!item->content_get_func) return NULL;
+   if (!item->content_get_func)
+     {
+        ERR("%s does not support elm_object_item_part_content_get() API.",
+            elm_widget_type_get(item->widget));
+        return NULL;
+     }
    return item->content_get_func((Elm_Object_Item *)item, part);
 }
 
 EAPI Evas_Object *
-_elm_widget_item_content_part_unset(Elm_Widget_Item *item,
+_elm_widget_item_part_content_unset(Elm_Widget_Item *item,
                                     const char *part)
 {
    ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
-   if (!item->content_unset_func) return NULL;
+   if (!item->content_unset_func)
+     {
+        ERR("%s does not support elm_object_item_part_content_unset() API.",
+            elm_widget_type_get(item->widget));
+           return NULL;
+        }
    return item->content_unset_func((Elm_Object_Item *)item, part);
 }
 
 EAPI void
-_elm_widget_item_text_part_set(Elm_Widget_Item *item,
-                              const char *part,
-                              const char *label)
+_elm_widget_item_part_text_set(Elm_Widget_Item *item,
+                               const char *part,
+                               const char *label)
 {
    ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
-   if (!item->text_set_func) return;
+   if (!item->text_set_func)
+     {
+        ERR("%s does not support elm_object_item_part_text_set() API.",
+            elm_widget_type_get(item->widget));
+        return;
+     }
    item->text_set_func((Elm_Object_Item *)item, part, label);
 }
 
-EAPI void
-_elm_widget_item_signal_emit(Elm_Widget_Item *item,
-                             const char *emission,
-                             const char *source)
-{
-   ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
-   if (item->signal_emit_func)
-     item->signal_emit_func((Elm_Object_Item *)item, emission, source);
-}
-
 EAPI const char *
-_elm_widget_item_text_part_get(const Elm_Widget_Item *item,
+_elm_widget_item_part_text_get(const Elm_Widget_Item *item,
                                const char *part)
 {
    ELM_WIDGET_ITEM_CHECK_OR_RETURN(item, NULL);
-   if (!item->text_get_func) return NULL;
+   if (!item->text_get_func)
+     {
+        ERR("%s does not support elm_object_item_part_text_get() API.",
+            elm_widget_type_get(item->widget));
+        return NULL;
+     }
    return item->text_get_func((Elm_Object_Item *)item, part);
 }
 
@@ -3493,6 +3509,16 @@ _elm_widget_item_text_get_hook_set(Elm_Widget_Item *item,
 }
 
 EAPI void
+_elm_widget_item_signal_emit(Elm_Widget_Item *item,
+                             const char *emission,
+                             const char *source)
+{
+   ELM_WIDGET_ITEM_CHECK_OR_RETURN(item);
+   if (item->signal_emit_func)
+     item->signal_emit_func((Elm_Object_Item *)item, emission, source);
+}
+
+EAPI void
 _elm_widget_item_signal_emit_hook_set(Elm_Widget_Item *item,
                                       Elm_Widget_Signal_Emit_Cb func)
 {
index f5daa1c..77433ed 100644 (file)
@@ -462,11 +462,11 @@ EAPI void             _elm_widget_item_cursor_style_set(Elm_Widget_Item *item, c
 EAPI const char      *_elm_widget_item_cursor_style_get(const Elm_Widget_Item *item);
 EAPI void             _elm_widget_item_cursor_engine_only_set(Elm_Widget_Item *item, Eina_Bool engine_only);
 EAPI Eina_Bool        _elm_widget_item_cursor_engine_only_get(const Elm_Widget_Item *item);
-EAPI void             _elm_widget_item_content_part_set(Elm_Widget_Item *item, const char *part, Evas_Object *content);
-EAPI Evas_Object     *_elm_widget_item_content_part_get(const Elm_Widget_Item *item, const char *part);
-EAPI Evas_Object     *_elm_widget_item_content_part_unset(Elm_Widget_Item *item, const char *part);
-EAPI void             _elm_widget_item_text_part_set(Elm_Widget_Item *item, const char *part, const char *label);
-EAPI const char      *_elm_widget_item_text_part_get(const Elm_Widget_Item *item, const char *part);
+EAPI void             _elm_widget_item_part_content_set(Elm_Widget_Item *item, const char *part, Evas_Object *content);
+EAPI Evas_Object     *_elm_widget_item_part_content_get(const Elm_Widget_Item *item, const char *part);
+EAPI Evas_Object     *_elm_widget_item_part_content_unset(Elm_Widget_Item *item, const char *part);
+EAPI void             _elm_widget_item_part_text_set(Elm_Widget_Item *item, const char *part, const char *label);
+EAPI const char      *_elm_widget_item_part_text_get(const Elm_Widget_Item *item, const char *part);
 EAPI void             _elm_widget_item_signal_emit(Elm_Widget_Item *item, const char *emission, const char *source);
 EAPI void             _elm_widget_item_content_set_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Set_Cb func);
 EAPI void             _elm_widget_item_content_get_hook_set(Elm_Widget_Item *item, Elm_Widget_Content_Get_Cb func);
index b0ca72e..53ec0c7 100644 (file)
@@ -550,22 +550,22 @@ _elm_win_event_cb(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_T
              return EINA_TRUE;
           }
         else if ((!strcmp(ev->keyname, "Left")) ||
-                 (!strcmp(ev->keyname, "KP_Left")))
+                 ((!strcmp(ev->keyname, "KP_Left")) && (!ev->string)))
           {
              //TODO : woohyun jung
           }
         else if ((!strcmp(ev->keyname, "Right")) ||
-                 (!strcmp(ev->keyname, "KP_Right")))
+                 ((!strcmp(ev->keyname, "KP_Right")) && (!ev->string)))
           {
              //TODO : woohyun jung
           }
         else if ((!strcmp(ev->keyname, "Up")) ||
-                 (!strcmp(ev->keyname, "KP_Up")))
+                 ((!strcmp(ev->keyname, "KP_Up")) && (!ev->string)))
           {
              //TODO : woohyun jung
           }
         else if ((!strcmp(ev->keyname, "Down")) ||
-                 (!strcmp(ev->keyname, "KP_Down")))
+                 ((!strcmp(ev->keyname, "KP_Down")) && (!ev->string)))
           {
              //TODO : woohyun jung
           }