Exemple #1
0
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()
Exemple #2
0
    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()
Exemple #3
0
    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
Exemple #4
0
    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)
Exemple #5
0
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()
Exemple #6
0
    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
Exemple #8
0
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()
Exemple #9
0
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()
Exemple #10
0
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)
Exemple #11
0
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)
Exemple #12
0
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()
Exemple #13
0
    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()
Exemple #14
0
	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
Exemple #15
0
    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)
Exemple #16
0
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)
Exemple #17
0
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()
Exemple #18
0
    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
Exemple #19
0
    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()
Exemple #20
0
    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")
Exemple #21
0
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()