X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FOverviewPanel.java;h=a6c3960351233df0d618f67e862bf8e51c2152d3;hb=807f5945ffa954c38f07cbf9d2a4ebc22cfe5eb9;hp=8a416bd7a3138a2d65b40d32dd69b0582728878d;hpb=2feac6dabe64b144783f8538fab352e987eadcb6;p=jalview.git diff --git a/src/jalview/gui/OverviewPanel.java b/src/jalview/gui/OverviewPanel.java index 8a416bd..a6c3960 100755 --- a/src/jalview/gui/OverviewPanel.java +++ b/src/jalview/gui/OverviewPanel.java @@ -23,8 +23,8 @@ package jalview.gui; import jalview.util.MessageManager; import jalview.util.Platform; import jalview.viewmodel.OverviewDimensions; -import jalview.viewmodel.OverviewDimensionsAllVisible; -import jalview.viewmodel.OverviewDimensionsWithHidden; +import jalview.viewmodel.OverviewDimensionsHideHidden; +import jalview.viewmodel.OverviewDimensionsShowHidden; import java.awt.BorderLayout; import java.awt.Dimension; @@ -36,7 +36,7 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; -import javax.swing.JMenuItem; +import javax.swing.JCheckBoxMenuItem; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.SwingUtilities; @@ -58,6 +58,8 @@ public class OverviewPanel extends JPanel implements Runnable private AlignmentPanel ap; + private JCheckBoxMenuItem displayToggle; + private boolean showHidden = true; /** @@ -71,7 +73,7 @@ public class OverviewPanel extends JPanel implements Runnable this.av = alPanel.av; this.ap = alPanel; - od = new OverviewDimensionsWithHidden(av.getRanges(), + od = new OverviewDimensionsShowHidden(av.getRanges(), (av.isShowAnnotation() && av .getAlignmentConservationAnnotation() != null)); @@ -101,8 +103,8 @@ public class OverviewPanel extends JPanel implements Runnable && !av.getWrapAlignment()) { od.updateViewportFromMouse(evt.getX(), evt.getY(), av - .getAlignment().getHiddenSequences(), av - .getColumnSelection(), av.getRanges()); + .getAlignment().getHiddenSequences(), av.getAlignment() + .getHiddenColumns()); ap.setScrollValues(od.getScrollCol(), od.getScrollRow()); } } @@ -123,8 +125,8 @@ public class OverviewPanel extends JPanel implements Runnable else if (!av.getWrapAlignment()) { od.updateViewportFromMouse(evt.getX(), evt.getY(), av - .getAlignment().getHiddenSequences(), av - .getColumnSelection(), av.getRanges()); + .getAlignment().getHiddenSequences(), av.getAlignment() + .getHiddenColumns()); ap.setScrollValues(od.getScrollCol(), od.getScrollRow()); } } @@ -156,28 +158,34 @@ public class OverviewPanel extends JPanel implements Runnable { // switch on/off the hidden columns view toggleHiddenColumns(); + displayToggle.setSelected(showHidden); } }; - JMenuItem item; - popup.add(item = new JMenuItem(MessageManager - .getString("label.togglehidden"))); - item.addActionListener(menuListener); + displayToggle = new JCheckBoxMenuItem( + MessageManager.getString("label.togglehidden")); + displayToggle.setEnabled(true); + displayToggle.setSelected(showHidden); + popup.add(displayToggle); + displayToggle.addActionListener(menuListener); popup.show(this, e.getX(), e.getY()); } + /* + * Toggle overview display between showing hidden columns and hiding hidden columns + */ private void toggleHiddenColumns() { if (showHidden) { showHidden = false; - od = new OverviewDimensionsAllVisible(av.getRanges(), + od = new OverviewDimensionsHideHidden(av.getRanges(), (av.isShowAnnotation() && av .getAlignmentConservationAnnotation() != null)); } else { showHidden = true; - od = new OverviewDimensionsWithHidden(av.getRanges(), + od = new OverviewDimensionsShowHidden(av.getRanges(), (av.isShowAnnotation() && av .getAlignmentConservationAnnotation() != null)); } @@ -195,7 +203,7 @@ public class OverviewPanel extends JPanel implements Runnable od.setWidth(getWidth()); od.setHeight(getHeight()); } - + setPreferredSize(new Dimension(od.getWidth(), od.getHeight())); if (oviewCanvas.restartDraw()) @@ -226,8 +234,8 @@ public class OverviewPanel extends JPanel implements Runnable */ public void setBoxPosition() { - od.setBoxPosition(av.getAlignment() - .getHiddenSequences(), av.getColumnSelection(), av.getRanges()); + od.setBoxPosition(av.getAlignment().getHiddenSequences(), av + .getAlignment().getHiddenColumns()); repaint(); } }