3 import jalview.jbgui.GAlignmentPanel;
\r
5 import java.awt.event.*;
\r
8 public class AlignmentPanel extends GAlignmentPanel implements AdjustmentListener
\r
12 OverviewPanel overviewPanel;
\r
13 public SeqPanel seqPanel;
\r
14 public IdPanel idPanel;
\r
15 public AlignFrame alignFrame;
\r
16 public ScalePanel scalePanel;
\r
17 public ScorePanel scorePanel;
\r
19 public boolean groupEdit = false;
\r
21 public AlignmentPanel(AlignFrame af, AlignViewport av)
\r
25 seqPanel = new SeqPanel (av, this);
\r
26 idPanel = new IdPanel (av, this);
\r
27 scalePanel = new ScalePanel(av);
\r
28 scorePanel = new ScorePanel(av);
\r
31 idPanelHolder.add(idPanel, BorderLayout.CENTER);
\r
32 idPanel.addNotify();
\r
33 scalePanelHolder.add(scalePanel, BorderLayout.CENTER);
\r
34 scorePanelHolder.add(scorePanel, BorderLayout.CENTER);
\r
35 seqPanelHolder.add(seqPanel, BorderLayout.CENTER);
\r
36 setScrollValues(0,0);
\r
38 hscroll.addAdjustmentListener(this);
\r
39 vscroll.addAdjustmentListener(this);
\r
42 addComponentListener(new ComponentAdapter()
\r
44 public void componentResized(ComponentEvent evt)
\r
46 // if(!initialising)
\r
53 public int countSelected()
\r
55 return av.getSelection().size();
\r
58 public void selectAll(boolean flag) {
\r
61 while (i < seqPanel.align.getHeight()) {
\r
62 if (! av.getSelection().contains(av.getAlignment().getSequenceAt(i))) {
\r
63 av.getSelection().addElement(av.getAlignment().getSequenceAt(i));
\r
68 av.getSelection().clear();
\r
72 public OverviewPanel getOverviewPanel()
\r
74 return overviewPanel;
\r
77 public void setOverviewPanel(OverviewPanel op)
\r
83 public void setGraphPanelVisible(boolean b)
\r
85 scorePanelHolder.setVisible(b);
\r
86 idSpaceFillerPanel.setVisible(b);
\r
90 public void setColourScheme(jalview.schemes.ColourSchemeI cs)
\r
92 seqPanel.setColourScheme(cs);
\r
93 if(overviewPanel!=null)
\r
94 overviewPanel.updateOverviewImage();
\r
98 public void RefreshPanels()
\r
102 ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("dump.dat"));
\r
103 out.writeObject( (jalview.datamodel.Alignment)av.getAlignment() );
\r
104 }catch(IOException ex){ex.printStackTrace();}*/
\r
108 idPanel.idCanvas.paintFlag = true;
\r
109 idPanelHolder.setPreferredSize( idPanel.idCanvas.getPreferredSize() );
\r
110 seqPanel.seqCanvas.paintFlag = true;
\r
111 setScrollValues(av.getStartRes(), av.getStartSeq());
\r
112 av.getConsensus(true);
\r
115 if(overviewPanel!=null)
\r
116 overviewPanel.updateOverviewImage();
\r
123 public void setScrollValues(int x, int y)
\r
125 hextent = (int)(seqPanel.seqCanvas.getWidth()/av.getCharWidth());
\r
126 vextent = seqPanel.seqCanvas.getHeight()/av.getCharHeight();
\r
128 if(hextent+x > av.getAlignment().getWidth())
\r
129 x = av.getAlignment().getWidth()- hextent;
\r
131 if(vextent+y > av.getAlignment().getHeight())
\r
132 y = av.getAlignment().getHeight() - vextent;
\r
140 hscroll.setValues(x,hextent,0,av.getAlignment().getWidth());
\r
141 vscroll.setValues(y,vextent,0,av.getAlignment().getHeight() );
\r
142 seqPanel.seqCanvas.paintFlag = true;
\r
148 public void adjustmentValueChanged(AdjustmentEvent evt)
\r
151 if (evt.getSource() == hscroll)
\r
153 int x = hscroll.getValue();
\r
155 av.setEndRes(x + (int)(seqPanel.seqCanvas.getWidth()/av.getCharWidth()-1));
\r
158 if (evt.getSource() == vscroll)
\r
160 int offy = vscroll.getValue();
\r
161 av.setStartSeq(offy);
\r
162 av.setEndSeq(offy + seqPanel.seqCanvas.getHeight()/av.getCharHeight());
\r
166 if(overviewPanel!=null)
\r
167 overviewPanel.setBoxPosition();
\r