299 lines
12 KiB
Python
Executable File
299 lines
12 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# encoding: utf-8
|
|
|
|
import os
|
|
|
|
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.button import Button
|
|
from efl.elementary.frame import Frame
|
|
from efl.elementary.label import Label
|
|
from efl.elementary.check import Check
|
|
from efl.elementary.entry import Entry
|
|
from efl.elementary.scroller import Scroller
|
|
|
|
items = [
|
|
("Core Libs", [
|
|
("Evas Objects", "test_core_evas_objects", "core_evas_objects_clicked"),
|
|
("Evas Canvas Callbacks", "test_core_evas_canvas_callbacks", "core_evas_canvas_callbacks_clicked"),
|
|
("Evas Object Callbacks", "test_core_evas_object_callbacks", "core_evas_object_callbacks_clicked"),
|
|
]),
|
|
("3D", [
|
|
("Evas Map 3D", "test_3d", "evas3d_clicked"),
|
|
]),
|
|
("Booleans", [
|
|
("Checks", "test_check", "check_clicked"),
|
|
# ("Toggles", toggles_clicked),TODO make a toggle with check
|
|
]),
|
|
("Boundaries", [
|
|
("Bubble", "test_bubble", "bubble_clicked"),
|
|
("Separator", "test_separator", "separator_clicked"),
|
|
]),
|
|
("Buttons", [
|
|
("Buttons", "test_button", "buttons_clicked"),
|
|
]),
|
|
("Containers", [
|
|
("Box Horiz", "test_box", "box_horiz_clicked"),
|
|
("Box Vert", "test_box", "box_vert_clicked"),
|
|
("Box Vert2", "test_box", "box_vert2_clicked"),
|
|
("Box Layout", "test_box", "box_layout_clicked"),
|
|
("Box Layout Transition", "test_box", "box_transition_clicked"),
|
|
("Table", "test_table", "table_clicked"),
|
|
("Layout", "test_layout", "layout_clicked"),
|
|
("Grid", "test_grid", "grid_clicked"),
|
|
("Frame", "test_frame", "frame_clicked"),
|
|
]),
|
|
("Cursors", [
|
|
("Cursor", "test_cursor", "cursor_clicked"),
|
|
("Cursor2", "test_cursor", "cursor2_clicked"),
|
|
("Cursor3", "test_cursor", "cursor3_clicked"),
|
|
]),
|
|
("Dividers", [
|
|
("Panel", "test_panel", "panel_clicked"),
|
|
("Panes", "test_panes", "panes_clicked"),
|
|
]),
|
|
("Effects", [
|
|
("Flip", "test_flip", "flip_clicked"),
|
|
("Flip Interactive", "test_flip", "flip_interactive_clicked"),
|
|
("Transit", "test_transit", "transit_clicked"),
|
|
("Transit Resize", "test_transit", "transit2_clicked"),
|
|
("Transit Flip", "test_transit", "transit3_clicked"),
|
|
("Transit Zoom", "test_transit", "transit4_clicked"),
|
|
("Transit Blend", "test_transit", "transit5_clicked"),
|
|
("Transit Fade", "test_transit", "transit6_clicked"),
|
|
("Transit Resizable", "test_transit", "transit7_clicked"),
|
|
("Transit Chain", "test_transit", "transit9_clicked"),
|
|
]),
|
|
("Entries", [
|
|
("Entry", "test_entry", "entry_clicked"),
|
|
("Entry Scrolled", "test_entry", "entry_scrolled_clicked"),
|
|
("Entry Anchor", "test_entry", "entry_anchor_clicked"),
|
|
("MultiButtonEntry", "test_multibuttonentry", "multibuttonentry_clicked"),
|
|
]),
|
|
("Edje External", [
|
|
("Ext Button", "test_external", "edje_external_button_clicked"),
|
|
("Ext ProgressBar", "test_external", "edje_external_pbar_clicked"),
|
|
("Ext Scroller", "test_external", "edje_external_scroller_clicked"),
|
|
("Ext Slider", "test_external", "edje_external_slider_clicked"),
|
|
("Ext Video", "test_external", "edje_external_video_clicked"),
|
|
]),
|
|
("Geographic", [
|
|
("Map", "test_map", "map_clicked"),
|
|
("Map Overlay", "test_map2", "map_overlays_clicked"),
|
|
("Map Route", "test_map3", "map_route_clicked"),
|
|
]),
|
|
("Images", [
|
|
("Icon", "test_icon", "icon_clicked"),
|
|
("Icon Transparent", "test_icon", "icon_transparent_clicked"),
|
|
("Photo", "test_photo", "photo_clicked"),
|
|
("Slideshow", "test_slideshow", "slideshow_clicked"),
|
|
("Thumb", "test_thumb", "thumb_clicked"),
|
|
("Video", "test_video", "video_clicked"),
|
|
]),
|
|
("Lists", [
|
|
("List", "test_list", "list_clicked"),
|
|
("List 2", "test_list", "list2_clicked"),
|
|
("List 3", "test_list", "list3_clicked"),
|
|
("Genlist", "test_genlist", "genlist_clicked"),
|
|
("Genlist 2", "test_genlist", "genlist2_clicked"),
|
|
("Genlist Group", "test_genlist", "genlist3_clicked"),
|
|
("Genlist Sorted", "test_genlist", "genlist4_clicked"),
|
|
("Genlist Iteration", "test_genlist", "genlist5_clicked"),
|
|
("Genlist Decorate Item Mode", "test_genlist", "genlist10_clicked"),
|
|
("Genlist Decorate All Mode", "test_genlist", "genlist15_clicked"),
|
|
("Gengrid", "test_gengrid", "gengrid_clicked"),
|
|
]),
|
|
("Miscellaneous", [
|
|
("Configuration", "test_config", "config_clicked"),
|
|
("Floating Objects", "test_floating", "floating_clicked"),
|
|
]),
|
|
("Naviframe", [
|
|
("Naviframe", "test_naviframe", "naviframe_clicked"),
|
|
]),
|
|
("Popups", [
|
|
("Hover", "test_hover", "hover_clicked"),
|
|
("Hover 2", "test_hover", "hover2_clicked"),
|
|
("Notify", "test_notify", "notify_clicked"),
|
|
("Tooltip", "test_tooltip", "tooltip_clicked"),
|
|
("Ctxpopup", "test_ctxpopup", "ctxpopup_clicked"),
|
|
("Popup", "test_popup", "popup_clicked"),
|
|
]),
|
|
("Range Values", [
|
|
("Spinner", "test_spinner", "spinner_clicked"),
|
|
("Progressbar", "test_progressbar", "progressbar_clicked"),
|
|
]),
|
|
("Scroller", [
|
|
("Scroller", "test_scroller", "scroller_clicked"),
|
|
]),
|
|
("Selectors", [
|
|
("Action Slider", "test_actionslider", "actionslider_clicked"),
|
|
("Color Selector", "test_colorselector", "colorselector_clicked"),
|
|
("Day Selector", "test_dayselector", "dayselector_clicked"),
|
|
("Disk Selector", "test_diskselector", "diskselector_clicked"),
|
|
("Flip Selector", "test_flipselector", "flipselector_clicked"),
|
|
("File Selector", "test_fileselector", "fileselector_clicked"),
|
|
("Fileselector button", "test_fileselector", "fileselector_button_clicked"),
|
|
("Fileselector entry", "test_fileselector", "fileselector_entry_clicked"),
|
|
("Hoversel", "test_hoversel", "hoversel_clicked"),
|
|
("Index", "test_index", "index_clicked"),
|
|
("Menu", "test_menu", "menu_clicked"),
|
|
("Radios", "test_radio", "radio_clicked"),
|
|
("Segment Control", "test_segment_control", "segment_control_clicked"),
|
|
]),
|
|
("Standardization", [
|
|
("Conformant", "test_conform", "conformant_clicked"),
|
|
("Conformant 2", "test_conform", "conformant2_clicked"),
|
|
]),
|
|
("Stored Surface Buffer", [
|
|
("Launcher", "test_mapbuf", "mapbuf_clicked"),
|
|
]),
|
|
("Text", [
|
|
("Label", "test_label", "label_clicked"),
|
|
]),
|
|
("Times & Dates", [
|
|
("Calendar", "test_calendar", "calendar_clicked"),
|
|
("Clock", "test_clock", "clock_clicked"),
|
|
("Datetime", "test_datetime", "datetime_clicked"),
|
|
]),
|
|
("Toolbars", [
|
|
("Toolbar", "test_toolbar", "toolbar_clicked"),
|
|
("Toolbar Item States", "test_toolbar", "toolbar5_clicked"),
|
|
]),
|
|
("Web", [
|
|
("Web", "test_web", "web_clicked"),
|
|
]),
|
|
("Window / Background", [
|
|
("Bg Plain", "test_bg", "bg_plain_clicked"),
|
|
("Bg Image", "test_bg", "bg_image_clicked"),
|
|
("InnerWindow", "test_inwin", "inner_window_clicked"),
|
|
("Window States", "test_win", "window_states_clicked"),
|
|
])
|
|
]
|
|
|
|
|
|
def selected_cb(o, mod, func):
|
|
exec("from " +mod + " import " + func + "\n" + func + "(o)")
|
|
|
|
def menu_create(search, win):
|
|
tbx.clear()
|
|
for category in items:
|
|
frame = Frame(win)
|
|
frame.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
|
|
frame.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
|
|
frame.text = category[0]
|
|
frame.show()
|
|
tbx.pack_end(frame)
|
|
|
|
tbx2 = Box(win)
|
|
tbx2.layout_set(elementary.ELM_BOX_LAYOUT_FLOW_HORIZONTAL)
|
|
tbx2.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
|
|
tbx2.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
|
|
frame.content_set(tbx2)
|
|
tbx2.show()
|
|
|
|
cnt = 0
|
|
for test in category[1]:
|
|
if (search == None) or (test[0].lower().find(search.lower()) > -1):
|
|
bt = Button(win)
|
|
bt.text = test[0]
|
|
bt.callback_clicked_add(selected_cb, test[1], test[2])
|
|
bt.show()
|
|
tbx2.pack_end(bt)
|
|
cnt += 1
|
|
|
|
if cnt < 1:
|
|
frame.delete()
|
|
|
|
def destroy(obj, str1, str2, str3, str4):
|
|
print("DEBUG: window destroy callback called!")
|
|
print(("DEBUG: str1='%s', str2='%s', str3='%s', str4='%s'" %(str1, str2,
|
|
str3, str4)))
|
|
elementary.exit()
|
|
|
|
def cb_mirroring(toggle):
|
|
elementary.Configuration().mirrored = toggle.state
|
|
|
|
def cb_filter(en, win):
|
|
menu_create(en.text_get(), win)
|
|
|
|
if __name__ == "__main__":
|
|
elementary.init()
|
|
win = Window("test", elementary.ELM_WIN_BASIC)
|
|
win.title_set("python-elementary test application")
|
|
win.callback_delete_request_add(destroy, "test1", "test2", str3="test3", str4="test4")
|
|
|
|
bg = Background(win)
|
|
win.resize_object_add(bg)
|
|
bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
|
|
bg.show()
|
|
|
|
box0 = Box(win)
|
|
box0.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
|
|
win.resize_object_add(box0)
|
|
box0.show()
|
|
|
|
fr = Frame(win)
|
|
fr.text_set("Information")
|
|
box0.pack_end(fr)
|
|
fr.show()
|
|
|
|
lb = Label(win)
|
|
lb.text_set("Please select a test from the list below<br>"
|
|
"by clicking the test button to show the<br>"
|
|
"test window.")
|
|
fr.content_set(lb)
|
|
lb.show()
|
|
|
|
tg = Check(win)
|
|
tg.style = "toggle"
|
|
tg.text = "UI-Mirroring:"
|
|
tg.callback_changed_add(cb_mirroring)
|
|
box0.pack_end(tg)
|
|
tg.show()
|
|
|
|
bx1 = Box(win)
|
|
bx1.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
|
|
bx1.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
|
|
bx1.horizontal_set(True)
|
|
box0.pack_end(bx1)
|
|
bx1.show()
|
|
|
|
lb = Label(win)
|
|
lb.text_set("Filter:")
|
|
bx1.pack_end(lb)
|
|
lb.show()
|
|
|
|
en = Entry(win)
|
|
en.single_line_set(True)
|
|
en.scrollable_set(True)
|
|
en.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
|
|
en.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
|
|
en.callback_changed_add(cb_filter, win)
|
|
bx1.pack_end(en)
|
|
en.show()
|
|
en.focus_set(True)
|
|
|
|
sc = Scroller(win)
|
|
sc.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
|
|
sc.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
|
|
sc.bounce_set(False, True)
|
|
sc.show()
|
|
box0.pack_end(sc)
|
|
|
|
tbx = Box(win)
|
|
tbx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
|
|
tbx.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
|
|
sc.content_set(tbx)
|
|
tbx.show()
|
|
|
|
menu_create(None, win)
|
|
|
|
win.resize(320, 480)
|
|
win.show()
|
|
elementary.run()
|
|
elementary.shutdown()
|
|
|