From: <bma...@us...> - 2008-12-08 16:30:18
|
Revision: 4278 http://fudaa.svn.sourceforge.net/fudaa/?rev=4278&view=rev Author: bmarchan Date: 2008-12-08 16:30:11 +0000 (Mon, 08 Dec 2008) Log Message: ----------- Installation des biefs dans l'arbre des calques. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePersistenceGroupe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePersistenceSingle.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BGroupeCalque.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePersistenceGroupe.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePersistenceGroupe.java 2008-12-05 14:35:47 UTC (rev 4277) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePersistenceGroupe.java 2008-12-08 16:30:11 UTC (rev 4278) @@ -21,6 +21,7 @@ import org.fudaa.ctulu.CtuluArkLoader; import org.fudaa.ctulu.CtuluArkSaver; +import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.ProgressionInterface; @@ -178,6 +179,19 @@ return rs; } + protected BCalque findCalque(final BCalqueSaverInterface _cqName, final BCalqueSaverTargetInterface _pn, + final BCalque _parent) { + // On essaye de r\xE9cup\xE9rer le groupe s'il existe par d\xE9faut dans la hierarchie. + BGroupeCalque cq=(BGroupeCalque)super.findCalque(_cqName, _pn, _parent); + if (cq!=null) return cq; + + // Le groupe n'a pas \xE9t\xE9 trouv\xE9, on le construit. + cq=new BGroupeCalque(); + cq.setName(BGroupeCalque.findUniqueChildName(_parent)); + _parent.add(cq); + return cq; + } + public String restoreFrom(final CtuluArkLoader _loader, final BCalqueSaverTargetInterface _parentPanel, final BCalque _parentCalque, final String _parentDirEntry, final String _entryName, final ProgressionInterface _proj) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePersistenceSingle.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePersistenceSingle.java 2008-12-05 14:35:47 UTC (rev 4277) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePersistenceSingle.java 2008-12-08 16:30:11 UTC (rev 4278) @@ -139,11 +139,15 @@ } /** - * Retrouve le calque de nom donn\xE9 _cqName.getLayerName() dans la hierarchie des calques, \xE0 partir du calque _parent. - * @param _cqName - * @param _pn - * @param _parent - * @return + * Retrouve le calque de nom donn\xE9 _cqName.getLayerName() dans la hierarchie des calques, \xE0 partir du calque _parent.<p> + * Cette m\xE9thode peut \xEAtre surcharg\xE9e pour recr\xE9er les calques au fur et a mesure de leur lecture sur le fichier projet. En effet, + * la hierarchie des calques peut \xEAtre immuable, fix\xE9e par l'application, ou d\xE9pendre du projet pour les applications qui + * supportent l'ajout ou la suppression de calques par l'utilisateur. + * + * @param _cqName L'interface de transport des infos li\xE9es au calque \xE0 retrouver. + * @param _pn Le panneau contenant les calques. + * @param _parent Le calque parent + * @return Le calque retrouv\xE9, null si rien trouv\xE9. */ protected BCalque findCalque(final BCalqueSaverInterface _cqName, final BCalqueSaverTargetInterface _pn, final BCalque _parent) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BGroupeCalque.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BGroupeCalque.java 2008-12-05 14:35:47 UTC (rev 4277) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BGroupeCalque.java 2008-12-08 16:30:11 UTC (rev 4278) @@ -34,7 +34,8 @@ * @author Guillaume Desnoix */ public class BGroupeCalque extends BCalque { - + boolean isTitleModifiable_=false; + public BGroupeCalque() { super(); setDestructible(true); @@ -287,4 +288,16 @@ c[i].setVisible(_b); } } + + public boolean isTitleModifiable() { + return isTitleModifiable_; + } + + /** + * Definit si le titre peut \xEAtre modifi\xE9 depuis l'arbre des calques. + * @param _b true : Il est modifiable. + */ + public void setTitleModifiable(boolean _b) { + isTitleModifiable_=_b; + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-12-05 14:35:47 UTC (rev 4277) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-12-08 16:30:11 UTC (rev 4278) @@ -7,20 +7,17 @@ */ package org.fudaa.fudaa.modeleur; +import java.awt.event.ActionEvent; + import javax.swing.Action; -import org.fudaa.ebli.calque.BArbreCalque; -import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.BGroupeCalque; import org.fudaa.ebli.calque.ZSelectionEvent; -import org.fudaa.ebli.calque.ZSelectionListener; -import org.fudaa.ebli.calque.action.SceneSelectNextAction; -import org.fudaa.ebli.calque.action.SceneSelectPreviousAction; import org.fudaa.ebli.calque.action.SceneShowOrientationAction; import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliActionMap; +import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.commun.EbliComponentFactory; -import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.modeleur.action.CalqueDeleteCalqueAction; @@ -35,9 +32,6 @@ import org.fudaa.fudaa.modeleur.layer.MdlLayer2dProfile; import org.fudaa.fudaa.modeleur.layer.MdlLayer2dZone; import org.fudaa.fudaa.modeleur.layer.MdlLayerFactory; -import org.fudaa.fudaa.modeleur.layer.MdlModel2dCloud; -import org.fudaa.fudaa.modeleur.layer.MdlModel2dLevel; -import org.fudaa.fudaa.modeleur.layer.MdlModel2dProfile; import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.layer.FSigEditor; import org.fudaa.fudaa.sig.layer.FSigImageImportAction; @@ -61,6 +55,7 @@ BGroupeCalque cqAlti_; BGroupeCalque cqSing_; BGroupeCalque cqMdl1d_; + BGroupeCalque cqBiefs_; /** * Construction des calques. Une partie est d\xE9j\xE0 construite par d\xE9faut dans les classes @@ -114,8 +109,9 @@ public void setActive(boolean _active) {} /** - * Initialisation ou reinitialisation des calques. - * @param _build Si true, les calques g\xE9om\xE9triques sont construits par d\xE9faut. + * Initialisation ou reinitialisation des calques contenus dans le panneau de visualisation. + * @param _build Si true, les calques g\xE9om\xE9triques sont construits par d\xE9faut, vides. Sinon, ils seront reconstruits par la + * proc\xE9dure de restitution du projet. */ public void initCalques(boolean _build) { removeAllCalqueDonnees(); @@ -123,6 +119,7 @@ buildSingLayerGroup(_build); buildModel1dLayerGroup(_build); buildImageGroup(); + buildBiefsLayerGroup(); installLayerActions(); } @@ -148,6 +145,13 @@ EbliActionInterface actDeleteLayer=new CalqueDeleteCalqueAction(getEditor(),this.getArbreCalqueModel()); this.getArbreCalqueModel().setActionDelete(actDeleteLayer); + + EbliActionInterface actNewBief=new EbliActionSimple(FudaaLib.getS("Nouveau bief"),FudaaResource.FUDAA.getIcon("ajouter"),null) { + public void actionPerformed(final ActionEvent _e) { + addBief(true); + } + }; + cqBiefs_.setActions(new EbliActionInterface[]{actNewBief}); } /** @@ -249,7 +253,51 @@ } _menu.add(contextTools_); } + + /** + * Mise en place du groupe des biefs. + */ + protected void buildBiefsLayerGroup() { + cqBiefs_ = new BGroupeCalque(); + cqBiefs_.setTitle(MdlResource.MDL.getString("Biefs")); + cqBiefs_.setName("gcBiefs"); + cqBiefs_.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Les biefs")); + cqBiefs_.setDestructible(false); + addCalque(cqBiefs_); + } + + /** + * Mise en place d'un bief. + */ + protected void addBief(boolean _build) { + BGroupeCalque cqBief=new BGroupeCalque(); + cqBief.setTitleModifiable(true); + String name=BGroupeCalque.findUniqueChildName(cqBiefs_); + cqBief.setTitle(MdlResource.MDL.getString("Bief")); + cqBief.setName(name); + cqBief.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Un bief")); + cqBief.setDestructible(true); + cqBiefs_.add(cqBief); + if (!_build) return; + + MdlLayer2dProfile cqProfile=new MdlLayer2dProfile(getEditor()); + cqProfile.setName(BGroupeCalque.findUniqueChildName(cqBief, cqProfile.getExtName())); + cqBief.add(cqProfile); + + MdlLayer1dAxe cqAxe=new MdlLayer1dAxe(getEditor()); + cqAxe.setName(BGroupeCalque.findUniqueChildName(cqBief, cqAxe.getExtName())); + cqBief.add(cqAxe); + + MdlLayer2dDirectionLine cqDirect=new MdlLayer2dDirectionLine(getEditor()); + cqDirect.setName(BGroupeCalque.findUniqueChildName(cqBief, cqDirect.getExtName())); + cqBief.add(cqDirect); + + MdlLayer2dConstraintLine cqConst=new MdlLayer2dConstraintLine(getEditor()); + cqConst.setName(BGroupeCalque.findUniqueChildName(cqBief, cqConst.getExtName())); + cqBief.add(cqConst); + } + /** * Mise a jour des actions. * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |