python-efl/tests/elementary/test_segment_control.py

113 lines
2.9 KiB
Python

#!/usr/bin/env python
# encoding: utf-8
from efl import elementary
from efl import evas
def cb_seg_changed(seg, item):
print seg
print item
def segment_control_clicked(obj):
win = elementary.Window("segment-control", elementary.ELM_WIN_BASIC)
win.title_set("Segment Control test")
win.autodel_set(True)
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
bg = elementary.Background(win)
win.resize_object_add(bg)
bg.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
bg.show()
vbox = elementary.Box(win)
vbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
vbox.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
win.resize_object_add(vbox)
vbox.show()
# segment 1
seg = elementary.SegmentControl(win)
seg.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
seg.size_hint_align = (evas.EVAS_HINT_FILL,0.5)
seg.item_add(None, "Only Text")
ic = elementary.Icon(win)
ic.file = "images/logo_small.png"
it = seg.item_add(ic)
ic = elementary.Icon(win)
ic.file = "images/logo_small.png"
seg.item_add(ic, "Text + Icon")
seg.item_add(None, "Seg4")
seg.item_add(None, "Seg5")
seg.callback_changed_add(cb_seg_changed)
# it.selected_set(True)
vbox.pack_end(seg)
seg.show()
# segment 2
seg = elementary.SegmentControl(win)
seg.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
seg.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
seg.item_add(None, "SegmentItem")
it = seg.item_add(None, "SegmentItem")
seg.item_add(None, "SegmentItem")
seg.item_add(None, "SegmentItem")
print it
# it.selected_set(True)
vbox.pack_end(seg)
seg.show()
# segment 3
seg = elementary.SegmentControl(win)
seg.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
seg.size_hint_align = (0.5, 0.5)
for i in range(3):
ic = elementary.Icon(win)
ic.file = "images/logo_small.png"
if i == 1:
it = seg.item_add(ic)
else:
seg.item_add(ic)
# it.selected_set(True)
vbox.pack_end(seg)
seg.show()
# segment 4
seg = elementary.SegmentControl(win)
seg.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
seg.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
seg.item_add(None, "Disabled")
ic = elementary.Icon(win)
ic.file = "images/logo_small.png"
seg.item_add(ic, "Disabled")
ic = elementary.Icon(win)
ic.file = "images/logo_small.png"
seg.item_add(ic)
seg.disabled = True
# it.selected_set(True)
vbox.pack_end(seg)
seg.show()
win.resize(320, 280)
win.show()
if __name__ == "__main__":
elementary.init()
segment_control_clicked(None)
elementary.run()
elementary.shutdown()