viewport.setGatherViewsHere(true);
}
tabbedPane.setSelectedIndex(tabbedPane.getTabCount() - 1);
+
+ /*
+ * finally if new view has acquired an Overview window (because
+ * Preferences option to open Overview is selected), set its title
+ */
+ OverviewPanel ov = newap.overviewPanel;
+ if (ov != null)
+ {
+ String ttl = getOverviewTitle();
+ ((JInternalFrame) SwingUtilities
+ .getAncestorOfClass(JInternalFrame.class, ov))
+ .setTitle(ttl);
+ }
+
return newap;
}
}
/**
- * DOCUMENT ME!
+ * Opens an Overview panel for the alignment, unless one is open already
*
* @param e
- * DOCUMENT ME!
*/
@Override
public void overviewMenuItem_actionPerformed(ActionEvent e)
{
+ boolean showHiddenRegions = Cache.getDefault(Preferences.SHOW_OV_HIDDEN_AT_START,
+ false);
+ openOverviewPanel(showHiddenRegions);
+ }
+
+ public OverviewPanel openOverviewPanel(boolean showHidden)
+ {
if (alignPanel.overviewPanel != null)
{
- return;
+ return alignPanel.overviewPanel;
}
-
JInternalFrame frame = new JInternalFrame();
- final OverviewPanel overview = new OverviewPanel(alignPanel);
+ final OverviewPanel overview = new OverviewPanel(alignPanel, showHidden);
frame.setContentPane(overview);
- Desktop.addInternalFrame(frame, MessageManager
- .formatMessage("label.overview_params", new Object[]
- { this.getTitle() }), true, frame.getWidth(), frame.getHeight(),
+ String overviewTitle = getOverviewTitle();
+ Desktop.addInternalFrame(frame, overviewTitle, true, frame.getWidth(), frame.getHeight(),
true, true);
frame.pack();
frame.setLayer(JLayeredPane.PALETTE_LAYER);
+ final AlignmentPanel thePanel = this.alignPanel;
frame.addInternalFrameListener(
new javax.swing.event.InternalFrameAdapter()
{
javax.swing.event.InternalFrameEvent evt)
{
overview.dispose();
- alignPanel.setOverviewPanel(null);
+ thePanel.setOverviewPanel(null);
}
});
if (getKeyListeners().length > 0)
}
alignPanel.setOverviewPanel(overview);
+
+ return overview;
+ }
+
+ /**
+ * Constructs a title for the Overview window including the alignment window's
+ * title, and view name (if applicable)
+ *
+ * @return
+ */
+ public String getOverviewTitle()
+ {
+ String overviewTitle = MessageManager
+ .formatMessage("label.overview_params", new Object[]
+ { this.getTitle() });
+ String viewName = alignPanel.getViewName();
+ if (viewName != null)
+ {
+ overviewTitle += (" " + viewName);
+ }
+ return overviewTitle;
}
@Override