Merge "Issue #2271 - Fix menu problem with previously selected points being selectable again" into omaha_14.2.1
Former-commit-id: c4cda041169c5fe3f813a71c1b09b5eaeba9e385
This commit is contained in:
commit
2c6b4309f0
4 changed files with 67 additions and 5 deletions
|
@ -84,6 +84,7 @@ import com.vividsolutions.jts.geom.LineString;
|
|||
* Nov 17, 2009 3120 rjpeter Updated to use LevelMappingFactory.
|
||||
* Jul 31, 2012 875 rferrel Now uses points.
|
||||
* May 30, 2013 2055 bsteffen Remove modelName from sounding pointName.
|
||||
* Dec 06, 2013 2271 mpduff Added check for null coordinate.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -427,6 +428,10 @@ public class GridDataCatalog extends AbstractInventoryDataCatalog {
|
|||
for (String letter : pointLetters) {
|
||||
Coordinate c = PointsDataManager.getInstance()
|
||||
.getCoordinate(letter);
|
||||
if (c == null) {
|
||||
break;
|
||||
}
|
||||
|
||||
DirectPosition2D dp = new DirectPosition2D(c.x, c.y);
|
||||
llToCRS.transform(dp, dp);
|
||||
if (env.contains(dp.x, dp.y)) {
|
||||
|
|
|
@ -86,7 +86,8 @@ import com.raytheon.viz.volumebrowser.xml.VbSourceList;
|
|||
* points menu.
|
||||
* Jan 14, 2013 #1516 rferrel Remove listeners on dispose and specify
|
||||
* Data Selection in Points Tool Action.
|
||||
*
|
||||
* Dec 06, 2013 #2271 mpduff Save the selected plane points so the menu's are
|
||||
* recreated correctly on a pointChange action.
|
||||
* </pre>
|
||||
*
|
||||
* @author lvenable
|
||||
|
@ -105,13 +106,13 @@ public class DataListsProdTableComp extends Composite implements
|
|||
/**
|
||||
* Listener to trigger reset.
|
||||
*/
|
||||
private IPointChangedListener resetPointChangeListener;
|
||||
private final IPointChangedListener resetPointChangeListener;
|
||||
|
||||
/**
|
||||
* Listener to trigger reset.
|
||||
*/
|
||||
|
||||
private IToolChangedListener resetToolChangeListener;
|
||||
private final IToolChangedListener resetToolChangeListener;
|
||||
|
||||
/**
|
||||
* Perform a regular expression find instead of simply completing the input
|
||||
|
@ -473,6 +474,7 @@ public class DataListsProdTableComp extends Composite implements
|
|||
@Override
|
||||
public void toolChanged() {
|
||||
VizApp.runAsync(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
updateMenuInventory();
|
||||
}
|
||||
|
@ -487,6 +489,7 @@ public class DataListsProdTableComp extends Composite implements
|
|||
@Override
|
||||
public void pointChanged() {
|
||||
VizApp.runAsync(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
updateMenuInventory();
|
||||
}
|
||||
|
@ -882,8 +885,20 @@ public class DataListsProdTableComp extends Composite implements
|
|||
|
||||
@Override
|
||||
public void pointChanged() {
|
||||
MenuItemManager.getInstance().clearPlanesMap();
|
||||
pta.resetMenu();
|
||||
VizApp.runAsync(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MenuItemManager menuItemMgr = MenuItemManager
|
||||
.getInstance();
|
||||
|
||||
Set<String> planeListItems = planeControl.list
|
||||
.getAvailableKeys().keySet();
|
||||
|
||||
menuItemMgr.clearPlanesMap();
|
||||
menuItemMgr.setSelectedPlaneItems(planeListItems);
|
||||
pta.resetMenu();
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
PointsDataManager.getInstance().addPointsChangedListener(
|
||||
|
@ -947,6 +962,7 @@ public class DataListsProdTableComp extends Composite implements
|
|||
* Menu information that contains information about the item
|
||||
* selected.
|
||||
*/
|
||||
@Override
|
||||
public void addToList(String displayStr, MenuContribution menuContrib) {
|
||||
activeList.addItemToList(displayStr, menuContrib);
|
||||
|
||||
|
@ -959,6 +975,7 @@ public class DataListsProdTableComp extends Composite implements
|
|||
*
|
||||
* @return The active data selection.
|
||||
*/
|
||||
@Override
|
||||
public DataSelection getActiveDataSelection() {
|
||||
return currentDataSelection;
|
||||
}
|
||||
|
@ -971,6 +988,7 @@ public class DataListsProdTableComp extends Composite implements
|
|||
* (
|
||||
* com.raytheon.viz.volumebrowser.vbui.DataListsProdTableComp.DataSelection)
|
||||
*/
|
||||
@Override
|
||||
public void setActiveDataSelection(DataSelection dataSelection) {
|
||||
currentDataSelection = dataSelection;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@ package com.raytheon.viz.volumebrowser.vbui;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
@ -43,6 +44,7 @@ import com.raytheon.viz.volumebrowser.xml.MenuContribution;
|
|||
* May 27, 2009 #2161 lvenable Initial creation
|
||||
* Jan 24, 2013 #1516 rferrel Methods to change/get
|
||||
* Active Data Selection.
|
||||
* Dec 06, 2013 #2271 mpduff Added the set of keys for the selected plane items
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -75,6 +77,11 @@ public class MenuItemManager {
|
|||
*/
|
||||
private IDataMenuAction menuActionCB;
|
||||
|
||||
/**
|
||||
* Set of keys for the selected plane items.
|
||||
*/
|
||||
private Set<String> selectedPlaneItems = new HashSet<String>(0);
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
|
@ -584,4 +591,23 @@ public class MenuItemManager {
|
|||
public void setActiveDataSelection(DataSelection dataSelection) {
|
||||
menuActionCB.setActiveDataSelection(dataSelection);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the set of selected keys for the plane item list
|
||||
*
|
||||
* @param selectedPlaneItems
|
||||
* Set of selected keys
|
||||
*/
|
||||
public void setSelectedPlaneItems(Set<String> selectedPlaneItems) {
|
||||
this.selectedPlaneItems = selectedPlaneItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the set of selected keys for the plane item list
|
||||
*
|
||||
* @return The selected keys
|
||||
*/
|
||||
public Set<String> getSelectedPlaneItems() {
|
||||
return selectedPlaneItems;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
package com.raytheon.viz.volumebrowser.vbui;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.jface.action.Action;
|
||||
import org.eclipse.jface.action.ActionContributionItem;
|
||||
|
@ -54,6 +55,7 @@ import com.raytheon.viz.volumebrowser.xml.MenuContribution;
|
|||
* now opens the menu.
|
||||
* Sep 26, 2012 1216 rferrel resetMenu method added.
|
||||
* Jan 24, 2013 1516 rferrel Change Active Data Selection prior to filling menus.
|
||||
* Dec 06, 2013 2271 mpduff Disable plane menu items for already selected items.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -173,6 +175,7 @@ public class PointToolAction extends Action implements IMenuCreator {
|
|||
@Override
|
||||
public Menu getMenu(Menu parent) {
|
||||
if (menu == null) {
|
||||
|
||||
MenuItemManager.getInstance().setActiveDataSelection(dataSelection);
|
||||
menu = new Menu(parent);
|
||||
fillMenu(menu);
|
||||
|
@ -229,6 +232,16 @@ public class PointToolAction extends Action implements IMenuCreator {
|
|||
TitleContributionItem cci = new TitleContributionItem();
|
||||
cci.setText(node.getName());
|
||||
cci.fill(menu, -1);
|
||||
|
||||
// disable menu items for already selected items
|
||||
if (dataSelection == DataSelection.PLANES) {
|
||||
Set<String> planeItems = MenuItemManager.getInstance()
|
||||
.getSelectedPlaneItems();
|
||||
for (String s : planeItems) {
|
||||
MenuItemManager.getInstance().disableMenuItem(s,
|
||||
DataSelection.PLANES);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue