kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=39598ed1f7283eb88b2040b26ab1263c6a47bb5c
commit 39598ed1f7283eb88b2040b26ab1263c6a47bb5c Author: Kai Huuhko <[email protected]> Date: Wed Oct 30 11:36:54 2013 +0200 Elementary: More work on the examples. --- examples/elementary/test_3d.py | 7 +- examples/elementary/test_access.py | 8 +- examples/elementary/test_bg.py | 14 ++- examples/elementary/test_box.py | 11 ++- examples/elementary/test_bubble.py | 101 +++++++-------------- examples/elementary/test_button.py | 56 +++++------- examples/elementary/test_calendar.py | 45 ++++----- examples/elementary/test_check.py | 81 +++++++---------- examples/elementary/test_clock.py | 45 +++------ examples/elementary/test_cnp.py | 52 +++++------ examples/elementary/test_colorselector.py | 95 +++++++++---------- .../elementary/test_core_evas_canvas_callbacks.py | 6 ++ 12 files changed, 217 insertions(+), 304 deletions(-) diff --git a/examples/elementary/test_3d.py b/examples/elementary/test_3d.py index 502dd8b..c7838e7 100644 --- a/examples/elementary/test_3d.py +++ b/examples/elementary/test_3d.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # encoding: utf-8 +import os + from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, Image, Map from efl import elementary from efl.elementary.window import StandardWindow @@ -11,6 +13,9 @@ EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL FILL_HORIZ = EVAS_HINT_FILL, 0.5 +img_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images") +ic_file = os.path.join(img_path, "rock_02.jpg") + class Point(object): def __init__(self, x, y, z, u, v): self.x = x @@ -26,7 +31,7 @@ class Side(object): self.points = [] img = Image(eva) - img.file = "images/rock_02.jpg", + img.file = ic_file img.fill = (0, 0, 256, 256) img.smooth_scale = False img.resize(256, 256) diff --git a/examples/elementary/test_access.py b/examples/elementary/test_access.py index 9bf6718..54c8143 100644 --- a/examples/elementary/test_access.py +++ b/examples/elementary/test_access.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # encoding: utf-8 +import os + from efl.evas import EVAS_HINT_FILL, EVAS_HINT_EXPAND, \ EVAS_ASPECT_CONTROL_VERTICAL from efl import elementary @@ -22,6 +24,7 @@ FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL config = Configuration() +img_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images") def cleanup_cb(obj): config.access = False @@ -36,7 +39,7 @@ class GLItC1(GenlistItemClass): size_hint_align=FILL_BOTH, size_hint_weight=EXPAND_BOTH, ) else: - bt = Icon(gl, file="images/logo_small.png", + bt = Icon(gl, file=os.path.join(img_path, "logo_small.png") size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) ) @@ -68,7 +71,8 @@ class GLItC2(GenlistItemClass): class GGItC(GengridItemClass): def content_get(self, gg, part, data): if not part == "elm.swallow.icon": - ic = Icon(gg, scale=0.5, file="images/icon_%02i.png" % (data % 4), + ic = Icon(gg, scale=0.5, + file=os.path.join(img_path, "icon_%02i.png" % (data % 4)), resizable=(0, 0), size_hint_weight=EXPAND_BOTH, size_hint_align=(0.5, 0.5) ) diff --git a/examples/elementary/test_bg.py b/examples/elementary/test_bg.py index 7e22053..00242eb 100644 --- a/examples/elementary/test_bg.py +++ b/examples/elementary/test_bg.py @@ -14,6 +14,9 @@ from efl.elementary.list import List EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL +img_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images") +ic_file = os.path.join(img_path, "plant_01.jpg") + def bg_plain_clicked(obj, item=None): win = Window("bg plain", ELM_WIN_BASIC, title="Bg Plain", autodel=True, size=(320, 320) @@ -31,7 +34,7 @@ def bg_image_clicked(obj, item=None): size=(320, 320), size_hint_min=(160, 160), size_hint_max=(320,320) ) - bg = Background(win, file="images/plant_01.jpg", option=ELM_BG_OPTION_SCALE, + bg = Background(win, file=ic_file, option=ELM_BG_OPTION_SCALE, size_hint_weight=EXPAND_BOTH ) win.resize_object_add(bg) @@ -45,14 +48,9 @@ def bg_image_clicked(obj, item=None): if __name__ == "__main__": - def destroy(obj): - elementary.exit() - elementary.init() - win = StandardWindow("test", "python-elementary test application", - size=(320,520) - ) - win.callback_delete_request_add(destroy) + win = StandardWindow("test", "python-elementary test application", size=(320,520)) + win.callback_delete_request_add(lambda x: elementary.exit()) box0 = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(box0) diff --git a/examples/elementary/test_box.py b/examples/elementary/test_box.py index 534d817..c1b88fe 100644 --- a/examples/elementary/test_box.py +++ b/examples/elementary/test_box.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # encoding: utf-8 +import os + from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL from efl import elementary from efl.elementary.window import StandardWindow @@ -14,7 +16,9 @@ from efl.elementary.separator import Separator EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL -ic_file = "images/logo_small.png" + +img_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images") +ic_file = os.path.join(img_path, "logo_small.png") def box_vert_clicked(obj, item=None): win = StandardWindow("box-vert", "Box Vert", autodel=True) @@ -163,12 +167,9 @@ def box_transition_clicked(obj, item=None): if __name__ == "__main__": - def destroy(obj): - elementary.exit() - elementary.init() win = StandardWindow("test", "python-elementary test application", size=(320,520)) - win.callback_delete_request_add(destroy) + win.callback_delete_request_add(lambda x: elementary.exit()) box0 = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(box0) diff --git a/examples/elementary/test_bubble.py b/examples/elementary/test_bubble.py index 2e09b74..78a1d24 100644 --- a/examples/elementary/test_bubble.py +++ b/examples/elementary/test_bubble.py @@ -1,13 +1,12 @@ #!/usr/bin/env python # encoding: utf-8 +import os + from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, \ EVAS_ASPECT_CONTROL_VERTICAL -EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND -FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL -from efl import elementary as elm -from efl.elementary.window import Window, ELM_WIN_BASIC -from efl.elementary.background import Background +from efl import elementary +from efl.elementary.window import StandardWindow from efl.elementary.box import Box from efl.elementary.frame import Frame from efl.elementary.icon import Icon @@ -17,15 +16,14 @@ from efl.elementary.bubble import Bubble, ELM_BUBBLE_POS_TOP_LEFT, \ ELM_BUBBLE_POS_TOP_RIGHT, ELM_BUBBLE_POS_BOTTOM_LEFT, \ ELM_BUBBLE_POS_BOTTOM_RIGHT -def bubble_clicked(obj, item=None): - win = Window("bubble", ELM_WIN_BASIC) - win.title_set("Bubble") - win.autodel_set(True) +EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND +FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL - bg = Background(win) - win.resize_object_add(bg) - bg.size_hint_weight = EXPAND_BOTH - bg.show() +img_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images") +ic_file = os.path.join(img_path, "logo_small.png") + +def bubble_clicked(obj, item=None): + win = StandardWindow("bubble", "Bubble", autodel=True, size=(320,320)) bx = Box(win) win.resize_object_add(bx) @@ -33,12 +31,8 @@ def bubble_clicked(obj, item=None): bx.show() # bb 1 - ic = Icon(win) - ic.file_set("images/logo_small.png") - ic.size_hint_aspect_set(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) - - lb = Label(win) - lb.text_set("Blah, Blah, Blah") + ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)) + lb = Label(win, text="Blah, Blah, Blah") bb = Bubble(win, text = "Message 1", content = lb, pos = ELM_BUBBLE_POS_TOP_LEFT, @@ -49,12 +43,8 @@ def bubble_clicked(obj, item=None): bb.show() # bb 2 - ic = Icon(win) - ic.file_set("images/logo_small.png") - ic.size_hint_aspect_set(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) - - lb = Label(win) - lb.text_set("Blah, Blah, Blah") + ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)) + lb = Label(win, text="Blah, Blah, Blah") bb = Bubble(win, text = "Message 2", content = lb, pos = ELM_BUBBLE_POS_TOP_RIGHT, @@ -65,12 +55,8 @@ def bubble_clicked(obj, item=None): bb.show() # bb 3 - ic = Icon(win) - ic.file_set("images/logo_small.png") - ic.size_hint_aspect_set(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) - - lb = Label(win) - lb.text_set("Blah, Blah, Blah") + ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)) + lb = Label(win, text="Blah, Blah, Blah") bb = Bubble(win, text = "Message 3", content = ic, pos = ELM_BUBBLE_POS_BOTTOM_LEFT, @@ -80,12 +66,8 @@ def bubble_clicked(obj, item=None): bb.show() # bb 4 - ic = Icon(win) - ic.file_set("images/logo_small.png") - ic.size_hint_aspect_set(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) - - lb = Label(win) - lb.text_set("Blah, Blah, Blah") + ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)) + lb = Label(win, text="Blah, Blah, Blah") bb = Bubble(win, text = "Message 4", content = lb, pos = ELM_BUBBLE_POS_BOTTOM_RIGHT, @@ -95,47 +77,32 @@ def bubble_clicked(obj, item=None): bx.pack_end(bb) bb.show() - win.resize(320, 320) win.show() if __name__ == "__main__": - def destroy(obj): - elm.exit() + elementary.init() + win = StandardWindow("test", "python-elementary test application", size=(320,520)) + win.callback_delete_request_add(lambda x: elementary.exit()) - elm.init() - win = Window("test", ELM_WIN_BASIC) - win.title_set("python-elementary test application") - win.callback_delete_request_add(destroy) - - bg = Background(win) - win.resize_object_add(bg) - bg.size_hint_weight = EXPAND_BOTH - bg.show() - - box0 = Box(win) - box0.size_hint_weight = EXPAND_BOTH + box0 = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(box0) box0.show() - fr = Frame(win) - fr.text_set("Information") - box0.pack_end(fr) - fr.show() - lb = Label(win) - lb.text_set("Please select a test from the list below<br>" - "by clicking the test button to show the<br>" - "test window.") - fr.content_set(lb) + lb.text = "Please select a test from the list below<br>" \ + "by clicking the test button to show the<br>" \ + "test window." lb.show() + fr = Frame(win, text="Information", content=lb) + box0.pack_end(fr) + fr.show() + items = [("Bubble", bubble_clicked), ] - li = List(win) - li.size_hint_weight = EXPAND_BOTH - li.size_hint_align = FILL_BOTH + li = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH) box0.pack_end(li) li.show() @@ -144,8 +111,6 @@ if __name__ == "__main__": li.go() - win.resize(320,520) win.show() - elm.run() - elm.shutdown() - + elementary.run() + elementary.shutdown() diff --git a/examples/elementary/test_button.py b/examples/elementary/test_button.py index fca3430..da44d08 100644 --- a/examples/elementary/test_button.py +++ b/examples/elementary/test_button.py @@ -1,63 +1,49 @@ #!/usr/bin/env python # encoding: utf-8 -from efl import evas +import os + +from efl.evas import EVAS_HINT_EXPAND, EVAS_ASPECT_CONTROL_VERTICAL from efl import elementary -from efl.elementary.window import Window -from efl.elementary.background import Background +from efl.elementary.window import StandardWindow from efl.elementary.box import Box from efl.elementary.frame import Frame from efl.elementary.icon import Icon from efl.elementary.button import Button +EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND + +img_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images") +ic_file = os.path.join(img_path, "logo_small.png") + def buttons_clicked(obj): - win = Window("buttons", elementary.ELM_WIN_BASIC) - win.title_set("Buttons") - win.focus_highlight_enabled_set(True) - win.autodel_set(True) + win = StandardWindow("buttons", "Buttons", focus_highlight_enabled=True, + autodel=True) if obj is None: win.callback_delete_request_add(lambda o: elementary.exit()) - bg = Background(win) - win.resize_object_add(bg) - bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - bg.show() - - bx = Box(win) + bx = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(bx) - bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bx.show() - ic = Icon(win) - ic.file_set("images/logo_small.png") - ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) - bt = Button(win) - bt.text_set("Icon sized to button") - bt.content_set(ic) + ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)) + ic.show() + bt = Button(win, text="Icon sized to button", content=ic) bx.pack_end(bt) bt.show() - ic.show() - ic = Icon(win) - ic.file_set("images/logo_small.png") - ic.resizable_set(0, 0) - bt = Button(win) - bt.text_set("Icon no scale") - bt.content_set(ic) + ic = Icon(win, file=ic_file, resizable=(0, 0)) + ic.show() + bt = Button(win, text="Icon no scale", content=ic) bx.pack_end(bt) bt.show() - ic.show() - bt = Button(win) - bt.text_set("No icon") + bt = Button(win, text="No icon") bx.pack_end(bt) bt.show() - ic = Icon(win) - ic.file_set("images/logo_small.png") - ic.resizable_set(0, 0) - bt = Button(win) - bt.content_set(ic) + ic = Icon(win, file=ic_file, resizable=(0, 0)) + bt = Button(win, content=ic) bx.pack_end(bt) bt.show() ic.show() diff --git a/examples/elementary/test_calendar.py b/examples/elementary/test_calendar.py index cebc4f0..15d6d9a 100644 --- a/examples/elementary/test_calendar.py +++ b/examples/elementary/test_calendar.py @@ -1,15 +1,20 @@ #!/usr/bin/env python # encoding: utf-8 -from efl import evas +from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL from efl import elementary from efl.elementary.window import StandardWindow from efl.elementary.box import Box from efl.elementary.button import Button -from efl.elementary.calendar_elm import Calendar +from efl.elementary.calendar_elm import Calendar, \ + ELM_DAY_MONDAY, ELM_DAY_THURSDAY, ELM_DAY_SATURDAY, \ + ELM_CALENDAR_UNIQUE, ELM_CALENDAR_DAILY, ELM_CALENDAR_WEEKLY, \ + ELM_CALENDAR_MONTHLY, ELM_CALENDAR_ANNUALLY from datetime import datetime +EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND +FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL api = { "state" : 0, # What state we are testing @@ -33,31 +38,31 @@ def set_api_state(api): cal = items[0] cal.min_max_year = (2010, 2011) the_time = datetime(2010, 12, 31) - m = cal.mark_add("checked", the_time, elementary.ELM_CALENDAR_MONTHLY) + m = cal.mark_add("checked", the_time, ELM_CALENDAR_MONTHLY) cal.selected_time = the_time elif api["state"] == STATE_MARK_WEEKLY: cal = items[0] the_time = datetime(2010, 12, 26) if m is not None: m.delete() - m = cal.mark_add("checked", the_time, elementary.ELM_CALENDAR_WEEKLY) + m = cal.mark_add("checked", the_time, ELM_CALENDAR_WEEKLY) cal.selected_time = the_time elif api["state"] == STATE_SUNDAY_HIGHLIGHT: cal = items[0] the_time = datetime(2010, 12, 25) # elm_calendar_mark_del(m) - m = cal.mark_add("holiday", the_time, elementary.ELM_CALENDAR_WEEKLY) + m = cal.mark_add("holiday", the_time, ELM_CALENDAR_WEEKLY) cal.selected_time = the_time elif api["state"] == STATE_SELECT_DATE_DISABLED_WITH_MARKS: cal = items[0] the_time = datetime(2011, 1, 1) - cal.select_mode = elementary.ELM_CALENDAR_SELECT_MODE_NONE + cal.select_mode = ELM_CALENDAR_SELECT_MODE_NONE cal.selected_time = the_time elif api["state"] == STATE_SELECT_DATE_DISABLED_NO_MARKS: cal = items[0] the_time = datetime(2011, 2, 1) del cal.marks - cal.select_mode = elementary.ELM_CALENDAR_SELECT_MODE_NONE + cal.select_mode = ELM_CALENDAR_SELECT_MODE_NONE cal.selected_time = the_time elif api["state"] == API_STATE_LAST: return @@ -74,21 +79,19 @@ def api_bt_clicked(bt, a): # A simple test, just displaying calendar in it's default state def calendar_clicked(obj): - win = StandardWindow("calendar", "Calendar") - win.autodel = True + win = StandardWindow("calendar", "Calendar", autodel=True) + if obj is None: + win.callback_delete_request_add(lambda x:elementary.exit()) - bxx = Box(win) + bxx = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(bxx) - bxx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bxx.show() - bx = Box(win) - bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) + bx = Box(win, size_hint_weight=EXPAND_BOTH) api["box"] = bx bx.show() - bt = Button(win) - bt.text = "Next API function" + bt = Button(win, text="Next API function") bt.callback_clicked_add(api_bt_clicked, api) bxx.pack_end(bt) if api["state"] == API_STATE_LAST: @@ -97,14 +100,12 @@ def calendar_clicked(obj): bxx.pack_end(bx) - cal = Calendar(win) - cal.first_day_of_week = elementary.ELM_DAY_MONDAY - cal.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - bx.pack_end(cal) - the_time = datetime(2010, 12, 31) - cal.selected_time = the_time - cal.min_max_year = (2010, 2012) + cal = Calendar(win, first_day_of_week=ELM_DAY_MONDAY, + size_hint_weight=EXPAND_BOTH, selected_time=the_time, + min_max_year=(2010,2012) + ) + bx.pack_end(cal) cal.show() diff --git a/examples/elementary/test_check.py b/examples/elementary/test_check.py index a0fb997..e172134 100644 --- a/examples/elementary/test_check.py +++ b/examples/elementary/test_check.py @@ -1,98 +1,81 @@ #!/usr/bin/env python # encoding: utf-8 -from efl import evas +import os + +from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, \ + EVAS_ASPECT_CONTROL_VERTICAL from efl import elementary -from efl.elementary.window import Window -from efl.elementary.background import Background +from efl.elementary.window import StandardWindow from efl.elementary.box import Box from efl.elementary.icon import Icon from efl.elementary.check import Check +EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND +FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL +FILL_HORIZ = EVAS_HINT_FILL, 0.5 + +img_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images") +ic_file = os.path.join(img_path, "logo_small.png") + def ck_1(obj): - print(("test check 1 state:", obj.state)) + print("test check 1 state: %s" % obj.state) def ck_2(obj): - print(("test check 2 state:", obj.state)) + print("test check 2 state: %s" % obj.state) def ck_never(obj): print("disabled check changed (should never happen unless you enable or set it)") def ck_3(obj): - print(("test check 3 state:", obj.state)) + print("test check 3 state: %s" % obj.state) def ck_4(obj): - print(("test check 4 state:", obj.state)) + print("test check 4 state: %s" % obj.state) def check_clicked(obj): - win = Window("check", elementary.ELM_WIN_BASIC) - win.title_set("Check test") - win.autodel_set(True) + win = StandardWindow("check", "Check test", autodel=True) if obj is None: win.callback_delete_request_add(lambda o: elementary.exit()) - bg = Background(win) - win.resize_object_add(bg) - bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - bg.show() - - bx = Box(win) - bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) + bx = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(bx) bx.show() - ic = Icon(win) - ic.file_set('images/logo_small.png') - ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) - ck = Check(win) - ck.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - ck.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) - ck.text_set("Icon sized to check") - ck.content_set(ic) - ck.state_set(True) + ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)) + ck = Check(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_HORIZ, + text="Icon sized to check", content=ic, state=True + ) ck.callback_changed_add(ck_1) bx.pack_end(ck) ck.show() ic.show() - ic = Icon(win) - ic.file_set('images/logo_small.png') - ic.resizable_set(0, 0) - ck = Check(win) - ck.text_set("Icon no scale") - ck.content_set(ic) + ic = Icon(win, file=ic_file, resizable=(0, 0)) + ck = Check(win, text="Icon no scale", content=ic) ck.callback_changed_add(ck_2) bx.pack_end(ck) ck.show() ic.show() - ck = Check(win) - ck.text_set("Label Only") + ck = Check(win, text="Label Only") ck.callback_changed_add(ck_3) bx.pack_end(ck) ck.show() - ic = Icon(win) - ic.file_set('images/logo_small.png') - ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) - ck = Check(win) - ck.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - ck.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) - ck.text_set("Disabled check") - ck.content_set(ic) - ck.state_set(True) + ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)) + ck = Check(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_HORIZ, + text="Disabled check", content=ic, state=True + ) ck.callback_changed_add(ck_never) bx.pack_end(ck) ck.disabled_set(True) ck.show() ic.show() - ic = Icon(win) - ic.file_set('images/logo_small.png') - ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) - ic.resizable_set(0, 0) - ck = Check(win) - ck.content_set(ic) + ic = Icon(win, file=ic_file, + size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1), resizable=(0, 0)) + ck = Check(win, content=ic) ck.callback_changed_add(ck_4) bx.pack_end(ck) ck.show() diff --git a/examples/elementary/test_clock.py b/examples/elementary/test_clock.py index 198e050..ac98c34 100644 --- a/examples/elementary/test_clock.py +++ b/examples/elementary/test_clock.py @@ -1,66 +1,49 @@ #!/usr/bin/env python # encoding: utf-8 -from efl import evas +from efl.evas import EVAS_HINT_EXPAND from efl import elementary -from efl.elementary.window import Window -from efl.elementary.background import Background +from efl.elementary.window import StandardWindow from efl.elementary.box import Box from efl.elementary.clock import Clock +EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND + def clock_clicked(obj): - win = Window("clock", elementary.ELM_WIN_BASIC) - win.title_set("Clock") - win.autodel_set(True) + win = StandardWindow("clock", "Clock", autodel=True) if obj is None: win.callback_delete_request_add(lambda o: elementary.exit()) - bg = Background(win) - win.resize_object_add(bg) - bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - bg.show() - - bx = Box(win) + bx = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(bx) - bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bx.show() ck = Clock(win) bx.pack_end(ck) ck.show() - ck = Clock(win) - ck.show_am_pm_set(True) + ck = Clock(win, show_am_pm=True) bx.pack_end(ck) ck.show() print((ck.time_get())) - ck = Clock(win) - ck.show_seconds_set(True) + ck = Clock(win, show_seconds=True) bx.pack_end(ck) ck.show() - ck = Clock(win) - ck.show_seconds_set(True) - ck.show_am_pm_set(True) + ck = Clock(win, show_seconds=True, show_am_pm=True) bx.pack_end(ck) ck.show() - ck = Clock(win) - ck.edit_set(True) - ck.show_seconds_set(True) - ck.show_am_pm_set(True) - ck.time_set(10, 11, 12) + ck = Clock(win, edit=True, show_seconds=True, show_am_pm=True, time=(10, 11, 12)) bx.pack_end(ck) ck.show() - ck = Clock(win) - ck.edit_set(True) - ck.show_seconds_set(True) - ck.edit_mode = elementary.ELM_CLOCK_EDIT_HOUR_DECIMAL | \ - elementary.ELM_CLOCK_EDIT_MIN_DECIMAL | \ - elementary.ELM_CLOCK_EDIT_SEC_DECIMAL + ck = Clock(win, edit=True, show_seconds=True, edit_mode = \ + elementary.ELM_CLOCK_EDIT_HOUR_DECIMAL | \ + elementary.ELM_CLOCK_EDIT_MIN_DECIMAL | \ + elementary.ELM_CLOCK_EDIT_SEC_DECIMAL) bx.pack_end(ck) ck.show() diff --git a/examples/elementary/test_cnp.py b/examples/elementary/test_cnp.py index f2cff97..11cea70 100644 --- a/examples/elementary/test_cnp.py +++ b/examples/elementary/test_cnp.py @@ -8,6 +8,9 @@ from efl.elementary.grid import Grid from efl.elementary.button import Button from efl.elementary.object import ELM_SEL_TYPE_CLIPBOARD, ELM_SEL_FORMAT_TEXT +EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND +FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL + def bt_copy_clicked(obj, data): en = data txt = en.text @@ -28,65 +31,52 @@ def bt_clear_clicked(obj, data): en.parent_widget.cnp_selection_clear(ELM_SEL_TYPE_CLIPBOARD) def cnp_clicked(obj): - win = StandardWindow("copypaste", "CopyPaste") - win.autodel = True + win = StandardWindow("copypaste", "CopyPaste", autodel=True) if obj is None: win.callback_delete_request_add(lambda o: elementary.exit()) - gd = Grid(win) - gd.size = 100, 100 - gd.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND + gd = Grid(win, size=(100, 100), size_hint_weight=EXPAND_BOTH) win.resize_object_add(gd) gd.show() - en = Entry(win) - en.scrollable = True - en.line_wrap = ELM_WRAP_CHAR - en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND - en.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL - en.text = "Elementary provides " + en = Entry(win, scrollable=True, line_wrap=ELM_WRAP_CHAR, + size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH, + text="Elementary provides " + ) gd.pack(en, 10, 10, 60, 30) en.show() - bt = Button(win) - bt.text = "Copy from left entry" + bt = Button(win, text="Copy from left entry") bt.callback_clicked_add(bt_copy_clicked, en) gd.pack(bt, 70, 10, 22, 30) bt.show() - bt = Button(win) - bt.text = "Clear clipboard" + bt = Button(win, text="Clear clipboard") bt.callback_clicked_add(bt_clear_clicked, en) gd.pack(bt, 70, 70, 22, 20) bt.show() - en = Entry(win) - en.scrollable = True - en.line_wrap = ELM_WRAP_CHAR - en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND - en.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL - en.text = "rich copying and pasting functionality," + en = Entry(win, scrollable=True, line_wrap=ELM_WRAP_CHAR, + size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH, + text="rich copying and pasting functionality," + ) gd.pack(en, 10, 40, 60, 30) en.show() - bt = Button(win) - bt.text = "Paste to left entry" + bt = Button(win, text="Paste to left entry") bt.callback_clicked_add(bt_paste_clicked, en) gd.pack(bt, 70, 40, 22, 30) bt.show() - lb = Label(win) - lb.text = "<b>Clipboard:</b>" - lb.size_hint_weight = 0.0, 0.0 - lb.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL + lb = Label(win, text="<b>Clipboard:</b>", + size_hint_weight=(0.0, 0.0), size_hint_align=FILL_BOTH + ) gd.pack(lb, 10, 70, 60, 10) lb.show() global glb - glb = Label(win) - glb.text = "" - glb.size_hint_weight = 0.0, 0.0 - glb.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL + glb = Label(win, text="", + size_hint_weight=(0.0, 0.0), size_hint_align=FILL_BOTH) gd.pack(glb, 10, 80, 60, 10) glb.show() diff --git a/examples/elementary/test_colorselector.py b/examples/elementary/test_colorselector.py index fe790c8..f84d267 100644 --- a/examples/elementary/test_colorselector.py +++ b/examples/elementary/test_colorselector.py @@ -1,14 +1,20 @@ #!/usr/bin/env python # encoding: utf-8 -from efl import evas +from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, Rectangle from efl import elementary -from efl.elementary.window import Window -from efl.elementary.background import Background +from efl.elementary.window import StandardWindow from efl.elementary.box import Box from efl.elementary.frame import Frame from efl.elementary.button import Button -from efl.elementary.colorselector import Colorselector +from efl.elementary.colorselector import Colorselector, \ + ELM_COLORSELECTOR_PALETTE, ELM_COLORSELECTOR_COMPONENTS, \ + ELM_COLORSELECTOR_BOTH + +EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND +EXPAND_HORIZ = EVAS_HINT_EXPAND, 0.0 +FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL +FILL_AND_ALIGN_TOP = EVAS_HINT_FILL, 0.0 def cb_cs_changed(cs, rect): print("changed") @@ -35,51 +41,41 @@ def cb_cs_item_lp(cs, item, rect): rect.color = (r, g, b, a) def colorselector_clicked(obj): - win = Window("colorselector", elementary.ELM_WIN_BASIC) - win.title = "ColorSelector test" - win.autodel = True + win = StandardWindow("colorselector", "ColorSelector test", + autodel=True, size=(350,350) + ) if obj is None: win.callback_delete_request_add(lambda o: elementary.exit()) - bg = Background(win) - win.resize_object_add(bg) - bg.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - bg.show() - - vbox = Box(win) - vbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) + vbox = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(vbox) vbox.show() - fr = Frame(win) - fr.text = "Color View" - fr.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) - fr.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) - vbox.pack_end(fr) - fr.show() - - re = evas.Rectangle(win.evas) + re = Rectangle(win.evas) re.size_hint_min = (1, 100) - fr.content = re re.show() - fr = Frame(win) - fr.text = "Color Selector" - fr.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - fr.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) + fr = Frame(win, text="Color View", content=re, + size_hint_weight=EXPAND_HORIZ, + size_hint_align=FILL_BOTH + ) vbox.pack_end(fr) fr.show() - cs = Colorselector(win) - cs.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) - cs.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) + cs = Colorselector(win, size_hint_weight=EXPAND_BOTH, + size_hint_align=FILL_BOTH, color=(255, 160, 132, 255) + ) cs.callback_changed_add(cb_cs_changed, re) cs.callback_color_item_selected_add(cb_cs_item_sel, re) cs.callback_color_item_longpressed_add(cb_cs_item_lp, re) - cs.color = (255, 160, 132, 255) - fr.content = cs cs.show() + fr = Frame(win, text="Color Selector", content=cs, + size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH + ) + vbox.pack_end(fr) + fr.show() + re.color = cs.color cs.palette_color_add(255, 90, 18, 255) cs.palette_color_add(255, 213, 0, 255) @@ -94,38 +90,33 @@ def colorselector_clicked(obj): cs.palette_color_add(255, 255, 119, 255) cs.palette_color_add(133, 100, 255, 255) - hbox = Box(win) - hbox.horizontal = True - hbox.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) - hbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) + hbox = Box(win, horizontal=True, size_hint_align=FILL_AND_ALIGN_TOP, + size_hint_weight=EXPAND_HORIZ + ) vbox.pack_end(hbox) hbox.show() - bt = Button(win) - bt.text = "Palette" - bt.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) - bt.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) - bt.callback_clicked_add(lambda btn: cs.mode_set(elementary.ELM_COLORSELECTOR_PALETTE)) + bt = Button(win, text="Palette", size_hint_align=FILL_AND_ALIGN_TOP, + size_hint_weight=EXPAND_HORIZ + ) + bt.callback_clicked_add(lambda btn: cs.mode_set(ELM_COLORSELECTOR_PALETTE)) hbox.pack_end(bt) bt.show() - bt = Button(win) - bt.text = "Components" - bt.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) - bt.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) - bt.callback_clicked_add(lambda btn: cs.mode_set(elementary.ELM_COLORSELECTOR_COMPONENTS)) + bt = Button(win, text="Components", size_hint_align=FILL_AND_ALIGN_TOP, + size_hint_weight=EXPAND_HORIZ + ) + bt.callback_clicked_add(lambda btn: cs.mode_set(ELM_COLORSELECTOR_COMPONENTS)) hbox.pack_end(bt) bt.show() - bt = Button(win) - bt.text = "Both" - bt.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) - bt.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) - bt.callback_clicked_add(lambda btn: cs.mode_set(elementary.ELM_COLORSELECTOR_BOTH)) + bt = Button(win, text="Both", size_hint_align=FILL_AND_ALIGN_TOP, + size_hint_weight=EXPAND_HORIZ + ) + bt.callback_clicked_add(lambda btn: cs.mode_set(ELM_COLORSELECTOR_BOTH)) hbox.pack_end(bt) bt.show() - win.resize(320, 550) win.show() diff --git a/examples/elementary/test_core_evas_canvas_callbacks.py b/examples/elementary/test_core_evas_canvas_callbacks.py index 67f41da..35e56e8 100644 --- a/examples/elementary/test_core_evas_canvas_callbacks.py +++ b/examples/elementary/test_core_evas_canvas_callbacks.py @@ -2,6 +2,12 @@ # encoding: utf-8 from efl import evas + +# edje is imported because the canvas callbacks point to an edje obj, +# an instance cannot be created unless the class is available. +# (it's not mapped in efl.eo object_mapping) +from efl import edje + from efl import elementary from efl.elementary.window import Window from efl.elementary.background import Background --
