Add the Toolbar 9. It's expand mode using "item_centered" style.

If the sum of item min values is larger than the length of window,
the scroll of toolbar works. And if the length of window is larger
than the sum of item min values, items are expanded.


SVN revision: 79263
This commit is contained in:
Jaehwan Kim 2012-11-14 05:14:32 +00:00
parent 2c018f252e
commit d8ac3c0872
3 changed files with 109 additions and 16 deletions

View File

@ -1,7 +1,7 @@
#define ITEM_STATE_ENABLED 0
#define ITEM_STATE_DISABLED 1
#define BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC 16 16
#define TOOLBAR_ITEM_ICON_SIZE 26 26
group { name: "elm/toolbar/base/default";
images {
@ -1005,8 +1005,10 @@ group { name: "elm/toolbar/item/item_centered";
}
}
part { name: "bg";
scale: 1;
mouse_events: 0;
description { state: "default" 0.0;
min: 100 60;
visible: 0;
color: 255 255 255 0;
rel1 {
@ -1082,7 +1084,7 @@ group { name: "elm/toolbar/item/item_centered";
color: 0 0 0 0;
}
description { state: "visible" 0.0;
min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
min: TOOLBAR_ITEM_ICON_SIZE;
fixed: 0 1;
rel1 {
relative: 1.0 1.0;
@ -1112,7 +1114,7 @@ group { name: "elm/toolbar/item/item_centered";
}
rel2.to: "icon_rect";
fixed: 0 1;
min: 0 0;
min: 0 15;
color: 0 0 0 0;
}
description { state: "visible" 0.0;
@ -1139,7 +1141,7 @@ group { name: "elm/toolbar/item/item_centered";
to_y: "elm.text";
}
fixed: 0 1;
min: 0 0;
min: 0 15;
color: 0 0 0 0;
}
}
@ -1159,12 +1161,11 @@ group { name: "elm/toolbar/item/item_centered";
to_x: "padding_right_bottom";
to_y: "padding_left_top";
}
// fixed: 1 1;
fixed: 0 1;
}
description { state: "visible" 0.0;
// fixed: 1 1;
min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
min: TOOLBAR_ITEM_ICON_SIZE;
max: TOOLBAR_ITEM_ICON_SIZE;
rel1 {
relative: 1.0 1.0;
to: "padding_left_top";
@ -1179,8 +1180,8 @@ group { name: "elm/toolbar/item/item_centered";
aspect_preference: BOTH;
}
description { state: "icononly" 0.0;
min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
min: TOOLBAR_ITEM_ICON_SIZE;
max: TOOLBAR_ITEM_ICON_SIZE;
rel1 {
relative: 1.0 1.0;
to: "padding_left_top";
@ -1209,12 +1210,11 @@ group { name: "elm/toolbar/item/item_centered";
to_x: "padding_right_bottom";
to_y: "padding_left_top";
}
// fixed: 1 1;
fixed: 0 1;
}
description { state: "visible" 0.0;
// fixed: 1 1;
min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
min: TOOLBAR_ITEM_ICON_SIZE;
max: TOOLBAR_ITEM_ICON_SIZE;
rel1 {
relative: 1.0 1.0;
to: "padding_left_top";
@ -1229,8 +1229,8 @@ group { name: "elm/toolbar/item/item_centered";
aspect_preference: BOTH;
}
description { state: "icononly" 0.0;
min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
min: TOOLBAR_ITEM_ICON_SIZE;
max: TOOLBAR_ITEM_ICON_SIZE;
rel1 {
relative: 1.0 1.0;
to: "padding_left_top";

View File

@ -63,6 +63,7 @@ void test_toolbar5(void *data, Evas_Object *obj, void *event_info);
void test_toolbar6(void *data, Evas_Object *obj, void *event_info);
void test_toolbar7(void *data, Evas_Object *obj, void *event_info);
void test_toolbar8(void *data, Evas_Object *obj, void *event_info);
void test_toolbar9(void *data, Evas_Object *obj, void *event_info);
void test_hoversel(void *data, Evas_Object *obj, void *event_info);
void test_list(void *data, Evas_Object *obj, void *event_info);
void test_list_horizontal(void *data, Evas_Object *obj, void *event_info);
@ -553,6 +554,7 @@ add_tests:
ADD_TEST(NULL, "Toolbars", "Toolbar 6", test_toolbar6);
ADD_TEST(NULL, "Toolbars", "Toolbar 7", test_toolbar7);
ADD_TEST(NULL, "Toolbars", "Toolbar 8", test_toolbar8);
ADD_TEST(NULL, "Toolbars", "Toolbar 9", test_toolbar9);
//------------------------------//
ADD_TEST(NULL, "Lists", "List", test_list);

View File

@ -950,4 +950,95 @@ test_toolbar8(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_in
evas_object_resize(win, 420, 250);
evas_object_show(win);
}
void
test_toolbar9(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *win, *bx, *tb, *ph, *sl;
Evas_Object *ph1, *ph2, *ph3, *ph4;
Elm_Object_Item *tb_it;
char buf[PATH_MAX];
win = elm_win_util_standard_add("toolbar9", "Toolbar 9");
elm_win_autodel_set(win, EINA_TRUE);
bx = elm_box_add(win);
elm_win_resize_object_add(win, bx);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bx);
tb = elm_toolbar_add(win);
elm_toolbar_homogeneous_set(tb, EINA_FALSE);
elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_EXPAND);
elm_toolbar_transverse_expanded_set(tb, EINA_TRUE);
elm_toolbar_reorder_mode_set(tb, EINA_TRUE);
elm_toolbar_select_mode_set(tb, ELM_OBJECT_SELECT_MODE_ALWAYS);
elm_object_style_set(tb, "item_centered");
evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
ph1 = elm_photo_add(win);
ph2 = elm_photo_add(win);
ph3 = elm_photo_add(win);
ph4 = elm_photo_add(win);
tb_it = elm_toolbar_item_append(tb, "document-print", "Hello", _tb_sel1_cb, ph1);
tb_it = elm_toolbar_item_append(tb, "folder-new", "World", _tb_sel2_cb, ph1);
tb_it = elm_toolbar_item_append(tb, "object-rotate-right", "H", _tb_sel3_cb, ph4);
tb_it = elm_toolbar_item_append(tb, "mail-send", "Comes", _tb_sel4_cb, ph4);
tb_it = elm_toolbar_item_append(tb, "edit-cut", "Shrink", _tb_sel4_cb, ph4);
tb_it = elm_toolbar_item_append(tb, "edit-copy", "Mode", _tb_sel4_cb, ph4);
tb_it = elm_toolbar_item_append(tb, "edit-paste", "is set to", _tb_sel4_cb, ph4);
tb_it = elm_toolbar_item_append(tb, "edit-delete", "Menu", _tb_sel4_cb, ph4);
tb_it = elm_toolbar_item_append(tb, "clock", "Elementary", _tb_sel5_cb, ph4);
evas_object_smart_callback_add(tb, "clicked", toolbar_clicked_cb, NULL);
elm_box_pack_end(bx, tb);
evas_object_show(tb);
tb = elm_table_add(win);
evas_object_size_hint_weight_set(tb, 0.0, EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
ph = ph1;
elm_photo_size_set(ph, 80);
snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
elm_photo_file_set(ph, buf);
evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ph, 0.5, 0.5);
elm_table_pack(tb, ph, 0, 0, 1, 1);
evas_object_show(ph);
ph = ph2;
elm_photo_size_set(ph, 160);
evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ph, 0.5, 0.5);
elm_table_pack(tb, ph, 1, 0, 1, 1);
evas_object_show(ph);
ph = ph3;
elm_photo_size_set(ph, 40);
snprintf(buf, sizeof(buf), "%s/images/sky_01.jpg", elm_app_data_dir_get());
elm_photo_file_set(ph, buf);
evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ph, 0.5, 0.5);
elm_table_pack(tb, ph, 0, 1, 1, 1);
evas_object_show(ph);
ph = ph4;
elm_photo_size_set(ph, 120);
snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get());
elm_photo_file_set(ph, buf);
evas_object_size_hint_weight_set(ph, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ph, 0.5, 0.5);
elm_table_pack(tb, ph, 1, 1, 1, 1);
evas_object_show(ph);
elm_box_pack_end(bx, tb);
evas_object_show(tb);
evas_object_resize(win, 420, 250);
evas_object_show(win);
}
#endif