X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FAnnotationLabels.java;h=501df8a23c5a8b071b0b06d7a5facdf2737e8308;hb=7a2f4e9ee4119f0369743e7996bcebbb6ab46f9e;hp=0c29840034c1629a0d54a385d1699d47b5c9af0c;hpb=32973e4c3a37dd4485c4190f45bbf43017af40df;p=jalview.git
diff --git a/src/jalview/gui/AnnotationLabels.java b/src/jalview/gui/AnnotationLabels.java
index 0c29840..501df8a 100755
--- a/src/jalview/gui/AnnotationLabels.java
+++ b/src/jalview/gui/AnnotationLabels.java
@@ -47,6 +47,7 @@ import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
+import java.util.Arrays;
import java.util.Vector;
import java.util.regex.Pattern;
@@ -98,7 +99,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
int selectedRow;
- int scrollOffset = 0;
+ private int scrollOffset = 0;
Font font = new Font("Arial", Font.PLAIN, 11);
@@ -142,7 +143,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
addMouseListener(this);
addMouseMotionListener(this);
- addMouseWheelListener(ap.annotationPanel);
+ addMouseWheelListener(ap.getAnnotationPanel());
}
public AnnotationLabels(AlignViewport av)
@@ -324,7 +325,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
*/
public void mousePressed(MouseEvent evt)
{
- getSelectedRow(evt.getY() - scrollOffset);
+ getSelectedRow(evt.getY() - getScrollOffset());
oldY = evt.getY();
}
@@ -337,7 +338,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
public void mouseReleased(MouseEvent evt)
{
int start = selectedRow;
- getSelectedRow(evt.getY() - scrollOffset);
+ getSelectedRow(evt.getY() - getScrollOffset());
int end = selectedRow;
if (start != end)
@@ -359,7 +360,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
resizePanel = false;
dragEvent = null;
repaint();
- ap.annotationPanel.repaint();
+ ap.getAnnotationPanel().repaint();
}
/**
@@ -438,7 +439,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
{
resizePanel = evt.getY() < 10;
- getSelectedRow(evt.getY() - scrollOffset);
+ getSelectedRow(evt.getY() - getScrollOffset());
if (selectedRow > -1
&& ap.av.getAlignment().getAlignmentAnnotation().length > selectedRow)
@@ -477,29 +478,39 @@ public class AnnotationLabels extends JPanel implements MouseListener,
{
desc.append("
");
}
-
+ // if (aa.hasProperties())
+ // {
+ // desc.append("
");
+ // for (String prop : aa.getProperties())
+ // {
+ // desc.append("" + prop + " | "
+ // + aa.getProperty(prop) + " |
");
+ // }
+ // desc.append("
");
+ // }
}
else
{
// begin the tooltip's html fragment
desc.append("");
+ if (aa.hasScore())
+ {
+ // TODO: limit precision of score to avoid noise from imprecise
+ // doubles
+ // (64.7 becomes 64.7+/some tiny value).
+ desc.append(" Score: " + aa.score);
+ }
}
- if (aa.hasScore())
- {
- // TODO: limit precision of score to avoid noise from imprecise doubles
- // (64.7 becomes 64.7+/some tiny value).
- desc.append(" Score: " + aa.score);
- }
-
if (desc.length() > 6)
{
desc.append("");
this.setToolTipText(desc.toString());
}
else
+ {
this.setToolTipText(null);
+ }
}
-
}
/**
@@ -522,7 +533,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
{
// todo: make the ap scroll to the selection - not necessary, first
// click highlights/scrolls, second selects
- ap.seqPanel.ap.idPanel.highlightSearchResults(null);
+ ap.getSeqPanel().ap.getIdPanel().highlightSearchResults(null);
ap.av.setSelectionGroup(// new SequenceGroup(
aa[selectedRow].groupRef); // );
ap.paintAlignment(false);
@@ -531,7 +542,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
}
else
{
- ap.seqPanel.ap.idPanel
+ ap.getSeqPanel().ap.getIdPanel()
.highlightSearchResults(aa[selectedRow].groupRef
.getSequences(null));
}
@@ -541,13 +552,13 @@ public class AnnotationLabels extends JPanel implements MouseListener,
{
if (evt.getClickCount() == 1)
{
- ap.seqPanel.ap.idPanel.highlightSearchResults(Arrays
+ ap.getSeqPanel().ap.getIdPanel().highlightSearchResults(Arrays
.asList(new SequenceI[]
{ aa[selectedRow].sequenceRef }));
}
else if (evt.getClickCount() >= 2)
{
- ap.seqPanel.ap.idPanel.highlightSearchResults(null);
+ ap.getSeqPanel().ap.getIdPanel().highlightSearchResults(null);
SequenceGroup sg = ap.av.getSelectionGroup();
if (sg!=null)
{
@@ -672,7 +683,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
pop.addSeparator();
// av and sequencegroup need to implement same interface for
final JCheckBoxMenuItem cbmi = new JCheckBoxMenuItem(
- "Ignore Gaps In Consensus",
+ MessageManager.getString("label.ignore_gaps_consensus"),
(aa[selectedRow].groupRef != null) ? aa[selectedRow].groupRef
.getIgnoreGapsConsensus() : ap.av
.getIgnoreGapsConsensus());
@@ -685,7 +696,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
{
// TODO: pass on reference to ap so the view can be updated.
aaa.groupRef.setIgnoreGapsConsensus(cbmi.getState());
- ap.annotationPanel.paint(ap.annotationPanel.getGraphics());
+ ap.getAnnotationPanel().paint(ap.getAnnotationPanel().getGraphics());
}
else
{
@@ -698,7 +709,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
if (aaa.groupRef != null)
{
final JCheckBoxMenuItem chist = new JCheckBoxMenuItem(
- "Show Group Histogram",
+ MessageManager.getString("label.show_group_histogram"),
aa[selectedRow].groupRef.isShowConsensusHistogram());
chist.addActionListener(new ActionListener()
{
@@ -717,7 +728,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
});
pop.add(chist);
final JCheckBoxMenuItem cprofl = new JCheckBoxMenuItem(
- "Show Group Logo",
+ MessageManager.getString("label.show_group_logo"),
aa[selectedRow].groupRef.isShowSequenceLogo());
cprofl.addActionListener(new ActionListener()
{
@@ -736,7 +747,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
});
pop.add(cprofl);
final JCheckBoxMenuItem cproflnorm = new JCheckBoxMenuItem(
- "Normalise Group Logo",
+ MessageManager.getString("label.normalise_group_logo"),
aa[selectedRow].groupRef.isNormaliseSequenceLogo());
cproflnorm.addActionListener(new ActionListener()
{
@@ -761,7 +772,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
else
{
final JCheckBoxMenuItem chist = new JCheckBoxMenuItem(
- "Show Histogram", av.isShowConsensusHistogram());
+ MessageManager.getString("label.show_histogram"), av.isShowConsensusHistogram());
chist.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
@@ -780,7 +791,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
});
pop.add(chist);
final JCheckBoxMenuItem cprof = new JCheckBoxMenuItem(
- "Show Logo", av.isShowSequenceLogo());
+ MessageManager.getString("label.show_logo"), av.isShowSequenceLogo());
cprof.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
@@ -799,7 +810,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
});
pop.add(cprof);
final JCheckBoxMenuItem cprofnorm = new JCheckBoxMenuItem(
- "Normalise Logo", av.isNormaliseSequenceLogo());
+ MessageManager.getString("label.normalise_logo"), av.isNormaliseSequenceLogo());
cprofnorm.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
@@ -951,7 +962,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
g.setColor(Color.white);
g.fillRect(0, 0, getWidth(), getHeight());
- g.translate(0, scrollOffset);
+ g.translate(0, getScrollOffset());
g.setColor(Color.black);
AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation();
@@ -965,7 +976,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
int ofontH = fontHeight;
int sOffset = 0;
int visHeight = 0;
- int[] visr = (ap != null && ap.annotationPanel != null) ? ap.annotationPanel
+ int[] visr = (ap != null && ap.getAnnotationPanel() != null) ? ap.getAnnotationPanel()
.getVisibleVRange() : null;
if (clip && visr != null)
{
@@ -1028,7 +1039,9 @@ public class AnnotationLabels extends JPanel implements MouseListener,
offset -= fm.getDescent();
}
else
+ {
offset += fm.getDescent();
+ }
x = width - fm.stringWidth(aa[i].label) - 3;
@@ -1103,13 +1116,13 @@ public class AnnotationLabels extends JPanel implements MouseListener,
if (resizePanel)
{
- g.drawImage(image, 2, 0 - scrollOffset, this);
+ g.drawImage(image, 2, 0 - getScrollOffset(), this);
}
else if (dragEvent != null && aa != null)
{
g.setColor(Color.lightGray);
g.drawString(aa[selectedRow].label, dragEvent.getX(),
- dragEvent.getY() - scrollOffset);
+ dragEvent.getY() - getScrollOffset());
}
if (!av.wrapAlignment && ((aa == null) || (aa.length < 1)))
@@ -1119,4 +1132,9 @@ public class AnnotationLabels extends JPanel implements MouseListener,
18);
}
}
+
+ public int getScrollOffset()
+ {
+ return scrollOffset;
+ }
}