|
From: <de...@us...> - 2012-06-14 07:07:16
|
Revision: 7338
http://fudaa.svn.sourceforge.net/fudaa/?rev=7338&view=rev
Author: deniger
Date: 2012-06-14 07:07:04 +0000 (Thu, 14 Jun 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/businessMessages.properties
trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/ModellingScenarioService.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/AbstractModellingTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingActionsTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingEMHTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingFilesTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListBrancheTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListCasierTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListNoeudTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListSectionTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingNetworkTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingVisualTopComponent.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveGeoLocCallable.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveScenarioCallable.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveStudyConfigCallable.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingScenarioModificationService.java
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingScenarioServiceImpl.java
Added Paths:
-----------
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ScenarioModificationEvent.java
Modified: trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/businessMessages.properties
===================================================================
--- trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/businessMessages.properties 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/crue-server/src/main/resources/org/fudaa/dodico/crue/common/businessMessages.properties 2012-06-14 07:07:04 UTC (rev 7338)
@@ -755,4 +755,9 @@
configEtu.unknownProperty.Error=La propri\u00e9t\u00e9 {0} n''est pas reconnue par Fudaa-Crue
configEtu.unknownType.Error=Le type de donn\u00e9e {0} n''est pas g\u00e9r\u00e9 par Fudaa-Crue
configEtu.badValue.Error=la valeur {1} pour la propri\u00e9t\u00e9 {0} n''est pas valide
-configEtu.valueCantBeSet.Error=la valeur {1} pour la propri\u00e9t\u00e9 {0} ne peut pas \u00eatre utilis\u00e9e
\ No newline at end of file
+configEtu.valueCantBeSet.Error=la valeur {1} pour la propri\u00e9t\u00e9 {0} ne peut pas \u00eatre utilis\u00e9e
+
+save.geoloc.done=Donn\u00e9es de g\u00e9olocalisation enregistr\u00e9es
+save.configEtu.done=Configuration de niveau \u00e9tude enregistr\u00e9e
+save.scenario.done=Sc\u00e9nario enregistr\u00e9
+save.scenario.file.done=Fichier {0} enregistr\u00e9
\ No newline at end of file
Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/ModellingScenarioService.java
===================================================================
--- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/ModellingScenarioService.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/ModellingScenarioService.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -21,6 +21,8 @@
boolean unloadScenario();
+ boolean isReloading();
+
boolean loadScenario(EMHProjet projet, ManagerEMHScenario scenario);
EMHScenario getScenarioLoaded();
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/AbstractModellingTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/AbstractModellingTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/AbstractModellingTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -1,8 +1,15 @@
package org.fudaa.fudaa.crue.modelling;
import java.awt.EventQueue;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.util.Observable;
+import java.util.Observer;
+import javax.swing.JButton;
+import javax.swing.JPanel;
import org.apache.commons.lang.StringUtils;
import org.fudaa.dodico.crue.metier.emh.EMHScenario;
import org.fudaa.fudaa.crue.common.AbstractTopComponent;
@@ -11,6 +18,7 @@
import org.fudaa.fudaa.crue.common.services.ModellingScenarioService;
import org.fudaa.fudaa.crue.modelling.perspective.PerspectiveServiceModelling;
import org.fudaa.fudaa.crue.modelling.services.ModellingScenarioModificationService;
+import org.fudaa.fudaa.crue.modelling.services.ScenarioModificationEvent;
import org.openide.util.Lookup;
import org.openide.util.LookupEvent;
import org.openide.util.LookupListener;
@@ -27,8 +35,10 @@
protected PerspectiveServiceModelling perspectiveServiceModelling = Lookup.getDefault().lookup(PerspectiveServiceModelling.class);
protected ModellingScenarioModificationService modellingScenarioModificationService = Lookup.getDefault().lookup(
ModellingScenarioModificationService.class);
- protected ModellingScenarioService scenarioService = Lookup.getDefault().lookup(ModellingScenarioService.class);
+// protected ModellingScenarioService scenarioService = Lookup.getDefault().lookup(ModellingScenarioService.class);
boolean modified;
+ private JButton buttonSave;
+ private JButton buttonCancel;
public void setModified(boolean modified) {
this.modified = modified;
@@ -41,9 +51,63 @@
} else if (!modified && name.endsWith(END_NAME_IF_MODIFIED)) {
setName(StringUtils.removeEnd(name, END_NAME_IF_MODIFIED));
}
+ if (buttonSave != null) {
+ buttonSave.setEnabled(modified);
+ }
+ if (buttonCancel != null) {
+ buttonCancel.setEnabled(modified);
+ }
+ }
+ private class ModificationObserver implements Observer {
+
+ @Override
+ public void update(Observable o, Object arg) {
+ scenarioChanged((ScenarioModificationEvent) arg);
+ }
}
+ ModificationObserver modificationObserver;
+ /**
+ * A redefinir pour ne modifier les données que si nécessaire.
+ * @param event
+ */
+ protected void scenarioChanged(ScenarioModificationEvent event) {
+ scenarioReloaded();
+ }
+
+ protected ModellingScenarioService getModellingService() {
+ return modellingScenarioModificationService.getModellingScenarioService();
+ }
+
+ protected JPanel createCancelSaveButtons() {
+ assert buttonSave == null;
+ buttonSave = new JButton();
+ buttonSave.addActionListener(new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ valideModification();
+ }
+ });
+ buttonSave.setText(NbBundle.getMessage(AbstractModellingTopComponent.class, "ValidationVue.ValidAction"));
+ buttonCancel = new JButton();
+ buttonCancel.addActionListener(new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ cancelModification();
+ }
+ });
+ buttonCancel.setText(NbBundle.getMessage(AbstractModellingTopComponent.class, "ValidationVue.CancelAction"));
+ JPanel bottom = new JPanel(new FlowLayout(FlowLayout.RIGHT));
+ bottom.add(buttonCancel);
+ bottom.add(buttonSave);
+ buttonCancel.setEnabled(modified);
+ buttonSave.setEnabled(modified);
+ return bottom;
+ }
+
protected abstract void scenarioLoaded();
protected abstract void scenarioUnloaded();
@@ -71,13 +135,29 @@
@Override
public final void resultChanged(LookupEvent ev) {
- if (scenarioService.isScenarioLoaded()) {
+ if (getModellingService().isReloading()) {
+ if (getModellingService().isScenarioLoaded()) {
+ scenarioReloaded();
+ }
+ } else if (getModellingService().isScenarioLoaded()) {
+ modificationObserver = new ModificationObserver();
+ modellingScenarioModificationService.addObserver(modificationObserver);
scenarioLoaded();
} else {
- scenarioUnloaded();
+ cleanTopComponent();
}
}
+ private void cleanTopComponent() {
+ scenarioUnloaded();
+ if (modificationObserver != null) {
+ modellingScenarioModificationService.deleteObserver(modificationObserver);
+ modificationObserver = null;
+ }
+ buttonCancel = null;
+ buttonSave = null;
+ }
+
protected void updateEditableState() {
setEditable(WindowManager.getDefault().getRegistry().getActivated() == this && perspectiveServiceModelling.isInEditMode());
}
@@ -88,7 +168,7 @@
resultat.removeLookupListener(this);
resultat = null;
}
- scenarioUnloaded();
+ cleanTopComponent();
componentClosedDefinitlyHandler();
}
@@ -114,7 +194,7 @@
protected final void componentOpened() {
super.componentOpened();
if (resultat == null) {
- resultat = scenarioService.getLookup().lookupResult(EMHScenario.class);
+ resultat = getModellingService().getLookup().lookupResult(EMHScenario.class);
resultat.addLookupListener(this);
resultChanged(null);
}
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingActionsTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingActionsTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingActionsTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -93,7 +93,7 @@
@Override
protected void scenarioLoaded() {
- em.setRootContext(GlobalActionChildFactory.createGlobalActionsNode(scenarioService.getScenarioLoaded()));
+ em.setRootContext(GlobalActionChildFactory.createGlobalActionsNode(getModellingService().getScenarioLoaded()));
}
@Override
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingEMHTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingEMHTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingEMHTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -53,7 +53,8 @@
@Override
protected void scenarioLoaded() {
- EMHTreePanel emhTreePanel = new EMHTreePanel(scenarioService.getSelectedProjet(), scenarioService.getScenarioLoaded());
+ EMHTreePanel emhTreePanel = new EMHTreePanel(getModellingService().getSelectedProjet(),
+ getModellingService().getScenarioLoaded());
this.removeAll();
this.add(new JScrollPane(emhTreePanel.build()));
this.repaint();
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingFilesTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingFilesTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingFilesTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -19,6 +19,7 @@
import org.netbeans.api.settings.ConvertAsProperties;
import org.openide.awt.ActionID;
import org.openide.util.Lookup;
+import org.openide.util.LookupEvent;
import org.openide.util.LookupListener;
/**
@@ -40,6 +41,7 @@
public static final String TOPCOMPONENT_ACTION_DISPLAYNAME = "#" + TOPCOMPONENT_ACTION;
private ModellingScenarioVisuService scenarioVisuService = Lookup.getDefault().lookup(
ModellingScenarioVisuService.class);
+ private Lookup.Result<PlanimetryVisuPanel> resultatVisuPanel;
public ModellingFilesTopComponent() {
initComponents();
@@ -65,8 +67,14 @@
PlanimetryVisuPanel panel;
BArbreCalque bArbreCalque;
+ /**
+ * rien a faire: on attend le visu panel
+ */
@Override
protected void scenarioLoaded() {
+ }
+
+ protected void scenarioVisuLoaded() {
panel = scenarioVisuService.getPlanimetryVisuPanel();
this.removeAll();
bArbreCalque = new BArbreCalque(panel.getArbreCalqueModel());
@@ -93,9 +101,11 @@
@Override
protected void scenarioUnloaded() {
- List<BCalque> mainLayers = panel.getPlanimetryController().getMainLayers();
- for (BCalque bCalque : mainLayers) {
- bCalque.removePropertyChangeListener(BSelecteurCheckBox.PROP_VISIBLE, this);
+ if (panel != null) {
+ List<BCalque> mainLayers = panel.getPlanimetryController().getMainLayers();
+ for (BCalque bCalque : mainLayers) {
+ bCalque.removePropertyChangeListener(BSelecteurCheckBox.PROP_VISIBLE, this);
+ }
}
this.removeAll();
bArbreCalque = null;
@@ -132,4 +142,24 @@
String version = p.getProperty("version");
// TODO read your settings according to their version
}
+
+ private class VisuPanelLookupListener implements LookupListener {
+
+ @Override
+ public void resultChanged(LookupEvent ev) {
+ if (scenarioVisuService.getPlanimetryVisuPanel() != null) {
+ scenarioVisuLoaded();
+ }
+ }
+ }
+ VisuPanelLookupListener visuLookupListener;
+
+ @Override
+ protected void componentOpenedHandler() {
+ if (resultatVisuPanel == null) {
+ visuLookupListener = new VisuPanelLookupListener();
+ resultatVisuPanel = scenarioVisuService.getLookup().lookupResult(PlanimetryVisuPanel.class);
+ resultatVisuPanel.addLookupListener(visuLookupListener);
+ }
+ }
}
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListBrancheTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListBrancheTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListBrancheTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -46,7 +46,8 @@
@Override
protected void scenarioLoaded() {
- EMHTreePanel emhTreePanel = new EMHTreePanel(scenarioService.getSelectedProjet(), scenarioService.getScenarioLoaded());
+ EMHTreePanel emhTreePanel = new EMHTreePanel(getModellingService().getSelectedProjet(),
+ getModellingService().getScenarioLoaded());
this.removeAll();
this.add(new JScrollPane(emhTreePanel.build()));
this.repaint();
@@ -74,8 +75,6 @@
setLayout(new java.awt.BorderLayout());
}// </editor-fold>//GEN-END:initComponents
-
// Variables declaration - do not modify//GEN-BEGIN:variables
// End of variables declaration//GEN-END:variables
-
}
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListCasierTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListCasierTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListCasierTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -52,7 +52,7 @@
@Override
protected void scenarioLoaded() {
- EMHTreePanel emhTreePanel = new EMHTreePanel(scenarioService.getSelectedProjet(), scenarioService.getScenarioLoaded());
+ EMHTreePanel emhTreePanel = new EMHTreePanel(getModellingService().getSelectedProjet(), getModellingService().getScenarioLoaded());
this.removeAll();
this.add(new JScrollPane(emhTreePanel.build()));
this.repaint();
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListNoeudTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListNoeudTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListNoeudTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -46,7 +46,7 @@
@Override
protected void scenarioLoaded() {
- EMHTreePanel emhTreePanel = new EMHTreePanel(scenarioService.getSelectedProjet(), scenarioService.getScenarioLoaded());
+ EMHTreePanel emhTreePanel = new EMHTreePanel(getModellingService().getSelectedProjet(), getModellingService().getScenarioLoaded());
this.removeAll();
this.add(new JScrollPane(emhTreePanel.build()));
this.repaint();
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListSectionTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListSectionTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingListSectionTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -52,7 +52,7 @@
@Override
protected void scenarioLoaded() {
- EMHTreePanel emhTreePanel = new EMHTreePanel(scenarioService.getSelectedProjet(), scenarioService.getScenarioLoaded());
+ EMHTreePanel emhTreePanel = new EMHTreePanel(getModellingService().getSelectedProjet(), getModellingService().getScenarioLoaded());
this.removeAll();
this.add(new JScrollPane(emhTreePanel.build()));
this.repaint();
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingNetworkTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingNetworkTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingNetworkTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -101,12 +101,12 @@
@Override
protected void scenarioLoaded() {
- em.setRootContext(HierarchyChildFactory.createScenarioNode(scenarioService.getScenarioLoaded()));
+ em.setRootContext(HierarchyChildFactory.createScenarioNode(getModellingService().getScenarioLoaded()));
}
@Override
protected void scenarioReloaded() {
- em.setRootContext(HierarchyChildFactory.createScenarioNode(scenarioService.getScenarioLoaded()));
+ em.setRootContext(HierarchyChildFactory.createScenarioNode(getModellingService().getScenarioLoaded()));
}
@Override
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingVisualTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingVisualTopComponent.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingVisualTopComponent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -7,9 +7,6 @@
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.EventQueue;
-import java.awt.FlowLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyVetoException;
@@ -17,11 +14,9 @@
import java.util.Collection;
import java.util.List;
import javax.swing.ActionMap;
-import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
-import org.apache.commons.lang.StringUtils;
import org.fudaa.dodico.crue.metier.emh.EMH;
import org.fudaa.ebli.calque.ZSelectionEvent;
import org.fudaa.ebli.calque.ZSelectionListener;
@@ -113,6 +108,7 @@
panel.getPlanimetryController().cancel();
setModified(false);
}
+ boolean isUpdatingFromHere;
@Override
public void valideModification() {
@@ -128,7 +124,10 @@
modellingScenarioModificationService.setStudyConfigModified();
}
if (scenarioModified) {
- modellingScenarioModificationService.setScenarioModified();
+ isUpdatingFromHere = true;
+ modellingScenarioModificationService.setScenarioModifiedMassive(
+ panel.getPlanimetryController().getPlanimetryGisAttributeContext().getScenario());
+ isUpdatingFromHere = false;
}
setModified(false);
}
@@ -145,26 +144,8 @@
return;
}
super.setModified(modified);
- if (lbModified != null) {
- buttonCancel.setEnabled(modified);
- buttonSave.setEnabled(modified);
- lbModified.setText(
- modified ? NbBundle.getMessage(ModellingVisualTopComponent.class, "ValidationVue.Modified.Label") : StringUtils.EMPTY);
- }
}
- private class VisuPanelLookupListener implements LookupListener {
-
- @Override
- public void resultChanged(LookupEvent ev) {
- if (scenarioVisuService.getPlanimetryVisuPanel() != null) {
- scenarioVisuLoaded();
- } else {
- scenarioUnloaded();
- }
- }
- }
-
@Override
protected void scenarioLoaded() {
if (scenarioVisuService.getPlanimetryVisuPanel() != null) {
@@ -185,32 +166,7 @@
main.add(panel.createGisEditionPalette(), BorderLayout.WEST);
main.add(panel);
add(main);
- buttonSave = new JButton();
- buttonSave.addActionListener(new ActionListener() {
-
- @Override
- public void actionPerformed(ActionEvent e) {
- valideModification();
- }
- });
- buttonSave.setText(NbBundle.getMessage(ModellingVisualTopComponent.class, "ValidationVue.ValidAction"));
- buttonCancel = new JButton();
- buttonCancel.addActionListener(new ActionListener() {
-
- @Override
- public void actionPerformed(ActionEvent e) {
- cancelModification();
- }
- });
- buttonCancel.setText(NbBundle.getMessage(ModellingVisualTopComponent.class, "ValidationVue.CancelAction"));
- lbModified = new JLabel();
- JPanel bottom = new JPanel(new FlowLayout(FlowLayout.RIGHT));
- bottom.add(buttonCancel);
- bottom.add(buttonSave);
- bottom.add(lbModified);
- buttonCancel.setEnabled(false);
- buttonSave.setEnabled(false);
- main.add(bottom, BorderLayout.SOUTH);
+ main.add(createCancelSaveButtons(), BorderLayout.SOUTH);
this.repaint();
super.revalidate();
EventQueue.invokeLater(new Runnable() {
@@ -230,9 +186,6 @@
}
};
PlanimetryVisuPanel panel;
- JLabel lbModified;
- private JButton buttonSave;
- private JButton buttonCancel;
LayerSelectionListener selectionListener = null;
SelectedNodeLookupListener selectedNodeLookupListener;
@@ -275,8 +228,9 @@
*/
@Override
protected void scenarioReloaded() {
- if (panel != null) {
- panel.getPlanimetryController().reload(scenarioService.getScenarioLoaded());
+ //si le scenario est mis à jour depuis ce composant, on fait rien
+ if (panel != null && isUpdatingFromHere) {
+ panel.getPlanimetryController().reload(getModellingService().getScenarioLoaded());
}
}
@@ -291,9 +245,6 @@
panel.getScene().removeSelectionListener(selectionListener);
}
panel = null;
- lbModified = null;
- buttonCancel = null;
- buttonSave = null;
this.removeAll();
this.add(new JLabel(MessagesModelling.getMessage("emhTopComponent.NoScenarioLoadedInformations")));
super.revalidate();
@@ -311,6 +262,16 @@
}// </editor-fold>//GEN-END:initComponents
// Variables declaration - do not modify//GEN-BEGIN:variables
// End of variables declaration//GEN-END:variables
+
+ private class VisuPanelLookupListener implements LookupListener {
+
+ @Override
+ public void resultChanged(LookupEvent ev) {
+ if (scenarioVisuService.getPlanimetryVisuPanel() != null) {
+ scenarioVisuLoaded();
+ }
+ }
+ }
VisuPanelLookupListener visuLookupListener;
@Override
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveGeoLocCallable.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveGeoLocCallable.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveGeoLocCallable.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -1,7 +1,9 @@
package org.fudaa.fudaa.crue.modelling.services;
import java.util.concurrent.Callable;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.CtuluLogGroup;
+import org.fudaa.dodico.crue.common.BusinessMessages;
import org.fudaa.fudaa.crue.common.services.ModellingScenarioService;
import org.fudaa.fudaa.crue.planimetry.save.PlanimetryGisSaver;
import org.openide.util.Lookup;
@@ -30,6 +32,8 @@
modellingScenarioVisuService.getPlanimetryVisuPanel().getPlanimetryController());
saver.save(modellingScenarioService.getSelectedProjet().getInfos().getDirOfConfig());
modellingScenarioModificationService.clearGeoLocModifiedState();
- return null;
+ CtuluLogGroup gr=new CtuluLogGroup(BusinessMessages.RESOURCE_BUNDLE);
+ gr.setDescription("save.geoloc.done");
+ return gr;
}
}
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveScenarioCallable.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveScenarioCallable.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveScenarioCallable.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -5,7 +5,9 @@
import java.util.Map;
import java.util.concurrent.Callable;
import org.fudaa.ctulu.CtuluLibFile;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.CtuluLogGroup;
+import org.fudaa.dodico.crue.common.BusinessMessages;
import org.fudaa.dodico.crue.common.CrueFileHelper;
import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario;
import org.fudaa.dodico.crue.projet.ScenarioSaver;
@@ -45,6 +47,8 @@
if (saveWithScenarioType.containsFatalError()) {
return saveWithScenarioType;
}
+ CtuluLogGroup res = new CtuluLogGroup(BusinessMessages.RESOURCE_BUNDLE);
+ CtuluLog log = res.createNewLog("save.scenario.done");
Map<String, File> savedFiles = modellingScenarioServiceImpl.getSelectedProjet().getInputFiles(managerScenarioLoaded, dir);
Map<String, File> destFiles = modellingScenarioServiceImpl.getSelectedProjet().getInputFiles(managerScenarioLoaded);
for (Map.Entry<String, File> entry : savedFiles.entrySet()) {
@@ -53,12 +57,15 @@
File destFile = destFiles.get(id);
if (!destFile.exists()) {
CrueFileHelper.copyFileWithSameLastModifiedDate(savedFile, destFile);
+ log.addInfo("save.scenario.file.done", id);
} else if (CrueFileHelper.isDifferentFiles(savedFile, destFile)) {
CrueFileHelper.copyFileWithSameLastModifiedDate(savedFile, destFile);
+ log.addInfo("save.scenario.file.done", id);
}
}
modellingScenarioModificationService.clearScenarioModifiedState();
- return saveWithScenarioType;
+ res.addGroup(saveWithScenarioType);
+ return res;
}
public File getTargetDir() {
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveStudyConfigCallable.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveStudyConfigCallable.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingSaveStudyConfigCallable.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -8,6 +8,7 @@
import java.util.concurrent.Callable;
import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.CtuluLogGroup;
+import org.fudaa.dodico.crue.common.BusinessMessages;
import org.fudaa.dodico.crue.io.conf.CrueEtudeConfigurationHelper;
import org.fudaa.fudaa.crue.common.services.ModellingScenarioService;
import org.fudaa.fudaa.crue.planimetry.controller.PlanimetryController;
@@ -49,6 +50,8 @@
}
File destDir = modellingScenarioService.getSelectedProjet().getInfos().getDirOfConfig();
CrueEtudeConfigurationHelper.write(new File(destDir, ModellingScenarioVisuService.CONFIG_ETU), customProperties);
- return null;
+ CtuluLogGroup gr=new CtuluLogGroup(BusinessMessages.RESOURCE_BUNDLE);
+ gr.setDescription("save.configEtu.done");
+ return gr;
}
}
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingScenarioModificationService.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingScenarioModificationService.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingScenarioModificationService.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -2,6 +2,10 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.util.Observable;
+import java.util.Observer;
+import org.fudaa.dodico.crue.metier.emh.EMHScenario;
+import org.fudaa.fudaa.crue.common.services.ModellingScenarioService;
import org.fudaa.fudaa.crue.common.services.ModificationStateContainer;
import org.fudaa.fudaa.crue.modelling.perspective.PerspectiveServiceModelling;
import org.openide.util.Lookup;
@@ -13,9 +17,8 @@
* @author deniger ( genesis)
*/
@ServiceProvider(service = ModellingScenarioModificationService.class)
-public class ModellingScenarioModificationService implements PropertyChangeListener {
+public class ModellingScenarioModificationService extends Observable implements PropertyChangeListener {
- PerspectiveServiceModelling perpective = Lookup.getDefault().lookup(PerspectiveServiceModelling.class);
/**
* les données de niveau scenario sont modifiées
*/
@@ -29,11 +32,16 @@
*/
public static final String PROPERTY_STUDYCONFIG_MODIFIED = "studyConfigModified";
ModificationStateContainer modificationStateContainer = new ModificationStateContainer();
+ ModellingScenarioServiceImpl modellingScenarioServiceImpl = Lookup.getDefault().lookup(ModellingScenarioServiceImpl.class);
public ModellingScenarioModificationService() {
modificationStateContainer.addModifiedListener(this);
}
+ public ModellingScenarioService getModellingScenarioService() {
+ return modellingScenarioServiceImpl;
+ }
+
public void addModifiedListener(PropertyChangeListener listener) {
modificationStateContainer.addModifiedListener(listener);
}
@@ -42,18 +50,31 @@
modificationStateContainer.removeModifiedListener(listener);
}
-
-
public void clearGeoLocModifiedState() {
modificationStateContainer.clearModifiedState(PROPERTY_GEOLOC_MODIFIED);
}
- public void setGeoLocModified() {
+
+ public void setGeoLocModified() {
modificationStateContainer.setModified(PROPERTY_GEOLOC_MODIFIED);
}
- public void setScenarioModified() {
+
+ /**
+ * Utilise si modification massive.
+ * @param newScenario
+ */
+ public void setScenarioModifiedMassive(EMHScenario newScenario) {
+ modellingScenarioServiceImpl.reload(newScenario);
modificationStateContainer.setModified(PROPERTY_SCENARIO_MODIFIED);
}
- public void setStudyConfigModified() {
+
+ public void setScenarioModified(ScenarioModificationEvent event) {
+ modificationStateContainer.setModified(PROPERTY_SCENARIO_MODIFIED);
+ setChanged();
+ notifyObservers(event);
+ clearChanged();
+ }
+
+ public void setStudyConfigModified() {
modificationStateContainer.setModified(PROPERTY_STUDYCONFIG_MODIFIED);
}
@@ -68,8 +89,8 @@
public boolean isGeoLocModified() {
return modificationStateContainer.isModified(PROPERTY_GEOLOC_MODIFIED);
}
-
- public boolean isStudyConfigModified() {
+
+ public boolean isStudyConfigModified() {
return modificationStateContainer.isModified(PROPERTY_STUDYCONFIG_MODIFIED);
}
@@ -79,6 +100,7 @@
@Override
public void propertyChange(PropertyChangeEvent evt) {
+ PerspectiveServiceModelling perpective = Lookup.getDefault().lookup(PerspectiveServiceModelling.class);
perpective.setDirty(modificationStateContainer.isModified());
}
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingScenarioServiceImpl.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingScenarioServiceImpl.java 2012-06-14 06:20:47 UTC (rev 7337)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ModellingScenarioServiceImpl.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -5,6 +5,7 @@
import java.io.IOException;
import org.fudaa.ctulu.CtuluLibFile;
import org.fudaa.ctulu.CtuluLogGroup;
+import org.fudaa.dodico.crue.metier.emh.EMHScenario;
import org.fudaa.dodico.crue.metier.etude.EMHProjet;
import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario;
import org.fudaa.fudaa.crue.common.PerspectiveEnum;
@@ -109,4 +110,26 @@
return !logs.containsFatalError();
}
+ boolean reloading;
+
+ @Override
+ public boolean isReloading() {
+ return reloading;
+ }
+
+ /**
+ * A utiliser dans le thread swing
+ * @param newScenario
+ */
+ void reload(EMHScenario newScenario) {
+ assert EventQueue.isDispatchThread();
+ //l'ordre est important:
+ reloading = true;
+ final EMHScenario scenarioLoaded = getScenarioLoaded();
+ if (scenarioLoaded != null) {
+ dynamicContent.remove(scenarioLoaded);
+ }
+ dynamicContent.add(newScenario);
+ reloading = false;
+ }
}
Added: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ScenarioModificationEvent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ScenarioModificationEvent.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/services/ScenarioModificationEvent.java 2012-06-14 07:07:04 UTC (rev 7338)
@@ -0,0 +1,9 @@
+package org.fudaa.fudaa.crue.modelling.services;
+
+/**
+ *
+ * @author deniger ( genesis)
+ */
+public class ScenarioModificationEvent {
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|