From: <bma...@us...> - 2008-10-24 16:18:15
|
Revision: 4095 http://fudaa.svn.sourceforge.net/fudaa/?rev=4095&view=rev Author: bmarchan Date: 2008-10-24 16:18:06 +0000 (Fri, 24 Oct 2008) Log Message: ----------- Chgts mineurs pour visualisation correcte dans Panneau propri?\195?\169t?\195?\169s Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluValueEditorChoice.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.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/edition/ZModeleGeometryDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluValueEditorChoice.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluValueEditorChoice.java 2008-10-24 16:15:52 UTC (rev 4094) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluValueEditorChoice.java 2008-10-24 16:18:06 UTC (rev 4095) @@ -42,7 +42,7 @@ private String[] reelChoices_; private boolean useInteger_; - private final String undefineValue_="< " + CtuluLib.getS("Ind\xE9fini") + " >"; + private final String undefineValue_="<" + CtuluLib.getS("Mixte") + ">"; /** * Dans le cas o\xF9 dChoices est null, reelChoices sera \xE9galement affich\xE9. Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-10-24 16:15:52 UTC (rev 4094) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-10-24 16:18:06 UTC (rev 4095) @@ -75,7 +75,7 @@ nbGeomSelected+=calques[i].getLayerSelection().getNbSelectedIndex(); } if(nbGeomSelected>0) - tableModel_.put(EbliLib.getS("nombre total de s\xE9lections"), Integer.toString(nbGeomSelected)+"/"+Integer.toString(nbGeom)); + tableModel_.put(EbliLib.getS("Nombre total de s\xE9lections"), Integer.toString(nbGeomSelected)+"/"+Integer.toString(nbGeom)); // Informations relatives aux calques switch (calqueWithGeometriesSelected_.size()) { case 0: Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java 2008-10-24 16:15:52 UTC (rev 4094) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java 2008-10-24 16:18:06 UTC (rev 4095) @@ -1,7 +1,7 @@ /** * @file ZModeleDonnees.java * @creation 2002-10-8 - * @modification $Date: 2008-01-24 10:18:59 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -15,7 +15,7 @@ * Une interface de base pour tous les modeles. Tous les modeles doivent founir le domaine de leurs * donnees et les contours. * - * @version $Id: ZModeleDonnees.java,v 1.14.8.1 2008-01-24 10:18:59 bmarchan Exp $ + * @version $Id$ * @author Fred Deniger */ public interface ZModeleDonnees { @@ -23,8 +23,8 @@ BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer); /** - * Renseigne les informations sur les objets du mod\xE8le associ\xE9 au calque sp\xE9cifi\xE9. Elles seront affich\xE9es dans le panneau - * d'information. + * Renseigne les propri\xE9t\xE9s sur les objets du mod\xE8le associ\xE9 au calque sp\xE9cifi\xE9. Elles seront affich\xE9es dans le panneau + * des propri\xE9t\xE9s. * * @param _d Le tableau a renseigner, sous la forme cl\xE9-valeur. * @param _layer Le calque associ\xE9 au mod\xE8le. Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: 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/ZModeleGeometryDefault.java 2008-10-24 16:15:52 UTC (rev 4094) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2008-10-24 16:18:06 UTC (rev 4095) @@ -168,14 +168,14 @@ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if(value==null) - value="< "+EbliLib.getS("Ind\xE9fini")+" >"; + value="<"+EbliLib.getS("Mixte")+">"; return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } }; _d.put(attr.getLongName(), value, attr.getEditor(), renderer, this, geometriesSelected); } else - _d.put(attr.getLongName(), value==null?"< "+EbliLib.getS("Ind\xE9fini")+" >":value.toString()); + _d.put(attr.getLongName(), value==null?"<"+EbliLib.getS("Mixte")+">":value.toString()); } } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-10-24 16:15:52 UTC (rev 4094) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-10-24 16:18:06 UTC (rev 4095) @@ -331,7 +331,7 @@ _d.put(CtuluLib.getS("Ferm\xE9"), value, new CtuluValueEditorChoice(new String[]{CtuluLib.getS("vrai"), CtuluLib.getS("faux")}, null), null, this, selectedIdx); else - _d.put(CtuluLib.getS("Ferm\xE9"), value!=null ? value.toString():"< "+CtuluLib.getS("Ind\xE9fini")+" >"); + _d.put(CtuluLib.getS("Ferm\xE9"), value!=null ? value.toString():"<"+CtuluLib.getS("Mixte")+">"); // Calcul de la longueur et de l'aire for (int i=0; i<selectedIdx.length; i++) { final LineString s=(LineString)getGeomData().getGeometry(selectedIdx[i]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-10-26 21:52:40
|
Revision: 4099 http://fudaa.svn.sourceforge.net/fudaa/?rev=4099&view=rev Author: bmarchan Date: 2008-10-26 21:50:16 +0000 (Sun, 26 Oct 2008) Log Message: ----------- Correctif pour un undo/redo fonctionnel. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.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/MdlVisuPanel.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/tr/data/TrGisProjectEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.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/MdlVisuPanel.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/tr/data/TrGisProjectEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-10-26 20:18:54 UTC (rev 4098) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-10-26 21:50:16 UTC (rev 4099) @@ -176,10 +176,11 @@ /** * @param _panel le panneau des calques */ - public ZEditorDefault(final ZEbliCalquesPanel _panel, final ZSceneEditor _editor) { + protected ZEditorDefault(final ZEbliCalquesPanel _panel, final ZSceneEditor _editor) { super(); panel_ = _panel; sceneEditor_=_editor; + setMng(new CtuluCommandManager()); // panel_.addKeyListener(this); buildDeletesAction(); EbliLib.updateMapKeyStroke(_panel, getDeleteActions()); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java 2008-10-26 20:18:54 UTC (rev 4098) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java 2008-10-26 21:50:16 UTC (rev 4099) @@ -1,7 +1,7 @@ /* * @file MvVisuPanel.java * @creation 6 f\xE9vr. 2004 - * @modification $Date: 2008-01-17 11:42:49 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -59,7 +59,7 @@ * element, etc.) et des services associ\xE9s. * * @author deniger - * @version $Id: MvVisuPanel.java,v 1.5.6.1 2008-01-17 11:42:49 bmarchan Exp $ + * @version $Id$ */ public class MvVisuPanel extends FSigVisuPanel implements MvIsoPaintersSource { @@ -201,7 +201,8 @@ } protected FSigEditor createGisEditor() { - return new FSigEditor(this, getCmdMng()) { + FSigEditor editor= + new FSigEditor(this) { public GISPolygone[] getEnglobPolygone() { final EfFrontierInterface frontiers = MvVisuPanel.this.getGridGroup().getGrid().getFrontiers(); @@ -211,6 +212,8 @@ return frontiers.getExternRing(MvVisuPanel.this.getGridGroup().getGrid()); } }; + mng_=editor.getMng(); + return editor; } /** Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id 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-10-26 20:18:54 UTC (rev 4098) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-10-26 21:50:16 UTC (rev 4099) @@ -1,6 +1,6 @@ /* * @creation 28 janv. 08 - * @modification $Date: 2008/05/13 12:10:06 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -45,7 +45,7 @@ /** * Un manager pour l'\xE9dition des calques SIG. * @author Bertrand Marchand - * @version $Id: MdlEditionManager.java,v 1.1.2.8 2008/05/13 12:10:06 bmarchan Exp $ + * @version $Id$ */ public class MdlEditionManager extends FSigEditor { @@ -54,8 +54,8 @@ * @param _panel * @param _cmd */ - public MdlEditionManager(MdlVisuPanel _panel, CtuluCommandManager _cmd) { - super(_panel, new MdlSceneEditor(_panel,_panel.getScene()), _cmd); + public MdlEditionManager(MdlVisuPanel _panel) { + super(_panel, new MdlSceneEditor(_panel,_panel.getScene())); } /** Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id 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-10-26 20:18:54 UTC (rev 4098) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-10-26 21:50:16 UTC (rev 4099) @@ -1,6 +1,6 @@ /* * @creation 7 juin 07 - * @modification $Date: 2008/05/13 12:10:21 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -41,7 +41,7 @@ * Le panneau de visu 2D des donn\xE9es du modeleur au travers des calques. Contient le composant vue * des calques + le composant d'affichage des coordonn\xE9es + le composant d'affichage du mode de selection * @author fred deniger - * @version $Id: MdlVisuPanel.java,v 1.1.2.6 2008/05/13 12:10:21 bmarchan Exp $ + * @version $Id$ */ public class MdlVisuPanel extends FSigVisuPanel { @@ -64,7 +64,9 @@ } protected FSigEditor createGisEditor() { - return new MdlEditionManager(this, getCmdMng()); + FSigEditor editor=new MdlEditionManager(this); + mng_=editor.getMng(); + return editor; } public FSigLayerGroup getGroupGIS() { Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: 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/FSigEditor.java 2008-10-26 20:18:54 UTC (rev 4098) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigEditor.java 2008-10-26 21:50:16 UTC (rev 4099) @@ -68,17 +68,17 @@ /** * @param _panel */ - public FSigEditor(final ZEbliCalquesPanel _panel, final ZSceneEditor _editor, final CtuluCommandManager _cmd) { + public FSigEditor(final ZEbliCalquesPanel _panel, final ZSceneEditor _editor) { super(_panel,_editor); - setMng(_cmd); +// setMng(_cmd); } /** * @param _panel */ - public FSigEditor(final ZEbliCalquesPanel _panel, final CtuluCommandManager _cmd) { + public FSigEditor(final ZEbliCalquesPanel _panel) { super(_panel); - setMng(_cmd); +// setMng(_cmd); } public void dataChanged(final GISAttributeInterface _attribute, final GISCollectionData _data) { Modified: 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/layer/FSigVisuPanel.java 2008-10-26 20:18:54 UTC (rev 4098) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java 2008-10-26 21:50:16 UTC (rev 4099) @@ -1,6 +1,6 @@ /** * @creation 6 f\xE9vr. 2004 - * @modification $Date: 2008-05-13 12:11:01 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -43,11 +43,11 @@ * les calques SIG et des services associ\xE9s. * * @author Fred Deniger - * @version $Id: FSigVisuPanel.java,v 1.2.4.3 2008-05-13 12:11:01 bmarchan Exp $ + * @version $Id$ */ public abstract class FSigVisuPanel extends ZEbliCalquesPanel implements CtuluUndoRedoInterface { - private final CtuluCommandManager mng_; + protected CtuluCommandManager mng_; FSigAttibuteTypeManager attMng_; @@ -67,7 +67,7 @@ public FSigVisuPanel(final BGroupeCalque _gcMain, final FudaaCommonImplementation _impl) { super(_gcMain, new FSigVisuPanelController(_impl)); impl_ = _impl; - mng_ = new CtuluCommandManager(); +// mng_ = new CtuluCommandManager(); setModeVisible(true); setEbliFormatter(new EbliFormatter()); gisEditor_.setUi(getImpl()); @@ -111,7 +111,9 @@ } protected ZEditorDefault createGisEditor() { - return new FSigEditor(this, getCmdMng()); + ZEditorDefault editor=new FSigEditor(this); + mng_=editor.getMng(); + return editor; } protected BuMenu[] createSpecificMenus(final String _title) { Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: 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/TrGisProjectEditor.java 2008-10-26 20:18:54 UTC (rev 4098) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrGisProjectEditor.java 2008-10-26 21:50:16 UTC (rev 4099) @@ -1,6 +1,6 @@ /* * @creation 6 avr. 2005 - * @modification $Date: 2008-05-13 12:10:38 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -54,7 +54,7 @@ /** * @author Fred Deniger - * @version $Id: TrGisProjectEditor.java,v 1.19.6.2 2008-05-13 12:10:38 bmarchan Exp $ + * @version $Id$ */ public class TrGisProjectEditor extends FSigEditor { @@ -62,7 +62,7 @@ * @param _panel */ public TrGisProjectEditor(final TrVisuPanelEditor _panel) { - super(_panel,_panel.getCmdMng()); + super(_panel); } protected final TrVisuPanelEditor getTrPanel() { Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrGisProjectEditor.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java 2008-10-26 20:18:54 UTC (rev 4098) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java 2008-10-26 21:50:16 UTC (rev 4099) @@ -1,6 +1,6 @@ /* * @creation 6 avr. 2005 - * @modification $Date: 2007-06-14 12:01:41 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -69,7 +69,7 @@ /** * @author Fred Deniger - * @version $Id: TrVisuPanelEditor.java,v 1.34 2007-06-14 12:01:41 deniger Exp $ + * @version $Id$ */ public abstract class TrVisuPanelEditor extends TrVisuPanel { @@ -164,7 +164,7 @@ /** * @author Fred Deniger - * @version $Id: TrVisuPanelEditor.java,v 1.34 2007-06-14 12:01:41 deniger Exp $ + * @version $Id$ */ public abstract class EditPropertiesFromGeom extends EditPropertiesAbstract { @@ -181,7 +181,7 @@ /** * @author Fred Deniger - * @version $Id: TrVisuPanelEditor.java,v 1.34 2007-06-14 12:01:41 deniger Exp $ + * @version $Id$ */ public class SiEditGeomAction extends EditPropertiesFromGeom { @@ -197,7 +197,7 @@ /** * @author Fred Deniger - * @version $Id: TrVisuPanelEditor.java,v 1.34 2007-06-14 12:01:41 deniger Exp $ + * @version $Id$ */ public class NodalEditGeomAction extends EditPropertiesFromGeom { @@ -212,7 +212,7 @@ /** * @author Fred Deniger - * @version $Id: TrVisuPanelEditor.java,v 1.34 2007-06-14 12:01:41 deniger Exp $ + * @version $Id$ */ public class NodalEditAction extends EditProperties { @@ -232,7 +232,7 @@ /** * @author Fred Deniger - * @version $Id: TrVisuPanelEditor.java,v 1.34 2007-06-14 12:01:41 deniger Exp $ + * @version $Id$ */ public class SiEditAction extends EditProperties { @@ -253,7 +253,7 @@ /** * @author Fred Deniger - * @version $Id: TrVisuPanelEditor.java,v 1.34 2007-06-14 12:01:41 deniger Exp $ + * @version $Id$ */ public class ElementEditAction extends EditProperties { @@ -273,7 +273,7 @@ /** * @author Fred Deniger - * @version $Id: TrVisuPanelEditor.java,v 1.34 2007-06-14 12:01:41 deniger Exp $ + * @version $Id$ */ public class ElementEditGeomAction extends EditPropertiesFromGeom { @@ -422,7 +422,9 @@ } public FSigEditor createGisEditor() { - return new TrGisProjectEditor(this); + FSigEditor editor=new TrGisProjectEditor(this); + mng_=editor.getMng(); + return editor; } /** Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanelEditor.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-10-28 16:49:00
|
Revision: 4104 http://fudaa.svn.sourceforge.net/fudaa/?rev=4104&view=rev Author: emmanuel_martin Date: 2008-10-28 16:48:50 +0000 (Tue, 28 Oct 2008) Log Message: ----------- La palette de propri?\195?\169t?\195?\169s reste ?\195?\160 jour lors de modifications effectu?\195?\169es via d'autres interfaces. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCellEditorProxy.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCellEditorProxy.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCellEditorProxy.java 2008-10-28 15:55:12 UTC (rev 4103) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCellEditorProxy.java 2008-10-28 16:48:50 UTC (rev 4104) @@ -136,21 +136,17 @@ } /** - * Permet d'ajouter ou de remplacer un des \xE9diteurs utilis\xE9. Le remplacement - * ne peut se faire que si l'ancien \xE9diteur n'est pas en cours d'utilisation. - * - * @param _indexRow : l'index de la ligne \xE0 ajouter ou remplacer - * @param _editor : le nouvel \xE9diteur - * @return vrai si l'ajout/ remplacement a \xE9t\xE9 effectu\xE9, faux sinon - */ - public boolean putEditor(Integer _indexRow, TableCellEditor _editor){ - if(!editable_||_indexRow!=currentIndex_){ - mapEditors_.put(_indexRow, _editor); - return true; - } - else - return false; - } + * Permet d'ajouter ou de remplacer un des \xE9diteurs utilis\xE9. + * + * @param _indexRow : l'index de la ligne \xE0 ajouter ou remplacer + * @param _editor : le nouvel \xE9diteur + */ + public void putEditor(Integer _indexRow, TableCellEditor _editor){ + if(editable_&&_indexRow==currentIndex_){ + cancelCellEditing(); + } + mapEditors_.put(_indexRow, _editor); + } /** * Supprime tout les editeurs. Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-10-28 15:55:12 UTC (rev 4103) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-10-28 16:48:50 UTC (rev 4104) @@ -13,14 +13,18 @@ import javax.swing.event.TreeSelectionListener; import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.gis.AttributeListener; +import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.palette.BPaletteInfo; + +import com.vividsolutions.jts.geom.Geometry; /** * Un panel affichant les infos envoyes par TrPanelInfoSender. * @author deniger * @version $Id: BCalquePaletteInfo.java,v 1.7 2007-05-04 13:49:43 deniger Exp $ */ -public class BCalquePaletteInfo extends BPaletteInfo implements TreeSelectionListener, ZSelectionListener { +public class BCalquePaletteInfo extends BPaletteInfo implements TreeSelectionListener, ZSelectionListener, AttributeListener { private ArrayList<ZCalqueAffichageDonneesInterface> calqueWithGeometriesSelected_; private BArbreCalqueModel treeModel_; @@ -96,12 +100,22 @@ if (isAvailable()) { if (_evt.getSource().getLayerSelection()!=null&&_evt.getSource().getLayerSelection().getNbSelectedIndex()>0 ||_evt.getSource().getLayerSelectionMulti()!=null&&_evt.getSource().getLayerSelectionMulti().getNbSelectedItem()>0) { - if (!calqueWithGeometriesSelected_.contains(_evt.getSource())) + if (!calqueWithGeometriesSelected_.contains(_evt.getSource())){ calqueWithGeometriesSelected_.add(_evt.getSource()); + ZModeleDonnees model=_evt.getSource().modeleDonnees(); + if(model instanceof ZModeleGeometry) + ((ZModeleGeometry)model).addAttributeListener(this); + model.addGeometryListener(this); + } } else { - if (calqueWithGeometriesSelected_.contains(_evt.getSource())) + if (calqueWithGeometriesSelected_.contains(_evt.getSource())){ calqueWithGeometriesSelected_.remove(_evt.getSource()); + ZModeleDonnees model=_evt.getSource().modeleDonnees(); + if(model instanceof ZModeleGeometry) + ((ZModeleGeometry)model).removeAttributeListener(this); + model.removeGeometryListener(this); + } } updateTableModel(); } @@ -110,12 +124,24 @@ public void updateState() { if (isAvailable()) { + // Supression des \xE9coutes sur les calques et des calques + for(int i=0;i<calqueWithGeometriesSelected_.size();i++){ + ZModeleDonnees model=calqueWithGeometriesSelected_.get(i).modeleDonnees(); + if(model instanceof ZModeleGeometry) + ((ZModeleGeometry)model).removeAttributeListener(this); + model.removeGeometryListener(this); + } calqueWithGeometriesSelected_.clear(); - // R\xE9cup\xE9ration des calques ayant une selection + // R\xE9cup\xE9ration des calques ayant une selection et ajout des \xE9coutes ZCalqueAffichageDonneesInterface[] calques=getCalques(); for (int i=0; i<calques.length; i++) - if (calques[i].getLayerSelection()!=null&&calques[i].getLayerSelection().getNbSelectedIndex()>0) + if (calques[i].getLayerSelection()!=null&&calques[i].getLayerSelection().getNbSelectedIndex()>0){ calqueWithGeometriesSelected_.add(calques[i]); + ZModeleDonnees model=calques[i].modeleDonnees(); + if(model instanceof ZModeleGeometry) + ((ZModeleGeometry)model).addAttributeListener(this); + model.addGeometryListener(this); + } // Mise \xE0 jour du tableau des informations updateTableModel(); } @@ -127,4 +153,28 @@ if (isAvailable()&&calqueWithGeometriesSelected_.size()==0) updateTableModel(); } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.gis.AttributeListener#attributeAction(java.lang.Object, int, org.fudaa.ctulu.gis.GISAttributeInterface, int) + */ + public void attributeAction(Object _source, int att, GISAttributeInterface _att, int _action) { + if (isAvailable()) + updateTableModel(); + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.gis.AttributeListener#attributeValueChangeAction(java.lang.Object, int, org.fudaa.ctulu.gis.GISAttributeInterface, int, java.lang.Object) + */ + public void attributeValueChangeAction(Object _source, int att, GISAttributeInterface _att, int geom, Object value) { + if (isAvailable()) + updateTableModel(); + } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.gis.GeometryListener#geometryAction(java.lang.Object, int, com.vividsolutions.jts.geom.Geometry, int) + */ + public void geometryAction(Object _source, int geom, Geometry _geom, int _action) { + if (isAvailable()) + updateTableModel(); + } } \ 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: <emm...@us...> - 2008-10-30 09:59:26
|
Revision: 4111 http://fudaa.svn.sourceforge.net/fudaa/?rev=4111&view=rev Author: emmanuel_martin Date: 2008-10-30 09:59:16 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Modification d'un nom de classe ambigu. GISAttributeModelListener -> GISAttributeModelObservable Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttribute.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeBoolean.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeDouble.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInterface.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/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/GISZoneCollectionPoint.java branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarDonneesBrutes.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObservable.java Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelListener.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttribute.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttribute.java 2008-10-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttribute.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -126,7 +126,7 @@ } - public GISAttributeModelListener createAtomicModel(final Object[] _initValues, final int _nbValues) { + public GISAttributeModelObservable createAtomicModel(final Object[] _initValues, final int _nbValues) { if (_initValues != null) { if (_initValues.length != _nbValues) { throw new IllegalArgumentException("bad size value=" + _nbValues + " used=" + _initValues.length); @@ -146,7 +146,7 @@ return res; } - public GISAttributeModelListener createListModel(final int _initCap) { + public GISAttributeModelObservable createListModel(final int _initCap) { return new GISAttributeModelObjectList(_initCap, this); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeBoolean.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeBoolean.java 2008-10-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeBoolean.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -22,7 +22,7 @@ super(CtuluValueEditorDefaults.STRING_EDITOR); } - public GISAttributeModelListener createAtomicModel(final Object[] _initValues, final int _nbValues) { + public GISAttributeModelObservable createAtomicModel(final Object[] _initValues, final int _nbValues) { if (_initValues != null) { if (_initValues.length != _nbValues) { throw new IllegalArgumentException("bad size value=" + _nbValues + " used=" @@ -34,7 +34,7 @@ return new GISAttributeModelBooleanArray(_nbValues, this); } - public GISAttributeModelListener createAtomicModel(final int _nbValues) { + public GISAttributeModelObservable createAtomicModel(final int _nbValues) { return createAtomicModelBoolean(_nbValues); } @@ -42,7 +42,7 @@ return new GISAttributeModelBooleanArray(_nbValues, this); } - public GISAttributeModelListener createListModel(final int _nbCap) { + public GISAttributeModelObservable createListModel(final int _nbCap) { return createListModelBoolean(_nbCap); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeDouble.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeDouble.java 2008-10-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeDouble.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -41,11 +41,11 @@ def_ = _defValue; } - public GISAttributeModelListener createAtomicModel(final int _nbValues) { + public GISAttributeModelObservable createAtomicModel(final int _nbValues) { return createAtomicModelDouble(_nbValues); } - public GISAttributeModelListener createAtomicModel(final Object[] _initValues, final int _nbValues) { + public GISAttributeModelObservable createAtomicModel(final Object[] _initValues, final int _nbValues) { if (_initValues != null) { if (_initValues.length != _nbValues) { throw new IllegalArgumentException("bad size value=" + _nbValues + " used=" + _initValues.length); @@ -60,11 +60,11 @@ return new GISAttributeModelDoubleArray(_nbValues, this); } - public GISAttributeModelListener createListModel(final int _defaultCap) { + public GISAttributeModelObservable createListModel(final int _defaultCap) { return createListModelDouble(_defaultCap); } - public GISAttributeModelListener createListModelDouble(final int _defaultCap) { + public GISAttributeModelObservable createListModelDouble(final int _defaultCap) { return new GISAttributeModelDoubleList(_defaultCap, this); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java 2008-10-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInteger.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -19,7 +19,7 @@ super(new CtuluValueEditorInteger()); } - public GISAttributeModelListener createAtomicModel(final Object[] _initValues, final int _nbValues) { + public GISAttributeModelObservable createAtomicModel(final Object[] _initValues, final int _nbValues) { if (_initValues != null) { if (_initValues.length != _nbValues) { throw new IllegalArgumentException("bad size value=" + _nbValues + " used=" + _initValues.length); @@ -29,7 +29,7 @@ return new GISAttributeModelIntegerArray(_nbValues, this); } - public GISAttributeModelListener createAtomicModel(final int _nbValues) { + public GISAttributeModelObservable createAtomicModel(final int _nbValues) { return createAtomicModelInteger(_nbValues); } @@ -37,11 +37,11 @@ return new GISAttributeModelIntegerArray(_nbValues, this); } - public GISAttributeModelListener createListModel(final int _defaultCap) { + public GISAttributeModelObservable createListModel(final int _defaultCap) { return createListModelInteger(_defaultCap); } - public GISAttributeModelListener createListModelInteger(final int _defaultCap) { + public GISAttributeModelObservable createListModelInteger(final int _defaultCap) { return new GISAttributeModelIntegerList(_defaultCap, this); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInterface.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInterface.java 2008-10-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeInterface.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -43,7 +43,7 @@ * @param _nbValues * @return un modele a utilise pour des donn\xE9es sur les vertex */ - GISAttributeModelListener createAtomicModel(Object[] _initValues, int _nbValues); + GISAttributeModelObservable createAtomicModel(Object[] _initValues, int _nbValues); /** * Permet de creer facilement les donn\xE9es correspondant a l'att. @@ -51,7 +51,7 @@ * @param _initValues la ou les valeurs initiales, peut etre null. Si c'est un tableau et l'attribute est global, la * moyenne sera prise. Inversement, l'objet sera duplique si un tableau doit etre construit. * @param _nbPt le nombre de points pour l'objet geometriques correspondant - * @return l'objet correspondant. Si atomique, un {@link GISAttributeModelListener} est renvoy\xE9. Sinon, + * @return l'objet correspondant. Si atomique, un {@link GISAttributeModelObservable} est renvoy\xE9. Sinon, * retourne un objet de classe {@link #getDataClass()} */ Object createDataForGeom(Object _initValues, int _nbPt); @@ -60,7 +60,7 @@ * @param _defaultCap la capacit\xE9 par defaut: optimisation. * @return le modele a utiliser pour une liste variable en taille. */ - GISAttributeModelListener createListModel(int _defaultCap); + GISAttributeModelObservable createListModel(int _defaultCap); /** * @return la valeur par defaut 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanArray.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -19,7 +19,7 @@ * @version $Id: GISAttributeModelBooleanArray.java,v 1.10 2007-01-10 08:58:48 deniger Exp $ */ public class GISAttributeModelBooleanArray extends CtuluArrayBoolean implements - GISAttributeModelListener, GISAttributeModelBooleanInterface { + GISAttributeModelObservable, GISAttributeModelBooleanInterface { GISAttributeInterface attribute_; 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelBooleanList.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -21,7 +21,7 @@ * @author Fred Deniger * @version $Id: GISAttributeModelBooleanList.java,v 1.13 2007-05-04 13:43:25 deniger Exp $ */ -public class GISAttributeModelBooleanList extends CtuluListBoolean implements GISAttributeModelListener, +public class GISAttributeModelBooleanList extends CtuluListBoolean implements GISAttributeModelObservable, GISAttributeModelBooleanInterface { GISAttributeInterface attribute_; 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleArray.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -24,7 +24,7 @@ * @version $Id: GISAttributeModelDoubleArray.java,v 1.12 2007-04-16 16:33:52 deniger Exp $ */ public class GISAttributeModelDoubleArray extends CtuluArrayDouble implements - GISAttributeModelDoubleInterface, GISAttributeModelListener { + GISAttributeModelDoubleInterface, GISAttributeModelObservable { GISAttributeInterface attribute_; 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelDoubleList.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -23,7 +23,7 @@ * @version $Id: GISAttributeModelDoubleList.java,v 1.12 2007-04-16 16:33:52 deniger Exp $ */ public class GISAttributeModelDoubleList extends CtuluListDouble implements GISAttributeModelDoubleInterface, - GISAttributeModelListener { + GISAttributeModelObservable { protected transient GISAttributeListener listener_; 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerArray.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -20,7 +20,7 @@ * @version $Id: GISAttributeModelIntegerArray.java,v 1.10 2007-01-10 08:58:47 deniger Exp $ */ public class GISAttributeModelIntegerArray extends CtuluArrayInteger implements - GISAttributeModelListener,GISAttributeModelIntegerInterface { + GISAttributeModelObservable,GISAttributeModelIntegerInterface { GISAttributeInterface attribute_; 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelIntegerList.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -21,7 +21,7 @@ * @version $Id: GISAttributeModelIntegerList.java,v 1.9 2007-01-10 08:58:47 deniger Exp $ */ public class GISAttributeModelIntegerList extends CtuluListInteger implements GISAttributeModelIntegerInterface, - GISAttributeModelListener { + GISAttributeModelObservable { /** * Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelListener.java 2008-10-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelListener.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -1,22 +0,0 @@ -/* - * @creation 7 avr. 2005 - * @modification $Date: 2006-02-09 08:59:28 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ctulu.gis; - - -/** - * @author Fred Deniger - * @version $Id: GISAttributeModelListener.java,v 1.3 2006-02-09 08:59:28 deniger Exp $ - */ -public interface GISAttributeModelListener extends GISAttributeModel { - - /** - * @param _listener le listener - */ - void setListener(GISAttributeListener _listener); - -} 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectArray.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -19,7 +19,7 @@ * @version $Id: GISAttributeModelObjectArray.java,v 1.11 2007-05-04 13:43:25 deniger Exp $ */ public class GISAttributeModelObjectArray extends CtuluArrayObject implements - GISAttributeModelObjectInterface, GISAttributeModelListener { + GISAttributeModelObjectInterface, GISAttributeModelObservable { protected transient GISAttributeListener listener_; 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObjectList.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -22,7 +22,7 @@ * @author Fred Deniger * @version $Id: GISAttributeModelObjectList.java,v 1.11 2007-05-04 13:43:25 deniger Exp $ */ -public class GISAttributeModelObjectList extends CtuluListObject implements GISAttributeModelListener, +public class GISAttributeModelObjectList extends CtuluListObject implements GISAttributeModelObservable, GISAttributeModelObjectInterface { protected transient GISAttributeListener listener_; Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObservable.java (from rev 4107, branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObservable.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeModelObservable.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -0,0 +1,22 @@ +/* + * @creation 7 avr. 2005 + * @modification $Date: 2006-02-09 08:59:28 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.gis; + + +/** + * @author Fred Deniger + * @version $Id: GISAttributeModelListener.java,v 1.3 2006-02-09 08:59:28 deniger Exp $ + */ +public interface GISAttributeModelObservable extends GISAttributeModel { + + /** + * @param _listener le listener + */ + void setListener(GISAttributeListener _listener); + +} 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneAttributeFactory.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -50,7 +50,7 @@ public static GISAttributeModel createModelList(final GISAttributeInterface _att, final Object _valatt, final int _capacity, final GISAttributeListener _listener, final int _initValuesNb) { - final GISAttributeModelListener resfinal = _att.createListModel(_capacity); + final GISAttributeModelObservable resfinal = _att.createListModel(_capacity); if (_initValuesNb > 0) { final Object[] add = new Object[_initValuesNb]; Arrays.fill(add, _valatt); @@ -67,7 +67,7 @@ */ public static GISAttributeModel createModelArray(final GISAttributeInterface _att, final Object _valatt, final int _initSize, final GISAttributeListener _listener) { - final GISAttributeModelListener resfinal = (GISAttributeModelListener)_att.createDataForGeom(_valatt, _initSize); + final GISAttributeModelObservable resfinal = (GISAttributeModelObservable)_att.createDataForGeom(_valatt, _initSize); resfinal.setListener(_listener); return resfinal; } @@ -133,7 +133,7 @@ */ public static GISAttributeModel createModelArray(final GISAttributeInterface _att, final Object[] _initValues, final GISAttributeListener _listener) { - GISAttributeModelListener resfinal = null; + GISAttributeModelObservable resfinal = null; final Class clazz = _att.getDataClass(); if (clazz == Integer.class) { resfinal = new GISAttributeModelIntegerArray(_initValues, _att); 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -36,7 +36,7 @@ private String title_; /** La liste ordonn\xE9e des mod\xE8les d'attributs associ\xE9es \xE0 la collection. */ - protected GISAttributeModelListener[] attr_; + protected GISAttributeModelObservable[] attr_; /** L'acc\xE8s direct \xE0 l'indice de mod\xE8le depuis un type d'attribut */ protected Map<GISAttributeInterface,Integer> att2Idx_=new HashMap<GISAttributeInterface, Integer>(); /** La valeur de la nature pour cette collection si elle est impos\xE9e. null : non impos\xE9e. */ @@ -118,17 +118,17 @@ * @param _i l'indice de l'attribut * @return le model si existant (null sinon). */ - protected GISAttributeModelListener getModelListener(final int _i) { - return (GISAttributeModelListener) getData(_i); + protected GISAttributeModelObservable getModelListener(final int _i) { + return (GISAttributeModelObservable) getData(_i); } protected void initAttributes(final GISAttributeInterface[] _att) { if (_att != null) { badIdxAttZ_=true; attListHasChanged_=true; - attr_ = new GISAttributeModelListener[_att.length]; + attr_ = new GISAttributeModelObservable[_att.length]; for (int i = _att.length - 1; i >= 0; i--) { - attr_[i] = (GISAttributeModelListener) GISZoneAttributeFactory.createModel(this, _att[i]); + attr_[i] = (GISAttributeModelObservable) GISZoneAttributeFactory.createModel(this, _att[i]); // FIXME BM : Je laisse, mais c'est douteux. Dans une collection, l'attribut Z n'est pas forcement // la bathy. if (_att[i] == GISAttributeConstants.BATHY) { @@ -138,7 +138,7 @@ } } - protected void initAttributes(final GISAttributeModelListener[] _att) { + protected void initAttributes(final GISAttributeModelObservable[] _att) { badIdxAttZ_=true; attListHasChanged_=true; attr_ = _att; @@ -150,11 +150,11 @@ * @param _att * @param _cmd */ - protected void initAttributes(final GISAttributeModelListener[] _att, final CtuluCommandContainer _cmd) { + protected void initAttributes(final GISAttributeModelObservable[] _att, final CtuluCommandContainer _cmd) { if (!Arrays.equals(_att, attr_)) { badIdxAttZ_=true; attListHasChanged_=true; - final GISAttributeModelListener[] old = attr_; + final GISAttributeModelObservable[] old = attr_; attr_ = _att; fireAttributeValueChanged(-1, null, -1, null); if (_cmd != null) { @@ -360,7 +360,7 @@ } public GISAttributeModel getModel(final int _i) { - return (GISAttributeModelListener) getData(_i); + return (GISAttributeModelObservable) getData(_i); } public GISAttributeModel[] getModels() { @@ -571,7 +571,7 @@ badIdxAttZ_=true; attListHasChanged_=true; // on sauvegarde les anciens attributs - final GISAttributeModelListener[] old = attr_; + final GISAttributeModelObservable[] old = attr_; // on recupere les valeurs d\xE9j\xE0 utilis\xE9es final Map<GISAttributeInterface,GISAttributeModel> exist = @@ -582,12 +582,12 @@ exist.put(attr_[i].getAttribute(), attr_[i]); } } - final GISAttributeModelListener[] newAtt = _att == null ? null : new GISAttributeModelListener[_att.length]; + final GISAttributeModelObservable[] newAtt = _att == null ? null : new GISAttributeModelObservable[_att.length]; if (_att != null) { for (int i = _att.length - 1; i >= 0; i--) { - newAtt[i] = (GISAttributeModelListener) exist.get(_att[i]); + newAtt[i] = (GISAttributeModelObservable) exist.get(_att[i]); if (newAtt[i] == null) { - newAtt[i] = (GISAttributeModelListener) GISZoneAttributeFactory.createModel(this, _att[i]); + newAtt[i] = (GISAttributeModelObservable) GISZoneAttributeFactory.createModel(this, _att[i]); } } } 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-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -201,11 +201,11 @@ public void updateListeners() { for (int i = getNbAttributes() - 1; i >= 0; i--) { - final GISAttributeModelListener m = getModelListener(i); + final GISAttributeModelObservable m = getModelListener(i); if (m != null) { if (m.getAttribute().isAtomicValue()) { for (int j = m.getSize() - 1; j >= 0; j--) { - ((GISAttributeModelListener) m.getObjectValueAt(j)).setListener(this); + ((GISAttributeModelObservable) m.getObjectValueAt(j)).setListener(this); } } else { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java 2008-10-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -154,7 +154,7 @@ public void updateListeners() { for (int i = getNbAttributes() - 1; i >= 0; i--) { - final GISAttributeModelListener m = getModelListener(i); + final GISAttributeModelObservable m = getModelListener(i); if (m != null) { m.setListener(this); } Modified: 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/H2dRubarDonneesBrutes.java 2008-10-30 09:47:50 UTC (rev 4110) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarDonneesBrutes.java 2008-10-30 09:59:16 UTC (rev 4111) @@ -115,7 +115,7 @@ } private class UnactiveModelDoubleListNuage extends CtuluCollectionDoubleUnique implements - GISAttributeModelDoubleInterface, GISAttributeModelListener { + GISAttributeModelDoubleInterface, GISAttributeModelObservable { final GISAttributeDouble att_; @@ -387,17 +387,17 @@ } protected void addData(final CtuluCommandContainer _cmd) { - final GISAttributeModelListener[] old = super.attr_; - final GISAttributeModelListener[] newAtt = new GISAttributeModelListener[old.length + 1]; + final GISAttributeModelObservable[] old = super.attr_; + final GISAttributeModelObservable[] newAtt = new GISAttributeModelObservable[old.length + 1]; System.arraycopy(old, 0, newAtt, 0, old.length); newAtt[newAtt.length - 1] = createDoubleModel(newAtt.length - 1); newAtt[newAtt.length - 1].setListener(this); super.initAttributes(newAtt, _cmd); } - protected void addData(final GISAttributeModelListener _m, final CtuluCommandContainer _cmd) { - final GISAttributeModelListener[] old = super.attr_; - final GISAttributeModelListener[] newAtt = new GISAttributeModelListener[old.length + 1]; + protected void addData(final GISAttributeModelObservable _m, final CtuluCommandContainer _cmd) { + final GISAttributeModelObservable[] old = super.attr_; + final GISAttributeModelObservable[] newAtt = new GISAttributeModelObservable[old.length + 1]; System.arraycopy(old, 0, newAtt, 0, old.length); _m.setListener(this); newAtt[newAtt.length - 1] = _m; @@ -408,8 +408,8 @@ return new GISAttributeDouble(getVariableId(_idx).toString(), true); } - protected GISAttributeModelListener createDoubleModel(final int _idx) { - GISAttributeModelListener r = null; + protected GISAttributeModelObservable createDoubleModel(final int _idx) { + GISAttributeModelObservable r = null; if (isVariableActive(_idx)) { r = new GISAttributeModelDoubleList(getNumPoints(), (int) (getNumPoints() * 1.5), createAtt(_idx)); } else { @@ -419,7 +419,7 @@ return r; } - protected GISAttributeModelListener[] getAtts() { + protected GISAttributeModelObservable[] getAtts() { return attr_; } @@ -454,9 +454,9 @@ } protected final void majAttributes(final int _nbValues) { - final GISAttributeModelListener[] att = new GISAttributeModelListener[_nbValues]; + final GISAttributeModelObservable[] att = new GISAttributeModelObservable[_nbValues]; for (int i = 0; i < _nbValues; i++) { - final GISAttributeModelListener l = createDoubleModel(i); + final GISAttributeModelObservable l = createDoubleModel(i); l.setListener(this); att[i] = l; } @@ -464,14 +464,14 @@ } protected void removeLastData(final CtuluCommandContainer _cmd) { - final GISAttributeModelListener[] old = super.attr_; - final GISAttributeModelListener[] newAtt = new GISAttributeModelListener[old.length - 1]; + final GISAttributeModelObservable[] old = super.attr_; + final GISAttributeModelObservable[] newAtt = new GISAttributeModelObservable[old.length - 1]; System.arraycopy(old, 0, newAtt, 0, newAtt.length); super.initAttributes(newAtt, _cmd); } protected void setDataToDefault(final int _idx, final CtuluCommandContainer _cmd) { - final GISAttributeModelListener old = super.attr_[_idx]; + final GISAttributeModelObservable old = super.attr_[_idx]; // on demande de creer un modele a valeur unique super.attr_[_idx] = createDoubleModel(_idx); super.attr_[_idx].setListener(this); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-10-30 14:28:14
|
Revision: 4113 http://fudaa.svn.sourceforge.net/fudaa/?rev=4113&view=rev Author: emmanuel_martin Date: 2008-10-30 14:27:59 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Correction de quelques bugs concernant le panel de visibilit?\195?\169. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.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 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/ZModeleLigneBriseeDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGPaletteInfo.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/palette/BPaletteInfo.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -12,6 +12,7 @@ import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ebli.commun.EbliLib; @@ -40,8 +41,8 @@ } } - public BCalquePaletteInfo(final BArbreCalqueModel _m) { - super(); + public BCalquePaletteInfo(final BArbreCalqueModel _m, CtuluCommandManager _cmd) { + super(_cmd); treeModel_ = _m; treeModel_.addTreeSelectionListener(this); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -358,7 +358,7 @@ } public JComponent buildContentPane() { - return new BCalquePaletteInfo(pn_.getArbreCalqueModel()); + return new BCalquePaletteInfo(pn_.getArbreCalqueModel(), pn_.gisEditor_.getMng()); } }; Modified: 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/action/EditVisibilityAction.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/EditVisibilityAction.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -9,6 +9,7 @@ import javax.swing.JComponent; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluResource; import org.fudaa.ebli.calque.BArbreCalqueModel; import org.fudaa.ebli.calque.edition.BPaletteEditVisibility; @@ -20,16 +21,18 @@ * 'visibilite' des g\xE9om\xE9tries. * * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public class EditVisibilityAction extends EbliActionPaletteAbstract { - private BPaletteEditVisibility palette_; - private final BArbreCalqueModel treeModel_; + protected BPaletteEditVisibility palette_; + protected final BArbreCalqueModel treeModel_; + protected CtuluCommandManager cmd_; - public EditVisibilityAction(BArbreCalqueModel _treeModel) { + public EditVisibilityAction(BArbreCalqueModel _treeModel, CtuluCommandManager _cmd) { super(EbliResource.EBLI.getString("Edition visibilit\xE9"), CtuluResource.CTULU.getToolIcon("crystal22_visibilite"), "VISIBILITY_EDITION", true); treeModel_=_treeModel; + cmd_=_cmd; } /* @@ -40,7 +43,7 @@ @Override public JComponent buildContentPane() { if(palette_==null) - palette_=new BPaletteEditVisibility(treeModel_); + palette_=new BPaletteEditVisibility(treeModel_, cmd_); return palette_.getComponent(); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -16,11 +16,14 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; +import java.util.EventObject; import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.swing.AbstractCellEditor; import javax.swing.BorderFactory; +import javax.swing.JCheckBox; import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.JTable; @@ -33,9 +36,11 @@ import javax.swing.event.TreeModelEvent; import javax.swing.event.TreeModelListener; import javax.swing.table.AbstractTableModel; +import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableModel; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISZoneCollection; @@ -72,23 +77,24 @@ public class BPaletteEditVisibility extends BuPanel implements ListSelectionListener, ZSelectionListener, ZModelGeometryListener, TreeModelListener, BPalettePanelInterface, ActionListener, ChangeListener { // Attributs de fonctionnement - private final BArbreCalqueModel treeModel_; - private ZCalqueAffichageDonneesInterface[] calques_; - private ZCalqueAffichageDonneesInterface[] listenCalques_; - private final String allCalquesEntry_=EbliLib.getS("Tout les calques"); + protected final BArbreCalqueModel treeModel_; + protected ZCalqueAffichageDonneesInterface[] calques_; + protected ZCalqueAffichageDonneesInterface[] listenCalques_; + protected final String allCalquesEntry_=EbliLib.getS("Tous les calques"); /** * vrai quand une modification de la selection dans le tableau ou dans le * calque est en cours. Permet d'\xE9viter des r\xE9cursions \xE0 cause des listeners de * selections. */ - private boolean listenSelection=true; + protected boolean listenSelection=true; /** Vrai quand la visibilit\xE9 n'est pas en train d'\xEAtre chang\xE9 par le panel. */ - private boolean listenVisibility=true; + protected boolean listenVisibility=true; + protected CtuluCommandManager cmd_; // Composants graphiques - private final BuComboBox calque_; - private boolean onlyInvisible_; - private final CtuluTable table_; - private TableModel geomTableModel_; + protected final BuComboBox calque_; + protected boolean onlyInvisible_; + protected final CtuluTable table_; + protected TableModel geomTableModel_; /** * @param _treeModel @@ -96,7 +102,8 @@ * g\xE9om\xE9tries et pour avoir connaissance de la cr\xE9ation et de la * suppression de calque. */ - public BPaletteEditVisibility(BArbreCalqueModel _treeModel){ + public BPaletteEditVisibility(BArbreCalqueModel _treeModel, CtuluCommandManager _cmd){ + cmd_=_cmd; calques_=new ZCalqueAffichageDonneesInterface[0]; listenCalques_=new ZCalqueAffichageDonneesInterface[0]; treeModel_=_treeModel; @@ -236,6 +243,54 @@ } } + protected class GeomTableEditor extends AbstractCellEditor implements TableCellEditor, ChangeListener { + + private boolean value; + /** Compteur d'\xE9v\xE9nement. */ + private int a=1; + + /* (non-Javadoc) + * @see + * javax.swing.table.TableCellEditor#getTableCellEditorComponent(javax.swing + * .JTable, java.lang.Object, boolean, int, int) + */ + public Component getTableCellEditorComponent(JTable _table, Object _value, boolean _isSelected, int _row, int _column) { + value=(Boolean)_value; + JPanel pn=new JPanel(); + pn.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); + pn.setBackground(Color.WHITE); + BuCheckBox cb=new BuCheckBox("", (Boolean)_value); + cb.addChangeListener(this); + cb.setBackground(Color.WHITE); + pn.add(cb); + return pn; + } + + /* (non-Javadoc) + * @see javax.swing.CellEditor#getCellEditorValue() + */ + public Object getCellEditorValue() { + return value; + } + + public boolean shouldSelectCell(EventObject anEvent){ + return false; + } + + /* (non-Javadoc) + * @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent) + */ + public void stateChanged(ChangeEvent e) { + value=!value; + // Un hack : il semble que la checkbox envoie 5 \xE9v\xE9nements \xE0 chaque click. + // Pour arr\xEAter l'\xE9dition automatiquement au bout d'un click, on teste sur + // le compteur de click. + if(a==0) + stopCellEditing(); + a=(a+1)%5; + } + } + /** * Place dans le comboBox de choix des calques les calques qui peuvent \xEAtre * choisis ainsi que l'entr\xE9e sp\xE9ciale 'tout les calques'. @@ -271,8 +326,16 @@ // Mise a jour du tableau if(calque_.getSelectedItem()==allCalquesEntry_) listenCalques_=calques_; - else - listenCalques_=new ZCalqueAffichageDonneesInterface[0]; + else{ + boolean found=false; + int i=-1; + while(!found&&++i<calques_.length) + found=calques_[i].getTitle().equals(calque_.getSelectedItem()); + if(found) + listenCalques_=new ZCalqueAffichageDonneesInterface[]{calques_[i]}; + else + listenCalques_=new ZCalqueAffichageDonneesInterface[0]; + } // Ajout de l'\xE9coute de tout les calques for(int i=0;i<listenCalques_.length;i++){ listenCalques_[i].addSelectionListener(this); @@ -291,9 +354,7 @@ ArrayList<Object[]> rows=new ArrayList<Object[]>(); for(int i=0;i<calques_.length;i++){ if(calques_[i].getTitle().equals(calque_.getSelectedItem())||calque_.getSelectedItem()==allCalquesEntry_){ - // Ecoute du model ZModeleGeometry model = (ZModeleGeometry)calques_[i].modeleDonnees(); - model.addModelListener(this); // Extraction des donn\xE9es utiles GISZoneCollection zone=model.getGeomData(); int indexTitre=zone.getIndiceOf(GISAttributeConstants.TITRE); @@ -309,6 +370,7 @@ table_.getColumnModel().getColumn(0).setCellRenderer(new GeomTableRenderer()); table_.getColumnModel().getColumn(1).setCellRenderer(new GeomTableRenderer()); table_.getColumnModel().getColumn(1).setPreferredWidth(25); + table_.getColumnModel().getColumn(1).setCellEditor(new GeomTableEditor()); } /** @@ -327,7 +389,7 @@ GISZoneCollection zone=((ZModeleGeometry)_calque.modeleDonnees()).getGeomData(); int indexVisibility=zone.getIndiceOf(GISAttributeConstants.VISIBILITE); if (indexVisibility!=-1) - zone.getModel(indexVisibility).setObject(_numGeom, _visibility==true ? GISAttributeConstants.ATT_VAL_TRUE:GISAttributeConstants.ATT_VAL_FALSE, null); + zone.getModel(indexVisibility).setObject(_numGeom, _visibility==true ? GISAttributeConstants.ATT_VAL_TRUE:GISAttributeConstants.ATT_VAL_FALSE, cmd_); listenVisibility=true; } Modified: 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/ZModeleGeometryDefault.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -15,6 +15,7 @@ import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; @@ -55,6 +56,7 @@ public ZModeleGeometryDefault(GISZoneCollectionGeometry _zone) { geometries_=_zone; + geometries_.setListener(this); } public void getDomaineForGeometry(int _idxGeom, GrBoite _target) { @@ -212,7 +214,7 @@ /* (non-Javadoc) * @see org.fudaa.ebli.palette.BPaletteInfo.ModifyPropertyInfo#modifyProperty(java.lang.String, java.lang.Object) */ - public void modifyProperty(String _key, Object _value, int[] _index) { + public void modifyProperty(String _key, Object _value, int[] _index, CtuluCommandManager _cmd) { if (_index!=null) { // Recherche de l'attribut d\xE9fini par _key boolean found=false; @@ -223,7 +225,7 @@ if (found) { int[] geometries=_index; for (int j=0; j<geometries.length; j++) - geometries_.getModel(i).setObject(geometries[j], _value, null); + geometries_.getModel(i).setObject(geometries[j], _value, _cmd); } } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -15,6 +15,7 @@ import javax.swing.table.AbstractTableModel; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionInterface; @@ -351,8 +352,8 @@ /* (non-Javadoc) * @see org.fudaa.ebli.palette.BPaletteInfo.ModifyPropertyInfo#modifyProperty(java.lang.String, java.lang.Object) */ - public void modifyProperty(String _key, Object _value, final int[] _index) { - super.modifyProperty(_key, _value, _index); + public void modifyProperty(String _key, Object _value, final int[] _index, CtuluCommandManager _cmd) { + super.modifyProperty(_key, _value, _index, _cmd); if (_index!=null&&_value!=null&&_key==CtuluLib.getS("Ferm\xE9")) { // Modification de la propri\xE9t\xE9 int[] indexPolylines=_index; @@ -367,7 +368,7 @@ else FuLog.error("ZModeleLigneBriseeDefault.modifyProperty : la valeur pour la propri\xE9t\xE9 'ferm\xE9' est inconnue donc intraitable."); // Remplacement de l'ancienne g\xE9om\xE9trie par la nouvelle - geometries_.setGeometry(indexPolyligne, newGeom, null); + geometries_.setGeometry(indexPolyligne, newGeom, _cmd); } } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -179,7 +179,7 @@ final BPaletteInfoAbstractAction info = new BPaletteInfoAbstractAction() { public JComponent buildContentPane() { - return new EGPaletteInfo(EGFillePanel.this); + return new EGPaletteInfo(EGFillePanel.this, null); } protected boolean mustBeUpdated() { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGPaletteInfo.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGPaletteInfo.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGPaletteInfo.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -10,6 +10,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.TreeSelectionEvent; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluLibMessage; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionEvent; @@ -26,7 +27,8 @@ EGFillePanel p_; - public EGPaletteInfo(final EGFillePanel _p) { + public EGPaletteInfo(final EGFillePanel _p, CtuluCommandManager _cmd) { + super(_cmd); _p.addListenerCourbePoint(this); _p.getModel().addModelListener(this); _p.getModel().addSelectionListener(this); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/palette/BPaletteInfo.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/palette/BPaletteInfo.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/palette/BPaletteInfo.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -25,6 +25,7 @@ import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.gui.CtuluTableCellEditorProxy; import org.fudaa.ctulu.gui.CtuluValueEditorI; import org.fudaa.ebli.commun.EbliLib; @@ -96,8 +97,9 @@ * @param _key le nom de la propri\xE9t\xE9 * @param _newValue la nouvelle valeur de la prorpi\xE9t\xE9 * @param _index l'information pass\xE9 en param\xE8tre du put + * @param _cmd le gestionnaire de commande pour le undo/redo */ - void modifyProperty(String _key, Object _newValue, int[] _index); + void modifyProperty(String _key, Object _newValue, int[] _index, CtuluCommandManager _cmd); } /** @@ -279,7 +281,7 @@ rows_.get(_rowIndex).set(_columnIndex, _value); // Si la nouvelle valeur est consid\xE9r\xE9e comme valide par l'editeur, on appelle la m\xE9thode de callback if(rows_.get(_rowIndex).get(2)!=null&&((CtuluValueEditorI)rows_.get(_rowIndex).get(2)).isValid(_value)) - ((ModifyPropertyInfo)rows_.get(_rowIndex).get(4)).modifyProperty((String)rows_.get(_rowIndex).get(0), _value, (int[]) rows_.get(_rowIndex).get(5)); + ((ModifyPropertyInfo)rows_.get(_rowIndex).get(4)).modifyProperty((String)rows_.get(_rowIndex).get(0), _value, (int[]) rows_.get(_rowIndex).get(5), cmd_); } } @@ -294,8 +296,10 @@ protected JTable table_; protected transient PanelTableModel tableModel_; protected JTextField txtTitle_; + protected CtuluCommandManager cmd_; - public BPaletteInfo() { + public BPaletteInfo(CtuluCommandManager _cmd) { + cmd_=_cmd; setLayout(new BuBorderLayout()); txtTitle_ = new BuTextField(); final Font f = txtTitle_.getFont(); Modified: 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/layer/FSigVisuPanel.java 2008-10-30 10:49:01 UTC (rev 4112) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java 2008-10-30 14:27:59 UTC (rev 4113) @@ -163,7 +163,7 @@ arrayList.add(new CalqueGISEditionAction(getArbreCalqueModel().getTreeSelectionModel(), gisEditor_, getScene())); arrayList.add(new SceneRotationAction(getArbreCalqueModel().getTreeSelectionModel(), gisEditor_, gisEditor_.getSceneEditor(),getEbliFormatter())); arrayList.add(new SceneDeplacementAction(getArbreCalqueModel().getTreeSelectionModel(), gisEditor_.getSceneEditor(),getEbliFormatter(), getCalqueDeplacement())); - arrayList.add(new EditVisibilityAction(getArbreCalqueModel())); + arrayList.add(new EditVisibilityAction(getArbreCalqueModel(), mng_)); return (EbliActionInterface[]) arrayList.toArray(new EbliActionInterface[arrayList.size()]); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-10-31 11:30:08
|
Revision: 4136 http://fudaa.svn.sourceforge.net/fudaa/?rev=4136&view=rev Author: emmanuel_martin Date: 2008-10-31 11:29:58 +0000 (Fri, 31 Oct 2008) Log Message: ----------- Correction de trois bugs Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCellEditorProxy.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCellEditorProxy.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCellEditorProxy.java 2008-10-31 02:48:27 UTC (rev 4135) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gui/CtuluTableCellEditorProxy.java 2008-10-31 11:29:58 UTC (rev 4136) @@ -144,6 +144,7 @@ public void putEditor(Integer _indexRow, TableCellEditor _editor){ if(editable_&&_indexRow==currentIndex_){ cancelCellEditing(); + editable_=false; } mapEditors_.put(_indexRow, _editor); } @@ -153,6 +154,8 @@ */ public void clear(){ mapEditors_.clear(); + if(editable_) + stopCellEditing(); editable_=false; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-10-31 02:48:27 UTC (rev 4135) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-10-31 11:29:58 UTC (rev 4136) @@ -23,7 +23,6 @@ import javax.swing.AbstractCellEditor; import javax.swing.BorderFactory; -import javax.swing.JCheckBox; import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.JTable; @@ -51,6 +50,7 @@ import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; import org.fudaa.ebli.calque.ZModelGeometryListener; +import org.fudaa.ebli.calque.ZModeleDonnees; import org.fudaa.ebli.calque.ZModeleGeometry; import org.fudaa.ebli.calque.ZSelectionEvent; import org.fudaa.ebli.calque.ZSelectionListener; @@ -196,8 +196,15 @@ } public void setValueAt(Object value, int rowIndex, int columnIndex) { - if(columnIndex==1){ + boolean selected=table_.getSelectionModel().isSelectedIndex(rowIndex); + if(columnIndex==0){ rows_[rowIndex][columnIndex]=value; + fireTableDataChanged(); + if(selected) + table_.getSelectionModel().addSelectionInterval(rowIndex, rowIndex); + } + else if(columnIndex==1){ + rows_[rowIndex][columnIndex]=value; changeVisibility((Integer) rows_[rowIndex][3], (ZCalqueAffichageDonneesInterface) rows_[rowIndex][2], (Boolean) rows_[rowIndex][1]); // Dans le cas o\xF9 on n'affiche que les g\xE9om\xE9tries invisibles, on enl\xE8ve celle qu'on passe \xE0 visible. if(onlyInvisible_&&((Boolean) rows_[rowIndex][1])==true){ @@ -208,6 +215,8 @@ newRows[i-1]=rows_[i]; rows_=newRows; fireTableDataChanged(); + if(selected) + table_.getSelectionModel().addSelectionInterval(rowIndex, rowIndex); } } } @@ -342,12 +351,16 @@ ((ZModeleGeometry) listenCalques_[i].modeleDonnees()).addModelListener(this); } } - + /** * Rempli le tableau avec toutes les g\xE9o\xE9mtries contenus dans le calque * selectionn\xE9 dans combobox. Si la checkbox indiquant que seules les * g\xE9om\xE9tries invisibles sont affich\xE9s est coch\xE9, cette restriction est prise * en compte ici. + * Le model du tableau est r\xE9instanc\xE9, donc la s\xE9l\xE9ction est + * perdu, ce qui peut entrainer un comportement non voulu. Il est donc + * recommand\xE9 de n'utiliser cette m\xE9thode que pour le premier remplissage du + * tableau. */ protected void fillTableGeometry(){ // Remplissage du tableau @@ -412,8 +425,9 @@ int indexGeom=(Integer)table_.getModel().getValueAt(i, 3); if (selection.contains(indexGeom)&&!table_.getSelectionModel().isSelectedIndex(i)) table_.getSelectionModel().addSelectionInterval(i, i); - else if(!selection.contains(indexGeom)&&table_.getSelectionModel().isSelectedIndex(i)) - table_.getSelectionModel().removeIndexInterval(i, i); + else + if(!selection.contains(indexGeom)&&table_.getSelectionModel().isSelectedIndex(i)) + table_.getSelectionModel().removeSelectionInterval(i, i); } } } @@ -532,9 +546,27 @@ fillTableGeometry(); } - public void attributeValueChangeAction(Object _source, int att, GISAttributeInterface _att, int geom, Object value) { - if(listenVisibility) - fillTableGeometry(); + public void attributeValueChangeAction(Object _source, int att, GISAttributeInterface _att, int _geom, Object _value) { + if(listenVisibility&&(_att==GISAttributeConstants.TITRE||_att==GISAttributeConstants.VISIBILITE)){ + if(_geom>=0){ + // Mise \xE0 jour seulement de la g\xE9om\xE9trie. + boolean found=false; + int i=-1; + while(!found&&++i<table_.getModel().getRowCount()){ + ZModeleDonnees model=((ZCalqueAffichageDonneesInterface) table_.getModel().getValueAt(i, 2)).modeleDonnees(); + Integer indexGeom=(Integer) table_.getModel().getValueAt(i, 3); + found=(model==_source)&&(indexGeom==_geom); + } + if(found) + if(_att==GISAttributeConstants.TITRE) + table_.getModel().setValueAt(_value, i, 0); + else + table_.getModel().setValueAt(_value==GISAttributeConstants.ATT_VAL_TRUE ? true : false, i, 1); + } + else + // Mise \xE0 jour de toutes les g\xE9om\xE9tries. + fillTableGeometry(); + } } public void geometryAction(Object _source, int geom, Geometry _geom, int _action) { Modified: 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/ZModeleGeometryDefault.java 2008-10-31 02:48:27 UTC (rev 4135) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2008-10-31 11:29:58 UTC (rev 4136) @@ -270,7 +270,7 @@ protected void fireAttributeValueChangeAction(Object _source, int _idxAtt, GISAttributeInterface _att, int _indexGeom, Object _newValue){ for(int i=0;i<listeners_.size();i++) if(listeners_.get(i) instanceof ZModelGeometryListener) - ((ZModelGeometryListener)listeners_.get(i)).attributeValueChangeAction(_source, _idxAtt, _att, _indexGeom, _newValue); + ((ZModelGeometryListener)listeners_.get(i)).attributeValueChangeAction(this, _idxAtt, _att, _indexGeom, _newValue); } public void attributeValueChangeAction(Object _source, int _indexAtt, GISAttributeInterface _att, int _indexGeom, Object _newValue) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-10-31 15:21:39
|
Revision: 4138 http://fudaa.svn.sourceforge.net/fudaa/?rev=4138&view=rev Author: bmarchan Date: 2008-10-31 15:21:28 +0000 (Fri, 31 Oct 2008) Log Message: ----------- Undo/redo ?\195?\169tendu pour gestion d'un nom de commande. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommand.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandComposite.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/undo/FudaaUndoCmdMngListener.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuActionModifier.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluNamedCommand.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommand.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandComposite.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/undo/FudaaUndoCmdMngListener.java Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuActionModifier.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuActionModifier.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuActionModifier.java 2008-10-31 15:21:28 UTC (rev 4138) @@ -0,0 +1,208 @@ +package com.memoire.bu; + +import java.awt.Component; + +import javax.swing.AbstractButton; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JMenuItem; +import javax.swing.JPopupMenu; +import javax.swing.JRadioButtonMenuItem; +import javax.swing.JToolBar; +import javax.swing.MenuElement; + +/** + * An utility class to modify controls by their command name. + * The command name is a string defined for each control + * using setActionCommand(). + * + * @author bmarchan + * @version $Id$ + */ +public class BuActionModifier{ + +//-------------------------------------------------------------------------- +// setTooltipForAction : Permet de d\xE9finir un tooltip sur les +// menus, ou sur les boutons. +//-------------------------------------------------------------------------- + + public static void setTooltipForAction + (JMenuBar _bar, String _action, String _tp) + { + if(_bar==null) return; + + MenuElement[] c=_bar.getSubElements(); + for(int i=0; i<c.length; i++) + if(c[i] instanceof JMenu) + setTooltipForAction((JMenu)c[i],_action,_tp); + } + + public static void setTooltipForAction + (JMenu _menu, String _action, String _tp) + { + if(_menu==null) return; + + MenuElement[] c=_menu.getSubElements(); + for(int i=0; i<c.length; i++) + { + if(c[i] instanceof JMenu) + setTooltipForAction((JMenu)c[i],_action,_tp); + else + if(c[i] instanceof JPopupMenu) + setTooltipForAction((JPopupMenu)c[i],_action,_tp); + else + if(c[i] instanceof JMenuItem) + setTooltipForAction((JMenuItem)c[i],_action,_tp); + // else System.err.println("??? "+c[i]); + } + } + + public static void setTooltipForAction + (JPopupMenu _menu, String _action, String _tp) + { + if(_menu==null) return; + + MenuElement[] c=_menu.getSubElements(); + for(int i=0; i<c.length; i++) + { + if(c[i] instanceof JMenu) + setTooltipForAction((JMenu)c[i],_action,_tp); + else + if(c[i] instanceof JPopupMenu) + setTooltipForAction((JPopupMenu)c[i],_action,_tp); + else + if(c[i] instanceof JMenuItem) + setTooltipForAction((JMenuItem)c[i],_action,_tp); + } + } + + public static void setTooltipForAction + (JCheckBoxMenuItem _item, String _action, String _tp) + { + if(_item==null) return; + + if(_item.getActionCommand().equals(_action)) + _item.setToolTipText(_tp); + } + + public static void setTooltipForAction + (JRadioButtonMenuItem _item, String _action, String _tp) + { + if(_item==null) return; + + if(_item.getActionCommand().equals(_action)) + _item.setToolTipText(_tp); + } + + // Tool + + public static void setTooltipForAction + (JToolBar _bar, String _action, String _tp) + { + if(_bar==null) return; + + Component[] c=_bar.getComponents(); + for(int i=0; i<c.length; i++) + if(c[i] instanceof AbstractButton) + setTooltipForAction((AbstractButton)c[i],_action,_tp); + } + + public static void setTooltipForAction + (AbstractButton _item, String _action, String _tp) + { + if(_item==null) return; + + if(_item.getActionCommand().equals(_action)) + _item.setToolTipText(_tp); + } + +//-------------------------------------------------------------------------- +// setDynamicTextForAction : Permet de d\xE9finir un texte dynamique sur les +// menus, un tooltip dynamique pour les boutons. Exemple : undo/redo. +//-------------------------------------------------------------------------- + + public static void setDynamicTextForAction + (JMenuBar _bar, String _action, String _tp) + { + if(_bar==null) return; + + MenuElement[] c=_bar.getSubElements(); + for(int i=0; i<c.length; i++) + if(c[i] instanceof JMenu) + setDynamicTextForAction((JMenu)c[i],_action,_tp); + } + + public static void setDynamicTextForAction + (JMenu _menu, String _action, String _tp) + { + if(_menu==null) return; + + MenuElement[] c=_menu.getSubElements(); + for(int i=0; i<c.length; i++) + { + if(c[i] instanceof JMenu) + setDynamicTextForAction((JMenu)c[i],_action,_tp); + else + if(c[i] instanceof JPopupMenu) + setDynamicTextForAction((JPopupMenu)c[i],_action,_tp); + else + if(c[i] instanceof JMenuItem) + setDynamicTextForAction((JMenuItem)c[i],_action,_tp); + // else System.err.println("??? "+c[i]); + } + } + + public static void setDynamicTextForAction + (JPopupMenu _menu, String _action, String _tp) + { + if(_menu==null) return; + + MenuElement[] c=_menu.getSubElements(); + for(int i=0; i<c.length; i++) + { + if(c[i] instanceof JMenu) + setDynamicTextForAction((JMenu)c[i],_action,_tp); + else + if(c[i] instanceof JPopupMenu) + setDynamicTextForAction((JPopupMenu)c[i],_action,_tp); + else + if(c[i] instanceof JMenuItem) + setDynamicTextForAction((JMenuItem)c[i],_action,_tp); + else + if(c[i] instanceof AbstractButton) + setDynamicTextForAction((AbstractButton)c[i],_action,_tp); + } + } + + public static void setDynamicTextForAction + (JMenuItem _item, String _action, String _tp) + { + if(_item==null) return; + + if(_item.getActionCommand().equals(_action)) + _item.setText(_tp); + } + + // Tool + + public static void setDynamicTextForAction + (JToolBar _bar, String _action, String _tp) + { + if(_bar==null) return; + + Component[] c=_bar.getComponents(); + for(int i=0; i<c.length; i++) + if(c[i] instanceof AbstractButton) + setDynamicTextForAction((AbstractButton)c[i],_action,_tp); + } + + public static void setDynamicTextForAction + (AbstractButton _item, String _action, String _tp) + { + if(_item==null) return; + + if(_item.getActionCommand().equals(_action)) + _item.setToolTipText(_tp); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuActionModifier.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java 2008-10-31 12:33:37 UTC (rev 4137) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java 2008-10-31 15:21:28 UTC (rev 4138) @@ -1,5 +1,5 @@ /** - * @modification $Date: 2007-06-11 13:01:23 $ + * @modification $Date$ * @statut unstable * @file BuCommonImplementation.java * @version 0.43 @@ -511,6 +511,11 @@ // BuActionChecker.setCheckedForAction(getSpecificBar(),_cmd,_checked); } + public void setDynamicTextForAction(String _cmd, String _tp) { + BuActionModifier.setDynamicTextForAction(getMainMenuBar(), _cmd, _tp); + BuActionModifier.setDynamicTextForAction(getMainToolBar(), _cmd, _tp); + } + public void removeDummySeparators() { BuMenuBar mb = getMainMenuBar(); BuToolBar mt = getMainToolBar(); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuCommonImplementation.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommand.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommand.java 2008-10-31 12:33:37 UTC (rev 4137) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommand.java 2008-10-31 15:21:28 UTC (rev 4138) @@ -1,14 +1,18 @@ /** * @creation 20 oct. 2003 - * @modification $Date: 2004-08-10 18:20:10 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... */ package org.fudaa.ctulu; /** + * Une interface d\xE9finissant une commande utilisateur qui peut \xEAtre defaite ou refaite. + * Une commande peut contenir une ou plusieurs op\xE9rations \xE9l\xE9mentaires, chacune d'elles stock\xE9e + * sous forme de commande (voir {@link CtuluCommandComposite}) + * * @author deniger - * @version $Id: CtuluCommand.java,v 1.1 2004-08-10 18:20:10 deniger Exp $ + * @version $Id$ */ public interface CtuluCommand { /** Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommand.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandComposite.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandComposite.java 2008-10-31 12:33:37 UTC (rev 4137) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandComposite.java 2008-10-31 15:21:28 UTC (rev 4138) @@ -1,6 +1,6 @@ /** * @creation 21 oct. 2003 - * @modification $Date: 2007-01-17 10:45:24 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -14,14 +14,20 @@ * L'action undo se fait dans l'ordre derniere commande -> premiere commande * * @author deniger - * @version $Id: CtuluCommandComposite.java,v 1.8 2007-01-17 10:45:24 deniger Exp $ + * @version $Id$ */ -public class CtuluCommandComposite implements CtuluCommand,CtuluCommandContainer { +public class CtuluCommandComposite implements CtuluNamedCommand,CtuluCommandContainer { List command_; + final String name_; public CtuluCommandComposite() { + this(null); + } + + public CtuluCommandComposite(String _name) { super(); + name_=_name; } /** @@ -56,8 +62,9 @@ final int n = getNbCmd(); if (n == 0) { return null; - } else if (n == 1) { - return (CtuluCommand) command_.get(0); +// B.M. 31/12/2008 - Suppression de de cette simplification, sinon perte du nom de commande. +// } else if (n == 1) { +// return (CtuluCommand) command_.get(0); } else { return this; } @@ -119,4 +126,11 @@ } actionToDoAfterUndoOrRedo(); } + + /* (non-Javadoc) + * @see org.fudaa.ctulu.CtuluNamedCommand#getName() + */ + public String getName() { + return name_; + } } \ No newline at end of file Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandComposite.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandManager.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandManager.java 2008-10-31 12:33:37 UTC (rev 4137) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandManager.java 2008-10-31 15:21:28 UTC (rev 4138) @@ -1,6 +1,6 @@ /* * @creation 21 oct. 2003 - * @modification $Date: 2007-01-17 10:45:25 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -20,7 +20,7 @@ * Des qu'une action est ajout\xE9e ou une action redo/undo est effectu\xE9e, un evenement est envoy\xE9 au CtuluCmdMngListener. * * @author Fred Deniger - * @version $Id: CtuluCommandManager.java,v 1.9 2007-01-17 10:45:25 deniger Exp $ + * @version $Id$ */ public class CtuluCommandManager implements CtuluCommandContainer { @@ -45,18 +45,19 @@ } private void update() { - boolean change = false; +// boolean change = false; boolean newValue = (cmdPersistant_ != null) || (((cmd_ != null) && (cmd_.size() > 0) && (indexLastUndoCmd_ > 0))); if (newValue != canUndo_) { canUndo_ = newValue; - change = true; +// change = true; } newValue = cmdPersistant_ == null && ((cmd_ != null) && (cmd_.size() > 0) && (indexLastUndoCmd_ != cmd_.size())); if (newValue != canRedo_) { canRedo_ = newValue; - change = true; +// change = true; } - if (change && (listener_ != null)) { + // B.M. : Appel\xE9 a chaque mise a jour de commande, car la commande poss\xE8de un nom qui doit \xEAtre visualis\xE9 dans l'ihm. + if (/*change && */(listener_ != null)) { listener_.undoredoStateChange(this); } } @@ -190,6 +191,35 @@ update(); } } + + /** + * Retourne le nom de la commande a d\xE9faire. Affich\xE9 dans le texte de la commande "undo". + * @return Le nom de la commande. Null si pas de nom. + */ + public String getUndoName() { + if (!canUndo()) return null; + int ind=indexLastUndoCmd_-1; + if (ind<0) return null; + CtuluCommand cmd=(CtuluCommand)cmd_.get(ind); + if (cmd instanceof CtuluNamedCommand) + return ((CtuluNamedCommand)cmd).getName(); + else + return null; + } + + /** + * Retourne le nom de la commande a refaire. Affich\xE9 dans le texte de la commande "redo". + * @return Le nom de la commande. Null si pas de nom. + */ + public String getRedoName() { + if (!canRedo()) return null; + int ind=indexLastUndoCmd_; + CtuluCommand cmd=(CtuluCommand)cmd_.get(ind); + if (cmd instanceof CtuluNamedCommand) + return ((CtuluNamedCommand)cmd).getName(); + else + return null; + } /** * Enleve le listener. Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluCommandManager.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluNamedCommand.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluNamedCommand.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluNamedCommand.java 2008-10-31 15:21:28 UTC (rev 4138) @@ -0,0 +1,22 @@ +/** + * @creation 20 oct. 2003 + * @modification $Date$ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail fud...@li... + */ +package org.fudaa.ctulu; +/** + * Une interface d\xE9finissant une commande utilisateur nomm\xE9e qui peut \xEAtre defaite ou refaite. + * C'est une extension destin\xE9e a supplanter \xE0 terme {@link CtuluCommand} + * + * @author Bertrand Marchand + * @version $Id$ + */ +public interface CtuluNamedCommand extends CtuluCommand { + + /** + * Retourne Le nom de la commande, affichable dans la liste des undo/redo. + */ + String getName(); +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/CtuluNamedCommand.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/commun/undo/FudaaUndoCmdMngListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/undo/FudaaUndoCmdMngListener.java 2008-10-31 12:33:37 UTC (rev 4137) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/undo/FudaaUndoCmdMngListener.java 2008-10-31 15:21:28 UTC (rev 4138) @@ -1,7 +1,7 @@ /* * @file FDicoCmdMngListener.java * @creation 22 oct. 2003 - * @modification $Date: 2008-01-24 10:19:14 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -16,13 +16,15 @@ import org.fudaa.ctulu.CtuluCmdMngListener; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluUndoRedoInterface; +import org.fudaa.fudaa.commun.impl.Fudaa; +import org.fudaa.fudaa.ressource.FudaaResource; /** * Class for undoredo manager with concurrent access. Each internal frame implementing {@link CtuluUndoRedoInterface} * has its own manager, independant from the others. * * @author deniger - * @version $Id: FudaaUndoCmdMngListener.java,v 1.15.8.1 2008-01-24 10:19:14 bmarchan Exp $ + * @version $Id$ */ public class FudaaUndoCmdMngListener implements CtuluCmdMngListener { @@ -94,7 +96,16 @@ * @param _b le nouvel etat */ public void setActive(final CtuluUndoRedoInterface _m,final boolean _b){ + String lbUndo=FudaaResource.FUDAA.getString("D\xE9faire"); + String lbRedo=FudaaResource.FUDAA.getString("Refaire"); + if (_b && (_m != null) && (_m.getCmdMng() != null)) { + String name; + name=_m.getCmdMng().getUndoName(); + lbUndo+=(name==null ? "":" \""+name+"\""); + name=_m.getCmdMng().getRedoName(); + lbRedo+=(name==null ? "":" \""+name+"\""); + impl_.setEnabledForAction("DEFAIRE", _m.getCmdMng().canUndo()); impl_.setEnabledForAction("REFAIRE", _m.getCmdMng().canRedo()); } @@ -102,6 +113,9 @@ impl_.setEnabledForAction("DEFAIRE", false); impl_.setEnabledForAction("REFAIRE", false); } + impl_.setDynamicTextForAction("DEFAIRE", lbUndo); + impl_.setDynamicTextForAction("REFAIRE", lbRedo); + if (_m != null) { _m.setActive(_b); } @@ -116,8 +130,18 @@ if (_source != cmdActif_) { return; } + String lbUndo=FudaaResource.FUDAA.getString("D\xE9faire"); + String lbRedo=FudaaResource.FUDAA.getString("Refaire"); + String name; + name=_source.getUndoName(); + lbUndo+=(name==null ? "":" \""+name+"\""); + name=_source.getRedoName(); + lbRedo+=(name==null ? "":" \""+name+"\""); + impl_.setEnabledForAction("DEFAIRE", _source.canUndo()); impl_.setEnabledForAction("REFAIRE", _source.canRedo()); + impl_.setDynamicTextForAction("DEFAIRE", lbUndo); + impl_.setDynamicTextForAction("REFAIRE", lbRedo); final JInternalFrame[] fs = impl_.getAllInternalFrames(); if (fs != null) { for (int i = fs.length - 1; i >= 0; i--) { Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/commun/undo/FudaaUndoCmdMngListener.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-10-31 15:23:58
|
Revision: 4139 http://fudaa.svn.sourceforge.net/fudaa/?rev=4139&view=rev Author: bmarchan Date: 2008-10-31 15:23:54 +0000 (Fri, 31 Oct 2008) Log Message: ----------- Undo/redo sur cr?\195?\169ation/destruction de calque. Modified Paths: -------------- 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/ZCalqueMultiPointEditable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueNewCalqueAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java Property Changed: ---------------- 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/ZCalqueMultiPointEditable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueNewCalqueAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java Modified: 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/ZCalqueLigneBriseeEditable.java 2008-10-31 15:21:28 UTC (rev 4138) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java 2008-10-31 15:23:54 UTC (rev 4139) @@ -1,6 +1,6 @@ /* * @creation 1 avr. 2005 - * @modification $Date: 2008-03-28 15:01:01 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -32,17 +32,17 @@ /** * @author Fred Deniger - * @version $Id: ZCalqueLigneBriseeEditable.java,v 1.8.6.7 2008-03-28 15:01:01 bmarchan Exp $ + * @version $Id$ */ public class ZCalqueLigneBriseeEditable extends ZCalqueLigneBrisee implements ZCalqueEditable { - ZEditorInterface editor_; + ZEditorDefault editor_; public ZCalqueLigneBriseeEditable() { super(); } - public ZCalqueLigneBriseeEditable(final ZModeleLigneBriseeEditable _modele, final ZEditorInterface _editor) { + public ZCalqueLigneBriseeEditable(final ZModeleLigneBriseeEditable _modele, final ZEditorDefault _editor) { modele_ = _modele; if(modele_!=null) modele_.addModelListener(this); @@ -221,7 +221,7 @@ return true; } - public final ZEditorInterface getEditor() { + public final ZEditorDefault getEditor() { return editor_; } @@ -363,7 +363,7 @@ return r; } - public final void setEditor(final ZEditorInterface _editor) { + public final void setEditor(final ZEditorDefault _editor) { editor_ = _editor; } } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueMultiPointEditable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueMultiPointEditable.java 2008-10-31 15:21:28 UTC (rev 4138) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueMultiPointEditable.java 2008-10-31 15:23:54 UTC (rev 4139) @@ -1,6 +1,6 @@ /* * @creation 1 avr. 2005 - * @modification $Date: 2008-03-26 16:46:43 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -33,18 +33,18 @@ /** * Un calque pour les multipoints editables. * @author Bertrand Marchand - * @version $Id: ZCalqueMultiPointEditable.java,v 1.1.2.1 2008-03-26 16:46:43 bmarchan Exp $ + * @version $Id$ */ public class ZCalqueMultiPointEditable extends ZCalqueMultiPoint implements ZCalqueEditable { - ZEditorInterface editor_; + ZEditorDefault editor_; /** * Le seul constructeur, avec le modele \xE9ditable. * @param _modele * @param _editor */ - public ZCalqueMultiPointEditable(final ZModeleMultiPointEditable _modele, final ZEditorInterface _editor) { + public ZCalqueMultiPointEditable(final ZModeleMultiPointEditable _modele, final ZEditorDefault _editor) { super(_modele); editor_ = _editor; } @@ -127,7 +127,7 @@ * Retourne l'\xE9diteur pour les objets selectionn\xE9s. * @return L'editeur. Peut \xEAtre null. */ - public final ZEditorInterface getEditor() { + public final ZEditorDefault getEditor() { return editor_; } @@ -352,7 +352,7 @@ * Definit l'\xE9diteur pour les objets selectionn\xE9s. * @param _editor L'editeur. */ - public final void setEditor(final ZEditorInterface _editor) { + public final void setEditor(final ZEditorDefault _editor) { editor_ = _editor; } } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueMultiPointEditable.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java 2008-10-31 15:21:28 UTC (rev 4138) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java 2008-10-31 15:23:54 UTC (rev 4139) @@ -1,6 +1,6 @@ /* * @creation 22 avr. 08 - * @modification $Date: 2008-05-13 12:10:30 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -15,11 +15,12 @@ import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.calque.ZScene; import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.ressource.EbliResource; /** * Regroupe les traitements d'\xE9dition de la scene. * @author Bertrand Marchand - * @version $Id: ZSceneEditor.java,v 1.1.2.1 2008-05-13 12:10:30 bmarchan Exp $ + * @version $Id$ */ public class ZSceneEditor { protected ZScene scene_; @@ -55,7 +56,8 @@ public void rotateSelectedObjects(double _angRad, double _xreel0, double _yreel0) { ZCalqueEditable[] cqs=scene_.getEditableLayers(); - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite( + EbliResource.EBLI.getString("Rotation de s\xE9lection")); for (int i=0; i<cqs.length; i++) { cqs[i].rotateSelectedObjects(_angRad, _xreel0, _yreel0, cmp, ui_); } @@ -66,7 +68,8 @@ public void moveSelectedObjects(final double _dx, final double _dy, final double _dz) { ZCalqueEditable[] cqs=scene_.getEditableLayers(); - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite( + EbliResource.EBLI.getString("D\xE9placer s\xE9lection")); for (int i=0; i<cqs.length; i++) { if (_dx != 0 || _dy != 0 || _dz!=0) { cqs[i].moveSelectedObjects(_dx, _dy, _dz, cmp, ui_); @@ -79,7 +82,8 @@ public void removeSelectedObjects(CtuluCommandContainer _cmd) { ZCalqueEditable[] cqs=scene_.getEditableLayers(); - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite( + EbliResource.EBLI.getString("Supprimer s\xE9lection")); for (int i=0; i<cqs.length; i++) { cqs[i].removeSelectedObjects(cmp, ui_); } @@ -93,7 +97,8 @@ */ public void copySelectedObjects() { ZCalqueEditable[] cqs=scene_.getEditableLayers(); - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite( + EbliResource.EBLI.getString("Dupliquer s\xE9lection")); for (int i=0; i<cqs.length; i++) { cqs[i].copySelectedObjects(cmp, ui_); } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueNewCalqueAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueNewCalqueAction.java 2008-10-31 15:21:28 UTC (rev 4138) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueNewCalqueAction.java 2008-10-31 15:23:54 UTC (rev 4139) @@ -1,6 +1,6 @@ /* * @creation 1 avr. 2005 - * @modification $Date: 2008/05/13 12:10:50 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -11,23 +11,50 @@ import javax.swing.Icon; +import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluNamedCommand; import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.BGroupeCalque; import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.commun.EbliActionSimple; -import org.fudaa.fudaa.modeleur.layer.MdlLayer2dCloud; -import org.fudaa.fudaa.modeleur.layer.MdlLayer2dLevel; -import org.fudaa.fudaa.modeleur.layer.MdlLayer2dProfile; import org.fudaa.fudaa.modeleur.layer.MdlLayerFactory; import org.fudaa.fudaa.modeleur.layer.MdlLayerInterface; +import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** * Une action pour cr\xE9er un nouveau calque. * @author Bertrand Marchand - * @version $Id: CalqueNewCalqueAction.java,v 1.1.2.1 2008/05/13 12:10:50 bmarchan Exp $ + * @version $Id$ */ public class CalqueNewCalqueAction extends EbliActionSimple { + + /** Une op\xE9ration de construction d'un nouveau calque */ + class OperationForLayerCreation implements CtuluNamedCommand { + private final BCalque parent_; + private final ZCalqueAffichageDonnees la_; + + /** + * @param _parent le calque parent + * @param _la le calque ajout\xE9 + */ + OperationForLayerCreation(BCalque _parent, ZCalqueAffichageDonnees _la) { + parent_ = _parent; + la_ = _la; + } + + public void redo() { + parent_.enDernier(la_); + } + + public void undo() { + parent_.remove(la_); + } + + public String getName() { + return FudaaResource.FUDAA.getString("Nouveau calque"); + } + } FSigEditor editor_; BCalque parent_; @@ -51,6 +78,11 @@ public void actionPerformed(final ActionEvent _e) { ZCalqueAffichageDonnees cq=MdlLayerFactory.getInstance().createLayer(cqType_, editor_); cq.setName(BGroupeCalque.findUniqueChildName(parent_, ((MdlLayerInterface)cq).getExtName())); - parent_.enDernier(cq); + CtuluCommand cmd=new OperationForLayerCreation(parent_,cq); + cmd.redo(); + + if (editor_.getMng()!=null) { + editor_.getMng().addCmd(cmd); + } } } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueNewCalqueAction.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLine.java 2008-10-31 15:21:28 UTC (rev 4138) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLine.java 2008-10-31 15:23:54 UTC (rev 4139) @@ -1,6 +1,6 @@ /* * @creation 20 janv. 08 - * @modification $Date: 2008/05/13 12:10:44 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -11,9 +11,13 @@ import java.util.ArrayList; import java.util.Arrays; +import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluLibArray; +import org.fudaa.ctulu.CtuluNamedCommand; import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.BCalquePersistenceInterface; import org.fudaa.ebli.calque.BGroupeCalque; +import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.trace.TraceLigne; @@ -21,15 +25,47 @@ import org.fudaa.fudaa.modeleur.MdlEditionManager; import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dLinePersistence; +import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.layer.FSigEditor; +import org.fudaa.fudaa.sig.layer.FSigLayerGroup; import org.fudaa.fudaa.sig.layer.FSigLayerLineEditable; /** * Un calque pour le stockage et la manipulation des donn\xE9es altim\xE9triques. * @author Bertrand Marchand - * @version $Id: MdlLayer2dLine.java,v 1.1.2.1 2008/05/13 12:10:44 bmarchan Exp $ + * @version $Id$ */ public abstract class MdlLayer2dLine extends FSigLayerLineEditable implements MdlLayerInterface { + + /** Une op\xE9ration de destruction d'un calque */ + private class OperationForLayerDestruction implements CtuluNamedCommand { + private final BCalque parent_; + private final ZCalqueAffichageDonnees la_; + private final int idx_; + + /** + * @param _parent le calque parent + * @param _la le calque ajout\xE9 + * @param _idx Position du calque. + */ + OperationForLayerDestruction(BCalque _parent, ZCalqueAffichageDonnees _la, int _idx) { + parent_ = _parent; + la_ = _la; + idx_=_idx; + } + + public void redo() { + MdlLayer2dLine.super.detruire(); + } + + public void undo() { + parent_.add(la_,idx_); + } + + public String getName() { + return FudaaResource.FUDAA.getString("D\xE9truire calque"); + } + } /** * Constructeur. Utilise un mod\xE8le de donn\xE9es et un editeur. @@ -83,14 +119,15 @@ if (!((MdlEditionManager)getEditor()).getUi().question("Confirmez la destruction","Le calque contient des g\xE9om\xE9tries.\nVoulez vous poursuivre la destruction ?")) return; } + + int ind=0; + while (ind<cqs.length && cqs[ind]!=this) ind++; + CtuluCommand cmd=new OperationForLayerDestruction(gc,this,ind); + cmd.redo(); + clearSelection(); - super.detruire(); + if (getEditor().getMng()!=null) { + getEditor().getMng().addCmd(cmd); + } } - - -// /** -// * Retourne le nom par defaut du calque. -// * @return Le nom. -// */ -// public abstract String getExtName(); } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLine.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java 2008-10-31 15:21:28 UTC (rev 4138) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java 2008-10-31 15:23:54 UTC (rev 4139) @@ -1,6 +1,6 @@ /* * @creation 20 janv. 08 - * @modification $Date: 2008/05/13 12:10:45 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -10,9 +10,12 @@ import java.util.ArrayList; import java.util.Arrays; +import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluNamedCommand; import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.BCalquePersistenceInterface; import org.fudaa.ebli.calque.BGroupeCalque; +import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.edition.ZCalqueMultiPointEditable; import org.fudaa.ebli.calque.edition.ZModeleMultiPointEditable; import org.fudaa.ebli.commun.EbliActionInterface; @@ -20,15 +23,46 @@ import org.fudaa.fudaa.modeleur.MdlResource; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dCloudPersistence; import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dMultiPointPersistence; +import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** * Un calque pour le stockage et la manipulation des donn\xE9es altim\xE9triques. * @author Bertrand Marchand - * @version $Id: MdlLayer2dMultiPoint.java,v 1.1.2.1 2008/05/13 12:10:45 bmarchan Exp $ + * @version $Id$ */ public abstract class MdlLayer2dMultiPoint extends ZCalqueMultiPointEditable implements MdlLayerInterface { - + + /** Une op\xE9ration de destruction d'un calque */ + private class OperationForLayerDestruction implements CtuluNamedCommand { + private final BCalque parent_; + private final ZCalqueAffichageDonnees la_; + private final int idx_; + + /** + * @param _parent le calque parent + * @param _la le calque ajout\xE9 + * @param _idx Position du calque. + */ + OperationForLayerDestruction(BCalque _parent, ZCalqueAffichageDonnees _la, int _idx) { + parent_ = _parent; + la_ = _la; + idx_=_idx; + } + + public void redo() { + MdlLayer2dMultiPoint.super.detruire(); + } + + public void undo() { + parent_.add(la_,idx_); + } + + public String getName() { + return FudaaResource.FUDAA.getString("D\xE9truire calque"); + } + } + /** * Constructeur. Utilise un mod\xE8le de donn\xE9es et un editeur. * @param _model Modele @@ -82,7 +116,15 @@ return; } - super.detruire(); + int ind=0; + while (ind<cqs.length && cqs[ind]!=this) ind++; + CtuluCommand cmd=new OperationForLayerDestruction(gc,this,ind); + cmd.redo(); + clearSelection(); + + if (getEditor().getMng()!=null) { + getEditor().getMng().addCmd(cmd); + } } // /** Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-10-31 15:52:57
|
Revision: 4140 http://fudaa.svn.sourceforge.net/fudaa/?rev=4140&view=rev Author: emmanuel_martin Date: 2008-10-31 15:52:43 +0000 (Fri, 31 Oct 2008) Log Message: ----------- bigfix #81 : "Import d'une image dans le calque Fond de cartes plante." Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 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-31 15:23:54 UTC (rev 4139) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-10-31 15:52:43 UTC (rev 4140) @@ -592,18 +592,23 @@ } } attr_ = newAtt; - fireAttributeValueChanged(-1, null, -1, null); + //TODO: A am\xE9liorer : appeler ces fire que quand il y a eu effectivement un ajout + // ou une suppression d'attribut. + fireAttributeAdded(-1, null); + fireAttributeRemoved(-1, null); if (_cmd != null) { _cmd.addCmd(new CtuluCommand() { public void redo() { attr_ = newAtt; - fireAttributeValueChanged(-1, null, -1, null); + fireAttributeAdded(-1, null); + fireAttributeRemoved(-1, null); } public void undo() { attr_ = old; - fireAttributeValueChanged(-1, null, -1, null); + fireAttributeAdded(-1, null); + fireAttributeRemoved(-1, null); } }); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2008-10-31 15:23:54 UTC (rev 4139) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2008-10-31 15:52:43 UTC (rev 4140) @@ -119,9 +119,11 @@ } protected void firePropertyChange(Object _source, String _propertyName, Object _oldValue, Object _newValue) { - PropertyChangeEvent event=new PropertyChangeEvent(_source, _propertyName, _oldValue, _newValue); - for (int i=0; i<listeners_.get(_propertyName).size(); i++) - listeners_.get(_propertyName).get(i).propertyChange(event); + if(listeners_.containsKey(_propertyName)){ + PropertyChangeEvent event=new PropertyChangeEvent(_source, _propertyName, _oldValue, _newValue); + for (int i=0; i<listeners_.get(_propertyName).size(); i++) + listeners_.get(_propertyName).get(i).propertyChange(event); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-10-31 17:36:22
|
Revision: 4141 http://fudaa.svn.sourceforge.net/fudaa/?rev=4141&view=rev Author: bmarchan Date: 2008-10-31 17:36:20 +0000 (Fri, 31 Oct 2008) Log Message: ----------- Undo/redo sur destruction de calque + propre. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalque.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalqueModel.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/layer/MdlLayer2dLine.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/TreeDeleteCalqueAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalque.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalqueModel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalque.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalque.java 2008-10-31 15:52:43 UTC (rev 4140) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalque.java 2008-10-31 17:36:20 UTC (rev 4141) @@ -1,6 +1,6 @@ /** * @creation 1998-09-02 - * @modification $Date: 2007-05-04 13:49:43 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -79,8 +79,7 @@ addMenuItem(EbliResource.EBLI.getString("En dernier"), "DERNIER", EbliResource.EBLI.getIcon("endernier"), true, 0, _arbre); addSeparator(); - addMenuItem(EbliResource.EBLI.getString("D\xE9truire"), "DETRUIRE", CtuluResource.CTULU.getIcon("detruire"), true, 0, - _arbre); + add(new JMenuItem(_arbre.actDelete_)); } } @@ -128,7 +127,7 @@ /** * Un arbre de calques. Composant graphique de representation de la hierarchie des calques sous forme d'arbre. * - * @version $Id: BArbreCalque.java,v 1.35 2007-05-04 13:49:43 deniger Exp $ + * @version $Id$ * @author Guillaume Desnoix */ Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalque.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalqueModel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalqueModel.java 2008-10-31 15:52:43 UTC (rev 4140) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalqueModel.java 2008-10-31 17:36:20 UTC (rev 4141) @@ -1,6 +1,6 @@ /** * @creation 15 sept. 2003 - * @modification $Date: 2008-05-13 12:10:38 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -43,71 +43,21 @@ import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ctulu.gui.CtuluPopupMenu; +import org.fudaa.ebli.calque.action.TreeDeleteCalqueAction; +import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.ressource.EbliResource; /** * @author deniger - * @version $Id: BArbreCalqueModel.java,v 1.47.4.1 2008-05-13 12:10:38 bmarchan Exp $ + * @version $Id$ */ public class BArbreCalqueModel implements TreeModel, PropertyChangeListener, ActionListener, ContainerListener { private static final Object[] PROP_TO_LISTEN = CtuluLibArray.sort(new String[] { "foreground", "visible", "attenue", "rapide", "ajustement", "paletteCouleur", "iconeChanged", "title", "nodeEdit", "alpha", "model" }); - private static void fillPopupMenu(final CtuluPopupMenu _m, final BCalque _c, final BArbreCalqueModel _arbre) { - if ((_c == null) || (_arbre == null)) { - return; - } - _m.addMenuItem(EbliResource.EBLI.getString("Centrer la vue"), getActCenter(), EbliResource.EBLI - .getToolIcon("zoom-layer"), true, _arbre); - /* - * if (_c instanceof BCalqueAffichage) { final BCalqueAffichage ca = (BCalqueAffichage) _c; - * _m.addCheckBox(EbliResource.EBLI.getString("Att\xE9nu\xE9"), "ATTENUE", true, ca.isAttenue(), _arbre); - * _m.addCheckBox(EbliResource.EBLI.getString("Rapide"), "RAPIDE", true, ca.isRapide(), _arbre); } - */ - if (_c instanceof BCalqueInteraction) { - final BCalqueInteraction ci = (BCalqueInteraction) _c; - _m.addCheckBox(EbliResource.EBLI.getString("Gel\xE9"), "GELE", true, ci.isGele(), _arbre); - } - _m.addCheckBox(EbliResource.EBLI.getString("Visible"), "VISIBLE", true, _c.isVisible(), _arbre); - _m.addSeparator(); - _m.addMenuItem(EbliResource.EBLI.getString("En premier"), getActPrem(), EbliResource.EBLI.getIcon("enpremier"), - true, _arbre); - _m.addMenuItem(CtuluLib.getS("Monter"), getActUp(), CtuluResource.CTULU.getIcon("monter"), true, _arbre); - _m.addMenuItem(CtuluLib.getS("Descendre"), getActDown(), CtuluResource.CTULU.getIcon("descendre"), true, _arbre); - _m.addMenuItem(EbliResource.EBLI.getString("En dernier"), getActLast(), EbliResource.EBLI.getIcon("endernier"), - true, _arbre); - if (_c.isTitleModifiable()) { - _m - .addMenuItem(EbliResource.EBLI.getString("Renommer"), "RENAME", BuResource.BU.getIcon("renommer"), true, - _arbre); - } - if (_c.isDestructible()) { - _m.addSeparator(); - _m.addMenuItem(EbliResource.EBLI.getString("D\xE9truire"), getActDel(), EbliResource.EBLI.getIcon("detruire"), true, - _arbre); - } - final JMenuItem[] specificMenus = _c.getSpecificMenuItems(); - if (specificMenus != null) { - _m.addSeparator(); - final int nb = specificMenus.length; - for (int i = 0; i < nb; i++) { - if (specificMenus[i] == null) { - _m.addSeparator(); - } else { - _m.add(specificMenus[i]); - } - } - } - _m.setSize(_m.getPreferredSize()); - } - - private static String getActDel() { - return "DETRUIRE"; - } - private static String getActLast() { return "DERNIER"; } @@ -131,6 +81,7 @@ BCalque calque_; List listeners_; + EbliActionInterface actDelete_=new TreeDeleteCalqueAction(this); final boolean mustListen_; TreeSelectionModel selection_; @@ -250,8 +201,6 @@ actDown(c); } else if (action.equals(getActLast())) { actLast(c); - } else if (action.equals(getActDel())) { - actionDelete(c); } else { int i = action.indexOf('_'); if (i >= 0) { @@ -323,12 +272,8 @@ } } - private void actionDelete(final BCalque[] _c) { - final TreePath[] parent = getSelectionParent(); - for (int i = 0; i < _c.length; i++) { - _c[i].detruire(); - } - selection_.setSelectionPaths(parent); + public void setActionDelete(EbliActionInterface _actionDelete) { + actDelete_=_actionDelete; } private void actionCenter(final BCalque[] _c) { @@ -445,8 +390,7 @@ _m.addMenuItem(EbliResource.EBLI.getString("En dernier"), getActLast(), EbliResource.EBLI.getIcon("endernier"), true, 0, this); _m.addSeparator(); - _m.addMenuItem(EbliResource.EBLI.getString("D\xE9truire"), getActDel(), EbliResource.EBLI.getIcon("detruire"), true, - 0, this); + _m.add(new JMenuItem(actDelete_)); } private String getActNormal() { @@ -476,18 +420,64 @@ _m.addMenuItem(EbliResource.EBLI.getString("En dernier"), getActLast(), EbliResource.EBLI.getIcon("endernier"), true, this); _m.addSeparator(); - _m.addMenuItem(EbliResource.EBLI.getString("D\xE9truire"), getActDel(), EbliResource.EBLI.getIcon("detruire"), true, - this); + _m.add(new JMenuItem(actDelete_)); } public void fillPopupMenu(final CtuluPopupMenu _m) { if (selection_.getSelectionCount() > 1) { fillMenu(_m); } else if (selection_.getSelectionCount() == 1) { - fillPopupMenu(_m, getSelectedCalque(), this); + fillPopupMenu(_m, getSelectedCalque()); } } + private void fillPopupMenu(final CtuluPopupMenu _m, final BCalque _c) { + if ((_c == null) ) { + return; + } + _m.addMenuItem(EbliResource.EBLI.getString("Centrer la vue"), getActCenter(), EbliResource.EBLI + .getToolIcon("zoom-layer"), true, this); + /* + * if (_c instanceof BCalqueAffichage) { final BCalqueAffichage ca = (BCalqueAffichage) _c; + * _m.addCheckBox(EbliResource.EBLI.getString("Att\xE9nu\xE9"), "ATTENUE", true, ca.isAttenue(), _arbre); + * _m.addCheckBox(EbliResource.EBLI.getString("Rapide"), "RAPIDE", true, ca.isRapide(), _arbre); } + */ + if (_c instanceof BCalqueInteraction) { + final BCalqueInteraction ci = (BCalqueInteraction) _c; + _m.addCheckBox(EbliResource.EBLI.getString("Gel\xE9"), "GELE", true, ci.isGele(), this); + } + _m.addCheckBox(EbliResource.EBLI.getString("Visible"), "VISIBLE", true, _c.isVisible(), this); + _m.addSeparator(); + _m.addMenuItem(EbliResource.EBLI.getString("En premier"), getActPrem(), EbliResource.EBLI.getIcon("enpremier"), + true, this); + _m.addMenuItem(CtuluLib.getS("Monter"), getActUp(), CtuluResource.CTULU.getIcon("monter"), true, this); + _m.addMenuItem(CtuluLib.getS("Descendre"), getActDown(), CtuluResource.CTULU.getIcon("descendre"), true, this); + _m.addMenuItem(EbliResource.EBLI.getString("En dernier"), getActLast(), EbliResource.EBLI.getIcon("endernier"), + true, this); + if (_c.isTitleModifiable()) { + _m + .addMenuItem(EbliResource.EBLI.getString("Renommer"), "RENAME", BuResource.BU.getIcon("renommer"), true, + this); + } + if (_c.isDestructible()) { + _m.addSeparator(); + _m.add(new JMenuItem(actDelete_)); + } + final JMenuItem[] specificMenus = _c.getSpecificMenuItems(); + if (specificMenus != null) { + _m.addSeparator(); + final int nb = specificMenus.length; + for (int i = 0; i < nb; i++) { + if (specificMenus[i] == null) { + _m.addSeparator(); + } else { + _m.add(specificMenus[i]); + } + } + } + _m.setSize(_m.getPreferredSize()); + } + /** * Renvoie le fils numero <I>_index </I> du calque <I>_parent </I>. */ Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BArbreCalqueModel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/TreeDeleteCalqueAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/TreeDeleteCalqueAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/TreeDeleteCalqueAction.java 2008-10-31 17:36:20 UTC (rev 4141) @@ -0,0 +1,55 @@ +/* + * @creation 1 avr. 2005 + * @modification $Date$ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ebli.calque.action; + +import java.awt.event.ActionEvent; + +import javax.swing.Icon; +import javax.swing.tree.TreePath; + +import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluNamedCommand; +import org.fudaa.ebli.calque.BArbreCalqueModel; +import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.BGroupeCalque; +import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.ressource.EbliResource; + +/** + * Une action pour d\xE9truire un ou plusieurs calque sur un arbre. + * @author Bertrand Marchand + * @version $Id$ + */ +public class TreeDeleteCalqueAction extends EbliActionSimple { + + protected BArbreCalqueModel treeModel_; + + /** + * Construit l'action. + * @param _treeModel Le modele d'arbre. + */ + public TreeDeleteCalqueAction(BArbreCalqueModel _treeModel) { + super(EbliResource.EBLI.getString("D\xE9truire"), EbliResource.EBLI.getIcon("detruire"), "DETRUIRE"); + treeModel_=_treeModel; + } + + public void actionPerformed(final ActionEvent _e) { + if (treeModel_==null) return; + + final BCalque[] c = treeModel_.getSelection(); + if (c.length == 0) { + return; + } + final TreePath[] parent = treeModel_.getSelectionParent(); + for (int i = 0; i < c.length; i++) { + c[i].detruire(); + } + treeModel_.getTreeSelectionModel().setSelectionPaths(parent); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/TreeDeleteCalqueAction.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/MdlVisuPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-10-31 15:52:43 UTC (rev 4140) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-10-31 17:36:20 UTC (rev 4141) @@ -17,6 +17,7 @@ import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; +import org.fudaa.fudaa.modeleur.action.CalqueDeleteCalqueAction; import org.fudaa.fudaa.modeleur.action.CalqueNewCalqueAction; import org.fudaa.fudaa.modeleur.layer.MdlLayer1dTrace; import org.fudaa.fudaa.modeleur.layer.MdlLayer2dCloud; @@ -107,6 +108,9 @@ EbliActionInterface actImport = new FSigImageImportAction(this, cqImg_); cqImg_.setActions(new EbliActionInterface[] { actImport }); + + EbliActionInterface actDeleteLayer=new CalqueDeleteCalqueAction(getGisEditor(),this.getArbreCalqueModel()); + this.getArbreCalqueModel().setActionDelete(actDeleteLayer); } /** Added: 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 (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.java 2008-10-31 17:36:20 UTC (rev 4141) @@ -0,0 +1,139 @@ +/* + * @creation 1 avr. 2005 + * @modification $Date$ + * @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.action; + +import java.awt.event.ActionEvent; + +import javax.swing.tree.TreePath; + +import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluNamedCommand; +import org.fudaa.ebli.calque.BArbreCalqueModel; +import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.BGroupeCalque; +import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; +import org.fudaa.ebli.calque.action.TreeDeleteCalqueAction; +import org.fudaa.fudaa.modeleur.layer.MdlLayerFactory; +import org.fudaa.fudaa.modeleur.layer.MdlLayerInterface; +import org.fudaa.fudaa.ressource.FudaaResource; +import org.fudaa.fudaa.sig.layer.FSigEditor; + +/** + * Une action pour supprimer un calque, avec gestion du undo/redo. + * @author Bertrand Marchand + * @version $Id$ + */ +public class CalqueDeleteCalqueAction extends TreeDeleteCalqueAction { + + /** Une op\xE9ration de destruction d'un calque */ + private class OperationForLayerDestruction implements CtuluNamedCommand { + private final BCalque parent_; + private final ZCalqueAffichageDonnees la_; + private final int idx_; + + /** + * @param _parent le calque parent + * @param _la le calque ajout\xE9 + * @param _idx Position du calque. + */ + OperationForLayerDestruction(BCalque _parent, ZCalqueAffichageDonnees _la, int _idx) { + parent_ = _parent; + la_ = _la; + idx_=_idx; + } + + public void redo() { + la_.detruire(); + } + + public void undo() { + parent_.add(la_,idx_); + } + + public String getName() { + return FudaaResource.FUDAA.getString("D\xE9truire calque"); + } + } + + FSigEditor editor_; + + /** + * 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. + */ + public CalqueDeleteCalqueAction(FSigEditor _editor, BArbreCalqueModel _mdl) { + super(_mdl); + setDefaultToolTip("Naze de chez naze..."); + editor_=_editor; + } + + public void actionPerformed(final ActionEvent _e) { + if (treeModel_==null) return; + + // On conserve le traitement par d\xE9faut pour tous les calques autres que modeleur. + if (!(treeModel_.getSelectedCalque() instanceof MdlLayerInterface)) { + super.actionPerformed(_e); + return; + } + + if (treeModel_.getSelection().length>1) { + editor_.getUi().error("Destruction non autoris\xE9e","La destruction n'est pas autoris\xE9e sur plusieurs calques.", false); + return; + } + + ZCalqueAffichageDonnees cqSel=(ZCalqueAffichageDonnees)treeModel_.getSelectedCalque(); + BGroupeCalque gc=(BGroupeCalque)cqSel.getParent(); + BCalque[] cqs=gc.getCalques(); + int nbexist=0; + for (BCalque cq: cqs) { + if (cq.getName().indexOf(((MdlLayerInterface)cqSel).getExtName())!=-1) nbexist++; + } + if (nbexist<=1) { + editor_.getUi().error("Destruction non autoris\xE9e","La destruction n'est pas autoris\xE9e.\nIl doit exister au moins 1 calque de ce type.", false); + return; + } + if (cqSel.modeleDonnees().getNombre()!=0) { + if (!editor_.getUi().question("Confirmez la destruction","Le calque contient des g\xE9om\xE9tries.\nVoulez vous poursuivre la destruction ?")) + return; + } + + int ind=0; + while (ind<cqs.length && cqs[ind]!=cqSel) ind++; + CtuluCommand cmd=new OperationForLayerDestruction(gc,cqSel,ind); + cmd.redo(); + cqSel.clearSelection(); + + if (editor_.getMng()!=null) { + editor_.getMng().addCmd(cmd); + } + final BCalque[] c = treeModel_.getSelection(); + if (c.length == 0) { + return; + } + final TreePath[] parent = treeModel_.getSelectionParent(); + for (int i = 0; i < c.length; i++) { + c[i].detruire(); + } + treeModel_.getTreeSelectionModel().setSelectionPaths(parent); + } + +// public void actionPerformed(final ActionEvent _e) { +// ZCalqueAffichageDonnees cq=MdlLayerFactory.getInstance().createLayer(cqType_, editor_); +// cq.setName(BGroupeCalque.findUniqueChildName(parent_, ((MdlLayerInterface)cq).getExtName())); +// CtuluCommand cmd=new OperationForLayerCreation(parent_,cq); +// cmd.redo(); +// +// if (editor_.getMng()!=null) { +// editor_.getMng().addCmd(cmd); +// } +// } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/action/CalqueDeleteCalqueAction.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/layer/MdlLayer2dLine.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLine.java 2008-10-31 15:52:43 UTC (rev 4140) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dLine.java 2008-10-31 17:36:20 UTC (rev 4141) @@ -7,27 +7,13 @@ */ package org.fudaa.fudaa.modeleur.layer; -import java.awt.Color; import java.util.ArrayList; import java.util.Arrays; -import org.fudaa.ctulu.CtuluCommand; -import org.fudaa.ctulu.CtuluLibArray; -import org.fudaa.ctulu.CtuluNamedCommand; -import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.BCalquePersistenceInterface; -import org.fudaa.ebli.calque.BGroupeCalque; -import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable; import org.fudaa.ebli.commun.EbliActionInterface; -import org.fudaa.ebli.trace.TraceLigne; -import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.fudaa.modeleur.MdlEditionManager; -import org.fudaa.fudaa.modeleur.MdlResource; -import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dLinePersistence; -import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.layer.FSigEditor; -import org.fudaa.fudaa.sig.layer.FSigLayerGroup; import org.fudaa.fudaa.sig.layer.FSigLayerLineEditable; /** @@ -37,35 +23,6 @@ */ public abstract class MdlLayer2dLine extends FSigLayerLineEditable implements MdlLayerInterface { - /** Une op\xE9ration de destruction d'un calque */ - private class OperationForLayerDestruction implements CtuluNamedCommand { - private final BCalque parent_; - private final ZCalqueAffichageDonnees la_; - private final int idx_; - - /** - * @param _parent le calque parent - * @param _la le calque ajout\xE9 - * @param _idx Position du calque. - */ - OperationForLayerDestruction(BCalque _parent, ZCalqueAffichageDonnees _la, int _idx) { - parent_ = _parent; - la_ = _la; - idx_=_idx; - } - - public void redo() { - MdlLayer2dLine.super.detruire(); - } - - public void undo() { - parent_.add(la_,idx_); - } - - public String getName() { - return FudaaResource.FUDAA.getString("D\xE9truire calque"); - } - } /** * Constructeur. Utilise un mod\xE8le de donn\xE9es et un editeur. @@ -100,34 +57,4 @@ super.setActions(acts); } - - /** - * Le calque peut \xEAtre d\xE9truit, seulement si plus de g\xE9ometries dedans, et qu'un autre calque du m\xEAme type existe. - */ - public void detruire() { - BGroupeCalque gc=(BGroupeCalque)getParent(); - BCalque[] cqs=gc.getCalques(); - int nbexist=0; - for (BCalque cq: cqs) { - if (cq.getName().indexOf(getExtName())!=-1) nbexist++; - } - if (nbexist<=1) { - ((MdlEditionManager)getEditor()).getUi().error("Destruction non autoris\xE9e","La destruction n'est pas autoris\xE9e.\nIl doit exister au moins 1 calque de ce type.", false); - return; - } - if (this.getModele().getNombre()!=0) { - if (!((MdlEditionManager)getEditor()).getUi().question("Confirmez la destruction","Le calque contient des g\xE9om\xE9tries.\nVoulez vous poursuivre la destruction ?")) - return; - } - - int ind=0; - while (ind<cqs.length && cqs[ind]!=this) ind++; - CtuluCommand cmd=new OperationForLayerDestruction(gc,this,ind); - cmd.redo(); - clearSelection(); - - if (getEditor().getMng()!=null) { - getEditor().getMng().addCmd(cmd); - } - } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java 2008-10-31 15:52:43 UTC (rev 4140) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java 2008-10-31 17:36:20 UTC (rev 4141) @@ -10,20 +10,10 @@ import java.util.ArrayList; import java.util.Arrays; -import org.fudaa.ctulu.CtuluCommand; -import org.fudaa.ctulu.CtuluNamedCommand; -import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.BCalquePersistenceInterface; -import org.fudaa.ebli.calque.BGroupeCalque; -import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.edition.ZCalqueMultiPointEditable; import org.fudaa.ebli.calque.edition.ZModeleMultiPointEditable; import org.fudaa.ebli.commun.EbliActionInterface; -import org.fudaa.fudaa.modeleur.MdlEditionManager; -import org.fudaa.fudaa.modeleur.MdlResource; -import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dCloudPersistence; -import org.fudaa.fudaa.modeleur.persistence.MdlLayer2dMultiPointPersistence; -import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.layer.FSigEditor; /** @@ -33,36 +23,6 @@ */ public abstract class MdlLayer2dMultiPoint extends ZCalqueMultiPointEditable implements MdlLayerInterface { - /** Une op\xE9ration de destruction d'un calque */ - private class OperationForLayerDestruction implements CtuluNamedCommand { - private final BCalque parent_; - private final ZCalqueAffichageDonnees la_; - private final int idx_; - - /** - * @param _parent le calque parent - * @param _la le calque ajout\xE9 - * @param _idx Position du calque. - */ - OperationForLayerDestruction(BCalque _parent, ZCalqueAffichageDonnees _la, int _idx) { - parent_ = _parent; - la_ = _la; - idx_=_idx; - } - - public void redo() { - MdlLayer2dMultiPoint.super.detruire(); - } - - public void undo() { - parent_.add(la_,idx_); - } - - public String getName() { - return FudaaResource.FUDAA.getString("D\xE9truire calque"); - } - } - /** * Constructeur. Utilise un mod\xE8le de donn\xE9es et un editeur. * @param _model Modele @@ -97,39 +57,4 @@ super.setActions(acts); } - /** - * Le calque peut \xEAtre d\xE9truit, seulement si plus de g\xE9ometries dedans, et qu'un autre calque du m\xEAme type existe. - */ - public void detruire() { - BGroupeCalque gc=(BGroupeCalque)getParent(); - BCalque[] cqs=gc.getCalques(); - int nbexist=0; - for (BCalque cq: cqs) { - if (cq.getName().indexOf(getExtName())!=-1) nbexist++; - } - if (nbexist<=1) { - ((MdlEditionManager)getEditor()).getUi().error("Destruction non autoris\xE9e","La destruction n'est pas autoris\xE9e.\nIl doit exister au moins 1 calque de ce type.", false); - return; - } - if (this.modeleDonnees().getNombre()!=0) { - if (!((MdlEditionManager)getEditor()).getUi().question("Confirmez la destruction","Le calque contient des g\xE9om\xE9tries.\nVoulez vous poursuivre la destruction ?")) - return; - } - - int ind=0; - while (ind<cqs.length && cqs[ind]!=this) ind++; - CtuluCommand cmd=new OperationForLayerDestruction(gc,this,ind); - cmd.redo(); - clearSelection(); - - if (getEditor().getMng()!=null) { - getEditor().getMng().addCmd(cmd); - } - } - -// /** -// * Retourne le nom par defaut du calque. -// * @return Le nom. -// */ -// public abstract String getExtName(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
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] |
From: <emm...@us...> - 2008-10-30 09:47:54
|
Revision: 4110 http://fudaa.svn.sourceforge.net/fudaa/?rev=4110&view=rev Author: emmanuel_martin Date: 2008-10-30 09:47:50 +0000 (Thu, 30 Oct 2008) Log Message: ----------- Nouvelle modification de l'architecture des listeners de GIS et de Model. Correction d'un bug dans la selection dans le tableau devisibilit?\195?\169. Modified Paths: -------------- 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/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/rubar/H2dRubarDonneesBrutes.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.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/BPaletteEditVisibility.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/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/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/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/GISZoneListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelGeometryListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelListener.java Removed 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/GISCollectionData.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GeometryListener.java 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-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListObject.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -217,7 +217,6 @@ public void redo() { remove(idx_); - fireObjectRemoved(-1, null); } public void undo() { Deleted: 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 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/AttributeListener.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -1,66 +0,0 @@ -/* - * @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); -} 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-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeListener.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -10,7 +10,8 @@ /** * 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. + * model voir GISZoneListener et pour voir la communication entre le model et le + * reste du monde, voir ZModeleListener et ZModeleGeometryListener. * * @author Fred Deniger * @version $Id: GISAttributeListener.java,v 1.3 2006-02-09 08:59:28 deniger Exp 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-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -89,8 +89,8 @@ protected GISObjectContainer geometry_; - /** Une instance \xE9coutant les actions effectu\xE9e sur les objets g\xE9om\xE9triques. */ - private transient GeometryListener geometryListener_; + /** Une instance \xE9coutant les actions effectu\xE9e sur les objets. */ + protected transient GISZoneListener listener_; public GISCollection() { this(GISGeometryFactory.INSTANCE, 20); @@ -152,23 +152,23 @@ } protected void fireGeometryAdded(int _newIdx, Geometry _newGeom) { - if (geometryListener_!=null) - geometryListener_.geometryAction(this, _newIdx, _newGeom, GeometryListener.GEOMETRY_ACTION_ADD); + if (listener_!=null) + listener_.objectAction(this, _newIdx, _newGeom, GISZoneListener.OBJECT_ACTION_ADD); } protected void fireGeometryRemoved(int _oldIdx, Geometry _oldGeom) { - if (geometryListener_!=null) - geometryListener_.geometryAction(this, _oldIdx, _oldGeom, GeometryListener.GEOMETRY_ACTION_REMOVE); + if (listener_!=null) + listener_.objectAction(this, _oldIdx, _oldGeom, GISZoneListener.OBJECT_ACTION_REMOVE); } protected void fireGeometryReplaced(int _oldIdx, Geometry _oldGeom) { - if (geometryListener_!=null) - geometryListener_.geometryAction(this, _oldIdx, _oldGeom, GeometryListener.GEOMETRY_ACTION_REPLACE); + if (listener_!=null) + listener_.objectAction(this, _oldIdx, _oldGeom, GISZoneListener.OBJECT_ACTION_REPLACE); } protected void fireGeometryStructureChanged(int _idx, Geometry _geom) { - if (geometryListener_!=null) - geometryListener_.geometryAction(this, _idx, _geom, GeometryListener.GEOMETRY_ACTION_STRUCTURE_CHANGE); + if (listener_!=null) + listener_.objectAction(this, _idx, _geom, GISZoneListener.OBJECT_ACTION_STRUCTURE_CHANGE); } protected Envelope computeEnvelopeInternal() { @@ -193,8 +193,8 @@ protected void internActionPointRemoved(final int[] _i, final CtuluCommandContainer _c) {} - public void setGeometryListener(final GeometryListener _geometryListener) { - geometryListener_=_geometryListener; + public void setListener(final GISZoneListener _listener) { + listener_=_listener; } public boolean accept(final GISVisitor _v) { @@ -353,8 +353,8 @@ return sum; } - public GeometryListener getGeometryListener() { - return geometryListener_; + public GISZoneListener getListener() { + return listener_; } public int getNumGeometries() { Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollectionData.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollectionData.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollectionData.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -1,192 +0,0 @@ -/* - * @creation 7 avr. 2005 - * @modification $Date: 2008-02-04 17:11:59 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ctulu.gis; - -import java.util.Arrays; -import java.util.List; - -import com.vividsolutions.jts.geom.GeometryFactory; - -import org.fudaa.ctulu.CtuluCommandContainer; -import org.fudaa.ctulu.collection.CtuluCollection; - -/** - * Une classe abstraite permettant de g\xE9rer des donn\xE9es (attributs) associ\xE9es au objets geom\xE9triques. - * - * @author Fred Deniger - * @version $Id: GISCollectionData.java,v 1.8.6.1 2008-02-04 17:11:59 bmarchan Exp $ - */ -public abstract class GISCollectionData extends GISCollection { - - public GISCollectionData() {} - - /** - * @param _factory - * @param _nbObject - */ - public GISCollectionData(final GeometryFactory _factory, final int _nbObject) { - super(_factory, _nbObject); - } - - /** - * @param _nbObject - */ - public GISCollectionData(final int _nbObject) { - super(_nbObject); - } - - /** - * Retourne le modele d'attribut d'indice donn\xE9. - * @param _i l'indice du mod\xE8le. - * @return le modele - */ - protected CtuluCollection getData(final int _i) { - return null; - } - - protected Object getDefaultValuesObject(final int _idxValues) { - return null; - } - - 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); - } - } - } - - /** - * @return 0 - */ - public int getNbAttributes() { - return 0; - } - - /** - * @param _i l'indice des valeur - * @return true si cree - */ - protected boolean isDataCreated(final int _i) { - return false; - } -} 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-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneAttributeFactory.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -153,7 +153,7 @@ * @param _attr les attributs * @return une zone correctement initialis\xE9e */ - public static GISZoneCollectionLigneBrisee createPolyligne(final AttributeListener _listener, + public static GISZoneCollectionLigneBrisee createPolyligne(final GISZoneListener _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 AttributeListener _listener, final GISAttributeInterface[] _attr) { + public static GISZoneCollectionPoint createPoint(final GISZoneListener _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 AttributeListener _listener, + public static GISZoneCollectionLigneBrisee createLigneBrisee(final GISZoneListener _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-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -50,8 +50,6 @@ 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; @@ -78,38 +76,21 @@ 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 fireAttributeAdded(int _newIdx, GISAttributeInterface _newAtt){ - if(attributeListener_!=null) - attributeListener_.attributeAction(this, _newIdx, _newAtt, AttributeListener.ATTRIBUTE_ACTION_ADD); + if(listener_!=null) + listener_.attributeAction(this, _newIdx, _newAtt, GISZoneListener.ATTRIBUTE_ACTION_ADD); } protected void fireAttributeRemoved(int _oldIdx, GISAttributeInterface _oldAtt){ - if(attributeListener_!=null) - attributeListener_.attributeAction(this, _oldIdx, _oldAtt, AttributeListener.ATTRIBUTE_ACTION_REMOVE); + if(listener_!=null) + listener_.attributeAction(this, _oldIdx, _oldAtt, GISZoneListener.ATTRIBUTE_ACTION_REMOVE); } protected void fireAttributeValueChanged(int _idxAtt, GISAttributeInterface _att, int _idxGeom, Object _newValue){ - if (attributeListener_ != null) { - attributeListener_.attributeValueChangeAction(this, _idxAtt, _att, _idxGeom, _newValue); + if (listener_ != null) { + listener_.attributeValueChangeAction(this, _idxAtt, _att, _idxGeom, _newValue); } } @@ -423,9 +404,8 @@ /** * Mise a jour des listeners et du listener principal. A utiliser lors de la restauration uniquement. */ - public void initListeners(final AttributeListener _listener) { - setGeometryListener(_listener); - setAttributeListener(_listener); + public void initListeners(final GISZoneListener _listener) { + setListener(_listener); updateListeners(); } 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-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -39,14 +39,14 @@ /** * @param _listener le listener */ - public GISZoneCollectionGeometry(final AttributeListener _listener) { + public GISZoneCollectionGeometry(final GISZoneListener _listener) { this(10, _listener); } /** * @param _listener le listener */ - public GISZoneCollectionGeometry(final AttributeListener _listener, final GISZoneCollectionGeometry _col) { + public GISZoneCollectionGeometry(final GISZoneListener _listener, final GISZoneCollectionGeometry _col) { this(10, _listener); if (_col != null) { for (int i = 0; i < _col.getNumGeometries(); i++) { @@ -55,9 +55,9 @@ } } - public GISZoneCollectionGeometry(final int _nbObject, final AttributeListener _listener) { + public GISZoneCollectionGeometry(final int _nbObject, final GISZoneListener _listener) { super(_nbObject); - setAttributeListener(_listener); + setListener(_listener); } /** 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-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionLigneBrisee.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -40,18 +40,18 @@ /** * @param _listener le listener */ - public GISZoneCollectionLigneBrisee(final AttributeListener _listener) { + public GISZoneCollectionLigneBrisee(final GISZoneListener _listener) { this(10, _listener); } /** * @param _listener le listener */ - public GISZoneCollectionLigneBrisee(final AttributeListener _listener, final GISZoneCollectionLigneBrisee _col) { + public GISZoneCollectionLigneBrisee(final GISZoneListener _listener, final GISZoneCollectionLigneBrisee _col) { super(_listener,_col); } - public GISZoneCollectionLigneBrisee(final int _nbObject, final AttributeListener _listener) { + public GISZoneCollectionLigneBrisee(final int _nbObject, final GISZoneListener _listener) { super(_nbObject,_listener); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionMultiPoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionMultiPoint.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionMultiPoint.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -31,18 +31,18 @@ /** * @param _listener le listener */ - public GISZoneCollectionMultiPoint(final AttributeListener _listener) { + public GISZoneCollectionMultiPoint(final GISZoneListener _listener) { this(10, _listener); } /** * @param _listener le listener */ - public GISZoneCollectionMultiPoint(final AttributeListener _listener, final GISZoneCollectionMultiPoint _col) { + public GISZoneCollectionMultiPoint(final GISZoneListener _listener, final GISZoneCollectionMultiPoint _col) { super(_listener,_col); } - public GISZoneCollectionMultiPoint(final int _nbObject, final AttributeListener _listener) { + public GISZoneCollectionMultiPoint(final int _nbObject, final GISZoneListener _listener) { super(_nbObject,_listener); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -32,7 +32,7 @@ /** * @param _l le listener */ - public GISZoneCollectionPoint(final AttributeListener _l) { + public GISZoneCollectionPoint(final GISZoneListener _l) { this(10, _l); } @@ -172,9 +172,9 @@ /** * @param _i le nombre attendu de points */ - public GISZoneCollectionPoint(final int _i, final AttributeListener _l) { + public GISZoneCollectionPoint(final int _i, final GISZoneListener _l) { super(_i); - setAttributeListener(_l); + setListener(_l); } public final double getX(final int _i) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPolygone.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPolygone.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPolygone.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -24,7 +24,7 @@ /** * @param _listener le listener peut etre null */ - public GISZoneCollectionPolygone(final AttributeListener _listener) { + public GISZoneCollectionPolygone(final GISZoneListener _listener) { this(10, _listener); } @@ -44,7 +44,7 @@ /** * @param _nbObject */ - public GISZoneCollectionPolygone(final int _nbObject, final AttributeListener _listener) { + public GISZoneCollectionPolygone(final int _nbObject, final GISZoneListener _listener) { super(_nbObject, _listener); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPolyligne.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPolyligne.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionPolyligne.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -24,7 +24,7 @@ /** * @param _listener le listener */ - public GISZoneCollectionPolyligne(final AttributeListener _listener) { + public GISZoneCollectionPolyligne(final GISZoneListener _listener) { this(10, _listener); } @@ -44,7 +44,7 @@ * @param _nbObject le nombre d'objets attendus * @param _listener le listener */ - public GISZoneCollectionPolyligne(final int _nbObject, final AttributeListener _listener) { + public GISZoneCollectionPolyligne(final int _nbObject, final GISZoneListener _listener) { super(_nbObject, _listener); } Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneListener.java (from rev 4107, branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/AttributeListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneListener.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneListener.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -0,0 +1,105 @@ +/* + * @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 objets et les + * attributs (si existant). Les changements sont : l'ajout d'un attribut, la + * suppression d'un attribut, le changement d'une valeur d'un attribut, l'ajout + * d'un objet, la supression d'un objet, le remplacement d'un objet par une + * autre et la modification interne d'un objet (g\xE9n\xE9ralement l'ajout ou la + * suppression de points). + * + * @author Emmanuel MARTIN + * @version $Id: AttributeListener.java 4103 2008-10-28 15:55:12Z + * emmanuel_martin $ + */ +public interface GISZoneListener { + + /** 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; + /** Action indiquant l'ajout d'une g\xE9om\xE9trie dans le conteneur de g\xE9om\xE9tries. */ + public static final int OBJECT_ACTION_ADD=2; + /** + * Action indiquant la supression d'un objet dans le conteneur de g\xE9om\xE9tries. + */ + public static final int OBJECT_ACTION_REMOVE=3; + /** + * Action indiquant la remplacement d'un objet dans le conteneur de + * g\xE9om\xE9tries. + */ + public static final int OBJECT_ACTION_REPLACE=4; + /** + * Action indiquant la modification des donn\xE9es internes \xE0 l'objet. + * G\xE9n\xE9ralement une modification de ses sommets. + */ + public static final int OBJECT_ACTION_STRUCTURE_CHANGE=5; + + /** + * 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 l'attribut. 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 _indexObj + * L'objet concern\xE9. Si \xE9gale \xE0 -1, tout les objets ont pu \xEAtre + * modifi\xE9s. + * @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 _indexObj, Object _newValue); + + /** + * M\xE9thode appel\xE9e lorsqu'une action est effectu\xE9e sur un objet. + * + * @param _source + * L'instance appelant objectAction. + * @param _indexObj + * L'index de l'objet. Si l'action est l'ajout ou la modification, + * 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 objets ont pu \xEAtre modifi\xE9es. + * @param _obj + * La g\xE9om\xE9trie concern\xE9e. Si null tout les objets ont pu \xEAtre + * modifi\xE9es. + * @param _action + * L'action effectu\xE9e sur la g\xE9om\xE9trie. Voir les OBJECT_ACTION_*. + */ + public void objectAction(Object _source, int _indexObj, Object _obj, int _action); +} Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GeometryListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GeometryListener.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GeometryListener.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -1,60 +0,0 @@ -/* - * @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; - -import com.vividsolutions.jts.geom.Geometry; - -/** - * Cette interface permet l'\xE9coute des changements concernant les objets - * g\xE9om\xE9triques. Les changements sont : l'ajout d'une g\xE9om\xE9trie, la suppression - * d'une g\xE9om\xE9trie, le remplacement d'une g\xE9om\xE9trie par une autre et la - * modification interne d'une g\xE9om\xE9trie (g\xE9n\xE9ralement l'ajout ou la suppression - * de points). - * - * @author Emmanuel MARTIN - * @version $Id:$ - */ -public interface GeometryListener { - - /** Action indiquant l'ajout d'une g\xE9om\xE9trie dans le conteneur de g\xE9om\xE9tries. */ - public static final int GEOMETRY_ACTION_ADD=0; - /** - * Action indiquant la supression d'une g\xE9om\xE9trie dans le conteneur de - * g\xE9om\xE9tries. - */ - public static final int GEOMETRY_ACTION_REMOVE=0; - /** - * Action indiquant la remplacement d'une g\xE9om\xE9trie dans le conteneur de - * g\xE9om\xE9tries. - */ - public static final int GEOMETRY_ACTION_REPLACE=0; - /** - * Action indiquant la modification des donn\xE9es internes \xE0 la g\xE9om\xE9trie. - * G\xE9n\xE9ralement une modification de ses sommets. - */ - public static final int GEOMETRY_ACTION_STRUCTURE_CHANGE=0; - - /** - * M\xE9thode appel\xE9e lorsqu'une action est effectu\xE9e sur une g\xE9om\xE9trie. - * - * @param _source - * L'instance appelant geometryAction. - * @param _indexGeom - * L'index de la g\xE9om\xE9trie. Si l'action est l'ajout ou la - * modification, 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, toutes les g\xE9om\xE9tries ont pu \xEAtre - * modifi\xE9es. - * @param _geom - * La g\xE9om\xE9trie concern\xE9e. Si null toutes les g\xE9om\xE9tries ont pu \xEAtre - * modifi\xE9es. - * @param _action - * L'action effectu\xE9e sur la g\xE9om\xE9trie. Voir les GEOMETRY_ACTION_*. - */ - public void geometryAction(Object _source, int _indexGeom, Geometry _geom, int _action); -} Modified: 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/H2dRubarDonneesBrutes.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarDonneesBrutes.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -347,27 +347,18 @@ } } - class NuageListener implements AttributeListener { + class NuageListener implements GISZoneListener { - /* (non-Javadoc) - * @see org.fudaa.ctulu.gis.AttributeListener#attributeAction(java.lang.Object, int, org.fudaa.ctulu.gis.GISAttributeInterface, int) - */ public void attributeAction(Object _source, int att, GISAttributeInterface _att, int _action) { fireDonneesBrutesNuageDataNombreChanged(); } - /* (non-Javadoc) - * @see org.fudaa.ctulu.gis.AttributeListener#attributeValueChangeAction(java.lang.Object, int, org.fudaa.ctulu.gis.GISAttributeInterface, int, java.lang.Object) - */ public void attributeValueChangeAction(Object _source, int att, GISAttributeInterface _att, int geom, Object value) { fireDonneesBrutesNuageDataChanged(); } - /* (non-Javadoc) - * @see org.fudaa.ctulu.gis.GeometryListener#geometryAction(java.lang.Object, int, com.vividsolutions.jts.geom.Geometry, int) - */ - public void geometryAction(Object _source, int geom, Geometry _geom, int _action) { - if (_action == GEOMETRY_ACTION_REPLACE) { + public void objectAction(Object _source, int geom, Object _obj, int _action) { + if (_action == OBJECT_ACTION_REPLACE) { fireDonneesBrutesNuageSupportChanged(); } else { fireDonneesBrutesNuageSupportAddOrRemoved(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/BCalquePaletteInfo.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -13,7 +13,6 @@ import javax.swing.event.TreeSelectionListener; import org.fudaa.ctulu.CtuluLibString; -import org.fudaa.ctulu.gis.AttributeListener; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.palette.BPaletteInfo; @@ -24,7 +23,7 @@ * @author deniger * @version $Id: BCalquePaletteInfo.java,v 1.7 2007-05-04 13:49:43 deniger Exp $ */ -public class BCalquePaletteInfo extends BPaletteInfo implements TreeSelectionListener, ZSelectionListener, AttributeListener { +public class BCalquePaletteInfo extends BPaletteInfo implements TreeSelectionListener, ZSelectionListener, ZModelGeometryListener { private ArrayList<ZCalqueAffichageDonneesInterface> calqueWithGeometriesSelected_; private BArbreCalqueModel treeModel_; @@ -104,8 +103,7 @@ calqueWithGeometriesSelected_.add(_evt.getSource()); ZModeleDonnees model=_evt.getSource().modeleDonnees(); if(model instanceof ZModeleGeometry) - ((ZModeleGeometry)model).addAttributeListener(this); - model.addGeometryListener(this); + ((ZModeleGeometry)model).addModelListener(this); } } else { @@ -113,8 +111,7 @@ calqueWithGeometriesSelected_.remove(_evt.getSource()); ZModeleDonnees model=_evt.getSource().modeleDonnees(); if(model instanceof ZModeleGeometry) - ((ZModeleGeometry)model).removeAttributeListener(this); - model.removeGeometryListener(this); + ((ZModeleGeometry)model).removeModelListener(this); } } updateTableModel(); @@ -128,8 +125,7 @@ for(int i=0;i<calqueWithGeometriesSelected_.size();i++){ ZModeleDonnees model=calqueWithGeometriesSelected_.get(i).modeleDonnees(); if(model instanceof ZModeleGeometry) - ((ZModeleGeometry)model).removeAttributeListener(this); - model.removeGeometryListener(this); + ((ZModeleGeometry)model).removeModelListener(this); } calqueWithGeometriesSelected_.clear(); // R\xE9cup\xE9ration des calques ayant une selection et ajout des \xE9coutes @@ -139,8 +135,7 @@ calqueWithGeometriesSelected_.add(calques[i]); ZModeleDonnees model=calques[i].modeleDonnees(); if(model instanceof ZModeleGeometry) - ((ZModeleGeometry)model).addAttributeListener(this); - model.addGeometryListener(this); + ((ZModeleGeometry)model).addModelListener(this); } // Mise \xE0 jour du tableau des informations updateTableModel(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -9,7 +9,6 @@ import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluListSelectionInterface; -import org.fudaa.ctulu.gis.GeometryListener; import org.fudaa.ebli.calque.find.CalqueFindActionDefault; import org.fudaa.ebli.calque.find.CalqueFindExpression; import org.fudaa.ebli.commun.EbliSelectionState; @@ -27,7 +26,7 @@ * @version $Id: ZCalqueAffichageDonnees.java,v 1.39 2007-05-04 13:49:43 deniger Exp $ * @author Fred Deniger */ -public abstract class ZCalqueAffichageDonnees extends ZCalqueAffichageDonneesAbstract implements GeometryListener { +public abstract class ZCalqueAffichageDonnees extends ZCalqueAffichageDonneesAbstract { protected CtuluListSelection selection_; @@ -253,9 +252,6 @@ return r; } - /* (non-Javadoc) - * @see org.fudaa.ctulu.gis.GeometryListener#geometryAction(java.lang.Object, int, com.vividsolutions.jts.geom.Geometry, int) - */ 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. Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -20,7 +20,6 @@ import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluListSelectionInterface; -import org.fudaa.ctulu.gis.AttributeListener; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; import org.fudaa.ctulu.gis.GISGeometryFactory; @@ -62,7 +61,7 @@ * @author Bertrand Marchand * @version $Id$ */ -public class ZCalqueGeometry extends ZCalqueAffichageDonneesLineAbstract implements AttributeListener { +public class ZCalqueGeometry extends ZCalqueAffichageDonneesLineAbstract implements ZModelGeometryListener { /** * @author Fred Deniger @@ -129,10 +128,8 @@ */ public ZCalqueGeometry(final ZModeleGeometry _modele) { modele_ = _modele; - if(modele_!=null) { - modele_.addAttributeListener(this); - modele_.addGeometryListener(this); - } + if(modele_!=null) + modele_.addModelListener(this); iconModel_ = new TraceIconModel(TraceIcon.CARRE_PLEIN, 2, Color.BLACK); surfModel_=new TraceSurfaceModel(TraceSurface.INVISIBLE, Color.BLACK,null); } @@ -421,16 +418,12 @@ */ public void modele(final ZModeleGeometry _modele) { if (modele_ != _modele) { - if(modele_!=null) { - modele_.removeAttributeListener(this); - modele_.removeGeometryListener(this); - } + if(modele_!=null) + modele_.removeModelListener(this); final ZModeleGeometry vp = modele_; modele_ = _modele; - if(modele_!=null) { - modele_.addAttributeListener(this); - modele_.addGeometryListener(this); - } + if(modele_!=null) + modele_.removeModelListener(this); firePropertyChange("modele", vp, modele_); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -20,7 +20,7 @@ import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluListSelectionInterface; -import org.fudaa.ctulu.gis.AttributeListener; +import org.fudaa.ctulu.gis.GISZoneListener; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISLib; @@ -61,7 +61,7 @@ * @author Fred Deniger * @version $Id$ */ -public class ZCalqueLigneBrisee extends ZCalqueAffichageDonneesLineAbstract implements AttributeListener { +public class ZCalqueLigneBrisee extends ZCalqueAffichageDonneesLineAbstract implements ZModelGeometryListener { /** * @author Fred Deniger @@ -137,10 +137,8 @@ */ public ZCalqueLigneBrisee(final ZModeleLigneBrisee _modele) { modele_ = _modele; - if(modele_!=null){ - modele_.addAttributeListener(this); - modele_.addGeometryListener(this); - } + if(modele_!=null) + modele_.addModelListener(this); iconModel_ = new TraceIconModel(TraceIcon.CARRE_PLEIN, 2, Color.BLACK); ligneModelOuvert_ = new TraceLigneModel(ligneModel_); iconeModelOuvert_ = new TraceIconModel(iconModel_); @@ -505,16 +503,12 @@ */ public void modele(final ZModeleLigneBrisee _modele) { if (modele_ != _modele) { - if(modele_!=null) { - modele_.removeAttributeListener(this); - modele_.removeGeometryListener(this); - } + if(modele_!=null) + modele_.removeModelListener(this); final ZModeleGeometry vp = modele_; modele_ = _modele; - if(modele_!=null) { - modele_.addAttributeListener(this); - modele_.addGeometryListener(this); - } + if(modele_!=null) + modele_.addModelListener(this); firePropertyChange("modele", vp, modele_); } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueMultiPoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueMultiPoint.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueMultiPoint.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -36,16 +36,12 @@ */ public void modele(final ZModeleMultiPoint _modele) { if (modele_ != _modele) { - if(modele_!=null) { - modele_.removeAttributeListener(this); - modele_.removeGeometryListener(this); - } + if(modele_!=null) + modele_.removeModelListener(this); final ZModeleMultiPoint vp = (ZModeleMultiPoint)modele_; modele_ = _modele; - if(modele_!=null) { - modele_.addAttributeListener(this); - modele_.addGeometryListener(this); - } + if(modele_!=null) + modele_.addModelListener(this); firePropertyChange("modele", vp, modele_); } } Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelGeometryListener.java (from rev 4107, branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/AttributeListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelGeometryListener.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelGeometryListener.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -0,0 +1,73 @@ +/* + * @creation 29 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.ebli.calque; + +import org.fudaa.ctulu.gis.GISAttributeInterface; + +/** + * Cette interface permet l'\xE9coute des changements concernant les g\xE9om\xE9tries et + * leurs attributs. Les changements sont : l'ajout d'un attribut, la suppression + * d'un attribut, le changement d'une valeur d'un attribut, l'ajout d'une + * g\xE9om\xE9trie, la supression d'une g\xE9om\xE9trie, le remplacement d'une g\xE9om\xE9trie par + * une autre et la modification interne d'une g\xE9om\xE9trie (g\xE9n\xE9ralement l'ajout ou + * la suppression de points). + * + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public interface ZModelGeometryListener extends ZModelListener { + + /** 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); + +} Copied: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelListener.java (from rev 4107, branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GeometryListener.java) =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelListener.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelListener.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -0,0 +1,59 @@ +/* + * @creation 29 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.ebli.calque; + +import com.vividsolutions.jts.geom.Geometry; + +/** + * Cette interface permet l'\xE9coute des changements concernant les g\xE9om\xE9tries. + * Les changements sont : l'ajout d'une g\xE9om\xE9trie, la supression d'une + * g\xE9om\xE9trie, le remplacement d'une g\xE9om\xE9trie par une autre et la modification + * interne d'une g\xE9om\xE9trie (g\xE9n\xE9ralement l'ajout ou la suppression de points). + * + * @author Emmanuel MARTIN + * @version $Id:$ + */ +public interface ZModelListener { + /** Action indiquant l'ajout d'une g\xE9om\xE9trie dans le conteneur de g\xE9om\xE9tries. */ + public static final int GEOMETRY_ACTION_ADD=2; + /** + * Action indiquant la supression d'une g\xE9om\xE9trie dans le conteneur de + * g\xE9om\xE9tries. + */ + public static final int GEOMETRY_ACTION_REMOVE=3; + /** + * Action indiquant la remplacement d'une g\xE9om\xE9trie dans le conteneur de + * g\xE9om\xE9tries. + */ + public static final int GEOMETRY_ACTION_REPLACE=4; + /** + * Action indiquant la modification des donn\xE9es internes \xE0 la g\xE9om\xE9trie. + * G\xE9n\xE9ralement une modification de ses sommets. + */ + public static final int GEOMETRY_ACTION_STRUCTURE_CHANGE=5; + + /** + * M\xE9thode appel\xE9e lorsqu'une action est effectu\xE9e sur une g\xE9om\xE9trie. + * + * @param _source + * L'instance appelant geometryAction. + * @param _indexGeom + * L'index de la g\xE9om\xE9trie. Si l'action est l'ajout ou la + * modification, 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, toutes les g\xE9om\xE9tries ont pu \xEAtre + * modifi\xE9es. + * @param _geom + * La g\xE9om\xE9trie concern\xE9e. Si null toutes les g\xE9om\xE9tries ont pu \xEAtre + * modifi\xE9es. + * @param _action + * L'action effectu\xE9e sur la g\xE9om\xE9trie. Voir les GEOMETRY_ACTION_*. + */ + public void geometryAction(Object _source, int _indexGeom, Geometry _geom, int _action); + +} Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonnees.java 2008-10-30 09:47:50 UTC (rev 4110) @@ -8,7 +8,6 @@ */ package org.fudaa.ebli.calque; -import org.fudaa.ctulu.gis.GeometryListener; import org.fudaa.ebli.geometrie.GrBoite; import com.memoire.bu.BuTable; @@ -20,7 +19,7 @@ * @version $Id$ * @author Fred Deniger */ -public interface ZModeleDonnees extends GeometryListener { +public interface ZModeleDonnees { BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer); @@ -57,16 +56,4 @@ */ Object getObject(int _ind); - /** - * Ajoute un listener qui sera pr\xE9venu des ajouts de g\xE9om\xE9tries. - * @param _listener - */ - public void addGeometryListener(GeometryListener _listener); - - /** - * Ajoute un listener qui sera pr\xE9venu des suppressions de g\xE9om\xE9tries. - * @param _listener - */ - public void removeGeometryListener(GeometryListener _listener); - } \ No newline at end of file Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonneesVide.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonneesVide.java 2008-10-29 20:57:44 UTC (rev 4109) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleDonneesVide.java 2008-10-30 09:47:... [truncated message content] |
From: <emm...@us...> - 2008-11-04 09:50:11
|
Revision: 4161 http://fudaa.svn.sourceforge.net/fudaa/?rev=4161&view=rev Author: emmanuel_martin Date: 2008-11-04 09:50:06 +0000 (Tue, 04 Nov 2008) Log Message: ----------- bugfix : verification de l'existance du fichier _autres.st lors de l'export. Changement de l'op?\195?\169rateur == en equals dans le test de remplissage du tableau dans la palette de visibilit?\195?\169. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-03 18:55:08 UTC (rev 4160) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-04 09:50:06 UTC (rev 4161) @@ -375,7 +375,7 @@ if(indexTitre!=-1&&indexVisibility!=-1) for(int j=0;j<zone.getNbGeometries();j++) if(!onlyInvisible_||zone.getValue(indexVisibility, j)==GISAttributeConstants.ATT_VAL_FALSE) - rows.add(new Object[]{zone.getValue(indexTitre, j), zone.getValue(indexVisibility, j)==GISAttributeConstants.ATT_VAL_TRUE?true:false, calques_[i], j}); + rows.add(new Object[]{zone.getValue(indexTitre, j), zone.getValue(indexVisibility, j).equals(GISAttributeConstants.ATT_VAL_TRUE)?true:false, calques_[i], j}); } } geomTableModel_=new GeomTableModel(new String[]{EbliLib.getS("Nom"), EbliLib.getS("Visibilit\xE9")}, rows.toArray(new Object[0][])); 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-11-03 18:55:08 UTC (rev 4160) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlProjectExportPanel.java 2008-11-04 09:50:06 UTC (rev 4161) @@ -285,7 +285,7 @@ } String name=CtuluLibFile.getSansExtension(f.getName()); // Teste sur l'existance des fichier. Dans le cas d'un enregistrement en - // rubar, il faut aussi tester avec les extensions .sem et .cn + // rubar, il faut aussi tester avec les extensions .sem et .cn et aussi <nom>_autres.st if (CtuluLibFile.getExtension(f.getName()).equalsIgnoreCase("st")) { if ((new File(f.getParent()+File.separatorChar+name+".sem")).exists()) { result+=(result.length()!=0 ? ", ":"")+name+".sem"; @@ -295,6 +295,10 @@ result+=(result.length()!=0 ? ", ":"")+name+".cn"; nbFiles++; } + if ((new File(f.getParent()+File.separatorChar+name+"_autres.st")).exists()) { + result+=(result.length()!=0 ? ", ":"")+name+"_autres.st"; + nbFiles++; + } } if (nbFiles>0) if(nbFiles==1&&!ui_.question(CtuluLib.getS("Attention"), CtuluLib.getS("Le fichier {0} existe d\xE9j\xE0. Voulez-vous l'\xE9craser?", result))) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-04 15:44:06
|
Revision: 4162 http://fudaa.svn.sourceforge.net/fudaa/?rev=4162&view=rev Author: emmanuel_martin Date: 2008-11-04 15:44:00 +0000 (Tue, 04 Nov 2008) Log Message: ----------- Tache #51 : "On ne peut pas joindre 2 semis, comme c'est le cas pour 2 polylignes. " Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueMultiPointEditable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigEditor.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueMultiPointEditable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueMultiPointEditable.java 2008-11-04 09:50:06 UTC (rev 4161) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueMultiPointEditable.java 2008-11-04 15:44:00 UTC (rev 4162) @@ -355,4 +355,27 @@ public final void setEditor(final ZEditorDefault _editor) { editor_ = _editor; } + + /** + * Joint 2 semis de points. + * + * @param _cmd La pile de commandes. + * @return true si les semis de points ont \xE9t\xE9 jointes. + */ + public boolean joinGeometries(final CtuluCommandContainer _cmd) { + if (isSelectionEmpty()) + return false; + + int[] idxSemis; + if(isAtomicMode()) + idxSemis=selectionMulti_.getIdxSelected(); + else + idxSemis=selection_.getSelectedIndex(); + if(idxSemis.length!=2) + return false; + + // On vide la selection, les 2 semis sont supprim\xE9es par la jonction. + clearSelection(); + return getMultiPointModel().joinGeometries(idxSemis, _cmd)!=-1; + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2008-11-04 09:50:06 UTC (rev 4161) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2008-11-04 15:44:00 UTC (rev 4162) @@ -9,9 +9,17 @@ import gnu.trove.TIntObjectIterator; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JPanel; import javax.swing.table.AbstractTableModel; import org.fudaa.ctulu.CtuluAnalyze; @@ -29,6 +37,7 @@ import org.fudaa.ctulu.gis.GISAttributeModelDoubleArray; import org.fudaa.ctulu.gis.GISGeometryFactory; import org.fudaa.ctulu.gis.GISMultiPoint; +import org.fudaa.ctulu.gis.GISPolyligne; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gis.GISZoneCollectionMultiPoint; import org.fudaa.ctulu.gui.CtuluTable; @@ -39,11 +48,14 @@ import org.fudaa.ebli.commun.EbliListeSelectionMultiInterface; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuLabel; import com.memoire.bu.BuTable; import com.memoire.fu.FuLog; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.impl.CoordinateArraySequenceFactory; /** * Une implementation par defaut d'un mod\xE8le \xE9ditable pour des multipoints. @@ -799,4 +811,69 @@ if(idxAttr >= 0) getGeomData().getDataModel(idxAttr).setObject(_idx, GISAttributeConstants.ATT_VAL_ETAT_MODI, _cmd); } + + /** + * Joint 2 semis de points. + * + * @param _idsSemis Les index des 2 semis. + * @param _cmd Le conteneur de commandes. + * @return L'index de la nouvelle ligne si OK, -1 sinon. + */ + public int joinGeometries(int[] _idxSemis, final CtuluCommandContainer _cmd) { + if (geometries_ == null||_idxSemis==null||_idxSemis.length!=2) + return -1; + final CtuluCommandComposite cmp = new CtuluCommandComposite("Jointure de semis de points"); + + // Nouvelles coordonn\xE9es + int nbPointMulti1=geometries_.getGeometry(_idxSemis[0]).getNumPoints(); + int nbPointMulti2=geometries_.getGeometry(_idxSemis[1]).getNumPoints(); + Coordinate[] coord=new Coordinate[nbPointMulti1+nbPointMulti2]; + // Remplisage de coord + for(int i=0;i<_idxSemis.length;i++){ + GISMultiPoint multipoint=(GISMultiPoint) geometries_.getGeometry(_idxSemis[i]); + for(int j=0;j<multipoint.getNumPoints();j++) + coord[i*nbPointMulti1+j]=multipoint.getCoordinateSequence().getCoordinate(j); + } + + // Les datas + Object[] dataSemis=new Object[geometries_.getNbAttributes()]; + for (int att=0; att<geometries_.getNbAttributes(); att++) { + // Attributs atomiques + if (geometries_.getAttribute(att).isAtomicValue()) { + // R\xE9cup\xE9ration des valeurs + Object[] values=new Object[nbPointMulti1+nbPointMulti2]; + for(int i=0;i<_idxSemis.length;i++){ + GISMultiPoint multipoint=(GISMultiPoint) geometries_.getGeometry(_idxSemis[i]); + for(int j=0;j<multipoint.getNumPoints();j++) + values[i*nbPointMulti1+j]=((GISAttributeModel) geometries_.getModel(att).getObjectValueAt(_idxSemis[i])).getObjectValueAt(j); + } + dataSemis[att]=(GISAttributeModel)geometries_.getModel(att).getAttribute().createDataForGeom(values,nbPointMulti1+nbPointMulti2); + } + // Attributs globaux + else { + // Cas particulier de l'attribut TITRE => <TITRE_GEOM1>_<TITRE_GEOM2> + if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.TITRE) { + String name1=(String)geometries_.getModel(att).getObjectValueAt(_idxSemis[0]); + String name2=(String)geometries_.getModel(att).getObjectValueAt(_idxSemis[1]); + dataSemis[att]=name1+"_"+name2; + } + // Cas particulier de l'attribut ETAT_GEOM => ATT_VAL_ETAT_MODI + else if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.ETAT_GEOM) { + dataSemis[att]=GISAttributeConstants.ATT_VAL_ETAT_MODI; + } + // On prend arbitrairement la valeur de la premi\xE8re polyligne. + else + dataSemis[att]=geometries_.getModel(att).getAttribute().createDataForGeom(geometries_.getModel(att).getObjectValueAt(_idxSemis[0]),1); + } + } + + // Remplacement dans la collection. + if (getGeomData().addGeometry(GISGeometryFactory.INSTANCE.createMultiPoint(coord), dataSemis, _cmd)!=-1) { + geometries_.removeGeometries(_idxSemis, cmp); + if (_cmd!=null) + _cmd.addCmd(cmp.getSimplify()); + return geometries_.getNbGeometries()-1; + } + return -1; + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java 2008-11-04 09:50:06 UTC (rev 4161) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer2dMultiPoint.java 2008-11-04 15:44:00 UTC (rev 4162) @@ -49,6 +49,7 @@ FSigEditor editor=(FSigEditor)getEditor(); ArrayList vacts=new ArrayList(); vacts.addAll(Arrays.asList(editor.getEditAction())); + vacts.add(editor.getJoinAction()); // vacts.add(editor.getSplitAction()); // vacts.add(editor.getJoinAction()); vacts.add(null); Modified: 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/FSigEditor.java 2008-11-04 09:50:06 UTC (rev 4161) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigEditor.java 2008-11-04 15:44:00 UTC (rev 4162) @@ -20,6 +20,7 @@ import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISGeometryFactory; +import org.fudaa.ctulu.gis.GISMultiPoint; import org.fudaa.ctulu.gis.GISPolygone; import org.fudaa.ctulu.gis.GISPolyligne; import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; @@ -33,12 +34,14 @@ import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; +import org.fudaa.ebli.calque.ZCalqueAffichageDonneesMulti; import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.calque.ZModelGeometryListener; import org.fudaa.ebli.calque.ZModeleGeometry; import org.fudaa.ebli.calque.edition.ZCalqueEditable; import org.fudaa.ebli.calque.edition.ZCalqueEditionGroup; import org.fudaa.ebli.calque.edition.ZCalqueLigneBriseeEditable; +import org.fudaa.ebli.calque.edition.ZCalqueMultiPointEditable; import org.fudaa.ebli.calque.edition.ZEditorDefault; import org.fudaa.ebli.calque.edition.ZSceneEditor; import org.fudaa.ebli.commun.EbliActionSimple; @@ -224,7 +227,7 @@ } /** - * Une action pour joindre 2 polylignes. N'est pas dans les actions par defaut. + * Une action pour joindre 2 polylignes ou deux multipoint. N'est pas dans les actions par defaut. * @return L'action */ public EbliActionSimple getJoinAction() { @@ -334,7 +337,7 @@ protected JoinAction() { super(BuResource.BU.getString("Joindre"), /*BuResource.BU.getIcon("joindreligne")*/null, "GIS_JOIN"); - setDefaultToolTip(FudaaLib.getS("Joindre 2 polylignes")); + setDefaultToolTip(FudaaLib.getS("Joindre 2 polylignes ou 2 multipoint")); } public void actionPerformed(final ActionEvent _e) { @@ -345,43 +348,57 @@ if (Fu.DEBUG && FuLog.isDebug()) { FuLog.debug("FTR gis target= " + FSigEditor.this.getTarget()); } - - ZCalqueLigneBriseeEditable cq=null; - if (getSupport().getCalqueActif() instanceof ZCalqueLigneBriseeEditable) cq=(ZCalqueLigneBriseeEditable)getSupport().getCalqueActif(); - - boolean b=true; - // Uniquement si le calque est editable, en mode atomique, et si le nombre de sommets est 2. - b&=cq!=null && - FSigEditor.this.isEditable(cq) && !cq.isSelectionEmpty() && - cq.isAtomicMode() && - cq.getLayerSelectionMulti().getNbSelectedItem()==2; - - // Uniquement si les sommets sont sur 2 des objets distincts, que ces objets sont des polylignes - if (b) { - int[] idxLignes=cq.getLayerSelectionMulti().getIdxSelected(); - b&=idxLignes.length==2; + boolean b=false; + if (getSupport().getCalqueActif() instanceof ZCalqueLigneBriseeEditable) { + ZCalqueLigneBriseeEditable cq=(ZCalqueLigneBriseeEditable)getSupport().getCalqueActif(); + // Si le calque est editable, en mode atomique, et si le nombre de + // sommets est 2. + b=cq!=null&&FSigEditor.this.isEditable(cq)&&!cq.isSelectionEmpty()&&cq.isAtomicMode() + &&cq.getLayerSelectionMulti().getNbSelectedItem()==2; + // Si les sommets sont sur 2 des objets distincts, que ces objets sont + // des polylignes if (b) { - for (int i=0; i<idxLignes.length; i++) - b&=(((GISZoneCollectionLigneBrisee)cq.getModele().getGeomData()).getGeometry(idxLignes[i]) instanceof GISPolyligne); + int[] idxLignes=cq.getLayerSelectionMulti().getIdxSelected(); + b&=idxLignes.length==2; + if (b) { + for (int i=0; i<idxLignes.length; i++) + b&=(((GISZoneCollectionLigneBrisee)((ZModeleGeometry)cq.modeleDonnees()).getGeomData()).getGeometry(idxLignes[i]) instanceof GISPolyligne); + } } } - + // Ou si c'est deux semis de points qui sont selectionn\xE9s + else if (getSupport().getCalqueActif() instanceof ZCalqueMultiPointEditable) { + ZCalqueMultiPointEditable cq=(ZCalqueMultiPointEditable)getSupport().getCalqueActif(); + // Deux selections en mode sommet ou global + // Ces deux s\xE9lections doivent \xEAtre des semis de points + if (cq!=null&&FSigEditor.this.isEditable(cq)&&!cq.isSelectionEmpty() + &&(cq.getLayerSelectionMulti()!=null&&cq.getLayerSelectionMulti().getNbSelectedItem()==2||cq.getLayerSelection()!=null&&cq.getLayerSelection().getNbSelectedIndex()==2)) { + int[] idxGeom; + if (cq.getLayerSelectionMulti()!=null&&cq.getLayerSelectionMulti().getNbSelectedItem()!=0) + idxGeom=cq.getLayerSelectionMulti().getIdxSelected(); + else + idxGeom=cq.getLayerSelection().getSelectedIndex(); + b=true; + for (int i=0; i<idxGeom.length; i++) + b=b&&(cq.modeleDonnees().getObject(idxGeom[i]) instanceof GISMultiPoint); + } + } super.setEnabled(b); } public String getEnableCondition() { - return FudaaLib.getS("S\xE9lectionner les sommets extremit\xE9s de 2 polylignes"); + return FudaaLib.getS("S\xE9lectionner les sommets extremit\xE9s de 2 polylignes ou deux semis de points"); } } /** - * Joint 2 polylignes distinctes. + * Joint 2 polylignes distinctes ou deux semis de points. */ protected void joinSelectedGeometries() { - if (!(getSupport().getCalqueActif() instanceof ZCalqueLigneBriseeEditable)) return; - - ZCalqueLigneBriseeEditable cq=(ZCalqueLigneBriseeEditable)getSupport().getCalqueActif(); - cq.joinGeometries(getMng()); + if (getSupport().getCalqueActif() instanceof ZCalqueLigneBriseeEditable) + ((ZCalqueLigneBriseeEditable)getSupport().getCalqueActif()).joinGeometries(getMng()); + else if (getSupport().getCalqueActif() instanceof ZCalqueMultiPointEditable) + ((ZCalqueMultiPointEditable)getSupport().getCalqueActif()).joinGeometries(getMng()); } protected boolean canExportSelectedLayer() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-04 17:46:12
|
Revision: 4166 http://fudaa.svn.sourceforge.net/fudaa/?rev=4166&view=rev Author: bmarchan Date: 2008-11-04 17:46:05 +0000 (Tue, 04 Nov 2008) Log Message: ----------- Selection de la g?\195?\169om?\195?\169trie/sommet suivant/pr?\195?\169c?\195?\169dent par raccourci clavier. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuInternalFrame.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/ZEbliCalquesPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_avancer2.png branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_avancer2.png branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectNextAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectPreviousAction.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuInternalFrame.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/ZEbliCalquesPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuInternalFrame.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuInternalFrame.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuInternalFrame.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -1,5 +1,5 @@ /** - * @modification $Date: 2007-05-04 13:41:57 $ + * @modification $Date$ * @statut unstable * @file BuInternalFrame.java * @version 0.43 @@ -275,11 +275,23 @@ return STRING0; } + /** + * Retourne les menus sp\xE9cifiques pour la fenetre. + * Les menus sp\xE9cifiques sont switch\xE9s d\xE9s que la fenetre passe de l'\xE9tat actif \xE0 inactif + * et inversement. Ils sont ajout\xE9s dans la barre de menus. + * @return Les menus sp\xE9cifiques. + */ public JMenu[] getSpecificMenus() { return JMENU0; } + /** + * Retourne les boutons outils sp\xE9cifiques pour la fenetre. + * Les outils sp\xE9cifiques sont switch\xE9s d\xE9s que la fenetre passe de l'\xE9tat actif \xE0 inactif + * et inversement. Ils remplacent les outils existants. + * @return Les composants sp\xE9cifiques. + */ public JComponent[] getSpecificTools() { return JCOMPONENT0; Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/BuInternalFrame.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_avancer2.png =================================================================== (Binary files differ) Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_avancer2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:keywords + Date Revision Author URL Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_avancer2.png =================================================================== (Binary files differ) Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_avancer2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -1,6 +1,6 @@ /** * @creation 2002-08-27 - * @modification $Date: 2007-05-04 13:49:43 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -23,7 +23,7 @@ * Un calque de base pour tous les nouveaux calques bases sur les modeles. Ce calque permet de definir en plus si * l'affichage doit etre total,inutile ou seulement la selection. * - * @version $Id: ZCalqueAffichageDonnees.java,v 1.39 2007-05-04 13:49:43 deniger Exp $ + * @version $Id$ * @author Fred Deniger */ public abstract class ZCalqueAffichageDonnees extends ZCalqueAffichageDonneesAbstract { @@ -230,6 +230,11 @@ */ public abstract CtuluListSelection selection(LinearRing _poly, int _mode); + /** + * Selectionne les objets d'indice donn\xE9s. + * @param _idx Les indices a selectionner. + * @return true si une selection a \xE9t\xE9 effectu\xE9e. + */ public boolean setSelection(final int[] _idx) { if (_idx == null) { return false; @@ -252,6 +257,29 @@ return r; } + /** + * Selectionne l'objet suivant de l'objet en cours. + * @return true si la selection a \xE9t\xE9 modifi\xE9e. + */ + public boolean selectNext() { + if (isSelectionEmpty()) return false; + int idx=getLayerSelection().getMaxIndex(); + if (idx>=modeleDonnees().getNombre()-1) return false; + return setSelection(new int[]{idx+1}); + } + + + /** + * Selectionne l'objet suivant de l'objet en cours. + * @return true si la selection a \xE9t\xE9 modifi\xE9e. + */ + public boolean selectPrevious() { + if (isSelectionEmpty()) return false; + int idx=getLayerSelection().getMinIndex(); + 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. Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueAffichageDonnees.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -886,6 +886,56 @@ return false; } + public boolean selectNext() { + if (!isAtomicMode_) { + return super.selectNext(); + } + // Ne fonctionne que sur une seule g\xE9om\xE9trie a la fois. + else { + if (selectionMulti_==null) + return false; + if (selectionMulti_.getNbListSelected()!=1) + return false; + + int idxGeom=selectionMulti_.getIdxSelected()[0]; + + CtuluListSelection s=selectionMulti_.get(idxGeom); + if (s==null) + return false; + int idx=s.getMaxIndex(); + if (idx>=modeleDonnees().getNbPointForGeometry(idxGeom)-1) + return false; + s.setSelectionInterval(idx+1,idx+1); + fireSelectionEvent(); + return true; + } + } + + public boolean selectPrevious() { + if (!isAtomicMode_) { + return super.selectPrevious(); + } + // Ne fonctionne que sur une seule g\xE9om\xE9trie a la fois. + else { + if (selectionMulti_==null) + return false; + if (selectionMulti_.getNbListSelected()!=1) + return false; + + int idxGeom=selectionMulti_.getIdxSelected()[0]; + + CtuluListSelection s=selectionMulti_.get(idxGeom); + if (s==null) + return false; + int idx=s.getMinIndex(); + if (idx<=0) + return false; + s.setSelectionInterval(idx-1,idx-1); + fireSelectionEvent(); + return true; + } + } + public boolean setSurfaceModel(final TraceSurfaceModel _model) { final TraceSurfaceModel surf = getSurfaceModel(); if (_model != null && surf != null && surf.updateData(_model)) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -944,6 +944,56 @@ return false; } + public boolean selectNext() { + if (!isAtomicMode_) { + return super.selectNext(); + } + // Ne fonctionne que sur une seule g\xE9om\xE9trie a la fois. + else { + if (selectionMulti_==null) + return false; + if (selectionMulti_.getNbListSelected()!=1) + return false; + + int idxGeom=selectionMulti_.getIdxSelected()[0]; + + CtuluListSelection s=selectionMulti_.get(idxGeom); + if (s==null) + return false; + int idx=s.getMaxIndex(); + if (idx>=getModele().getNbPointForGeometry(idxGeom)-1) + return false; + s.setSelectionInterval(idx+1,idx+1); + fireSelectionEvent(); + return true; + } + } + + public boolean selectPrevious() { + if (!isAtomicMode_) { + return super.selectPrevious(); + } + // Ne fonctionne que sur une seule g\xE9om\xE9trie a la fois. + else { + if (selectionMulti_==null) + return false; + if (selectionMulti_.getNbListSelected()!=1) + return false; + + int idxGeom=selectionMulti_.getIdxSelected()[0]; + + CtuluListSelection s=selectionMulti_.get(idxGeom); + if (s==null) + return false; + int idx=s.getMinIndex(); + if (idx<=0) + return false; + s.setSelectionInterval(idx-1,idx-1); + fireSelectionEvent(); + return true; + } + } + public boolean setTitle(final String _title) { final boolean r = super.setTitle(_title); if (r && modele_ != null && modele_.getGeomData() != null) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -1,6 +1,6 @@ /* * @creation 2002-10-8 - * @modification $Date: 2008-05-13 12:10:36 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail de...@fu... @@ -46,6 +46,7 @@ import org.fudaa.ctulu.image.CtuluImageProducer; import org.fudaa.ctulu.image.CtuluLibImage; import org.fudaa.ebli.animation.EbliAnimationSourceAbstract; +import org.fudaa.ebli.calque.action.SceneSelectPreviousAction; import org.fudaa.ebli.calque.edition.ZEditorDefault; import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliComponentFactory; @@ -73,7 +74,7 @@ * Par defaut, 3 groupes de boutons sont proposes : selection, standard et navigation. Ils peuvent etre supprimes ou * modifies avec les methodes remove * - * @version $Id: ZEbliCalquesPanel.java,v 1.55.4.4 2008-05-13 12:10:36 bmarchan Exp $ + * @version $Id$ * @author Guillaume Desnoix , Axel von Arnim, Fred deniger */ public class ZEbliCalquesPanel extends BuPanel implements EbliFilleCalquesInterface, BCalqueContextuelListener, @@ -115,7 +116,7 @@ /** * @author Fred Deniger - * @version $Id: ZEbliCalquesPanel.java,v 1.55.4.4 2008-05-13 12:10:36 bmarchan Exp $ + * @version $Id$ */ public static class LayerDynamicMenu extends BuDynamicMenu { @@ -146,7 +147,7 @@ * Le menu des th\xE8mes. * * @author Fred Deniger - * @version $Id: ZEbliCalquesPanel.java,v 1.55.4.4 2008-05-13 12:10:36 bmarchan Exp $ + * @version $Id$ */ public static class ThemeMenu extends BuDynamicMenu implements TreeModelListener { @@ -249,8 +250,8 @@ * @param _m le menu a remplir */ protected void fillMenuWithSceneActions(final JMenu _m) { - if (scene_ != null && scene_.getActions() != null) { - EbliComponentFactory.INSTANCE.addActionsToMenu(scene_.getActions(), _m); + if (scene_ != null && gisEditor_.getSceneEditor().getActions() != null) { + EbliComponentFactory.INSTANCE.addActionsToMenu(gisEditor_.getSceneEditor().getActions(), _m); } } @@ -260,8 +261,8 @@ * @param _m le menu a remplir */ protected void fillMenuWithSceneActions(final JPopupMenu _m) { - if (scene_!= null && scene_.getActions() != null) { - EbliComponentFactory.INSTANCE.addActionsToMenu(scene_.getActions(), _m); + if (scene_!= null && gisEditor_.getSceneEditor().getActions() != null) { + EbliComponentFactory.INSTANCE.addActionsToMenu(gisEditor_.getSceneEditor().getActions(), _m); } } @@ -619,6 +620,12 @@ return 1; } + /** + * Retourne les menus sp\xE9cifiques pour la fenetre. + * Les menus sp\xE9cifiques sont switch\xE9s d\xE9s que la fenetre passe de l'\xE9tat actif \xE0 inactif + * et inversement. Ils sont ajout\xE9s dans la barre de menus. + * @return Les menus sp\xE9cifiques. + */ public JMenu[] getSpecificMenus(final String _title) { if (specificMenus_ == null) { controller_.initSpecificActions(); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -1,6 +1,6 @@ /* * @creation 10 avr. 08 - * @modification $Date: 2008-05-13 12:10:35 $ + * @modification $Date$ * @license GNU General Public License 2 * @copyright (c)1998-2008 CETMEF 2 bd Gambetta F-60231 Compiegne * @mail fud...@li... @@ -37,7 +37,7 @@ * La scene. Contient les modeles de donn\xE9es des calques qui en possedent. Elle permet de proposer * une interface unique pour la selection, le deplacement, etc. * @author Bertrand Marchand - * @version $Id: ZScene.java,v 1.1.2.1 2008-05-13 12:10:35 bmarchan Exp $ + * @version $Id$ */ public class ZScene implements TreeModelListener { @@ -352,11 +352,7 @@ /** La liste des listeners de selection chang\xE9e. */ protected HashSet<ZSelectionListener> selListeners_=new HashSet<ZSelectionListener>(); - /** Toutes les actions li\xE9es \xE0 la scene, ajout\xE9es dans les menus correspondants */ - private EbliActionInterface[] actions_; - - /** * Cr\xE9ation a partir d'un groupe de calques racine. * @param _root Le groupe de calque racine. @@ -793,12 +789,4 @@ for (ZSelectionListener listener : selListeners_) listener.selectionChanged(evt); } - - public EbliActionInterface[] getActions() { - return actions_; - } - - public void setActions(EbliActionInterface[] _actions) { - actions_=_actions; - } } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectNextAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectNextAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectNextAction.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -0,0 +1,66 @@ +/* + * @creation 3 juil. 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.ebli.calque.action; + +import java.awt.event.ActionEvent; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; + +import javax.swing.KeyStroke; + +import org.fudaa.ctulu.CtuluLib; +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.calque.edition.ZSceneEditor; +import org.fudaa.ebli.commun.EbliActionSimple; + +import com.memoire.bu.BuResource; + +/** + * Une action pour s\xE9lectionner le sommet suivant d'une g\xE9om\xE9trie. + * @author Bertrand Marchand + * @version $Id$ + */ +public class SceneSelectNextAction extends EbliActionSimple implements ZSelectionListener { + ZSceneEditor editor_; + + public SceneSelectNextAction(ZSceneEditor _editor) { + super(BuResource.BU.getString("S\xE9lection de l'objet suivant"), BuResource.BU.getIcon("avancer2"), "SELECT_NEXT"); + setKey(KeyStroke.getKeyStroke(KeyEvent.VK_G,KeyEvent.CTRL_MASK)); + editor_=_editor; + _editor.getScene().addSelectionListener(this); + } + + public void actionPerformed(final ActionEvent _e) { + editor_.selectNextObject(); + } + + public void updateStateBeforeShow() { + ZScene scn=editor_.getScene(); + SceneSelectionHelper hlp=editor_.getScene().getSelectionHelper(); + + boolean b=true; + // Si la selection n'est pas null + b=b && !scn.isSelectionEmpty(); + // Si la selection est au nombre de 1. + b=b && (!scn.isAtomicMode() || hlp.getNbAtomicSelected()==1); + b=b && (scn.isAtomicMode() || scn.getLayerSelection().getNbSelectedIndex()==1); + + setEnabled(b); + } + + public String getEnableCondition() { + return CtuluLib.getS("S\xE9lectionner une g\xE9om\xE9trie ou un sommet"); + } + + public void selectionChanged(ZSelectionEvent _evt) { + updateStateBeforeShow(); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectNextAction.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectPreviousAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectPreviousAction.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectPreviousAction.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -0,0 +1,66 @@ +/* + * @creation 3 juil. 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.ebli.calque.action; + +import java.awt.event.ActionEvent; +import java.awt.event.InputEvent; +import java.awt.event.KeyEvent; + +import javax.swing.KeyStroke; + +import org.fudaa.ctulu.CtuluLib; +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.calque.edition.ZSceneEditor; +import org.fudaa.ebli.commun.EbliActionSimple; + +import com.memoire.bu.BuResource; + +/** + * Une action pour s\xE9lectionner le sommet pr\xE9c\xE9dent d'une g\xE9om\xE9trie. + * @author Bertrand Marchand + * @version $Id$ + */ +public class SceneSelectPreviousAction extends EbliActionSimple implements ZSelectionListener { + ZSceneEditor editor_; + + public SceneSelectPreviousAction(ZSceneEditor _editor) { + super(BuResource.BU.getString("S\xE9lection de l'objet pr\xE9c\xE9dent"), BuResource.BU.getIcon("reculer"), "SELECT_PREVIOUS"); + setKey(KeyStroke.getKeyStroke(KeyEvent.VK_G,KeyEvent.SHIFT_MASK | KeyEvent.CTRL_MASK)); + editor_=_editor; + _editor.getScene().addSelectionListener(this); + } + + public void actionPerformed(final ActionEvent _e) { + editor_.selectPreviousObject(); + } + + public void updateStateBeforeShow() { + ZScene scn=editor_.getScene(); + SceneSelectionHelper hlp=editor_.getScene().getSelectionHelper(); + + boolean b=true; + // Si la selection n'est pas null + b=b && !scn.isSelectionEmpty(); + // Si la selection est au nombre de 1. + b=b && (!scn.isAtomicMode() || hlp.getNbAtomicSelected()==1); + b=b && (scn.isAtomicMode() || scn.getLayerSelection().getNbSelectedIndex()==1); + + setEnabled(b); + } + + public String getEnableCondition() { + return CtuluLib.getS("S\xE9lectionner une g\xE9om\xE9trie ou un sommet"); + } + + public void selectionChanged(ZSelectionEvent _evt) { + updateStateBeforeShow(); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/SceneSelectPreviousAction.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: svn:eol-style + native Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -182,7 +182,7 @@ sceneEditor_=_editor; setMng(new CtuluCommandManager()); // panel_.addKeyListener(this); - buildDeletesAction(); + buildActions(); EbliLib.updateMapKeyStroke(_panel, getDeleteActions()); installSceneActions(); } @@ -436,7 +436,7 @@ return new EbliActionInterface[] { actionDelete_, actionCancel_ }; } - private void buildDeletesAction() { + private void buildActions() { actionDelete_ = new EbliActionSimple(CtuluLib.getS("Supprimer"), BuResource.BU.getIcon("enlever"),"DeleteSelectedAction") { public void actionPerformed(final ActionEvent _e) { delete(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZSceneEditor.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -11,9 +11,11 @@ import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.calque.ZScene; +import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.ressource.EbliResource; @@ -27,6 +29,8 @@ protected ZEbliCalquesPanel calquePanel_; protected CtuluCommandManager mng_; protected CtuluUI ui_; + /** Toutes les actions li\xE9es \xE0 la scene, ajout\xE9es dans les menus correspondants */ + private EbliActionInterface[] actions_; public ZSceneEditor(ZScene _scene, ZEbliCalquesPanel _calquePanel) { scene_=_scene; @@ -52,7 +56,15 @@ public ZScene getScene() { return scene_; } + + public EbliActionInterface[] getActions() { + return actions_; + } + public void setActions(EbliActionInterface[] _actions) { + actions_=_actions; + } + public void rotateSelectedObjects(double _angRad, double _xreel0, double _yreel0) { ZCalqueEditable[] cqs=scene_.getEditableLayers(); @@ -140,4 +152,23 @@ calquePanel_.getVueCalque().changeRepere(this, boite); } + /** + * Selectionne l'objet suivant celui selectionn\xE9. + */ + public void selectNextObject() { + int idx=getScene().getSelectionHelper().getUniqueSelectedIdx(); + ZCalqueAffichageDonnees cq=(ZCalqueAffichageDonnees)getScene().getLayerForId(idx); + + cq.selectNext(); + } + + /** + * Selectionne l'objet pr\xE9c\xE9dent celui selectionn\xE9. + */ + public void selectPreviousObject() { + int idx=getScene().getSelectionHelper().getUniqueSelectedIdx(); + ZCalqueAffichageDonnees cq=(ZCalqueAffichageDonnees)getScene().getLayerForId(idx); + + cq.selectPrevious(); + } } 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-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -65,7 +65,7 @@ super.installSceneActions(); ArrayList<EbliActionInterface> acts=new ArrayList<EbliActionInterface>(); - EbliActionInterface[] actSuper=sceneEditor_.getScene().getActions(); + EbliActionInterface[] actSuper=sceneEditor_.getActions(); if (actSuper!=null) acts.addAll(Arrays.asList(actSuper)); acts.add(new SceneSplitAction(sceneEditor_)); @@ -74,7 +74,7 @@ acts.add(new SceneDecimationAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneRefinementAction((MdlSceneEditor)sceneEditor_)); acts.add(new SceneProjectionAction((MdlSceneEditor)sceneEditor_)); - getSceneEditor().getScene().setActions(acts.toArray(new EbliActionAbstract[0])); + getSceneEditor().setActions(acts.toArray(new EbliActionAbstract[0])); } /** Modified: 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/layer/FSigVisuPanel.java 2008-11-04 16:49:39 UTC (rev 4165) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java 2008-11-04 17:46:05 UTC (rev 4166) @@ -29,10 +29,13 @@ import org.fudaa.ebli.calque.action.EditVisibilityAction; import org.fudaa.ebli.calque.action.SceneDeplacementAction; import org.fudaa.ebli.calque.action.SceneRotationAction; +import org.fudaa.ebli.calque.action.SceneSelectPreviousAction; +import org.fudaa.ebli.calque.action.SceneSelectNextAction; import org.fudaa.ebli.calque.edition.ZCalqueDeplacement; import org.fudaa.ebli.calque.edition.ZCalqueEditionGroup; import org.fudaa.ebli.calque.edition.ZEditorDefault; import org.fudaa.ebli.commun.EbliActionInterface; +import org.fudaa.ebli.commun.EbliComponentFactory; import org.fudaa.ebli.commun.EbliFormatter; import org.fudaa.ebli.commun.EbliSelectionMode; @@ -122,6 +125,11 @@ res[0] = new BuMenu(_title, "LAYER"); res[0].setIcon(null); res[0].add(BArbreCalque.buildZNormalMenu(modelArbre_)); + EbliComponentFactory.INSTANCE.addActionsToMenu(new EbliActionInterface[] { + null, + new SceneSelectPreviousAction(gisEditor_.getSceneEditor()), + new SceneSelectNextAction(gisEditor_.getSceneEditor()) + },res[0]); fillMenuWithToolsActions(res[0]); res[1] = getThemeMenu(); res[1].setMnemonic(res[1].getText().charAt(0)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-05 14:50:06
|
Revision: 4172 http://fudaa.svn.sourceforge.net/fudaa/?rev=4172&view=rev Author: emmanuel_martin Date: 2008-11-05 14:49:55 +0000 (Wed, 05 Nov 2008) Log Message: ----------- Ajout de la possibilit?\195?\169 de changer l'ordre des g?\195?\169om?\195?\169tries dans le model via la palette de visibilit?\195?\169 Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_descendre.png branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_monter.png Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_descendre.png =================================================================== (Binary files differ) Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_descendre.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:keywords + Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_monter.png =================================================================== (Binary files differ) Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_monter.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:keywords + Id 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-11-05 13:41:57 UTC (rev 4171) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java 2008-11-05 14:49:55 UTC (rev 4172) @@ -10,7 +10,9 @@ import java.util.List; import java.util.TreeSet; +import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.collection.CtuluListObject; import com.vividsolutions.jts.geom.Coordinate; @@ -398,4 +400,25 @@ Assert.shouldNeverReachHere(); } + /** + * Permute les deux g\xE9om\xE9tries indiqu\xE9es par les deux index pass\xE9s en param\xE8tre. + * Si les index sont incoh\xE9rents, {@link IllegalArgumentException} est lev\xE9. + * @param _index1 l'index de la premi\xE8re g\xE9om\xE9trie + * @param _index2 l'index de la seconde gom\xE9trie + * @param _cmd le command manager pour le undo/redo + */ + public void switchGeometries(int _index1, int _index2, CtuluCommandContainer _cmd){ + if(_index1<0||_index1>geometry_.getSize()-1||_index2<0||_index2>geometry_.getSize()-1) + throw new IllegalArgumentException("Au moins l'un des deux index est incoh\xE9rent."); + if(_index1!=_index2){ + CtuluCommandComposite cmd=new CtuluCommandComposite(); + // Permutation de la g\xE9om\xE9trie + Object tmp=geometry_.getValueAt(_index1); + geometry_.set(_index1, geometry_.getValueAt(_index2), cmd); + geometry_.set(_index2, tmp, cmd); + if(_cmd!=null) + _cmd.addCmd(cmd.getSimplify()); + } + } + } \ No newline at end of file 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-11-05 13:41:57 UTC (rev 4171) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-11-05 14:49:55 UTC (rev 4172) @@ -18,7 +18,9 @@ import com.vividsolutions.jts.geom.GeometryFactory; import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ctulu.collection.CtuluCollection; import org.fudaa.ctulu.collection.CtuluCollectionDoubleEdit; @@ -772,5 +774,30 @@ getData(i).remove(_i, _c); } } - } + } + + /** + * Permute les deux g\xE9om\xE9tries indiqu\xE9es par les deux index pass\xE9s en param\xE8tre. + * Si les index sont incoh\xE9rents, {@link IllegalArgumentException} est lev\xE9. + * @param _index1 l'index de la premi\xE8re g\xE9om\xE9trie + * @param _index2 l'index de la seconde gom\xE9trie + * @param _cmd le command manager pour le undo/redo + */ + public void switchGeometries(int _index1, int _index2, CtuluCommandContainer _cmd){ + if(_index1<0||_index1>geometry_.getSize()-1||_index2<0||_index2>geometry_.getSize()-1) + throw new IllegalArgumentException("Au moins l'un des deux index est incoh\xE9rent."); + if(_index1!=_index2){ + CtuluCommandComposite cmd=new CtuluCommandComposite(); + // Permutation des g\xE9om\xE9tries + super.switchGeometries(_index1, _index2, cmd); + // Permutation des valeurs d'attributs + for(int i=0;i<attr_.length;i++){ + Object tmp=attr_[i].getObjectValueAt(_index1); + attr_[i].setObject(_index1, attr_[i].getObjectValueAt(_index2), cmd); + attr_[i].setObject(_index2, tmp, _cmd); + } + if(_cmd!=null) + _cmd.addCmd(cmd.getSimplify()); + } + } } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-05 13:41:57 UTC (rev 4171) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-05 14:49:55 UTC (rev 4172) @@ -15,7 +15,9 @@ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.lang.reflect.Array; import java.util.ArrayList; +import java.util.Arrays; import java.util.EventObject; import java.util.HashMap; import java.util.List; @@ -56,12 +58,15 @@ import org.fudaa.ebli.calque.ZSelectionListener; import org.fudaa.ebli.commun.BPalettePanelInterface; import org.fudaa.ebli.commun.EbliLib; +import org.jfree.util.ArrayUtilities; import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuButton; import com.memoire.bu.BuCheckBox; import com.memoire.bu.BuComboBox; import com.memoire.bu.BuLabel; import com.memoire.bu.BuPanel; +import com.memoire.bu.BuResource; import com.memoire.bu.BuScrollPane; import com.vividsolutions.jts.geom.Geometry; @@ -95,6 +100,8 @@ protected boolean onlyInvisible_; protected final CtuluTable table_; protected TableModel geomTableModel_; + protected BuButton btUp_; + protected BuButton btDown_; /** * @param _treeModel @@ -137,11 +144,22 @@ table_=new CtuluTable(); table_.getSelectionModel().addListSelectionListener(this); add(new BuScrollPane(table_), BuBorderLayout.CENTER); + // Ajout des boutons de d\xE9placement des g\xE9om\xE9tries \\ + Container btCont=new Container(); + btCont.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); + btUp_=new BuButton(BuResource.BU.getIcon("crystal22_monter")); + btDown_=new BuButton(BuResource.BU.getIcon("crystal22_descendre")); + btUp_.addActionListener(this); + btDown_.addActionListener(this); + btCont.add(btUp_); + btCont.add(btDown_); + add(btCont, BuBorderLayout.SOUTH); // Ajout des informations \\ fillCalqueComboBox(); calque_.addActionListener(this); cb.addChangeListener(this); fillTableGeometry(); + updateBtMovement(); } /** @@ -320,13 +338,13 @@ calque_.setSelectedItem(selectedItem); else calque_.setSelectedIndex(0); - updateListen(); + updateListenAndMoveBt(); } /** * Met \xE0 jour l'\xE9coute des calques et de leurs model */ - private void updateListen(){ + protected void updateListenAndMoveBt(){ // Suppression de l'\xE9coute de tout les calques for(int i=0;i<listenCalques_.length;i++){ listenCalques_[i].removeSelectionListener(this); @@ -350,6 +368,8 @@ listenCalques_[i].addSelectionListener(this); ((ZModeleGeometry) listenCalques_[i].modeleDonnees()).addModelListener(this); } + // Mise \xE0 jour des boutons de d\xE9placement + updateBtMovement(); } /** @@ -461,12 +481,99 @@ } } + protected void updateBtMovement(){ + boolean base=calque_.getSelectedItem()!=allCalquesEntry_&&table_.getSelectedRowCount()>0; + boolean enableUp=false; + boolean enableDown=false; + if(base){ + boolean prob=false; + int i=0; + while(!prob&&++i<table_.getRowCount()) + prob=!table_.getSelectionModel().isSelectedIndex(i-1)&&table_.getSelectionModel().isSelectedIndex(i); + enableUp=prob; + prob=false; + i=table_.getRowCount()-1; + while(!prob&&--i>=0) + prob=!table_.getSelectionModel().isSelectedIndex(i+1)&&table_.getSelectionModel().isSelectedIndex(i); + enableDown=prob; + } + btUp_.setEnabled(enableUp); + btDown_.setEnabled(enableDown); + } /** + * Retourne vrai si _value est dans _table + * @param _value + * @param _table + * @return + */ + private boolean in(int _value, int[] _table){ + boolean found=false; + int i=-1; + while(!found&&++i<_table.length) + found=_table[i]==_value; + return found; + } + + /** + * "remonte" d'1 les g\xE9om\xE9tries selectionn\xE9es dans leur calque. C'est \xE0 dire + * que si une g\xE9om\xE9trie \xE9tait \xE0 l'index 6, elle passe \xE0 l'index 5 (l'ancienne + * g\xE9om\xE9trie \xE0 5 passe \xE0 6). + */ + protected void moveUpSelectedGeometies(){ + int[] selection=table_.getSelectedRows(); + ArrayList<Integer> newSelection=new ArrayList<Integer>(); + Arrays.sort(selection); + int lastIndexCompute=-1; + for(int i=0;i<selection.length;i++){ + if(selection[i]>0&&(!in(selection[i]-1, selection)||selection[i]-1==lastIndexCompute)){ + newSelection.add(selection[i]-1); + lastIndexCompute=selection[i]; + ZModeleGeometry model=(ZModeleGeometry) ((ZCalqueAffichageDonneesInterface) table_.getModel().getValueAt(selection[i], 2)).modeleDonnees(); + int indexGeom=((Integer) table_.getModel().getValueAt(selection[i], 3)).intValue(); + model.getGeomData().switchGeometries(indexGeom, indexGeom-1, cmd_); + } + else + newSelection.add(selection[i]); + } + // R\xE9tablissement de la selection dans le tableau + table_.getSelectionModel().clearSelection(); + for(int i=0;i<newSelection.size();i++) + table_.getSelectionModel().addSelectionInterval(newSelection.get(i), newSelection.get(i)); + } + + /** + * "descend" d'1 les g\xE9om\xE9tries selectionn\xE9es dans leur calque. C'est \xE0 dire + * que si une g\xE9om\xE9trie \xE9tait \xE0 l'index 5, elle passe \xE0 l'index 6 (l'ancienne + * g\xE9om\xE9trie \xE0 6 passe \xE0 5). + */ + protected void moveDownSelectedGeometies(){ + int[] selection=table_.getSelectedRows(); + ArrayList<Integer> newSelection=new ArrayList<Integer>(); + Arrays.sort(selection); + int lastIndexCompute=-1; + for(int i=selection.length-1;i>=0;i--){ + if(selection[i]<(table_.getRowCount()-1)&&(!in(selection[i]+1, selection)||selection[i]+1==lastIndexCompute)){ + newSelection.add(selection[i]+1); + lastIndexCompute=selection[i]; + ZModeleGeometry model=(ZModeleGeometry) ((ZCalqueAffichageDonneesInterface) table_.getModel().getValueAt(selection[i], 2)).modeleDonnees(); + int indexGeom=((Integer) table_.getModel().getValueAt(selection[i], 3)).intValue(); + model.getGeomData().switchGeometries(indexGeom, indexGeom+1, cmd_); + } + else + newSelection.add(selection[i]); + } + // R\xE9tablissement de la selection dans le tableau + table_.getSelectionModel().clearSelection(); + for(int i=0;i<newSelection.size();i++) + table_.getSelectionModel().addSelectionInterval(newSelection.get(i), newSelection.get(i)); + } + + /** * Est appel\xE9e par EditVisibilityAction quand la palette est d\xE9couverte. */ public void doShow(){ - updateListen(); + updateListenAndMoveBt(); } /** @@ -508,11 +615,17 @@ return false; } - // Changement dans le comboBox des calques \\ + // Changement dans le comboBox des calques ou dans les boutons de d\xE9placements \\ public void actionPerformed(ActionEvent e) { - updateListen(); - fillTableGeometry(); + if(e.getSource()==calque_){ + updateListenAndMoveBt(); + fillTableGeometry(); + } + else if(e.getSource()==btUp_) + moveUpSelectedGeometies(); + else if(e.getSource()==btDown_) + moveDownSelectedGeometies(); } //Changement dans le checkBox onlyInvisible \\ @@ -540,7 +653,7 @@ fillCalqueComboBox(); } - // Modification dans le ou les claque(s) \xE9cout\xE9(s). + // Modification dans le ou les model(s) \xE9cout\xE9(s). public void attributeAction(Object _source, int att, GISAttributeInterface _att, int _action) { fillTableGeometry(); @@ -561,7 +674,7 @@ if(_att==GISAttributeConstants.TITRE) table_.getModel().setValueAt(_value, i, 0); else - table_.getModel().setValueAt(_value==GISAttributeConstants.ATT_VAL_TRUE ? true : false, i, 1); + table_.getModel().setValueAt(_value.equals(GISAttributeConstants.ATT_VAL_TRUE) ? true : false, i, 1); } else // Mise \xE0 jour de toutes les g\xE9om\xE9tries. @@ -579,6 +692,7 @@ if (listenSelection) { listenSelection=false; updateTableSelection(_evt.getSource()); + updateBtMovement(); listenSelection=true; } } @@ -589,6 +703,7 @@ if (listenSelection) { listenSelection=false; updateCalqueSelection(); + updateBtMovement(); listenSelection=true; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-05 16:13:03
|
Revision: 4174 http://fudaa.svn.sourceforge.net/fudaa/?rev=4174&view=rev Author: emmanuel_martin Date: 2008-11-05 16:12:55 +0000 (Wed, 05 Nov 2008) Log Message: ----------- Utilisation de la scene ?\195?\160 la place des calques dans le panel de visibilit?\195?\169. Modified Paths: -------------- 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 branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java Modified: 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/action/EditVisibilityAction.java 2008-11-05 14:56:59 UTC (rev 4173) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/EditVisibilityAction.java 2008-11-05 16:12:55 UTC (rev 4174) @@ -11,6 +11,7 @@ import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ebli.calque.BArbreCalqueModel; +import org.fudaa.ebli.calque.ZScene; import org.fudaa.ebli.calque.edition.BPaletteEditVisibility; import org.fudaa.ebli.commun.EbliActionPaletteAbstract; import org.fudaa.ebli.ressource.EbliResource; @@ -28,11 +29,13 @@ protected BPaletteEditVisibility palette_; protected final BArbreCalqueModel treeModel_; + protected final ZScene scene_; protected CtuluCommandManager cmd_; - public EditVisibilityAction(BArbreCalqueModel _treeModel, CtuluCommandManager _cmd) { + public EditVisibilityAction(BArbreCalqueModel _treeModel, ZScene _scene, CtuluCommandManager _cmd) { super(EbliResource.EBLI.getString("Edition visibilit\xE9"), BuResource.BU.getIcon("visibilite"), "VISIBILITY_EDITION", true); treeModel_=_treeModel; + scene_=_scene; cmd_=_cmd; } @@ -44,7 +47,7 @@ @Override public JComponent buildContentPane() { if(palette_==null) - palette_=new BPaletteEditVisibility(treeModel_, cmd_); + palette_=new BPaletteEditVisibility(treeModel_, scene_, cmd_); return palette_.getComponent(); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-05 14:56:59 UTC (rev 4173) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-05 16:12:55 UTC (rev 4174) @@ -15,13 +15,9 @@ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.EventObject; -import java.util.HashMap; -import java.util.List; -import java.util.Map; import javax.swing.AbstractCellEditor; import javax.swing.BorderFactory; @@ -39,7 +35,6 @@ import javax.swing.table.AbstractTableModel; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; -import javax.swing.table.TableModel; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.gis.GISAttributeConstants; @@ -47,18 +42,12 @@ import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gui.CtuluTable; import org.fudaa.ebli.calque.BArbreCalqueModel; -import org.fudaa.ebli.calque.BCalque; -import org.fudaa.ebli.calque.CalqueSelectorVisitor; -import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; -import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface; import org.fudaa.ebli.calque.ZModelGeometryListener; -import org.fudaa.ebli.calque.ZModeleDonnees; -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.commun.BPalettePanelInterface; import org.fudaa.ebli.commun.EbliLib; -import org.jfree.util.ArrayUtilities; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuButton; @@ -76,15 +65,19 @@ * ou d\xE9cocher une checkbox correspondant \xE0 la valeur de visibilit\xE9 de la * g\xE9om\xE9trie et r\xE9percute imm\xE9diatement le changement effectu\xE9. * + * De plus deux boutons permettent de changer l'ordre des g\xE9om\xE9tries dans le + * tableau et dans le model les contenant. + * * @author Emmanuel MARTIN - * @version $Id$ + * @version $Id: BPaletteEditVisibility.java 4172 2008-11-05 14:49:55Z + * emmanuel_martin $ */ public class BPaletteEditVisibility extends BuPanel implements ListSelectionListener, ZSelectionListener, ZModelGeometryListener, TreeModelListener, BPalettePanelInterface, ActionListener, ChangeListener { - // Attributs de fonctionnement - protected final BArbreCalqueModel treeModel_; - protected ZCalqueAffichageDonneesInterface[] calques_; - protected ZCalqueAffichageDonneesInterface[] listenCalques_; + /** Calques disponible pour l'utilisateur. */ + protected ZCalqueEditable[] calques_; + /** Models en cours d'\xE9coute. */ + protected ZModeleEditable[] listenModels_; protected final String allCalquesEntry_=EbliLib.getS("Tous les calques"); /** * vrai quand une modification de la selection dans le tableau ou dans le @@ -95,26 +88,29 @@ /** Vrai quand la visibilit\xE9 n'est pas en train d'\xEAtre chang\xE9 par le panel. */ protected boolean listenVisibility=true; protected CtuluCommandManager cmd_; + protected ZScene scene_; // Composants graphiques protected final BuComboBox calque_; protected boolean onlyInvisible_; protected final CtuluTable table_; - protected TableModel geomTableModel_; protected BuButton btUp_; protected BuButton btDown_; /** * @param _treeModel - * utile pour r\xE9cup\xE9rer la liste des calques contenant les - * g\xE9om\xE9tries et pour avoir connaissance de la cr\xE9ation et de la - * suppression de calque. + * utile pour avoir connaissance de la cr\xE9ation et de la suppression + * de calque. + * @param _scene + * utile pour l'\xE9coute des selections. */ - public BPaletteEditVisibility(BArbreCalqueModel _treeModel, CtuluCommandManager _cmd){ + public BPaletteEditVisibility(BArbreCalqueModel _treeModel, ZScene _scene, CtuluCommandManager _cmd){ cmd_=_cmd; - calques_=new ZCalqueAffichageDonneesInterface[0]; - listenCalques_=new ZCalqueAffichageDonneesInterface[0]; - treeModel_=_treeModel; - treeModel_.addTreeModelListener(this); + scene_=_scene; + calques_=new ZCalqueEditable[0]; + listenModels_=new ZModeleEditable[0]; + _treeModel.addTreeModelListener(this); + scene_.addSelectionListener(this); + // Configuration du panel \\ setLayout(new BuBorderLayout()); setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); setPreferredSize(new Dimension(210, 350)); @@ -148,7 +144,9 @@ Container btCont=new Container(); btCont.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); btUp_=new BuButton(BuResource.BU.getIcon("crystal22_monter")); + btUp_.setToolTipText(EbliLib.getS("D\xE9cr\xE9menter l'index de la g\xE9om\xE9trie")); btDown_=new BuButton(BuResource.BU.getIcon("crystal22_descendre")); + btDown_.setToolTipText(EbliLib.getS("Incr\xE9menter l'index de la g\xE9om\xE9trie")); btUp_.addActionListener(this); btDown_.addActionListener(this); btCont.add(btUp_); @@ -210,7 +208,7 @@ } public boolean isCellEditable(int rowIndex, int columnIndex) { - return columnIndex==1&&((ZCalqueAffichageDonneesInterface) rows_[rowIndex][2]).isEditable(); + return columnIndex==1; } public void setValueAt(Object value, int rowIndex, int columnIndex) { @@ -223,7 +221,7 @@ } else if(columnIndex==1){ rows_[rowIndex][columnIndex]=value; - changeVisibility((Integer) rows_[rowIndex][3], (ZCalqueAffichageDonneesInterface) rows_[rowIndex][2], (Boolean) rows_[rowIndex][1]); + changeVisibility((Integer) rows_[rowIndex][3], (ZModeleEditable) rows_[rowIndex][2], (Boolean) rows_[rowIndex][1]); // Dans le cas o\xF9 on n'affiche que les g\xE9om\xE9tries invisibles, on enl\xE8ve celle qu'on passe \xE0 visible. if(onlyInvisible_&&((Boolean) rows_[rowIndex][1])==true){ Object[][] newRows=new Object[rows_.length-1][]; @@ -327,9 +325,7 @@ Object selectedItem=calque_.getSelectedItem(); calque_.removeAllItems(); // R\xE9cup\xE9ration des calques - CalqueSelectorVisitor visitor = new CalqueSelectorVisitor(ZModeleGeometry.class); - ((BCalque)treeModel_.getRoot()).apply(visitor); - calques_=visitor.getSelectedCalques(); + calques_=scene_.getEditableLayers(); // Ajout des noms dans le comboBox calque_.addItem(allCalquesEntry_); for(int i=0;i<calques_.length;i++) @@ -338,38 +334,36 @@ calque_.setSelectedItem(selectedItem); else calque_.setSelectedIndex(0); - updateListenAndMoveBt(); + updateListen(); } /** - * Met \xE0 jour l'\xE9coute des calques et de leurs model + * Met \xE0 jour l'\xE9coute des models */ - protected void updateListenAndMoveBt(){ - // Suppression de l'\xE9coute de tout les calques - for(int i=0;i<listenCalques_.length;i++){ - listenCalques_[i].removeSelectionListener(this); - ((ZModeleGeometry) listenCalques_[i].modeleDonnees()).removeModelListener(this); + protected void updateListen(){ + // Suppression de l'\xE9coute de tout les models + for(int i=0;i<listenModels_.length;i++) + listenModels_[i].removeModelListener(this); + // Mise a jour du tableau de listeners + if(calque_.getSelectedItem()==allCalquesEntry_){ + listenModels_=new ZModeleEditable[calques_.length]; + for(int i=0;i<calques_.length;i++) + listenModels_[i]=calques_[i].getModelEditable(); } - // Mise a jour du tableau - if(calque_.getSelectedItem()==allCalquesEntry_) - listenCalques_=calques_; else{ boolean found=false; int i=-1; while(!found&&++i<calques_.length) found=calques_[i].getTitle().equals(calque_.getSelectedItem()); if(found) - listenCalques_=new ZCalqueAffichageDonneesInterface[]{calques_[i]}; + listenModels_=new ZModeleEditable[]{calques_[i].getModelEditable()}; else - listenCalques_=new ZCalqueAffichageDonneesInterface[0]; + listenModels_=new ZModeleEditable[0]; } // Ajout de l'\xE9coute de tout les calques - for(int i=0;i<listenCalques_.length;i++){ - listenCalques_[i].addSelectionListener(this); - ((ZModeleGeometry) listenCalques_[i].modeleDonnees()).addModelListener(this); + for(int i=0;i<listenModels_.length;i++){ + listenModels_[i].addModelListener(this); } - // Mise \xE0 jour des boutons de d\xE9placement - updateBtMovement(); } /** @@ -387,7 +381,7 @@ ArrayList<Object[]> rows=new ArrayList<Object[]>(); for(int i=0;i<calques_.length;i++){ if(calques_[i].getTitle().equals(calque_.getSelectedItem())||calque_.getSelectedItem()==allCalquesEntry_){ - ZModeleGeometry model = (ZModeleGeometry)calques_[i].modeleDonnees(); + ZModeleEditable model = calques_[i].getModelEditable(); // Extraction des donn\xE9es utiles GISZoneCollection zone=model.getGeomData(); int indexTitre=zone.getIndiceOf(GISAttributeConstants.TITRE); @@ -395,11 +389,10 @@ if(indexTitre!=-1&&indexVisibility!=-1) for(int j=0;j<zone.getNbGeometries();j++) if(!onlyInvisible_||zone.getValue(indexVisibility, j)==GISAttributeConstants.ATT_VAL_FALSE) - rows.add(new Object[]{zone.getValue(indexTitre, j), zone.getValue(indexVisibility, j).equals(GISAttributeConstants.ATT_VAL_TRUE)?true:false, calques_[i], j}); + rows.add(new Object[]{zone.getValue(indexTitre, j), zone.getValue(indexVisibility, j).equals(GISAttributeConstants.ATT_VAL_TRUE)?true:false, model, scene_.layerId2SceneId(calques_[i], j)}); } } - geomTableModel_=new GeomTableModel(new String[]{EbliLib.getS("Nom"), EbliLib.getS("Visibilit\xE9")}, rows.toArray(new Object[0][])); - table_.setModel(geomTableModel_); + table_.setModel(new GeomTableModel(new String[]{EbliLib.getS("Nom"), EbliLib.getS("Visibilit\xE9")}, rows.toArray(new Object[0][]))); table_.getColumnModel().getColumn(0).setCellRenderer(new GeomTableRenderer()); table_.getColumnModel().getColumn(1).setCellRenderer(new GeomTableRenderer()); table_.getColumnModel().getColumn(1).setPreferredWidth(25); @@ -417,9 +410,9 @@ * @param _visibility * la nouvelle valeur de visibilit\xE9 */ - protected void changeVisibility(int _numGeom, ZCalqueAffichageDonneesInterface _calque, boolean _visibility) { + protected void changeVisibility(int _numGeom, ZModeleEditable _model, boolean _visibility) { listenVisibility=false; - GISZoneCollection zone=((ZModeleGeometry)_calque.modeleDonnees()).getGeomData(); + GISZoneCollection zone=_model.getGeomData(); int indexVisibility=zone.getIndiceOf(GISAttributeConstants.VISIBILITE); if (indexVisibility!=-1) zone.getModel(indexVisibility).setObject(_numGeom, _visibility==true ? GISAttributeConstants.ATT_VAL_TRUE:GISAttributeConstants.ATT_VAL_FALSE, cmd_); @@ -427,75 +420,46 @@ } /** - * Met \xE0 jour la selection dans le tableau pour qu'elle corresponde \xE0 la selection dans le calque. - * @param _calque le calque dans lequel la selection a \xE9t\xE9 modifi\xE9. + * Met \xE0 jour la selection dans le tableau pour qu'elle corresponde \xE0 la selection dans les calques. */ - protected void updateTableSelection(ZCalqueAffichageDonneesInterface _calque) { - if (_calque.getTitle().equals(calque_.getSelectedItem())||calque_.getSelectedItem()==allCalquesEntry_) { - // Construction de l'ensemble de selection - List<Integer> selection=new ArrayList<Integer>(); - int[] selectionTmp=_calque.getLayerSelection().getSelectedIndex(); - if (selectionTmp!=null) - for (int i=0; i<selectionTmp.length; i++) - selection.add(selectionTmp[i]); - // Selection des lignes correspondantes dans le tableau - for (int i=0; i<table_.getModel().getRowCount(); i++) { - ZCalqueAffichageDonneesInterface calque=(ZCalqueAffichageDonneesInterface)table_.getModel().getValueAt(i, 2); - if (calque==_calque) { - int indexGeom=(Integer)table_.getModel().getValueAt(i, 3); - if (selection.contains(indexGeom)&&!table_.getSelectionModel().isSelectedIndex(i)) - table_.getSelectionModel().addSelectionInterval(i, i); - else - if(!selection.contains(indexGeom)&&table_.getSelectionModel().isSelectedIndex(i)) - table_.getSelectionModel().removeSelectionInterval(i, i); - } - } - } + protected void updateTableSelection() { + int[] selection=scene_.getLayerSelection().getSelectedIndex(); + for(int i=0;i<table_.getRowCount();i++) + // Si la g\xE9om\xE9trie n'est pas s\xE9lectionn\xE9e dans le calque mais dans le tableau => d\xE9s\xE9lectionne + if(!in(((Integer) table_.getModel().getValueAt(i, 3)).intValue(), selection)&&table_.getSelectionModel().isSelectedIndex(i)) + table_.getSelectionModel().removeSelectionInterval(i, i); + // Si la g\xE9om\xE9trie est selectionn\xE9 dans le calque mais pas dans le tableau => s\xE9lection + else if(in(((Integer) table_.getModel().getValueAt(i, 3)).intValue(), selection)&&!table_.getSelectionModel().isSelectedIndex(i)) + table_.getSelectionModel().addSelectionInterval(i, i); } /** * Met \xE0 jour la selection dans le(s) calque(s) pour qu'elle corresponde \xE0 la selection dans le tableau. */ protected void updateCalqueSelection() { - // Suppression de la selection dans tout les calques - for (int i=0; i<calques_.length; i++) - if (!calques_[i].isSelectionEmpty()&&calques_[i] instanceof ZCalqueAffichageDonnees) - ((ZCalqueAffichageDonnees)calques_[i]).setSelection(new int[0]); - // R\xE9cup\xE9ration des index de g\xE9om\xE9tries selectionn\xE9s dans le tableau - HashMap<ZCalqueAffichageDonneesInterface, ArrayList<Integer>> completeSelection=new HashMap<ZCalqueAffichageDonneesInterface, ArrayList<Integer>>(); - int[] selectedRows=table_.getSelectedRows(); - for (int i=0; i<selectedRows.length; i++) { - ZCalqueAffichageDonneesInterface calque=((ZCalqueAffichageDonneesInterface)table_.getModel().getValueAt(selectedRows[i], 2)); - if (!completeSelection.containsKey(calque)) - completeSelection.put(calque, new ArrayList<Integer>()); - completeSelection.get(calque).add((Integer)table_.getModel().getValueAt(selectedRows[i], 3)); - } - // R\xE9percution de la selection du tableau sur les calques correspondants - for (Map.Entry<ZCalqueAffichageDonneesInterface, ArrayList<Integer>> entry : completeSelection.entrySet()) { - if (entry.getValue().size()>0&&entry.getKey() instanceof ZCalqueAffichageDonnees) { - int[] selection=new int[entry.getValue().size()]; - for (int i=0; i<selection.length; i++) - selection[i]=entry.getValue().get(i); - ((ZCalqueAffichageDonnees)entry.getKey()).setSelection(selection); - } - } + // Conversion des indices de lignes selectionn\xE9es en index globals de g\xE9om\xE9tries + int[] selection=table_.getSelectedRows(); + int[] selectedIdx=new int[selection.length]; + for(int i=0;i<selectedIdx.length;i++) + selectedIdx[i]=((Integer) table_.getModel().getValueAt(selection[i], 3)).intValue(); + scene_.setSelection(selectedIdx); } + /** + * Active ou d\xE9active les deux boutons de mouvement + */ protected void updateBtMovement(){ - boolean base=calque_.getSelectedItem()!=allCalquesEntry_&&table_.getSelectedRowCount()>0; boolean enableUp=false; boolean enableDown=false; - if(base){ - boolean prob=false; + if(calque_.getSelectedItem()!=allCalquesEntry_&&table_.getSelectedRowCount()>0){ + // Verification qu'il est possible de d\xE9placer la s\xE9lection vers le haut int i=0; - while(!prob&&++i<table_.getRowCount()) - prob=!table_.getSelectionModel().isSelectedIndex(i-1)&&table_.getSelectionModel().isSelectedIndex(i); - enableUp=prob; - prob=false; + while(!enableUp&&++i<table_.getRowCount()) + enableUp=!table_.getSelectionModel().isSelectedIndex(i-1)&&table_.getSelectionModel().isSelectedIndex(i); + // V\xE9rification qu'il est possible de d\xE9placer la selection vers le bas i=table_.getRowCount()-1; - while(!prob&&--i>=0) - prob=!table_.getSelectionModel().isSelectedIndex(i+1)&&table_.getSelectionModel().isSelectedIndex(i); - enableDown=prob; + while(!enableDown&&--i>=0) + enableDown=!table_.getSelectionModel().isSelectedIndex(i+1)&&table_.getSelectionModel().isSelectedIndex(i); } btUp_.setEnabled(enableUp); btDown_.setEnabled(enableDown); @@ -526,12 +490,13 @@ Arrays.sort(selection); int lastIndexCompute=-1; for(int i=0;i<selection.length;i++){ + // Si la place du dessus est libre, on monte if(selection[i]>0&&(!in(selection[i]-1, selection)||selection[i]-1==lastIndexCompute)){ newSelection.add(selection[i]-1); lastIndexCompute=selection[i]; - ZModeleGeometry model=(ZModeleGeometry) ((ZCalqueAffichageDonneesInterface) table_.getModel().getValueAt(selection[i], 2)).modeleDonnees(); + ZModeleEditable model=(ZModeleEditable) table_.getModel().getValueAt(selection[i], 2); int indexGeom=((Integer) table_.getModel().getValueAt(selection[i], 3)).intValue(); - model.getGeomData().switchGeometries(indexGeom, indexGeom-1, cmd_); + model.getGeomData().switchGeometries(scene_.sceneId2LayerId(indexGeom), scene_.sceneId2LayerId(indexGeom-1), cmd_); } else newSelection.add(selection[i]); @@ -553,12 +518,13 @@ Arrays.sort(selection); int lastIndexCompute=-1; for(int i=selection.length-1;i>=0;i--){ + // Si la place du dessous est libre, on descend if(selection[i]<(table_.getRowCount()-1)&&(!in(selection[i]+1, selection)||selection[i]+1==lastIndexCompute)){ newSelection.add(selection[i]+1); lastIndexCompute=selection[i]; - ZModeleGeometry model=(ZModeleGeometry) ((ZCalqueAffichageDonneesInterface) table_.getModel().getValueAt(selection[i], 2)).modeleDonnees(); + ZModeleEditable model=(ZModeleEditable) table_.getModel().getValueAt(selection[i], 2); int indexGeom=((Integer) table_.getModel().getValueAt(selection[i], 3)).intValue(); - model.getGeomData().switchGeometries(indexGeom, indexGeom+1, cmd_); + model.getGeomData().switchGeometries(scene_.sceneId2LayerId(indexGeom), scene_.sceneId2LayerId(indexGeom+1), cmd_); } else newSelection.add(selection[i]); @@ -573,7 +539,10 @@ * Est appel\xE9e par EditVisibilityAction quand la palette est d\xE9couverte. */ public void doShow(){ - updateListenAndMoveBt(); + updateListen(); + fillCalqueComboBox(); + fillTableGeometry(); + updateBtMovement(); } /** @@ -581,12 +550,10 @@ */ public void doHide(){ // Suppression de l'\xE9coute de tout les calques - for(int i=0;i<listenCalques_.length;i++){ - listenCalques_[i].removeSelectionListener(this); - ((ZModeleGeometry) listenCalques_[i].modeleDonnees()).removeModelListener(this); - } - // Mise a jour du tableau - listenCalques_=new ZCalqueAffichageDonneesInterface[0]; + for(int i=0;i<listenModels_.length;i++) + listenModels_[i].removeModelListener(this); + // Mise a jour du tableau de listeners + listenModels_=new ZModeleEditable[0]; } /* (non-Javadoc) @@ -619,8 +586,9 @@ public void actionPerformed(ActionEvent e) { if(e.getSource()==calque_){ - updateListenAndMoveBt(); + updateListen(); fillTableGeometry(); + updateBtMovement(); } else if(e.getSource()==btUp_) moveUpSelectedGeometies(); @@ -666,7 +634,7 @@ boolean found=false; int i=-1; while(!found&&++i<table_.getModel().getRowCount()){ - ZModeleDonnees model=((ZCalqueAffichageDonneesInterface) table_.getModel().getValueAt(i, 2)).modeleDonnees(); + ZModeleEditable model=(ZModeleEditable) table_.getModel().getValueAt(i, 2); Integer indexGeom=(Integer) table_.getModel().getValueAt(i, 3); found=(model==_source)&&(indexGeom==_geom); } @@ -691,7 +659,7 @@ public void selectionChanged(ZSelectionEvent _evt) { if (listenSelection) { listenSelection=false; - updateTableSelection(_evt.getSource()); + updateTableSelection(); updateBtMovement(); listenSelection=true; } Modified: 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/layer/FSigVisuPanel.java 2008-11-05 14:56:59 UTC (rev 4173) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java 2008-11-05 16:12:55 UTC (rev 4174) @@ -171,7 +171,7 @@ arrayList.add(new CalqueGISEditionAction(getArbreCalqueModel().getTreeSelectionModel(), gisEditor_, getScene())); arrayList.add(new SceneRotationAction(getArbreCalqueModel().getTreeSelectionModel(), gisEditor_, gisEditor_.getSceneEditor(),getEbliFormatter())); arrayList.add(new SceneDeplacementAction(getArbreCalqueModel().getTreeSelectionModel(), gisEditor_.getSceneEditor(),getEbliFormatter(), getCalqueDeplacement())); - arrayList.add(new EditVisibilityAction(getArbreCalqueModel(), mng_)); + arrayList.add(new EditVisibilityAction(getArbreCalqueModel(), getScene(), mng_)); return (EbliActionInterface[]) arrayList.toArray(new EbliActionInterface[arrayList.size()]); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-05 16:47:01
|
Revision: 4176 http://fudaa.svn.sourceforge.net/fudaa/?rev=4176&view=rev Author: emmanuel_martin Date: 2008-11-05 16:46:58 +0000 (Wed, 05 Nov 2008) Log Message: ----------- Fusion de GEOMETRY_ACTION_REPLACE et GEOMETRY_ACTION_STRUCTURE_CHANGE en GEOMETRY_ACTION_MODIFY dans ZModelListener et GISZoneListener Modified Paths: -------------- 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/GISCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneListener.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/rubar/H2dRubarDonneesBrutes.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/H2dRubarOuvrageMng.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/ZModelListener.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalageLogic.java 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-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListBoolean.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -207,7 +207,7 @@ // System.err.println("overload " + getClass().getName() + ".firePointRemoved"); } - protected void fireObjectStructureChanged(int _idx, Object _geom) { + protected void fireObjectModified(int _idx, Object _geom) { // System.err.println("overload " + getClass().getName() + ".firePointStructureChanged"); } 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-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListObject.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -291,7 +291,7 @@ // System.err.println("overload " + getClass().getName() + ".firePointRemoved"); } - protected void fireObjectStructureChanged(int _idx, Object _geom) { + protected void fireObjectModified(int _idx, Object _geom) { // System.err.println("overload " + getClass().getName() + ".firePointStructureChanged"); } 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-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -44,9 +44,9 @@ GISCollection.this.fireGeometryAdded(_newIdx, (Geometry) _newGeom); } - protected void fireObjectChanged(int _oldIdx, Object _oldGeom) { + protected void fireObjectModified(int _oldIdx, Object _oldGeom) { GISCollection.this.geometryChanged(); - GISCollection.this.fireGeometryReplaced(_oldIdx, (Geometry) _oldGeom); + GISCollection.this.fireGeometryModified(_oldIdx, (Geometry) _oldGeom); } protected void fireObjectRemoved(int _oldIdx, Object _oldGeom) { @@ -54,11 +54,6 @@ GISCollection.this.fireGeometryRemoved(_oldIdx, (Geometry) _oldGeom); } - protected void fireObjectStructureChanged(int _idx, Object _geom) { - GISCollection.this.geometryChanged(); - GISCollection.this.fireGeometryStructureChanged(_idx, (Geometry) _geom); - } - protected List getList() { return list_; } @@ -163,15 +158,10 @@ listener_.objectAction(this, _oldIdx, _oldGeom, GISZoneListener.OBJECT_ACTION_REMOVE); } - protected void fireGeometryReplaced(int _oldIdx, Geometry _oldGeom) { + protected void fireGeometryModified(int _oldIdx, Geometry _oldGeom) { if (listener_!=null) - listener_.objectAction(this, _oldIdx, _oldGeom, GISZoneListener.OBJECT_ACTION_REPLACE); + listener_.objectAction(this, _oldIdx, _oldGeom, GISZoneListener.OBJECT_ACTION_MODIFY); } - - protected void fireGeometryStructureChanged(int _idx, Geometry _geom) { - if (listener_!=null) - listener_.objectAction(this, _idx, _geom, GISZoneListener.OBJECT_ACTION_STRUCTURE_CHANGE); - } protected Envelope computeEnvelopeInternal() { final Envelope e = new Envelope(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneListener.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneListener.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -12,9 +12,7 @@ * Cette interface permet l'\xE9coute des changements concernant les objets et les * attributs (si existant). Les changements sont : l'ajout d'un attribut, la * suppression d'un attribut, le changement d'une valeur d'un attribut, l'ajout - * d'un objet, la supression d'un objet, le remplacement d'un objet par une - * autre et la modification interne d'un objet (g\xE9n\xE9ralement l'ajout ou la - * suppression de points). + * d'un objet, la supression d'un objet et la modification d'un objet. * * @author Emmanuel MARTIN * @version $Id: AttributeListener.java 4103 2008-10-28 15:55:12Z @@ -34,16 +32,8 @@ * Action indiquant la supression d'un objet dans le conteneur de g\xE9om\xE9tries. */ public static final int OBJECT_ACTION_REMOVE=3; - /** - * Action indiquant la remplacement d'un objet dans le conteneur de - * g\xE9om\xE9tries. - */ - public static final int OBJECT_ACTION_REPLACE=4; - /** - * Action indiquant la modification des donn\xE9es internes \xE0 l'objet. - * G\xE9n\xE9ralement une modification de ses sommets. - */ - public static final int OBJECT_ACTION_STRUCTURE_CHANGE=5; + /** Action indiquant la modification d'un objet. */ + public static final int OBJECT_ACTION_MODIFY=4; /** * M\xE9thode appel\xE9e lorsqu'une action d'ajout ou de suppression est effectu\xE9e Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/H2dParallelogrammeManager.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/H2dParallelogrammeManager.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/H2dParallelogrammeManager.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -42,7 +42,7 @@ fireSupportAddOrRemoved(); } - protected void fireObjectStructureChanged(int _idx, Object _geom){ + protected void fireObjectModified(int _idx, Object _geom){ fireSupportAddOrRemoved(); } Modified: 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/H2dRubarDonneesBrutes.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarDonneesBrutes.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -358,7 +358,7 @@ } public void objectAction(Object _source, int geom, Object _obj, int _action) { - if (_action == OBJECT_ACTION_REPLACE) { + if (_action == OBJECT_ACTION_MODIFY) { fireDonneesBrutesNuageSupportChanged(); } else { fireDonneesBrutesNuageSupportAddOrRemoved(); Modified: 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/H2dRubarOuvrage.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarOuvrage.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -172,7 +172,7 @@ H2dRubarOuvrage.this.mng_.fireOuvrageChanged(H2dRubarOuvrage.this, true); } - protected void fireObjectStructureChanged(int _idx, Object _geom) { + protected void fireObjectModified(int _idx, Object _geom) { H2dRubarOuvrage.this.mng_.fireOuvrageChanged(H2dRubarOuvrage.this, true); } Modified: 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/H2dRubarOuvrageMng.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/rubar/H2dRubarOuvrageMng.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -62,7 +62,7 @@ H2dRubarOuvrageMng.this.fireOuvrageRemoved(); } - protected void fireObjectStructureChanged(int _idx, Object _geom) { + protected void fireObjectModified(int _idx, Object _geom) { H2dRubarOuvrageMng.this.fireOuvrageRemoved(); } } Modified: 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/H2dTelemacSeuilMng.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSeuilMng.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -58,7 +58,7 @@ super(_nb); } - protected void fireObjectStructureChanged(int _idx, Object _geom) { + protected void fireObjectModified(int _idx, Object _geom) { p_.setValue(nbSeuilKw_, CtuluLibString.getString(getNbSeuil())); H2dTelemacSeuilMng.this.fireSeuilAdded(); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSourceMng.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSourceMng.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/telemac/H2dTelemacSourceMng.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -97,7 +97,7 @@ majTaille(); } - protected void fireObjectStructureChanged(int _idx, Object _geom) { + protected void fireObjectModified(int _idx, Object _geom) { majTaille(); } } @@ -1049,7 +1049,7 @@ fireCulvertRemoved(); } - protected void fireObjectStructureChanged(int _idx, Object _geom) { + protected void fireObjectModified(int _idx, Object _geom) { new Throwable().printStackTrace(); fireCulvertRemoved(); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelListener.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelListener.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModelListener.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -12,11 +12,10 @@ /** * Cette interface permet l'\xE9coute des changements concernant les g\xE9om\xE9tries. * Les changements sont : l'ajout d'une g\xE9om\xE9trie, la supression d'une - * g\xE9om\xE9trie, le remplacement d'une g\xE9om\xE9trie par une autre et la modification - * interne d'une g\xE9om\xE9trie (g\xE9n\xE9ralement l'ajout ou la suppression de points). + * g\xE9om\xE9trie et la modification d'une g\xE9om\xE9trie. * * @author Emmanuel MARTIN - * @version $Id:$ + * @version $Id$ */ public interface ZModelListener { /** Action indiquant l'ajout d'une g\xE9om\xE9trie dans le conteneur de g\xE9om\xE9tries. */ @@ -26,16 +25,8 @@ * g\xE9om\xE9tries. */ public static final int GEOMETRY_ACTION_REMOVE=3; - /** - * Action indiquant la remplacement d'une g\xE9om\xE9trie dans le conteneur de - * g\xE9om\xE9tries. - */ - public static final int GEOMETRY_ACTION_REPLACE=4; - /** - * Action indiquant la modification des donn\xE9es internes \xE0 la g\xE9om\xE9trie. - * G\xE9n\xE9ralement une modification de ses sommets. - */ - public static final int GEOMETRY_ACTION_STRUCTURE_CHANGE=5; + /** Action indiquant la modification d'une g\xE9om\xE9trie */ + public static final int GEOMETRY_ACTION_MODIFY=4; /** * M\xE9thode appel\xE9e lorsqu'une action est effectu\xE9e sur une g\xE9om\xE9trie. Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalageLogic.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalageLogic.java 2008-11-05 16:29:35 UTC (rev 4175) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/wizard/FSigImageWizardStepCalageLogic.java 2008-11-05 16:46:58 UTC (rev 4176) @@ -75,7 +75,7 @@ public void objectAction(Object _source, int geom, Object _obj, int _action) { logic_.tableModel_.updateError(); - if (_action == OBJECT_ACTION_REPLACE||_action==OBJECT_ACTION_STRUCTURE_CHANGE) { + if (_action == OBJECT_ACTION_MODIFY) { logic_.tableModel_.fireTableRowsUpdated(0, logic_.tableModel_.getRowCount() - 1); logic_.majTextFields(); } else if (_action == OBJECT_ACTION_REMOVE && logic_.tableModel_.getRowCount() > 0) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-06 14:22:23
|
Revision: 4183 http://fudaa.svn.sourceforge.net/fudaa/?rev=4183&view=rev Author: emmanuel_martin Date: 2008-11-06 14:22:09 +0000 (Thu, 06 Nov 2008) Log Message: ----------- bugfix : sur la palette de visibilit?\195?\169 : changement de visibilit?\195?\169 infonctionnelle, probl?\195?\168me de d?\195?\169placement des g?\195?\169om?\195?\169tries, undo/redo en deux temps. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 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-11-06 14:11:44 UTC (rev 4182) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java 2008-11-06 14:22:09 UTC (rev 4183) @@ -403,9 +403,12 @@ if(_index1!=_index2){ CtuluCommandComposite cmd=new CtuluCommandComposite(); // Permutation de la g\xE9om\xE9trie - Object tmp=geometry_.getValueAt(_index1); - geometry_.set(_index1, geometry_.getValueAt(_index2), cmd); - geometry_.set(_index2, tmp, cmd); + Object idx1=geometry_.getValueAt(_index1); + Object idx2=geometry_.getValueAt(_index2); + geometry_.set(_index1, idx2, cmd); + geometry_.set(_index2, idx1, cmd); + fireGeometryModified(_index1, (Geometry) idx1); + fireGeometryModified(_index2, (Geometry) idx2); if(_cmd!=null) _cmd.addCmd(cmd.getSimplify()); } 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-11-06 14:11:44 UTC (rev 4182) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollection.java 2008-11-06 14:22:09 UTC (rev 4183) @@ -794,8 +794,10 @@ for(int i=0;i<attr_.length;i++){ Object tmp=attr_[i].getObjectValueAt(_index1); attr_[i].setObject(_index1, attr_[i].getObjectValueAt(_index2), cmd); - attr_[i].setObject(_index2, tmp, _cmd); + attr_[i].setObject(_index2, tmp, cmd); } + fireAttributeValueChanged(-1, null, _index1, null); + fireAttributeValueChanged(-1, null, _index2, null); if(_cmd!=null) _cmd.addCmd(cmd.getSimplify()); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-06 14:11:44 UTC (rev 4182) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-06 14:22:09 UTC (rev 4183) @@ -419,7 +419,7 @@ GISZoneCollection zone=_model.getGeomData(); int indexVisibility=zone.getIndiceOf(GISAttributeConstants.VISIBILITE); if (indexVisibility!=-1) - zone.getModel(indexVisibility).setObject(_numGeom, _visibility==true ? GISAttributeConstants.ATT_VAL_TRUE:GISAttributeConstants.ATT_VAL_FALSE, cmd_); + zone.getModel(indexVisibility).setObject(scene_.sceneId2LayerId(_numGeom), _visibility==true ? GISAttributeConstants.ATT_VAL_TRUE:GISAttributeConstants.ATT_VAL_FALSE, cmd_); listenVisibility=true; } @@ -632,30 +632,48 @@ } public void attributeValueChangeAction(Object _source, int att, GISAttributeInterface _att, int _geom, Object _value) { - if(listenVisibility&&(_att==GISAttributeConstants.TITRE||_att==GISAttributeConstants.VISIBILITE)){ - if(_geom>=0){ - // Mise \xE0 jour seulement de la g\xE9om\xE9trie. - boolean found=false; - int i=-1; - while(!found&&++i<table_.getModel().getRowCount()){ - ZModeleEditable model=(ZModeleEditable) table_.getModel().getValueAt(i, 2); - Integer indexGeom=(Integer) table_.getModel().getValueAt(i, 3); - found=(model==_source)&&(indexGeom==_geom); + if(listenVisibility&&(_att==GISAttributeConstants.TITRE||_att==GISAttributeConstants.VISIBILITE||_att==null)){ + // Recherche le calque contenant le model + boolean foundCalque=false; + int j=-1; + ZCalqueEditable[] calques=scene_.getEditableLayers(); + while (!foundCalque&&++j<calques.length) + foundCalque=calques[j].getModelEditable()==_source; + if (foundCalque) { + if (_geom>=0) { + int idxGeom=scene_.layerId2SceneId(calques[j], _geom); + // Mise \xE0 jour seulement de la g\xE9om\xE9trie. + boolean found=false; + int i=-1; + while (!found&&++i<table_.getModel().getRowCount()) { + ZModeleEditable model=(ZModeleEditable)table_.getModel().getValueAt(i, 2); + Integer indexGeom=(Integer)table_.getModel().getValueAt(i, 3); + found=(model==_source)&&(indexGeom==idxGeom); + } + if (found) + if (_att==GISAttributeConstants.TITRE) + table_.getModel().setValueAt(_value, i, 0); + else if (_att==GISAttributeConstants.VISIBILITE) + table_.getModel().setValueAt(_value.equals(GISAttributeConstants.ATT_VAL_TRUE) ? true:false, i, 1); + else { + GISZoneCollection zone=((ZModeleEditable)_source).getGeomData(); + table_.getModel().setValueAt( + ((ZModeleEditable)_source).getGeomData().getValue(zone.getIndiceOf(GISAttributeConstants.TITRE), _geom), i, 0); + table_.getModel().setValueAt( + ((ZModeleEditable)_source).getGeomData().getValue(zone.getIndiceOf(GISAttributeConstants.VISIBILITE), _geom) + .equals(GISAttributeConstants.ATT_VAL_TRUE) ? true:false, i, 1); + } } - if(found) - if(_att==GISAttributeConstants.TITRE) - table_.getModel().setValueAt(_value, i, 0); - else - table_.getModel().setValueAt(_value.equals(GISAttributeConstants.ATT_VAL_TRUE) ? true : false, i, 1); + else + // Mise \xE0 jour de toutes les g\xE9om\xE9tries. + fillTableGeometry(); } - else - // Mise \xE0 jour de toutes les g\xE9om\xE9tries. - fillTableGeometry(); } } public void geometryAction(Object _source, int geom, Geometry _geom, int _action) { - fillTableGeometry(); + if(_action!=GEOMETRY_ACTION_MODIFY) + fillTableGeometry(); } // La selection dans un calque \xE0 chang\xE9e \\ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-12 09:11:14
|
Revision: 4200 http://fudaa.svn.sourceforge.net/fudaa/?rev=4200&view=rev Author: emmanuel_martin Date: 2008-11-12 09:11:09 +0000 (Wed, 12 Nov 2008) Log Message: ----------- bugfix : correction concernant la palette de visibilit?\195?\169 et le undo Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListObject.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 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-11-10 12:31:02 UTC (rev 4199) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/CtuluListObject.java 2008-11-12 09:11:09 UTC (rev 4200) @@ -19,8 +19,6 @@ 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 @@ -204,6 +202,7 @@ */ for(int i=idx_.length-1;i>=0;i--) internalRemove(idx_[i]); + fireObjectRemoved(-1, null); } public void undo() { @@ -215,6 +214,7 @@ */ for(int i=0;i<idx_.length;i++) internalAdd(idx_[i], oldValues_[i]); + fireObjectAdded(-1, null); } } @@ -295,6 +295,7 @@ protected void fireObjectAdded(int _newIdx, Object _newGeom) { // System.err.println("overload " + getClass().getName() + ".firePointAdded"); + fireObjectChanged(_newIdx, _newGeom); } protected void fireObjectChanged(int _oldIdx, Object _oldGeom) { @@ -303,10 +304,12 @@ protected void fireObjectRemoved(int _oldIdx, Object _oldGeom) { // System.err.println("overload " + getClass().getName() + ".firePointRemoved"); + fireObjectChanged(_oldIdx, _oldGeom); } protected void fireObjectModified(int _idx, Object _geom) { // System.err.println("overload " + getClass().getName() + ".firePointStructureChanged"); + fireObjectChanged(_idx, _geom); } protected void internalAdd(final Object _v) { @@ -562,12 +565,12 @@ } if (idx + idxOldV == initSize) { if (commandComposite != null) { - internActionPointRemoved(iToRemove, commandComposite); if (_forceMemento || idxOldV > 10) { commandComposite.addCmd(new CommandRemoveMemento(memento, iToRemove)); } else { commandComposite.addCmd(new CommandRemoveDangerous(oldV, iToRemove)); } + internActionPointRemoved(iToRemove, commandComposite); } fireObjectRemoved(-1, null); if (_cmd != null && commandComposite != null) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-10 12:31:02 UTC (rev 4199) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-12 09:11:09 UTC (rev 4200) @@ -220,19 +220,22 @@ table_.getSelectionModel().addSelectionInterval(rowIndex, rowIndex); } else if(columnIndex==1){ - rows_[rowIndex][columnIndex]=value; - changeVisibility((Integer) rows_[rowIndex][3], (ZModeleEditable) rows_[rowIndex][2], (Boolean) rows_[rowIndex][1]); - // Dans le cas o\xF9 on n'affiche que les g\xE9om\xE9tries invisibles, on enl\xE8ve celle qu'on passe \xE0 visible. - if(onlyInvisible_&&((Boolean) rows_[rowIndex][1])==true){ - Object[][] newRows=new Object[rows_.length-1][]; - for(int i=0;i<rowIndex;i++) - newRows[i]=rows_[i]; - for(int i=rowIndex+1;i<rows_.length;i++) - newRows[i-1]=rows_[i]; - rows_=newRows; - fireTableDataChanged(); - if(selected) - table_.getSelectionModel().addSelectionInterval(rowIndex, rowIndex); + if (rows_[rowIndex][columnIndex]!=value) { + rows_[rowIndex][columnIndex]=value; + changeVisibility((Integer)rows_[rowIndex][3], (ZModeleEditable)rows_[rowIndex][2], (Boolean)rows_[rowIndex][1]); + // Dans le cas o\xF9 on n'affiche que les g\xE9om\xE9tries invisibles, on + // enl\xE8ve celle qu'on passe \xE0 visible. + if (onlyInvisible_&&((Boolean)rows_[rowIndex][1])==true) { + Object[][] newRows=new Object[rows_.length-1][]; + for (int i=0; i<rowIndex; i++) + newRows[i]=rows_[i]; + for (int i=rowIndex+1; i<rows_.length; i++) + newRows[i-1]=rows_[i]; + rows_=newRows; + fireTableDataChanged(); + if (selected) + table_.getSelectionModel().addSelectionInterval(rowIndex, rowIndex); + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-12 12:22:04
|
Revision: 4207 http://fudaa.svn.sourceforge.net/fudaa/?rev=4207&view=rev Author: bmarchan Date: 2008-11-12 11:34:10 +0000 (Wed, 12 Nov 2008) Log Message: ----------- Chgt d'icones, pas transf?\195?\169r?\195?\169s dans la distrib. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java Added Paths: ----------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_descendre.png branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_monter.png Removed Paths: ------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_descendre.png branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_monter.png Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_descendre.png =================================================================== (Binary files differ) Deleted: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal22_monter.png =================================================================== (Binary files differ) Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_descendre.png =================================================================== (Binary files differ) Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_descendre.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:keywords + Date Revision Author URL Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_monter.png =================================================================== (Binary files differ) Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/com/memoire/bu/crystal_monter.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:keywords + Date Revision Author URL Id Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-12 11:02:46 UTC (rev 4206) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java 2008-11-12 11:34:10 UTC (rev 4207) @@ -143,9 +143,9 @@ // Ajout des boutons de d\xE9placement des g\xE9om\xE9tries \\ Container btCont=new Container(); btCont.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); - btUp_=new BuButton(BuResource.BU.getIcon("crystal22_monter")); + btUp_=new BuButton(BuResource.BU.getIcon("monter")); btUp_.setToolTipText(EbliLib.getS("D\xE9cr\xE9menter l'index de la g\xE9om\xE9trie")); - btDown_=new BuButton(BuResource.BU.getIcon("crystal22_descendre")); + btDown_=new BuButton(BuResource.BU.getIcon("descendre")); btDown_.setToolTipText(EbliLib.getS("Incr\xE9menter l'index de la g\xE9om\xE9trie")); btUp_.addActionListener(this); btDown_.addActionListener(this); Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEditVisibility.java ___________________________________________________________________ Modified: svn:keywords - Id + Date Revision Author URL Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-12 13:36:45
|
Revision: 4210 http://fudaa.svn.sourceforge.net/fudaa/?rev=4210&view=rev Author: emmanuel_martin Date: 2008-11-12 13:36:43 +0000 (Wed, 12 Nov 2008) Log Message: ----------- bugfix : #92, #96 et #101 Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 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-11-12 13:33:41 UTC (rev 4209) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCollection.java 2008-11-12 13:36:43 UTC (rev 4210) @@ -44,6 +44,10 @@ GISCollection.this.fireGeometryAdded(_newIdx, (Geometry) _newGeom); } + protected void fireObjectChanged(int _idx, Object _geom){ + fireObjectModified(_idx, _geom); + } + protected void fireObjectModified(int _oldIdx, Object _oldGeom) { GISCollection.this.geometryChanged(); GISCollection.this.fireGeometryModified(_oldIdx, (Geometry) _oldGeom); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-11-12 13:33:41 UTC (rev 4209) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-11-12 13:36:43 UTC (rev 4210) @@ -757,7 +757,7 @@ pn=GISGuiBuilder.buildForGlobAtt(calque.getModelEditable().getGeomData(), calque.getLayerSelection().getSelectedIndex(), getMng()); if (pn==null) - getUi().message(calque.getTitle(), EbliLib.getS("Aucune donn\xE9e \xE0 \xE9diter"), true); + getUi().message(calque.getTitle(), EbliLib.getS("Aucune donn\xE9e \xE0 \xE9diter"), false); else pn.afficheModale(getFrame(), calque.getTitle()); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-11-12 13:33:41 UTC (rev 4209) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-11-12 13:36:43 UTC (rev 4210) @@ -296,7 +296,7 @@ final Coordinate c=((LineString)getGeomData().getGeometry(idxPoly)).getCoordinateSequence().getCoordinate(idxPt); _d.put("X:", Double.toString(c.x)); _d.put("Y:", Double.toString(c.y)); - fillWithAtomicInfo(idxPoly, idxPoly, _d); + fillWithAtomicInfo(idxPoly, idxPt, _d); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-11-12 16:24:14
|
Revision: 4212 http://fudaa.svn.sourceforge.net/fudaa/?rev=4212&view=rev Author: bmarchan Date: 2008-11-12 16:24:11 +0000 (Wed, 12 Nov 2008) Log Message: ----------- Nouveau calque Axe Hydralique. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.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/layer/MdlLayerFactory.java Added Paths: ----------- 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/MdlModel1dAxe.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer1dAxePersistence.java Property Changed: ---------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayerFactory.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java 2008-11-12 15:06:29 UTC (rev 4211) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISAttributeConstants.java 2008-11-12 16:24:11 UTC (rev 4212) @@ -55,6 +55,8 @@ public final static String ATT_NATURE_ZN="ZN"; /** Nature Contour d'\xE9tude */ public final static String ATT_NATURE_CE="CE"; + /** Nature axe hydraulique */ + public final static String ATT_NATURE_AH="AH"; /** * Un attribut nom, global. Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java 2008-11-12 15:06:29 UTC (rev 4211) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java 2008-11-12 16:24:11 UTC (rev 4212) @@ -13,7 +13,8 @@ import org.fudaa.ebli.geometrie.GrPoint; /** - * Un mod\xE8le contenant toutes sortes de GIS g\xE9om\xE9tries (non sp\xE9cialis\xE9). + * Un mod\xE8le contenant toutes sortes de GIS g\xE9om\xE9tries (non sp\xE9cialis\xE9). Les modifications + * apport\xE9es au mod\xE8le peuvent \xEAtre \xE9cout\xE9es. * @see org.fudaa.ebli.calque.ZCalqueGeometry * @author Bertrand Marchand * @version $Id$ @@ -78,7 +79,15 @@ */ public boolean isGeometryVisible(int _idxGeom); + /** + * Ajoute un listener \xE9coutant les modifications apport\xE9es au mod\xE8le. + * @param _listener Le listener. + */ public void addModelListener(ZModelGeometryListener _listener); + /** + * Supprime le listener \xE9coutant les modifications apport\xE9es au mod\xE8le. + * @param _listener Le listener. + */ public void removeModelListener(ZModelGeometryListener _listener); } 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-11-12 15:06:29 UTC (rev 4211) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlVisuPanel.java 2008-11-12 16:24:11 UTC (rev 4212) @@ -19,6 +19,7 @@ import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.modeleur.action.CalqueDeleteCalqueAction; import org.fudaa.fudaa.modeleur.action.CalqueNewCalqueAction; +import org.fudaa.fudaa.modeleur.layer.MdlLayer1dAxe; import org.fudaa.fudaa.modeleur.layer.MdlLayer1dTrace; import org.fudaa.fudaa.modeleur.layer.MdlLayer2dCloud; import org.fudaa.fudaa.modeleur.layer.MdlLayer2dConstraintLine; @@ -106,6 +107,10 @@ EbliActionInterface actNewDir=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque lignes directions"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER2D_DIR_LINE,cqSing_,getGisEditor()); cqSing_.setActions(new EbliActionInterface[] { actNewZone, actNewCnt, actNewConst, actNewDir}); + EbliActionInterface actNewTrace=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque trace de profils"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER1D_TRACE,cqMdl1d_,getGisEditor()); + EbliActionInterface actNewAxe=new CalqueNewCalqueAction(FudaaLib.getS("Nouveau calque axes hydrauliques"),FudaaResource.FUDAA.getIcon("ajouter"),MdlLayerFactory.LAYER1D_AXE,cqMdl1d_,getGisEditor()); + cqMdl1d_.setActions(new EbliActionInterface[] { actNewTrace, actNewAxe}); + EbliActionInterface actImport = new FSigImageImportAction(this, cqImg_); cqImg_.setActions(new EbliActionInterface[] { actImport }); @@ -196,6 +201,10 @@ MdlLayer1dTrace cqTrace=new MdlLayer1dTrace(getGisEditor()); cqTrace.setName(BGroupeCalque.findUniqueChildName(cqMdl1d_, cqTrace.getExtName())); cqMdl1d_.add(cqTrace); + + MdlLayer1dAxe cqAxe=new MdlLayer1dAxe(getGisEditor()); + cqAxe.setName(BGroupeCalque.findUniqueChildName(cqMdl1d_, cqAxe.getExtName())); + cqMdl1d_.add(cqAxe); } /** Added: 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 (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayer1dAxe.java 2008-11-12 16:24:11 UTC (rev 4212) @@ -0,0 +1,60 @@ +/* + * @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.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.MdlLayer1dAxePersistence; +import org.fudaa.fudaa.sig.layer.FSigEditor; + +/** + * Un calque pour le stockage et la manipulation des donn\xE9es 1d. + * @author Bertrand Marchand + * @version $Id$ + */ +public class MdlLayer1dAxe extends MdlLayer2dLine { + + /** + * Constructeur. Utilise un mod\xE8le de donn\xE9es et un editeur. + * @param _model Modele + * @param _editor Editeur. + */ + private MdlLayer1dAxe(ZModeleLigneBriseeEditable _model, final FSigEditor _editor) { + super(_model,_editor); + setLineModel(0, new TraceLigneModel(TraceLigne.POINTILLE, 2f, new Color(0,125,0))); + setLineModelOuvert(getLineModel(0)); + setName(getExtName()); + setTitle(MdlResource.MDL.getString("Axes hydrauliques")); + } + + public MdlLayer1dAxe(FSigEditor _editor) { + this(new MdlModel1dAxe(_editor),_editor); + } + + public BCalquePersistenceInterface getPersistenceMng() { + return new MdlLayer1dAxePersistence(); + } + + /** + * Retourne le nom par defaut du calque. + * @return Le nom. + */ + public String getExtName() { + return "axe"; + } + + 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/MdlLayer1dAxe.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/layer/MdlLayerFactory.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayerFactory.java 2008-11-12 15:06:29 UTC (rev 4211) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayerFactory.java 2008-11-12 16:24:11 UTC (rev 4212) @@ -1,20 +1,19 @@ /* * @creation 20 janv. 08 - * @modification $Date: 2008/05/13 12:10:43 $ + * @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.ebli.calque.BCalque; import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.fudaa.sig.layer.FSigEditor; /** * Une fabrique de calques. * @author Bertrand Marchand - * @version $Id: MdlLayer2dProfile.java,v 1.1.2.5 2008/05/13 12:10:43 bmarchan Exp $ + * @version $Id$ */ public class MdlLayerFactory { public final static int LAYER2D_CLOUD =1; @@ -25,6 +24,7 @@ public final static int LAYER2D_ZONE =6; public final static int LAYER2D_CONTOUR =7; public final static int LAYER1D_TRACE =8; + public final static int LAYER1D_AXE =9; private static MdlLayerFactory factory_=new MdlLayerFactory(); @@ -64,6 +64,8 @@ return new MdlLayer2dContour(_editor); case LAYER1D_TRACE: return new MdlLayer1dTrace(_editor); + case LAYER1D_AXE: + return new MdlLayer1dAxe(_editor); default: throw new IllegalArgumentException("Bad type"); } Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlLayerFactory.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dAxe.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dAxe.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dAxe.java 2008-11-12 16:24:11 UTC (rev 4212) @@ -0,0 +1,39 @@ +/* + * @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.layer; + +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 1D des axes hydrauliques. Les axes sont des polylignes XYZ. + * + * @author Bertrand Marchand + * @version $Id$ + */ +public class MdlModel1dAxe extends MdlModel2dLine { + + /** + * Construction d'un modele d'axes. + */ + public MdlModel1dAxe(final ZModelGeometryListener _listener) { + 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_AH); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/layer/MdlModel1dAxe.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL Id Added: svn:eol-style + native Added: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer1dAxePersistence.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer1dAxePersistence.java (rev 0) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer1dAxePersistence.java 2008-11-12 16:24:11 UTC (rev 4212) @@ -0,0 +1,27 @@ +/* + * @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.persistence; + +import org.fudaa.fudaa.modeleur.layer.MdlLayer1dAxe; +import org.fudaa.fudaa.modeleur.layer.MdlLayer2dLine; +import org.fudaa.fudaa.modeleur.layer.MdlLayer2dProfile; +import org.fudaa.fudaa.sig.layer.FSigEditor; + +/** + * Gestion de la persistance pour un calque multipoint. + * @author Bertrand Marchand + * @version $Id$ + * @see MdlLayer1dAxe + */ +public class MdlLayer1dAxePersistence extends MdlLayer2dLinePersistence { + + @Override + protected MdlLayer2dLine createNewLayer(FSigEditor _editor) { + return new MdlLayer1dAxe(_editor); + } +} Property changes on: branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/persistence/MdlLayer1dAxePersistence.java ___________________________________________________________________ Added: svn:keywords + Date Revision Author URL 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...> - 2008-11-12 17:10:00
|
Revision: 4213 http://fudaa.svn.sourceforge.net/fudaa/?rev=4213&view=rev Author: emmanuel_martin Date: 2008-11-12 17:09:52 +0000 (Wed, 12 Nov 2008) Log Message: ----------- bugfix : #58, #60 Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -392,7 +392,7 @@ controller_ = _controller; controller_.setView(this); - scene_=new ZScene(gcDonnees_,controller_.getCqSelectionI()); + scene_=new ZScene(modelArbre_,controller_.getCqSelectionI()); scene_.setRestrictedToCalqueActif(true); scene_.addSelectionListener(this); modelArbre_.addTreeModelListener(scene_); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZScene.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -335,9 +335,8 @@ } - protected BCalque cqRoot_=null; + protected BArbreCalqueModel treeModel_=null; protected ZCalqueAffichageDonneesInterface[] cqs_; - protected BCalque cqActif_=null; /** Le calque de selection interactif */ protected ZCalqueSelectionInteractionAbstract cqSelectionI_=null; protected SceneListSelection selection_=null; @@ -359,8 +358,8 @@ * Cr\xE9ation a partir d'un groupe de calques racine. * @param _root Le groupe de calque racine. */ - public ZScene(BGroupeCalque _root, ZCalqueSelectionInteractionAbstract _cqSelectionI) { - cqRoot_=_root; + public ZScene(BArbreCalqueModel _treeModel, ZCalqueSelectionInteractionAbstract _cqSelectionI) { + treeModel_=_treeModel; cqSelectionI_=_cqSelectionI; cqSelectionI_.setScene(this); initSelection(); @@ -711,31 +710,28 @@ FuLog.trace("EBL: calque actif=" + (_calque == null ? "null" : _calque.getTitle())); } - if (_calque != cqActif_) { boolean sendEvent=false; - if (cqActif_ instanceof ZCalqueAffichageDonneesInterface && isRestrictedToCalqueActif()) { - ((ZCalqueAffichageDonneesInterface)cqActif_).clearSelection(); + if (treeModel_.getSelectedCalque() instanceof ZCalqueAffichageDonneesInterface && isRestrictedToCalqueActif()) { + ((ZCalqueAffichageDonneesInterface)treeModel_.getSelectedCalque()).clearSelection(); // selection_=null; // Pour que la selection se remette a jour. sendEvent=true; } - cqActif_ = _calque; - if (!(cqActif_ instanceof ZCalqueAffichageDonneesInterface)) { + if (!(treeModel_.getSelectedCalque() instanceof ZCalqueAffichageDonneesInterface)) { cqSelectionI_.modificateur_.setSpecial(false); } else { - cqSelectionI_.modificateur_.setSpecial(((ZCalqueAffichageDonneesInterface)cqActif_).isSpecialSelectionAllowed()); + cqSelectionI_.modificateur_.setSpecial(((ZCalqueAffichageDonneesInterface)treeModel_.getSelectedCalque()).isSpecialSelectionAllowed()); } cqSelectionI_.repaint(); if (sendEvent) fireSelectionEvent(); - } } public BCalque getCalqueActif() { - return cqActif_; + return treeModel_.getSelectedCalque(); } public boolean isCalqueActifEditable() { - return cqActif_ instanceof ZCalqueEditable; + return treeModel_.getSelectedCalque() instanceof ZCalqueEditable; } /** @@ -764,8 +760,8 @@ private ZCalqueAffichageDonneesInterface[] getTargetLayers() { if (!isRestrictedToCalqueActif()) return getAllLayers(); - else if (cqActif_ instanceof ZCalqueAffichageDonneesInterface) - return new ZCalqueAffichageDonneesInterface[]{(ZCalqueAffichageDonneesInterface)cqActif_}; + else if (treeModel_.getSelectedCalque() instanceof ZCalqueAffichageDonneesInterface) + return new ZCalqueAffichageDonneesInterface[]{(ZCalqueAffichageDonneesInterface)treeModel_.getSelectedCalque()}; else return new ZCalqueAffichageDonneesInterface[0]; } @@ -773,7 +769,7 @@ public ZCalqueAffichageDonneesInterface[] getAllLayers() { if (brefreshRequested_) { ArrayList<BCalque> lcqs=new ArrayList<BCalque>(); - for ( BCalque cq : cqRoot_.getTousCalques()) { + for ( BCalque cq : treeModel_.getRootCalque().getTousCalques()) { if (cq instanceof ZCalqueAffichageDonneesInterface) lcqs.add(cq); } cqs_=lcqs.toArray(new ZCalqueAffichageDonneesInterface[0]); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -89,22 +89,15 @@ */ protected void setTarget(final Object _o) { final Object newTarget=(_o instanceof ZCalqueEditable)?_o:null; - /* - * On n'utilise pas 'isTargetValid' dans cette m\xE9thode car elle est, entre - * autre, appell\xE9e quand la s\xE9lection dans l'arbre est modifi\xE9e; or dans - * ce cas 'CalqueGISEditionAction' est pr\xE9venu avant 'ZScene' de cette - * modification. Donc l'utilisation de 'isTargetValid' est incoh\xE9rente. - */ - boolean valide=scene_!=null && (!scene_.isRestrictedToCalqueActif() || newTarget!=null); if (target_ != newTarget) { target_ = newTarget; if (isSelected()) { setPaletteTarget(target_ == null ? null : editor_); } else { - setEnabled(valide); + setEnabled(isTargetValid(null)); } } - setDisableWhenHide_ = !valide; + setDisableWhenHide_ = !isTargetValid(null); if (editor_ != null) { editor_.setActivated(newTarget, (BPaletteEdition) palette_); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -108,7 +108,7 @@ ZCalqueClickInteraction nodeAdd_; - BPaletteEdition palette_; + protected BPaletteEdition palette_; ZEbliCalquesPanel panel_; @@ -136,7 +136,7 @@ CommandSaisieMultiple saisie_; - ZCalqueEditable target_; + protected ZCalqueEditable target_; /** * @return l'interface utilisateur 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-11-12 16:24:11 UTC (rev 4212) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-12 17:09:52 UTC (rev 4213) @@ -11,6 +11,8 @@ import java.util.ArrayList; import java.util.Arrays; +import javax.swing.AbstractButton; + import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.ctulu.CtuluRunnable; @@ -21,6 +23,7 @@ import org.fudaa.ebli.calque.BGroupeCalque; import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.action.SceneSplitAction; +import org.fudaa.ebli.calque.dessin.DeForme; import org.fudaa.ebli.calque.edition.ZCalqueEditable; import org.fudaa.ebli.commun.EbliActionAbstract; import org.fudaa.ebli.commun.EbliActionInterface; @@ -146,4 +149,11 @@ }.run(); } + + public void updatePalette() { + super.updatePalette(); + if(palette_!=null) + palette_.setEnable("MODE_ATOME", true); + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-13 10:09:56
|
Revision: 4214 http://fudaa.svn.sourceforge.net/fudaa/?rev=4214&view=rev Author: emmanuel_martin Date: 2008-11-13 10:09:54 +0000 (Thu, 13 Nov 2008) Log Message: ----------- #60 bis Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEdition.java branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java 2008-11-12 17:09:52 UTC (rev 4213) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/action/CalqueGISEditionAction.java 2008-11-13 10:09:54 UTC (rev 4214) @@ -92,7 +92,7 @@ if (target_ != newTarget) { target_ = newTarget; if (isSelected()) { - setPaletteTarget(target_ == null ? null : editor_); + setPaletteTarget(editor_); } else { setEnabled(isTargetValid(null)); } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEdition.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEdition.java 2008-11-12 17:09:52 UTC (rev 4213) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/BPaletteEdition.java 2008-11-13 10:09:54 UTC (rev 4214) @@ -308,7 +308,7 @@ _target.add(bt); } - final static String ATOM_ACTION = "MODE_ATOME"; + public final static String ATOM_ACTION = "MODE_ATOME"; /** * Envoie les commandes au receveur suite \xE0 un click sur un bouton. 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-11-12 17:09:52 UTC (rev 4213) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/fudaa/src/org/fudaa/fudaa/modeleur/MdlEditionManager.java 2008-11-13 10:09:54 UTC (rev 4214) @@ -13,7 +13,6 @@ import javax.swing.AbstractButton; -import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.ctulu.CtuluRunnable; import org.fudaa.ctulu.ProgressionInterface; @@ -21,26 +20,21 @@ import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.BGroupeCalque; -import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.action.SceneSplitAction; import org.fudaa.ebli.calque.dessin.DeForme; +import org.fudaa.ebli.calque.edition.BPaletteEdition; import org.fudaa.ebli.calque.edition.ZCalqueEditable; import org.fudaa.ebli.commun.EbliActionAbstract; import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.fudaa.commun.FudaaLib; -import org.fudaa.fudaa.modeleur.action.CalqueNewCalqueAction; import org.fudaa.fudaa.modeleur.action.SceneDecimationAction; import org.fudaa.fudaa.modeleur.action.SceneInterpolationAction; import org.fudaa.fudaa.modeleur.action.SceneMoveInLayerAction; import org.fudaa.fudaa.modeleur.action.SceneProjectionAction; import org.fudaa.fudaa.modeleur.action.SceneRefinementAction; -import org.fudaa.fudaa.modeleur.layer.MdlLayerFactory; -import org.fudaa.fudaa.modeleur.layer.MdlLayerInterface; -import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.layer.FSigEditor; import org.fudaa.fudaa.sig.layer.FSigLayerExporter; import org.fudaa.fudaa.sig.layer.FSigLayerFilter; -import org.fudaa.fudaa.sig.layer.FSigLayerGroup; import org.fudaa.fudaa.sig.layer.FSigVisuPanel; import com.memoire.bu.BuWizardDialog; @@ -150,10 +144,43 @@ } + @Override public void updatePalette() { - super.updatePalette(); - if(palette_!=null) - palette_.setEnable("MODE_ATOME", true); + if (palette_ == null) { + return; + } + if (target_ == null) { + palette_.setAllEnable(false); + palette_.setEnable(BPaletteEdition.ATOM_ACTION, true); + boolean atomic = palette_.isAtomicMode(); + getSupport().setAtomicMode(atomic); + palette_.setAtomeEnable(getSupport().canUseAtomicMode(), getSupport().isAtomicMode()); + palette_.checkEnableAndCheckBt(); + changeState(null); + } else { + palette_.setAllEnable(true); + boolean atomic = palette_.isAtomicMode(); + getSupport().setAtomicMode(atomic); + palette_.setAtomeEnable(getSupport().canUseAtomicMode(), getSupport().isAtomicMode()); + boolean isModifiable = true; + if(target_.getModelEditable()!=null) + if (target_.getModelEditable().getGeomData() != null) + isModifiable = target_.getModelEditable().getGeomData().isGeomModifiable(); + palette_.setEnable("GLOBAL_ADD_POINT", target_.canAddForme(DeForme.POINT) && isModifiable); + palette_.setEnable("GLOBAL_ADD_POLYLIGNE", target_.canAddForme(DeForme.LIGNE_BRISEE) && isModifiable); + palette_.setEnable("GLOBAL_ADD_RECTANGLE", target_.canAddForme(DeForme.RECTANGLE) && isModifiable); + palette_.setEnable("GLOBAL_ADD_ELLIPSE", target_.canAddForme(DeForme.ELLIPSE) && isModifiable); + palette_.setEnable("GLOBAL_ADD_POLYGONE", target_.canAddForme(DeForme.POLYGONE) && isModifiable); + palette_.setEnable("GLOBAL_ADD_SEMIS", target_.canAddForme(DeForme.MULTI_POINT) && isModifiable); + + } + palette_.checkEnableAndCheckBt(); + final AbstractButton bt = palette_.getSelectedButton(); + if (bt == null) { + changeState(null); + } else { + changeState(bt.getActionCommand()); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |