public class AnnotationLabels extends JPanel implements MouseListener,
MouseMotionListener, ActionListener
{
+ static String TOGGLE_LABELSCALE = "Scale Label to Column";
+
static String ADDNEW = "Add New Row";
static String EDITNAME = "Edit Label/Description";
}
}
+ else if (evt.getActionCommand().equals(TOGGLE_LABELSCALE))
+ {
+ aa[selectedRow].scaleColLabel = !aa[selectedRow].scaleColLabel;
+ }
ap.annotationPanel.adjustPanelHeight();
ap.annotationScroller.validate();
{
if (aa[selectedRow].groupRef!=null)
{
- ap.seqPanel.ap.idPanel.highlightSearchResults(aa[selectedRow].groupRef.getSequences(null));
if (evt.getClickCount()>=2)
{
// todo: make the ap scroll to the selection
- ap.av.setSelectionGroup(new SequenceGroup(aa[selectedRow].groupRef));
+ ap.seqPanel.ap.idPanel.highlightSearchResults(null);
+ ap.av.setSelectionGroup(//new SequenceGroup(
+ aa[selectedRow].groupRef); // );
ap.paintAlignment(false);
+ } else {
+ ap.seqPanel.ap.idPanel.highlightSearchResults(aa[selectedRow].groupRef.getSequences(null));
}
return;
} else
item.addActionListener(this);
pop.add(item);
// TODO: annotation object should be typed for autocalculated/derived property methods
- if (selectedRow < aa.length && aa[selectedRow].autoCalculated && aa[selectedRow].label.indexOf("Consensus")>-1)
- {
- pop.addSeparator();
- // av and sequencegroup need to implement same interface for
- final JCheckBoxMenuItem cbmi = new JCheckBoxMenuItem(
- "Ignore Gaps In Consensus", (aa[selectedRow].groupRef!=null) ? aa[selectedRow].groupRef.getIgnoreGapsConsensus() : ap.av.getIgnoreGapsConsensus());
- final AlignmentAnnotation aaa = aa[selectedRow];
- cbmi.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e)
+ if (selectedRow < aa.length)
+ {
+ if (!aa[selectedRow].autoCalculated) {
+ if (aa[selectedRow].graph==AlignmentAnnotation.NO_GRAPH)
{
- if (aaa.groupRef!=null)
- {
- aaa.groupRef.setIgnoreGapsConsensus(cbmi.getState()); // TODO: pass on reference to ap so the view can be updated.
- ap.annotationPanel.paint(ap.annotationPanel.getGraphics());
- } else {
- ap.av.setIgnoreGapsConsensus(cbmi.getState(), ap);
- }
+ // display formatting settings for this row.
+ pop.addSeparator();
+ // av and sequencegroup need to implement same interface for
+ item = new JCheckBoxMenuItem(TOGGLE_LABELSCALE,
+ aa[selectedRow].scaleColLabel);
+ item.addActionListener(this);
+ pop.add(item);
}
- });
- pop.add(cbmi);
- // av and sequencegroup need to implement same interface for
- if (aaa.groupRef!=null) {
- final JCheckBoxMenuItem cprof = new JCheckBoxMenuItem(
- "Show Full Profile", aa[selectedRow].groupRef.isIncludeAllConsSymbols());
- cprof.addActionListener(new ActionListener()
+ }
+ else if (aa[selectedRow].label.indexOf("Consensus") > -1)
+ {
+ pop.addSeparator();
+ // av and sequencegroup need to implement same interface for
+ final JCheckBoxMenuItem cbmi = new JCheckBoxMenuItem(
+ "Ignore Gaps In Consensus",
+ (aa[selectedRow].groupRef != null) ? aa[selectedRow].groupRef
+ .getIgnoreGapsConsensus()
+ : ap.av.getIgnoreGapsConsensus());
+ final AlignmentAnnotation aaa = aa[selectedRow];
+ cbmi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
- aaa.groupRef.setIncludeAllConsSymbols(cprof.getState()); // TODO: pass on reference to ap so the view can be updated.
- ap.annotationPanel.paint(ap.annotationPanel.getGraphics());
+ if (aaa.groupRef != null)
+ {
+ // TODO: pass on reference to ap so the view can be updated.
+ aaa.groupRef.setIgnoreGapsConsensus(cbmi.getState());
+ ap.annotationPanel.paint(ap.annotationPanel.getGraphics());
+ }
+ else
+ {
+ ap.av.setIgnoreGapsConsensus(cbmi.getState(), ap);
+ }
}
});
- pop.add(cprof);
+ pop.add(cbmi);
+ // av and sequencegroup need to implement same interface for
+ if (aaa.groupRef != null)
+ {
+ final JCheckBoxMenuItem chist = new JCheckBoxMenuItem(
+ "Show Group Histogram", aa[selectedRow].groupRef
+ .isShowConsensusHistogram());
+ chist.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO: pass on reference
+ // to ap
+ // so the
+ // view
+ // can be
+ // updated.
+ aaa.groupRef.setShowConsensusHistogram(chist.getState());
+ ap.repaint();
+ // ap.annotationPanel.paint(ap.annotationPanel.getGraphics());
+ }
+ });
+ pop.add(chist);
+ final JCheckBoxMenuItem cprof = new JCheckBoxMenuItem(
+ "Show Group Logo", aa[selectedRow].groupRef
+ .isShowSequenceLogo());
+ cprof.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO: pass on reference
+ // to ap
+ // so the
+ // view
+ // can be
+ // updated.
+ aaa.groupRef.setIncludeAllConsSymbols(cprof.getState());
+ ap.repaint();
+ // ap.annotationPanel.paint(ap.annotationPanel.getGraphics());
+ }
+ });
+ pop.add(cprof);
+ } else {
+ final JCheckBoxMenuItem chist = new JCheckBoxMenuItem(
+ "Show Histogram", av.isShowConsensusHistogram());
+ chist.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO: pass on reference
+ // to ap
+ // so the
+ // view
+ // can be
+ // updated.
+ av.setShowConsensusHistogram(chist.getState());
+ ap.repaint();
+ // ap.annotationPanel.paint(ap.annotationPanel.getGraphics());
+ }
+ });
+ pop.add(chist);
+ final JCheckBoxMenuItem cprof = new JCheckBoxMenuItem(
+ "Show Logo", av.isShowSequenceLogo());
+ cprof.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO: pass on reference
+ // to ap
+ // so the
+ // view
+ // can be
+ // updated.
+ av.setShowSequenceLogo(cprof.getState());
+ ap.repaint();
+ // ap.annotationPanel.paint(ap.annotationPanel.getGraphics());
+ }
+ });
+ pop.add(cprof);
+ }
+ final JMenuItem consclipbrd = new JMenuItem(COPYCONS_SEQ);
+ consclipbrd.addActionListener(this);
+ pop.add(consclipbrd);
}
- final JMenuItem consclipbrd = new JMenuItem(COPYCONS_SEQ);
- consclipbrd.addActionListener(this);
- pop.add(consclipbrd);
}
-
pop.show(this, evt.getX(), evt.getY());
}