Пример #1
0
Файл: gui.py Проект: vmx/paroli
 def __init__(self, win, edje_file, group, x=1.0, y=1.0):
     self.elm_obj = elementary.Layout(win.elm_obj)
     self.elm_obj.file_set(edje_file, group)
     self.add_callback("*", "main_command", self.relay)
     self.edje = self.elm_obj.edje_get()
     self.edje.show()
     self.elm_obj.show()
Пример #2
0
 def add_contact(self, uid):
     new_contact = elementary.Layout(self)
     new_contact.file_set(THEME_FILE, "contact_item")
     new_contact.data['uid'] = uid
     new_contact.data['on_click'] = None
     self.contacts_list.append(new_contact)
     self.contacts_dict[uid] = new_contact
     self.pack_end(new_contact)
     new_contact.size_hint_min_set(26, 26)
     new_contact.size_hint_weight_set(1.0, 1.0)
     new_contact.size_hint_align_set(-1.0, -1.0)
     print new_contact.size_hint_min_get()
Пример #3
0
 def add_contact(self, uid):
     new_contact = elementary.Layout(self)
     new_contact.file_set(THEME_FILE, "amsn2/contact_item")
     new_contact.data['uid'] = uid
     new_contact.data['on_click'] = None
     self.contacts_list.append(new_contact)
     self.contacts_dict[uid] = new_contact
     self.pack_end(new_contact)
     new_contact.size_hint_weight_set(evas.EVAS_HINT_EXPAND,
                                      evas.EVAS_HINT_EXPAND)
     new_contact.size_hint_align_set(evas.EVAS_HINT_FILL,
                                     evas.EVAS_HINT_FILL)
Пример #4
0
def edje_external_scroller_clicked(obj):
    win = elementary.Window("edje-external-scroller", elementary.ELM_WIN_BASIC)
    win.title_set("Edje External Scroller")
    win.autodel_set(True)
    if obj is None:
        win.callback_delete_request_add(lambda o: elementary.exit())

    ly = elementary.Layout(win)
    ly.file_set("test_external.edj", "external/scroller")
    ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    win.resize_object_add(ly)
    ly.show()

    win.resize(320, 400)
    win.show()
Пример #5
0
def edje_external_pbar_clicked(obj):
    win = elementary.Window("edje-external-pbar", elementary.ELM_WIN_BASIC)
    win.title_set("Edje External Progress Bar")
    win.autodel_set(True)
    if obj is None:
        win.callback_delete_request_add(lambda o: elementary.exit())

    ly = elementary.Layout(win)
    ly.file_set("test_external.edj", "external/pbar")
    ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    win.resize_object_add(ly)
    ly.show()

    bt = ly.edje_get().part_external_object_get("ext_button3")
    bt.text = "...or Pyton"
    bt.callback_clicked_add(cb_btn3_clicked, ly)

    win.resize(320, 400)
    win.show()
Пример #6
0
    def __init__(self, parent, name):
        self._name = name
        self._parent = parent

        lbl = elementary.Layout(self._parent)
        lbl.file_set(self._parent.themeext, "prop_label")
        ed = lbl.edje_get()

        ed.part_text_set("label", self._name.replace("_", " ") + ":")
        self._label_obj = lbl
        self._label_obj.size_hint_weight_set(0.0, 0.0)
        self._label_obj.size_hint_align_set(1.0, 0.5)
        self._label_obj.size_hint_min_set(*ed.size_min_calc())

        self._value_obj = ValueBox(self._parent)
        self._value_obj.size_hint_weight_set(1.0, 0.0)
        self._value_obj.size_hint_align_set(-1.0, -1.0)

        self._change_notifier_cb = None
        self._change_notifier_data = None
Пример #7
0
    def group_add(self, name):
        if name in self._subgroups:
            raise KeyError(name)

        tbl = PropertyTable(self._parent, name, self.prop_value_changed)
        tbl.show()
        frm = elementary.Layout(self._parent)

        frm.file_set(self._parent.themeext, "subgroup")
        frm.edje_get().part_text_set("title.label", name)
        frm.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
        frm.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
        frm.content_set("content", tbl)
        frm.show()
        self._box.pack_end(frm)

        grp = dict()
        grp["table"] = tbl
        grp["frame"] = frm
        self._subgroups[name] = grp
Пример #8
0
def layout_clicked(obj):
    win = elementary.Window("layout", elementary.ELM_WIN_BASIC)
    win.title_set("Layout")
    win.elm_event_callback_add(_event)
    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()

    ly = elementary.Layout(win)
    ly.file_set("test.edj", "layout")
    ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    win.resize_object_add(ly)
    ly.show()

    bt = elementary.Button(win)
    bt.text_set("Button 1")
    ly.part_content_set("element1", bt)
    bt.elm_event_callback_add(_event)
    bt.elm_event_callback_del(_event)
    bt.show()

    bt = elementary.Button(win)
    bt.text_set("Button 2")
    ly.part_content_set("element2", bt)
    bt.show()

    bt = elementary.Button(win)
    bt.text_set("Button 3")
    ly.part_content_set("element3", bt)
    bt.show()

    win.show()
Пример #9
0
    def __init__(self, amsn_core):
        self._amsn_core = amsn_core
        elementary.Window.__init__(self, "aMSN", elementary.ELM_WIN_BASIC)
        self.resize(WIDTH, HEIGHT)
        self.on_key_down_add(self._on_key_down)
        self.fullscreen = False
        self.name_class_set = (WM_NAME, WM_CLASS)

        self._bg = elementary.Background(self)
        self.resize_object_add(self._bg)
        self._bg.size_hint_weight_set(evas.EVAS_HINT_EXPAND,
                                      evas.EVAS_HINT_EXPAND)
        self._bg.show()

        self._ly = elementary.Layout(self)
        self._ly.file_set(THEME_FILE, "amsn2/win")
        self.resize_object_add(self._ly)
        self._ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND,
                                      evas.EVAS_HINT_EXPAND)
        self._ly.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        self._edje = self._ly.edje_get()
        self._ly.show()

        self._tb = None
Пример #10
0
    def _redraw_view(self, *args, **kargs):
        #logger.info("list redrawing")
        if self.Elm_win.elm_obj.is_deleted() == True:
            self._remove_cb()
        else:
            self.sort()
            if self.box.elm_obj.is_deleted() == False:
                self.box.elm_obj.delete()
            self.box = elm_box(self.Elm_win.elm_obj)
            self.items = []
            self.letter_index = {}
            #self.model.sort()
            for item in self.model:
                if self.Elm_win.elm_obj.is_deleted() == True:
                    logger.info(str(self.model))
                    logger.info("window deleted")
                ly = elementary.Layout(self.Elm_win.elm_obj)
                ly.file_set(self.EdjeFile, self.EdjeGroup)
                edje_obj = ly.edje_get()
                for part, attribute in self.label_list:
                    if hasattr(item, attribute):
                        value = getattr(item, attribute)
                        if (isinstance(value, str) and not len(value)) or\
                           value == None:
                            value = " "  #bugfix for empty name
                        if self.LetterDict:
                            if self.label_list.index((part, attribute)) == 0:
                                letter = value[0]
                                letter = letter.lower()
                                if self.letter_index.has_key(letter) == False:
                                    self.letter_index[
                                        letter] = self.model.index(item)

                        if isinstance(value, tichy.Item):
                            value = unicode(value.get_text())
                        elif isinstance(value, tichy.Text):
                            value = value.value

                        txt = unicode(value).encode('utf-8')
                        edje_obj.part_text_set(part, txt)
                    else:
                        logger.info(" %s doesn't have attribute %s", str(item),
                                    str(attribute))

                ##check for optional display elements
                if edje_obj.data_get('attribute1') != None:
                    attribute = edje_obj.data_get('attribute1')
                    if edje_obj.data_get('attribute2') != None:
                        item_cp = getattr(item, attribute)
                        attribute = edje_obj.data_get('attribute2')
                    else:
                        item_cp = item
                    if edje_obj.data_get('value') == 'None':
                        value = None
                    else:
                        value = edje_obj.data_get('value')
                    signal = edje_obj.data_get('signal')
                    if attribute[-2] == "(":
                        test = getattr(item_cp, attribute[:-2])()
                    else:
                        test = getattr(item_cp, attribute)
                    if test == value:
                        edje_obj.signal_emit(signal, '*')

                ly.size_hint_min_set(470, 96)
                self.box.elm_obj.pack_end(ly)
                ly.show()
                self.items.append([item, edje_obj, ly])
                edje_obj.signal_callback_add("*", "list_command",
                                             self.signal_send_others,
                                             [item, edje_obj, ly])

            self.parent.scroller.elm_obj.content_set(self.box.elm_obj)
            self.box.elm_obj.show()

            self.parent.scroller.elm_obj.show()

            self._renew_callbacks()
Пример #11
0
    def __position_init(self):
        fr = elementary.Frame(self)
        fr.text_set("Position")
        fr.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
        fr.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        self.pack_end(fr)
        fr.show()

        ly = elementary.Layout(fr)
        ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
        ly.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        ly.file_set(sysconfig.theme_file_get("default"), "editje/position")
        fr.content_set(ly)
        ly.show()

        rdg = elementary.Radio(ly)
        rdg.state_value_set(0)
        ly.content_set("internal.middle", rdg)
        rdg.show()
        self.__position = rdg

        rd = elementary.Radio(ly)
        rd.state_value_set(1)
        rd.group_add(rdg)
        ly.content_set("external.top_left", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(2)
        rd.group_add(rdg)
        ly.content_set("external.top", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(3)
        rd.group_add(rdg)
        ly.content_set("external.top_right", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(4)
        rd.group_add(rdg)
        ly.content_set("external.left", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(5)
        rd.group_add(rdg)
        ly.content_set("external.right", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(6)
        rd.group_add(rdg)
        ly.content_set("external.bottom_left", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(7)
        rd.group_add(rdg)
        ly.content_set("external.bottom", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(8)
        rd.group_add(rdg)
        ly.content_set("external.bottom_right", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(9)
        rd.group_add(rdg)
        ly.content_set("internal.top_left", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(10)
        rd.group_add(rdg)
        ly.content_set("internal.top", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(11)
        rd.group_add(rdg)
        ly.content_set("internal.top_right", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(12)
        rd.group_add(rdg)
        ly.content_set("internal.left", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(13)
        rd.group_add(rdg)
        ly.content_set("internal.right", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(14)
        rd.group_add(rdg)
        ly.content_set("internal.bottom_left", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(15)
        rd.group_add(rdg)
        ly.content_set("internal.bottom", rd)
        rd.show()

        rd = elementary.Radio(ly)
        rd.state_value_set(16)
        rd.group_add(rdg)
        ly.content_set("internal.bottom_right", rd)
        rd.show()
Пример #12
0
def flip_clicked(obj, item=None):
    # window
    win = elementary.Window("flip", elementary.ELM_WIN_BASIC)
    win.autodel_set(True)
    win.title_set("Flip")

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

    # main vertical box
    box = elementary.Box(win)
    box.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    win.resize_object_add(box)
    box.show()

    # flip object
    fl = elementary.Flip(win)
    fl.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    fl.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    fl.callback_animate_begin_add(my_flip_animate_begin)
    fl.callback_animate_done_add(my_flip_animate_done)
    box.pack_end(fl)
    fl.show()

    # front content (image)
    o = elementary.Background(win)
    o.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    o.file_set("images/sky_01.jpg")
    fl.part_content_set("front", o)
    o.show()

    # back content (layout)
    ly = elementary.Layout(win)
    ly.file_set("test.edj", "layout")
    ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    fl.part_content_set("back", ly)
    ly.show()

    bt = elementary.Button(win)
    bt.text_set("Button 1")
    ly.part_content_set("element1", bt)
    bt.show()

    bt = elementary.Button(win)
    bt.text_set("Button 2")
    ly.part_content_set("element2", bt)
    bt.show()

    bt = elementary.Button(win)
    bt.text_set("Button 3")
    ly.part_content_set("element3", bt)
    bt.show()

    # flip buttons (first row)
    hbox = elementary.Box(win)
    hbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    hbox.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
    hbox.horizontal_set(True)
    hbox.show()
    box.pack_end(hbox)
    count = 1

    for mode in [
            elementary.ELM_FLIP_ROTATE_X_CENTER_AXIS,
            elementary.ELM_FLIP_ROTATE_Y_CENTER_AXIS,
            elementary.ELM_FLIP_ROTATE_XZ_CENTER_AXIS,
            elementary.ELM_FLIP_ROTATE_YZ_CENTER_AXIS
    ]:
        bt = elementary.Button(win)
        bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
        bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        bt.text_set(str(count))
        bt.callback_clicked_add(my_flip_go, fl, mode)
        hbox.pack_end(bt)
        bt.show()
        count += 1

    # flip buttons (second row)
    hbox = elementary.Box(win)
    hbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    hbox.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
    hbox.horizontal_set(True)
    hbox.show()
    box.pack_end(hbox)

    for mode in [
            elementary.ELM_FLIP_CUBE_LEFT, elementary.ELM_FLIP_CUBE_RIGHT,
            elementary.ELM_FLIP_CUBE_UP, elementary.ELM_FLIP_CUBE_DOWN
    ]:
        bt = elementary.Button(win)
        bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
        bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        bt.text_set(str(count))
        bt.callback_clicked_add(my_flip_go, fl, mode)
        hbox.pack_end(bt)
        bt.show()
        count += 1

    # flip buttons (third row)
    hbox = elementary.Box(win)
    hbox.size_hint_weight_set(evas.EVAS_HINT_EXPAND, 0.0)
    hbox.size_hint_align_set(evas.EVAS_HINT_FILL, 0.0)
    hbox.horizontal_set(True)
    hbox.show()
    box.pack_end(hbox)

    for mode in [
            elementary.ELM_FLIP_PAGE_LEFT, elementary.ELM_FLIP_PAGE_RIGHT,
            elementary.ELM_FLIP_PAGE_UP, elementary.ELM_FLIP_PAGE_DOWN
    ]:
        bt = elementary.Button(win)
        bt.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
        bt.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
        bt.text_set(str(count))
        bt.callback_clicked_add(my_flip_go, fl, mode)
        hbox.pack_end(bt)
        bt.show()
        count += 1

    # window show
    win.resize(320, 320)
    win.show()
Пример #13
0
def flip_interactive_clicked(obj, item=None):
    # window
    win = elementary.Window("flip", elementary.ELM_WIN_BASIC)
    win.autodel_set(True)
    win.title_set("Flip")

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

    # main vertical box
    box = elementary.Box(win)
    box.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    win.resize_object_add(box)
    box.show()

    # flip object
    fl = elementary.Flip(win)
    fl.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    fl.size_hint_align_set(evas.EVAS_HINT_FILL, evas.EVAS_HINT_FILL)
    fl.interaction_set(elementary.ELM_FLIP_INTERACTION_NONE)
    fl.interaction_direction_enabled_set(elementary.ELM_FLIP_DIRECTION_UP,
                                         True)
    fl.interaction_direction_enabled_set(elementary.ELM_FLIP_DIRECTION_DOWN,
                                         True)
    fl.interaction_direction_enabled_set(elementary.ELM_FLIP_DIRECTION_LEFT,
                                         True)
    fl.interaction_direction_enabled_set(elementary.ELM_FLIP_DIRECTION_RIGHT,
                                         True)
    fl.interaction_direction_hitsize_set(elementary.ELM_FLIP_DIRECTION_UP,
                                         0.25)
    fl.interaction_direction_hitsize_set(elementary.ELM_FLIP_DIRECTION_DOWN,
                                         0.25)
    fl.interaction_direction_hitsize_set(elementary.ELM_FLIP_DIRECTION_LEFT,
                                         0.25)
    fl.interaction_direction_hitsize_set(elementary.ELM_FLIP_DIRECTION_RIGHT,
                                         0.25)
    fl.callback_animate_begin_add(my_flip_animate_begin)
    fl.callback_animate_done_add(my_flip_animate_done)
    box.pack_end(fl)
    fl.show()

    # front content (image)
    o = elementary.Background(win)
    o.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    o.file_set("images/sky_01.jpg")
    fl.part_content_set("front", o)
    o.show()

    # back content (layout)
    ly = elementary.Layout(win)
    ly.file_set("test.edj", "layout")
    ly.size_hint_weight_set(evas.EVAS_HINT_EXPAND, evas.EVAS_HINT_EXPAND)
    fl.part_content_set("back", ly)
    ly.show()

    bt = elementary.Button(win)
    bt.text_set("Button 1")
    ly.part_content_set("element1", bt)
    bt.show()

    bt = elementary.Button(win)
    bt.text_set("Button 2")
    ly.part_content_set("element2", bt)
    bt.show()

    bt = elementary.Button(win)
    bt.text_set("Button 3")
    ly.part_content_set("element3", bt)
    bt.show()

    # radio buttons
    rd = elementary.Radio(win)
    rd.state_value_set(elementary.ELM_FLIP_INTERACTION_NONE)
    rd.text_set("None")
    rd.callback_changed_add(my_cb_radios, fl)
    box.pack_end(rd)
    rd.show()
    rdg = rd

    rd = elementary.Radio(win)
    rd.state_value_set(elementary.ELM_FLIP_INTERACTION_ROTATE)
    rd.text_set("Rotate")
    rd.callback_changed_add(my_cb_radios, fl)
    rd.group_add(rdg)
    box.pack_end(rd)
    rd.show()

    rd = elementary.Radio(win)
    rd.state_value_set(elementary.ELM_FLIP_INTERACTION_CUBE)
    rd.text_set("Cube")
    rd.callback_changed_add(my_cb_radios, fl)
    rd.group_add(rdg)
    box.pack_end(rd)
    rd.show()

    rd = elementary.Radio(win)
    rd.state_value_set(elementary.ELM_FLIP_INTERACTION_PAGE)
    rd.text_set("Page")
    rd.callback_changed_add(my_cb_radios, fl)
    rd.group_add(rdg)
    box.pack_end(rd)
    rd.show()

    # window show
    win.resize(320, 320)
    win.show()