def testClipDelete(self): o1 = evas.Rectangle(self.canvas, geometry=(10, 10, 30, 30)) o2 = evas.Rectangle(self.canvas, geometry=(0, 0, 100, 100)) o2.clip_set(o1) o1.delete() del o1 self.assertEqual(o2.clip_get(), None)
def testBottomGetOther(self): o1 = evas.Rectangle(self.canvas) o2 = evas.Rectangle(self.canvas) self.assertNotEqual(o1, o2) o3 = self.canvas.bottom_get() self.assertEqual(o1, o3) self.assertNotEqual(o2, o3) o1.delete() o2.delete()
def __init__(self, canvas, *args, **kargs): evas.SmartObject.__init__(self, canvas, *args, **kargs) w, h = self.size w2 = w / 2 h2 = h / 2 self.r1 = evas.Rectangle(canvas, geometry=(0, 0, w2, h2), color="#ff0000") self.member_add(self.r1) self.r2 = evas.Rectangle(canvas, geometry=(w2, h2, w2, h2), color="#00ff00") self.member_add(self.r2)
def menu_clicked(obj): win = elementary.Window("menu", elementary.ELM_WIN_BASIC) win.title_set("Menu 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() rect = evas.Rectangle(win.evas_get()) win.resize_object_add(rect) rect.color_set(0, 0, 0, 0) rect.show() menu = elementary.Menu(win) item = menu.item_add(None, "first item", "clock") item = menu.item_add(None, "second item", "mail-send") menu_populate_1(menu, item) menu.item_add(item, "sub menu", "refresh") rect.event_callback_add(evas.EVAS_CALLBACK_MOUSE_DOWN, menu_show, menu) win.resize(350, 200) win.show()
def testConstructor(self): s = (20, 30) p = (11, 22) obj = evas.Rectangle(self.canvas, size=s, pos=p) self.assertEqual(obj.size_get(), s) self.assertEqual(obj.pos_get(), p) obj.delete()
def __init__(self, *args, **kargs): evas.ClippedSmartObject.__init__(self, *args, **kargs) # It's recommended to use self.XXX to create member objects self.bg = self.Rectangle(color=(200, 200, 200, 255)) self.bg.show() # But one can do the regular way, just remember to member_add()! # This is required by non-primitive objects, like Edje and other # SmartObjects self.child = evas.Rectangle(self.evas, color=(255, 0, 0, 255), size=(10, 10)) self.member_add(self.child) self.child.show() self.vx, self.vy = 1, 2 self.animator = ecore.animator_add(self._animator_cb)
def testRepr(self): o = evas.Rectangle(self.canvas) self.assertEqual(isinstance(repr(o), str), True)
def colorselector_clicked(obj): win = elementary.Window("colorselector", elementary.ELM_WIN_BASIC) win.title = "ColorSelector test" win.autodel = 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 = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bg.show() vbox = elementary.Box(win) vbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) win.resize_object_add(vbox) vbox.show() fr = elementary.Frame(win) fr.text = "Color View" fr.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) fr.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) vbox.pack_end(fr) fr.show() re = evas.Rectangle(win.evas) re.size_hint_min = (1, 100) fr.content = re re.show() fr = elementary.Frame(win) fr.text = "Color Selector" fr.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) fr.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) vbox.pack_end(fr) fr.show() cs = elementary.Colorselector(win) cs.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) cs.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) cs.callback_changed_add(cb_cs_changed, re) cs.callback_color_item_selected_add(cb_cs_item_sel, re) cs.callback_color_item_longpressed_add(cb_cs_item_lp, re) cs.color = (255, 160, 132, 255) fr.content = cs cs.show() re.color = cs.color cs.palette_color_add(255, 90, 18, 255) cs.palette_color_add(255, 213, 0, 255) cs.palette_color_add(146, 255, 11, 255) cs.palette_color_add(9, 186, 10, 255) cs.palette_color_add(86, 201, 242, 255) cs.palette_color_add(18, 83, 128, 255) cs.palette_color_add(140, 53, 238, 255) cs.palette_color_add(255, 145, 145, 255) cs.palette_color_add(255, 59, 119, 255) cs.palette_color_add(133, 100, 69, 255) cs.palette_color_add(255, 255, 119, 255) cs.palette_color_add(133, 100, 255, 255) hbox = elementary.Box(win) hbox.horizontal = True hbox.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) hbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) vbox.pack_end(hbox) hbox.show() bt = elementary.Button(win) bt.text = "Palette" bt.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) bt.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) bt.callback_clicked_add( lambda btn: cs.mode_set(elementary.ELM_COLORSELECTOR_PALETTE)) hbox.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text = "Components" bt.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) bt.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) bt.callback_clicked_add( lambda btn: cs.mode_set(elementary.ELM_COLORSELECTOR_COMPONENTS)) hbox.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text = "Both" bt.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) bt.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) bt.callback_clicked_add( lambda btn: cs.mode_set(elementary.ELM_COLORSELECTOR_BOTH)) hbox.pack_end(bt) bt.show() win.resize(320, 550) win.show()
def genlist_clicked(obj, item=None): win = elementary.Window("Genlist", elementary.ELM_WIN_BASIC) win.title_set("Genlist test") win.autodel_set(True) bg = elementary.Background(win) win.resize_object_add(bg) bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bg.show() bx = elementary.Box(win) win.resize_object_add(bx) bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bx.show() gl = elementary.Genlist(win) gl.callback_selected_add(_gl_selected, "arg1", "arg2", kwarg1="kwarg1", kwarg2="kwarg2") gl.callback_clicked_double_add(_gl_clicked_double, "arg1", "arg2", kwarg1="kwarg1", kwarg2="kwarg2") gl.callback_longpressed_add(_gl_longpressed, "arg1", "arg2", kwarg1="kwarg1", kwarg2="kwarg2") gl.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) gl.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bx.pack_end(gl) gl.show() over = evas.Rectangle(win.evas_get()) over.color_set(0, 0, 0, 0) over.event_callback_add(evas.EVAS_CALLBACK_MOUSE_DOWN, _gl_over_click, gl) over.repeat_events_set(True) over.show() over.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) win.resize_object_add(over) vbx = elementary.Box(win) vbx.horizontal_set(True) bx.pack_end(vbx) vbx.show() itc1 = elementary.GenlistItemClass(item_style="default", text_get_func=gl_text_get, content_get_func=gl_content_get, state_get_func=gl_state_get) bt_50 = elementary.Button(win) bt_50.text_set("Go to 50") vbx.pack_end(bt_50) bt_50.show() bt_1500 = elementary.Button(win) bt_1500.text_set("Go to 1500") vbx.pack_end(bt_1500) bt_1500.show() for i in range(0, 2000): gli = gl.item_append(itc1, i, func=gl_item_sel) if i == 50: bt_50._callback_add("clicked", lambda bt, it: it.bring_in(), gli) elif i == 1500: bt_1500._callback_add("clicked", lambda bt, it: it.bring_in(), gli) win.resize(480, 800) win.show()
def setUp(self): self.canvas = evas.Canvas(method="buffer", size=(400, 500), viewport=(0, 0, 400, 500)) self.canvas.engine_info_set(self.canvas.engine_info_get()) self.obj = evas.Rectangle(self.canvas, geometry=(10, 20, 30, 40))
def grid_clicked(obj): win = elementary.Window("grid", elementary.ELM_WIN_BASIC) win.title = "Grid test" win.autodel = 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 = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bg.show() gd = elementary.Grid(win) gd.size = (100, 100) win.resize_object_add(gd) gd.show() en = elementary.Entry(win) en.scrollable = True en.text = "Entry text 2" en.single_line = True gd.pack(en, 60, 20, 30, 10) en.show() bt = elementary.Button(win) bt.text = "Next API function" gd.pack(bt, 30, 0, 40, 10) bt.disabled = True bt.show() bt = elementary.Button(win) bt.text = "Button" gd.pack(bt, 0, 0, 20, 20) bt.show() bt = elementary.Button(win); bt.text = "Button" gd.pack(bt, 10, 10, 40, 20) bt.show() bt = elementary.Button(win); bt.text = "Button" gd.pack(bt, 10, 30, 20, 50) bt.show() bt = elementary.Button(win); bt.text = "Button" gd.pack(bt, 80, 80, 20, 20) bt.show() bt = elementary.Button(win); bt.text = "Change" bt.callback_clicked_add(cb_change, gd) gd.pack(bt, 40, 40, 20, 20) bt.show() re = evas.Rectangle(win.evas) re.color = (128, 0, 0, 128) gd.pack(re, 40, 70, 20, 10) re.show() re = evas.Rectangle(win.evas) re.color = (0, 128, 0, 128) gd.pack(re, 60, 70, 10, 10) re.show() re = evas.Rectangle(win.evas) re.color = (0, 0, 128, 128) gd.pack(re, 40, 80, 10, 10) re.show() re = evas.Rectangle(win.evas) re.color = (128, 0, 128, 128) gd.pack(re, 50, 80, 10, 10) re.show() re = evas.Rectangle(win.evas) re.color = (128, 64, 0, 128) gd.pack(re, 60, 80, 10, 10) re.show() win.resize(480, 480) win.show()
def label_clicked(obj): win = elementary.Window("label", elementary.ELM_WIN_BASIC) win.title = "Label test" win.autodel = 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 = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bg.show() vbox = elementary.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() lb = elementary.Label(win) lb.text = "<b>This is a small label</b>" lb.size_hint_align = (0.0, 0.5) vbox.pack_end(lb) lb.show() lb = elementary.Label(win) lb.text = "This is a larger label with newlines<br/>" \ "to make it bigger, bit it won't expand or wrap<br/>" \ "just be a block of text that can't change its<br/>" \ "formatting as it's fixed based on text<br/>" lb.size_hint_align = (0.0, 0.5) vbox.pack_end(lb) lb.show() lb = elementary.Label(win) lb.line_wrap_set(elementary.ELM_WRAP_CHAR) lb.text = "<b>This is more text designed to line-wrap here as " \ "This object is resized horizontally. As it is " \ "resized vertically though, nothing should change. " \ "The amount of space allocated vertically should " \ "change as horizontal size changes.</b>" lb.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) lb.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) vbox.pack_end(lb) lb.show() lb = elementary.Label(win) lb.text = "This small label set to wrap" lb.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) lb.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) vbox.pack_end(lb) lb.show() sp = elementary.Separator(win) sp.horizontal = True vbox.pack_end(sp) sp.show() gd = elementary.Grid(win) gd.size = (100, 100) gd.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) gd.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) vbox.pack_end(gd) gd.show() lb = elementary.Label(win) lb.text = "Test Label Ellipsis:" lb.size_hint_align = (0.0, 0.5) gd.pack(lb, 5, 5, 90, 15) lb.show() rect = evas.Rectangle(win.evas) rect.color = (255, 125, 125, 255) gd.pack(rect, 5, 15, 90, 15) rect.show() lb = elementary.Label(win) lb.text = "This is a label set to ellipsis. " \ "If set ellipsis to true and the text doesn't fit " \ "in the label an ellipsis(\"...\") will be shown " \ "at the end of the widget." lb.ellipsis = True lb.size_hint_align = (0.0, 0.5) gd.pack(lb, 5, 15, 90, 15) lb.show() lb = elementary.Label(win) lb.text = "Test Label Slide:" lb.size_hint_align = (0.0, 0.5) gd.pack(lb, 5, 40, 90, 15) lb.show() rect = evas.Rectangle(win.evas) rect.color = (255, 125, 125, 255) gd.pack(rect, 5, 50, 90, 15) rect.show() lb = elementary.Label(win) lb.text = "This is a label set to slide. " \ "If set slide to true the text of the label " \ "will slide/scroll through the length of label." \ "This only works with the themes \"slide_short\", " \ "\"slide_long\" and \"slide_bounce\"." lb.slide = True lb.style = ("slide_short") lb.size_hint_align = (0.0, 0.5) gd.pack(lb, 5, 50, 90, 15) lb.show() rd = elementary.Radio(win) rd.state_value = 1 rd.text = "slide_short" gd.pack(rd, 5, 65, 30, 15) rd.callback_changed_add(cb_slide_radio, lb) rd.show() rdg = rd rd = elementary.Radio(win) rd.group_add(rdg) rd.state_value = 2 rd.text = "slide_long" gd.pack(rd, 35, 65, 30, 15) rd.callback_changed_add(cb_slide_radio, lb) rd.show() rd = elementary.Radio(win) rd.group_add(rdg) rd.state_value = 3 rd.text = "slide_bounce" gd.pack(rd, 65, 65, 30, 15) rd.callback_changed_add(cb_slide_radio, lb) rd.show() sl = elementary.Slider(win) sl.text = "Slide Duration" sl.unit_format = "%1.1f units" sl.min_max = (1, 20) sl.value = 10 sl.size_hint_align = (evas.EVAS_HINT_FILL, 0.5) sl.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) sl.callback_changed_add(cb_slider_duration, lb) gd.pack(sl, 5, 80, 90, 15) sl.show() win.resize(280, 400) win.show()
def testDoubleDelete(self): obj = evas.Rectangle(self.canvas) obj.delete() self.assertRaises(ValueError, obj.delete)
def testObjectNameFind(self): o1 = evas.Rectangle(self.canvas, name="Test 123") o2 = self.canvas.object_name_find("Test 123") self.assertEqual(o1, o2)
def testClip(self): o1 = evas.Rectangle(self.canvas, geometry=(10, 10, 30, 30)) o2 = evas.Rectangle(self.canvas, geometry=(0, 0, 100, 100)) o2.clip_set(o1) self.assertEqual(o2.clip_get(), o1)
def mapbuf_clicked(obj, item=None): global mb_list win = elementary.Window("mapbuf", elementary.ELM_WIN_BASIC) win.title_set("Mapbuf test") win.autodel_set(True) if obj is None: win.callback_delete_request_add(lambda o: elementary.exit()) bg = elementary.Background(win) bg.file = "images/sky_04.jpg" 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 = (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() # launcher sc = elementary.Scroller(win) sc.bounce = (True, False) sc.policy = (elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF) sc.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) sc.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) vbox.pack_end(sc) bx = elementary.Box(win) bx.horizontal = True bx.homogeneous = True bx.show() for k in range(8): tb = elementary.Table(win) tb.size_hint_align = (0.5, 0.5) tb.size_hint_weight = (0.0, 0.0) tb.show() pad = evas.Rectangle(win.evas) pad.color = (255, 255, 0, 255) pad.size_hint_min = (464, 4) pad.size_hint_weight = (0.0, 0.0) pad.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) pad.show() tb.pack(pad, 1, 0, 5, 1) pad = evas.Rectangle(win.evas) pad.color = (255, 255, 0, 255) pad.size_hint_min = (464, 4) pad.size_hint_weight = (0.0, 0.0) pad.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) pad.show() tb.pack(pad, 1, 11, 5, 1) pad = evas.Rectangle(win.evas) pad.color = (255, 255, 0, 255) pad.size_hint_min = (4, 4) pad.size_hint_weight = (0.0, 0.0) pad.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) pad.show() tb.pack(pad, 0, 1, 1, 10) pad = evas.Rectangle(win.evas) pad.color = (255, 255, 0, 255) pad.size_hint_min = (4, 4) pad.size_hint_weight = (0.0, 0.0) pad.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) pad.show() tb.pack(pad, 6, 1, 1, 10) mb = elementary.Mapbuf(win) mb_list.append(mb) mb.content = tb bx.pack_end(mb) mb.show() n = m = 0 for j in range(5): for i in range(5): ic = elementary.Icon(win) ic.scale_set(0.5) ic.file_set("images/icon_%02d.png" % (n)) ic.resizable_set(0, 0) ic.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) ic.size_hint_align_set(0.5, 0.5) tb.pack(ic, 1 + i, 1 + (j * 2), 1, 1) ic.show() lb = elementary.Label(win) lb.style = "marker" lb.text = names[m] tb.pack(lb, 1 + i, 1 + (j * 2) + 1, 1, 1) lb.show() n = n + 1 if n < 23 else 0 m = m + 1 if m < 15 else 0 sc.content = bx sc.page_relative_set(1.0, 1.0) sc.show() # controls hbox = elementary.Box(win) hbox.horizontal = True hbox.homogeneous = True hbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) hbox.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) vbox.pack_start(hbox) hbox.show() ck = elementary.Check(win) ck.text = "Map" ck.state = False ck.callback_changed_add(cb_ck_map) hbox.pack_end(ck) ck.show() ck = elementary.Check(win) ck.callback_changed_add(cb_ck_alpha) ck.text = "Alpha" ck.state = True hbox.pack_end(ck) ck.show() ck = elementary.Check(win) ck.callback_changed_add(cb_ck_smooth) ck.text = "Smooth" ck.state = True hbox.pack_end(ck) ck.show() ck = elementary.Check(win) ck.callback_changed_add(cb_ck_fs, win) ck.text = "FS" ck.state = False hbox.pack_end(ck) ck.show() bt = elementary.Button(win) bt.text = "Close" bt.callback_clicked_add(cb_btn_close, win) bt.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bt.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) hbox.pack_end(bt) bt.show() win.resize(480, 800) win.show()
def testBottomGetSelf(self): o1 = evas.Rectangle(self.canvas) o2 = self.canvas.bottom_get() self.assertEqual(o1, o2) o1.delete()
def testTopGetSelf(self): o1 = evas.Rectangle(self.canvas) o2 = self.canvas.top_get() self.assertEqual(o1, o2) o1.delete()
def testConstructorGeometry(self): g = (11, 22, 20, 30) obj = evas.Rectangle(self.canvas, geometry=g) self.assertEqual(obj.geometry_get(), g) obj.delete()