python-efl/examples/ewe/test_combobox.py

65 lines
1.3 KiB
Python

#!/usr/bin/env python
# encoding: utf-8
from efl.evas import EVAS_HINT_EXPAND, EVAS_HINT_FILL
from efl import elementary
from efl import ewe
from efl.ewe.combobox import Combobox, ComboboxItem
from efl.elementary.box import Box
from efl.elementary.window import StandardWindow
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 collapsed(obj):
print("collapsed")
def expanded(obj):
print("expanded")
def selected(obj, item):
print(item)
def combobox_clicked(obj):
win = StandardWindow(
"combobox", "Combobox", autodel=True,
size=(320, 200)
)
if obj is None:
win.callback_delete_request_add(lambda o: elementary.exit())
bx = Box(win, size_hint_weight=EXPAND_BOTH)
win.resize_object_add(bx)
bx.show()
cb = Combobox(
win, size_hint_weight=EXPAND_BOTH,
size_hint_align=FILL_BOTH,
)
cb.callback_collapsed_add(collapsed)
cb.callback_expanded_add(expanded)
cb.callback_selected_add(selected)
for i in range(5):
ComboboxItem(cb, str(i))
bx.pack_end(cb)
cb.show()
win.show()
if __name__ == "__main__":
ewe.init()
combobox_clicked(None)
elementary.run()
ewe.shutdown()