import jalview.renderer.ScaleRenderer.ScaleMark;
import jalview.util.MessageManager;
import jalview.util.Platform;
+import jalview.viewmodel.ViewportListenerI;
import java.awt.Color;
import java.awt.FontMetrics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
+import java.beans.PropertyChangeEvent;
import java.util.List;
import javax.swing.JMenuItem;
* supports a range of mouse operations to select, hide or reveal columns.
*/
public class ScalePanel extends JPanel implements MouseMotionListener,
- MouseListener
+ MouseListener, ViewportListenerI
{
protected int offy = 4;
addMouseListener(this);
addMouseMotionListener(this);
+
+ av.getRanges().addPropertyChangeListener(this);
}
/**
res = av.getAlignment().getHiddenColumns().adjustForHiddenColumns(res);
- if (av.getAlignment().getHiddenColumns().getListOfCols() != null)
+ if (av.getAlignment().getHiddenColumns().getHiddenRegions() != null)
{
for (int[] region : av.getAlignment().getHiddenColumns()
- .getListOfCols())
+ .getHiddenRegions())
{
if (res + 1 == region[0] || res - 1 == region[1])
{
gg.setColor(Color.blue);
int res;
- if (av.getShowHiddenMarkers() && hidden.getListOfCols() != null)
+ if (av.getShowHiddenMarkers() && hidden.getHiddenRegions() != null)
{
- for (int i = 0; i < hidden.getListOfCols()
+ for (int i = 0; i < hidden.getHiddenRegions()
.size(); i++)
{
res = hidden.findHiddenRegionPosition(i)
}
}
+ @Override
+ public void propertyChange(PropertyChangeEvent evt)
+ {
+ // Respond to viewport change events (e.g. alignment panel was scrolled)
+ repaint();
+ }
+
}