def entry_scrolled_clicked(obj, item=None): win = elementary.Window("entry", elementary.ELM_WIN_BASIC) win.title_set("Scrolled Entry") 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() en = elementary.Entry(win) win.resize_object_add(en) en.scrollable_set(True) en.line_wrap_set(False) en.entry_set("This is an entry widget in this window that<br>" "uses markup <b>like this</> for styling and<br>" "formatting <em>like this</>, as well as<br>" "<a href=X><link>links in the text</></a>, so enter text<br>" "in here to edit it. By the way, links are<br>" "called <a href=anc-02>Anchors</a> so you will need<br>" "to refer to them this way.<br><br>" * 10) 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.size_hint_min_set(200, 200) en.show() en.focus_set(True) win.show()
def __init__(self, amsn_conversation, parent, contacts_uid): self._parent = parent elementary.Box.__init__(self, parent) self.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self.homogenous_set(False) self._parent.resize_object_add(self) self.show() self._amsn_conversation = amsn_conversation self.outsc = elementary.Scroller(parent) self.outsc.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self.outsc.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self.outsc.policy_set(elementary.ELM_SCROLLER_POLICY_AUTO, elementary.ELM_SCROLLER_POLICY_ON) self.outsc.bounce_set(False, True) self.pack_end(self.outsc) self.outbx = elementary.Box(parent) self.outbx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self.outbx.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self.outsc.content_set(self.outbx) self.outbx.show() self.outsc.show() self.inbx = elementary.Box(parent) self.inbx.horizontal_set(True) self.inbx.homogenous_set(False) self.inbx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) self.inbx.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) self.pack_end(self.inbx) self.insc = elementary.Scroller(parent) self.insc.policy_set(elementary.ELM_SCROLLER_POLICY_AUTO, elementary.ELM_SCROLLER_POLICY_AUTO) self.insc.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self.insc.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self.inbx.pack_end(self.insc) self.ine = elementary.Entry(parent) self.ine.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self.ine.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self.ine.event_callback_add(evas.EVAS_CALLBACK_KEY_DOWN, self.__ine_key_down) self.insc.content_set(self.ine) self.ine.show() self.insc.show() self.inb = elementary.Button(parent) self.inb.label_set("Send") self.inb.callback_clicked_add(self.__sendButton_cb, self.ine) self.inbx.pack_end(self.inb) self.inb.show() self.inbx.show() self.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 __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 cursor_clicked(obj, item=None): win = elementary.Window("cursors", elementary.ELM_WIN_BASIC) win.title_set("Cursors") 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() ck = elementary.Clock(win) ck.cursor_set(cursors.ELM_CURSOR_CLOCK) bx.pack_end(ck) ck.show() bt = elementary.Button(win) bt.text_set("Coffee Mug") bt.cursor_set(cursors.ELM_CURSOR_COFFEE_MUG) bx.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text_set("Cursor unset") bt.cursor_set(cursors.ELM_CURSOR_BOGOSITY) bt.cursor_unset() bx.pack_end(bt) bt.show() lst = elementary.List(win) lst.item_append("watch over list") lst.item_append("watch over list") lst.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) lst.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) lst.cursor_set(cursors.ELM_CURSOR_WATCH) bx.pack_end(lst) lst.go() lst.show() en = elementary.Entry(win) en.scrollable_set(True) en.single_line_set(True) en.entry_set("Xterm cursor") en.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) en.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) en.cursor_set(cursors.ELM_CURSOR_XTERM) bx.pack_end(en) en.show() win.resize(320, 480) win.show()
def _files_init(self): self._right_bx = elementary.Box(self) self._right_bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self._right_bx.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self.pack(self._right_bx, 1, 0, 3, 4) self._right_bx.show() self._nav_path = elementary.Entry(self) self._nav_path.scrollable_set(True) self._nav_path.single_line_set(True) self._nav_path.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) self._nav_path.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self._nav_path.editable_set(False) self._nav_path.entry_set("PATH") self._nav_path.callback_anchor_clicked_add(self._path_go) self._nav_path.callback_changed_add(self._path_change) self._right_bx.pack_end(self._nav_path) self._nav_path.show() self._files = elementary.List(self) self._files.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) self._files.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self._files.callback_selected_add(self._file_selected) self._files.callback_unselected_add(self._file_unselected) self._files.callback_activated_add(self._file_clicked) self._right_bx.pack_end(self._files) self._files.show() self._file_entry = elementary.Entry(self) self._file_entry.scrollable_set(True) self._file_entry.single_line_set(True) self._file_entry.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) self._file_entry.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) self._file_entry.editable_set(True) self._file_entry.entry_set("") self._file_entry.callback_changed_add(self._file_entry_change) self._right_bx.pack_end(self._file_entry)
def __init__(self, parent): Widget.__init__(self) WidgetEntryValidator.__init__(self) self._value = "" self.entry = elementary.Entry(parent) self.entry.scrollable_set(True) self.entry.single_line_set(True) self.entry.style_set("editje.details") self.entry.size_hint_weight_set(1.0, 0.0) self.entry.size_hint_align_set(-1.0, -1.0) self.entry.context_menu_disabled_set(True) self.entry.callback_activated_add(self._entry_activate_cb) self.entry.callback_changed_add(self._entry_changed_cb) self.entry.callback_double_clicked_add(self._dblclick_cb) self.entry.callback_focused_add(self._focused_cb) self.entry.callback_unfocused_add(self._unfocused_cb) self.entry.show() self.obj = self.entry
def entry_clicked(obj, item=None): win = elementary.Window("entry", elementary.ELM_WIN_BASIC) win.title_set("Entry") 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() en = elementary.Entry(win) en.line_wrap_set(False) en.entry_set("This is an entry widget in this window that<br>" "uses markup <b>like this</> for styling and<br>" "formatting <em>like this</>, as well as<br>" "<a href=X><link>links in the text</></a>, so enter text<br>" "in here to edit it. By the way, links are<br>" "called <a href=anc-02>Anchors</a> so you will need<br>" "to refer to them this way.") en.callback_anchor_clicked_add(my_entry_anchor_test, en) 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) bx.pack_end(en) en.show() bx2 = elementary.Box(win) bx2.horizontal_set(True) bx2.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) bx2.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bt = elementary.Button(win) bt.text_set("Clear") bt.callback_clicked_add(my_entry_bt_1, en) bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) bx2.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text_set("Print") bt.callback_clicked_add(my_entry_bt_2, en) bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) bx2.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text_set("Selection") bt.callback_clicked_add(my_entry_bt_3, en) bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) bx2.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text_set("Insert") bt.callback_clicked_add(my_entry_bt_4, en) bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) bx2.pack_end(bt) bt.show() bx.pack_end(bx2) bx2.show() en.focus_set(True) win.show()
def web_clicked(obj): if not elementary.need_web(): print("EFL-webkit not available!") return win = elementary.Window("web", elementary.ELM_WIN_BASIC) win.title_set("Web") 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() vbx = elementary.Box(win) win.resize_object_add(vbx) vbx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) vbx.show() web = elementary.Web(win) web.uri_set("http://enlightenment.org/") web.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) web.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) web.size_hint_min_set(100, 100) vbx.pack_end(web) web.show() # Debug: def dbg(*args): print(("DEBUG: %s" % args[-1], " ".join(repr(x) for x in args[1:-1]))) web.callback_link_hover_in_add(dbg, "link in") web.callback_link_hover_out_add(dbg, "link out") web.callback_uri_changed_add(dbg, "uri") web.callback_title_changed_add(dbg, "title") web.callback_load_finished_add(dbg, "load finished") web.callback_load_finished_add(dbg, "load error") web.callback_load_progress_add(dbg, "load progress") web.callback_load_provisional_add(dbg, "load provisional") web.callback_load_started_add(dbg, "load started") # JS debug to console: def console_msg(obj, msg, line, src): print(("CONSOLE: %s:%d %r" % (src, line, msg))) web.console_message_hook_set(console_msg) # navigation bar: hbx = elementary.Box(win) hbx.horizontal_set(True) hbx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) hbx.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0) vbx.pack_start(hbx) hbx.show() bt = elementary.Button(win) bt.text_set("Back") bt.callback_clicked_add(lambda x: web.back()) hbx.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text_set("Forward") bt.callback_clicked_add(lambda x: web.forward()) hbx.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text_set("Reload") bt.callback_clicked_add(lambda x: web.reload()) hbx.pack_end(bt) bt.show() bt = elementary.Button(win) bt.text_set("Stop") bt.callback_clicked_add(lambda x: web.stop()) hbx.pack_end(bt) bt.show() en = elementary.Entry(win) en.scrollable_set(True) en.editable_set(True) en.single_line_set(True) en.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) en.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) hbx.pack_end(en) en.show() # Sync navigation entry and current URI def do_change_uri(en): web.uri = en.entry def did_change_uri(web, uri, en): en.entry = uri en.callback_activated_add(do_change_uri) web.callback_uri_changed_add(did_change_uri, en) # Sync title def did_change_title(web, title, win): win.title_set("Web - %s" % title) web.callback_title_changed_add(did_change_title, win) win.resize(800, 600) win.show()
class aMSNLoginWindow(base.aMSNLoginWindow): def __init__(self, amsn_core, parent): self._core = amsn_core self._evas = parent._evas self._parent = parent self._account_views = [] edje.frametime_set(1.0 / 30) try: self._edje = edje.Edje(self._evas, file=THEME_FILE, group="login_screen") except edje.EdjeLoadError, e: raise SystemExit("error loading %s: %s" % (THEME_FILE, e)) self._parent.resize_object_add(self._edje) self._edje.size_hint_weight_set(1.0, 1.0) self.show() sc = elementary.Scroller(self._edje) sc.content_min_limit(0, 1) sc.policy_set(elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF) sc.size_hint_weight_set(1.0, 0.0) sc.size_hint_align_set(-1.0, -1.0) self._edje.part_swallow("login_screen.username", sc) self.username = elementary.Entry(self._edje) self.username.single_line_set(1) self.username.size_hint_weight_set(1.0, 0.0) self.username.size_hint_align_set(-1.0, -1.0) sc.content_set(self.username) self.username.show() sc.show() sc = elementary.Scroller(self._edje) sc.content_min_limit(0, 1) sc.policy_set(elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF) sc.size_hint_weight_set(1.0, 0.0) sc.size_hint_align_set(-1.0, -1.0) self._edje.part_swallow("login_screen.password", sc) self.password = elementary.Entry(self._edje) self.password.single_line_set(1) self.password.password_set(1) self.password.size_hint_weight_set(1.0, 1.0) self.password.size_hint_align_set(-1.0, -1.0) sc.content_set(self.password) self.password.show() sc.show() self.presence = elementary.Hoversel(self._edje) self.presence.hover_parent_set(self._parent) for key in self._core.p2s: name = self._core.p2s[key] _, path = self._core._theme_manager.get_statusicon("buddy_%s" % name) if name == 'offline': continue def cb(hoversel, it, key): hoversel.label_set(it.label_get()) (icon_file, icon_group, icon_type) = it.icon_get() ic = elementary.Icon(hoversel) ic.scale_set(0, 1) if icon_type == elementary.ELM_ICON_FILE: ic.file_set(icon_file, icon_group) else: ic.standart_set(icon_file) hoversel.icon_set(ic) ic.show() self.presence_key = data self.presence.item_add(name, path, elementary.ELM_ICON_FILE, cb, key) self.presence_key = self._core.Presence.ONLINE self.presence.label_set(self._core.p2s[self.presence_key]) ic = elementary.Icon(self.presence) ic.scale_set(0, 1) _, path = self._core._theme_manager.get_statusicon( "buddy_%s" % self._core.p2s[self.presence_key]) ic.file_set(path) self.presence.icon_set(ic) ic.show() self.presence.size_hint_weight_set(0.0, 0.0) self.presence.size_hint_align_set(0.5, 0.5) self._edje.part_swallow("login_screen.presence", self.presence) self.presence.show() self.save = elementary.Check(self._edje) self.save.label_set("Remember Me") def cb(obj): if obj.state_get(): self.save_password.disabled_set(False) else: self.save_password.disabled_set(True) self.save_password.state_set(False) self.autologin.disabled_set(True) self.autologin.state_set(False) self.save.callback_changed_add(cb) self._edje.part_swallow("login_screen.remember_me", self.save) self.save.show() self.save_password = elementary.Check(self._edje) self.save_password.label_set("Remember Password") self.save_password.disabled_set(True) def cb(obj): if obj.state_get(): self.autologin.disabled_set(False) else: self.autologin.disabled_set(True) self.autologin.state_set(False) self.save_password.callback_changed_add(cb) self._edje.part_swallow("login_screen.remember_password", self.save_password) self.save_password.show() self.autologin = elementary.Check(self._edje) self.autologin.label_set("Auto Login") self.autologin.disabled_set(True) self._edje.part_swallow("login_screen.auto_login", self.autologin) self.autologin.show() if self._edje.part_exists("login_screen.signin"): self.signin_b = elementary.Button(self._edje) self.signin_b.label_set("Sign in") self.signin_b.callback_clicked_add(self.__signin_button_cb) self.signin_b.show() self._edje.part_swallow("login_screen.signin", self.signin_b) else: self._edje.signal_callback_add("signin", "*", self.__signin_cb)
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 application_start(fileName, settings): # saved state of the file global file_is_saved file_is_saved = True # takes settings from file or uses default ones global style if settings is not None: style = settings else: style = "DEFAULT='color=#000 left_margin=2 right_margin=2 font_source=/usr/share/elementary/themes/default.edj font_size=10.000000 font=Sans:style=Regular'em='+ font_style=Oblique'link='+ color=#800 underline=on underline_color=#8008'hilight='+ font_weight=Bold'preedit='+ underline=on underline_color=#000'preedit_sel='+ backing=on backing_color=#000 color=#FFFFFF'" # Create the window title and boarder window = elementary.StandardWindow("Etext", "Etext - Untitled") window.show() # Add window Icon icon = elementary.Image(window) icon.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) icon.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) icon.file_set( 'Etext.png' ) # assumes image icon is in local dir, may need to change later icon.show() window.icon_object_set(icon.object_get()) # creates textbox to hold text textbox = elementary.Entry(window) textbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) textbox.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) textbox.callback_changed_user_add( file_saved, window) # allows program to know when file is saved textbox.scrollable_set( True) # creates scrollbars rather than enlarge window textbox.line_wrap_set( False) # does not allow line wrap (can be changed by user) textbox.autosave_set(False) # set to false to reduce disk I/O textbox.show() # If opened from command line or file manager with the intent of displaying a specific file # display this file and change the window title to reflect the current file open. if fileName != None: textbox.file_set(fileName, elementary.ELM_TEXT_FORMAT_PLAIN_UTF8) window.title_set("Etext - " + fileName) # what to do when close request is sent window.callback_delete_request_add(close_safely, window, textbox) # window keybindings window.elm_event_callback_add(keybind, window, textbox) # create a top menu (toolbar) # open button (opens a file) open_button = elementary.Button(window) open_button.text = "Open" open_button.callback_pressed_add(open_pressed, window, textbox) open_button.show() # new button (clears the editor) new_button = elementary.Button(window) new_button.text = "New" new_button.callback_pressed_add(new_pressed, window, textbox) new_button.show() # Save As Button (allows saving of new file) saveas_button = elementary.Button(window) saveas_button.text = "Save As" saveas_button.callback_pressed_add(saveas_pressed, window, textbox) saveas_button.show() # Save Button (save changes to a file) save_button = elementary.Button(window) save_button.text = "Save" save_button.callback_pressed_add(save_pressed, window, textbox) save_button.show() # Word Wrap toggle (changes the state of word wrap) wordwrap_check = elementary.Check(window) wordwrap_check.text = "Word Wrap" wordwrap_check.callback_changed_add(wordwrap_pressed, window, textbox) wordwrap_check.show() # Font Button (allows user to change the font size and type) font_button = elementary.Button(window) font_button.text = "Font" font_button.callback_pressed_add(font_pressed, window, textbox) font_button.show() # About Button (displays about popup) about_button = elementary.Button(window) about_button.text = "About" about_button.callback_pressed_add(about_pressed, window) about_button.show() # create a horz box to hold buttons top_menu = elementary.Box(window) top_menu.horizontal_set(True) top_menu.size_hint_weight_set(0, 0) top_menu.size_hint_align_set(0.01, 0.01) top_menu.pack_end(open_button) top_menu.pack_end(new_button) top_menu.pack_end(save_button) top_menu.pack_end(saveas_button) top_menu.pack_end(wordwrap_check) top_menu.pack_end(font_button) top_menu.pack_end(about_button) top_menu.show() # Create a box to hold everything full_package = elementary.Box(window) full_package.padding_set(1, 1) full_package.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) full_package.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) full_package.pack_end(top_menu) full_package.pack_end(textbox) full_package.show() window.resize_object_add(full_package) tmp = textbox.textblock_get().style_set(style) window.resize(600, 400) print textbox.content_get()
def __init__(self, amsn_core, parent): self._core = amsn_core self._parent = parent self._personal_info_view = None elementary.Layout.__init__(self, self._parent) self.file_set(THEME_FILE, "personal_info") self._dp = elementary.Button(self._parent) self._dp.label_set("pouet") self._dp.size_hint_weight_set(1.0, 1.0) self.content_set("dp", self._dp); self._dp.show() self._presence = elementary.Hoversel(self._parent) self._presence.hover_parent_set(self._parent) for key in self._core.p2s: name = self._core.p2s[key] _, path = self._core._theme_manager.get_statusicon("buddy_%s" % name) if name == 'offline': continue def cb(hoversel, it, key): hoversel.label_set(it.label_get()) (icon_file, icon_group, icon_type) = it.icon_get() ic = elementary.Icon(hoversel) ic.scale_set(0, 1) if icon_type == elementary.ELM_ICON_FILE: ic.file_set(icon_file, icon_group) else: ic.standart_set(icon_file) hoversel.icon_set(ic) ic.show() #TODO self._presence.item_add(name, path, elementary.ELM_ICON_FILE, cb, key) self.content_set("presence", self._presence); self._presence.show() sc = elementary.Scroller(self._parent) sc.content_min_limit(0, 1) sc.policy_set(elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF); sc.size_hint_weight_set(1.0, 0.0) sc.size_hint_align_set(-1.0, 0.0) self.content_set("nick", sc) self._nick = elementary.Entry(self._parent) self._nick.single_line_set(True) self._nick.size_hint_weight_set(1.0, 0.0) self._nick.size_hint_align_set(-1.0, 0.0) sc.content_set(self._nick) self._nick.show() sc.show() sc = elementary.Scroller(self._parent) sc.content_min_limit(0, 1) sc.policy_set(elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF); sc.size_hint_weight_set(1.0, 0.0) sc.size_hint_align_set(-1.0, -1.0) self.content_set("psm", sc); self._psm = elementary.Entry(self._parent) self._psm.single_line_set(True) self._psm.size_hint_weight_set(1.0, 0.0) self._psm.size_hint_align_set(-1.0, -1.0) sc.content_set(self._psm) self._psm.show() sc.show() sc = elementary.Scroller(self._parent) sc.content_min_limit(0, 1) sc.policy_set(elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF) sc.size_hint_weight_set(1.0, 0.0) sc.size_hint_align_set(-1.0, -1.0) self.content_set("current_media", sc) self._cm = elementary.Entry(self._parent) self._cm.single_line_set(True) self._cm.size_hint_weight_set(1.0, 0.0) self._cm.size_hint_align_set(-1.0, -1.0) sc.content_set(self._cm) self._cm.show() sc.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
box0.pack_end(tg) tg.show() bx1 = elementary.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 = elementary.Label(win) lb.text_set("Filter:") bx1.pack_end(lb) lb.show() en = elementary.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 = elementary.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)
def tooltip_clicked(obj): win = elementary.Window("tooltips", elementary.ELM_WIN_BASIC) win.title_set("Tooltips") 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() bx = elementary.Box(win) win.resize_object_add(bx) bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) bx.show() tb = elementary.Toolbar(win) tb.homogeneous_set(False) tb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) tb.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0) bx.pack_end(tb) tb.show() ti = tb.item_append("folder-new", "Open", None, None) ti.tooltip_text_set("Opens a file") ti = tb.item_append("clock", "Icon", None, None) ti.tooltip_content_cb_set(_tt_item_icon, None) ti.tooltip_style_set("transparent") bt = elementary.Button(win) bt.text_set("Simple text tooltip") bt.tooltip_text_set("Simple text tooltip") bx.pack_end(bt) bt.show() def _tt_text_replace(obj, data): value = data.get("value") if not value: value = 1 obj.tooltip_text_set("count=%d" % value) value += 1 data["value"] = value bt = elementary.Button(win) bt.text_set("Simple text tooltip, click to change") bt.tooltip_text_set("Initial") data = dict() bt.callback_clicked_add(_tt_text_replace, data) bx.pack_end(bt) bt.show() def _tt_text_replace_timer_cb(obj, data): _tt_text_replace(obj, data) return True def _tt_text_replace_timed(obj, data, *args, **kargs): timer = data.get("timer") if timer: timer.delete() del data["timer"] obj.text_set("Simple text tooltip, click to start changed timed") return data["timer"] = ecore.timer_add(1.5, _tt_text_replace_timer_cb, obj, data) obj.text_set("Simple text tooltip, click to stop changed timed") bt = elementary.Button(win) bt.text_set("Simple text tooltip, click to start changed timed") bt.tooltip_text_set("Initial") data = dict() bt.callback_clicked_add(_tt_text_replace_timed, data) bx.pack_end(bt) bt.show() bt.on_del_add(_tt_timer_del, data) bt = elementary.Button(win) bt.text_set("Icon tooltip") bt.tooltip_content_cb_set(_tt_icon, None) bx.pack_end(bt) bt.show() def _tt_icon_replace_timer_cb(obj, data): value = data.get("value") data["value"] = not value if value: obj.tooltip_content_cb_set(_tt_icon) else: obj.tooltip_content_cb_set(_tt_icon2) return True def _tt_icon_replace_timed(obj, data, *args, **kargs): timer = data.get("timer") if timer: timer.delete() del data["timer"] obj.text_set("Icon tooltip, click to start changed timed") return data["timer"] = ecore.timer_add(1.5, _tt_icon_replace_timer_cb, obj, data) obj.text_set("Icon tooltip, click to stop changed timed") bt = elementary.Button(win) bt.text_set("Icon tooltip, click to start changed timed") bt.tooltip_content_cb_set(_tt_icon) data = dict() bt.callback_clicked_add(_tt_icon_replace_timed, data) bx.pack_end(bt) bt.show() bt.on_del_add(_tt_timer_del, data) bt = elementary.Button(win) bt.text_set("Transparent Icon tooltip") bt.tooltip_content_cb_set(_tt_icon, None) bt.tooltip_style_set("transparent") bx.pack_end(bt) bt.show() def _tt_style_replace_timer_cb(obj, data): value = data.get("value") data["value"] = not value if value: obj.tooltip_style_set() else: obj.tooltip_style_set("transparent") return True def _tt_style_replace_timed(obj, data, *args, **kargs): timer = data.get("timer") if timer: timer.delete() del data["timer"] obj.text_set("Icon tooltip style, click to start changed timed") return data["timer"] = ecore.timer_add(1.5, _tt_style_replace_timer_cb, obj, data) obj.text_set("Icon tooltip, click to stop changed timed") bt = elementary.Button(win) bt.text_set("Icon tooltip style, click to start changed timed") bt.tooltip_content_cb_set(_tt_icon, None) data = dict() bt.callback_clicked_add(_tt_style_replace_timed, data) bx.pack_end(bt) bt.show() bt.on_del_add(_tt_timer_del, data) def _tt_visible_lock_toggle(obj, data, *args, **kargs): value = data.get("value") data["value"] = not value if value: obj.text_set("Unlocked tooltip visibility") obj.tooltip_hide() else: obj.text_set("Locked tooltip visibility") obj.tooltip_show() bt = elementary.Button(win) bt.text_set("Unlocked tooltip visibility") bt.tooltip_text_set( "This tooltip is unlocked visible,<br> clock the button to lock!") data = dict() bt.callback_clicked_add(_tt_visible_lock_toggle, data) bx.pack_end(bt) bt.show() en = elementary.Entry(win) en.scrollable_set(True) en.single_line_set(True) en.entry_set("Hello, some scrolled entry here!") en.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0) en.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5) en.tooltip_text_set("Type something here!") bx.pack_end(en) en.show() lst = elementary.List(win) li = lst.item_append("Hello") li.tooltip_text_set("Something useful here?") li = lst.item_append("Icon Tooltip") li.tooltip_content_cb_set(_tt_item_icon, None) lst.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) lst.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) lst.size_hint_min_set(100, 100) bx.pack_end(lst) lst.go() lst.show() win.show() win.resize(400, 500)
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 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 __init__(self, amsn_core, win): self._core = amsn_core self._evas = win._evas self._win = win self._account_views = [] self._ui_manager = self._core._ui_manager edje.frametime_set(1.0 / 30) elementary.Layout.__init__(self, win) self.file_set(THEME_FILE, "amsn2/login_screen") self._edje = self.edje_get() self.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND) self.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL) sc = elementary.Scroller(self) sc.content_min_limit(0, 1) sc.policy_set(elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF) sc.size_hint_weight_set(1.0, 0.0) sc.size_hint_align_set(-1.0, -1.0) self.content_set("username", sc) self.username = elementary.Entry(self) self.username.single_line_set(1) self.username.size_hint_weight_set(1.0, 0.0) self.username.size_hint_align_set(-1.0, -1.0) sc.content_set(self.username) self.username.show() sc.show() sc = elementary.Scroller(self) sc.content_min_limit(0, 1) sc.policy_set(elementary.ELM_SCROLLER_POLICY_OFF, elementary.ELM_SCROLLER_POLICY_OFF) sc.size_hint_weight_set(1.0, 0.0) sc.size_hint_align_set(-1.0, -1.0) self.content_set("password", sc) self.password = elementary.Entry(self) self.password.single_line_set(1) self.password.password_set(1) self.password.size_hint_weight_set(1.0, 1.0) self.password.size_hint_align_set(-1.0, -1.0) sc.content_set(self.password) self.password.show() sc.show() self.presence = elementary.Hoversel(self) self.presence.hover_parent_set(self._win) for key in self._core.p2s: name = self._core.p2s[key] _, path = self._core._theme_manager.get_statusicon("buddy_%s" % name) if name == 'offline': continue def cb(hoversel, it, key): hoversel.label_set(it.label_get()) (icon_file, icon_group, icon_type) = it.icon_get() ic = elementary.Icon(hoversel) ic.scale_set(0, 1) if icon_type == elementary.ELM_ICON_FILE: ic.file_set(icon_file, icon_group) else: ic.standart_set(icon_file) hoversel.icon_set(ic) ic.show() self.presence_key = data self.presence.item_add(name, path, elementary.ELM_ICON_FILE, cb, key) self.presence_key = self._core.Presence.ONLINE self.presence.label_set(self._core.p2s[self.presence_key]) ic = elementary.Icon(self.presence) ic.scale_set(0, 1) _, path = self._core._theme_manager.get_statusicon( "buddy_%s" % self._core.p2s[self.presence_key]) ic.file_set(path) self.presence.icon_set(ic) ic.show() self.presence.size_hint_weight_set(0.0, 0.0) self.presence.size_hint_align_set(0.5, 0.5) self.content_set("presence", self.presence) self.presence.show() self.save = elementary.Check(self) self.save.label_set("Remember Me") def cb(obj): if obj.state_get(): self.save_password.disabled_set(False) else: self.save_password.disabled_set(True) self.save_password.state_set(False) self.autologin.disabled_set(True) self.autologin.state_set(False) self.save.callback_changed_add(cb) self.content_set("remember_me", self.save) self.save.show() self.save_password = elementary.Check(self) self.save_password.label_set("Remember Password") self.save_password.disabled_set(True) def cb(obj): if obj.state_get(): self.autologin.disabled_set(False) else: self.autologin.disabled_set(True) self.autologin.state_set(False) self.save_password.callback_changed_add(cb) self.content_set("remember_password", self.save_password) self.save_password.show() self.autologin = elementary.Check(self) self.autologin.label_set("Auto Login") self.autologin.disabled_set(True) self.content_set("auto_login", self.autologin) self.autologin.show() if self._edje.part_exists("signin"): self.signin_b = elementary.Button(self) self.signin_b.label_set("Sign in") self.signin_b.callback_clicked_add(self.__signin_button_cb) self.signin_b.show() self.content_set("signin", self.signin_b) else: self._edje.signal_callback_add("signin", "*", self.__signin_cb) self._win.child = self self.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 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()