X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAnnotationPanel.java;h=e17ce2088f415d45d0c09758cbe0a0061db3238b;hb=ab43013b7e357b84b4abade0dba949668dfb2a0e;hp=f4b22125b6b7cd94ad24648232d383759f9d3242;hpb=f52d7fc6ab9bf2c926f0208c225d3dc6e65c8ecf;p=jalview.git diff --git a/src/jalview/appletgui/AnnotationPanel.java b/src/jalview/appletgui/AnnotationPanel.java index f4b2212..e17ce20 100755 --- a/src/jalview/appletgui/AnnotationPanel.java +++ b/src/jalview/appletgui/AnnotationPanel.java @@ -1,19 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * * Jalview is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. * * Jalview is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE. See the GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.appletgui; @@ -25,6 +28,7 @@ import java.awt.event.*; import jalview.datamodel.*; import jalview.renderer.AnnotationRenderer; import jalview.renderer.AwtRenderPanelI; +import jalview.util.MessageManager; public class AnnotationPanel extends Panel implements AwtRenderPanelI, AdjustmentListener, ActionListener, MouseListener, @@ -234,6 +238,10 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI, if ((label.length() > 0) && !aa[activeRow].hasText) { aa[activeRow].hasText = true; + if (evt.getActionCommand().equals(STEM)) + { + aa[activeRow].showAllColLabels = true; + } } for (int i = 0; i < av.getColumnSelection().size(); i++) @@ -248,15 +256,17 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI, anot[index] = new Annotation(label, "", type, 0); } - anot[index].secondaryStructure = type; + + anot[index].secondaryStructure = type != 'S' ? type : label + .length() == 0 ? ' ' : label.charAt(0); anot[index].displayCharacter = label; } } - aa[activeRow].validateRangeAndDisplay(); + av.getAlignment().validateAnnotation(aa[activeRow]); - adjustPanelHeight(); ap.alignmentChanged(); + adjustPanelHeight(); repaint(); return; @@ -317,7 +327,8 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI, return; } - PopupMenu pop = new PopupMenu("Structure type"); + PopupMenu pop = new PopupMenu( + MessageManager.getString("label.structure_type")); MenuItem item; /* * Just display the needed structure options @@ -618,7 +629,8 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI, g.setColor(Color.black); if (av.validCharWidth) { - g.drawString("Alignment has no annotations", 20, 15); + g.drawString(MessageManager + .getString("label.alignment_has_no_annotations"), 20, 15); } return; @@ -630,10 +642,13 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI, int scrollOffset = 0; - public void setScrollOffset(int value) + public void setScrollOffset(int value, boolean repaint) { scrollOffset = value; - repaint(); + if (repaint) + { + repaint(); + } } @Override @@ -653,14 +668,21 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI, { return imgWidth; } + private int[] bounds = new int[2]; + @Override public int[] getVisibleVRange() { - int sOffset=-ap.alabels.scrollOffset; - int visHeight = sOffset+ap.annotationPanelHolder.getHeight(); - bounds[0] = sOffset; bounds[1]=visHeight; - return bounds; + if (ap != null && ap.alabels != null) + { + int sOffset = -ap.alabels.scrollOffset; + int visHeight = sOffset + ap.annotationPanelHolder.getHeight(); + bounds[0] = sOffset; + bounds[1] = visHeight; + return bounds; + } + else + return null; } - }