forked from enlightenment/efl
efl_ui_spin: apply new theme set policy
Summary: Applied new theme group name. Moved logic in finalize to constructor. Test Plan: Run elementary_test->Efl.Ui.Spin, Efl.Ui.Spin.Button, Part_Background Reviewers: jpeg, woohyun, CHAN Reviewed By: CHAN Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D5592
This commit is contained in:
parent
e29b9e5371
commit
1503fb5359
|
@ -145,8 +145,6 @@ elementary/themes/edc/elm/separator.edc \
|
|||
elementary/themes/edc/elm/slider.edc \
|
||||
elementary/themes/edc/elm/slideshow.edc \
|
||||
elementary/themes/edc/elm/spinner.edc \
|
||||
elementary/themes/edc/elm/spin.edc \
|
||||
elementary/themes/edc/elm/spin_button.edc \
|
||||
elementary/themes/edc/elm/textpath.edc \
|
||||
elementary/themes/edc/elm/thumb.edc \
|
||||
elementary/themes/edc/elm/toolbar.edc \
|
||||
|
@ -1033,6 +1031,8 @@ elementary/themes/edc/efl/progress.edc \
|
|||
elementary/themes/edc/efl/radio.edc \
|
||||
elementary/themes/edc/efl/scroller.edc \
|
||||
elementary/themes/edc/efl/slider.edc \
|
||||
elementary/themes/edc/efl/spin.edc \
|
||||
elementary/themes/edc/efl/spin_button.edc \
|
||||
elementary/themes/edc/efl/text.edc \
|
||||
elementary/themes/edc/efl/textpath.edc \
|
||||
elementary/themes/edc/efl/tooltip.edc \
|
||||
|
|
|
@ -66,8 +66,6 @@ collections {
|
|||
#include "edc/elm/border.edc"
|
||||
// XXX: min size calc problems - too wide! ... err ok on my 32bit box... eh?
|
||||
#include "edc/elm/spinner.edc"
|
||||
#include "edc/elm/spin.edc"
|
||||
#include "edc/elm/spin_button.edc"
|
||||
#include "edc/elm/menu.edc"
|
||||
#include "edc/elm/clock.edc"
|
||||
#include "edc/elm/gengrid.edc"
|
||||
|
@ -187,6 +185,8 @@ collections {
|
|||
#include "edc/efl/photocam.edc"
|
||||
#include "edc/efl/progress.edc"
|
||||
#include "edc/efl/border.edc"
|
||||
#include "edc/efl/spin.edc"
|
||||
#include "edc/efl/spin_button.edc"
|
||||
// XXX: min size calc problems - too wide! ... err ok on my 32bit box... eh?
|
||||
#include "edc/efl/cursor.edc"
|
||||
#include "edc/efl/textpath.edc"
|
||||
|
|
|
@ -1,17 +1,15 @@
|
|||
group { name: "elm/spin/base/default";
|
||||
group { "efl/spin";
|
||||
parts {
|
||||
part { name: "bg";
|
||||
type: RECT;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
rect { "bg";
|
||||
scale;
|
||||
desc { "default";
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part { name: "elm.text";
|
||||
type: TEXT;
|
||||
mouse_events: 0;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
text { "elm.text";
|
||||
nomouse;
|
||||
scale;
|
||||
desc { "default";
|
||||
color: FN_COL_DEFAULT;
|
||||
text {
|
||||
font: FNBD;
|
|
@ -1,21 +1,19 @@
|
|||
group { name: "elm/spin_button/base/default";
|
||||
group { "efl/spin_button";
|
||||
images.image: "vert_bar_inset.png" COMP;
|
||||
parts {
|
||||
part { name: "clip"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "elm.swallow.text_button";
|
||||
rel2.to: "elm.swallow.text_button";
|
||||
rect { "clip";
|
||||
desc { "default";
|
||||
rel.to: "elm.swallow.text_button";
|
||||
}
|
||||
}
|
||||
part { name: "bg";
|
||||
type: RECT;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
rect { "bg";
|
||||
scale;
|
||||
desc { "default";
|
||||
color_class: "spinner_bg";
|
||||
}
|
||||
}
|
||||
part { name: "inset"; mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
image { "inset"; nomouse;
|
||||
desc { "default";
|
||||
rel1.offset: 0 1;
|
||||
rel2.offset: -1 -2;
|
||||
image.normal: "vert_bar_inset.png";
|
||||
|
@ -24,39 +22,36 @@ group { name: "elm/spin_button/base/default";
|
|||
fill.smooth: 0;
|
||||
}
|
||||
}
|
||||
part { name: "access";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description { state: "default" 0.0;
|
||||
rect { "access";
|
||||
repeat;
|
||||
desc { "default";
|
||||
fixed: 1 1;
|
||||
color: 0 0 0 0;
|
||||
rel1.to: "inset";
|
||||
rel2.to: "inset";
|
||||
visible: 0;
|
||||
hid;
|
||||
}
|
||||
description { state: "active" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
desc { "active";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
part { name: "elm.swallow.entry";
|
||||
type: SWALLOW;
|
||||
clip_to: "clip";
|
||||
description { state: "default" 0.0;
|
||||
swallow { "elm.swallow.entry";
|
||||
clip: "clip";
|
||||
desc { "default";
|
||||
fixed: 1 1;
|
||||
rel1.to: "elm.swallow.text_button";
|
||||
rel2.to: "elm.swallow.text_button";
|
||||
visible: 0;
|
||||
hid;
|
||||
}
|
||||
description { state: "active" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
desc { "active";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
part { name: "elm.swallow.dec_button";
|
||||
type: SWALLOW;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
swallow { "elm.swallow.dec_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
fixed: 1 0;
|
||||
rel1.to: "inset";
|
||||
rel1.offset: 1 1;
|
||||
|
@ -68,10 +63,9 @@ group { name: "elm/spin_button/base/default";
|
|||
aspect: 1.0 1.0; aspect_preference: VERTICAL;
|
||||
}
|
||||
}
|
||||
part { name: "elm.swallow.inc_button";
|
||||
type: SWALLOW;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
swallow { "elm.swallow.inc_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
fixed: 1 0;
|
||||
rel1.to: "inset";
|
||||
rel1.offset: 1 1;
|
||||
|
@ -83,11 +77,10 @@ group { name: "elm/spin_button/base/default";
|
|||
aspect: 1.0 1.0; aspect_preference: VERTICAL;
|
||||
}
|
||||
}
|
||||
part { name: "elm.swallow.text_button";
|
||||
type: SWALLOW;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
visible: 1;
|
||||
swallow { "elm.swallow.text_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
vis;
|
||||
rel1.to_y: "inset";
|
||||
rel1.to_x: "elm.swallow.dec_button";
|
||||
rel1.relative: 1.0 0.0;
|
||||
|
@ -97,84 +90,82 @@ group { name: "elm/spin_button/base/default";
|
|||
rel2.relative: 0.0 1.0;
|
||||
rel2.offset: -2 -2;
|
||||
}
|
||||
description { state: "inactive" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 0;
|
||||
desc { "inactive";
|
||||
inherit: "default";
|
||||
hid;
|
||||
}
|
||||
}
|
||||
part { name: "disabler";
|
||||
type: RECT;
|
||||
repeat_events: 0;
|
||||
mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
rect { "disabler";
|
||||
norepeat;
|
||||
nomouse;
|
||||
desc { "default";
|
||||
color: 0 0 0 0;
|
||||
visible: 0;
|
||||
hid;
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
desc { "disabled";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program { name: "entry_active";
|
||||
program { "entry_active";
|
||||
signal: "elm,state,entry,active";
|
||||
source: "elm";
|
||||
action: STATE_SET "active" 0.0;
|
||||
action: STATE_SET "active";
|
||||
target: "elm.swallow.entry";
|
||||
}
|
||||
program { name: "entry_inactive";
|
||||
program { "entry_inactive";
|
||||
signal: "elm,state,entry,inactive";
|
||||
source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
action: STATE_SET "default";
|
||||
target: "elm.swallow.entry";
|
||||
}
|
||||
program { name: "text_button_active";
|
||||
program { "text_button_active";
|
||||
signal: "elm,state,button,active";
|
||||
source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
action: STATE_SET "default";
|
||||
target: "elm.swallow.text_button";
|
||||
}
|
||||
program { name: "text_button_inactive";
|
||||
program { "text_button_inactive";
|
||||
signal: "elm,state,button,inactive";
|
||||
source: "elm";
|
||||
action: STATE_SET "inactive" 0.0;
|
||||
action: STATE_SET "inactive";
|
||||
target: "elm.swallow.text_button";
|
||||
}
|
||||
program { name: "access_activate";
|
||||
program { "access_activate";
|
||||
signal: "elm,state,access,active";
|
||||
source: "elm";
|
||||
action: STATE_SET "active" 0.0;
|
||||
action: STATE_SET "active";
|
||||
target: "access";
|
||||
}
|
||||
program { name: "access_inactivate";
|
||||
program { "access_inactivate";
|
||||
signal: "elm,state,access,inactive";
|
||||
source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
action: STATE_SET "default";
|
||||
target: "access";
|
||||
}
|
||||
program { name: "disable";
|
||||
program { "disable";
|
||||
signal: "elm,state,disabled";
|
||||
source: "elm";
|
||||
action: STATE_SET "disabled" 0.0;
|
||||
action: STATE_SET "disabled";
|
||||
target: "disabler";
|
||||
}
|
||||
program { name: "enable";
|
||||
program { "enable";
|
||||
signal: "elm,state,enabled";
|
||||
source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
action: STATE_SET "default";
|
||||
target: "disabler";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "elm/spin_button/base/vertical";
|
||||
inherit: "elm/spin_button/base/default";
|
||||
group { "efl/spin_button:vertical";
|
||||
inherit: "efl/spin_button";
|
||||
parts {
|
||||
part { name: "elm.swallow.inc_button";
|
||||
type: SWALLOW;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
swallow { "elm.swallow.inc_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
rel1.to: "inset";
|
||||
rel1.offset: 1 1;
|
||||
rel1.relative: 1.0 0.0;
|
||||
|
@ -183,11 +174,10 @@ group { name: "elm/spin_button/base/vertical";
|
|||
align: 1.0 0.5;
|
||||
}
|
||||
}
|
||||
part { name: "elm.swallow.text_button";
|
||||
type: SWALLOW;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
visible: 1;
|
||||
swallow { "elm.swallow.text_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
vis;
|
||||
rel1.to_y: "inset";
|
||||
rel1.to_x: "elm.swallow.dec_button";
|
||||
rel1.relative: 1.0 0.0;
|
||||
|
@ -197,15 +187,14 @@ group { name: "elm/spin_button/base/vertical";
|
|||
rel2.relative: 0.0 1.0;
|
||||
rel2.offset: -2 -2;
|
||||
}
|
||||
description { state: "active" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 0;
|
||||
desc { "active";
|
||||
inherit: "default";
|
||||
hid;
|
||||
}
|
||||
}
|
||||
part { name: "elm.swallow.dec_button";
|
||||
type: SWALLOW;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
swallow { "elm.swallow.dec_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
rel1.to: "inset";
|
||||
rel1.offset: 1 1;
|
||||
rel2.to: "inset";
|
||||
|
@ -216,3 +205,24 @@ group { name: "elm/spin_button/base/vertical";
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { "efl/spin_button/inc_button";
|
||||
inherit: "elm/button/base/spinner/increase/default";
|
||||
}
|
||||
|
||||
group { "efl/spin_button/dec_button";
|
||||
inherit: "elm/button/base/spinner/decrease/default";
|
||||
}
|
||||
|
||||
group { "efl/spin_button/text_button";
|
||||
inherit: "elm/button/base/spinner/default";
|
||||
alias: "efl/spin_button/text_button:vertical";
|
||||
}
|
||||
|
||||
group { "efl/spin_button/inc_button:vertical";
|
||||
inherit: "elm/button/base/spinner/increase/vertical";
|
||||
}
|
||||
|
||||
group { "efl/spin_button/dec_button:vertical";
|
||||
inherit: "elm/button/base/spinner/decrease/vertical";
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
#endif
|
||||
#include <Elementary.h>
|
||||
|
||||
#define MAX_NUM_OF_CONTENT 18
|
||||
#define MAX_NUM_OF_CONTENT 19
|
||||
|
||||
const Efl_Class *content_class[MAX_NUM_OF_CONTENT];
|
||||
|
||||
|
@ -141,6 +141,7 @@ test_part_background(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
|
|||
content_class[15] = EFL_UI_IMAGE_ZOOMABLE_CLASS;
|
||||
content_class[16] = EFL_UI_NSTATE_CLASS;
|
||||
content_class[17] = EFL_UI_SPIN_CLASS;
|
||||
content_class[18] = EFL_UI_SPIN_BUTTON_CLASS;
|
||||
|
||||
win = efl_add(EFL_UI_WIN_CLASS, NULL,
|
||||
efl_text_set(efl_added, "Widget Part Background"),
|
||||
|
|
|
@ -150,19 +150,6 @@ _efl_ui_spin_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Spin_Data *_pd EINA_UNUSED)
|
|||
evas_object_size_hint_max_set(obj, -1, -1);
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Ui_Theme_Apply
|
||||
_efl_ui_spin_elm_widget_theme_apply(Eo *obj, Efl_Ui_Spin_Data *sd EINA_UNUSED)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_FAILED);
|
||||
|
||||
if (!elm_layout_theme_set(obj, "spin", "base", elm_widget_style_get(obj)))
|
||||
CRI("Failed to set layout!");
|
||||
|
||||
elm_layout_sizing_eval(obj);
|
||||
|
||||
return EFL_UI_THEME_APPLY_SUCCESS;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_efl_ui_spin_elm_widget_widget_event(Eo *obj, Efl_Ui_Spin_Data *sd, const Efl_Event *eo_event, Evas_Object *src EINA_UNUSED)
|
||||
{
|
||||
|
@ -187,6 +174,10 @@ _efl_ui_spin_elm_widget_widget_event(Eo *obj, Efl_Ui_Spin_Data *sd, const Efl_Ev
|
|||
EOLIAN static Eo *
|
||||
_efl_ui_spin_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Data *sd)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
|
||||
|
||||
if (!elm_widget_theme_klass_get(obj))
|
||||
elm_widget_theme_klass_set(obj, "spin");
|
||||
obj = efl_constructor(efl_super(obj, MY_CLASS));
|
||||
|
||||
elm_widget_sub_object_parent_add(obj);
|
||||
|
@ -194,8 +185,10 @@ _efl_ui_spin_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Data *sd)
|
|||
sd->val_max = 100.0;
|
||||
sd->step = 1.0;
|
||||
|
||||
if (!elm_layout_theme_set(obj, "spin", "base",
|
||||
elm_widget_style_get(obj)))
|
||||
if (!elm_widget_theme_object_set(obj, wd->resize_obj,
|
||||
elm_widget_theme_klass_get(obj),
|
||||
elm_widget_theme_element_get(obj),
|
||||
elm_widget_theme_style_get(obj)))
|
||||
CRI("Failed to set layout!");
|
||||
|
||||
_label_write(obj);
|
||||
|
@ -206,14 +199,6 @@ _efl_ui_spin_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Data *sd)
|
|||
return obj;
|
||||
}
|
||||
|
||||
EOLIAN static Eo *
|
||||
_efl_ui_spin_efl_object_finalize(Eo *obj, Efl_Ui_Spin_Data *sd EINA_UNUSED)
|
||||
{
|
||||
obj = efl_finalize(efl_super(obj, MY_CLASS));
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_spin_efl_object_destructor(Eo *obj, Efl_Ui_Spin_Data *sd EINA_UNUSED)
|
||||
{
|
||||
|
|
|
@ -10,9 +10,7 @@ class Efl.Ui.Spin (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Format,
|
|||
]]
|
||||
implements {
|
||||
Efl.Object.constructor;
|
||||
Efl.Object.finalize;
|
||||
Efl.Object.destructor;
|
||||
Elm.Widget.theme_apply;
|
||||
Elm.Widget.widget_event;
|
||||
Efl.Ui.Range.range_min_max { get; set; }
|
||||
Efl.Ui.Range.range_step { get; set; }
|
||||
|
|
|
@ -20,6 +20,10 @@
|
|||
|
||||
#define EFL_UI_SPIN_BUTTON_DELAY_CHANGE_TIME 0.2
|
||||
|
||||
static const char PART_NAME_DEC_BUTTON[] = "dec_button";
|
||||
static const char PART_NAME_TEXT_BUTTON[] = "text_button";
|
||||
static const char PART_NAME_INC_BUTTON[] = "inc_button";
|
||||
|
||||
static void
|
||||
_inc_dec_button_clicked_cb(void *data, const Efl_Event *event);
|
||||
static void
|
||||
|
@ -101,13 +105,15 @@ _label_write(Evas_Object *obj)
|
|||
Efl_Ui_Spin_Data *pd = efl_data_scope_get(obj, EFL_UI_SPIN_CLASS);
|
||||
|
||||
if (pd->templates)
|
||||
elm_layout_text_set(sd->text_button, "elm.text", pd->templates);
|
||||
{
|
||||
efl_text_set(sd->text_button, pd->templates);
|
||||
}
|
||||
else
|
||||
{
|
||||
char buf[1024];
|
||||
|
||||
snprintf(buf, sizeof(buf), "%.0f", pd->val);
|
||||
elm_layout_text_set(sd->text_button, "elm.text", buf);
|
||||
efl_text_set(sd->text_button, buf);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -151,9 +157,7 @@ _entry_hide(Evas_Object *obj)
|
|||
Efl_Ui_Spin_Button_Data *sd = efl_data_scope_get(obj, MY_CLASS);
|
||||
|
||||
elm_layout_signal_emit(obj, "elm,state,button,active", "elm");
|
||||
evas_object_show(sd->text_button);
|
||||
elm_layout_signal_emit(obj, "elm,state,entry,inactive", "elm");
|
||||
evas_object_hide(sd->ent);
|
||||
|
||||
if (sd->entry_visible && !evas_focus_state_get(evas_object_evas_get(obj)))
|
||||
sd->entry_reactivate = EINA_TRUE;
|
||||
|
@ -337,7 +341,6 @@ _entry_show_cb(void *data,
|
|||
elm_entry_select_all(obj);
|
||||
sd->entry_visible = EINA_TRUE;
|
||||
elm_layout_signal_emit(data, "elm,state,button,inactive", "elm");
|
||||
evas_object_hide(sd->text_button);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -376,7 +379,6 @@ _toggle_entry(Evas_Object *obj)
|
|||
_entry_focus_changed_cb, obj);
|
||||
sd->entry_visible = EINA_TRUE;
|
||||
elm_layout_signal_emit(obj, "elm,state,entry,active", "elm");
|
||||
evas_object_show(sd->ent);
|
||||
{
|
||||
Eina_List *items = NULL;
|
||||
|
||||
|
@ -617,7 +619,7 @@ _access_info_cb(void *data, Evas_Object *obj EINA_UNUSED)
|
|||
if (sd->entry_visible)
|
||||
txt = elm_object_text_get(sd->ent);
|
||||
else
|
||||
txt = elm_object_text_get(sd->text_button);
|
||||
txt = efl_text_get(sd->text_button);
|
||||
|
||||
if (txt) return strdup(txt);
|
||||
|
||||
|
@ -717,13 +719,14 @@ _access_spinner_register(Evas_Object *obj, Eina_Bool is_access)
|
|||
EOLIAN static Efl_Ui_Theme_Apply
|
||||
_efl_ui_spin_button_elm_widget_theme_apply(Eo *obj, Efl_Ui_Spin_Button_Data *sd EINA_UNUSED)
|
||||
{
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EFL_UI_THEME_APPLY_FAILED);
|
||||
Efl_Ui_Theme_Apply int_ret = EFL_UI_THEME_APPLY_FAILED;
|
||||
|
||||
if (!elm_layout_theme_set(obj, "spin_button", "base", elm_widget_style_get(obj)))
|
||||
CRI("Failed to set layout!");
|
||||
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
|
||||
if (!int_ret) return EFL_UI_THEME_APPLY_FAILED;
|
||||
|
||||
if (sd->ent)
|
||||
{
|
||||
//elm_widget_element_update(obj, sd->ent, PART_NAME_TEXT);
|
||||
Eina_Strbuf *buf = eina_strbuf_new();
|
||||
eina_strbuf_append_printf(buf, "spin_button/%s", elm_widget_style_get(obj));
|
||||
elm_widget_style_set(sd->ent, eina_strbuf_string_get(buf));
|
||||
|
@ -731,56 +734,40 @@ _efl_ui_spin_button_elm_widget_theme_apply(Eo *obj, Efl_Ui_Spin_Button_Data *sd
|
|||
}
|
||||
|
||||
if (sd->inc_button)
|
||||
{
|
||||
Eina_Strbuf *buf = eina_strbuf_new();
|
||||
eina_strbuf_append_printf(buf, "spin_button/increase/%s", elm_widget_style_get(obj));
|
||||
elm_widget_style_set(sd->inc_button, eina_strbuf_string_get(buf));
|
||||
eina_strbuf_free(buf);
|
||||
}
|
||||
elm_widget_element_update(obj, sd->inc_button, PART_NAME_INC_BUTTON);
|
||||
|
||||
if (sd->text_button)
|
||||
{
|
||||
Eina_Strbuf *buf = eina_strbuf_new();
|
||||
eina_strbuf_append_printf(buf, "spin_button/%s", elm_widget_style_get(obj));
|
||||
elm_widget_style_set(sd->text_button, eina_strbuf_string_get(buf));
|
||||
eina_strbuf_free(buf);
|
||||
}
|
||||
elm_widget_element_update(obj, sd->text_button, PART_NAME_TEXT_BUTTON);
|
||||
|
||||
if (sd->dec_button)
|
||||
{
|
||||
Eina_Strbuf *buf = eina_strbuf_new();
|
||||
eina_strbuf_append_printf(buf, "spin_button/decrease/%s", elm_widget_style_get(obj));
|
||||
elm_widget_style_set(sd->dec_button, eina_strbuf_string_get(buf));
|
||||
eina_strbuf_free(buf);
|
||||
}
|
||||
elm_widget_element_update(obj, sd->dec_button, PART_NAME_DEC_BUTTON);
|
||||
|
||||
if (_elm_config->access_mode)
|
||||
_access_spinner_register(obj, EINA_TRUE);
|
||||
|
||||
_label_write(obj);
|
||||
elm_layout_sizing_eval(obj);
|
||||
return EFL_UI_THEME_APPLY_SUCCESS;
|
||||
}
|
||||
|
||||
EOLIAN static Eo *
|
||||
_efl_ui_spin_button_efl_object_finalize(Eo *obj, Efl_Ui_Spin_Button_Data *sd)
|
||||
_efl_ui_spin_button_efl_object_constructor(Eo *obj, Efl_Ui_Spin_Button_Data *sd)
|
||||
{
|
||||
obj = efl_finalize(efl_super(obj, MY_CLASS));
|
||||
if (!elm_widget_theme_klass_get(obj))
|
||||
elm_widget_theme_klass_set(obj, "spin_button");
|
||||
obj = efl_constructor(efl_super(obj, MY_CLASS));
|
||||
|
||||
elm_widget_sub_object_parent_add(obj);
|
||||
|
||||
sd->first_interval = 0.85;
|
||||
|
||||
if (!elm_layout_theme_set(obj, "spin_button", "base",
|
||||
elm_widget_style_get(obj)))
|
||||
CRI("Failed to set layout!");
|
||||
|
||||
sd->inc_button = efl_add(EFL_UI_BUTTON_CLASS, obj,
|
||||
efl_ui_widget_style_set(efl_added, "spinner/increase/default"),
|
||||
elm_widget_element_update(obj, efl_added, PART_NAME_INC_BUTTON),
|
||||
efl_event_callback_array_add(efl_added, _inc_dec_button_cb(), obj),
|
||||
efl_content_set(efl_part(obj, "elm.swallow.inc_button"), efl_added));
|
||||
|
||||
sd->text_button = efl_add(EFL_UI_BUTTON_CLASS, obj,
|
||||
efl_ui_widget_style_set(efl_added, "spinner/default"),
|
||||
elm_widget_element_update(obj, efl_added, PART_NAME_TEXT_BUTTON),
|
||||
efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED,
|
||||
_text_button_clicked_cb, obj),
|
||||
efl_event_callback_add(efl_added, EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_CHANGED,
|
||||
|
@ -788,7 +775,7 @@ _efl_ui_spin_button_efl_object_finalize(Eo *obj, Efl_Ui_Spin_Button_Data *sd)
|
|||
efl_content_set(efl_part(obj, "elm.swallow.text_button"), efl_added));
|
||||
|
||||
sd->dec_button = efl_add(EFL_UI_BUTTON_CLASS, obj,
|
||||
efl_ui_widget_style_set(efl_added, "spinner/decrease/default"),
|
||||
elm_widget_element_update(obj, efl_added, PART_NAME_DEC_BUTTON),
|
||||
efl_event_callback_array_add(efl_added, _inc_dec_button_cb(), obj),
|
||||
efl_content_set(efl_part(obj, "elm.swallow.dec_button"), efl_added));
|
||||
|
||||
|
@ -805,10 +792,8 @@ _efl_ui_spin_button_efl_object_finalize(Eo *obj, Efl_Ui_Spin_Button_Data *sd)
|
|||
elm_layout_signal_callback_add
|
||||
(obj, "elm,action,entry,toggle", "*", _entry_toggle_cb, NULL);
|
||||
|
||||
_label_write(obj);
|
||||
elm_widget_can_focus_set(obj, EINA_TRUE);
|
||||
|
||||
elm_layout_sizing_eval(obj);
|
||||
efl_access_role_set(obj, EFL_ACCESS_ROLE_SPIN_BUTTON);
|
||||
|
||||
return obj;
|
||||
|
|
|
@ -63,7 +63,7 @@ class Efl.Ui.Spin_Button (Efl.Ui.Spin, Efl.Ui.Focus.Composition,
|
|||
}
|
||||
}
|
||||
implements {
|
||||
Efl.Object.finalize;
|
||||
Efl.Object.constructor;
|
||||
Elm.Widget.theme_apply;
|
||||
Elm.Widget.widget_event;
|
||||
Elm.Widget.on_focus_update;
|
||||
|
|
Loading…
Reference in New Issue