From: Pascale Noyret Date: Wed, 12 Dec 2012 09:38:40 +0000 (+0000) Subject: Pour Deplacer X-Git-Tag: V6_6_0rc3~2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=f2e43c7d053aaf0dd95329d8a9247204263e04eb;p=tools%2Feficas.git Pour Deplacer --- diff --git a/Ihm/I_JDC.py b/Ihm/I_JDC.py index 863f81a7..59352b9b 100644 --- a/Ihm/I_JDC.py +++ b/Ihm/I_JDC.py @@ -393,19 +393,32 @@ class JDC(I_OBJECT.OBJECT): etape.inactive() if etape.nom == 'FIN':actif=-1 - def deplaceEntite(self,etape) : + def deplaceEntite(self,indexNoeudACopier,indexNoeudOuColler,pos): """ Pour le cut """ - print "deplaceEntite",self - if etape not in self.etapes: return 0 - - self.init_modif() - index_etape=self.etapes.index(etape) - self.etapes.remove(etape) - if etape.niveau is not self: etape.niveau.unregister(etape) + if indexNoeudACopier==indexNoeudOuColler:return + etapeACopier=self.etapes[indexNoeudACopier] + try : + sd=self.etapes[indexNoeudACopier].sd + except : + sd=None + if pos=='before' and indexNoeudOuColler==0 : + self.etapes2=[etapeACopier,]+self.etapes[0:indexNoeudACopier]+self.etapes[indexNoeudACopier+1:] + elif indexNoeudACopier < indexNoeudOuColler : + self.etapes2=self.etapes[0:indexNoeudACopier]+self.etapes[indexNoeudACopier+1:indexNoeudOuColler+1]+[etapeACopier,]+self.etapes[indexNoeudOuColler+1:] + else: + self.etapes2=self.etapes[0:indexNoeudOuColler+1]+[etapeACopier,]+self.etapes[indexNoeudOuColler+1:indexNoeudACopier]+self.etapes[indexNoeudACopier+1:] + self.etapes=self.etapes2 + if indexNoeudACopier < indexNoeudOuColler : + self.delete_concept_entre_etapes(indexNoeudACopier,indexNoeudOuColler,sd) + self.reset_context() + for e in self.etapes : + e.state = 'modified' + self.control_context_apres(None) return 1 + def suppentite(self,etape) : """ Cette methode a pour fonction de supprimer une etape dans @@ -852,7 +865,11 @@ class JDC(I_OBJECT.OBJECT): if restrict == 'non': self.g_context[sdnom]=sd -#ATTENTION SURCHARGE : cette methode doit etre gardee en synchronisation avec celle de Noyau + def delete_concept_entre_etapes(self,index1,index2,sd): + if index2 <= index1 :return + for child in self.etapes[index1:index2]: + child.delete_concept(sd) + def delete_concept_after_etape(self,etape,sd): """ Met a jour les etapes du JDC qui sont apres etape en fonction