From 76f3757a8f70a18a6acd7381070e292c31677fc8 Mon Sep 17 00:00:00 2001 From: TMA salome Date: Thu, 13 Dec 2012 09:57:52 +0000 Subject: [PATCH] =?utf8?q?Les=20modifications=20annul=C3=A9es=20avant=20le?= =?utf8?q?=20tag=206=5F6=5F0=20ont=20=C3=A9t=C3=A9=20r=C3=A9appliqu=C3=A9e?= =?utf8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Ihm/I_JDC.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) 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 -- 2.39.2