Пример #1
0
 def _mostra_preferit_cb(self, column, renderer, model, it):
     # la fila de grups seleccionats no es pot marcar com a preferida
     fixed = self.es_fila_grups_seleccionats(it)
     horari = model.get_value(it, 0)
     renderer.set_property('active', not fixed and domini.es_horari_preferit(horari))
     renderer.set_property('activatable', not fixed)
     renderer.set_property('sensitive', not fixed)
Пример #2
0
    def actualitza(self, widget=None, horaris=[]):
        grups_seleccionats = self.get_model()[self._fila_grups_sel.get_path()][0]

        # ¿¿ redefineix model en comptes d'obtenir-lo amb self.get_model() ??
        model = gtk.ListStore(object, bool, int, int, int, int, int, bool)
        # utilitzem una funcio de comparació per a ordenar cada columna
        for i in range(0, 7):
            model.set_sort_func(i, self._cmp_horaris_cb, i)

        path_sel = None

        for h in domini.horaris_preferits():
            it = model.append([h.grups(), True, h.hores, h.hores_mati,
                h.hores_tarda, h.solapaments, h.fragments, False])
            if not path_sel and h.grups() == grups_seleccionats:
                path_sel = model.get_path(it)

        for h in horaris:
            if not domini.es_horari_preferit(h.grups()):
                it = model.append([h.grups(), False, h.hores, h.hores_mati,
                    h.hores_tarda, h.solapaments, h.fragments, False])
                if not path_sel and h.grups() == grups_seleccionats:
                    path_sel = model.get_path(it)
                    model.set_value(it, 7, True)

        self._mantenir_sel = path_sel is not None

        if not path_sel:
            h = Horari(grups_seleccionats)
            it = model.insert(0, [h.grups(), False, h.hores, h.hores_mati,
                h.hores_tarda, h.solapaments, h.fragments, True])
            path_sel = model.get_path(it)

        self.set_model(model)
        self._fila_grups_sel = gtk.TreeRowReference(model, path_sel)
        self.set_cursor(path_sel)
        self.columns_autosize()