Closed GoogleCodeExporter closed 9 years ago
Original comment by manat...@gmail.com
on 6 Jan 2009 at 8:52
bingo ! you're right !
in the normal way, you can't (couldn't) select a tag in a disabled category !
you find a good bug !
Original comment by manat...@gmail.com
on 6 Jan 2009 at 4:49
corrected since rev 138
Original comment by manat...@gmail.com
on 6 Jan 2009 at 5:03
There is still a little problem. If you disable the category "Tags" (the main
category) to find all pictures without any tag, some tagged pictures appears.
But, I've just tried the new version and I find it really annoying not to be
able to
select a tag in a disabled category. To find a picture with only "Brad Pitt",
it is
very annoying to disable manually every people in the category.
Original comment by gautier....@gmail.com
on 7 Jan 2009 at 5:16
re-open the bug
Original comment by manat...@gmail.com
on 7 Jan 2009 at 7:29
Youhou!
I've made my first python
here is a way to correct the problem, it replace the commands
switch_inc
switch_exc
__switchchildren
and add a function __switchParents
the function isSwitchDisabled has no utility so you have to remove both lines :
if not model.isSwitchDisabled(iterTo):
sorry comments are in french
the complete jbrout.py is attached
# 0 = rien
# 1 = vert
# 2 = rouge
# 3 = gris (signfifie mix de rouge et de vert ou de rien) pour les childrens
def switch_inc(self,it):
if self.get_value(it,3) == 0: # si ce n'est pas coché
self.set_value(it,3,1) # on coche en vert
elif self.get_value(it,3) == 1: # si c'est vert
self.set_value(it,3,0) # on décoche
elif self.get_value(it,3) == 2: # si c'est rouge
self.set_value(it,3,1) # on coche en vert
else: # si c'est grisé (cause sélections childrens)
self.set_value(it,3,0) # on coche en vert
self.__switchChilds(it)
self.__switchParents(it)
def switch_exc(self,it):
if self.get_value(it,3) == 0: # si ce n'est pas coché
self.set_value(it,3,2) # on coche en rouge
elif self.get_value(it,3) == 1: # si c'est vert
self.set_value(it,3,2) # on coche en rouge
elif self.get_value(it,3) == 2: # si c'est rouge
self.set_value(it,3,0) # on décoche
else: # si c'est grisé (cause sélections childrens)
self.set_value(it,3,2) # on coche en rouge
self.__switchChilds(it)
self.__switchParents(it)
def __switchChilds(self,it):
node = self.get_value(it,1)
if node.__class__.__name__ == "CatgNode":
ii=self.iter_children(it)
while ii:
if self.get_value(it,3)==0: # si on vient de décocher le parent
self.set_value(ii,3,0) # on décoche l'enfant
self.__switchChilds(ii) # et ses enfants...
elif self.get_value(it,3)==1: #si on vient de cocher en vert le
parent
self.set_value(ii,3,1) # on coche en vert l'enfant
self.__switchChilds(ii) # et ses enfants
else: #si on vient de cocher en rouge le parent
self.set_value(ii,3,2) # on coche en rouge l'enfant
self.__switchChilds(ii) # et ses enfants
ii = self.iter_next(ii)
def __switchParents(self,it):
child_mixed_color=self.get_value(it,3) #couleur en l'ensemble des
enfants (ici initialisation)
node = self.get_value(it,1)
ii=self.iter_parent(it)
if ii != None:
childrens_of_parent=self.iter_children(ii) #liste tous les enfants du parents
while childrens_of_parent:
if self.get_value(childrens_of_parent,3)!=child_mixed_color: #si
c'est différent des autre enfants
child_mixed_color=3 #on
grisera le parent
childrens_of_parent = self.iter_next(childrens_of_parent)
self.set_value(ii,3,child_mixed_color) #on
met la couleur "mixée"
self.__switchParents(ii) #on
continue pour le parent du parent
Original comment by gautier....@gmail.com
on 7 Jan 2009 at 2:02
Attachments:
oui, mais non ;-)
Ce n'est pas pk maintenant tu peux cocher des cases vert/rouge dans des sous
catégories grisées que ça va marcher après ...
Le problème est fonctionnel, pas technique !. Comprendre : que si on ne peut
pas
cocher de cases rouge/vert dans une sous catégorie grisée : c'est fait
exprès !
Car après, le "moteur de recherche" ne pourra rien trouver de cohérent !
il faudrait assu adapter le "moteur de recherche" pour ce genre de recherche.
Et,
dans mes souvenirs, ce serait assez complexe à faire que de laisser dispo ce
genre de
recherche ...
C'est une limitation volontaire de l'outil ! ça ne sert à rien de rendre celà
cochable ...
désolé
Original comment by manat...@gmail.com
on 7 Jan 2009 at 2:08
-Non- mais si... parceque ça marche vraiment bien! ;) Le moteur de recherche
s'en
tire très bien...
Enfin pour ce que je veux faire, c'est parfait...
Imaginons
[TAGS]
[Personnes]
[People]
*Angelina Jolie
*Brad Pitt
*Pamela Anderson
[Animaux]
* Chiens
* Chats
Si je veux une photo avec Brat pitt sans autre personnage, j'ai juste a faire
un clic
doit sur people, puis un clic gauche sur brad pitt
si je veux une photo de brad pitt et rien d'autre (pas de chien ni de chat),
j'ai
juste a faire un clic droit sur [tags] et un clic gauche sur brad pitt, c'est
très
logique et ça marche parfaitement
Si on veut une photo avec brad pitt & angelina jolie, il faut cliquer sur ces
deux
personnes, ça marche toujours...
Si on veut toutes les photos avec au moins 1 people, on clique sur People, ça
marche
aussi...
Le seul vrai souci, c'est lorsque l'on rempli l'ensemble de la catégorie
(p.ex. brad
& angelina & pamela)
> ça valide automatiquement la catégorie people
> ça sort toutes les photos avec brad OU angelina OU pamela...
Pareil si on fait un clic gauche sur people et qu'on désellectionne brad pitt,
ce qui
pourrait vouloir signifier qu'on veut toutes les photos de people sans brad
pitt,
alors qu'en fait on aura toutes les photos avec Angelina & Pamela sans Brad...
Mais en étant un peu logique, lorsque l'on a, comme moi, beaucoup de photos et
beaucoup de tags, ça n'a aucun sens de chercher tout le monde SAUF
quelqu'un... En
revanche, ça a beaucoup de sens de chercher toutes les photos où il y a 1 ou 2
personnes et personne d'autre...
Après, j'y connais rien, ça induit peut être d'autres problèmes... mais
vraiment,
chez moi, ça marche a la perfection!
Original comment by gautier....@gmail.com
on 7 Jan 2009 at 2:51
comme tu l'as fait remarquer, ça complexifie trop la recherche ... et je doute
encore
que ça soit aussi simple (comprendre sans effets de bords autres)...
peut être dans le futur !
Original comment by manat...@gmail.com
on 8 Jan 2009 at 9:21
Original issue reported on code.google.com by
gautier....@gmail.com
on 2 Jan 2009 at 4:02