1 package jalview.controller;
5 import jalview.api.AlignViewControllerI;
6 import jalview.api.AlignViewportI;
7 import jalview.api.AlignmentViewPanel;
8 import jalview.datamodel.SequenceGroup;
9 import jalview.datamodel.SequenceI;
11 public class AlignViewController implements AlignViewControllerI
13 AlignViewportI viewport=null;
14 AlignmentViewPanel alignPanel=null;
16 protected void finalize() throws Throwable {
21 public AlignViewController(AlignViewportI viewport,
22 AlignmentViewPanel alignPanel)
24 this.viewport=viewport;
25 this.alignPanel = alignPanel;
28 public void setViewportAndAlignmentPanel(AlignViewportI viewport,AlignmentViewPanel alignPanel)
30 this.alignPanel = alignPanel;
31 this.viewport = viewport;
35 public boolean makeGroupsFromSelection()
38 if (viewport.getSelectionGroup() != null)
40 SequenceGroup[] gps = jalview.analysis.Grouping.makeGroupsFrom(
41 viewport.getSequenceSelection(),
42 viewport.getAlignmentView(true).getSequenceStrings(
43 viewport.getGapCharacter()), viewport.getAlignment()
45 viewport.getAlignment().deleteAllGroups();
46 viewport.clearSequenceColours();
47 viewport.setSelectionGroup(null);
48 // set view properties for each group
49 for (int g = 0; g < gps.length; g++)
51 // gps[g].setShowunconserved(viewport.getShowUnconserved());
52 gps[g].setshowSequenceLogo(viewport.isShowSequenceLogo());
53 viewport.getAlignment().addGroup(gps[g]);
54 Color col = new Color((int) (Math.random() * 255),
55 (int) (Math.random() * 255), (int) (Math.random() * 255));
57 for (SequenceI sq : gps[g].getSequences(null))
58 viewport.setSequenceColour(sq, col);
65 public boolean createGroup()
68 SequenceGroup sg = viewport.getSelectionGroup();
71 viewport.getAlignment().addGroup(sg);
77 public boolean unGroup()
79 SequenceGroup sg = viewport.getSelectionGroup();
82 viewport.getAlignment().deleteGroup(sg);
88 public boolean deleteGroups()
90 if (viewport.getAlignment().getGroups()!=null && viewport.getAlignment().getGroups().size()>0)
92 viewport.getAlignment().deleteAllGroups();
93 viewport.clearSequenceColours();
94 viewport.setSelectionGroup(null);