[edje_externals/elm_datefield.c] Datefield widget external file is updated as per...
authorsumanth <sumanth.m@samsung.com>
Thu, 13 Oct 2011 09:39:53 +0000 (18:39 +0900)
committersumanth <sumanth.m@samsung.com>
Fri, 14 Oct 2011 02:42:44 +0000 (11:42 +0900)
Change-Id: I46a082a4b488e6e1412576610a69d7e918e35f06

src/edje_externals/elm_datefield.c

index f89250a..4e1abd4 100644 (file)
 #include "private.h"
 
+#define ITEM_COUNT   6
+
+char *item_value_param[]  = { "year", "month", "date", "hour", "minute", "ampm"};
+char *item_max_param[]    = { "year_max", "month_max", "date_max",
+                              "hour_max", "minute_max", "ampm_max" };
+char *item_min_param[]    = { "year_min", "month_min", "date_min",
+                              "hour_min", "minute_min", "ampm_min" };
+char *item_enable_param[] = { "year_enable", "month_enable", "date_enable",
+                              "hour_enable", "minute_enable", "ampm_enable" };
+char *item_max_absolute_param[] = { "year_max_abs", "month_max_abs", "date_max_abs",
+                                    "hour_max_abs", "minute_max_abs", "ampm_max_abs" };
+char *item_min_absolute_param[] = { "year_min_abs", "month_min_abs", "date_min_abs",
+                                    "hour_min_abs", "minute_min_abs", "ampm_min_abs" };
+
 typedef struct _Elm_Params_Datefield
 {
-   const char *layout;
+   Elm_Params base;
    const char *format;
-   Eina_Bool mode:1;
-   Eina_Bool mode_exists:1;
-   int year;
-   Eina_Bool year_exists:1;
-   int mon;
-   Eina_Bool mon_exists:1;
-   int day;
-   Eina_Bool day_exists:1;
-   int hour;
-   Eina_Bool hour_exists:1;
-   int min;
-   Eina_Bool min_exists:1;
+   int item_value[ITEM_COUNT];
+   int item_max[ITEM_COUNT];
+   int item_min[ITEM_COUNT];
+   Eina_Bool item_enable[ITEM_COUNT];
+   Eina_Bool item_max_absolute[ITEM_COUNT];
+   Eina_Bool item_min_absolute[ITEM_COUNT];
+   Eina_Bool item_value_set[ITEM_COUNT];
+   Eina_Bool item_max_set[ITEM_COUNT];
+   Eina_Bool item_min_set[ITEM_COUNT];
+   Eina_Bool item_enable_set[ITEM_COUNT];
+   Eina_Bool item_max_absolute_set[ITEM_COUNT];
+   Eina_Bool item_min_absolute_set[ITEM_COUNT];
 } Elm_Params_Datefield;
 
-static const char *datefield_layout_choices[] = {"time", "date", "dateandtime", NULL};
-
-static Elm_Datefield_Layout
-_datefield_layout_setting_get(const char *layout_str)
-{
-   unsigned int i;
-
-   for (i = 0; i < sizeof(datefield_layout_choices)/sizeof(datefield_layout_choices[0]); i++)
-     {
-           if (!strcmp(layout_str, datefield_layout_choices[i]))
-           return i;
-     }
-   return ELM_DATEFIELD_LAYOUT_DATEANDTIME;
-}
-
 static void
 external_datefield_state_set(void *data __UNUSED__, Evas_Object *obj, const void *from_params, const void *to_params, float pos __UNUSED__)
 {
    const Elm_Params_Datefield *p;
+   int i;
 
    if (to_params) p = to_params;
    else if (from_params) p = from_params;
    else return;
 
-   if (p->layout)
+   if (p->format)
+     elm_datefield_format_set(obj, p->format);
+   for (i = 0; i < ITEM_COUNT; i++)
      {
-       Elm_Datefield_Layout layout = _datefield_layout_setting_get(p->layout);
-       elm_datefield_layout_set(obj, layout);
+        if (p->item_value_set[i])
+           elm_datefield_item_value_set(obj, (ELM_DATEFIELD_YEAR+i), p->item_value[i]);
      }
-   if (p->format)
-     elm_datefield_date_format_set(obj, p->format);
-   if (p->mode_exists)
-     elm_datefield_time_mode_set(obj, p->mode);
-   if ((p->year_exists) || (p->mon_exists) || (p->day_exists) || (p->hour_exists) || (p->min_exists))
+   for (i = 0; i < ITEM_COUNT; i++)
      {
-        int year, mon, day, hour, min;
-        elm_datefield_date_get(obj, &year, &mon, &day, &hour, &min);
-
-        if (p->year_exists) year = p->year;
-        if (p->mon_exists) mon = p->mon;
-        if (p->day_exists) day = p->day;
-        if (p->hour_exists) hour = p->hour;
-        if (p->min_exists) min = p->min;
-        elm_datefield_date_set(obj, year, mon, day, hour, min);
+        if (p->item_enable_set[i])
+          elm_datefield_item_enabled_set(obj, (ELM_DATEFIELD_YEAR+i), p->item_enable[i]);
+     }
+   for (i = 0; i < ITEM_COUNT; i++)
+     {
+        if ((p->item_max_set[i]) && (p->item_max_absolute_set[i]))
+          elm_datefield_item_max_set(obj, (ELM_DATEFIELD_YEAR+i), p->item_max[i], p->item_max_absolute[i]);
+        else if ((p->item_max_set[i]) && !(p->item_max_absolute_set[i]))
+          elm_datefield_item_max_set(obj, (ELM_DATEFIELD_YEAR+i), p->item_max[i],
+                        elm_datefield_item_max_is_absolute(obj,(ELM_DATEFIELD_YEAR+i)));
+        else if (!(p->item_max_set[i]) && (p->item_max_absolute_set[i]))
+          elm_datefield_item_max_set(obj, (ELM_DATEFIELD_YEAR+i), elm_datefield_item_max_get
+                        (obj, (ELM_DATEFIELD_YEAR+i)), p->item_max_absolute[i]);
+     }
+   for (i = 0; i < ITEM_COUNT; i++)
+     {
+        if ((p->item_min_set[i]) && (p->item_min_absolute_set[i]))
+          elm_datefield_item_min_set(obj, (ELM_DATEFIELD_YEAR+i), p->item_min[i], p->item_min_absolute[i]);
+        else if ((p->item_min_set[i]) && !(p->item_min_absolute_set[i]))
+          elm_datefield_item_min_set(obj, (ELM_DATEFIELD_YEAR+i), p->item_min[i],
+                        elm_datefield_item_min_is_absolute(obj,(ELM_DATEFIELD_YEAR+i)));
+        else if (!(p->item_min_set[i]) && (p->item_min_absolute_set[i]))
+          elm_datefield_item_min_set(obj, (ELM_DATEFIELD_YEAR+i), elm_datefield_item_min_get
+                        (obj, (ELM_DATEFIELD_YEAR+i)), p->item_min_absolute[i]);
      }
 }
 
 static Eina_Bool
 external_datefield_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje_External_Param *param)
 {
-   if (!strcmp(param->name, "layout"))
-     {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_CHOICE)
-         {
-            Elm_Datefield_Layout layout = _datefield_layout_setting_get(param->s);
-            elm_datefield_layout_set(obj, layout);
-            return EINA_TRUE;
-         }
-     }
-   else if (!strcmp(param->name, "date_format"))
+   int i;
+   if (!strcmp(param->name, "format"))
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING)
-         {
-            elm_datefield_date_format_set(obj, param->s);
-            return EINA_TRUE;
-         }
+       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING)
+         {
+            elm_datefield_format_set(obj, param->s);
+            return EINA_TRUE;
+         }
      }
-   else if (!strcmp(param->name, "time_mode"))
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
-         {
-            elm_datefield_time_mode_set(obj, param->i);
-            return EINA_TRUE;
-         }
-     }
-   else if (!strcmp(param->name, "years"))
+        if (!strcmp(param->name, item_value_param[i]))
+        {
+            if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
+              {
+                 elm_datefield_item_value_set(obj, (ELM_DATEFIELD_YEAR+i), param->i);
+                 return EINA_TRUE;
+              }
+        }
+    }
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            int mon, day, hour, min;
-            elm_datefield_date_get(obj, NULL, &mon, &day, &hour, &min);
-            elm_datefield_date_set(obj, param->i, mon, day, hour, min);
-            return EINA_TRUE;
-         }
-     }
-   else if (!strcmp(param->name, "months"))
+        if (!strcmp(param->name, item_max_param[i]))
+        {
+            if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
+              {
+                Eina_Bool max_abs;
+                max_abs = elm_datefield_item_max_is_absolute(obj, (ELM_DATEFIELD_YEAR+i));
+                 elm_datefield_item_max_set(obj, (ELM_DATEFIELD_YEAR+i), param->i, max_abs);
+                 return EINA_TRUE;
+              }
+        }
+    }
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            int year, day, hour, min;
-            elm_datefield_date_get(obj, &year, NULL, &day, &hour, &min);
-            elm_datefield_date_set(obj, year, param->i, day, hour, min);
-            return EINA_TRUE;
-         }
-     }
-   else if (!strcmp(param->name, "days"))
+        if (!strcmp(param->name, item_min_param[i]))
+        {
+            if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
+              {
+                Eina_Bool min_abs;
+                min_abs = elm_datefield_item_min_is_absolute(obj, (ELM_DATEFIELD_YEAR+i));
+                 elm_datefield_item_min_set(obj, (ELM_DATEFIELD_YEAR+i), param->i, min_abs);
+                 return EINA_TRUE;
+              }
+        }
+    }
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            int year, mon, hour, min;
-            elm_datefield_date_get(obj, &year, &mon, NULL, &hour, &min);
-            elm_datefield_date_set(obj, year, mon, param->i, hour, min);
-            return EINA_TRUE;
-         }
-     }
-   else if (!strcmp(param->name, "hours"))
+        if (!strcmp(param->name, item_enable_param[i]))
+        {
+            if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+              {
+                 elm_datefield_item_enabled_set(obj, (ELM_DATEFIELD_YEAR+i), param->i);
+                 return EINA_TRUE;
+              }
+        }
+    }
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            int year, mon, day, min;
-            elm_datefield_date_get(obj, &year, &mon, &day, NULL, &min);
-            elm_datefield_date_set(obj, year, mon, day, param->i, min);
-            return EINA_TRUE;
-         }
-     }
-   else if (!strcmp(param->name, "days"))
+        if (!strcmp(param->name, item_max_absolute_param[i]))
+        {
+            if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+              {
+                int max;
+                max = elm_datefield_item_max_get(obj, (ELM_DATEFIELD_YEAR+i));
+                 elm_datefield_item_max_set(obj, (ELM_DATEFIELD_YEAR+i), max, param->i);
+                 return EINA_TRUE;
+              }
+        }
+    }
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            int year, mon, day, hour;
-            elm_datefield_date_get(obj, &year, &mon, &day, &hour, NULL);
-            elm_datefield_date_set(obj, year, mon, day, hour, param->i);
-            return EINA_TRUE;
-         }
-     }
+        if (!strcmp(param->name, item_min_absolute_param[i]))
+        {
+            if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+              {
+                int min;
+                min = elm_datefield_item_min_get(obj, (ELM_DATEFIELD_YEAR+i));
+                 elm_datefield_item_min_set(obj, (ELM_DATEFIELD_YEAR+i), min, param->i);
+                 return EINA_TRUE;
+              }
+        }
+    }
 
    ERR("unknown parameter '%s' of type '%s'",
        param->name, edje_external_param_type_str(param->type));
@@ -153,73 +174,63 @@ external_datefield_param_set(void *data __UNUSED__, Evas_Object *obj, const Edje
 static Eina_Bool
 external_datefield_param_get(void *data __UNUSED__, const Evas_Object *obj, Edje_External_Param *param)
 {
-   if (!strcmp(param->name, "layout"))
-     {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_CHOICE)
-         {
-            Elm_Datefield_Layout layout = elm_datefield_layout_get(obj);
-            if (layout > ELM_DATEFIELD_LAYOUT_DATEANDTIME)
-              return EINA_FALSE;
+   int i;
 
-            param->s = datefield_layout_choices[layout];
-            return EINA_TRUE;
-         }
-     }
-   else if (!strcmp(param->name, "date_format"))
+   if (!strcmp(param->name, "format"))
      {
        if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING)
          {
-            param->s = elm_datefield_date_format_get(obj);
-            return EINA_TRUE;
+            param->s = elm_datefield_format_get(obj);
+            return EINA_TRUE;
          }
      }
-   else if (!strcmp(param->name, "time_mode"))
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+       if (!strcmp(param->name, item_value_param[i]))
          {
-            param->i = elm_datefield_time_mode_get(obj);
-            return EINA_TRUE;
+            param->i = elm_datefield_item_value_get(obj, (ELM_DATEFIELD_YEAR+i));
+            return EINA_TRUE;
          }
      }
-   else if (!strcmp(param->name, "years"))
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            elm_datefield_date_get(obj, &(param->i), NULL, NULL, NULL, NULL);
-            return EINA_TRUE;
-         }
+       if (!strcmp(param->name, item_max_param[i]))
+         {
+            param->i = elm_datefield_item_max_get(obj, (ELM_DATEFIELD_YEAR+i));
+            return EINA_TRUE;
+         }
      }
-   else if (!strcmp(param->name, "months"))
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            elm_datefield_date_get(obj, NULL, &(param->i), NULL, NULL, NULL);
-            return EINA_TRUE;
-         }
+       if (!strcmp(param->name, item_min_param[i]))
+         {
+            param->i = elm_datefield_item_min_get(obj, (ELM_DATEFIELD_YEAR+i));
+            return EINA_TRUE;
+         }
      }
-   else if (!strcmp(param->name, "days"))
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            elm_datefield_date_get(obj, NULL, NULL, &(param->i),NULL, NULL);
-            return EINA_TRUE;
-         }
+       if (!strcmp(param->name, item_enable_param[i]))
+         {
+            param->i = elm_datefield_item_enabled_get(obj, (ELM_DATEFIELD_YEAR+i));
+            return EINA_TRUE;
+         }
      }
-   else if (!strcmp(param->name, "hours"))
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            elm_datefield_date_get(obj, NULL, NULL, NULL, &(param->i), NULL);
-            return EINA_TRUE;
-         }
+       if (!strcmp(param->name, item_max_absolute_param[i]))
+         {
+            param->i = elm_datefield_item_max_is_absolute(obj, (ELM_DATEFIELD_YEAR+i));
+            return EINA_TRUE;
+         }
      }
-   else if (!strcmp(param->name, "minutes"))
+   for (i =0 ; i < ITEM_COUNT; i++)
      {
-       if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
-         {
-            elm_datefield_date_get(obj, NULL, NULL, NULL, NULL, &(param->i));
-            return EINA_TRUE;
-         }
+       if (!strcmp(param->name, item_min_absolute_param[i]))
+         {
+            param->i = elm_datefield_item_min_is_absolute(obj, (ELM_DATEFIELD_YEAR+i));
+            return EINA_TRUE;
+         }
      }
 
    ERR("unknown parameter '%s' of type '%s'",
@@ -234,6 +245,7 @@ external_datefield_params_parse(void *data __UNUSED__, Evas_Object *obj __UNUSED
    Elm_Params_Datefield *mem;
    Edje_External_Param *param;
    const Eina_List *l;
+   int i;
 
    mem = calloc(1, sizeof(Elm_Params_Datefield));
    if (!mem)
@@ -241,50 +253,66 @@ external_datefield_params_parse(void *data __UNUSED__, Evas_Object *obj __UNUSED
 
    EINA_LIST_FOREACH(params, l, param)
      {
-       if (!strcmp(param->name, "layout"))
-         mem->layout = eina_stringshare_add(param->s);
-       else if (!strcmp(param->name, "date_format"))
-         mem->format = eina_stringshare_add(param->s);
-       else if (!strcmp(param->name, "time_mode"))
-       {
-         mem->mode = !!param->i;
-         mem->mode_exists = EINA_TRUE;
-       }
-       else if (!strcmp(param->name, "years"))
-       {
-          mem->year = param->i;
-          mem->year_exists = EINA_TRUE;
-       }
-       else if (!strcmp(param->name, "months"))
-       {
-          mem->mon = param->i;
-          mem->mon_exists = EINA_TRUE;
-       }
-       else if (!strcmp(param->name, "days"))
-       {
-         mem->day = param->i;
-         mem->day_exists = EINA_TRUE;
-       }
-       else if (!strcmp(param->name, "hours"))
-       {
-          mem->hour = param->i;
-          mem->hour_exists = EINA_TRUE;
-       }
-       else if (!strcmp(param->name, "minutes"))
-       {
-          mem->min = param->i;
-          mem->min_exists = EINA_TRUE;
-       }
+        if (!strcmp(param->name, "format"))
+          mem->format = eina_stringshare_add(param->s);
+        for (i = 0; i < ITEM_COUNT; i ++)
+          {
+             if (!strcmp(param->name, item_value_param[i]))
+               {
+                  mem->item_value[i] = param->i;
+                  mem->item_value_set[i] = EINA_TRUE;
+               }
+          }
+        for (i = 0; i < ITEM_COUNT; i ++)
+          {
+             if (!strcmp(param->name, item_max_param[i]))
+               {
+                  mem->item_max[i] = param->i;
+                  mem->item_max_set[i] = EINA_TRUE;
+               }
+          }
+        for (i = 0; i < ITEM_COUNT; i ++)
+          {
+             if (!strcmp(param->name, item_min_param[i]))
+               {
+                  mem->item_min[i] = param->i;
+                  mem->item_min_set[i] = EINA_TRUE;
+               }
+          }
+        for (i = 0; i < ITEM_COUNT; i ++)
+          {
+             if (!strcmp(param->name, item_enable_param[i]))
+               {
+                  mem->item_enable[i] = param->i;
+                  mem->item_enable_set[i] = EINA_TRUE;
+               }
+          }
+        for (i = 0; i < ITEM_COUNT; i ++)
+          {
+             if (!strcmp(param->name, item_max_absolute_param[i]))
+               {
+                  mem->item_max_absolute[i] = param->i;
+                  mem->item_max_absolute_set[i] = EINA_TRUE;
+               }
+          }
+        for (i = 0; i < ITEM_COUNT; i ++)
+          {
+             if (!strcmp(param->name, item_min_absolute_param[i]))
+               {
+                  mem->item_min_absolute[i] = param->i;
+                  mem->item_min_absolute_set[i] = EINA_TRUE;
+               }
+          }
      }
 
    return mem;
 }
 
 static Evas_Object *external_datefield_content_get(void *data __UNUSED__,
-               const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
+      const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
 {
-       ERR("so content");
-       return NULL;
+   ERR("so content");
+   return NULL;
 }
 
 static void
@@ -292,8 +320,6 @@ external_datefield_params_free(void *params)
 {
    Elm_Params_Datefield *mem = params;
 
-   if (mem->layout)
-     eina_stringshare_del(mem->layout);
    if (mem->format)
      eina_stringshare_del(mem->format);
 
@@ -301,17 +327,46 @@ external_datefield_params_free(void *params)
 }
 
 static Edje_External_Param_Info external_datefield_params[] = {
-   EDJE_EXTERNAL_PARAM_INFO_CHOICE_FULL("layout", "dateandtime", datefield_layout_choices),
-   EDJE_EXTERNAL_PARAM_INFO_STRING("date_format"),
-   EDJE_EXTERNAL_PARAM_INFO_BOOL("time_mode"),
-   EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT("years", 1900),
-   EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT("months", 1),
-   EDJE_EXTERNAL_PARAM_INFO_INT_DEFAULT("days", 1),
-   EDJE_EXTERNAL_PARAM_INFO_INT("hours"),
-   EDJE_EXTERNAL_PARAM_INFO_INT("minutes"),
+   DEFINE_EXTERNAL_COMMON_PARAMS,
+   EDJE_EXTERNAL_PARAM_INFO_STRING("format"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("year"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("month"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("date"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("hour"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("minute"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("ampm"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("year_max"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("year_max_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("month_max"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("month_max_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("date_max"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("date_max_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("hour_max"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("hour_max_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("minute_max"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("minute_max_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("ampm_max"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("ampm_max_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("year_min"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("year_min_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("month_min"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("month_min_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("date_min"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("date_min_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("hour_min"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("hour_min_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_INT("minute_min"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("minute_min_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("ampm_min"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("ampm_min_abs"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("year_enable"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("month_enable"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("date_enable"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("hour_enable"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("minute_enable"),
+   EDJE_EXTERNAL_PARAM_INFO_BOOL("ampm_enable"),
    EDJE_EXTERNAL_PARAM_INFO_SENTINEL
 };
 
 DEFINE_EXTERNAL_ICON_ADD(datefield, "datefield");
 DEFINE_EXTERNAL_TYPE_SIMPLE(datefield, "Datefield");
-