Merge branch 'develop' into Release_2_9_0b1_Branch
authorJim Procter <jprocter@issues.jalview.org>
Tue, 22 Sep 2015 14:25:40 +0000 (15:25 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Tue, 22 Sep 2015 14:25:40 +0000 (15:25 +0100)
14 files changed:
doc/UnitTesting.html
examples/embeddedWJmol.html
help/html/io/export.html
help/html/releases.html
resources/lang/Messages.properties
resources/lang/Messages_es.properties
src/jalview/appletgui/AlignFrame.java
src/jalview/appletgui/AnnotationColumnChooser.java
src/jalview/appletgui/JVDialog.java
src/jalview/bin/JalviewLite.java
src/jalview/gui/AlignmentPanel.java
test/jalview/gui/AnnotationChooserTest.java
test/jalview/gui/FontChooserTest.java
utils/i18nAnt.xml

index 32d63dd..f92e0b1 100644 (file)
@@ -83,7 +83,7 @@ The TestNG tests for Jalview can be executed in any of the following ways:
        <ul>
             <li>Ensure that you have TestNG plugin correctly install for eclipse</li>
             <li>Ensure that your test classes are error free and properly annotated</li>
-            <li>Create a lunch configuration "Select the Run / Run... (or Run / Debug...) menu and create a new TestNG configuration"</li>
+            <li>Create a launch configuration "Select the Run / Run... (or Run / Debug...) menu and create a new TestNG configuration"</li>
            <li>Run the tests by executing the configuration target created above</li>
         </ul> 
        A more detailed guide for installing and executing TestNG in eclipse is available at <a href=http://testng.org/doc/eclipse.html>testng.org/doc/eclipse.html</a> <br>&nbsp;
index 3a2965b..e9bf475 100644 (file)
@@ -274,7 +274,7 @@ jmolInitialize("","JmolApplet-14.2.14_2015.06.11.jar");
 
 <div>
  <script>
-  jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; background black; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
+  jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; background black; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;set hoverDelay 0.001; select 0","jmolView");
  </script>
 </div>
 <div>
index 709d297..239fa29 100755 (executable)
@@ -46,8 +46,7 @@
     <li>BioJS MSA - A JavaScript based multiple sequence alignment
       viewer. <br> <em>For interactive alignment data
         visualisation in a web browser.<br />Get more info about the
-        BioJS MSA viewer at a
-        href="http://msa.biojs.net/">http://msa.biojs.net/</a>
+        BioJS MSA viewer at <a href="http://msa.biojs.net/">http://msa.biojs.net/</a>
     </em>
     </li>
 
   <p>
     In Jalview 2.9, new HTML exporting options were introduced. The
     standard HTML export option displays alignments as SVG documents
-    embedded as scollable panes. Exported pages can optionally also
+    embedded as scrollable panes. Exported pages can optionally also
     include <a href="../features/bioJsonFormat.html">BioJSON</a> data,
     which allows Jalview to extract the original data used to create the
     page. Jalview can also generate HTML pages which embed BioJSON data
     and the BioJS MSA viewer, a pure javascript alignment viewer that
-    provides a range of interactive analysis capabiltiies.
+    provides a range of interactive analysis capabilities.
   </p>
   <p>
   <p>
index 7fc0939..1aba54c 100755 (executable)
       </td>
     </tr>
     <tr>
+      <td width="60" nowrap>
+        <div align="center">
+          <strong><a name="Jalview.2.9.0b1">2.9.0b1</a><br />
+            <em>29/09/2015</em></strong>
+        </div>
+      </td>
+      <td>
+        <div align="center"></div>
+      </td>
+      <td>
+        <div align="left">
+          <ul>
+            <li>Mapping of cDNA to protein in split frames incorrect when sequence start > 1</li>
+            <li>Split frame example added to applet examples page</li>
+            <li>Applet with Jmol examples not loading correctly</li>
+            <li>Incorrect warning on deleting selected columns</li>
+            <li>Annotations incorrectly rendered after BioJS export and reimport</li>
+            <li>Incorrect sequence limits after Fetch DB References with 'trim retrieved sequences'</li>
+            <li>Spanish translations of localized text - updates needed for 2.9</li>
+            <li>Provide signed OSX InstallAnywhere installer</li>
+          </ul>
+        </div>
+      </td>
+    </tr>
+    <tr>
       <td><div align="center">
           <strong><a name="Jalview.2.9">2.9</a><br /> <em>10/9/2015</em></strong>
         </div></td>
       </td>
     </tr>
     <tr>
-      <td width="60" nowrap>
-        <div align="center">
-          <strong><a name="Jalview.2.8.2b1">2.8.2b1</a><br />
-            <em>15/12/2014</em></strong>
-        </div>
-      </td>
-      <td>
-        <div align="center"></div>
-      </td>
-      <td>
-        <div align="center">
-          <ul>
-            <li>Reinstated the display of default example file on
-              startup</li>
-            <li>All pairs shown in Jalview window when viewing
-              result of pairwise alignment</li>
-          </ul>
-        </div>
-      </td>
-    </tr>
-    <tr>
       <td><div align="center">
           <strong><a name="Jalview.2.8.2">2.8.2</a><br /> <em>3/12/2014</em></strong>
         </div></td>
index 05d6427..54370d8 100644 (file)
@@ -1216,7 +1216,6 @@ label.no_colour_selection_warn = Error saving colour scheme
 label.open_split_window? = Would you like to open as a split window, with cDNA and protein linked?
 label.open_split_window = Open split window
 label.no_mappings = No mappings found
-label.mapping_failed = No sequence mapping could be made between the alignments.<br>A mapping requires sequence names to match, and equivalent sequence lengths.
 action.no = No
 action.yes = Yes
 label.for = for
index 6db40cf..3535f4b 100644 (file)
@@ -317,6 +317,7 @@ label.session_update = Actualizar sesi
 label.new_vamsas_session = Nueva sesión Vamsas
 label.load_vamsas_session = Cargar sesión Vamsas
 label.save_vamsas_session = Guardar sesión Vamsas
+action.save_vamsas_session = Guardar Sesión Vamsas
 label.select_vamsas_session_opened_as_new_vamsas_session= Selecciones una sesión vamsas para abrirla como una nueva sesión.
 label.open_saved_vamsas_session = Abrir una sesión VAMSAS guardada
 label.groovy_console = Consola Groovy 
@@ -640,7 +641,7 @@ label.view_structure = Visualizar estructura
 label.clustalx_colours = Colores de Clustalx
 label.above_identity_percentage = Sobre % identidad
 label.create_sequence_details_report_annotation_for = Anotación para {0}
-label.sequece_details_for = Detalles de la secuencia para {0}
+label.sequence_details_for = Detalles de la secuencia para {0}
 label.sequence_name = Nombre de la secuencia
 label.sequence_description = Descripción de la secuencia
 label.edit_sequence_name_description = Editar el nombre/descripción de la secuencia
@@ -805,7 +806,7 @@ label.invalid_name = Nombre no v
 label.set_proxy_settings = Por favor, configure su proxy en la pestaña 'Conexiones' de la ventana de Preferencia
 label.proxy_authorization_failed = Autorización del proxy fallida
 label.internal_jalview_error = Error interno de Jalview
-label.secondary_structure_prediction_service_couldnt_be_located = No se ha podido encontrar el Servicio de Predicciónd de la Estructura Secudaria {0} en {1}.
+label.secondary_structure_prediction_service_couldnt_be_located = No se ha podido encontrar el Servicio de Predicción de la Estructura Secundaria {0} en {1}.
 label.service_called_is_not_msa_service = El Servicio llamado \n{0}\nno es un \nServicio de Alineamiento M\u00FAltiple de Secuencias\!
 label.msa_service_is_unknown = El Servicio de Alineamiento Múltiple llamado {0} es desconocido
 label.service_called_is_not_seq_search_service = El Servicio llamando \n{0}\nno es un \nServicio de B\u00FAsqueda de Secuencias\!
@@ -1133,4 +1134,150 @@ label.show_histogram = Mostrar histograma
 label.show_logo = Mostrar logo
 label.normalise_logo = Normalizar logo
 label.no_colour_selection_in_scheme = Por favor, seleccione un color antes de aplicar el esquema cromático
-label.no_colour_selection_warn = Error guardando el esquema cromático
\ No newline at end of file
+label.no_colour_selection_warn = Error guardando el esquema cromático
+label.start_jalview = Arrancar Jalview
+warn.urls_no_jaba=URLs sin servicios JABA
+label.structure_chooser_filter_time=Selector de Estructura - Tiempo de filtro ({0})
+action.back=Atras
+action.choose_annotations=Escoja Anotaciones...
+action.feature_settings=Ajustes de características...
+info.invalid_msa_notenough=No suficientes datos de sequencia para alinear
+label.result=resultado
+label.results=resultados
+label.no_mappings=No hay mapeados encontrados
+label.struct_from_pdb=Procesar la estructura secundaria PDB
+label.hide_selected_annotations=Ocultar anotaciones seleccionados
+info.select_annotation_row=Seleccionar Fila de Anotaciones
+label.delete_all=Borrar todas las secuencias
+label.rnalifold_calculations=Predicción RNAAliFold
+label.rnalifold_settings=Cambiar ajustes RNAAliFold...
+label.sort_ann_by=Ordenar anotaciones por
+info.enter_search_text_here=Introducir texto de búsqueda aquí
+action.load_vamsas_session=Cargar Sesión Vamsas...
+label.show_all_al_annotations=Mostrar anotaciones relacionadas con el alineamiento 
+label.hide_all_al_annotations=Ocultar anotaciones relacionadas con el alineamiento
+label.show_all_seq_annotations=Mostrar anotaciones relacionadas con las secuencias
+label.hide_all_seq_annotations=Ocultar anotaciones relacionadas con las secuencias
+label.close_viewer=Cerrar Visualizador
+label.all_views=Todas las Vistas
+label.search_result=Resultado de búsqueda
+action.fetch_sequences=Recuperar Secuencias...
+label.hide_annotations=Ocultar anotaciones
+action.export_groups=Exportar Grupos
+action.no=No
+action.yes=Sí
+label.export_settings=Exportar Ajustes
+label.linked_view_title=Vista vinculada de cDNA y proteína
+label.view_protein_structure=Ver Estructura Proteica
+label.couldnt_read_data=No se pudo leer los datos
+status.opening_file=abriendo fichero
+label.except_selected_sequences=Todo excepto secuencias seleccionadas
+label.structure_chooser_no_of_structures=Selector de Estructuras - {0} Encontró ({1})
+label.search_filter=filtro de búsqueda
+label.sort_annotations_by_label=Ordenar por etiqueta
+label.sort_annotations_by_sequence=Ordenar por secuencia
+label.biojs_html_export=BioJS
+info.enter_search_text_to_enable=Introducir Texto de Búsqueda para Habilitar
+label.autoadd_secstr=Añadir anotación de estructura secundaria al alineamiento
+action.annotations=Anotaciones
+label.nuc_alignment_colour=Color del Alineamiento Nucleotídico
+label.copy_format_from=Copiar formato de
+label.chimera=Chimera
+label.open_split_window=Abrir ventana dividida
+label.open_split_window?=¿Quieres abrir ventana dividida, con cDNA y proteína vinculadas?
+status.searching_for_pdb_structures=Buscando Estructuras PDB
+label.scale_as_cdna=Adaptar residuos proteicos a los codones
+action.export_hidden_sequences=Exportar Secuencias Ocultas
+action.export_hidden_columns=Exportar Columnas Ocultas
+label.found_structures_summary=Resumen de Estructuras Encontradas
+info.no_pdb_entry_found_for=No se ha encontrada entrada PDB para {0}
+label.turn=Giro
+label.beta_strand=Lámina Beta
+label.show_first=Mostrar arriba
+label.show_last=Mostrar por debajo
+label.split_window=Ventana Dividida
+label.invalid_search=Texto de búsqueda inválido
+action.export_annotations=Exportar Anotaciones
+action.set_as_reference=Marcar como Referencia
+action.unmark_as_reference=Desmarcar como Referencia
+action.set_text_colour=Color de Texto...
+label.chimera_failed=Error al abrir Chimera - está instalado?\nCompruebe ruta en Preferencias, Estructura
+label.find=Buscar
+label.select_pdb_file=Seleccionar Fichero PDB
+label.structures_filter=Filtro de Estructuras
+label.scale_protein_to_cdna=Adaptar proteína a cDNA
+status.loading_cached_pdb_entries=Cargando Entradas PDB en Caché
+label.select=Seleccionar :
+label.select_by_annotation=Seleccionar/Ocultar Columnas por Anotación
+action.select_by_annotation=Seleccionar/Ocultar Columnas por Anotación...
+action.export_features=Exportar Características
+error.invalid_regex=Expresión regular inválida
+label.autoadd_temp=Añadir anotación factor de temperatura al alineamiento
+tooltip.rnalifold_settings=Modificar la configuración de la predicción RNAAlifold. Úselo para ocultar o mostrar resultados del cálculo de RNA, o cambiar parámetros de el plegado de RNA.
+label.chimera_path_tip=Jalview intentará primero las rutas introducidas aquí, Y si no las rutas usuales de instalación
+label.structure_chooser=Selector de Estructuras
+label.structure_chooser_manual_association=Selector de Estructuras - asociación manual
+label.threshold_filter=Filtro de Umbral
+label.add_reference_annotations=Añadir anotaciones de referencia
+label.hide_insertions=Ocultar Inserciones
+info.change_threshold_mode_to_enable=Cambiar Modo de Umbral para Habilitar
+label.separate_multiple_query_values=Introducir uno o mas {0}s separados por punto y coma ";"
+label.let_chimera_manage_structure_colours=Deja que Chimera maneje colores de estructuras
+label.view_rna_structure=Estructura 2D VARNA
+label.scale_protein_to_cdna_tip=Hacer a los residuos de proteínas de la misma anchura que los codones en ventanas divididas
+label.colour_with_chimera=Colorear con Chimera
+label.show_pdbstruct_dialog=Datos de Estructura 3D...
+label.hide_all=Ocultar todos
+label.invert=Invertir
+label.pdb_sequence_getcher=Buscador de Secuencias PDB
+tooltip.aacon_settings=Cambiar ajustes para cálculos AACon
+label.align=Alinear
+label.mark_as_representative=Marcar como representativa
+label.include_description=Incluir Descripción
+label.for=para
+label.invalid_chimera_path=Ruta de Chimera no encontrada o no ejecutable
+info.search_in_annotation_label=Buscar en etiqueta de {0}
+info.search_in_annotation_description=Buscar en descripción de {0}
+label.select_many_views=Seleccionar múltiples vistas
+label.add_annotations_for=Añadir anotaciones para
+action.background_colour=Color de Fondo...
+warn.urls_not_contacted=URLs que no pudieron ser contactados
+label.prot_alignment_colour=Color del Alineamiento Proteico
+info.associate_wit_sequence=Asociar con secuencia
+label.protein=Proteína
+warn.oneseq_msainput_selection=La selección actual sólo contiene una única secuencia. ¿Quieres enviar todas las secuencias para la alineación en su lugar?
+label.use_rnaview=Usar RNAView para estructura secondaria
+label.opens_the_jabaws_server_homepage=Abre la página de inicio del servidor JABAWS en navegador
+label.search_all=Introducir uno o más valores de búsqueda separados por punto y coma ";" (Nota: buscará en toda la base de datos PDB)
+label.confirm_close_chimera=Cerrará la conexión de Jalview a {0}.<br>¿Quieres cerrar la ventana Chimera también?
+tooltip.rnalifold_calculations=Se calcularán predicciones de estructura secondaria de RNA para el alineaminento, y se actualizarán si se efectuan cambios
+Calcular predicciónes de estructura secondaria para el alineamiento
+label.show_selected_annotations=Mostrar anotaciones seleccionadas
+status.colouring_chimera=Coloreando Chimera
+label.configure_displayed_columns=Configurar Columnas Mostradas
+exception.pdb_server_error=Error desde el servidor PDB
+exception.resource_not_be_found=El recurso solicitado no se ha encontrado
+label.aacon_calculations=cálculos AACon
+label.pdb_web-service_error=Error de servicio web PDB
+exception.unable_to_detect_internet_connection=Jalview no puede detectar una conexión a Internet
+label.chimera_path=Ruta de acceso a programa Chimera
+warn.delete_all=<html>Borrar todas las secuencias cerrará la ventana del alineamiento.<br>Confirmar o Cancelar.
+label.select_all=Seleccionar Todos
+label.alpha_helix=Hélice Alfa
+label.sequence_details_for=Detalles de secuencia para {0}
+label.chimera_help=Ayuda para Chimera
+label.find_tip=Buscar alineamiento, selección o IDs de secuencia para una subsecuencia (sin huecos)
+exception.pdb_server_unreachable=Jalview no puede conectar con el servidor PDBE Solr.\nPor favor, asegúrese de que está conectado a Internet y vuelva a intentarlo.
+label.structure_viewer=Visualizador de estructura for defecto
+label.embbed_biojson=Incrustar BioJSON al exportar HTML
+label.transparency_tip=Ajustar la transparencia a "ver a través" los colores de las características.
+label.choose_annotations=Escoja anotaciones
+label.structure_options=Opciones Estructura
+label.view_name_original=Original
+label.aacon_settings=Cambiar Ajustes AACon...
+tooltip.aacon_calculations=Actualizar cálculos AACon automáticamente.
+info.select_filter_option=Escoger Opción de Filtro / Entrada Manual
+info.invalid_msa_input_mininfo=Necesita por lo menos dos secuencias con al menos 3 residuos cada una, sin regiones ocultas entre ellas.
+label.chimera_missing=Visualizador de estructura Chimera no encontrado.<br/>Por favor, introduzca la ruta de Chimera,<br/>o descargar e instalar la UCSF Chimera.
+label.save_as_biojs_html=Guardar como HTML BioJs
+exception.pdb_rest_service_no_longer_available=Servicios Rest PDB ya no están disponibles!
index 3040170..c3c23c2 100644 (file)
@@ -75,6 +75,7 @@ import java.awt.BorderLayout;
 import java.awt.Canvas;
 import java.awt.CheckboxMenuItem;
 import java.awt.Color;
+import java.awt.FlowLayout;
 import java.awt.Font;
 import java.awt.FontMetrics;
 import java.awt.Frame;
@@ -83,6 +84,7 @@ import java.awt.Label;
 import java.awt.Menu;
 import java.awt.MenuBar;
 import java.awt.MenuItem;
+import java.awt.Panel;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.FocusEvent;
@@ -105,8 +107,6 @@ import java.util.Map;
 import java.util.StringTokenizer;
 import java.util.Vector;
 
-import javax.swing.JOptionPane;
-
 import org.jmol.viewer.Viewer;
 
 public class AlignFrame extends EmbmenuFrame implements ActionListener,
@@ -234,8 +234,10 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     normSequenceLogo.setState(viewport.isNormaliseSequenceLogo());
     applyToAllGroups.setState(viewport.getColourAppliesToAllGroups());
     annotationPanelMenuItem.setState(viewport.isShowAnnotation());
-    showAlignmentAnnotations.setState(viewport.isShowAnnotation());
-    showSequenceAnnotations.setState(viewport.isShowAnnotation());
+    showAlignmentAnnotations.setEnabled(annotationPanelMenuItem.getState());
+    showSequenceAnnotations.setEnabled(annotationPanelMenuItem.getState());
+    showAlignmentAnnotations.setState(true);
+    showSequenceAnnotations.setState(false);
 
     seqLimits.setState(viewport.getShowJVSuffix());
 
@@ -816,8 +818,11 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     }
     else if (source == annotationPanelMenuItem)
     {
-      viewport.setShowAnnotation(annotationPanelMenuItem.getState());
-      alignPanel.setAnnotationVisible(annotationPanelMenuItem.getState());
+      boolean showAnnotations = annotationPanelMenuItem.getState();
+      showAlignmentAnnotations.setEnabled(showAnnotations);
+      showSequenceAnnotations.setEnabled(showAnnotations);
+      viewport.setShowAnnotation(showAnnotations);
+      alignPanel.setAnnotationVisible(showAnnotations);
     }
     else if (source == sequenceFeatures)
     {
@@ -2065,19 +2070,27 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
 
     /*
      * If the cut affects all sequences, warn, remove highlighted columns
-     */if (sg.getSize() == viewport.getAlignment().getHeight())
+     */
+    if (sg.getSize() == viewport.getAlignment().getHeight())
     {
       boolean isEntireAlignWidth = (((sg.getEndRes() - sg.getStartRes()) + 1) == viewport
               .getAlignment().getWidth()) ? true : false;
       if (isEntireAlignWidth)
       {
-        int confirm = JOptionPane.showConfirmDialog(this,
-                MessageManager.getString("warn.delete_all"), // $NON-NLS-1$
-                MessageManager.getString("label.delete_all"), // $NON-NLS-1$
-                JOptionPane.OK_CANCEL_OPTION);
-
-        if (confirm == JOptionPane.CANCEL_OPTION
-                || confirm == JOptionPane.CLOSED_OPTION)
+        String title = MessageManager.getString("label.delete_all");
+        Panel infoPanel = new Panel();
+        infoPanel.setLayout(new FlowLayout());
+        infoPanel
+                .add(new Label(MessageManager.getString("warn.delete_all")));
+
+        final JVDialog dialog = new JVDialog(this, title, true, 400,
+                200);
+        dialog.setMainPanel(infoPanel);
+        dialog.ok.setLabel(MessageManager.getString("action.ok"));
+        dialog.cancel.setLabel(MessageManager.getString("action.cancel"));
+        dialog.setVisible(true);
+
+        if (!dialog.accept)
         {
           return;
         }
index 1a68682..b32f577 100644 (file)
@@ -49,7 +49,7 @@ import java.awt.event.TextListener;
 import java.util.Iterator;
 import java.util.Vector;
 
-import javax.swing.JPanel;
+//import javax.swing.JPanel;
 
 //import net.miginfocom.swing.MigLayout;
 
@@ -241,7 +241,7 @@ public class AnnotationColumnChooser extends AnnotationRowFilter implements
     actionPanel.add(ok);
     actionPanel.add(cancel);
 
-    JPanel staticPanel = new JPanel();
+    Panel staticPanel = new Panel();
     staticPanel.setLayout(new BorderLayout());
     staticPanel.setBackground(Color.white);
 
index 59a5867..508cd1d 100644 (file)
@@ -28,6 +28,8 @@ import java.awt.Frame;
 import java.awt.Panel;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
 
 public class JVDialog extends Dialog implements ActionListener
 {
@@ -56,6 +58,20 @@ public class JVDialog extends Dialog implements ActionListener
             width, height);
   }
 
+  public JVDialog(Frame owner, Panel mainPanel, String title,
+          boolean modal, int width, int height)
+  {
+    super(owner, title, modal);
+    this.owner = owner;
+
+    height += owner.getInsets().top + getInsets().bottom;
+
+    setBounds(owner.getBounds().x + (owner.getSize().width - width) / 2,
+            owner.getBounds().y + (owner.getSize().height - height) / 2,
+            width, height);
+    setMainPanel(mainPanel);
+  }
+
   void setMainPanel(Panel panel)
   {
     add(panel, BorderLayout.NORTH);
@@ -66,9 +82,17 @@ public class JVDialog extends Dialog implements ActionListener
     buttonPanel.add(cancel);
     ok.addActionListener(this);
     cancel.addActionListener(this);
-
     add(buttonPanel, BorderLayout.SOUTH);
 
+    addWindowListener(new WindowAdapter()
+    {
+      public void windowClosing(WindowEvent ev)
+      {
+        setVisible(false);
+        dispose();
+      }
+    });
+
     pack();
 
   }
@@ -81,6 +105,7 @@ public class JVDialog extends Dialog implements ActionListener
     }
 
     setVisible(false);
+    dispose();
   }
 
 }
index 64cf283..4f5c4ee 100644 (file)
@@ -2860,6 +2860,15 @@ public class JalviewLite extends Applet implements
           URL localref)
   {
     String resolvedPath = "";
+    if (targetPath.startsWith("/"))
+    {
+      String codebase = localref.toString();
+      String localfile = localref.getFile();
+      resolvedPath = codebase.substring(0,
+              codebase.length() - localfile.length())
+              + targetPath;
+      return resolvedPath;
+    }
 
     /*
      * get URL path and strip off any trailing file e.g.
index 1906829..9fbe5d2 100644 (file)
@@ -566,6 +566,9 @@ public class AlignmentPanel extends GAlignmentPanel implements
     annotationScroller.setPreferredSize(new Dimension(annotationScroller
             .getWidth(), annotationHeight));
 
+    Dimension e = idPanel.getSize();
+    alabels.setSize(new Dimension(e.width, annotationHeight));
+
     annotationSpaceFillerHolder.setPreferredSize(new Dimension(
             annotationSpaceFillerHolder.getWidth(), annotationHeight));
     annotationScroller.validate();
index 6592261..29e2c38 100644 (file)
@@ -78,12 +78,12 @@ public class AnnotationChooserTest
     // pin down annotation sort order for test
     Cache.applicationProperties.setProperty(Preferences.SORT_ANNOTATIONS,
             SequenceAnnotationOrder.NONE.name());
-    final String True = Boolean.TRUE.toString();
+    final String TRUE = Boolean.TRUE.toString();
     Cache.applicationProperties.setProperty(
-            Preferences.SHOW_AUTOCALC_ABOVE, True);
-    Cache.applicationProperties.setProperty("SHOW_QUALITY", True);
-    Cache.applicationProperties.setProperty("SHOW_CONSERVATION", True);
-    Cache.applicationProperties.setProperty("SHOW_IDENTITY", True);
+            Preferences.SHOW_AUTOCALC_ABOVE, TRUE);
+    Cache.applicationProperties.setProperty("SHOW_QUALITY", TRUE);
+    Cache.applicationProperties.setProperty("SHOW_CONSERVATION", TRUE);
+    Cache.applicationProperties.setProperty("SHOW_IDENTITY", TRUE);
 
     AlignmentI al = new jalview.io.FormatAdapter().readFile(TEST_DATA,
             AppletFormatAdapter.PASTE, "FASTA");
@@ -759,6 +759,9 @@ public class AnnotationChooserTest
       assertTrue(i + "'th sequence not visible", anns[i].visible);
     }
 
+    /*
+     * check options to hide JMol and IUPRED annotations for all sequences
+     */
     final Checkbox hideCheckbox = (Checkbox) getComponent(testee, 1, 0, 1);
     setSelected(hideCheckbox, true);
 
@@ -772,8 +775,8 @@ public class AnnotationChooserTest
     assertTrue(anns[0].visible); // Conservation
     assertTrue(anns[1].visible); // Quality
     assertTrue(anns[2].visible); // Consensus
-    assertTrue(anns[3].visible); // Beauty (not seq-related)
-    assertFalse(anns[4].visible); // IUPRED
+    assertFalse(anns[3].visible); // IUPRED
+    assertTrue(anns[4].visible); // Beauty (not seq-related)
     assertFalse(anns[5].visible); // JMol
     assertFalse(anns[6].visible); // IUPRED
     assertFalse(anns[7].visible); // JMol
index 2b3f9de..a18d257 100644 (file)
@@ -35,7 +35,7 @@ public class FontChooserTest
    * available, plain) fonts and point sizes that would be rejected by Jalview's
    * FontChooser as having an I-width of less than 1.0.
    */
-  @Test(groups = { "Functional" })
+  @Test(groups = { "Functional" }, enabled = false)
   public void dumpInvalidFonts()
   {
     String[] fonts = java.awt.GraphicsEnvironment
index eaabc47..47c404e 100755 (executable)
@@ -19,6 +19,7 @@
         var logger = project.getBuildListeners( ).firstElement( );
         logger.setMessageOutputLevel( 1 );
     </script>
+       <echo message="Missing message labels compared to Messages.properties"/>
        <foreach target="compareProperties" param="file2">
                <path>
                        <fileset dir="${basedir}/resources/lang">
@@ -35,6 +36,8 @@
     <propertyselector property="file1.list" delimiter="," match="prefixfile1\.(.+)" select="\1"/>
     <propertyselector property="file2.list" delimiter="," match="prefixfile2\.(.+)" select="\1"/>
        
+       <echo message=" "/>
+       <echo message="*** ${file2}:" />
     <for list="${file1.list}" param="file1.property">
         <sequential>
             <if>
                     <matches pattern=",@{file1.property}," string=",${file2.list}," />
                 </not>
                 <then>
-                    <if>
-                        <not>
-                            <isset property="some_missing"/>
-                        </not>
-                           <then>
-                               <echo message=" "/>
-                               <echo>**** Missing in ${file2}: ****</echo>
-                           </then>
-                    </if>
                     <property name="some_missing" value="true"/>
                        <antcall target="reportMissingProperty">
                                <param name="textLabel" value="@{file1.property}"/>
             </if>
         </sequential>
     </for>
+    <if>
+        <not>
+            <isset property="some_missing"/>
+        </not>
+        <then>
+               <echo>No labels missing :-)</echo>
+        </then>
+    </if>
 </target>
 
 <target name="reportMissingProperty" description="double dereference 'prefixedPropertyName' and report missing language property">