summaryrefslogtreecommitdiff
path: root/tests/test_index.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_index.py')
-rw-r--r--tests/test_index.py125
1 files changed, 125 insertions, 0 deletions
diff --git a/tests/test_index.py b/tests/test_index.py
new file mode 100644
index 0000000..f877b98
--- /dev/null
+++ b/tests/test_index.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python
+# encoding: utf-8
+import os
+import elementary
+import edje
+import ecore
+import evas
+
+
+#----- Index -{{{-
+def gl_text_get(gl, part, data):
+ return str(data)
+
+def cb_idx_item(idx, item, gl_item):
+ print(("Current Index: %s" % (item.letter)))
+ gl_item.bring_in()
+
+def cb_idx_changed(idx, item):
+ print(("changed event on: %s" % (item.letter)))
+
+def cb_idx_delay_changed(idx, item):
+ print(("delay_changed event on: %s" % (item.letter)))
+ # BROKEN (see below)
+ # gl_item = item.data["gl_item"]
+ # gl_item.bring_in()
+
+def cb_idx_selected(idx, item):
+ print(("selected event on: %s" % (item.letter)))
+
+
+def index_clicked(obj):
+ win = elementary.Window("index", elementary.ELM_WIN_BASIC)
+ win.title_set("Index test")
+ win.autodel_set(True)
+ if obj is None:
+ win.callback_delete_request_add(lambda o: elementary.exit())
+
+ bg = elementary.Background(win)
+ win.resize_object_add(bg)
+ bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
+ bg.show()
+
+ vbox = elementary.Box(win)
+ vbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
+ win.resize_object_add(vbox)
+ vbox.show()
+
+ # index
+ idx = elementary.Index(win)
+ idx.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
+ idx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
+ idx.callback_delay_changed_add(cb_idx_delay_changed)
+ idx.callback_changed_add(cb_idx_changed)
+ idx.callback_selected_add(cb_idx_selected)
+ win.resize_object_add(idx)
+ idx.show()
+
+ # genlist
+ itc = elementary.GenlistItemClass(item_style="default",
+ text_get_func=gl_text_get)
+ # content_get_func=gl_content_get,
+ # state_get_func=gl_state_get)
+ gl = elementary.Genlist(win)
+ gl.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
+ gl.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
+ vbox.pack_end(gl)
+ gl.show()
+
+
+ for i in 'ABCDEFGHILMNOPQRSTUVZ':
+ for j in 'acegikmo':
+ gl_item = gl.item_append(itc, i + j)
+ if j == 'a':
+ idx_item = idx.item_append(i, cb_idx_item, gl_item)
+
+ # TODO This is broken (data assignment to ItemObject)
+ # ...for now just bringin on select
+ # idx_item.data["gl_item"] = gl_item
+
+
+ idx.level_go(0)
+
+ sep = elementary.Separator(win)
+ sep.horizontal = True
+ vbox.pack_end(sep)
+ sep.show()
+
+ hbox = elementary.Box(win)
+ hbox.horizontal = True
+ hbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
+ vbox.pack_end(hbox)
+ hbox.show()
+
+ ck = elementary.Check(win)
+ ck.text = "autohide_disabled"
+ ck.callback_changed_add(lambda ck: idx.autohide_disabled_set(ck.state))
+ hbox.pack_end(ck)
+ ck.show()
+
+ ck = elementary.Check(win)
+ ck.text = "indicator_disabled"
+ ck.callback_changed_add(lambda ck: idx.indicator_disabled_set(ck.state))
+ hbox.pack_end(ck)
+ ck.show()
+
+ ck = elementary.Check(win)
+ ck.text = "horizontal"
+ ck.callback_changed_add(lambda ck: idx.horizontal_set(ck.state))
+ hbox.pack_end(ck)
+ ck.show()
+
+ win.resize(320, 480)
+ win.show()
+# }}}
+
+#----- Main -{{{-
+if __name__ == "__main__":
+ elementary.init()
+
+ index_clicked(None)
+
+ elementary.run()
+ elementary.shutdown()
+# }}}
+# vim:foldmethod=marker