X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fappletgui%2FAPopupMenu.java;h=b3c8f20b4218df1a5296db67f27108a8e7f95234;hb=8797ce6a98df4aa29eefecb25b10fed4f2ab9e86;hp=be4a599e748fff68acfd4eb65e4690c85cc7d4b1;hpb=19795496c99500c7ea09dcadb39140566478a97b;p=jalview.git diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index be4a599..b3c8f20 100755 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -89,11 +89,10 @@ public class APopupMenu e.printStackTrace(); } - for (int i = 0; i < jalview.io.AppletFormatAdapter.formats.size()-1; i++) + for (int i = 0; i < jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS.length; i++) { - MenuItem item = new MenuItem( (String) jalview.io.AppletFormatAdapter.formats. - elementAt( - i)); + MenuItem item = new MenuItem( jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS[i] ); + item.addActionListener(this); outputmenu.add(item); } @@ -198,7 +197,7 @@ public class APopupMenu helixColour_actionPerformed(); else if(source==strandColour) strandColour_actionPerformed(); - else if(source==clustalColour) + else if(source==turnColour) turnColour_actionPerformed(); else if(source==buriedColour) buriedColour_actionPerformed(); @@ -227,7 +226,6 @@ public class APopupMenu else if(source == revealAll) { ap.av.showAllHiddenSeqs(); - ap.repaint(); } else if(source==copy) @@ -241,13 +239,35 @@ public class APopupMenu { for (int g = 0; g < sg.getSize(true); g++) { - if (source == toggleCase) - ((SequenceI) sg.getSequences(true).elementAt(g)) - .toggleCase(sg.getStartRes(), sg.getEndRes() + 1); - else - ((SequenceI) sg.getSequences(true).elementAt(g)) - .changeCase(source == toUpper, sg.getStartRes(), - sg.getEndRes() + 1); + int start = sg.getStartRes(); + int end = sg.getEndRes() + 1; + + do + { + if (ap.av.hasHiddenColumns) + { + end = ap.av.colSel.getHiddenBoundaryRight(start); + if (start == end) + end = sg.getEndRes() + 1; + if (end > sg.getEndRes()) + end = sg.getEndRes() + 1; + } + + if (source == toggleCase) + ( (SequenceI) sg.getSequences(true).elementAt(g)) + .toggleCase(start, end); + else + ( (SequenceI) sg.getSequences(true).elementAt(g)) + .changeCase(source == toUpper, start, end); + + if (ap.av.hasHiddenColumns) + { + start = ap.av.colSel.adjustForHiddenColumns(end); + start = ap.av.colSel.getHiddenBoundaryLeft(start) + 1; + } + + } + while (end < sg.getEndRes()); } ap.seqPanel.seqCanvas.repaint(); } @@ -600,28 +620,32 @@ public class APopupMenu SequenceGroup sg = ap.av.getSelectionGroup(); if(sg==null || sg.getSize(false)<1) { - ap.av.hideSequence(seq); + ap.av.hideSequence(new SequenceI[]{seq}); return; } + int gsize = sg.getSize(false); + SequenceI [] hseqs; + + hseqs = new SequenceI[ representGroup ? gsize-1 : gsize ]; + int index = 0; - while(index < sg.getSize(false)) + for(int i=0; i