+ """
+ Une MCList n'est jamais obligatoire (même si le MCFACT qu'elle représente l'est
+ """
+ return self.data[0].definition.statut=='o'
+
+ def suppentite(self,obj):
+ """
+ Supprime le mot cle facteur obj de la MCLIST
+ """
+ self.init_modif()
+ self.remove(obj)
+ CONNECTOR.Emit(self,"supp",obj)
+ self.fin_modif()
+ return 1
+
+ def addentite(self,obj,pos=None):
+ """
+ Ajoute le mot cle facteur obj a la MCLIST a la position pos
+ Retourne None si l'ajout est impossible
+ """
+ if type(obj)==types.StringType :
+ # on est en mode création d'un motcle
+ raise "traitement non prevu"
+
+ if not self.ajout_possible():
+ self.jdc.send_message("L'objet %s ne peut pas être ajouté" % obj.nom)
+ return None
+
+ if self.nom != obj.nom:
+ return None
+
+ if obj.isMCList():
+ obj=obj.data[0]
+
+ # Traitement du copier coller seulement
+ # Les autres cas d'ajout sont traites dans MCFACT
+ self.init_modif()
+ obj.verif_existence_sd()
+ obj.reparent(self.parent)
+ if pos is None:
+ self.append(obj)
+ else:
+ self.insert(pos,obj)
+ CONNECTOR.Emit(self,"add",obj)
+ self.fin_modif()
+ return obj