Merge "[SegmentControl] Border issue fixed. Unnecessary if check is removed."
authorprince <prince.dubey@samsung.com>
Tue, 18 Oct 2011 05:29:48 +0000 (14:29 +0900)
committerGerrit Code Review <git@Maetan>
Tue, 18 Oct 2011 05:29:48 +0000 (14:29 +0900)
36 files changed:
TC/elm_ts/datefield/Makefile
TC/elm_ts/datefield/tslist
TC/elm_ts/datefield/utc_UIFW_elm_datefield_add_func.c
TC/elm_ts/datefield/utc_UIFW_elm_datefield_date_get_func.c [deleted file]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_date_set_func.c [deleted file]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_format_get_func.c [moved from TC/elm_ts/datefield/utc_UIFW_elm_datefield_date_format_get_func.c with 62% similarity]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_format_set_func.c [moved from TC/elm_ts/datefield/utc_UIFW_elm_datefield_layout_get_func.c with 61% similarity]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_input_panel_state_callback_add_func.c [deleted file]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_input_panel_state_callback_del_func.c [deleted file]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_enabled_get_func.c [new file with mode: 0644]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_enabled_set_func.c [moved from TC/elm_ts/datefield/utc_UIFW_elm_datefield_time_mode_set_func.c with 61% similarity]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_max_get_func.c [moved from TC/elm_ts/datefield/utc_UIFW_elm_datefield_date_format_set_func.c with 61% similarity]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_max_is_abs_func.c [new file with mode: 0644]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_max_set_func.c [moved from TC/elm_ts/datefield/utc_UIFW_elm_datefield_layout_set_func.c with 57% similarity]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_get_func.c [new file with mode: 0644]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_is_abs_func.c [new file with mode: 0644]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_set_func.c [new file with mode: 0644]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_value_get_func.c [moved from TC/elm_ts/datefield/utc_UIFW_elm_datefield_time_mode_get_func.c with 58% similarity]
TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_value_set_func.c [new file with mode: 0644]
config/default/base.src
config/illume/base.src
config/slp/base.src
config/standard/base.src
debian/changelog
src/bin/config.c
src/lib/Elementary.h.in
src/lib/elc_naviframe.c
src/lib/elm_config.c
src/lib/elm_main.c
src/lib/elm_priv.h
src/lib/elm_scroller.c
src/lib/elm_stackedicon.c
src/lib/els_pan.c
src/lib/els_pan.h
src/lib/els_scroller.c
src/lib/els_scroller.h

index 07cae8e..e134952 100755 (executable)
@@ -1,16 +1,18 @@
 CC ?= gcc
 
 TARGETS = utc_UIFW_elm_datefield_add_func \
-         utc_UIFW_elm_datefield_layout_set_func \
-         utc_UIFW_elm_datefield_layout_get_func \
-         utc_UIFW_elm_datefield_date_set_func \
-         utc_UIFW_elm_datefield_date_get_func \
-         utc_UIFW_elm_datefield_time_mode_set_func \
-         utc_UIFW_elm_datefield_time_mode_get_func \
-         utc_UIFW_elm_datefield_date_format_set_func \
-         utc_UIFW_elm_datefield_date_format_get_func \
-         utc_UIFW_elm_datefield_input_panel_state_callback_add_func \
-         utc_UIFW_elm_datefield_input_panel_state_callback_del_func
+         utc_UIFW_elm_datefield_format_set_func \
+         utc_UIFW_elm_datefield_format_get_func \
+         utc_UIFW_elm_datefield_item_enabled_set_func \
+         utc_UIFW_elm_datefield_item_enabled_get_func \
+         utc_UIFW_elm_datefield_item_max_set_func \
+         utc_UIFW_elm_datefield_item_max_get_func \
+         utc_UIFW_elm_datefield_item_max_is_abs_func \
+         utc_UIFW_elm_datefield_item_min_set_func \
+         utc_UIFW_elm_datefield_item_min_get_func \
+         utc_UIFW_elm_datefield_item_min_is_abs_func \
+         utc_UIFW_elm_datefield_item_value_set_func \
+         utc_UIFW_elm_datefield_item_value_get_func
 
 PKGS = elementary evas
 
index bd14c58..dc8dbe6 100644 (file)
@@ -1,11 +1,13 @@
 /elm_ts/datefield/utc_UIFW_elm_datefield_add_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_layout_set_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_layout_get_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_date_set_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_date_get_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_time_mode_set_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_time_mode_get_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_date_format_set_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_date_format_get_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_input_panel_state_callback_add_func
-/elm_ts/datefield/utc_UIFW_elm_datefield_input_panel_state_callback_del_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_format_set_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_format_get_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_enabled_set_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_enabled_get_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_max_set_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_max_get_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_max_is_abs_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_set_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_get_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_is_abs_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_value_set_func
+/elm_ts/datefield/utc_UIFW_elm_datefield_item_value_get_func
index 6549508..415f426 100644 (file)
@@ -47,7 +47,7 @@ enum {
 struct tet_testlist tet_testlist[] = {
        { utc_UIFW_elm_datefield_add_func_01, POSITIVE_TC_IDX },
        { utc_UIFW_elm_datefield_add_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
+       { NULL, 0 }
 };
 
 static void startup(void)
@@ -66,7 +66,7 @@ static void cleanup(void)
        }
        if ( NULL != main_win ) {
                evas_object_del(main_win);
-               main_win = NULL;
+               main_win = NULL;
        }
        elm_shutdown();
        tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
@@ -77,7 +77,7 @@ static void cleanup(void)
  */
 static void utc_UIFW_elm_datefield_add_func_01(void)
 {
-       datefield = elm_datefield_add(main_win);
+       datefield = elm_datefield_add(main_win);
 
        if (!datefield) {
                tet_infoline("elm_datefield_add() failed in positive test case");
@@ -85,8 +85,6 @@ static void utc_UIFW_elm_datefield_add_func_01(void)
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
@@ -97,7 +95,7 @@ static void utc_UIFW_elm_datefield_add_func_01(void)
  */
 static void utc_UIFW_elm_datefield_add_func_02(void)
 {
-       datefield = elm_datefield_add(NULL);
+       datefield = elm_datefield_add(NULL);
 
        if (datefield) {
                tet_infoline("elm_datefield_add() failed in negative test case");
@@ -105,8 +103,6 @@ static void utc_UIFW_elm_datefield_add_func_02(void)
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_date_get_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_date_get_func.c
deleted file mode 100644 (file)
index 4a0f3b4..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-#include <tet_api.h>
-#include <Elementary.h>
-
-// Definitions
-// For checking the result of the positive test case.
-#define TET_CHECK_PASS(x1, y...) \
-{ \
-       Evas_Object *err = y; \
-       if (err == (x1)) \
-               { \
-                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
-                       tet_result(TET_FAIL); \
-                       return; \
-               } \
-}
-
-// For checking the result of the negative test case.
-#define TET_CHECK_FAIL(x1, y...) \
-{ \
-       Evas_Object *err = y; \
-       if (err != (x1)) \
-               { \
-                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
-                       tet_result(TET_FAIL); \
-                       return; \
-               } \
-}
-
-
-static Evas_Object *main_win;
-static Evas_Object *datefield;
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_UIFW_elm_datefield_date_get_func_01(void);
-static void utc_UIFW_elm_datefield_date_get_func_02(void);
-
-enum {
-       POSITIVE_TC_IDX = 0x01,
-       NEGATIVE_TC_IDX,
-};
-
-struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_date_get_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_date_get_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
-};
-
-static void startup(void)
-{
-       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
-       elm_init(0, NULL);
-       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
-       evas_object_show(main_win);
-}
-
-static void cleanup(void)
-{
-       if ( NULL != datefield) {
-               evas_object_del(datefield);
-               datefield = NULL;
-       }
-       if ( NULL != main_win ) {
-               evas_object_del(main_win);
-               main_win = NULL;
-       }
-       elm_shutdown();
-       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
-}
-
-/**
- * @brief Positive test case of elm_datefield_date_get()
- */
-static void utc_UIFW_elm_datefield_date_get_func_01(void)
-{
-       int year, month, day, hour, min;
-
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_date_set(datefield, 2010, 10, 14, 5, 30);
-       elm_datefield_date_get(datefield, &year, &month, &day, &hour, &min);
-
-       if (!(year == 2010 && month == 10 && day == 14 && hour == 5 && min == 30)) {
-               tet_infoline("elm_datefield_date_get() failed in positive test case");
-               tet_result(TET_FAIL);
-               return;
-       }
-
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
-       evas_object_show(datefield);
-
-       tet_result(TET_PASS);
-}
-
-/**
- * @brief Negative test case of ug_init elm_datefield_date_get()
- */
-static void utc_UIFW_elm_datefield_date_get_func_02(void)
-{
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_date_set(datefield, 2010, 10, 14, 5, 30);
-       elm_datefield_date_get(datefield, NULL, NULL, NULL, NULL, NULL);
-
-       /*if () {
-               tet_infoline("elm_datefield_date_get() failed in negative test case");
-               tet_result(TET_FAIL);
-               return;
-       }*/
-
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
-       evas_object_show(datefield);
-
-       tet_result(TET_PASS);
-}
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_date_set_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_date_set_func.c
deleted file mode 100644 (file)
index 33b1148..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-#include <tet_api.h>
-#include <Elementary.h>
-
-// Definitions
-// For checking the result of the positive test case.
-#define TET_CHECK_PASS(x1, y...) \
-{ \
-       Evas_Object *err = y; \
-       if (err == (x1)) \
-               { \
-                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
-                       tet_result(TET_FAIL); \
-                       return; \
-               } \
-}
-
-// For checking the result of the negative test case.
-#define TET_CHECK_FAIL(x1, y...) \
-{ \
-       Evas_Object *err = y; \
-       if (err != (x1)) \
-               { \
-                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
-                       tet_result(TET_FAIL); \
-                       return; \
-               } \
-}
-
-
-static Evas_Object *main_win;
-static Evas_Object *datefield;
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_UIFW_elm_datefield_date_set_func_01(void);
-static void utc_UIFW_elm_datefield_date_set_func_02(void);
-
-enum {
-       POSITIVE_TC_IDX = 0x01,
-       NEGATIVE_TC_IDX,
-};
-
-struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_date_set_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_date_set_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
-};
-
-static void startup(void)
-{
-       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
-       elm_init(0, NULL);
-       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
-       evas_object_show(main_win);
-}
-
-static void cleanup(void)
-{
-       if ( NULL != datefield) {
-               evas_object_del(datefield);
-               datefield = NULL;
-       }
-       if ( NULL != main_win ) {
-               evas_object_del(main_win);
-               main_win = NULL;
-       }
-       elm_shutdown();
-       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
-}
-
-/**
- * @brief Positive test case of elm_datefield_date_set()
- */
-static void utc_UIFW_elm_datefield_date_set_func_01(void)
-{
-       int year, month, day, hour, min;
-
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_date_set(datefield, 2010, 10, 14, 1, 36);
-       elm_datefield_date_get(datefield, &year, &month, &day, &hour, &min);
-
-       if (!(year == 2010 && month == 10 && day == 14 && hour == 1 && min == 36)) {
-               tet_infoline("elm_datefield_date_set() failed in positive test case");
-               tet_result(TET_FAIL);
-               return;
-       }
-
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
-       evas_object_show(datefield);
-
-       tet_result(TET_PASS);
-}
-
-/**
- * @brief Negative test case of ug_init elm_datefield_date_set()
- */
-static void utc_UIFW_elm_datefield_date_set_func_02(void)
-{
-       int year, month, day, hour, min;
-
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_date_set(NULL, 2010, 10, 14, 1, 36);
-       elm_datefield_date_get(datefield, &year, &month, &day, &hour, &min);
-
-       if ((year == 2010 && month == 10 && day == 14 && hour == 1 && min <= 36)) {
-               tet_infoline("elm_datefield_date_set() failed in negative test case");
-               tet_result(TET_FAIL);
-               return;
-       }
-
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
-       evas_object_show(datefield);
-
-       tet_result(TET_PASS);
-}
@@ -36,8 +36,8 @@ static void cleanup(void);
 void (*tet_startup)(void) = startup;
 void (*tet_cleanup)(void) = cleanup;
 
-static void utc_UIFW_elm_datefield_date_format_get_func_01(void);
-static void utc_UIFW_elm_datefield_date_format_get_func_02(void);
+static void utc_UIFW_elm_datefield_format_get_func_01(void);
+static void utc_UIFW_elm_datefield_format_get_func_02(void);
 
 enum {
        POSITIVE_TC_IDX = 0x01,
@@ -45,9 +45,9 @@ enum {
 };
 
 struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_date_format_get_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_date_format_get_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
+       { utc_UIFW_elm_datefield_format_get_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_format_get_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
 };
 
 static void startup(void)
@@ -66,52 +66,50 @@ static void cleanup(void)
        }
        if ( NULL != main_win ) {
                evas_object_del(main_win);
-               main_win = NULL;
+               main_win = NULL;
        }
        elm_shutdown();
        tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
 }
 
 /**
- * @brief Positive test case of elm_datefield_date_format_get()
+ * @brief Positive test case of elm_datefield_format_get()
  */
-static void utc_UIFW_elm_datefield_date_format_get_func_01(void)
+static void utc_UIFW_elm_datefield_format_get_func_01(void)
 {
        const char *format = NULL;
 
        datefield = elm_datefield_add(main_win);
-       format = elm_datefield_date_format_get(datefield);
+       elm_datefield_format_set(datefield, "%B %d, %Y");
+       format = elm_datefield_format_get(datefield);
 
-       if (strcmp(format, "mmddyy")) {
-               tet_infoline("elm_datefield_date_format_get() failed in positive test case");
+       if (strncmp(format, "%B %d, %Y", strlen(format))) {
+               tet_infoline("elm_datefield_format_get() failed in positive test case");
                tet_result(TET_FAIL);
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
 }
 
 /**
- * @brief Negative test case of ug_init elm_datefield_date_format_get()
+ * @brief Negative test case of ug_init elm_datefield_format_get()
  */
-static void utc_UIFW_elm_datefield_date_format_get_func_02(void)
+static void utc_UIFW_elm_datefield_format_get_func_02(void)
 {
        const char *format = NULL;
 
        datefield = elm_datefield_add(main_win);
-       format = elm_datefield_date_format_get(NULL);
+       format = elm_datefield_format_get(NULL);
 
        if (format) {
-               tet_infoline("elm_datefield_date_format_get() failed in negative test case");
+               tet_infoline("elm_datefield_format_get() failed in negative test case");
                tet_result(TET_FAIL);
                return;
        }
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
+
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
@@ -36,8 +36,8 @@ static void cleanup(void);
 void (*tet_startup)(void) = startup;
 void (*tet_cleanup)(void) = cleanup;
 
-static void utc_UIFW_elm_datefield_layout_get_func_01(void);
-static void utc_UIFW_elm_datefield_layout_get_func_02(void);
+static void utc_UIFW_elm_datefield_format_set_func_01(void);
+static void utc_UIFW_elm_datefield_format_set_func_02(void);
 
 enum {
        POSITIVE_TC_IDX = 0x01,
@@ -45,9 +45,9 @@ enum {
 };
 
 struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_layout_get_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_layout_get_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
+       { utc_UIFW_elm_datefield_format_set_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_format_set_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
 };
 
 static void startup(void)
@@ -60,59 +60,57 @@ static void startup(void)
 
 static void cleanup(void)
 {
-       if ( NULL != datefield) {
+       if ( NULL != datefield ) {
                evas_object_del(datefield);
                datefield = NULL;
        }
        if ( NULL != main_win ) {
                evas_object_del(main_win);
-               main_win = NULL;
+               main_win = NULL;
        }
        elm_shutdown();
        tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
 }
 
 /**
- * @brief Positive test case of elm_datefield_layout_get()
+ * @brief Positive test case of elm_datefield_format_set()
  */
-static void utc_UIFW_elm_datefield_layout_get_func_01(void)
+static void utc_UIFW_elm_datefield_format_set_func_01(void)
 {
-       int r = 0;
+       char *fmt = "%B %d, %Y";
 
        datefield = elm_datefield_add(main_win);
-       r = elm_datefield_layout_get(datefield);
+       elm_datefield_format_set(datefield, fmt);
 
-       if (r != ELM_DATEFIELD_LAYOUT_DATEANDTIME) {
-               tet_infoline("elm_datefield_layout_get() failed in positive test case");
+       if (strncmp(elm_datefield_format_get(datefield), fmt, strlen(fmt))) {
+               tet_infoline("elm_datefield_format_set() failed in positive test case");
                tet_result(TET_FAIL);
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
 }
 
 /**
- * @brief Negative test case of ug_init elm_datefield_layout_get()
+ * @brief Negative test case of ug_init elm_datefield_format_set()
  */
-static void utc_UIFW_elm_datefield_layout_get_func_02(void)
+static void utc_UIFW_elm_datefield_format_set_func_02(void)
 {
-       int r = 0;
+       char *fmt1, *fmt2;
 
        datefield = elm_datefield_add(main_win);
-       r = elm_datefield_layout_get(NULL);
+       fmt1 = elm_datefield_format_get(datefield);
+       elm_datefield_format_set(datefield, NULL);
+       fmt2 = elm_datefield_format_get(datefield);
 
-       if (r == ELM_DATEFIELD_LAYOUT_DATEANDTIME) {
-               tet_infoline("elm_datefield_layout_get() failed in negative test case");
+       if (strncmp(fmt1, fmt2, strlen(fmt1))) {
+               tet_infoline("elm_datefield_format_set() failed in negative test case");
                tet_result(TET_FAIL);
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_input_panel_state_callback_add_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_input_panel_state_callback_add_func.c
deleted file mode 100644 (file)
index 93b0a77..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-#include <tet_api.h>
-#include <Elementary.h>
-
-// Definitions
-// For checking the result of the positive test case.
-#define TET_CHECK_PASS(x1, y...) \
-{ \
-       Evas_Object *err = y; \
-       if (err == (x1)) \
-               { \
-                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
-                       tet_result(TET_FAIL); \
-                       return; \
-               } \
-}
-
-// For checking the result of the negative test case.
-#define TET_CHECK_FAIL(x1, y...) \
-{ \
-       Evas_Object *err = y; \
-       if (err != (x1)) \
-               { \
-                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
-                       tet_result(TET_FAIL); \
-                       return; \
-               } \
-}
-
-
-static Evas_Object *main_win;
-static Evas_Object *datefield;
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_UIFW_elm_datefield_input_panel_state_callback_add_func_01(void);
-static void utc_UIFW_elm_datefield_input_panel_state_callback_add_func_02(void);
-
-enum {
-       POSITIVE_TC_IDX = 0x01,
-       NEGATIVE_TC_IDX,
-};
-
-struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_input_panel_state_callback_add_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_input_panel_state_callback_add_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
-};
-
-static void startup(void)
-{
-       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
-       elm_init(0, NULL);
-       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
-       evas_object_show(main_win);
-}
-
-static void cleanup(void)
-{
-       if ( NULL != datefield) {
-               evas_object_del(datefield);
-               datefield = NULL;
-       }
-       if ( NULL != main_win ) {
-               evas_object_del(main_win);
-               main_win = NULL;
-       }
-       elm_shutdown();
-       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
-}
-
-static void _input_panel_state_cb(void *data, Evas_Object *obj, int value)
-{
-}
-
-/**
- * @brief Positive test case of elm_datefield_input_panel_state_callback_add()
- */
-static void utc_UIFW_elm_datefield_input_panel_state_callback_add_func_01(void)
-{
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_input_panel_state_callback_add(datefield, _input_panel_state_cb, NULL);
-
-       /*if (!r) {
-               tet_infoline("elm_datefield_input_panel_state_callback_add() failed in positive test case");
-               tet_result(TET_FAIL);
-               return;
-       }*/
-
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
-       evas_object_show(datefield);
-
-       tet_result(TET_PASS);
-}
-
-/**
- * @brief Negative test case of ug_init elm_datefield_input_panel_state_callback_add()
- */
-static void utc_UIFW_elm_datefield_input_panel_state_callback_add_func_02(void)
-{
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_input_panel_state_callback_add(NULL, _input_panel_state_cb, NULL);
-
-       /*if (r) {
-               tet_infoline("elm_datefield_input_panel_state_callback_add() failed in negative test case");
-               tet_result(TET_FAIL);
-               return;
-       }*/
-
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
-       evas_object_show(datefield);
-
-       tet_result(TET_PASS);
-}
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_input_panel_state_callback_del_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_input_panel_state_callback_del_func.c
deleted file mode 100644 (file)
index 32f29d5..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-#include <tet_api.h>
-#include <Elementary.h>
-
-// Definitions
-// For checking the result of the positive test case.
-#define TET_CHECK_PASS(x1, y...) \
-{ \
-       Evas_Object *err = y; \
-       if (err == (x1)) \
-               { \
-                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
-                       tet_result(TET_FAIL); \
-                       return; \
-               } \
-}
-
-// For checking the result of the negative test case.
-#define TET_CHECK_FAIL(x1, y...) \
-{ \
-       Evas_Object *err = y; \
-       if (err != (x1)) \
-               { \
-                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
-                       tet_result(TET_FAIL); \
-                       return; \
-               } \
-}
-
-
-static Evas_Object *main_win;
-static Evas_Object *datefield;
-
-static void startup(void);
-static void cleanup(void);
-
-void (*tet_startup)(void) = startup;
-void (*tet_cleanup)(void) = cleanup;
-
-static void utc_UIFW_elm_datefield_input_panel_state_callback_del_func_01(void);
-static void utc_UIFW_elm_datefield_input_panel_state_callback_del_func_02(void);
-
-enum {
-       POSITIVE_TC_IDX = 0x01,
-       NEGATIVE_TC_IDX,
-};
-
-struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_input_panel_state_callback_del_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_input_panel_state_callback_del_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
-};
-
-static void startup(void)
-{
-       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
-       elm_init(0, NULL);
-       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
-       evas_object_show(main_win);
-}
-
-static void cleanup(void)
-{
-       if ( NULL != datefield) {
-               evas_object_del(datefield);
-               datefield = NULL;
-       }
-       if ( NULL != main_win ) {
-               evas_object_del(main_win);
-               main_win = NULL;
-       }
-       elm_shutdown();
-       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
-}
-
-static void _input_panel_state_cb(void *data, Evas_Object *obj, int value)
-{
-}
-
-/**
- * @brief Positive test case of elm_datefield_input_panel_state_callback_del()
- */
-static void utc_UIFW_elm_datefield_input_panel_state_callback_del_func_01(void)
-{
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_input_panel_state_callback_del(datefield, _input_panel_state_cb);
-
-       /*if (!r) {
-               tet_infoline("elm_datefield_input_panel_state_callback_del() failed in positive test case");
-               tet_result(TET_FAIL);
-               return;
-       }*/
-
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
-       evas_object_show(datefield);
-
-       tet_result(TET_PASS);
-}
-
-/**
- * @brief Negative test case of ug_init elm_datefield_input_panel_state_callback_del()
- */
-static void utc_UIFW_elm_datefield_input_panel_state_callback_del_func_02(void)
-{
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_input_panel_state_callback_del(NULL, _input_panel_state_cb);
-
-       /*if (r) {
-               tet_infoline("elm_datefield_input_panel_state_callback_del() failed in negative test case");
-               tet_result(TET_FAIL);
-               return;
-       }*/
-
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
-       evas_object_show(datefield);
-
-       tet_result(TET_PASS);
-}
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_enabled_get_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_enabled_get_func.c
new file mode 100644 (file)
index 0000000..dbce1e7
--- /dev/null
@@ -0,0 +1,112 @@
+#include <tet_api.h>
+#include <Elementary.h>
+
+// Definitions
+// For checking the result of the positive test case.
+#define TET_CHECK_PASS(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err == (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+// For checking the result of the negative test case.
+#define TET_CHECK_FAIL(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err != (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+
+static Evas_Object *main_win;
+static Evas_Object *datefield;
+
+static void startup(void);
+static void cleanup(void);
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+static void utc_UIFW_elm_datefield_item_enabled_get_func_01(void);
+static void utc_UIFW_elm_datefield_item_enabled_get_func_02(void);
+
+enum {
+       POSITIVE_TC_IDX = 0x01,
+       NEGATIVE_TC_IDX,
+};
+
+struct tet_testlist tet_testlist[] = {
+       { utc_UIFW_elm_datefield_item_enabled_get_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_enabled_get_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
+};
+
+static void startup(void)
+{
+       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
+       elm_init(0, NULL);
+       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
+       evas_object_show(main_win);
+}
+
+static void cleanup(void)
+{
+       if ( NULL != datefield) {
+               evas_object_del(datefield);
+               datefield = NULL;
+       }
+       if ( NULL != main_win ) {
+               evas_object_del(main_win);
+               main_win = NULL;
+       }
+       elm_shutdown();
+       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
+}
+
+/**
+ * @brief Positive test case of elm_datefield_item_enabled_get()
+ */
+static void utc_UIFW_elm_datefield_item_enabled_get_func_01(void)
+{
+       Eina_Bool y_enable = EINA_FALSE, h_enable = EINA_FALSE;
+
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_format_set(datefield, "%B %d, %Y");
+       elm_datefield_item_enabled_set(datefield, ELM_DATEFIELD_YEAR, EINA_FALSE);
+       y_enable = elm_datefield_item_enabled_get(datefield, ELM_DATEFIELD_YEAR);
+       h_enable = elm_datefield_item_enabled_get(datefield, ELM_DATEFIELD_HOUR);
+
+       if (!((!y_enable) && (h_enable))) {
+               tet_infoline("elm_datefield_item_enabled_get() failed in positive test case");
+               tet_result(TET_FAIL);
+               return;
+       }
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
+
+/**
+ * @brief Negative test case of ug_init elm_datefield_item_enabled_get()
+ */
+static void utc_UIFW_elm_datefield_item_enabled_get_func_02(void)
+{
+       Eina_Bool y_enable;
+
+       datefield = elm_datefield_add(main_win);
+       y_enable = elm_datefield_item_enabled_get(NULL, ELM_DATEFIELD_YEAR);
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
@@ -36,8 +36,8 @@ static void cleanup(void);
 void (*tet_startup)(void) = startup;
 void (*tet_cleanup)(void) = cleanup;
 
-static void utc_UIFW_elm_datefield_time_mode_set_func_01(void);
-static void utc_UIFW_elm_datefield_time_mode_set_func_02(void);
+static void utc_UIFW_elm_datefield_item_enabled_set_func_01(void);
+static void utc_UIFW_elm_datefield_item_enabled_set_func_02(void);
 
 enum {
        POSITIVE_TC_IDX = 0x01,
@@ -45,9 +45,9 @@ enum {
 };
 
 struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_time_mode_set_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_time_mode_set_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
+       { utc_UIFW_elm_datefield_item_enabled_set_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_enabled_set_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
 };
 
 static void startup(void)
@@ -60,48 +60,46 @@ static void startup(void)
 
 static void cleanup(void)
 {
-       if ( NULL != datefield ) {
+       if ( NULL != datefield) {
                evas_object_del(datefield);
                datefield = NULL;
        }
        if ( NULL != main_win ) {
                evas_object_del(main_win);
-               main_win = NULL;
+               main_win = NULL;
        }
        elm_shutdown();
        tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
 }
 
 /**
- * @brief Positive test case of elm_datefield_time_mode_set()
+ * @brief Positive test case of elm_datefield_item_enabled_set()
  */
-static void utc_UIFW_elm_datefield_time_mode_set_func_01(void)
+static void utc_UIFW_elm_datefield_item_enabled_set_func_01(void)
 {
        datefield = elm_datefield_add(main_win);
-       elm_datefield_time_mode_set(datefield, EINA_FALSE);
+       elm_datefield_format_set(datefield, "%B %d, %Y");
+       elm_datefield_item_enabled_set(datefield, ELM_DATEFIELD_YEAR, EINA_FALSE);
 
-       if (elm_datefield_time_mode_get(datefield) != EINA_FALSE) {
-               tet_infoline("elm_datefield_time_mode_set() failed in positive test case");
+       if (elm_datefield_item_enabled_get(datefield, ELM_DATEFIELD_YEAR)) {
+               tet_infoline("elm_datefield_item_enabled_set() failed in positive test case");
                tet_result(TET_FAIL);
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
 }
 
 /**
- * @brief Negative test case of ug_init elm_datefield_time_mode_set()
+ * @brief Negative test case of ug_init elm_datefield_item_enabled_set()
  */
-static void utc_UIFW_elm_datefield_time_mode_set_func_02(void)
+static void utc_UIFW_elm_datefield_item_enabled_set_func_02(void)
 {
        datefield = elm_datefield_add(main_win);
-       elm_datefield_time_mode_set(NULL, EINA_TRUE);
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
+       elm_datefield_item_enabled_set(NULL, ELM_DATEFIELD_YEAR, EINA_FALSE);
+
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
@@ -36,8 +36,8 @@ static void cleanup(void);
 void (*tet_startup)(void) = startup;
 void (*tet_cleanup)(void) = cleanup;
 
-static void utc_UIFW_elm_datefield_date_format_set_func_01(void);
-static void utc_UIFW_elm_datefield_date_format_set_func_02(void);
+static void utc_UIFW_elm_datefield_item_max_get_func_01(void);
+static void utc_UIFW_elm_datefield_item_max_get_func_02(void);
 
 enum {
        POSITIVE_TC_IDX = 0x01,
@@ -45,9 +45,9 @@ enum {
 };
 
 struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_date_format_set_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_date_format_set_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
+       { utc_UIFW_elm_datefield_item_max_get_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_max_get_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
 };
 
 static void startup(void)
@@ -60,49 +60,50 @@ static void startup(void)
 
 static void cleanup(void)
 {
-       if ( NULL != datefield ) {
+       if ( NULL != datefield) {
                evas_object_del(datefield);
                datefield = NULL;
        }
        if ( NULL != main_win ) {
                evas_object_del(main_win);
-               main_win = NULL;
+               main_win = NULL;
        }
        elm_shutdown();
        tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
 }
 
 /**
- * @brief Positive test case of elm_datefield_date_format_set()
+ * @brief Positive test case of elm_datefield_item_max_get()
  */
-static void utc_UIFW_elm_datefield_date_format_set_func_01(void)
+static void utc_UIFW_elm_datefield_item_max_get_func_01(void)
 {
+       int year_max;
+
        datefield = elm_datefield_add(main_win);
-       elm_datefield_date_format_set(datefield, "ddmmyy");
+       elm_datefield_item_max_set(datefield, ELM_DATEFIELD_YEAR, 120, EINA_FALSE);
+       year_max = elm_datefield_item_max_get(datefield, ELM_DATEFIELD_YEAR);
 
-       if (strcmp(elm_datefield_date_format_get(datefield), "ddmmyy")) {
-               tet_infoline("elm_datefield_date_format_set() failed in positive test case");
+       if (!(year_max == 120)) {
+               tet_infoline("elm_datefield_item_max_get() failed in positive test case");
                tet_result(TET_FAIL);
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
 }
 
 /**
- * @brief Negative test case of ug_init elm_datefield_date_format_set()
+ * @brief Negative test case of ug_init elm_datefield_item_max_get()
  */
-static void utc_UIFW_elm_datefield_date_format_set_func_02(void)
+static void utc_UIFW_elm_datefield_item_max_get_func_02(void)
 {
+       int year_max;
+
        datefield = elm_datefield_add(main_win);
-       elm_datefield_date_format_set(NULL, "ddmmyy");
+       year_max = elm_datefield_item_max_get(NULL, ELM_DATEFIELD_YEAR);
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_max_is_abs_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_max_is_abs_func.c
new file mode 100644 (file)
index 0000000..e456a88
--- /dev/null
@@ -0,0 +1,117 @@
+#include <tet_api.h>
+#include <Elementary.h>
+
+// Definitions
+// For checking the result of the positive test case.
+#define TET_CHECK_PASS(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err == (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+// For checking the result of the negative test case.
+#define TET_CHECK_FAIL(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err != (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+
+static Evas_Object *main_win;
+static Evas_Object *datefield;
+
+static void startup(void);
+static void cleanup(void);
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+static void utc_UIFW_elm_datefield_item_max_is_absolute_func_01(void);
+static void utc_UIFW_elm_datefield_item_max_is_absolute_func_02(void);
+
+enum {
+       POSITIVE_TC_IDX = 0x01,
+       NEGATIVE_TC_IDX,
+};
+
+struct tet_testlist tet_testlist[] = {
+       { utc_UIFW_elm_datefield_item_max_is_absolute_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_max_is_absolute_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
+};
+
+static void startup(void)
+{
+       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
+       elm_init(0, NULL);
+       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
+       evas_object_show(main_win);
+}
+
+static void cleanup(void)
+{
+       if ( NULL != datefield ) {
+               evas_object_del(datefield);
+               datefield = NULL;
+       }
+       if ( NULL != main_win ) {
+               evas_object_del(main_win);
+               main_win = NULL;
+       }
+       elm_shutdown();
+       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
+}
+
+/**
+ * @brief Positive test case of elm_datefield_item_max_is_absolute()
+ */
+static void utc_UIFW_elm_datefield_item_max_is_absolute_func_01(void)
+{
+       Eina_Bool is_abs = EINA_FALSE;
+
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_max_set(datefield, ELM_DATEFIELD_MONTH, 9, EINA_TRUE);
+       is_abs = elm_datefield_item_max_is_absolute(datefield, ELM_DATEFIELD_MONTH);
+
+       if (!is_abs) {
+               tet_infoline("elm_datefield_item_max_is_absolute() failed in positive test case");
+               tet_result(TET_FAIL);
+               return;
+       }
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
+
+/**
+ * @brief Negative test case of ug_init elm_datefield_item_max_is_absolute()
+ */
+static void utc_UIFW_elm_datefield_item_max_is_absolute_func_02(void)
+{
+       Eina_Bool is_abs = EINA_FALSE;
+
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_max_set(NULL, ELM_DATEFIELD_MONTH, 9, EINA_TRUE);
+       is_abs = elm_datefield_item_max_is_absolute(datefield, ELM_DATEFIELD_MONTH);
+
+       if (is_abs) {
+               tet_infoline("elm_datefield_item_max_is_absolute() failed in negative test case");
+               tet_result(TET_FAIL);
+               return;
+       }
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
@@ -36,8 +36,8 @@ static void cleanup(void);
 void (*tet_startup)(void) = startup;
 void (*tet_cleanup)(void) = cleanup;
 
-static void utc_UIFW_elm_datefield_layout_set_func_01(void);
-static void utc_UIFW_elm_datefield_layout_set_func_02(void);
+static void utc_UIFW_elm_datefield_item_max_set_func_01(void);
+static void utc_UIFW_elm_datefield_item_max_set_func_02(void);
 
 enum {
        POSITIVE_TC_IDX = 0x01,
@@ -45,9 +45,9 @@ enum {
 };
 
 struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_layout_set_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_layout_set_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
+       { utc_UIFW_elm_datefield_item_max_set_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_max_set_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
 };
 
 static void startup(void)
@@ -66,49 +66,45 @@ static void cleanup(void)
        }
        if ( NULL != main_win ) {
                evas_object_del(main_win);
-               main_win = NULL;
+               main_win = NULL;
        }
        elm_shutdown();
        tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
 }
 
 /**
- * @brief Positive test case of elm_datefield_layout_set()
+ * @brief Positive test case of elm_datefield_item_max_set()
  */
-static void utc_UIFW_elm_datefield_layout_set_func_01(void)
+static void utc_UIFW_elm_datefield_item_max_set_func_01(void)
 {
-       datefield = elm_datefield_add(main_win);
-       elm_datefield_layout_set(datefield, ELM_DATEFIELD_LAYOUT_TIME);
+       int year_max, year_curr;
 
-       if (elm_datefield_layout_get(datefield) != ELM_DATEFIELD_LAYOUT_TIME) {
-               tet_infoline("elm_datefield_layout_set() failed in positive test case");
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_max_set(datefield, ELM_DATEFIELD_YEAR, 120, EINA_FALSE);
+       year_max = elm_datefield_item_max_get(datefield, ELM_DATEFIELD_YEAR);
+       elm_datefield_item_value_set(datefield, ELM_DATEFIELD_YEAR, 135);
+       year_curr = elm_datefield_item_value_get(datefield, ELM_DATEFIELD_YEAR);
+
+       if (!((year_max == 120) && (year_curr == 120)) &&
+                !(elm_datefield_item_max_is_absolute(datefield, ELM_DATEFIELD_YEAR))) {
+               tet_infoline("elm_datefield_item_max_set() failed in positive test case");
                tet_result(TET_FAIL);
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
 }
 
 /**
- * @brief Negative test case of ug_init elm_datefield_layout_set()
+ * @brief Negative test case of ug_init elm_datefield_item_max_set()
  */
-static void utc_UIFW_elm_datefield_layout_set_func_02(void)
+static void utc_UIFW_elm_datefield_item_max_set_func_02(void)
 {
        datefield = elm_datefield_add(main_win);
-       elm_datefield_layout_set(datefield, ELM_DATEFIELD_LAYOUT_DATEANDTIME+1);
-
-       if (elm_datefield_layout_get(datefield) > ELM_DATEFIELD_LAYOUT_DATEANDTIME) {
-               tet_infoline("elm_datefield_layout_set() failed in negative test case");
-               tet_result(TET_FAIL);
-               return;
-       }
+       elm_datefield_item_max_set(NULL, ELM_DATEFIELD_YEAR, 120, EINA_FALSE);
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_get_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_get_func.c
new file mode 100644 (file)
index 0000000..f09111a
--- /dev/null
@@ -0,0 +1,110 @@
+#include <tet_api.h>
+#include <Elementary.h>
+
+// Definitions
+// For checking the result of the positive test case.
+#define TET_CHECK_PASS(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err == (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+// For checking the result of the negative test case.
+#define TET_CHECK_FAIL(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err != (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+
+static Evas_Object *main_win;
+static Evas_Object *datefield;
+
+static void startup(void);
+static void cleanup(void);
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+static void utc_UIFW_elm_datefield_item_min_get_func_01(void);
+static void utc_UIFW_elm_datefield_item_min_get_func_02(void);
+
+enum {
+       POSITIVE_TC_IDX = 0x01,
+       NEGATIVE_TC_IDX,
+};
+
+struct tet_testlist tet_testlist[] = {
+       { utc_UIFW_elm_datefield_item_min_get_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_min_get_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
+};
+
+static void startup(void)
+{
+       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
+       elm_init(0, NULL);
+       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
+       evas_object_show(main_win);
+}
+
+static void cleanup(void)
+{
+       if ( NULL != datefield) {
+               evas_object_del(datefield);
+               datefield = NULL;
+       }
+       if ( NULL != main_win ) {
+               evas_object_del(main_win);
+               main_win = NULL;
+       }
+       elm_shutdown();
+       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
+}
+
+/**
+ * @brief Positive test case of elm_datefield_item_min_get()
+ */
+static void utc_UIFW_elm_datefield_item_min_get_func_01(void)
+{
+       int year_min;
+
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_min_set(datefield, ELM_DATEFIELD_YEAR, 100, EINA_FALSE);
+       year_min = elm_datefield_item_min_get(datefield, ELM_DATEFIELD_YEAR);
+
+       if (!(year_min == 100)) {
+               tet_infoline("elm_datefield_item_min_get() failed in positive test case");
+               tet_result(TET_FAIL);
+               return;
+       }
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
+
+/**
+ * @brief Negative test case of ug_init elm_datefield_item_min_get()
+ */
+static void utc_UIFW_elm_datefield_item_min_get_func_02(void)
+{
+       int year_min;
+
+       datefield = elm_datefield_add(main_win);
+       year_min = elm_datefield_item_min_get(NULL, ELM_DATEFIELD_YEAR);
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_is_abs_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_is_abs_func.c
new file mode 100644 (file)
index 0000000..0cd4e6b
--- /dev/null
@@ -0,0 +1,117 @@
+#include <tet_api.h>
+#include <Elementary.h>
+
+// Definitions
+// For checking the result of the positive test case.
+#define TET_CHECK_PASS(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err == (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+// For checking the result of the negative test case.
+#define TET_CHECK_FAIL(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err != (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+
+static Evas_Object *main_win;
+static Evas_Object *datefield;
+
+static void startup(void);
+static void cleanup(void);
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+static void utc_UIFW_elm_datefield_item_min_is_absolute_func_01(void);
+static void utc_UIFW_elm_datefield_item_min_is_absolute_func_02(void);
+
+enum {
+       POSITIVE_TC_IDX = 0x01,
+       NEGATIVE_TC_IDX,
+};
+
+struct tet_testlist tet_testlist[] = {
+       { utc_UIFW_elm_datefield_item_min_is_absolute_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_min_is_absolute_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
+};
+
+static void startup(void)
+{
+       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
+       elm_init(0, NULL);
+       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
+       evas_object_show(main_win);
+}
+
+static void cleanup(void)
+{
+       if ( NULL != datefield ) {
+               evas_object_del(datefield);
+               datefield = NULL;
+       }
+       if ( NULL != main_win ) {
+               evas_object_del(main_win);
+               main_win = NULL;
+       }
+       elm_shutdown();
+       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
+}
+
+/**
+ * @brief Positive test case of elm_datefield_item_min_is_absolute()
+ */
+static void utc_UIFW_elm_datefield_item_min_is_absolute_func_01(void)
+{
+       Eina_Bool is_abs = EINA_FALSE;
+
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_min_set(datefield, ELM_DATEFIELD_MONTH, 2, EINA_TRUE);
+       is_abs = elm_datefield_item_min_is_absolute(datefield, ELM_DATEFIELD_MONTH);
+
+       if (!is_abs) {
+               tet_infoline("elm_datefield_item_min_is_absolute() failed in positive test case");
+               tet_result(TET_FAIL);
+               return;
+       }
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
+
+/**
+ * @brief Negative test case of ug_init elm_datefield_item_min_is_absolute()
+ */
+static void utc_UIFW_elm_datefield_item_min_is_absolute_func_02(void)
+{
+       Eina_Bool is_abs = EINA_FALSE;
+
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_min_set(NULL, ELM_DATEFIELD_MONTH, 2, EINA_TRUE);
+       is_abs = elm_datefield_item_min_is_absolute(datefield, ELM_DATEFIELD_MONTH);
+
+       if (is_abs) {
+               tet_infoline("elm_datefield_item_min_is_absolute() failed in negative test case");
+               tet_result(TET_FAIL);
+               return;
+       }
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_set_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_min_set_func.c
new file mode 100644 (file)
index 0000000..7d39507
--- /dev/null
@@ -0,0 +1,111 @@
+#include <tet_api.h>
+#include <Elementary.h>
+
+// Definitions
+// For checking the result of the positive test case.
+#define TET_CHECK_PASS(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err == (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+// For checking the result of the negative test case.
+#define TET_CHECK_FAIL(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err != (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+
+static Evas_Object *main_win;
+static Evas_Object *datefield;
+
+static void startup(void);
+static void cleanup(void);
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+static void utc_UIFW_elm_datefield_item_min_set_func_01(void);
+static void utc_UIFW_elm_datefield_item_min_set_func_02(void);
+
+enum {
+       POSITIVE_TC_IDX = 0x01,
+       NEGATIVE_TC_IDX,
+};
+
+struct tet_testlist tet_testlist[] = {
+       { utc_UIFW_elm_datefield_item_min_set_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_min_set_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
+};
+
+static void startup(void)
+{
+       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
+       elm_init(0, NULL);
+       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
+       evas_object_show(main_win);
+}
+
+static void cleanup(void)
+{
+       if ( NULL != datefield) {
+               evas_object_del(datefield);
+               datefield = NULL;
+       }
+       if ( NULL != main_win ) {
+               evas_object_del(main_win);
+               main_win = NULL;
+       }
+       elm_shutdown();
+       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
+}
+
+/**
+ * @brief Positive test case of elm_datefield_item_min_set()
+ */
+static void utc_UIFW_elm_datefield_item_min_set_func_01(void)
+{
+       int year_min, year_curr;
+
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_min_set(datefield, ELM_DATEFIELD_YEAR, 100, EINA_FALSE);
+       year_min = elm_datefield_item_min_get(datefield, ELM_DATEFIELD_YEAR);
+       elm_datefield_item_value_set(datefield, ELM_DATEFIELD_YEAR, 90);
+       year_curr = elm_datefield_item_value_get(datefield, ELM_DATEFIELD_YEAR);
+
+       if (!((year_min == 100) && (year_curr == 100)) &&
+                !(elm_datefield_item_min_is_absolute(datefield, ELM_DATEFIELD_YEAR))) {
+               tet_infoline("elm_datefield_item_max_set() failed in positive test case");
+               tet_result(TET_FAIL);
+               return;
+       }
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
+
+/**
+ * @brief Negative test case of ug_init elm_datefield_item_min_set()
+ */
+static void utc_UIFW_elm_datefield_item_min_set_func_02(void)
+{
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_min_set(NULL, ELM_DATEFIELD_YEAR, 100, EINA_FALSE);
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
@@ -36,8 +36,8 @@ static void cleanup(void);
 void (*tet_startup)(void) = startup;
 void (*tet_cleanup)(void) = cleanup;
 
-static void utc_UIFW_elm_datefield_time_mode_get_func_01(void);
-static void utc_UIFW_elm_datefield_time_mode_get_func_02(void);
+static void utc_UIFW_elm_datefield_item_value_set_func_01(void);
+static void utc_UIFW_elm_datefield_item_value_set_func_02(void);
 
 enum {
        POSITIVE_TC_IDX = 0x01,
@@ -45,9 +45,9 @@ enum {
 };
 
 struct tet_testlist tet_testlist[] = {
-       { utc_UIFW_elm_datefield_time_mode_get_func_01, POSITIVE_TC_IDX },
-       { utc_UIFW_elm_datefield_time_mode_get_func_02, NEGATIVE_TC_IDX },
-    { NULL, 0 }
+       { utc_UIFW_elm_datefield_item_value_set_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_value_set_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
 };
 
 static void startup(void)
@@ -60,59 +60,48 @@ static void startup(void)
 
 static void cleanup(void)
 {
-       if ( NULL != datefield ) {
+       if ( NULL != datefield) {
                evas_object_del(datefield);
                datefield = NULL;
        }
        if ( NULL != main_win ) {
                evas_object_del(main_win);
-               main_win = NULL;
+               main_win = NULL;
        }
        elm_shutdown();
        tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
 }
 
 /**
- * @brief Positive test case of elm_datefield_time_mode_get()
+ * @brief Positive test case of elm_datefield_item_value_set()
  */
-static void utc_UIFW_elm_datefield_time_mode_get_func_01(void)
+static void utc_UIFW_elm_datefield_item_value_set_func_01(void)
 {
-       Eina_Bool mode = EINA_FALSE;
+       int year;
 
        datefield = elm_datefield_add(main_win);
-       mode = elm_datefield_time_mode_get(datefield);
+       elm_datefield_item_value_set(datefield, ELM_DATEFIELD_YEAR, 111);
+       year = elm_datefield_item_value_get(datefield, ELM_DATEFIELD_YEAR);
 
-       if (mode != EINA_TRUE) {
-               tet_infoline("elm_datefield_time_mode_get() failed in positive test case");
+       if (!(year == 111)) {
+               tet_infoline("elm_datefield_item_value_set() failed in positive test case");
                tet_result(TET_FAIL);
                return;
        }
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
 }
 
 /**
- * @brief Negative test case of ug_init elm_datefield_time_mode_get()
+ * @brief Negative test case of ug_init elm_datefield_item_value_set()
  */
-static void utc_UIFW_elm_datefield_time_mode_get_func_02(void)
+static void utc_UIFW_elm_datefield_item_value_set_func_02(void)
 {
-       Eina_Bool mode = EINA_FALSE;
-
        datefield = elm_datefield_add(main_win);
-       mode = elm_datefield_time_mode_get(NULL);
-
-       /*if () {
-               tet_infoline("elm_datefield_time_mode_get() failed in negative test case");
-               tet_result(TET_FAIL);
-               return;
-       }*/
+       elm_datefield_item_value_set(NULL, ELM_DATEFIELD_YEAR, 111);
 
-       evas_object_resize(datefield, 480, 80);
-       evas_object_move(datefield, 0, 40);
        evas_object_show(datefield);
 
        tet_result(TET_PASS);
diff --git a/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_value_set_func.c b/TC/elm_ts/datefield/utc_UIFW_elm_datefield_item_value_set_func.c
new file mode 100644 (file)
index 0000000..acfa868
--- /dev/null
@@ -0,0 +1,108 @@
+#include <tet_api.h>
+#include <Elementary.h>
+
+// Definitions
+// For checking the result of the positive test case.
+#define TET_CHECK_PASS(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err == (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+// For checking the result of the negative test case.
+#define TET_CHECK_FAIL(x1, y...) \
+{ \
+       Evas_Object *err = y; \
+       if (err != (x1)) \
+               { \
+                       tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
+                       tet_result(TET_FAIL); \
+                       return; \
+               } \
+}
+
+
+static Evas_Object *main_win;
+static Evas_Object *datefield;
+
+static void startup(void);
+static void cleanup(void);
+
+void (*tet_startup)(void) = startup;
+void (*tet_cleanup)(void) = cleanup;
+
+static void utc_UIFW_elm_datefield_item_value_set_func_01(void);
+static void utc_UIFW_elm_datefield_item_value_set_func_02(void);
+
+enum {
+       POSITIVE_TC_IDX = 0x01,
+       NEGATIVE_TC_IDX,
+};
+
+struct tet_testlist tet_testlist[] = {
+       { utc_UIFW_elm_datefield_item_value_set_func_01, POSITIVE_TC_IDX },
+       { utc_UIFW_elm_datefield_item_value_set_func_02, NEGATIVE_TC_IDX },
+       { NULL, 0 }
+};
+
+static void startup(void)
+{
+       tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
+       elm_init(0, NULL);
+       main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
+       evas_object_show(main_win);
+}
+
+static void cleanup(void)
+{
+       if ( NULL != datefield) {
+               evas_object_del(datefield);
+               datefield = NULL;
+       }
+       if ( NULL != main_win ) {
+               evas_object_del(main_win);
+               main_win = NULL;
+       }
+       elm_shutdown();
+       tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
+}
+
+/**
+ * @brief Positive test case of elm_datefield_item_value_set()
+ */
+static void utc_UIFW_elm_datefield_item_value_set_func_01(void)
+{
+       int year;
+
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_value_set(datefield, ELM_DATEFIELD_YEAR, 111);
+       year = elm_datefield_item_value_get(datefield, ELM_DATEFIELD_YEAR);
+
+       if (!(year == 111)) {
+               tet_infoline("elm_datefield_item_value_set() failed in positive test case");
+               tet_result(TET_FAIL);
+               return;
+       }
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
+
+/**
+ * @brief Negative test case of ug_init elm_datefield_item_value_set()
+ */
+static void utc_UIFW_elm_datefield_item_value_set_func_02(void)
+{
+       datefield = elm_datefield_add(main_win);
+       elm_datefield_item_value_set(NULL, ELM_DATEFIELD_YEAR, 111);
+
+       evas_object_show(datefield);
+
+       tet_result(TET_PASS);
+}
index eb99ae3..8aa95fa 100644 (file)
@@ -12,6 +12,7 @@ group "Elm_Config" struct {
   value "bring_in_scroll_friction" double: 0.5;
   value "zoom_friction" double: 0.5;
   value "thumbscroll_border_friction" double: 0.5;
+  value "thumbscroll_sensitivity_friction" double: 0.25;
   value "scale" double: 1.0;
   value "bgpixmap" int: 0;
   value "compositing" int: 1;
index 4c44144..767f597 100644 (file)
@@ -12,6 +12,7 @@ group "Elm_Config" struct {
   value "bring_in_scroll_friction" double: 0.5;
   value "zoom_friction" double: 0.5;
   value "thumbscroll_border_friction" double: 0.5;
+  value "thumbscroll_sensitivity_friction" double: 0.25;
   value "scroll_smooth_time_interval" double: 0.008;
   value "scroll_smooth_amount" double: 1.0;
   value "scroll_smooth_history_weight" double: 0.3;
index e500d26..a6f4d53 100644 (file)
@@ -12,6 +12,7 @@ group "Elm_Config" struct {
   value "bring_in_scroll_friction" double: 0.5;
   value "zoom_friction" double: 0.5;
   value "thumbscroll_border_friction" double: 0.5;
+  value "thumbscroll_sensitivity_friction" double: 1.0;
   value "scroll_smooth_amount" double: 0.0;
   value "scroll_smooth_history_weight" double: 0.3;
   value "scroll_smooth_future_time" double: 0.0;
index f0e8565..47f729d 100644 (file)
@@ -12,6 +12,7 @@ group "Elm_Config" struct {
   value "bring_in_scroll_friction" double: 0.5;
   value "zoom_friction" double: 0.5;
   value "thumbscroll_border_friction" double: 0.5;
+  value "thumbscroll_sensitivity_friction" double: 0.25;
   value "scroll_smooth_amount" double: 0.0;
   value "scroll_smooth_history_weight" double: 0.3;
   value "scroll_smooth_future_time" double: 0.0;
index ae66545..c07e1ec 100644 (file)
@@ -1,3 +1,15 @@
+elementary (1.0.0+svn.61256slp2+build53) unstable; urgency=low
+
+  * Package Uplaod.
+  * Important Changes
+       [Scroller] merge from upstream revision 64051, but didn't accept data/theme/widgets/ctxpopup.edc
+       [Genlist] Fixed show hook event of smart scroller position received by entry was focused and smart pan resized
+       [Genlist] Revert "[genlist] Added dragging queue for unrealize items that dragging option set by mouse move event"
+  * Git: 165.213.180.234:slp/pkgs/e/elementary
+  * Tag: elementary_1.0.0+svn.61256slp2+build53
+
+ -- Daniel Juyung Seo <juyung.seo@samsung.com>  Mon, 17 Oct 2011 19:35:43 +0900
+
 elementary (1.0.0+svn.61256slp2+build52) unstable; urgency=low
 
   * Package Upload.
index 5a500df..a88cc64 100644 (file)
@@ -362,6 +362,30 @@ tsbf_change(void *data       __UNUSED__,
 }
 
 static void
+tssf_round(void *data       __UNUSED__,
+           Evas_Object     *obj,
+           void *event_info __UNUSED__)
+{
+   double val = elm_slider_value_get(obj);
+   double v;
+
+   v = ((double)((int)(val * 20.0))) / 20.0;
+   if (v != val) elm_slider_value_set(obj, v);
+}
+
+static void
+tssf_change(void *data       __UNUSED__,
+            Evas_Object     *obj,
+            void *event_info __UNUSED__)
+{
+   double tssf = elm_scroll_thumbscroll_sensitivity_friction_get();
+   double val = elm_slider_value_get(obj);
+
+   if (tssf == val) return;
+   elm_scroll_thumbscroll_sensitivity_friction_all_set(val);
+}
+
+static void
 cf_enable(void *data,
           Evas_Object     *obj,
           void *event_info __UNUSED__)
@@ -864,7 +888,7 @@ _profile_change_do(Evas_Object *win,
 {
    int flush_interval, font_c, image_c, edje_file_c, edje_col_c, ts_threshould;
    double scale, s_bounce_friction, ts_momentum_threshold, ts_friction,
-          ts_border_friction, page_friction, bring_in_friction, zoom_friction;
+          ts_border_friction, ts_sensitivity_friction, page_friction, bring_in_friction, zoom_friction;
    const char *curr_theme, *curr_engine;
    const Eina_List *l_items, *l;
    Eina_Bool s_bounce, ts;
@@ -889,6 +913,7 @@ _profile_change_do(Evas_Object *win,
    ts_momentum_threshold = elm_scroll_thumbscroll_momentum_threshold_get();
    ts_friction = elm_scroll_thumbscroll_friction_get();
    ts_border_friction = elm_scroll_thumbscroll_border_friction_get();
+   ts_sensitivity_friction = elm_scroll_thumbscroll_sensitivity_friction_get();
    page_friction = elm_scroll_page_scroll_friction_get();
    bring_in_friction = elm_scroll_bring_in_scroll_friction_get();
    zoom_friction = elm_scroll_zoom_friction_get();
@@ -940,6 +965,9 @@ _profile_change_do(Evas_Object *win,
    elm_scroll_thumbscroll_border_friction_all_set(ts_border_friction);
    elm_slider_value_set(evas_object_data_get(win, "ts_border_friction_slider"),
                         ts_border_friction);
+   elm_scroll_thumbscroll_sensitivity_friction_all_set(ts_sensitivity_friction);
+   elm_slider_value_set(evas_object_data_get(win, "ts_sensitivity_friction_slider"),
+                        ts_sensitivity_friction);
    elm_scroll_page_scroll_friction_all_set(page_friction);
    elm_slider_value_set(evas_object_data_get(win,
                                              "page_scroll_friction_slider"),
@@ -2502,6 +2530,26 @@ _status_config_scrolling(Evas_Object *win,
    evas_object_smart_callback_add(sl, "changed", tsbf_round, NULL);
    evas_object_smart_callback_add(sl, "delay,changed", tsbf_change, NULL);
 
+   LABEL_FRAME_ADD("<hilight>Thumb scroll sensitivity friction</>");
+
+   sl = elm_slider_add(win);
+   elm_object_tooltip_text_set(sl, "This is the sensitivity amount which<br>"
+                                   "is be multiplied by the length of mouse<br>"
+                                   "dragging.");
+   evas_object_data_set(win, "ts_sensitivity_friction_slider", sl);
+   evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
+   elm_slider_span_size_set(sl, 120);
+   elm_slider_unit_format_set(sl, "%1.2f");
+   elm_slider_indicator_format_set(sl, "%1.2f");
+   elm_slider_min_max_set(sl, 0.1, 1.0);
+   elm_slider_value_set(sl, elm_scroll_thumbscroll_sensitivity_friction_get());
+   elm_box_pack_end(bx, sl);
+   evas_object_show(sl);
+
+   evas_object_smart_callback_add(sl, "changed", tssf_round, NULL);
+   evas_object_smart_callback_add(sl, "delay,changed", tssf_change, NULL);
+
    sp = elm_separator_add(win);
    elm_separator_horizontal_set(sp, EINA_TRUE);
    evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, 0.0);
index c3321cf..68b96eb 100644 (file)
@@ -1393,6 +1393,50 @@ extern "C" {
    EAPI void             elm_scroll_thumbscroll_border_friction_set(double friction);
    EAPI void             elm_scroll_thumbscroll_border_friction_all_set(double friction);
 
+   /**
+    * Get the sensitivity amount which is be multiplied by the length of
+    * mouse dragging.
+    *
+    * @return the thumb scroll sensitivity friction
+    *
+    * @ingroup Scrolling
+    */
+   EAPI double           elm_scroll_thumbscroll_sensitivity_friction_get(void);
+
+   /**
+    * Set the sensitivity amount which is be multiplied by the length of
+    * mouse dragging.
+    *
+    * @param friction the thumb scroll sensitivity friction. @c 0.1 for
+    *        minimun sensitivity, @c 1.0 for maximum sensitivity. 0.25
+    *        is proper.
+    *
+    * @see elm_thumbscroll_sensitivity_friction_get()
+    * @note parameter value will get bound to 0.1 - 1.0 interval, always
+    *
+    * @ingroup Scrolling
+    */
+   EAPI void             elm_scroll_thumbscroll_sensitivity_friction_set(double friction);
+
+   /**
+    * Set the sensitivity amount which is be multiplied by the length of
+    * mouse dragging, for all Elementary application windows.
+    *
+    * @param friction the thumb scroll sensitivity friction. @c 0.1 for
+    *        minimun sensitivity, @c 1.0 for maximum sensitivity. 0.25
+    *        is proper.
+    *
+    * @see elm_thumbscroll_sensitivity_friction_get()
+    * @note parameter value will get bound to 0.1 - 1.0 interval, always
+    *
+    * @ingroup Scrolling
+    */
+   EAPI void             elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction);
+
+   /**
+    * @}
+    */
+
    EAPI void             elm_object_scroll_hold_push(Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI void             elm_object_scroll_hold_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI void             elm_object_scroll_freeze_push(Evas_Object *obj) EINA_ARG_NONNULL(1);
@@ -2932,6 +2976,8 @@ extern "C" {
    EAPI void         elm_scroller_region_bring_in(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
    EAPI void         elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation);
    EAPI Eina_Bool    elm_scroller_propagate_events_get(const Evas_Object *obj);
+   EAPI void         elm_scroller_gravity_set(Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_gravity_get(const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
    EINA_DEPRECATED EAPI void         elm_scroller_page_move_set(Evas_Object *obj, Eina_Bool set);
    /* smart callbacks called:
     * "edge,left" - the left edge of the content has been reached
index ad0c40e..5be6505 100644 (file)
@@ -8,7 +8,7 @@ typedef struct _Elm_Naviframe_Text_Item_Pair Elm_Naviframe_Text_Item_Pair;
 
 struct _Widget_Data
 {
-   Eina_List    *stack;
+   Eina_Inlist  *stack;
    Evas_Object  *base;
    Evas_Object  *rect;
    Eina_Bool     preserve: 1;
@@ -18,6 +18,7 @@ struct _Widget_Data
 
 struct _Elm_Naviframe_Content_Item_Pair
 {
+   EINA_INLIST;
    const char *part;
    Evas_Object *content;
    Elm_Naviframe_Item *it;
@@ -25,6 +26,7 @@ struct _Elm_Naviframe_Content_Item_Pair
 
 struct _Elm_Naviframe_Text_Item_Pair
 {
+   EINA_INLIST;
    const char *part;
    const char *text;
 };
@@ -32,8 +34,9 @@ struct _Elm_Naviframe_Text_Item_Pair
 struct _Elm_Naviframe_Item
 {
    Elm_Widget_Item    base;
-   Eina_List         *content_list;
-   Eina_List         *text_list;
+   EINA_INLIST;
+   Eina_Inlist       *content_list;
+   Eina_Inlist       *text_list;
    Evas_Object       *content;
    Evas_Object       *title_prev_btn;
    Evas_Object       *title_next_btn;
@@ -75,6 +78,7 @@ static Evas_Object *_item_content_unset_hook(Elm_Object_Item *it,
 static void _item_signal_emit_hook(Elm_Object_Item *it,
                                    const char *emission,
                                    const char *source);
+static void _item_title_visible_update(Elm_Naviframe_Item *navi_it);
 static void _sizing_eval(Evas_Object *obj);
 static void _item_sizing_eval(Elm_Naviframe_Item *it);
 static void _move(void *data, Evas *e, Evas_Object *obj, void *event_info);
@@ -134,24 +138,42 @@ static void
 _del_hook(Evas_Object *obj)
 {
    Widget_Data *wd;
-   Eina_List *list;
    Elm_Naviframe_Item *it;
 
    wd = elm_widget_data_get(obj);
    if (!wd) return;
 
-   EINA_LIST_REVERSE_FOREACH(wd->stack, list, it)
+   EINA_INLIST_REVERSE_FOREACH(wd->stack, it)
      _item_del(it);
-   eina_list_free(wd->stack);
    free(wd);
 }
 
 static void
 _theme_hook(Evas_Object *obj)
 {
-   //FIXME:
+   Widget_Data *wd;
+   Elm_Naviframe_Item *it;
+
+   wd  = elm_widget_data_get(obj);
+   if (!wd) return;
+
+   _elm_theme_object_set(obj,
+                         wd->base,
+                         "naviframe",
+                         "base",
+                         elm_widget_style_get(obj));
+
+   EINA_INLIST_FOREACH(wd->stack, it)
+     {
+        elm_naviframe_item_style_set(ELM_CAST(it), it->style);
+        _item_title_visible_update(it);
+     }
+
    _elm_widget_mirrored_reload(obj);
    _mirrored_set(obj, elm_widget_mirrored_get(obj));
+
+   evas_object_hide(wd->rect);
+
 }
 
 static void _emit_hook(Evas_Object *obj,
@@ -176,13 +198,12 @@ static void
 _mirrored_set(Evas_Object *obj, Eina_Bool rtl)
 {
    Widget_Data *wd;
-   Eina_List *l;
    Elm_Naviframe_Item *it;
 
    wd  = elm_widget_data_get(obj);
    if (!wd) return;
 
-   EINA_LIST_FOREACH(wd->stack, l, it)
+   EINA_INLIST_FOREACH(wd->stack, it)
      edje_object_mirrored_set(it->base.view, rtl);
    edje_object_mirrored_set(wd->base, rtl);
 }
@@ -194,7 +215,6 @@ _item_text_set_hook(Elm_Object_Item *it,
 {
    ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
 
-   Eina_List *l = NULL;
    Elm_Naviframe_Text_Item_Pair *pair = NULL;
    Elm_Naviframe_Item *navi_it = ELM_CAST(it);
    char buf[1024];
@@ -204,7 +224,7 @@ _item_text_set_hook(Elm_Object_Item *it,
    else
      snprintf(buf, sizeof(buf), "%s", part);
 
-   EINA_LIST_FOREACH(navi_it->text_list, l, pair)
+   EINA_INLIST_FOREACH(navi_it->text_list, pair)
      if (!strcmp(buf, pair->part)) break;
 
    if (!pair)
@@ -217,7 +237,8 @@ _item_text_set_hook(Elm_Object_Item *it,
              return;
           }
         eina_stringshare_replace(&pair->part, buf);
-        navi_it->text_list = eina_list_append(navi_it->text_list, pair);
+        navi_it->text_list = eina_inlist_append(navi_it->text_list,
+                                                EINA_INLIST_GET(pair));
      }
 
    eina_stringshare_replace(&pair->text, label);
@@ -241,7 +262,6 @@ static const char *
 _item_text_get_hook(const Elm_Object_Item *it, const char *part)
 {
    ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
-   Eina_List *l = NULL;
    Elm_Naviframe_Text_Item_Pair *pair = NULL;
    Elm_Naviframe_Item *navi_it = ELM_CAST(it);
    char buf[1024];
@@ -251,7 +271,7 @@ _item_text_get_hook(const Elm_Object_Item *it, const char *part)
    else
      snprintf(buf, sizeof(buf), "%s", part);
 
-   EINA_LIST_FOREACH(navi_it->text_list, l, pair)
+   EINA_INLIST_FOREACH(navi_it->text_list, pair)
      {
         if (!strcmp(buf, pair->part))
           return pair->text;
@@ -294,7 +314,6 @@ static Evas_Object *
 _item_content_get_hook(const Elm_Object_Item *it, const char *part)
 {
    ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
-   Eina_List *l = NULL;
    Elm_Naviframe_Content_Item_Pair *pair = NULL;
    Elm_Naviframe_Item *navi_it = ELM_CAST(it);
 
@@ -307,7 +326,7 @@ _item_content_get_hook(const Elm_Object_Item *it, const char *part)
      return navi_it->title_next_btn;
 
    //common parts
-   EINA_LIST_FOREACH(navi_it->content_list, l, pair)
+   EINA_INLIST_FOREACH(navi_it->content_list, pair)
      {
         if (!strcmp(part, pair->part))
           return pair->content;
@@ -319,7 +338,6 @@ static Evas_Object *
 _item_content_unset_hook(Elm_Object_Item *it, const char *part)
 {
    ELM_OBJ_ITEM_CHECK_OR_RETURN(it, NULL);
-   Eina_List *l = NULL;
    Elm_Naviframe_Content_Item_Pair *pair = NULL;
    Elm_Naviframe_Item *navi_it = ELM_CAST(it);
    Evas_Object *content = NULL;
@@ -338,14 +356,14 @@ _item_content_unset_hook(Elm_Object_Item *it, const char *part)
      }
 
    //common parts
-   EINA_LIST_FOREACH(navi_it->content_list, l, pair)
+   EINA_INLIST_FOREACH(navi_it->content_list, pair)
      {
         if (!strcmp(part, pair->part))
           {
              content = pair->content;
              eina_stringshare_del(pair->part);
-             navi_it->content_list = eina_list_remove(navi_it->content_list,
-                                                      pair);
+             navi_it->content_list = eina_inlist_remove(navi_it->content_list,
+                                                        EINA_INLIST_GET(pair));
              free(pair);
              break;
           }
@@ -376,18 +394,23 @@ _item_signal_emit_hook(Elm_Object_Item *it,
 }
 
 static void
+_item_title_visible_update(Elm_Naviframe_Item *navi_it)
+{
+   if (navi_it->title_visible)
+     edje_object_signal_emit(navi_it->base.view, "elm,state,title,show", "elm");
+   else
+     edje_object_signal_emit(navi_it->base.view, "elm,state,title,hide", "elm");
+}
+
+static void
 _sizing_eval(Evas_Object *obj)
 {
    Widget_Data *wd;
-   Eina_List *list;
    Elm_Naviframe_Item *it;
    wd  = elm_widget_data_get(obj);
    if (!wd) return;
 
-   list = eina_list_last(wd->stack);
-   if (!list) return;
-
-   EINA_LIST_FOREACH(wd->stack, list, it)
+   EINA_INLIST_FOREACH(wd->stack, it)
      _item_sizing_eval(it);
 }
 
@@ -492,7 +515,8 @@ _title_content_del(void *data,
    Elm_Naviframe_Item *it = pair->it;
    snprintf(buf, sizeof(buf), "elm,state,%s,hide", pair->part);
    edje_object_signal_emit(it->base.view, buf, "elm");
-   it->content_list = eina_list_remove(it->content_list, pair);
+   it->content_list = eina_inlist_remove(it->content_list,
+                                         EINA_INLIST_GET(pair));
    eina_stringshare_del(pair->part);
    free(pair);
 }
@@ -537,10 +561,9 @@ _title_content_set(Elm_Naviframe_Item *it,
                    const char *part,
                    Evas_Object *content)
 {
-   Eina_List *l = NULL;
    char buf[1024];
 
-   EINA_LIST_FOREACH(it->content_list, l, pair)
+   EINA_INLIST_FOREACH(it->content_list, pair)
      if (!strcmp(part, pair->part)) break;
 
    if (!pair)
@@ -553,7 +576,8 @@ _title_content_set(Elm_Naviframe_Item *it,
           }
         pair->it = it;
         eina_stringshare_replace(&pair->part, part);
-        it->content_list = eina_list_append(it->content_list, pair);
+        it->content_list = eina_inlist_append(it->content_list,
+                                              EINA_INLIST_GET(pair));
      }
 
    if ((pair->content) && (pair->content != content))
@@ -649,7 +673,6 @@ static void
 _item_del(Elm_Naviframe_Item *it)
 {
    Widget_Data *wd;
-   Eina_List *l;
    Elm_Naviframe_Content_Item_Pair *content_pair;
    Elm_Naviframe_Text_Item_Pair *text_pair;
 
@@ -665,25 +688,29 @@ _item_del(Elm_Naviframe_Item *it)
    if ((it->content) && (!wd->preserve))
      evas_object_del(it->content);
 
-   EINA_LIST_FOREACH(it->content_list, l, content_pair)
+   EINA_INLIST_REVERSE_FOREACH(it->content_list, content_pair)
      {
-        evas_object_event_callback_del(content_pair->content, EVAS_CALLBACK_DEL, _title_content_del);
+        evas_object_event_callback_del(content_pair->content,
+                                       EVAS_CALLBACK_DEL,
+                                       _title_content_del);
         evas_object_del(content_pair->content);
         eina_stringshare_del(content_pair->part);
+        it->content_list =
+           eina_inlist_remove(it->content_list,
+                              EINA_INLIST_GET(content_pair));
         free(content_pair);
      }
 
-   EINA_LIST_FOREACH(it->text_list, l, text_pair)
+   EINA_INLIST_REVERSE_FOREACH(it->text_list, text_pair)
      {
         eina_stringshare_del(text_pair->part);
         eina_stringshare_del(text_pair->text);
+        it->text_list = eina_inlist_remove(it->text_list,
+                                           EINA_INLIST_GET(text_pair));
         free(text_pair);
      }
 
-   eina_list_free(it->content_list);
-   eina_list_free(it->text_list);
-
-   wd->stack = eina_list_remove(wd->stack, it);
+   wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET(it));
 
    elm_widget_item_del(it);
 }
@@ -854,7 +881,7 @@ elm_naviframe_item_push(Evas_Object *obj,
    _item_text_set_hook(ELM_CAST(it), "elm.text.title", title_label);
 
    //title buttons
-   if ((!prev_btn) && wd->auto_pushed && eina_list_count(wd->stack))
+   if ((!prev_btn) && wd->auto_pushed && eina_inlist_count(wd->stack))
      {
         prev_btn = _back_btn_new(obj);
         _title_prev_btn_set(it, prev_btn, EINA_TRUE);
@@ -886,7 +913,7 @@ elm_naviframe_item_push(Evas_Object *obj,
                                 "elm");
      }
    it->title_visible = EINA_TRUE;
-   wd->stack = eina_list_append(wd->stack, it);
+   wd->stack = eina_inlist_append(wd->stack, EINA_INLIST_GET(it));
    return ELM_CAST(it);
 }
 
@@ -894,7 +921,7 @@ EAPI Evas_Object *
 elm_naviframe_item_pop(Evas_Object *obj)
 {
    ELM_CHECK_WIDTYPE(obj, widtype) NULL;
-   Elm_Naviframe_Item *it, *prev_it;
+   Elm_Naviframe_Item *it, *prev_it = NULL;
    Widget_Data *wd;
    Evas_Object *content = NULL;
 
@@ -903,12 +930,12 @@ elm_naviframe_item_pop(Evas_Object *obj)
 
    it = ELM_CAST(elm_naviframe_top_item_get(obj));
    if (!it) return NULL;
-   wd->stack = eina_list_remove(wd->stack, it);
-
    if (wd->preserve)
      content = it->content;
 
-   prev_it = ELM_CAST(elm_naviframe_top_item_get(obj));
+   if (wd->stack->last->prev)
+     prev_it = EINA_INLIST_CONTAINER_GET(wd->stack->last->prev,
+                                         Elm_Naviframe_Item);
    if (prev_it)
      {
         if (wd->freeze_events)
@@ -936,17 +963,18 @@ elm_naviframe_item_pop_to(Elm_Object_Item *it)
    ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
    Elm_Naviframe_Item *navi_it = ELM_CAST(it);
    Widget_Data *wd = elm_widget_data_get(navi_it->base.widget);
-   Eina_List *l, *prev_l;
+   Eina_Inlist *l, *prev_l;
 
    if (it == elm_naviframe_top_item_get(navi_it->base.widget)) return;
 
-   l = eina_list_last(wd->stack)->prev;
+   l = wd->stack->last->prev;
 
    while(l)
      {
-        if (l->data == it) break;
+        if (ELM_CAST(EINA_INLIST_CONTAINER_GET(l, Elm_Naviframe_Item)) == it)
+          break;
         prev_l = l->prev;
-        _item_del(l->data);
+        _item_del(EINA_INLIST_CONTAINER_GET(l, Elm_Naviframe_Item));
         l = prev_l;
      }
    elm_naviframe_item_pop(navi_it->base.widget);
@@ -961,7 +989,7 @@ elm_naviframe_item_del(Elm_Object_Item *it)
    if (it == elm_naviframe_top_item_get(navi_it->base.widget))
      {
         _item_del(navi_it);
-        navi_it = ELM_CAST(eina_list_last(wd->stack)->data);
+        navi_it = ELM_CAST(EINA_INLIST_CONTAINER_GET(wd->stack->last, Elm_Naviframe_Item));
         evas_object_show(navi_it->base.view);
         evas_object_raise(navi_it->base.view);
         edje_object_signal_emit(navi_it->base.view, "elm,state,visible", "elm");
@@ -994,7 +1022,8 @@ elm_naviframe_top_item_get(const Evas_Object *obj)
    ELM_CHECK_WIDTYPE(obj, widtype) NULL;
    Widget_Data *wd = elm_widget_data_get(obj);
    if ((!wd) || (!wd->stack)) return NULL;
-   return eina_list_last(wd->stack)->data;
+   return ELM_CAST(EINA_INLIST_CONTAINER_GET(wd->stack->last,
+                                             Elm_Naviframe_Item));
 }
 
 EAPI Elm_Object_Item*
@@ -1003,7 +1032,8 @@ elm_naviframe_bottom_item_get(const Evas_Object *obj)
    ELM_CHECK_WIDTYPE(obj, widtype) NULL;
    Widget_Data *wd = elm_widget_data_get(obj);
    if ((!wd) || (!wd->stack)) return NULL;
-   return wd->stack->data;
+   return ELM_CAST(EINA_INLIST_CONTAINER_GET(wd->stack,
+                                             Elm_Naviframe_Item));
 }
 
 EAPI void
@@ -1011,7 +1041,6 @@ elm_naviframe_item_style_set(Elm_Object_Item *it, const char *item_style)
 {
    ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
    Elm_Naviframe_Item *navi_it = ELM_CAST(it);
-   Eina_List *l;
    Elm_Naviframe_Content_Item_Pair *content_pair;
    Elm_Naviframe_Text_Item_Pair *text_pair;
    Widget_Data *wd;
@@ -1031,10 +1060,10 @@ elm_naviframe_item_style_set(Elm_Object_Item *it, const char *item_style)
                          buf,
                          elm_widget_style_get(navi_it->base.widget));
    //recover item
-   EINA_LIST_FOREACH(navi_it->text_list, l, text_pair)
+   EINA_INLIST_FOREACH(navi_it->text_list, text_pair)
      _item_text_set_hook(it, text_pair->part, text_pair->text);
 
-   EINA_LIST_FOREACH(navi_it->content_list, l, content_pair)
+   EINA_INLIST_FOREACH(navi_it->content_list, content_pair)
      _item_content_set_hook(it, content_pair->part, content_pair->content);
 
    //content
@@ -1089,12 +1118,8 @@ elm_naviframe_item_title_visible_set(Elm_Object_Item *it, Eina_Bool visible)
    visible = !!visible;
    if (navi_it->title_visible == visible) return;
 
-   if (visible)
-     edje_object_signal_emit(navi_it->base.view, "elm,state,title,show", "elm");
-   else
-     edje_object_signal_emit(navi_it->base.view, "elm,state,title,hide", "elm");
-
    navi_it->title_visible = visible;
+   _item_title_visible_update(navi_it);
 }
 
 EAPI Eina_Bool
index a9fb6a1..033c30e 100644 (file)
@@ -74,7 +74,7 @@ static size_t _elm_user_dir_snprintf(char       *dst,
 #ifdef HAVE_ELEMENTARY_X
 static Ecore_Event_Handler *_prop_change_handler = NULL;
 static Ecore_X_Window _root_1st = 0;
-#define ATOM_COUNT 22
+#define ATOM_COUNT 23
 static Ecore_X_Atom _atom[ATOM_COUNT];
 static Ecore_X_Atom _atom_config = 0;
 static const char *_atom_names[ATOM_COUNT] =
@@ -97,6 +97,7 @@ static const char *_atom_names[ATOM_COUNT] =
    "ENLIGHTENMENT_THUMBSCROLL_MOMENTUM_THRESHOLD",
    "ENLIGHTENMENT_THUMBSCROLL_FRICTION",
    "ENLIGHTENMENT_THUMBSCROLL_BORDER_FRICTION",
+   "ENLIGHTENMENT_THUMBSCROLL_SENSITIVITY_FRICTION",
    "ENLIGHTENMENT_THUMBSCROLL_PAGE_SCROLL_FRICTION",
    "ENLIGHTENMENT_THUMBSCROLL_BRING_IN_SCROLL_FRICTION",
    "ENLIGHTENMENT_THUMBSCROLL_ZOOM_FRICTION",
@@ -120,10 +121,11 @@ static const char *_atom_names[ATOM_COUNT] =
 #define ATOM_E_THUMBSCROLL_MOMENTUM_THRESHOLD       15
 #define ATOM_E_THUMBSCROLL_FRICTION                 16
 #define ATOM_E_THUMBSCROLL_BORDER_FRICTION          17
-#define ATOM_E_THUMBSCROLL_PAGE_SCROLL_FRICTION     18
-#define ATOM_E_THUMBSCROLL_BRING_IN_SCROLL_FRICTION 19
-#define ATOM_E_THUMBSCROLL_ZOOM_FRICTION            20
-#define ATOM_E_CONFIG                               21
+#define ATOM_E_THUMBSCROLL_SENSITIVITY_FRICTION     18
+#define ATOM_E_THUMBSCROLL_PAGE_SCROLL_FRICTION     19
+#define ATOM_E_THUMBSCROLL_BRING_IN_SCROLL_FRICTION 20
+#define ATOM_E_THUMBSCROLL_ZOOM_FRICTION            21
+#define ATOM_E_CONFIG                               22
 
 static Eina_Bool _prop_config_get(void);
 static Eina_Bool _prop_change(void *data  __UNUSED__,
@@ -464,6 +466,18 @@ _prop_change(void *data  __UNUSED__,
                      (double)val / 1000.0;
                }
           }
+        else if (event->atom == _atom[ATOM_E_THUMBSCROLL_SENSITIVITY_FRICTION])
+          {
+             unsigned int val = 1000;
+
+             if (ecore_x_window_prop_card32_get(event->win,
+                                                event->atom,
+                                                &val, 1) > 0)
+               {
+                  _elm_config->thumbscroll_sensitivity_friction =
+                     (double)val / 1000.0;
+               }
+          }
         else if (event->atom == _atom[ATOM_E_THUMBSCROLL_PAGE_SCROLL_FRICTION])
           {
              unsigned int val = 1000;
@@ -564,6 +578,7 @@ _desc_init(void)
    ELM_CONFIG_VAL(D, T, thumbscroll_friction, T_DOUBLE);
    ELM_CONFIG_VAL(D, T, thumbscroll_bounce_friction, T_DOUBLE);
    ELM_CONFIG_VAL(D, T, thumbscroll_border_friction, T_DOUBLE);
+   ELM_CONFIG_VAL(D, T, thumbscroll_sensitivity_friction, T_DOUBLE);
    ELM_CONFIG_VAL(D, T, page_scroll_friction, T_DOUBLE);
    ELM_CONFIG_VAL(D, T, bring_in_scroll_friction, T_DOUBLE);
    ELM_CONFIG_VAL(D, T, zoom_friction, T_DOUBLE);
@@ -1126,6 +1141,7 @@ _config_load(void)
    _elm_config->bring_in_scroll_friction = 0.5;
    _elm_config->zoom_friction = 0.5;
    _elm_config->thumbscroll_border_friction = 0.5;
+   _elm_config->thumbscroll_sensitivity_friction = 0.25; // magic number! just trial and error shows this makes it behave "nicer" and not run off at high speed all the time
    _elm_config->scroll_smooth_time_interval = 0.008;
    _elm_config->scroll_smooth_amount = 1.0;
    _elm_config->scroll_smooth_history_weight = 0.3;
@@ -1483,6 +1499,18 @@ _env_get(void)
 
         _elm_config->thumbscroll_border_friction = friction;
      }
+   s = getenv("ELM_THUMBSCROLL_SENSITIVITY_FRICTION");
+   if (s)
+     {
+        friction = atof(s);
+        if (friction < 0.1)
+          friction = 0.1;
+
+        if (friction > 1.0)
+          friction = 1.0;
+
+        _elm_config->thumbscroll_sensitivity_friction = friction;
+     }
    s = getenv("ELM_SCROLL_SMOOTH_TIME_INTERVAL");
    if (s) _elm_config->scroll_smooth_time_interval = atof(s);
    s = getenv("ELM_SCROLL_SMOOTH_AMOUNT");
index e309668..f973501 100644 (file)
@@ -3127,6 +3127,44 @@ elm_scroll_thumbscroll_border_friction_all_set(double friction)
 #endif
 }
 
+EAPI double
+elm_scroll_thumbscroll_sensitivity_friction_get(void)
+{
+   return _elm_config->thumbscroll_sensitivity_friction;
+}
+
+EAPI void
+elm_scroll_thumbscroll_sensitivity_friction_set(double friction)
+{
+   if (friction < 0.1)
+     friction = 0.1;
+
+   if (friction > 1.0)
+     friction = 1.0;
+
+   _elm_config->thumbscroll_friction = friction;
+}
+
+EAPI void
+elm_scroll_thumbscroll_sensitivity_friction_all_set(double friction)
+{
+   if (friction < 0.1)
+     friction = 0.1;
+
+   if (friction > 1.0)
+     friction = 1.0;
+
+#ifdef HAVE_ELEMENTARY_X
+   static Ecore_X_Atom atom = 0;
+   unsigned int sensitivity_friction_i = (unsigned int)(friction * 1000.0);
+
+   if (!atom)
+     atom = ecore_x_atom_get("ENLIGHTENMENT_THUMBSCROLL_SENSITIVITY_FRICTION");
+   ecore_x_window_prop_card32_set(ecore_x_window_root_first_get(),
+                                  atom, &sensitivity_friction_i, 1);
+#endif
+}
+
 /**
  * @defgroup Scrollhints Scrollhints
  * @ingroup Main
@@ -3556,4 +3594,4 @@ EAPI void
 elm_object_item_signal_emit(Elm_Object_Item *it, const char *emission, const char *source)
 {
    elm_widget_item_signal_emit(it, emission, source);
-}
\ No newline at end of file
+}
index 7ff273f..43656af 100644 (file)
@@ -37,6 +37,8 @@ void         _elm_smart_pan_get            (Evas_Object *obj, Evas_Coord *x, Eva
 void         _elm_smart_pan_max_get        (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
 void         _elm_smart_pan_min_get        (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
 void         _elm_smart_pan_child_size_get (Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
+void         _elm_smart_pan_gravity_set    (Evas_Object *obj, double x, double y);
+void         _elm_smart_pan_gravity_get    (Evas_Object *obj, double *x, double *y);
 
 // els_scroller.h
 typedef enum _Elm_Smart_Scroller_Policy
@@ -182,6 +184,7 @@ struct _Elm_Config
    double         zoom_friction;
    unsigned char  thumbscroll_bounce_enable;
    double         thumbscroll_border_friction;
+   double         thumbscroll_sensitivity_friction;
    double         scroll_smooth_time_interval;
    double         scroll_smooth_amount;
    double         scroll_smooth_history_weight;
index 1cad5ce..98277ab 100644 (file)
@@ -922,6 +922,54 @@ elm_scroller_propagate_events_get(const Evas_Object *obj)
    return elm_smart_scroller_propagate_events_get(wd->scr);
 }
 
+/**
+ * Set scrolling gravity on a scroller
+ *
+ * It set scrolling gravity. It adds scrolling weight values
+ * to the scroller. Usually it uses for stopping the scroller.
+ * To set y as 0.0 for lower growing child objects,
+ * even though child objects are added to bottom, the scroller doesn't move.
+ * To set y as 1.0 for upper growing child objects. And x is horizontal gravity.
+ * By default 0.0
+ *
+ * @param obj The scroller object
+ * @param x The scrolling horizontal gravity
+ * @param y The scrolling vertical gravity
+ *
+ * @ingroup Scroller
+ */
+EAPI void
+elm_scroller_gravity_set(Evas_Object *obj, double x, double y)
+{
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+   if (!wd) return EINA_FALSE;
+
+   elm_smart_scroller_gravity_set(wd->scr, x, y);
+}
+
+/**
+ * Get scrolling gravity values for a scroller
+ *
+ * This gets gravity values for a scroller. See
+ * elm_scroller_gravity_set() for more information
+ *
+ * @param obj The scroller object
+ * @param x The scrolling horizontal gravity
+ * @param y The scrolling vertical gravity
+ *
+ * @ingroup Scroller
+ */
+EAPI void
+elm_scroller_gravity_get(const Evas_Object *obj, double *x, double *y)
+{
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+   if (!wd) return EINA_FALSE;
+
+   elm_smart_scroller_gravity_get(wd->scr, x, y);
+}
+
 EAPI void
 elm_scroller_page_move_set(Evas_Object *obj, Eina_Bool set)
 {
index f0a5316..d709bcd 100644 (file)
@@ -336,10 +336,11 @@ _icon_move_map(void *data, int interval_x, int interval_y)
 {\r
    Widget_Data *wd = (Widget_Data *)data;\r
    int i = 0;\r
-   int num = eina_list_count(wd->list);\r
+   int num;\r
    int x = 0, y = 0;\r
    if (!wd) return;\r
-   \r
+   num = eina_list_count(wd->list);\r
+\r
    for (i =0; i  < num; i++)\r
      {\r
         Elm_Stackedicon_Item *it = NULL;\r
@@ -526,8 +527,11 @@ _create_fake_image(Evas_Object *obj)
    // add shown icons\r
    EINA_LIST_REVERSE_FOREACH(wd->list, l, it) \r
      {\r
-        if (it->index >= MAX_SHOWN_ITEM) continue;\r
-        if (it) _add_image_to_buffer(obj, e, it);\r
+        if (it)\r
+          {\r
+             if (it->index >= MAX_SHOWN_ITEM) continue;\r
+             _add_image_to_buffer(obj, e, it);\r
+          }\r
      }\r
    ecore_evas_show( ee );\r
 \r
index 3f614c3..ff3cc5c 100644 (file)
@@ -12,6 +12,8 @@ struct _Smart_Data
    Evas_Object *child_obj;
    Evas_Coord   x, y, w, h;
    Evas_Coord   child_w, child_h, px, py;
+   double       gravity_x, gravity_y;
+   Evas_Coord   prev_cw, prev_ch, delta_posx, delta_posy;
 };
 
 /* local subsystem functions */
@@ -140,6 +142,26 @@ _elm_smart_pan_child_size_get(Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
    if (h) *h = sd->child_h;
 }
 
+void
+_elm_smart_pan_gravity_set(Evas_Object *obj, double x, double y)
+{
+   API_ENTRY return;
+   sd->gravity_x = x;
+   sd->gravity_y = y;
+   sd->prev_cw = sd->child_w;
+   sd->prev_ch = sd->child_h;
+   sd->delta_posx = 0;
+   sd->delta_posy = 0;
+}
+
+void
+_elm_smart_pan_gravity_get(Evas_Object *obj, double *x, double *y)
+{
+   API_ENTRY return;
+   if (x) *x = sd->gravity_x;
+   if (y) *y = sd->gravity_y;
+}
+
 /* local subsystem functions */
 static void
 _smart_child_del_hook(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
@@ -171,7 +193,22 @@ _smart_child_resize_hook(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUS
 static void
 _smart_reconfigure(Smart_Data *sd)
 {
-   evas_object_move(sd->child_obj, sd->x - sd->px, sd->y - sd->py);
+   if (sd->gravity_x || sd->gravity_y)
+     {
+        sd->delta_posx += sd->child_w - sd->prev_cw;
+        sd->prev_cw = sd->child_w;
+        sd->delta_posy += sd->child_h - sd->prev_ch;
+        sd->prev_ch = sd->child_h;
+
+        evas_object_move(sd->child_obj,
+                         sd->x - sd->px - (sd->delta_posx*sd->gravity_x),
+                         sd->y - sd->py - (sd->delta_posy*sd->gravity_y));
+        sd->px += sd->delta_posx*sd->gravity_x;
+        sd->py += sd->delta_posy*sd->gravity_y;
+
+     }
+   else
+     evas_object_move(sd->child_obj, sd->x - sd->px, sd->y - sd->py);
 }
 
 static void
@@ -186,6 +223,8 @@ _smart_add(Evas_Object *obj)
    sd->y = 0;
    sd->w = 0;
    sd->h = 0;
+   sd->gravity_x = 0.0;
+   sd->gravity_y = 0.0;
    evas_object_smart_data_set(obj, sd);
 }
 
index cb64fa1..a00ef2b 100644 (file)
@@ -6,3 +6,6 @@ void         _elm_smart_pan_get            (Evas_Object *obj, Evas_Coord *x, Eva
 void         _elm_smart_pan_max_get        (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
 void         _elm_smart_pan_min_get        (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
 void         _elm_smart_pan_child_size_get (Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
+void         _elm_smart_pan_gravity_set    (Evas_Object *obj, double x, double y);
+void         _elm_smart_pan_gravity_get    (Evas_Object *obj, double *x, double *y);
+
index 58f9185..3a7d966 100644 (file)
@@ -84,6 +84,8 @@ struct _Smart_Data
       void (*max_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
       void (*min_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
       void (*child_size_get) (Evas_Object *obj, Evas_Coord *x, Evas_Coord *y);
+      void (*gravity_set) (Evas_Object *obj, double x, double y);
+      void (*gravity_get) (Evas_Object *obj, double *x, double *y);
    } pan_func;
 
    struct {
@@ -224,6 +226,8 @@ elm_smart_scroller_child_set(Evas_Object *obj, Evas_Object *child)
    sd->pan_func.max_get = _elm_smart_pan_max_get;
    sd->pan_func.min_get = _elm_smart_pan_min_get;
    sd->pan_func.child_size_get = _elm_smart_pan_child_size_get;
+   sd->pan_func.gravity_set = _elm_smart_pan_gravity_set;
+   sd->pan_func.gravity_get = _elm_smart_pan_gravity_get;
 
    evas_object_event_callback_add(child, EVAS_CALLBACK_DEL, _smart_child_del_hook, sd);
    _elm_smart_pan_child_set(sd->pan_obj, child);
@@ -280,6 +284,8 @@ elm_smart_scroller_extern_pan_set(Evas_Object *obj, Evas_Object *pan,
    sd->pan_func.max_get = pan_max_get;
    sd->pan_func.min_get = pan_min_get;
    sd->pan_func.child_size_get = pan_child_size_get;
+   sd->pan_func.gravity_set = _elm_smart_pan_gravity_set;
+   sd->pan_func.gravity_get = _elm_smart_pan_gravity_get;
    sd->extern_pan = 1;
    evas_object_smart_callback_add(sd->pan_obj, "changed", _smart_pan_changed_hook, sd);
    evas_object_smart_callback_add(sd->pan_obj, "pan_changed", _smart_pan_pan_changed_hook, sd);
@@ -1533,6 +1539,22 @@ _smart_pan_pan_changed_hook(void *data, Evas_Object *obj __UNUSED__, void *event
    _elm_smart_scroller_wanted_region_set(sd->smart_obj);
 }
 
+void
+elm_smart_scroller_gravity_set(Evas_Object *obj, double x, double y)
+{
+   API_ENTRY return;
+
+   sd->pan_func.gravity_set(sd->pan_obj, x, y);
+}
+
+void
+elm_smart_scroller_gravity_get(Evas_Object *obj, double *x, double *y)
+{
+   API_ENTRY return;
+
+   sd->pan_func.gravity_get(sd->pan_obj, x, y);
+}
+
 static void
 _smart_event_wheel(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
 {
@@ -1900,7 +1922,7 @@ _smart_event_mouse_up(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *ev
                        ax /= (i + 1);
                        ay /= (i + 1);
                        at /= (i + 1);
-                       at *= 4.0; // magic number! just trial and error shows this makes it behave "nicer" and not run off at high speed all the time
+                       at /= _elm_config->thumbscroll_sensitivity_friction;
                        dx = ev->canvas.x - ax;
                        dy = ev->canvas.y - ay;
                        if (at > 0)
index eefe421..b73b4ee 100644 (file)
@@ -28,6 +28,8 @@ void elm_smart_scroller_object_theme_set        (Evas_Object *parent, Evas_Objec
 void elm_smart_scroller_mirrored_set            (Evas_Object *obj, Eina_Bool mirrored);
 void elm_smart_scroller_hold_set                (Evas_Object *obj, Eina_Bool hold);
 void elm_smart_scroller_freeze_set              (Evas_Object *obj, Eina_Bool freeze);
+void elm_smart_scroller_gravity_set             (Evas_Object *obj, double x, double y);
+void elm_smart_scroller_gravity_get             (Evas_Object *obj, double *x, double *y);
 void elm_smart_scroller_bounce_allow_set        (Evas_Object *obj, Eina_Bool horiz, Eina_Bool vert);
 void elm_smart_scroller_bounce_allow_get        (const Evas_Object *obj, Eina_Bool *horiz, Eina_Bool *vert);
 void elm_smart_scroller_paging_set              (Evas_Object *obj, double pagerel_h, double pagerel_v, Evas_Coord pagesize_h, Evas_Coord pagesize_v);