118 lines
2.9 KiB
Python
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()
|