def _notify_err(self, err, **kargs): if self._notification: self._notification.hide() self._notification.delete() self._notification = None self._notification = ErrorNotify(self) if isinstance(err, IOError) and err.errno == errno.EEXIST: self._notification.title = "Swap file already exists" lb = elementary.Label(self._notification) lb.text_set("Another program may be editing the same file<br>" + "or a previous edition session for this file crashed.") self._notification.pack_end(lb) lb.show() self._notification.action_add("Ignore Swap", self._open_forced) self._notification.action_add("Recover", self._open_recovery) self._notification.action_add("Abort", self._notify_abort) elif isinstance(err, swapfile.CompileError): self._notification.title = "Compiler Error" lb = elementary.Label(self._notification) lb.text_set(str(err.message).replace('\n', '<br>')) self._notification.pack_end(lb) lb.show() self._notification.action_add("Ok", self._notify_abort) else: self._notification.title = str(err).replace(':', '<br>') self._notification.action_add("Ok", self._notify_abort) self._notification.show()
def __init__(self, parent, changed_cb=None, weight_hints=(), align_hints=()): elementary.Box.__init__(self, parent) if weight_hints: self.size_hint_weight_set(*weight_hints) else: self.size_hint_weight_set(*self.default_align_hints) if align_hints: self.size_hint_align_set(*align_hints) else: self.size_hint_align_set(*self.default_align_hints) self._entry_bx = elementary.Box(parent) self._entry_bx.horizontal_set(True) self._entry_bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self._entry_bx.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self._entry_bx.show() entry_lb = elementary.Label(parent) entry_lb.text_set("Name: ") entry_lb.show() self._entry_bx.pack_end(entry_lb) self._status_lb = elementary.Label(parent) self._status_lb.text_set("") self._status_lb.show() scroller = elementary.Scroller(parent) scroller.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) scroller.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) scroller.content_min_limit(False, True) scroller.policy_set(elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF) scroller.bounce_set(False, False) self._entry_bx.pack_end(scroller) scroller.show() self._name = elementary.Entry(parent) self._name.single_line_set(True) self._name.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) self._name.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0) self._name.context_menu_disabled_set(True) if changed_cb: self._name.callback_changed_add(changed_cb) scroller.content_set(self._name) self._name.show() self.pack_end(self._entry_bx) self.pack_end(self._status_lb)
def inner_window_clicked(obj): win = elementary.Window("inner-window", elementary.ELM_WIN_BASIC) win.title_set("InnerWindow 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() lb = elementary.Label(win) lb.text_set("This is an \"inwin\" - a window in a<br/>" "window. This is handy for quick popups<br/>" "you want centered, taking over the window<br/>" "until dismissed somehow. Unlike hovers they<br/>" "don't hover over their target.") iw = elementary.InnerWindow(win) iw.content_set(lb) iw.show() win.resize(320, 320) win.show()
def _check_changed_cb(self, obj, part): if obj.state: self._part_add(part, self._edit_grp.animation.name) op = Operation("part (%s) addition into animation (%s)" % \ (part, self._edit_grp.animation.name)) op.redo_callback_add(self._part_add, part, self._edit_grp.animation.name) op.undo_callback_add(self._part_remove, part, self._edit_grp.animation.name) self._operation_stack_cb(op) else: # FIXME: Take the confirmation out of this function self._notification = ErrorNotify( self, elementary.ELM_NOTIFY_ORIENT_CENTER) self._notification.title = "Part Removal" lb = elementary.Label(self._notification) lb.text_set("Are you sure you want to remove<br>" "this part from the animation?") lb.show() self._notification.pack_end(lb) self._notification.action_add("Remove", self._confirm_remove_cb, data=part) self._notification.action_add("Cancel", self._cancel_remove_cb, data=obj) self._notification.show()
def run(self, parent, title, msg, option1=None, option2=None): """Create an show the message""" self.window = ElementaryWindow(str(title)) self.window.elm_obj.show() self.window.elm_obj.color_set(0, 0, 0, 255) self.box = ElementaryBox(self.window.elm_obj) self.window.elm_obj.resize_object_add(self.box.elm_obj) self.label = elementary.Label(self.window.elm_obj) self.label.label_set(str(title)) self.box.elm_obj.pack_end(self.label) self.label.size_hint_min_set(440, 50) self.label.show() self.scroller = ElementaryScroller(self.window) self.entry = elementary.Entry(self.window.elm_obj) self.entry.entry_set(str(msg)) self.entry.size_hint_weight_set(1.0, 0.6) self.entry.editable_set(False) self.entry.show() self.scroller.elm_obj.content_set(self.entry) self.box.elm_obj.pack_end(self.scroller.elm_obj) if option2 == None: self.button = elementary.Button(self.window.elm_obj) label_text = option1 or "OK" self.button.label_set(label_text) self.button.on_mouse_up_add(self._on_ok_clicked) self.box.elm_obj.pack_end(self.button) self.button.show() else: self.box2 = ElementaryBox(self.window.elm_obj) self.box2.elm_obj.horizontal_set(True) self.box.elm_obj.pack_end(self.box2.elm_obj) self.button1 = elementary.Button(self.window.elm_obj) self.button1.label_set(option1) self.button1.name_set(option1) self.button2 = elementary.Button(self.window.elm_obj) self.button2.label_set(option2) self.button2.name_set(option2) self.box2.elm_obj.pack_end(self.button1) self.box2.elm_obj.pack_end(self.button2) self.button1.show() self.button1.on_mouse_up_add(self._on_clicked) self.button2.on_mouse_up_add(self._on_clicked) self.button2.show() self.window.elm_obj.layer_set(99) self.val = None yield Wait(self, 'done') logger.info("self.val = %s", self.val) self.window.elm_obj.delete() yield self.val
def _notify(self, message): self._notify_del() self._notification = elementary.Notify(self) self._notification.timeout_set(1) self._notification.orient_set(elementary.ELM_NOTIFY_ORIENT_BOTTOM) lb = elementary.Label(self) lb.text_set(message) self._notification.content_set(lb) lb.show() self._notification.show()
def __init__(self, parent, new_anim_cb=None, anims_list_cb=None, parts_list_cb=None): if not new_anim_cb or not anims_list_cb: raise TypeError("You must set callbacks for animations retrieval" " and creation on NewAnimationWizard objects.") Wizard.__init__(self, parent) self.page_add("default", "New Animation", "Name the new animation to be created.", separator=True) self._anim_name_entry = NameEntry(self, changed_cb=self._name_changed_cb, weight_hints=(evas.EVAS_HINT_EXPAND, 0.0), align_hints=(evas.EVAS_HINT_FILL, 0.5)) self.content_add("default", self._anim_name_entry) self._anim_name_entry.show() lbl = elementary.Label(self) lbl.text_set("Select the parts to use in the animation." " An empty selection will use all parts.") self.content_add("default", lbl) lbl.show() self._parts_list = elementary.List(self) self._parts_list.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self._parts_list.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) if parts_list_cb: for p in parts_list_cb(): self._parts_list.item_append(p) self._parts_list.multi_select = True self._parts_list.go() self.content_add("default", self._parts_list) self._parts_list.show() self.alternate_background_set(True) self.action_add("default", "Cancel", self._cancel, key="Escape") self.action_add("default", "Add", self._add, key="Return") self.action_disabled_set("default", "Add", True) self._new_anim_cb = new_anim_cb self._anims_list_cb = anims_list_cb
def _notify(self, message): self._notify_del() self._notification = elementary.Notify(self) self._notification.timeout_set(2) self._notification.orient_set( elementary.ELM_NOTIFY_ORIENT_BOTTOM_RIGHT) bx = elementary.Box(self) bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bx.horizontal_set(True) self._notification.content_set(bx) bx.show() lb = elementary.Label(self) lb.text_set(message) bx.pack_end(lb) lb.show() self._notification.show()
def __init__(self, parent, orient=elementary.ELM_NOTIFY_ORIENT_BOTTOM): elementary.Notify.__init__(self, parent) self.timeout_set(-1) self.orient_set(orient) self.repeat_events_set(False) self._table = elementary.Box(parent) self._table.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self.content_set(self._table) self._table.show() self._title = elementary.Label(self._table) self._table.pack_start(self._title) self.title = "TITLE" self._title.show() self._actions = ActionsBox(self._table) self._table.pack_end(self._actions) self._actions.show()
def notify_show(bt, win, orient): notify = elementary.Notify(win) notify.repeat_events_set(False) notify.orient_set(orient) bx = elementary.Box(win) bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bx.horizontal_set(True) notify.content_set(bx) bx.show() lb = elementary.Label(win) lb.label_set("Text notification") bx.pack_end(lb) lb.show() bt = elementary.Button(win) bt.label_set("Close") bt.callback_clicked_add(notify_close, notify) bx.pack_end(bt) bt.show() notify.show()
def cb_ctx_overlay_bubble(li, item, Map, lon, lat): item.widget_get().dismiss() ov = Map.overlay_add(lon, lat) bub = Map.overlay_bubble_add() bub.follow(ov) lb = elementary.Label(Map) lb.text = "You can push contents here" bub.content_append(lb) lb.show() ic = elementary.Icon(Map) ic.file_set("images/sky_01.jpg") ic.size_hint_min = (50, 50) bub.content_append(ic) ic.show() bt = elementary.Button(Map) bt.text = "clear me" bt.callback_clicked_add(lambda bt: bub.content_clear()) bub.content_append(bt) bt.show()
bg = elementary.Background(win) win.resize_object_add(bg) bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bg.show() box0 = elementary.Box(win) box0.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) win.resize_object_add(box0) box0.show() fr = elementary.Frame(win) fr.text_set("Information") box0.pack_end(fr) fr.show() lb = elementary.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() items = [ ("Bubble", bubble_clicked), ] li = elementary.List(win) li.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) li.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) box0.pack_end(li) li.show()
def __init__(self, parent): Wizard.__init__(self, parent) self.page_add("default", "About Editje") ico = elementary.Icon(self) ico.file_set(sysconfig.theme_file_get("default"), "editje/icon/editje") ico.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) ico.size_hint_min_set(128, 128) ico.size_hint_max_set(128, 128) ico.show() self.content_add("default", ico) name = elementary.Label(self) name.text_set("<b>Editje " + str(sysconfig.VERSION) + "</b>") name.show() self.content_add("default", name) name = elementary.Label(self) name.text_set("Copyright (C) 2009-2010") name.show() self.content_add("default", name) name = elementary.Label(self) name.text_set("Samsung Electronics.") name.show() self.content_add("default", name) url = elementary.Entry(self) url.entry_set("http://trac.enlightenment.org/e/wiki/Editje") url.editable_set(False) url.show() self.content_add("default", url) sc = elementary.Scroller(self) 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, False) sc.show() self.content_add("default", sc) copyright = elementary.Label(self) copyright.text_set( "Editje is free software: you can redistribute it and/or modify it <br>" "under the terms of the GNU Lesser General Public License as <br>" "published by the Free Software Foundation, either version 3 of the<br>" "License, or (at your option) any later version. <br>" " <br>" "Editje is distributed in the hope that it will be useful, <br>" "but WITHOUT ANY WARRANTY; without even the implied warranty of <br>" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the <br>" "GNU Lesser General Public License for more details. <br>" " <br>" "You should have received a copy of the GNU Lesser General Public <br>" "License along with Editje. If not, see <br>" "http://www.gnu.org/licenses/ <br>" ) copyright.show() sc.content_set(copyright) self.action_add("default", "Close", self.close, key="Escape")
def notify_show(bt, win, orient): notify = elementary.Notify(win) notify.repeat_events_set(False) notify.orient_set(elementary.ELM_NOTIFY_ORIENT_CENTER) frame = elementary.Frame(win) frame.label_set("Graphiques") frame.show() notify.content_set(frame) # tb = elementary.Table(win) #tb.homogenous_set(True) # tb.show() # frame.content_set(tb) vbox = elementary.Box(win) vbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) vbox.show() frame.content_set(vbox) hbox = elementary.Box(win) hbox.horizontal_set(True) hbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) hbox.show() frame_data = elementary.Frame(win) frame_data.label_set("Données") frame_data.show() table_data = elementary.Table(win) table_data.show() frame_data.content_set(table_data) x_1 = 0 y_1 = 0 for log in LogType.objects.filter(id__gt=8).exclude(nom="maj_stats"): check = elementary.Check(win) check.label_set(log.description) check.callback_changed_add(add_check) check.show() table_data.pack(check, x_1, y_1, 1, 1) if x_1 > 2: x_1 = 0 y_1 += 1 else: x_1 += 1 frame_type = elementary.Frame(win) frame_type.label_set("Type") frame_type.show() table_type = elementary.Table(win) table_type.show() frame_type.content_set(table_type) rd = elementary.Radio(win) rd.state_value_set(0) rd.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) rd.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) rd.label_set("entier") table_type.pack(rd, 0, 0, 1, 1) rd.show() rdg = rd rd = elementary.Radio(win) rd.state_value_set(1) rd.label_set("par mois") rd.group_add(rdg) table_type.pack(rd, 0, 1, 1, 1) rd.show() rd = elementary.Radio(win) rd.state_value_set(2) rd.group_add(rdg) rd.label_set("par semaine") table_type.pack(rd, 1, 0, 1, 1) rd.show() rd = elementary.Radio(win) rd.state_value_set(3) rd.group_add(rdg) rd.label_set("par année") table_type.pack(rd, 1, 1, 1, 1) rd.show() toggle = elementary.Toggle(win) toggle.label_set("Légende") toggle.states_labels_set("avec", "sans") toggle.show() toggle.state_set(True) table_type.pack(toggle, 0, 2, 2, 1) frame_interval = elementary.Frame(win) frame_interval.label_set("Interval") frame_interval.show() table_interval = elementary.Table(win) table_interval.show() frame_interval.content_set(table_interval) label = elementary.Label(win) label.label_set("Début:") label.show() table_interval.pack(label, 0, 0, 1, 1) button = elementary.Button(win) button.label_set("31") button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) button.show() table_interval.pack(button, 1, 0, 1, 1) button = elementary.Button(win) button.label_set("Janvier") button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) button.show() table_interval.pack(button, 2, 0, 1, 1) button = elementary.Button(win) button.label_set("2011") button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) button.show() table_interval.pack(button, 3, 0, 1, 1) label = elementary.Label(win) label.label_set("Fin:") label.show() table_interval.pack(label, 0, 1, 1, 1) button = elementary.Button(win) button.label_set("31") button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) button.show() table_interval.pack(button, 1, 1, 1, 1) button = elementary.Button(win) button.label_set("Décembre") button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) button.show() table_interval.pack(button, 2, 1, 1, 1) button = elementary.Button(win) button.label_set("2011") button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) button.show() table_interval.pack(button, 3, 1, 1, 1) bt = elementary.Button(win) bt.label_set("Afficher") bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bt.show() table_interval.pack(bt, 0, 2, 4, 1) hbox.pack_end(frame_data) hbox.pack_end(frame_type) hbox.pack_end(frame_interval) #tb.pack(frame_data, 0, 0, 3, 3) #tb.pack(frame_type, 3, 0, 2, 3) #tb.pack(frame_interval, 5, 0, 2, 3) vbox.pack_end(hbox) # frame_image = elementary.Frame(win) # frame_image.label_set("Interval") # frame_image.show() # table_interval = elementary.Table(win) # table_interval.show() # frame_interval.content_set(table_interval) # box_image = elementary.Box(win) # box_image.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) # box_image.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) #win.resize_object_add(box0) # box_image.show() # frame_image.content_set(box_image) # bg = elementary.Background(win) # #frame_image.resize_object_add(bg) # bg.file_set("/tmp/ca_par_jour.png") # bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) # bg.show() # frame_image.content_set(bg) image = elementary.Image(win) # #image.size_set(300, 500) #image.resize(600, 400) image.file_set("ca_par_jour.png") # #image.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_BOTH, 1, 1) image.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) image.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) # #icon.scale_set(0, 0) # #win.resize_object_add(icon) # tb.pack(image, 0, 3, 7, 3) image.show() vbox.pack_end(image) # box_image.pack_end(image) #tb.pack(box_image, 0, 3, 7, 3) sp = elementary.Separator(win) sp.horizontal_set(True) sp.show() #tb.pack(sp, 0, 6, 7, 1) vbox.pack_end(sp) bt = elementary.Button(win) bt.label_set("Retour") bt.callback_clicked_add(notify_close, notify) bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bt.show() #tb.pack(bt, 0, 7, 7, 1) vbox.pack_end(bt) notify.show()
elementary.ELM_POLICY_QUIT_LAST_WINDOW_CLOSED) win = elementary.Window("Test", elementary.ELM_WIN_BASIC) win.title_set("Test") win.autodel_set(True) win.resize(800, 600) bg = elementary.Background(win) win.resize_object_add(bg) bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bg.show() win.show() nt = ErrorNotify(win) nt.title = "Testing popup" nt.action_add('XXX', None) nt.action_add('YYY', None) nt.action_add('ZZZ', None) nt.action_add('WWW', None) lb = elementary.Label(nt) lb.text_set("XXXXXXXXXXXXXX<br>XXXXXXXXXXX<br>XXXXXXXXXXXXXX<br>") lb.show() nt.pack_end(lb) nt.show() elementary.run() elementary.shutdown()
self._actions.action_add(label, func_cb, icon, data) def action_disabled_set(self, label, disabled): self._actions.action_disabled_set(label, disabled) def pack_end(self, obj): self._table.pack_before(obj, self._actions) if __name__ == "__main__": elementary.init() elementary.policy_set(elementary.ELM_POLICY_QUIT, elementary.ELM_POLICY_QUIT_LAST_WINDOW_CLOSED) pop = PopupWindow() pop.action_add('XXX', None) pop.action_add('YYY', None) pop.action_add('ZZZ', None) pop.action_add('WWW', None) lb = elementary.Label(pop) lb.text_set("XXXXXXXXXXXXXX<br>XXXXXXXXXXX<br>XXXXXXXXXXXXXX<br>") lb.show() pop.pack_end(lb) pop.show() elementary.run() elementary.shutdown()
def font_pressed(font_button, window1, textbox1): # inner window to hold GUI for font font_win = elementary.InnerWindow(window1) font_win.show() # Entry to hold sample text font_demo = elementary.Entry(font_win) font_demo.editable_set(False) font_demo.entry_set( 'Example: the quick brown fox jumped over the lazy dog. 0123456789') font_demo.line_wrap_set(False) font_demo.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) font_demo.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) font_demo.show() # spinner to choose the font size font_sizer = elementary.Spinner(font_win) font_sizer.min_max_set(10, 100) font_sizer.show() # list of System fonts fonts_raw = window1.evas.font_available_list() fonts = [] for n in range(len(fonts_raw)): tmp = fonts_raw[n].split(":") fonts.append(tmp[0]) # for some strange reason many fonts are displayed multiple times. The following lines remove # all duplicates and then sort them alphabetically. fonts = list(set(fonts)) fonts.sort() # GenList for holding font options font_list = elementary.List(font_win) font_list.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) font_list.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) for i in range(len(fonts)): font_list.item_append(fonts[i], None, None, font_demo_set, fonts[i], font_demo, font_sizer) font_list.go() font_list.show() # Label for Spinner font_sizer_label = elementary.Label(font_win) font_sizer_label.text = "Font Size: " font_sizer_label.show() size_box = elementary.Box(font_win) size_box.horizontal_set(True) size_box.pack_end(font_sizer_label) size_box.pack_end(font_sizer) size_box.show() # cancel and OK buttons ok_button = elementary.Button(font_win) ok_button.text = "OK" ok_button.callback_pressed_add(font_set, font_list, font_sizer, textbox1, font_win) ok_button.show() cancel_button = elementary.Button(font_win) cancel_button.text = "Cancel" cancel_button.callback_pressed_add(close_popup, font_win) cancel_button.show() # box for buttons button_box = elementary.Box(font_win) button_box.horizontal_set(True) button_box.pack_end(cancel_button) button_box.pack_end(ok_button) button_box.show() # box for Entry (for spacing) entry_box = elementary.Box(font_win) entry_box.pack_end(font_demo) entry_box.size_hint_weight_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) entry_box.size_hint_weight_set(0.1, 0.1) entry_box.show() # box for everything full_box = elementary.Box(font_win) full_box.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) full_box.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) full_box.pack_end(font_list) full_box.pack_end(size_box) full_box.pack_end(entry_box) full_box.pack_end(button_box) full_box.show() font_win.content_set(full_box)
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 bubble_clicked(obj, item=None): win = elementary.Window("bubble", elementary.ELM_WIN_BASIC) win.title_set("Bubble") 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() # bb 1 ic = elementary.Icon(win) ic.file_set("images/logo_small.png") ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) lb = elementary.Label(win) lb.text_set("Blah, Blah, Blah") bb = elementary.Bubble(win) bb.text_set("Message 1") bb.part_text_set("info", "Corner: top_left") bb.content_set(lb) bb.part_content_set("icon", ic) bb.pos = elementary.ELM_BUBBLE_POS_TOP_LEFT bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bx.pack_end(bb) bb.show() # bb 2 ic = elementary.Icon(win) ic.file_set("images/logo_small.png") ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) lb = elementary.Label(win) lb.text_set("Blah, Blah, Blah") bb = elementary.Bubble(win) bb.text_set("Message 2") bb.part_text_set("info", "Corner: top_right") bb.content_set(lb) bb.part_content_set("icon", ic) bb.pos = elementary.ELM_BUBBLE_POS_TOP_RIGHT bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bx.pack_end(bb) bb.show() # bb 3 ic = elementary.Icon(win) ic.file_set("images/logo_small.png") ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) lb = elementary.Label(win) lb.text_set("Blah, Blah, Blah") bb = elementary.Bubble(win) bb.text_set("Message 3") bb.part_text_set("info", "Corner: bottom_left") bb.content_set(ic) bb.pos = elementary.ELM_BUBBLE_POS_BOTTOM_LEFT bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bx.pack_end(bb) bb.show() # bb 4 ic = elementary.Icon(win) ic.file_set("images/logo_small.png") ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1) lb = elementary.Label(win) lb.text_set("Blah, Blah, Blah") bb = elementary.Bubble(win) bb.text_set("Message 4") bb.part_text_set("info", "Corner: bottom_right") bb.content_set(lb) bb.part_content_set("icon", ic) bb.pos = elementary.ELM_BUBBLE_POS_BOTTOM_RIGHT bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bx.pack_end(bb) bb.show() win.resize(320, 320) win.show()
def build_gui (self): def destroy (obj, *args, **kargs): self.sensorTimer.delete() self.SaveConfig (self.configfile) elementary.exit () gui_items = dict () # Start elementary elementary.init () # Create main window gui_items['mainwin'] = elementary.Window ("Wax-Chooser", elementary.ELM_WIN_BASIC) gui_items['mainwin'].title_set ("Wax-Chooser") gui_items['mainwin'].callback_destroy_add (destroy) # Create background bg = elementary.Background (gui_items['mainwin']) bg.size_hint_weight_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bg.size_hint_min_set (200,300) gui_items['mainwin'].resize_object_add (bg) bg.show () # Create main box (vertical by default) gui_items['mainbox'] = elementary.Box (gui_items['mainwin']) gui_items['mainbox'].size_hint_weight_set (evas.EVAS_HINT_EXPAND, 1.0) gui_items['mainbox'].size_hint_align_set (-1.0, evas.EVAS_HINT_FILL) gui_items['mainwin'].resize_object_add (gui_items['mainbox']) gui_items['mainbox'].show () # Create title label gui_items['title'] = elementary.Label (gui_items['mainwin']) gui_items['title'].text_set ("Current Conditions") gui_items['mainbox'].pack_start (gui_items['title']) gui_items['title'].size_hint_weight_set (1.0, evas.EVAS_HINT_FILL) gui_items['title'].size_hint_align_set (0.5, -1.0) gui_items['title'].show () # Create scroller to hold condition descripion items self.sc2 = elementary.Scroller(gui_items['mainwin']) self.sc2.bounce_set(0, 0) self.sc2.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 1.0) self.sc2.size_hint_align_set(-1.0, evas.EVAS_HINT_FILL) gui_items['mainbox'].pack_end(self.sc2) self.sc2.show() gui_items['mainwin'].resize_object_add (self.sc2) # Create condtion description box (vertical by default) box2 = elementary.Box (gui_items['mainwin']) box2.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 1.0) box2.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self.sc2.content_set (box2) box2.show () gui_items['rows'] = [] # Create four boxes: temperature, humidity, snow type, and buttons, set as horizonal tbox = elementary.Box (gui_items['mainwin']) #tbox.horizontal_set (1) #box1.homogenous_set (1) tbox.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) tbox.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) box2.pack_end (tbox) tbox.show () # Create temperature widget label tl = elementary.Label (gui_items['mainwin']) tl.text_set ('Temperature') tbox.pack_start( tl ) tl.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) tl.size_hint_align_set (0.4, 0.5) tl.show () # Create temperature slider gui_items['temperatureSlider'] = elementary.Slider (gui_items['mainwin']) gui_items['temperatureSlider'].size_hint_weight_set (1, 0) gui_items['temperatureSlider'].size_hint_align_set (-1, 0) if self.usingCelsius: gui_items['temperatureSlider'].min_max_set (-30.0, 10.0) gui_items['temperatureSlider'].value = 0 else: gui_items['temperatureSlider'].min_max_set (-15.0, 45.0) gui_items['temperatureSlider'].value = 32 gui_items['temperatureSlider'].unit_format_set( '%1.1f degrees' ) tbox.pack_end (gui_items['temperatureSlider']) gui_items['temperatureSlider'].show () tsbox = elementary.Box (gui_items['mainwin']) tsbox.horizontal_set (1) tsbox.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) tsbox.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) box2.pack_end (tsbox) tsbox.show () # Create Use Sensor button gui_items['sensorButton'] = elementary.Button (gui_items['mainwin']) gui_items['sensorButton']._callback_add ('clicked', self.setTemperatureFromSensor) ic = elementary.Icon(gui_items['sensorButton']) ic.file_set(os.path.join(IMAGE_DIR, "thermometer.png")) gui_items['sensorButton'].icon_set( ic) gui_items['sensorButton'].text_set( "Searching for sensor" ) gui_items['sensorButton'].size_hint_weight_set (evas.EVAS_HINT_EXPAND, 1.0) gui_items['sensorButton'].size_hint_align_set (evas.EVAS_HINT_FILL, 1.0) tsbox.pack_end (gui_items['sensorButton']) if self.usingSensor: gui_items['sensorButton'].show () ######## Humidity ############ hbox = elementary.Box (gui_items['mainwin']) #box1.homogenous_set (1) hbox.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) hbox.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) box2.pack_end (hbox) hbox.show () gui_items['mainwin'].resize_object_add (hbox) #create humidity widget label hl = elementary.Label (gui_items['mainwin']) hl.text_set ('Humidity') hl.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 1.0) hl.size_hint_align_set (0.45, 0.5) hbox.pack_start (hl) hl.show () hbox2 = elementary.Box (gui_items['mainwin']) hbox2.horizontal_set (1) #box1.homogenous_set (1) hbox2.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) hbox2.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) hbox.pack_end (hbox2) gui_items['mainwin'].resize_object_add (hbox2) hbox2.show () #Create humidity toolbar rhtoolbar = elementary.Toolbar(gui_items['mainwin']) rhtoolbar.menu_parent_set(gui_items['mainwin']) rhtoolbar.homogenous_set(0) rhtoolbar.icon_size_set( 64 ) # print str( rhtoolbar.icon_size ) rhtoolbar.icon_size = ( 96 ) # print str( rhtoolbar.icon_size ) rhtoolbar.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) rhtoolbar.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) rhtoolbar.item_append(os.path.join(IMAGE_DIR, 'medrh.png'), "Normal", self.setHumidity,humidity=NORMAL_HUMIDITY) rhtoolbar.item_append(os.path.join(IMAGE_DIR, 'highrh.png'), "High", self.setHumidity,humidity=HIGH_HUMIDITY) rhtoolbar.first_item_get().selected_set(True) hbox2.pack_end( rhtoolbar ) rhtoolbar.show() ######## Snow Condition ############ sbox = elementary.Box (gui_items['mainwin']) #box1.homogenous_set (1) sbox.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) sbox.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) box2.pack_end (sbox) sbox.show () #create snow cond widget label sl = elementary.Label (gui_items['mainwin']) sl.text_set ('Snow Condition') sl.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) sl.size_hint_align_set (0.45, 0.5) sbox.pack_start (sl) sl.show () sbox2 = elementary.Box (gui_items['mainwin']) sbox2.horizontal_set (1) #box1.homogenous_set (1) sbox2.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) sbox2.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) sbox.pack_end (sbox2) sbox2.show () #Create Snow condition toolbar sctoolbar = elementary.Toolbar(gui_items['mainwin']) sctoolbar.menu_parent_set(gui_items['mainwin']) sctoolbar.homogenous_set(0) sctoolbar.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) sctoolbar.size_hint_align_set (evas.EVAS_HINT_FILL, 1.0) sctoolbar.item_append(os.path.join(IMAGE_DIR, 'newsnow.png'), "New", self.setSnowCond,snowcond=NEW_SNOW) sctoolbar.item_append(os.path.join(IMAGE_DIR, 'transformedsnow.png'), "Transformed", self.setSnowCond,snowcond=OLD_SNOW) sctoolbar.item_append(os.path.join(IMAGE_DIR, 'corn.png'), "Corn", self.setSnowCond,snowcond=CORN_SNOW) sctoolbar.item_append(os.path.join(IMAGE_DIR, 'ice.png'), "Ice", self.setSnowCond,snowcond=ICY_SNOW) sctoolbar.first_item_get().selected_set(True) sbox2.pack_end( sctoolbar ) sctoolbar.show() # Create bottom button row (prev, next city & refresh) box3 = elementary.Box (gui_items['mainwin']) box3.horizontal_set (1) box3.homogenous_set (1) box3.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) box3.size_hint_align_set (evas.EVAS_HINT_FILL, 1.0) gui_items['mainbox'].pack_end (box3) box3.show () # Find Wax button bt = elementary.Button (gui_items['mainwin']) bt.text_set ('Find Wax') bt._callback_add ('clicked', self.find_wax) bt.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 1.0) bt.size_hint_align_set (evas.EVAS_HINT_FILL, 1.0) # Add a prev icon to the button box3.pack_end (bt) bt.show () # Settings button bt = elementary.Button (gui_items['mainwin']) bt.text_set ('Settings') bt._callback_add ('clicked', self.settingsDialog) bt.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 1.0) bt.size_hint_align_set (evas.EVAS_HINT_FILL, 1.0) # Add a next icon to the button box3.pack_end (bt) bt.show () ##### # Create wax display box (vertical by default) gui_items['waxbox'] = elementary.Box (gui_items['mainwin']) gui_items['waxbox'].size_hint_weight_set (evas.EVAS_HINT_FILL, 1.0) gui_items['waxbox'].size_hint_align_set (evas.EVAS_HINT_FILL, -1.0) gui_items['waxLabel'] = elementary.Label(gui_items['mainwin']) gui_items['waxLabel'].text_set("Wax") gui_items['waxbox'].pack_start(gui_items['waxLabel']) gui_items['waxLabel'].show() # Create box to hold the wax picture sc = elementary.Scroller(gui_items['waxbox']) sc.bounce_set(0, 0) sc.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.5) sc.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) ib = elementary.Box(gui_items['mainwin']) ib.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.5) ib.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) gui_items['waxicon'] = elementary.Icon(gui_items['mainwin']) gui_items['waxicon'].size_hint_weight_set(1.0, 0.5) gui_items['waxicon'].scale_set(0.2, 0.2) gui_items['waxicon'].size_hint_align_set(0.5, 0.0) ib.pack_end(gui_items['waxicon']) gui_items['mainwin'].resize_object_add (ib) gui_items['waxicon'].show() gui_items['waxtext'] = elementary.Entry( gui_items['mainwin'] ) gui_items['waxtext'].size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) gui_items['waxtext'].size_hint_align_set(-1.0, 0.0) gui_items['waxtext'].scale_set(1) ib.pack_end(gui_items['waxtext']) gui_items['waxtext'].show() sc.content_set(ib) gui_items['waxbox'].pack_end(sc) gui_items['mainwin'].resize_object_add (sc) ib.show() sc.show() # Create bottom button row (warmer back colder) box3 = elementary.Box (gui_items['mainwin']) box3.horizontal_set (1) box3.homogenous_set (1) box3.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) box3.size_hint_align_set (evas.EVAS_HINT_FILL, 1.0) gui_items['waxbox'].pack_end (box3) box3.show () gui_items['mainwin'].resize_object_add (box3) # Create the warmer button bt = elementary.Button (gui_items['mainwin']) bt.text_set ('Warmer') bt._callback_add ('clicked', self.warmerWax) bt.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) bt.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) box3.pack_end (bt) bt.show () # Create the back button bt = elementary.Button (gui_items['mainwin']) bt.text_set ('Back') bt._callback_add ('clicked', self.closeWax) bt.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) bt.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) box3.pack_end (bt) bt.show () # Create the Colder button bt = elementary.Button (gui_items['mainwin']) bt.text_set ('Colder') bt._callback_add ('clicked', self.colderWax) bt.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) bt.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) box3.pack_end (bt) bt.show () gui_items['mainwin'].resize_object_add (gui_items['waxbox']) gui_items['waxbox'].hide () ##### # Create about box (vertical by default) gui_items['aboutbox'] = elementary.Box (gui_items['mainwin']) gui_items['aboutbox'].size_hint_weight_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) gui_items['aboutbox'].size_hint_align_set (-1.0, -1.0) al = elementary.Label(gui_items['mainwin']) al.size_hint_weight_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) al.size_hint_align_set (0.5, -1.0) al.text_set("About waxChooser") gui_items['aboutbox'].pack_start(al) al.show() sc2 = elementary.Scroller(gui_items['mainwin']) sc2.bounce_set(0, 0) sc2.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 1.0) sc2.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) gui_items['aboutbox'].pack_end(sc2) gui_items['mainwin'].resize_object_add (sc2) sc2.show() ib = elementary.Box(gui_items['aboutbox']) ic = elementary.Icon(gui_items['aboutbox']) ic.size_hint_weight_set(evas.EVAS_HINT_FILL,1.0) ic.scale_set(0, 0) ic.size_hint_align_set(0.5, 0.5) gui_items['mainwin'].resize_object_add(ic) ic.file_set(os.path.join(IMAGE_DIR, "author.png")) ib.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) ib.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) ib.pack_end(ic) sc2.content_set(ib) ic.show() gui_items['mainwin'].resize_object_add (ic) # Create text box with 'about' info at = elementary.Entry( gui_items['mainbox'] ) at.size_hint_weight_set(1.0, 0.0) at.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0) at.scale_set(1) info = self.infoadd("waxChooser " + APP_VERSION) info += self.infoadd("Copyright (c) 2011 Benjamin Deering") info += self.infoadd("<*****@*****.**>" ) at.text_set( info ) gui_items['aboutbox'].pack_end(at) at.show() # Create bottom button row (back, about) box3 = elementary.Box (gui_items['mainwin']) box3.horizontal_set (1) box3.homogenous_set (1) box3.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) box3.size_hint_align_set (-1.0, 0.0) gui_items['aboutbox'].pack_end (box3) box3.show () # Create the back button bt = elementary.Button (gui_items['mainwin']) bt.text_set ('Back') bt._callback_add ('clicked', self.hideAbout) bt.size_hint_weight_set (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_FILL) bt.size_hint_align_set (evas.EVAS_HINT_FILL, -1.0) box3.pack_end (bt) bt.show () gui_items['mainwin'].resize_object_add (gui_items['aboutbox']) ##### # Create settings box (vertical by default) gui_items['settingsbox'] = elementary.Box (gui_items['mainwin']) gui_items['settingsbox'].size_hint_weight_set (evas.EVAS_HINT_EXPAND, 1.0) gui_items['settingsbox'].size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) settingsLabel = elementary.Label(gui_items['mainwin']) settingsLabel.text_set('Settings') settingsLabel.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) settingsLabel.size_hint_align_set (0.5, -1.0) gui_items['settingsbox'].pack_start( settingsLabel) settingsLabel.show() # Create scroller to hold settings toggles items sc2 = elementary.Scroller(gui_items['mainwin']) sc2.bounce_set(0, 0) sc2.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 1.0) sc2.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) gui_items['settingsbox'].pack_end(sc2) gui_items['mainwin'].resize_object_add (sc2) sc2.show() tb = elementary.Box(gui_items['settingsbox']) ut = elementary.Check (gui_items['mainwin']) ut.text_set('Units') ut.style_set("toggle") ut.text_part_set( 'off', 'Fahrenheit' ) ut.text_part_set( 'on', 'Celsius' ) ut.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) ut.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) tb.pack_end( ut ) ut.state_set(self.usingCelsius) ut._callback_add('changed',self.setUnits) ut.show() for brand in self.brands: ut = elementary.Check (gui_items['mainwin']) ut.style_set("toggle") ut.text_set(brand) ut.text_part_set( 'on', 'enabled' ) ut.text_part_set( 'off', 'disabled' ) ut.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) ut.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) ut.state_set(eval(self.enabledBrands[brand])) tb.pack_end( ut ) ut._callback_add('changed',self.enableBrands,brand=brand) ut.show() ut = elementary.Check (gui_items['mainwin']) ut.text_set('Use MLX90614') ut.style_set("toggle") ut.text_part_set( 'on', 'Yes' ) ut.text_part_set( 'off', 'No' ) ut.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) ut.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) tb.pack_end( ut ) ut.state_set(self.usingSensor) ut._callback_add('changed',self.setSensor) ut.show() tb.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) tb.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) tb.show() #gui_items['settingsbox'].pack_end( tb ) sc2.content_set(tb) # Create bottom button row (back, about) box3 = elementary.Box (gui_items['mainwin']) box3.horizontal_set (1) box3.homogenous_set (1) box3.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) box3.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) gui_items['settingsbox'].pack_end (box3) box3.show () # Create the back button bt = elementary.Button (gui_items['mainwin']) bt.text_set ('Back') bt._callback_add ('clicked', self.closeSettings) bt.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) bt.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) box3.pack_end (bt) bt.show () # Create the about button bt = elementary.Button (gui_items['mainwin']) bt.text_set ('About') bt._callback_add ('clicked', self.showAbout) bt.size_hint_weight_set (evas.EVAS_HINT_EXPAND, 0.0) bt.size_hint_align_set (evas.EVAS_HINT_FILL, 0.0) box3.pack_end (bt) bt.show () #self.widgets['settingsbox'].pack_start(settingsTitle) gui_items['mainwin'].resize_object_add (gui_items['settingsbox']) gui_items['settingsbox'].hide () return gui_items
def build_gui(self): def destroy(obj, *args, **kargs): try: self.pressureLabelTimer.delete() self.altitudeLabelTimer.delete() self.pressureGraphTimer.delete() self.SaveConfig(self.configfile) except: print "Exception occured on exit" elementary.exit() gui_items = dict() # Create main window gui_items['mainwin'] = elementary.Window("Barom", elementary.ELM_WIN_BASIC) gui_items['mainwin'].title_set("Barom") gui_items['mainwin'].callback_destroy_add(destroy) # Create background bg = elementary.Background(gui_items['mainwin']) bg.size_hint_weight_set(1.0, 1.0) #bg.size_hint_min_set (200,300) gui_items['mainwin'].resize_object_add(bg) bg.show() # Create main box (vertical by default) gui_items['mainbox'] = elementary.Box(gui_items['mainwin']) gui_items['mainbox'].size_hint_weight_set(1.0, 1.0) gui_items['mainbox'].size_hint_align_set(-1.0, -1.0) gui_items['mainwin'].resize_object_add(gui_items['mainbox']) gui_items['mainbox'].show() #Create top toolbar toptoolbar = elementary.Toolbar(gui_items['mainwin']) toptoolbar.menu_parent_set(gui_items['mainwin']) toptoolbar.homogenous_set(False) #toptoolbar.icon_size_set( 64 ) #toptoolbar.size_hint_align_set (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) #toptoolbar.size_hint_weight_set (1.0, 1.0) toptoolbar.size_hint_align_set(-1.0, 0.0) toptoolbar.item_append(os.path.join(IMAGE_DIR, 'altitude.png'), "Altitude", self.altitudeDialog) toptoolbar.item_append(os.path.join(IMAGE_DIR, "weather.png"), "Weather", self.weatherDialog) toptoolbar.item_append(os.path.join(IMAGE_DIR, 'calibrate.png'), "Calibrate", self.calibrateDialog) toptoolbar.item_append(os.path.join(IMAGE_DIR, "about.png"), "About", self.aboutDialog) gui_items['mainbox'].pack_end(toptoolbar) toptoolbar.show() gui_items['pager'] = elementary.Naviframe(gui_items['mainwin']) gui_items['pager'].size_hint_weight_set(1.0, 1.0) gui_items['pager'].size_hint_align_set(-1.0, -1.0) # Create weather box (vertical by default) gui_items['weatherbox'] = elementary.Box(gui_items['mainwin']) gui_items['weatherbox'].size_hint_weight_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) gui_items['weatherbox'].size_hint_align_set(-1.0, -1.0) gui_items['pressureLabel'] = elementary.Label(gui_items['mainwin']) gui_items['pressureLabel'].text_set('weather') gui_items['pressureLabel'].scale_set(3.5) gui_items['pressureLabel'].size_hint_weight_set(1.0, 0.0) gui_items['pressureLabel'].size_hint_align_set(0.5, -1.0) gui_items['weatherbox'].pack_end(gui_items['pressureLabel']) gui_items['pressureLabel'].show() # Include the graph of past pressures gui_items['graphframe'] = elementary.Frame(gui_items['mainwin']) sc = elementary.Scroller(gui_items['mainwin']) sc.bounce_set(0, 0) sc.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 1.0) sc.size_hint_align_set(-1.0, -1.0) #gui_items['weatherbox'].pack_end(sc) gui_items['mainwin'].resize_object_add(sc) sc.show() gui_items['graphframe'].size_hint_weight_set(1.0, 1.0) gui_items['graphframe'].size_hint_align_set(-1.0, -1.0) gui_items['graphframe'].show() graphcanvas = gui_items['graphframe'].evas bg = graphcanvas.Rectangle(color=(255, 255, 255, 255)) bg.size = (460, 380) bg.layer_set(1) gui_items['graphframe'].data["bg"] = bg #print "FrameSize: " + str(gui_items['graphframe'].size) bg.show() gui_items['graphframe'].content_set(bg) sc.content_set(gui_items['graphframe']) #gb.pack_end(gui_items['graphframe']) gui_items['weatherbox'].pack_end(sc) self.pressureGraphThread = pressureGraphUpdater( self.getPressureFromSensor, gui_items['graphframe'], self.usingMetric) self.pressureLabelTimer = ecore.timer_add(2, self.PressureLabelUpdate) self.pressureGraphTimer = ecore.timer_add( 2, self.pressureGraphThread.pressureGraphUpdate) gui_items['mainwin'].resize_object_add(gui_items['weatherbox']) gui_items['pager'].item_simple_push(gui_items['weatherbox']) ##### # Create calibrate box (vertical by default) gui_items['calibratebox'] = elementary.Box(gui_items['mainwin']) gui_items['calibratebox'].size_hint_weight_set(1.0, 1.0) gui_items['calibratebox'].size_hint_align_set(-1.0, -1.0) # Create scroller to hold calibrate toggles items sc2 = elementary.Scroller(gui_items['mainwin']) sc2.bounce_set(0, 0) sc2.size_hint_weight_set(1.0, 1.0) sc2.size_hint_align_set(-1.0, -1.0) gui_items['calibratebox'].pack_end(sc2) gui_items['mainwin'].resize_object_add(sc2) sc2.show() tb = elementary.Box(gui_items['calibratebox']) tb.size_hint_weight_set(1.0, 1.0) tb.size_hint_align_set(-1.0, -1.0) ut = elementary.Check(gui_items['mainwin']) ut.style_set("toggle") ut.text_set('Units') ut.text_part_set('on', 'Metric') ut.text_part_set('off', 'Imperial') ut.size_hint_weight_set(1.0, 1.0) ut.size_hint_align_set(-1.0, 0.0) tb.pack_end(ut) ut.state_set(self.usingMetric) ut._callback_add('changed', self.setUnits) ut.show() al = elementary.Label(gui_items['mainwin']) al.text_set("Known current altitude") al.show() tb.pack_end(al) tbAlt = elementary.Box(gui_items['mainwin']) tbAlt.horizontal_set(1) gui_items['calibrateAltnumber'] = elementary.Entry( gui_items['mainwin']) gui_items['calibrateAltnumber'].single_line_set(True) gui_items['calibrateAltnumber'].entry_set('XX') gui_items['calibrateAltnumber'].scale_set(2.0) gui_items['calibrateAltnumber'].size_hint_weight_set(1, 1) gui_items['calibrateAltnumber'].callback_activated_add(self.calibrate) tbAlt.pack_end(gui_items['calibrateAltnumber']) gui_items['calibrateAltnumber'].show() gui_items['unitaltlabel'] = elementary.Label(gui_items['mainwin']) gui_items['unitaltlabel'].show() tbAlt.pack_end(gui_items['unitaltlabel']) tbAlt.show() tb.pack_end(tbAlt) pl = elementary.Label(gui_items['mainwin']) pl.text_set("Known current pressure at sea level") pl.show() tb.pack_end(pl) tbPres = elementary.Box(gui_items['mainwin']) tbPres.horizontal_set(1) gui_items['calibratePresnumber'] = elementary.Entry( gui_items['mainwin']) gui_items['calibratePresnumber'].single_line_set(True) gui_items['calibratePresnumber'].entry_set('XX') gui_items['calibratePresnumber'].scale_set(2.0) gui_items['calibratePresnumber'].size_hint_weight_set(1, 1) gui_items['calibratePresnumber'].callback_activated_add(self.calibrate) tbPres.pack_end(gui_items['calibratePresnumber']) gui_items['calibratePresnumber'].show() gui_items['unitpreslabel'] = elementary.Label(gui_items['mainwin']) gui_items['unitpreslabel'].show() tbPres.pack_end(gui_items['unitpreslabel']) tbPres.show() tb.pack_end(tbPres) if self.usingMetric: gui_items['unitaltlabel'].text_set('m') gui_items['unitpreslabel'].text_set('hpa') else: gui_items['unitaltlabel'].text_set('ft') gui_items['unitpreslabel'].text_set('in hg') # Create the calibrate button bt = elementary.Button(gui_items['mainwin']) bt.text_set('Calibrate') bt._callback_add('clicked', self.calibrate) bt.size_hint_weight_set(1.0, 1.0) bt.size_hint_align_set(-1.0, 0.0) tb.pack_end(bt) bt.show() tbFile = elementary.Box(gui_items['mainwin']) tbFile.horizontal_set(1) #create the sensor name label fl = elementary.Label(gui_items['mainwin']) fl.text_set("location of the sensor sysfs file") fl.show() tb.pack_end(fl) # Create the sensor name Entry gui_items['pressureSensorFile'] = elementary.Entry( gui_items['mainwin']) gui_items['pressureSensorFile'].single_line_set(True) gui_items['pressureSensorFile'].entry_set(self.pressureSensorFile) gui_items['pressureSensorFile'].scale_set(1.0) gui_items['pressureSensorFile'].size_hint_weight_set(1, 1) gui_items['pressureSensorFile'].callback_activated_add( self.changeSensorFile) tbFile.pack_end(gui_items['pressureSensorFile']) gui_items['pressureSensorFile'].show() tbFile.show() tb.pack_end(tbFile) sc2.content_set(tb) gui_items['mainwin'].resize_object_add(gui_items['calibratebox']) gui_items['pager'].item_simple_push(gui_items['calibratebox']) ##### # Create about box (vertical by default) gui_items['aboutbox'] = elementary.Box(gui_items['mainwin']) gui_items['aboutbox'].size_hint_weight_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) gui_items['aboutbox'].size_hint_align_set(-1.0, -1.0) al = elementary.Label(gui_items['mainwin']) al.size_hint_weight_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) al.size_hint_align_set(0.5, -1.0) al.text_set("About Barom") gui_items['aboutbox'].pack_end(al) al.show() # Create scroller to hold the author's picture sc2 = elementary.Scroller(gui_items['mainwin']) sc2.bounce_set(0, 0) sc2.size_hint_weight_set(1.0, 1.0) sc2.size_hint_align_set(evas.EVAS_HINT_FILL, -1.0) gui_items['aboutbox'].pack_end(sc2) gui_items['mainwin'].resize_object_add(sc2) sc2.show() ib = elementary.Box(gui_items['aboutbox']) ic = elementary.Icon(gui_items['aboutbox']) gui_items['mainwin'].resize_object_add(ic) ic.size_hint_weight_set(0.5, 0.5) ic.scale_set(0.5, 0.5) ic.size_hint_align_set(0.5, 0.0) ic.file_set(os.path.join(IMAGE_DIR, "author.png")) ib.size_hint_weight_set(0.5, 0.5) ib.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) ib.pack_end(ic) sc2.content_set(ib) ic.show() # Create text box with 'about' info at = elementary.Entry(gui_items['aboutbox']) at.size_hint_weight_set(1.0, 0.0) at.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0) at.scale_set(1) info = self.infoadd("Barom " + APP_VERSION) info += self.infoadd("Copyright (c) 2011 Benjamin Deering") info += self.infoadd("<*****@*****.**>") at.text_set(info) gui_items['aboutbox'].pack_end(at) at.show() gui_items['mainwin'].resize_object_add(gui_items['aboutbox']) gui_items['pager'].item_simple_push(gui_items['aboutbox']) ##### # Create altitude box (vertical by default) gui_items['altitudebox'] = elementary.Box(gui_items['mainwin']) gui_items['altitudebox'].size_hint_weight_set(1.0, 1.0) gui_items['altitudebox'].size_hint_align_set(-1.0, -1.0) gui_items['altitudeLabel'] = elementary.Label(gui_items['mainwin']) gui_items['altitudeLabel'].text_set('altitude') gui_items['altitudeLabel'].scale_set(3.5) gui_items['altitudeLabel'].size_hint_weight_set(1.0, 1.0) gui_items['altitudeLabel'].size_hint_align_set(0.5, -1.0) gui_items['altitudebox'].pack_end(gui_items['altitudeLabel']) gui_items['altitudeLabel'].show() self.altitudeLabelTimer = ecore.timer_add(2, self.AltitudeLabelUpdate) gui_items['mainwin'].resize_object_add(gui_items['altitudebox']) gui_items['pager'].item_simple_push(gui_items['altitudebox']) gui_items['pager'].show() gui_items['mainbox'].pack_end(gui_items['pager']) gui_items['pager'].item_simple_promote(gui_items['altitudebox']) return gui_items
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 __init__(self, p): self.parent = p self.petid = -1 elementary.init() self.win = elementary.Window('geekogotchi', elementary.ELM_WIN_BASIC) self.win.title_set('Geekogotchi') bg = elementary.Background(self.win) bg.show() self.win.resize_object_add(bg) self.win.callback_destroy_add(self.windowClose) frame = elementary.Frame(self.win) box = elementary.Box(self.win) frame.content_set(box) frame.show() self.win.resize_object_add(frame) box.show() self.age = elementary.Label(self.win) box.pack_start(self.age) self.age.show() self.state = elementary.Label(self.win) box.pack_end(self.state) self.state.show() self.values = elementary.Box(self.win) self.values.show() box.pack_end(self.values) self.health = elementary.Label(self.win) self.values.pack_end(self.health) self.health.show() self.hungry = elementary.Label(self.win) self.values.pack_end(self.hungry) self.hungry.show() self.happy = elementary.Label(self.win) self.values.pack_end(self.happy) self.happy.show() self.buttons = elementary.Box(self.win) self.buttons.horizontal_set(True) self.buttons.homogenous_set(True) box.pack_end(self.buttons) self.buttons.show() self.feed = elementary.Button(self.win) self.feed.label_set('Feed') self.feed._callback_add('clicked', self.feedPet) self.buttons.pack_end(self.feed) self.feed.show() self.heal = elementary.Button(self.win) self.heal.label_set('Heal') self.heal._callback_add('clicked', self.healPet) self.buttons.pack_end(self.heal) self.heal.show() self.play = elementary.Button(self.win) self.play.label_set('Play') self.play._callback_add('clicked', self.playWithPet) self.buttons.pack_end(self.play) self.play.show() self.remove = elementary.Button(self.win) self.remove.label_set('Remove') self.remove._callback_add('clicked', self.removePet) box.pack_end(self.remove)
def map_route_clicked(obj): win = elementary.Window("maproute", elementary.ELM_WIN_BASIC) win.title = "Map Route 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() Map = elementary.Map(win) Map.zoom = 2 Map.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) Map.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) Map.callback_clicked_add(cb_map_clicked) Map.callback_tile_load_add(cb_map_load) Map.callback_tile_loaded_add(cb_map_load) vbox.pack_end(Map) Map.show() lb = elementary.Label(win) lb.text = "load_status: 0 / 0" vbox.pack_end(lb) lb.show() Map.data["lb_load_status"] = lb lb = elementary.Label(win) lb.text = "First set Start and End point and then click 'Calc Route !'" vbox.pack_end(lb) lb.show() Map.data["lb_distance"] = lb # info hbox = elementary.Box(win) hbox.horizontal = True hbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) hbox.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) vbox.pack_end(hbox) hbox.show() # route ho = elementary.Hoversel(win) ho.hover_parent_set(win) type = elementary.ELM_MAP_SOURCE_TYPE_ROUTE ho.text_set("Routes: %s" % (Map.source_get(type))) for src in Map.sources_get(type): ho.item_add(src) ho.callback_selected_add(cb_hovsel_selected, Map, type, "Routes") hbox.pack_end(ho) ho.show() sep = elementary.Separator(win) sep.show() hbox.pack_end(sep) bt = elementary.Button(win) bt.text = "GOTO" bt.callback_clicked_add(cb_btn_goto, Map) hbox.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text = "Calc Route !" bt.callback_clicked_add(cb_btn_calc_route, Map) hbox.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text = "clear route overlays" bt.callback_clicked_add(cb_btn_clear_overlays, Map) hbox.pack_end(bt) bt.show() # names hbox = elementary.Box(win) hbox.horizontal = True hbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) hbox.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) vbox.pack_end(hbox) hbox.show() ho = elementary.Hoversel(win) ho.hover_parent_set(win) type = elementary.ELM_MAP_SOURCE_TYPE_NAME ho.text_set("Names: %s" % (Map.source_get(type))) for src in Map.sources_get(type): ho.item_add(src) ho.callback_selected_add(cb_hovsel_selected, Map, type, "Names") hbox.pack_end(ho) ho.show() en = elementary.Entry(win) en.scrollable = True en.single_line = True en.text = "type an address here" en.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) en.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) hbox.pack_end(en) en.show() bt = elementary.Button(win) bt.text = "Search Address !" bt.callback_clicked_add(cb_btn_search_name, Map, en) hbox.pack_end(bt) bt.show() hbox = elementary.Box(win) hbox.horizontal = True hbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0) hbox.size_hint_align = (evas.EVAS_HINT_FILL, 0.0) vbox.pack_end(hbox) hbox.show() en = elementary.Entry(win) en.scrollable = True en.single_line = True en.disabled = True en.text = "place the start point and press the button" en.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) en.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) hbox.pack_end(en) en.show() bt = elementary.Button(win) bt.text = "Search start point Region" bt.callback_clicked_add(cb_btn_search_region, Map, en) hbox.pack_start(bt) bt.show() win.resize(600, 600) win.show()