From 789680085238ad92c93744df7f580e7f566a036b Mon Sep 17 00:00:00 2001 From: Roger Ferrel Date: Thu, 4 Oct 2012 12:44:21 -0500 Subject: [PATCH] Issue #1229 Changes to make WindRoseConfigDlg non-blocking. Change-Id: I647c4f2c425d841fc76c9fefe7e0c4cc71e49975 Former-commit-id: 3cf44f7b31514303aa76beb01c561e8e4d3e0426 [formerly 3cf44f7b31514303aa76beb01c561e8e4d3e0426 [formerly 840e45f4a39c423cb6d92a2848c01fb5f4ef3be8]] Former-commit-id: af6159c5dddb9165c64d1877fbc8f64c0b80f99b Former-commit-id: 0ba409ed6f4f8db145141aaa881703d4658ee70a --- .../climatology/WindRoseConfigDlg.java | 4 +- .../aviation/climatology/WindRosePlotDlg.java | 47 +++++++++++-------- 2 files changed, 30 insertions(+), 21 deletions(-) diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WindRoseConfigDlg.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WindRoseConfigDlg.java index 0b1126f72f..818b7fca6b 100755 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WindRoseConfigDlg.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WindRoseConfigDlg.java @@ -61,6 +61,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * ------------ ---------- ----------- -------------------------- * 28 FEB 2008 938 lvenable Initial creation * 18 JUN 2008 1119 lvenable Updated dialog to reflect user changes. + * 04 OCT 2012 1229 rferrel Made non-blocking. * * * @@ -162,7 +163,8 @@ public class WindRoseConfigDlg extends CaveSWTDialog { * Parent shell. */ public WindRoseConfigDlg(Shell parent, WindRoseConfigData windRoseConfigData) { - super(parent, SWT.DIALOG_TRIM, CAVE.PERSPECTIVE_INDEPENDENT); + super(parent, SWT.DIALOG_TRIM, CAVE.PERSPECTIVE_INDEPENDENT + | CAVE.DO_NOT_BLOCK); setText("Config"); this.windRoseConfigData = windRoseConfigData; diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WindRosePlotDlg.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WindRosePlotDlg.java index db908b75f9..0b589b5b1d 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WindRosePlotDlg.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WindRosePlotDlg.java @@ -55,6 +55,7 @@ import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Spinner; + import com.raytheon.viz.avncommon.AvnMessageMgr.StatusMessageType; import com.raytheon.viz.avnconfig.HelpUsageDlg; import com.raytheon.viz.avnconfig.ITafSiteConfig; @@ -81,6 +82,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * 4/14/2011 8861 rferrel Use SaveImageDlg class * 23JUL2012 15169 zhao Use Combo for 'Month' and 'Number of Months' * & disabled site controls while drawing + * 04OCT2012 1229 rferrel Changes for non-blocking WindRoseConfigDlg. * * * @@ -183,6 +185,8 @@ public class WindRosePlotDlg extends CaveSWTDialog { */ private RGB statusCompRGB; + private WindRoseConfigDlg configDlg; + /** * Constructor. * @@ -321,9 +325,13 @@ public class WindRosePlotDlg extends CaveSWTDialog { configureMI.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { - WindRoseConfigDlg configDlg = new WindRoseConfigDlg(shell, - windRoseConfigData); - configDlg.open(); + if (configDlg == null || configDlg.getShell() == null + || configDlg.isDisposed()) { + configDlg = new WindRoseConfigDlg(shell, windRoseConfigData); + configDlg.open(); + } else { + configDlg.bringToTop(); + } } }); @@ -431,16 +439,15 @@ public class WindRosePlotDlg extends CaveSWTDialog { gd = new GridData(66, SWT.DEFAULT); monthCbo = new Combo(monthHourComp, SWT.DROP_DOWN | SWT.READ_ONLY); monthCbo.setLayoutData(gd); - for ( int i = 1; i <= 12; i++ ) { - monthCbo.add(""+i, i-1); + for (int i = 1; i <= 12; i++) { + monthCbo.add("" + i, i - 1); } monthCbo.select(cal.get(Calendar.MONTH)); monthCbo.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - //System.out.println(" *************** monthsCbo.getText() = " + monthCbo.getText() ); if (autoRedrawChk.getSelection()) { - redrawWindRose(); + redrawWindRose(); } } }); @@ -451,16 +458,15 @@ public class WindRosePlotDlg extends CaveSWTDialog { gd = new GridData(66, SWT.DEFAULT); numMonthsCbo = new Combo(monthHourComp, SWT.DROP_DOWN | SWT.READ_ONLY); numMonthsCbo.setLayoutData(gd); - for ( int i = 1; i <= 12; i++ ) { - numMonthsCbo.add(""+i, i-1); + for (int i = 1; i <= 12; i++) { + numMonthsCbo.add("" + i, i - 1); } numMonthsCbo.select(0); numMonthsCbo.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - //System.out.println(" *************** numMonthsCbo.getText() = " + numMonthsCbo.getText() ); if (autoRedrawChk.getSelection()) { - redrawWindRose(); + redrawWindRose(); } } }); @@ -585,11 +591,9 @@ public class WindRosePlotDlg extends CaveSWTDialog { generateWindRoseHeader(); windRoseCanvasComp.updateAndRedraw(windRoseConfigData.cloneData(), - windRoseHeader, - monthCbo.getText(), - numMonthsCbo.getText(), - hourSpnr.getText(), - numHoursSpnr.getText(), flightCatCbo.getSelectionIndex(), + windRoseHeader, monthCbo.getText(), numMonthsCbo.getText(), + hourSpnr.getText(), numHoursSpnr.getText(), + flightCatCbo.getSelectionIndex(), siteList.getItem(siteList.getSelectionIndex()), this); } } @@ -647,18 +651,21 @@ public class WindRosePlotDlg extends CaveSWTDialog { header.append(MONTHS[monthCbo.getSelectionIndex()]); - if ( numMonthsCbo.getSelectionIndex() == 0 ) { + if (numMonthsCbo.getSelectionIndex() == 0) { header.append(" "); } else { header.append("-"); int endMonth = 0; - if ( ( numMonthsCbo.getSelectionIndex() + monthCbo.getSelectionIndex() ) > 11 ) { - endMonth = numMonthsCbo.getSelectionIndex() + monthCbo.getSelectionIndex() - 12; + if ((numMonthsCbo.getSelectionIndex() + monthCbo + .getSelectionIndex()) > 11) { + endMonth = numMonthsCbo.getSelectionIndex() + + monthCbo.getSelectionIndex() - 12; header.append(MONTHS[endMonth]); } else { - endMonth = numMonthsCbo.getSelectionIndex() + monthCbo.getSelectionIndex(); + endMonth = numMonthsCbo.getSelectionIndex() + + monthCbo.getSelectionIndex(); header.append(MONTHS[endMonth]); } header.append(" ");