test layout.

SVN revision: 36492
This commit is contained in:
Carsten Haitzler 2008-10-07 07:45:49 +00:00
parent 2eee18b46f
commit a6026e95cb
9 changed files with 146 additions and 4 deletions

View File

@ -55,4 +55,5 @@ src/bin/Makefile
data/Makefile
data/themes/Makefile
data/images/Makefile
data/objects/Makefile
])

View File

@ -1,3 +1,3 @@
AUTOMAKE_OPTIONS = 1.4 foreign
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = themes images
SUBDIRS = themes images objects

View File

@ -0,0 +1,20 @@
AUTOMAKE_OPTIONS = 1.4 foreign
MAINTAINERCLEANFILES = Makefile.in
EDJE_CC = edje_cc
EDJE_FLAGS = -v -id $(top_srcdir)/data -fd $(top_srcdir)/data
filesdir = $(datadir)/elementary/objects
files_DATA = test.edj
EXTRA_DIST = \
test.edc over.png under.png
test.edj: Makefile $(EXTRA_DIST)
$(EDJE_CC) $(EDJE_FLAGS) \
$(top_srcdir)/data/objects/test.edc \
$(top_builddir)/data/objects/test.edj
clean-local:
rm -f *.edj

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -0,0 +1,61 @@
collections {
group { name: "layout";
images {
image: "over.png" COMP;
image: "under.png" COMP;
}
parts {
part { name: "under";
description { state: "default" 0.0;
align: 0.5 0.0;
aspect: 1.486068111 1.486068111;
aspect_preference: HORIZONTAL;
image.normal: "under.png";
}
}
part { name: "element1";
type: SWALLOW;
description { state: "default" 0.0;
rel1 {
relative: 0.2 0.2;
}
rel2 {
relative: 0.4 0.3;
}
}
}
part { name: "element2";
type: SWALLOW;
description { state: "default" 0.0;
rel1 {
relative: 0.6 0.3;
}
rel2 {
relative: 0.9 0.5;
}
}
}
part { name: "element3";
type: SWALLOW;
description { state: "default" 0.0;
rel1 {
relative: 0.1 0.7;
}
rel2 {
relative: 0.9 0.9;
}
}
}
part { name: "over";
description { state: "default" 0.0;
align: 0.0 1.0;
aspect: 2.238095238 2.238095238;
max: 329 147;
aspect_preference: HORIZONTAL;
image.normal: "over.png";
}
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -312,7 +312,6 @@ static void
my_bt_8(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *win, *bg, *tb, *bt;
char buf[PATH_MAX];
win = elm_win_add(NULL, "table", ELM_WIN_BASIC);
elm_win_title_set(win, "Table");
@ -377,7 +376,6 @@ static void
my_bt_9(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *win, *bg, *bx, *ck;
char buf[PATH_MAX];
win = elm_win_add(NULL, "clock", ELM_WIN_BASIC);
elm_win_title_set(win, "Clock");
@ -424,6 +422,46 @@ my_bt_9(void *data, Evas_Object *obj, void *event_info)
evas_object_show(win);
}
static void
my_bt_10(void *data, Evas_Object *obj, void *event_info)
{
Evas_Object *win, *bg, *ly, *ck, *bt;
char buf[PATH_MAX];
win = elm_win_add(NULL, "layout", ELM_WIN_BASIC);
elm_win_title_set(win, "Layout");
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, 1.0, 1.0);
evas_object_show(bg);
ly = elm_layout_add(win);
snprintf(buf, sizeof(buf), "%s/objects/test.edj", PACKAGE_DATA_DIR);
elm_layout_file_set(ly, buf, "layout");
evas_object_size_hint_weight_set(ly, 1.0, 1.0);
elm_win_resize_object_add(win, ly);
evas_object_show(ly);
bt = elm_button_add(win);
elm_button_label_set(bt, "Button 1");
elm_layout_content_set(ly, "element1", bt);
evas_object_show(bt);
bt = elm_button_add(win);
elm_button_label_set(bt, "Button 2");
elm_layout_content_set(ly, "element2", bt);
evas_object_show(bt);
bt = elm_button_add(win);
elm_button_label_set(bt, "Button 3");
elm_layout_content_set(ly, "element3", bt);
evas_object_show(bt);
evas_object_show(win);
}
static void
my_win_main(void)
{
@ -580,6 +618,13 @@ my_win_main(void)
elm_box_pack_end(bx, bt);
evas_object_show(bt);
bt = elm_button_add(win);
elm_button_label_set(bt, "Layout");
evas_object_smart_callback_add(bt, "clicked", my_bt_10, NULL);
evas_object_size_hint_align_set(bt, -1.0, 0.0);
elm_box_pack_end(bx, bt);
evas_object_show(bt);
/* set an initial window size */
evas_object_resize(win, 320, 320);
/* show the window */

View File

@ -164,10 +164,18 @@ extern "C" {
* "changed" - the user changed the time
*/
EAPI Evas_Object *elm_layout_add(Evas_Object *parent);
EAPI void elm_layout_file_set(Evas_Object *obj, const char *file, const char *group);
EAPI void elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content);
EAPI Evas_Object *elm_layout_edje_get(Evas_Object *obj);
/* smart callbacks elm_win objects will call:
*/
// FIXME: fixes to do
// * current sizing inefficient
// * scroller could do with page up/down/left/right buttons and and idea of
// a page size
// * tab widget focusing (not useful for touchscreen tho...)
//
// FIXME: immediate hitlist for widgets:
// HOVER: select a widget (any) and attach a hover to it - the over will hover

View File

@ -111,7 +111,7 @@ EAPI void
elm_layout_file_set(Evas_Object *obj, const char *file, const char *group)
{
Widget_Data *wd = elm_widget_data_get(obj);
_elm_theme_set(wd->lay, file, group);
edje_object_file_set(wd->lay, file, group);
_sizing_eval(obj);
}
@ -145,3 +145,10 @@ elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *conte
_sizing_eval(obj);
}
}
EAPI Evas_Object *
elm_layout_edje_get(Evas_Object *obj)
{
Widget_Data *wd = elm_widget_data_get(obj);
return wd->lay;
}