|
From: <de...@us...> - 2013-04-04 22:39:26
|
Revision: 8383
http://fudaa.svn.sourceforge.net/fudaa/?rev=8383&view=rev
Author: deniger
Date: 2013-04-04 22:39:19 +0000 (Thu, 04 Apr 2013)
Log Message:
-----------
version 0.68
Modified Paths:
--------------
trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISDataModelAttributeToAtomicSubstitutionAdapter.java
trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISLib.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/SelectionMoveInteraction.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalquePointEditable.java
trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java
Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISDataModelAttributeToAtomicSubstitutionAdapter.java
===================================================================
--- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISDataModelAttributeToAtomicSubstitutionAdapter.java 2013-04-04 22:38:48 UTC (rev 8382)
+++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISDataModelAttributeToAtomicSubstitutionAdapter.java 2013-04-04 22:39:19 UTC (rev 8383)
@@ -84,7 +84,17 @@
@Override
public void preload(GISAttributeInterface[] _att, ProgressionInterface _prog) {
- model_.preload(_att, _prog);
+ if (_att == null) {
+ return;
+ }
+ GISAttributeInterface[] targetAtt = new GISAttributeInterface[_att.length];
+ for (int i = 0; i < targetAtt.length; i++) {
+ targetAtt[i] = _att[i];
+ if (ObjectUtils.equals(targetAtomic, targetAtt[i])) {
+ targetAtt[i] = initNotAtomic;
+ }
+ }
+ model_.preload(targetAtt, _prog);
}
/* (non-Javadoc)
Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISLib.java
===================================================================
--- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISLib.java 2013-04-04 22:38:48 UTC (rev 8382)
+++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISLib.java 2013-04-04 22:39:19 UTC (rev 8383)
@@ -7,21 +7,19 @@
*/
package org.fudaa.ctulu.gis;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.fudaa.ctulu.ProgressionInterface;
-import org.fudaa.ctulu.ProgressionUpdater;
-import org.geotools.feature.AttributeType;
-import org.geotools.feature.AttributeTypeFactory;
-
import com.memoire.fu.FuLog;
import com.vividsolutions.jts.algorithm.CGAlgorithms;
import com.vividsolutions.jts.algorithm.PointInRing;
import com.vividsolutions.jts.algorithm.SIRtreePointInRing;
import com.vividsolutions.jts.geom.*;
import com.vividsolutions.jts.geom.impl.CoordinateArraySequence;
+import java.util.ArrayList;
+import java.util.List;
+import org.fudaa.ctulu.ProgressionInterface;
+import org.fudaa.ctulu.ProgressionUpdater;
import org.fudaa.ctulu.editor.CtuluValueEditorDefaults;
+import org.geotools.feature.AttributeType;
+import org.geotools.feature.AttributeTypeFactory;
/**
* @author deniger
@@ -658,6 +656,13 @@
return GISGeometryFactory.INSTANCE.createLineString(_cs);
}
+ public static void preloadAttributes(GISDataModel dataModel) {
+ if (dataModel.getNbAttributes() > 0) {
+ dataModel.preload(GISLib.getAttributeFrom(dataModel), null);
+ }
+
+ }
+
public static Envelope computeEnveloppe(final Geometry[] _models) {
final Envelope r = new Envelope();
for (int i = _models.length - 1; i >= 0; i--) {
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/SelectionMoveInteraction.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/SelectionMoveInteraction.java 2013-04-04 22:38:48 UTC (rev 8382)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/SelectionMoveInteraction.java 2013-04-04 22:39:19 UTC (rev 8383)
@@ -100,7 +100,8 @@
public void mouseClicked(MouseEvent _evt) {
if (_evt.getClickCount() >= 2) {
moveEnCours = false;
- super.mouseClicked(_evt);
+ deplacement.mouseClicked(_evt);
+ return;
}
if (moveEnCours) {
deplacement.mouseClicked(_evt);
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalquePointEditable.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalquePointEditable.java 2013-04-04 22:38:48 UTC (rev 8382)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalquePointEditable.java 2013-04-04 22:39:19 UTC (rev 8383)
@@ -48,14 +48,14 @@
* @version $Id$
*/
public class ZCalquePointEditable extends ZCalquePoint implements ZCalqueEditable, ZModelGeometryListener {
-
+
private Color labelsForegroundColor = Color.BLACK;
private Color labelsBackgroundColor = Color.WHITE;
/**
* Le finder pour une recherche sur le calque
*/
protected CalqueFindActionAtomic finder_;
-
+
public void setLabelsForegroundColor(Color labelsForegroundColor) {
if (!ObjectUtils.equals(this.labelsForegroundColor, labelsForegroundColor)) {
Color old = this.labelsForegroundColor;
@@ -64,7 +64,7 @@
firePropertyChange(ZCalqueGeometryLabelConfigure.PROPERTY_LABELS_FOREGROUND, old, labelsForegroundColor);
}
}
-
+
public void setLabelsBackgroundColor(Color labelsBackgroundColor) {
if (!ObjectUtils.equals(this.labelsBackgroundColor, labelsBackgroundColor)) {
Color old = this.labelsBackgroundColor;
@@ -73,15 +73,15 @@
firePropertyChange(ZCalqueGeometryLabelConfigure.PROPERTY_LABELS_BACKGROUND, old, labelsBackgroundColor);
}
}
-
+
public Color getLabelsBackgroundColor() {
return labelsBackgroundColor;
}
-
+
public Color getLabelsForegroundColor() {
return labelsForegroundColor;
}
-
+
protected void drawLabel(FontMetrics fm, String s, GrPoint pEcran, Color bgColor, Graphics2D _g, Color fgColor) {
int stringWidth = fm.stringWidth(s);
int x = (int) (pEcran.x_ - stringWidth / 2);
@@ -93,7 +93,7 @@
_g.setColor(fgColor);
_g.drawString(s, (int) x, (int) y);
}
-
+
public void clearCacheAndRepaint() {
clearCache();
repaint();
@@ -104,13 +104,13 @@
* @version $Id$
*/
private class VariableFindExpression extends CalqueFindPointExpression {
-
+
TObjectIntHashMap varAtt_;
-
+
public VariableFindExpression() {
super(ZCalquePointEditable.this.modele());
}
-
+
@Override
public void initialiseExpr(final CtuluExpr _expr) {
super.initialiseExpr(_expr);
@@ -129,9 +129,9 @@
}
}
}
-
+
}
-
+
@Override
public void majVariable(final int _idx, final Variable[] _varToUpdate) {
super.majVariable(_idx, _varToUpdate);
@@ -147,7 +147,7 @@
}
}
ZEditorInterface editor_;
-
+
public ZCalquePointEditable() {
super();
}
@@ -162,7 +162,7 @@
((ZModelePointEditableInterface) _modele).addModelListener(this);
}
}
-
+
@Override
public boolean addAtome(final GrPoint _ptReel, final CtuluCommandContainer _cmd, final CtuluUI _ui) {
return false;
@@ -178,27 +178,27 @@
if (_att == attrLabels_) {
return;
}
- if (_att == null || !_att.isAtomicValue()) {
+ if (_att == null) {
attrLabels_ = null;
} else {
attrLabels_ = _att;
}
clearCacheAndRepaint();
}
-
+
@Override
public void paintDonnees(Graphics2D _g, GrMorphisme _versEcran, GrMorphisme _versReel, GrBoite _clipReel) {
super.paintDonnees(_g, _versEcran, _versReel, _clipReel);
paintLabelsOnAtomics(_g, _versEcran, _versReel, _clipReel);
}
-
+
protected void paintLabelsOnAtomics(final Graphics2D _g, final GrMorphisme _versEcran, final GrMorphisme _versReel,
final GrBoite _clipReel) {
-
+
if (attrLabels_ != null && !isRapide()) {
GISZoneCollection geomData = getModelEditable().getGeomData();
int idxLabels = geomData.getIndiceOf(attrLabels_);
-
+
if (idxLabels != -1) {
final Color fgColor = labelsForegroundColor;
final Color bgColor = labelsBackgroundColor;
@@ -239,16 +239,15 @@
}
}
_g.setFont(old);
-
+
}
}
}
-
+
@Override
public boolean addAtomeProjectedOnSelectedGeometry(GrPoint grPoint, CtuluCommandComposite cmp, CtuluUI _ui) {
return false;
}
-
@Override
public boolean addForme(final GrObjet _o, final int _deforme, final CtuluCommandContainer _cmd, final CtuluUI _ui,
@@ -270,37 +269,37 @@
public boolean isAtomicMode() {
return getSelectionMode() == SelectionMode.ATOMIC;
}
-
+
@Override
public boolean canUseAtomicMode() {
return false;
}
-
+
@Override
public boolean canUseSegmentMode() {
return false;
}
-
+
@Override
public String editSelected() {
return editor_ == null ? EbliLib.getS("Edition impossible") : editor_.edit();
}
-
+
@Override
public final ZEditorInterface getEditor() {
return editor_;
}
-
+
@Override
public EbliFindExpressionContainerInterface getExpressionContainer() {
return new VariableFindExpression();
}
-
+
@Override
public ZModeleEditable getModelEditable() {
return (ZModeleEditable) modeleDonnees();
}
-
+
@Override
public int[] getSelectedObjectInTable() {
return getSelectedIndex();
@@ -309,22 +308,22 @@
public boolean isAtomicMode() {
return false;
}*/
-
+
@Override
public SelectionMode getSelectionMode() {
return SelectionMode.NORMAL;
}
-
+
@Override
public boolean isPaletteModifiable() {
return false;
}
-
+
@Override
public boolean isTitleModifiable() {
return true;
}
-
+
@Override
public void setModele(final ZModelePoint _modele) {
if (null == _modele || _modele instanceof ZModelePointEditableInterface) {
@@ -339,7 +338,7 @@
throw new IllegalArgumentException("bad model");
}
}
-
+
@Override
public boolean moveSelectedObjects(final double _dx, final double _dy, double _dz, final CtuluCommandContainer _cmd,
final CtuluUI _ui) {
@@ -378,7 +377,7 @@
if (isSelectionEmpty()) {
return false;
}
-
+
final CtuluCommandComposite cmp = new CtuluCommandComposite();
final int min = selection_.getMinIndex();
final ZModelePointEditableInterface modele = (ZModelePointEditableInterface) modele_;
@@ -389,7 +388,7 @@
double dyold = modele.getY(i) - _yreel0;
double dxnew = dxold * Math.cos(_angRad) - dyold * Math.sin(_angRad);
double dynew = dxold * Math.sin(_angRad) + dyold * Math.cos(_angRad);
-
+
modele.setPoint(i, dxnew + _xreel0, dynew + _yreel0, cmp);
}
}
@@ -400,7 +399,7 @@
return false;
}
-
+
@Override
public void paintDeplacement(final Graphics2D _g2d, final int _dx, final int _dy, final TraceIcon _ic) {
if (!isSelectionEmpty()) {
@@ -427,7 +426,7 @@
}
}
}
-
+
@Override
public boolean removeSelectedObjects(final CtuluCommandContainer _cmd, final CtuluUI _ui) {
if (!isSelectionEmpty()) {
@@ -444,7 +443,7 @@
return false;
}
*/
-
+
@Override
public boolean setSelectionMode(SelectionMode mode) {
return false;
@@ -475,7 +474,7 @@
setSelection(isels);
return true;
}
-
+
@Override
public final void setEditor(final ZEditorInterface _editor) {
editor_ = _editor;
@@ -492,17 +491,17 @@
public boolean joinSelectedObjects(final CtuluCommandContainer _cmd, CtuluUI _ui) {
return false;
}
-
+
@Override
public void attributeAction(Object _source, int _indexAtt, GISAttributeInterface _att, int _action) {
clearCacheAndRepaint();
}
-
+
@Override
public void attributeValueChangeAction(Object _source, int _indexAtt, GISAttributeInterface _att, int _indexGeom, Object _newValue) {
clearCacheAndRepaint();
}
-
+
@Override
public void geometryAction(Object _source, int _indexGeom, Geometry _geom, int _action) {
clearCacheAndRepaint();
Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java
===================================================================
--- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java 2013-04-04 22:38:48 UTC (rev 8382)
+++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java 2013-04-04 22:39:19 UTC (rev 8383)
@@ -9,8 +9,6 @@
import com.memoire.bu.BuTable;
import com.vividsolutions.jts.geom.CoordinateSequence;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.Point;
import java.util.ArrayList;
import java.util.List;
@@ -234,12 +232,11 @@
GrBoite bt = null;
for (int i = pts_.getNumGeometries() - 1; i >= 0; i--) {
if (isGeometryVisible(i)) {
- final Geometry g = pts_.getGeometry(i);
- final Envelope e = g.getEnvelopeInternal();
+ final GISPoint g = pts_.get(i);
if (bt == null) {
bt = new GrBoite();
}
- bt.ajuste(e);
+ bt.ajuste(g.getX(), g.getY(), g.getZ());
}
}
return bt;
@@ -255,7 +252,7 @@
final int i = _layer.getLayerSelection().getMaxIndex();
final int i2 = _layer.getLayerSelection().getMinIndex();
_d.put(EbliLib.getS("Distance entre les 2 points"),
- CtuluLib.DEFAULT_NUMBER_FORMAT.format(CtuluLibGeometrie.getDistance(getX(i), getY(i), getX(i2), getY(i2))));
+ CtuluLib.DEFAULT_NUMBER_FORMAT.format(CtuluLibGeometrie.getDistance(getX(i), getY(i), getX(i2), getY(i2))));
return;
}
if (nb != 1) {
@@ -368,6 +365,7 @@
/**
* Fait passer la g\xE9om\xE9trie en Modifier
+ *
* @param _idx : index de la geom\xE9trie
* @param _cmd :
*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|