From: <bma...@us...> - 2008-09-17 13:35:31
|
Revision: 3944 http://fudaa.svn.sourceforge.net/fudaa/?rev=3944&view=rev Author: bmarchan Date: 2008-09-17 13:35:40 +0000 (Wed, 17 Sep 2008) Log Message: ----------- Autorisation de supprimer une ligne bris?\195?\169e si tous les sommets sont s?\195?\169lectionn?\195?\169s. Modified Paths: -------------- 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/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 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-09-17 13:27:06 UTC (rev 3943) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java 2008-09-17 13:35:40 UTC (rev 3944) @@ -212,6 +212,14 @@ return false; } + /** + * Supprime des sommets sur une g\xE9om\xE9trie. + * @param _idxGeom L'indice de la g\xE9om\xE9trie. + * @param _sel La liste des sommets s\xE9lectionn\xE9s. + * @param _ui L'interface utilisateur. + * @param _cmd Le manager de commandes. + * @return true si tout s'est bien pass\xE9. + */ public boolean removeAtomics(final int _idxGeom, final CtuluListSelectionInterface _sel, final CtuluUI _ui, final CtuluCommandContainer _cmd) { if (_sel == null || _sel.isEmpty()) { @@ -220,6 +228,14 @@ boolean r = true; final Geometry old = (Geometry) getGeometry(_idxGeom); int nbPt = old.getNumPoints(); + + // Raccourci si tous les sommets sont s\xE9lectionn\xE9s. + int nbSel=_sel.getNbSelectedIndex(); + if (nbSel==nbPt) { + removeGeometries(new int[]{_idxGeom}, _cmd); + return true; + } + // les nouvelles coordonnees. final Coordinate[] newCs = new Coordinate[nbPt]; // cette liste contient les indice a enlever : creee que si necessaire Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java 2008-09-17 13:27:06 UTC (rev 3943) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java 2008-09-17 13:35:40 UTC (rev 3944) @@ -330,7 +330,15 @@ return ((CtuluCollectionDouble) getModel(_idxAtt)).getValue(_idxGeom); } - public boolean removeAtomicValue(final int _idxGeom, final CtuluListSelectionInterface _sel, final CtuluUI _ui, + /** + * Supprime des sommets sur une g\xE9om\xE9trie. + * @param _idxGeom L'indice de la g\xE9om\xE9trie. + * @param _sel La liste des sommets s\xE9lectionn\xE9s. + * @param _ui L'interface utilisateur. + * @param _cmd Le manager de commandes. + * @return true si tout s'est bien pass\xE9. + */ + public boolean removeAtomics(final int _idxGeom, final CtuluListSelectionInterface _sel, final CtuluUI _ui, final CtuluCommandContainer _cmd) { if (_sel == null || _sel.isEmpty()) { return false; @@ -338,6 +346,14 @@ boolean r = true; final LineString line = (LineString) getGeometry(_idxGeom); int nbPt = line.getCoordinateSequence().size(); + + // Raccourci si tous les sommets sont s\xE9lectionn\xE9s. + int nbSel=_sel.getNbSelectedIndex(); + if (nbSel==nbPt) { + removeGeometries(new int[]{_idxGeom}, _cmd); + return true; + } + // les nouvelles coordonnees. final Coordinate[] newCs = new Coordinate[nbPt]; // cette liste contient les indice a enlever : creee que si necessaire Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-09-17 13:27:06 UTC (rev 3943) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-09-17 13:35:40 UTC (rev 3944) @@ -114,7 +114,7 @@ final int idxLigne = iterator.key(); //les points a enlever final CtuluListSelectionInterface sel = (CtuluListSelectionInterface) iterator.value(); - geometries_.removeAtomicValue(idxLigne, sel, _ui, cmp); + geometries_.removeAtomics(idxLigne, sel, _ui, cmp); } if (_cmd != null) { _cmd.addCmd(cmp.getSimplify()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |