From: <bma...@us...> - 2009-03-10 16:39:43
|
Revision: 4523 http://fudaa.svn.sourceforge.net/fudaa/?rev=4523&view=rev Author: bmarchan Date: 2009-03-10 16:39:34 +0000 (Tue, 10 Mar 2009) Log Message: ----------- Cr?\195?\169ation calque casiers. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayerFactory.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCasier.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dCasier.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dCasierPersistence.java 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 2009-03-10 16:38:40 UTC (rev 4522) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2009-03-10 16:39:34 UTC (rev 4523) @@ -33,8 +33,10 @@ import org.fudaa.fudaa.modeleur.layer.MdlLayer2dDirectionLine; import org.fudaa.fudaa.modeleur.layer.MdlLayer2dLevel; import org.fudaa.fudaa.modeleur.layer.MdlLayer2dProfile; +import org.fudaa.fudaa.modeleur.layer.MdlLayer2dCasier; import org.fudaa.fudaa.modeleur.layer.MdlLayer2dZone; import org.fudaa.fudaa.modeleur.layer.MdlLayerFactory; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.layer.FSigEditor; import org.fudaa.fudaa.sig.layer.FSigImageImportAction; @@ -58,6 +60,7 @@ BGroupeCalque cqSing_; BGroupeCalque cqMdl1d_; BGroupeCalque cqBiefs_; + BGroupeCalque cqCasiers_; /** * Construction des calques. Une partie est d\xE9j\xE0 construite par d\xE9faut dans les classes @@ -121,6 +124,7 @@ buildAltiLayerGroup(_build); buildSingLayerGroup(_build); buildModel1dLayerGroup(_build); + buildCasiersLayerGroup(_build); buildImageGroup(); buildBiefsLayerGroup(); @@ -143,6 +147,9 @@ EbliActionInterface actNewAxe=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque axes hydrauliques"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER1D_AXE,cqMdl1d_,getEditor()); cqMdl1d_.setActions(new EbliActionInterface[] { actNewTrace, actNewAxe}); + EbliActionInterface actNewCasier=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque casiers"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_CASIER,cqCasiers_,getEditor()); + cqCasiers_.setActions(new EbliActionInterface[] { actNewCasier}); + EbliActionInterface actImport = new FSigImageImportAction(this, cqImg_); cqImg_.setActions(new EbliActionInterface[] { actImport }); @@ -245,7 +252,25 @@ cqAxe.setName(BGroupeCalque.findUniqueChildName(cqMdl1d_, cqAxe.getExtName())); cqMdl1d_.add(cqAxe); } + + /** + * Mise en place du groupe du mod\xE8le 1d. + */ + protected void buildCasiersLayerGroup(boolean _build) { + cqCasiers_ = new BGroupeCalque(); + cqCasiers_.setTitle(MdlResource.getS("Casiers")); + cqCasiers_.setName("gcCasier"); + cqCasiers_.putClientProperty(Action.SHORT_DESCRIPTION, MdlResource.getS("Les casiers")); + cqCasiers_.setDestructible(false); + addCalque(cqCasiers_); + if (!_build) return; + + MdlLayer2dCasier cqStore=new MdlLayer2dCasier(getEditor()); + cqStore.setName(BGroupeCalque.findUniqueChildName(cqCasiers_, cqStore.getExtName())); + cqCasiers_.add(cqStore); + } + protected void fillCmdContextuelles(final BuPopupMenu _menu) { if (getScene() != null) { fillMenuWithSceneActions(_menu); Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCasier.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCasier.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCasier.java 2009-03-10 16:39:34 UTC (rev 4523) @@ -0,0 +1,78 @@ +/* + * @creation 20 janv. 08 + * @modification $Date: 2008/05/13 12:10:43 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.layer; + +import java.awt.Color; + +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ebli.calque.BCalquePersistenceInterface; +import org.fudaa.ebli.calque.ZCalqueBloc; +import org.fudaa.ebli.calque.ZModeleBloc; +import org.fudaa.ebli.calque.dessin.DeForme; +import org.fudaa.ebli.trace.TraceIcon; +import org.fudaa.ebli.trace.TraceIconModel; +import org.fudaa.ebli.trace.TraceLigne; +import org.fudaa.ebli.trace.TraceLigneModel; +import org.fudaa.ebli.trace.TraceSurface; +import org.fudaa.ebli.trace.TraceSurfaceModel; +import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dCasierPersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; +import org.fudaa.fudaa.sig.layer.FSigEditor; + +/** + * Un calque pour le stockage et la manipulation des casiers. + * @author Bertrand Marchand + * @version $Id$ + */ +public class MdlLayer2dCasier extends MdlLayer2dLine { + + /** + * Constructeur. Utilise un mod\xE8le de donn\xE9es et un editeur. + * @param _model Modele + * @param _editor Editeur. + */ + private MdlLayer2dCasier(MdlModel2dCasier _model, final FSigEditor _editor) { + super(_model,_editor); + setIconModel(0, new TraceIconModel(TraceIcon.CARRE_PLEIN, 2, new Color(115,88,34))); + setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 2f, new Color(181,139,54))); + surfModel_=new TraceSurfaceModel(TraceSurface.UNIFORME,new Color(255,230,140),null); + + setName(getExtName()); + setTitle(MdlResource.getS("Contours casiers")); + setAttributForLabels(GISAttributeConstants.LABEL); + setDestructible(true); + } + + public MdlLayer2dCasier(FSigEditor _editor) { + this(new MdlModel2dCasier(_editor,_editor.getMng()),_editor); + } + + public BCalquePersistenceInterface getPersistenceMng() { + return new MdlLayer2dCasierPersistence(); + } + + /** + * Retourne le nom par defaut du calque. + * @return Le nom. + */ + public String getExtName() { + return "storage"; + } + + public int getNbSet() { + return 1; + } + + public boolean canSetSelectable() { + return true; + } + + public boolean canAddForme(int _typeForme) { + return _typeForme==DeForme.POLYGONE || _typeForme==DeForme.ELLIPSE || _typeForme==DeForme.RECTANGLE; + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCasier.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayerFactory.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayerFactory.java 2009-03-10 16:38:40 UTC (rev 4522) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayerFactory.java 2009-03-10 16:39:34 UTC (rev 4523) @@ -25,6 +25,7 @@ public final static int LAYER2D_CONTOUR =7; public final static int LAYER1D_TRACE =8; public final static int LAYER1D_AXE =9; + public final static int LAYER2D_CASIER =10; private static MdlLayerFactory factory_=new MdlLayerFactory(); @@ -62,6 +63,8 @@ return new MdlLayer2dZone(_editor); case LAYER2D_CONTOUR: return new MdlLayer2dContour(_editor); + case LAYER2D_CASIER: + return new MdlLayer2dCasier(_editor); case LAYER1D_TRACE: return new MdlLayer1dTrace(_editor); case LAYER1D_AXE: Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dCasier.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dCasier.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dCasier.java 2009-03-10 16:39:34 UTC (rev 4523) @@ -0,0 +1,44 @@ +/* + * @creation 20 janv. 08 + * @modification $Date: 2008-05-13 12:10:42 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.layer; + +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.gis.GISAttribute; +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ebli.calque.ZModelGeometryListener; + +/** + * Un mod\xE8le de calque pour le calque 2D des casiers. Les casiers sont des g\xE9om\xE9trie composites associant un + * polygone avec un semis de point interne. + * + * @author Bertrand Marchand + * @version $Id$ + */ +public class MdlModel2dCasier extends MdlModel2dLine { + + /** + * Construction d'un modele de profil avec pile de commandes. + * @param _cmd La pile de commandes pour le undo/redo. + */ + public MdlModel2dCasier(final ZModelGeometryListener _listener, final CtuluCommandContainer _cmd) { + super(_listener); + + GISAttribute[] attrs=new GISAttribute[]{ + GISAttributeConstants.BATHY, + GISAttributeConstants.ETAT_GEOM, + GISAttributeConstants.TITRE, + GISAttributeConstants.NATURE, + GISAttributeConstants.VISIBILITE, + GISAttributeConstants.LABEL + }; + // Pas de container de commande pour cette op\xE9ration, sinon conserv\xE9 en undo/redo. + getGeomData().setAttributes(attrs, null); + getGeomData().setAttributeIsZ(GISAttributeConstants.BATHY); + getGeomData().setFixedAttributeValue(GISAttributeConstants.NATURE, GISAttributeConstants.ATT_NATURE_ZN); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dCasier.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dCasierPersistence.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dCasierPersistence.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dCasierPersistence.java 2009-03-10 16:39:34 UTC (rev 4523) @@ -0,0 +1,26 @@ +/* + * @creation 20 janv. 08 + * @modification $Date: 2008-12-01 12:02:10 +0100 (lun., 01 déc. 2008) $ + * @license GNU General Public License 2 + * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.persistence; + +import org.fudaa.fudaa.modeleur.layer.MdlLayer2dCasier; +import org.fudaa.fudaa.sig.layer.FSigEditor; + +/** + * Gestion de la persistance pour un calque multipoint. + * @author Bertrand Marchand + * @see MdlLayer2dCasier + */ +public class MdlLayer2dCasierPersistence extends MdlLayer2dLinePersistence { + + /** + * Cree un calque du type correct, suivante le gestionnaire de persistence. + */ + protected MdlLayer2dCasier createNewLayer(FSigEditor _editor) { + return new MdlLayer2dCasier(_editor); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dCasierPersistence.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |