From: <emm...@us...> - 2008-09-17 15:40:41
|
Revision: 3947 http://fudaa.svn.sourceforge.net/fudaa/?rev=3947&view=rev Author: emmanuel_martin Date: 2008-09-17 15:35:06 +0000 (Wed, 17 Sep 2008) Log Message: ----------- Encore quelques bug d'affichages corrig?\195?\169s sur la cr?\195?\169ation de rectangles et d'ellipses. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueEditionInteraction.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueEditionInteraction.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueEditionInteraction.java 2008-09-17 14:11:48 UTC (rev 3946) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueEditionInteraction.java 2008-09-17 15:35:06 UTC (rev 3947) @@ -562,8 +562,10 @@ } public void setPointOrigine(GrPoint _p){ - if(_p != null) + if(_p != null){ + effaceDessin(); origine_ = _p; + } } public double getRayonX() { @@ -599,6 +601,7 @@ } public void setNbPoints(int _nb){ + effaceDessin(); if(_nb >= 3) nbPoints_ = _nb; else Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java 2008-09-17 14:11:48 UTC (rev 3946) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java 2008-09-17 15:35:06 UTC (rev 3947) @@ -224,9 +224,9 @@ public EllipseBuilderGUI() { super(); int hauteur=20; - int largeur=60; + int largeur=67; nbPointsDefaultValue_ = "3"; - setBorder(new EmptyBorder(2, 2, 2, 2)); + setBorder(new EmptyBorder(0, 0, 0, 0)); // Create BuTextFields & Dimension tfCoordX_=BuTextField.createDoubleField(); tfCoordY_=BuTextField.createDoubleField(); @@ -454,8 +454,8 @@ super(); nbPointsDefaultValue_ = "0"; int hauteur=20; - int largeur=60; - setBorder(new EmptyBorder(2, 2, 2, 2)); + int largeur=67; + setBorder(new EmptyBorder(0, 0, 0, 0)); // Create BuTextFields & Dimension tfCoordX_=BuTextField.createDoubleField(); tfCoordY_=BuTextField.createDoubleField(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-10-01 11:00:50
|
Revision: 4016 http://fudaa.svn.sourceforge.net/fudaa/?rev=4016&view=rev Author: emmanuel_martin Date: 2008-10-01 11:00:40 +0000 (Wed, 01 Oct 2008) Log Message: ----------- Utilisation de 'pointPlusProche' de GrSegement pour la projection au lieu d'un calcul dans addPoint. 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/ZModeleLigneBriseeEditable.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-01 10:02:14 UTC (rev 4015) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java 2008-10-01 11:00:40 UTC (rev 4016) @@ -15,6 +15,7 @@ import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ctulu.gis.GISPolygone; import org.fudaa.ebli.calque.ZCalqueLigneBrisee; import org.fudaa.ebli.calque.ZModeleLigneBrisee; import org.fudaa.ebli.calque.dessin.DeForme; @@ -168,39 +169,36 @@ final GrBoite bClip = getDomaine(); bClip.autoApplique(versEcran); final int tolerance = 5; + // Point \xE0 projeter final GrPoint pt = new GrPoint(_xEcran, _yEcran, 0); if ((!bClip.contientXY(pt)) && (bClip.distanceXY(pt) > tolerance)) { return false; } final double distanceReel = GrMorphisme.convertDistanceXY(versReel, tolerance); - // bClip = getClipReel(getGraphics()); final GrPoint ptToTest = pt.applique(versReel); final GrSegment seg = new GrSegment(new GrPoint(), new GrPoint()); final GrBoite bPoly = new GrBoite(new GrPoint(), new GrPoint()); - + int i=selection_.getMinIndex(); - -// for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { - modele_.getDomaineForGeometry(i, bPoly); - if (bPoly.contientXY(ptToTest) || bPoly.distanceXY(ptToTest) < distanceReel) { - for (int j = modele_.getNbPointForGeometry(i) - 1; j > 0; j--) { - modele_.point(seg.e_, i, j); - modele_.point(seg.o_, i, j - 1); - if (seg.distanceXY(ptToTest) < distanceReel) { - addPoint(i, j - 1, ptToTest.x_, ptToTest.y_, _cmd); - return true; - } + modele_.getDomaineForGeometry(i, bPoly); + if (bPoly.contientXY(ptToTest)||bPoly.distanceXY(ptToTest)<distanceReel) { + for (int j=modele_.getNbPointForGeometry(i)-1; j>0; j--) { + modele_.point(seg.e_, i, j); + modele_.point(seg.o_, i, j-1); + if (seg.distanceXY(ptToTest)<distanceReel) { + addPoint(i, j-1, ptToTest.x_, ptToTest.y_, _cmd); + return true; } - if (modele_.isGeometryFermee(i)) { - modele_.point(seg.e_, i, 0); - modele_.point(seg.o_, i, modele_.getNbPointForGeometry(i) - 1); - if (seg.distanceXY(ptToTest) < distanceReel) { - addPoint(i, modele_.getNbPointForGeometry(i) - 1, ptToTest.x_, ptToTest.y_, _cmd); - return true; - } + } + if (modele_.isGeometryFermee(i)) { + modele_.point(seg.e_, i, 0); + modele_.point(seg.o_, i, modele_.getNbPointForGeometry(i)-1); + if (seg.distanceXY(ptToTest)<distanceReel) { + addPoint(i, modele_.getNbPointForGeometry(i)-1, ptToTest.x_, ptToTest.y_, _cmd); + return true; } } -// } + } return false; } Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-10-01 10:02:14 UTC (rev 4015) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-10-01 11:00:40 UTC (rev 4016) @@ -26,8 +26,10 @@ import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.commun.EbliListeSelectionMultiInterface; +import org.fudaa.ebli.geometrie.GrPoint; import org.fudaa.ebli.geometrie.GrPolygone; import org.fudaa.ebli.geometrie.GrPolyligne; +import org.fudaa.ebli.geometrie.GrSegment; import com.memoire.fu.FuLog; import com.vividsolutions.jts.geom.Coordinate; @@ -257,21 +259,14 @@ if (geometries_ == null) { return; } - double x = _x; final CoordinateSequence g = ((LineString) geometries_.getGeometry(_ligneIdx)) .getCoordinateSequence(); - final double x1 = g.getX(_idxBefore); - final double y1 = g.getY(_idxBefore); - final double x2 = g.getX(_idxBefore + 1); - final double y2 = g.getY(_idxBefore + 1); - double y; - if(x2!=x1) // Cas g\xE9n\xE9ral - y = y2 + (x2 - x) * (y1 - y2) / (x2 - x1); - else{ // Cas d'un segment vertical - x = x1; - y = _y; - } - geometries_.addPoint(_ligneIdx, _idxBefore, x, y, _cmd); + // Cr\xE9ation du segment d\xE9fini par les deux point de la forme + // Construction du point projet\xE9 grace \xE0 'pointPlusProche' + GrPoint point = (new GrSegment(new GrPoint(g.getX(_idxBefore), g.getY(_idxBefore), 0), + new GrPoint(g.getX(_idxBefore + 1), g.getY(_idxBefore + 1), 0))) + .pointPlusProche(new GrPoint(_x, _y, 0)); + geometries_.addPoint(_ligneIdx, _idxBefore, point.x_, point.y_, _cmd); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-10-26 20:18:59
|
Revision: 4098 http://fudaa.svn.sourceforge.net/fudaa/?rev=4098&view=rev Author: bmarchan Date: 2008-10-26 20:18:54 +0000 (Sun, 26 Oct 2008) Log Message: ----------- Correctif pour que La GISZoneCollection cr?\195?\169?\195?\169e corresponde au mod?\195?\168le Modified Paths: -------------- 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/calque/edition/ZModeleLigneBriseeEditable.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 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-26 13:58:25 UTC (rev 4097) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2008-10-26 20:18:54 UTC (rev 4098) @@ -45,9 +45,13 @@ * Constructeur */ public ZModeleGeometryDefault() { - geometries_=new GISZoneCollectionGeometry(); + this(new GISZoneCollectionGeometry()); } + public ZModeleGeometryDefault(GISZoneCollectionGeometry _zone) { + geometries_=_zone; + } + public void getDomaineForGeometry(int _idxGeom, GrBoite _target) { if (geometries_ == null || geometries_.getNumGeometries() == 0) { return; 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-26 13:58:25 UTC (rev 4097) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-10-26 20:18:54 UTC (rev 4098) @@ -236,14 +236,15 @@ } } - public ZModeleLigneBriseeDefault() {} + public ZModeleLigneBriseeDefault() { + this(new GISZoneCollectionLigneBrisee()); + } /** * @param _zone la zone: non copiee */ public ZModeleLigneBriseeDefault(final GISZoneCollectionLigneBrisee _zone) { - // ne pas changer cela - geometries_ = _zone; + super(_zone); } public final boolean containsPolygone() { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-10-26 13:58:25 UTC (rev 4097) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-10-26 20:18:54 UTC (rev 4098) @@ -43,7 +43,9 @@ */ public class ZModeleLigneBriseeEditable extends ZModeleLigneBriseeDefault{ - public ZModeleLigneBriseeEditable() {} + public ZModeleLigneBriseeEditable() { + this(new GISZoneCollectionLigneBrisee()); + } public ZModeleLigneBriseeEditable(final GISZoneCollectionLigneBrisee _zone) { super(_zone); 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-10-26 13:58:25 UTC (rev 4097) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2008-10-26 20:18:54 UTC (rev 4098) @@ -222,8 +222,7 @@ * @param _zone la zone: non copiee */ public ZModeleMultiPointEditable(final GISZoneCollectionMultiPoint _zone) { - // ne pas changer cela - geometries_ = _zone; + super(_zone); } public BuTable createValuesTable(final ZCalqueAffichageDonneesInterface _layer) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <emm...@us...> - 2008-11-03 11:20:31
|
Revision: 4151 http://fudaa.svn.sourceforge.net/fudaa/?rev=4151&view=rev Author: emmanuel_martin Date: 2008-11-03 11:20:21 +0000 (Mon, 03 Nov 2008) Log Message: ----------- bugfix #50 : "Jonction de 2 courbes de niveau ?\195?\160 Z diff?\195?\169rents : Afficher message pour demander la valeur de Z." 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/ZModeleLigneBriseeEditable.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-11-03 10:36:06 UTC (rev 4150) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java 2008-11-03 11:20:21 UTC (rev 4151) @@ -91,7 +91,7 @@ // On vide la selection, les 2 lignes sont supprim\xE9es par la jonction. clearSelection(); - return getModelePoly().joinGeometries(idxLines, idxSels, _cmd)!=-1; + return getModelePoly().joinGeometries(idxLines, idxSels, editor_, _cmd)!=-1; } private boolean removeAtomicObjects(final CtuluCommandContainer _cmd, final CtuluUI _ui) { Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-11-03 10:36:06 UTC (rev 4150) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-11-03 11:20:21 UTC (rev 4151) @@ -9,6 +9,16 @@ import gnu.trove.TIntObjectIterator; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JPanel; + import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; @@ -31,6 +41,8 @@ import org.fudaa.ebli.geometrie.GrPolyligne; import org.fudaa.ebli.geometrie.GrSegment; +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuLabel; import com.memoire.fu.FuLog; import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; @@ -350,10 +362,11 @@ * * @param _ligneIdx Les index des 2 lignes. * @param _idx Les index des 2 sommets des 2 lignes. + * @param _editor le ZEditorDefault pour pouvoir demander \xE0 l'utilisateur la valeur de Z. Peut \xEAtre null. * @param _cmd Le conteneur de commandes. * @return L'index de la nouvelle ligne si OK, -1 sinon. */ - public int joinGeometries(int[] _ligneIdx, int[] _idx, final CtuluCommandContainer _cmd) { + public int joinGeometries(int[] _ligneIdx, int[] _idx, final ZEditorDefault _editor, final CtuluCommandContainer _cmd) { if (geometries_ == null) { return -1; } @@ -427,6 +440,47 @@ else if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.ETAT_GEOM) { dataline[att]=GISAttributeConstants.ATT_VAL_ETAT_MODI; } + // Cas particulier de l'attribut Z, demande de la valeur \xE0 l'utilisateur si non identique entre les deux polylignes + else if (geometries_.getModel(att).getAttribute().getID().equals("Z")) { + // Valeurs identiques + if(geometries_.getModel(att).getObjectValueAt(_ligneIdx[0])==geometries_.getModel(att).getObjectValueAt(_ligneIdx[1])) + dataline[att]=geometries_.getModel(att).getAttribute().createDataForGeom(geometries_.getModel(att).getObjectValueAt(_ligneIdx[0]),1); + // Valeurs diff\xE9rentes => demande \xE0 l'utilisateur + else { + // Utilisation d'une fen\xEAtre modale pour l'obtension du Z. + class myDialogModal extends JDialog implements ActionListener{ + private JComponent text_; + public myDialogModal(Frame _frame){ + super(_frame, EbliLib.getS("Choix du Z"), true); + // Position & resizable + setLocation(_frame.getLocation().x+_frame.getSize().width/2, _frame.getLocation().y+_frame.getSize().height/2); + setResizable(false); + // Contenu + JPanel container=new JPanel(new BuBorderLayout(2, 2)); + container.setBorder(BorderFactory.createEmptyBorder(2, 2, 2, 2)); + text_=GISAttributeConstants.BATHY.getEditor().createEditorComponent(); + JButton ok=new JButton(EbliLib.getS("Valider")); + ok.addActionListener(this); + container.add(new BuLabel(EbliLib.getS("Valeur de Z :")), BuBorderLayout.WEST); + container.add(text_, BuBorderLayout.EAST); + container.add(ok, BuBorderLayout.SOUTH); + add(container); + pack(); + } + public void actionPerformed(ActionEvent e) { + setVisible(false); + dispose(); + } + public Double getValue(){ + return (Double) GISAttributeConstants.BATHY.getEditor().getValue(text_); + } + } + myDialogModal dialog =new myDialogModal(_editor.getFrame()); + dialog.setVisible(true); + dataline[att]=geometries_.getModel(att).getAttribute().createDataForGeom(dialog.getValue(),1); + } + } + // On prend arbitrairement la valeur de la premi\xE8re polyligne. else dataline[att]=geometries_.getModel(att).getAttribute().createDataForGeom(geometries_.getModel(att).getObjectValueAt(_ligneIdx[0]),1); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-03-16 15:23:29
|
Revision: 4549 http://fudaa.svn.sourceforge.net/fudaa/?rev=4549&view=rev Author: bmarchan Date: 2009-03-16 15:23:24 +0000 (Mon, 16 Mar 2009) Log Message: ----------- Tache #197 : Correction plantage lors d'ajout de g?\195?\169om?\195?\169trie. Modified Paths: -------------- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueEditionInteractionTargetI.java branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueEditionInteractionTargetI.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueEditionInteractionTargetI.java 2009-03-16 14:47:47 UTC (rev 4548) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueEditionInteractionTargetI.java 2009-03-16 15:23:24 UTC (rev 4549) @@ -18,7 +18,7 @@ public interface ZCalqueEditionInteractionTargetI { /** - * Appele lorsqu'un point d'une ligne brisee (poly, rectangle) est ajoutee. + * Appele lorsqu'un point d'une ligne brisee (poly, rectangle) est ajoutee/supprim\xE9 ou quand une forme est ajout\xE9e. */ void atomicChanged(); Modified: branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java =================================================================== --- branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java 2009-03-16 14:47:47 UTC (rev 4548) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java 2009-03-16 15:23:24 UTC (rev 4549) @@ -891,6 +891,7 @@ if (tableModel_!=null) { tableModel_.updateAtomic(); } + btSaveLine_.setEnabled(false); if (!edition_.isGele() &&edition_.getFormeEnCours()!=null &&edition_.getFormeEnCours().getFormeEnCours()!=null This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2009-06-02 15:13:04
|
Revision: 4829 http://fudaa.svn.sourceforge.net/fudaa/?rev=4829&view=rev Author: bmarchan Date: 2009-06-02 14:01:05 +0000 (Tue, 02 Jun 2009) Log Message: ----------- Correction de l'info affich?\195?\169e sur le panneau Info (MultiPoints et Lignes) Modified Paths: -------------- 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/ZModeleMultiPointEditable.java 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 2009-06-01 22:32:04 UTC (rev 4828) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2009-06-02 14:01:05 UTC (rev 4829) @@ -21,6 +21,7 @@ import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.collection.CtuluCollection; +import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeInterface; import org.fudaa.ctulu.gis.GISAttributeModel; import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; @@ -275,21 +276,36 @@ // Selection vide : information sur le calque if (_layer.isSelectionEmpty()) _d.put(EbliLib.getS("Nombre de lignes"), CtuluLibString.getString(getNombre())); + // Selection non vide : information relative \xE0 la selection else { final ZCalqueLigneBrisee layer=(ZCalqueLigneBrisee)_layer; + + // En mode atomique : Info sur les sommets. if (layer.isAtomicMode()) { final int nb=layer.getLayerSelectionMulti().getNbListSelected(); _d.put(EbliLib.getS("Nombre de lignes s\xE9lectionn\xE9es"), CtuluLibString.getString(nb)+'/'+getNombre()); super.fillWithInfo(_d, _layer); + + // Une seule g\xE9om\xE9trie support. if (nb==1) { final TIntObjectIterator it=layer.getLayerSelectionMulti().getIterator(); it.advance(); final int idxPoly=it.key(); + + // Si la g\xE9om\xE9trie poss\xE8de un nom. + int attName=layer.modeleDonnees().getGeomData().getIndiceOf(GISAttributeConstants.TITRE); + if (attName!=-1) { + _d.put(EbliLib.getS("Nom de la ligne"), + (String)layer.modeleDonnees().getGeomData().getValue(attName, idxPoly)); + } + final CtuluListSelectionInterface list=(CtuluListSelectionInterface)it.value(); final int nbPoint=list.getNbSelectedIndex(); _d.put(EbliLib.getS("Nombre de sommets s\xE9lectionn\xE9s"), CtuluLibString.getString(nbPoint)+'/' +getGeomData().getGeometry(idxPoly).getNumPoints()); + + // Un seul point. if (nbPoint==1) { final int idxPt=list.getMaxIndex(); _d.put(EbliLib.getS("Indice du sommet s\xE9lectionn\xE9"), CtuluLibString.getString(idxPt+1)); @@ -300,6 +316,8 @@ } } } + + // En mode global, info sur les g\xE9om\xE9tries. else { final int nb=layer.getLayerSelection().getNbSelectedIndex(); _d.put(EbliLib.getS("Nombre de lignes s\xE9lectionn\xE9es"), CtuluLibString.getString(nb)+'/'+getNombre()); 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 2009-06-01 22:32:04 UTC (rev 4828) +++ branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2009-06-02 14:01:05 UTC (rev 4829) @@ -247,31 +247,48 @@ // Selection vide : information sur le calque if (_layer.isSelectionEmpty()) _d.put(EbliLib.getS("Nombre de semis"), CtuluLibString.getString(getNombre())); + // Selection non vide : information relative \xE0 la selection else { final ZCalqueMultiPointEditable layer=(ZCalqueMultiPointEditable)_layer; + + // En mode atomique : Info sur les sommets. if (layer.isAtomicMode()) { final int nb=layer.getLayerSelectionMulti().getNbListSelected(); _d.put(EbliLib.getS("Nombre de semis s\xE9lectionn\xE9es"), CtuluLibString.getString(nb)+'/'+getNombre()); super.fillWithInfo(_d, _layer); + + // Une seule g\xE9om\xE9trie support. if (nb==1) { final TIntObjectIterator it=layer.getLayerSelectionMulti().getIterator(); it.advance(); final int idxPoly=it.key(); + + // Si la g\xE9om\xE9trie poss\xE8de un nom. + int attName=layer.modeleDonnees().getGeomData().getIndiceOf(GISAttributeConstants.TITRE); + if (attName!=-1) { + _d.put(EbliLib.getS("Nom du semis"), + (String)layer.modeleDonnees().getGeomData().getValue(attName, idxPoly)); + } + final CtuluListSelectionInterface list=(CtuluListSelectionInterface)it.value(); final int nbPoint=list.getNbSelectedIndex(); _d.put(EbliLib.getS("Nombre de sommets s\xE9lectionn\xE9s"), CtuluLibString.getString(nbPoint)+'/' +getGeomData().getGeometry(idxPoly).getNumPoints()); + + // Un seul point. if (nbPoint==1) { final int idxPt=list.getMaxIndex(); _d.put(EbliLib.getS("Indice du sommet s\xE9lectionn\xE9"), CtuluLibString.getString(idxPt+1)); final Coordinate c=((GISMultiPoint)getGeomData().getGeometry(idxPoly)).getCoordinates()[idxPt]; _d.put("X:", Double.toString(c.x)); _d.put("Y:", Double.toString(c.y)); - fillWithAtomicInfo(idxPoly, idxPoly, _d); + fillWithAtomicInfo(idxPoly, idxPt, _d); } } } + + // En mode global, info sur les g\xE9om\xE9tries. else { final int nb=layer.getLayerSelection().getNbSelectedIndex(); _d.put(EbliLib.getS("Nombre de semis s\xE9lectionn\xE9es"), CtuluLibString.getString(nb)+'/'+getNombre()); @@ -314,13 +331,19 @@ return true; } - protected void fillWithAtomicInfo(final int _idxLigne, final int _idxPt, final InfoData _d) { + /** + * Remplit les propri\xE9t\xE9s d'un sommet de g\xE9om\xE9trie avec les valeurs d'attributs atomiques. + * @param _idxGeom L'indice de g\xE9om\xE9trie + * @param _idxPt L'indice du sommet sur la g\xE9om\xE9trie. + * @param _d Les propri\xE9t\xE9s. + */ + protected void fillWithAtomicInfo(final int _idxGeom, final int _idxPt, final InfoData _d) { final GISZoneCollection model = getGeomData(); final int nbAtt = model.getNbAttributes(); for (int i = 0; i < nbAtt; i++) { if (model.getAttribute(i).isAtomicValue() && model.getDataModel(i) != null - && ((GISAttributeModel) model.getDataModel(i).getObjectValueAt(_idxLigne)).getObjectValueAt(_idxPt) != null) { - _d.put(model.getAttribute(i).getName(), ((GISAttributeModel) model.getDataModel(i).getObjectValueAt(_idxLigne)) + && ((GISAttributeModel) model.getDataModel(i).getObjectValueAt(_idxGeom)).getObjectValueAt(_idxPt) != null) { + _d.put(model.getAttribute(i).getName(), ((GISAttributeModel) model.getDataModel(i).getObjectValueAt(_idxGeom)) .getObjectValueAt(_idxPt).toString()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |