From: <emm...@us...> - 2008-11-03 12:28:34
|
Revision: 4152 http://fudaa.svn.sourceforge.net/fudaa/?rev=4152&view=rev Author: emmanuel_martin Date: 2008-11-03 12:28:29 +0000 (Mon, 03 Nov 2008) Log Message: ----------- tache #72 : "Duplication de points ayant les m?\195?\170me coordonn?\195?\169es lors d'interpolation entre 2 entit?\195?\169s diff?\195?\169rentes" Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolationPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dMultiPoint.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolationPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolationPanel.java 2008-11-03 11:20:21 UTC (rev 4151) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolationPanel.java 2008-11-03 12:28:29 UTC (rev 4152) @@ -11,10 +11,14 @@ import java.awt.event.ActionListener; import javax.swing.ButtonGroup; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.gui.CtuluDialogPanel; +import org.fudaa.ebli.commun.EbliLib; +import com.memoire.bu.BuCheckBox; import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuRadioButton; import com.memoire.bu.BuTextField; @@ -24,7 +28,7 @@ * @author Bertrand Marchand * @version $Id: MdlInterpolationPanel.java,v 1.1.2.1 2008-05-13 12:10:11 bmarchan Exp $ */ -public class MdlInterpolationPanel extends CtuluDialogPanel { +public class MdlInterpolationPanel extends CtuluDialogPanel implements ChangeListener { private class InterpolationActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { @@ -37,6 +41,7 @@ private BuTextField tfDist_; private BuRadioButton rbNbPts_; private BuRadioButton rbDist_; + private boolean useBorderPoints_; private int nbPts_=0; private double dist_=0; @@ -64,6 +69,12 @@ tfDist_=addDoubleText("1.0"); rbNbPts_.doClick(); + + // La checkBox indiquant l'utilisation ou non des points d'extr\xE9mit\xE9s + useBorderPoints_=false; + BuCheckBox cb=new BuCheckBox(EbliLib.getS("Duplication des points aux extr\xE9mit\xE9s.")); + cb.addChangeListener(this); + add(cb); } public boolean valide() { @@ -89,4 +100,15 @@ public boolean isNbPtsGiven() { return rbNbPts_.isSelected(); } + + public boolean useBorderPoints(){ + return useBorderPoints_; + } + + /* (non-Javadoc) + * @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent) + */ + public void stateChanged(ChangeEvent e) { + useBorderPoints_=!useBorderPoints_; + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-03 11:20:21 UTC (rev 4151) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-03 12:28:29 UTC (rev 4152) @@ -115,11 +115,13 @@ ZModeleDonnees mdld=((ZCalqueAffichageDonneesInterface)getScene().getCalqueActif()).modeleDonnees(); if (mdld instanceof MdlModel2dMultiPoint) { MdlModel2dMultiPoint mdl=(MdlModel2dMultiPoint)mdld; - mdl.interpolate(coords, dist, getMng()); + if(!mdl.interpolate(coords, dist, pnInterpolation_.useBorderPoints(), getMng())) + ui_.warn(FudaaLib.getS("Interpolation"), FudaaLib.getS("L'interpolation n'a pas pu avoir lieu par manque de point."), false); } else if (mdld instanceof MdlModel2dLine) { MdlModel2dLine mdl=(MdlModel2dLine)mdld; - mdl.interpolate(coords, dist, getMng()); + if(!mdl.interpolate(coords, dist, pnInterpolation_.useBorderPoints(), getMng())) + ui_.warn(FudaaLib.getS("Interpolation"), FudaaLib.getS("L'interpolation n'a pas pu avoir lieu par manque de point."), false); } } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java 2008-11-03 11:20:21 UTC (rev 4151) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java 2008-11-03 12:28:29 UTC (rev 4152) @@ -46,30 +46,44 @@ * Interpole entre 2 points, suivant un nombre de points donn\xE9s. * @param _coords Les 2 coordonn\xE9es * @param _dist La distance entre 2 points cons\xE9cutifs. + * @param _useBorderPoints vrai si la ligne int\xE9pol\xE9e doit contenir les coordonn\xE9es fournies. * @param _cmd Le container de commandes. * @return true si modif ok. */ - public boolean interpolate(Coordinate[] _coords, double _dist, final CtuluCommandContainer _cmd){ + public boolean interpolate(Coordinate[] _coords, double _dist, boolean _useBorderPoints, final CtuluCommandContainer _cmd){ double distTot= Math.sqrt((_coords[1].x-_coords[0].x)*(_coords[1].x-_coords[0].x)+(_coords[1].y-_coords[0].y)*(_coords[1].y-_coords[0].y)); int nbpts=(int)Math.round(distTot/_dist)-1; - - Coordinate[] coords=new Coordinate[_coords.length+nbpts]; - for (int i=1; i<coords.length-1; i++) { - Coordinate c=new Coordinate(); - c.x=_coords[0].x+(_coords[1].x-_coords[0].x)*i*_dist/distTot; - c.y=_coords[0].y+(_coords[1].y-_coords[0].y)*i*_dist/distTot; - c.z=_coords[0].z+(_coords[1].z-_coords[0].z)*i*_dist/distTot; - coords[i]=c; + Coordinate[] coords; + if (_useBorderPoints) { + coords=new Coordinate[_coords.length+nbpts]; + for (int i=1; i<coords.length-1; i++) + coords[i]=new Coordinate( + _coords[0].x+(_coords[1].x-_coords[0].x)*i*_dist/distTot, + _coords[0].y+(_coords[1].y-_coords[0].y)*i*_dist/distTot, + _coords[0].z+(_coords[1].z-_coords[0].z)*i*_dist/distTot + ); + coords[0]=(Coordinate)_coords[0].clone(); + coords[coords.length-1]=(Coordinate)_coords[1].clone(); } - coords[0]=(Coordinate)_coords[0].clone(); - coords[coords.length-1]=(Coordinate)_coords[1].clone(); - - GISPolyligne poly = (GISPolyligne)GISGeometryFactory.INSTANCE.createLineString(coords); - int idx = getGeomData().addGeometry(poly, null, _cmd); - if(idx!=-1) - setGeomModif(idx, _cmd); - return true; + else { + coords=new Coordinate[nbpts]; + for (int i=0; i<coords.length; i++) + coords[i]=new Coordinate( + _coords[0].x+(_coords[1].x-_coords[0].x)*(i+1)*_dist/distTot, + _coords[0].y+(_coords[1].y-_coords[0].y)*(i+1)*_dist/distTot, + _coords[0].z+(_coords[1].z-_coords[0].z)*(i+1)*_dist/distTot + ); + } + if (coords.length>=2) { + GISPolyligne poly=(GISPolyligne)GISGeometryFactory.INSTANCE.createLineString(coords); + int idx=getGeomData().addGeometry(poly, null, _cmd); + if (idx!=-1) + setGeomModif(idx, _cmd); + return true; + } + else + return false; } /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dMultiPoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dMultiPoint.java 2008-11-03 11:20:21 UTC (rev 4151) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dMultiPoint.java 2008-11-03 12:28:29 UTC (rev 4152) @@ -37,29 +37,43 @@ * Interpole entre 2 points, suivant un nombre de points donn\xE9s. * @param _coords Les 2 coordonn\xE9es * @param _dist La distance entre 2 points cons\xE9cutifs. + * @param _useBorderPoints vrai si la ligne int\xE9pol\xE9e doit contenir les coordonn\xE9es fournies. * @return true si modif ok. */ - public boolean interpolate(Coordinate[] _coords, double _dist, final CtuluCommandContainer _cmd){ + public boolean interpolate(Coordinate[] _coords, double _dist, boolean _useBorderPoints, final CtuluCommandContainer _cmd){ double distTot= Math.sqrt((_coords[1].x-_coords[0].x)*(_coords[1].x-_coords[0].x)+(_coords[1].y-_coords[0].y)*(_coords[1].y-_coords[0].y)); int nbpts=(int)Math.round(distTot/_dist)-1; - - Coordinate[] coords=new Coordinate[_coords.length+nbpts]; - for (int i=1; i<coords.length-1; i++) { - Coordinate c=new Coordinate(); - c.x=_coords[0].x+(_coords[1].x-_coords[0].x)*i*_dist/distTot; - c.y=_coords[0].y+(_coords[1].y-_coords[0].y)*i*_dist/distTot; - c.z=_coords[0].z+(_coords[1].z-_coords[0].z)*i*_dist/distTot; - coords[i]=c; + Coordinate[] coords; + if (_useBorderPoints) { + coords=new Coordinate[_coords.length+nbpts]; + for (int i=1; i<coords.length-1; i++) + coords[i]=new Coordinate( + _coords[0].x+(_coords[1].x-_coords[0].x)*i*_dist/distTot, + _coords[0].y+(_coords[1].y-_coords[0].y)*i*_dist/distTot, + _coords[0].z+(_coords[1].z-_coords[0].z)*i*_dist/distTot + ); + coords[0]=(Coordinate)_coords[0].clone(); + coords[coords.length-1]=(Coordinate)_coords[1].clone(); } - coords[0]=(Coordinate)_coords[0].clone(); - coords[coords.length-1]=(Coordinate)_coords[1].clone(); - - GISMultiPoint poly = (GISMultiPoint) GISGeometryFactory.INSTANCE.createMultiPoint(coords); - int idx = geometries_.addGeometry(poly, null, _cmd); - // Modification de l'etat de la g\xE9ometrie en modifi\xE9e - if(idx != -1) - setGeomModif(idx, _cmd); - return true; + else { + coords=new Coordinate[nbpts]; + for (int i=0; i<coords.length; i++) + coords[i]=new Coordinate( + _coords[0].x+(_coords[1].x-_coords[0].x)*(i+1)*_dist/distTot, + _coords[0].y+(_coords[1].y-_coords[0].y)*(i+1)*_dist/distTot, + _coords[0].z+(_coords[1].z-_coords[0].z)*(i+1)*_dist/distTot + ); + } + if (coords.length>=2) { + GISMultiPoint poly=(GISMultiPoint)GISGeometryFactory.INSTANCE.createMultiPoint(coords); + int idx=geometries_.addGeometry(poly, null, _cmd); + // Modification de l'etat de la g\xE9ometrie en modifi\xE9e + if (idx!=-1) + setGeomModif(idx, _cmd); + return true; + } + else + return false; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-03 13:56:42
|
Revision: 4153 http://fudaa.svn.sourceforge.net/fudaa/?rev=4153&view=rev Author: emmanuel_martin Date: 2008-11-03 13:56:37 +0000 (Mon, 03 Nov 2008) Log Message: ----------- tache #75 : "Raffiner ou d?\195?\169cimer sur plusieurs profils ?\195?\160 la fois". Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneDecimationAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneRefinementAction.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-03 12:28:29 UTC (rev 4152) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-03 13:56:37 UTC (rev 4153) @@ -260,32 +260,36 @@ if (getScene().isAtomicMode()) title=MdlResource.MDL.getString("D\xE9cimation entre 2 sommets"); else - title=MdlResource.MDL.getString("D\xE9cimation sur une polyligne"); + title=MdlResource.MDL.getString("D\xE9cimation sur une ou plusieurs polyligne(s)"); if (pnDecimation_.afficheModaleOk(pn_.getFrame(), title)) { - // La g\xE9om\xE9trie. - int idxGeom=getScene().getSelectionHelper().getUniqueSelectedIdx(); - Geometry geom=(Geometry)getScene().getObject(idxGeom); - int idxdeb; - int idxfin; - if (getScene().isAtomicMode()) { - int[] idxa=getScene().getLayerSelectionMulti().getSelection(idxGeom).getSelectedIndex(); - idxdeb=idxa[0]; - idxfin=idxa[1]; + // Les g\xE9om\xE9tries. On n'a plusieurs g\xE9om\xE9tries que dans le cas o\xF9 on n'est + // pas en mode sommet. + int[] geoms=getScene().getSelectionHelper().getSelectedIndexes(); + for (int i=0; i<geoms.length; i++) { + int idxGeom=geoms[i]; + Geometry geom=(Geometry)getScene().getObject(idxGeom); + int idxdeb; + int idxfin; + if (getScene().isAtomicMode()) { + int[] idxa=getScene().getLayerSelectionMulti().getSelection(idxGeom).getSelectedIndex(); + idxdeb=idxa[0]; + idxfin=idxa[1]; + } + else { + idxdeb=0; + idxfin=geom.getNumPoints()-1; + } + + ZModeleDonnees mdld=getScene().getLayerForId(idxGeom).modeleDonnees(); + if (mdld instanceof MdlModel2dLine) { + MdlModel2dLine mdl=(MdlModel2dLine)mdld; + mdl.decimate(getScene().sceneId2LayerId(idxGeom), idxdeb, idxfin, pnDecimation_.isNbPtsGiven() ? 0:1, pnDecimation_ + .getNbPts(), pnDecimation_.getDistance(), getMng()); + } + + super.getScene().clearSelection(); } - else { - idxdeb=0; - idxfin=geom.getNumPoints()-1; - } - - ZModeleDonnees mdld=getScene().getLayerForId(idxGeom).modeleDonnees(); - if (mdld instanceof MdlModel2dLine) { - MdlModel2dLine mdl=(MdlModel2dLine)mdld; - mdl.decimate(getScene().sceneId2LayerId(idxGeom),idxdeb,idxfin,pnDecimation_.isNbPtsGiven()?0:1, - pnDecimation_.getNbPts(),pnDecimation_.getDistance(),getMng()); - } - - super.getScene().clearSelection(); } } @@ -303,29 +307,33 @@ title=MdlResource.MDL.getString("Raffinement sur une polyligne"); if (pnRaffinement_.afficheModaleOk(pn_.getFrame(), title)) { - // La g\xE9om\xE9trie. - int idxGeom=getScene().getSelectionHelper().getUniqueSelectedIdx(); - Geometry geom=(Geometry)getScene().getObject(idxGeom); - int idxdeb; - int idxfin; - if (getScene().isAtomicMode()) { - int[] idxa=getScene().getLayerSelectionMulti().getSelection(idxGeom).getSelectedIndex(); - idxdeb=idxa[0]; - idxfin=idxa[1]; + // Les g\xE9om\xE9tries. On n'a plusieurs g\xE9om\xE9tries que dans le cas o\xF9 on n'est + // pas en mode sommet. + int[] geoms=getScene().getSelectionHelper().getSelectedIndexes(); + for (int i=0; i<geoms.length; i++) { + int idxGeom=geoms[i]; + Geometry geom=(Geometry)getScene().getObject(idxGeom); + int idxdeb; + int idxfin; + if (getScene().isAtomicMode()) { + int[] idxa=getScene().getLayerSelectionMulti().getSelection(idxGeom).getSelectedIndex(); + idxdeb=idxa[0]; + idxfin=idxa[1]; + } + else { + idxdeb=0; + idxfin=geom.getNumPoints()-1; + } + + ZModeleDonnees mdld=getScene().getLayerForId(idxGeom).modeleDonnees(); + if (mdld instanceof MdlModel2dLine) { + MdlModel2dLine mdl=(MdlModel2dLine)mdld; + mdl.refine(getScene().sceneId2LayerId(idxGeom), idxdeb, idxfin, pnRaffinement_.isNbPtsGiven() ? 0:1, pnRaffinement_ + .getNbPts(), pnRaffinement_.getDistance(), getMng()); + } + + super.getScene().clearSelection(); } - else { - idxdeb=0; - idxfin=geom.getNumPoints()-1; - } - - ZModeleDonnees mdld=getScene().getLayerForId(idxGeom).modeleDonnees(); - if (mdld instanceof MdlModel2dLine) { - MdlModel2dLine mdl=(MdlModel2dLine)mdld; - mdl.refine(getScene().sceneId2LayerId(idxGeom),idxdeb,idxfin,pnRaffinement_.isNbPtsGiven()?0:1, - pnRaffinement_.getNbPts(),pnRaffinement_.getDistance(),getMng()); - } - - super.getScene().clearSelection(); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneDecimationAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneDecimationAction.java 2008-11-03 12:28:29 UTC (rev 4152) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneDecimationAction.java 2008-11-03 13:56:37 UTC (rev 4153) @@ -61,8 +61,8 @@ b&=!scn.isSelectionEmpty(); // Si le nombre d'atomiques est de 2 sur le m\xEAme bloc b&=!scn.isAtomicMode() || (hlp.getNbAtomicSelected()==2 && (idGeom=hlp.getUniqueSelectedIdx())!=-1); - // Si le nombre de selectionn\xE9s est de 1 en mode global - b&=scn.isAtomicMode() || (idGeom=hlp.getUniqueSelectedIdx())!=-1; + // Si le nombre de selectionn\xE9s est de 1 ou plus en mode global + b&=scn.isAtomicMode() || true; // Si la g\xE9om\xE9trie appartient a un calque polylignes. b&=scn.getLayerForId(idGeom) instanceof MdlLayer2dLine; @@ -70,7 +70,7 @@ } public String getEnableCondition() { - return EbliResource.EBLI.getString("<p>En mode sommet, s\xE9lectionner 2 sommets d'un m\xEAme objet<p>En mode global, un objet"); + return EbliResource.EBLI.getString("<p>En mode sommet, s\xE9lectionner 2 sommets d'un m\xEAme objet<p>En mode global, un ou plusieurs objet(s)"); } /* (non-Javadoc) Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneRefinementAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneRefinementAction.java 2008-11-03 12:28:29 UTC (rev 4152) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneRefinementAction.java 2008-11-03 13:56:37 UTC (rev 4153) @@ -61,8 +61,8 @@ b&=!scn.isSelectionEmpty(); // Si le nombre d'atomiques est de 2 sur le m\xEAme bloc b&=!scn.isAtomicMode() || (hlp.getNbAtomicSelected()==2 && (idGeom=hlp.getUniqueSelectedIdx())!=-1); - // Si le nombre de selectionn\xE9s est de 1 en mode global - b&=scn.isAtomicMode() || (idGeom=hlp.getUniqueSelectedIdx())!=-1; + // Si le nombre de selectionn\xE9s est de 1 ou plus en mode global + b&=scn.isAtomicMode() || true; // Si la g\xE9om\xE9trie appartient a un calque polylignes. b&=scn.getLayerForId(idGeom) instanceof MdlLayer2dLine; @@ -70,7 +70,7 @@ } public String getEnableCondition() { - return EbliResource.EBLI.getString("<p>En mode sommet, s\xE9lectionner 2 sommets d'un m\xEAme objet<p>En mode global, un objet"); + return EbliResource.EBLI.getString("<p>En mode sommet, s\xE9lectionner 2 sommets d'un m\xEAme objet<p>En mode global, un ou plusieurs objet(s)"); } /* (non-Javadoc) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-07 10:48:54
|
Revision: 4188 http://fudaa.svn.sourceforge.net/fudaa/?rev=4188&view=rev Author: emmanuel_martin Date: 2008-11-07 10:48:51 +0000 (Fri, 07 Nov 2008) Log Message: ----------- Bugfix : undo/redo se fait en plusieurs fois sur le rafinement et la d?\195?\169cimation Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-07 10:43:51 UTC (rev 4187) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2008-11-07 10:48:51 UTC (rev 4188) @@ -265,6 +265,8 @@ if (pnDecimation_==null) pnDecimation_=new MdlDecimationPanel(); + CtuluCommandComposite cmd=new CtuluCommandComposite(); + String title; if (getScene().isAtomicMode()) title=MdlResource.MDL.getString("D\xE9cimation entre 2 sommets"); @@ -294,12 +296,14 @@ if (mdld instanceof MdlModel2dLine) { MdlModel2dLine mdl=(MdlModel2dLine)mdld; mdl.decimate(getScene().sceneId2LayerId(idxGeom), idxdeb, idxfin, pnDecimation_.isNbPtsGiven() ? 0:1, pnDecimation_ - .getNbPts(), pnDecimation_.getDistance(), getMng()); + .getNbPts(), pnDecimation_.getDistance(), cmd); } super.getScene().clearSelection(); } } + if(getMng()!=null) + getMng().addCmd(cmd.getSimplify()); } /** @@ -309,6 +313,8 @@ if (pnRaffinement_==null) pnRaffinement_=new MdlRefinementPanel(); + CtuluCommandComposite cmd=new CtuluCommandComposite(); + String title; if (getScene().isAtomicMode()) title=MdlResource.MDL.getString("Raffinement entre 2 sommets"); @@ -338,12 +344,14 @@ if (mdld instanceof MdlModel2dLine) { MdlModel2dLine mdl=(MdlModel2dLine)mdld; mdl.refine(getScene().sceneId2LayerId(idxGeom), idxdeb, idxfin, pnRaffinement_.isNbPtsGiven() ? 0:1, pnRaffinement_ - .getNbPts(), pnRaffinement_.getDistance(), getMng()); + .getNbPts(), pnRaffinement_.getDistance(), cmd); } super.getScene().clearSelection(); } } + if(getMng()!=null) + getMng().addCmd(cmd.getSimplify()); } /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java 2008-11-07 10:43:51 UTC (rev 4187) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java 2008-11-07 10:48:51 UTC (rev 4188) @@ -11,6 +11,7 @@ import java.util.ArrayList; +import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluListSelectionInterface; @@ -77,9 +78,12 @@ } if (coords.length>=2) { GISPolyligne poly=(GISPolyligne)GISGeometryFactory.INSTANCE.createLineString(coords); - int idx=getGeomData().addGeometry(poly, null, _cmd); + CtuluCommandComposite cmd=new CtuluCommandComposite(); + int idx=getGeomData().addGeometry(poly, null, cmd); if (idx!=-1) - setGeomModif(idx, _cmd); + setGeomModif(idx, cmd); + if(_cmd!=null) + _cmd.addCmd(cmd.getSimplify()); return true; } else @@ -177,8 +181,11 @@ } CtuluListSelectionInterface ids = new CtuluListSelection(list.toNativeArray()); - getGeomData().removeAtomics(_idxGeom, ids, null, _cmd); // L'UI est null, le cas ou moins de 2 points ne peut pas arriver. - setGeomModif(_idxGeom, _cmd); // Modification de l'etat de la g\xE9om\xE9trie + CtuluCommandComposite cmd=new CtuluCommandComposite(); + getGeomData().removeAtomics(_idxGeom, ids, null, cmd); // L'UI est null, le cas ou moins de 2 points ne peut pas arriver. + setGeomModif(_idxGeom, cmd); // Modification de l'etat de la g\xE9om\xE9trie + if(_cmd!=null) + _cmd.addCmd(cmd.getSimplify()); return true; } @@ -238,8 +245,11 @@ } GISPolyligne newgeom=(GISPolyligne)GISGeometryFactory.INSTANCE.createLineString((Coordinate[])coords.toArray(new Coordinate[0])); - getGeomData().setGeometry(_idxGeom, newgeom, _cmd); - setGeomModif(_idxGeom, _cmd); // Modification de l'etat de la g\xE9om\xE9trie + CtuluCommandComposite cmd=new CtuluCommandComposite(); + getGeomData().setGeometry(_idxGeom, newgeom, cmd); + setGeomModif(_idxGeom, cmd); // Modification de l'etat de la g\xE9om\xE9trie + if(_cmd!=null) + _cmd.addCmd(cmd.getSimplify()); return true; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-18 21:54:51
|
Revision: 4224 http://fudaa.svn.sourceforge.net/fudaa/?rev=4224&view=rev Author: bmarchan Date: 2008-11-18 21:54:47 +0000 (Tue, 18 Nov 2008) Log Message: ----------- Correction import projet pour d?\195?\169locker les fichiers lus. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-11-18 17:25:33 UTC (rev 4223) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-11-18 21:54:47 UTC (rev 4224) @@ -23,9 +23,11 @@ import javax.swing.JOptionPane; import javax.swing.filechooser.FileFilter; +import org.fudaa.ctulu.CtuluArkLoader; import org.fudaa.ctulu.CtuluExportDataInterface; import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluRunnable; import org.fudaa.ctulu.CtuluTaskDelegate; import org.fudaa.ctulu.ProgressionInterface; @@ -437,18 +439,25 @@ public void importProject() { MdlProjectImportPanel pn=new MdlProjectImportPanel(); if (CtuluDialogPanel.isOkResponse(pn.afficheModale(getFrame(), "Import d'un projet"))) { - FudaaSaveZipLoader loader = null; + File f=pn.getFile(); try { - loader = pn.getLoader(); - final FudaaSaveZipLoader finalLoader = loader; + FudaaSaveZipLoader loader = new FudaaSaveZipLoader(f); + String[] ignoredLayers=pn.getIgnoredLayers(); + for (String s : ignoredLayers) { + loader.setOption(CtuluArkLoader.OPTION_LAYER_IGNORE+s,CtuluLibString.toString(true)); + } + final CtuluTaskDelegate createTask = createTask("Import d'un projet"); // FIXME BM: Suppression de la tache dans un thread diff\xE9rent, car l'appli se bloque // Probable pb de deadlock. // createTask.start(new Runnable() { // public void run() { - FudaaSaveLib.restoreAndLaunch(MdlImplementation.this, currentFrame_, createTask.getStateReceiver(), finalLoader); + FudaaSaveLib.restoreAndLaunch(MdlImplementation.this, currentFrame_, createTask.getStateReceiver(), loader); // } // }); + + // Liberation du fichier. + loader.close(); } catch (final IOException _evt) { FuLog.error(_evt); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java 2008-11-18 17:25:33 UTC (rev 4223) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java 2008-11-18 21:54:47 UTC (rev 4224) @@ -35,36 +35,29 @@ import javax.swing.tree.TreeCellRenderer; import javax.swing.tree.TreePath; -import com.memoire.bu.BuButton; -import com.memoire.bu.BuCheckBox; -import com.memoire.bu.BuHorizontalLayout; -import com.memoire.bu.BuLabel; -import com.memoire.bu.BuRadioButton; -import com.memoire.bu.BuResource; -import com.memoire.bu.BuVerticalLayout; - -import org.fudaa.ctulu.CtuluArkLoader; import org.fudaa.ctulu.CtuluLib; -import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.gui.CtuluCellRenderer; import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.gui.CtuluFileChooserPanel; - -import org.fudaa.ebli.calque.BCalquePersistenceGroupe; - -import org.fudaa.fudaa.commun.save.FudaaSaveLib; +import org.fudaa.fudaa.commun.save.FudaaSaveProject; import org.fudaa.fudaa.commun.save.FudaaSaveZipLoader; import org.fudaa.fudaa.modeleur.MdlImplementation.MdlFileFilter; import org.fudaa.fudaa.modeleur.MdlProjectImportTreeModel.LayerNode; import org.fudaa.fudaa.sig.FSigLib; -import org.fudaa.fudaa.tr.common.TrProjectPersistence; import org.fudaa.fudaa.tr.common.TrResource; +import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuRadioButton; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuVerticalLayout; +import com.memoire.fu.FuLog; + /** * @author fred deniger * @version $Id: MdlProjectImportPanel.java,v 1.1.2.1 2008/05/13 12:10:21 bmarchan Exp $ */ -public class MdlProjectImportPanel extends CtuluDialogPanel implements DocumentListener { +public class MdlProjectImportPanel extends CtuluDialogPanel { public static class CellRenderer extends JLabel implements TreeCellRenderer { @@ -113,6 +106,7 @@ MdlFileFilter flt_; JTree trLayers_; FudaaSaveZipLoader loader_=null; + String[] ignoredLayers=new String[0]; public MdlProjectImportPanel() { ActionListener rbListener=new ActionListener() { @@ -133,7 +127,7 @@ public void caretUpdate(CaretEvent e) { if (!filename_.equals(pn_.getTf().getText())) { filename_=pn_.getTf().getText(); - loader_=null; + closeLoader(); rbAllLayers_.doClick(); setErrorText(null); } @@ -172,7 +166,6 @@ add(sp); rbAllLayers_.doClick(); - pn_.getTf().getDocument().addDocumentListener(this); } @@ -190,13 +183,26 @@ } } - for (LayerNode nd : nds) { - loader_.setOption(CtuluArkLoader.OPTION_LAYER_IGNORE+nd.name_,CtuluLibString.toString(true)); + ignoredLayers=new String[nds.size()]; + for (int i=0; i<ignoredLayers.length; i++) { + ignoredLayers[i]=nds.get(i).name_; } } + closeLoader(); return true; } + public void cancel() { + closeLoader(); + } + + private void closeLoader() { + if (loader_!=null) { + try { loader_.close(); } catch (IOException _exc) {} + } + loader_=null; + } + private List<LayerNode> getChildrenLeafs(LayerNode _nd) { List<LayerNode> r=new ArrayList<LayerNode>(); int nb=_nd.getChildCount(); @@ -214,7 +220,7 @@ } private boolean isFileOK() { - loader_=null; + closeLoader(); final File f = pn_.getFile(); if (f == null || !f.exists()) { setErrorText(CtuluLib.getS("Le fichier n'existe pas")); @@ -234,48 +240,21 @@ try { // if (isFileOK()) { loader_=new FudaaSaveZipLoader(pn_.getFile()); + BuInformationsSoftware is=FudaaSaveProject.getSoftwareInfos(loader_); + FuLog.warning("File version : "+(is.version==null ? "Undefined":is.version)); // } } catch (IOException _exc) { setErrorText(TrResource.getS("Le fichier n'est pas accessible")); } return loader_; -// trLayers_.setModel(new MdlProjectImportTreeModel(loader_)); -// trLayers_.setVisible(true); - -// rbSelectedLayers_.setEnabled(loader_!=null); -// rbAllLayers_.setEnabled(loader_!=null); } - public void changedUpdate(final DocumentEvent _e) { -// valide(); + public File getFile() { + return pn_.getFile(); } - - public void insertUpdate(final DocumentEvent _e) { -// valide(); + + public String[] getIgnoredLayers() { + return ignoredLayers; } - - public void removeUpdate(final DocumentEvent _e) { -// valide(); - } - - public FudaaSaveZipLoader getLoader() throws IOException { -// if (cbNoNewCalque_.isSelected()) { -// res.setOption("option.inNewLayers", CtuluLibString.toString(false)); -// res.setOption(BCalquePersistenceGroupe.getNoLayerOpt(), CtuluLibString.toString(true)); -// } -// if (cbNoGeom_.isSelected()) { -// res.setOption(FudaaSaveLib.getNoGeogLayerOpt(), CtuluLibString.toString(true)); -// } - return loader_; - } - -// boolean isAcceptable(final File _f) { -// if (_f != null && _f.exists() && _f.isFile()) { -// final String name = _f.getName(); -// return name.endsWith(TrProjectPersistence.getPostProjectExt()) -// || name.endsWith(TrProjectPersistence.getPreProjectExt()); -// } -// return false; -// } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-12-04 10:21:26
|
Revision: 4266 http://fudaa.svn.sourceforge.net/fudaa/?rev=4266&view=rev Author: bmarchan Date: 2008-12-04 10:21:24 +0000 (Thu, 04 Dec 2008) Log Message: ----------- Chgt nom de classe SceneLinearisePolyligne -> SceneLinearisePolyligneAction Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligne.java 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-12-04 09:55:13 UTC (rev 4265) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-12-04 10:21:24 UTC (rev 4266) @@ -34,7 +34,7 @@ import org.fudaa.fudaa.modeleur.action.SceneInvertAction; import org.fudaa.fudaa.modeleur.action.SceneMoveInLayerAction; import org.fudaa.fudaa.modeleur.action.SceneProfilInterpolation; -import org.fudaa.fudaa.modeleur.action.SceneLinearisePolyligne; +import org.fudaa.fudaa.modeleur.action.SceneLinearisePolyligneAction; import org.fudaa.fudaa.modeleur.action.SceneProjectionAction; import org.fudaa.fudaa.modeleur.action.SceneRefinementAction; import org.fudaa.fudaa.sig.layer.FSigEditor; @@ -83,7 +83,7 @@ acts.add(new SceneInvertAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneProjectionAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneProfilInterpolation((MdlSceneEditor)sceneEditor_)); - acts.add(new SceneLinearisePolyligne((MdlSceneEditor) sceneEditor_)); + acts.add(new SceneLinearisePolyligneAction((MdlSceneEditor) sceneEditor_)); acts.add(new SceneAbscisseCurviligneAction(this)); getSceneEditor().setActions(acts.toArray(new EbliActionAbstract[0])); } Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligne.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligne.java 2008-12-04 09:55:13 UTC (rev 4265) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligne.java 2008-12-04 10:21:24 UTC (rev 4266) @@ -1,73 +0,0 @@ -/* - * @creation 2 d\xE9c. 2008 - * @modification $Date:$ - * @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.action; - -import java.awt.event.ActionEvent; - -import org.fudaa.ctulu.CtuluLib; -import org.fudaa.ctulu.gis.GISAttributeConstants; -import org.fudaa.ctulu.gis.GISPolyligne; -import org.fudaa.ctulu.gis.GISZoneCollection; -import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; -import org.fudaa.ebli.calque.ZModeleGeometry; -import org.fudaa.ebli.calque.ZScene; -import org.fudaa.ebli.calque.ZSelectionEvent; -import org.fudaa.ebli.calque.ZSelectionListener; -import org.fudaa.ebli.calque.ZScene.SceneSelectionHelper; -import org.fudaa.ebli.commun.EbliActionSimple; -import org.fudaa.fudaa.modeleur.MdlSceneEditor; -import org.fudaa.fudaa.ressource.FudaaResource; - -/** - * Action permettant de rendre rectiligne un profil. - * @author Emmanuel MARTIN - * @version $Id:$ - */ -public class SceneLinearisePolyligne extends EbliActionSimple implements ZSelectionListener { - protected MdlSceneEditor sceneEditor_; - - public SceneLinearisePolyligne(MdlSceneEditor _sceneEditor) { - super(FudaaResource.FUDAA.getString("Rendre rectiligne une ou plusieurs polyligne(s)"), null, "RECTILIGNE_POLYLIGNE"); - setDefaultToolTip(FudaaResource.FUDAA.getString("Rend rectiligne une ou plusieurs polyligne(s)")); - sceneEditor_=_sceneEditor; - sceneEditor_.getScene().addSelectionListener(this); - } - - public void actionPerformed(final ActionEvent _e) { - sceneEditor_.linearisePolyligne(); - } - - public void updateForSelectionChanged() { - ZScene scn=sceneEditor_.getScene(); - SceneSelectionHelper hlp=sceneEditor_.getScene().getSelectionHelper(); - // Au moins une et seulement des polylignes de selectionn\xE9es. Et si en mode - // atomique, deux sommets doivent \xEAtre selectionn\xE9s pour chacune d'entre - // elles. - int[] geomSelected=scn.getSelectionHelper().getSelectedIndexes(); - boolean b=geomSelected.length>0; - int i=0; - while(b&&i<geomSelected.length){ - b=scn.getObject(geomSelected[i]) instanceof GISPolyligne; - if(scn.isAtomicMode()) - b=b&&scn.getLayerSelectionMulti()!=null&&scn.getLayerSelectionMulti().getSelection(geomSelected[i]).getNbSelectedIndex()==2; - i++; - } - setEnabled(b); - } - - public String getEnableCondition() { - return CtuluLib.getS("Selectionner une ou plusieurs polyligne(s), en mode global ou atomique (pour cette derni\xE8re selectionnez deux points pour chaque polyligne)."); - } - - /* (non-Javadoc) - * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) - */ - public void selectionChanged(ZSelectionEvent _evt) { - updateForSelectionChanged(); - } -} Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java (from rev 4265, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligne.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java 2008-12-04 10:21:24 UTC (rev 4266) @@ -0,0 +1,73 @@ +/* + * @creation 2 d\xE9c. 2008 + * @modification $Date:$ + * @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.action; + +import java.awt.event.ActionEvent; + +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISPolyligne; +import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZModeleGeometry; +import org.fudaa.ebli.calque.ZScene; +import org.fudaa.ebli.calque.ZSelectionEvent; +import org.fudaa.ebli.calque.ZSelectionListener; +import org.fudaa.ebli.calque.ZScene.SceneSelectionHelper; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.fudaa.modeleur.MdlSceneEditor; +import org.fudaa.fudaa.ressource.FudaaResource; + +/** + * Action permettant de rendre rectiligne un profil. + * @author Emmanuel MARTIN + * @version $Id$ + */ +public class SceneLinearisePolyligneAction extends EbliActionSimple implements ZSelectionListener { + protected MdlSceneEditor sceneEditor_; + + public SceneLinearisePolyligneAction(MdlSceneEditor _sceneEditor) { + super(FudaaResource.FUDAA.getString("Rendre rectiligne des polylignes"), null, "RECTILIGNE_POLYLIGNE"); +// setDefaultToolTip(FudaaResource.FUDAA.getString("Rend rectiligne une ou plusieurs polyligne(s)")); + sceneEditor_=_sceneEditor; + sceneEditor_.getScene().addSelectionListener(this); + } + + public void actionPerformed(final ActionEvent _e) { + sceneEditor_.linearisePolyligne(); + } + + public void updateForSelectionChanged() { + ZScene scn=sceneEditor_.getScene(); + SceneSelectionHelper hlp=sceneEditor_.getScene().getSelectionHelper(); + // Au moins une et seulement des polylignes de selectionn\xE9es. Et si en mode + // atomique, deux sommets doivent \xEAtre selectionn\xE9s pour chacune d'entre + // elles. + int[] geomSelected=scn.getSelectionHelper().getSelectedIndexes(); + boolean b=geomSelected.length>0; + int i=0; + while(b&&i<geomSelected.length){ + b=scn.getObject(geomSelected[i]) instanceof GISPolyligne; + if(scn.isAtomicMode()) + b=b&&scn.getLayerSelectionMulti()!=null&&scn.getLayerSelectionMulti().getSelection(geomSelected[i]).getNbSelectedIndex()==2; + i++; + } + setEnabled(b); + } + + public String getEnableCondition() { + return CtuluLib.getS("<p>En mode sommet, s\xE9lectionner deux points pour chaque polyligne<p>En mode global, s\xE9lectionner une ou plusieurs polyligne(s)."); + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) + */ + public void selectionChanged(ZSelectionEvent _evt) { + updateForSelectionChanged(); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:mergeinfo + /branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligne.java:3445-3850 /branches/FudaaModeleur_TC1/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligne.java:3861-3891 Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-12-05 14:33:37
|
Revision: 4276 http://fudaa.svn.sourceforge.net/fudaa/?rev=4276&view=rev Author: bmarchan Date: 2008-12-05 14:33:27 +0000 (Fri, 05 Dec 2008) Log Message: ----------- Debut mise en place 1D. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java 2008-12-05 14:33:27 UTC (rev 4276) @@ -0,0 +1,71 @@ +/* + * @creation 20 janv. 08 + * @modification $Date$ + * @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; + +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.print.PageFormat; + +import com.db4o.ObjectContainer; + +import com.memoire.bu.BuCutCopyPasteInterface; +import com.memoire.bu.BuInformationsDocument; +import com.memoire.bu.BuUndoRedoInterface; + +import org.fudaa.ctulu.CtuluCommandManager; +import org.fudaa.ctulu.CtuluExportDataInterface; +import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ctulu.CtuluUndoRedoInterface; +import org.fudaa.ctulu.ProgressionInterface; +import org.fudaa.ctulu.image.CtuluImageImporter; +import org.fudaa.ctulu.image.CtuluImageProducer; + +import org.fudaa.ebli.calque.ZEbliFilleCalques; +import org.fudaa.ebli.impression.EbliFilleImprimable; + +import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; +import org.fudaa.fudaa.commun.save.FudaaFilleVisuPersistence; +import org.fudaa.fudaa.commun.save.FudaaSavable; +import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; +import org.fudaa.fudaa.sig.FSigResource; + +/** + * La fenetre interne vue 2D des donn\xE9es du modeleur. Elle construit le composant arbre de + * calques {@link org.fudaa.ebli.calque.BArbreCalque}. La plupart des traitements est + * d\xE9l\xE9gu\xE9e au composant {@link org.fudaa.ebli.calque.ZEbliCalquesPanel} encapsul\xE9. + * + * @author fred deniger + * @author bertrand marchand + * @version $Id$ + */ +public class MdlFille1d extends EbliFilleImprimable { + + public MdlFille1d(FudaaCommonImplementation _appli) { + super("", true, false, true, true, _appli, null); + setName("mdlFille1d"); + setTitle(FSigResource.FSIG.getString("Vue 1D")); + setPreferredSize(new Dimension(500, 400)); + setClosable(true); + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.impression.EbliPageable#print(java.awt.Graphics, java.awt.print.PageFormat, int) + */ + public int print(Graphics _g, PageFormat _format, int _page) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.awt.print.Pageable#getNumberOfPages() + */ + public int getNumberOfPages() { + // TODO Auto-generated method stub + return 0; + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-12-05 14:18:58 UTC (rev 4275) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-12-05 14:33:27 UTC (rev 4276) @@ -15,6 +15,7 @@ import java.util.List; import javax.swing.JComponent; +import javax.swing.JInternalFrame; import javax.swing.JOptionPane; import javax.swing.filechooser.FileFilter; @@ -40,6 +41,7 @@ import org.fudaa.fudaa.commun.save.FudaaSaveLib; import org.fudaa.fudaa.commun.save.FudaaSaveProject; import org.fudaa.fudaa.commun.save.FudaaSaveZipLoader; +import org.fudaa.fudaa.modeleur.action.MdlShow1DFrameAction; import org.fudaa.fudaa.modeleur.action.MdlShow2DFrameAction; import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.FSigProjectPersistence; @@ -120,6 +122,8 @@ /** Fenetre interne pour le modeleur 2D. */ MdlFille2d mdl2dFrame_; + /** Fenetre interne pour le modeleur 1D */ + MdlFille1d mdl1dFrame_=null; /** Projet modeleur. */ MdlProjet project_; @@ -181,6 +185,24 @@ public MdlFille2d get2dFrame() { return mdl2dFrame_; } + + /** + * Installe la vue 1d sur le desktop, et la rend active. + */ + public void install1dFrame() { + if (mdl1dFrame_==null) { + mdl1dFrame_ = new MdlFille1d(this); + } + boolean alwaysInstalled=false; + for (JInternalFrame f: getAllInternalFrames()) { + if (f.equals(mdl1dFrame_)) { + alwaysInstalled=true; + break; + } + } + if (!alwaysInstalled) addInternalFrame(mdl1dFrame_); + activateInternalFrame(mdl1dFrame_); + } protected boolean buildExportDataToolIcon() { return true; @@ -562,7 +584,7 @@ protected BuMenu buildProjectMenu() { BuMenu mn=new BuMenu(FudaaResource.FUDAA.getString("Projet"),"mnPROJECT"); mn.add(new MdlShow2DFrameAction(this)); -// mnProject.add(new MdlShow1DFrameAction(this)); +// mn.add(new MdlShow1DFrameAction(this)); mn.setVisible(false); return mn; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java 2008-12-05 14:18:58 UTC (rev 4275) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java 2008-12-05 14:33:27 UTC (rev 4276) @@ -30,6 +30,6 @@ } public void actionPerformed(final ActionEvent _e) { - impl_.warn("Pas impl\xE9ment\xE9","La fenetre 1D est a venir..."); + impl_.install1dFrame(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-12-12 17:04:49
|
Revision: 4298 http://fudaa.svn.sourceforge.net/fudaa/?rev=4298&view=rev Author: emmanuel_martin Date: 2008-12-12 17:04:43 +0000 (Fri, 12 Dec 2008) Log Message: ----------- Commit de base sur le modeleur 1d : a consid?\195?\169r?\195?\169 comme une version alpha (bogu?\195?\169e et ne pr?\195?\169sentant pas toutes les fonctionnalit?\195?\169s attendues). Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/Controller1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometry.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueBief.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueCourbe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueTableau.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java 2008-12-12 08:32:49 UTC (rev 4297) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlFille1d.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -1,71 +0,0 @@ -/* - * @creation 20 janv. 08 - * @modification $Date$ - * @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; - -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.print.PageFormat; - -import com.db4o.ObjectContainer; - -import com.memoire.bu.BuCutCopyPasteInterface; -import com.memoire.bu.BuInformationsDocument; -import com.memoire.bu.BuUndoRedoInterface; - -import org.fudaa.ctulu.CtuluCommandManager; -import org.fudaa.ctulu.CtuluExportDataInterface; -import org.fudaa.ctulu.CtuluUI; -import org.fudaa.ctulu.CtuluUndoRedoInterface; -import org.fudaa.ctulu.ProgressionInterface; -import org.fudaa.ctulu.image.CtuluImageImporter; -import org.fudaa.ctulu.image.CtuluImageProducer; - -import org.fudaa.ebli.calque.ZEbliFilleCalques; -import org.fudaa.ebli.impression.EbliFilleImprimable; - -import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; -import org.fudaa.fudaa.commun.save.FudaaFilleVisuPersistence; -import org.fudaa.fudaa.commun.save.FudaaSavable; -import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; -import org.fudaa.fudaa.sig.FSigResource; - -/** - * La fenetre interne vue 2D des donn\xE9es du modeleur. Elle construit le composant arbre de - * calques {@link org.fudaa.ebli.calque.BArbreCalque}. La plupart des traitements est - * d\xE9l\xE9gu\xE9e au composant {@link org.fudaa.ebli.calque.ZEbliCalquesPanel} encapsul\xE9. - * - * @author fred deniger - * @author bertrand marchand - * @version $Id$ - */ -public class MdlFille1d extends EbliFilleImprimable { - - public MdlFille1d(FudaaCommonImplementation _appli) { - super("", true, false, true, true, _appli, null); - setName("mdlFille1d"); - setTitle(FSigResource.FSIG.getString("Vue 1D")); - setPreferredSize(new Dimension(500, 400)); - setClosable(true); - } - - /* (non-Javadoc) - * @see org.fudaa.ebli.impression.EbliPageable#print(java.awt.Graphics, java.awt.print.PageFormat, int) - */ - public int print(Graphics _g, PageFormat _format, int _page) { - // TODO Auto-generated method stub - return 0; - } - - /* (non-Javadoc) - * @see java.awt.print.Pageable#getNumberOfPages() - */ - public int getNumberOfPages() { - // TODO Auto-generated method stub - return 0; - } -} Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-12-12 08:32:49 UTC (rev 4297) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -43,6 +43,7 @@ import org.fudaa.fudaa.commun.save.FudaaSaveZipLoader; import org.fudaa.fudaa.modeleur.action.MdlShow1DFrameAction; import org.fudaa.fudaa.modeleur.action.MdlShow2DFrameAction; +import org.fudaa.fudaa.modeleur.modeleur1d.MdlFille1d; import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.FSigProjectPersistence; import org.fudaa.fudaa.sig.FSigResource; @@ -193,14 +194,14 @@ if (mdl1dFrame_==null) { mdl1dFrame_ = new MdlFille1d(this); } - boolean alwaysInstalled=false; + boolean alreadyInstalled=false; for (JInternalFrame f: getAllInternalFrames()) { if (f.equals(mdl1dFrame_)) { - alwaysInstalled=true; + alreadyInstalled=true; break; } } - if (!alwaysInstalled) addInternalFrame(mdl1dFrame_); + if (!alreadyInstalled) addInternalFrame(mdl1dFrame_); activateInternalFrame(mdl1dFrame_); } @@ -584,7 +585,7 @@ protected BuMenu buildProjectMenu() { BuMenu mn=new BuMenu(FudaaResource.FUDAA.getString("Projet"),"mnPROJECT"); mn.add(new MdlShow2DFrameAction(this)); -// mn.add(new MdlShow1DFrameAction(this)); + mn.add(new MdlShow1DFrameAction(this)); mn.setVisible(false); return mn; Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/Controller1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/Controller1d.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/Controller1d.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -0,0 +1,196 @@ +/* + * @creation 9 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d; + +import java.util.List; + +import javax.swing.JComponent; +import javax.swing.JDesktopPane; +import javax.swing.event.InternalFrameAdapter; +import javax.swing.event.InternalFrameEvent; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + +import org.fudaa.ctulu.CtuluListSelectionEvent; +import org.fudaa.ctulu.CtuluListSelectionListener; +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; +import org.fudaa.ebli.calque.BArbreCalqueModel; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZScene; +import org.fudaa.ebli.calque.ZSelectionEvent; +import org.fudaa.ebli.calque.ZSelectionListener; +import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; +import org.fudaa.ebli.commun.EbliLib; +import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.modeleur.MdlImplementation; + +import com.memoire.bu.BuDesktop; + +/** + * Cette classe a la charge et la responsabilit\xE9 de g\xE9rer toutes les actions, + * interactions et r\xE9actions de la fen\xEAtre 1d dans son ensemble. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class Controller1d extends InternalFrameAdapter implements ZSelectionListener, ListSelectionListener, CtuluListSelectionListener { + + /** La vue du bief. */ + private VueBief vueBief_; + /** La vue d'un profil par tableau. */ + private VueTableau vueTableau_; + /** La vue d'un profil via une courbe. */ + private VueCourbe vueCourbe_; + /** Le lien avec le reste de l'application. */ + private MdlImplementation appli_; + /** La frame contenant tous les widgets 1d. */ + private MdlFille1d frame1d_; + /** Indique si on doit \xE9couter les \xE9venements de selection. */ + private boolean listenEventSelection_=true; + /** L'adapter des donn\xE9es de la geometry en cours de manipulation. */ + private DataGeometryAdapter dataGeomAdapter_; + + public Controller1d(MdlImplementation _appli, MdlFille1d _frame1d){ + appli_=_appli; + frame1d_=_frame1d; + frame1d_.addInternalFrameListener(this); + vueBief_=new VueBief(appli_, this); + vueBief_.getScene().addSelectionListener(this); + treeModel_=vueBief_.getArbreCalqueModel(); + dataGeomAdapter_=new DataGeometryAdapter(null, -1); + vueTableau_=new VueTableau(this, dataGeomAdapter_); + vueTableau_.addSelectionListener(this); + vueCourbe_=new VueCourbe(this, dataGeomAdapter_); + vueCourbe_.addSelectionListener(this); + } + + public VueBief getVueBief(){ + return vueBief_; + } + public VueTableau getVueTableau(){ + return vueTableau_; + } + public VueCourbe getVueCourbe(){ + return vueCourbe_; + } + + // Gestion de l'arbre \\ + + /** Le model de l'arbre a afficher sur la droite de l'\xE9cran. */ + private BArbreCalqueModel treeModel_; + + /** Retourne le model de l'abre a afficher sur la droite de l'\xE9can. */ + public BArbreCalqueModel getTreeModel(){ + return treeModel_; + } + + /** + * Mise \xE0 jour de l'arbre des calques a chaque activation de la fen\xEAtre 1d. La + * mise \xE0 jour s'effectue en fonction des calques 2d. + */ + public void internalFrameActivated(InternalFrameEvent e) { + vueBief_.updateTree(); + } + + // Gestion des actions \\ + + /** Les action \xE0 la fen\xEAtre 1d. */ + JComponent[] specificTools_; + + /** + * Renvoie les actions sp\xE9cifiques \xE0 la fen\xEAtre 1d. Ils seront affiches dans la + * tool bar de l'application. + * + * @return specificTools_ + */ + public JComponent[] getToolsActions() { + if (specificTools_==null) { + final JDesktopPane j=frame1d_.getDesktopPane(); + BuDesktop buJ=null; + if (j instanceof BuDesktop) + buJ=(BuDesktop)j; + final List<?> l=EbliLib.updateToolButtons(vueBief_.getController().getActions(), buJ); + specificTools_=new JComponent[l.size()]; + l.toArray(specificTools_); + } + if (specificTools_==null) + return null; + final JComponent[] r=new JComponent[specificTools_.length]; + System.arraycopy(specificTools_, 0, r, 0, r.length); + return r; + } + + // Gestion de la selection entre les trois widgets (tableau, bief et courbe) \\ + + /** + * Changement de la selection dans le widget de bief. + */ + public void selectionChanged(ZSelectionEvent _evt) { + ZScene scene=vueBief_.getScene(); + int sceneIdSelected=scene.getSelectionHelper().getUniqueSelectedIdx(); + if(sceneIdSelected==-1) + // Aucune selection + dataGeomAdapter_.setData(null, -1); + else { + int idSelected=scene.sceneId2LayerId(sceneIdSelected); + // Seulement en cas de changement de selection + if (idSelected!=dataGeomAdapter_.getIdxGeom()) { + // Extraction des diff\xE9rentes informations n\xE9c\xE9ssaires au changement de + // courbe \\ + ZCalqueAffichageDonneesInterface calque=scene.getLayerForId(sceneIdSelected); + if (calque.modeleDonnees() instanceof ZModeleLigneBriseeEditable) { + GISZoneCollectionLigneBrisee zone=((ZModeleLigneBriseeEditable)calque.modeleDonnees()).getGeomData(); + if (zone.getIndiceOf(GISAttributeConstants.NATURE)!=-1) { + if (zone.getValue(zone.getIndiceOf(GISAttributeConstants.NATURE), idSelected)==GISAttributeConstants.ATT_NATURE_PF) { + try { + dataGeomAdapter_.setData(zone, idSelected); + } + catch (IllegalArgumentException _exp) { + appli_.warn(FudaaLib.getS("Profil incorrect"), _exp.getMessage()); + } + } + else { + // On a pas selectionn\xE9 un profil, on annule la selection + dataGeomAdapter_.setData(null, -1); + scene.clearSelection(); + } + } + else + // Il n'y a pas d'attribut Nature, on annule la selection + scene.clearSelection(); + } + else + // Le type de model ne correspond pas, on annule la selection + scene.clearSelection(); + } + } + } + + /** + * Changement de la selection dans le widget du tableau. + */ + public void valueChanged(ListSelectionEvent e) { + if (listenEventSelection_) { + listenEventSelection_=false; + vueCourbe_.setSelection(vueTableau_.getSelection()); + listenEventSelection_=true; + } + } + + /** + * Changement de la selection dans le widget de la courbe. + */ + public void listeSelectionChanged(CtuluListSelectionEvent _e) { + if (listenEventSelection_) { + listenEventSelection_=false; + vueTableau_.setSelection(vueCourbe_.getSelection()); + listenEventSelection_=true; + } + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/Controller1d.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometry.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometry.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometry.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -0,0 +1,57 @@ +/* + * @creation 10 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d; + +/** + * Une interface permettant d'acc\xE9der aux informations manipul\xE9es par les + * widgets tableau et courbe. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public interface DataGeometry { + + /** Ajout d'un nouveau listener. */ + public void addDataGeometryListener(DataGeometryListener _listener); + + /** Supprime le listener. */ + public void removeDataGeometryListener(DataGeometryListener _listener); + + /** Retourne le nombre de points total de la geometry. */ + public int getNbPoint(); + + /** Retourne l'abcisse curviligne du point indiqu\xE9 en param\xE8tre. */ + public double getCurv(int _idxPoint); + + /** Retourne la valeur maximal de l'abcisse curviligne. */ + public double getCurvMax(); + + /** Retourne la valeur minimal de l'abcisse curvilgne. */ + public double getCurvMin(); + + /** Retourne la valeur de z du point indiqu\xE9 en param\xE8tre. */ + public double getZ(int _idxPoint); + + /** Retourne la valeur maximal de z. */ + public double getZMax(); + + /** Retourne la valeur minimal de z. */ + public double getZMin(); + + /** Enregistre l'abcisse curviligne du point indiqu\xE9 en param\xE8tre. */ + public void setCurv(int _idxPoint, double _value); + + /** Enregistre la valeur de z du point indiqu\xE9 en param\xE8tre. */ + public void setZ(int _idxPoint, double _value); + + /** Enregistre l'abcisse curviligne et la valeur de z du point indiqu\xE9 en param\xE8tre. */ + public void setValues(int _idxPoint, double _valueCurv, double _valueZ); + + /** Supprime le point indiqu\xE9 en param\xE8tre. */ + public void remove(int _idxPoint); +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometry.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryAdapter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryAdapter.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryAdapter.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -0,0 +1,375 @@ +/* + * @creation 10 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d; + +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.ctulu.collection.CtuluCollection; +import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; +import org.fudaa.ctulu.gis.GISGeometryFactory; +import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; +import org.fudaa.fudaa.commun.FudaaLib; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; + +/** + * Cette classe permet d'adapter une GISZoneCollection en un model manipulable + * simplement. Cette simplification se fait en cachant toutes les informations + * inutils et en ajoutant une information d'abcisse curviligne. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +class DataGeometryAdapter implements DataGeometry { + private GISZoneCollectionLigneBrisee zone_; + private int idxGeom_; + private CtuluCollection z_; + private List<Double> curv_; + // Caches \\ + int idxZMax_; + int idxZMin_; + // Le profil est potentiellement coup\xE9 en trois, les deux indices qui suivent + // indique l'index de chacune de ces ruptures. + int idxRupture1_; + int idxRupture2_; + + public DataGeometryAdapter(GISZoneCollectionLigneBrisee _zone, int _idxGeom) throws IllegalArgumentException { + setData(_zone, _idxGeom); + } + + /** + * Permet de choisir la g\xE9om\xE9trie sur lequel l'instance va travailler. + * Hypoth\xE8se importante : les points de la g\xE9om\xE9tries sont correctement + * ordonn\xE9s (les points sont ordonn\xE9s en ordre croissant de leur abscisse + * curviligne). La veracit\xE9 de cette hypoth\xE8se n'est PAS v\xE9rifi\xE9 dans setData. + * + * @param _zone la zone contenant la g\xE9om\xE9trie + * @param _idxGeom l'indice de la g\xE9om\xE9trie dans _zone + */ + public void setData(GISZoneCollectionLigneBrisee _zone, int _idxGeom) throws IllegalArgumentException { + if (_zone==null&&_idxGeom==-1) { + zone_=null; + idxGeom_=-1; + z_=null; + curv_=null; + } + else if (_zone!=null&&_idxGeom>=0&&_idxGeom<_zone.getNbGeometries()&&_zone.getAttributeIsZ()!=null) { + try { + zone_=_zone; + idxGeom_=_idxGeom; + z_=(CtuluCollection)zone_.getValue(zone_.getIndiceOf(zone_.getAttributeIsZ()), idxGeom_); + curv_=new ArrayList<Double>(); + CoordinateSequence seq=((GISCoordinateSequenceContainerInterface)zone_.getGeometry(idxGeom_)).getCoordinateSequence(); + // Verifie qu'on a bien au minimum deux points. \\ + if (seq.size()<2) + throw new IllegalArgumentException(FudaaLib.getS("La g\xE9ometrie doit avoir au minimum deux points.")); + // Verifie que deux points cons\xE9cutifs ne sont pas confondus. \\ + for (int i=1; i<seq.size(); i++) + if (seq.getX(i-1)==seq.getX(i)&&seq.getY(i-1)==seq.getY(i)) + throw new IllegalArgumentException(FudaaLib.getS("Au moins deux points dans la g\xE9om\xE9trie sont confondus.")); + // Calcul des acbscisses curvilignes => hypoth\xE8se d'ordonnancement + // correcte des points \\ + double curvPre=0; + curv_.add((double)0); + for (int i=1; i<seq.size(); i++) { + double partialCurv=Math.sqrt(Math.pow(seq.getX(i)-seq.getX(i-1), 2)+Math.pow(seq.getY(i)-seq.getY(i-1), 2)); + curvPre=curvPre+partialCurv; + curv_.add(curvPre); + } + // Remplissage du cache Z \\ + idxZMax_=0; + idxZMin_=0; + for (int i=1; i<z_.getSize(); i++) { + double val=(Double)z_.getObjectValueAt(i); + if (val>(Double)z_.getObjectValueAt(idxZMax_)) + idxZMax_=i; + else if (val<(Double)z_.getObjectValueAt(idxZMin_)) + idxZMin_=i; + } + // / D\xE9termination des points de ruptures et verification qu'il y en a + // au maximun deux. \\\ + idxRupture1_=-1; + idxRupture2_=-1; + double upsilon=0.0001; // Marge d'erreur des calculs sur double + double coefDirecteur=0; + // coefDirX : Indique si le coefficient directeur est calcul\xE9 sur les x + // ou sur les y (au d\xE9nominateur). + boolean coefDirX; + // Initialisation : calcul du premier cofficient directeur \\ + int idx=1; + // Calcul du coefficient directeur + if (seq.getX(idx)!=seq.getX(idx-1)) { + // Calcul sur les x + coefDirX=true; + coefDirecteur=(seq.getY(idx)-seq.getY(idx-1))/(seq.getX(idx)-seq.getX(idx-1)); + } + else { + // Calcul sur les y + coefDirX=false; + coefDirecteur=0; + } + // Coeur : Calcul de tous les coefficients directeur et m\xE9morisation des + // ruptures \\ + for (idx=2; idx<seq.size(); idx++) { + double newCoefDirecteur; + boolean newCoefDirX; + // Calcul du coefficient directeur + if (seq.getX(idx)!=seq.getX(idx-1)) { + // Calcul sur les x + newCoefDirX=true; + newCoefDirecteur=(seq.getY(idx)-seq.getY(idx-1))/(seq.getX(idx)-seq.getX(idx-1)); + } + else { + // Calcul sur les y + newCoefDirX=false; + newCoefDirecteur=0; + } + // D\xE9tection des ruptures + if (coefDirX!=newCoefDirX||Math.abs(coefDirecteur-newCoefDirecteur)>upsilon) { + if (idxRupture1_==-1) + idxRupture1_=idx-1; + else if (idxRupture2_==-1) + idxRupture2_=idx-1; + else + throw new IllegalArgumentException(FudaaLib.getS("Il y a plus que deux ruptures dans la g\xE9om\xE9trie.")); + } + // Pr\xE9paration de l'it\xE9ration suivante + coefDirecteur=newCoefDirecteur; + coefDirX=newCoefDirX; + } + } + catch(IllegalArgumentException _exp) { + // Remise dans un \xE9tat coh\xE9rent + zone_=null; + idxGeom_=-1; + z_=null; + curv_=null; + fireDataGeometryNewGeom(); + // Propagation de l'exception + throw _exp; + } + } + else + throw new IllegalArgumentException(FudaaLib.getS("Les arguments sont invalides.")); + // Fin des verifications, tous est ok => accept\xE9 + fireDataGeometryNewGeom(); + } + + public GISZoneCollection getGISZoneCollection(){ + return zone_; + } + + public int getIdxGeom(){ + return idxGeom_; + } + + public int getNbPoint() { + if (zone_==null) + return 0; + else + return zone_.getGeometry(idxGeom_).getNumPoints(); + } + + public double getCurv(int _idxPoint) { + if(curv_==null) + return 0; + else + return curv_.get(_idxPoint); + } + + public double getZ(int _idxPoint) { + if (z_==null) + return 0; + else + return ((Double)z_.getObjectValueAt(_idxPoint)).doubleValue(); + } + + public void setCurv(int _idxPoint, double _value) { + if(curv_==null) + return; + CoordinateSequence seq=((GISCoordinateSequenceContainerInterface)zone_.getGeometry(idxGeom_)).getCoordinateSequence(); + Coordinate[] coords=seq.toCoordinateArray(); + if(_idxPoint==0||_idxPoint==seq.size()-1){ + System.out.println("Le d\xE9placement curviligne est points extr\xE9mit\xE9s n'est pour l'instant pas g\xE9r\xE9."); + return; + } + if(_value<0) + return; + // Cas o\xF9 l'index n'est pas sur un point de rupture \\ + if(_idxPoint!=idxRupture1_&&_idxPoint!=idxRupture2_){ + // Cas o\xF9 le point reste encadr\xE9 par les deux m\xEAme points (noralement toujours le cas) => le signe de xa-xb et de ya-yb ne change pas + if((_idxPoint==0||_value>curv_.get(_idxPoint-1))&&(_idxPoint==curv_.size()-1||_value<curv_.get(_idxPoint+1))){ + // D\xE9termination des deux index \xE0 utiliser + int idx1; + int idx2; + double valCurv; + if(_idxPoint>0){ // On a pas selectionn\xE9 le premier point + idx1=_idxPoint-1; + idx2=_idxPoint; + valCurv=_value-curv_.get(idx1); + } + else { + idx1=_idxPoint+1; + idx2=_idxPoint; + valCurv=Math.abs(_value-curv_.get(idx1)); + } + // Calcul des nouvelles coordonn\xE9es + if (seq.getX(idx2)!=seq.getX(idx1)) { + // Extraction du signe de xa-xb + double sign=Math.signum(seq.getX(idx2)-seq.getX(idx1)); + double coefDirecteur=(seq.getY(idx2)-seq.getY(idx1))/(seq.getX(idx2)-seq.getX(idx1)); + double newX=seq.getX(idx1)+sign*valCurv/Math.sqrt(1+coefDirecteur*coefDirecteur); + double newY=seq.getY(idx1)+coefDirecteur*(newX-seq.getX(idx1)); + coords[_idxPoint].x=newX; + coords[_idxPoint].y=newY; + } + else { // Cas du bout de profil vertical + // Extraction du signe de ya-yb + double sign=Math.signum(seq.getY(idx2)-seq.getY(idx1)); + double newY=seq.getY(idx1)+sign*(valCurv-curv_.get(idx1)); + coords[_idxPoint].y=newY; + } + zone_.setCoordinateSequence(idxGeom_, GISGeometryFactory.INSTANCE.getCoordinateSequenceFactory().create(coords), null); + // Mise a jour de la table des valeurs curvilignes + if (_idxPoint!=0) + curv_.set(_idxPoint, _value); + else { + for (int i=1; i<curv_.size(); i++) + curv_.set(i, curv_.get(i)-_value); + } + } + // Cas o\xF9 il y a d\xE9pacement d'un autre point => le signe de xa-xb va potentiellement chang\xE9 => cas interdit + else + //TODO : ne rien faire + System.out.println("le point est d\xE9plac\xE9 au dela de ses points l'encadrants, mouvement impossible."); + } + else + // Cas complexe : l'index est sur un point de rupture \\ + // TODO : d\xE9placement sur l'\xE9llipse avec verification de non croisement des axes du profil + System.out.println("Le point selectionn\xE9 est un point de rupture, cas non g\xE9r\xE9 pour l'instant."); + } + + public void setZ(int _idxPoint, double _value) { + if (z_!=null) { + z_.setObject(_idxPoint, _value, null); + // Mise \xE0 jour de idxZMin_ et idxZMax_ + if (_idxPoint==idxZMax_||_idxPoint==idxZMin_) { + idxZMax_=0; + idxZMin_=0; + for (int i=1; i<z_.getSize(); i++) { + double val=(Double)z_.getObjectValueAt(i); + if (val>(Double)z_.getObjectValueAt(idxZMax_)) + idxZMax_=i; + else if (val<(Double)z_.getObjectValueAt(idxZMin_)) + idxZMin_=i; + } + } + else if (_value>(Double)z_.getObjectValueAt(idxZMax_)) + idxZMax_=_idxPoint; + else if (_value<(Double)z_.getObjectValueAt(idxZMin_)) + idxZMin_=_idxPoint; + fireDataGeometryChanged(); + } + } + + public double getCurvMax() { + if(curv_==null) + return 0; + else + return curv_.get(curv_.size()-1); + } + + public double getCurvMin() { + if(curv_==null) + return 0; + else + return curv_.get(0); + } + + public double getZMax() { + if(z_==null) + return 0; + else + return (Double) z_.getObjectValueAt(idxZMax_); + } + + public double getZMin() { + if(z_==null) + return 0; + else + return (Double) z_.getObjectValueAt(idxZMin_); + } + + public void setValues(int _idxPoint, double _valueCurv, double _valueZ){ + setZ(_idxPoint, _valueZ); + setCurv(_idxPoint, _valueCurv); + } + + public void remove(int _idxPoint){ + if(zone_==null||z_==null||curv_==null) + return; + if(_idxPoint>=0&&_idxPoint<z_.getSize()){ + // Suppression du point dans la zone + CoordinateSequence seq=((GISCoordinateSequenceContainerInterface)zone_.getGeometry(idxGeom_)).getCoordinateSequence(); + Coordinate[] points=new Coordinate[seq.size()-1]; + for(int i=0;i<_idxPoint;i++) + points[i]=seq.getCoordinate(i); + for(int i=_idxPoint+1;i<seq.size();i++) + points[i]=seq.getCoordinate(i); + zone_.setGeometry(idxGeom_, GISGeometryFactory.INSTANCE.createGeometry(zone_.getGeometry(idxGeom_).getClass(), + GISGeometryFactory.INSTANCE.getCoordinateSequenceFactory().create(points)), null); + // Mise \xE0 jour des informations curvilignes \\ + if(_idxPoint==0){ + // Si _idxPoint est le premier point + curv_.remove(0); + for(int i=curv_.size();i>=0;i--) + curv_.set(i, curv_.get(i)-curv_.get(0)); + } + else if (_idxPoint>0&&_idxPoint<curv_.size()-1) { + // Cas g\xE9n\xE9ral si _idxPoint est entre le premier et le dernier + // Attention 'curv_' contient encore _idxPoint alors que 'points' ne le + // contient plus + double delta=-curv_.get(_idxPoint)-curv_.get(_idxPoint+1) + +Math.sqrt(Math.pow(points[_idxPoint-1].x-points[_idxPoint].x, 2) + +Math.pow(points[_idxPoint-1].y-points[_idxPoint].y, 2)); + curv_.remove(_idxPoint); + for(int i=_idxPoint;i<curv_.size();i++) + curv_.set(i, curv_.get(i)+delta); + } + else + // Si _idxPoint est le dernier + curv_.remove(curv_.size()-1); + } + } + + /** List de listener. */ + List<DataGeometryListener> listeners_=new ArrayList<DataGeometryListener>(); + + public void addDataGeometryListener(DataGeometryListener _listener) { + if(!listeners_.contains(_listener)) + listeners_.add(_listener); + } + + public void removeDataGeometryListener(DataGeometryListener _listener) { + if(listeners_.contains(_listener)) + listeners_.remove(_listener); + } + + protected void fireDataGeometryChanged(){ + for(DataGeometryListener listener:listeners_) + listener.dataGeometryChanged(); + } + + protected void fireDataGeometryNewGeom(){ + for(DataGeometryListener listener:listeners_) + listener.dataGeometryNewGeom(); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryAdapter.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryListener.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryListener.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -0,0 +1,25 @@ +/* + * @creation 10 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d; + +/** + * Listener de DataGeometry. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public interface DataGeometryListener { + /** + * Callback lors d'une modification dans le dataGeometry. + */ + public void dataGeometryChanged(); + + /** + * Callback lors que l'objet vis\xE9 par dataGeometry \xE0 \xE9t\xE9 chang\xE9. + */ + public void dataGeometryNewGeom(); +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/DataGeometryListener.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -0,0 +1,103 @@ +/* + * @creation 20 janv. 08 + * @modification $Date: 2008-12-05 15:33:27 +0100 (ven., 05 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.modeleur1d; + +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.print.PageFormat; + +import javax.swing.JComponent; +import javax.swing.JSplitPane; + +import org.fudaa.ctulu.gui.CtuluFilleWithComponent; +import org.fudaa.ebli.calque.BArbreCalque; +import org.fudaa.ebli.impression.EbliFilleImprimable; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.fudaa.modeleur.MdlImplementation; +import org.fudaa.fudaa.sig.FSigResource; + +/** + * La fenetre interne vue 2D des donn\xE9es du modeleur. Elle construit le composant arbre de + * calques {@link org.fudaa.ebli.calque.BArbreCalque}. La plupart des traitements est + * d\xE9l\xE9gu\xE9e au composant {@link org.fudaa.ebli.calque.ZEbliCalquesPanel} encapsul\xE9. + * + * @author fred deniger + * @author bertrand marchand + * @author Emmanuel Martin + * @version $Id$ + */ +public class MdlFille1d extends EbliFilleImprimable implements CtuluFilleWithComponent { + + /** Le controller 1d */ + private Controller1d controller_; + + public MdlFille1d(MdlImplementation _appli) { + super("", true, false, true, true, _appli, null); + // Configuration de la fen\xEAtre 1d \\ + setName("mdlFille1d"); + setTitle(FSigResource.FSIG.getString("Vue 1D")); + setPreferredSize(new Dimension(500, 400)); + setClosable(true); + controller_=new Controller1d(_appli, this); + // Construction des vues contenues dans la fen\xEAtre. \\ + add(new JSplitPane(JSplitPane.VERTICAL_SPLIT, controller_.getVueBief(), new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, controller_.getVueTableau(), controller_.getVueCourbe()))); + setPreferredSize(new Dimension(500, 500)); + setSize(getPreferredSize()); + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.impression.EbliPageable#print(java.awt.Graphics, java.awt.print.PageFormat, int) + */ + public int print(Graphics _g, PageFormat _format, int _page) { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.awt.print.Pageable#getNumberOfPages() + */ + public int getNumberOfPages() { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.gui.CtuluFilleWithComponent#createComponent() + */ + public JComponent createComponent() { + BArbreCalque tree=new BArbreCalque(controller_.getTreeModel()); + tree.setRootVisible(false); + return tree; + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.gui.CtuluFilleWithComponent#getComponentClass() + */ + public Class<?> getComponentClass() { + return BArbreCalque.class; + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.gui.CtuluFilleWithComponent#getComponentTitle() + */ + public String getComponentTitle() { + return EbliResource.EBLI.getString("Calques"); + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.gui.CtuluFilleWithComponent#majComponent(java.lang.Object) + */ + public void majComponent(Object _o) { + if (_o instanceof BArbreCalque) + ((BArbreCalque) _o).setModel(controller_.getTreeModel()); + } + + public JComponent[] getSpecificTools() { + return controller_.getToolsActions(); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueBief.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueBief.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueBief.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -0,0 +1,105 @@ +/* + * @creation 8 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d; + +import java.awt.Dimension; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; + +import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.BGroupeCalque; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.calque.edition.ZCalqueLigneBriseeEditable; +import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; +import org.fudaa.fudaa.modeleur.MdlImplementation; +import org.fudaa.fudaa.modeleur.layer.MdlLayer2dLine; +import org.fudaa.fudaa.sig.layer.FSigEditor; + + +/** + * Cette classe permet le visionnage du bief sur lequel la fenetre 1d travail. + * La vue y est de dessus. + * Il est possible de selectionner les profils pour indiquer lequel doit \xEAtre + * \xE9dit\xE9 via la vue par graphe 1d. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class VueBief extends ZEbliCalquesPanel { + + private MdlImplementation impl_; + /** Le controller de la fen\xEAtre 1d. */ + Controller1d controller_; + + public VueBief(MdlImplementation _impl, Controller1d _controller) { + super(_impl); + controller_=_controller; + getScene().setRestrictedToCalqueActif(false); + impl_=_impl; + gisEditor_=new FSigEditor(this); + gisEditor_.setUi(_impl); + addCalque(duplicateCalquesBiefs(impl_.get2dFrame().getVisuPanel().getArbreCalqueModel().getRootCalque().getCalqueParNom("gcBiefs")), true); + setPreferredSize(new Dimension(200, 200)); + setSize(getPreferredSize()); + } + + /** + * Duplique r\xE9cursivement la h\xE9rarchie de calque pass\xE9 en param\xE8tre. N'accepte + * que les BGroupeCalques et les calques du modeleur. + */ + private BCalque duplicateCalquesBiefs(BCalque _rootCalque) { + if (_rootCalque==null) + return null; + if (_rootCalque instanceof BGroupeCalque) { + BGroupeCalque bCalque; + try { + bCalque=(BGroupeCalque)_rootCalque.getClass().newInstance(); + } + catch (InstantiationException _exc) {return null;} + catch (IllegalAccessException _exc) {return null;} + // Reprise des param\xE8tres de l'instance + bCalque.setTitle(_rootCalque.getTitle()); + bCalque.setName(_rootCalque.getName()); + BCalque[] calquesFils=_rootCalque.getCalques(); + for (int i=0; i<calquesFils.length; i++) { + BCalque calqueFils=duplicateCalquesBiefs(calquesFils[i]); + if (calqueFils!=null) + bCalque.add(calqueFils); + } + return bCalque; + } + else if (_rootCalque instanceof MdlLayer2dLine) { + // R\xE9cup\xE9ration d'un constructeur pour cloner l'instance + Constructor<?> constructor; + try { + constructor=_rootCalque.getClass().getConstructor(FSigEditor.class); + } + catch (NoSuchMethodException excep) {return null;} + // Reprise des param\xE8tres de l'instance + ZCalqueLigneBriseeEditable calque; + try { + calque=(ZCalqueLigneBriseeEditable)constructor.newInstance((FSigEditor)gisEditor_); + } + catch (IllegalArgumentException _exc) {return null;} + catch (InstantiationException _exc) {return null;} + catch (IllegalAccessException _exc) {return null;} + catch (InvocationTargetException _exc) {return null;} + calque.modele((ZModeleLigneBriseeEditable)((MdlLayer2dLine)_rootCalque).modeleDonnees()); + calque.setTitle(_rootCalque.getTitle()); + calque.setName(_rootCalque.getName()); + return calque; + } + else + return null; + } + + /** Permet de mettre \xE0 jour les calques dans l'arbre en fonction des calques dans l'arbre 2d. */ + public void updateTree(){ + + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueBief.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueCourbe.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueCourbe.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueCourbe.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -0,0 +1,267 @@ +/* + * @creation 8 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d; + +import java.awt.Color; +import java.awt.Dimension; +import java.util.Arrays; + +import javax.swing.JComponent; + +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluListSelectionInterface; +import org.fudaa.ctulu.CtuluListSelectionListener; +import org.fudaa.ebli.commun.EbliActionInterface; +import org.fudaa.ebli.commun.EbliComponentFactory; +import org.fudaa.ebli.courbe.EGAxeHorizontal; +import org.fudaa.ebli.courbe.EGAxeVertical; +import org.fudaa.ebli.courbe.EGCourbeSimple; +import org.fudaa.ebli.courbe.EGFillePanel; +import org.fudaa.ebli.courbe.EGGraphe; +import org.fudaa.ebli.courbe.EGGrapheSimpleModel; +import org.fudaa.ebli.courbe.EGModel; +import org.fudaa.ebli.palette.BPaletteInfo.InfoData; +import org.fudaa.ebli.trace.TraceLigne; +import org.fudaa.ebli.trace.TraceLigneModel; +import org.fudaa.fudaa.commun.FudaaLib; + +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuSpecificBar; + +/** + * Cette vue permet la modification et le visionnage d'un profil (pr\xE9alablement + * selectionn\xE9 dans la vue du bief). + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class VueCourbe extends BuPanel { + + /** + * Ce nouveau model de courbe permet d'utiliser un model d\xE9j\xE0 existant sous la + * forme d'une DataGeometry. + */ + protected class CourbeGeomModel implements EGModel, DataGeometryListener { + + private DataGeometry data_; + + public CourbeGeomModel(DataGeometry _data) { + if(_data==null) + throw new IllegalArgumentException("_data ne doit pas \xEAtre null."); + data_=_data; + data_.addDataGeometryListener(this); + } + + public void dataGeometryChanged() { + grapheVue_.fullRepaint(); + } + + public void dataGeometryNewGeom(){ + grapheVue_.restore(); + grapheVue_.fullRepaint(); + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.courbe.EGModel#addValue(double, double, org.fudaa.ctulu.CtuluCommandContainer) + */ + public boolean addValue(double _x, double _y, CtuluCommandContainer _cmd) { + // TODO Auto-generated method stub + return false; + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.courbe.EGModel#addValue(double[], double[], org.fudaa.ctulu.CtuluCommandContainer) + */ + public boolean addValue(double[] _x, double[] _y, CtuluCommandContainer _cmd) { + // TODO Auto-generated method stub + return false; + } + + public boolean deplace(int[] idx, double _deltax, double _deltay, CtuluCommandContainer _cmd) { + Arrays.sort(idx); + // Selon le sens de d\xE9placement, il faut commencer par le d\xE9but ou la fin du tableau + if(_deltax<0) + for(int index:idx) + setValue(index, getX(index)+_deltax, getY(index)+_deltay, _cmd); + else + for(int i=idx.length-1;i>=0;i--) + setValue(idx[i], getX(idx[i])+_deltax, getY(idx[i])+_deltay, _cmd); + return true; + } + + public void fillWithInfo(InfoData _table, CtuluListSelectionInterface pt) { + } + + public int getNbValues() { + return data_.getNbPoint(); + } + + public String getTitle() { + return FudaaLib.getS("Courbe"); + } + + public double getX(int _idx) { + return data_.getCurv(_idx); + } + + public double getXMax() { + return data_.getCurvMax(); + } + + public double getXMin() { + return data_.getCurvMin(); + } + + public double getY(int _idx) { + return data_.getZ(_idx); + } + + public double getYMax() { + return data_.getZMax(); + } + + public double getYMin() { + return data_.getZMin(); + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.courbe.EGModel#isDuplicatable() + */ + public boolean isDuplicatable() { + // TODO Auto-generated method stub + return false; + } + + public boolean isModifiable() { + return true; + } + + public boolean isPointDrawn(int _i) { + return true; + } + + public boolean isRemovable() { + return true; + } + + public boolean isSegmentDrawn(int _i) { + return true; + } + + public boolean isTitleModifiable() { + return false; + } + + public boolean isXModifiable() { + return true; + } + + public boolean removeValue(int _i, CtuluCommandContainer _cmd) { + data_.remove(_i); + return true; + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.courbe.EGModel#removeValue(int[], org.fudaa.ctulu.CtuluCommandContainer) + */ + public boolean removeValue(int[] _i, CtuluCommandContainer _cmd) { + // TODO Auto-generated method stub + return false; + } + + public boolean setTitle(String name) { + return false; + } + + public boolean setValue(int _i, double _x, double _y, CtuluCommandContainer _cmd) { + data_.setValues(_i, _x, _y); + return true; + } + + public boolean setValues(int[] _idx, double[] _x, double[] _y, CtuluCommandContainer _cmd) { + for(int index: _idx) + setValue(index, _x[index], _y[index], _cmd); + return true; + } + } + + + /** Le controller de la fen\xEAtre 1d. */ + Controller1d controller_; + /** La courbe. */ + private EGCourbeSimple courbe_; + /** Le container principal de la courbe. */ + private EGGraphe grapheVue_; + /** Le container principal de la courbe. */ + private EGFillePanel containerCourbe_; + + public VueCourbe(Controller1d _controller, DataGeometry _dataGeom){ + controller_=_controller; + + // Cr\xE9ation du container des courbes \\ + EGGrapheSimpleModel grapheModel=new EGGrapheSimpleModel(); + grapheVue_=new EGGraphe(grapheModel); + // Axe X \\ + EGAxeHorizontal axeX = new EGAxeHorizontal(false); + axeX.setTitre(FudaaLib.getS("Abscisse curviligne")); + axeX.setUnite(FudaaLib.getS("m\xE8tre")); + axeX.setBounds(0, 500); // Minimum et maximum de l'axe + axeX.setGraduations(true); + grapheVue_.setXAxe(axeX); + // Axe Y \\ + EGAxeVertical axeY = new EGAxeVertical(); + axeY.setGraduations(true); + axeY.setGrille(new TraceLigneModel(TraceLigne.LISSE, 1, Color.LIGHT_GRAY)); + axeY.setTitre(FudaaLib.getS("Ordonn\xE9e : z")); + axeY.setUnite(FudaaLib.getS("m\xE8tre")); + axeY.setBounds(0, 50); + axeY.setLineColor(Color.BLACK); + // Cr\xE9ation de la courbe \\ + EGModel courbeModel=new CourbeGeomModel(_dataGeom); + courbe_=new EGCourbeSimple(axeY, courbeModel); + courbe_.setAspectContour(Color.RED); + grapheModel.addCourbe(courbe_, null); + // Cr\xE9ation du panel contenant l'ensemble des courbes \\ + containerCourbe_ = new EGFillePanel(grapheVue_); + setLayout(new BuBorderLayout()); + + BuSpecificBar speBar=new BuSpecificBar(); + EbliActionInterface[] actionAbs=containerCourbe_.getSpecificActions(); + JComponent[] actions=new JComponent[actionAbs.length]; + for(int i=0;i<actionAbs.length;i++){ + if(actionAbs[i]!=null) + actions[i]=actionAbs[i].buildToolButton(EbliComponentFactory.INSTANCE); + } + speBar.addTools(actions); + + add(speBar, BuBorderLayout.NORTH); + add(containerCourbe_, BuBorderLayout.CENTER); + + setPreferredSize(new Dimension(200, 200)); + setSize(getPreferredSize()); + } + + /** Ajout un listener \xE0 la selection dans le tableau. */ + public void addSelectionListener(CtuluListSelectionListener _listener){ + containerCourbe_.getSelection().addListeSelectionListener(_listener); + } + + /** Retourne un tableau contenant les index selectionn\xE9s. */ + public int[] getSelection(){ + return containerCourbe_.getSelection().getSelectedIndex(); + } + + /** Selectionne les points dont les indices sont pass\xE9s en param\xE8tre. */ + public void setSelection(int[] _idxSelection){ + containerCourbe_.getSelection().clear(); + if(_idxSelection!=null) + for(int i=0;i<_idxSelection.length;i++) + containerCourbe_.getSelection().add(_idxSelection[i]); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueCourbe.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueTableau.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueTableau.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueTableau.java 2008-12-12 17:04:43 UTC (rev 4298) @@ -0,0 +1,118 @@ +/* + * @creation 8 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d; + +import java.awt.Dimension; + +import javax.swing.JTable; +import javax.swing.event.ListSelectionListener; +import javax.swing.table.DefaultTableModel; + +import org.fudaa.fudaa.commun.FudaaLib; + +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuScrollPane; + +/** + * Cette classe permet le visionnage des informations sous forme d'un tableau. + * Chaque ligne repr\xE9sente un point de la courbe, la colonne de gauche indique + * l'abscisse curviligne et la colonne de droite indique la valeur bathym\xE9tique + * du point. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class VueTableau extends BuPanel { + + /** + * Le model du tableau. Celui ci extrait les informations du DataGeometryAdapter. + */ + protected class TableGeomModel extends DefaultTableModel implements DataGeometryListener { + + private DataGeometry data_; + + public TableGeomModel(DataGeometry _data){ + super(new String[]{FudaaLib.getS("Abs curv"), FudaaLib.getS("Z")}, 0); + if(_data==null) + throw new IllegalArgumentException("_data ne doit pas \xEAtre null."); + data_=_data; + data_.addDataGeometryListener(this); + } + + public void dataGeometryChanged() { + fireTableDataChanged(); + } + + public void dataGeometryNewGeom(){ + fireTableDataChanged(); + } + + public Class<?> getColumnClass(int columnIndex) { + return Double.class; + } + + public int getRowCount() { + if(data_==null) + return 0; + else + return data_.getNbPoint(); + } + + public Object getValueAt(int rowIndex, int columnIndex) { + if(columnIndex==0) + return data_.getCurv(rowIndex); + else + return data_.getZ(rowIndex); + } + + public void setValueAt(Object value, int rowIndex, int columnIndex) { + if(columnIndex==0) + data_.setCurv(rowIndex, (Double) value); + else + data_.setZ(rowIndex, (Double) value); + } + } + + /** Le controller de la fen\xEAtre 1d. */ + @SuppressWarnings("unused") + private Controller1d controller_; + /** La vue du tableau. */ + private JTable table_; + /** Le model du tableau affich\xE9 par le panel. */ + private DefaultTableModel modelTable_; + + public VueTableau(Controller1d _controller, DataGeometry _data){ + controller_=_controller; + setLayout(new BuBorderLayout(2, 2)); + modelTable_=new TableGeomModel(_data); + table_=new JTable(modelTable_); + add(new BuScrollPane(table_)); + setPreferredSize(new Dimension(200, 200)); + setSize(getPreferredSize()); + } + + /** Ajout un listener \xE0 la selection dans le tableau. */ + public void addSelectionListener(ListSelectionListener _listener){ + table_.getSelectionModel().addListSelectionListener(_listener); + } + + /** Retourne un tableau contenant les index selectionn\xE9s. */ + public int[] getSelection(){ + return table_.getSelectedRows(); + } + + /** Selectionne les points dont les indices sont pass\xE9s en param\xE8tre. */ + public void setSelection(int[] _idxSelection){ + table_.getSelectionModel().clearSelection(); + if(_idxSelection!=null) + for(int i=0;i<_idxSelection.length;i++) + table_.getSelectionModel().addSelectionInterval(_idxSelection[i], _idxSelection[i]); + } + +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/VueTableau.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. |
From: <bma...@us...> - 2008-12-19 12:13:39
|
Revision: 4310 http://fudaa.svn.sourceforge.net/fudaa/?rev=4310&view=rev Author: bmarchan Date: 2008-12-19 12:13:30 +0000 (Fri, 19 Dec 2008) Log Message: ----------- BugFix#131 : Export de plusieurs calques s?\195?\169lectionn?\195?\169s (la s?\195?\169lection multicalques ne fonctionnait plus). Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java 2008-12-19 11:34:55 UTC (rev 4309) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java 2008-12-19 12:13:30 UTC (rev 4310) @@ -169,7 +169,7 @@ // rbAllLayers_.addActionListener(rbListener); add(rbAllLayers_); - rbSelectedLayers_=new BuRadioButton("Exporter depuis les calques s\xE9lectionn\xE9s"); + rbSelectedLayers_=new BuRadioButton("Exporter les calques s\xE9lectionn\xE9s (et leurs sous-calques)"); // rbSelectedLayers_.addActionListener(rbListener); add(rbSelectedLayers_); 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-19 11:34:55 UTC (rev 4309) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-12-19 12:13:30 UTC (rev 4310) @@ -64,7 +64,7 @@ */ public MdlVisuPanel(FudaaCommonImplementation _impl/*, boolean _createDefault*/) { super(_impl); - modelArbre_.setSelectionMultiCalques(false); + initCalques(true); installLayerActions(); getScene().setRestrictedToCalqueActif(false); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java 2008-12-19 11:34:55 UTC (rev 4309) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java 2008-12-19 12:13:30 UTC (rev 4310) @@ -86,7 +86,7 @@ } if (treeModel_.getSelection().length>1) { - editor_.getUi().error("Destruction non autoris\xE9e","La destruction n'est pas autoris\xE9e sur plusieurs calques.", false); + editor_.getUi().error("Destruction non autoris\xE9e","La destruction simultan\xE9e de plusieurs calques n'est pas autoris\xE9e.", false); return; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-12-24 15:09:48
|
Revision: 4315 http://fudaa.svn.sourceforge.net/fudaa/?rev=4315&view=rev Author: emmanuel_martin Date: 2008-12-24 15:09:43 +0000 (Wed, 24 Dec 2008) Log Message: ----------- Ajout de la base de la gestion multi-bief ; ajout de la base d'un module de gestion de profil ; mise ?\195?\160 jour par rapport au 2d chaque fois que la fen?\195?\170tre 1d prendre le focus. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueBief.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueModuleGestionBief.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueModuleGestionProfil.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dStorageLimit.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dBank.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dStorageLimit.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerProfil.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainer.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefSet.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefSetListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainer.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerException.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerListener.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometry.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryException.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java (from rev 4312, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,60 @@ +/* + * @creation 23 d\xE9c. 2008 + * @modification $Date:$ + * @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.ebli.calque.BCalquePersistenceInterface; +import org.fudaa.ebli.calque.dessin.DeForme; +import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; +import org.fudaa.ebli.trace.TraceLigne; +import org.fudaa.ebli.trace.TraceLigneModel; +import org.fudaa.fudaa.modeleur.MdlResource; +import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dDirectionLinePersistence; +import org.fudaa.fudaa.sig.layer.FSigEditor; + +/** + * Un calque pour le stockage et la manipulation des rives. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class MdlLayer1dBank extends MdlLayer2dLine { + + /** + * Constructeur. Utilise un mod\xE8le de donn\xE9es et un editeur. + * @param _model Modele + * @param _editor Editeur. + */ + private MdlLayer1dBank(ZModeleLigneBriseeEditable _model, final FSigEditor _editor) { + super(_model,_editor); + setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1.5f, new Color(102,102,255))); + setLineModelOuvert(getLineModel(0)); + setName(getExtName()); + setTitle(MdlResource.MDL.getString("Rives")); + } + + public MdlLayer1dBank(FSigEditor _editor) { + this(new MdlModel1dBank(_editor,_editor.getMng()),_editor); + } + + public BCalquePersistenceInterface getPersistenceMng() { + return new MdlLayer2dDirectionLinePersistence(); + } + + /** + * Retourne le nom par defaut du calque. + * @return Le nom. + */ + public String getExtName() { + return "rives"; + } + + public boolean canAddForme(int _typeForme) { + return _typeForme==DeForme.LIGNE_BRISEE; + } +} \ No newline at end of file Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:mergeinfo + /branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3445-3850 /branches/FudaaModeleur_TC1/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3861-3891 Added: svn:eol-style + native Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dStorageLimit.java (from rev 4312, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dStorageLimit.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dStorageLimit.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,60 @@ +/* + * @creation 23 d\xE9c. 2008 + * @modification $Date:$ + * @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.ebli.calque.BCalquePersistenceInterface; +import org.fudaa.ebli.calque.dessin.DeForme; +import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; +import org.fudaa.ebli.trace.TraceLigne; +import org.fudaa.ebli.trace.TraceLigneModel; +import org.fudaa.fudaa.modeleur.MdlResource; +import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dDirectionLinePersistence; +import org.fudaa.fudaa.sig.layer.FSigEditor; + +/** + * Un calque pour le stockage et la manipulation des limites de stockage. + * @author Emmanuel MARTIN + * @version $Id$ + */ +public class MdlLayer2dStorageLimit extends MdlLayer2dLine { + + /** + * Constructeur. Utilise un mod\xE8le de donn\xE9es et un editeur. + * @param _model Modele + * @param _editor Editeur. + */ + private MdlLayer2dStorageLimit(ZModeleLigneBriseeEditable _model, final FSigEditor _editor) { + super(_model,_editor); + setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1.5f, new Color(102,102,255))); + setLineModelOuvert(getLineModel(0)); + setName(getExtName()); + setTitle(MdlResource.MDL.getString("Limites de stockage")); + } + + public MdlLayer2dStorageLimit(FSigEditor _editor) { + this(new MdlModel1dStorageLimit(_editor,_editor.getMng()),_editor); + } + + public BCalquePersistenceInterface getPersistenceMng() { + return new MdlLayer2dDirectionLinePersistence(); + } + + /** + * Retourne le nom par defaut du calque. + * @return Le nom. + */ + public String getExtName() { + return "stockage"; + } + + public boolean canAddForme(int _typeForme) { + return _typeForme==DeForme.LIGNE_BRISEE; + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dStorageLimit.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:mergeinfo + /branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3445-3850 /branches/FudaaModeleur_TC1/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3861-3891 Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dBank.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dBank.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dBank.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,40 @@ +/* + * @creation 23 d\xE9c. 2008 + * @modification $Date:$ + * @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 gestion de rive. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class MdlModel1dBank extends MdlModel2dLine { + + /** + * Construction d'un modele de profil avec pile de commandes. + * @param _cmd La pile de commandes pour le undo/redo. + */ + public MdlModel1dBank(final ZModelGeometryListener _listener, final CtuluCommandContainer _cmd) { + super(_listener); + GISAttribute[] attrs=new GISAttribute[]{ + GISAttributeConstants.BATHY, + GISAttributeConstants.ETAT_GEOM, + GISAttributeConstants.TITRE, + GISAttributeConstants.NATURE, + GISAttributeConstants.VISIBILITE + }; + // 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_RV); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dBank.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dStorageLimit.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dStorageLimit.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dStorageLimit.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,40 @@ +/* + * @creation 23 d\xE9c. 2008 + * @modification $Date:$ + * @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 gestion de limite de stockage. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class MdlModel1dStorageLimit extends MdlModel2dLine { + + /** + * Construction d'un modele de profil avec pile de commandes. + * @param _cmd La pile de commandes pour le undo/redo. + */ + public MdlModel1dStorageLimit(final ZModelGeometryListener _listener, final CtuluCommandContainer _cmd) { + super(_listener); + GISAttribute[] attrs=new GISAttribute[]{ + GISAttributeConstants.BATHY, + GISAttributeConstants.ETAT_GEOM, + GISAttributeConstants.TITRE, + GISAttributeConstants.NATURE, + GISAttributeConstants.VISIBILITE + }; + // 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_LS); + } +} \ No newline at end of file Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dStorageLimit.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2008-12-22 15:13:02 UTC (rev 4314) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -29,7 +29,6 @@ import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; import org.fudaa.dodico.mascaret.io.MascaretWriter; -import org.fudaa.ebli.calque.BArbreCalqueModel; import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; import org.fudaa.ebli.calque.ZScene; import org.fudaa.ebli.calque.ZSelectionEvent; @@ -42,15 +41,12 @@ import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.modeleur.MdlImplementation; import org.fudaa.fudaa.modeleur.modeleur1d.MdlFille1d; -import org.fudaa.fudaa.modeleur.modeleur1d.model.DataGeometryAdapter; -import org.fudaa.fudaa.modeleur.modeleur1d.model.DataGeometryException; +import org.fudaa.fudaa.modeleur.modeleur1d.model.Bief; import org.fudaa.fudaa.modeleur.modeleur1d.model.UtilsProfil1d; import org.fudaa.fudaa.modeleur.modeleur1d.view.VueBief; import org.fudaa.fudaa.modeleur.modeleur1d.view.VueContainerModules; import org.fudaa.fudaa.modeleur.modeleur1d.view.VueCourbe; import org.fudaa.fudaa.modeleur.modeleur1d.view.VueExport; -import org.fudaa.fudaa.modeleur.modeleur1d.view.VueModuleGestionBief; -import org.fudaa.fudaa.modeleur.modeleur1d.view.VueModuleGestionProfil; import org.fudaa.fudaa.modeleur.modeleur1d.view.VueTableau; import com.memoire.bu.BuDesktop; @@ -65,8 +61,7 @@ */ public class Controller1d extends InternalFrameAdapter implements ZSelectionListener, ListSelectionListener, CtuluListSelectionListener { - /** La vue du bief. */ - private VueBief vueBief_; + // Les vues \\ /** La vue d'un profil par tableau. */ private VueTableau vueTableau_; /** La vue d'un profil via une courbe. */ @@ -75,25 +70,25 @@ private BuLabel vueError_; /** La vue des modules contenu dans la colonne \xE0 droite. */ private VueContainerModules vueContainerModules_; - /** La vue du module de gestion des biefs. */ - private VueModuleGestionBief vueModuleGestionBief_; - /** La vue du module de gestion des Profils. */ - private VueModuleGestionProfil vueModuleGestionProfil_; - - /** Le lien avec le reste de l'application. */ - private MdlImplementation appli_; /** La frame contenant tous les widgets 1d. */ private MdlFille1d frame1d_; + // Donn\xE9es sp\xE9ciales \\ + /** Le lien avec le reste de l'application. */ + private MdlImplementation appli_; /** Indique si on doit \xE9couter les \xE9venements de selection. */ private boolean listenEventSelection_=true; /** Formater */ private EbliFormatterInterface formater_=new EbliFormatter(); - /** Le commande manager pour le undo/redo */ private CtuluCommandManager mng_; - /** L'adapter des donn\xE9es de la geometry en cours de manipulation. */ - private DataGeometryAdapter dataGeomAdapter_; + + // Controllers \\ + /** Le controller des Biefs */ + private ControllerBief controllerBief_; + private ControllerProfil controllerProfil_; + + // Models \\ /** Le container des modules contenus \xE0 droite. */ private DefaultListModel modelContainerModules_; @@ -105,42 +100,34 @@ frame1d_.addInternalFrameListener(this); mng_=new CtuluCommandManager(); // Instanciation des Models \\ - try { - dataGeomAdapter_=new DataGeometryAdapter(null, -1); - } - catch (DataGeometryException _exc) { - _exc.printStackTrace(); - } modelContainerModules_=new DefaultListModel(); + // Instanciation des controllers \\ + controllerBief_=new ControllerBief(this); + controllerProfil_=new ControllerProfil(controllerBief_.getBiefSelectionModel(), controllerBief_.getBiefContainer(), this); // Instanciation des Vues \\ // Modules vueContainerModules_=new VueContainerModules(modelContainerModules_); - vueModuleGestionBief_=new VueModuleGestionBief(); - addVueModule(vueModuleGestionBief_); - vueModuleGestionProfil_=new VueModuleGestionProfil(); - addVueModule(vueModuleGestionProfil_); + addVueModule(controllerBief_.getVueModuleGestionBief()); + addVueModule(controllerProfil_.getVueModuleGestionProfil()); // Vue Bief - vueBief_=new VueBief(appli_, this); - vueBief_.getScene().addSelectionListener(this); + controllerBief_.getVueBief().getScene().addSelectionListener(this); // Vue tableau - vueTableau_=new VueTableau(this, dataGeomAdapter_); + vueTableau_=new VueTableau(this, controllerProfil_.getDataGeometry()); vueTableau_.addSelectionListener(this); // Vue courbe - vueCourbe_=new VueCourbe(this, dataGeomAdapter_); + vueCourbe_=new VueCourbe(this, controllerProfil_.getDataGeometry()); vueCourbe_.addSelectionListener(this); // Vue error vueError_=new BuLabel(); vueError_.setForeground(Color.RED); vueError_.setHorizontalAlignment(JLabel.CENTER); clearError(); - // Autre - treeModel_=vueBief_.getArbreCalqueModel(); } // Getters des vues \\ public VueBief getVueBief(){ - return vueBief_; + return controllerBief_.getVueBief(); } public VueTableau getVueTableau(){ return vueTableau_; @@ -200,27 +187,7 @@ public void removeVueModule(JComponent _vueModule){ modelContainerModules_.removeElement(_vueModule); } - - // Gestion de l'arbre \\ - - /** Le model de l'arbre des calques. */ - @Deprecated - private BArbreCalqueModel treeModel_; - - /** Retourne le model de l'abre des calques. */ - @Deprecated - public BArbreCalqueModel getTreeModel(){ - return treeModel_; - } - /** - * Mise \xE0 jour de l'arbre des calques a chaque activation de la fen\xEAtre 1d. La - * mise \xE0 jour s'effectue en fonction des calques 2d. - */ - public void internalFrameActivated(InternalFrameEvent e) { - vueBief_.updateTree(); - } - // Gestion des actions \\ /** Les action \xE0 la fen\xEAtre 1d. */ @@ -238,7 +205,7 @@ BuDesktop buJ=null; if (j instanceof BuDesktop) buJ=(BuDesktop)j; - List<EbliActionInterface> actionAbs=vueBief_.getController().getActions(); + List<EbliActionInterface> actionAbs=controllerBief_.getVueBief().getController().getActions(); // Selection des actions String[] tmpAction=new String[]{"RECTANGLE_SELECTION", "POLYGON_SELECTION", "RESTORE", "ZOOM", "ZOOM_ON_SELECTED", "LAST_VIEW", "MOVE_VIEW", "CHANGE_REFERENCE", "NAVIGATE"}; @@ -271,12 +238,11 @@ */ public void selectionChanged(ZSelectionEvent _evt) { clearError(); - ZScene scene=vueBief_.getScene(); + ZScene scene=controllerBief_.getVueBief().getScene(); int sceneIdSelected=scene.getSelectionHelper().getUniqueSelectedIdx(); boolean ok=true; // Indique si tout s'est bien pass\xE9. if (sceneIdSelected==-1) - try {dataGeomAdapter_.setData(null, -1);} - catch (DataGeometryException _exc) {_exc.printStackTrace();} + controllerProfil_.getProfilSelectionModel().clearSelection(); else { int idSelected=scene.sceneId2LayerId(sceneIdSelected); // Extraction des diff\xE9rentes informations n\xE9c\xE9ssaires au changement de @@ -286,12 +252,7 @@ GISZoneCollectionLigneBrisee zone=((ZModeleLigneBriseeEditable)calque.modeleDonnees()).getGeomData(); if (zone.getIndiceOf(GISAttributeConstants.NATURE)!=-1) { if (zone.getValue(zone.getIndiceOf(GISAttributeConstants.NATURE), idSelected)==GISAttributeConstants.ATT_NATURE_PF) { - try { - dataGeomAdapter_.setData(zone, idSelected); - } - catch (DataGeometryException _exc) { - showError(_exc.getMessage()); - } + controllerProfil_.getProfilSelectionModel().setSelectionInterval(idSelected, idSelected); } else // On a pas selectionn\xE9 un profil, on annule la selection @@ -308,6 +269,7 @@ if(!ok) { //dataGeomAdapter_.setData(null, -1); scene.clearSelection(); + controllerProfil_.getProfilSelectionModel().clearSelection(); showError(FudaaLib.getS("Seuls les profils sont selectionnables.")); } } @@ -340,13 +302,22 @@ VueExport vueExport=new VueExport(appli_); if(!vueExport.run()) return; + // Configuration du mascaretWriter MascaretWriter mascaretWriter=new MascaretWriter(); mascaretWriter.setFile(vueExport.getFile()); - CtuluIOOperationSynthese result=mascaretWriter.write(new Object[]{"Sans_nom", vueBief_.getZonesForExport(), new MascaretWriter.FunctorSelectProfil(){ + Bief bief=controllerBief_.getSelectedBief(); + Object[] zones=new Object[]{bief.axeHydraulique_.getGeomData(), bief.lignesDirectrices_.getGeomData(), + bief.limitesStockages_.getGeomData(), bief.profils_.getGeomData(), bief.rives_.getGeomData()}; + MascaretWriter.FunctorSelectProfil functorSelectProfil=new MascaretWriter.FunctorSelectProfil() { public boolean exportProfil(GISZoneCollectionLigneBrisee _zone, int _idxProfil) { return UtilsProfil1d.isProfilCorrect(_zone, _idxProfil); } - }, vueExport.isMascaret1d()?"1d":"2d"}); + }; + CtuluIOOperationSynthese result=mascaretWriter.write(new Object[]{ + controllerBief_.getSelectedBiefName(), + zones, + functorSelectProfil, + vueExport.isMascaret1d()?"1d":"2d"}); // Gestion des erreurs String message=""; if (result.containsFatalError()) @@ -368,4 +339,10 @@ else if(result.containsMessages()) appli_.message(message); } + + @Override + public void internalFrameActivated(InternalFrameEvent e) { + mng_.clean(); + controllerBief_.updateFrom2d(); + } } Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java (from rev 4312, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,271 @@ +/* + * @creation 22 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d.controller; + +import java.util.ArrayList; +import java.util.List; + +import javax.swing.DefaultListSelectionModel; +import javax.swing.event.ListSelectionListener; + +import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.ZModeleLigneBrisee; +import org.fudaa.fudaa.modeleur.modeleur1d.model.Bief; +import org.fudaa.fudaa.modeleur.modeleur1d.model.BiefContainer; +import org.fudaa.fudaa.modeleur.modeleur1d.model.BiefContainerAdapter; +import org.fudaa.fudaa.modeleur.modeleur1d.model.BiefSet; +import org.fudaa.fudaa.modeleur.modeleur1d.view.VueBief; +import org.fudaa.fudaa.modeleur.modeleur1d.view.VueModuleGestionBief; +import org.fudaa.fudaa.sig.layer.FSigLayerLineEditable; + +/** + * Controller permettant de g\xE9rer (cr\xE9er, modifier, supprimer, selectionner) les biefs. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class ControllerBief { + + /** Le controller principal. */ + protected Controller1d controller1d_; + /** Le nom du bief selectionn\xE9. */ + protected String nomSelectedBief_=null; + /** l'ensemble de biefs. */ + protected BiefSet biefSet_=new BiefSet(); + /** Le container de bief. */ + BiefContainerAdapter biefContainerAdapter_; + /** Le model de selection des biefs. */ + protected BiefSelectionModel biefSelectionModel_; + /** La vue du module de gestion des biefs. */ + protected VueModuleGestionBief vueModuleGestionBief_; + /** La vue sur les biefs. */ + protected VueBief vueBief_; + + public ControllerBief(Controller1d _controller1d) { + controller1d_=_controller1d; + biefContainerAdapter_=new BiefContainerAdapter(biefSet_); + biefSelectionModel_=new BiefSelectionModel(); + vueModuleGestionBief_=new VueModuleGestionBief(this); + vueBief_=new VueBief(controller1d_.getImplementation(), this); + } + + /** + * Se r\xE9g\xE9n\xE8re par rapport aux 2d. + */ + public void updateFrom2d(){ + // Suppression des biefs pr\xE9c\xE9dents + String[] names=biefSet_.getBiefNames(); + for(int i=0;i<names.length;i++) + biefSet_.removeBief(names[i], null); + // Ajout des nouveaux + importBiefsFrom2d(controller1d_.getImplementation().get2dFrame().getVisuPanel().getArbreCalqueModel().getRootCalque().getCalqueParNom("gcBiefs")); + } + + /** + * Import les biefs du 2d vers le 1d. + */ + private void importBiefsFrom2d(BCalque _rootCalque) { + if (_rootCalque==null) + return; + BCalque[] calques=_rootCalque.getCalques(); + // It\xE9ration du chaque bief + for (int i=0; i<calques.length; i++) { + BCalque calqueBief=calques[i]; + List<ZModeleLigneBrisee> modelsDuFutureBief=new ArrayList<ZModeleLigneBrisee>(); + // Iteration sur chaque calque + BCalque[] sousCalques=calqueBief.getCalques(); + for (int j=0; j<sousCalques.length; j++) + if (sousCalques[j] instanceof FSigLayerLineEditable) + modelsDuFutureBief.add(((FSigLayerLineEditable)sousCalques[j]).getModele()); + // Ajout du bief + biefSet_.addBief(calqueBief.getTitle(), modelsDuFutureBief.toArray(new ZModeleLigneBrisee[0]), controller1d_.getCommandManager()); + } + // Selection d'office du premier Bief si il y en a un + if(biefSet_.getNbBief()>0) + biefSelectionModel_.addSelectionInterval(0, 0); + } + + /** + * Retourne le bief container. + */ + public BiefContainer getBiefContainer(){ + return biefContainerAdapter_; + } + + /** + * Retourne la vue du module de gestion des biefs. + */ + public VueModuleGestionBief getVueModuleGestionBief(){ + return vueModuleGestionBief_; + } + + /** + * Retourne la vue sur les biefs + */ + public VueBief getVueBief() { + return vueBief_; + } + + /** + * Supprime le bief selectionn\xE9. + */ + public void removeSelectedBief(){ + String name=biefSelectionModel_.getSelectedName(); + if(name!=null) + biefSet_.removeBief(name, controller1d_.getCommandManager()); + } + + /** + * Importation d'un bief. + */ + public void importBief(){ + //TODO + } + + /** + * Fusion de deux biefs. + */ + public void fusionnerBiefs(){ + //TODO + } + + /** + * Duplique le bief selectionn\xE9. + */ + public void dupliquerSelectedBief() { + //TODO + } + + /** + * Renomme un bief. + */ + public void renameBief(String _currentName, String _newName) { + biefSet_.renameBief(_currentName, _newName, controller1d_.getCommandManager()); + } + + // Gestion de la selection de bief \\ + + /** + * Retourne vrai si un bief est selectionn\xE9. + */ + public boolean isBiefSelected() { + return biefSelectionModel_.getSelectedName()!=null; + } + + /** + * Retourne le nom du bief selectionn\xE9. + */ + public String getSelectedBiefName(){ + return biefSelectionModel_.getSelectedName(); + } + + /** + * Retourne une ListSelectionModel permettant de g\xE9rer la selection des biefs. + */ + public BiefSelectionModel getBiefSelectionModel() { + return biefSelectionModel_; + } + + /** + * Retourne le biefContainer, c'est \xE0 dire le conteneur de tout les biefs. + */ + public BiefSet getBiefSet(){ + return biefSet_; + } + + /** + * Retourne le Bief selectionn\xE9. + */ + public Bief getSelectedBief(){ + return biefSet_.getBief(getSelectedBiefName()); + } + + // Le model de selection concernant les biefs \\ + + /** + * Cette classe a pour objectif de g\xE9rer avec le m\xEAme model de selection tous + * les endroits ayant besoin de savoir quel bief est selectionn\xE9. + */ + public class BiefSelectionModel extends DefaultListSelectionModel { + + public BiefSelectionModel(){ + super.setSelectionMode(SINGLE_SELECTION); + } + + /** + * Retourne le nom du bief selectionn\xE9. + */ + public String getSelectedName() { + if(getMinSelectionIndex()==-1) + return null; + return biefSet_.getBiefName(getMinSelectionIndex()); + } + + /** + * Met \xE0 jour dataGeomAdapter_ pour qu'il tienne compte de la nouvelle selection. + */ + private void updateBief() { + if(getMinSelectionIndex()==-1) + biefContainerAdapter_.setSelectedBief(null); + else + biefContainerAdapter_.setSelectedBief(biefSet_.getBiefName(getMinSelectionIndex())); + } + + public void addListSelectionListener(ListSelectionListener x) { + super.addListSelectionListener(x); + updateBief(); + } + + public void addSelectionInterval(int index0, int index1) { + super.addSelectionInterval(index0, index1); + updateBief(); + } + + public void clearSelection() { + super.clearSelection(); + updateBief(); + } + + public void insertIndexInterval(int index, int length, boolean before) { + super.insertIndexInterval(index, length, before); + updateBief(); + } + + public void removeIndexInterval(int index0, int index1) { + super.removeIndexInterval(index0, index1); + updateBief(); + } + + public void removeSelectionInterval(int index0, int index1) { + super.removeSelectionInterval(index0, index1); + updateBief(); + } + + public void setAnchorSelectionIndex(int index) { + super.setAnchorSelectionIndex(index); + updateBief(); + } + + public void setLeadSelectionIndex(int index) { + super.setLeadSelectionIndex(index); + updateBief(); + } + + public void setSelectionInterval(int index0, int index1) { + super.setSelectionInterval(index0, index1); + updateBief(); + } + + /** + * Le mode de selection est bloqu\xE9 \xE0 SINGLE_SELECTION. + */ + public void setSelectionMode(int selectionMode) { + if(selectionMode!=SINGLE_SELECTION) + throw new IllegalArgumentException("Le mode est bloqu\xE9 \xE0 SINGLE_SELECTION"); + } + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerBief.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:mergeinfo + /branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3445-3850 /branches/FudaaModeleur_TC1/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3861-3891 Added: svn:eol-style + native Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerProfil.java (from rev 4312, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerProfil.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerProfil.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,186 @@ +/* + * @creation 22 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d.controller; + +import javax.swing.DefaultListSelectionModel; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + +import org.fudaa.fudaa.modeleur.modeleur1d.controller.ControllerBief.BiefSelectionModel; +import org.fudaa.fudaa.modeleur.modeleur1d.model.BiefContainer; +import org.fudaa.fudaa.modeleur.modeleur1d.model.ProfilContainer; +import org.fudaa.fudaa.modeleur.modeleur1d.model.ProfilContainerAdapter; +import org.fudaa.fudaa.modeleur.modeleur1d.model.ProfilContainerException; +import org.fudaa.fudaa.modeleur.modeleur1d.view.VueModuleGestionProfil; + +/** + * Controller permettant de g\xE9rer (cr\xE9er, modifier, supprimer, selectionner) les profils. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class ControllerProfil { + + /** Le controller principal. */ + protected Controller1d controller1d_; + /** Le model commun de selection de profils. */ + private ProfilSelectionModel profilSelectionModel_; + /** L'adapter des donn\xE9es de la geometry en cours de manipulation. */ + private ProfilContainerAdapter profilContainerAdapter_; + /** le conteneur du bief. */ + private BiefContainer biefContainer_; + /** La vue du module de gestion des profils. */ + protected VueModuleGestionProfil vueModuleGestionProfil_; + + public ControllerProfil(BiefSelectionModel _biefSelectionModel, BiefContainer _biefContainer, Controller1d _controller1d){ + controller1d_=_controller1d; + biefContainer_=_biefContainer; + profilSelectionModel_=new ProfilSelectionModel(_biefSelectionModel); + profilContainerAdapter_=new ProfilContainerAdapter(biefContainer_); + vueModuleGestionProfil_=new VueModuleGestionProfil(this); + } + + public ProfilContainer getDataGeometry(){ + return profilContainerAdapter_; + } + + public ProfilSelectionModel getProfilSelectionModel(){ + return profilSelectionModel_; + } + + public BiefContainer getBiefContainer() { + return biefContainer_; + } + + /** + * Retourne la vue du module de gestion des profils. + */ + public VueModuleGestionProfil getVueModuleGestionProfil(){ + return vueModuleGestionProfil_; + } + + /** + * Cr\xE9ation ou ajout d'un nouveau profil. + */ + public void ajoutProfil(){ + //TODO + } + + /** + * Supprime le profil selectionn\xE9. + */ + public void supprimerSelectedProfil(){ + if(profilSelectionModel_.getSelectedProfil()!=-1) + biefContainer_.removeProfil(profilSelectionModel_.getSelectedProfil(), controller1d_.getCommandManager()); + } + + /** + * Fusionne deux profils. + */ + public void fusionnerProfil(){ + + } + + /** + * Renommer un profil. + */ + public void renameProfil(int _idxProfil, String _newName) { + biefContainer_.renameProfil(_idxProfil, _newName, controller1d_.getCommandManager()); + } + + //Le model de selection concernant les biefs \\ + + /** + * Cette classe a pour objectif de g\xE9rer avec le m\xEAme model de selection tous + * les endroits ayant besoin de savoir quels profils sont selectionn\xE9s. + */ + public class ProfilSelectionModel extends DefaultListSelectionModel implements ListSelectionListener { + + /** La liste de selection des biefs. */ + private BiefSelectionModel biefSelectionModel_; + + public ProfilSelectionModel(BiefSelectionModel _biefSelectionModel){ + biefSelectionModel_=_biefSelectionModel; + biefSelectionModel_.addListSelectionListener(this); + super.setSelectionMode(SINGLE_SELECTION); + } + + public int getSelectedProfil(){ + return getMinSelectionIndex(); + } + + public void valueChanged(ListSelectionEvent e) { + // Le bief selectionn\xE9 \xE0 chang\xE9. \\ + clearSelection(); + } + + /** + * Met \xE0 jour dataGeomAdapter_ pour qu'il tienne compte de la nouvelle selection. + */ + private void updateProfil() { + try { + profilContainerAdapter_.setSelectedProfil(getMinSelectionIndex()); + } + catch (ProfilContainerException _exc) { + _exc.printStackTrace(); + } + } + + public void addListSelectionListener(ListSelectionListener x) { + super.addListSelectionListener(x); + updateProfil(); + } + + public void addSelectionInterval(int index0, int index1) { + super.addSelectionInterval(index0, index1); + updateProfil(); + } + + public void clearSelection() { + super.clearSelection(); + updateProfil(); + } + + public void insertIndexInterval(int index, int length, boolean before) { + super.insertIndexInterval(index, length, before); + updateProfil(); + } + + public void removeIndexInterval(int index0, int index1) { + super.removeIndexInterval(index0, index1); + updateProfil(); + } + + public void removeSelectionInterval(int index0, int index1) { + super.removeSelectionInterval(index0, index1); + updateProfil(); + } + + public void setAnchorSelectionIndex(int index) { + super.setAnchorSelectionIndex(index); + updateProfil(); + } + + public void setLeadSelectionIndex(int index) { + super.setLeadSelectionIndex(index); + updateProfil(); + } + + public void setSelectionInterval(int index0, int index1) { + super.setSelectionInterval(index0, index1); + updateProfil(); + } + + /** + * Le mode de selection est bloqu\xE9 \xE0 SINGLE_SELECTION. + */ + public void setSelectionMode(int selectionMode) { + if(selectionMode!=SINGLE_SELECTION) + throw new IllegalArgumentException("Le mode est bloqu\xE9 \xE0 SINGLE_SELECTION"); + } + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/ControllerProfil.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:mergeinfo + /branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3445-3850 /branches/FudaaModeleur_TC1/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3861-3891 Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,124 @@ +/* + * @creation 22 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d.model; + +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; +import org.fudaa.ebli.calque.ZModeleLigneBrisee; +import org.fudaa.fudaa.modeleur.layer.MdlModel1dAxe; +import org.fudaa.fudaa.modeleur.layer.MdlModel1dBank; +import org.fudaa.fudaa.modeleur.layer.MdlModel1dStorageLimit; +import org.fudaa.fudaa.modeleur.layer.MdlModel2dDirectionLine; +import org.fudaa.fudaa.modeleur.layer.MdlModel2dProfile; + +/** + * Contient les informations relatives \xE0 un bief. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class Bief { + public ZModeleLigneBrisee axeHydraulique_; + public ZModeleLigneBrisee profils_; + public ZModeleLigneBrisee rives_; + public ZModeleLigneBrisee limitesStockages_; + public ZModeleLigneBrisee lignesDirectrices_; + + public Bief(){} + + public Bief(ZModeleLigneBrisee[] _models){ + if(_models==null) + throw new IllegalArgumentException("_models ne peut pas \xEAtre null."); + for(int i=0;i<_models.length;i++) { + if(_models[i]==null) + throw new IllegalArgumentException("_models ne doit pas contenir de valeurs null"); + if(_models[i].getGeomData()==null) + throw new IllegalArgumentException("Certain model n'ont pas de GSIZone."); + if(!(_models[i].getGeomData() instanceof GISZoneCollectionLigneBrisee)) + throw new IllegalArgumentException("Toutes les GISZOne doivent \xEAtre des GISZoneCollectionLigneBrisee."); + String nature=(String) _models[i].getGeomData().getFixedAttributValue(GISAttributeConstants.NATURE); + if(nature==GISAttributeConstants.ATT_NATURE_AH) + if(axeHydraulique_!=null) + throw new IllegalArgumentException("Plusieurs models d'axe hydrauliques sont donn\xE9es."); + else + axeHydraulique_=_models[i]; + else if(nature==GISAttributeConstants.ATT_NATURE_LD) + if(lignesDirectrices_!=null) + throw new IllegalArgumentException("Plusieurs models de lignes directrices sont donn\xE9es."); + else + lignesDirectrices_=_models[i]; + else if(nature==GISAttributeConstants.ATT_NATURE_LS) + if(limitesStockages_!=null) + throw new IllegalArgumentException("Plusieurs models de limites de stockage sont donn\xE9es."); + else + limitesStockages_=_models[i]; + else if(nature==GISAttributeConstants.ATT_NATURE_PF) + if(profils_!=null) + throw new IllegalArgumentException("Plusieurs models de profils sont donn\xE9es."); + else + profils_=_models[i]; + else if(nature==GISAttributeConstants.ATT_NATURE_RV) + if(rives_!=null) + throw new IllegalArgumentException("Plusieurs models de rives sont donn\xE9es."); + else + rives_=_models[i]; + } + // Remplissage des models vides par des ZModeles vides + if (axeHydraulique_==null) + axeHydraulique_=new MdlModel1dAxe(null); + if (profils_==null) + profils_=new MdlModel2dProfile(null, null); + if (rives_==null) + rives_=new MdlModel1dBank(null, null); + if (limitesStockages_==null) + limitesStockages_=new MdlModel1dStorageLimit(null, null); + if (lignesDirectrices_==null) + lignesDirectrices_=new MdlModel2dDirectionLine(null, null); + } + + /** + * Retourne vrai si les donn\xE9es contenues dans les champs sont coh\xE9rentes. + */ + public boolean checkCoherence(){ + if (axeHydraulique_==null||profils_==null||rives_==null||limitesStockages_==null||lignesDirectrices_==null) + return false; + // Axe hydraulique + if (axeHydraulique_.getGeomData()==null||!(axeHydraulique_.getGeomData() instanceof GISZoneCollectionLigneBrisee)) + return false; + if ((String)axeHydraulique_.getGeomData().getFixedAttributValue(GISAttributeConstants.NATURE)!=GISAttributeConstants.ATT_NATURE_AH) + return false; + if(axeHydraulique_.getNbPolyligne()>1) + return false; + // Lignes directrices + if (lignesDirectrices_.getGeomData()==null||!(lignesDirectrices_.getGeomData() instanceof GISZoneCollectionLigneBrisee)) + return false; + if ((String)lignesDirectrices_.getGeomData().getFixedAttributValue(GISAttributeConstants.NATURE)!=GISAttributeConstants.ATT_NATURE_LD) + return false; + // Limite de stockage + if (limitesStockages_.getGeomData()==null||!(limitesStockages_.getGeomData() instanceof GISZoneCollectionLigneBrisee)) + return false; + if ((String)limitesStockages_.getGeomData().getFixedAttributValue(GISAttributeConstants.NATURE)!=GISAttributeConstants.ATT_NATURE_LS) + return false; + if(limitesStockages_.getNbPolyligne()>2) + return false; + // Profil + if (profils_.getGeomData()==null||!(profils_.getGeomData() instanceof GISZoneCollectionLigneBrisee)) + return false; + if ((String)profils_.getGeomData().getFixedAttributValue(GISAttributeConstants.NATURE)!=GISAttributeConstants.ATT_NATURE_PF) + return false; + // rives + if (rives_.getGeomData()==null||!(rives_.getGeomData() instanceof GISZoneCollectionLigneBrisee)) + return false; + if ((String)rives_.getGeomData().getFixedAttributValue(GISAttributeConstants.NATURE)!=GISAttributeConstants.ATT_NATURE_RV) + return false; + if(rives_.getNbPolyligne()>2) + return false; + // Tout est ok + return true; + } + +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainer.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainer.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainer.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,59 @@ +/* + * @creation 23 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d.model; + +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; + +/** + * Une interface permettant d'acc\xE9der aux informations du bief selectionn\xE9. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public interface BiefContainer { + + /** Retourne vrai si l'index pass\xE9 en param\xE8tre correspond \xE0 un profil. */ + public boolean hasProfil(int _idxProfil); + + /** Ajout d'un nouveau listener. */ + public void addBiefContainerListener(BiefContainerListener _listener); + + /** Supprime le listener. */ + public void removeBiefContainerListener(BiefContainerListener _listener); + + /** Retourne les zones contenant les g\xE9om\xE9tries. */ + public GISZoneCollectionLigneBrisee[] getZones(); + + /** Retourne la zone contenant l'axe hydraulique. */ + public GISZoneCollectionLigneBrisee getZoneAxeHydraulique(); + + /** Retourne la zone contenant les profils. */ + public GISZoneCollectionLigneBrisee getZoneProfils(); + + /** Retourne la zone contenant les rives. */ + public GISZoneCollectionLigneBrisee getZoneRives(); + + /** Retourne la zone contenant les limites de stockages. */ + public GISZoneCollectionLigneBrisee getZoneLimitesStockages(); + + /** Retourne la zone contenant les lignes directrices. */ + public GISZoneCollectionLigneBrisee getZoneLignesDirectrices(); + + /** Retourne ne nombre de profils de ce bief. */ + public int getNbProfil(); + + /** Retourne le nom du profil choisi par sont index. */ + public String getNomProfil(int _idxProfil); + + /** Renomme le profil. */ + public void renameProfil(int _idxProfil, String _newName, CtuluCommandContainer _cmd); + + /** Supprime un profil. */ + public void removeProfil(int _idxProfil, CtuluCommandContainer _cmd); +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainer.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerAdapter.java (from rev 4312, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerAdapter.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerAdapter.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,217 @@ +/* + * @creation 23 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d.model; + +import java.util.ArrayList; +import java.util.List; + +import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluCommandComposite; +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluNamedCommand; +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; +import org.fudaa.fudaa.commun.FudaaLib; + +/** + * Cette classe permet d'adapter une BiefColleciton en un model manipulable + * simplement. Il n'affiche que le bief selectionn\xE9. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class BiefContainerAdapter implements BiefContainer, BiefSetListener { + + /** Le container de tous les biefs. */ + private BiefSet biefSet_; + /** Le nom du bief selectionn\xE9. */ + private String nomBiefSelected_; + /** Liste des listeners de cette instance. */ + private List<BiefContainerListener> listeners_=new ArrayList<BiefContainerListener>(); + + public BiefContainerAdapter(BiefSet _biefSet) { + biefSet_=_biefSet; + biefSet_.addBiefSetListener(this); + } + + public boolean hasProfil(int _idxProfil) { + if(_idxProfil>=0&&getZoneProfils()!=null&&_idxProfil<getZoneProfils().getNumGeometries()) + return true; + return false; + } + + /** + * Selectionner un des biefs. Pour n'en selectionner aucun, _nomBief doit + * valloir null. + */ + public void setSelectedBief(String _nomBief) { + if(_nomBief!=null&&!biefSet_.hasBief(_nomBief)) + throw new IllegalArgumentException("Bief : "+_nomBief+" inconnu."); + if(_nomBief!=nomBiefSelected_) { + nomBiefSelected_=_nomBief; + fireBiefSelectedChanged(_nomBief); + } + } + + public GISZoneCollectionLigneBrisee getZoneAxeHydraulique() { + if(nomBiefSelected_==null) + return null; + return (GISZoneCollectionLigneBrisee)biefSet_.getBief(nomBiefSelected_).axeHydraulique_.getGeomData(); + } + + public GISZoneCollectionLigneBrisee getZoneLignesDirectrices() { + if(nomBiefSelected_==null) + return null; + return (GISZoneCollectionLigneBrisee)biefSet_.getBief(nomBiefSelected_).lignesDirectrices_.getGeomData(); + } + + public GISZoneCollectionLigneBrisee getZoneLimitesStockages() { + if(nomBiefSelected_==null) + return null; + return (GISZoneCollectionLigneBrisee)biefSet_.getBief(nomBiefSelected_).limitesStockages_.getGeomData(); + } + + public GISZoneCollectionLigneBrisee getZoneProfils() { + if(nomBiefSelected_==null) + return null; + return (GISZoneCollectionLigneBrisee)biefSet_.getBief(nomBiefSelected_).profils_.getGeomData(); + } + + public GISZoneCollectionLigneBrisee getZoneRives() { + if(nomBiefSelected_==null) + return null; + return (GISZoneCollectionLigneBrisee)biefSet_.getBief(nomBiefSelected_).rives_.getGeomData(); + } + + public GISZoneCollectionLigneBrisee[] getZones() { + if(nomBiefSelected_==null) + return null; + return new GISZoneCollectionLigneBrisee[]{getZoneAxeHydraulique(), getZoneLignesDirectrices(), getZoneLimitesStockages(), + getZoneProfils(), getZoneRives()}; + } + + // Raccourcis de gestion des profils \\ + + public int getNbProfil() { + if(nomBiefSelected_==null) + return 0; + return getZoneProfils().getNbGeometries(); + } + + public String getNomProfil(int _idxProfil) { + if(_idxProfil<0||_idxProfil>=getZoneProfils().getNbGeometries()) + throw new IllegalArgumentException("Le profil "+_idxProfil+" n'existe pas"); + return (String) getZoneProfils().getValue(getZoneProfils().getIndiceOf(GISAttributeConstants.TITRE), _idxProfil); + } + + public void removeProfil(int _idxProfil, CtuluCommandContainer _cmd) { + if(_idxProfil<0||_idxProfil>=getZoneProfils().getNbGeometries()) + throw new IllegalArgumentException("Le profil "+_idxProfil+" n'existe pas"); + class RemoveProfilCtuluCommand implements CtuluCommand, CtuluNamedCommand{ + private int idxProfil_; + private CtuluCommandComposite cmd_; + public RemoveProfilCtuluCommand(int _idxProfil, CtuluCommandComposite _cmd) { + idxProfil_=_idxProfil;cmd_=_cmd; + } + public void redo() { + cmd_.redo(); + fireProfilAdded(idxProfil_); + } + public void undo() { + cmd_.undo(); + fireProfilRemoved(idxProfil_); + } + public String getName() {return FudaaLib.getS("supprimer profil");} + } + CtuluCommandComposite cmdComp=new CtuluCommandComposite(); + getZoneProfils().removeGeometries(new int[]{_idxProfil}, cmdComp); + if(_cmd!=null) + _cmd.addCmd(new RemoveProfilCtuluCommand(_idxProfil, cmdComp)); + fireProfilRemoved(_idxProfil); + } + + public void renameProfil(int _idxProfil, String _newName, CtuluCommandContainer _cmd) { + if(_idxProfil<0||_idxProfil>=getZoneProfils().getNbGeometries()) + throw new IllegalArgumentException("Le profil "+_idxProfil+" n'existe pas"); + if(_newName==null||_newName.length()==0) + throw new IllegalArgumentException("Un nom doit \xEAtre donn\xE9"); + class RenameProfilCtuluCommand implements CtuluCommand, CtuluNamedCommand { + private int idxProfil_; + private String oldName_; + private String newName_; + public RenameProfilCtuluCommand(int _idxProfil, String _oldName, String _newName){ + idxProfil_=_idxProfil;oldName_=_oldName;newName_=_newName; + } + public void redo() {renameProfil(idxProfil_, newName_, null);} + public void undo() {renameProfil(idxProfil_, oldName_, null);} + public String getName() {return FudaaLib.getS("renommer profil");} + } + String oldName=(String) getZoneProfils().getValue(getZoneProfils().getIndiceOf(GISAttributeConstants.TITRE), _idxProfil); + getZoneProfils().setAttributValue(getZoneProfils().getIndiceOf(GISAttributeConstants.TITRE), _idxProfil, _newName, null); + if(_cmd!=null) + _cmd.addCmd(new RenameProfilCtuluCommand(_idxProfil, oldName, _newName)); + fireProfilRenamed(_idxProfil, oldName, _newName); + } + + // R\xE9action aux modifications dans le BiefCollection \\ + + public void addedBief(String _name) {} + + public void removedBief(String _name) { + if(_name==nomBiefSelected_) { + nomBiefSelected_=null; + fireBiefSelectedChanged(null); + } + } + + public void renamedBief(String _oldName, String _newName) { + if(_oldName==nomBiefSelected_) { + nomBiefSelected_=_newName; + fireBiefSelectedRenamed(_oldName, _newName); + } + } + + // Gestion des listeners \\ + + /** + * Ajoute un listener r\xE9agissant au modification des donn\xE9es. + */ + public void addBiefContainerListener(BiefContainerListener _listener) { + if(_listener!=null&&!listeners_.contains(_listener)) + listeners_.add(_listener); + } + + /** + * Supprime le listener de la liste. + */ + public void removeBiefContainerListener(BiefContainerListener _listener) { + if(_listener!=null&&listeners_.contains(_listener)) + listeners_.remove(_listener); + } + + protected void fireBiefSelectedChanged(String _newName) { + for(BiefContainerListener listener: listeners_) + listener.biefSelectedChanged(_newName); + } + protected void fireBiefSelectedRenamed(String _oldName, String _newName) { + for(BiefContainerListener listener: listeners_) + listener.biefSelectedRenamed(_oldName, _newName); + } + protected void fireProfilRemoved(int _idxProfil){ + for(BiefContainerListener listener: listeners_) + listener.profilRemoved(_idxProfil); + } + protected void fireProfilRenamed(int _idxProfil, String _oldName, String _newName){ + for(BiefContainerListener listener: listeners_) + listener.profilRenamed(_idxProfil, _oldName, _newName); + } + protected void fireProfilAdded(int _idxProfil) { + for(BiefContainerListener listener: listeners_) + listener.profilAdded(_idxProfil); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerAdapter.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:mergeinfo + /branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3445-3850 /branches/FudaaModeleur_TC1/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/DataGeometryListener.java:3861-3891 Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerListener.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/BiefContainerListener.java 2008-12-24 15:09:43 UTC (rev 4315) @@ -0,0 +1,21 @@ +/* + * @creation 23 d\xE9c. 2008 + * @modification $Date:$ + * @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.modeleur1d.model; + +/** + * Interface permettant de ce maintenir \xE0 jour du contenu du BiefContainer + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public interface BiefContainerListener { + public void biefSelectedRenamed(String _oldName, String _newName); + public void biefSelectedChanged(String _newName); + public void profilRemoved(int _idxProfil); + public void profilRenamed(int _idxProfil, St... [truncated message content] |
From: <bma...@us...> - 2009-01-07 18:22:18
|
Revision: 4330 http://fudaa.svn.sourceforge.net/fudaa/?rev=4330&view=rev Author: bmarchan Date: 2009-01-07 18:22:13 +0000 (Wed, 07 Jan 2009) Log Message: ----------- Notification de l'appli que les Data ou UI 1D ont ?\195?\169t?\195?\169 modifi?\195?\169s. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-01-07 13:34:28 UTC (rev 4329) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-01-07 18:22:13 UTC (rev 4330) @@ -190,6 +190,13 @@ } /** + * @return La vue 1D, ou null si inexistante. + */ + public MdlFille1d get1dFrame() { + return mdl1dFrame_; + } + + /** * @return La vue 2D, ou null si inexistante. */ public MdlFille2d get2dFrame() { @@ -419,6 +426,8 @@ try { addInternalFrame(mdl2dFrame_); + if (swingRun != null) swingRun.run(); + // Met a jour la fenetre 1d FudaaSaveZipLoader loader=null; try { @@ -431,8 +440,6 @@ try { loader.close(); } catch (IOException _exc) {} } } - - if (swingRun != null) swingRun.run(); // le projet a ete install\xE9: on enl\xE8ve les flag de modification project_.setOpening(false); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java 2009-01-07 13:34:28 UTC (rev 4329) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjet.java 2009-01-07 18:22:13 UTC (rev 4330) @@ -100,6 +100,7 @@ public void install(MdlImplementation _impl) { _impl.get2dFrame().getArbreCalqueModel().getObservable().addObserver(this); + _impl.get1dFrame().getController().getVueBief().getArbreCalqueModel().getObservable().addObserver(this); state_.addListener(new FudaaProjectStateFrameListener(_impl.getFrame(), this)); state_.addListener(_impl); state_.clearStates(); @@ -116,7 +117,10 @@ public void update(Observable _o, Object _arg) { if (opening_ || !isInstalled_) return; - state_.setParamModified(true); + if ((_arg instanceof String) && ((String)_arg).equals("UI")) + state_.setUiModified(true); + else + state_.setParamModified(true); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java 2009-01-07 13:34:28 UTC (rev 4329) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java 2009-01-07 18:22:13 UTC (rev 4330) @@ -58,7 +58,7 @@ /** Le controller 1d */ private Controller1d controller_; /** L'implementation */ - private BuCommonImplementation impl_=null; + private MdlImplementation impl_=null; public MdlFille1d(MdlImplementation _appli) { super("", true, false, true, true, _appli, null); @@ -114,6 +114,10 @@ public String getComponentTitle() { return FudaaLib.getS("Modules"); } + + public Controller1d getController() { + return controller_; + } public void majComponent(Object _o) { } @@ -257,8 +261,8 @@ private void restoreSpecificProps(final Properties _props) { if (_props==null) return; - SwingUtilities.invokeLater(new Runnable() { - public void run() { +// SwingUtilities.invokeLater(new Runnable() { +// public void run() { // Taille des vues try { int w=Integer.parseInt(_props.getProperty("viewBief.width")); @@ -299,7 +303,7 @@ controller_.getControllerProfil().getProfilSelectionModel().setSelectedProfil(idx); } catch (NumberFormatException _exc) {} - } - }); +// } +// }); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-01-07 13:34:28 UTC (rev 4329) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/Controller1d.java 2009-01-07 18:22:13 UTC (rev 4330) @@ -11,6 +11,8 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Observable; +import java.util.Observer; import javax.swing.Action; import javax.swing.DefaultListModel; @@ -61,6 +63,12 @@ */ public class Controller1d extends InternalFrameAdapter implements ZSelectionListener, ListSelectionListener, CtuluListSelectionListener { + class SpecialObservable extends Observable { + protected synchronized void setChanged() { + super.setChanged(); + } + } + // Les vues \\ /** La vue d'un profil par tableau. */ private VueTableau vueTableau_; @@ -83,6 +91,9 @@ /** Le commande manager pour le undo/redo */ private CtuluCommandManager mng_; + /** La classe d\xE9l\xE9gu\xE9e servant d'observable */ + private SpecialObservable delegateObs=new SpecialObservable(); + // Controllers \\ /** Le controller des Biefs */ private ControllerBief controllerBief_; @@ -364,4 +375,18 @@ mng_.clean(); controllerBief_.disableSynchronisers(); } + + public Observable getObservable() { + return delegateObs; + } + + public void fireUIChanged() { + delegateObs.setChanged(); + delegateObs.notifyObservers("UI"); + } + + public void fireDataChanged() { + delegateObs.setChanged(); + delegateObs.notifyObservers("Params"); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2009-01-22 15:22:29
|
Revision: 4393 http://fudaa.svn.sourceforge.net/fudaa/?rev=4393&view=rev Author: emmanuel_martin Date: 2009-01-22 15:22:26 +0000 (Thu, 22 Jan 2009) Log Message: ----------- Tache #135 : "Ordonner les sommets d'une g?\195?\169om?\195?\169trie, suivant X ou Y." Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java 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 2009-01-22 13:43:18 UTC (rev 4392) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2009-01-22 15:22:26 UTC (rev 4393) @@ -32,9 +32,10 @@ import org.fudaa.fudaa.modeleur.action.SceneDecimationAction; import org.fudaa.fudaa.modeleur.action.SceneInterpolationAction; import org.fudaa.fudaa.modeleur.action.SceneInvertAction; +import org.fudaa.fudaa.modeleur.action.SceneLinearisePolyligneAction; import org.fudaa.fudaa.modeleur.action.SceneMoveInLayerAction; +import org.fudaa.fudaa.modeleur.action.SceneOrganizePoint; import org.fudaa.fudaa.modeleur.action.SceneProfilInterpolation; -import org.fudaa.fudaa.modeleur.action.SceneLinearisePolyligneAction; import org.fudaa.fudaa.modeleur.action.SceneProjectionAction; import org.fudaa.fudaa.modeleur.action.SceneRefinementAction; import org.fudaa.fudaa.sig.layer.FSigEditor; @@ -85,6 +86,8 @@ acts.add(new SceneProjectionAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneProfilInterpolation((MdlSceneEditor)sceneEditor_)); acts.add(new SceneLinearisePolyligneAction((MdlSceneEditor) sceneEditor_)); + acts.add(new SceneOrganizePoint((MdlSceneEditor) sceneEditor_, "x")); + acts.add(new SceneOrganizePoint((MdlSceneEditor) sceneEditor_, "y")); acts.add(null); acts.add(new SceneAbscisseCurviligneAction(this)); acts.add(null); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-01-22 13:43:18 UTC (rev 4392) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-01-22 15:22:26 UTC (rev 4393) @@ -7,21 +7,12 @@ */ package org.fudaa.fudaa.modeleur; -import java.awt.Frame; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.swing.BorderFactory; -import javax.swing.JButton; -import javax.swing.JComponent; -import javax.swing.JDialog; -import javax.swing.JPanel; - import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluListSelection; @@ -31,6 +22,7 @@ import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISAttributeModelDoubleArray; import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; +import org.fudaa.ctulu.gis.GISCoordinateSequenceFactory; import org.fudaa.ctulu.gis.GISDataModel; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISLib; @@ -62,8 +54,6 @@ import org.fudaa.fudaa.modeleur.layer.MdlModel2dLine; import org.fudaa.fudaa.modeleur.layer.MdlModel2dMultiPoint; -import com.memoire.bu.BuBorderLayout; -import com.memoire.bu.BuLabel; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.Geometry; @@ -393,6 +383,64 @@ } /** + * Sort the points of selected polylignes. This sorting is done on the + * _criterion. It can be 'x' or 'y'. + */ + public void organizePoint(String _criterion) { + /** This class contain needed data to sort points. */ + class DataPoint implements Comparable<DataPoint>{ + public Coordinate c; + private String criterion_; + public DataPoint(Coordinate coord, String _criterion) { + if(!_criterion.equals("x")&&!_criterion.equals("y")) + throw new IllegalArgumentException(FudaaLib.getS("Le crit\xE8re n'a pas \xE9t\xE9 reconnu.")); + criterion_=_criterion; + c=coord; + } + /** M\xE9thode pour utiliser les alorithmes de tris fournis par java. */ + public int compareTo(DataPoint o) { + if(criterion_.equals("x")) + return compareX(o); + else + return compareY(o); + } + public int compareX(DataPoint o) { + if (c.x<o.c.x) return -1; + else if (c.x==o.c.x) return 0; + else return 1; + } + public int compareY(DataPoint o) { + if (c.y<o.c.y) return -1; + else if (c.y==o.c.y) return 0; + else return 1; + } + } + CtuluCommandComposite cmd=new CtuluCommandComposite(FudaaLib.getS("R\xE9organisation de la g\xE9om\xE9trie")); + int[] geoms=getScene().getSelectionHelper().getSelectedIndexes(); + for (int i=0; i<geoms.length; i++) { + // Data retrieval + int idxGeom=getScene().sceneId2LayerId(geoms[i]); + ZCalqueAffichageDonneesInterface calque=getScene().getLayerForId(geoms[i]); + if (calque.modeleDonnees() instanceof ZModeleGeometry) { + GISZoneCollection zone=((ZModeleGeometry)calque.modeleDonnees()).getGeomData(); + CoordinateSequence seq=zone.getCoordinateSequence(idxGeom); + // Construction de la structure de tri + DataPoint[] points=new DataPoint[seq.size()]; + for(int j=0;j<points.length;j++) + points[j]=new DataPoint(seq.getCoordinate(j), _criterion); + Arrays.sort(points); + // R\xE9percution du tri + Coordinate[] coords=new Coordinate[points.length]; + for(int j=0;j<points.length;j++) + coords[j]=new Coordinate(points[j].c); + zone.setCoordinateSequence(idxGeom, new GISCoordinateSequenceFactory().create(coords), cmd); + } + } + if(getMng()!=null) + getMng().addCmd(cmd.getSimplify()); + } + + /** * Rend rectiligne une polyligne. */ public void linearisePolyligne() { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java 2009-01-22 13:43:18 UTC (rev 4392) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java 2009-01-22 15:22:26 UTC (rev 4393) @@ -10,15 +10,10 @@ import java.awt.event.ActionEvent; import org.fudaa.ctulu.CtuluLib; -import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISPolyligne; -import org.fudaa.ctulu.gis.GISZoneCollection; -import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; -import org.fudaa.ebli.calque.ZModeleGeometry; import org.fudaa.ebli.calque.ZScene; import org.fudaa.ebli.calque.ZSelectionEvent; import org.fudaa.ebli.calque.ZSelectionListener; -import org.fudaa.ebli.calque.ZScene.SceneSelectionHelper; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.fudaa.modeleur.MdlSceneEditor; import org.fudaa.fudaa.ressource.FudaaResource; @@ -33,7 +28,6 @@ public SceneLinearisePolyligneAction(MdlSceneEditor _sceneEditor) { super(FudaaResource.FUDAA.getString("Rendre rectiligne des polylignes"), null, "RECTILIGNE_POLYLIGNE"); -// setDefaultToolTip(FudaaResource.FUDAA.getString("Rend rectiligne une ou plusieurs polyligne(s)")); sceneEditor_=_sceneEditor; sceneEditor_.getScene().addSelectionListener(this); } @@ -42,32 +36,25 @@ sceneEditor_.linearisePolyligne(); } - public void updateForSelectionChanged() { + public String getEnableCondition() { + return CtuluLib + .getS("<p>En mode sommet, s\xE9lectionner deux points pour chaque polyligne<p>En mode global, s\xE9lectionner une ou plusieurs polyligne(s)."); + } + + public void selectionChanged(ZSelectionEvent _evt) { ZScene scn=sceneEditor_.getScene(); - SceneSelectionHelper hlp=sceneEditor_.getScene().getSelectionHelper(); // Au moins une et seulement des polylignes de selectionn\xE9es. Et si en mode // atomique, deux sommets doivent \xEAtre selectionn\xE9s pour chacune d'entre // elles. int[] geomSelected=scn.getSelectionHelper().getSelectedIndexes(); boolean b=geomSelected.length>0; int i=0; - while(b&&i<geomSelected.length){ + while (b&&i<geomSelected.length) { b=scn.getObject(geomSelected[i]) instanceof GISPolyligne; - if(scn.isAtomicMode()) + if (scn.isAtomicMode()) b=b&&scn.getLayerSelectionMulti()!=null&&scn.getLayerSelectionMulti().getSelection(geomSelected[i]).getNbSelectedIndex()==2; i++; } setEnabled(b); } - - public String getEnableCondition() { - return CtuluLib.getS("<p>En mode sommet, s\xE9lectionner deux points pour chaque polyligne<p>En mode global, s\xE9lectionner une ou plusieurs polyligne(s)."); - } - - /* (non-Javadoc) - * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) - */ - public void selectionChanged(ZSelectionEvent _evt) { - updateForSelectionChanged(); - } } Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java 2009-01-22 15:22:26 UTC (rev 4393) @@ -0,0 +1,61 @@ +/* + * @creation 22 janv. 2009 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2009 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.action; + +import java.awt.event.ActionEvent; + +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ebli.calque.ZSelectionEvent; +import org.fudaa.ebli.calque.ZSelectionListener; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.modeleur.MdlSceneEditor; + +/** + * Allow to reorganize geometries with criterion. The criterions can be x or y. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class SceneOrganizePoint extends EbliActionSimple implements ZSelectionListener { + + public static final String x="x"; + public static final String y="y"; + + /** The criterion used */ + protected String criterion_; + protected MdlSceneEditor sceneEditor_; + + /** + * @param _sceneEditor + * @param _criterion + * the criterion, can be x or y. Put directly the string "x" or + * SceneOrganizePoint.x. As you want. + */ + public SceneOrganizePoint(MdlSceneEditor _sceneEditor, String _criterion) { + super(FudaaLib.getS("R\xE9organisation sur ")+(_criterion==null?"":_criterion), null, "REORGANIZE_POLYLIGNE"); + sceneEditor_=_sceneEditor; + criterion_=_criterion; + if(sceneEditor_==null||criterion_==null) + throw new IllegalArgumentException(FudaaLib.getS("Les param\xE8tres ne doivent pas \xEAtre null")); + if(!criterion_.equals(x)&&!criterion_.equals(y)) + throw new IllegalArgumentException(FudaaLib.getS("Le crit\xE8re n'a pas \xE9t\xE9 reconnu.")); + sceneEditor_.getScene().addSelectionListener(this); + } + + public void selectionChanged(ZSelectionEvent _evt) { + setEnabled(!sceneEditor_.getScene().isSelectionEmpty()); + } + + public String getEnableCondition() { + return CtuluLib.getS("<p>S\xE9lectionner une ou plusieurs g\xE9om\xE9trie(s)."); + } + + public void actionPerformed(final ActionEvent _e) { + sceneEditor_.organizePoint(criterion_); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.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. |
From: <emm...@us...> - 2009-01-30 15:11:58
|
Revision: 4429 http://fudaa.svn.sourceforge.net/fudaa/?rev=4429&view=rev Author: emmanuel_martin Date: 2009-01-30 15:11:50 +0000 (Fri, 30 Jan 2009) Log Message: ----------- Tache #176 : "Modifier la commande "rendre rectiligne des polylignes" pour qu'elle puisse rendre rectiligne des portions de segments." Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java 2009-01-30 15:11:50 UTC (rev 4429) @@ -0,0 +1,175 @@ +/* + * @creation 30 janv. 2009 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2009 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.fudaa.ctulu.CtuluCommandComposite; +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.collection.CtuluCollection; +import org.fudaa.ctulu.gis.GISAttributeInterface; +import org.fudaa.ctulu.gis.GISAttributeModel; +import org.fudaa.ctulu.gis.GISGeometryFactory; +import org.fudaa.ctulu.gis.GISPolyligne; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; +import org.fudaa.ebli.geometrie.GrPoint; +import org.fudaa.ebli.geometrie.GrVecteur; + +import com.vividsolutions.jts.geom.Coordinate; + +/** + * Quelques m\xE9thodes utiles et ind\xE9dendantes. + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public class LibUtils { + + /** + * Rend rectiligne un morceau d'une polyligne. + * _idxPoints doit contenir au moins deux index de point. + * + * Si plus de deux points sont selectionn\xE9s dans la g\xE9om\xE9trie (exemple idx : + * 0, 3 et 4), on iterre sur les points selectionn\xE9s deux \xE0 deux (donc 0 et 3 + * puis 3 et 4) pour chacune de ces it\xE9rations on projete sur le segment les + * points dont les indices sont entre les deux trait\xE9s (premi\xE8re it\xE9ration : + * projection du point 2, aucun pour la seconde). si la projection d'un point + * n'appartient pas au segment, il est ignor\xE9. + */ + @SuppressWarnings("unchecked") + static public void linearisePolyligne(GISZoneCollectionLigneBrisee _zone, int _idxGeom, int[] _idxPoints, CtuluCommandContainer _cmd) { + if(_zone==null||_idxPoints==null) + throw new IllegalArgumentException("_zone et _idxPoints ne doivent pas \xEAtre null."); + if(_idxGeom<0||_idxGeom>=_zone.getNbGeometries()) + throw new IllegalArgumentException("_idxGeom n'appartient pas \xE0 _zone."); + if(_idxPoints.length<2) + throw new IllegalArgumentException("Il doit y avoir au moins deux points selectionn\xE9s."); + for(int i=0;i<_idxPoints.length;i++) + if(_idxPoints[i]<0||_idxPoints[i]>=_zone.getGeometry(_idxGeom).getNumPoints()) + throw new IllegalArgumentException("Au moins un des index de _idxPoints est invalide."); + + /** Class contenant les infromations relatives \xE0 une coordonn\xE9s projet\xE9e. */ + class PointProj implements Comparable<PointProj> { + public Coordinate c; // Coordonn\xE9 projet\xE9e + public double indiceCurviligne; // Indice Curviligne (k tq k*VecDirecteur=Vec(PtOrigine, c)) + public List<Object> data=new ArrayList<Object>(); // valeur des attributs atomiques + /** M\xE9thode pour utiliser les alorithmes de tris fournis par java. */ + public int compareTo(PointProj o) { + if (indiceCurviligne<o.indiceCurviligne) + return -1; + else if (indiceCurviligne==o.indiceCurviligne) + return 0; + else + return 1; + } + } + CtuluCommandComposite cmd=new CtuluCommandComposite(); + // Pour chaque polyligne selectionn\xE9es + GISPolyligne polyligne=(GISPolyligne)_zone.getGeometry(_idxGeom); + List<Coordinate> newCoords=new ArrayList<Coordinate>(polyligne.getNumPoints()); + for (int j=0; j<polyligne.getNumPoints(); j++) + newCoords.add(polyligne.getCoordinateN(j)); + + // Tableau contenant les valeurs d'attributs de la g\xE9om\xE9trie (les atomiques + // sont dupliqu\xE9s) + Object[] newData=new Object[_zone.getNbAttributes()]; + for (int j=0; j<_zone.getNbAttributes(); j++) + if (_zone.getAttribute(j).isAtomicValue()) { + Object[] values=((GISAttributeModel)_zone.getDataModel(j).getObjectValueAt(_idxGeom)).getObjectValues(); + List<Object> lst=new ArrayList<Object>(values.length); + for (int k=0; k<values.length; k++) + lst.add(values[k]); + newData[j]=lst; + } + else + newData[j]=_zone.getDataModel(j).getObjectValueAt(_idxGeom); + /* + * Si plus d'un point est selectionn\xE9 dans la g\xE9om\xE9trie (exemple idx : + * 0, 3 et 4), on iterre sur les points selectionn\xE9s deux \xE0 deux (donc 0 + * et 3 puis 3 et 4) pour chacune de ces it\xE9rations on projete sur le + * segment les points dont les indices sont entre les deux trait\xE9s + * (premi\xE8re it\xE9ration : projection du point 2, aucun pour la seconde). + * si la projection d'un point n'appartient pas au segment, il est + * ignor\xE9. + * Sinon on utilise le premier et le dernier point de la + * polyligne comme destination de la projection. pt1 et pt2 sont ces + * deux points de r\xE9f\xE9rence. + */ + // Couples contients les couples d'indices \xE0 traiter. + Arrays.sort(_idxPoints); + int[][] couples; + couples=new int[_idxPoints.length-1][]; + for (int j=0; j<couples.length; j++) + couples[j]=new int[]{_idxPoints[j], _idxPoints[j+1]}; + // Iterration sur chacun des couples d'index + for (int j=couples.length-1; j>=0; j--) { + int idx1=couples[j][0]; + int idx2=couples[j][1]; + assert (idx1<idx2); + GrPoint pt1=new GrPoint(newCoords.get(idx1)); + GrPoint pt2=new GrPoint(newCoords.get(idx2)); + + // Vecteur de la droite de destination + GrVecteur vecP1P2=new GrVecteur(pt2.x_-pt1.x_, pt2.y_-pt1.y_, pt2.z_-pt1.z_); + // Construction de l'ensemble des points modifi\xE9s \\ + List<PointProj> lstNewPtsCurv=new ArrayList<PointProj>(); + for (int k=1; k<idx2-idx1; k++) { + GrPoint a=new GrPoint(polyligne.getCoordinateSequence().getCoordinate(k+idx1)); + // Projection + GrVecteur vecP1A=new GrVecteur(a.x_-pt1.x_, a.y_-pt1.y_, a.z_-pt1.z_); + GrPoint p=pt1.addition(vecP1A.projection(vecP1P2)); + Coordinate cp=new Coordinate(p.x_, p.y_, p.z_); + // Remplissage des informations relatives au point calcul\xE9 + PointProj pointProj=new PointProj(); + pointProj.c=cp; + pointProj.indiceCurviligne=new GrVecteur(cp.x-pt1.x_, cp.y-pt1.y_, cp.z-pt1.z_).division(vecP1P2); + if (pointProj.indiceCurviligne>=0&&pointProj.indiceCurviligne<=1) { + for (int l=0; l<_zone.getNbAttributes(); l++) + if (_zone.getAttribute(l).isAtomicValue()) + pointProj.data.add(((CtuluCollection)_zone.getValue(l, _idxGeom)).getObjectValueAt(k+idx1)); + lstNewPtsCurv.add(pointProj); + } + } + PointProj[] newPtsCurv=new PointProj[lstNewPtsCurv.size()]; + newPtsCurv=lstNewPtsCurv.toArray(newPtsCurv); + // Tri des points en fonction de leur abcisse curviligne \\ + Arrays.sort(newPtsCurv); + // Enregistrement des coordonn\xE9s et suppression des points disparus + for (int k=newPtsCurv.length-1; k>=0; k--) + newCoords.set(k+idx1+1, newPtsCurv[k].c); + for (int k=idx2-1; k>idx1+newPtsCurv.length; k--) + newCoords.remove(k); + // R\xE9cup\xE9ration des values des attributs atomiques + int nemeAttAtomique=0; + for (int k=0; k<_zone.getNbAttributes(); k++) + if (_zone.getAttribute(k).isAtomicValue()) { + List<Object> lst=(List<Object>)newData[k]; + for (int l=newPtsCurv.length-1; l>=0; l--) + lst.set(l+idx1+1, newPtsCurv[l].data.get(nemeAttAtomique)); + for (int l=idx2-1; l>idx1+newPtsCurv.length; l--) + lst.remove(l+idx1); + nemeAttAtomique++; + } + } + // Remplacement de l'ancienne g\xE9om\xE9trie \\ + _zone.setGeometry(_idxGeom, GISGeometryFactory.INSTANCE.createLineString(newCoords.toArray(new Coordinate[0])), cmd); + for (int j=0; j<_zone.getNbAttributes(); j++) { + GISAttributeInterface attr=_zone.getAttribute(j); + if (attr.isAtomicValue()) { + Object[] values=((List<Object>)newData[j]).toArray(); + _zone.setAttributValue(j, _idxGeom, attr.createDataForGeom(values, values.length), cmd); + } + else + _zone.setAttributValue(j, _idxGeom, newData[j], cmd); + } + // Mise \xE0 jour du undo/redo + if (_cmd!=null) + _cmd.addCmd(cmd.getSimplify()); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-01-30 10:28:57 UTC (rev 4428) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-01-30 15:11:50 UTC (rev 4429) @@ -17,7 +17,6 @@ import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluListSelectionInterface; -import org.fudaa.ctulu.collection.CtuluCollection; import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISAttributeModelDoubleArray; @@ -31,6 +30,7 @@ import org.fudaa.ctulu.gis.GISPolyligne; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gis.GISZoneCollectionGeometry; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; import org.fudaa.ctulu.interpolation.InterpolationParameters; import org.fudaa.ctulu.interpolation.InterpolationResultsHolderI; import org.fudaa.ctulu.interpolation.InterpolationSupportGISAdapter; @@ -48,8 +48,6 @@ import org.fudaa.ebli.calque.edition.ZCalqueEditable; import org.fudaa.ebli.calque.edition.ZModeleEditable; import org.fudaa.ebli.calque.edition.ZSceneEditor; -import org.fudaa.ebli.geometrie.GrPoint; -import org.fudaa.ebli.geometrie.GrVecteur; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.modeleur.layer.MdlModel2dLine; import org.fudaa.fudaa.modeleur.layer.MdlModel2dMultiPoint; @@ -444,32 +442,8 @@ * Rend rectiligne une polyligne. */ public void linearisePolyligne() { - /** Class contenant les informations relativent \xE0 une polyligne. */ - class Poly { - public GISPolyligne poly; - public Object[] data; - public Poly(GISPolyligne _poly, Object[] _data) { - poly=_poly; - data=_data; - } - } - /** Class contenant les infromations relatives \xE0 une coordonn\xE9s projet\xE9e. */ - class PointProj implements Comparable<PointProj> { - public Coordinate c; // Coordonn\xE9 projet\xE9e - public double indiceCurviligne; // Indice Curviligne (k tq k*VecDirecteur=Vec(PtOrigine, c)) - public List<Object> data=new ArrayList<Object>(); // valeur des attributs atomiques - /** M\xE9thode pour utiliser les alorithmes de tris fournis par java. */ - public int compareTo(PointProj o) { - if (indiceCurviligne<o.indiceCurviligne) - return -1; - else if (indiceCurviligne==o.indiceCurviligne) - return 0; - else - return 1; - } - } + CtuluCommandComposite cmd=new CtuluCommandComposite(); int[] geoms=getScene().getSelectionHelper().getSelectedIndexes(); - Map<ZCalqueAffichageDonneesInterface, List<Poly>> newPoly=new HashMap<ZCalqueAffichageDonneesInterface, List<Poly>>(); // Verification de la selection \\ boolean selectionValid=true; int w=-1; @@ -478,87 +452,22 @@ if(selectionValid){ // Pour chaque polyligne selectionn\xE9es for (int i : geoms) { - GISPolyligne polyligne=((GISPolyligne)getScene().getObject(i)); + int idxGeom=getScene().sceneId2LayerId(i); + GISPolyligne polyligne=((GISPolyligne)getScene().getObject(idxGeom)); ZCalqueAffichageDonneesInterface calque=getScene().getLayerForId(i); - GISZoneCollection zone=((ZModeleEditable)calque.modeleDonnees()).getGeomData(); - /* - * Si deux points sont selectionn\xE9s dans cette polyligne, on les utilises - * comme destination de projection, sinon, ou si le nombre de point - * selectionn\xE9 n'est pas exactement deux, on utilise le premier et le - * dernier point de la polyligne comme destination de la projection. pt1 - * et pt2 sont ces deux points de r\xE9f\xE9rence. - */ - GrPoint pt1; - GrPoint pt2; - if (getScene().isAtomicMode()&&getScene().getLayerSelectionMulti().getSelection(i).getNbSelectedIndex()==2) { - pt1=new GrPoint(polyligne.getCoordinateSequence().getCoordinate(getScene().getLayerSelectionMulti().getSelection(i).getSelectedIndex()[0])); - pt2=new GrPoint(polyligne.getCoordinateSequence().getCoordinate(getScene().getLayerSelectionMulti().getSelection(i).getSelectedIndex()[1])); - } - else { - pt1=new GrPoint(polyligne.getCoordinateSequence().getCoordinate(0)); - pt2=new GrPoint(polyligne.getCoordinateSequence().getCoordinate(polyligne.getCoordinateSequence().size()-1)); - } - // Vecteur de la droite de destination - GrVecteur vecP1P2=new GrVecteur(pt2.x_-pt1.x_, pt2.y_-pt1.y_, pt2.z_-pt1.z_); - // Construction de l'ensemble des points composant la nouvelle polyligne \\ - PointProj[] newPtsCurv=new PointProj[polyligne.getCoordinateSequence().size()]; - for (int j=0; j<newPtsCurv.length; j++) { - GrPoint a=new GrPoint(polyligne.getCoordinateSequence().getCoordinate(j)); - // Projection - GrVecteur vecP1A=new GrVecteur(a.x_-pt1.x_, a.y_-pt1.y_, a.z_-pt1.z_); - GrPoint p=pt1.addition(vecP1A.projection(vecP1P2)); - Coordinate cp=new Coordinate(p.x_, p.y_, p.z_); - // Remplissage des informations relatives au point calcul\xE9 - newPtsCurv[j]=new PointProj(); - newPtsCurv[j].c=cp; - newPtsCurv[j].indiceCurviligne=new GrVecteur(cp.x-pt1.x_, cp.y-pt1.y_, cp.z-pt1.z_).division(vecP1P2); - for (int k=0; k<zone.getNbAttributes(); k++) - if (zone.getAttribute(k).isAtomicValue()) - newPtsCurv[j].data.add(((CtuluCollection)zone.getValue(k, getScene().sceneId2LayerId(i))).getObjectValueAt(j)); - } - // Tri des points en fonction de leur abcisse curviligne \\ - Arrays.sort(newPtsCurv); - // R\xE9cup\xE9ration des coordonn\xE9s - Coordinate[] newPts=new Coordinate[newPtsCurv.length]; - for (int j=0; j<newPts.length; j++) - newPts[j]=newPtsCurv[j].c; - // R\xE9cup\xE9ration des values des attributs atomiques - Object[] newData=new Object[zone.getNbAttributes()]; - int nemeAttAtomique=0; - for (int j=0; j<zone.getNbAttributes(); j++) { - if (zone.getAttribute(j).isAtomicValue()) { - Object[] values=new Object[newPtsCurv.length]; - for (int k=0; k<newPtsCurv.length; k++) - values[k]=newPtsCurv[k].data.get(nemeAttAtomique); - newData[j]=zone.getAttribute(j).createDataForGeom(values, newPtsCurv.length); - nemeAttAtomique++; - } - else - newData[j]=zone.getValue(j, getScene().sceneId2LayerId(i)); - } - // Ajout \xE0 la list des nouvelles polylignes \\ - if (!newPoly.containsKey(calque)) - newPoly.put(calque, new ArrayList<Poly>()); - newPoly.get(calque).add(new Poly(GISGeometryFactory.INSTANCE.createLineString(newPts), newData)); + GISZoneCollectionLigneBrisee zone=(GISZoneCollectionLigneBrisee) ((ZModeleEditable)calque.modeleDonnees()).getGeomData(); + + if (getScene().isAtomicMode()&&getScene().getLayerSelectionMulti().getSelection(i).getNbSelectedIndex()>1) + LibUtils.linearisePolyligne(zone, idxGeom, getScene().getLayerSelectionMulti().getSelection(i).getSelectedIndex(), cmd); + else + LibUtils.linearisePolyligne(zone, idxGeom, new int[]{0, polyligne.getNumPoints()-1}, cmd); } - CtuluCommandComposite cmd=new CtuluCommandComposite(); - // Destruction des anciennes polylignes - Arrays.sort(geoms); - for (int i=geoms.length-1; i>=0; i--) - ((ZModeleEditable)getScene().getLayerForId(geoms[i]).modeleDonnees()).getGeomData().removeGeometries(new int[]{getScene().sceneId2LayerId(geoms[i])}, cmd); - // Ajout des nouvelles polylignes - for (Map.Entry<ZCalqueAffichageDonneesInterface, List<Poly>> entry : newPoly.entrySet()) { - GISZoneCollection zone=((ZModeleEditable)((ZCalqueEditable)entry.getKey()).modeleDonnees()).getGeomData(); - List<Poly> polys=entry.getValue(); - for (int i=0; i<polys.size(); i++) - zone.addGeometry(polys.get(i).poly, polys.get(i).data, cmd); - } - // Mise \xE0 jour du undo/redo - if(mng_!=null) - mng_.addCmd(cmd.getSimplify()); - // Suppression de la selection - getScene().clearSelection(); } + // Mise \xE0 jour du undo/redo + if(mng_!=null) + mng_.addCmd(cmd.getSimplify()); + // Suppression de la selection + getScene().clearSelection(); } /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java 2009-01-30 10:28:57 UTC (rev 4428) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneLinearisePolyligneAction.java 2009-01-30 15:11:50 UTC (rev 4429) @@ -38,13 +38,13 @@ public String getEnableCondition() { return CtuluLib - .getS("<p>En mode sommet, s\xE9lectionner deux points pour chaque polyligne<p>En mode global, s\xE9lectionner une ou plusieurs polyligne(s)."); + .getS("<p>En mode sommet, s\xE9lectionner au moins deux points pour chaque polyligne<p>En mode global, s\xE9lectionner une ou plusieurs polyligne(s)."); } public void selectionChanged(ZSelectionEvent _evt) { ZScene scn=sceneEditor_.getScene(); // Au moins une et seulement des polylignes de selectionn\xE9es. Et si en mode - // atomique, deux sommets doivent \xEAtre selectionn\xE9s pour chacune d'entre + // atomique, deux sommets au moins doivent \xEAtre selectionn\xE9s pour chacune d'entre // elles. int[] geomSelected=scn.getSelectionHelper().getSelectedIndexes(); boolean b=geomSelected.length>0; @@ -52,7 +52,7 @@ while (b&&i<geomSelected.length) { b=scn.getObject(geomSelected[i]) instanceof GISPolyligne; if (scn.isAtomicMode()) - b=b&&scn.getLayerSelectionMulti()!=null&&scn.getLayerSelectionMulti().getSelection(geomSelected[i]).getNbSelectedIndex()==2; + b=b&&scn.getLayerSelectionMulti()!=null&&scn.getLayerSelectionMulti().getSelection(geomSelected[i]).getNbSelectedIndex()>=2; i++; } setEnabled(b); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-02-02 16:00:43
|
Revision: 4435 http://fudaa.svn.sourceforge.net/fudaa/?rev=4435&view=rev Author: bmarchan Date: 2009-02-02 16:00:39 +0000 (Mon, 02 Feb 2009) Log Message: ----------- Tache #175 : Correction terminologique 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/modeleur1d/view/VueCourbe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.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-02-02 15:32:42 UTC (rev 4434) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2009-02-02 16:00:39 UTC (rev 4435) @@ -228,7 +228,7 @@ */ protected void buildModel1dLayerGroup(boolean _build) { cqMdl1d_ = new BGroupeCalque(); - cqMdl1d_.setTitle(MdlResource.MDL.getString("Mod\xE8le 1D")); + cqMdl1d_.setTitle(MdlResource.MDL.getString("Entit\xE9s 1D")); cqMdl1d_.setName("gcMdl1d"); cqMdl1d_.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Stocke le mod\xE8le")); cqMdl1d_.setDestructible(false); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java 2009-02-02 15:32:42 UTC (rev 4434) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueCourbe.java 2009-02-02 16:00:39 UTC (rev 4435) @@ -74,7 +74,7 @@ * Petite classe utilie pour le combo box de choix de ligne directrice. * Il permet de concerver l'index de la ligne directrice en plus de son nom. * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ private class PaireLd { public int idx; @@ -438,7 +438,7 @@ grapheVue_=new EGGraphe(grapheModel); // Axe X \\ EGAxeHorizontal axeX = new EGAxeHorizontal(false); - axeX.setTitre(FudaaLib.getS("Abscisse curviligne")); + axeX.setTitre(FudaaLib.getS("Abscisse en travers")); axeX.setUnite(FudaaLib.getS("m\xE8tre")); axeX.setBounds(0, 500); // Minimum et maximum de l'axe axeX.setGraduations(true); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java 2009-02-02 15:32:42 UTC (rev 4434) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java 2009-02-02 16:00:39 UTC (rev 4435) @@ -23,6 +23,7 @@ import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.gui.CtuluTable; +import org.fudaa.ctulu.gui.CtuluValueEditorDefaults; import org.fudaa.ebli.commun.EbliFormatterInterface; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.modeleur.modeleur1d.controller.Controller1d; @@ -56,7 +57,7 @@ protected EbliFormatterInterface formater_; public TableGeomModel(ProfilContainer _data, EbliFormatterInterface _formater){ - super(new String[]{FudaaLib.getS("Index"), FudaaLib.getS("Abs curv"), FudaaLib.getS("Z")}, 0); + super(new String[]{FudaaLib.getS("Index"), FudaaLib.getS("Abs travers"), FudaaLib.getS("Z")}, 0); formater_=_formater; if(_data==null) throw new IllegalArgumentException("_data ne doit pas \xEAtre null."); @@ -182,7 +183,6 @@ }); add(new BuScrollPane(table_), BuBorderLayout.CENTER); // Abscisse curviligne du profil sur l'axe hydraulique - tfAxeHydraulique_.setHorizontalAlignment(SwingUtilities.CENTER); tfAxeHydraulique_.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { double oldValue=modelTable_.getAbsCurvProfilOnAxeHydraulique(); @@ -201,7 +201,7 @@ } }); Box absCurv=new Box(BoxLayout.X_AXIS); - absCurv.add(new BuLabel(FudaaLib.getS("Abscisse Curviligne : "))); + absCurv.add(new BuLabel(FudaaLib.getS("Abscisse sur l'axe: "))); absCurv.add(tfAxeHydraulique_); add(absCurv, BuBorderLayout.SOUTH); // Taille This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2009-02-13 13:30:37
|
Revision: 4463 http://fudaa.svn.sourceforge.net/fudaa/?rev=4463&view=rev Author: emmanuel_martin Date: 2009-02-13 13:30:34 +0000 (Fri, 13 Feb 2009) Log Message: ----------- Modeleur 1D : Suppression de la contraite de non pr?\195?\169sence de points supprepos?\195?\169s. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java 2009-02-13 10:25:22 UTC (rev 4462) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/LibUtils.java 2009-02-13 13:30:34 UTC (rev 4463) @@ -27,7 +27,7 @@ /** * Quelques m\xE9thodes utiles et ind\xE9dendantes. * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public class LibUtils { @@ -70,7 +70,7 @@ } } CtuluCommandComposite cmd=new CtuluCommandComposite(); - // Pour chaque polyligne selectionn\xE9es + // Pour chaque point selectionn\xE9 GISPolyligne polyligne=(GISPolyligne)_zone.getGeometry(_idxGeom); List<Coordinate> newCoords=new ArrayList<Coordinate>(polyligne.getNumPoints()); for (int j=0; j<polyligne.getNumPoints(); j++) @@ -129,6 +129,7 @@ PointProj pointProj=new PointProj(); pointProj.c=cp; pointProj.indiceCurviligne=new GrVecteur(cp.x-pt1.x_, cp.y-pt1.y_, cp.z-pt1.z_).division(vecP1P2); + pointProj.indiceCurviligne=((double) ((long) (pointProj.indiceCurviligne*10000)))/10000.; if (pointProj.indiceCurviligne>=0&&pointProj.indiceCurviligne<=1) { for (int l=0; l<_zone.getNbAttributes(); l++) if (_zone.getAttribute(l).isAtomicValue()) Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java 2009-02-13 10:25:22 UTC (rev 4462) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java 2009-02-13 13:30:34 UTC (rev 4463) @@ -45,7 +45,7 @@ * demander \xE0 l'utilisateur certaines informations suppl\xE9mentaires. * * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public class BiefImporterFromModels { @@ -110,8 +110,8 @@ } else if (k<profils_.getNombre()-1) { CoordinateSequence profilPrevious=zone.getCoordinateSequence(k+1); - Coordinate pointProfilPrevious=profilPrevious.getCoordinate(profilPrevious.size()/2); - vAxeH=new Coordinate(pointProfilPrevious.x-interAxeProfil.x, pointProfilPrevious.y-interAxeProfil.y, 0); + Coordinate pointProfilNext=profilPrevious.getCoordinate(profilPrevious.size()/2); + vAxeH=new Coordinate(pointProfilNext.x-interAxeProfil.x, pointProfilNext.y-interAxeProfil.y, 0); } else { if (axeHydraulique_.getNombre()>0) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java 2009-02-13 10:25:22 UTC (rev 4462) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java 2009-02-13 13:30:34 UTC (rev 4463) @@ -246,10 +246,10 @@ if (seq.size()<2) throw new ProfilContainerException(FudaaLib.getS("Le profil doit avoir au minimum deux points.")); // Verifie que deux points cons\xE9cutifs ne sont pas confondus. \\ - for (int i=1; i<seq.size(); i++) +/* for (int i=1; i<seq.size(); i++) if (seq.getX(i-1)==seq.getX(i)&&seq.getY(i-1)==seq.getY(i)) throw new ProfilContainerException(FudaaLib.getS("Au moins deux points dans le profil sont confondus.")); - // Calcul des acbscisses curvilignes => hypoth\xE8se d'ordonnancement correcte des points \\ +*/ // Calcul des acbscisses curvilignes => hypoth\xE8se d'ordonnancement correcte des points \\ updateCacheCurv(); // Remplissage du cache Z \\ updateCacheZ(); @@ -264,7 +264,7 @@ // Aucun point d'intersectin avec les axes qui suivent int j=i; while(ok&&++j+1<seq.size()) - ok=!mainAxe.intersects(GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(j), seq.getCoordinate(j+1)})); + ok=(!mainAxe.intersects(GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(j), seq.getCoordinate(j+1)})))||seq.getCoordinate(j).equals(seq.getCoordinate(i)); // Traitement d'une \xE9ventuelle intersection if(!ok) throw new ProfilContainerException(FudaaLib.getS("Le profil se coupe lui m\xEAme. Il n'est donc pas valide.")); @@ -272,9 +272,27 @@ /// D\xE9termination des points de ruptures. \\\ idxRuptures_.clear(); - for (int i=1; i<seq.size()-1; i++) - if(UtilsProfil1d.getAngle(seq.getCoordinate(i-1), seq.getCoordinate(i), seq.getCoordinate(i+1))<_tolerance) - idxRuptures_.add(i); + int idx1=0; + int idx2=1; + int idx3=2; + while(idx3<seq.size()) { + if(idx1==idx2) + idx2++; + else if(idx2==idx3) + idx3++; + else if(seq.getCoordinate(idx1).equals(seq.getCoordinate(idx2))) + idx2++; + else if(seq.getCoordinate(idx2).equals(seq.getCoordinate(idx3))) + idx3++; + else { + if(UtilsProfil1d.getAngle(seq.getCoordinate(idx1), seq.getCoordinate(idx2), seq.getCoordinate(idx3))<_tolerance) + idxRuptures_.add(idx2); + if(idx2+1<idx3) + idx2++; + else + idx1=idx2; + } + } // Lin\xE9arisation du profil int[] idxRuptures=new int[idxRuptures_.size()+2]; idxRuptures[0]=0; @@ -648,12 +666,12 @@ // // Delta pour savoir si des doubles sont \xE9gaux // double tolerance=0.000001; - // Verifie que le point reste encadr\xE9 par le(s) m\xEAme(s) point(s) - if((_idxPoint==0&&_value>=curv_.get(1))||(_idxPoint==seq.size()-1&&_value<=curv_.get(seq.size()-2))||(_idxPoint!=0&&_idxPoint!=seq.size()-1&&(_value<=curv_.get(_idxPoint-1)||_value>=curv_.get(_idxPoint+1)))) - throw new ProfilContainerException(FudaaLib.getS("Il est interdit de d\xE9placer un point au dela des points l'encadrant.")); - // Cas o\xF9 l'index n'est pas sur un point de rupture \\ if (!idxRuptures_.contains(_idxPoint)) { + // Verifie que le point reste encadr\xE9 par le(s) m\xEAme(s) point(s) + if((_idxPoint==0&&_value>=curv_.get(1))||(_idxPoint==seq.size()-1&&_value<=curv_.get(seq.size()-2))||(_idxPoint!=0&&_idxPoint!=seq.size()-1&&(_value<=curv_.get(_idxPoint-1)||_value>=curv_.get(_idxPoint+1)))) + throw new ProfilContainerException(FudaaLib.getS("Il est interdit de d\xE9placer un point au dela des points l'encadrant.")); + // Le point reste encadr\xE9 par les deux m\xEAme points => le signe de xa-xb et // de ya-yb ne change pas Coordinate newCoord=UtilsProfil1d.getCoordinateXY(seq, _value); @@ -666,6 +684,8 @@ else curv_.set(_idxPoint, _value); } + else + throw new ProfilContainerException(FudaaLib.getS("Point de rupture non d\xE9pla\xE7able.")); // // Cas complexe : l'index est sur un point de rupture \\ // else { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java 2009-02-13 10:25:22 UTC (rev 4462) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java 2009-02-13 13:30:34 UTC (rev 4463) @@ -194,6 +194,7 @@ // Abscisse curviligne du profil sur l'axe hydraulique tfAxeHydraulique_.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { + controller_.clearError(); double oldValue=modelTable_.getAbsCurvProfilOnAxeHydraulique(); try { modelTable_.setAbsCurvProfilOnAxeHydraulique(Double.parseDouble(tfAxeHydraulique_.getText())); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-02-25 10:12:31
|
Revision: 4497 http://fudaa.svn.sourceforge.net/fudaa/?rev=4497&view=rev Author: bmarchan Date: 2009-02-25 10:12:28 +0000 (Wed, 25 Feb 2009) Log Message: ----------- Nettoyage pour supprimer adh?\195?\169rence au package tr. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlDecimationPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportTreeModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlRefinementPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/ZDialog.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dLimiteStockage.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dTrace.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCloud.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dConstraintLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dContour.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLevel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dProfile.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dZone.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLevel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlDecimationPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlDecimationPanel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlDecimationPanel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -50,11 +50,11 @@ InterpolationActionListener l=new InterpolationActionListener(); ButtonGroup bg=new ButtonGroup(); - rbNbPts_=new BuRadioButton(MdlResource.MDL.getString("Nombre de points supprim\xE9s entre 2 points conserv\xE9s")); + rbNbPts_=new BuRadioButton(MdlResource.getS("Nombre de points supprim\xE9s entre 2 points conserv\xE9s")); rbNbPts_.addActionListener(l); bg.add(rbNbPts_); - rbDist_=new BuRadioButton(MdlResource.MDL.getString("Distance minimale entre 2 points (m)")); + rbDist_=new BuRadioButton(MdlResource.getS("Distance minimale entre 2 points (m)")); rbDist_.addActionListener(l); bg.add(rbDist_); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -47,7 +47,6 @@ import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.FSigProjectPersistence; import org.fudaa.fudaa.sig.FSigResource; -import org.fudaa.fudaa.tr.common.TrResource; import com.memoire.bu.BuAbstractPreferencesPanel; import com.memoire.bu.BuBrowserPreferencesPanel; @@ -647,12 +646,12 @@ lc.setBorder(null); // rc.setBorder(new EmptyBorder(0,2,0,2)); BuTaskView taches = new BuTaskView(); - taches.setToolTipText(TrResource.getS("Les t\xE2ches en cours")); + taches.setToolTipText(MdlResource.getS("Les t\xE2ches en cours")); final BuScrollPane sp = new BuScrollPane(taches); sp.setPreferredSize(new Dimension(150, 80)); - sp.setToolTipText(TrResource.getS("Les t\xE2ches en cours")); + sp.setToolTipText(MdlResource.getS("Les t\xE2ches en cours")); rc.addToggledComponent(BuResource.BU.getString("T\xE2ches"), "TOGGLE_TACHE", BuResource.BU.getToolIcon("tache"), sp, - true, this).setToolTipText(TrResource.getS("Cacher/Afficher les t\xE2ches")); + true, this).setToolTipText(MdlResource.getS("Cacher/Afficher les t\xE2ches")); mp.setTaskView(taches); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -22,7 +22,6 @@ import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeInterface; -import org.fudaa.ctulu.gis.GISDataModel; import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gui.CtuluDialogPanel; @@ -43,7 +42,6 @@ import org.fudaa.ebli.trace.TraceSurfaceModel; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.sig.FSigLib; -import org.fudaa.fudaa.tr.common.TrResource; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuComboBox; @@ -105,7 +103,7 @@ if(calquesProfil_.containsKey(pn_.getScene().getCalqueActif().getTitle())) cbProfil_.setSelectedItem(pn_.getScene().getCalqueActif().getTitle()); if(calquesProfil_.size()==0) - setErrorText(TrResource.getS("Aucun calque de profil n'a \xE9t\xE9 trouv\xE9, l'interpolation est impossible.")); + setErrorText(MdlResource.getS("Aucun calque de profil n'a \xE9t\xE9 trouv\xE9, l'interpolation est impossible.")); Container cont=new Container(); cont.setLayout(new GridLayout(1, 2, 2, 2)); cont.add(new BuLabel(FudaaLib.getS("Calque de destination : "))); @@ -194,7 +192,7 @@ @Override public boolean valide() { if (trLayers_.getSelectionCount()==0) { - setErrorText(TrResource.getS("Vous devez s\xE9lectionner au moins 1 semis")); + setErrorText(MdlResource.getS("Vous devez s\xE9lectionner au moins 1 semis")); return false; } return true; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -29,8 +29,6 @@ import javax.swing.border.Border; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; import javax.swing.filechooser.FileFilter; import javax.swing.tree.TreeCellRenderer; import javax.swing.tree.TreePath; @@ -44,7 +42,6 @@ import org.fudaa.fudaa.modeleur.MdlImplementation.MdlFileFilter; import org.fudaa.fudaa.modeleur.MdlProjectImportTreeModel.LayerNode; import org.fudaa.fudaa.sig.FSigLib; -import org.fudaa.fudaa.tr.common.TrResource; import com.memoire.bu.BuInformationsSoftware; import com.memoire.bu.BuLabel; @@ -227,7 +224,7 @@ return false; } if (!flt_.accept(f)) { - setErrorText(TrResource.getS("Le fichier choisi n'est pas un fichier projet")); + setErrorText(MdlResource.getS("Le fichier choisi n'est pas un fichier projet")); return false; } setErrorText(null); @@ -245,7 +242,7 @@ // } } catch (IOException _exc) { - setErrorText(TrResource.getS("Le fichier n'est pas accessible")); + setErrorText(MdlResource.getS("Le fichier n'est pas accessible")); } return loader_; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportTreeModel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportTreeModel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportTreeModel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -7,47 +7,12 @@ */ package org.fudaa.fudaa.modeleur; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.Properties; - -import javax.swing.JFileChooser; -import javax.swing.JTree; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; -import javax.swing.event.TreeModelEvent; -import javax.swing.event.TreeModelListener; -import javax.swing.filechooser.FileFilter; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeModel; -import javax.swing.tree.TreeNode; -import javax.swing.tree.TreePath; -import com.memoire.bu.BuCheckBox; -import com.memoire.bu.BuVerticalLayout; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluArkSaver; -import org.fudaa.ctulu.CtuluLib; -import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluXmlReaderHelper; -import org.fudaa.ctulu.gui.CtuluDialogPanel; -import org.fudaa.ctulu.gui.CtuluFileChooserPanel; - -import org.fudaa.ebli.calque.BCalquePersistenceGroupe; -import org.fudaa.ebli.calque.BCalqueSaverSingle; - -import org.fudaa.fudaa.commun.save.FudaaSaveLib; import org.fudaa.fudaa.commun.save.FudaaSaveZipLoader; -import org.fudaa.fudaa.modeleur.MdlImplementation.MdlFileFilter; -import org.fudaa.fudaa.sig.FSigLib; -import org.fudaa.fudaa.tr.common.TrProjectPersistence; -import org.fudaa.fudaa.tr.common.TrResource; -import org.geotools.referencing.cs.DefaultAffineCS; /** * Un modele d'arbre bas\xE9 sur un fichier projet, pour la repr\xE9sentation des calques existants dans ce fichier. Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -21,7 +21,6 @@ import org.fudaa.ctulu.gis.GISDataModel; import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISZoneCollection; -import org.fudaa.ctulu.gis.GISZoneCollectionGeometry; import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ebli.calque.BArbreCalqueModel; import org.fudaa.ebli.calque.CalqueGISTreeModel; @@ -38,7 +37,6 @@ import org.fudaa.ebli.trace.TraceSurface; import org.fudaa.ebli.trace.TraceSurfaceModel; import org.fudaa.fudaa.sig.FSigLib; -import org.fudaa.fudaa.tr.common.TrResource; import com.memoire.bu.BuLabel; import com.memoire.bu.BuVerticalLayout; @@ -156,7 +154,7 @@ @Override public boolean valide() { if (trLayers_.getSelectionCount()==0) { - setErrorText(TrResource.getS("Vous devez s\xE9lectionner au moins 1 semis")); + setErrorText(MdlResource.getS("Vous devez s\xE9lectionner au moins 1 semis")); return false; } return true; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlRefinementPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlRefinementPanel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlRefinementPanel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -50,11 +50,11 @@ RefinementActionListener l=new RefinementActionListener(); ButtonGroup bg=new ButtonGroup(); - rbNbPts_=new BuRadioButton(MdlResource.MDL.getString("Nombre de points ajout\xE9s entre 2 points")); + rbNbPts_=new BuRadioButton(MdlResource.getS("Nombre de points ajout\xE9s entre 2 points")); rbNbPts_.addActionListener(l); bg.add(rbNbPts_); - rbDist_=new BuRadioButton(MdlResource.MDL.getString("Distance maximale entre 2 points (m)")); + rbDist_=new BuRadioButton(MdlResource.getS("Distance maximale entre 2 points (m)")); rbDist_.addActionListener(l); bg.add(rbDist_); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -24,4 +24,16 @@ super(_b); } + public static String getS(final String _s) { + return MDL.getString(_s); + } + + public static String getS(final String _s, final String _v0) { + return MDL.getString(_s, _v0); + } + + public static String getS(final String _s, final String _v0, final String _v1) { + return MDL.getString(_s, _v0, _v1); + } + } \ No newline at end of file Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -201,11 +201,11 @@ // Dans le cas contraire, on demande \xE0 l'utilisateur else{ // Pour le titre de la popup, on met le titre de la geom si possible - String titre=MdlResource.MDL.getString("Nom : "); + String titre=MdlResource.getS("Nom : "); if(zoneSource.getIndiceOf(GISAttributeConstants.TITRE)!=-1) titre+=(String) zoneSource.getValue(zoneSource.getIndiceOf(GISAttributeConstants.TITRE), _idxSource[i]); else - titre+=MdlResource.MDL.getString("sans nom"); + titre+=MdlResource.getS("sans nom"); // Instanciation de la popup ZDialog dialog =new ZDialog(calquePanel_.getEditor().getFrame(), titre); dialog.setVisible(true); @@ -295,9 +295,9 @@ String title; if (getScene().isAtomicMode()) - title=MdlResource.MDL.getString("D\xE9cimation entre 2 sommets"); + title=MdlResource.getS("D\xE9cimation entre 2 sommets"); else - title=MdlResource.MDL.getString("D\xE9cimation sur une ou plusieurs polyligne(s)"); + title=MdlResource.getS("D\xE9cimation sur une ou plusieurs polyligne(s)"); if (pnDecimation_.afficheModaleOk(pn_.getFrame(), title)) { // Les g\xE9om\xE9tries. On n'a plusieurs g\xE9om\xE9tries que dans le cas o\xF9 on n'est @@ -343,9 +343,9 @@ String title; if (getScene().isAtomicMode()) - title=MdlResource.MDL.getString("Raffinement entre 2 sommets"); + title=MdlResource.getS("Raffinement entre 2 sommets"); else - title=MdlResource.MDL.getString("Raffinement sur une polyligne"); + title=MdlResource.getS("Raffinement sur une polyligne"); if (pnRaffinement_.afficheModaleOk(pn_.getFrame(), title)) { // Les g\xE9om\xE9tries. On n'a plusieurs g\xE9om\xE9tries que dans le cas o\xF9 on n'est 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-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -40,7 +40,6 @@ import org.fudaa.fudaa.sig.layer.FSigImageImportAction; import org.fudaa.fudaa.sig.layer.FSigLayerGroup; import org.fudaa.fudaa.sig.layer.FSigVisuPanel; -import org.fudaa.fudaa.tr.common.TrResource; import com.memoire.bu.BuMenu; import com.memoire.bu.BuPopupMenu; @@ -163,7 +162,7 @@ */ protected void buildImageGroup() { cqImg_ = new BGroupeCalque(); - cqImg_.setTitle(MdlResource.MDL.getString("Fond de carte")); + cqImg_.setTitle(MdlResource.getS("Fond de carte")); cqImg_.setName("gcImg"); cqImg_.setDestructible(false); addCalque(cqImg_); @@ -174,9 +173,9 @@ */ protected void buildAltiLayerGroup(boolean _build) { cqAlti_ = new BGroupeCalque(); - cqAlti_.setTitle(MdlResource.MDL.getString("Donn\xE9es altim\xE9triques")); + cqAlti_.setTitle(MdlResource.getS("Donn\xE9es altim\xE9triques")); cqAlti_.setName("gcAlti"); - cqAlti_.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Permet le stockage des donn\xE9es altim\xE9triques")); + cqAlti_.putClientProperty(Action.SHORT_DESCRIPTION, MdlResource.getS("Permet le stockage des donn\xE9es altim\xE9triques")); cqAlti_.setDestructible(false); addCalque(cqAlti_); @@ -200,9 +199,9 @@ */ protected void buildSingLayerGroup(boolean _build) { cqSing_ = new BGroupeCalque(); - cqSing_.setTitle(MdlResource.MDL.getString("Singularit\xE9s")); + cqSing_.setTitle(MdlResource.getS("Singularit\xE9s")); cqSing_.setName("gcSing"); - cqSing_.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Permet le stockage singularit\xE9s 2D")); + cqSing_.putClientProperty(Action.SHORT_DESCRIPTION, MdlResource.getS("Permet le stockage singularit\xE9s 2D")); cqSing_.setDestructible(false); addCalque(cqSing_); @@ -230,9 +229,9 @@ */ protected void buildModel1dLayerGroup(boolean _build) { cqMdl1d_ = new BGroupeCalque(); - cqMdl1d_.setTitle(MdlResource.MDL.getString("Entit\xE9s 1D")); + cqMdl1d_.setTitle(MdlResource.getS("Entit\xE9s 1D")); cqMdl1d_.setName("gcMdl1d"); - cqMdl1d_.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Stocke le mod\xE8le")); + cqMdl1d_.putClientProperty(Action.SHORT_DESCRIPTION, MdlResource.getS("Stocke le mod\xE8le")); cqMdl1d_.setDestructible(false); addCalque(cqMdl1d_); @@ -263,9 +262,9 @@ */ protected void buildBiefsLayerGroup() { cqBiefs_ = new BGroupeCalque(); - cqBiefs_.setTitle(MdlResource.MDL.getString("Biefs")); + cqBiefs_.setTitle(MdlResource.getS("Biefs")); cqBiefs_.setName("gcBiefs"); - cqBiefs_.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Les biefs")); + cqBiefs_.putClientProperty(Action.SHORT_DESCRIPTION, MdlResource.getS("Les biefs")); cqBiefs_.setDestructible(false); addCalque(cqBiefs_); } @@ -277,9 +276,9 @@ BGroupeCalque cqBief=new BGroupeCalque(); cqBief.setTitleModifiable(true); String name=BGroupeCalque.findUniqueChildName(cqBiefs_); - cqBief.setTitle(cqBiefs_.findUniqueChildTitle(MdlResource.MDL.getString("Bief"))); + cqBief.setTitle(cqBiefs_.findUniqueChildTitle(MdlResource.getS("Bief"))); cqBief.setName(name); - cqBief.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Un bief")); + cqBief.putClientProperty(Action.SHORT_DESCRIPTION, MdlResource.getS("Un bief")); cqBief.setDestructible(true); cqBiefs_.add(cqBief); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/ZDialog.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/ZDialog.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/ZDialog.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -25,7 +25,7 @@ /** * Fen\xEAtre modale pour l'obtension d'un Z. * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public class ZDialog extends JDialog implements ActionListener { private JComponent text_; @@ -39,9 +39,9 @@ JPanel container=new JPanel(new BuBorderLayout(2, 2)); container.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); text_=GISAttributeConstants.BATHY.getEditor().createEditorComponent(); - JButton ok=new JButton(MdlResource.MDL.getString("Valider")); + JButton ok=new JButton(MdlResource.getS("Valider")); ok.addActionListener(this); - container.add(new BuLabel(MdlResource.MDL.getString("Valeur de Z :")), BuBorderLayout.WEST); + container.add(new BuLabel(MdlResource.getS("Valeur de Z :")), BuBorderLayout.WEST); container.add(text_, BuBorderLayout.EAST); container.add(ok, BuBorderLayout.SOUTH); add(container); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -36,7 +36,7 @@ setLineModel(0, new TraceLigneModel(TraceLigne.POINTILLE, 2f, new Color(0,125,0))); setLineModelOuvert(getLineModel(0)); setName(getExtName()); - setTitle(MdlResource.MDL.getString("Axes hydrauliques")); + setTitle(MdlResource.getS("Axes hydrauliques")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -35,7 +35,7 @@ setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1.5f, new Color(102,102,255))); setLineModelOuvert(getLineModel(0)); setName(getExtName()); - setTitle(MdlResource.MDL.getString("Rives")); + setTitle(MdlResource.getS("Rives")); } public MdlLayer1dBank(FSigEditor _editor) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dLimiteStockage.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dLimiteStockage.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dLimiteStockage.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -22,7 +22,7 @@ * Un calque pour le stockage et la manipulation des lignes de constraintes. * * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ * */ public class MdlLayer1dLimiteStockage extends MdlLayer2dLine { @@ -39,7 +39,7 @@ setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1.5f, Color.green)); setLineModelOuvert(getLineModel(0)); setName(getExtName()); - setTitle(MdlResource.MDL.getString("Limites de stockages")); + setTitle(MdlResource.getS("Limites de stockages")); } public MdlLayer1dLimiteStockage(FSigEditor _editor) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dTrace.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dTrace.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dTrace.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -37,7 +37,7 @@ setLineModelOuvert(getLineModel(0)); // _model.addListener(this); A implementer. setName(getExtName()); - setTitle(MdlResource.MDL.getString("Trace profils")); + setTitle(MdlResource.getS("Trace profils")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCloud.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCloud.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCloud.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -41,7 +41,7 @@ super(_model,_editor); setName(getExtName()); setIconModel(0, new TraceIconModel(TraceIcon.CARRE_PLEIN, 2, new Color(0,190,0))); - setTitle(MdlResource.MDL.getString("Semis de points")); + setTitle(MdlResource.getS("Semis de points")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dConstraintLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dConstraintLine.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dConstraintLine.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -36,7 +36,7 @@ setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 1.5f, new Color(204,0,0))); setLineModelOuvert(getLineModel(0)); setName(getExtName()); - setTitle(MdlResource.MDL.getString("Lignes de contraintes")); + setTitle(MdlResource.getS("Lignes de contraintes")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dContour.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dContour.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dContour.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -40,7 +40,7 @@ setIconModel(0, new TraceIconModel(TraceIcon.CARRE_PLEIN, 2, new Color(153,92,0).darker())); setIconModel(1, new TraceIconModel(getIconModel(0))); setName(getExtName()); - setTitle(MdlResource.MDL.getString("Contours d'\xE9tude")); + setTitle(MdlResource.getS("Contours d'\xE9tude")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -37,7 +37,7 @@ setLineModelOuvert(getLineModel(0)); // _model.addListener(this); A implementer. setName(getExtName()); - setTitle(MdlResource.MDL.getString("Lignes directrices")); + setTitle(MdlResource.getS("Lignes directrices")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLevel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLevel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLevel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -34,7 +34,7 @@ /** * Sp\xE9cifique, la valeur Z atomique pour les courbes de niveau. * @author Bertrand Marchand - * @version $Id:$ + * @version $Id$ */ class CalqueFindExpressionAtomicLevel extends CalqueFindExpressionAtomic { Variable varZ_; @@ -74,7 +74,7 @@ setLineModel(0, new TraceLigneModel(TraceLigne.TIRETE, 2f, Color.GRAY)); setLineModelOuvert(getLineModel(0)); - setTitle(MdlResource.MDL.getString("Lignes de niveau")); + setTitle(MdlResource.getS("Lignes de niveau")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dProfile.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dProfile.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dProfile.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -43,7 +43,7 @@ setLineModelOuvert(getLineModel(0)); // _model.addListener(this); A implementer. setName(getExtName()); - setTitle(MdlResource.MDL.getString("Profils")); + setTitle(MdlResource.getS("Profils")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dZone.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dZone.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dZone.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -40,7 +40,7 @@ setIconModel(0, new TraceIconModel(TraceIcon.CARRE_PLEIN, 2, new Color(0,153,153).darker())); setIconModel(1, new TraceIconModel(getIconModel(0))); setName(getExtName()); - setTitle(MdlResource.MDL.getString("Zones")); + setTitle(MdlResource.getS("Zones")); setAttributForLabels(GISAttributeConstants.LABEL); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLevel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLevel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLevel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -29,7 +29,7 @@ */ public MdlModel2dLevel(final ZModelGeometryListener _listener, final CtuluCommandContainer _cmd) { super(_listener); - GISAttributeDouble zglob=new GISAttributeDouble(MdlResource.MDL.getString("Z"),false); + GISAttributeDouble zglob=new GISAttributeDouble(MdlResource.getS("Z"),false); GISAttribute[] attrs=new GISAttribute[]{ zglob, GISAttributeConstants.ETAT_GEOM, Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java 2009-02-25 07:11:56 UTC (rev 4496) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java 2009-02-25 10:12:28 UTC (rev 4497) @@ -19,8 +19,8 @@ import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.gui.CtuluFileChooserPanel; import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.sig.FSigLib; -import org.fudaa.fudaa.tr.common.TrResource; import com.memoire.bu.BuFileFilter; import com.memoire.bu.BuLabel; @@ -70,7 +70,7 @@ * @return */ public boolean run(){ - return CtuluDialogPanel.isOkResponse(afficheModale(this, FudaaLib.getS("Exporter le bief courant"))); + return CtuluDialogPanel.isOkResponse(afficheModale(this, MdlResource.getS("Exporter le bief courant"))); } public boolean valide() { @@ -82,7 +82,7 @@ private boolean isFileOK() { final File f=fileChooser_.getFile(); if (f==null) { - setErrorText(CtuluLib.getS("Donnez un nom au fichier d'exportation")); + setErrorText(MdlResource.getS("Donnez un nom au fichier d'exportation")); return false; } // Verification de l'extension @@ -94,7 +94,7 @@ } } if (!accept) { - setErrorText(TrResource.getS("Le fichier choisi a une extension inconnue")); + setErrorText(MdlResource.getS("Le fichier choisi a une extension inconnue")); return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-06 14:58:19
|
Revision: 4515 http://fudaa.svn.sourceforge.net/fudaa/?rev=4515&view=rev Author: bmarchan Date: 2009-03-06 14:58:09 +0000 (Fri, 06 Mar 2009) Log Message: ----------- Nettoyage et renommage. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlDecimationPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlRefinementPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/ZDialog.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dLimiteStockage.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dTrace.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCloud.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dConstraintLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dContour.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLevel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dProfile.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dZone.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLevel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePointAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolationAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/MdlResource.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/mdl_en.fr_txt Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/mdl_en.fr_txt Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlDecimationPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlDecimationPanel.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlDecimationPanel.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -14,6 +14,7 @@ import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.gui.CtuluDialogPanel; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuRadioButton; 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 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -34,8 +34,8 @@ import org.fudaa.fudaa.modeleur.action.SceneInvertAction; import org.fudaa.fudaa.modeleur.action.SceneLinearisePolyligneAction; import org.fudaa.fudaa.modeleur.action.SceneMoveInLayerAction; -import org.fudaa.fudaa.modeleur.action.SceneOrganizePoint; -import org.fudaa.fudaa.modeleur.action.SceneProfilInterpolation; +import org.fudaa.fudaa.modeleur.action.SceneOrganizePointAction; +import org.fudaa.fudaa.modeleur.action.SceneProfilInterpolationAction; import org.fudaa.fudaa.modeleur.action.SceneProjectionAction; import org.fudaa.fudaa.modeleur.action.SceneRefinementAction; import org.fudaa.fudaa.sig.layer.FSigEditor; @@ -84,10 +84,10 @@ acts.add(new SceneInterpolationAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneInvertAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneProjectionAction((MdlSceneEditor)sceneEditor_)); - acts.add(new SceneProfilInterpolation((MdlSceneEditor)sceneEditor_)); + acts.add(new SceneProfilInterpolationAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneLinearisePolyligneAction((MdlSceneEditor) sceneEditor_)); - acts.add(new SceneOrganizePoint((MdlSceneEditor) sceneEditor_, "x")); - acts.add(new SceneOrganizePoint((MdlSceneEditor) sceneEditor_, "y")); + acts.add(new SceneOrganizePointAction((MdlSceneEditor) sceneEditor_, "x")); + acts.add(new SceneOrganizePointAction((MdlSceneEditor) sceneEditor_, "y")); acts.add(null); acts.add(new SceneAbscisseCurviligneAction(this)); acts.add(null); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -44,6 +44,7 @@ import org.fudaa.fudaa.modeleur.action.MdlShow1DFrameAction; import org.fudaa.fudaa.modeleur.action.MdlShow2DFrameAction; import org.fudaa.fudaa.modeleur.modeleur1d.MdlFille1d; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.FSigProjectPersistence; import org.fudaa.fudaa.sig.FSigResource; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlInterpolateProfilePanel.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -41,6 +41,7 @@ import org.fudaa.ebli.trace.TraceSurface; import org.fudaa.ebli.trace.TraceSurfaceModel; import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.FSigLib; import com.memoire.bu.BuBorderLayout; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportPanel.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -41,6 +41,7 @@ import org.fudaa.fudaa.commun.save.FudaaSaveZipLoader; import org.fudaa.fudaa.modeleur.MdlImplementation.MdlFileFilter; import org.fudaa.fudaa.modeleur.MdlProjectImportTreeModel.LayerNode; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.FSigLib; import com.memoire.bu.BuInformationsSoftware; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectionPanel.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -36,6 +36,7 @@ import org.fudaa.ebli.trace.TraceLigneModel; import org.fudaa.ebli.trace.TraceSurface; import org.fudaa.ebli.trace.TraceSurfaceModel; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.FSigLib; import com.memoire.bu.BuLabel; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlRefinementPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlRefinementPanel.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlRefinementPanel.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -14,6 +14,7 @@ import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.gui.CtuluDialogPanel; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuRadioButton; Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -1,39 +0,0 @@ -/** - * @creation 2002-09-25 - * @modification $Date: 2006/09/19 15:10:20 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.fudaa.modeleur; - -import com.memoire.bu.BuResource; - -import org.fudaa.fudaa.ressource.FudaaResource; - -/** - * Des ressources pour Fudaa-Modeleur, en particulier la traduction de langage. - * @version $Id: FSigResource.java,v 1.4 2006/09/19 15:10:20 deniger Exp $ - * @author Bertrand Marchand - */ -public final class MdlResource extends FudaaResource { - - public final static MdlResource MDL = new MdlResource(FudaaResource.FUDAA); - - private MdlResource(final BuResource _b) { - super(_b); - } - - public static String getS(final String _s) { - return MDL.getString(_s); - } - - public static String getS(final String _s, final String _v0) { - return MDL.getString(_s, _v0); - } - - public static String getS(final String _s, final String _v0, final String _v1) { - return MDL.getString(_s, _v0, _v1); - } - -} \ No newline at end of file Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -51,6 +51,7 @@ import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.modeleur.layer.MdlModel2dLine; import org.fudaa.fudaa.modeleur.layer.MdlModel2dMultiPoint; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/ZDialog.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/ZDialog.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/ZDialog.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -18,6 +18,7 @@ import javax.swing.JPanel; import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuLabel; Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -1,61 +0,0 @@ -/* - * @creation 22 janv. 2009 - * @modification $Date:$ - * @license GNU General Public License 2 - * @copyright (c)1998-2009 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail fud...@li... - */ -package org.fudaa.fudaa.modeleur.action; - -import java.awt.event.ActionEvent; - -import org.fudaa.ctulu.CtuluLib; -import org.fudaa.ebli.calque.ZSelectionEvent; -import org.fudaa.ebli.calque.ZSelectionListener; -import org.fudaa.ebli.commun.EbliActionSimple; -import org.fudaa.fudaa.commun.FudaaLib; -import org.fudaa.fudaa.modeleur.MdlSceneEditor; - -/** - * Allow to reorganize geometries with criterion. The criterions can be x or y. - * @author Emmanuel MARTIN - * @version $Id:$ - */ -public class SceneOrganizePoint extends EbliActionSimple implements ZSelectionListener { - - public static final String x="x"; - public static final String y="y"; - - /** The criterion used */ - protected String criterion_; - protected MdlSceneEditor sceneEditor_; - - /** - * @param _sceneEditor - * @param _criterion - * the criterion, can be x or y. Put directly the string "x" or - * SceneOrganizePoint.x. As you want. - */ - public SceneOrganizePoint(MdlSceneEditor _sceneEditor, String _criterion) { - super(FudaaLib.getS("R\xE9organisation sur ")+(_criterion==null?"":_criterion), null, "REORGANIZE_POLYLIGNE"); - sceneEditor_=_sceneEditor; - criterion_=_criterion; - if(sceneEditor_==null||criterion_==null) - throw new IllegalArgumentException(FudaaLib.getS("Les param\xE8tres ne doivent pas \xEAtre null")); - if(!criterion_.equals(x)&&!criterion_.equals(y)) - throw new IllegalArgumentException(FudaaLib.getS("Le crit\xE8re n'a pas \xE9t\xE9 reconnu.")); - sceneEditor_.getScene().addSelectionListener(this); - } - - public void selectionChanged(ZSelectionEvent _evt) { - setEnabled(!sceneEditor_.getScene().isSelectionEmpty()); - } - - public String getEnableCondition() { - return CtuluLib.getS("<p>S\xE9lectionner une ou plusieurs g\xE9om\xE9trie(s)."); - } - - public void actionPerformed(final ActionEvent _e) { - sceneEditor_.organizePoint(criterion_); - } -} Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePointAction.java (from rev 4514, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePoint.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePointAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneOrganizePointAction.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -0,0 +1,61 @@ +/* + * @creation 22 janv. 2009 + * @modification $Date:$ + * @license GNU General Public License 2 + * @copyright (c)1998-2009 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.fudaa.modeleur.action; + +import java.awt.event.ActionEvent; + +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ebli.calque.ZSelectionEvent; +import org.fudaa.ebli.calque.ZSelectionListener; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.fudaa.commun.FudaaLib; +import org.fudaa.fudaa.modeleur.MdlSceneEditor; + +/** + * Allow to reorganize geometries with criterion. The criterions can be x or y. + * @author Emmanuel MARTIN + * @version $Id$ + */ +public class SceneOrganizePointAction extends EbliActionSimple implements ZSelectionListener { + + public static final String x="x"; + public static final String y="y"; + + /** The criterion used */ + protected String criterion_; + protected MdlSceneEditor sceneEditor_; + + /** + * @param _sceneEditor + * @param _criterion + * the criterion, can be x or y. Put directly the string "x" or + * SceneOrganizePoint.x. As you want. + */ + public SceneOrganizePointAction(MdlSceneEditor _sceneEditor, String _criterion) { + super(FudaaLib.getS("R\xE9organisation sur ")+(_criterion==null?"":_criterion), null, "REORGANIZE_POLYLIGNE"); + sceneEditor_=_sceneEditor; + criterion_=_criterion; + if(sceneEditor_==null||criterion_==null) + throw new IllegalArgumentException(FudaaLib.getS("Les param\xE8tres ne doivent pas \xEAtre null")); + if(!criterion_.equals(x)&&!criterion_.equals(y)) + throw new IllegalArgumentException(FudaaLib.getS("Le crit\xE8re n'a pas \xE9t\xE9 reconnu.")); + sceneEditor_.getScene().addSelectionListener(this); + } + + public void selectionChanged(ZSelectionEvent _evt) { + setEnabled(!sceneEditor_.getScene().isSelectionEmpty()); + } + + public String getEnableCondition() { + return CtuluLib.getS("<p>S\xE9lectionner une ou plusieurs g\xE9om\xE9trie(s)."); + } + + public void actionPerformed(final ActionEvent _e) { + sceneEditor_.organizePoint(criterion_); + } +} Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -1,74 +0,0 @@ -/* - * @creation 26 nov. 2008 - * @modification $Date$ - * @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.action; - -import java.awt.event.ActionEvent; - -import org.fudaa.ctulu.CtuluLib; -import org.fudaa.ctulu.gis.GISAttributeConstants; -import org.fudaa.ctulu.gis.GISZoneCollection; -import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; -import org.fudaa.ebli.calque.ZModeleGeometry; -import org.fudaa.ebli.calque.ZScene; -import org.fudaa.ebli.calque.ZSelectionEvent; -import org.fudaa.ebli.calque.ZSelectionListener; -import org.fudaa.ebli.calque.ZScene.SceneSelectionHelper; -import org.fudaa.ebli.commun.EbliActionSimple; -import org.fudaa.fudaa.modeleur.MdlSceneEditor; -import org.fudaa.fudaa.ressource.FudaaResource; - -import com.memoire.bu.BuResource; - -/** - * Une action pour projeter une g\xE9om\xE9trie sur un ou des semis de points. - * @author Emmanuel MARTIN - */ -public class SceneProfilInterpolation extends EbliActionSimple implements ZSelectionListener { - MdlSceneEditor sceneEditor_; - - public SceneProfilInterpolation(MdlSceneEditor _sceneEditor) { - super(FudaaResource.FUDAA.getString("Cr\xE9er un profil depuis une trace"), null, "INTERPOLE_PROFIL"); - setDefaultToolTip(FudaaResource.FUDAA.getString("Cr\xE9e un profil par interpolation sur un nuage de points depuis une trace")); - sceneEditor_=_sceneEditor; - sceneEditor_.getScene().addSelectionListener(this); - } - - public void actionPerformed(final ActionEvent _e) { - sceneEditor_.interpolateProfile(); - } - - public void updateForSelectionChanged() { - ZScene scn=sceneEditor_.getScene(); - SceneSelectionHelper hlp=sceneEditor_.getScene().getSelectionHelper(); - boolean b=false; - // Si la selection est en mode globale et qu'une seule g\xE9om\xE9trie est selectionn\xE9e. - if(!scn.isAtomicMode()&&hlp.getUniqueSelectedIdx()!=-1){ - int idGeom=scn.sceneId2LayerId(hlp.getUniqueSelectedIdx()); - ZCalqueAffichageDonneesInterface calque=scn.getLayerForId(hlp.getUniqueSelectedIdx()); - // La nature de la g\xE9om\xE9trie est bien trace profil - if(calque.modeleDonnees() instanceof ZModeleGeometry){ - GISZoneCollection zone=((ZModeleGeometry) calque.modeleDonnees()).getGeomData(); - int iattNat=zone.getIndiceOf(GISAttributeConstants.NATURE); - if (iattNat!=-1) - b=zone.getValue(iattNat, idGeom).equals(GISAttributeConstants.ATT_NATURE_TP); - } - } - setEnabled(b); - } - - public String getEnableCondition() { - return CtuluLib.getS("S\xE9lectionner une trace de profil."); - } - - /* (non-Javadoc) - * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) - */ - public void selectionChanged(ZSelectionEvent _evt) { - updateForSelectionChanged(); - } -} Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolationAction.java (from rev 4514, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolation.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolationAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProfilInterpolationAction.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -0,0 +1,74 @@ +/* + * @creation 26 nov. 2008 + * @modification $Date$ + * @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.action; + +import java.awt.event.ActionEvent; + +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.gis.GISAttributeConstants; +import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZModeleGeometry; +import org.fudaa.ebli.calque.ZScene; +import org.fudaa.ebli.calque.ZSelectionEvent; +import org.fudaa.ebli.calque.ZSelectionListener; +import org.fudaa.ebli.calque.ZScene.SceneSelectionHelper; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.fudaa.modeleur.MdlSceneEditor; +import org.fudaa.fudaa.ressource.FudaaResource; + +import com.memoire.bu.BuResource; + +/** + * Une action pour projeter une g\xE9om\xE9trie sur un ou des semis de points. + * @author Emmanuel MARTIN + */ +public class SceneProfilInterpolationAction extends EbliActionSimple implements ZSelectionListener { + MdlSceneEditor sceneEditor_; + + public SceneProfilInterpolationAction(MdlSceneEditor _sceneEditor) { + super(FudaaResource.FUDAA.getString("Cr\xE9er un profil depuis une trace"), null, "INTERPOLE_PROFIL"); + setDefaultToolTip(FudaaResource.FUDAA.getString("Cr\xE9e un profil par interpolation sur un nuage de points depuis une trace")); + sceneEditor_=_sceneEditor; + sceneEditor_.getScene().addSelectionListener(this); + } + + public void actionPerformed(final ActionEvent _e) { + sceneEditor_.interpolateProfile(); + } + + public void updateForSelectionChanged() { + ZScene scn=sceneEditor_.getScene(); + SceneSelectionHelper hlp=sceneEditor_.getScene().getSelectionHelper(); + boolean b=false; + // Si la selection est en mode globale et qu'une seule g\xE9om\xE9trie est selectionn\xE9e. + if(!scn.isAtomicMode()&&hlp.getUniqueSelectedIdx()!=-1){ + int idGeom=scn.sceneId2LayerId(hlp.getUniqueSelectedIdx()); + ZCalqueAffichageDonneesInterface calque=scn.getLayerForId(hlp.getUniqueSelectedIdx()); + // La nature de la g\xE9om\xE9trie est bien trace profil + if(calque.modeleDonnees() instanceof ZModeleGeometry){ + GISZoneCollection zone=((ZModeleGeometry) calque.modeleDonnees()).getGeomData(); + int iattNat=zone.getIndiceOf(GISAttributeConstants.NATURE); + if (iattNat!=-1) + b=zone.getValue(iattNat, idGeom).equals(GISAttributeConstants.ATT_NATURE_TP); + } + } + setEnabled(b); + } + + public String getEnableCondition() { + return CtuluLib.getS("S\xE9lectionner une trace de profil."); + } + + /* (non-Javadoc) + * @see org.fudaa.ebli.calque.ZSelectionListener#selectionChanged(org.fudaa.ebli.calque.ZSelectionEvent) + */ + public void selectionChanged(ZSelectionEvent _evt) { + updateForSelectionChanged(); + } +} Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -15,8 +15,8 @@ import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer1dAxePersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dBank.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -14,8 +14,8 @@ import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dBankPersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dLimiteStockage.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dLimiteStockage.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dLimiteStockage.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -14,8 +14,8 @@ import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer1dLimiteStockageLinePersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dTrace.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dTrace.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dTrace.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -15,8 +15,8 @@ import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer1dTracePersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCloud.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCloud.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dCloud.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -20,9 +20,9 @@ import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.trace.TraceIcon; import org.fudaa.ebli.trace.TraceIconModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dCloudPersistence; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dMultiPointPersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dConstraintLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dConstraintLine.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dConstraintLine.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -15,8 +15,8 @@ import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dConstraintLinePersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dContour.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dContour.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dContour.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -17,8 +17,8 @@ import org.fudaa.ebli.trace.TraceIconModel; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dContourPersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dDirectionLine.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -15,8 +15,8 @@ import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dDirectionLinePersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLevel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLevel.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLevel.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -19,8 +19,8 @@ import org.fudaa.ebli.find.EbliFindExpressionContainerInterface; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dLevelPersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; import org.nfunk.jep.Variable; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dProfile.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dProfile.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dProfile.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -18,10 +18,10 @@ import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dLevelPersistence; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dLinePersistence; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dProfilePersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; import org.fudaa.fudaa.sig.layer.FSigLayerLineEditable; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dZone.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dZone.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dZone.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -17,8 +17,8 @@ import org.fudaa.ebli.trace.TraceIconModel; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dZonePersistence; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLevel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLevel.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLevel.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -12,7 +12,7 @@ import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeDouble; import org.fudaa.ebli.calque.ZModelGeometryListener; -import org.fudaa.fudaa.modeleur.MdlResource; +import org.fudaa.fudaa.modeleur.resource.MdlResource; /** * Un mod\xE8le de calque pour le calque 2D lignes de niveaux. Les lignes de niveau sont des lignes XY Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/mdl_en.fr_txt =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/mdl_en.fr_txt 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/mdl_en.fr_txt 2009-03-06 14:58:09 UTC (rev 4515) @@ -1 +0,0 @@ -Fond de carte=Raster map \ No newline at end of file Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java 2009-03-05 20:31:20 UTC (rev 4514) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -19,7 +19,7 @@ import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.gui.CtuluFileChooserPanel; import org.fudaa.fudaa.commun.FudaaLib; -import org.fudaa.fudaa.modeleur.MdlResource; +import org.fudaa.fudaa.modeleur.resource.MdlResource; import org.fudaa.fudaa.sig.FSigLib; import com.memoire.bu.BuFileFilter; Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/MdlResource.java (from rev 4503, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlResource.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/MdlResource.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/MdlResource.java 2009-03-06 14:58:09 UTC (rev 4515) @@ -0,0 +1,39 @@ +/** + * @creation 2002-09-25 + * @modification $Date: 2006/09/19 15:10:20 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.fudaa.modeleur.resource; + +import com.memoire.bu.BuResource; + +import org.fudaa.fudaa.ressource.FudaaResource; + +/** + * Des ressources pour Fudaa-Modeleur, en particulier la traduction de langage. + * @version $Id: FSigResource.java,v 1.4 2006/09/19 15:10:20 deniger Exp $ + * @author Bertrand Marchand + */ +public final class MdlResource extends FudaaResource { + + public final static MdlResource MDL = new MdlResource(FudaaResource.FUDAA); + + private MdlResource(final BuResource _b) { + super(_b); + } + + public static String getS(final String _s) { + return MDL.getString(_s); + } + + public static String getS(final String _s, final String _v0) { + return MDL.getString(_s, _v0); + } + + public static String getS(final String _s, final String _v0, final String _v1) { + return MDL.getString(_s, _v0, _v1); + } + +} \ No newline at end of file Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/mdl_en.fr_txt (from rev 4503, branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/mdl_en.fr_txt) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/mdl_en.fr_txt (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/resource/mdl_en.fr_txt 2009-03-06 14:58:09 UTC (rev 4515) @@ -0,0 +1 @@ +Fond de carte=Raster map \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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. |
From: <bma...@us...> - 2009-03-17 14:55:41
|
Revision: 4551 http://fudaa.svn.sourceforge.net/fudaa/?rev=4551&view=rev Author: bmarchan Date: 2009-03-17 14:55:30 +0000 (Tue, 17 Mar 2009) Log Message: ----------- Tache #199 : Modeleur 1D : La modification d'un Z profil n'?\195?\169tait pas conserv?\195?\169e. 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/modeleur1d/model/ProfilContainer.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.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-17 14:53:40 UTC (rev 4550) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2009-03-17 14:55:30 UTC (rev 4551) @@ -105,12 +105,12 @@ protected EbliActionInterface[] getActionsInterface(){ EbliActionInterface[] actions=super.getActionsInterface(); - EbliActionInterface[] allActions=new EbliActionInterface[actions.length+4]; + EbliActionInterface[] allActions=new EbliActionInterface[actions.length+3]; allActions[0]=null; - allActions[2]=new SceneShowOrientationAction(gisEditor_.getPanel().getArbreCalqueModel()); - allActions[3]=new SceneShowLabelAction(gisEditor_.getPanel().getArbreCalqueModel()); + allActions[1]=new SceneShowOrientationAction(gisEditor_.getPanel().getArbreCalqueModel()); + allActions[2]=new SceneShowLabelAction(gisEditor_.getPanel().getArbreCalqueModel()); for(int i=0;i<actions.length;i++) - allActions[i+4]=actions[i]; + allActions[i+3]=actions[i]; return allActions; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainer.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainer.java 2009-03-17 14:53:40 UTC (rev 4550) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainer.java 2009-03-17 14:55:30 UTC (rev 4551) @@ -60,14 +60,14 @@ public double getAbsCurvAxeHydrauliqueOnProfil(); /** - * Enregistre l'abcisse curviligne du point indiqu\xE9 en param\xE8tre. - * Ce changement d'abscisse curviligne fonctionne sur tout les points. - * Si un points extr\xE9mit\xE9 est chang\xE9, le point 2D est d\xE9plac\xE9 sur son axe, - * la longueur globale n'est pas concerv\xE9e dans l'op\xE9ration. + * Enregistre l'abscisse curviligne du point indiqu\xE9 en param\xE8tre. + * Ce changement d'abscisse curviligne fonctionne sur tous les points. + * Si un point extr\xE9mit\xE9 est chang\xE9, le point 2D est d\xE9plac\xE9 sur son axe, + * la longueur globale n'est pas conserv\xE9e dans l'op\xE9ration. * Si c'est un point de rupture le point 2D est d\xE9plac\xE9 de telle mani\xE8re - * que la longueur globale soit concerv\xE9e. - * Pour les autres points, le point 2D est d\xE9plac\xE9 sur son axe en concervant - * la longeur globale. + * que la longueur globale soit conserv\xE9e. + * Pour les autres points, le point 2D est d\xE9plac\xE9 sur son axe en conservant + * la longueur globale. */ public void setCurv(int _idxPoint, double _value, CtuluCommandContainer _cmd) throws ProfilContainerException; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java 2009-03-17 14:53:40 UTC (rev 4550) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java 2009-03-17 14:55:30 UTC (rev 4551) @@ -112,12 +112,14 @@ private BiefContainer biefContainer_; /** Le profil selectionn\xE9. */ private int idxProfilSelected_=-1; + /** La collection contenant les Z des points du profil selectionn\xE9. */ private CtuluCollection z_; + /** La liste contenant les abscisses en travers du profil selectionn\xE9 */ private List<Double> curv_; // Caches \\ private int idxZMax_; private int idxZMin_; - /** D\xE9calage de l'axe hydraulique. */ + /** D\xE9calage de d\xE9but d'axe hydraulique. */ private double curviligneDecalage_; /** Les points de ruptures du profils sont contenus dans cet ensemble. */ private Set<Integer> idxRuptures_=new HashSet<Integer>(); @@ -239,8 +241,6 @@ int idxAttrDecCurv=biefContainer_.getZoneAxeHydraulique().getIndiceOf(GISAttributeConstants.CURVILIGNE_DECALAGE); curviligneDecalage_=(Double) biefContainer_.getZoneAxeHydraulique().getValue(idxAttrDecCurv, 0); } - z_=(CtuluCollection)biefContainer_.getZoneProfils().getValue(biefContainer_.getZoneProfils().getIndiceOf(biefContainer_.getZoneProfils().getAttributeIsZ()), idxProfilSelected_); - curv_=new ArrayList<Double>(); CoordinateSequence seq=((GISCoordinateSequenceContainerInterface)biefContainer_.getZoneProfils().getGeometry(idxProfilSelected_)).getCoordinateSequence(); // Verifie qu'on a bien au minimum deux points. \\ if (seq.size()<2) @@ -249,11 +249,7 @@ /* for (int i=1; i<seq.size(); i++) if (seq.getX(i-1)==seq.getX(i)&&seq.getY(i-1)==seq.getY(i)) throw new ProfilContainerException(FudaaLib.getS("Au moins deux points dans le profil sont confondus.")); -*/ // Calcul des acbscisses curvilignes => hypoth\xE8se d'ordonnancement correcte des points \\ - updateCacheCurv(); - // Remplissage du cache Z \\ - updateCacheZ(); - +*/ // Verifie que le profil donn\xE9 ne poss\xE8de pas des axes qui se coupent entre eux \\ for(int i=1;i<seq.size();i++){ Geometry mainAxe=GISGeometryFactory.INSTANCE.createLineString(new Coordinate[]{seq.getCoordinate(i-1), seq.getCoordinate(i)}); @@ -300,7 +296,17 @@ for (int i=0; i<idxRuptures_.size(); i++) idxRuptures[i+1]=it.next(); idxRuptures[idxRuptures.length-1]=seq.size()-1; - LibUtils.linearisePolyligne(biefContainer_.getZoneProfils(), idxProfilSelected_, idxRuptures, null); + // On ne lin\xE9arise plus. Pose des probl\xE8me lors des undo, car les collections sont modifi\xE9es. Ce n'est pas priori pas g\xE9nant, + // les points de ruptures fonctionnent semblent regler une partie du probl\xE8me. +// LibUtils.linearisePolyligne(biefContainer_.getZoneProfils(), idxProfilSelected_, idxRuptures, null); + + z_=(CtuluCollection)biefContainer_.getZoneProfils().getValue(biefContainer_.getZoneProfils().getIndiceOf(biefContainer_.getZoneProfils().getAttributeIsZ()), idxProfilSelected_); + curv_=new ArrayList<Double>(); + // Calcul des acbscisses curvilignes => hypoth\xE8se d'ordonnancement correcte des points \\ + updateCacheCurv(); + // Remplissage du cache Z \\ + updateCacheZ(); + } catch(ProfilContainerException _exp) { // Remise dans un \xE9tat coh\xE9rent @@ -679,6 +685,8 @@ } public void setCurv(int _idxPoint, double _value, CtuluCommandContainer _cmd) throws ProfilContainerException { + if (getCurv(_idxPoint)==_value) return; + if(curv_==null||_idxPoint<0||_idxPoint>=curv_.size()) // Si curv_!=null alors z et index_ ont des valeurs coh\xE9rentes throw new IllegalArgumentException("Cet index n'existe pas."); // Extraction des coordonn\xE9es de la g\xE9om\xE9trie pour pouvoir les modifier par la suite @@ -717,7 +725,7 @@ curv_.set(_idxPoint, _value); } else - throw new ProfilContainerException(FudaaLib.getS("Point de rupture non d\xE9pla\xE7able.")); + throw new ProfilContainerException(FudaaLib.getS("Point de rupture non d\xE9pla\xE7able suivant l'abscisse en travers")); // // Cas complexe : l'index est sur un point de rupture \\ // else { @@ -926,6 +934,8 @@ } public void setZ(int _idxPoint, double _value, CtuluCommandContainer _cmd) { + if (getZ(_idxPoint)==_value) return; + if (z_==null||_idxPoint<0||_idxPoint>=z_.getSize()) throw new IllegalArgumentException("Cet index n'existe pas."); CtuluCommandComposite cmd=new CtuluCommandComposite("Changement z"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-17 15:58:29
|
Revision: 4552 http://fudaa.svn.sourceforge.net/fudaa/?rev=4552&view=rev Author: bmarchan Date: 2009-03-17 15:58:08 +0000 (Tue, 17 Mar 2009) Log Message: ----------- Tache #202 : Impossible d'?\195?\169diter le Z des points de rupture depuis le tableau Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/OpenBiefPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-03-17 14:55:30 UTC (rev 4551) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-03-17 15:58:08 UTC (rev 4552) @@ -81,7 +81,7 @@ protected static BuInformationsSoftware isMdl_ = new BuInformationsSoftware(); static { isMdl_.name = "Modeleur"; - isMdl_.version = "0.12"; + isMdl_.version = "0.13-beta"; isMdl_.date = "2009-02-26"; isMdl_.rights = "Tous droits r\xE9serv\xE9s. CETMEF (c)1999-2009"; isMdl_.license = "GPL2"; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/OpenBiefPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/OpenBiefPanel.java 2009-03-17 14:55:30 UTC (rev 4551) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/OpenBiefPanel.java 2009-03-17 15:58:08 UTC (rev 4552) @@ -32,11 +32,11 @@ public OpenBiefPanel() { setLayout(new BuVerticalLayout(2, true, true)); add(new BuLabel(FudaaLib - .getS("<html>Un axe hydraulique et des informations de type 'PK' sont disponibles et incompatibles " - +"entre elles.<br> Lequelles doivent \xEAtre choisies ?<br> Les informations non selectionn\xE9es seront d\xE9truites."))); + .getS("<html>Les informations de type 'PK' sont incompatibles avec l'axe hydraulique. Voulez vous privil\xE9gier" + + "<br>l'axe ou les PK (les informations non s\xE9lectionn\xE9es seront d\xE9truites)?"))); rbtAxeHydrau_=new BuRadioButton(FudaaLib.getS("Axe hydraulique")); rbtAxeHydrau_.setSelected(true); - BuRadioButton rbtPK=new BuRadioButton(FudaaLib.getS("Information 'PK'")); + BuRadioButton rbtPK=new BuRadioButton(FudaaLib.getS("Informations 'PK'")); ButtonGroup group=new ButtonGroup(); group.add(rbtAxeHydrau_); group.add(rbtPK); @@ -53,7 +53,7 @@ * @return */ public boolean run() { - return CtuluDialogPanel.isOkResponse(afficheModale(this, FudaaLib.getS("Importation de donn\xE9es."))); + return CtuluDialogPanel.isOkResponse(afficheModale(this, FudaaLib.getS("Importation de donn\xE9es"))); } public boolean valide() { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java 2009-03-17 14:55:30 UTC (rev 4551) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/VueTableau.java 2009-03-17 15:58:08 UTC (rev 4552) @@ -112,8 +112,10 @@ public boolean isCellEditable(int row, int column) { if(column==0) return false; + else if (column==1) + return !data_.isRupturePoint(row); else - return !data_.isRupturePoint(row); + return true; } public Class<?> getColumnClass(int columnIndex) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-06-02 16:16:43
|
Revision: 4830 http://fudaa.svn.sourceforge.net/fudaa/?rev=4830&view=rev Author: bmarchan Date: 2009-06-02 16:16:39 +0000 (Tue, 02 Jun 2009) Log Message: ----------- Pas de collage/d?\195?\169placement de g?\195?\169om?\195?\169trie si la g?\195?\169om?\195?\169trie a d?\195?\169placer est non conforme. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCutCopyPasteManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCutCopyPasteManager.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCutCopyPasteManager.java 2009-06-02 14:01:05 UTC (rev 4829) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCutCopyPasteManager.java 2009-06-02 16:16:39 UTC (rev 4830) @@ -21,6 +21,8 @@ import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISAttributeModel; import org.fudaa.ctulu.gis.GISCoordinateSequenceFactory; +import org.fudaa.ctulu.gis.GISDataModel; +import org.fudaa.ctulu.gis.GISDataModelMultiAdapter; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISZoneCollection; @@ -252,20 +254,29 @@ */ public void paste() { try { - CtuluCommandComposite cmd; + CtuluCommandComposite cmp; + // Collage de g\xE9om\xE9trie if (models_.size()>0) { - cmd=new CtuluCommandComposite(FudaaLib.getS("Coller des g\xE9om\xE9tries")); + cmp=new CtuluCommandComposite(FudaaLib.getS("Coller des g\xE9om\xE9tries")); + GISDataModel[] mdls=new GISDataModel[models_.size()]; + for (int i=0; i<models_.size(); i++) + mdls[i]=models_.get(i).getGeomData(); + + // Si des g\xE9om\xE9tries ne sont pas conformes, aucune n'est copi\xE9e. + if (!zSceneEditor_.canCopyGeometries(new GISDataModelMultiAdapter(mdls), (ZCalqueEditable)zScene_.getCalqueActif())) + return; + + // La copie se fait sur chaque mod\xE8le et non sur un mod\xE8le global, pour tenir compte au maximum des attributs + // li\xE9s \xE0 chaque g\xE9om\xE9trie source. for (int i=0; i<models_.size(); i++) { - int[] idxSource=new int[models_.get(i).getNombre()]; - for (int j=0; j<idxSource.length; j++) - idxSource[j]=j; - zSceneEditor_.moveGeometries(models_.get(i), idxSource, (ZCalqueEditable)zScene_.getCalqueActif(), cmd); + zSceneEditor_.copyGeometries(mdls[i], (ZCalqueEditable)zScene_.getCalqueActif(), cmp); } } + // Collage de points else { - cmd=new CtuluCommandComposite(FudaaLib.getS("Coller des sommets")); + cmp=new CtuluCommandComposite(FudaaLib.getS("Coller des sommets")); ZCalqueEditable calque=((ZCalqueEditable)zScene_.getCalqueActif()); ZModeleEditable modele=(ZModeleEditable)calque.modeleDonnees(); GISZoneCollection zone=modele.getGeomData(); @@ -313,10 +324,10 @@ } } // Ajout de la g\xE9om\xE9trie - zone.addGeometry(geom, data, cmd); + zone.addGeometry(geom, data, cmp); } if (mdlFille2d_.getCmdMng()!=null) - mdlFille2d_.getCmdMng().addCmd(cmd.getSimplify()); + mdlFille2d_.getCmdMng().addCmd(cmp.getSimplify()); } catch (IllegalArgumentException _exp) { mdlFille2d_.getVisuPanel().getController().getUI().error(_exp.getMessage()); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-06-02 14:01:05 UTC (rev 4829) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-06-02 16:16:39 UTC (rev 4830) @@ -7,6 +7,8 @@ */ package org.fudaa.fudaa.modeleur; +import gnu.trove.TIntArrayList; + import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -24,6 +26,8 @@ import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; import org.fudaa.ctulu.gis.GISCoordinateSequenceFactory; import org.fudaa.ctulu.gis.GISDataModel; +import org.fudaa.ctulu.gis.GISDataModelFilterAdapter; +import org.fudaa.ctulu.gis.GISDataModelMultiAdapter; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISMultiPoint; @@ -132,59 +136,69 @@ } /** - * D\xE9place des g\xE9om\xE9tries d'un mod\xE8le vers un calque. + * Controle que les g\xE9om\xE9tries \xE0 copier vers le calque destination peuvent l'etre.<p> + * <b>Remarque</b> : Il n'est pas tenu compte des attributs li\xE9s au mod\xE8le, uniquement des g\xE9om\xE9tries. + * @param _mdlSource Le modele contenant les g\xE9om\xE9tries \xE0 copier. + * @param _cqDest Le calque de destination. + * @param return false si au moins une des g\xE9om\xE9tries n'a pas le nombre de sommets requis. true sinon. */ - public void moveGeometries(ZModeleGeometry _mldSource, int[] _idxSource, ZCalqueEditable _calqueDestination, CtuluCommandContainer _cmd) { - if(_mldSource==null||_idxSource==null||_calqueDestination==null) - throw new IllegalArgumentException(FudaaLib.getS("Aucun des param\xE8tres ne doit \xEAtre null.")); - - GISZoneCollection zoneSource=_mldSource.getGeomData(); - GISZoneCollection zoneDestination=_calqueDestination.getModelEditable().getGeomData(); - - Geometry[] geoms=new Geometry[_idxSource.length]; - for (int i=0; i<_idxSource.length; i++) - geoms[i]=zoneSource.getGeometry(_idxSource[i]); - - final CtuluCommandComposite cmp = new CtuluCommandComposite(FudaaLib.getS("D\xE9placement de g\xE9om\xE9tries")); - + public boolean canCopyGeometries(GISDataModel _mdlSource, ZCalqueEditable _cqDest) { + int nbMin=1; + if (_cqDest.canAddForme(DeForme.POLYGONE)&&!_cqDest.canAddForme(DeForme.LIGNE_BRISEE)) + nbMin=3; + else if (_cqDest.canAddForme(DeForme.LIGNE_BRISEE)) + nbMin=2; + // Controle sur le nombre de point minimum - if (_calqueDestination.canAddForme(DeForme.POLYGONE)&&!_calqueDestination.canAddForme(DeForme.LIGNE_BRISEE)) { + if (nbMin>1) { int nbProbGeom=0; - for (Geometry g : geoms) - if (g.getNumPoints()<3) + for (int i=0; i<_mdlSource.getNumGeometries(); i++) { + Geometry g=_mdlSource.getGeometry(i); + if (g.getNumPoints()<nbMin) nbProbGeom++; - if (nbProbGeom>0) { - ui_.error(FudaaLib.getS("Vous ne pouvez pas d\xE9placer ces g\xE9om\xE9tries.\n")+Integer.toString(nbProbGeom) - +FudaaLib.getS(" g\xE9om\xE9trie(s) a/ont moins de 3 points.")); - return; } - } - else if (_calqueDestination.canAddForme(DeForme.LIGNE_BRISEE)) { - int nbProbGeom=0; - for (Geometry g : geoms) - if (g.getNumPoints()<2) - nbProbGeom++; if (nbProbGeom>0) { - ui_.error(FudaaLib.getS("Vous ne pouvez pas d\xE9placer ces g\xE9om\xE9tries.\n")+Integer.toString(nbProbGeom) - +FudaaLib.getS(" g\xE9om\xE9trie(s) a/ont moins de 2 points.")); - return; + ui_.error(FudaaLib.getS("Vous ne pouvez pas coller ou d\xE9placer ces g\xE9om\xE9tries.\n"+ + "{0} g\xE9om\xE9trie(s) a/ont moins de {1} points.", + Integer.toString(nbProbGeom),""+nbMin)); + return false; } } + return true; + } + + + /** + * Copie des g\xE9om\xE9tries d'un mod\xE8le source vers un calque. Le controle que les g\xE9om\xE9tries sont conformes est fait en amont de + * la copie.<p> Le mod\xE8le source contient les g\xE9om\xE9tries \xE0 copier d'un m\xEAme calque, afin de r\xE9cup\xE9rer le maximum d'informations + * des attributs source. La m\xE9thode doit donc \xEAtre appel\xE9e en boucle pour chaque calque contenant des g\xE9om\xE9tries a copier. + * @param _mdlSource Le modele contenant les g\xE9om\xE9tries \xE0 copier. + * @param _cqDest Le calque de destination. + */ + public void copyGeometries(GISDataModel _mdlSource, ZCalqueEditable _calqueDestination, CtuluCommandContainer _cmd) { + if(_mdlSource==null||_calqueDestination==null) + throw new IllegalArgumentException(FudaaLib.getS("Aucun des param\xE8tres ne doit \xEAtre null.")); + GISZoneCollection zoneDestination=_calqueDestination.getModelEditable().getGeomData(); + + final CtuluCommandComposite cmp = new CtuluCommandComposite(FudaaLib.getS("D\xE9placement de g\xE9om\xE9tries")); + // Nouveaux objets - Geometry[] newGeom=new Geometry[_idxSource.length]; - Object[][] newData=new Object[_idxSource.length][]; + Geometry[] newGeom=new Geometry[_mdlSource.getNumGeometries()]; + Object[][] newData=new Object[_mdlSource.getNumGeometries()][]; // Ajout des nouveaux objets. - for (int i=0; i<_idxSource.length; i++) { + for (int i=0; i<newGeom.length; i++) { + Geometry geom=_mdlSource.getGeometry(i); + // Les attributs Object[] datadest=new Object[zoneDestination.getNbAttributes()]; for (int iatt=0; iatt<datadest.length; iatt++) { - int idxAtt=zoneSource.getIndiceOf(zoneDestination.getAttribute(iatt)); + int idxAtt=_mdlSource.getIndiceOf(zoneDestination.getAttribute(iatt)); if (idxAtt!=-1) { - datadest[iatt]=zoneSource.getValue(idxAtt,_idxSource[i]); + datadest[iatt]=_mdlSource.getValue(idxAtt,i); // Les nouvelles g\xE9om\xE9tries sont modifi\xE9s, pas d'origine - if (zoneSource.getAttribute(idxAtt)==GISAttributeConstants.ETAT_GEOM) + if (_mdlSource.getAttribute(idxAtt)==GISAttributeConstants.ETAT_GEOM) datadest[iatt]=GISAttributeConstants.ATT_VAL_ETAT_MODI; } // Cas particuliers de mapping entre les attributs Z et z \\ @@ -193,19 +207,19 @@ if(zoneDestination.getAttribute(iatt).getID().equals("Z")){ // Cas o\xF9 un z atomique existe dans la source et qu'il est constant boolean identique=true; - int indexBathy=zoneSource.getIndiceOf(GISAttributeConstants.BATHY); + int indexBathy=_mdlSource.getIndiceOf(GISAttributeConstants.BATHY); if(indexBathy!=-1){ - GISAttributeModelDoubleArray data=(GISAttributeModelDoubleArray) zoneSource.getValue(indexBathy, _idxSource[i]); + GISAttributeModelDoubleArray data=(GISAttributeModelDoubleArray) _mdlSource.getValue(indexBathy, i); identique=data.getMin()==data.getMax(); } if(identique&&indexBathy!=-1) - datadest[iatt]=((GISAttributeModelDoubleArray) zoneSource.getValue(indexBathy, _idxSource[i])).getObjectValueAt(0); + datadest[iatt]=((GISAttributeModelDoubleArray) _mdlSource.getValue(indexBathy, i)).getObjectValueAt(0); // Dans le cas contraire, on demande \xE0 l'utilisateur else{ // Pour le titre de la popup, on met le titre de la geom si possible String titre=MdlResource.getS("Nom : "); - if(zoneSource.getIndiceOf(GISAttributeConstants.TITRE)!=-1) - titre+=(String) zoneSource.getValue(zoneSource.getIndiceOf(GISAttributeConstants.TITRE), _idxSource[i]); + if(_mdlSource.getIndiceOf(GISAttributeConstants.TITRE)!=-1) + titre+=(String) _mdlSource.getValue(_mdlSource.getIndiceOf(GISAttributeConstants.TITRE), i); else titre+=MdlResource.getS("sans nom"); // Instanciation de la popup @@ -218,13 +232,13 @@ // Recherche d'un attribut ayant pour ID 'Z' pour pouvoir utiliser sa valeur boolean found=false; int j=-1; - while(!found&&++j<zoneSource.getNbAttributes()) - found=zoneSource.getAttribute(j).getID().equals("Z"); + while(!found&&++j<_mdlSource.getNbAttributes()) + found=_mdlSource.getAttribute(j).getID().equals("Z"); if(found){ // Duplication de la valeur - Object[] values=new Object[geoms[i].getNumPoints()]; + Object[] values=new Object[geom.getNumPoints()]; for(int k=0;k<values.length;k++) - values[k]=zoneSource.getValue(j, _idxSource[i]); + values[k]=_mdlSource.getValue(j, i); datadest[iatt]=values; } } @@ -236,9 +250,9 @@ // La g\xE9om\xE9trie if (_calqueDestination.modeleDonnees() instanceof MdlModel2dMultiPoint) - newGeom[i]=GISGeometryFactory.INSTANCE.createMultiPoint(geoms[i].getCoordinates()); + newGeom[i]=GISGeometryFactory.INSTANCE.createMultiPoint(geom.getCoordinates()); else if (_calqueDestination.modeleDonnees() instanceof MdlModel2dLine) { - CoordinateSequence coordSeq=((GISCoordinateSequenceContainerInterface) geoms[i]).getCoordinateSequence(); + CoordinateSequence coordSeq=((GISCoordinateSequenceContainerInterface) geom).getCoordinateSequence(); boolean isFerme=coordSeq.getCoordinate(0).equals(coordSeq.getCoordinate(coordSeq.size()-1)); if((_calqueDestination.canAddForme(DeForme.LIGNE_BRISEE)&&!isFerme)||!_calqueDestination.canAddForme(DeForme.POLYGONE)) newGeom[i]=GISLib.toPolyligne(coordSeq); @@ -260,25 +274,38 @@ */ public void moveInLayerSelectedGeometries() { // Rassemblement des informations - Map<ZCalqueEditable, List<Integer>> selectedGeom=new HashMap<ZCalqueEditable, List<Integer>>(); + Map<ZCalqueEditable, TIntArrayList> selectedGeom=new HashMap<ZCalqueEditable, TIntArrayList>(); int[] idxScene=getScene().getLayerSelection().getSelectedIndex(); if (idxScene!=null) { // Tri des g\xE9om\xE9tries en fonction de leur calque for (int i=0; i<idxScene.length; i++) { ZCalqueEditable calque=(ZCalqueEditable) getScene().getLayerForId(idxScene[i]); if(!selectedGeom.containsKey(calque)) - selectedGeom.put(calque, new ArrayList<Integer>()); + selectedGeom.put(calque, new TIntArrayList()); selectedGeom.get(calque).add(getScene().sceneId2LayerId(idxScene[i])); } ZCalqueEditable calqueDestination=(ZCalqueEditable)getScene().getCalqueActif(); final CtuluCommandComposite cmp=new CtuluCommandComposite(FudaaLib.getS("D\xE9placer dans calque cible")); - // D\xE9placement des g\xE9om\xE9tries - for(Map.Entry<ZCalqueEditable, List<Integer>> entry: selectedGeom.entrySet()) { - int[] idxSource=new int[entry.getValue().size()]; - for(int j=0;j<entry.getValue().size();j++) - idxSource[j]=entry.getValue().get(j); - moveGeometries(entry.getKey().getModelEditable(), idxSource, calqueDestination, cmp); + + // Controle que les g\xE9om\xE9tries peuvent \xEAtre d\xE9plac\xE9es. + GISDataModel[] mdls=new GISDataModel[selectedGeom.size()]; + int icpt=0; + for (ZCalqueEditable cq: selectedGeom.keySet()) { + GISDataModel mdl=cq.getModelEditable().getGeomData(); + int[] idxs=selectedGeom.get(cq).toNativeArray(); + mdls[icpt++]=new GISDataModelFilterAdapter(mdl,null,idxs); } + + // Si des g\xE9om\xE9tries ne sont pas conformes, aucune n'est copi\xE9e. + if (!canCopyGeometries(new GISDataModelMultiAdapter(mdls), calqueDestination)) + return; + + // Le d\xE9placement se fait sur chaque mod\xE8le et non sur un mod\xE8le global, pour tenir compte au maximum des attributs + // li\xE9s \xE0 chaque g\xE9om\xE9trie source. + for (int i=0; i<mdls.length; i++) { + copyGeometries(mdls[i], calqueDestination, cmp); + } + // Suppression des anciens. removeSelectedObjects(cmp); if (mng_!=null) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-06-22 14:41:42
|
Revision: 4877 http://fudaa.svn.sourceforge.net/fudaa/?rev=4877&view=rev Author: bmarchan Date: 2009-06-22 14:41:40 +0000 (Mon, 22 Jun 2009) Log Message: ----------- BugFix sur traceback lors du chargement d'un projet avec fenetre 1D ouverte. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-06-21 21:11:37 UTC (rev 4876) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlImplementation.java 2009-06-22 14:41:40 UTC (rev 4877) @@ -81,8 +81,8 @@ protected static BuInformationsSoftware isMdl_ = new BuInformationsSoftware(); static { isMdl_.name = "Modeleur"; - isMdl_.version = "0.13"; - isMdl_.date = "2009-03-27"; + isMdl_.version = "1.0"; + isMdl_.date = "2009-06-22"; isMdl_.rights = "Tous droits r\xE9serv\xE9s. CETMEF (c)1999-2009"; isMdl_.license = "GPL2"; isMdl_.languages = "fr,en"; @@ -105,7 +105,7 @@ /** * Un filtre autorisant des extensions avec plusieurs points (.mod.zip) * @author Bertrand Marchand - * @version $Id:$ + * @version $Id$ */ private static class MdlFileFilter extends FileFilter { final String extension_ = '.' + getExtension(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java 2009-06-21 21:11:37 UTC (rev 4876) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/MdlFille1d.java 2009-06-22 14:41:40 UTC (rev 4877) @@ -214,9 +214,11 @@ if (saveData==null) return; saveData.restoreStandardData(this,impl_.getMainPanel().getDesktop()); - restoreSpecificProps(saveData.getSpecificProps()); // Si les propri\xE9t\xE9s restitu\xE9es indiquent que la fenetre est visible, alors elle est ajout\xE9e au desktop. if (isVisible()) impl_.addInternalFrame(this); + // La restauration est faite apr\xE8s l'ajout de la fenetre sur le Desktop. En effet, c'est l'activation + // de la fenetre qui charge les donn\xE9es 1d depuis le 2D. + restoreSpecificProps(saveData.getSpecificProps()); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-09-10 14:43:36
|
Revision: 5102 http://fudaa.svn.sourceforge.net/fudaa/?rev=5102&view=rev Author: bmarchan Date: 2009-09-10 14:43:29 +0000 (Thu, 10 Sep 2009) Log Message: ----------- Correction Javadoc Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExportPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportTreeModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlWizardImport.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlCasierExportAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneDecimationAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneInterpolationAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneMoveInLayerAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProjectionAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneRefinementAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefsImporterFromModeleur2d.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/FusionBiefPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/OpenBiefPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExportPanel.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlCasierExportPanel.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -239,7 +239,7 @@ /** * R\xE9affichage de la fenetre 2D en cas de selection d'un objet. - * @param _geoms Les g\xE9om\xE9tries s\xE9lectionn\xE9es. + * @param _sel Les indices des g\xE9om\xE9tries s\xE9lectionn\xE9es. * @param _zoom True si le zoom doit se faire sur les g\xE9ometries s\xE9lectionn\xE9es. */ private void treeSelectionChanged(final CtuluListSelection _sel, final boolean _zoom) { 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 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -58,8 +58,7 @@ /** * Constructeur minium. - * @param _panel - * @param _cmd + * @param _panel Le panneau de visu 2D. */ public MdlEditionManager(MdlVisuPanel _panel) { super(_panel, new MdlSceneEditor(_panel,_panel.getScene())); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportTreeModel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportTreeModel.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectImportTreeModel.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -41,7 +41,7 @@ } /** - * @param root + * @param _loader Le loader */ public MdlProjectImportTreeModel(FudaaSaveZipLoader _loader) { super(new LayerNode(NAME_ROOT,"cqRoot")); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlSceneEditor.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -138,7 +138,7 @@ * <b>Remarque</b> : Il n'est pas tenu compte des attributs li\xE9s au mod\xE8le, uniquement des g\xE9om\xE9tries. * @param _mdlSource Le modele contenant les g\xE9om\xE9tries \xE0 copier. * @param _cqDest Le calque de destination. - * @param return false si au moins une des g\xE9om\xE9tries n'a pas le nombre de sommets requis. true sinon. + * @return false si au moins une des g\xE9om\xE9tries n'a pas le nombre de sommets requis. true sinon. */ public boolean canCopyGeometries(GISDataModel _mdlSource, ZCalqueEditable _cqDest) { int nbMin=1; @@ -173,11 +173,11 @@ * @param _mdlSource Le modele contenant les g\xE9om\xE9tries \xE0 copier. * @param _cqDest Le calque de destination. */ - public void copyGeometries(GISDataModel _mdlSource, ZCalqueEditable _calqueDestination, CtuluCommandContainer _cmd) { - if(_mdlSource==null||_calqueDestination==null) + public void copyGeometries(GISDataModel _mdlSource, ZCalqueEditable _cqDest, CtuluCommandContainer _cmd) { + if(_mdlSource==null||_cqDest==null) throw new IllegalArgumentException(FudaaLib.getS("Aucun des param\xE8tres ne doit \xEAtre null.")); - GISZoneCollection zoneDestination=_calqueDestination.getModelEditable().getGeomData(); + GISZoneCollection zoneDestination=_cqDest.getModelEditable().getGeomData(); final CtuluCommandComposite cmp = new CtuluCommandComposite(FudaaLib.getS("D\xE9placement de g\xE9om\xE9tries")); @@ -247,12 +247,12 @@ newData[i]=datadest; // La g\xE9om\xE9trie - if (_calqueDestination.modeleDonnees() instanceof MdlModel2dMultiPoint) + if (_cqDest.modeleDonnees() instanceof MdlModel2dMultiPoint) newGeom[i]=GISGeometryFactory.INSTANCE.createMultiPoint(geom.getCoordinates()); - else if (_calqueDestination.modeleDonnees() instanceof MdlModel2dLine) { + else if (_cqDest.modeleDonnees() instanceof MdlModel2dLine) { CoordinateSequence coordSeq=((GISCoordinateSequenceContainerInterface) geom).getCoordinateSequence(); boolean isFerme=coordSeq.getCoordinate(0).equals(coordSeq.getCoordinate(coordSeq.size()-1)); - if((_calqueDestination.canAddForme(DeForme.LIGNE_BRISEE)&&!isFerme)||!_calqueDestination.canAddForme(DeForme.POLYGONE)) + if((_cqDest.canAddForme(DeForme.LIGNE_BRISEE)&&!isFerme)||!_cqDest.canAddForme(DeForme.POLYGONE)) newGeom[i]=GISLib.toPolyligne(coordSeq); else newGeom[i]=GISLib.toPolygone(coordSeq); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlWizardImport.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlWizardImport.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlWizardImport.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -195,8 +195,6 @@ * Seul les g\xE9om\xE9tries de nature d'origine seront trait\xE9s par cette fonction. * Les autres seront ignor\xE9es. * - * @param _indexGeom - * l'index de la g\xE9om\xE9trie \xE0 importer * @param _modelDonnees * le model de donn\xE9es contenant la g\xE9om\xE9trie \xE0 importer * @param _formeOrigine Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -64,15 +64,12 @@ /** * Construit l'action. - * @param _title Label de l'action - * @param _icon L'icone pour l'action. - * @param _cqType Le type de calque (Voir {@link MdlLayerFactory}) - * @param _parent Le calque parent dans lequel sera cr\xE9\xE9 le calque. * @param _editor L'\xE9diteur. + * @param _mdl Le mod\xE8le de l'arbre des calques. */ public CalqueDeleteCalqueAction(FSigEditor _editor, BArbreCalqueModel _mdl) { super(_mdl); - setDefaultToolTip("Naze de chez naze..."); + setDefaultToolTip("Destruction du calque"); editor_=_editor; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlCasierExportAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlCasierExportAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlCasierExportAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -87,7 +87,7 @@ /** * Controle que la selection ne contient que des contours de casiers. - * @return + * @return True si la selection ne contient que des casiers ou selection vide. */ public boolean containsOnlyCasiers() { ZScene scn=editor_.getSupport(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow1DFrameAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -22,7 +22,7 @@ MdlImplementation impl_; /** - * @param _m l'arbre des calques + * @param _impl L'implementation deu modeleur. */ public MdlShow1DFrameAction(MdlImplementation _impl) { super(EbliResource.EBLI.getString("Vue 1D"), null, "VUE1D"); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/MdlShow2DFrameAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -22,7 +22,7 @@ MdlImplementation impl_; /** - * @param _m l'arbre des calques + * @param _impl L'implementation deu modeleur. */ public MdlShow2DFrameAction(MdlImplementation _impl) { super(EbliResource.EBLI.getString("Vue 2D"), null, "VUE2D"); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneDecimationAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneDecimationAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneDecimationAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -29,7 +29,7 @@ MdlSceneEditor sceneEditor_; /** - * @param _m l'arbre des calques + * @param _sceneEditor L'editeur sp\xE9cifique a la scene. */ public SceneDecimationAction(MdlSceneEditor _sceneEditor) { super(EbliResource.EBLI.getString("D\xE9cimer"), null, "DECIMER"); @@ -42,7 +42,7 @@ } /** - * @param _editor l'editeur + * @param _sceneEditor l'editeur */ private void setSceneEditor(final MdlSceneEditor _sceneEditor) { sceneEditor_ = _sceneEditor; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneInterpolationAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneInterpolationAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneInterpolationAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -28,7 +28,7 @@ MdlSceneEditor sceneEditor_; /** - * @param _m l'arbre des calques + * @param _sceneEditor L'editeur sp\xE9cifique a la scene. */ public SceneInterpolationAction(MdlSceneEditor _sceneEditor) { super(EbliResource.EBLI.getString("Interpolation entre 2 sommets"), null, "INTERPOLER"); @@ -41,7 +41,7 @@ } /** - * @param _editor l'editeur + * @param _sceneEditor L'editeur sp\xE9cifique a la scene. */ private void setSceneEditor(final MdlSceneEditor _sceneEditor) { sceneEditor_ = _sceneEditor; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneMoveInLayerAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneMoveInLayerAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneMoveInLayerAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -32,7 +32,8 @@ MdlSceneEditor sceneEditor_; /** - * @param _m l'arbre des calques + * @param _sceneEditor L'editeur sp\xE9cifique a la scene. + * @param _tree Le modele de l'arbre des calques */ public SceneMoveInLayerAction(MdlSceneEditor _sceneEditor, BArbreCalqueModel _tree) { super(EbliResource.EBLI.getString("D\xE9placer dans le calque cible"), null/*EbliResource.EBLI.getToolIcon("draw-rotation")*/, "MOVE_IN_LAYER"); @@ -46,7 +47,7 @@ } /** - * @param _editor l'editeur + * @param _sceneEditor L'editeur sp\xE9cifique a la scene. */ private void setSceneEditor(final MdlSceneEditor _sceneEditor) { sceneEditor_ = _sceneEditor; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProjectionAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProjectionAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneProjectionAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -44,7 +44,7 @@ } /** - * @param _editor l'editeur + * @param _sceneEditor L'editeur sp\xE9cifique a la scene. */ private void setSceneEditor(final MdlSceneEditor _sceneEditor) { sceneEditor_ = _sceneEditor; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneRefinementAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneRefinementAction.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/SceneRefinementAction.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -29,7 +29,7 @@ MdlSceneEditor sceneEditor_; /** - * @param _m l'arbre des calques + * @param _sceneEditor L'editeur sp\xE9cifique a la scene. */ public SceneRefinementAction(MdlSceneEditor _sceneEditor) { super(EbliResource.EBLI.getString("Raffiner"), null, "RAFFINER"); @@ -42,7 +42,7 @@ } /** - * @param _editor l'editeur + * @param _sceneEditor L'editeur sp\xE9cifique a la scene. */ private void setSceneEditor(final MdlSceneEditor _sceneEditor) { sceneEditor_ = _sceneEditor; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dLine.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -42,7 +42,6 @@ /** * Construction d'un modele de profil avec pile de commandes. - * @param _cmd La pile de commandes pour le undo/redo. */ public MdlModel2dLine(final ZModelGeometryListener _listener) { super(new GISZoneCollectionLigneBrisee(null)); @@ -160,7 +159,7 @@ * @param _idxfin L'indice de fin de raffinement. * @param _meth La m\xE9thode. * @param _nbpts Le nombre de points. - * @param _dstmin La distance maximale. + * @param _dstmax La distance maximale. * @param _cmd Le container de commandes. * @return true si modif ok. */ Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefImporterFromModels.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -309,8 +309,6 @@ /** * Value les attributs priv\xE9s a partir du tableau de ZModeleLigneBrisee. - * - * @param _models */ private void testAndValuateModels() { for (int i=0; i<models_.length; i++) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefsImporterFromModeleur2d.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefsImporterFromModeleur2d.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/controller/BiefsImporterFromModeleur2d.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -37,8 +37,7 @@ /** * - * @param _rootCalque - * @param _impl peut \xEAtre null. + * @param _rootCalque Le calque racine des biefs. */ public BiefsImporterFromModeleur2d(BCalque _rootCalque) { if (_rootCalque==null) Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/Bief.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -241,11 +241,9 @@ /** * D\xE9active le synchroniser. - * - * @param indique - * si les g\xE9om\xE9tries volatiles doivent \xEAtre d\xE9truites */ public void disable() { + // indique si les g\xE9om\xE9tries volatiles doivent \xEAtre d\xE9truites if (profilsListen_!=null) { profilsListen_.removeModelListener(this); profilsListen_=null; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/model/ProfilContainerAdapter.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -219,8 +219,6 @@ * ordonn\xE9s (les points sont ordonn\xE9s en ordre croissant de leur abscisse * curviligne). La veracit\xE9 de cette hypoth\xE8se n'est PAS v\xE9rifi\xE9 dans updateData. * - * @param _zone la zone contenant la g\xE9om\xE9trie - * @param _idxGeom l'indice de la g\xE9om\xE9trie dans _zone * @throws DataGeometryException */ protected void updateData() throws IllegalArgumentException, ProfilContainerException { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/ExportPanel.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -63,10 +63,9 @@ } /** - * Lance l'exporter dans une fen\xEAtre modale et retourne vrai si l'utilisateur - * clic sur 'ok' \xE0 la fin, faux si il clic sur 'annuler'. + * Lance l'exporter dans une fen\xEAtre modale. * - * @return + * @return vrai si l'utilisateur clic sur 'ok' \xE0 la fin, faux si il clic sur 'annuler'. */ public boolean run(){ return CtuluDialogPanel.isOkResponse(afficheModale(this, MdlResource.getS("Exporter le bief courant"))); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/FusionBiefPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/FusionBiefPanel.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/FusionBiefPanel.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -99,10 +99,9 @@ } /** - * Lance l'exporter dans une fen\xEAtre modale et retourne vrai si l'utilisateur - * clic sur 'ok' \xE0 la fin, faux si il clic sur 'annuler'. + * Lance l'exporter dans une fen\xEAtre modale. * - * @return + * @return vrai si l'utilisateur clic sur 'ok' \xE0 la fin, faux si il clic sur 'annuler'. */ public boolean run(){ return CtuluDialogPanel.isOkResponse(afficheModale(this, FudaaLib.getS("Fusion de deux biefs"))); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/OpenBiefPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/OpenBiefPanel.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/modeleur1d/view/OpenBiefPanel.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -47,10 +47,9 @@ } /** - * Lance l'exporter dans une fen\xEAtre modale et retourne vrai si l'utilisateur - * clic sur 'ok' \xE0 la fin, faux si il clic sur 'annuler'. + * Lance l'exporter dans une fen\xEAtre. * - * @return + * @return vrai si l'utilisateur clic sur 'ok' \xE0 la fin, faux si il clic sur 'annuler'. */ public boolean run() { return CtuluDialogPanel.isOkResponse(afficheModale(this, FudaaLib.getS("Importation de donn\xE9es"))); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java 2009-09-10 11:41:57 UTC (rev 5101) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer2dLinePersistence.java 2009-09-10 14:43:29 UTC (rev 5102) @@ -85,10 +85,10 @@ return cqName; } - /** - * La methode est surcharg\xE9e, le calque {@link FSIGLayerLinePersistence} ne restaure pas les objets - * GIS s'ils ne sont inclus dans un groupe de calque GIS. - */ +// /** +// * La methode est surcharg\xE9e, le calque {@link FSIGLayerLinePersistence} ne restaure pas les objets +// * GIS s'ils ne sont inclus dans un groupe de calque GIS. +// */ // protected boolean restoreFromSpecific(final BCalqueSaverInterface _saver, final CtuluArkLoader _loader, // final BCalqueSaverTargetInterface _parentPanel, final BCalque _parentCalque, final String _parentDirEntry, final String _entryName, // final ProgressionInterface _proj) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |