|
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.
|