Merge branch 'unidata_17.1.1-osx' of github.com:Unidata/awips2 into unidata_17.1.1-osx

This commit is contained in:
Michael James 2017-08-23 08:31:12 -06:00
commit 6e6817b74d
45 changed files with 459 additions and 1509 deletions

View file

@ -70,7 +70,7 @@ public class AppLauncherHandler extends AbstractHandler {
private static final String HYDRO_APPS_DIR = "HYDRO_APPS_DIR";
private static final String HYDRO_APPS_DIR_LOC = "/awips/hydroapps";
private static final String HYDRO_APPS_DIR_LOC = "/awips2/edex/data/share/hydroapps";
private static final String PGSQL_DRIVER = "PGSQL_DRIVER_DIR";

View file

@ -1125,6 +1125,13 @@
<extension
id="com.raytheon.viz.ui.bindings"
point="org.eclipse.ui.bindings">
<key
commandId="com.raytheon.uf.viz.kml.export.exportKML"
contextId="com.raytheon.uf.viz.d2d.ui"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="M1+K">
</key>
<key
contextId="com.raytheon.uf.viz.d2d.ui"
commandId="com.raytheon.viz.ui.saveBundle"
@ -1137,12 +1144,6 @@
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="M1+S">
</key>
<key
contextId="com.raytheon.uf.viz.d2d.ui"
commandId="com.raytheon.uf.viz.d2d.ui.actions.changeLegendMode"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="NUMPAD_ENTER">
</key>
<key
contextId="com.raytheon.uf.viz.d2d.ui"
commandId="com.raytheon.viz.ui.loadSerialized"

View file

@ -42,13 +42,4 @@
class="com.raytheon.uf.viz.kml.export.graphics.ext.KmlCanvasRenderingExtension">
</graphicsExtension>
</extension>
<extension
point="org.eclipse.ui.bindings">
<key
commandId="com.raytheon.uf.viz.kml.export.exportKML"
contextId="com.raytheon.uf.viz.d2d.ui"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="M1+K">
</key>
</extension>
</plugin>

View file

@ -41,6 +41,7 @@ import com.raytheon.uf.viz.thinclient.Activator;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Oct 20, 2011 mschenke Initial creation
* Jul 20, 2017 mjames@ucar Remove logging.
*
* </pre>
*
@ -93,7 +94,6 @@ public class TimedRefresher implements IPropertyChangeListener {
@Override
protected IStatus run(IProgressMonitor monitor) {
System.out.println(refreshTask.getClass().getSimpleName() + " : " + Calendar.getInstance().getTime().toString() + " : running");
startOfLastRun = System.currentTimeMillis();
try {
refreshTask.run();
@ -123,10 +123,8 @@ public class TimedRefresher implements IPropertyChangeListener {
if (intervalInMillis > 0) {
long timePassed = System.currentTimeMillis() - startOfLastRun;
if (timePassed > intervalInMillis) {
System.out.println(refreshTask.getClass().getSimpleName() + " : " + Calendar.getInstance().getTime().toString() + " : Scheduled now");
job.schedule();
} else {
System.out.println(refreshTask.getClass().getSimpleName() + " : " + Calendar.getInstance().getTime().toString() + " : Scheduled in " + ((intervalInMillis - timePassed)/1000/60) + " minutes");
job.schedule(intervalInMillis - timePassed);
}
}

View file

@ -1,22 +1,3 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# -*-python-*-
# ----------------------------------------------------------------------------
# This software is in the public domain, furnished "as is", without technical

View file

@ -58,7 +58,9 @@ Lakes_graphicColor = 'blue'
# MAP BACKGROUNDS
#MapBackgrounds_default = ['Counties','Marine_Zones_XXX','Interstates']
MapBackgrounds_default = ['Zones_XXX','Marine_Zones_XXX','Interstates','States','Lakes']
#MapBackgrounds_default = ['Zones_XXX','Marine_Zones_XXX','Interstates','States','Lakes']
MapBackgrounds_default = ['statesCounties','CWA_All', 'Lakes', 'MarineZones']
XXX_mask = "XXX"
DefaultSamples = ['XXXFloodingRainThreat']

View file

@ -1,22 +1,3 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# -*-python-*-
# ----------------------------------------------------------------------------
# This software is in the public domain, furnished "as is", without technical

View file

@ -52,7 +52,8 @@ Lakes_graphicColor = 'blue'
# MAP BACKGROUNDS
#MapBackgrounds_default = ['Counties','Marine_Zones_XXX','Interstates']
MapBackgrounds_default = ['Zones_XXX','Marine_Zones_XXX','Interstates','States','Lakes']
MapBackgrounds_default = ['statesCounties','CWA_All', 'Lakes', 'MarineZones']
XXX_mask = "XXX"
DefaultSamples = ['XXXTornadoThreat']

View file

@ -58,7 +58,8 @@ Lakes_graphicColor = 'blue'
# MAP BACKGROUNDS
#MapBackgrounds_default = ['Counties','Marine_Zones_XXX','Interstates']
MapBackgrounds_default = ['Zones_XXX','Marine_Zones_XXX','Interstates','States','Lakes']
MapBackgrounds_default = ['statesCounties','CWA_All', 'Lakes', 'MarineZones']
XXX_mask = "XXX"
DefaultSamples = ['XXXWindThreat']

View file

@ -1,22 +1,3 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# -*-python-*-
# NOTE: THIS FILE SHOULD NOT BE MODIFIED BY THE USER. INSTEAD, REFER TO
# THE BASE,SITE,USER and GFE CONFIGURATION DOCUMENTATION ON HOW TO
@ -222,7 +203,7 @@ PublishTimes = ['Today', 'Tonight', 'Tomorrow', 'Tomorrow Night', 'Day 3',
# Defines the initial loaded set of map backgrounds. The name of each
# background should match the name (without ".xml") of a map file in the
# CAVE/Bundles/maps directory under the Localization perspective.
MapBackgrounds_default = ['statesCounties','CWA']
MapBackgrounds_default = ['statesCounties','CWA_All']
# Specific Colors for a map background
# The user may specify a specific color to be used for a map background,

View file

@ -1,22 +1,3 @@
##
# This software was developed and / or modified by Raytheon Company,
# pursuant to Contract DG133W-05-CQ-1067 with the US Government.
#
# U.S. EXPORT CONTROLLED TECHNICAL DATA
# This software product contains export-restricted data whose
# export/transfer/disclosure is restricted by U.S. law. Dissemination
# to non-U.S. persons whether in the United States or abroad requires
# an export license or other authorization.
#
# Contractor Name: Raytheon Company
# Contractor Address: 6825 Pine Street, Suite 340
# Mail Stop B8
# Omaha, NE 68106
# 402.291.0100
#
# See the AWIPS II Master Rights File ("Master Rights File.pdf") for
# further licensing information.
##
# Test file for ifpIMAGE
from gfeConfig import *

View file

@ -139,7 +139,7 @@ class SmartScript(BaseTool.BaseTool):
#self.__pythonGrids = []
self.__accessTime = 0
self.__gridLoc = self.__parmMgr.compositeGridLocation()
self.__gridShape = (self.__gridLoc.getNy().intValue(), self.__gridLoc.getNx().intValue())
self.__gridShape = (self.__gridLoc.getNy(), self.__gridLoc.getNx())
self.__topoGrid = None
self.__toolType = "numeric"
self._empty = self.empty()

View file

@ -1,101 +0,0 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.viz.gfe.actions;
import java.util.Map;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.commands.IElementUpdater;
import org.eclipse.ui.menus.UIElement;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.viz.core.mode.CAVEMode;
import com.raytheon.viz.gfe.core.DataManager;
import com.raytheon.viz.gfe.core.DataManagerUIFactory;
import com.raytheon.viz.gfe.core.msgs.ISCSendStatusChangedMsg;
import com.raytheon.viz.gfe.core.msgs.Message;
import com.raytheon.viz.ui.simulatedtime.SimulatedTimeOperations;
import com.raytheon.viz.ui.simulatedtime.SimulatedTimeProhibitedOpException;
/**
* Menu handler for enabling and disabling send of ISC grids from GFE client.
*
* <pre>
*
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 25, 2010 randerso Initial creation
* Sep 15, 2015 #4858 dgilling Add isEnabled.
*
* </pre>
*
* @author randerso
* @version 1.0
*/
public class IscSendEnableHandler extends AbstractHandler implements
IElementUpdater {
private final IUFStatusHandler statusHandler = UFStatus
.getHandler(getClass());
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getShell();
if (!SimulatedTimeOperations.isTransmitAllowed()) {
SimulatedTimeOperations.displayFeatureLevelWarning(shell,
"ISC Send Enable");
return null;
}
DataManager dm = DataManagerUIFactory.getCurrentInstance();
if (dm != null) {
boolean newState = !Message.inquireLastMessage(
ISCSendStatusChangedMsg.class).isEnabled();
try {
dm.enableISCsend(newState);
} catch (SimulatedTimeProhibitedOpException e) {
statusHandler.error(e.getLocalizedMessage(), e);
}
}
return null;
}
@Override
public boolean isEnabled() {
DataManager dm = DataManagerUIFactory.getCurrentInstance();
return (dm != null) ? CAVEMode.getMode().equals(CAVEMode.OPERATIONAL)
&& dm.requestISC() : false;
}
@Override
public void updateElement(UIElement element, Map parameters) {
element.setChecked(Message.inquireLastMessage(
ISCSendStatusChangedMsg.class).isEnabled());
}
}

View file

@ -1,74 +0,0 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.viz.gfe.actions;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.swt.widgets.Shell;
import com.raytheon.viz.gfe.core.DataManager;
import com.raytheon.viz.gfe.core.DataManagerUIFactory;
import com.raytheon.viz.gfe.dialogs.PublishDialog;
import com.raytheon.viz.ui.dialogs.CaveJFACEDialog;
import com.raytheon.viz.ui.simulatedtime.SimulatedTimeOperations;
/**
* Action to launch publish to official dialog.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 06, 2008 Eric Babin Initial Creation
* Oct 25, 2012 1287 rferrel Changes for non-blocking PublishDialog.
* Aug 27, 2015 4749 njensen Now extends GfeShowDialogHandler
* Sep 09, 2015 4858 dgilling Don't allow publishing when
* SimulatedTime is enabled.
*
* </pre>
*
*/
public class ShowPublishDialog extends GfeShowDialogHandler {
@Override
public boolean isEnabled() {
if (!super.isEnabled()) {
return false;
}
DataManager dm = DataManagerUIFactory.getCurrentInstance();
if (dm != null) {
return !dm.getParmManager().getMutableDatabase()
.equals(dm.getParmManager().getProductDB());
}
return false;
}
@Override
protected CaveJFACEDialog createDialog(Shell shell, DataManager dm,
ExecutionEvent event) {
if (!SimulatedTimeOperations.isTransmitAllowed()) {
SimulatedTimeOperations.displayFeatureLevelWarning(shell,
"Publish Grids to Official");
return null;
}
return new PublishDialog(shell, dm);
}
}

View file

@ -78,6 +78,7 @@ import com.raytheon.viz.ui.widgets.ToggleSelectList;
* return from the dialog.
* Sep 15, 2015 4858 dgilling Disable all features in DRT mode.
* Nov 18, 2015 5129 dgilling Support new IFPClient.
* Aug 16, 2017 mjames@ucar Remove publish to official dialog.
*
* </pre>
*
@ -103,16 +104,12 @@ public class ProductScriptsDialog extends CaveJFACEDialog {
private ToggleSelectList scriptsList;
private Button publishToOfficialButton;
private DataManager dataManager;
private DatabaseID productDB;
private DatabaseID mutableDB;
private PublishDialog publishDlg;
public ProductScriptsDialog(Shell parent, DataManager dataManager) {
super(parent);
this.setShellStyle(SWT.DIALOG_TRIM | SWT.MODELESS);
@ -135,17 +132,6 @@ public class ProductScriptsDialog extends CaveJFACEDialog {
}
}
private void launchPublishToOfficial() {
if (publishDlg == null || publishDlg.getShell() == null
|| publishDlg.isDisposed()) {
publishDlg = new PublishDialog(getParentShell(), dataManager);
publishDlg.setBlockOnOpen(false);
publishDlg.open();
} else {
publishDlg.bringToTop();
}
}
@Override
protected void buttonPressed(int buttonId) {
if (buttonId != IDialogConstants.CANCEL_ID) {
@ -408,23 +394,8 @@ public class ProductScriptsDialog extends CaveJFACEDialog {
lab.setLayoutData(data);
}
publishToOfficialButton = new Button(top, SWT.PUSH);
publishToOfficialButton.setText("Publish to Official...");
publishToOfficialButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
if (SimulatedTimeOperations.isTransmitAllowed()) {
launchPublishToOfficial();
} else {
SimulatedTimeOperations.displayFeatureLevelWarning(
getShell(), "Publish Grids to Official");
}
}
});
data = new GridData(GridData.FILL_HORIZONTAL);
data.horizontalAlignment = SWT.CENTER;
publishToOfficialButton.setLayoutData(data);
Label scriptsLab = new Label(top, SWT.NONE);
scriptsLab.setText("Scripts");
scriptsLab.setLayoutData(data);

View file

@ -1,530 +0,0 @@
/**
* This software was developed and / or modified by Raytheon Company,
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
*
* U.S. EXPORT CONTROLLED TECHNICAL DATA
* This software product contains export-restricted data whose
* export/transfer/disclosure is restricted by U.S. law. Dissemination
* to non-U.S. persons whether in the United States or abroad requires
* an export license or other authorization.
*
* Contractor Name: Raytheon Company
* Contractor Address: 6825 Pine Street, Suite 340
* Mail Stop B8
* Omaha, NE 68106
* 402.291.0100
*
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information.
**/
package com.raytheon.viz.gfe.dialogs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Cursor;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import com.raytheon.uf.common.dataplugin.gfe.db.objects.DatabaseID;
import com.raytheon.uf.common.dataplugin.gfe.db.objects.ParmID;
import com.raytheon.uf.common.dataplugin.gfe.server.request.CommitGridRequest;
import com.raytheon.uf.common.status.IPerformanceStatusHandler;
import com.raytheon.uf.common.status.IUFStatusHandler;
import com.raytheon.uf.common.status.PerformanceStatus;
import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority;
import com.raytheon.uf.common.time.TimeRange;
import com.raytheon.uf.common.time.util.ITimer;
import com.raytheon.uf.common.time.util.TimeUtil;
import com.raytheon.uf.viz.core.VizApp;
import com.raytheon.viz.gfe.Activator;
import com.raytheon.viz.gfe.PythonPreferenceStore;
import com.raytheon.viz.gfe.core.DataManager;
import com.raytheon.viz.gfe.core.IParmManager;
import com.raytheon.viz.gfe.core.ISelectTimeRangeManager;
import com.raytheon.viz.gfe.core.msgs.ISCSendStatusChangedMsg;
import com.raytheon.viz.gfe.core.msgs.Message;
import com.raytheon.viz.gfe.core.parm.ParmOp;
import com.raytheon.viz.ui.dialogs.CaveJFACEDialog;
import com.raytheon.viz.ui.widgets.ToggleSelectList;
/**
* The publish to official dialog.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Mar 6, 2008 Eric Babin Initial Creation
* Sep 01, 2009 #1370 randerso Completely reworked
* Aug 05, 2010 6698 mpduff Moved Publish work to its own thread.
* Oct 25, 2012 1287 rferrel Code cleanup for non-blocking dialog.
* 02/12/2013 #1597 randerso Added logging to support GFE Performance metrics
*
* </pre>
*
* @author ebabin
* @version 1.0
*/
public class PublishDialog extends CaveJFACEDialog {
private final transient IUFStatusHandler statusHandler = UFStatus
.getHandler(PublishDialog.class);
private final IPerformanceStatusHandler perfLog = PerformanceStatus
.getHandler("GFE:");
private final int MAX_LIST_HEIGHT = 10;
private final PythonPreferenceStore prefs = Activator.getDefault()
.getPreferenceStore();
private static Boolean IscStateP;
private DataManager dataManager;
private Composite top;
private IParmManager parmMgr;
private ParmID[] availableParms;
private ParmID[] displayedParms;
private ParmID[] selectedParms;
private String[] timePd;
private ParmOp parmOp;
private DatabaseID mutableDb;
private ToggleSelectList weListbox;
private org.eclipse.swt.widgets.List tpListbox;
public PublishDialog(Shell parent, DataManager dataManager) {
// Constructor for the Publish Dialog
super(parent);
this.dataManager = dataManager;
parmMgr = dataManager.getParmManager();
parmOp = dataManager.getParmOp();
mutableDb = parmMgr.getMutableDatabase();
ParmID[] availableParms = parmMgr.getAvailableParms(mutableDb);
DatabaseID officialDb = parmMgr.getProductDB();
ParmID[] officialParms = parmMgr.getAvailableParms(officialDb);
// eliminate any parms in availableParms that isn't in officialParms
ArrayList<ParmID> temp = new ArrayList<ParmID>();
for (ParmID p : availableParms) {
for (ParmID o : officialParms) {
if (p.getParmName().equals(o.getParmName())
&& p.getParmLevel().equals(o.getParmLevel())) {
temp.add(p);
break;
}
}
}
Collections.sort(temp);
this.availableParms = temp.toArray(new ParmID[temp.size()]);
String initialBundleGrp = prefs
.getString("PublishDialogInitialWEGroup");
if (initialBundleGrp.isEmpty()) {
displayedParms = parmMgr.getParmIDs(parmMgr.getDisplayedParms());
} else {
displayedParms = this.dataManager.getWEGroupManager().getParmIDs(
initialBundleGrp, this.availableParms);
}
selectedParms = parmMgr.getParmIDs(parmMgr.getSelectedParms());
timePd = prefs.getStringArray("PublishTimes");
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets
* .Shell)
*/
@Override
protected void configureShell(Shell shell) {
super.configureShell(shell);
shell.setText("Publish to Official");
}
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, "Publish", true);
createButton(parent, IDialogConstants.CANCEL_ID,
IDialogConstants.CANCEL_LABEL, false);
}
@Override
protected Control createDialogArea(Composite parent) {
top = (Composite) super.createDialogArea(parent);
GridLayout layout = new GridLayout(2, true);
top.setLayout(layout);
// make the ISC note if needed and pack it
addISCNote();
// make the Weather Element part of the dialog
makeWEBox();
// make the Time Period part of the dialog
makeTimePeriodBox();
// make another button box
makeAllButtonBox();
return top;
}
protected void makeAllButtonBox() {
final Composite btnComp = new Composite(top, SWT.NONE);
GridLayout layout = new GridLayout(4, true);
btnComp.setLayout(layout);
GridData layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
layoutData.horizontalSpan = 2;
btnComp.setLayoutData(layoutData);
Button setAllBtn = new Button(btnComp, SWT.PUSH);
layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
setAllBtn.setLayoutData(layoutData);
setAllBtn.setText("Set All");
setAllBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
setAll();
}
});
Button setSelBtn = new Button(btnComp, SWT.PUSH);
layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
setSelBtn.setLayoutData(layoutData);
setSelBtn.setText("Set Selected");
setSelBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
setSelected();
}
});
final Button groupBtn = new Button(btnComp, SWT.PUSH);
layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
groupBtn.setLayoutData(layoutData);
groupBtn.setText("&Groups");
layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
groupBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
Rectangle rect = groupBtn.getBounds();
Point pt = new Point(rect.x, rect.y + rect.height);
pt = btnComp.toDisplay(pt);
Menu menu = makeWxGroupMenu();
menu.setLocation(pt.x, pt.y);
menu.setVisible(true);
}
});
Button clearAllBtn = new Button(btnComp, SWT.PUSH);
layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
clearAllBtn.setLayoutData(layoutData);
clearAllBtn.setText("Clear All");
clearAllBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
clearAll();
}
});
}
protected Menu makeWxGroupMenu() {
// Get the list of Weather Element Groups
List<String> groupInv = dataManager.getWEGroupManager().getInventory();
ArrayList<String> filtGroupInv = new ArrayList<String>();
for (String group : groupInv) {
// verify that there are valid entries in it
if (dataManager.getWEGroupManager().getParmIDs(group,
availableParms).length > 0) {
filtGroupInv.add(group);
}
}
Menu menu = new Menu(getShell(), SWT.POP_UP);
for (String group : filtGroupInv) {
MenuItem item = new MenuItem(menu, SWT.PUSH);
item.setData(group);
group = group.replace("&", "&&");
item.setText(group);
item.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
openBundleCB((String) ((MenuItem) e.widget).getData());
}
});
}
return menu;
}
private void addISCNote() {
// get new state
ISCSendStatusChangedMsg msg = Message
.inquireLastMessage(ISCSendStatusChangedMsg.class);
boolean newState = msg.isEnabled();
if (IscStateP != null && (IscStateP.booleanValue() == newState)) {
return; // no message needed
}
IscStateP = newState; // save new state
String t;
if (this.dataManager.sendIscOnPublish()) {
if (newState) {
// enabled
t = "ISC Send on Publish is now ENABLED. These published\n"
+ "grids will be sent via ISC.";
} else {
t = "ISC Send on Publish is now DISABLED. These published\n"
+ "grids will be not sent via ISC. If desired, use the\n"
+ "Consistency->ISC Send Enable menu before publishing grids.";
}
// Tkinter.Label(master, foreground='red', background='white',
// text="Notice: " + t).pack(side=Tkinter.TOP)
Label notice = new Label(top, SWT.BORDER);
notice.setText("Notice: " + t);
notice.setBackground(notice.getDisplay().getSystemColor(
SWT.COLOR_WHITE));
notice.setForeground(notice.getDisplay().getSystemColor(
SWT.COLOR_RED));
GridData layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true,
false, 2, 1);
notice.setLayoutData(layoutData);
}
}
private void openBundleCB(String bundleName) {
// Callback to open the selected Bundle
// Get the list of ParmIDs, mutable db
ParmID[] parmIDs = dataManager.getWEGroupManager().getParmIDs(
bundleName, availableParms);
// reset all entries (weather elements) to off
weListbox.deselectAll();
for (int index = 0; index < availableParms.length; index++) {
if (Arrays.asList(parmIDs).contains(availableParms[index])) {
weListbox.select(index);
}
}
}
protected void makeWEBox() {
// make the frame for the Weather Element
Group weGroup = new Group(top, SWT.SHADOW_NONE);
weGroup.setText("Weather Elements");
GridLayout layout = new GridLayout(1, false);
weGroup.setLayout(layout);
GridData layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
weGroup.setLayoutData(layoutData);
weListbox = new ToggleSelectList(weGroup, SWT.MULTI | SWT.V_SCROLL);
layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
layoutData.heightHint = weListbox.getItemHeight() * MAX_LIST_HEIGHT;
weListbox.setLayoutData(layoutData);
String[] elementList = new String[availableParms.length];
int i = 0;
for (ParmID parmID : availableParms) {
elementList[i++] = parmID.compositeNameUI();
}
weListbox.setItems(elementList);
int cnt = 0;
for (ParmID parmID : availableParms) {
if (Arrays.asList(displayedParms).contains(parmID)) {
weListbox.select(cnt);
}
cnt += 1;
}
}
protected void makeTimePeriodBox() {
// make the frame for the Weather Element
Group tpGroup = new Group(top, SWT.SHADOW_NONE);
tpGroup.setText("Time Period");
GridLayout layout = new GridLayout(1, false);
tpGroup.setLayout(layout);
GridData layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
tpGroup.setLayoutData(layoutData);
tpListbox = new org.eclipse.swt.widgets.List(tpGroup, SWT.SINGLE
| SWT.V_SCROLL);
layoutData = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
layoutData.heightHint = tpListbox.getItemHeight() * MAX_LIST_HEIGHT;
tpListbox.setLayoutData(layoutData);
ArrayList<String> elementList = new ArrayList<String>();
elementList.add("All Grids");
elementList.add("Selected Time");
// get list from config for which time periods should be displayed
if (timePd != null) {
ISelectTimeRangeManager selectTRmgr = dataManager
.getSelectTimeRangeManager();
for (String period : timePd) {
if (selectTRmgr.getRange(period) != null) {
elementList.add(period);
}
}
}
tpListbox.setItems(elementList.toArray(new String[elementList.size()]));
tpListbox.select(0);
}
private List<ParmID> getParms() {
// make a list of the parms for which the check button is selected
ArrayList<ParmID> parmsIDs = new ArrayList<ParmID>();
for (int i = 0; i < availableParms.length; i++) {
if (weListbox.isSelected(i)) {
parmsIDs.add(availableParms[i]);
}
}
return parmsIDs;
}
private void publishCB() {
final ITimer timer = TimeUtil.getTimer();
timer.start();
final Cursor origCursor = getShell().getCursor();
getShell().setCursor(
getShell().getDisplay().getSystemCursor(SWT.CURSOR_WAIT));
// get the selected parms
List<ParmID> parmsIDs = getParms();
final List<CommitGridRequest> requests = new ArrayList<CommitGridRequest>(
parmsIDs.size());
// make a CommitGridRequest for each parm
for (ParmID parm : parmsIDs) {
// get the time range for each parm
TimeRange tr = getTR(parm);
// add the commit request
requests.add(new CommitGridRequest(parm, tr, dataManager
.clientISCSendStatus()));
}
Job publishJob = new Job("Publish Job") {
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
// publish the data by calling the dataManager
// publish function
statusHandler.handle(Priority.EVENTA, "PUBLISH: "
+ requests);
parmOp.publish(requests);
} catch (Exception e) {
statusHandler.handle(Priority.ERROR,
"Error occurred publishing parms " + requests, e);
}
// done with the dialog
VizApp.runAsync(new Runnable() {
@Override
public void run() {
PublishDialog.this.getShell().setCursor(origCursor);
PublishDialog.super.okPressed();
timer.stop();
perfLog.logDuration("Publish Grids",
timer.getElapsedTime());
}
});
return Status.OK_STATUS;
}
};
publishJob.setSystem(true);
publishJob.schedule();
}
protected TimeRange getTR(ParmID parm) {
// get the selected time range
String selTR = tpListbox.getSelection()[0];
TimeRange tr;
if (selTR.equals("All Grids")) {
tr = TimeRange.allTimes();
} else if (selTR.equals("Selected Time")) {
tr = parmOp.getSelectionTimeRange();
} else { // time range
tr = dataManager.getSelectTimeRangeManager().getRange(selTR)
.toTimeRange();
}
return tr;
}
private void setSelected() {
weListbox.deselectAll();
for (ParmID parmID : selectedParms) {
int idx = Arrays.asList(availableParms).indexOf(parmID);
weListbox.select(idx);
}
tpListbox.setSelection(1); // Selected Time
}
private void setAll() {
tpListbox.setSelection(0);
weListbox.selectAll();
}
private void clearAll() {
tpListbox.setSelection(0);
weListbox.deselectAll();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.dialogs.Dialog#okPressed()
*/
@Override
protected void okPressed() {
this.getShell().setEnabled(false);
publishCB();
}
}

View file

Before

Width:  |  Height:  |  Size: 79 B

After

Width:  |  Height:  |  Size: 79 B

View file

Before

Width:  |  Height:  |  Size: 192 B

After

Width:  |  Height:  |  Size: 192 B

View file

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 132 B

View file

Before

Width:  |  Height:  |  Size: 723 B

After

Width:  |  Height:  |  Size: 723 B

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

Before

Width:  |  Height:  |  Size: 631 B

After

Width:  |  Height:  |  Size: 631 B

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 95 B

After

Width:  |  Height:  |  Size: 95 B

View file

Before

Width:  |  Height:  |  Size: 79 B

After

Width:  |  Height:  |  Size: 79 B

View file

Before

Width:  |  Height:  |  Size: 96 B

After

Width:  |  Height:  |  Size: 96 B

View file

Before

Width:  |  Height:  |  Size: 99 B

After

Width:  |  Height:  |  Size: 99 B

View file

Before

Width:  |  Height:  |  Size: 890 B

After

Width:  |  Height:  |  Size: 890 B

View file

Before

Width:  |  Height:  |  Size: 144 B

After

Width:  |  Height:  |  Size: 144 B

View file

Before

Width:  |  Height:  |  Size: 146 B

After

Width:  |  Height:  |  Size: 146 B

View file

Before

Width:  |  Height:  |  Size: 134 B

After

Width:  |  Height:  |  Size: 134 B

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -1,5 +1,5 @@
<launcher title="HydroGenBless" >
<application runDir="/awips/hydroapps/HydroGen/bin"
path="/awips/hydroapps/HydroGen/bin"
path="/awips2/edex/data/share/hydroapps/HydroGen/bin"
name="start_hg_bless" />
</launcher>

View file

@ -1,5 +0,0 @@
<launcher title="LDAD Scheduler" >
<application runDir="/awips/fxa/bin"
path="/awips/fxa/bin"
name="ldadScheduler" />
</launcher>

View file

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<contribute xsi:type="command"
menuText="Collection/Dissemination..." id="CollectionDissemination"
commandId="com.raytheon.uf.viz.app.launcher.appLauncherHandler">
<parameter key="bundleLocation" value="bundles/run-ldadScheduler.xml"/>
</contribute>
</menuTemplate>

View file

@ -56,33 +56,238 @@
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:com.raytheon.viz.hydrocommon.Tools?after=hydroToolsAdditions">
<separator
name="com.raytheon.viz.hydro.separator1"
visible="true">
</separator>
<command
commandId="com.raytheon.viz.hydro.colorscalemgr.opencolorscalemgr"
label="HydroView Color Manager..."
mnemonic="M">
locationURI="menu:org.eclipse.ui.main.menu">
<menu
id="com.raytheon.viz.hydrocommon.File"
label="File"
mnemonic="F">
<visibleWhen>
<reference definitionId="com.raytheon.viz.hydro.inHydroActionSet"/>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<command
commandId="com.raytheon.uf.viz.alertview.openAlertView"
label="Open AlertView"
style="push">
</command>
<command
commandId="com.raytheon.viz.hydro.actions.EditLocationShiftAction"
label="Edit Shift Location"
mnemonic="L">
commandId="com.raytheon.uf.viz.image.export.save"
label="Save Image as...">
<parameter
name="frameSelection"
value="current">
</parameter>
<parameter
name="dialogType"
value="file">
</parameter>
</command>
<command
commandId="com.raytheon.uf.viz.image.export.print"
label="Print Image...">
</command>
<command
commandId="com.raytheon.viz.ui.actions.printScreenReverseAction"
label="Print Reverse Image...">
</command>
<menu
label="Set Font"
mnemonic="F">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Miniscule"
mnemonic="M"
style="radio">
<parameter
name="size"
value="6">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="miniscule">
</parameter>
</command>
</menuContribution>
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=com.raytheon.viz.hydrocommon.Overlays">
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Very Small"
mnemonic="V"
style="radio">
<parameter
name="size"
value="7">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="verysmall">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Small"
mnemonic="S"
style="radio">
<parameter
name="size"
value="8">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="small">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Normal"
mnemonic="N"
style="radio">
<parameter
name="size"
value="9">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="normal">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Large"
mnemonic="L"
style="radio">
<parameter
name="size"
value="10">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="large">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Very Large"
mnemonic="e"
style="radio">
<parameter
name="size"
value="14">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="verylarge">
</parameter>
</command>
</menu>
</menu>
<menu
id="com.raytheon.viz.hydrocommon.Tools"
label="Tools"
mnemonic="T">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<menu
id="com.raytheon.viz.hydrocommon.PointZoom"
label="Point Zoom"
mnemonic="o">
<command
commandId="com.raytheon.viz.hydrocommon.actions.zoom"
label="In">
<parameter
name="direction"
value="in">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.zoom"
label="Out">
<parameter
name="direction"
value="out">
</parameter>
</command>
</menu>
<menu
label="Pan"
mnemonic="P">
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
label="Up"
mnemonic="U">
<parameter
name="direction"
value="U">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
label="Down"
mnemonic="D">
<parameter
name="direction"
value="D">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
label="Left"
mnemonic="L">
<parameter
name="direction"
value="L">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
label="Right"
mnemonic="R">
<parameter
name="direction"
value="R">
</parameter>
</command>
</menu>
<command
commandId="com.raytheon.uf.viz.core.maps.actions.LoadMap"
label="Radar Rings"
style="toggle">
<visibleWhen
checkEnabled="false">
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
<parameter
name="mapName"
value="Radar Rings">
</parameter>
<parameter
name="mapPath"
value="bundles/hydro/radarRingOverlay.xml">
</parameter>
</command>
<separator
name="com.raytheon.viz.hydrocommon.separator4"
visible="true">
</separator>
<separator
name="hydroToolsAdditions"
visible="true">
</separator>
</menu>
<menu
id="HydroMapData"
label="MapData"
@ -103,6 +308,26 @@
mnemonic="n"
style="push">
</command>
<command
commandId="com.raytheon.viz.hydro.actions.EditLocationShiftAction"
label="Edit Shift Location"
mnemonic="L">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
</command>
<command
commandId="com.raytheon.viz.hydro.colorscalemgr.opencolorscalemgr"
label="HydroView Color Manager..."
mnemonic="M">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
</command>
<command
commandId="com.raytheon.viz.hydro.resource.refreshresource"
label="Refresh Data"
@ -310,9 +535,95 @@
</separator>
<!--command commandId="com.raytheon.viz.hydro.sshp.window.openunithydrographeditor" label="Launch UnitHydrographEditor..." style="push"/-->
</menu>
</menuContribution>
<menuContribution
locationURI="menu:help?after=aboutAdditions">
<menu
id="HydroProjection"
label="Projections">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
<command
commandId="com.raytheon.viz.hydrocommon.actions.setProjection"
label="Flat Lat/Lon"
mnemonic="F">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
<parameter
name="projection"
value="FLAT">
</parameter>
<parameter
name="prefix"
value="hv">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.setProjection"
label="Polar Stereographic"
mnemonic="P">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
<parameter
name="projection"
value="POLAR">
</parameter>
<parameter
name="prefix"
value="hv">
</parameter>
</command>
</menu>
<menu
id="com.raytheon.viz.hydrocommon.Overlays"
label="Maps"
mnemonic="O">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<dynamic
class="com.raytheon.uf.viz.core.maps.menus.MapsMenu"
id="com.raytheon.uf.viz.core.maps.menus.MapsMenu">
</dynamic>
<separator
name="com.raytheon.viz.hydrocommon.separator1"
visible="true">
</separator>
<command
commandId="com.raytheon.uf.viz.core.maps.actions.LoadMap"
label="HRAP"
style="toggle">
<parameter
name="mapName"
value="HRAP">
</parameter>
<parameter
name="mapPath"
value="bundles/hydro/hrapOverlay.xml">
</parameter>
</command>
<separator
name="commonSeparator"
visible="true">
</separator>
</menu>
<menu
id="HydroHelp"
label="Help">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
<command
commandId="com.raytheon.viz.hydro.stationlegend.openstationlegend"
label="Station Legend"
@ -351,181 +662,124 @@
value="gad">
</parameter>
</command>
</menuContribution>
<menuContribution
locationURI="menu:com.raytheon.viz.hydrocommon.Overlays?after=commonSeparator">
<command
commandId="com.raytheon.uf.viz.core.maps.actions.LoadMap"
label="Radar Rings"
style="toggle">
<visibleWhen
checkEnabled="false">
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
<parameter
name="mapName"
value="Radar Rings">
</parameter>
<parameter
name="mapPath"
value="bundles/hydro/radarRingOverlay.xml">
</parameter>
</command>
</menuContribution>
<menuContribution
locationURI="menu:com.raytheon.viz.hydrocommon.Tools?after=com.raytheon.viz.hydrocommon.separator4">
<menu
label="Set Font"
mnemonic="F">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
</reference>
</visibleWhen>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Miniscule"
mnemonic="M"
style="radio">
<parameter
name="size"
value="6">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="miniscule">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Very Small"
mnemonic="V"
style="radio">
<parameter
name="size"
value="7">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="verysmall">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Small"
mnemonic="S"
style="radio">
<parameter
name="size"
value="8">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="small">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Normal"
mnemonic="N"
style="radio">
<parameter
name="size"
value="9">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="normal">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Large"
mnemonic="L"
style="radio">
<parameter
name="size"
value="10">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="large">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydro.actions.setfont"
label="Very Large"
mnemonic="e"
style="radio">
<parameter
name="size"
value="14">
</parameter>
<parameter
name="org.eclipse.ui.commands.radioStateParameter"
value="verylarge">
</parameter>
</command>
</menu>
</menuContribution>
<menuContribution
locationURI="menu:com.raytheon.viz.hydrocommon.Projections">
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=mapControls">
<toolbar
id="hydrocommon-1">
<command
commandId="com.raytheon.viz.hydrocommon.actions.setProjection"
label="Flat Lat/Lon"
mnemonic="F">
commandId="com.raytheon.viz.hydrocommon.actions.pan"
icon="icons/north.gif"
label="Up"
style="push"
tooltip="Up">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="projection"
value="FLAT">
</parameter>
<parameter
name="prefix"
value="hv">
name="direction"
value="U">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.setProjection"
label="Polar Stereographic"
mnemonic="P">
commandId="com.raytheon.viz.hydrocommon.actions.pan"
icon="icons/south.gif"
label="Down"
style="push"
tooltip="Down">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="projection"
value="POLAR">
</parameter>
<parameter
name="prefix"
value="hv">
name="direction"
value="D">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.setProjection"
label="HRAP"
mnemonic="H">
commandId="com.raytheon.viz.hydrocommon.actions.pan"
icon="icons/west.gif"
label="Left"
style="push"
tooltip="Left">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.hydro.inHydroActionSet">
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="projection"
value="HRAP">
</parameter>
<parameter
name="prefix"
value="hv">
name="direction"
value="L">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
icon="icons/east.gif"
label="Right"
style="push"
tooltip="Right">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="R">
</parameter>
</command>
<separator
name="separator1"
visible="true">
</separator>
<command
commandId="com.raytheon.viz.hydrocommon.actions.zoom"
icon="icons/zoomin.gif"
label="Zoom In"
style="push"
tooltip="Zoom In">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="in">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.zoom"
icon="icons/zoomout.gif"
label="Zoom Out"
style="push"
tooltip="Zoom Out">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="out">
</parameter>
</command>
<command
commandId="com.raytheon.viz.ui.clear"
label="Clear"
style="push">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
</command>
</toolbar>
</menuContribution>
</extension>
<extension

View file

@ -38,280 +38,6 @@
</with>
</definition>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=CAVE">
<menu
id="com.raytheon.viz.hydrocommon.File"
label="File"
mnemonic="F">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<command
commandId="com.raytheon.uf.viz.image.export.save"
label="Save Image as...">
<parameter
name="frameSelection" value="current" />
<parameter
name="dialogType" value="file" />
</command>
<command
commandId="com.raytheon.uf.viz.image.export.print"
label="Print Image...">
</command>
<command
commandId="com.raytheon.viz.ui.actions.printScreenReverseAction"
label="Print Reverse Image...">
</command>
</menu>
<menu
id="com.raytheon.viz.hydrocommon.Tools"
label="Tools"
mnemonic="T">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<menu id="com.raytheon.viz.hydrocommon.PointZoom"
label="Point Zoom"
mnemonic="o">
<command
commandId="com.raytheon.viz.hydrocommon.actions.zoom"
label="In">
<parameter
name="direction"
value="in">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.zoom"
label="Out">
<parameter
name="direction"
value="out">
</parameter>
</command>
</menu>
<menu
label="Pan"
mnemonic="P">
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
label="Up"
mnemonic="U">
<parameter
name="direction"
value="U">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
label="Down"
mnemonic="D">
<parameter
name="direction"
value="D">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
label="Left"
mnemonic="L">
<parameter
name="direction"
value="L">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
label="Right"
mnemonic="R">
<parameter
name="direction"
value="R">
</parameter>
</command>
</menu>
<separator
name="com.raytheon.viz.hydrocommon.separator4"
visible="true">
</separator>
<separator
name="hydroToolsAdditions"
visible="true">
</separator>
</menu>
<menu
id="com.raytheon.viz.hydrocommon.Projections"
label="Projections"
mnemonic="P">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
</menu>
<menu
id="com.raytheon.viz.hydrocommon.Overlays"
label="Overlays"
mnemonic="O">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<dynamic
class="com.raytheon.uf.viz.core.maps.menus.MapsMenu"
id="com.raytheon.uf.viz.core.maps.menus.MapsMenu">
</dynamic>
<separator
name="com.raytheon.viz.hydrocommon.separator1"
visible="true">
</separator>
<command
commandId="com.raytheon.uf.viz.core.maps.actions.LoadMap"
label="HRAP"
style="toggle">
<parameter
name="mapName"
value="HRAP">
</parameter>
<parameter
name="mapPath"
value="bundles/hydro/hrapOverlay.xml">
</parameter>
</command>
<separator
name="commonSeparator"
visible="true">
</separator>
</menu>
</menuContribution>
<menuContribution
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=mapControls">
<toolbar
id="hydrocommon-1">
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
icon="icons/north.gif"
label="Up"
tooltip="Up"
style="push">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="U">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
icon="icons/south.gif"
label="Down"
tooltip="Down"
style="push">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="D">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
icon="icons/west.gif"
label="Left"
tooltip="Left"
style="push">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="L">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.pan"
icon="icons/east.gif"
label="Right"
tooltip="Right"
style="push">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="R">
</parameter>
</command>
<!--
<command
commandId="com.raytheon.viz.ui.actions.notImplemented"
icon="icons/center.gif"
label="Recenter"
style="push">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
</command>
-->
<separator
name="separator1"
visible="true">
</separator>
<command
commandId="com.raytheon.viz.hydrocommon.actions.zoom"
icon="icons/zoomin.gif"
label="Zoom In"
tooltip="Zoom In"
style="push">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="in">
</parameter>
</command>
<command
commandId="com.raytheon.viz.hydrocommon.actions.zoom"
icon="icons/zoomout.gif"
label="Zoom Out"
tooltip="Zoom Out"
style="push">
<visibleWhen>
<reference
definitionId="com.raytheon.viz.inHydroCommonActionSet">
</reference>
</visibleWhen>
<parameter
name="direction"
value="out">
</parameter>
</command>
</toolbar>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.commands">
<command

View file

@ -127,187 +127,5 @@
</context>
</extension>
<extension
id="com.raytheon.viz.ui.loop.bindings"
point="org.eclipse.ui.bindings">
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loopContext"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="ARROW_LEFT">
<parameter
id="mode"
value="TIME_ONLY">
</parameter>
<parameter
id="operation"
value="PREVIOUS">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loopContext"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="ARROW_RIGHT">
<parameter
id="mode"
value="TIME_ONLY">
</parameter>
<parameter
id="operation"
value="NEXT">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="M1+ARROW_LEFT">
<parameter
id="mode"
value="TIME_AND_SPACE">
</parameter>
<parameter
id="operation"
value="FIRST">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="M1+ARROW_RIGHT">
<parameter
id="mode"
value="TIME_AND_SPACE">
</parameter>
<parameter
id="operation"
value="LAST">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="ARROW_DOWN">
<parameter
id="mode"
value="SPACE_ONLY">
</parameter>
<parameter
id="operation"
value="PREVIOUS">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="ARROW_UP">
<parameter
id="mode"
value="SPACE_ONLY">
</parameter>
<parameter
id="operation"
value="NEXT">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="M1+ARROW_DOWN">
<parameter
id="mode"
value="SPACE_ONLY">
</parameter>
<parameter
id="operation"
value="FIRST">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="M1+ARROW_UP">
<parameter
id="mode"
value="SPACE_ONLY">
</parameter>
<parameter
id="operation"
value="LAST">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="SHIFT+ARROW_LEFT">
<parameter
id="mode"
value="TIME_AND_SPACE">
</parameter>
<parameter
id="operation"
value="PREVIOUS">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="SHIFT+ARROW_RIGHT">
<parameter
id="mode"
value="TIME_AND_SPACE">
</parameter>
<parameter
id="operation"
value="NEXT">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="SHIFT+M1+ARROW_DOWN">
<parameter
id="mode"
value="SPACE_AND_TIME">
</parameter>
<parameter
id="operation"
value="FIRST">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.frameTool"
contextId="com.raytheon.viz.ui.loop.space"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="SHIFT+M1+ARROW_UP">
<parameter
id="mode"
value="SPACE_AND_TIME">
</parameter>
<parameter
id="operation"
value="LAST">
</parameter>
</key>
<key
commandId="com.raytheon.viz.ui.tools.looping.fasterLoop"
contextId="com.raytheon.viz.ui.loopContext"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="PAGE_UP"/>
<key
commandId="com.raytheon.viz.ui.tools.looping.slowerLoop"
contextId="com.raytheon.viz.ui.loopContext"
schemeId="com.raytheon.viz.ui.cave.scheme"
sequence="PAGE_DOWN"/>
</extension>
</plugin>

View file

@ -30,7 +30,7 @@ Unidata supports two visualization frameworks for rendering data: [CAVE](install
| | |
|----------------|-----------------------:|
| Linux x86_64 | [installCAVE.sh <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/software/awips2/installCAVE.sh) |
| macOS | Download and install both<br>[awips2-cave-17.1.1.dmg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips2-cave-17.1.1.dmg)<br>[awips-python-jep.pkg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-python-jep.pkg)|
| macOS | Download and install both<br>[awips2-cave-17.1.1-3.dmg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips2-cave-17.1.1-3.dmg)<br>[awips-python-17.1.1-3.pkg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-python-17.1.1-3.pkg)|
| 32-bit Windows | [awips-cave.msi <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-cave.msi) |
| 64-bit Windows | [awips-cave.amd64.msi <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-cave.amd64.msi) |

View file

@ -9,7 +9,7 @@
| | current release 17.1.1 |
|----------------|-----------------------:|
| Linux x86_64 | [installCAVE.sh <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/software/awips2/installCAVE.sh) |
| macOS | Download and install both<br>[awips2-cave-17.1.1.dmg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips2-cave-17.1.1.dmg)<br>[awips-python-jep.pkg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-python-jep.pkg)|
| macOS | Download and install both<br>[awips2-cave-17.1.1-3.dmg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips2-cave-17.1.1-3.dmg)<br>[awips-python-17.1.1-3.pkg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-python-17.1.1-3.pkg)|
| 32-bit Windows | [awips-cave.msi <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-cave.msi) |
| 64-bit Windows | [awips-cave.amd64.msi <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-cave.amd64.msi) |
@ -43,12 +43,12 @@ Run CAVE from the menu **Applications** &gt; **Internet** &gt; **AWIPS CAVE**, o
## <i class="fa fa-apple"></i> macOS
CAVE for macOS requires the **[awips-python-jep.pkg](http://www.unidata.ucar.edu/downloads/awips2/awips-python-jep.pkg)** package be installed in order for **derived parameters** to work.
CAVE for macOS requires the **[awips-python-17.1.1-3.pkg](http://www.unidata.ucar.edu/downloads/awips2/awips-python-17.1.1-3.pkg)** package be installed in order for **derived parameters** to work.
* [awips2-cave-17.1.1.dmg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips2-cave-17.1.1.dmg)
* [awips-python-jep.pkg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-python-jep.pkg)
* [awips2-cave-17.1.1-3.dmg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips2-cave-17.1.1-3.dmg)
* [awips-python-17.1.1-3.pkg <i class="fa fa-download"></i>](http://www.unidata.ucar.edu/downloads/awips2/awips-python-17.1.1-3.pkg)
*awips-python-jep.pkg* is not a prerequisite, and CAVE will still run and display data without it, but to use any derived parameter functions such as wind barbs/arrows and grid parameters on various vertical coordinates, [jep](https://github.com/mrj0/jep/) must be installed in some way (it is assumed in `/Library/Python/2.7/site-packages/jep/`). You are free to install jep yourself but should know that simply to install via source code or pip requires the Oracle JDK and Xcode and its Command Line Tools. The **[awips-python-jep.pkg](http://www.unidata.ucar.edu/downloads/awips2/awips-python-jep.pkg)** package is provided as a workaround for this.
*awips-python.pkg* is not a prerequisite, and CAVE will still run and display data without it, but to use any derived parameter functions such as wind barbs/arrows and grid parameters on various vertical coordinates, [jep](https://github.com/mrj0/jep/) must be installed in some way (it is assumed in `/Library/Python/2.7/site-packages/jep/`). You are free to install jep yourself but should know that simply to install via source code or pip requires the Oracle JDK and Xcode and its Command Line Tools. The **[awips-python-17.1.1-3.pkg](http://www.unidata.ucar.edu/downloads/awips2/awips-python-17.1.1-3.pkg)** package is provided as a workaround for this.
!!! info "CAVE for macOS writes and syncs files to ~/Library/caveData"