+ *
+ * SOFTWARE HISTORY
+ * Date Ticket# Engineer Description
+ * ------------ ---------- ----------- --------------------------
+ * Apr 20, 2016 mjames@ucar Copied from FourPanelLayoutHandler
+ *
+ *
+ *
+ * @author bsteffen
+ * @version 1.0
+ */
+public class TwoPanelLayoutHandler extends AbstractTool {
+ public Object execute(ExecutionEvent arg0) throws ExecutionException {
+ // There might be a better way to merge these two actions.
+ IEditorPart curEditor = EditorUtil.getActiveEditor();
+ if (curEditor == null) {
+ new NewTwoPanelEditor().execute(null);
+ } else if (curEditor instanceof IDisplayPaneContainer) {
+ TwoPanelLayoutMenuAction menuAction = new TwoPanelLayoutMenuAction();
+ menuAction.setContainer((IDisplayPaneContainer) curEditor);
+ menuAction.run();
+ }
+ return null;
+ }
+}
diff --git a/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/map/actions/TwoPanelLayoutMenuAction.java b/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/map/actions/TwoPanelLayoutMenuAction.java
new file mode 100644
index 0000000000..bda5fdd34f
--- /dev/null
+++ b/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/map/actions/TwoPanelLayoutMenuAction.java
@@ -0,0 +1,113 @@
+/**
+ * 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.uf.viz.d2d.ui.map.actions;
+
+import java.util.List;
+
+import org.eclipse.ui.part.EditorPart;
+
+import com.raytheon.uf.viz.core.IDisplayPane;
+import com.raytheon.uf.viz.core.drawables.IRenderableDisplay;
+import com.raytheon.uf.viz.d2d.core.ID2DRenderableDisplay;
+import com.raytheon.uf.viz.d2d.core.legend.D2DLegendResource;
+import com.raytheon.uf.viz.d2d.core.legend.D2DLegendResource.LegendMode;
+import com.raytheon.viz.ui.IRenameablePart;
+import com.raytheon.viz.ui.cmenu.AbstractRightClickAction;
+import com.raytheon.viz.ui.editor.IMultiPaneEditor;
+
+/**
+ * Switch to a Two Panel layout in the editor pane.
+ *
+ *
+ *
+ * SOFTWARE HISTORY
+ *
+ * Date Ticket# Engineer Description
+ * ------------ ---------- ----------- --------------------------
+ * Apr 20, 2016 mjames@ucar Copied from FourPanelLayoutMenuAction
+ *
+ *
+ *
+ * @author bgonzale
+ * @version 1
+ */
+public class TwoPanelLayoutMenuAction extends AbstractRightClickAction {
+
+ /**
+ * Default constructor.
+ */
+ public TwoPanelLayoutMenuAction() {
+ super("Two Panel Layout");
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.jface.action.Action#run()
+ */
+ @Override
+ public void run() {
+ if (getContainer() instanceof IMultiPaneEditor == false
+ || getContainer().getDisplayPanes()[0].getRenderableDisplay() instanceof ID2DRenderableDisplay == false) {
+ return;
+ }
+ IMultiPaneEditor editor = (IMultiPaneEditor) getContainer();
+ IRenderableDisplay definiteDisplay = getContainer().getDisplayPanes()[0]
+ .getRenderableDisplay();
+
+ String partName = null;
+ if (editor instanceof EditorPart) {
+ EditorPart part = (EditorPart) editor;
+ if (!part.getPartName().equals(part.getEditorInput().getName())) {
+ partName = part.getPartName();
+ }
+ }
+
+ if (editor.getNumberofPanes() > 1) {
+ for (IDisplayPane pane : getContainer().getDisplayPanes()) {
+ editor.showPane(pane);
+ }
+ } else {
+ for (int i = 1; i < 2; ++i) {
+ editor.addPane(definiteDisplay.createNewDisplay());
+ }
+ }
+
+ // keep the part name if it was customized
+ if (partName != null && editor instanceof IRenameablePart) {
+ ((IRenameablePart) editor).setPartName(partName);
+ }
+
+ for (IDisplayPane pane : editor.getDisplayPanes()) {
+ List rscs = pane.getDescriptor()
+ .getResourceList()
+ .getResourcesByTypeAsType(D2DLegendResource.class);
+ for (D2DLegendResource rsc : rscs) {
+ rsc.setLegendMode(LegendMode.PRODUCT);
+ }
+ }
+
+ editor.setSelectedPane(IMultiPaneEditor.IMAGE_ACTION, null);
+ editor.setSelectedPane(IMultiPaneEditor.VISIBLE_PANE, null);
+ editor.setSelectedPane(IMultiPaneEditor.LOAD_ACTION, null);
+
+ editor.refresh();
+ }
+}
diff --git a/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/perspectives/D2DPerspectiveManager.java b/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/perspectives/D2DPerspectiveManager.java
index f35a4f2e83..9156cd2023 100644
--- a/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/perspectives/D2DPerspectiveManager.java
+++ b/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/perspectives/D2DPerspectiveManager.java
@@ -62,6 +62,7 @@ import com.raytheon.uf.viz.d2d.ui.map.actions.SinglePanelLayoutMenuAction;
import com.raytheon.uf.viz.d2d.ui.map.actions.SkipFramesAction;
import com.raytheon.uf.viz.d2d.ui.map.actions.SkipFramesAction.SkipFrameMode;
import com.raytheon.uf.viz.d2d.ui.map.actions.SwapWithLargePaneAction;
+import com.raytheon.uf.viz.d2d.ui.map.actions.TwoPanelLayoutMenuAction;
import com.raytheon.viz.ui.actions.SelectPaneAction;
import com.raytheon.viz.ui.cmenu.AbstractRightClickAction;
import com.raytheon.viz.ui.cmenu.LoopingAction;
@@ -89,6 +90,7 @@ import com.raytheon.viz.ui.statusline.FrameCountDisplay;
* Mar 21, 2013 1638 mschenke Changed map scales not tied to d2d
* Oct 10, 2013 2104 mschenke Switched to use MapScalesManager
* Jan 14, 2014 2594 bclement added low memory notification
+ * Apr 20, 2016 mjames@ucar Added two-column editor panes.
*
*
* @author mschenke
@@ -285,6 +287,10 @@ public class D2DPerspectiveManager extends AbstractCAVEPerspectiveManager {
rotatePanelLayoutMenuAction.setContainer(container);
menuManager.add(rotatePanelLayoutMenuAction);
+ TwoPanelLayoutMenuAction twoPanelLayoutMenuAction = new TwoPanelLayoutMenuAction();
+ twoPanelLayoutMenuAction.setContainer(container);
+ menuManager.add(twoPanelLayoutMenuAction);
+
FourPanelLayoutMenuAction fourPanelLayoutMenuAction = new FourPanelLayoutMenuAction();
fourPanelLayoutMenuAction.setContainer(container);
menuManager.add(fourPanelLayoutMenuAction);
@@ -294,6 +300,10 @@ public class D2DPerspectiveManager extends AbstractCAVEPerspectiveManager {
selectPaneAction.setSelectedRsc(null);
menuManager.add(selectPaneAction);
} else {
+ TwoPanelLayoutMenuAction twoPanelLayoutMenuAction = new TwoPanelLayoutMenuAction();
+ twoPanelLayoutMenuAction.setContainer(container);
+ menuManager.add(twoPanelLayoutMenuAction);
+
FourPanelLayoutMenuAction fourPanelLayoutMenuAction = new FourPanelLayoutMenuAction();
fourPanelLayoutMenuAction.setContainer(container);
menuManager.add(fourPanelLayoutMenuAction);
diff --git a/cave/com.raytheon.viz.radar/localization/bundles/DefaultRadarMosaicTwoPanel.xml b/cave/com.raytheon.viz.radar/localization/bundles/DefaultRadarMosaicTwoPanel.xml
new file mode 100644
index 0000000000..ae37074d5d
--- /dev/null
+++ b/cave/com.raytheon.viz.radar/localization/bundles/DefaultRadarMosaicTwoPanel.xml
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cave/com.raytheon.viz.radar/localization/bundles/DefaultRadarPrecipAnalysis.xml b/cave/com.raytheon.viz.radar/localization/bundles/DefaultRadarPrecipAnalysis.xml
new file mode 100644
index 0000000000..3b19e3fd77
--- /dev/null
+++ b/cave/com.raytheon.viz.radar/localization/bundles/DefaultRadarPrecipAnalysis.xml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cave/com.raytheon.viz.radar/localization/menus/radar/baseRadarMenu.xml b/cave/com.raytheon.viz.radar/localization/menus/radar/baseRadarMenu.xml
index 303cfa5018..67f553db43 100644
--- a/cave/com.raytheon.viz.radar/localization/menus/radar/baseRadarMenu.xml
+++ b/cave/com.raytheon.viz.radar/localization/menus/radar/baseRadarMenu.xml
@@ -38,6 +38,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+