|
From: <bma...@us...> - 2015-03-19 13:43:41
|
Revision: 9089
http://sourceforge.net/p/fudaa/svn/9089
Author: bmarchan
Date: 2015-03-19 13:43:38 +0000 (Thu, 19 Mar 2015)
Log Message:
-----------
Multi transect correctifs
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivEditAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivImplementation.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -738,7 +738,7 @@
mn.addSeparator(PivResource.getS("D\xE9bit"));
sm=new BuMenu(PivResource.getS("Transect"),"mnGRP");
bt=get2dFrame().getVisuPanel().getNewTransectAction().buildMenuItem(EbliComponentFactory.INSTANCE);
- bt.setText(PivResource.getS("D\xE9finir..."));
+ bt.setText(PivResource.getS("Nouveau..."));
sm.add(bt);
bt=new PivImportTransectAction((this)).buildMenuItem(EbliComponentFactory.INSTANCE);
bt.setText(PivResource.getS("Importer..."));
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -21,7 +21,9 @@
import org.fudaa.ebli.animation.EbliAnimationSourceInterface;
import org.fudaa.ebli.calque.BCalqueAffichage;
import org.fudaa.ebli.calque.ZEbliCalquesPanel;
+import org.fudaa.ebli.calque.edition.ZCalqueEditable;
import org.fudaa.ebli.calque.edition.ZCalqueEditionInteraction;
+import org.fudaa.ebli.calque.edition.ZEditorDefault;
import org.fudaa.ebli.commun.EbliActionAbstract;
import org.fudaa.ebli.commun.EbliActionInterface;
import org.fudaa.ebli.commun.EbliActionPaletteAbstract;
@@ -36,6 +38,7 @@
import org.fudaa.fudaa.piv.action.PivOrthoGRPAction;
import org.fudaa.fudaa.piv.action.PivShowFlowAction;
import org.fudaa.fudaa.piv.action.PivShowVelocityAction;
+import org.fudaa.fudaa.piv.layer.PivEditableModel;
import org.fudaa.fudaa.piv.metier.PivProject;
import com.memoire.bu.BuDesktop;
@@ -136,6 +139,30 @@
buildActions();
}
+ @Override
+ protected ZEditorDefault createGisEditor() {
+ ZEditorDefault editor=new ZEditorDefault(this) {
+ @Override
+ public String edit() {
+ String ret=super.edit();
+
+ // Necessaire pour que le modele soit notifi\xE9 que la g\xE9om\xE9trie a \xE9t\xE9 \xE9dit\xE9e.
+ if (getScene().getCalqueActif() instanceof ZCalqueEditable) {
+ ZCalqueEditable cq=(ZCalqueEditable) getScene().getCalqueActif();
+ if (cq.getLayerSelection()!=null && !cq.getLayerSelection().isEmpty()) {
+ if (cq.modeleDonnees() instanceof PivEditableModel) {
+ ((PivEditableModel)cq.modeleDonnees()).geometryChanged(cq.getLayerSelection().getSelectedIndex());
+ }
+ }
+ }
+ return ret;
+ }
+ };
+ return editor;
+ }
+
+
+
public PivOriginalView getOriginalView() {
if (origView_==null) {
origView_=new PivOriginalView(this);
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivEditAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivEditAction.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivEditAction.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -36,16 +36,7 @@
*/
@Override
public void actionPerformed(final ActionEvent _e) {
- if (pnCalques_.getScene().getCalqueActif() instanceof ZCalqueEditable) {
- ZCalqueEditable cq=(ZCalqueEditable) pnCalques_.getScene().getCalqueActif();
- if (cq.getLayerSelection()!=null && !cq.getLayerSelection().isEmpty()) {
- cq.editSelected();
-
- if (cq.modeleDonnees() instanceof PivEditableModel) {
- ((PivEditableModel)cq.modeleDonnees()).geometryChanged(cq.getLayerSelection().getSelectedIndex());
- }
- }
- }
+ pnCalques_.getEditor().edit();
}
@Override
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/action/PivNewTransectAction.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -177,7 +177,7 @@
* @param _pn Le panneau des calques.
*/
public PivNewTransectAction(PivVisuPanel _pn) {
- super(PivResource.getS("D\xE9finition d'un transect..."), null, "CREATE_TRANSECT");
+ super(PivResource.getS("Nouveau transect..."), null, "CREATE_TRANSECT");
pnCalques_=_pn;
controller_=new EditionController();
propListener_=new EditionLayerPropertyListener();
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransectModel.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -8,13 +8,17 @@
import org.fudaa.ctulu.gis.GISAttribute;
import org.fudaa.ctulu.gis.GISAttributeInterface;
import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee;
+import org.fudaa.ebli.calque.ZCalqueAffichageDonneesInterface;
import org.fudaa.ebli.calque.edition.ZEditionAttributesDataI;
import org.fudaa.ebli.calque.edition.ZModeleLigneBriseeEditable;
import org.fudaa.ebli.geometrie.GrPolyligne;
+import org.fudaa.ebli.palette.BPaletteInfo.InfoData;
+import org.fudaa.fudaa.piv.PivResource;
import org.fudaa.fudaa.piv.PivVisuPanel;
-import org.fudaa.fudaa.piv.metier.PivTransectParams;
+import org.fudaa.fudaa.piv.metier.PivFlowResults;
import org.fudaa.fudaa.piv.metier.PivProject;
import org.fudaa.fudaa.piv.metier.PivTransect;
+import org.fudaa.fudaa.piv.metier.PivTransectParams;
import com.vividsolutions.jts.geom.CoordinateSequence;
@@ -179,4 +183,53 @@
prj_.setTransects(trans);
}
+
+ @Override
+ public void fillWithInfo(InfoData _d, ZCalqueAffichageDonneesInterface _layer) {
+// final ZCalqueFleche.StringInfo info = new ZCalqueFleche.StringInfo();
+// info.titleIfOne_ = PivResource.getS("R\xE9sultats: point n\xB0");
+// info.title_ = PivResource.getS("R\xE9sultats");
+ super.fillWithInfo(_d, _layer);
+
+ // Infos de r\xE9sultats de calcul
+
+ if (!_layer.isSelectionEmpty()) {
+ int[] selIds=_layer.getLayerSelection().getSelectedIndex();
+
+ if (selIds.length==1) {
+ _d.setTitle(PivResource.getS("Transect n\xB0 {0}", selIds[0]+1));
+ }
+
+ if (prj_.getFlowResults() != null) {
+ PivFlowResults res=prj_.getFlowResults()[selIds[0]];
+ Double waterElevation=res.getWaterElevation();
+ Double discharge=res.getDischarge();
+ Double wettedArea=res.getWettedArea();
+ Double meanVelocity=res.getMeanVelocity();
+
+ for (int idx : selIds) {
+ res=prj_.getFlowResults()[idx];
+ if (waterElevation != res.getWaterElevation())
+ waterElevation=null;
+ if (discharge != res.getDischarge())
+ discharge=null;
+ if (wettedArea != res.getWettedArea())
+ wettedArea=null;
+ if (meanVelocity != res.getMeanVelocity())
+ meanVelocity=null;
+ }
+
+ if (waterElevation != null)
+ _d.put(PivResource.getS("Niveau d'eau (m)"), "" + waterElevation);
+ if (discharge != null)
+ _d.put(PivResource.getS("D\xE9bit total (m\xB3/s)"), "" + discharge);
+ if (wettedArea != null)
+ _d.put(PivResource.getS("Aire mouill\xE9e (m\xB2)"), "" + wettedArea);
+ if (meanVelocity != null)
+ _d.put(PivResource.getS("Vitesse moyenne sur la section (m/s)"), "" + meanVelocity);
+ }
+ }
+
+// ZCalqueFleche.fillWithInfo(_d, _layer.getLayerSelection(), this, info);
+ }
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-03-17 16:00:27 UTC (rev 9088)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2015-03-19 13:43:38 UTC (rev 9089)
@@ -845,14 +845,10 @@
* @param _trans Le transect \xE0 ajouter.
*/
public void addTransect(PivTransect _trans) {
- if (transects==null) {
- transects=new PivTransect[]{_trans};
- }
- else {
- transects=Arrays.copyOf(transects, transects.length+1);
- transects[transects.length-1]=_trans;
- }
- setTransects(transects);
+ PivTransect[] trans=Arrays.copyOf(transects, transects.length+1);
+ trans[trans.length-1]=_trans;
+
+ setTransects(trans);
}
/**
@@ -860,6 +856,11 @@
* @param _trans Les transects. <tt>null</tt> est autoris\xE9.
*/
public void setTransects(PivTransect[] _trans) {
+ // On met a null les r\xE9sultats de d\xE9bit en cas de tableau diff\xE9rents,
+ // car le nombre de r\xE9sultats doit \xEAtre identique.
+ if (!Arrays.equals(transects, _trans)) {
+ setFlowResults(null);
+ }
transects=_trans;
isModified=true;
fireProjectStateChanged("transect");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|