|
From: <de...@us...> - 2012-10-26 17:06:23
|
Revision: 7815
http://fudaa.svn.sourceforge.net/fudaa/?rev=7815&view=rev
Author: deniger
Date: 2012-10-26 17:06:13 +0000 (Fri, 26 Oct 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java 2012-10-26 17:04:41 UTC (rev 7814)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java 2012-10-26 17:06:13 UTC (rev 7815)
@@ -26,8 +26,10 @@
import org.fudaa.dodico.crue.metier.emh.EMH;
import org.fudaa.dodico.crue.metier.emh.EMHScenario;
import org.fudaa.dodico.crue.metier.emh.ResultatKey;
+import org.fudaa.ebli.calque.BCalque;
import org.fudaa.ebli.calque.ZSelectionEvent;
import org.fudaa.ebli.calque.ZSelectionListener;
+import org.fudaa.ebli.controle.BSelecteurCheckBox;
import org.fudaa.fudaa.crue.emh.node.NodeEMHDefault;
import org.fudaa.fudaa.crue.planimetry.PlanimetryVisuPanel;
import org.fudaa.fudaa.crue.planimetry.PlanimetryVisuPanelBuilder;
@@ -70,7 +72,7 @@
@ActionReference(path = "Menu/Window/Report")
@TopComponent.OpenActionRegistration(displayName = ReportVisualTopComponent.TOPCOMPONENT_ACTION_DISPLAYNAME,
preferredID = ReportVisualTopComponent.TOPCOMPONENT_ID)
-public final class ReportVisualTopComponent extends AbstractReportTimeTopComponent implements LookupListener, ExplorerManager.Provider, CtuluImageProducer, ReportTopComponentConfigurable<ReportPlanimetryConfig> {
+public final class ReportVisualTopComponent extends AbstractReportTimeTopComponent implements LookupListener, ExplorerManager.Provider, CtuluImageProducer, ReportTopComponentConfigurable<ReportPlanimetryConfig>, PropertyChangeListener {
public static final String TOPCOMPONENT_ID = "ReportVisualTopComponent";
public static final String TOPCOMPONENT_ACTION = "CTL_" + TOPCOMPONENT_ID;
@@ -237,6 +239,12 @@
protected void scenarioVisuLoaded() {
this.removeAll();
+
+ List<BCalque> mainLayers = panel.getPlanimetryController().getMainLayers();
+ for (BCalque bCalque : mainLayers) {
+ bCalque.addPropertyChangeListener(BSelecteurCheckBox.PROP_VISIBLE, this);
+ }
+
panel = reportVisuService.getPlanimetryVisuPanel();
initConfiguration = panel.getPlanimetryController().getVisuConfiguration().deepClone();
restoreDefaultConfigurationData();
@@ -274,6 +282,16 @@
reportViewServiceContrat.changesDoneIn(ReportVisualTopComponent.this);
}
};
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (panel != null && !isUpdating) {
+ reportPlanimetryConfig.setVisibility(panel.getPlanimetryController().getLayerVisibility());
+ reportViewServiceContrat.changesDoneIn(ReportVisualTopComponent.this);
+
+ }
+
+ }
private PlanimetryVisuPanel panel;
private LayerSelectionListener selectionListener = null;
SelectedNodeLookupListener selectedNodeLookupListener;
@@ -357,18 +375,22 @@
@Override
protected void runUnloadedHandler() {
- isUpdating=true;
+ isUpdating = true;
if (panel != null) {
panel.getPlanimetryController().getState().removeModifiedListener(modificationChangeListener);
panel.getScene().removeSelectionListener(selectionListener);
}
+ List<BCalque> mainLayers = panel.getPlanimetryController().getMainLayers();
+ for (BCalque bCalque : mainLayers) {
+ bCalque.removePropertyChangeListener(BSelecteurCheckBox.PROP_VISIBLE, this);
+ }
panel = null;
calcByName = null;
this.removeAll();
this.add(new JLabel(NbBundle.getMessage(ReportVisualTopComponent.class, "TopComponent.NoScenarioLoadedInformations")));
super.revalidate();
this.repaint();
- isUpdating=false;
+ isUpdating = false;
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2015-09-10 19:55:01
|
Revision: 9167
http://sourceforge.net/p/fudaa/svn/9167
Author: deniger
Date: 2015-09-10 19:54:58 +0000 (Thu, 10 Sep 2015)
Log Message:
-----------
CRUE-634
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java 2015-09-10 16:57:17 UTC (rev 9166)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java 2015-09-10 19:54:58 UTC (rev 9167)
@@ -82,7 +82,7 @@
preferredID = ReportVisualTopComponent.TOPCOMPONENT_ID)
public final class ReportVisualTopComponent extends AbstractReportTimeTopComponent implements LookupListener, ExplorerManager.Provider,
CtuluImageProducer, ReportTopComponentConfigurable<ReportPlanimetryConfig>, PropertyChangeListener {
-
+
public static final String TOPCOMPONENT_ID = "ReportVisualTopComponent";
public static final String TOPCOMPONENT_ACTION = "CTL_" + TOPCOMPONENT_ID;
public static final String TOPCOMPONENT_ACTION_DISPLAYNAME = "#" + TOPCOMPONENT_ACTION;
@@ -95,7 +95,7 @@
private final ExplorerManager em = new ExplorerManager();
ReportPlanimetryConfig reportPlanimetryConfig = new ReportPlanimetryConfig();
private final ReportPlanimetryConfigurer reportPlanimetryConfigurer = new ReportPlanimetryConfigurer();
-
+
public ReportVisualTopComponent() {
initComponents();
setDefaultName();
@@ -107,27 +107,27 @@
ActionMap map = this.getActionMap();
associateLookup(ExplorerUtils.createLookup(em, map));
}
-
+
@Override
protected String getHelpCtxId() {
return SysdocUrlBuilder.getTopComponentHelpCtxId("vuePlanimetrie", PerspectiveEnum.REPORT);
}
-
+
@Override
public ReportPlanimetryConfig getReportConfig() {
return reportPlanimetryConfig;
}
-
+
@Override
public boolean isClosable() {
return false;
}
-
+
@Override
public void rangeChanged() {
setReportConfig(getReportConfig(), false);
}
-
+
@Override
public void setReportConfig(ReportPlanimetryConfig newConfig, boolean fromTemplate) {
super.updating = true;
@@ -154,27 +154,27 @@
}
}
private ReportViewLineInfo info;
-
+
@Override
public void setReportInfo(ReportViewLineInfo info) {
this.info = info;
}
-
+
@Override
public AbstractReportTopComponent getTopComponent() {
return this;
}
-
+
@Override
public void updateFrameName() {
setName(info == null ? "" : info.getNom());
updateTopComponentName();
}
-
+
public ReportPlanimetryConfigurer getReportPlanimetryConfigurer() {
return reportPlanimetryConfigurer;
}
-
+
private void updateConfigurer() {
if (panel != null) {
final PlanimetryController planimetryController = panel.getPlanimetryController();
@@ -199,22 +199,22 @@
panel.getVueCalque().repaint(0);
}
}
-
+
@Override
public BufferedImage produceImage(Map params) {
return panel.produceImage(params);
}
-
+
@Override
public BufferedImage produceImage(int w, int h, Map params) {
return panel.produceImage(w, h, params);
}
-
+
@Override
public Dimension getDefaultImageDimension() {
return panel.getDefaultImageDimension();
}
-
+
@Override
protected void componentActivated() {
super.componentActivated();
@@ -223,19 +223,19 @@
panel.requestFocusInWindow();
}
}
-
+
@Override
protected void componentDeactivated() {
super.componentDeactivated();
ExplorerUtils.activateActions(em, false);
}
-
+
@Override
public ExplorerManager getExplorerManager() {
return em;
}
Map<String, Long> calcByName;
-
+
@Override
public void selectedTimeChanged() {
if (reportService.getRunCourant() != null & panel != null) {
@@ -248,11 +248,11 @@
panel.getPlanimetryController().setEditedCalcul(calcSelected);
}
}
-
+
@Override
public void timeFormatChanged() {
}
-
+
@Override
public void setEditable(boolean b) {
this.editable = b;
@@ -261,7 +261,7 @@
planimetryVisuPanel.getPlanimetryController().setEditable(b, false);
}
}
-
+
@Override
public void setModified(boolean modified) {
super.setModified(modified);
@@ -271,7 +271,7 @@
}
}
}
-
+
@Override
protected void runLoadedHandler() {
if (reportVisuService.getPlanimetryVisuPanel() != null) {
@@ -279,10 +279,11 @@
}
}
VisuConfiguration initConfiguration;
-
+
protected void scenarioVisuLoaded() {
+ final double[][] repere = panel == null ? null : panel.getVueCalque().getRepere();
this.removeAll();
-
+
panel = reportVisuService.getPlanimetryVisuPanel();
List<BCalque> mainLayers = panel.getPlanimetryController().getMainLayers();
for (BCalque bCalque : mainLayers) {
@@ -310,28 +311,37 @@
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
- panel.restaurer();
+ if (repere != null) {
+ panel.getVueCalque().setRepere(repere);
+
+ } else {
+ panel.restaurer();
+ }
+
selectedTimeChanged();
- panel.getPlanimetryController().setEditable(editable);
+
+ panel.getPlanimetryController()
+ .setEditable(editable);
}
- });
+ }
+ );
}
private final Set<String> ignoreProperties = new TreeSet<String>(Arrays.asList("versEcran", "versReel"));
VisuChangerListener modificationChangeListener = new VisuChangerListener();
-
+
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (panel != null && !updating) {
reportPlanimetryConfig.setVisibility(panel.getPlanimetryController().getLayerVisibility());
reportViewServiceContrat.changesDoneIn(ReportVisualTopComponent.this);
-
+
}
-
+
}
private PlanimetryVisuPanel panel;
private LayerSelectionListener selectionListener = null;
SelectedEMHsLookupListener selectedEMHsLookupListener;
-
+
public void buildCalcMapIfNeeded() {
if (calcByName == null) {
calcByName = new HashMap<String, Long>();
@@ -342,7 +352,7 @@
}
}
}
-
+
@Override
public void clearReportModifications() {
updating = true;
@@ -354,12 +364,13 @@
}
clearModificationState();
updating = false;
+
}
-
+
private void setDefaultName() throws MissingResourceException {
setName(NbBundle.getMessage(ReportVisualTopComponent.class, TOPCOMPONENT_ACTION));
}
-
+
private void restoreDefaultConfigurationData() {
ReportTemplateFileProvider template = new ReportTemplateFileProvider();
reportPlanimetryConfig = (ReportPlanimetryConfig) template.loadTemplate(ReportContentType.PLANIMETRY);
@@ -373,19 +384,20 @@
setDefaultName();
setModified(false);
}
-
+
private void clearModificationState() {
setModified(false);
+
}
-
+
private class LayerSelectionListener implements ZSelectionListener {
-
+
@Override
public void selectionChanged(ZSelectionEvent _evt) {
selectionChangedInPanel();
}
}
-
+
protected void selectionChangedInPanel() {
if (updating) {
return;
@@ -412,12 +424,12 @@
//met à jour la sélection des EMHs.
reportSelectedEMHService.setSelectedEMHs(selected);
}
-
+
protected JComponent createToolbar(PlanimetryVisuPanel panel) {
SaveTemplateAction action = new SaveTemplateAction(this);
return PlanimetryVisuPanelBuilder.buildTopComponent(panel, action.buildButton(EbliComponentFactory.INSTANCE));
}
-
+
@Override
protected void runUnloadedHandler() {
updating = true;
@@ -430,12 +442,14 @@
bCalque.removePropertyChangeListener(BSelecteurCheckBox.PROP_USER_VISIBLE, this);
}
}
-
+
panel = null;
calcByName = null;
this.removeAll();
+
this.add(new JLabel(NbBundle.getMessage(ReportVisualTopComponent.class, "TopComponent.NoScenarioLoadedInformations")));
super.revalidate();
+
this.repaint();
updating = false;
}
@@ -462,30 +476,35 @@
}
}
VisuPanelLookupListener visuLookupListener;
-
+
@Override
protected void componentOpenedHandler() {
if (resultatVisuPanel == null) {
visuLookupListener = new VisuPanelLookupListener();
- resultatVisuPanel = reportVisuService.getLookup().lookupResult(PlanimetryVisuPanel.class);
+ resultatVisuPanel
+ = reportVisuService.getLookup().lookupResult(PlanimetryVisuPanel.class
+ );
resultatVisuPanel.addLookupListener(visuLookupListener);
}
if (resultatEMHsSelected == null) {
selectedEMHsLookupListener = new SelectedEMHsLookupListener();
- resultatEMHsSelected = reportSelectedEMHService.getLookup().lookupResult(Long.class);
+ resultatEMHsSelected
+ = reportSelectedEMHService.getLookup().lookupResult(Long.class
+ );
resultatEMHsSelected.addLookupListener(selectedEMHsLookupListener);
}
if (info != null) {
updateFrameName();
+
}
-
+
}
-
+
private class SelectedEMHsLookupListener implements LookupListener {
-
+
@Override
public void resultChanged(LookupEvent ev) {
-
+
if (panel == null || WindowManager.getDefault().getRegistry().getActivated() == ReportVisualTopComponent.this) {
return;
}
@@ -496,14 +515,14 @@
Collection<Long> uids = new ArrayList<Long>(allItems.size());
for (Long uid : allItems) {
uids.add(uid);
-
+
}
updating = true;
panel.setSelectedEMHFromUids(uids);
updating = false;
}
}
-
+
@Override
protected void componentClosedDefinitlyHandler() {
if (resultatVisuPanel != null) {
@@ -515,28 +534,29 @@
resultatEMHsSelected = null;
}
}
-
+
@Override
public void componentClosedTemporarily() {
super.componentClosedTemporarily();
}
-
+
void writeProperties(java.util.Properties p) {
// better to version settings since initial version as advocated at
// http://wiki.apidesign.org/wiki/PropertyFiles
p.setProperty("version", "1.0");
// TODO store your settings
+
}
-
+
void readProperties(java.util.Properties p) {
// TODO read your settings according to their version
}
-
+
private class VisuChangerListener implements PropertyChangeListener, Observer {
-
+
public VisuChangerListener() {
}
-
+
@Override
public void update(Observable o, Object arg) {
if (!updating && "visible".equals(arg)) {
@@ -544,16 +564,16 @@
reportViewServiceContrat.changesDoneIn(ReportVisualTopComponent.this);
}
}
-
+
@Override
public void propertyChange(PropertyChangeEvent evt) {
-
+
if (panel == null) {
return;
}
if (evt.getSource() == panel.getCqLegend() && (!editable || ignoreProperties.contains(evt.getPropertyName()))) {
return;
-
+
}
if (updating) {
return;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|