|
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.
|