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