Elm_Params base;
const char *label;
Evas_Object *icon;
+ double autorepeat_initial;
+ double autorepeat_gap;
+ Eina_Bool autorepeat:1;
+ Eina_Bool autorepeat_exists:1;
+ Eina_Bool autorepeat_gap_exists:1;
+ Eina_Bool autorepeat_initial_exists:1;
} Elm_Params_Button;
static void
elm_object_text_set(obj, p->label);
if (p->icon)
elm_object_part_content_set(obj, "icon", p->icon);
+ if (p->autorepeat_gap_exists)
+ elm_button_autorepeat_gap_timeout_set(obj, p->autorepeat_gap);
+ if (p->autorepeat_initial_exists)
+ elm_button_autorepeat_initial_timeout_set(obj, p->autorepeat_initial);
+ if (p->autorepeat_exists)
+ elm_button_autorepeat_set(obj, p->autorepeat);
}
static Eina_Bool
return EINA_TRUE;
}
}
+ else if (!strcmp(param->name, "autorepeat_initial"))
+ {
+ if (param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+ {
+ elm_button_autorepeat_initial_timeout_set(obj, param->d);
+ return EINA_TRUE;
+ }
+ }
+ else if (!strcmp(param->name, "autorepeat_gap"))
+ {
+ if (param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+ {
+ elm_button_autorepeat_gap_timeout_set(obj, param->d);
+ return EINA_TRUE;
+ }
+ }
+ else if (!strcmp(param->name, "autorepeat"))
+ {
+ if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+ {
+ elm_button_autorepeat_set(obj, param->i);
+ return EINA_TRUE;
+ }
+ }
ERR("unknown parameter '%s' of type '%s'",
param->name, edje_external_param_type_str(param->type));
/* not easy to get icon name back from live object */
return EINA_FALSE;
}
+ else if (!strcmp(param->name, "autorepeat_initial"))
+ {
+ if (param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+ {
+ param->d = elm_button_autorepeat_initial_timeout_get(obj);
+ return EINA_TRUE;
+ }
+ }
+ else if (!strcmp(param->name, "autorepeat_gap"))
+ {
+ if (param->type == EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+ {
+ param->d = elm_button_autorepeat_gap_timeout_get(obj);
+ return EINA_TRUE;
+ }
+ }
+ else if (!strcmp(param->name, "autorepeat"))
+ {
+ if (param->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+ {
+ param->i = elm_button_autorepeat_get(obj);
+ return EINA_TRUE;
+ }
+ }
ERR("unknown parameter '%s' of type '%s'",
param->name, edje_external_param_type_str(param->type));
EINA_LIST_FOREACH(params, l, param)
{
- if (!strcmp(param->name, "label"))
- {
- mem->label = eina_stringshare_add(param->s);
- break;
- }
+ if (!strcmp(param->name, "autorepeat_initial"))
+ {
+ mem->autorepeat_initial = param->d;
+ mem->autorepeat_initial_exists = EINA_TRUE;
+ }
+ else if (!strcmp(param->name, "autorepeat_gap"))
+ {
+ mem->autorepeat_gap = param->d;
+ mem->autorepeat_gap_exists = EINA_TRUE;
+ }
+ else if (!strcmp(param->name, "autorepeat"))
+ {
+ mem->autorepeat = !!param->i;
+ mem->autorepeat_exists = EINA_TRUE;
+ }
+ else if (!strcmp(param->name, "label"))
+ mem->label = eina_stringshare_add(param->s);
}
return mem;
DEFINE_EXTERNAL_COMMON_PARAMS,
EDJE_EXTERNAL_PARAM_INFO_STRING("label"),
EDJE_EXTERNAL_PARAM_INFO_STRING("icon"),
+ EDJE_EXTERNAL_PARAM_INFO_DOUBLE("autorepeat_initial"),
+ EDJE_EXTERNAL_PARAM_INFO_DOUBLE("autorepeat_gap"),
+ EDJE_EXTERNAL_PARAM_INFO_BOOL("autorepeat"),
EDJE_EXTERNAL_PARAM_INFO_SENTINEL
};