X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fappletgui%2FAlignFrame.java;h=de19fd8bfdf9f428e8ca5ae5d41befea3dd2ff23;hb=6d58edc047af16d3d632842be665ff990de74607;hp=604da7b405a585062b0fcd0e0d8621d96d102202;hpb=22b7f97726482cb0ee32389811126e62aaead61d;p=jalview.git diff --git a/src/jalview/appletgui/AlignFrame.java b/src/jalview/appletgui/AlignFrame.java index 604da7b..de19fd8 100755 --- a/src/jalview/appletgui/AlignFrame.java +++ b/src/jalview/appletgui/AlignFrame.java @@ -425,9 +425,16 @@ public class AlignFrame extends Frame implements ActionListener, break; case KeyEvent.VK_U: + if (evt.isControlDown()) + { + this.deleteGroups_actionPerformed(); + } + break; + + case KeyEvent.VK_T: if (evt.isControlDown()) { - this.deleteGroups_actionPerformed(); + newView(); } break; @@ -447,21 +454,24 @@ public void itemStateChanged(ItemEvent evt) else if(evt.getSource()==wrapMenuItem) wrapMenuItem_actionPerformed(); else if(evt.getSource()==scaleAbove) - scaleAbove_actionPerformed(); + viewport.setScaleAboveWrapped(scaleAbove.getState()); else if(evt.getSource()==scaleLeft) - scaleLeft_actionPerformed(); + viewport.setScaleLeftWrapped(scaleLeft.getState()); else if(evt.getSource()==scaleRight) - scaleRight_actionPerformed(); + viewport.setScaleRightWrapped(scaleRight.getState()); else if(evt.getSource()==seqLimits) seqLimits_itemStateChanged(); else if(evt.getSource()==viewBoxesMenuItem) - viewBoxesMenuItem_actionPerformed(); + viewport.setShowBoxes(viewBoxesMenuItem.getState()); else if(evt.getSource()==viewTextMenuItem) - viewTextMenuItem_actionPerformed(); + viewport.setShowText(viewTextMenuItem.getState()); else if(evt.getSource()==renderGapsMenuItem) - renderGapsMenuItem_actionPerformed(); + viewport.setRenderGaps(renderGapsMenuItem.getState()); else if(evt.getSource()==annotationPanelMenuItem) - annotationPanelMenuItem_actionPerformed(); + { + viewport.setShowAnnotation(annotationPanelMenuItem.getState()); + alignPanel.setAnnotationVisible(annotationPanelMenuItem.getState()); + } else if(evt.getSource()==sequenceFeatures) { viewport.showSequenceFeatures(sequenceFeatures.getState()); @@ -471,10 +481,12 @@ public void itemStateChanged(ItemEvent evt) conservationMenuItem_actionPerformed(); else if(evt.getSource()==abovePIDThreshold) abovePIDThreshold_actionPerformed(); - else if(evt.getSource()==applyToAllGroups) - applyToAllGroups_actionPerformed(); + else if(evt.getSource()==applyToAllGroups) + viewport.setColourAppliesToAllGroups(applyToAllGroups.getState()); else if(evt.getSource()==autoCalculate) viewport.autocalculateConsensus = autoCalculate.getState(); + + alignPanel.repaint(); } public void actionPerformed(ActionEvent evt) { @@ -533,7 +545,9 @@ public void itemStateChanged(ItemEvent evt) else if(source==findMenuItem) findMenuItem_actionPerformed(); else if(source==font) - font_actionPerformed(); + new FontChooser(alignPanel); + else if (source == newView) + newView(); else if(source==showColumns) { viewport.showAllHiddenColumns(); alignPanel.repaint(); @@ -551,39 +565,43 @@ public void itemStateChanged(ItemEvent evt) viewport.hideAllSelectedSeqs(); } else if(source==featureSettings) - featureSettings_actionPerformed(); + new FeatureSettings(alignPanel); else if(source==overviewMenuItem) overviewMenuItem_actionPerformed(); else if(source==noColourmenuItem) - noColourmenuItem_actionPerformed(); + changeColour(null); else if(source==clustalColour) - clustalColour_actionPerformed(); + { + abovePIDThreshold.setState(false); + changeColour(new ClustalxColourScheme(viewport.alignment.getSequences(), + viewport.alignment.getWidth())); + } else if(source==zappoColour) - zappoColour_actionPerformed(); + changeColour(new ZappoColourScheme()); else if(source==taylorColour) - taylorColour_actionPerformed(); + changeColour(new TaylorColourScheme()); else if(source==hydrophobicityColour) - hydrophobicityColour_actionPerformed(); + changeColour(new HydrophobicColourScheme()); else if(source==helixColour) - helixColour_actionPerformed(); + changeColour(new HelixColourScheme()); else if(source==strandColour) - strandColour_actionPerformed(); + changeColour(new StrandColourScheme()); else if(source==turnColour) - turnColour_actionPerformed(); + changeColour(new TurnColourScheme()); else if(source==buriedColour) - buriedColour_actionPerformed(); + changeColour(new BuriedColourScheme()); else if(source==nucleotideColour) - nucleotideColour_actionPerformed(); + changeColour(new NucleotideColourScheme()); else if(source==modifyPID) modifyPID_actionPerformed(); else if(source==modifyConservation) modifyConservation_actionPerformed(); else if(source==userDefinedColour) - userDefinedColour_actionPerformed(); + new UserDefinedColours(alignPanel, null); else if(source==PIDColour) - PIDColour_actionPerformed(); + changeColour(new PIDColourScheme()); else if(source==BLOSUM62Colour) - BLOSUM62Colour_actionPerformed(); + changeColour(new Blosum62ColourScheme()); else if(source==annotationColour) new AnnotationColourChooser(viewport, alignPanel); else if(source==sortPairwiseMenuItem) @@ -705,7 +723,10 @@ public void itemStateChanged(ItemEvent evt) public void closeMenuItem_actionPerformed() { - PaintRefresher.components.remove(viewport.alignment); + PaintRefresher.RemoveComponent(alignPanel); + PaintRefresher.RemoveComponent(alignPanel.seqPanel.seqCanvas); + PaintRefresher.RemoveComponent(alignPanel.idPanel.idCanvas); + if(PaintRefresher.components.size()==0 && viewport.applet==null) System.exit(0); @@ -784,6 +805,9 @@ public void itemStateChanged(ItemEvent evt) */ protected void redoMenuItem_actionPerformed() { + if(viewport.redoList.size()<1) + return; + CommandI command = (CommandI) viewport.redoList.pop(); viewport.historyList.push(command); command.doCommand(); @@ -797,14 +821,15 @@ public void itemStateChanged(ItemEvent evt) AlignViewport getOriginatingSource(CommandI command) { - AlignViewport originalSource = viewport; + AlignViewport originalSource = null; //For sequence removal and addition, we need to fire //the property change event FROM the viewport where the //original alignment was altered + AlignmentI al = null; if (command instanceof EditCommand) { EditCommand editCommand = (EditCommand) command; - AlignmentI al = editCommand.getAlignment(); + al = editCommand.getAlignment(); Vector comps = (Vector) PaintRefresher.components .get(viewport.getSequenceSetId()); for (int i = 0; i < comps.size(); i++) @@ -819,6 +844,18 @@ public void itemStateChanged(ItemEvent evt) } } } + + if (originalSource == null) + { + //The original view is closed, we must validate + //the current view against the closed view first + if (al != null) + PaintRefresher.validateSequences(al, viewport.alignment); + + originalSource = viewport; + } + + return originalSource; } @@ -1305,10 +1342,53 @@ public void itemStateChanged(ItemEvent evt) new Finder(alignPanel); } - public void font_actionPerformed() + public void newView() { - new FontChooser(alignPanel); - } + AlignmentI newal; + if (viewport.hasHiddenRows) + newal = new Alignment(viewport.getAlignment(). + getHiddenSequences() + .getFullAlignment(). + getSequencesArray()); + else + newal = new Alignment(viewport.alignment.getSequencesArray()); + + AlignFrame newaf = new AlignFrame(newal, + viewport.applet, + "", + false); + + newaf.viewport.sequenceSetID = alignPanel.av.getSequenceSetId(); + PaintRefresher.Register(alignPanel, alignPanel.av.getSequenceSetId()); + PaintRefresher.Register(newaf.alignPanel, + newaf.alignPanel.av.getSequenceSetId()); + + PaintRefresher.Register(newaf.alignPanel.idPanel.idCanvas, + newaf.alignPanel.av.getSequenceSetId()); + PaintRefresher.Register(newaf.alignPanel.seqPanel.seqCanvas, + newaf.alignPanel.av.getSequenceSetId()); + + Vector comps = (Vector)PaintRefresher.components.get(viewport.getSequenceSetId()); + int viewSize = -1; + for (int i = 0; i < comps.size(); i++) + { + if (comps.elementAt(i) instanceof AlignmentPanel) + viewSize++; + } + + String title = new String(this.getTitle()); + if (title.indexOf("(View") > -1) + title = title.substring(0, title.indexOf("(View")); + + title+= "(View "+viewSize+")"; + + newaf.setTitle(title.toString()); + + + newaf.viewport.historyList = viewport.historyList; + newaf.viewport.redoList = viewport.redoList; + + } public void seqLimits_itemStateChanged() @@ -1336,53 +1416,6 @@ public void itemStateChanged(ItemEvent evt) } - protected void scaleAbove_actionPerformed() - { - viewport.setScaleAboveWrapped(scaleAbove.getState()); - alignPanel.repaint(); - } - - protected void scaleLeft_actionPerformed() - { - viewport.setScaleLeftWrapped(scaleLeft.getState()); - alignPanel.repaint(); - } - - protected void scaleRight_actionPerformed() - { - viewport.setScaleRightWrapped(scaleRight.getState()); - alignPanel.repaint(); - } - - public void viewBoxesMenuItem_actionPerformed() - { - viewport.setShowBoxes(viewBoxesMenuItem.getState()); - alignPanel.repaint(); - } - - public void viewTextMenuItem_actionPerformed() - { - viewport.setShowText(viewTextMenuItem.getState()); - alignPanel.repaint(); - } - - protected void renderGapsMenuItem_actionPerformed() - { - viewport.setRenderGaps(renderGapsMenuItem.getState()); - alignPanel.repaint(); - } - - public void annotationPanelMenuItem_actionPerformed() - { - viewport.setShowAnnotation(annotationPanelMenuItem.getState()); - alignPanel.setAnnotationVisible(annotationPanelMenuItem.getState()); - } - - public void featureSettings_actionPerformed() - { - new FeatureSettings(viewport, alignPanel); - } - public void overviewMenuItem_actionPerformed() { if (alignPanel.overviewPanel != null) @@ -1411,62 +1444,6 @@ public void itemStateChanged(ItemEvent evt) } - protected void noColourmenuItem_actionPerformed() - { - changeColour(null); - } - - public void clustalColour_actionPerformed() - { - abovePIDThreshold.setState(false); - changeColour(new ClustalxColourScheme(viewport.alignment.getSequences(), - viewport.alignment.getWidth())); - } - - public void zappoColour_actionPerformed() - { - changeColour(new ZappoColourScheme()); - } - - public void taylorColour_actionPerformed() - { - changeColour(new TaylorColourScheme()); - } - - public void hydrophobicityColour_actionPerformed() - { - changeColour(new HydrophobicColourScheme()); - } - - public void helixColour_actionPerformed() - { - changeColour(new HelixColourScheme()); - } - - public void strandColour_actionPerformed() - { - changeColour(new StrandColourScheme()); - } - - public void turnColour_actionPerformed() - { - changeColour(new TurnColourScheme()); - } - - public void buriedColour_actionPerformed() - { - changeColour(new BuriedColourScheme()); - } - - public void nucleotideColour_actionPerformed() - { - changeColour(new NucleotideColourScheme()); - } - - protected void applyToAllGroups_actionPerformed() - { - viewport.setColourAppliesToAllGroups(applyToAllGroups.getState()); - } void changeColour(ColourSchemeI cs) { @@ -1628,20 +1605,7 @@ public void itemStateChanged(ItemEvent evt) modifyPID_actionPerformed(); } - public void userDefinedColour_actionPerformed() - { - new UserDefinedColours(alignPanel, null); - } - public void PIDColour_actionPerformed() - { - changeColour(new PIDColourScheme()); - } - - public void BLOSUM62Colour_actionPerformed() - { - changeColour(new Blosum62ColourScheme()); - } public void sortPairwiseMenuItem_actionPerformed() { @@ -2201,6 +2165,8 @@ public void itemStateChanged(ItemEvent evt) hideSequences.addActionListener(this); formatMenu.setLabel("Format"); selectMenu.setLabel("Select"); + newView.setLabel("New View"); + newView.addActionListener(this); alignFrameMenuBar.add(fileMenu); alignFrameMenuBar.add(editMenu); alignFrameMenuBar.add(selectMenu); @@ -2228,6 +2194,8 @@ public void itemStateChanged(ItemEvent evt) editMenu.add(removeGappedColumnMenuItem); editMenu.add(removeAllGapsMenuItem); editMenu.add(removeRedundancyMenuItem); + viewMenu.add(newView); + viewMenu.addSeparator(); viewMenu.add(menu1); viewMenu.add(menu2); viewMenu.addSeparator(); @@ -2376,6 +2344,7 @@ public void itemStateChanged(ItemEvent evt) MenuItem hideSequences = new MenuItem(); Menu formatMenu = new Menu(); Menu selectMenu = new Menu(); + MenuItem newView = new MenuItem(); public void mousePressed(MouseEvent evt) {