Elementary: Examplifying examples.

This commit is contained in:
Kai Huuhko 2013-11-01 01:52:48 +02:00
parent 7826e96e01
commit 944234bccd
26 changed files with 685 additions and 1060 deletions

View File

@ -38,6 +38,7 @@ items = [
("Evas Objects", "test_core_evas_objects", "core_evas_objects_clicked"),
("Evas Canvas Callbacks", "test_core_evas_canvas_callbacks", "core_evas_canvas_callbacks_clicked"),
("Evas Object Callbacks", "test_core_evas_object_callbacks", "core_evas_object_callbacks_clicked"),
("Evas Textgrid", "test_evas_textgrid", "evas_textgrid_clicked"),
]),
("3D", [
("Evas Map 3D", "test_3d", "evas3d_clicked"),
@ -207,17 +208,14 @@ def selected_cb(o, mod, func):
def menu_create(search, win):
tbx.clear()
for category in items:
frame = Frame(win,
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH,
text=category[0]
)
frame = Frame(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH, text=category[0])
frame.show()
tbx.pack_end(frame)
tbx2 = Box(win, layout=ELM_BOX_LAYOUT_FLOW_HORIZONTAL,
size_hint_weight=(EVAS_HINT_EXPAND, 0.0),
size_hint_align=(EVAS_HINT_FILL, 0.0)
)
size_hint_align=(EVAS_HINT_FILL, 0.0))
frame.content_set(tbx2)
tbx2.show()
@ -269,11 +267,8 @@ if __name__ == "__main__":
box0.pack_end(tg)
tg.show()
bx1 = Box(win,
size_hint_weight=(EVAS_HINT_EXPAND, 0.0),
size_hint_align=(EVAS_HINT_FILL, 0.0),
horizontal=True
)
bx1 = Box(win, size_hint_weight=(EVAS_HINT_EXPAND, 0.0),
size_hint_align=(EVAS_HINT_FILL, 0.0), horizontal=True)
box0.pack_end(bx1)
bx1.show()
@ -282,23 +277,19 @@ if __name__ == "__main__":
lb.show()
en = Entry(win, single_line=True, scrollable=True,
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH
)
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
en.callback_changed_add(cb_filter, win)
bx1.pack_end(en)
en.show()
en.focus_set(True)
sc = Scroller(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH,
bounce=(False, True)
)
bounce=(False, True))
sc.show()
box0.pack_end(sc)
tbx = Box(win,
size_hint_weight=(EVAS_HINT_EXPAND, 0.0),
size_hint_align=(EVAS_HINT_FILL, 0.0)
)
tbx = Box(win, size_hint_weight=(EVAS_HINT_EXPAND, 0.0),
size_hint_align=(EVAS_HINT_FILL, 0.0))
sc.content_set(tbx)
tbx.show()

View File

@ -172,57 +172,50 @@ def evas3d_clicked(obj, item=None):
vbox.show()
sl = Slider(win, text="Rot X", unit_format="%1.0f units", span_size=360,
min_max=(0, 360),
size_hint_align=FILL_HORIZ, size_hint_weight=EXPAND_BOTH
)
min_max=(0, 360), size_hint_align=FILL_HORIZ,
size_hint_weight=EXPAND_BOTH)
vbox.pack_end(sl)
sl.callback_changed_add(ch_rot_x, cube)
sl.show()
sl = Slider(win, text="Rot Y", unit_format="%1.0f units", span_size=360,
min_max=(0, 360),
size_hint_align=FILL_HORIZ, size_hint_weight=EXPAND_BOTH
)
min_max=(0, 360), size_hint_align=FILL_HORIZ,
size_hint_weight=EXPAND_BOTH)
vbox.pack_end(sl)
sl.callback_changed_add(ch_rot_y, cube)
sl.show()
sl = Slider(win, text="Rot Z", unit_format="%1.0f units", span_size=360,
min_max=(0, 360),
size_hint_align=FILL_HORIZ, size_hint_weight=EXPAND_BOTH
)
min_max=(0, 360), size_hint_align=FILL_HORIZ,
size_hint_weight=EXPAND_BOTH)
vbox.pack_end(sl)
sl.callback_changed_add(ch_rot_z, cube)
sl.show()
sl = Slider(win, text="CX Off", unit_format="%1.0f units", span_size=360,
min_max=(-320, 320), value=cube.cxo,
size_hint_align=FILL_HORIZ, size_hint_weight=EXPAND_BOTH
)
min_max=(-320, 320), value=cube.cxo, size_hint_align=FILL_HORIZ,
size_hint_weight=EXPAND_BOTH)
vbox.pack_end(sl)
sl.callback_changed_add(ch_cx, cube)
sl.show()
sl = Slider(win, text="CY Off", unit_format="%1.0f units", span_size=360,
min_max=(-320, 320), value=cube.cyo,
size_hint_align=FILL_HORIZ, size_hint_weight=EXPAND_BOTH
)
min_max=(-320, 320), value=cube.cyo, size_hint_align=FILL_HORIZ,
size_hint_weight=EXPAND_BOTH)
vbox.pack_end(sl)
sl.callback_changed_add(ch_cy, cube)
sl.show()
sl = Slider(win, text="Foc", unit_format="%1.0f units", span_size=360,
min_max=(1, 2000), value=cube.focv,
size_hint_align=FILL_HORIZ, size_hint_weight=EXPAND_BOTH
)
min_max=(1, 2000), value=cube.focv, size_hint_align=FILL_HORIZ,
size_hint_weight=EXPAND_BOTH)
vbox.pack_end(sl)
sl.callback_changed_add(ch_foc, cube)
sl.show()
sl = Slider(win, text="Z0", unit_format="%1.0f units", span_size=360,
min_max=(-2000, 2000), value=cube.z0v,
size_hint_align=FILL_HORIZ, size_hint_weight=EXPAND_BOTH
)
min_max=(-2000, 2000), value=cube.z0v, size_hint_align=FILL_HORIZ,
size_hint_weight=EXPAND_BOTH)
vbox.pack_end(sl)
sl.callback_changed_add(ch_z0, cube)
sl.show()

View File

@ -35,13 +35,11 @@ class GLItC1(GenlistItemClass):
def content_get(self, gl, part, data):
if not part == "elm.swallow.end":
bt = Button(gl, text="OK",
size_hint_align=FILL_BOTH, size_hint_weight=EXPAND_BOTH,
)
bt = Button(gl, text="OK", size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_BOTH)
else:
bt = Icon(gl, file=os.path.join(img_path, "logo_small.png")
size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)
)
bt = Icon(gl, file=os.path.join(img_path, "logo_small.png"),
size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1))
return bt
@ -51,8 +49,7 @@ class GLItC2(GenlistItemClass):
grid = Gengrid(gl, horizontal=False, reorder_mode=True,
item_size=(config.scale * 100, config.scale * 100),
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH
)
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
gic = GGItC(item_style="default")
@ -73,9 +70,8 @@ class GGItC(GengridItemClass):
if not part == "elm.swallow.icon":
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)
)
resizable=(0, 0), size_hint_weight=EXPAND_BOTH,
size_hint_align=(0.5, 0.5))
ic.show()
return ic
@ -111,8 +107,7 @@ def access_clicked(obj, item=None):
config.access = True
bx = Box(win, size_hint_weight=EXPAND_BOTH, homogeneous=True,
horizontal=True
)
horizontal=True)
win.resize_object_add(bx)
bx.show()
@ -292,35 +287,31 @@ def access_clicked(obj, item=None):
if __name__ == "__main__":
elementary.init()
win = StandardWindow("test", "python-elementary test application")
win = StandardWindow("test", "python-elementary test application",
size=(320,520))
win.callback_delete_request_add(lambda o: elementary.exit())
box0 = Box(win)
box0.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND)
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.show()
fr = Frame(win, text="Information", content=lb)
box0.pack_end(fr)
fr.show()
items = [
("Access 1", access_clicked),
#("Access 2", access2_clicked),
#("Access 3", accesst3_clicked),
]
li = List(win)
li.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND)
li.size_hint_align_set(EVAS_HINT_FILL, EVAS_HINT_FILL)
li = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
box0.pack_end(li)
li.show()
@ -329,7 +320,6 @@ if __name__ == "__main__":
li.go()
win.resize(320,520)
win.show()
elementary.run()
elementary.shutdown()

View File

@ -71,11 +71,10 @@ def actionslider_clicked(obj):
win.resize_object_add(bx)
bx.show()
acts = Actionslider(win,
size_hint_weight=EXPAND_HORIZ, size_hint_align=(EVAS_HINT_FILL, 0.0),
acts = Actionslider(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0),
indicator_pos=ELM_ACTIONSLIDER_RIGHT, magnet_pos=ELM_ACTIONSLIDER_RIGHT,
enabled_pos=(ELM_ACTIONSLIDER_LEFT | ELM_ACTIONSLIDER_RIGHT)
)
enabled_pos=(ELM_ACTIONSLIDER_LEFT | ELM_ACTIONSLIDER_RIGHT))
acts.part_text_set("left", "Snooze")
acts.part_text_set("center", "")
acts.part_text_set("right", "Stop")
@ -84,12 +83,11 @@ def actionslider_clicked(obj):
bx.pack_end(acts)
acts.show()
acts = Actionslider(win,
size_hint_weight=EXPAND_HORIZ, size_hint_align=(EVAS_HINT_FILL, 0.0),
acts = Actionslider(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0),
indicator_pos=ELM_ACTIONSLIDER_CENTER,
magnet_pos=ELM_ACTIONSLIDER_CENTER,
enabled_pos=(ELM_ACTIONSLIDER_LEFT | ELM_ACTIONSLIDER_RIGHT)
)
enabled_pos=(ELM_ACTIONSLIDER_LEFT | ELM_ACTIONSLIDER_RIGHT))
acts.part_text_set("left", "Snooze")
acts.part_text_set("center", "")
acts.part_text_set("right", "Stop")
@ -97,12 +95,11 @@ def actionslider_clicked(obj):
bx.pack_end(acts)
acts.show()
acts = Actionslider(win, style="bar",
size_hint_weight=EXPAND_HORIZ, size_hint_align=(EVAS_HINT_FILL, 0.0),
acts = Actionslider(win, style="bar", size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0),
indicator_pos=ELM_ACTIONSLIDER_LEFT,
magnet_pos=(ELM_ACTIONSLIDER_CENTER | ELM_ACTIONSLIDER_RIGHT),
enabled_pos=(ELM_ACTIONSLIDER_CENTER | ELM_ACTIONSLIDER_RIGHT)
)
enabled_pos=(ELM_ACTIONSLIDER_CENTER | ELM_ACTIONSLIDER_RIGHT))
acts.part_text_set("left", "")
acts.part_text_set("center", "Accept")
acts.part_text_set("right", "Reject")
@ -112,8 +109,7 @@ def actionslider_clicked(obj):
acts = Actionslider(win, style="bar", text="Go",
size_hint_weight=EXPAND_HORIZ, size_hint_align=(EVAS_HINT_FILL, 0.0),
indicator_pos=ELM_ACTIONSLIDER_LEFT, magnet_pos=ELM_ACTIONSLIDER_LEFT,
)
indicator_pos=ELM_ACTIONSLIDER_LEFT, magnet_pos=ELM_ACTIONSLIDER_LEFT)
acts.part_text_set("left", "")
acts.part_text_set("center", "Accept")
acts.part_text_set("right", "Reject")
@ -122,10 +118,9 @@ def actionslider_clicked(obj):
bx.pack_end(acts)
acts.show()
acts = Actionslider(win,
size_hint_weight=EXPAND_HORIZ, size_hint_align=(EVAS_HINT_FILL, 0.0),
indicator_pos=ELM_ACTIONSLIDER_LEFT, magnet_pos=ELM_ACTIONSLIDER_ALL
)
acts = Actionslider(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0),
indicator_pos=ELM_ACTIONSLIDER_LEFT, magnet_pos=ELM_ACTIONSLIDER_ALL)
acts.part_text_set("left", "Left")
acts.part_text_set("center", "Center")
acts.part_text_set("right", "Right")
@ -134,11 +129,10 @@ def actionslider_clicked(obj):
bx.pack_end(acts)
acts.show()
acts = Actionslider(win,
size_hint_weight=EXPAND_HORIZ, size_hint_align=(EVAS_HINT_FILL, 0.0),
acts = Actionslider(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0),
indicator_pos=ELM_ACTIONSLIDER_CENTER,
magnet_pos=ELM_ACTIONSLIDER_CENTER
)
magnet_pos=ELM_ACTIONSLIDER_CENTER)
acts.part_text_set("left", "Enable")
acts.part_text_set("center", "Magnet")
acts.part_text_set("right", "Disable")

View File

@ -19,8 +19,7 @@ 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)
)
size=(320, 320))
bg = Background(win, size_hint_weight=EXPAND_BOTH)
win.resize_object_add(bg)
@ -31,12 +30,10 @@ def bg_plain_clicked(obj, item=None):
def bg_image_clicked(obj, item=None):
win = Window("bg-image", ELM_WIN_BASIC, title="Bg Image", autodel=True,
size=(320, 320), size_hint_min=(160, 160), size_hint_max=(320,320)
)
size=(320, 320), size_hint_min=(160, 160), size_hint_max=(320,320))
bg = Background(win, file=ic_file, option=ELM_BG_OPTION_SCALE,
size_hint_weight=EXPAND_BOTH
)
size_hint_weight=EXPAND_BOTH)
win.resize_object_add(bg)
bg.show()

View File

@ -48,8 +48,7 @@ def box_vert2_clicked(obj, item=None):
for i in range(5):
bt = Button(win, text="Button %d" % i,
size_hint_align=FILL_BOTH, size_hint_weight=(0.0, 0.0)
)
size_hint_align=FILL_BOTH, size_hint_weight=(0.0, 0.0))
bt.callback_clicked_add(boxvert2_del_cb, bx)
bx.pack_end(bt)
bt.show()
@ -73,7 +72,8 @@ def box_horiz_clicked(obj, item=None):
layout_list = ["horizontal","vertical","homogeneous_vertical",
"homogeneous_horizontal", "homogeneous_max_size_horizontal",
"homogeneous_max_size_vertical", "flow_horizontal", "flow_vertical", "stack"]
"homogeneous_max_size_vertical", "flow_horizontal", "flow_vertical",
"stack"]
current_layout = ELM_BOX_LAYOUT_HORIZONTAL
@ -109,7 +109,8 @@ def box_layout_clicked(obj, item=None):
bt.show()
for i in range(5):
ic = Icon(win, file=ic_file, resizable=(0, 0), size_hint_align=(0.5, 0.5))
ic = Icon(win, file=ic_file, resizable=(0, 0),
size_hint_align=(0.5, 0.5))
bx.pack_end(ic)
ic.show()
@ -159,7 +160,8 @@ def box_transition_clicked(obj, item=None):
bt.show()
for i in range(4):
ic = Icon(win, file=ic_file, resizable=(0, 0), size_hint_align=(0.5, 0.5))
ic = Icon(win, file=ic_file, resizable=(0, 0),
size_hint_align=(0.5, 0.5))
bx.pack_end(ic)
ic.show()
@ -168,7 +170,8 @@ def box_transition_clicked(obj, item=None):
if __name__ == "__main__":
elementary.init()
win = StandardWindow("test", "python-elementary test application", size=(320,520))
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)

View File

@ -31,19 +31,21 @@ def bubble_clicked(obj, item=None):
bx.show()
# bb 1
ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1))
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,
size_hint_weight = EXPAND_BOTH, size_hint_align = FILL_BOTH)
pos = ELM_BUBBLE_POS_TOP_LEFT, size_hint_weight = EXPAND_BOTH,
size_hint_align = FILL_BOTH)
bb.part_text_set("info", "Corner: top_left")
bb.part_content_set("icon", ic)
bx.pack_end(bb)
bb.show()
# bb 2
ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1))
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,
@ -55,7 +57,8 @@ def bubble_clicked(obj, item=None):
bb.show()
# bb 3
ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1))
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,
@ -66,7 +69,8 @@ def bubble_clicked(obj, item=None):
bb.show()
# bb 4
ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1))
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,
@ -82,7 +86,8 @@ def bubble_clicked(obj, item=None):
if __name__ == "__main__":
elementary.init()
win = StandardWindow("test", "python-elementary test application", size=(320,520))
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)

View File

@ -26,7 +26,8 @@ def buttons_clicked(obj):
win.resize_object_add(bx)
bx.show()
ic = Icon(win, file=ic_file, size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1))
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)

View File

@ -103,8 +103,7 @@ def calendar_clicked(obj):
the_time = datetime(2010, 12, 31)
cal = Calendar(win, first_day_of_week=ELM_DAY_MONDAY,
size_hint_weight=EXPAND_BOTH, selected_time=the_time,
min_max_year=(2010,2012)
)
min_max_year=(2010,2012))
bx.pack_end(cal)
cal.show()

View File

@ -36,7 +36,8 @@ def clock_clicked(obj):
bx.pack_end(ck)
ck.show()
ck = Clock(win, edit=True, show_seconds=True, show_am_pm=True, time=(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()

View File

@ -41,8 +41,7 @@ def cnp_clicked(obj):
en = Entry(win, scrollable=True, line_wrap=ELM_WRAP_CHAR,
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH,
text="Elementary provides "
)
text="Elementary provides ")
gd.pack(en, 10, 10, 60, 30)
en.show()
@ -58,8 +57,7 @@ def cnp_clicked(obj):
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,"
)
text="rich copying and pasting functionality,")
gd.pack(en, 10, 40, 60, 30)
en.show()
@ -68,15 +66,14 @@ def cnp_clicked(obj):
gd.pack(bt, 70, 40, 22, 30)
bt.show()
lb = Label(win, text="<b>Clipboard:</b>",
size_hint_weight=(0.0, 0.0), size_hint_align=FILL_BOTH
)
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, text="",
size_hint_weight=(0.0, 0.0), size_hint_align=FILL_BOTH)
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()

View File

@ -42,8 +42,7 @@ def cb_cs_item_lp(cs, item, rect):
def colorselector_clicked(obj):
win = StandardWindow("colorselector", "ColorSelector test",
autodel=True, size=(350,350)
)
autodel=True, size=(350,350))
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
@ -56,23 +55,19 @@ def colorselector_clicked(obj):
re.show()
fr = Frame(win, text="Color View", content=re,
size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_BOTH
)
size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
vbox.pack_end(fr)
fr.show()
cs = Colorselector(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH, color=(255, 160, 132, 255)
)
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.show()
fr = Frame(win, text="Color Selector", content=cs,
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH
)
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
vbox.pack_end(fr)
fr.show()
@ -91,28 +86,24 @@ def colorselector_clicked(obj):
cs.palette_color_add(133, 100, 255, 255)
hbox = Box(win, horizontal=True, size_hint_align=FILL_AND_ALIGN_TOP,
size_hint_weight=EXPAND_HORIZ
)
size_hint_weight=EXPAND_HORIZ)
vbox.pack_end(hbox)
hbox.show()
bt = Button(win, text="Palette", size_hint_align=FILL_AND_ALIGN_TOP,
size_hint_weight=EXPAND_HORIZ
)
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, text="Components", size_hint_align=FILL_AND_ALIGN_TOP,
size_hint_weight=EXPAND_HORIZ
)
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, text="Both", size_hint_align=FILL_AND_ALIGN_TOP,
size_hint_weight=EXPAND_HORIZ
)
size_hint_weight=EXPAND_HORIZ)
bt.callback_clicked_add(lambda btn: cs.mode_set(ELM_COLORSELECTOR_BOTH))
hbox.pack_end(bt)
bt.show()

View File

@ -20,6 +20,11 @@ elm_conf = Configuration()
from efl.evas import EVAS_HINT_FILL, EVAS_HINT_EXPAND
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
EXPAND_HORIZ = EVAS_HINT_EXPAND, 0.0
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
FILL_HORIZ = EVAS_HINT_FILL, 0.5
class Prof_Data(object):
rdg = None
cks = []
@ -36,10 +41,8 @@ class App_Data(object):
MAX_PROFILES = 20
def LOG(win, m):
lb = Label(win)
lb.text = m
lb.size_hint_weight = 0.0, 0.0
lb.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
lb = Label(win, text=m, size_hint_weight=(0.0, 0.0),
size_hint_align=FILL_BOTH)
lb.show()
return lb
@ -117,29 +120,23 @@ def radio_add(win, bx):
i = 0
bx2 = Box(win)
bx2.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.size_hint_align = EVAS_HINT_FILL, 0.0
bx2.align = 0.0, 0.5
bx2.horizontal = True
bx2 = Box(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0), align=(0.0, 0.5),
horizontal = True)
bx.pack_end(bx2)
bx2.show()
rdg = rd = Radio(win)
rd.state_value = i
rdg = rd = Radio(win, state_value=i, text="Nothing",
size_hint_weight=EXPAND_BOTH)
rd.group_add(rdg)
rd.text = "Nothing"
rd.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx2.pack_end(rd)
rd.show()
i += 1
for profile in ad.profiles:
rd = Radio(win)
rd.state_value = i
rd = Radio(win, state_value=i, text=profile,
size_hint_weight=EXPAND_BOTH)
rd.group_add(rdg)
rd.text = profile
rd.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx2.pack_end(rd)
rd.show()
i += 1
@ -149,21 +146,17 @@ def radio_add(win, bx):
def check_add(win, bx):
ad = win.data["ad"]
bx2 = Box(win)
bx2.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.size_hint_align = EVAS_HINT_FILL, 0.0
bx2.align = 0.0, 0.5
bx2.horizontal = True
bx2 = Box(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0), align=(0.0, 0.5),
horizontal=True)
bx.pack_end(bx2)
bx2.show()
ll = []
for profile in ad.profiles:
ck = Check(win)
ck.text = profile
ck = Check(win, text=profile, size_hint_weight=EXPAND_BOTH)
ck.data["profile"] = profile
ck.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx2.pack_end(ck)
ck.show()
@ -172,17 +165,15 @@ def check_add(win, bx):
return ll
def inlined_add(parent):
win = Window("inlined", ELM_WIN_INLINED_IMAGE, parent)
win = Window("inlined", ELM_WIN_INLINED_IMAGE, parent, pos=(10, 100),
size=(150, 70))
bg = Background(win)
bg.color = 110, 210, 120
bg.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bg = Background(win, color=(110, 210, 120), size_hint_weight=EXPAND_BOTH)
win.resize_object_add(bg)
bg.show()
bx = Box(win)
bx.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx.size_hint_align = EVAS_HINT_FILL, 0.0
bx = Box(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0))
bx.show()
lb = LOG(win, "ELM_WIN_INLINED_IMAGE")
@ -192,8 +183,6 @@ def inlined_add(parent):
bx.pack_end(lb)
win.data["lb"] = lb
win.pos = 10, 100
win.size = 150, 70
win.inlined_image_object.pos = 10, 100
win.inlined_image_object.size = 150, 70
@ -203,7 +192,8 @@ def inlined_add(parent):
return win
def socket_add(name):
win = Window("socket image", ELM_WIN_SOCKET_IMAGE)
win = Window("socket image", ELM_WIN_SOCKET_IMAGE, pos=(0, 0),
size=(150, 200))
try:
win.socket_listen(name, 0, False)
@ -214,15 +204,12 @@ def socket_add(name):
else:
win.autodel = True
bg = Background(win)
bg.color = 80, 110, 205
bg.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bg = Background(win, color=(80, 110, 205), size_hint_weight=EXPAND_BOTH)
win.resize_object_add(bg)
bg.show()
bx = Box(win)
bx.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx.size_hint_align = EVAS_HINT_FILL, 0.0
bx = Box(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0))
bx.show()
lb = LOG(win, "ELM_WIN_SOCKET_IMAGE")
@ -234,24 +221,18 @@ def socket_add(name):
inlined_add(win)
win.pos = 0, 0
win.size = 150, 200
win.callback_profile_changed_add(win_profile_changed_cb)
win.show()
return win
def plug_add(win, bx, name):
plug = Plug(win)
plug = Plug(win, size_hint_weight=EXPAND_BOTH)
if plug.connect(name, 0, False):
ly = Layout(win)
ly.file = "test.edj", "win_config"
ly.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
ly.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
ly = Layout(win, file=("test.edj", "win_config"),
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
ly.show()
plug.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx.pack_end(ly)
ly.part_content_set("swallow", plug)
plug.show()
@ -263,47 +244,38 @@ def plug_add(win, bx, name):
return plug
def FRAME(win, bx, t):
fr = Frame(bx)
fr.text = t
fr.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
fr.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bx2 = Box(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=(EVAS_HINT_FILL, 0.0), align=(0.0, 0.5))
bx2.show()
fr = Frame(bx, text=t, content=bx2, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH)
bx.pack_end(fr)
fr.show()
bx2 = Box(win)
bx2.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.size_hint_align = EVAS_HINT_FILL, 0.0
bx2.align = 0.0, 0.5
fr.content = bx2
bx2.show()
return fr, bx2
def config_clicked(obj, data=None):
siname = "_TestConfigSocketImage_"
win = StandardWindow("config", "Configuration")
win.autodel = True
win = StandardWindow("config", "Configuration", autodel=True,
size=(400,500))
global ad
ad = App_Data()
win.data["ad"] = ad
ad.win = win
ad.profiles = elm_conf.profile_list
sc = Scroller(win)
sc.bounce = False, True
sc.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx = Box(win, size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
sc = Scroller(win, content=bx, bounce=(False, True),
size_hint_weight=EXPAND_BOTH)
win.resize_object_add(sc)
bx = Box(win)
bx.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
sc.content = bx
fr, bx2 = FRAME(win, bx, "Current window profile")
# TODO: Add this code
#ee = ecore_evas_ecore_evas_get(evas_object_evas_get(win));
#supported = ecore_evas_window_profile_supported_get(ee);
supported = True
buf = "Virtual desktop window profile support: <b>{0}</b>".format("Yes" if supported else "No")
buf = "Virtual desktop window profile support: <b>{0}</b>".format(
"Yes" if supported else "No")
lb = LOG(win, buf)
bx2.pack_end(lb)
@ -315,8 +287,7 @@ def config_clicked(obj, data=None):
bx2.pack_end(lb)
ad.curr.rdg = radio_add(win, bx2)
bt = Button(win)
bt.text = "Set"
bt = Button(win, text="Set")
bt.callback_clicked_add(bt_profile_set, win)
bx2.pack_end(bt)
bt.show()
@ -325,8 +296,7 @@ def config_clicked(obj, data=None):
bx2.pack_end(lb)
ad.curr.cks = check_add(win, bx2)
bt = Button(win)
bt.text = "Set"
bt = Button(win, text="Set")
bt.callback_clicked_add(bt_available_profiles_set, win)
bx2.pack_end(bt)
bt.show()
@ -336,7 +306,10 @@ def config_clicked(obj, data=None):
lb = LOG(win, "Starting socket image.")
bx2.pack_end(lb)
else:
lb = LOG(win, "Failed to create socket.<br/>Please check whether another test configuration window is<br/>already running and providing socket image.")
lb = LOG(win,
"Failed to create socket.<br/>Please check whether another "
"test configuration window is<br/>already running and providing "
"socket image.")
bx2.pack_end(lb)
fr, bx2 = FRAME(win, bx, "Plug")
@ -353,8 +326,7 @@ def config_clicked(obj, data=None):
bx2.pack_end(lb)
ad.new.cks = check_add(win, bx2)
bt = Button(win)
bt.text = "Create"
bt = Button(win, text="Create")
bt.callback_clicked_add(bt_win_add, win)
bx2.pack_end(bt)
bt.show()
@ -375,7 +347,6 @@ def config_clicked(obj, data=None):
bx.show()
sc.show()
win.size = 400, 500
win.show()

View File

@ -12,77 +12,66 @@ from efl.elementary.scroller import Scrollable
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
EXPAND_HORIZ = EVAS_HINT_EXPAND, 0.0
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
FILL_HORIZ = EVAS_HINT_FILL, 0.5
class ScrollableEntry(Scrollable, Entry):
def __init__(self, canvas, *args, **kwargs):
Entry.__init__(self, canvas)
Entry.__init__(self, canvas, *args, **kwargs)
self.scrollable = True
def conformant_clicked(obj, item=None):
win = StandardWindow("conformant", "Conformant")
win.autodel = True
win.conformant = True
win = StandardWindow("conformant", "Conformant", autodel=True,
conformant=True, size=(240,240))
conform = Conformant(win)
conform.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
conform = Conformant(win, size_hint_weight=EXPAND_BOTH)
win.resize_object_add(conform)
conform.show()
bx = Box(win)
bx.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bx = Box(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
en = ScrollableEntry(win)
en.single_line = True
en.bounce = True, False
en.text = "This is the top entry here"
en.size_hint_weight = EVAS_HINT_EXPAND, 0.0
en.size_hint_align = EVAS_HINT_FILL, 0.5
en = ScrollableEntry(win, single_line=True, bounce=(True, False),
text="This is the top entry here", size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_HORIZ)
en.show()
bx.pack_end(en)
btn = Button(win)
btn.text = "Test Conformant"
btn.size_hint_weight = EVAS_HINT_EXPAND, 0.0
btn.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
btn = Button(win, text="Test Conformant", size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_BOTH)
bx.pack_end(btn)
btn.show()
en = ScrollableEntry(win)
en.single_line = True
en.bounce = True, False
en.text = "This is the middle entry here"
en.size_hint_weight = EVAS_HINT_EXPAND, 0.0
en.size_hint_align = EVAS_HINT_FILL, 0.5
en = ScrollableEntry(win, single_line=True, bounce=(True, False),
text="This is the middle entry here", size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_HORIZ)
en.show()
bx.pack_end(en)
btn = Button(win)
btn.text = "Test Conformant"
btn.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
btn.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
btn = Button(win, text="Test Conformant", size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH)
bx.pack_end(btn)
btn.show()
en = ScrollableEntry(win)
en.bounce = False, True
en.text = "This is a multi-line entry at the bottom<br/>" \
"This can contain more than 1 line of text and be " \
"scrolled around to allow for entering of lots of " \
"content. It is also to test to see that autoscroll " \
"moves to the right part of a larger multi-line " \
"text entry that is inside of a scroller than can be " \
"scrolled around, thus changing the expected position " \
"as well as cursor changes updating auto-scroll when " \
"it is enabled."
en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
en.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
en = ScrollableEntry(win, bounce=(False, True),
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
en.text = \
"This is a multi-line entry at the bottom<br/>" \
"This can contain more than 1 line of text and be " \
"scrolled around to allow for entering of lots of " \
"content. It is also to test to see that autoscroll " \
"moves to the right part of a larger multi-line " \
"text entry that is inside of a scroller than can be " \
"scrolled around, thus changing the expected position " \
"as well as cursor changes updating auto-scroll when " \
"it is enabled."
en.show()
bx.pack_end(en)
conform.content = bx
bx.show()
win.size = 240, 240
win.show()
def popobj(obj, *args, **kwargs):
@ -90,63 +79,45 @@ def popobj(obj, *args, **kwargs):
nf.item_pop()
def conformant2_clicked(obj, item=None):
win = StandardWindow("conformant2", "Conformant 2")
win.autodel = True
win.conformant = True
win = StandardWindow("conformant2", "Conformant 2", autodel=True,
conformant=True, size=(240,480))
bx = Box(win)
bx.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx = Box(win, size_hint_weight=EXPAND_BOTH)
win.resize_object_add(bx)
bx.show()
en = ScrollableEntry(win)
en.single_line = True
en.bounce = True, False
en.text = "This is the top entry here"
en.size_hint_weight = EVAS_HINT_EXPAND, 0.0
en.size_hint_align = EVAS_HINT_FILL, 0.5
en = ScrollableEntry(win, single_line=True, bounce=(True, False),
text="This is the top entry here", size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_HORIZ)
bx.pack_end(en)
en.show()
btn = Button(win)
btn.focus_allow = False
btn.text = "Delete Below"
btn.size_hint_weight = EVAS_HINT_EXPAND, 0.0
btn.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
btn = Button(win, focus_allow=False, text="Delete Below",
size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
bx.pack_end(btn)
btn.show()
pg = Naviframe(win)
pg.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
pg.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
pg = Naviframe(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
bx.pack_end(pg)
pg.show()
btn.callback_clicked_add(popobj, pg)
conform = Conformant(win)
conform.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
conform.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
conform = Conformant(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH)
pg.item_simple_push(conform)
conform.show()
bx = Box(win)
bx.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bx = Box(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
en = ScrollableEntry(win)
en.bounce = False, True
en.text = "This entry and button below get deleted."
en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
en.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
en = ScrollableEntry(win, bounce=(False, True),
text="This entry and button below get deleted.",
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
en.show()
bx.pack_end(en)
btn = Button(win)
btn.focus_allow = False
btn.text = "Delete this bottom bit 1"
btn.size_hint_weight = EVAS_HINT_EXPAND, 0.0
btn.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
btn = Button(win, focus_allow=False, text="Delete this bottom bit 1",
size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
bx.pack_end(btn)
btn.show()
@ -155,29 +126,21 @@ def conformant2_clicked(obj, item=None):
conform.content = bx
bx.show()
conform = Conformant(win)
conform.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
conform.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
conform = Conformant(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH)
pg.item_simple_push(conform)
conform.show()
bx = Box(win)
bx.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bx = Box(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
en = ScrollableEntry(win)
en.bounce = False, True
en.text = "This entry and button below get deleted."
en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
en.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
en = ScrollableEntry(win, bounce=(False, True),
text="This entry and button below get deleted.",
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
en.show()
bx.pack_end(en)
btn = Button(win)
btn.focus_allow = False
btn.text = "Delete this bottom bit 2"
btn.size_hint_weight = EVAS_HINT_EXPAND, 0.0
btn.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
btn = Button(win, focus_allow=False, text="Delete this bottom bit 2",
size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH)
bx.pack_end(btn)
btn.show()
@ -186,39 +149,34 @@ def conformant2_clicked(obj, item=None):
conform.content = bx
bx.show()
win.size = 240, 480
win.show()
if __name__ == "__main__":
elementary.init()
win = StandardWindow("test", "python-elementary test application")
win = StandardWindow("test", "python-elementary test application",
size=(320,520))
win.callback_delete_request_add(lambda o: elementary.exit())
box0 = Box(win)
box0.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
box0 = Box(win, size_hint_weight=EXPAND_BOTH)
win.resize_object_add(box0)
box0.show()
fr = Frame(win)
fr.text = "Information"
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.")
lb.show()
fr = Frame(win, text="Information", content=lb)
box0.pack_end(fr)
fr.show()
lb = Label(win)
lb.text = "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.show()
items = [
("Conformant", conformant_clicked),
("Conformant 2", conformant2_clicked),
]
li = List(win)
li.size_hint_weight_set(EVAS_HINT_EXPAND, EVAS_HINT_EXPAND)
li.size_hint_align_set(EVAS_HINT_FILL, EVAS_HINT_FILL)
li = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
box0.pack_end(li)
li.show()
@ -227,7 +185,6 @@ if __name__ == "__main__":
li.go()
win.resize(320,520)
win.show()
elementary.run()
elementary.shutdown()

View File

@ -1,7 +1,13 @@
#!/usr/bin/env python
# encoding: utf-8
from efl import evas
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, \
EVAS_CALLBACK_RENDER_PRE, EVAS_CALLBACK_RENDER_POST, \
EVAS_CALLBACK_CANVAS_FOCUS_IN, EVAS_CALLBACK_CANVAS_FOCUS_OUT, \
EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, \
EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, \
EVAS_CALLBACK_RENDER_FLUSH_PRE, EVAS_CALLBACK_RENDER_FLUSH_POST, \
Text, Rectangle
# edje is imported because the canvas callbacks point to an edje obj,
# an instance cannot be created unless the class is available.
@ -9,21 +15,23 @@ from efl import evas
from efl import edje
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.button import Button
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
def btn_del_cbs_cb(button):
canvas = button.evas_get()
canvas.event_callback_del(evas.EVAS_CALLBACK_CANVAS_FOCUS_IN, events_cb1)
canvas.event_callback_del(evas.EVAS_CALLBACK_CANVAS_FOCUS_OUT, events_cb1)
canvas.event_callback_del(evas.EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, events_cb2)
canvas.event_callback_del(evas.EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, events_cb2)
canvas.event_callback_del(evas.EVAS_CALLBACK_RENDER_FLUSH_PRE, events_cb1)
canvas.event_callback_del(evas.EVAS_CALLBACK_RENDER_FLUSH_POST, events_cb1)
canvas.event_callback_del(evas.EVAS_CALLBACK_RENDER_PRE, events_cb1)
canvas.event_callback_del(evas.EVAS_CALLBACK_RENDER_POST, events_cb1)
canvas.event_callback_del(EVAS_CALLBACK_CANVAS_FOCUS_IN, events_cb1)
canvas.event_callback_del(EVAS_CALLBACK_CANVAS_FOCUS_OUT, events_cb1)
canvas.event_callback_del(EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, events_cb2)
canvas.event_callback_del(EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, events_cb2)
canvas.event_callback_del(EVAS_CALLBACK_RENDER_FLUSH_PRE, events_cb1)
canvas.event_callback_del(EVAS_CALLBACK_RENDER_FLUSH_POST, events_cb1)
canvas.event_callback_del(EVAS_CALLBACK_RENDER_PRE, events_cb1)
canvas.event_callback_del(EVAS_CALLBACK_RENDER_POST, events_cb1)
def events_cb1(rect, event_name):
@ -34,52 +42,49 @@ def events_cb2(rect, evtinfo, event_name):
def core_evas_canvas_callbacks_clicked(obj, item=None):
win = Window("evascanvascbs", elementary.ELM_WIN_BASIC)
win.title_set("Evas canvas callbacks")
win.autodel_set(True)
win = StandardWindow("evascanvascbs", "Evas canvas callbacks", autodel=True,
size=(320,320))
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.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bg.show()
text = evas.Text(win.evas, text="Events printed on console", size=(300, 30), color=(0,0,0,255))
text = Text(win.evas, text="Events printed on console", size=(300, 30),
color=(0,0,0,255))
text.font_set("Sans", 12)
text.pos = (10, 10)
text.show()
canvas = win.evas_get()
canvas.event_callback_add(evas.EVAS_CALLBACK_CANVAS_FOCUS_IN, events_cb1, "EVAS_CALLBACK_CANVAS_FOCUS_IN")
canvas.event_callback_add(evas.EVAS_CALLBACK_CANVAS_FOCUS_OUT, events_cb1, "EVAS_CALLBACK_CANVAS_FOCUS_OUT")
canvas.event_callback_add(evas.EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, events_cb2, "EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN")
canvas.event_callback_add(evas.EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, events_cb2, "EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT")
canvas.event_callback_add(EVAS_CALLBACK_CANVAS_FOCUS_IN,
events_cb1, "EVAS_CALLBACK_CANVAS_FOCUS_IN")
canvas.event_callback_add(EVAS_CALLBACK_CANVAS_FOCUS_OUT,
events_cb1, "EVAS_CALLBACK_CANVAS_FOCUS_OUT")
canvas.event_callback_add(EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN,
events_cb2, "EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN")
canvas.event_callback_add(EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT,
events_cb2, "EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT")
canvas.event_callback_add(evas.EVAS_CALLBACK_RENDER_FLUSH_PRE, events_cb1, "EVAS_CALLBACK_RENDER_FLUSH_PRE")
canvas.event_callback_add(evas.EVAS_CALLBACK_RENDER_FLUSH_POST, events_cb1, "EVAS_CALLBACK_RENDER_FLUSH_POST")
canvas.event_callback_add(evas.EVAS_CALLBACK_RENDER_PRE, events_cb1, "EVAS_CALLBACK_RENDER_PRE")
canvas.event_callback_add(evas.EVAS_CALLBACK_RENDER_POST, events_cb1, "EVAS_CALLBACK_RENDER_POST")
canvas.event_callback_add(EVAS_CALLBACK_RENDER_FLUSH_PRE,
events_cb1, "EVAS_CALLBACK_RENDER_FLUSH_PRE")
canvas.event_callback_add(EVAS_CALLBACK_RENDER_FLUSH_POST,
events_cb1, "EVAS_CALLBACK_RENDER_FLUSH_POST")
canvas.event_callback_add(EVAS_CALLBACK_RENDER_PRE,
events_cb1, "EVAS_CALLBACK_RENDER_PRE")
canvas.event_callback_add(EVAS_CALLBACK_RENDER_POST,
events_cb1, "EVAS_CALLBACK_RENDER_POST")
r2 = evas.Rectangle(win.evas, size=(120,70), color=(0,100,0,100), pos=(70,70))
r2 = Rectangle(win.evas, size=(120,70), color=(0,100,0,100), pos=(70,70))
r2.show()
hbox = Box(win)
hbox = Box(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH,
horizontal=True)
win.resize_object_add(hbox)
hbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
hbox.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
hbox.horizontal = True
hbox.show()
b = Button(win)
b.text = "del cbs"
b.size_hint_align_set(0.5, 1.0)
b = Button(win, text="del cbs", size_hint_align=(0.5, 1.0))
hbox.pack_end(b)
b.callback_clicked_add(btn_del_cbs_cb)
b.show()
win.resize(320, 320)
win.show()

View File

@ -1,39 +1,52 @@
#!/usr/bin/env python
# encoding: utf-8
from efl import evas
from efl.evas import EVAS_CALLBACK_MOUSE_IN, EVAS_CALLBACK_MOUSE_OUT, \
EVAS_CALLBACK_MOUSE_DOWN, EVAS_CALLBACK_MOUSE_UP, \
EVAS_CALLBACK_MOUSE_MOVE, EVAS_CALLBACK_MOUSE_WHEEL, \
EVAS_CALLBACK_MULTI_DOWN, EVAS_CALLBACK_MULTI_UP, \
EVAS_CALLBACK_MULTI_MOVE, EVAS_CALLBACK_FREE, \
EVAS_CALLBACK_KEY_DOWN, EVAS_CALLBACK_KEY_UP, \
EVAS_CALLBACK_FOCUS_IN, EVAS_CALLBACK_FOCUS_OUT, \
EVAS_CALLBACK_SHOW, EVAS_CALLBACK_HIDE, EVAS_CALLBACK_MOVE, \
EVAS_CALLBACK_RESIZE, EVAS_CALLBACK_RESTACK, \
EVAS_CALLBACK_DEL, EVAS_CALLBACK_HOLD, \
EVAS_CALLBACK_CHANGED_SIZE_HINTS, \
EVAS_CALLBACK_IMAGE_PRELOADED, EVAS_CALLBACK_IMAGE_UNLOADED, \
Text, Rectangle, EVAS_HINT_EXPAND, EVAS_HINT_FILL
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.button import Button
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
def btn_del_cbs_cb(button, rect):
rect.event_callback_del(evas.EVAS_CALLBACK_MOUSE_IN, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_MOUSE_OUT, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_MOUSE_DOWN, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_MOUSE_UP, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_MOUSE_MOVE, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_MOUSE_WHEEL, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_MULTI_DOWN, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_MULTI_UP, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_MULTI_MOVE, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_FREE, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_KEY_DOWN, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_KEY_UP, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_FOCUS_IN, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_FOCUS_OUT, events_cb2)
rect.event_callback_del(evas.EVAS_CALLBACK_SHOW, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_HIDE, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_MOVE, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_RESIZE, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_RESTACK, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_DEL, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_HOLD, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_CHANGED_SIZE_HINTS, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_IMAGE_PRELOADED, events_cb1)
rect.event_callback_del(evas.EVAS_CALLBACK_IMAGE_UNLOADED, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_MOUSE_IN, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_MOUSE_OUT, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_MOUSE_DOWN, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_MOUSE_UP, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_MOUSE_MOVE, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_MOUSE_WHEEL, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_MULTI_DOWN, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_MULTI_UP, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_MULTI_MOVE, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_FREE, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_KEY_DOWN, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_KEY_UP, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_FOCUS_IN, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_FOCUS_OUT, events_cb2)
rect.event_callback_del(EVAS_CALLBACK_SHOW, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_HIDE, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_MOVE, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_RESIZE, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_RESTACK, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_DEL, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_HOLD, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_CHANGED_SIZE_HINTS, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_IMAGE_PRELOADED, events_cb1)
rect.event_callback_del(EVAS_CALLBACK_IMAGE_UNLOADED, events_cb1)
def events_cb1(rect, event_name):
@ -44,121 +57,98 @@ def events_cb2(rect, evtinfo, event_name):
def core_evas_object_callbacks_clicked(obj, item=None):
win = Window("evas3d", elementary.ELM_WIN_BASIC)
win.title_set("Evas object callbacks")
win.autodel_set(True)
win = StandardWindow("evas3d", "Evas object callbacks", autodel=True,
size=(320,320))
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.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bg.show()
text = evas.Text(win.evas, text="Events printed on console", size=(300, 30), color=(0,0,0,255))
text = Text(win.evas, text="Events printed on console", size=(300, 30),
color=(0,0,0,255))
text.font_set("Sans", 12)
text.pos = (10, 10)
text.show()
r = evas.Rectangle(win.evas, size=(100,100), color=(100,0,0,200), pos=(50,50))
r.event_callback_add(evas.EVAS_CALLBACK_MOUSE_IN, events_cb2, "EVAS_CALLBACK_MOUSE_IN")
r.event_callback_add(evas.EVAS_CALLBACK_MOUSE_OUT, events_cb2, "EVAS_CALLBACK_MOUSE_OUT")
r.event_callback_add(evas.EVAS_CALLBACK_MOUSE_DOWN, events_cb2, "EVAS_CALLBACK_MOUSE_DOWN")
r.event_callback_add(evas.EVAS_CALLBACK_MOUSE_UP, events_cb2, "EVAS_CALLBACK_MOUSE_UP")
r.event_callback_add(evas.EVAS_CALLBACK_MOUSE_MOVE, events_cb2, "EVAS_CALLBACK_MOUSE_MOVE")
r.event_callback_add(evas.EVAS_CALLBACK_MOUSE_WHEEL, events_cb2, "EVAS_CALLBACK_MOUSE_WHEEL")
r.event_callback_add(evas.EVAS_CALLBACK_MULTI_DOWN, events_cb2, "EVAS_CALLBACK_MULTI_DOWN")
r.event_callback_add(evas.EVAS_CALLBACK_MULTI_UP, events_cb2, "EVAS_CALLBACK_MULTI_UP")
r.event_callback_add(evas.EVAS_CALLBACK_MULTI_MOVE, events_cb2, "EVAS_CALLBACK_MULTI_MOVE")
r.event_callback_add(evas.EVAS_CALLBACK_FREE, events_cb1, "EVAS_CALLBACK_FREE")
r.event_callback_add(evas.EVAS_CALLBACK_KEY_DOWN, events_cb2, "EVAS_CALLBACK_KEY_DOWN")
r.event_callback_add(evas.EVAS_CALLBACK_KEY_UP, events_cb2, "EVAS_CALLBACK_KEY_UP")
r.event_callback_add(evas.EVAS_CALLBACK_FOCUS_IN, events_cb2, "EVAS_CALLBACK_FOCUS_IN")
r.event_callback_add(evas.EVAS_CALLBACK_FOCUS_OUT, events_cb2, "EVAS_CALLBACK_FOCUS_OUT")
r.event_callback_add(evas.EVAS_CALLBACK_SHOW, events_cb1, "EVAS_CALLBACK_SHOW")
r.event_callback_add(evas.EVAS_CALLBACK_HIDE, events_cb1, "EVAS_CALLBACK_HIDE")
r.event_callback_add(evas.EVAS_CALLBACK_MOVE, events_cb1, "EVAS_CALLBACK_MOVE")
r.event_callback_add(evas.EVAS_CALLBACK_RESIZE, events_cb1, "EVAS_CALLBACK_RESIZE")
r.event_callback_add(evas.EVAS_CALLBACK_RESTACK, events_cb1, "EVAS_CALLBACK_RESTACK")
r.event_callback_add(evas.EVAS_CALLBACK_DEL, events_cb1, "EVAS_CALLBACK_DEL")
r.event_callback_add(evas.EVAS_CALLBACK_HOLD, events_cb1, "EVAS_CALLBACK_HOLD")
r.event_callback_add(evas.EVAS_CALLBACK_CHANGED_SIZE_HINTS, events_cb1, "EVAS_CALLBACK_CHANGED_SIZE_HINTS")
r.event_callback_add(evas.EVAS_CALLBACK_IMAGE_PRELOADED, events_cb1, "EVAS_CALLBACK_IMAGE_PRELOADED")
r.event_callback_add(evas.EVAS_CALLBACK_IMAGE_UNLOADED, events_cb1, "EVAS_CALLBACK_IMAGE_UNLOADED")
## r.event_callback_add(evas.EVAS_CALLBACK_CANVAS_FOCUS_IN, events_cb1, "EVAS_CALLBACK_CANVAS_FOCUS_IN")
## r.event_callback_add(evas.EVAS_CALLBACK_CANVAS_FOCUS_OUT, events_cb1, "")
## r.event_callback_add(evas.EVAS_CALLBACK_RENDER_FLUSH_PRE, events_cb1, "")
## r.event_callback_add(evas.EVAS_CALLBACK_RENDER_FLUSH_POST, events_cb1, "")
## r.event_callback_add(evas.EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, events_cb1, "")
## r.event_callback_add(evas.EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, events_cb1, "")
## r.event_callback_add(evas.EVAS_CALLBACK_RENDER_PRE, events_cb1, "")
## r.event_callback_add(evas.EVAS_CALLBACK_RENDER_POST, events_cb1, "")
#? r.event_callback_add(evas.EVAS_CALLBACK_IMAGE_RESIZE, events_cb1, "")
#? r.event_callback_add(evas.EVAS_CALLBACK_DEVICE_CHANGED, events_cb1, "")
r = Rectangle(win.evas, size=(100,100), color=(100,0,0,200), pos=(50,50))
r.event_callback_add(EVAS_CALLBACK_MOUSE_IN, events_cb2, "EVAS_CALLBACK_MOUSE_IN")
r.event_callback_add(EVAS_CALLBACK_MOUSE_OUT, events_cb2, "EVAS_CALLBACK_MOUSE_OUT")
r.event_callback_add(EVAS_CALLBACK_MOUSE_DOWN, events_cb2, "EVAS_CALLBACK_MOUSE_DOWN")
r.event_callback_add(EVAS_CALLBACK_MOUSE_UP, events_cb2, "EVAS_CALLBACK_MOUSE_UP")
r.event_callback_add(EVAS_CALLBACK_MOUSE_MOVE, events_cb2, "EVAS_CALLBACK_MOUSE_MOVE")
r.event_callback_add(EVAS_CALLBACK_MOUSE_WHEEL, events_cb2, "EVAS_CALLBACK_MOUSE_WHEEL")
r.event_callback_add(EVAS_CALLBACK_MULTI_DOWN, events_cb2, "EVAS_CALLBACK_MULTI_DOWN")
r.event_callback_add(EVAS_CALLBACK_MULTI_UP, events_cb2, "EVAS_CALLBACK_MULTI_UP")
r.event_callback_add(EVAS_CALLBACK_MULTI_MOVE, events_cb2, "EVAS_CALLBACK_MULTI_MOVE")
r.event_callback_add(EVAS_CALLBACK_FREE, events_cb1, "EVAS_CALLBACK_FREE")
r.event_callback_add(EVAS_CALLBACK_KEY_DOWN, events_cb2, "EVAS_CALLBACK_KEY_DOWN")
r.event_callback_add(EVAS_CALLBACK_KEY_UP, events_cb2, "EVAS_CALLBACK_KEY_UP")
r.event_callback_add(EVAS_CALLBACK_FOCUS_IN, events_cb2, "EVAS_CALLBACK_FOCUS_IN")
r.event_callback_add(EVAS_CALLBACK_FOCUS_OUT, events_cb2, "EVAS_CALLBACK_FOCUS_OUT")
r.event_callback_add(EVAS_CALLBACK_SHOW, events_cb1, "EVAS_CALLBACK_SHOW")
r.event_callback_add(EVAS_CALLBACK_HIDE, events_cb1, "EVAS_CALLBACK_HIDE")
r.event_callback_add(EVAS_CALLBACK_MOVE, events_cb1, "EVAS_CALLBACK_MOVE")
r.event_callback_add(EVAS_CALLBACK_RESIZE, events_cb1, "EVAS_CALLBACK_RESIZE")
r.event_callback_add(EVAS_CALLBACK_RESTACK, events_cb1, "EVAS_CALLBACK_RESTACK")
r.event_callback_add(EVAS_CALLBACK_DEL, events_cb1, "EVAS_CALLBACK_DEL")
r.event_callback_add(EVAS_CALLBACK_HOLD, events_cb1, "EVAS_CALLBACK_HOLD")
r.event_callback_add(EVAS_CALLBACK_CHANGED_SIZE_HINTS, events_cb1, "EVAS_CALLBACK_CHANGED_SIZE_HINTS")
r.event_callback_add(EVAS_CALLBACK_IMAGE_PRELOADED, events_cb1, "EVAS_CALLBACK_IMAGE_PRELOADED")
r.event_callback_add(EVAS_CALLBACK_IMAGE_UNLOADED, events_cb1, "EVAS_CALLBACK_IMAGE_UNLOADED")
## r.event_callback_add(EVAS_CALLBACK_CANVAS_FOCUS_IN, events_cb1, "EVAS_CALLBACK_CANVAS_FOCUS_IN")
## r.event_callback_add(EVAS_CALLBACK_CANVAS_FOCUS_OUT, events_cb1, "")
## r.event_callback_add(EVAS_CALLBACK_RENDER_FLUSH_PRE, events_cb1, "")
## r.event_callback_add(EVAS_CALLBACK_RENDER_FLUSH_POST, events_cb1, "")
## r.event_callback_add(EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, events_cb1, "")
## r.event_callback_add(EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, events_cb1, "")
## r.event_callback_add(EVAS_CALLBACK_RENDER_PRE, events_cb1, "")
## r.event_callback_add(EVAS_CALLBACK_RENDER_POST, events_cb1, "")
#? r.event_callback_add(EVAS_CALLBACK_IMAGE_RESIZE, events_cb1, "")
#? r.event_callback_add(EVAS_CALLBACK_DEVICE_CHANGED, events_cb1, "")
r.show()
r2 = evas.Rectangle(win.evas, size=(120,70), color=(0,100,0,100), pos=(70,70))
r2 = Rectangle(win.evas, size=(120,70), color=(0,100,0,100), pos=(70,70))
r2.show()
hbox = Box(win)
hbox = Box(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH,
horizontal=True)
win.resize_object_add(hbox)
hbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
hbox.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
hbox.horizontal = True
hbox.show()
b = Button(win)
b.text = "show / hide"
b.size_hint_align_set(0.5, 1.0)
b = Button(win, text="show / hide", size_hint_align=(0.5, 1.0))
hbox.pack_end(b)
b.callback_clicked_add(lambda b, r: r.hide() if r.visible else r.show(), r)
b.show()
b = Button(win)
b.text = "move"
b.size_hint_align_set(0.5, 1.0)
b = Button(win, text="move", size_hint_align=(0.5, 1.0))
hbox.pack_end(b)
b.callback_clicked_add(lambda b, t: r.pos_set(r.pos[0] + 1, r.pos[1]), r)
b.show()
b = Button(win)
b.text = "resize"
b.size_hint_align_set(0.5, 1.0)
b = Button(win, text="resize", size_hint_align=(0.5, 1.0))
hbox.pack_end(b)
b.callback_clicked_add(lambda b, r: r.size_set(r.size[0] + 1, r.size[1] + 1), r)
b.show()
b = Button(win)
b.text = "delete"
b.size_hint_align_set(0.5, 1.0)
b = Button(win, text="delete", size_hint_align=(0.5, 1.0))
hbox.pack_end(b)
b.callback_clicked_add(lambda b, r: r.delete(), r)
b.show()
b = Button(win)
b.text = "raise"
b.size_hint_align_set(0.5, 1.0)
b = Button(win, text="raise", size_hint_align=(0.5, 1.0))
hbox.pack_end(b)
b.callback_clicked_add(lambda b, r: r.raise_(), r)
b.show()
b = Button(win)
b.text = "hints"
b.size_hint_align_set(0.5, 1.0)
b = Button(win, text="hints", size_hint_align=(0.5, 1.0))
hbox.pack_end(b)
b.callback_clicked_add(lambda b, r: r.size_hint_align_set(0.0, 0.0), r)
b.show()
b = Button(win)
b.text = "del cbs"
b.size_hint_align_set(0.5, 1.0)
b = Button(win, text="del cbs", size_hint_align=(0.5, 1.0))
hbox.pack_end(b)
b.callback_clicked_add(btn_del_cbs_cb, r)
b.show()
win.resize(320, 320)
win.show()
@ -169,4 +159,3 @@ if __name__ == "__main__":
elementary.run()
elementary.shutdown()
evas.shutdown()

View File

@ -1,11 +1,9 @@
#!/usr/bin/env python
# encoding: utf-8
from efl import evas
from efl.evas import Rectangle, Line, Text, Polygon
from efl import elementary
from efl.elementary.window import Window
from efl.elementary.background import Background
from efl.elementary.window import StandardWindow
def events_cb1(rect, event_name):
print(event_name + " No data for event")
@ -13,33 +11,23 @@ def events_cb1(rect, event_name):
def events_cb2(rect, evtinfo, event_name):
print(event_name + " " + str(evtinfo))
def core_evas_objects_clicked(obj, item=None):
win = Window("evasobjects", elementary.ELM_WIN_BASIC)
win.title_set("Evas Objects Test")
win.autodel_set(True)
win = StandardWindow("evasobjects", "Evas Objects 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.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bg.show()
rect = evas.Rectangle(win.evas, size=(120,70), color=(0,100,0,100), pos=(70,70))
rect = Rectangle(win.evas, size=(120,70), color=(0,100,0,100), pos=(70,70))
rect.show()
line = evas.Line(win.evas, start=(20,40), end=(200,100), color=(255,0,0,255))
line = Line(win.evas, start=(20,40), end=(200,100), color=(255,0,0,255))
line.show()
text = evas.Text(win.evas, text="Evas Text Object", size=(300, 30), color=(0,0,0,255))
text = Text(win.evas, text="Evas Text Object", size=(300, 30), color=(0,0,0,255))
text.font_set("Sans", 16)
text.pos = (40, 20)
text.show()
poly = evas.Polygon(win.evas, color=(200, 0, 200, 200))
poly = Polygon(win.evas, color=(200, 0, 200, 200))
poly.point_add(10,100)
poly.point_add(100,120)
poly.point_add(20,30)

View File

@ -1,25 +1,25 @@
#!/usr/bin/env python
# encoding: utf-8
from efl import evas
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, FilledImage
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.button import Button
from efl.elementary.list import List
from efl.elementary.list import List, ELM_LIST_COMPRESS
from efl.elementary.ctxpopup import Ctxpopup
from efl.elementary.scroller import Scroller
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
def cb_items(li, item):
print(("ctxpopup item selected: %s" % (item.text)))
def item_new(cp, label, icon = None):
if icon:
ic = Icon(cp)
ic.standard_set(icon)
ic.resizable_set(False, False)
ic = Icon(cp, standard=icon, resizable=(False,False))
return cp.item_append(label, ic, cb_items)
else:
return cp.item_append(label, None, cb_items)
@ -28,7 +28,7 @@ def cb_btn(btn):
cp = btn.data["ctxpopup"]
if "img" in cp.data:
return
img = evas.FilledImage(btn.evas)
img = FilledImage(btn.evas)
img.file_set("images/sky_04.jpg")
img.move(40, 40)
img.resize(320, 320)
@ -101,70 +101,51 @@ def cb_item4(li, item):
cp.show()
def cb_item5(li, item):
box = Box(li)
box.size_hint_min = (150, 150)
box = Box(li, size_hint_min=(150, 150))
sc = Scroller(li)
sc.bounce = (False, True)
sc.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
sc.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
sc = Scroller(li, bounce=(False, True), size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_BOTH)
sc.show()
bt = Button(li)
bt.text = "Enlightenment"
bt.size_hint_min = (140, 140)
bt = Button(li, text="Enlightenment", size_hint_min=(140, 140))
sc.content = bt
box.pack_end(sc)
cp = Ctxpopup(li)
cp.content = box
cp = Ctxpopup(li, content = box)
(x, y) = li.evas.pointer_canvas_xy_get()
cp.move(x, y)
cp.show()
def cb_item6(li, item):
box = Box(li)
box.size_hint_min = (200, 150)
box = Box(li, size_hint_min=(200, 150))
sc = Scroller(li)
sc.bounce = (False, True)
sc.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
sc.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
sc = Scroller(li, bounce=(False, True), size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_BOTH)
sc.show()
bt = Button(li)
bt.text = "Ctxpop will be on the top of layer"
bt = Button(li, text="Ctxpop will be on the top of layer",
size_hint_min=(190, 140))
bt.callback_clicked_add(cb_btn)
bt.size_hint_min = (190, 140)
sc.content = bt
box.pack_end(sc)
cp = Ctxpopup(li)
cp = Ctxpopup(li, content=box)
cp.callback_dismissed_add(cb_dismissed)
cp.content = box
(x, y) = li.evas.pointer_canvas_xy_get()
cp.move(x, y)
cp.show()
bt.data["ctxpopup"] = cp
def ctxpopup_clicked(obj):
win = Window("ctxpopup", elementary.ELM_WIN_BASIC)
win.title = "Context popup test"
win.autodel = True
win = StandardWindow("ctxpopup", "Context popup test", autodel=True,
size=(400,400))
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()
li = List(win)
li = List(win, size_hint_weight=EXPAND_BOTH, mode=ELM_LIST_COMPRESS)
win.resize_object_add(li)
li.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
li.mode = elementary.ELM_LIST_COMPRESS
li.show()
li.item_append("Ctxpopup with icons and labels", callback=cb_item1)
@ -175,7 +156,6 @@ def ctxpopup_clicked(obj):
li.item_append("Ctxpopup with restacking", callback=cb_item6)
li.go()
win.resize(400, 400)
win.show()

View File

@ -2,10 +2,9 @@
# 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 Window
from efl.elementary.background import Background
from efl.elementary.window import StandardWindow
from efl.elementary.box import Box
from efl.elementary.button import Button
from efl.elementary.label import Label
@ -15,180 +14,132 @@ from efl.elementary.clock import Clock
from efl.elementary.entry import Entry
from efl.elementary.toolbar import Toolbar
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
EXPAND_HORIZ = EVAS_HINT_EXPAND, 0.0
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
FILL_HORIZ = EVAS_HINT_FILL, 0.5
def cursor_clicked(obj, item=None):
win = Window("cursors", elementary.ELM_WIN_BASIC)
win.title_set("Cursors")
win = StandardWindow("cursors", "Cursors", autodel=True, size=(320,480))
win.autodel_set(True)
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)
ck.cursor_set("clock")
ck = Clock(win, cursor="clock")
bx.pack_end(ck)
ck.show()
bt = Button(win)
bt.text_set("Coffee Mug")
bt.cursor_set("coffee_mug")
bt = Button(win, text="Coffee Mug", cursor="coffee_mug")
bx.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("Cursor unset")
bt.cursor_set("bogosity")
bt = Button(win, text="Cursor unset", cursor="bogosity")
bt.cursor_unset()
bx.pack_end(bt)
bt.show()
lst = List(win)
lst = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH,
cursor="watch")
lst.item_append("watch over list")
lst.item_append("watch over list")
lst.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
lst.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
lst.cursor_set("watch")
bx.pack_end(lst)
lst.go()
lst.show()
en = Entry(win)
en.scrollable_set(True)
en.single_line_set(True)
en.entry_set("Xterm cursor")
en.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
en.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5)
en.cursor_set("xterm")
en = Entry(win, scrollable=True, single_line=True, entry="Xterm cursor"
size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_HORIZ,
cursor="xterm")
bx.pack_end(en)
en.show()
win.resize(320, 480)
win.show()
def cursor2_clicked(obj, item=None):
win = Window("cursors", elementary.ELM_WIN_BASIC)
win.title_set("Cursors 2")
win.autodel_set(True)
win = StandardWindow("cursors", "Cursors 2", autodel=True, size=(320, 480))
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()
tb = Toolbar(win)
tb = Toolbar(win, size_hint_weight=(0.0, 0.0),
size_hint_align=(EVAS_HINT_FILL, 0.0))
ti = tb.item_append("folder-new", "Bogosity", None, None)
ti.cursor_set("bogosity")
ti = tb.item_append("clock", "Unset", None, None)
ti.cursor_unset()
ti = tb.item_append("document-print", "Xterm", None, None)
ti.cursor_set("xterm")
tb.size_hint_weight_set(0.0, 0.0)
tb.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
bx.pack_end(tb)
tb.show()
lst = List(win)
lst = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
li = lst.item_append("cursor bogosity")
li.cursor_set("bogosity")
li = lst.item_append("cursor unset")
li.cursor_unset()
li = lst.item_append("cursor xterm")
li.cursor_set("xterm")
lst.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
lst.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bx.pack_end(lst)
lst.go()
lst.show()
win.resize(320, 480)
win.show()
def cursor3_clicked(obj, item=None):
win = Window("cursors", elementary.ELM_WIN_BASIC)
win.title_set("Cursors 3")
win.autodel_set(True)
win = StandardWindow("cursors", "Cursors 3", autodel=True, size=(320, 480))
elementary.theme_extension_add("./cursors.edj")
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()
bt = Button(win)
bt.text_set("hand1")
bt.cursor_set("hand1")
bt.cursor_theme_search_enabled_set(False)
bt = Button(win, text="hand1", cursor="hand1",
cursor_theme_search_enabled=False)
bx.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("hand2 x")
bt.cursor_set("hand2")
bt = Button(win, text="hand2 x", cursor="hand2")
bx.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("hand2")
bt.cursor_set("hand2")
bt.cursor_theme_search_enabled_set(False)
bt = Button(win, text="hand2", cursor="hand2",
cursor_theme_search_enabled=False)
bx.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("hand3")
bt.cursor_set("hand3")
bt.cursor_theme_search_enabled_set(False)
bt = Button(win, text="hand3", cursor="hand3",
cursor_theme_search_enabled=False)
bx.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("hand3")
bt.cursor_set("hand3")
bt.cursor_theme_search_enabled_set(False)
bt.cursor_style_set("transparent")
bt = Button(win, text="hand3", cursor="hand3",
cursor_theme_search_enabled=False, cursor_style="transparent")
bx.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("not existent")
bt.cursor_set("hand4")
bt.cursor_theme_search_enabled_set(False)
bt = Button(win, text="not existent", cursor="hand4",
cursor_theme_search_enabled=False)
bx.pack_end(bt)
bt.show()
elementary.cursor_engine_only_set(False)
bt = Button(win)
bt.text_set("hand 2 engine only config false")
bt.cursor_set("hand2")
bt = Button(win, text="hand 2 engine only config false", cursor="hand2")
bx.pack_end(bt)
bt.show()
elementary.cursor_engine_only_set(True)
bt = Button(win)
bt.text_set("hand 2 engine only config true")
bt.cursor_set("hand2")
bt = Button(win, text="hand 2 engine only config true", cursor="hand2")
bx.pack_end(bt)
bt.show()
lst = List(win)
lst = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
li = lst.item_append("cursor hand2 x")
li.cursor_set("hand2")
li = lst.item_append("cursor hand2")
@ -199,56 +150,40 @@ def cursor3_clicked(obj, item=None):
li.cursor_engine_only_set(False)
li = lst.item_append("cursor hand3 transparent")
li.cursor_set("hand3")
bt.cursor_style_set("transparent")
li.cursor_style_set("transparent")
li.cursor_engine_only_set(False)
lst.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
lst.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bx.pack_end(lst)
lst.go()
lst.show()
win.resize(320, 480)
win.show()
if __name__ == "__main__":
def destroy(obj):
elementary.exit()
elementary.init()
win = Window("test", elementary.ELM_WIN_BASIC)
win.title_set("python-elementary test application")
win.callback_delete_request_add(destroy)
win = StandardWindow("test", "python-elementary test application",
size=(320,520))
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()
box0 = Box(win)
box0.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
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.show()
fr = Frame(win, text="Information", content=lb)
box0.pack_end(fr)
fr.show()
items = [("Cursor", cursor_clicked),
("Cursor 2", cursor2_clicked),
("Cursor 3", cursor3_clicked)]
li = List(win)
li.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
li.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
li = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
box0.pack_end(li)
li.show()
@ -257,8 +192,6 @@ if __name__ == "__main__":
li.go()
win.resize(320, 480)
win.show()
elementary.run()
elementary.shutdown()

View File

@ -2,52 +2,48 @@
# 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.background import Background
from efl.elementary.box import Box
from efl.elementary.datetime_elm import Datetime
from efl.elementary.datetime_elm import Datetime, ELM_DATETIME_MINUTE, \
ELM_DATETIME_HOUR, ELM_DATETIME_AMPM, ELM_DATETIME_DATE, \
ELM_DATETIME_MONTH, ELM_DATETIME_YEAR
from datetime import datetime
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
FILL_HORIZ = EVAS_HINT_FILL, 0.5
def changed_cb(obj):
printf("Datetime value is changed\n")
print("Datetime value is changed")
def datetime_clicked(obj):
win = StandardWindow("dt", "DateTime")
win.autodel = True
bx = Box(win)
bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
bx = Box(win, size_hint_weight=EXPAND_BOTH, horizontal=False,
size_hint_min=(360, 240))
win.resize_object_add(bx)
bx.horizontal = False
bx.show()
bx.size_hint_min_set(360, 240)
dt = Datetime(bx)
dt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
dt.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5)
dt.field_visible_set(elementary.ELM_DATETIME_HOUR, False)
dt.field_visible_set(elementary.ELM_DATETIME_MINUTE, False)
dt.field_visible_set(elementary.ELM_DATETIME_AMPM, False)
dt = Datetime(bx, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_HORIZ)
dt.field_visible_set(ELM_DATETIME_HOUR, False)
dt.field_visible_set(ELM_DATETIME_MINUTE, False)
dt.field_visible_set(ELM_DATETIME_AMPM, False)
bx.pack_end(dt)
dt.show()
dt = Datetime(bx)
dt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
dt.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5)
dt.field_visible_set(elementary.ELM_DATETIME_YEAR, False)
dt.field_visible_set(elementary.ELM_DATETIME_MONTH, False)
dt.field_visible_set(elementary.ELM_DATETIME_DATE, False)
dt = Datetime(bx, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_HORIZ)
dt.field_visible_set(ELM_DATETIME_YEAR, False)
dt.field_visible_set(ELM_DATETIME_MONTH, False)
dt.field_visible_set(ELM_DATETIME_DATE, False)
bx.pack_end(dt)
dt.show()
dt = Datetime(bx)
dt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
dt.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5)
dt = Datetime(bx, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_HORIZ)
# get the current local time
time1 = datetime.now()
@ -58,7 +54,7 @@ def datetime_clicked(obj):
time1.replace(year = 80, month = 4, day = 10, hour = 14, minute = 30)
dt.value_min = time1
# minutes can be input only in between 15 and 45
dt.field_limit = (elementary.ELM_DATETIME_MINUTE, 15, 45)
dt.field_limit_set(ELM_DATETIME_MINUTE, 15, 45)
dt.callback_changed_add(changed_cb)
bx.pack_end(dt)
dt.show()

View File

@ -1,79 +1,71 @@
#!/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 Window
from efl.elementary.background import Background
from efl.elementary.window import StandardWindow
from efl.elementary.box import Box
from efl.elementary.dayselector import Dayselector
# XXX: Check needs to be imported here to make part_content_get work.
#
# We should make object_from_instance more intelligent,
# importing on demand.
from efl.elementary.check import Check
from efl.elementary.dayselector import Dayselector, ELM_DAYSELECTOR_SUN, \
ELM_DAYSELECTOR_MON, ELM_DAYSELECTOR_TUE, ELM_DAYSELECTOR_WED, \
ELM_DAYSELECTOR_THU, ELM_DAYSELECTOR_FRI, ELM_DAYSELECTOR_SAT
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
FILL_HORIZ = EVAS_HINT_FILL, 0.5
def cb_changed(ds):
print("\nSelected Days:")
print(("Sun:", ds.day_selected_get(elementary.ELM_DAYSELECTOR_SUN)))
print(("Mon:", ds.day_selected_get(elementary.ELM_DAYSELECTOR_MON)))
print(("Tue:", ds.day_selected_get(elementary.ELM_DAYSELECTOR_TUE)))
print(("Wed:", ds.day_selected_get(elementary.ELM_DAYSELECTOR_WED)))
print(("Thu:", ds.day_selected_get(elementary.ELM_DAYSELECTOR_THU)))
print(("Fri:", ds.day_selected_get(elementary.ELM_DAYSELECTOR_FRI)))
print(("Sat:", ds.day_selected_get(elementary.ELM_DAYSELECTOR_SAT)))
print("Sun: {0}".format(ds.day_selected_get(ELM_DAYSELECTOR_SUN)))
print("Mon: {0}".format(ds.day_selected_get(ELM_DAYSELECTOR_MON)))
print("Tue: {0}".format(ds.day_selected_get(ELM_DAYSELECTOR_TUE)))
print("Wed: {0}".format(ds.day_selected_get(ELM_DAYSELECTOR_WED)))
print("Thu: {0}".format(ds.day_selected_get(ELM_DAYSELECTOR_THU)))
print("Fri: {0}".format(ds.day_selected_get(ELM_DAYSELECTOR_FRI)))
print("Sat: {0}".format(ds.day_selected_get(ELM_DAYSELECTOR_SAT)))
def dayselector_clicked(obj):
win = Window("dayselector", elementary.ELM_WIN_BASIC)
win.title = "Dayselector test"
win.autodel = True
win = StandardWindow("dayselector", "Dayselector test", autodel=True,
size=(350, 120))
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()
box = Box(win)
box.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
box.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
box = Box(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
win.resize_object_add(box)
box.show()
# default
ds = Dayselector(win)
ds.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ds.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
ds = Dayselector(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_HORIZ)
box.pack_end(ds)
ds.show()
ds.callback_dayselector_changed_add(cb_changed)
# Sunday first
ds = Dayselector(win)
ds.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ds.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
ds = Dayselector(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_HORIZ, week_start=ELM_DAYSELECTOR_SUN)
box.pack_end(ds)
ds.show()
ds.callback_dayselector_changed_add(cb_changed)
try:
sunday = ds.part_content_get("day0")
sunday.signal_emit("elm,type,weekend,style1", "")
except:
print("BUG HERE !!!")
sunday = ds.part_content_get("day0")
sunday.signal_emit("elm,type,weekend,style1", "")
# Monday first
ds = Dayselector(win)
ds.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ds.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
ds = Dayselector(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_HORIZ, week_start=ELM_DAYSELECTOR_MON)
ds.callback_dayselector_changed_add(cb_changed)
box.pack_end(ds)
ds.show()
ds.week_start = elementary.ELM_DAY_MONDAY
try:
sunday = ds.part_content_get("day0")
sunday.signal_emit("elm,type,weekend,style1", "")
except:
print("BUG HERE !!!")
sunday = ds.part_content_get("day0")
sunday.signal_emit("elm,type,weekend,style1", "")
win.resize(350, 120)
win.show()

View File

@ -1,20 +1,29 @@
#!/usr/bin/env python
# encoding: utf-8
from efl import evas
import os
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL
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.diskselector import Diskselector
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
FILL_HORIZ = EVAS_HINT_FILL, 0.5
months=["January", "February", "March", "April", "May", "June", "August", "September", "October", "November", "December"]
weekdays=["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
months_short=["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
def disk_create(win, rnd):
di = Diskselector(win)
img_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "images")
ic_file = os.path.join(img_path, "logo_small.png")
def disk_create(win, rnd, **kwargs):
di = Diskselector(win, round_enabled=rnd, **kwargs)
for m in months:
if m == "August":
it = di.item_append(m)
@ -22,109 +31,84 @@ def disk_create(win, rnd):
di.item_append(m)
it.selected = True
di.round_enabled = rnd
return di
def cb_sel(ds, item):
print(("Selected item: %s" % (item.text.encode("UTF-8"))))
print("Selected item: " + item.text.encode("utf-8"))
def diskselector_clicked(obj):
win = Window("diskselector", elementary.ELM_WIN_BASIC)
win.title = "Diskselector test"
win.autodel = True
win = StandardWindow("diskselector", "Diskselector test", autodel=True,
size=(320, 480))
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()
di = disk_create(win, True)
di.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
di.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
di = disk_create(win, rnd=True, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_HORIZ)
di.callback_selected_add(cb_sel)
vbox.pack_end(di)
di.show()
di.first_item.selected = True
di = disk_create(win, False)
di.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
di.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
di = disk_create(win, rnd=False, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_HORIZ)
di.callback_selected_add(cb_sel)
vbox.pack_end(di)
di.show()
di.first_item.next.selected = True
di = disk_create(win, False)
di.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
di.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
di = disk_create(win, rnd=False, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_HORIZ, side_text_max_length=4)
di.callback_selected_add(cb_sel)
vbox.pack_end(di)
di.show()
di.side_text_max_length = 4
ic = Icon(win)
ic.file = "images/logo_small.png"
di = Diskselector(win)
ic = Icon(win, file=ic_file)
di = Diskselector(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_HORIZ)
di.item_append("Sunday", ic)
for day in weekdays:
di.item_append(day)
di.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
di.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
di.callback_selected_add(cb_sel)
vbox.pack_end(di)
di.show()
ic = Icon(win)
ic.file = "images/logo_small.png"
di = Diskselector(win)
ic = Icon(win, file=ic_file)
di = Diskselector(win, round_enabled=True, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_HORIZ)
di.item_append("머리스타일", ic)
for lan in ["プロが伝授する", "生上访要求政府", "English", "والشريعة", "עִבְרִית", "Grüßen"]:
di.item_append(lan)
di.round_enabled = True
di.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
di.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
di.callback_selected_add(cb_sel)
vbox.pack_end(di)
di.show()
di = Diskselector(win)
di.display_item_num = 5
di = Diskselector(win, display_item_num=5, round_enabled=True,
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_HORIZ)
for m in months_short:
di.item_append(m)
di.round_enabled = True
di.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
di.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
di.callback_selected_add(cb_sel)
vbox.pack_end(di)
di.show()
di.last_item.selected = True
di = Diskselector(win)
di = Diskselector(win, display_item_num=7, round_enabled=True,
size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_HORIZ)
di.display_item_num = 7
for i in range(31):
di.item_append(str(i))
di.round_enabled = True
di.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
di.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
di.callback_selected_add(cb_sel)
vbox.pack_end(di)
di.show()
di.last_item.selected = True
win.resize(320, 480)
win.show()
if __name__ == "__main__":
elementary.init()

View File

@ -1,7 +1,10 @@
#!/usr/bin/env python
# encoding: utf-8
from efl import evas
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL, \
EVAS_ASPECT_CONTROL_VERTICAL, EVAS_CALLBACK_MOUSE_MOVE, \
EVAS_CALLBACK_MOUSE_UP, EVAS_CALLBACK_MOUSE_DOWN, \
EVAS_EVENT_FLAG_ON_HOLD
from efl import elementary
from efl.elementary.box import Box
from efl.elementary.window import StandardWindow
@ -9,6 +12,9 @@ from efl.elementary.icon import Icon
from efl.elementary.genlist import Genlist, GenlistItemClass, \
ELM_SEL_FORMAT_TARGETS, ELM_GENLIST_ITEM_NONE, DragUserInfo
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
img = (
"panel_01.jpg",
"plant_01.jpg",
@ -45,9 +51,8 @@ class DndItemClass(GenlistItemClass):
def content_get(self, obj, part, data, *args):
if part == "elm.swallow.icon":
icon = Icon(obj)
icon.file = data
icon.size_hint_aspect = evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1
icon = Icon(obj, file=data,
size_hint_aspect=(EVAS_ASPECT_CONTROL_VERTICAL, 1, 1))
icon.show()
return icon
return None
@ -293,10 +298,8 @@ def gl_createicon(win, xoff, yoff, data):
if yoff is not None:
yoff = ym - (h/2)
icon = Icon(win)
icon.file = f, g
icon.size_hint_align = evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL
icon.size_hint_weight = evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND
icon = Icon(win, file=(f, g), size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH)
if (xoff is not None) and (yoff is not None):
icon.move(xoff, yoff)
@ -327,16 +330,12 @@ def gl_icons_get(data):
if o is not None:
f, g = o.file
ic = Icon(gl)
ic.file = f, g
x, y, w, h = o.geometry
ic.size_hint_align = evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL
ic.size_hint_weight = evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND
ic.move(x, y)
ic.resize(w, h)
ic = Icon(gl, file=(f, g), size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_BOTH, pos=(x,y), size=(w,h))
ic.show()
icons.append(ic)
return icons
@ -513,32 +512,30 @@ def gl_dnd_default_anim_data_getcb(gl, it):
# return False
def dnd_genlist_default_anim_clicked(*args):
win = StandardWindow("dnd-genlist-default-anim", "DnD-Genlist-Default-Anim")
win = StandardWindow("dnd-genlist-default-anim",
"DnD-Genlist-Default-Anim", autodel=True, size=(680, 800))
win.autodel = True
bxx = Box(win)
bxx.horizontal = True
bxx.size_hint_weight = evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND
bxx = Box(win, horizontal=True, size_hint_weight=EXPAND_BOTH)
win.resize_object_add(bxx)
bxx.show()
for j in range(2):
gl = Genlist(win)
gl = Genlist(win, multi_select=True, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH)
# START Drag and Drop handling
win.callback_delete_request_add(win_del, gl)
gl.multi_select = True # We allow multi drag
gl.drop_item_container_add(ELM_SEL_FORMAT_TARGETS,
gl_item_getcb, dropcb=gl_dropcb)
gl.drag_item_container_add(ANIM_TIME, DRAG_TIMEOUT,
gl_item_getcb, gl_dnd_default_anim_data_getcb)
# FIXME: This causes genlist to resize the horiz axis very slowly :(
# Reenable this and resize the window horizontally, then try to resize it back
# FIXME: This causes genlist to resize the horiz axis very slowly :(
# Reenable this and resize the window horizontally, then try
# to resize it back.
#elm_genlist_mode_set(gl, ELM_LIST_LIMIT)
gl.size_hint_weight = evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND
gl.size_hint_align = evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL
bxx.pack_end(gl)
gl.show()
@ -547,7 +544,6 @@ def dnd_genlist_default_anim_clicked(*args):
for i in range (20):
gl.item_append(itc1, "images/{0}".format(img[i % 9]), flags=ELM_GENLIST_ITEM_NONE)
win.resize(680, 800)
win.show()
# def test_dnd_genlist_user_anim(obj, event_info, data):

View File

@ -1,9 +1,9 @@
#!/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 Window, StandardWindow
from efl.elementary.window import StandardWindow
from efl.elementary.background import Background
from efl.elementary.box import Box
from efl.elementary.button import Button
@ -14,15 +14,22 @@ from efl.elementary.frame import Frame
from efl.elementary.label import Label
from efl.elementary.separator import Separator
from efl.elementary.icon import Icon
from efl.elementary.scroller import Scrollable
from efl.elementary.scroller import Scrollable, ELM_SCROLLER_POLICY_OFF, \
ELM_SCROLLER_POLICY_ON
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
EXPAND_HORIZ = EVAS_HINT_EXPAND, 0.0
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
FILL_HORIZ = EVAS_HINT_FILL, 0.5
SCROLL_POLICY_OFF = ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF
SCROLL_POLICY_ON = ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON
class ScrollableEntry(Scrollable, Entry):
def __init__(self, canvas, *args, **kwargs):
Entry.__init__(self, canvas)
Entry.__init__(self, canvas, *args, **kwargs)
self.scrollable = True
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL
def my_entry_bt_1(bt, en):
en.entry_set("")
@ -42,22 +49,14 @@ def my_entry_anchor_test(obj, anchor, en, *args, **kwargs):
def entry_clicked(obj, item=None):
win = Window("entry", elementary.ELM_WIN_BASIC)
win.title_set("Entry")
win.autodel_set(True)
win = StandardWindow("entry", "Entry", autodel=True)
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()
en = Entry(win)
en.line_wrap_set(False)
en = Entry(win, line_wrap=False, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH)
en.entry_set("This is an entry widget in this window that<br>"
"uses markup <b>like this</> for styling and<br>"
"formatting <em>like this</>, as well as<br>"
@ -66,45 +65,33 @@ def entry_clicked(obj, item=None):
"called <a href=anc-02>Anchors</a> so you will need<br>"
"to refer to them this way.")
en.callback_anchor_clicked_add(my_entry_anchor_test, en)
en.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
en.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bx.pack_end(en)
en.show()
bx2 = Box(win)
bx2.horizontal_set(True)
bx2.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
bx2.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bx2 = Box(win, horizontal=True, size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_BOTH)
bt = Button(win)
bt.text_set("Clear")
bt = Button(win, text="Clear", size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_BOTH)
bt.callback_clicked_add(my_entry_bt_1, en)
bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
bx2.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("Print")
bt = Button(win, text="Print", size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_BOTH)
bt.callback_clicked_add(my_entry_bt_2, en)
bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
bx2.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("Selection")
bt = Button(win, text="Selection", size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_BOTH)
bt.callback_clicked_add(my_entry_bt_3, en)
bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
bx2.pack_end(bt)
bt.show()
bt = Button(win)
bt.text_set("Insert")
bt = Button(win, text="Insert", size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_BOTH)
bt.callback_clicked_add(my_entry_bt_4, en)
bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
bx2.pack_end(bt)
bt.show()
@ -162,43 +149,32 @@ def entry_scrolled_clicked(obj, item = None):
#static Elm_Entry_Filter_Limit_Size limit_filter_data, limit_filter_data2;
win = StandardWindow("entry-scrolled", "Entry Scrolled")
win.autodel = True
win = StandardWindow("entry-scrolled", "Entry Scrolled", autodel=True,
size=(320, 300))
bx = Box(win)
bx.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
bx = Box(win, size_hint_weight=EXPAND_BOTH)
win.resize_object_add(bx)
bx.show()
# disabled entry
en = ScrollableEntry(win)
en.size_hint_weight = EVAS_HINT_EXPAND, 0.0
en.size_hint_align = EVAS_HINT_FILL, 0.5
en.scrollbar_policy = ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF
en.text = "Disabled entry"
en.single_line = True
en.disabled = True
en = ScrollableEntry(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_HORIZ, scrollbar_policy=SCROLL_POLICY_OFF,
text="Disabled entry", single_line=True, disabled=True)
en.show()
bx.pack_end(en)
# password entry
en = ScrollableEntry(win)
en.size_hint_weight = EVAS_HINT_EXPAND, 0.0
en.size_hint_align = EVAS_HINT_FILL, 0.5
en.scrollbar_policy = ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF
en.password = True
en.single_line = True
en.text = "Access denied, give up!"
en.disabled = True
en = ScrollableEntry(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_HORIZ, scrollbar_policy=SCROLL_POLICY_OFF,
password=True, single_line=True, text="Access denied, give up!",
disabled=True)
en.show()
bx.pack_end(en)
# multi-line disable entry
en = ScrollableEntry(win)
en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
en.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
en.scrollbar_policy = ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON
en.disabled = True
en = ScrollableEntry(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH, scrollbar_policy=SCROLL_POLICY_ON,
disabled=True)
en.context_menu_item_add("Hello")
en.context_menu_item_add("World")
en.text = "Multi-line disabled entry widget :)<br/>"\
@ -209,29 +185,22 @@ def entry_scrolled_clicked(obj, item = None):
en.show()
bx.pack_end(en)
sp = Separator(win)
sp.horizontal = True
sp = Separator(win, horizontal=True)
bx.pack_end(sp)
sp.show()
# Single line selected entry
en = ScrollableEntry(win)
en.size_hint_weight = EVAS_HINT_EXPAND, 0.0
en.size_hint_align = EVAS_HINT_FILL, 0.5
en.text = "This is a single line"
en.scrollbar_policy = ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF
en.single_line = True
en = ScrollableEntry(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_HORIZ, text="This is a single line",
scrollbar_policy=SCROLL_POLICY_OFF, single_line=True)
en.select_all()
en.show()
bx.pack_end(en)
# Filter test
en = ScrollableEntry(win)
en.size_hint_weight = EVAS_HINT_EXPAND, 0.0
en.size_hint_align = EVAS_HINT_FILL, 0.5
en.text = "Filter test"
en.scrollbar_policy = ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF
en.single_line = True
en = ScrollableEntry(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_HORIZ, text="Filter test",
scrollbar_policy=SCROLL_POLICY_OFF, single_line=True)
en.show()
bx.pack_end(en)
@ -294,44 +263,30 @@ def entry_scrolled_clicked(obj, item = None):
# en.markup_filter_append(elm_entry_filter_limit_size, limit_filter_data2)
# Single line password entry
en_p = ScrollableEntry(win)
en_p.scrollable = True
en_p.size_hint_weight = EVAS_HINT_EXPAND, 0.0
en_p.size_hint_align = EVAS_HINT_FILL, 0.5
en_p.scrollbar_policy = ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF
en_p.text = "Password here"
en_p.single_line = True
en_p.password = True
en_p = ScrollableEntry(win, size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_HORIZ, scrollbar_policy=SCROLL_POLICY_OFF,
text="Password here", single_line=True, password=True)
en_p.show()
bx.pack_end(en_p)
# entry with icon/end widgets
en = ScrollableEntry(win)
en.scrollbar_policy = ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF
en.single_line = True
en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
en.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bt = Icon(win)
bt.standard = "home"
bt.size_hint_min = 48, 48
bt.color = 128, 0, 0, 128
en = ScrollableEntry(win, scrollbar_policy=SCROLL_POLICY_OFF,
single_line=True, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH, text="entry with icon and end objects")
bt = Icon(win, standard="home", size_hint_min=(48, 48),
color=(128, 0, 0, 128))
bt.show()
en.part_content_set("icon", bt)
bt = Icon(win)
bt.standard = "delete"
bt.color = 128, 0, 0, 128
bt.size_hint_min = 48, 48
bt = Icon(win, standard="delete", size_hint_min=(48, 48),
color=(128, 0, 0, 128))
bt.show()
en.part_content_set("end", bt)
en.text = "entry with icon and end objects"
en.show()
bx.pack_end(en)
# markup entry
en = ScrollableEntry(win)
en.size_hint_weight = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
en.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
en.scrollbar_policy = ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON
en = ScrollableEntry(win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH, scrollbar_policy=SCROLL_POLICY_ON)
en.text = "This is an entry widget in this window that<br/>"\
"uses markup <b>like this</> for styling and<br/>"\
"formatting <em>like this</>, as well as<br/>"\
@ -347,158 +302,111 @@ def entry_scrolled_clicked(obj, item = None):
en.show()
bx.pack_end(en)
bx2 = Box(win)
bx2.horizontal = True
bx2.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bx2 = Box(win, horizontal=True, size_hint_weight=EXPAND_HORIZ,
size_hint_align=FILL_BOTH)
bt = Button(win)
bt.text = "Clear"
bt = Button(win, text="Clear", size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_HORIZ, propagate_events=False,
focus_allow=False)
bt.callback_clicked_add(scrolled_entry_bt_1, en)
bt.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bt.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.pack_end(bt)
bt.propagate_events = 0
bt.focus_allow = 0
bt.show()
bt = Button(win)
bt.text = "Print"
bt = Button(win, text="Print", size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_HORIZ, propagate_events=False,
focus_allow=False)
bt.callback_clicked_add(scrolled_entry_bt_2, en)
bt.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bt.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.pack_end(bt)
bt.propagate_events = 0
bt.focus_allow = 0
bt.show()
bt = Button(win)
bt.text = "Print pwd"
bt = Button(win, text="Print pwd", size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_HORIZ, propagate_events=False,
focus_allow=False)
bt.callback_clicked_add(scrolled_entry_bt_5, en_p)
bt.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bt.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.pack_end(bt)
bt.propagate_events = 0
bt.focus_allow = 0
bt.show()
bt = Button(win)
bt.text = "Selection"
bt = Button(win, text="Selection", size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_HORIZ, propagate_events=False,
focus_allow=False)
bt.callback_clicked_add(scrolled_entry_bt_3, en)
bt.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bt.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.pack_end(bt)
bt.propagate_events = 0
bt.focus_allow = 0
bt.show()
bt = Button(win)
bt.text = "Insert"
bt = Button(win, text="Insert", size_hint_align=FILL_BOTH,
size_hint_weight=EXPAND_HORIZ, propagate_events=False,
focus_allow=False)
bt.callback_clicked_add(scrolled_entry_bt_4, en)
bt.size_hint_align = EVAS_HINT_FILL, EVAS_HINT_FILL
bt.size_hint_weight = EVAS_HINT_EXPAND, 0.0
bx2.pack_end(bt)
bt.propagate_events = 0
bt.focus_allow = 0
bt.show()
bx.pack_end(bx2)
bx2.show()
win.size = 320, 300
win.focus_set(True)
win.show()
def anchor_clicked(obj, event_info):
print(("Entry object is %s" % (obj)))
print(("We should have EntryAnchorInfo here: %s" % (str(event_info))))
print(("EntryAnchorInfo has the following properties and methods: %s" % (dir(event_info))))
print("Entry object is %s" % (obj))
print("We should have EntryAnchorInfo here: %s" % (str(event_info)))
print("EntryAnchorInfo has the following properties and methods: %s" % (dir(event_info)))
print(event_info.name)
def anchor_hover_opened(obj, event_info):
print(("We should have EntryAnchorHoverInfo here: %s" % (event_info)))
print(("EntryAnchorHoverInfo has the following properties and methods: %s" % (dir(event_info))))
print("We should have EntryAnchorHoverInfo here: %s" % (event_info))
print("EntryAnchorHoverInfo has the following properties and methods: %s" % (dir(event_info)))
print(event_info.anchor_info.name)
btn = Button(obj)
btn.text_set("Testing entry anchor")
btn = Button(obj, text="Testing entry anchor")
event_info.hover.part_content_set("middle", btn)
btn.show()
def entry_anchor_clicked(obj, item=None):
win = Window("entry", elementary.ELM_WIN_BASIC)
win.title_set("Entry Anchor")
win.autodel_set(True)
win = StandardWindow("entry", "Entry Anchor", autodel=True, size=(400,400))
bg = Background(win)
bg.size_hint_weight_set(1.0, 1.0)
win.resize_object_add(bg)
bg.show()
box = Box(win)
box.size_hint_weight_set(1.0, 1.0)
box = Box(win, size_hint_weight=EXPAND_BOTH)
win.resize_object_add(box)
entry = Entry(win)
entry.text_set("<a href=url:http://www.enlightenment.org/>Enlightenment</a>")
entry = Entry(win, anchor_hover_style="popout", anchor_hover_parent=win)
entry.text = "<a href=url:http://www.enlightenment.org/>Enlightenment</a>"
entry.callback_anchor_clicked_add(anchor_clicked)
entry.anchor_hover_style_set("popout")
entry.anchor_hover_parent_set(win)
entry.callback_anchor_hover_opened_add(anchor_hover_opened)
entry.show()
frame = Frame(win)
frame.size_hint_align_set(-1.0, -1.0)
frame.text_set("Entry test")
frame.content_set(entry)
frame = Frame(win, size_hint_align=FILL_BOTH, text="Entry test",
content=entry)
frame.show()
box.pack_end(frame)
box.show()
win.resize(400, 400)
win.show()
if __name__ == "__main__":
def destroy(obj):
elementary.exit()
elementary.init()
win = Window("test", elementary.ELM_WIN_BASIC)
win.title_set("python-elementary test application")
win.callback_delete_request_add(destroy)
win = StandardWindow("test", "python-elementary test application",
size=(320,520))
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()
box0 = Box(win)
box0.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
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.show()
fr = Frame(win, text="Information", content=lb)
box0.pack_end(fr)
fr.show()
items = [("Entry", entry_clicked),
("Entry Scrolled", entry_scrolled_clicked),
("Entry Anchor", entry_anchor_clicked)
]
li = List(win)
li.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
li.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
li = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
box0.pack_end(li)
li.show()
@ -507,7 +415,6 @@ if __name__ == "__main__":
li.go()
win.resize(320,520)
win.show()
elementary.run()
elementary.shutdown()

View File

@ -2,25 +2,25 @@
# encoding: utf-8
from efl import evas
from efl.evas import Textgrid, EVAS_TEXTGRID_PALETTE_STANDARD
from efl import elementary
from efl.elementary.window import StandardWindow
from efl.elementary.background import Background
def evas_textgrid_clicked(obj, item=None):
win = StandardWindow("evasobjects", "Evas Objects Test")
win.autodel_set(True)
win.resize(320, 320)
win = StandardWindow("evastextgrid", "Evas Textgrid Test", autodel=True,
size=(320, 320))
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
tg = evas.Textgrid(win.evas)
tg = Textgrid(win.evas)
tg.size = 15, 1
tg.size_hint_weight_set(1.0, 1.0)
win.resize_object_add(tg)
tg.font = "Courier", 20
tg.palette_set(evas.EVAS_TEXTGRID_PALETTE_STANDARD, 0, 0, 0, 0, 255)
tg.palette_set(evas.EVAS_TEXTGRID_PALETTE_STANDARD, 1, 255, 255, 255, 255)
tg.palette_set(EVAS_TEXTGRID_PALETTE_STANDARD, 0, 0, 0, 0, 255)
tg.palette_set(EVAS_TEXTGRID_PALETTE_STANDARD, 1, 255, 255, 255, 255)
row = tg.cellrow_get(0)
for cell in row:

View File

@ -1,12 +1,11 @@
#!/usr/bin/env python
# encoding: utf-8
from efl import evas
from efl import ecore
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL
from efl.ecore import Timer
from efl import edje
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.progressbar import Progressbar
from efl.elementary.button import Button
from efl.elementary.layout import Layout
@ -15,24 +14,22 @@ from efl.elementary.frame import Frame
from efl.elementary.label import Label
from efl.elementary.list import List
EXPAND_BOTH = EVAS_HINT_EXPAND, EVAS_HINT_EXPAND
FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL
def edje_external_button_clicked(obj, item=None):
win = Window("edje-external-button", elementary.ELM_WIN_BASIC)
win.title_set("Edje External Button")
win.autodel_set(True)
win = StandardWindow("edje-external-button", "Edje External Button",
autodel=True, size=(320, 400))
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
ly = Layout(win)
ly.file_set("test_external.edj", "external/button")
ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ly = Layout(win, file=("test_external.edj", "external/button"),
size_hint_weight=EXPAND_BOTH)
win.resize_object_add(ly)
ly.show()
win.resize(320, 400)
win.show()
def animate(ly):
val = ly.edje_get().part_external_object_get("ext_pbar1").value
val += 0.0123
@ -41,7 +38,7 @@ def animate(ly):
ly.edje_get().part_external_object_get(part_name).value = val
if val < 1:
ecore.timer_add(0.1, animate, ly)
Timer(0.1, animate, ly)
else:
for part_name in ["ext_pbar2", "ext_pbar5", "ext_pbar7"]:
ly.edje_get().part_external_object_get(part_name).pulse(False)
@ -51,128 +48,99 @@ def animate(ly):
return False
def cb_btn3_clicked(bt, ly):
ly.edje_get().part_external_object_get("ext_pbar1").value = 0.0
ly.edje.part_external_object_get("ext_pbar1").value = 0.0
for part_name in ["ext_pbar2", "ext_pbar5", "ext_pbar7"]:
ly.edje_get().part_external_object_get(part_name).pulse(True)
for part_name in ["ext_button1", "ext_button2", "ext_button3"]:
ly.edje_get().part_external_object_get(part_name).disabled = True
ecore.timer_add(0.1, animate, ly)
Timer(0.1, animate, ly)
def edje_external_pbar_clicked(obj, item=None):
win = Window("edje-external-pbar", elementary.ELM_WIN_BASIC)
win.title_set("Edje External Progress Bar")
win.autodel_set(True)
win = StandardWindow("edje-external-pbar", "Edje External Progress Bar",
autodel=True, size=(320, 400))
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
ly = Layout(win)
ly.file_set("test_external.edj", "external/pbar")
ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ly = Layout(win, file=("test_external.edj", "external/pbar"),
size_hint_weight=EXPAND_BOTH)
win.resize_object_add(ly)
ly.show()
bt = ly.edje_get().part_external_object_get("ext_button3")
bt = ly.edje.part_external_object_get("ext_button3")
bt.text = "...or from Python"
bt.callback_clicked_add(cb_btn3_clicked, ly)
win.resize(320, 400)
win.show()
def edje_external_scroller_clicked(obj, item=None):
win = Window("edje-external-scroller", elementary.ELM_WIN_BASIC)
win.title_set("Edje External Scroller")
win.autodel_set(True)
win = StandardWindow("edje-external-scroller", "Edje External Scroller",
autodel=True, size=(320, 400))
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
ly = Layout(win)
ly.file_set("test_external.edj", "external/scroller")
ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ly = Layout(win, file=("test_external.edj", "external/scroller"),
size_hint_weight=EXPAND_BOTH)
win.resize_object_add(ly)
ly.show()
win.resize(320, 400)
win.show()
def edje_external_slider_clicked(obj, item=None):
win = Window("edje-external-slider", elementary.ELM_WIN_BASIC)
win.title_set("Edje External Slider")
win.autodel_set(True)
win = StandardWindow("edje-external-slider", "Edje External Slider",
autodel=True, size=(320, 400))
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
ly = Layout(win)
ly.file_set("test_external.edj", "external/slider")
ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ly = Layout(win, file=("test_external.edj", "external/slider"),
size_hint_weight=EXPAND_BOTH)
win.resize_object_add(ly)
ly.show()
win.resize(320, 400)
win.show()
def edje_external_video_clicked(obj, item=None):
win = Window("edje-external-video", elementary.ELM_WIN_BASIC)
win.title_set("Edje External Video")
win.autodel_set(True)
win = StandardWindow("edje-external-video", "Edje External Video",
autodel=True, size=(320, 400))
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
ly = Layout(win)
ly.file_set("test_external.edj", "external/video")
ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
ly = Layout(win, file=("test_external.edj", "external/video"),
size_hint_weight=EXPAND_BOTH)
win.resize_object_add(ly)
ly.show()
win.resize(320, 400)
win.show()
if __name__ == "__main__":
def destroy(obj):
elementary.exit()
elementary.init()
win = Window("test", elementary.ELM_WIN_BASIC)
win.title_set("python-elementary test application")
win.callback_delete_request_add(destroy)
win = StandardWindow("test", "python-elementary test application",
size=(320,520))
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()
box0 = Box(win)
box0.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
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.show()
fr = Frame(win, text="Information", content=lb)
box0.pack_end(fr)
fr.show()
items = [("Ext Button", edje_external_button_clicked),
("Ext ProgressBar", edje_external_pbar_clicked),
("Ext Scroller", edje_external_scroller_clicked),
("Ext Slider", edje_external_slider_clicked),
("Ext Video", edje_external_video_clicked)]
li = List(win)
li.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
li.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
li = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH)
box0.pack_end(li)
li.show()
@ -181,9 +149,6 @@ if __name__ == "__main__":
li.go()
win.resize(320,520)
win.show()
elementary.run()
elementary.shutdown()
ecore.shutdown()
evas.shutdown()