From: <bma...@us...> - 2011-10-24 13:34:56
|
Revision: 6574 http://fudaa.svn.sourceforge.net/fudaa/?rev=6574&view=rev Author: bmarchan Date: 2011-10-24 13:34:49 +0000 (Mon, 24 Oct 2011) Log Message: ----------- Fix : Tracebacks sur BCalquePaletteInfo Modified Paths: -------------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BCalquePaletteInfo.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueGeometry.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BCalquePaletteInfo.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2011-10-24 08:04:20 UTC (rev 6573) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2011-10-24 13:34:49 UTC (rev 6574) @@ -92,7 +92,7 @@ if(calque != calqueSelected_) if (calque.modeleDonnees() instanceof ZModeleGeometry) ((ZModeleGeometry)calque.modeleDonnees()).removeModelListener(this); - else + else if (calque.modeleDonnees() instanceof ZModeleDonnesAbstract) ((ZModeleDonnesAbstract)calque.modeleDonnees()).removeModelListener(this); // Nombre de calques ayant des selections (atomiques ou globales) calqueWithGeometriesSelected_.clear(); Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java 2011-10-24 08:04:20 UTC (rev 6573) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java 2011-10-24 13:34:49 UTC (rev 6574) @@ -17,7 +17,6 @@ import org.fudaa.ebli.find.EbliFindExpressionContainerInterface; import org.fudaa.ebli.geometrie.GrPoint; -import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LinearRing; /** @@ -43,6 +42,7 @@ return new CalqueFindActionDefault(this); } + @Override public int[] getSelectedObjectInTable() { return getSelectedIndex(); } @@ -174,6 +174,7 @@ } } + @Override public CtuluListSelectionInterface getLayerSelection() { return selection_; } @@ -207,6 +208,7 @@ /** * @return true si un seul objet est selectionne */ + @Override public boolean isOnlyOneObjectSelected() { return selection_ != null && selection_.isOnlyOnIndexSelected(); } @@ -299,11 +301,4 @@ if (idx<=0) return false; return setSelection(new int[]{idx-1}); } - - public void geometryAction(Object _source, int _idx, Geometry _geom, int _action) { - // Une g\xE9om\xE9trie a \xE9t\xE9 ajout\xE9e, supprim\xE9e ou ses points la composant ont \xE9t\xE9 - // modifi\xE9s, donc on repaint le tout. - repaint(); - } - } \ No newline at end of file Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java 2011-10-24 08:04:20 UTC (rev 6573) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueAffichageDonneesAbstract.java 2011-10-24 13:34:49 UTC (rev 6574) @@ -17,6 +17,7 @@ import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.CtuluRange; +import org.fudaa.ebli.calque.edition.ZModeleEditable; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.commun.EbliListeSelectionMultiInterface; import org.fudaa.ebli.commun.EbliTableInfoPanel; @@ -120,6 +121,8 @@ } public boolean isEditable() { + // B.M. : Bizarre, on pourrait penser que le caractere editable ou non n'est + // pas lie au nombre de geometries dans le modele... return modeleDonnees() != null && modeleDonnees().getNombre() > 0; } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueGeometry.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueGeometry.java 2011-10-24 08:04:20 UTC (rev 6573) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZCalqueGeometry.java 2011-10-24 13:34:49 UTC (rev 6574) @@ -49,6 +49,7 @@ import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.LinearRing; @@ -1312,4 +1313,15 @@ repaint(); } + public void geometryAction(Object _source, int _idx, Geometry _geom, int _action) { + // Si une g\xE9om\xE9trie a \xE9t\xE9 supprim\xE9e, on r\xE9initialise la s\xE9lection pour eviter + // les effets de bord. + if (_action==ZModelListener.GEOMETRY_ACTION_REMOVE) + clearSelection(); + + // Une g\xE9om\xE9trie a \xE9t\xE9 ajout\xE9e, supprim\xE9e ou ses points la composant ont \xE9t\xE9 + // modifi\xE9s, donc on repaint le tout. + repaint(); + } + } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2011-10-24 08:04:20 UTC (rev 6573) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2011-10-24 13:34:49 UTC (rev 6574) @@ -101,6 +101,7 @@ return 4 + att_.length; } + @Override public Class getColumnClass(final int _columnIndex) { if (_columnIndex <= 1) { return Integer.class; @@ -111,6 +112,7 @@ return Double.class; } + @Override public String getColumnName(final int _column) { switch (_column) { case 0: @@ -193,6 +195,7 @@ return (fermeOuvert_ ? 4 : 3) + att_.length; } + @Override public String getColumnName(final int _column) { switch (_column) { case 0: @@ -255,6 +258,7 @@ return geometries_ == null ? false : getGeomData().containsPolygone(); } + @Override public BuTable createValuesTable(final ZCalqueAffichageDonneesInterface _layer) { final BuTable r = new CtuluTable(); //TODO Voir si l'action se fait qu'en mode atomique (comme mnt) ou dans tout mode diff\xE9rent du mode normal. @@ -275,6 +279,7 @@ return geometries_.getNbAttributes(); } + @Override public void fillWithInfo(final InfoData _d, final ZCalqueAffichageDonneesInterface _layer) { // Selection vide : information sur le calque if (_layer.isSelectionEmpty()) @@ -327,7 +332,7 @@ super.fillWithInfo(_d, _layer); if (nb==1) { final int idxPoly=layer.getLayerSelection().getMaxIndex(); - if (_layer.isEditable()&&((ZCalqueEditable)_layer).canAddForme(DeForme.LIGNE_BRISEE)&&((ZCalqueEditable)_layer).canAddForme(DeForme.POLYGONE)) + if ((_layer instanceof ZCalqueEditable)&&((ZCalqueEditable)_layer).canAddForme(DeForme.LIGNE_BRISEE)&&((ZCalqueEditable)_layer).canAddForme(DeForme.POLYGONE)) _d.put(CtuluLib.getS("Ferm\xE9"), isGeometryFermee(idxPoly) ? CtuluLib.getS("vrai"):CtuluLib.getS("faux"), new CtuluValueEditorChoice(new String[]{CtuluLib.getS("vrai"), CtuluLib.getS("faux")}, null), null, this, new int[]{idxPoly}); @@ -351,7 +356,7 @@ value=isGeometryFermee(selectedIdx[0]) ? CtuluLib.getS("vrai"):CtuluLib.getS("faux"); else value=null; - if (_layer.isEditable()&&((ZCalqueEditable)_layer).canAddForme(DeForme.LIGNE_BRISEE)&&((ZCalqueEditable)_layer).canAddForme(DeForme.POLYGONE)) + if ((_layer instanceof ZCalqueEditable)&&((ZCalqueEditable)_layer).canAddForme(DeForme.LIGNE_BRISEE)&&((ZCalqueEditable)_layer).canAddForme(DeForme.POLYGONE)) _d.put(CtuluLib.getS("Ferm\xE9"), value, new CtuluValueEditorChoice(new String[]{CtuluLib.getS("vrai"), CtuluLib.getS("faux")}, null), null, this, selectedIdx); else @@ -374,19 +379,20 @@ /* (non-Javadoc) * @see org.fudaa.ebli.palette.BPaletteInfo.ModifyPropertyInfo#modifyProperty(java.lang.String, java.lang.Object) */ + @Override public void modifyProperty(String _key, Object _value, final int[] _index, CtuluCommandContainer _cmd) { CtuluCommandComposite cmd=new CtuluCommandComposite(); super.modifyProperty(_key, _value, _index, cmd); - if (_index!=null&&_value!=null&&_key==CtuluLib.getS("Ferm\xE9")) { + if (_index!=null&&_value!=null&&CtuluLib.getS("Ferm\xE9").equals(_key)) { // Modification de la propri\xE9t\xE9 int[] indexPolylines=_index; for (int i=0; i<indexPolylines.length; i++) { int indexPolyligne=indexPolylines[i]; // Cr\xE9ation de la nouvelle g\xE9om\xE9trie Geometry newGeom=null; - if (_value==CtuluLib.getS("vrai")) + if (CtuluLib.getS("vrai").equals(_value)) newGeom=GISLib.toPolygone(((GISCoordinateSequenceContainerInterface)geometries_.getGeometry(indexPolyligne)).getCoordinateSequence()); - else if (_value==CtuluLib.getS("faux")) + else if (CtuluLib.getS("faux").equals(_value)) newGeom=GISLib.toPolyligne(((GISCoordinateSequenceContainerInterface)geometries_.getGeometry(indexPolyligne)).getCoordinateSequence()); else FuLog.error("ZModeleLigneBriseeDefault.modifyProperty : la valeur pour la propri\xE9t\xE9 'ferm\xE9' est inconnue donc intraitable."); @@ -399,6 +405,7 @@ } + @Override public final GISZoneCollectionLigneBrisee getGeomData() { return (GISZoneCollectionLigneBrisee)geometries_; } @@ -407,6 +414,7 @@ return getNombre()-getNbPolygone(); } + @Override public final int getNbPointForGeometry(final int _idxLigne) { if (geometries_ == null) { return 0; @@ -434,6 +442,7 @@ return false; } + @Override public boolean isValuesTableAvailable() { return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |