Exemple #1
0
    def _notify_err(self, err, **kargs):
        if self._notification:
            self._notification.hide()
            self._notification.delete()
            self._notification = None

        self._notification = ErrorNotify(self)

        if isinstance(err, IOError) and err.errno == errno.EEXIST:
            self._notification.title = "Swap file already exists"
            lb = elementary.Label(self._notification)
            lb.text_set("Another program may be editing the same file<br>" +
                        "or a previous edition session for this file crashed.")
            self._notification.pack_end(lb)
            lb.show()
            self._notification.action_add("Ignore Swap", self._open_forced)
            self._notification.action_add("Recover", self._open_recovery)
            self._notification.action_add("Abort", self._notify_abort)
        elif isinstance(err, swapfile.CompileError):
            self._notification.title = "Compiler Error"
            lb = elementary.Label(self._notification)
            lb.text_set(str(err.message).replace('\n', '<br>'))
            self._notification.pack_end(lb)
            lb.show()
            self._notification.action_add("Ok", self._notify_abort)
        else:
            self._notification.title = str(err).replace(':', '<br>')
            self._notification.action_add("Ok", self._notify_abort)

        self._notification.show()
Exemple #2
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 #3
0
def inner_window_clicked(obj):
    win = elementary.Window("inner-window", elementary.ELM_WIN_BASIC)
    win.title_set("InnerWindow test")
    win.autodel_set(True)
    if obj is None:
        win.callback_delete_request_add(lambda o: elementary.exit())

    bg = elementary.Background(win)
    win.resize_object_add(bg)
    bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bg.show()

    lb = elementary.Label(win)
    lb.text_set("This is an \"inwin\" - a window in a<br/>"
                "window. This is handy for quick popups<br/>"
                "you want centered, taking over the window<br/>"
                "until dismissed somehow. Unlike hovers they<br/>"
                "don't hover over their target.")

    iw = elementary.InnerWindow(win)
    iw.content_set(lb)
    iw.show()

    win.resize(320, 320)
    win.show()
Exemple #4
0
    def _check_changed_cb(self, obj, part):
        if obj.state:
            self._part_add(part, self._edit_grp.animation.name)

            op = Operation("part (%s) addition into animation (%s)" % \
                                (part, self._edit_grp.animation.name))
            op.redo_callback_add(self._part_add, part,
                                 self._edit_grp.animation.name)
            op.undo_callback_add(self._part_remove, part,
                                 self._edit_grp.animation.name)
            self._operation_stack_cb(op)
        else:
            # FIXME: Take the confirmation out of this function
            self._notification = ErrorNotify(
                self, elementary.ELM_NOTIFY_ORIENT_CENTER)
            self._notification.title = "Part Removal"
            lb = elementary.Label(self._notification)
            lb.text_set("Are you sure you want to remove<br>"
                        "this part from the animation?")
            lb.show()
            self._notification.pack_end(lb)
            self._notification.action_add("Remove",
                                          self._confirm_remove_cb,
                                          data=part)
            self._notification.action_add("Cancel",
                                          self._cancel_remove_cb,
                                          data=obj)
            self._notification.show()
Exemple #5
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 #6
0
    def _notify(self, message):
        self._notify_del()
        self._notification = elementary.Notify(self)
        self._notification.timeout_set(1)
        self._notification.orient_set(elementary.ELM_NOTIFY_ORIENT_BOTTOM)

        lb = elementary.Label(self)
        lb.text_set(message)
        self._notification.content_set(lb)
        lb.show()

        self._notification.show()
Exemple #7
0
    def __init__(self,
                 parent,
                 new_anim_cb=None,
                 anims_list_cb=None,
                 parts_list_cb=None):
        if not new_anim_cb or not anims_list_cb:
            raise TypeError("You must set callbacks for animations retrieval"
                            " and creation on NewAnimationWizard objects.")

        Wizard.__init__(self, parent)

        self.page_add("default",
                      "New Animation",
                      "Name the new animation to be created.",
                      separator=True)

        self._anim_name_entry = NameEntry(self,
                                          changed_cb=self._name_changed_cb,
                                          weight_hints=(evas.EVAS_HINT_EXPAND,
                                                        0.0),
                                          align_hints=(evas.EVAS_HINT_FILL,
                                                       0.5))
        self.content_add("default", self._anim_name_entry)
        self._anim_name_entry.show()

        lbl = elementary.Label(self)
        lbl.text_set("Select the parts to use in the animation."
                     " An empty selection will use all parts.")
        self.content_add("default", lbl)
        lbl.show()

        self._parts_list = elementary.List(self)
        self._parts_list.size_hint_weight_set(evas.EVAS_HINT_EXPAND,
                                              evas.EVAS_HINT_EXPAND)
        self._parts_list.size_hint_align_set(evas.EVAS_HINT_FILL,
                                             evas.EVAS_HINT_FILL)
        if parts_list_cb:
            for p in parts_list_cb():
                self._parts_list.item_append(p)
        self._parts_list.multi_select = True
        self._parts_list.go()
        self.content_add("default", self._parts_list)
        self._parts_list.show()

        self.alternate_background_set(True)

        self.action_add("default", "Cancel", self._cancel, key="Escape")
        self.action_add("default", "Add", self._add, key="Return")
        self.action_disabled_set("default", "Add", True)

        self._new_anim_cb = new_anim_cb
        self._anims_list_cb = anims_list_cb
Exemple #8
0
    def _notify(self, message):
        self._notify_del()
        self._notification = elementary.Notify(self)
        self._notification.timeout_set(2)
        self._notification.orient_set(
            elementary.ELM_NOTIFY_ORIENT_BOTTOM_RIGHT)

        bx = elementary.Box(self)
        bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
        bx.horizontal_set(True)
        self._notification.content_set(bx)
        bx.show()

        lb = elementary.Label(self)
        lb.text_set(message)
        bx.pack_end(lb)
        lb.show()

        self._notification.show()
Exemple #9
0
    def __init__(self, parent, orient=elementary.ELM_NOTIFY_ORIENT_BOTTOM):
        elementary.Notify.__init__(self, parent)
        self.timeout_set(-1)
        self.orient_set(orient)
        self.repeat_events_set(False)

        self._table = elementary.Box(parent)
        self._table.size_hint_weight_set(evas.EVAS_HINT_EXPAND,
                                         evas.EVAS_HINT_EXPAND)
        self.content_set(self._table)
        self._table.show()

        self._title = elementary.Label(self._table)
        self._table.pack_start(self._title)
        self.title = "TITLE"
        self._title.show()

        self._actions = ActionsBox(self._table)
        self._table.pack_end(self._actions)
        self._actions.show()
Exemple #10
0
def notify_show(bt, win, orient):
    notify = elementary.Notify(win)
    notify.repeat_events_set(False)
    notify.orient_set(orient)

    bx = elementary.Box(win)
    bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bx.horizontal_set(True)
    notify.content_set(bx)
    bx.show()

    lb = elementary.Label(win)
    lb.label_set("Text notification")
    bx.pack_end(lb)
    lb.show()

    bt = elementary.Button(win)
    bt.label_set("Close")
    bt.callback_clicked_add(notify_close, notify)
    bx.pack_end(bt)
    bt.show()
    notify.show()
Exemple #11
0
def cb_ctx_overlay_bubble(li, item, Map, lon, lat):
    item.widget_get().dismiss()

    ov = Map.overlay_add(lon, lat)
    bub = Map.overlay_bubble_add()
    bub.follow(ov)

    lb = elementary.Label(Map)
    lb.text = "You can push contents here"
    bub.content_append(lb)
    lb.show()

    ic = elementary.Icon(Map)
    ic.file_set("images/sky_01.jpg")
    ic.size_hint_min = (50, 50)
    bub.content_append(ic)
    ic.show()

    bt = elementary.Button(Map)
    bt.text = "clear me"
    bt.callback_clicked_add(lambda bt: bub.content_clear())
    bub.content_append(bt)
    bt.show()
Exemple #12
0
    bg = elementary.Background(win)
    win.resize_object_add(bg)
    bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bg.show()

    box0 = elementary.Box(win)
    box0.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    win.resize_object_add(box0)
    box0.show()

    fr = elementary.Frame(win)
    fr.text_set("Information")
    box0.pack_end(fr)
    fr.show()

    lb = elementary.Label(win)
    lb.text_set("Please select a test from the list below<br>"
                "by clicking the test button to show the<br>"
                "test window.")
    fr.content_set(lb)
    lb.show()

    items = [
        ("Bubble", bubble_clicked),
    ]

    li = elementary.List(win)
    li.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    li.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    box0.pack_end(li)
    li.show()
Exemple #13
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 #14
0
def notify_show(bt, win, orient):

    notify = elementary.Notify(win)
    notify.repeat_events_set(False)
    notify.orient_set(elementary.ELM_NOTIFY_ORIENT_CENTER)

    frame = elementary.Frame(win)
    frame.label_set("Graphiques")
    frame.show()

    notify.content_set(frame)

#    tb = elementary.Table(win)
    #tb.homogenous_set(True)
#    tb.show()
#    frame.content_set(tb)

    vbox = elementary.Box(win)
    vbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    vbox.show()
    frame.content_set(vbox)

    hbox = elementary.Box(win)
    hbox.horizontal_set(True)
    hbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    hbox.show()

    frame_data = elementary.Frame(win)
    frame_data.label_set("Données")
    frame_data.show()
    table_data = elementary.Table(win)
    table_data.show()
    frame_data.content_set(table_data)

    x_1 = 0
    y_1 = 0
    for log in LogType.objects.filter(id__gt=8).exclude(nom="maj_stats"):
        check = elementary.Check(win)
        check.label_set(log.description)
        check.callback_changed_add(add_check)
        check.show()
        table_data.pack(check, x_1, y_1, 1, 1)
        if x_1 > 2:
            x_1 = 0
            y_1 += 1
        else:
            x_1 += 1

    frame_type = elementary.Frame(win)
    frame_type.label_set("Type")
    frame_type.show()
    table_type = elementary.Table(win)
    table_type.show()
    frame_type.content_set(table_type)

    rd = elementary.Radio(win)
    rd.state_value_set(0)
    rd.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    rd.size_hint_align_set(evas.EVAS_HINT_FILL, 0.5)
    rd.label_set("entier")
    table_type.pack(rd, 0, 0, 1, 1)
    rd.show()
    rdg = rd

    rd = elementary.Radio(win)
    rd.state_value_set(1)
    rd.label_set("par mois")
    rd.group_add(rdg)
    table_type.pack(rd, 0, 1, 1, 1)
    rd.show()

    rd = elementary.Radio(win)
    rd.state_value_set(2)
    rd.group_add(rdg)
    rd.label_set("par semaine")
    table_type.pack(rd, 1, 0, 1, 1)
    rd.show()

    rd = elementary.Radio(win)
    rd.state_value_set(3)
    rd.group_add(rdg)
    rd.label_set("par année")
    table_type.pack(rd, 1, 1, 1, 1)
    rd.show()

    toggle = elementary.Toggle(win)
    toggle.label_set("Légende")
    toggle.states_labels_set("avec", "sans")
    toggle.show()
    toggle.state_set(True)
    table_type.pack(toggle, 0, 2, 2, 1)

    frame_interval = elementary.Frame(win)
    frame_interval.label_set("Interval")
    frame_interval.show()
    table_interval = elementary.Table(win)
    table_interval.show()
    frame_interval.content_set(table_interval)

    label = elementary.Label(win)
    label.label_set("Début:")
    label.show()
    table_interval.pack(label, 0, 0, 1, 1)

    button = elementary.Button(win)
    button.label_set("31")
    button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    button.show()
    table_interval.pack(button, 1, 0, 1, 1)

    button = elementary.Button(win)
    button.label_set("Janvier")
    button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    button.show()
    table_interval.pack(button, 2, 0, 1, 1)

    button = elementary.Button(win)
    button.label_set("2011")
    button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    button.show()
    table_interval.pack(button, 3, 0, 1, 1)

    label = elementary.Label(win)
    label.label_set("Fin:")
    label.show()
    table_interval.pack(label, 0, 1, 1, 1)

    button = elementary.Button(win)
    button.label_set("31")
    button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    button.show()
    table_interval.pack(button, 1, 1, 1, 1)

    button = elementary.Button(win)
    button.label_set("Décembre")
    button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    button.show()
    table_interval.pack(button, 2, 1, 1, 1)

    button = elementary.Button(win)
    button.label_set("2011")
    button.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    button.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    button.show()
    table_interval.pack(button, 3, 1, 1, 1)

    bt = elementary.Button(win)
    bt.label_set("Afficher")
    bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    bt.show()
    table_interval.pack(bt, 0, 2, 4, 1)

    hbox.pack_end(frame_data)
    hbox.pack_end(frame_type)
    hbox.pack_end(frame_interval)
    #tb.pack(frame_data, 0, 0, 3, 3)
    #tb.pack(frame_type, 3, 0, 2, 3)
    #tb.pack(frame_interval, 5, 0, 2, 3)

    vbox.pack_end(hbox)

#    frame_image = elementary.Frame(win)
#    frame_image.label_set("Interval")
#    frame_image.show()
#    table_interval = elementary.Table(win)
#    table_interval.show()
#    frame_interval.content_set(table_interval)

#    box_image = elementary.Box(win)
#    box_image.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
#    box_image.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    #win.resize_object_add(box0)
#    box_image.show()
#    frame_image.content_set(box_image)

#    bg = elementary.Background(win)
#    #frame_image.resize_object_add(bg)
#    bg.file_set("/tmp/ca_par_jour.png")
#    bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
#    bg.show()
#    frame_image.content_set(bg)

    image = elementary.Image(win)
#    #image.size_set(300, 500)
    #image.resize(600, 400)
    image.file_set("ca_par_jour.png")
#    #image.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_BOTH, 1, 1)
    image.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    image.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
#    #icon.scale_set(0, 0)
#    #win.resize_object_add(icon)
#    tb.pack(image, 0, 3, 7, 3)
    image.show()
    vbox.pack_end(image)
#    box_image.pack_end(image)

    #tb.pack(box_image, 0, 3, 7, 3)

    sp = elementary.Separator(win)
    sp.horizontal_set(True)
    sp.show()
    #tb.pack(sp, 0, 6, 7, 1)
    vbox.pack_end(sp)

    bt = elementary.Button(win)
    bt.label_set("Retour")
    bt.callback_clicked_add(notify_close, notify)
    bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    bt.show()
    #tb.pack(bt, 0, 7, 7, 1)
    vbox.pack_end(bt)

    notify.show()
Exemple #15
0
                          elementary.ELM_POLICY_QUIT_LAST_WINDOW_CLOSED)
    win = elementary.Window("Test", elementary.ELM_WIN_BASIC)
    win.title_set("Test")
    win.autodel_set(True)
    win.resize(800, 600)

    bg = elementary.Background(win)
    win.resize_object_add(bg)
    bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bg.show()

    win.show()

    nt = ErrorNotify(win)
    nt.title = "Testing popup"

    nt.action_add('XXX', None)
    nt.action_add('YYY', None)
    nt.action_add('ZZZ', None)
    nt.action_add('WWW', None)

    lb = elementary.Label(nt)
    lb.text_set("XXXXXXXXXXXXXX<br>XXXXXXXXXXX<br>XXXXXXXXXXXXXX<br>")
    lb.show()
    nt.pack_end(lb)

    nt.show()

    elementary.run()
    elementary.shutdown()
Exemple #16
0
        self._actions.action_add(label, func_cb, icon, data)

    def action_disabled_set(self, label, disabled):
        self._actions.action_disabled_set(label, disabled)

    def pack_end(self, obj):
        self._table.pack_before(obj, self._actions)


if __name__ == "__main__":
    elementary.init()
    elementary.policy_set(elementary.ELM_POLICY_QUIT,
                          elementary.ELM_POLICY_QUIT_LAST_WINDOW_CLOSED)

    pop = PopupWindow()

    pop.action_add('XXX', None)
    pop.action_add('YYY', None)
    pop.action_add('ZZZ', None)
    pop.action_add('WWW', None)

    lb = elementary.Label(pop)
    lb.text_set("XXXXXXXXXXXXXX<br>XXXXXXXXXXX<br>XXXXXXXXXXXXXX<br>")
    lb.show()
    pop.pack_end(lb)

    pop.show()

    elementary.run()
    elementary.shutdown()
Exemple #17
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 #18
0
def mapbuf_clicked(obj, item=None):
    global mb_list

    win = elementary.Window("mapbuf", elementary.ELM_WIN_BASIC)
    win.title_set("Mapbuf test")
    win.autodel_set(True)
    if obj is None:
        win.callback_delete_request_add(lambda o: elementary.exit())

    bg = elementary.Background(win)
    bg.file = "images/sky_04.jpg"
    win.resize_object_add(bg)
    bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bg.show()

    vbox = elementary.Box(win)
    vbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    vbox.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    win.resize_object_add(vbox)
    vbox.show()

    # launcher
    sc = elementary.Scroller(win)
    sc.bounce = (True, False)
    sc.policy = (elementary.ELM_SCROLLER_POLICY_OFF,
                 elementary.ELM_SCROLLER_POLICY_OFF)
    sc.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    sc.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    vbox.pack_end(sc)

    bx = elementary.Box(win)
    bx.horizontal = True
    bx.homogeneous = True
    bx.show()

    for k in range(8):
        tb = elementary.Table(win)
        tb.size_hint_align = (0.5, 0.5)
        tb.size_hint_weight = (0.0, 0.0)
        tb.show()

        pad = evas.Rectangle(win.evas)
        pad.color = (255, 255, 0, 255)
        pad.size_hint_min = (464, 4)
        pad.size_hint_weight = (0.0, 0.0)
        pad.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        pad.show()
        tb.pack(pad, 1, 0, 5, 1)

        pad = evas.Rectangle(win.evas)
        pad.color = (255, 255, 0, 255)
        pad.size_hint_min = (464, 4)
        pad.size_hint_weight = (0.0, 0.0)
        pad.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        pad.show()
        tb.pack(pad, 1, 11, 5, 1)

        pad = evas.Rectangle(win.evas)
        pad.color = (255, 255, 0, 255)
        pad.size_hint_min = (4, 4)
        pad.size_hint_weight = (0.0, 0.0)
        pad.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        pad.show()
        tb.pack(pad, 0, 1, 1, 10)

        pad = evas.Rectangle(win.evas)
        pad.color = (255, 255, 0, 255)
        pad.size_hint_min = (4, 4)
        pad.size_hint_weight = (0.0, 0.0)
        pad.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        pad.show()
        tb.pack(pad, 6, 1, 1, 10)

        mb = elementary.Mapbuf(win)
        mb_list.append(mb)
        mb.content = tb
        bx.pack_end(mb)
        mb.show()

        n = m = 0
        for j in range(5):
            for i in range(5):
                ic = elementary.Icon(win)
                ic.scale_set(0.5)
                ic.file_set("images/icon_%02d.png" % (n))
                ic.resizable_set(0, 0)
                ic.size_hint_weight_set(evas.EVAS_HINT_EXPAND,
                                        evas.EVAS_HINT_EXPAND)
                ic.size_hint_align_set(0.5, 0.5)
                tb.pack(ic, 1 + i, 1 + (j * 2), 1, 1)
                ic.show()

                lb = elementary.Label(win)
                lb.style = "marker"
                lb.text = names[m]
                tb.pack(lb, 1 + i, 1 + (j * 2) + 1, 1, 1)
                lb.show()

                n = n + 1 if n < 23 else 0
                m = m + 1 if m < 15 else 0

    sc.content = bx
    sc.page_relative_set(1.0, 1.0)
    sc.show()

    # controls
    hbox = elementary.Box(win)
    hbox.horizontal = True
    hbox.homogeneous = True
    hbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0)
    hbox.size_hint_align = (evas.EVAS_HINT_FILL, 0.0)
    vbox.pack_start(hbox)
    hbox.show()

    ck = elementary.Check(win)
    ck.text = "Map"
    ck.state = False
    ck.callback_changed_add(cb_ck_map)
    hbox.pack_end(ck)
    ck.show()

    ck = elementary.Check(win)
    ck.callback_changed_add(cb_ck_alpha)
    ck.text = "Alpha"
    ck.state = True
    hbox.pack_end(ck)
    ck.show()

    ck = elementary.Check(win)
    ck.callback_changed_add(cb_ck_smooth)
    ck.text = "Smooth"
    ck.state = True
    hbox.pack_end(ck)
    ck.show()

    ck = elementary.Check(win)
    ck.callback_changed_add(cb_ck_fs, win)
    ck.text = "FS"
    ck.state = False
    hbox.pack_end(ck)
    ck.show()

    bt = elementary.Button(win)
    bt.text = "Close"
    bt.callback_clicked_add(cb_btn_close, win)
    bt.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    bt.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0)
    hbox.pack_end(bt)
    bt.show()

    win.resize(480, 800)
    win.show()
Exemple #19
0
def bubble_clicked(obj, item=None):
    win = elementary.Window("bubble", elementary.ELM_WIN_BASIC)
    win.title_set("Bubble")
    win.autodel_set(True)

    bg = elementary.Background(win)
    win.resize_object_add(bg)
    bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bg.show()

    bx = elementary.Box(win)
    win.resize_object_add(bx)
    bx.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bx.show()

    # bb 1
    ic = elementary.Icon(win)
    ic.file_set("images/logo_small.png")
    ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)

    lb = elementary.Label(win)
    lb.text_set("Blah, Blah, Blah")

    bb = elementary.Bubble(win)
    bb.text_set("Message 1")
    bb.part_text_set("info", "Corner: top_left")
    bb.content_set(lb)
    bb.part_content_set("icon", ic)
    bb.pos = elementary.ELM_BUBBLE_POS_TOP_LEFT
    bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    bx.pack_end(bb)
    bb.show()

    # bb 2
    ic = elementary.Icon(win)
    ic.file_set("images/logo_small.png")
    ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)

    lb = elementary.Label(win)
    lb.text_set("Blah, Blah, Blah")

    bb = elementary.Bubble(win)
    bb.text_set("Message 2")
    bb.part_text_set("info", "Corner: top_right")
    bb.content_set(lb)
    bb.part_content_set("icon", ic)
    bb.pos = elementary.ELM_BUBBLE_POS_TOP_RIGHT
    bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    bx.pack_end(bb)
    bb.show()

    # bb 3
    ic = elementary.Icon(win)
    ic.file_set("images/logo_small.png")
    ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)

    lb = elementary.Label(win)
    lb.text_set("Blah, Blah, Blah")

    bb = elementary.Bubble(win)
    bb.text_set("Message 3")
    bb.part_text_set("info", "Corner: bottom_left")
    bb.content_set(ic)
    bb.pos = elementary.ELM_BUBBLE_POS_BOTTOM_LEFT
    bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    bx.pack_end(bb)
    bb.show()

    # bb 4
    ic = elementary.Icon(win)
    ic.file_set("images/logo_small.png")
    ic.size_hint_aspect_set(evas.EVAS_ASPECT_CONTROL_VERTICAL, 1, 1)

    lb = elementary.Label(win)
    lb.text_set("Blah, Blah, Blah")

    bb = elementary.Bubble(win)
    bb.text_set("Message 4")
    bb.part_text_set("info", "Corner: bottom_right")
    bb.content_set(lb)
    bb.part_content_set("icon", ic)
    bb.pos = elementary.ELM_BUBBLE_POS_BOTTOM_RIGHT
    bb.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bb.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    bx.pack_end(bb)
    bb.show()

    win.resize(320, 320)
    win.show()
Exemple #20
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 #21
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 #22
0
def label_clicked(obj):
    win = elementary.Window("label", elementary.ELM_WIN_BASIC)
    win.title = "Label test"
    win.autodel = True
    if obj is None:
        win.callback_delete_request_add(lambda o: elementary.exit())

    bg = elementary.Background(win)
    win.resize_object_add(bg)
    bg.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    bg.show()

    vbox = elementary.Box(win)
    vbox.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    vbox.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    win.resize_object_add(vbox)
    vbox.show()

    lb = elementary.Label(win)
    lb.text = "<b>This is a small label</b>"
    lb.size_hint_align = (0.0, 0.5)
    vbox.pack_end(lb)
    lb.show()

    lb = elementary.Label(win)
    lb.text = "This is a larger label with newlines<br/>" \
              "to make it bigger, bit it won't expand or wrap<br/>" \
              "just be a block of text that can't change its<br/>" \
              "formatting as it's fixed based on text<br/>"
    lb.size_hint_align = (0.0, 0.5)
    vbox.pack_end(lb)
    lb.show()

    lb = elementary.Label(win)
    lb.line_wrap_set(elementary.ELM_WRAP_CHAR)
    lb.text =  "<b>This is more text designed to line-wrap here as " \
               "This object is resized horizontally. As it is " \
               "resized vertically though, nothing should change. " \
               "The amount of space allocated vertically should " \
               "change as horizontal size changes.</b>"
    lb.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0)
    lb.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    vbox.pack_end(lb)
    lb.show()

    lb = elementary.Label(win)
    lb.text = "This small label set to wrap"
    lb.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0)
    lb.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    vbox.pack_end(lb)
    lb.show()

    sp = elementary.Separator(win)
    sp.horizontal = True
    vbox.pack_end(sp)
    sp.show()

    gd = elementary.Grid(win)
    gd.size = (100, 100)
    gd.size_hint_weight = (evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    gd.size_hint_align = (evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    vbox.pack_end(gd)
    gd.show()

    lb = elementary.Label(win)
    lb.text = "Test Label Ellipsis:"
    lb.size_hint_align = (0.0, 0.5)
    gd.pack(lb, 5, 5, 90, 15)
    lb.show()

    rect = evas.Rectangle(win.evas)
    rect.color = (255, 125, 125, 255)
    gd.pack(rect, 5, 15, 90, 15)
    rect.show()

    lb = elementary.Label(win)
    lb.text = "This is a label set to ellipsis. " \
              "If set ellipsis to true and the text doesn't fit " \
              "in the label an ellipsis(\"...\") will be shown " \
              "at the end of the widget."
    lb.ellipsis = True
    lb.size_hint_align = (0.0, 0.5)
    gd.pack(lb, 5, 15, 90, 15)
    lb.show()

    lb = elementary.Label(win)
    lb.text = "Test Label Slide:"
    lb.size_hint_align = (0.0, 0.5)
    gd.pack(lb, 5, 40, 90, 15)
    lb.show()

    rect = evas.Rectangle(win.evas)
    rect.color = (255, 125, 125, 255)
    gd.pack(rect, 5, 50, 90, 15)
    rect.show()

    lb = elementary.Label(win)
    lb.text = "This is a label set to slide. " \
              "If set slide to true the text of the label " \
              "will slide/scroll through the length of label." \
              "This only works with the themes \"slide_short\", " \
              "\"slide_long\" and \"slide_bounce\"."
    lb.slide = True
    lb.style = ("slide_short")
    lb.size_hint_align = (0.0, 0.5)
    gd.pack(lb, 5, 50, 90, 15)
    lb.show()

    rd = elementary.Radio(win)
    rd.state_value = 1
    rd.text = "slide_short"
    gd.pack(rd, 5, 65, 30, 15)
    rd.callback_changed_add(cb_slide_radio, lb)
    rd.show()
    rdg = rd

    rd = elementary.Radio(win)
    rd.group_add(rdg)
    rd.state_value = 2
    rd.text = "slide_long"
    gd.pack(rd, 35, 65, 30, 15)
    rd.callback_changed_add(cb_slide_radio, lb)
    rd.show()

    rd = elementary.Radio(win)
    rd.group_add(rdg)
    rd.state_value = 3
    rd.text = "slide_bounce"
    gd.pack(rd, 65, 65, 30, 15)
    rd.callback_changed_add(cb_slide_radio, lb)
    rd.show()

    sl = elementary.Slider(win)
    sl.text = "Slide Duration"
    sl.unit_format = "%1.1f units"
    sl.min_max = (1, 20)
    sl.value = 10
    sl.size_hint_align = (evas.EVAS_HINT_FILL, 0.5)
    sl.size_hint_weight = (evas.EVAS_HINT_EXPAND, 0.0)
    sl.callback_changed_add(cb_slider_duration, lb)
    gd.pack(sl, 5, 80, 90, 15)
    sl.show()

    win.resize(280, 400)
    win.show()
Exemple #23
0
    def __init__(self, p):
        self.parent = p
        self.petid = -1
        elementary.init()
        self.win = elementary.Window('geekogotchi', elementary.ELM_WIN_BASIC)
        self.win.title_set('Geekogotchi')
        bg = elementary.Background(self.win)
        bg.show()
        self.win.resize_object_add(bg)
        self.win.callback_destroy_add(self.windowClose)
        frame = elementary.Frame(self.win)
        box = elementary.Box(self.win)
        frame.content_set(box)
        frame.show()
        self.win.resize_object_add(frame)
        box.show()

        self.age = elementary.Label(self.win)
        box.pack_start(self.age)
        self.age.show()

        self.state = elementary.Label(self.win)
        box.pack_end(self.state)
        self.state.show()

        self.values = elementary.Box(self.win)
        self.values.show()
        box.pack_end(self.values)

        self.health = elementary.Label(self.win)
        self.values.pack_end(self.health)
        self.health.show()

        self.hungry = elementary.Label(self.win)
        self.values.pack_end(self.hungry)
        self.hungry.show()

        self.happy = elementary.Label(self.win)
        self.values.pack_end(self.happy)
        self.happy.show()

        self.buttons = elementary.Box(self.win)
        self.buttons.horizontal_set(True)
        self.buttons.homogenous_set(True)
        box.pack_end(self.buttons)
        self.buttons.show()

        self.feed = elementary.Button(self.win)
        self.feed.label_set('Feed')
        self.feed._callback_add('clicked', self.feedPet)
        self.buttons.pack_end(self.feed)
        self.feed.show()

        self.heal = elementary.Button(self.win)
        self.heal.label_set('Heal')
        self.heal._callback_add('clicked', self.healPet)
        self.buttons.pack_end(self.heal)
        self.heal.show()

        self.play = elementary.Button(self.win)
        self.play.label_set('Play')
        self.play._callback_add('clicked', self.playWithPet)
        self.buttons.pack_end(self.play)
        self.play.show()

        self.remove = elementary.Button(self.win)
        self.remove.label_set('Remove')
        self.remove._callback_add('clicked', self.removePet)
        box.pack_end(self.remove)
Exemple #24
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()