forked from enlightenment/efl
elm_panel: show/hide panel according to hidden status
when panel becomes non-scrollable by elm_panel_scrollable_set() function, the panel needs to be shown/hidden according to the hidden status. this patch implements it.
This commit is contained in:
parent
368ab45b26
commit
dab4d8d8a4
|
@ -541,6 +541,21 @@ group { name: "elm/panel/left/default";
|
||||||
set_state(PART:"icn", "hidden", 0.0);
|
set_state(PART:"icn", "hidden", 0.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
program {
|
||||||
|
signal: "elm,action,show,no_animate"; source: "elm";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "elm.swallow.event";
|
||||||
|
target: "base";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "elm,action,show,no_animate"; source: "elm";
|
||||||
|
script {
|
||||||
|
if (get_int(is_rtl) == 0)
|
||||||
|
set_state(PART:"icn", "default", 0.0);
|
||||||
|
else
|
||||||
|
set_state(PART:"icn", "hidden", 0.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
program {
|
program {
|
||||||
signal: "edje,state,rtl";
|
signal: "edje,state,rtl";
|
||||||
source: "edje";
|
source: "edje";
|
||||||
|
@ -611,6 +626,46 @@ group { name: "elm/panel/left/default";
|
||||||
transition: ACCELERATE 0.3;
|
transition: ACCELERATE 0.3;
|
||||||
target: "base";
|
target: "base";
|
||||||
}
|
}
|
||||||
|
program {
|
||||||
|
signal: "elm,action,hide,no_animate"; source: "elm";
|
||||||
|
action: STATE_SET "hidden" 0.0;
|
||||||
|
target: "elm.swallow.event";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "elm,action,hide,no_animate"; source: "elm";
|
||||||
|
script {
|
||||||
|
if (get_int(is_rtl) == 0)
|
||||||
|
set_state(PART:"icn", "hidden", 0.0);
|
||||||
|
else
|
||||||
|
set_state(PART:"icn", "default", 0.0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program { name: "hide1_no_animate";
|
||||||
|
signal: "elm,action,hide,no_animate"; source: "elm";
|
||||||
|
script {
|
||||||
|
new x, y, w, h;
|
||||||
|
if (get_int(is_rtl) == 0)
|
||||||
|
{
|
||||||
|
custom_state(PART:"base", "default", 0.0);
|
||||||
|
set_state_val(PART:"base", STATE_REL1, -1.0, 0.0);
|
||||||
|
get_geometry(PART:"elm.swallow.event", x, y, w, h);
|
||||||
|
set_state_val(PART:"base", STATE_REL1_OFFSET, w, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
custom_state(PART:"base", "default", 0.0);
|
||||||
|
set_state_val(PART:"base", STATE_REL1, -1.0, 0.0);
|
||||||
|
set_state_val(PART:"base", STATE_REL2, -2.0, 1.0);
|
||||||
|
get_geometry(PART:"elm.swallow.event", x, y, w, h);
|
||||||
|
set_state_val(PART:"base", STATE_REL2_OFFSET, -w, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
after: "hide2_no_animate";
|
||||||
|
}
|
||||||
|
program { name: "hide2_no_animate";
|
||||||
|
action: STATE_SET "custom" 0.0;
|
||||||
|
target: "base";
|
||||||
|
}
|
||||||
program {
|
program {
|
||||||
signal: "elm,action,focus_highlight,show"; source: "elm";
|
signal: "elm,action,focus_highlight,show"; source: "elm";
|
||||||
action: STATE_SET "focused" 0.0;
|
action: STATE_SET "focused" 0.0;
|
||||||
|
|
|
@ -1442,6 +1442,20 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, Eina_Bool scrollable)
|
||||||
|
|
||||||
_orient_set_do(obj);
|
_orient_set_do(obj);
|
||||||
|
|
||||||
|
if (sd->hidden)
|
||||||
|
{
|
||||||
|
elm_layout_signal_emit(obj, "elm,action,hide,no_animate", "elm");
|
||||||
|
evas_object_repeat_events_set(obj, EINA_TRUE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
elm_layout_signal_emit(obj, "elm,action,show,no_animate", "elm");
|
||||||
|
evas_object_repeat_events_set(obj, EINA_FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
elm_widget_tree_unfocusable_set(obj, sd->hidden);
|
||||||
|
edje_object_message_signal_process(sd->panel_edje);
|
||||||
|
|
||||||
evas_object_hide(sd->scr_ly);
|
evas_object_hide(sd->scr_ly);
|
||||||
elm_layout_content_unset(sd->scr_ly, "elm.swallow.content");
|
elm_layout_content_unset(sd->scr_ly, "elm.swallow.content");
|
||||||
efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"), sd->bx);
|
efl_content_set(efl_part(efl_super(obj, MY_CLASS), "elm.swallow.content"), sd->bx);
|
||||||
|
|
Loading…
Reference in New Issue