From: <emm...@us...> - 2008-11-12 17:10:00
|
Revision: 4213 http://fudaa.svn.sourceforge.net/fudaa/?rev=4213&view=rev Author: emmanuel_martin Date: 2008-11-12 17:09:52 +0000 (Wed, 12 Nov 2008) Log Message: ----------- bugfix : #58, #60 Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -392,7 +392,7 @@ controller_ = _controller; controller_.setView(this); - scene_=new ZScene(gcDonnees_,controller_.getCqSelectionI()); + scene_=new ZScene(modelArbre_,controller_.getCqSelectionI()); scene_.setRestrictedToCalqueActif(true); scene_.addSelectionListener(this); modelArbre_.addTreeModelListener(scene_); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -335,9 +335,8 @@ } - protected BCalque cqRoot_=null; + protected BArbreCalqueModel treeModel_=null; protected ZCalqueAffichageDonneesInterface[] cqs_; - protected BCalque cqActif_=null; /** Le calque de selection interactif */ protected ZCalqueSelectionInteractionAbstract cqSelectionI_=null; protected SceneListSelection selection_=null; @@ -359,8 +358,8 @@ * Cr\xE9ation a partir d'un groupe de calques racine. * @param _root Le groupe de calque racine. */ - public ZScene(BGroupeCalque _root, ZCalqueSelectionInteractionAbstract _cqSelectionI) { - cqRoot_=_root; + public ZScene(BArbreCalqueModel _treeModel, ZCalqueSelectionInteractionAbstract _cqSelectionI) { + treeModel_=_treeModel; cqSelectionI_=_cqSelectionI; cqSelectionI_.setScene(this); initSelection(); @@ -711,31 +710,28 @@ FuLog.trace("EBL: calque actif=" + (_calque == null ? "null" : _calque.getTitle())); } - if (_calque != cqActif_) { boolean sendEvent=false; - if (cqActif_ instanceof ZCalqueAffichageDonneesInterface && isRestrictedToCalqueActif()) { - ((ZCalqueAffichageDonneesInterface)cqActif_).clearSelection(); + if (treeModel_.getSelectedCalque() instanceof ZCalqueAffichageDonneesInterface && isRestrictedToCalqueActif()) { + ((ZCalqueAffichageDonneesInterface)treeModel_.getSelectedCalque()).clearSelection(); // selection_=null; // Pour que la selection se remette a jour. sendEvent=true; } - cqActif_ = _calque; - if (!(cqActif_ instanceof ZCalqueAffichageDonneesInterface)) { + if (!(treeModel_.getSelectedCalque() instanceof ZCalqueAffichageDonneesInterface)) { cqSelectionI_.modificateur_.setSpecial(false); } else { - cqSelectionI_.modificateur_.setSpecial(((ZCalqueAffichageDonneesInterface)cqActif_).isSpecialSelectionAllowed()); + cqSelectionI_.modificateur_.setSpecial(((ZCalqueAffichageDonneesInterface)treeModel_.getSelectedCalque()).isSpecialSelectionAllowed()); } cqSelectionI_.repaint(); if (sendEvent) fireSelectionEvent(); - } } public BCalque getCalqueActif() { - return cqActif_; + return treeModel_.getSelectedCalque(); } public boolean isCalqueActifEditable() { - return cqActif_ instanceof ZCalqueEditable; + return treeModel_.getSelectedCalque() instanceof ZCalqueEditable; } /** @@ -764,8 +760,8 @@ private ZCalqueAffichageDonneesInterface[] getTargetLayers() { if (!isRestrictedToCalqueActif()) return getAllLayers(); - else if (cqActif_ instanceof ZCalqueAffichageDonneesInterface) - return new ZCalqueAffichageDonneesInterface[]{(ZCalqueAffichageDonneesInterface)cqActif_}; + else if (treeModel_.getSelectedCalque() instanceof ZCalqueAffichageDonneesInterface) + return new ZCalqueAffichageDonneesInterface[]{(ZCalqueAffichageDonneesInterface)treeModel_.getSelectedCalque()}; else return new ZCalqueAffichageDonneesInterface[0]; } @@ -773,7 +769,7 @@ public ZCalqueAffichageDonneesInterface[] getAllLayers() { if (brefreshRequested_) { ArrayList<BCalque> lcqs=new ArrayList<BCalque>(); - for ( BCalque cq : cqRoot_.getTousCalques()) { + for ( BCalque cq : treeModel_.getRootCalque().getTousCalques()) { if (cq instanceof ZCalqueAffichageDonneesInterface) lcqs.add(cq); } cqs_=lcqs.toArray(new ZCalqueAffichageDonneesInterface[0]); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -89,22 +89,15 @@ */ protected void setTarget(final Object _o) { final Object newTarget=(_o instanceof ZCalqueEditable)?_o:null; - /* - * On n'utilise pas 'isTargetValid' dans cette m\xE9thode car elle est, entre - * autre, appell\xE9e quand la s\xE9lection dans l'arbre est modifi\xE9e; or dans - * ce cas 'CalqueGISEditionAction' est pr\xE9venu avant 'ZScene' de cette - * modification. Donc l'utilisation de 'isTargetValid' est incoh\xE9rente. - */ - boolean valide=scene_!=null && (!scene_.isRestrictedToCalqueActif() || newTarget!=null); if (target_ != newTarget) { target_ = newTarget; if (isSelected()) { setPaletteTarget(target_ == null ? null : editor_); } else { - setEnabled(valide); + setEnabled(isTargetValid(null)); } } - setDisableWhenHide_ = !valide; + setDisableWhenHide_ = !isTargetValid(null); if (editor_ != null) { editor_.setActivated(newTarget, (BPaletteEdition) palette_); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -108,7 +108,7 @@ ZCalqueClickInteraction nodeAdd_; - BPaletteEdition palette_; + protected BPaletteEdition palette_; ZEbliCalquesPanel panel_; @@ -136,7 +136,7 @@ CommandSaisieMultiple saisie_; - ZCalqueEditable target_; + protected ZCalqueEditable target_; /** * @return l'interface utilisateur Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -11,6 +11,8 @@ import java.util.ArrayList; import java.util.Arrays; +import javax.swing.AbstractButton; + import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.ctulu.CtuluRunnable; @@ -21,6 +23,7 @@ import org.fudaa.ebli.calque.BGroupeCalque; import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.action.SceneSplitAction; +import org.fudaa.ebli.calque.dessin.DeForme; import org.fudaa.ebli.calque.edition.ZCalqueEditable; import org.fudaa.ebli.commun.EbliActionAbstract; import org.fudaa.ebli.commun.EbliActionInterface; @@ -146,4 +149,11 @@ }.run(); } + + public void updatePalette() { + super.updatePalette(); + if(palette_!=null) + palette_.setEnable("MODE_ATOME", true); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |