65 lines
1.3 KiB
Python
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()
|