diff --git a/cave/com.raytheon.uf.viz.d2d.ui/plugin.xml b/cave/com.raytheon.uf.viz.d2d.ui/plugin.xml index 50e2d4bc04..748b229c9d 100644 --- a/cave/com.raytheon.uf.viz.d2d.ui/plugin.xml +++ b/cave/com.raytheon.uf.viz.d2d.ui/plugin.xml @@ -776,12 +776,30 @@ name="frameCount" value="300"> + + + + + + + + + + + + + + + + + * + * 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +