forked from enlightenment/efl
Add right orientation to elm panel widget
And create a new test for panel, a bit more complex, that should be extended to show panels with all the 4 orientations, when they're implemented. SVN revision: 49202
This commit is contained in:
parent
7d57c9c432
commit
46762b882e
|
@ -23201,6 +23201,298 @@ collections {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
group {
|
||||||
|
name: "elm/panel/base/right";
|
||||||
|
images
|
||||||
|
{
|
||||||
|
image: "bt_base1.png" COMP;
|
||||||
|
image: "bt_hilight.png" COMP;
|
||||||
|
image: "bt_shine.png" COMP;
|
||||||
|
image: "bt_glow.png" COMP;
|
||||||
|
image: "bt_dis_base.png" COMP;
|
||||||
|
image: "icon_arrow_left.png" COMP;
|
||||||
|
image: "icon_arrow_right.png" COMP;
|
||||||
|
}
|
||||||
|
parts
|
||||||
|
{
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "bg";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
rel1.relative: 1 0;
|
||||||
|
rel2.offset: -31 0;
|
||||||
|
}
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "visible" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
rel1.relative: 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "base";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 0;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1
|
||||||
|
{
|
||||||
|
offset: 20 0;
|
||||||
|
to_x: "bg";
|
||||||
|
}
|
||||||
|
rel2.offset: -1 -1;
|
||||||
|
image
|
||||||
|
{
|
||||||
|
normal: "bt_dis_base.png";
|
||||||
|
border: 4 4 4 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "clipper";
|
||||||
|
type: RECT;
|
||||||
|
mouse_events: 0;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1
|
||||||
|
{
|
||||||
|
offset: 4 4;
|
||||||
|
to: "base";
|
||||||
|
}
|
||||||
|
rel2
|
||||||
|
{
|
||||||
|
offset: -5 -5;
|
||||||
|
to: "base";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "elm.swallow.content";
|
||||||
|
type: SWALLOW;
|
||||||
|
clip_to: "clipper";
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "clipper";
|
||||||
|
rel2.to: "clipper";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "btn";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 1;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
max: 32 48;
|
||||||
|
fixed: 1 1;
|
||||||
|
align: 1 0.5;
|
||||||
|
rel1
|
||||||
|
{
|
||||||
|
to_x: "bg";
|
||||||
|
}
|
||||||
|
rel2
|
||||||
|
{
|
||||||
|
offset: 2 0;
|
||||||
|
relative: 0.0 1;
|
||||||
|
to_x: "base";
|
||||||
|
}
|
||||||
|
image
|
||||||
|
{
|
||||||
|
normal: "bt_base1.png";
|
||||||
|
border: 5 0 4 12;
|
||||||
|
}
|
||||||
|
fill.smooth: 0;
|
||||||
|
}
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "clicked" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "btn_over";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 0;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "btn";
|
||||||
|
rel2
|
||||||
|
{
|
||||||
|
relative: 1.0 0.5;
|
||||||
|
to: "btn";
|
||||||
|
}
|
||||||
|
image
|
||||||
|
{
|
||||||
|
normal: "bt_hilight.png";
|
||||||
|
border: 7 0 7 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "btn_over2";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 1;
|
||||||
|
repeat_events: 1;
|
||||||
|
ignore_flags: ON_HOLD;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "btn";
|
||||||
|
rel2.to: "btn";
|
||||||
|
image
|
||||||
|
{
|
||||||
|
normal: "bt_shine.png";
|
||||||
|
border: 7 0 7 7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "btn_over3";
|
||||||
|
type: IMAGE;
|
||||||
|
mouse_events: 1;
|
||||||
|
repeat_events: 1;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
rel1.to: "btn";
|
||||||
|
rel2.to: "btn";
|
||||||
|
image
|
||||||
|
{
|
||||||
|
normal: "bt_glow.png";
|
||||||
|
border: 12 12 12 12;
|
||||||
|
}
|
||||||
|
fill.smooth: 0;
|
||||||
|
}
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "clicked" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
visible: 1;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
part
|
||||||
|
{
|
||||||
|
name: "btn_icon";
|
||||||
|
type: IMAGE;
|
||||||
|
repeat_events: 1;
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "btn";
|
||||||
|
rel2.to: "btn";
|
||||||
|
align: 0.5 0.5;
|
||||||
|
min: 16 16;
|
||||||
|
max: 16 16;
|
||||||
|
image.normal: "icon_arrow_left.png";
|
||||||
|
}
|
||||||
|
description
|
||||||
|
{
|
||||||
|
state: "visible" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
image.normal: "icon_arrow_right.png";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
programs
|
||||||
|
{
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "show";
|
||||||
|
signal: "elm,action,show";
|
||||||
|
source: "elm";
|
||||||
|
action: STATE_SET "visible" 0.0;
|
||||||
|
target: "bg";
|
||||||
|
target: "btn_icon";
|
||||||
|
transition: LINEAR 0.5;
|
||||||
|
}
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "show2";
|
||||||
|
signal: "show";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "bg";
|
||||||
|
target: "btn_icon";
|
||||||
|
after: "show3";
|
||||||
|
}
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "show3";
|
||||||
|
action: STATE_SET "visible" 0.0;
|
||||||
|
target: "bg";
|
||||||
|
target: "btn_icon";
|
||||||
|
transition: LINEAR 0.5;
|
||||||
|
}
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "hide";
|
||||||
|
signal: "elm,action,hide";
|
||||||
|
source: "elm";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "bg";
|
||||||
|
target: "btn_icon";
|
||||||
|
transition: LINEAR 0.5;
|
||||||
|
}
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "btn_click";
|
||||||
|
signal: "mouse,down,1";
|
||||||
|
source: "btn_over2";
|
||||||
|
action: STATE_SET "clicked" 0.0;
|
||||||
|
target: "btn";
|
||||||
|
}
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "btn_unclick";
|
||||||
|
signal: "mouse,up,1";
|
||||||
|
source: "btn_over2";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "btn";
|
||||||
|
}
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "btn_click2";
|
||||||
|
signal: "mouse,down,1";
|
||||||
|
source: "btn_over3";
|
||||||
|
action: STATE_SET "clicked" 0.0;
|
||||||
|
target: "btn_over3";
|
||||||
|
}
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "btn_unclick2";
|
||||||
|
signal: "mouse,up,1";
|
||||||
|
source: "btn_over3";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
transition: DECELERATE 0.5;
|
||||||
|
target: "btn_over3";
|
||||||
|
}
|
||||||
|
program
|
||||||
|
{
|
||||||
|
name: "btn_unclick3";
|
||||||
|
signal: "mouse,up,1";
|
||||||
|
source: "btn_over2";
|
||||||
|
action: SIGNAL_EMIT "elm,action,panel,toggle" "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
group { name: "elm/conformant/base/default";
|
group { name: "elm/conformant/base/default";
|
||||||
parts {
|
parts {
|
||||||
|
|
|
@ -63,6 +63,7 @@ void test_notify(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_slideshow(void *data, Evas_Object *obj, void *event_info);
|
void test_slideshow(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_menu(void *data, Evas_Object *obj, void *event_info);
|
void test_menu(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_panel(void *data, Evas_Object *obj, void *event_info);
|
void test_panel(void *data, Evas_Object *obj, void *event_info);
|
||||||
|
void test_panel2(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_map(void *data, Evas_Object *obj, void *event_info);
|
void test_map(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_weather(void *data, Evas_Object *obj, void *event_info);
|
void test_weather(void *data, Evas_Object *obj, void *event_info);
|
||||||
void test_flip(void *data, Evas_Object *obj, void *event_info);
|
void test_flip(void *data, Evas_Object *obj, void *event_info);
|
||||||
|
@ -258,6 +259,7 @@ my_win_main(void)
|
||||||
ADD_TEST("Slideshow", test_slideshow);
|
ADD_TEST("Slideshow", test_slideshow);
|
||||||
ADD_TEST("Menu", test_menu);
|
ADD_TEST("Menu", test_menu);
|
||||||
ADD_TEST("Panel", test_panel);
|
ADD_TEST("Panel", test_panel);
|
||||||
|
ADD_TEST("Panel 2", test_panel2);
|
||||||
ADD_TEST("Map", test_map);
|
ADD_TEST("Map", test_map);
|
||||||
ADD_TEST("Weather", test_weather);
|
ADD_TEST("Weather", test_weather);
|
||||||
ADD_TEST("Flip", test_flip);
|
ADD_TEST("Flip", test_flip);
|
||||||
|
|
|
@ -160,4 +160,102 @@ _dir_has_subs(const char *path)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
test_panel2(void *data, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
Evas_Object *win, *bg, *panel, *bx, *vbx, *toolbar, *ic;
|
||||||
|
char buf[PATH_MAX];
|
||||||
|
Evas_Object *list;
|
||||||
|
|
||||||
|
win = elm_win_add(NULL, "panel", ELM_WIN_BASIC);
|
||||||
|
elm_win_title_set(win, "Panel");
|
||||||
|
elm_win_autodel_set(win, 1);
|
||||||
|
|
||||||
|
bg = elm_bg_add(win);
|
||||||
|
elm_win_resize_object_add(win, bg);
|
||||||
|
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_show(bg);
|
||||||
|
|
||||||
|
vbx = elm_box_add(win);
|
||||||
|
elm_win_resize_object_add(win, vbx);
|
||||||
|
evas_object_size_hint_weight_set(vbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(vbx, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
evas_object_show(vbx);
|
||||||
|
|
||||||
|
bx = elm_box_add(win);
|
||||||
|
elm_box_horizontal_set(bx, EINA_TRUE);
|
||||||
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
evas_object_show(bx);
|
||||||
|
|
||||||
|
panel = elm_panel_add(win);
|
||||||
|
elm_panel_orient_set(panel, ELM_PANEL_ORIENT_LEFT);
|
||||||
|
evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(panel, 0, EVAS_HINT_FILL);
|
||||||
|
|
||||||
|
itc.item_style = "default";
|
||||||
|
itc.func.label_get = _label_get;
|
||||||
|
itc.func.icon_get = _icon_get;
|
||||||
|
itc.func.state_get = _state_get;
|
||||||
|
itc.func.del = _item_del;
|
||||||
|
|
||||||
|
list = elm_genlist_add(win);
|
||||||
|
evas_object_size_hint_min_set(list, 100, -1);
|
||||||
|
evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
evas_object_show(list);
|
||||||
|
|
||||||
|
elm_panel_content_set(panel, list);
|
||||||
|
|
||||||
|
elm_box_pack_end(bx, panel);
|
||||||
|
evas_object_show(panel);
|
||||||
|
|
||||||
|
_fill_list(list);
|
||||||
|
|
||||||
|
panel = elm_panel_add(win);
|
||||||
|
elm_panel_orient_set(panel, ELM_PANEL_ORIENT_RIGHT);
|
||||||
|
evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(panel, 1, EVAS_HINT_FILL);
|
||||||
|
|
||||||
|
list = elm_genlist_add(win);
|
||||||
|
evas_object_size_hint_min_set(list, 100, -1);
|
||||||
|
evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
evas_object_show(list);
|
||||||
|
|
||||||
|
elm_panel_content_set(panel, list);
|
||||||
|
|
||||||
|
elm_box_pack_end(bx, panel);
|
||||||
|
evas_object_show(panel);
|
||||||
|
|
||||||
|
_fill_list(list);
|
||||||
|
|
||||||
|
elm_box_pack_end(vbx, bx);
|
||||||
|
|
||||||
|
toolbar = elm_toolbar_add(win);
|
||||||
|
elm_toolbar_homogenous_set(toolbar, 0);
|
||||||
|
elm_toolbar_scrollable_set(toolbar, 0);
|
||||||
|
evas_object_size_hint_weight_set(toolbar, EVAS_HINT_EXPAND, 0);
|
||||||
|
evas_object_size_hint_align_set(toolbar, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
evas_object_show(toolbar);
|
||||||
|
|
||||||
|
ic = elm_icon_add(win);
|
||||||
|
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
|
||||||
|
elm_icon_file_set(ic, buf, NULL);
|
||||||
|
elm_toolbar_item_add(toolbar, ic, "Hello", NULL, NULL);
|
||||||
|
|
||||||
|
panel = elm_panel_add(win);
|
||||||
|
elm_panel_orient_set(panel, ELM_PANEL_ORIENT_LEFT);
|
||||||
|
evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, 0);
|
||||||
|
evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
|
||||||
|
elm_panel_content_set(panel, toolbar);
|
||||||
|
elm_box_pack_end(vbx, panel);
|
||||||
|
evas_object_show(panel);
|
||||||
|
|
||||||
|
evas_object_resize(win, 320, 400);
|
||||||
|
evas_object_show(win);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* ELM_PANEL_ORIENT_BOTTOM
|
* ELM_PANEL_ORIENT_BOTTOM
|
||||||
* ELM_PANEL_ORIENT_LEFT
|
* ELM_PANEL_ORIENT_LEFT
|
||||||
* ELM_PANEL_ORIENT_RIGHT
|
* ELM_PANEL_ORIENT_RIGHT
|
||||||
* NOTE: Only LEFT orientation is implemented.
|
* NOTE: Only LEFT and RIGHT orientations are implemented.
|
||||||
*
|
*
|
||||||
* THIS WIDGET IS UNDER CONSTRUCTION!
|
* THIS WIDGET IS UNDER CONSTRUCTION!
|
||||||
*/
|
*/
|
||||||
|
@ -187,7 +187,7 @@ elm_panel_add(Evas_Object *parent)
|
||||||
* ELM_PANEL_ORIENT_LEFT
|
* ELM_PANEL_ORIENT_LEFT
|
||||||
* ELM_PANEL_ORIENT_RIGHT
|
* ELM_PANEL_ORIENT_RIGHT
|
||||||
*
|
*
|
||||||
* NOTE: Currently all orientations but LEFT are unimplemented.
|
* NOTE: Only LEFT and RIGHT orientations are implemented.
|
||||||
*
|
*
|
||||||
* @ingroup Panel
|
* @ingroup Panel
|
||||||
*/
|
*/
|
||||||
|
@ -205,7 +205,9 @@ elm_panel_orient_set(Evas_Object *obj, Elm_Panel_Orient orient)
|
||||||
break;
|
break;
|
||||||
case ELM_PANEL_ORIENT_LEFT:
|
case ELM_PANEL_ORIENT_LEFT:
|
||||||
elm_smart_scroller_object_theme_set(obj, wd->scr, "panel", "base", "left");
|
elm_smart_scroller_object_theme_set(obj, wd->scr, "panel", "base", "left");
|
||||||
|
break;
|
||||||
case ELM_PANEL_ORIENT_RIGHT:
|
case ELM_PANEL_ORIENT_RIGHT:
|
||||||
|
elm_smart_scroller_object_theme_set(obj, wd->scr, "panel", "base", "right");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue