From: <emm...@us...> - 2008-10-28 15:55:22
|
Revision: 4103 http://fudaa.svn.sourceforge.net/fudaa/?rev=4103&view=rev Author: emmanuel_martin Date: 2008-10-28 15:55:12 +0000 (Tue, 28 Oct 2008) Log Message: ----------- Mise en place de la palette de visibilit?\195?\169 ; modification dans le design des listeners de calque de model et de gisZone. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayBoolean.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayDouble.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayDoubleImmutable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayObject.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionBooleanAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionDoubleEditAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionObjectAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListBoolean.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListObject.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanArray.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanList.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleArray.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleList.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerArray.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerList.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectArray.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectList.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneAttributeFactory.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionMultiPoint.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPolygone.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPolyligne.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/H2dNodalPropertiesMngAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/H2dParallelogrammeManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxElementProperty.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxNodalPropertiesMng.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxSICourant2D.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2DRubarDiffusionModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2DRubarFrictionModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarApportSpatialMng.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarDonneesBrutes.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarElementPropertyAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarOuvrage.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarOuvrageElementaireBreche.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarOuvrageElementaireDeversoir.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarOuvrageMng.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarParameters.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSeuilMng.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSourceMng.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueMultiPoint.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonneesVide.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnesAbstract.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleFlecheForGrille.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleStatiqueImageRaster.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModelePointEditable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/lido/editor/LidoProfilEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/model/Mv3DFrontierData.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/model/MvEdgeModelDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.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/MdlModel1dTrace.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dCloud.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dConstraintLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dContour.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dDirectionLine.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/layer/MdlModel2dLine.java 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/MdlModel2dProfile.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel2dZone.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSIgImageWizartStepCalageUI.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalageLogic.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrGisProjectEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiFlecheModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrSiProfilModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrIsoModelEltDataAdapter.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/post/TrPostFlecheModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/reflux/TrBcNodeLayer.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacSourceModel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/test/org/fudaa/fudaa/tr/TestJSave.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/AttributeListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GeometryListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/EditVisibilityAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneListener.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayBoolean.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayBoolean.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayBoolean.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -65,7 +65,7 @@ list_ = new boolean[_nb]; } - protected void fireObjectChanged(){ + protected void fireObjectChanged(int _indexGeom, Object _newValue){ } @@ -114,7 +114,7 @@ } list_ = CtuluLibArray.copy(_m.list_); if (_throwEvent) { - fireObjectChanged(); + fireObjectChanged(-1, null); } } @@ -134,7 +134,7 @@ list_[i] = _m.getValue(i); } if (_throwEvent) { - fireObjectChanged(); + fireObjectChanged(-1, null); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayDouble.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayDouble.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayDouble.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -139,7 +139,7 @@ list_ = CtuluLibArray.copy(_m.list_); r_ = _m.r_; if (_throwEvent) { - fireObjectChanged(); + fireObjectChanged(-1, null); } } @@ -153,7 +153,7 @@ list_ = _m.list_.toNativeArray(); r_ = _m.r_; if (_throwEvent) { - fireObjectChanged(); + fireObjectChanged(-1, null); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayDoubleImmutable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayDoubleImmutable.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayDoubleImmutable.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -189,7 +189,7 @@ return Arrays.equals(this.list_, _a.list_); } - protected void fireObjectChanged() {} + protected void fireObjectChanged(int _indexGeom, Object _newValue) {} public void initWith(final CtuluCollection _model, final boolean _throwEvent) {} Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayObject.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayObject.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluArrayObject.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -42,7 +42,7 @@ list_ = CtuluLibArray.copy(_init); } - protected void fireObjectChanged() { + protected void fireObjectChanged(int _indexGeom, Object _newValue) { // System.err.println("overload " + getClass().getName() + ".firePointChanged"); } @@ -81,7 +81,7 @@ public void initWith(final CtuluCollection _array, final boolean _fireEvent) { list_ = _array.getObjectValues(); if (_fireEvent) { - fireObjectChanged(); + fireObjectChanged(-1, null); } } @@ -92,7 +92,7 @@ public void initWith(final CtuluArrayObject _array, final boolean _fireEvent) { list_ = _array.getObjectValues(); if (_fireEvent) { - fireObjectChanged(); + fireObjectChanged(-1, null); } } @@ -103,7 +103,7 @@ public void initWith(final CtuluListObject _array, final boolean _fireEvent) { list_ = _array.getObjectValues(); if (_fireEvent) { - fireObjectChanged(); + fireObjectChanged(-1, null); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionAbstract.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionAbstract.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionAbstract.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -23,7 +23,7 @@ */ protected CtuluCollectionAbstract() {} - protected void fireObjectChanged() {} + protected void fireObjectChanged(int _indexGeom, Object _newValue) {} public boolean addAllObject(final Object _dataArray, final CtuluCommandContainer _c) { return false; Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionBooleanAbstract.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionBooleanAbstract.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionBooleanAbstract.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -188,7 +188,7 @@ return set(_i, _newV, null); } - protected abstract void fireObjectChanged(); + protected abstract void fireObjectChanged(int _indexGeom, Object _newValue); /** * @param _i l'indice a modifier @@ -203,7 +203,7 @@ } final boolean old = getValue(_i); internalSet(_i, _newB); - fireObjectChanged(); + fireObjectChanged(_i, old); if (_c != null) { _c.addCmd(new CommandSet(_newB, old, _i)); } @@ -248,7 +248,7 @@ _c.addCmd(new CommandSetsOneDouble(_newB, old, CtuluLibArray.copy(_i))); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); } return r; } @@ -300,7 +300,7 @@ _c.addCmd(new CommandSets(CtuluLibArray.copy(_newV), old, CtuluLibArray.copy(_i))); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); } return r; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionDoubleEditAbstract.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionDoubleEditAbstract.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionDoubleEditAbstract.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -252,7 +252,7 @@ /** * Appele qui si des doubles sont modifies avec un set. */ - protected void fireObjectChanged() { + protected void fireObjectChanged(int _indexGeom, Object _newValue) { } @@ -268,7 +268,7 @@ } r_ = null; if (_throwEvent) { - fireObjectChanged(); + fireObjectChanged(-1, null); } } @@ -368,7 +368,7 @@ } final double old = getValue(_i); internalSet(_i, _newV); - fireObjectChanged(); + fireObjectChanged(_i, _newV); if (_c != null) { _c.addCmd(new CommandSet(_newV, old, _i)); } @@ -415,7 +415,7 @@ _c.addCmd(new CommandSetsOneDouble(_newV, old, CtuluLibArray.copy(_i))); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); } return r; } @@ -468,7 +468,7 @@ _c.addCmd(new CommandSets(CtuluLibArray.copy(_newV), old, CtuluLibArray.copy(_i))); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); } return r; } @@ -515,7 +515,7 @@ r |= internalSet(i, _val); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); } if (r && _cmd != null) { _cmd.addCmd(new CommandSetAll(memento)); @@ -560,7 +560,7 @@ _cmd.addCmd(new CommandSetAll(memento)); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); } return r; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionObjectAbstract.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionObjectAbstract.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluCollectionObjectAbstract.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -35,12 +35,12 @@ public void redo() { internalSet(idx_, newV_); - fireObjectChanged(); + fireObjectChanged(idx_, newV_); } public void undo() { internalSet(idx_, oldV_); - fireObjectChanged(); + fireObjectChanged(idx_, oldV_); } } @@ -96,7 +96,7 @@ */ protected CtuluCollectionObjectAbstract() {} - protected void fireObjectChanged() { + protected void fireObjectChanged(int _indexGeom, Object _newValue) { // System.err.println("overload " + getClass().getName() + ".firePointChanged"); } @@ -191,7 +191,7 @@ } final Object old = getValueAt(_i); internalSet(_i, _newObj); - fireObjectChanged(); + fireObjectChanged(_i, _newObj); if (_c != null) { _c.addCmd(new CommandSet(_newObj, old, _i)); } @@ -224,7 +224,7 @@ } } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); } if (r && _c != null) { _c.addCmd(new CommandSetsOneValue(_newV, old, _i)); @@ -271,7 +271,7 @@ _c.addCmd(new CommandSets(_newV, old, _i)); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); } return r; } @@ -291,7 +291,7 @@ r |= internalSet(i, _v); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); if (_cmd != null) { _cmd.addCmd(new CtuluCommand() { @@ -320,7 +320,7 @@ r |= internalSet(i, _v[i]); } if (r) { - fireObjectChanged(); + fireObjectChanged(-1, null); if (_cmd != null) { _cmd.addCmd(new CtuluCommand() { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListBoolean.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListBoolean.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListBoolean.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -43,12 +43,12 @@ } else { internalAdd(idx_, newValue_); } - fireObjectAdded(); + fireObjectAdded(idx_, newValue_); } public void undo() { internalRemove(idx_); - fireObjectRemoved(); + fireObjectRemoved(idx_, newValue_); } } @@ -65,12 +65,12 @@ public void redo() { internalRemove(idx_); - fireObjectRemoved(); + fireObjectRemoved(idx_, oldValue_); } public void undo() { internalAdd(idx_, oldValue_); - fireObjectAdded(); + fireObjectAdded(idx_, oldValue_); } } @@ -85,13 +85,13 @@ public void redo() { internalRemoveAll(); - fireObjectRemoved(); + fireObjectRemoved(-1, null); } public void undo() { initWith(mementoRemoveAll_, false); // cas particulier ou il faut envoye un evt - fireObjectAdded(); + fireObjectAdded(-1, null); } } @@ -133,7 +133,7 @@ public void undo() { initWith(memento_, false); // cas particulier ou il faut envoye un evt - fireObjectAdded(); + fireObjectAdded(-1, null); } } @@ -189,26 +189,26 @@ public final boolean setAll(final Object _v) { if (_v instanceof Boolean) { Collections.fill(list_, _v); - fireObjectChanged(); + fireObjectChanged(-1, null); return true; } return false; } - protected void fireObjectAdded() { - // System.err.println("overload " + getClass().getName() + ".firePointAdded"); + protected void fireObjectAdded(int _newIdx, Object _newGeom) { + // System.err.println("overload " + getClass().getName() + ".firePointAdded"); } - protected void fireObjectChanged() { - // System.err.println("overload " + getClass().getName() + ".firePointChanged"); + protected void fireObjectChanged(int _indexGeom, Object _newValue) { + // System.err.println("overload " + getClass().getName() + ".firePointChanged"); } - protected void fireObjectRemoved() { - // System.err.println("overload " + getClass().getName() + ".firePointRemoved"); + protected void fireObjectRemoved(int _oldIdx, Object _oldGeom) { + // System.err.println("overload " + getClass().getName() + ".firePointRemoved"); } - protected void fireObjectStructureChanged() { - // System.err.println("overload " + getClass().getName() + ".firePointStructureChanged"); + protected void fireObjectStructureChanged(int _idx, Object _geom) { + // System.err.println("overload " + getClass().getName() + ".firePointStructureChanged"); } protected void initWith(final CtuluListBoolean _m) { @@ -254,7 +254,7 @@ final void initWith(final CtuluListBoolean _m, final boolean _throwEvent) { list_ = new ArrayList(_m.list_); if (_throwEvent) { - fireObjectAdded(); + fireObjectAdded(-1, null); } } @@ -274,7 +274,7 @@ for (int i = 0; i < n; i++) { insert(_idx[i], _values[i]); } - fireObjectAdded(); + fireObjectAdded(-1, null); return true; } @@ -288,7 +288,7 @@ if (_cmd != null) { _cmd.addCmd(new CommandAdd(list_.size() - 1, _boolean)); } - fireObjectAdded(); + fireObjectAdded(list_.size() - 1, _boolean); return true; } return false; @@ -307,7 +307,7 @@ public void redo() { list_.add(newValue_); - fireObjectAdded(); + fireObjectAdded(idxBefore_, newValue_); } public void undo() { @@ -400,7 +400,7 @@ _c.addCmd(new CommandAdd(_i, _x)); } - fireObjectAdded(); + fireObjectAdded(_i, _x); return true; } return false; @@ -415,7 +415,7 @@ if (_c != null) { _c.addCmd(new CommandRemove(_i, old)); } - fireObjectRemoved(); + fireObjectRemoved(_i, old); return true; } @@ -491,7 +491,7 @@ _cmd.addCmd(new CommandRemoveDangerous(oldV, newIdx)); } } - fireObjectRemoved(); + fireObjectRemoved(-1, null); return true; } return false; @@ -512,7 +512,7 @@ if (_c != null) { _c.addCmd(new CommandRemoveAll(createMemento)); } - fireObjectRemoved(); + fireObjectRemoved(-1, null); } /** Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListObject.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListObject.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListObject.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -19,6 +19,8 @@ import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluLibArray; +import com.vividsolutions.jts.geom.Geometry; + /** * Une classe permettant de gerer un vecteur de double. Fonctionnalites sup: <br> * Undo/Redo Max/min enregistrer automatiquement @@ -91,7 +93,7 @@ } else { internalAdd(idx_, newValue_); } - fireObjectAdded(); + fireObjectAdded(idx_, newValue_); } /** @@ -99,7 +101,7 @@ */ public void undo() { internalRemove(idx_); - fireObjectRemoved(); + fireObjectRemoved(idx_, newValue_); } } @@ -120,7 +122,7 @@ */ public void redo() { list_.addAll(Arrays.asList(newValue_)); - fireObjectAdded(); + fireObjectAdded(-1, null); } /** @@ -128,7 +130,7 @@ */ public void undo() { CtuluLibArray.remove(list_, idxBefore_, newValue_.length); - fireObjectRemoved(); + fireObjectRemoved(-1, null); } } @@ -149,7 +151,7 @@ */ public void redo() { internalRemove(idx_); - fireObjectRemoved(); + fireObjectRemoved(idx_, oldValue_); } /** @@ -157,7 +159,7 @@ */ public void undo() { internalAdd(idx_, oldValue_); - fireObjectAdded(); + fireObjectAdded(idx_, oldValue_); } } @@ -172,13 +174,13 @@ public void redo() { internalRemoveAll(); - fireObjectRemoved(); + fireObjectRemoved(-1, null); } public void undo() { initWith(memento_, false); // cas particulier ou il faut envoye un evt - fireObjectAdded(); + fireObjectAdded(-1, null); } } @@ -215,12 +217,13 @@ public void redo() { remove(idx_); + fireObjectRemoved(-1, null); } public void undo() { initWith(memento_, false); // cas particulier ou il faut envoye un evt - fireObjectAdded(); + fireObjectAdded(-1, null); } } @@ -277,19 +280,19 @@ list_ = new ArrayList(_nb); } - protected void fireObjectAdded() { + protected void fireObjectAdded(int _newIdx, Object _newGeom) { // System.err.println("overload " + getClass().getName() + ".firePointAdded"); } - protected void fireObjectChanged() { + protected void fireObjectChanged(int _oldIdx, Object _oldGeom) { // System.err.println("overload " + getClass().getName() + ".firePointChanged"); } - protected void fireObjectRemoved() { + protected void fireObjectRemoved(int _oldIdx, Object _oldGeom) { // System.err.println("overload " + getClass().getName() + ".firePointRemoved"); } - protected void fireObjectStructureChanged() { + protected void fireObjectStructureChanged(int _idx, Object _geom) { // System.err.println("overload " + getClass().getName() + ".firePointStructureChanged"); } @@ -320,14 +323,14 @@ public void initWith(final CtuluListObject _m, final boolean _throwEvent) { list_ = new ArrayList(_m.list_); if (_throwEvent) { - fireObjectAdded(); + fireObjectAdded(-1, null); } } public void initWith(final CtuluArrayObject _m, final boolean _throwEvent) { list_ = new ArrayList(Arrays.asList(_m.list_)); if (_throwEvent) { - fireObjectAdded(); + fireObjectAdded(-1, null); } } @@ -347,7 +350,7 @@ for (int i = 0; i < n; i++) { insert(_idx[i], _values[i]); } - fireObjectAdded(); + fireObjectAdded(-1, null); return true; } @@ -371,7 +374,7 @@ cmd.addCmd(new CommandAdd(list_.size() - 1, _obj)); _cmd.addCmd(cmd.getSimplify()); } - fireObjectAdded(); + fireObjectAdded(list_.size()-1, _obj); return true; } return false; @@ -398,7 +401,7 @@ cmd.addCmd(new CommandAddAll(idx, _obj)); _cmd.addCmd(cmd.getSimplify()); } - fireObjectAdded(); + fireObjectAdded(-1, null); } return true; } @@ -449,7 +452,7 @@ _c.addCmd(cmd.getSimplify()); } - fireObjectAdded(); + fireObjectAdded(_i, _x); return true; } return false; @@ -470,7 +473,7 @@ cmd.addCmd(new CommandRemove(_i, old)); _c.addCmd(cmd.getSimplify()); } - fireObjectRemoved(); + fireObjectRemoved(_i, list_.get(_i)); return true; } @@ -551,7 +554,7 @@ commandComposite.addCmd(new CommandRemoveDangerous(oldV, iToRemove)); } } - fireObjectRemoved(); + fireObjectRemoved(-1, null); if (_cmd != null && commandComposite != null) { _cmd.addCmd(commandComposite.getSimplify()); } @@ -585,7 +588,7 @@ if (_c != null && cmd != null) { _c.addCmd(cmd.getSimplify()); } - fireObjectRemoved(); + fireObjectRemoved(-1, null); } protected void internActionCleared(final CtuluCommandContainer _c) { Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/AttributeListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/AttributeListener.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/AttributeListener.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -0,0 +1,66 @@ +/* + * @creation 24 oct. 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.ctulu.gis; + +/** + * Cette interface permet l'\xE9coute des changements concernant les attributs des + * g\xE9om\xE9tries. Les changements sont : l'ajout d'un attribut, la suppression d'un + * attribut et le changement d'une valeur d'un attribut. + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public interface AttributeListener extends GeometryListener { + + /** Action indiquant l'ajout d'un attribut dans le conteneur d'attributs. */ + public static final int ATTRIBUTE_ACTION_ADD=0; + /** + * Action indiquant la supression d'un attribut dans le conteneur d'attributs. + */ + public static final int ATTRIBUTE_ACTION_REMOVE=1; + + /** + * M\xE9thode appel\xE9e lorsqu'une action d'ajout ou de suppression est effectu\xE9e + * sur un attribut. + * + * @param _source + * L'instance appelant attributeAction. + * @param _indexAtt + * L'index de l'attribut. Si l'action est l'ajout d'un attribut, + * l'index est valide. Si l'action est la supression, l'index + * correspond \xE0 l'ancienne emplacement et donc n'est plus valide. Si + * \xE9gale \xE0 -1, tout les attributs ont pu \xEAtre modifi\xE9s. + * @param _att + * L'attribut concern\xE9. Si null tout les attributs ont pu \xEAtre + * modifi\xE9s. + * @param _action + * L'action effectu\xE9e sur la g\xE9om\xE9trie. Voir les ATTRIBUTE_ACTION_*. + */ + public void attributeAction(Object _source, int _indexAtt, GISAttributeInterface _att, int _action); + + /** + * M\xE9thode appel\xE9e lorsqu'une action de modification de la valeur d'un + * attribut est effectu\xE9e. + * + * @param _source + * L'instance appelant attributeValueChangeAction. + * @param _indexAtt + * L'index de l'attribut. Si \xE9gale \xE0 -1, tout les attributs ont pu + * \xEAtre modifi\xE9s. + * @param _att + * L'attribut concern\xE9. Si null tout les attributs ont pu \xEAtre + * modifi\xE9s. + * @param _indexGeom + * La g\xE9om\xE9trie concern\xE9e. Si \xE9gale \xE0 -1, toutes les g\xE9om\xE9tries ont + * pu \xEAtre modifi\xE9es. + * @param _newValue + * La nouvelle valeur de l'attribut pour la g\xE9om\xE9trie indiqu\xE9e. Si + * null toutes les g\xE9om\xE9tries ont pu \xEAtre modifi\xE9es. + */ + public void attributeValueChangeAction(Object _source, int _indexAtt, GISAttributeInterface _att, int _indexGeom, Object _newValue); +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/AttributeListener.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeListener.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeListener.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -8,13 +8,29 @@ package org.fudaa.ctulu.gis; /** + * Cette interface concerne la communication entre les models d'attributs et la + * GISZoneCollection. Pour la communication entre la GISZoneCollection et le + * reste du monde, voir AttributeListener dans le m\xEAme package. + * * @author Fred Deniger - * @version $Id: GISAttributeListener.java,v 1.3 2006-02-09 08:59:28 deniger Exp $ + * @version $Id: GISAttributeListener.java,v 1.3 2006-02-09 08:59:28 deniger Exp + * $ */ public interface GISAttributeListener { /** - * @param _src l'attribut source de l'evt + * M\xE9thode appel\xE9e lorsqu'une action de modification de la valeur d'un + * attribut est effectu\xE9e. + * + * @param _att + * L'attribut concern\xE9. Si null tout les attributs ont pu \xEAtre + * modifi\xE9s. + * @param _indexGeom + * La g\xE9om\xE9trie concern\xE9e. Si \xE9gale \xE0 -1, toutes les g\xE9om\xE9tries ont + * pu \xEAtre modifi\xE9es. + * @param _newValue + * La nouvelle valeur de l'attribut pour la g\xE9om\xE9trie indiqu\xE9e. Si + * null toutes les g\xE9om\xE9tries ont pu \xEAtre modifi\xE9es. */ - void gisDataChanged(GISAttributeInterface _src); + public void gisDataChanged(GISAttributeInterface _att, int _indexGeom, Object _newValue); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanArray.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanArray.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanArray.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -128,9 +128,9 @@ return new GISAttributeModelBooleanArray(newList, this); } - protected void fireObjectChanged(){ + protected void fireObjectChanged(int _indexGeom, Object _newValue){ if (listener_ != null) { - listener_.gisDataChanged(attribute_); + listener_.gisDataChanged(attribute_, _indexGeom, _newValue); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanList.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanList.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanList.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -48,9 +48,9 @@ attribute_ = _attr; } - protected void fireObjectChanged() { + protected void fireObjectChanged(int _indexGeom, Object _newValue){ if (listener_ != null) { - listener_.gisDataChanged(attribute_); + listener_.gisDataChanged(attribute_, _indexGeom, _newValue); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleArray.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleArray.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleArray.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -150,9 +150,9 @@ attribute_ = _attr; } - protected void fireObjectChanged(){ + protected void fireObjectChanged(int _indexGeom, Object _newValue){ if (listener_ != null) { - listener_.gisDataChanged(attribute_); + listener_.gisDataChanged(attribute_, _indexGeom, _newValue); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleList.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleList.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleList.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -75,9 +75,9 @@ super(_init); } - protected void fireObjectChanged() { + protected void fireObjectChanged(int _indexGeom, Object _newValue){ if (listener_ != null) { - listener_.gisDataChanged(attribute_); + listener_.gisDataChanged(attribute_, _indexGeom, _newValue); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerArray.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerArray.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerArray.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -117,9 +117,9 @@ return new GISAttributeModelIntegerArray(newList, this); } - protected void fireDataChanged(){ + protected void fireObjectChanged(int _indexGeom, Object _newValue){ if (listener_ != null) { - listener_.gisDataChanged(attribute_); + listener_.gisDataChanged(attribute_, _indexGeom, _newValue); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerList.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerList.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerList.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -119,9 +119,9 @@ protected transient GISAttributeListener listener_; - protected void fireDataChanged() { + protected void fireObjectChanged(int _indexGeom, Object _newValue){ if (listener_ != null) { - listener_.gisDataChanged(attribute_); + listener_.gisDataChanged(attribute_, _indexGeom, _newValue); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectArray.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectArray.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectArray.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -128,9 +128,9 @@ return new GISAttributeModelObjectArray(finalList, this); } - protected void fireObjectChanged(){ + protected void fireObjectChanged(int _indexGeom, Object _newValue){ if (listener_ != null) { - listener_.gisDataChanged(attribute_); + listener_.gisDataChanged(attribute_, _indexGeom, _newValue); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectList.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectList.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectList.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -123,9 +123,9 @@ return new GISAttributeModelObjectList(newList, this); } - protected void fireObjectChanged() { + protected void fireObjectChanged(int _indexGeom, Object _newValue){ if (listener_ != null) { - listener_.gisDataChanged(attribute_); + listener_.gisDataChanged(attribute_, _indexGeom, _newValue); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -10,12 +10,21 @@ import java.util.List; import java.util.TreeSet; -import com.vividsolutions.jts.geom.*; -import com.vividsolutions.jts.util.Assert; - import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.collection.CtuluListObject; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateFilter; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.CoordinateSequenceComparator; +import com.vividsolutions.jts.geom.Dimension; +import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.GeometryComponentFilter; +import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.GeometryFilter; +import com.vividsolutions.jts.util.Assert; + /** * @author Fred Deniger * @version $Id: GISCollection.java,v 1.18 2007-01-10 08:58:47 deniger Exp $ @@ -28,24 +37,24 @@ super(_nb); } - protected void fireObjectAdded() { + protected void fireObjectAdded(int _newIdx, Object _newGeom) { GISCollection.this.geometryChanged(); - GISCollection.this.fireObjectAdded(); + GISCollection.this.fireGeometryAdded(_newIdx, (Geometry) _newGeom); } - protected void fireObjectChanged() { + protected void fireObjectChanged(int _oldIdx, Object _oldGeom) { GISCollection.this.geometryChanged(); - GISCollection.this.fireObjectChanged(); + GISCollection.this.fireGeometryReplaced(_oldIdx, (Geometry) _oldGeom); } - protected void fireObjectRemoved() { + protected void fireObjectRemoved(int _oldIdx, Object _oldGeom) { GISCollection.this.geometryChanged(); - GISCollection.this.fireObjectRemoved(); + GISCollection.this.fireGeometryRemoved(_oldIdx, (Geometry) _oldGeom); } - protected void fireObjectStructureChanged() { + protected void fireObjectStructureChanged(int _idx, Object _geom) { GISCollection.this.geometryChanged(); - GISCollection.this.fireObjectStructureChanged(); + GISCollection.this.fireGeometryStructureChanged(_idx, (Geometry) _geom); } protected List getList() { @@ -80,7 +89,8 @@ protected GISObjectContainer geometry_; - protected transient GISZoneListener listener_; + /** Une instance \xE9coutant les actions effectu\xE9e sur les objets g\xE9om\xE9triques. */ + private transient GeometryListener geometryListener_; public GISCollection() { this(GISGeometryFactory.INSTANCE, 20); @@ -141,10 +151,26 @@ } - protected void fireObjectAdded() {} + protected void fireGeometryAdded(int _newIdx, Geometry _newGeom) { + if (geometryListener_!=null) + geometryListener_.geometryAction(this, _newIdx, _newGeom, GeometryListener.GEOMETRY_ACTION_ADD); + } - protected void fireObjectChanged() {} + protected void fireGeometryRemoved(int _oldIdx, Geometry _oldGeom) { + if (geometryListener_!=null) + geometryListener_.geometryAction(this, _oldIdx, _oldGeom, GeometryListener.GEOMETRY_ACTION_REMOVE); + } + protected void fireGeometryReplaced(int _oldIdx, Geometry _oldGeom) { + if (geometryListener_!=null) + geometryListener_.geometryAction(this, _oldIdx, _oldGeom, GeometryListener.GEOMETRY_ACTION_REPLACE); + } + + protected void fireGeometryStructureChanged(int _idx, Geometry _geom) { + if (geometryListener_!=null) + geometryListener_.geometryAction(this, _idx, _geom, GeometryListener.GEOMETRY_ACTION_STRUCTURE_CHANGE); + } + protected Envelope computeEnvelopeInternal() { final Envelope e = new Envelope(); final int n = getNumGeometries(); @@ -157,10 +183,6 @@ return e; } - protected void fireObjectRemoved() {} - - protected void fireObjectStructureChanged() {} - protected void internActionCleared(final CtuluCommandContainer _c) {} protected void internActionPointAdded(final List _values, final CtuluCommandContainer _c, final int _nbValues) {} @@ -171,8 +193,8 @@ protected void internActionPointRemoved(final int[] _i, final CtuluCommandContainer _c) {} - protected final void setListener(final GISZoneListener _listener) { - listener_ = _listener; + public void setGeometryListener(final GeometryListener _geometryListener) { + geometryListener_=_geometryListener; } public boolean accept(final GISVisitor _v) { @@ -331,8 +353,8 @@ return sum; } - public GISZoneListener getListener() { - return listener_; + public GeometryListener getGeometryListener() { + return geometryListener_; } public int getNumGeometries() { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneAttributeFactory.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneAttributeFactory.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneAttributeFactory.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -153,7 +153,7 @@ * @param _attr les attributs * @return une zone correctement initialis\xE9e */ - public static GISZoneCollectionLigneBrisee createPolyligne(final GISZoneListener _listener, + public static GISZoneCollectionLigneBrisee createPolyligne(final AttributeListener _listener, final GISAttributeInterface[] _attr) { final GISZoneCollectionLigneBrisee zone = new GISZoneCollectionLigneBrisee(_listener); zone.initAttributes(_attr); @@ -166,7 +166,7 @@ * @param _attr les attributs * @return une zone correctement initialis\xE9e */ - public static GISZoneCollectionPoint createPoint(final GISZoneListener _listener, final GISAttributeInterface[] _attr) { + public static GISZoneCollectionPoint createPoint(final AttributeListener _listener, final GISAttributeInterface[] _attr) { final GISZoneCollectionPoint zone = new GISZoneCollectionPoint(_listener); zone.initAttributes(_attr); return zone; @@ -178,7 +178,7 @@ * @param _attr les attributs * @return une zone correctement initialis\xE9e */ - public static GISZoneCollectionLigneBrisee createLigneBrisee(final GISZoneListener _listener, + public static GISZoneCollectionLigneBrisee createLigneBrisee(final AttributeListener _listener, final GISAttributeInterface[] _attr) { final GISZoneCollectionLigneBrisee zone = new GISZoneCollectionLigneBrisee(_listener); zone.initAttributes(_attr); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -31,7 +31,7 @@ * @author Fred Deniger * @version $Id: GISZoneCollection.java,v 1.16.6.4 2008-03-26 16:46:43 bmarchan Exp $ */ -public abstract class GISZoneCollection extends GISCollectionData implements GISAttributeListener, GISDataModel { +public abstract class GISZoneCollection extends GISCollection implements GISAttributeListener, GISDataModel { private String title_; @@ -50,6 +50,8 @@ protected boolean badIdxAttZ_=true; /** La liste d'attribut a chang\xE9 : L'acc\xE8s direct \xE0 l'indice de mod\xE8le depuis un type doit \xEAtre remis \xE0 jour. */ protected boolean attListHasChanged_=true; + /** Une instance \xE9coutant les actions effectu\xE9e sur les attributs des g\xE9om\xE9tries. */ + private AttributeListener attributeListener_; protected boolean isGeomModifiable_ = true; @@ -76,39 +78,45 @@ super(_nbObject); } + /** + * R\xE9serv\xE9 au modelDonn\xE9es pour \xE9couter sa GISZone + * + * Pour des raisons de compatibilit\xE9s, le listener est ajout\xE9 comme attribute + * listener ET geometry listener. + * + * @param _attributeListener + */ + public void setAttributeListener(AttributeListener _attributeListener){ + attributeListener_=_attributeListener; + setGeometryListener(_attributeListener); + } + + public AttributeListener getAttributeListener(){ + return attributeListener_; + } + public long getId() { return -1; } - protected void fireAttributesChanged(final GISAttributeInterface _att) { - if (listener_ != null) { - listener_.attributeChanged(this, _att); - } + protected void fireAttributeAdded(int _newIdx, GISAttributeInterface _newAtt){ + if(attributeListener_!=null) + attributeListener_.attributeAction(this, _newIdx, _newAtt, AttributeListener.ATTRIBUTE_ACTION_ADD); } - - protected final void fireObjectAdded() { - if (listener_ != null) { - listener_.geometryChanged(this, getDataStoreClass(), GISZoneListener.INSERT); - } + + protected void fireAttributeRemoved(int _oldIdx, GISAttributeInterface _oldAtt){ + if(attributeListener_!=null) + attributeListener_.attributeAction(this, _oldIdx, _oldAtt, AttributeListener.ATTRIBUTE_ACTION_REMOVE); } - - protected final void fireObjectChanged() { - if (listener_ != null) { - listener_.geometryChanged(this, getDataStoreClass(), GISZoneListener.UPDATE); + + protected void fireAttributeValueChanged(int _idxAtt, GISAttributeInterface _att, int _idxGeom, Object _newValue){ + if (attributeListener_ != null) { + attributeListener_.attributeValueChangeAction(this, _idxAtt, _att, _idxGeom, _newValue); } } - - protected final void fireObjectRemoved() { - if (listener_ != null) { - listener_.geometryChanged(this, getDataStoreClass(), GISZoneListener.DELETE); - } - + + public void gisDataChanged(GISAttributeInterface _att, int _indexGeom, Object _newValue){ + fireAttributeValueChanged(getIndiceOf(_att), _att, _indexGeom, _newValue); } - - protected final void fireObjectStructureChanged() { - if (listener_ != null) { - listener_.geometryChanged(this, getDataStoreClass(), GISZoneListener.ALL); - } - } - + protected void fireTitleChanged() { } @@ -167,7 +175,7 @@ attListHasChanged_=true; final GISAttributeModelListener[] old = attr_; attr_ = _att; - fireAttributesChanged(null); + fireAttributeValueChanged(-1, null, -1, null); if (_cmd != null) { _cmd.addCmd(new CtuluCommand() { @@ -177,7 +185,6 @@ public void undo() { initAttributes(old, null); - } }); @@ -187,6 +194,10 @@ } + /** + * @param _i l'indice des valeur + * @return true si cree + */ protected boolean isDataCreated(final int _i) { return attr_ != null && attr_.length > _i && attr_[_i] != null; } @@ -409,17 +420,12 @@ getModel(_idxAtt).setObject(_idxGeom, _data, _cmd); } - public void gisDataChanged(final GISAttributeInterface _src) { - if (listener_ != null) { - listener_.dataChanged(_src, this); - } - } - /** * Mise a jour des listeners et du listener principal. A utiliser lors de la restauration uniquement. */ - public void initListeners(final GISZoneListener _listener) { - super.setListener(_listener); + public void initListeners(final AttributeListener _listener) { + setGeometryListener(_listener); + setAttributeListener(_listener); updateListeners(); } @@ -606,18 +612,18 @@ } } attr_ = newAtt; - fireAttributesChanged(null); + fireAttributeValueChanged(-1, null, -1, null); if (_cmd != null) { _cmd.addCmd(new CtuluCommand() { public void redo() { attr_ = newAtt; - fireAttributesChanged(null); + fireAttributeValueChanged(-1, null, -1, null); } public void undo() { attr_ = old; - fireAttributesChanged(null); + fireAttributeValueChanged(-1, null, -1, null); } }); @@ -661,4 +667,125 @@ */ public abstract void updateListeners(); + protected void internActionCleared(final CtuluCommandContainer _c) { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + getData(i).removeAll(_c); + } + + } + + /** + * Cette action est appele apres que le point ait \xE9t\xE9 ajout\xE9. + */ + protected void internActionPointAdded(final List _l, final CtuluCommandContainer _c, final int _nbValues) { + if (_l == null) { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + // si la valeur est cree, on ajoute automatiquement une valeur + if (isDataCreated(i)) { + final CtuluCollection model = getData(i); + final Object defau = getDefaultValuesObject(i); + if (_nbValues == 1) { + model.addObject(defau, _c); + } else { + final Object[] newObject = new Object[_nbValues]; + Arrays.fill(newObject, defau); + model.addAllObject(newObject, _c); + } + } + } + } else { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + Object o = _l.get(i); + // si o est null et les donn\xE9es ne sont pas creees on fait rien + if ((o != null) || isDataCreated(i)) { + if (isDataCreated(i)) { + if (o == null) { + if (_nbValues == 1) { + o = getDefaultValuesObject(i); + } else { + o = new Object[_nbValues]; + Arrays.fill((Object[]) o, getDefaultValuesObject(i)); + } + } + // la liste de donn\xE9es est deja cree, on ajoute + if (_nbValues > 1) { + getData(i).addAllObject(o, _c); + } else { + getData(i).addObject(o, _c); + } + + } else { + // la liste est cree automatiquement + // elle fait deja la taille du nombre de point + if (_nbValues > 1) { + final int[] idx = new int[_nbValues]; + final int max = getNumGeometries() - 1; + + for (int k = _nbValues - 1; k >= 0; k--) { + idx[k] = max - k; + } + if (o == null) { + getData(i).setObject(idx, getDefaultValuesObject(i), _c); + } else { + getData(i).setAllObject(idx, (Object[]) o, _c); + } + } else { + if (o == null) { + o = getDefaultValuesObject(i); + } + getData(i).setObject(getNumGeometries() - 1, o, _c); + } + } + } + } + } + + } + + protected void internActionPointInserted(final int _i, final List _l, final CtuluCommandContainer _c) { + if (_l == null) { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + if (isDataCreated(i)) { + getData(i).insertObject(_i, null, _c); + } + } + } else { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + Object o = _l.get(i); + if ((o != null) || isDataCreated(i)) { + if (isDataCreated(i)) { + if (o == null) { + o = getDefaultValuesObject(i); + } + // la liste de donn\xE9es est deja cree, on ajoute + getData(i).insertObject(_i, o, _c); + } else { + if (o == null) { + o = getDefaultValuesObject(i); + } + // la liste est cree automatiquement + // elle fait deja la taille du nombre de point + getData(i).setObject(_i, o, _c); + } + } + } + } + + } + + protected void internActionPointRemoved(final int _i, final CtuluCommandContainer _c) { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + if (isDataCreated(i)) { + getData(i).remove(_i, _c); + } + } + } + + protected void internActionPointRemoved(final int[] _i, final CtuluCommandContainer _c) { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + if (isDataCreated(i)) { + getData(i).remove(_i, _c); + } + } + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java 2008-10-28 12:17:05 UTC (rev 4102) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java 2008-10-28 15:55:12 UTC (rev 4103) @@ -11,10 +11,6 @@ import java.util.Arrays; -import com.vividsolutions.jts.geom.Coordinate; -import com.vividsolutions.jts.geom.CoordinateSequence; -import com.vividsolutions.jts.geom.Geometry; - import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluLib; @@ -24,6 +20,10 @@ import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.collection.CtuluCollectionDouble; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.Geometry; + /** * Une collection pour les g\xE9om\xE9tries quelconques. * @@ -39,14 +39,14 @@ /** * @param _listener le listener */ - public GISZoneCollectionGeometry(final GISZoneListener _listener) { + public GISZoneCollectionGeometry(final AttributeListener _listener) { this(10, _listener); } /** * @param _listener le listener */ - public GISZoneCollectionGeometry(final GISZoneListener _listener, final GISZoneCollectionGeometry _col) { + public GISZoneCollectionGeometry(final AttributeListener _listener, final GISZoneCollectionGeometry _col) { this(10, _listener); if (_col != null) { for (int i = 0; i < _col.getNumGe... [truncated message content] |