Issue #1812 - Scan/DMD trend graphs and trend sets graphs update on threshold changes.

Change-Id: I1150f365ef7b67a198f57cca85859f6767eb0234

Former-commit-id: 8ddcbfac38c225c6771e97de738125a1149ae1c4
This commit is contained in:
Mike Duff 2013-03-21 12:18:58 -05:00
parent 13d063234a
commit e4ffefa649
2 changed files with 128 additions and 100 deletions

View file

@ -35,10 +35,25 @@ import com.raytheon.uf.common.monitor.scan.config.SCANConfigEnums.ScanTables;
import com.raytheon.uf.viz.monitor.scan.TrendGraphData;
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
public class TrendGraphDlg extends CaveSWTDialog //implements ICommonDialogAction
{
/**
* Scan/DMD Trend Graph Dialog.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 21, 2013 1812 mpduff Redraw now updates with new data.
*
* </pre>
*
* @author lvenable
* @version 1.0
*/
public class TrendGraphDlg extends CaveSWTDialog {
private ScanTables scanTable;
private final ScanTables scanTable;
private Combo identCbo;
@ -50,24 +65,34 @@ public class TrendGraphDlg extends CaveSWTDialog //implements ICommonDialogActio
private TrendGraphCanvas trendGraphCanvas;
private ITrendGraphUpdate updateCallback;
private final ITrendGraphUpdate updateCallback;
private IRequestTrendGraphData requestDataCallback;
private final IRequestTrendGraphData requestDataCallback;
// private LinkedHashMap<Date, Double> dataMap;
private TrendGraphData trendGraphData;
private String[] identArray;
private final String[] identArray;
private Integer vcp;
private final Integer vcp;
/**
* Constructor.
*
* @param parentShell
* @param scanTable
* @param ident
* @param attrName
* @param updateCallback
* @param requestDataCallback
* @param identArray
* @param vcp
*/
public TrendGraphDlg(Shell parentShell, ScanTables scanTable, String ident,
String attrName, ITrendGraphUpdate updateCallback,
IRequestTrendGraphData requestDataCallback, String[] identArray,
Integer vcp)
{
super(parentShell, SWT.DIALOG_TRIM, CAVE.DO_NOT_BLOCK | CAVE.INDEPENDENT_SHELL);
Integer vcp) {
super(parentShell, SWT.DIALOG_TRIM, CAVE.DO_NOT_BLOCK
| CAVE.INDEPENDENT_SHELL);
setText(scanTable.name() + " Trend Graph");
this.scanTable = scanTable;
@ -76,7 +101,7 @@ public class TrendGraphDlg extends CaveSWTDialog //implements ICommonDialogActio
this.updateCallback = updateCallback;
this.requestDataCallback = requestDataCallback;
this.identArray = identArray;
this.vcp=vcp;
this.vcp = vcp;
}
@Override
@ -92,7 +117,7 @@ public class TrendGraphDlg extends CaveSWTDialog //implements ICommonDialogActio
protected void initializeComponents(Shell shell) {
trendGraphData = requestDataCallback.requestTrendGraphData(scanTable,
attrName, ident);
createTopControls();
createGraphCanvas();
}
@ -135,8 +160,8 @@ public class TrendGraphDlg extends CaveSWTDialog //implements ICommonDialogActio
private void createGraphCanvas() {
trendGraphCanvas = new TrendGraphCanvas(shell, trendGraphData,
requestDataCallback.getCurrentDate(), scanTable,
attrName,vcp,requestDataCallback,ident);
requestDataCallback.getCurrentDate(), scanTable, attrName, vcp,
requestDataCallback, ident);
}
private void populateIdentCombo() {
@ -165,8 +190,8 @@ public class TrendGraphDlg extends CaveSWTDialog //implements ICommonDialogActio
trendGraphData = requestDataCallback.requestTrendGraphData(scanTable,
attrName, ident);
trendGraphCanvas.updateAttribute(attrName, trendGraphData, requestDataCallback
.getCurrentDate());
trendGraphCanvas.updateAttribute(attrName, trendGraphData,
requestDataCallback.getCurrentDate());
trendGraphCanvas.setIndent(ident);
}
@ -177,31 +202,33 @@ public class TrendGraphDlg extends CaveSWTDialog //implements ICommonDialogActio
trendGraphData = requestDataCallback.requestTrendGraphData(scanTable,
attrName, ident);
trendGraphCanvas.updateAttribute(attrName, trendGraphData, requestDataCallback
.getCurrentDate());
trendGraphCanvas.updateAttribute(attrName, trendGraphData,
requestDataCallback.getCurrentDate());
}
/**
* Update the trend graph data so the latest data can be displayed.
* Update the trend graph data so the latest data can be displayed.
*
* @return true if item is to be disposed
*/
public boolean updateTrendGraph()
{
public boolean updateTrendGraph() {
trendGraphData = requestDataCallback.requestTrendGraphData(scanTable,
attrName, ident);
trendGraphCanvas.updateAttribute(attrName, trendGraphData, requestDataCallback
.getCurrentDate());
trendGraphCanvas.updateAttribute(attrName, trendGraphData,
requestDataCallback.getCurrentDate());
if (requestDataCallback.cellValid(this.ident) == false) {
return true;
}
return false;
}
public void redrawTrendGraph()
{
trendGraphCanvas.redrawCanvas();
/**
* Redraw the graphs with updated data.
*/
public void redrawTrendGraph() {
updateTrendGraph();
}
public void displayDialog() {
@ -211,24 +238,12 @@ public class TrendGraphDlg extends CaveSWTDialog //implements ICommonDialogActio
public boolean dialogIsDisposed() {
return shell.isDisposed();
}
/**
* Overriding the dispose method to notify that the trend graph is closing.
*/
@Override
protected void disposed()
{
protected void disposed() {
this.updateCallback.trendGraphClosing(this);
}
// @Override
// public void closeDialog() {
// this.updateCallback.trendGraphClosing(this);
// shell.dispose();
// }
//
// @Override
// public boolean isDisposed() {
// return shell.isDisposed();
// }
}

View file

@ -40,11 +40,25 @@ import com.raytheon.uf.common.monitor.scan.config.TrendSetConfigMgr;
import com.raytheon.uf.viz.monitor.scan.TrendGraphData;
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
public class TrendSetsGraphDlg extends CaveSWTDialog // implements
// ICommonDialogAction
{
/**
* Scan/DMD Trend Sets Graph Dialog.
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 21, 2013 1812 mpduff Redraw now updates with new data.
*
* </pre>
*
* @author lvenable
* @version 1.0
*/
public class TrendSetsGraphDlg extends CaveSWTDialog {
private ScanTables scanTable;
private final ScanTables scanTable;
private Combo identCbo;
@ -56,15 +70,15 @@ public class TrendSetsGraphDlg extends CaveSWTDialog // implements
private TrendSetConfigMgr trendCfgMgr;
private ITrendSetsGraphUpdate updateCallback;
private final ITrendSetsGraphUpdate updateCallback;
private IRequestTrendGraphData requestDataCallback;
private final IRequestTrendGraphData requestDataCallback;
// private LinkedHashMap<Date, Double> dataMap;
private LinkedHashMap<String, TrendGraphData> trendSetData;
private String[] identArray;
private final String[] identArray;
private String[] attrArray;
@ -72,14 +86,27 @@ public class TrendSetsGraphDlg extends CaveSWTDialog // implements
private HashMap<String, TrendGraphCanvas> canvasMap;
private Integer vcp;
private final Integer vcp;
/**
* Constructor.
*
* @param parentShell
* @param scanTable
* @param ident
* @param trendSetName
* @param updateCallback
* @param requestDataCallback
* @param identArray
* @param vcp
*/
public TrendSetsGraphDlg(Shell parentShell, ScanTables scanTable,
String ident, String trendSetName,
ITrendSetsGraphUpdate updateCallback,
IRequestTrendGraphData requestDataCallback, String[] identArray,
Integer vcp) {
super(parentShell, SWT.DIALOG_TRIM, CAVE.DO_NOT_BLOCK | CAVE.INDEPENDENT_SHELL);
super(parentShell, SWT.DIALOG_TRIM, CAVE.DO_NOT_BLOCK
| CAVE.INDEPENDENT_SHELL);
setText(scanTable.name() + " Trend Graph");
this.scanTable = scanTable;
@ -153,7 +180,6 @@ public class TrendSetsGraphDlg extends CaveSWTDialog // implements
@Override
public void widgetSelected(SelectionEvent e) {
shell.dispose();
// closeDialog();
}
});
}
@ -223,11 +249,10 @@ public class TrendSetsGraphDlg extends CaveSWTDialog // implements
trendSetData.clear();
// Loop through all of the attributes and call update and store the data
// map for
// each attribute
// map for each attribute
for (String attr : attrArray) {
TrendGraphData tgd = requestDataCallback
.requestTrendGraphData(scanTable, attr, ident);
TrendGraphData tgd = requestDataCallback.requestTrendGraphData(
scanTable, attr, ident);
trendSetData.put(attr, tgd);
// Call the update call back so the table can manage this dialog.
@ -252,8 +277,8 @@ public class TrendSetsGraphDlg extends CaveSWTDialog // implements
for (String attr : attrArray) {
System.out.println("Change trend set - attr = " + attr);
TrendGraphData tgd = requestDataCallback
.requestTrendGraphData(scanTable, attr, ident);
TrendGraphData tgd = requestDataCallback.requestTrendGraphData(
scanTable, attr, ident);
trendSetData.put(attr, tgd);
}
@ -272,36 +297,35 @@ public class TrendSetsGraphDlg extends CaveSWTDialog // implements
* @return true if item is to be disposed
*/
public boolean updateTrendSetsGraph() {
trendSetData.clear();
// Loop through all of the attributes and call update and store the data
// map for
// each attribute
for (String attr : attrArray) {
TrendGraphData tgd = requestDataCallback
.requestTrendGraphData(scanTable, attr, ident);
trendSetData.put(attr, tgd);
// Call the update call back so the table can manage this dialog.
this.updateCallback.trendSetGraphChanged(ident, trendSetName, this);
// Update the canvas with the new data
canvasMap.get(attr).updateAttribute(attr, tgd,
requestDataCallback.getCurrentDate());
}
if (requestDataCallback.cellValid(this.ident) == false) {
return true;
}
return false;
trendSetData.clear();
// Loop through all of the attributes and call update and store the data
// map for
// each attribute
for (String attr : attrArray) {
TrendGraphData tgd = requestDataCallback.requestTrendGraphData(
scanTable, attr, ident);
trendSetData.put(attr, tgd);
// Call the update call back so the table can manage this dialog.
this.updateCallback.trendSetGraphChanged(ident, trendSetName, this);
// Update the canvas with the new data
canvasMap.get(attr).updateAttribute(attr, tgd,
requestDataCallback.getCurrentDate());
}
if (requestDataCallback.cellValid(this.ident) == false) {
return true;
}
return false;
}
/**
* Redraw the graphs with updated data.
*/
public void redrawTrendGraph() {
for (String key : canvasMap.keySet()) {
if (canvasMap.get(key) != null) {
canvasMap.get(key).redrawCanvas();
}
}
updateTrendSetsGraph();
}
public void displayDialog() {
@ -319,15 +343,4 @@ public class TrendSetsGraphDlg extends CaveSWTDialog // implements
protected void disposed() {
this.updateCallback.trendSetGraphClosing(this);
}
// @Override
// public void closeDialog() {
// this.updateCallback.trendSetGraphClosing(this);
// shell.dispose();
// }
//
// @Override
// public boolean isDisposed() {
// return shell.isDisposed();
// }
}