python-efl/examples/elementary/test_segment_control.py

118 lines
2.9 KiB
Python

#!/usr/bin/env python
# encoding: utf-8
from efl import evas
from efl import elementary
from efl.elementary.window import Window
from efl.elementary.background import Background
from efl.elementary.box import Box
from efl.elementary.icon import Icon
from efl.elementary.segment_control import SegmentControl
def cb_seg_changed(seg, item):
print(seg)
print(item)
def segment_control_clicked(obj):
win = 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 = 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.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
win.resize_object_add(vbox)
vbox.show()
# segment 1
seg = 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 = Icon(win)
ic.file = "images/logo_small.png"
it = seg.item_add(ic)
ic = 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 = 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 = 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 = 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 = 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 = Icon(win)
ic.file = "images/logo_small.png"
seg.item_add(ic, "Disabled")
ic = 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()