|
From: <de...@us...> - 2014-02-11 15:49:33
|
Revision: 8610
http://sourceforge.net/p/fudaa/svn/8610
Author: deniger
Date: 2014-02-11 15:49:31 +0000 (Tue, 11 Feb 2014)
Log Message:
-----------
edition axe avec 2-click
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-application/pom.xml
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/PlanimetryVisuPanel.java
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/PlanimetryControllerBuilder.java
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryBrancheLayer.java
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryCasierLayer.java
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryLigneBriseeLayer.java
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryNodeLayer.java
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetrySectionLayer.java
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryTraceLayer.java
Added Paths:
-----------
trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/listener/SectionTraceSelectionSynchronizer.java
Modified: trunk/soft/fudaa-crue/ui-application/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-application/pom.xml 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-application/pom.xml 2014-02-11 15:49:31 UTC (rev 8610)
@@ -103,7 +103,7 @@
<artifactId>nbm-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
- <finalName>Fudaa-Crue-${version}</finalName>
+ <finalName>Fudaa-Crue-${project.version}</finalName>
<etcConfFile>src/main/resources/etc/fudaacrue.conf</etcConfFile>
</configuration>
</plugin>
@@ -120,7 +120,7 @@
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<configuration>
- <finalName>Dev-Fudaa-Crue-${version}</finalName>
+ <finalName>Dev-Fudaa-Crue-${project.version}</finalName>
<etcConfFile>src/main/resources/etc/fudaacrueDev.conf</etcConfFile>
</configuration>
</plugin>
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/PlanimetryVisuPanel.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/PlanimetryVisuPanel.java 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/PlanimetryVisuPanel.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -149,6 +149,7 @@
selectPrevious = (JMenuItem) sceneSelectPreviousAction.buildMenuItem(EbliComponentFactory.INSTANCE);
FSigEditor.activeDeferredModificationAsDefault();
getScene().setUseSelectedLayerFirstForSelection(false);
+ setAddNbSelectionInInfo(true);
}
public PlanimetryVisuPanelConfigurer getConfigurer() {
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/PlanimetryControllerBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/PlanimetryControllerBuilder.java 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/PlanimetryControllerBuilder.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -7,6 +7,7 @@
import org.fudaa.fudaa.crue.planimetry.layer.PlanimetryCLimMLayer;
import org.fudaa.fudaa.crue.planimetry.layer.PlanimetrySectionLayer;
import org.fudaa.fudaa.crue.planimetry.layer.PlanimetryTraceLayer;
+import org.fudaa.fudaa.crue.planimetry.listener.SectionTraceSelectionSynchronizer;
/**
*
@@ -47,6 +48,7 @@
groupHydraulic.enPremier(nodeController.getLayer());
groupHydraulic.enPremier(sectionController.getLayer());
groupHydraulic.enPremier(condLimiteController.getLayer());
+ new SectionTraceSelectionSynchronizer(res.getScene(), traceController.getLayer(), sectionController.getLayer()).install();
}
}
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryBrancheLayer.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryBrancheLayer.java 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryBrancheLayer.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -107,6 +107,9 @@
@Override
protected boolean isPainted(int idx, GrMorphisme _versEcran) {
+ if (isSelected(idx)) {
+ return true;
+ }
boolean res = super.isPainted(idx, _versEcran);
if (!res) {
return false;
@@ -165,7 +168,8 @@
TraceIcon icon = super.layerConfiguration.getMiddleIcon(branche, modeleDonnees(), segment);
icon.paintIconCentre(_g, pt.x_, pt.y_);
if (layerConfiguration.getLabelConfiguration().isDisplayLabels()) {
- labelPainter.paintLabels(_g, pt, layerConfiguration.getDisplayName(branche, modeleDonnees(), isSelected(i)), layerConfiguration.getLabelConfiguration(), alpha_);
+ labelPainter.paintLabels(_g, pt, layerConfiguration.getDisplayName(branche, modeleDonnees(), isSelected(i)), layerConfiguration.
+ getLabelConfiguration(), alpha_);
}
}
}
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryCasierLayer.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryCasierLayer.java 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryCasierLayer.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -116,6 +116,9 @@
* @return true si l'emh active/inactive peut être dessinée
*/
protected boolean isActivityPainted(int idx) {
+ if (isSelected(idx)) {
+ return true;
+ }
CatEMHCasier casier = getCasierController().getEMHFromPositionInModel(idx);
PlanimetryControllerHelper helper = getCasierController().getHelper();
if (!helper.isVisible(casier)) {
@@ -228,7 +231,6 @@
getLabelConfiguration(), alpha_);
}
-
}
}
}
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryLigneBriseeLayer.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryLigneBriseeLayer.java 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryLigneBriseeLayer.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -4,7 +4,10 @@
import org.fudaa.ctulu.CtuluCommandContainer;
import org.fudaa.ctulu.CtuluListSelection;
import org.fudaa.ctulu.CtuluUI;
+import org.fudaa.ebli.calque.ZSceneSelection;
import org.fudaa.ebli.calque.dessin.DeForme;
+import org.fudaa.ebli.commun.EbliListeSelectionMulti;
+import org.fudaa.ebli.commun.EbliSelectionState;
import org.fudaa.ebli.geometrie.GrBoite;
import org.fudaa.ebli.geometrie.GrMorphisme;
import org.fudaa.ebli.geometrie.GrPoint;
@@ -87,6 +90,7 @@
if (seg.distanceXY(_ptReel) < distanceReel) {
GrPoint ptOnSeg = seg.pointPlusProcheXY(_ptReel);
modeleDonnees().addPoint(i, j - 1, ptOnSeg.x_, ptOnSeg.y_, null, _cmd);
+ atomAdded(i, j - 1);
return true;
}
}
@@ -95,7 +99,9 @@
modele_.point(seg.o_, i, modele_.getNbPointForGeometry(i) - 1);
if (seg.distanceXY(_ptReel) < distanceReel) {
GrPoint ptOnSeg = seg.pointPlusProcheXY(_ptReel);
- modeleDonnees().addPoint(i, modele_.getNbPointForGeometry(i) - 1, ptOnSeg.x_, ptOnSeg.y_, null, _cmd);
+ final int idxAdded = modele_.getNbPointForGeometry(i) - 1;
+ modeleDonnees().addPoint(i, idxAdded, ptOnSeg.x_, ptOnSeg.y_, null, _cmd);
+ atomAdded(i, idxAdded);
return true;
}
}
@@ -104,6 +110,18 @@
}
@Override
+ protected void atomAdded(int geomIdx, int idxOneLine) {
+ FSigEditor editor = (FSigEditor) getEditor();
+ editor.getSceneEditor().getScene().setSelectionMode(SelectionMode.ATOMIC);
+ editor.getSceneEditor().getScene().clearSelection();
+ ZSceneSelection select = new ZSceneSelection(editor.getSceneEditor().getScene());
+ EbliListeSelectionMulti multi = new EbliListeSelectionMulti(1);
+ multi.add(geomIdx, idxOneLine + 1);
+ select.addLayerListSelectionMulti(this, multi);
+ editor.getSceneEditor().getScene().changeSelection(select, EbliSelectionState.ACTION_REPLACE);
+ }
+
+ @Override
protected void initTrace(TraceIconModel _icon, int _idxPoly) {
if (!isSelected(_idxPoly) && getSelectionMode() != SelectionMode.ATOMIC) {
_icon.setType(TraceIcon.RIEN);
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryNodeLayer.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryNodeLayer.java 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryNodeLayer.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -25,46 +25,46 @@
*/
public class PlanimetryNodeLayer extends PlanimetryPointLayer<NodeConfiguration>
implements LayerWithCascadeDeleteAction, PlanimetryLayerWithEMHContrat, CalqueWithDynamicActions {
-
+
public PlanimetryNodeLayer(PlanimetryNodeLayerModel _modele, FSigEditor _editor) {
super(_modele, _editor);
}
-
+
LayerNodeController getNoeudController() {
return (LayerNodeController) (((PlanimetryPointLayerModel) modeleDonnees()).getLayerController());
}
-
+
@Override
public PlanimetryNodeLayerModel modeleDonnees() {
return (PlanimetryNodeLayerModel) super.modeleDonnees();
}
-
+
@Override
public EbliFindActionInterface getFinder() {
return new PlanimetryFindEMHLayerAction(this);
}
-
+
@Override
public String editSelected() {
getActions()[0].actionPerformed(null);
return null;
}
-
+
@Override
public LayerControllerEMH getLayerControllerEMH() {
return (LayerControllerEMH) getLayerController();
}
-
+
@Override
public boolean isMovable() {
return false;
}
-
+
@Override
public boolean isTitleModifiable() {
return false;
}
-
+
@Override
public void fillPopup(BuPopupMenu popup) {
if (isEditable() && isOnlyOneObjectSelected()) {
@@ -74,13 +74,13 @@
dclmController.fillPopupMenu(emh, popup);
}
}
-
+
@Override
public GrBoite getDomaine() {
GrBoite boite = super.getDomaine();
return boite;
}
-
+
@Override
public void removeCascadeSelectedObjects() {
if (!isSelectionEmpty()) {
@@ -90,9 +90,12 @@
}
}
}
-
+
@Override
protected boolean isPainted(int idx) {
+ if (getLayerSelection().isSelected(idx)) {
+ return true;
+ }
CatEMHNoeud noeud = getNoeudController().getEMHFromPositionInModel(idx);
PlanimetryControllerHelper helper = getNoeudController().getHelper();
if (!helper.isVisible(noeud)) {
@@ -104,13 +107,13 @@
}
return res;
}
-
+
@Override
public boolean canAddForme(int _typeForme) {
return isEditable() && _typeForme == DeForme.POINT;
}
LabelPainter painter = new LabelPainter();
-
+
@Override
protected void paintLabels(final Graphics2D g2d, int idx, GrPoint pEcran) {
LabelConfiguration labelConfiguration = layerConfiguration.getLabelConfiguration();
@@ -118,7 +121,8 @@
return;
}
CatEMHNoeud noeud = getNoeudController().getNoeud(idx);
- String nom = layerConfiguration.getDisplayedLabel(noeud, (PlanimetryNodeLayerModel) modeleDonnees(), selection_ != null && selection_.isSelected(idx));
+ String nom = layerConfiguration.getDisplayedLabel(noeud, (PlanimetryNodeLayerModel) modeleDonnees(), selection_ != null && selection_.isSelected(
+ idx));
painter.paintLabels(g2d, pEcran, nom, labelConfiguration, alpha_);
}
}
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetrySectionLayer.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetrySectionLayer.java 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetrySectionLayer.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -26,7 +26,8 @@
*
* @author deniger ( genesis)
*/
-public class PlanimetrySectionLayer extends PlanimetryPointLayer<SectionConfiguration> implements LayerWithCascadeDeleteAction, PlanimetryLayerWithEMHContrat {
+public class PlanimetrySectionLayer extends PlanimetryPointLayer<SectionConfiguration> implements LayerWithCascadeDeleteAction,
+ PlanimetryLayerWithEMHContrat {
public PlanimetrySectionLayer(PlanimetrySectionLayerModel _modele, FSigEditor _editor) {
super(_modele, _editor);
@@ -94,6 +95,9 @@
@Override
protected boolean isPainted(int idx) {
+ if (getLayerSelection().isSelected(idx)) {
+ return true;
+ }
boolean res = super.isPainted(idx);
CatEMHSection section = getController().getEMHFromPositionInModel(idx);
PlanimetryControllerHelper helper = getLayerController().getHelper();
@@ -123,7 +127,8 @@
continue;
}
RelationEMHSectionDansBranche sectionDansBranche = getController().getRelationEMHSectionDansBranche(i);
- final String nom = getLayerConfiguration().getDisplayName(sectionDansBranche.getEmh(), modeleDonnees(), selection_ != null && selection_.isSelected(i));
+ final String nom = getLayerConfiguration().getDisplayName(sectionDansBranche.getEmh(), modeleDonnees(), selection_ != null && selection_.
+ isSelected(i));
if (!uidDone.contains(sectionDansBranche.getEmh().getUiId())) {
modele_.point(pt, i, true);
if (!_clipReel.contientXY(pt)) {
Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryTraceLayer.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryTraceLayer.java 2014-02-11 15:48:26 UTC (rev 8609)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/layer/PlanimetryTraceLayer.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -83,6 +83,9 @@
@Override
protected boolean isPainted(int idx, GrMorphisme _versEcran) {
boolean res = super.isPainted(idx, _versEcran);
+ if (isSelected(idx)) {
+ return true;
+ }
if (!res) {
return false;
}
Added: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/listener/SectionTraceSelectionSynchronizer.java
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/listener/SectionTraceSelectionSynchronizer.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/listener/SectionTraceSelectionSynchronizer.java 2014-02-11 15:49:31 UTC (rev 8610)
@@ -0,0 +1,66 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.crue.planimetry.listener;
+
+import java.util.HashSet;
+import java.util.Set;
+import org.fudaa.ctulu.CtuluListSelection;
+import org.fudaa.ebli.calque.ZScene;
+import org.fudaa.ebli.calque.ZSelectionEvent;
+import org.fudaa.ebli.calque.ZSelectionListener;
+import org.fudaa.ebli.commun.EbliSelectionState;
+import org.fudaa.fudaa.crue.planimetry.layer.PlanimetryLayerWithEMHContrat;
+import org.fudaa.fudaa.crue.planimetry.layer.PlanimetrySectionLayer;
+import org.fudaa.fudaa.crue.planimetry.layer.PlanimetryTraceLayer;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class SectionTraceSelectionSynchronizer implements ZSelectionListener {
+
+ private final PlanimetryTraceLayer trace;
+ private final PlanimetrySectionLayer section;
+ private final ZScene scene;
+ private boolean updating;
+
+ public SectionTraceSelectionSynchronizer(ZScene scene, PlanimetryTraceLayer trace, PlanimetrySectionLayer section) {
+ this.trace = trace;
+ this.section = section;
+ this.scene = scene;
+ }
+
+ public void install() {
+ trace.addSelectionListener(this);
+ section.addSelectionListener(this);
+ }
+
+ @Override
+ public void selectionChanged(ZSelectionEvent _evt) {
+ if (updating) {
+ return;
+ }
+ updating = true;
+ PlanimetryLayerWithEMHContrat source = (PlanimetryLayerWithEMHContrat) _evt.getSource();
+ Set<Long> uidSelected = new HashSet<>();
+ if (source == section) {
+ section.getLayerController().getSelectedEMHs(uidSelected);
+ } else {
+ trace.getLayerController().getSelectedEMHs(uidSelected);
+ }
+ if (scene.isRestrictedToCalqueActif()) {
+ scene.setCalqueActif(trace);
+ trace.getLayerController().setSelectedEMHUids(uidSelected);
+ } else {
+ if (source == section) {
+ trace.getLayerController().setSelectedEMHUids(uidSelected);
+ } else {
+ section.getLayerController().setSelectedEMHUids(uidSelected);
+ }
+ }
+ scene.fireSelectionEvent();
+ updating = false;
+ }
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|