Пример #1
0
    def _set_label(self, item):
        if isinstance(item, (dict)):
            label = item.get("text", pango.parse_markup(item.get("markup", ""), -1, "0")[2])
        else:
            label = item

        if label == self.label:
            return #have it already!

        idx = self.listitem.find(label)

        if idx != -1:
            ToggleButton.__setattr__(self, 'label', label)

            # mark current row
            if not self.listitem.current_row or self.listitem.current_row[0] != self.label:
                self.listitem.select(self.listitem.rows[idx])

            self.emit("on-change", item)
Пример #2
0
    def __setattr__(self, name, val):
        if name == "label":
            self._set_label(val)
            return

        if name == "rows":
            self.listitem.rows = val
            if val and hasattr(self, "label"):
                if self.label in val:
                    self.listitem.select(self.listitem.rows[self.listitem.find(self.label)])
                else:
                    self._set_label(val[0])

            # make sure we get pointer to the listitems treemodel
            ToggleButton.__setattr__(self, name, self.listitem.rows)
            return

        ToggleButton.__setattr__(self, name, val)
        if name == "drop_mark_width":
            self.padding_right = val
Пример #3
0
    def __setattr__(self, name, val):
        if name == "label":
            self._set_label(val)
            return

        if name == "rows":
            self.listitem.rows = val
            if val and hasattr(self, "label"):
                if self.label in val:
                    self.listitem.select(self.listitem.rows[self.listitem.find(
                        self.label)])
                else:
                    self._set_label(val[0])

            # make sure we get pointer to the listitems treemodel
            ToggleButton.__setattr__(self, name, self.listitem.rows)
            return

        ToggleButton.__setattr__(self, name, val)
        if name == "drop_mark_width":
            self.padding_right = val
Пример #4
0
    def _set_label(self, item):
        if isinstance(item, (dict)):
            label = item.get(
                "text",
                pango.parse_markup(item.get("markup", ""), -1, "0")[2])
        else:
            label = item

        if label == self.label:
            return  #have it already!

        idx = self.listitem.find(label)

        if idx != -1:
            ToggleButton.__setattr__(self, 'label', label)

            # mark current row
            if not self.listitem.current_row or self.listitem.current_row[
                    0] != self.label:
                self.listitem.select(self.listitem.rows[idx])

            self.emit("on-change", item)