ASM #18092 - MPE: Fix GageTable column select saving and applying settings.
Change-Id: Ic2497d99a27a1efe58afcb4929f9513d6071c097 Former-commit-id: 2a00e1f6e14946d4a15613f2fa42da6c6a4b157e
This commit is contained in:
parent
d13c574a57
commit
ec95cc5f9c
3 changed files with 28 additions and 115 deletions
|
@ -66,6 +66,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* Sep 04, 2014 16699 cgobs Fixed 14.3.1 issue with reading MPE field data.
|
||||
* Oct 19, 2015 18090 lbousaidi fixed best estimate qpe display.
|
||||
* Nov 18, 2015 18093 snaples Added selectedGridIndex to maintain selected grid after table refresh.
|
||||
* Jan 13, 2016 18092 snaples Removed redundant call, that resulted in a circle.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -1217,7 +1218,6 @@ public class GageTableDataManager {
|
|||
*/
|
||||
public void reloadData() {
|
||||
getTableData();
|
||||
getTableRowData();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -20,11 +20,11 @@
|
|||
package com.raytheon.viz.mpe.ui.dialogs.gagetable;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.CardLayout;
|
||||
import java.awt.Container;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.GridBagConstraints;
|
||||
import java.awt.GridBagLayout;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.Insets;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
@ -109,6 +109,7 @@ import com.raytheon.viz.mpe.ui.dialogs.gagetable.xml.GageTableSortType;
|
|||
* Nov 18, 2015 18093 snaples Fixed GridComboListener to trigger table update when changing compare column.
|
||||
* Dec 02, 2015 18094 lbousaidi added the sorting method for multi column sorting.
|
||||
* Dec 07, 2015 18137 lbousaidi fixed sorting after editing gages.
|
||||
* Jan 13, 2016 18092 snaples Updated to have column adjustment by drag and drop.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -208,6 +209,8 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
private final Map<String, GageTableRowData> editMap = new HashMap<String, GageTableRowData>();
|
||||
|
||||
private MPEDisplayManager displayManager;
|
||||
|
||||
private GageTableDataManager dataManager;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
|
@ -230,6 +233,8 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
for (String colName : GageTableConstants.BASE_COLUMNS) {
|
||||
baseColumns.add(colName);
|
||||
}
|
||||
dataManager = GageTableDataManager.getInstance();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
@ -237,8 +242,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
* Open the dialog.
|
||||
*/
|
||||
public void open() {
|
||||
// Instantiate the product and data manager classes
|
||||
GageTableDataManager dataManager = GageTableDataManager.getInstance();
|
||||
|
||||
readSettingsFile();
|
||||
|
||||
|
@ -280,8 +283,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
setLocation(xCoord - (bounds.width / 2), yCoord - (bounds.height / 2));
|
||||
|
||||
setVisible(true);
|
||||
// tableModel.refreshTable();
|
||||
|
||||
displayManager.registerEditTimeChangedListener(this);
|
||||
}
|
||||
|
||||
|
@ -392,10 +393,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
|
||||
JMenu fileMenu = new JMenu("File");
|
||||
fileMenu.setMnemonic('F');
|
||||
JMenuItem columnSelectionMenuItem = new JMenuItem("Column Selection");
|
||||
columnSelectionMenuItem.setMnemonic('C');
|
||||
fileMenu.add(columnSelectionMenuItem);
|
||||
|
||||
JMenuItem refreshMenuItem = new JMenuItem("Refresh");
|
||||
refreshMenuItem.setMnemonic('R');
|
||||
fileMenu.add(refreshMenuItem);
|
||||
|
@ -404,9 +401,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
saveSettingsMenuItem.setMnemonic('S');
|
||||
fileMenu.add(saveSettingsMenuItem);
|
||||
|
||||
columnSelectionMenuItem
|
||||
.addActionListener(new ChangeColumnsDisplayedMenuListener());
|
||||
|
||||
RefreshMenuListener RefreshMenuListener = new RefreshMenuListener();
|
||||
refreshMenuItem.addActionListener(RefreshMenuListener);
|
||||
|
||||
|
@ -569,8 +563,7 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
* Create the JTable.
|
||||
*/
|
||||
private void createJTable(Container container) {
|
||||
gageTablePanel = new JPanel();
|
||||
gageTablePanel.setLayout(new GridLayout(1, 1));
|
||||
gageTablePanel = new JPanel(new CardLayout());
|
||||
table = null;
|
||||
table = new JTable();
|
||||
tableModel = new GageTableModel();
|
||||
|
@ -624,6 +617,7 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
constraints.gridwidth = 2;
|
||||
constraints.gridheight = 1;
|
||||
|
||||
|
||||
container.add(gageTablePanel, constraints);
|
||||
}
|
||||
|
||||
|
@ -669,86 +663,7 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
// Scroll the area into view
|
||||
viewport.setViewPosition(rect.getLocation());
|
||||
}
|
||||
|
||||
/**
|
||||
* Launch the item selection dialog.
|
||||
*/
|
||||
private void launchItemSelectionDlg() {
|
||||
GageTableProductManager manager = GageTableProductManager.getInstance();
|
||||
GageTableDataManager dataManager = GageTableDataManager.getInstance();
|
||||
|
||||
List<GageTableColumn> availableProductColumnList = new ArrayList<GageTableColumn>();
|
||||
Map<String, GageTableColumn> prodMap = manager
|
||||
.getGageTableProductColumnMap();
|
||||
|
||||
Set<String> keySet = prodMap.keySet();
|
||||
|
||||
Iterator<String> iter = keySet.iterator();
|
||||
|
||||
while (iter.hasNext()) {
|
||||
availableProductColumnList.add(prodMap.get(iter.next()));
|
||||
}
|
||||
|
||||
List<String> availableListItems = new ArrayList<String>();
|
||||
|
||||
// Add the non-data columns
|
||||
String[] baseColumns = GageTableConstants.BASE_COLUMNS;
|
||||
for (String s : baseColumns) {
|
||||
availableListItems.add(s);
|
||||
}
|
||||
|
||||
for (GageTableColumn c : availableProductColumnList) {
|
||||
GageTableProductDescriptor desc = c.getProductDescriptor();
|
||||
availableListItems.add(desc.getProductName());
|
||||
}
|
||||
|
||||
List<GageTableColumn> selectedProductColumnList = manager
|
||||
.getSelectedColumns();
|
||||
|
||||
String[] selectedListItems = new String[selectedProductColumnList
|
||||
.size()];
|
||||
for (int i = 0; i < selectedProductColumnList.size(); i++) {
|
||||
selectedListItems[i] = selectedProductColumnList.get(i).getName();
|
||||
}
|
||||
|
||||
// Launch the dialog
|
||||
ItemsSelectionDialog dlg = new ItemsSelectionDialog(
|
||||
this,
|
||||
"Gage Table Column Selector",
|
||||
availableListItems.toArray(new String[availableListItems.size()]),
|
||||
selectedListItems);
|
||||
|
||||
// Get the selected columns for display
|
||||
String[] selectedColumns = dlg.getSelectedItems();
|
||||
|
||||
Map<String, GageTableColumn> colMap = manager
|
||||
.getGageTableProductColumnMap();
|
||||
List<GageTableColumn> colList = new ArrayList<GageTableColumn>();
|
||||
|
||||
for (int i = 0; i < selectedColumns.length; i++) {
|
||||
String value = selectedColumns[i];
|
||||
if (colMap.get(manager.lookupProductPrefix(value)) == null) {
|
||||
GageTableColumn c = new GageTableColumn(null);
|
||||
c.setDataColumn(false);
|
||||
c.setName(value);
|
||||
colList.add(c);
|
||||
} else {
|
||||
GageTableColumn col = colMap.get(manager
|
||||
.lookupProductPrefix(value));
|
||||
col.setName(value);
|
||||
col.setPrefix(manager.lookupProductPrefix(value));
|
||||
colList.add(col);
|
||||
}
|
||||
}
|
||||
|
||||
manager.setSelectedColumns(colList);
|
||||
dataManager.setColumnDataList(colList);
|
||||
|
||||
// Fire event to notify listeners of changes
|
||||
GageTableUpdateEvent event = new GageTableUpdateEvent(this, true);
|
||||
manager.fireUpdateEvent(event);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Read the settings XML file. There is a single file for the site.
|
||||
*/
|
||||
|
@ -986,16 +901,6 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Action listener for the Change Columns Menu item.
|
||||
*/
|
||||
private class ChangeColumnsDisplayedMenuListener implements ActionListener {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
launchItemSelectionDlg();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Action listener for the Grid Combo Box.
|
||||
*/
|
||||
|
@ -1401,6 +1306,7 @@ public class GageTableDlg extends JFrame implements IEditTimeChangedListener {
|
|||
// Fire event to notify listeners of changes
|
||||
GageTableUpdateEvent event = new GageTableUpdateEvent(this, true);
|
||||
GageTableProductManager.getInstance().fireUpdateEvent(event);
|
||||
sortAllRowsBy(tableModel, sortColumnIndex, ascending);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -23,7 +23,7 @@ import java.text.SimpleDateFormat;
|
|||
import java.util.TimeZone;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.swing.table.AbstractTableModel;
|
||||
import javax.swing.table.DefaultTableModel;
|
||||
|
||||
/**
|
||||
* GageTable Dialog table model.
|
||||
|
@ -34,6 +34,7 @@ import javax.swing.table.AbstractTableModel;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 29, 2009 2476 mpduff Initial creation
|
||||
* Jan 13, 2016 18092 snaples Updated to use DefaultTableModel instead of Abstract
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -41,7 +42,7 @@ import javax.swing.table.AbstractTableModel;
|
|||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class GageTableModel extends AbstractTableModel implements
|
||||
public class GageTableModel extends DefaultTableModel implements
|
||||
GageTableListener {
|
||||
private static final long serialVersionUID = -814822107762024666L;
|
||||
|
||||
|
@ -53,16 +54,22 @@ public class GageTableModel extends AbstractTableModel implements
|
|||
/**
|
||||
* Row data.
|
||||
*/
|
||||
private Vector<Vector<String>> rows = null;
|
||||
private static Vector<Vector<String>> rows = null;
|
||||
|
||||
/**
|
||||
* Column data.
|
||||
*/
|
||||
private Vector<String> columns = null;
|
||||
|
||||
private static Vector<String> columns = null;
|
||||
|
||||
|
||||
static {
|
||||
sdf = new SimpleDateFormat("yyyyMMddHH");
|
||||
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
|
||||
GageTableDataManager dataManager = GageTableDataManager.getInstance();
|
||||
|
||||
// Get the data
|
||||
rows = dataManager.getRows();
|
||||
columns = dataManager.getColumns();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -72,11 +79,11 @@ public class GageTableModel extends AbstractTableModel implements
|
|||
GageTableProductManager productManager = GageTableProductManager
|
||||
.getInstance();
|
||||
GageTableDataManager dataManager = GageTableDataManager.getInstance();
|
||||
productManager.addGageTableListener(this);
|
||||
|
||||
// Get the data
|
||||
rows = dataManager.getRows();
|
||||
columns = dataManager.getColumns();
|
||||
productManager.addGageTableListener(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -98,8 +105,8 @@ public class GageTableModel extends AbstractTableModel implements
|
|||
* The new column data
|
||||
*/
|
||||
public void updateData(Vector<Vector<String>> rows, Vector<String> columns) {
|
||||
this.rows = rows;
|
||||
this.columns = columns;
|
||||
GageTableModel.rows = rows;
|
||||
GageTableModel.columns = columns;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -181,7 +188,7 @@ public class GageTableModel extends AbstractTableModel implements
|
|||
* The Vector of data
|
||||
*/
|
||||
public void setDataVector(Vector<Vector<String>> rows) {
|
||||
this.rows = rows;
|
||||
GageTableModel.rows = rows;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -195,7 +202,7 @@ public class GageTableModel extends AbstractTableModel implements
|
|||
* @param columns the columns to set
|
||||
*/
|
||||
public void setColumns(Vector<String> columns) {
|
||||
this.columns = columns;
|
||||
GageTableModel.columns = columns;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Add table
Reference in a new issue