lib/elementary/efl_ui_progressbar_part.eo \
lib/elementary/elm_popup_part.eo \
lib/elementary/elm_scroller_part.eo \
- lib/elementary/efl_ui_slider_part.eo \
lib/elementary/elm_label_part.eo \
lib/elementary/elm_actionslider_part.eo \
lib/elementary/elm_bubble_part.eo \
void
test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
- Eo *win, *bx, *hbx, *sl;
+ Eo *win, *bx, *hbx;
double step;
win = efl_add(EFL_UI_WIN_CLASS, NULL,
bx = efl_add(EFL_UI_BOX_CLASS, win,
efl_content_set(win, efl_added));
- sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
- efl_text_set(efl_added, "horizontal"),
- efl_ui_slider_indicator_visible_mode_set(efl_added, EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_NONE),
- efl_ui_range_span_size_set(efl_added, 160),
- efl_ui_slider_indicator_format_set(efl_added, "%1.5f"),
- efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9),
- efl_pack(bx, efl_added));
+ efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
+ efl_text_set(efl_added, "Horizontal"),
+ efl_ui_slider_indicator_visible_mode_set(efl_added, EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_NONE),
+ efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(160, 0)),
+ efl_ui_slider_indicator_format_set(efl_added, "%1.5f"),
+ efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9),
+ efl_pack(bx, efl_added));
step = _step_size_calculate(0, 9);
- sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
- efl_text_set(efl_added, "Manual step"),
- efl_ui_range_span_size_set(efl_added, 120),
- efl_ui_range_unit_format_set(efl_added, "%1.1f units"),
- efl_ui_slider_indicator_format_set(efl_added, "%1.1f"),
- efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9),
- efl_ui_slider_step_set(efl_added, step),
- efl_pack(bx, efl_added));
+ efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
+ efl_text_set(efl_added, "Manual step"),
+ efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)),
+ efl_ui_range_unit_format_set(efl_added, "%1.1f units"),
+ efl_ui_slider_indicator_format_set(efl_added, "%1.1f"),
+ efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9),
+ efl_ui_slider_step_set(efl_added, step),
+ efl_pack(bx, efl_added));
- sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
- efl_text_set(efl_added, "Disabled"),
- efl_ui_range_span_size_set(efl_added, 120),
- efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
- efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
- efl_ui_range_min_max_set(efl_added, 10, 145),
- efl_ui_slider_interval_value_set(efl_added, 50, 100),
- efl_ui_slider_step_set(efl_added, step),
- efl_pack(bx, efl_added));
- elm_object_disabled_set(sl, EINA_TRUE);
+ efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
+ efl_text_set(efl_added, "Disabled"),
+ efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)),
+ efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
+ efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
+ efl_ui_range_min_max_set(efl_added, 10, 145),
+ efl_ui_slider_interval_value_set(efl_added, 50, 100),
+ efl_ui_slider_step_set(efl_added, step),
+ elm_object_disabled_set(efl_added, EINA_TRUE),
+ efl_pack(bx, efl_added));
hbx = efl_add(EFL_UI_BOX_CLASS, bx,
efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL),
efl_pack(bx, efl_added));
- sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx,
- efl_text_set(efl_added, "Vertical"),
- efl_ui_range_span_size_set(efl_added, 120),
- efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
- efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
- efl_ui_range_min_max_set(efl_added, 10, 145),
- efl_ui_slider_interval_value_set(efl_added, 50, 100),
- efl_ui_slider_step_set(efl_added, step),
- efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL),
- efl_pack(hbx, efl_added));
+ efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx,
+ efl_text_set(efl_added, "Vertical"),
+ efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)),
+ efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
+ efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
+ efl_ui_range_min_max_set(efl_added, 10, 145),
+ efl_ui_slider_interval_value_set(efl_added, 50, 100),
+ efl_ui_slider_step_set(efl_added, step),
+ efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL),
+ efl_pack(hbx, efl_added));
- sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx,
- efl_text_set(efl_added, "Disabled"),
- efl_ui_range_span_size_set(efl_added, 120),
- efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
- efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
- efl_ui_range_min_max_set(efl_added, 10, 145),
- efl_ui_slider_interval_value_set(efl_added, 50, 100),
- efl_ui_slider_step_set(efl_added, step),
- efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL),
- efl_pack(hbx, efl_added));
- elm_object_disabled_set(sl, EINA_TRUE);
+ efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx,
+ efl_text_set(efl_added, "Disabled"),
+ efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)),
+ efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
+ efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
+ efl_ui_range_min_max_set(efl_added, 10, 145),
+ efl_ui_slider_interval_value_set(efl_added, 50, 100),
+ efl_ui_slider_step_set(efl_added, step),
+ efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL),
+ elm_object_disabled_set(efl_added, EINA_TRUE),
+ efl_pack(hbx, efl_added));
- sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
- efl_text_set(efl_added, "Limited(100-500)"),
- efl_ui_slider_indicator_visible_mode_set(efl_added, EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS),
- efl_ui_range_span_size_set(efl_added, 120),
- efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
- efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
- efl_ui_range_min_max_set(efl_added, 0, 600),
- efl_ui_slider_interval_value_set(efl_added, 100, 500),
- efl_ui_slider_step_set(efl_added, step),
- efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, _intv_slider_changed_cb, NULL),
- efl_pack(bx, efl_added));
+ efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
+ efl_text_set(efl_added, "Limited (100-500)"),
+ efl_ui_slider_indicator_visible_mode_set(efl_added, EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS),
+ efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(260, 0)),
+ efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
+ efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
+ efl_ui_range_min_max_set(efl_added, 0, 600),
+ efl_ui_slider_interval_value_set(efl_added, 100, 500),
+ efl_ui_slider_step_set(efl_added, step),
+ efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, _intv_slider_changed_cb, NULL),
+ efl_pack(bx, efl_added));
}
-
::elm::slider sl3(efl::eo::parent = win);
sl3.value_set(1);
- sl3.span_size_set(200);
+ sl3.hint_min_set(220, 0);
sl3.size_hint_align_set(EVAS_HINT_FILL, 0.5);
sl3.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
bx.pack_end(sl3);
{
[[Efl UI progress interface]]
methods {
- @property span_size {
- [[Control the (exact) length of the bar region of a given range widget
-
- This sets the minimum width (when in horizontal mode) or height
- (when in vertical mode) of the actual bar area of the range
- bar $obj. This in turn affects the object's minimum size. Use
- this when you're not setting other size hints expanding on the
- given direction (like weight and alignment hints) and you would
- like it to have a specific size.
-
- Note: Icon, label and unit text around $obj will require their
- own space, which will make $obj to require more the $size,
- actually.]]
- set {
- }
- get {
- }
- values {
- size: int; [[The length of the range's bar region]]
- }
- }
@property range_value {
[[Control the range value (in percentage) on a given range widget
}
EAPI Evas_Object *
-elm_layout_content_get(const Evas_Object *obj,
- const char *swallow)
+elm_layout_content_get(const Evas_Object *obj, const char *swallow)
{
EFL_UI_LAYOUT_CHECK(obj) NULL;
if (!swallow)
swallow = elm_widget_default_content_part_get(obj);
if (!swallow) return NULL;
}
+ else if (!_elm_layout_part_aliasing_eval(obj, &swallow, EINA_FALSE))
+ return NULL;
return efl_content_get(efl_part(obj, swallow));
}
elm_layout_signal_emit(obj, buf, "elm");
}
-/* FIXME: replicated from elm_layout just because progressbar's icon
- * spot is elm.swallow.content, not elm.swallow.icon. Fix that
- * whenever we can changed the theme API */
EOLIAN static Eina_Bool
-_efl_ui_progressbar_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Progressbar_Data *_pd EINA_UNUSED, Evas_Object *sobj)
+_efl_ui_progressbar_elm_widget_widget_sub_object_del(Eo *obj, Efl_Ui_Progressbar_Data *pd EINA_UNUSED, Evas_Object *sobj)
{
- Eina_Bool int_ret = EINA_FALSE;
- int_ret = elm_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj);
- if (!int_ret) return EINA_FALSE;
+ if (!elm_obj_widget_sub_object_del(efl_super(obj, MY_CLASS), sobj))
+ return EINA_FALSE;
_icon_signal_emit(obj);
-
return EINA_TRUE;
}
-/* FIXME: replicated from elm_layout just because progressbar's icon
- * spot is elm.swallow.content, not elm.swallow.icon. Fix that
- * whenever we can changed the theme API */
static Eina_Bool
-_efl_ui_progressbar_content_set(Eo *obj, Efl_Ui_Progressbar_Data *_pd EINA_UNUSED, const char *part, Evas_Object *content)
+_efl_ui_progressbar_elm_widget_widget_sub_object_add(Eo *obj, Efl_Ui_Progressbar_Data *pd EINA_UNUSED, Evas_Object *sobj)
{
- Eina_Bool int_ret = EINA_FALSE;
- int_ret = efl_content_set(efl_part(efl_super(obj, MY_CLASS), part), content);
- if (!int_ret) return EINA_FALSE;
+ if (!elm_obj_widget_sub_object_add(efl_super(obj, MY_CLASS), sobj))
+ return EINA_FALSE;
_icon_signal_emit(obj);
-
return EINA_TRUE;
}
return sd->dir;
}
-EOLIAN static void
-_efl_ui_progressbar_efl_ui_range_span_size_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, Evas_Coord size)
+static void
+_progressbar_span_size_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, Evas_Coord size)
{
if (sd->size == size) return;
elm_layout_sizing_eval(obj);
}
-EOLIAN static Evas_Coord
-_efl_ui_progressbar_efl_ui_range_span_size_get(Eo *obj EINA_UNUSED, Efl_Ui_Progressbar_Data *sd)
-{
- return sd->size;
-}
-
static void
_progressbar_part_value_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, const char *part_name, double val)
{
EAPI void
elm_progressbar_span_size_set(Evas_Object *obj, Evas_Coord size)
{
- efl_ui_range_span_size_set(obj, size);
+ EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd);
+ _progressbar_span_size_set(obj, sd, size);
}
EAPI Evas_Coord
elm_progressbar_span_size_get(const Evas_Object *obj)
{
- return efl_ui_range_span_size_get(obj);
+ EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd, 0);
+ return sd->size;
}
EAPI void
/* Efl.Part begin */
-ELM_PART_OVERRIDE_ONLY_ALIASES(efl_ui_progressbar, EFL_UI_PROGRESSBAR, Efl_Ui_Progressbar_Data, _content_aliases)
-ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_progressbar, EFL_UI_PROGRESSBAR, Efl_Ui_Progressbar_Data)
+EOLIAN static Eo *
+_efl_ui_progressbar_efl_part_part(const Eo *obj, Efl_Ui_Progressbar_Data *sd EINA_UNUSED, const char *part)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
+ ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
+
+ // Progress bars are dragable types
+ if (edje_object_part_drag_dir_get(wd->resize_obj, part) != EFL_UI_DRAG_DIR_NONE)
+ return ELM_PART_OVERRIDE_IMPLEMENT(EFL_UI_PROGRESSBAR_PART_CLASS);
+
+ return efl_part(efl_super(obj, MY_CLASS), part);
+}
EOLIAN static void
_efl_ui_progressbar_part_efl_ui_range_range_value_set(Eo *obj, void *_pd EINA_UNUSED, double val)
Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS);
_progressbar_part_value_set(pd->obj, sd, pd->part, val);
+ ELM_PART_RETURN_VOID;
}
EOLIAN static double
Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
Efl_Ui_Progressbar_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_PROGRESSBAR_CLASS);
- return _progressbar_part_value_get(sd, pd->part);
+ ELM_PART_RETURN_VAL(_progressbar_part_value_get(sd, pd->part));
}
#include "efl_ui_progressbar_part.eo.c"
Elm.Widget.theme_apply;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
+ Elm.Widget.widget_sub_object_add;
Elm.Widget.widget_sub_object_del;
- Efl.Ui.Range.span_size { get; set; }
Efl.Ui.Range.range_value { get; set; }
Efl.Ui.Range.range_unit_format { get; set; }
Efl.Ui.Direction.direction { get; set; }
-class Efl.Ui.Progressbar.Part (Efl.Ui.Layout.Part_Content, Efl.Ui.Range)
+class Efl.Ui.Progressbar.Part (Efl.Ui.Layout.Part, Efl.Ui.Range)
{
[[Elementary progressbar internal part class]]
data: null;
implements {
- Efl.Container.content { set; }
Efl.Ui.Range.range_value { set; get; }
}
}
#define EFL_UI_PROGRESSBAR_DATA_GET(o, sd) \
Efl_Ui_Progressbar_Data * sd = efl_data_scope_get(o, EFL_UI_PROGRESSBAR_CLASS)
-#define EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(o, ptr) \
- EFL_UI_PROGRESSBAR_DATA_GET(o, ptr); \
- if (EINA_UNLIKELY(!ptr)) \
+#define EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(o, sd, ...) \
+ Efl_Ui_Progressbar_Data *sd = efl_data_scope_safe_get(o, EFL_UI_PROGRESSBAR_CLASS); \
+ if (EINA_UNLIKELY(!sd)) \
{ \
- CRI("No widget data for object %p (%s)", \
+ ERR("No widget data for object %p (%s)", \
o, evas_object_type_get(o)); \
- return; \
+ return __VA_ARGS__; \
}
-#define EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
- EFL_UI_PROGRESSBAR_DATA_GET(o, ptr); \
- if (EINA_UNLIKELY(!ptr)) \
- { \
- CRI("No widget data for object %p (%s)", \
- o, evas_object_type_get(o)); \
- return val; \
- }
-
-#define EFL_UI_PROGRESSBAR_CHECK(obj) \
- if (EINA_UNLIKELY(!efl_isa((obj), EFL_UI_PROGRESSBAR_CLASS))) \
- return
-
#endif
#include "elm_priv.h"
#include "efl_ui_slider_private.h"
#include "elm_widget_layout.h"
-
-#include "efl_ui_slider_part.eo.h"
#include "elm_part_helper.h"
#define MY_CLASS EFL_UI_SLIDER_CLASS
return sd->dir;
}
-EOLIAN static void
-_efl_ui_slider_efl_ui_range_span_size_set(Eo *obj, Efl_Ui_Slider_Data *sd, Evas_Coord size)
-{
- if (_is_horizontal(sd->dir))
- efl_gfx_size_hint_min_set(efl_part(obj, "span"), EINA_SIZE2D(size, 1));
- else
- efl_gfx_size_hint_min_set(efl_part(obj, "span"), EINA_SIZE2D(1, size));
-}
-
-EOLIAN static Evas_Coord
-_efl_ui_slider_efl_ui_range_span_size_get(Eo *obj EINA_UNUSED, Efl_Ui_Slider_Data *sd)
-{
- return sd->size;
-}
-
EOLIAN static void
_efl_ui_slider_efl_ui_range_range_unit_format_set(Eo *obj, Efl_Ui_Slider_Data *sd, const char *units)
{
ELM_PART_TEXT_DEFAULT_IMPLEMENT(efl_ui_slider, Efl_Ui_Slider_Data)
-/* Efl.Part begin */
-
-EOLIAN static Eo *
-_efl_ui_slider_efl_part_part(const Eo *obj, Efl_Ui_Slider_Data *sd EINA_UNUSED, const char *part)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(part, NULL);
-
- if (eina_streq(part, "span"))
- return ELM_PART_OVERRIDE_IMPLEMENT(EFL_UI_SLIDER_PART_CLASS);
-
- return efl_part(efl_super(obj, MY_CLASS), part);
-}
-
static void
-_span_size_set(Eo *obj, Efl_Ui_Slider_Data *sd, int w, int h)
+_slider_span_size_set(Eo *obj, Efl_Ui_Slider_Data *sd, int size)
{
- Evas_Coord size;
-
- if (_is_horizontal(sd->dir))
- size = w;
- else
- size = h;
-
if (sd->size == size) return;
sd->size = size;
evas_object_smart_changed(obj);
}
-EOLIAN void
-_efl_ui_slider_part_efl_gfx_size_hint_hint_min_set(Eo *obj, void *_pd EINA_UNUSED, Eina_Size2D sz)
-{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
- Efl_Ui_Slider_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_SLIDER_CLASS);
-
- EINA_SAFETY_ON_FALSE_RETURN(eina_streq(pd->part, "span"));
- _span_size_set(pd->obj, sd, sz.w, sz.h);
-}
-
-EOLIAN Eina_Size2D
-_efl_ui_slider_part_efl_gfx_size_hint_hint_min_get(Eo *obj, void *_pd EINA_UNUSED)
-{
- Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
- Efl_Ui_Slider_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_SLIDER_CLASS);
- Eina_Size2D ret = { 0, 0 };
-
- EINA_SAFETY_ON_FALSE_GOTO(eina_streq(pd->part, "span"), end);
- if (_is_horizontal(sd->dir))
- ret = EINA_SIZE2D(sd->size, 1);
- else
- ret = EINA_SIZE2D(1, sd->size);
-
-end:
- return ret;
-}
-
-#include "efl_ui_slider_part.eo.c"
-/* Efl.Part end */
-
/* Legacy APIs */
EAPI Evas_Object *
EAPI void
elm_slider_span_size_set(Evas_Object *obj, Evas_Coord size)
{
- efl_ui_range_span_size_set(obj, size);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, sd);
+ _slider_span_size_set(obj, sd, size);
}
EAPI Evas_Coord
elm_slider_span_size_get(const Evas_Object *obj)
{
- return efl_ui_range_span_size_get(obj);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, sd, 0);
+ return sd->size;
}
EAPI void
elm_slider_horizontal_set(Evas_Object *obj, Eina_Bool horizontal)
{
Efl_Ui_Dir dir;
- EFL_UI_SLIDER_DATA_GET(obj, sd);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, sd);
dir = _direction_get(horizontal, _is_inverted(sd->dir));
elm_slider_inverted_set(Evas_Object *obj, Eina_Bool inverted)
{
Efl_Ui_Dir dir;
- EFL_UI_SLIDER_DATA_GET(obj, sd);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, sd);
dir = _direction_get(_is_horizontal(sd->dir), inverted);
EAPI void
elm_slider_units_format_function_set(Evas_Object *obj, slider_func_type func, slider_freefunc_type free_func)
{
- EFL_UI_SLIDER_DATA_GET(obj, sd);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, sd);
sd->units_format_func = func;
sd->units_format_free = free_func;
EAPI void
elm_slider_range_enabled_set(Evas_Object *obj, Eina_Bool enable)
{
- EFL_UI_SLIDER_DATA_GET(obj, sd);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, sd);
if (sd->intvl_enable == enable) return;
EAPI Eina_Bool
elm_slider_range_enabled_get(const Evas_Object *obj)
{
- EFL_UI_SLIDER_DATA_GET(obj, pd);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, pd, EINA_FALSE);
return pd->intvl_enable;
}
EAPI void
elm_slider_range_set(Evas_Object *obj, double from, double to)
{
- EFL_UI_SLIDER_DATA_GET(obj, pd);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, pd);
pd->intvl_from = from;
pd->val = from;
pd->intvl_to = to;
EAPI void
elm_slider_range_get(const Evas_Object *obj, double *from, double *to)
{
- EFL_UI_SLIDER_DATA_GET(obj, pd);
+ EFL_UI_SLIDER_DATA_GET_OR_RETURN(obj, pd);
if (from) *from = fmin(pd->intvl_from, pd->intvl_to);
if (to) *to = fmax(pd->intvl_from, pd->intvl_to);
}
Elm.Widget.focus_direction_manager_is;
Elm.Widget.on_focus_update;
Elm.Widget.widget_event;
- Efl.Ui.Range.span_size { get; set; }
Efl.Ui.Range.range_value { get; set; }
Efl.Ui.Range.range_unit_format { get; set; }
Efl.Ui.Range.range_min_max {get; set; }
Efl.Access.Value.range { get; }
Efl.Access.Value.increment { get; }
Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
- Efl.Part.part;
Efl.Text.text { get; set; }
}
events {
+++ /dev/null
-class Efl.Ui.Slider.Part (Efl.Ui.Layout.Part_Content, Efl.Gfx.Size.Hint)
-{
- [[Elementary slider internal part class]]
- data: null;
- implements {
- Efl.Gfx.Size.Hint.hint_min { set; get; }
- }
-}
#define EFL_UI_SLIDER_DATA_GET(o, sd) \
Efl_Ui_Slider_Data * sd = efl_data_scope_get(o, EFL_UI_SLIDER_CLASS)
-#define EFL_UI_SLIDER_DATA_GET_OR_RETURN(o, ptr) \
- EFL_UI_SLIDER_DATA_GET(o, ptr); \
- if (EINA_UNLIKELY(!ptr)) \
+#define EFL_UI_SLIDER_DATA_GET_OR_RETURN(o, sd, ...) \
+ Efl_Ui_Slider_Data * sd = efl_data_scope_safe_get(o, EFL_UI_SLIDER_CLASS); \
+ if (EINA_UNLIKELY(!sd)) \
{ \
- CRI("No widget data for object %p (%s)", \
+ ERR("No widget data for object %p (%s)", \
o, evas_object_type_get(o)); \
- return; \
+ return __VA_ARGS__; \
}
-#define EFL_UI_SLIDER_DATA_GET_OR_RETURN_VAL(o, ptr, val) \
- EFL_UI_SLIDER_DATA_GET(o, ptr); \
- if (EINA_UNLIKELY(!ptr)) \
- { \
- CRI("No widget data for object %p (%s)", \
- o, evas_object_type_get(o)); \
- return val; \
- }
-
-#define EFL_UI_SLIDER_CHECK(obj) \
- if (EINA_UNLIKELY(!efl_isa((obj), EFL_UI_SLIDER_CLASS))) \
- return
-
#endif