From: Jim Procter Date: Wed, 16 Jan 2019 11:38:15 +0000 (+0000) Subject: Merge branch 'features/pca_jaxb_datasetrefs_JAL-3171_JAL-3063_JAL-1767' into develop X-Git-Tag: Release_2_11_1_0~78 X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=commitdiff_plain;h=aab74f8748bf49bf6b17ba82f0bc5644d4dc2853;hp=-c Merge branch 'features/pca_jaxb_datasetrefs_JAL-3171_JAL-3063_JAL-1767' into develop --- aab74f8748bf49bf6b17ba82f0bc5644d4dc2853 diff --combined resources/lang/Messages.properties index c248a10,449c9b6..43e055d --- a/resources/lang/Messages.properties +++ b/resources/lang/Messages.properties @@@ -172,10 -172,9 +172,9 @@@ label.principal_component_analysis = Pr label.average_distance_identity = Average Distance Using % Identity label.neighbour_joining_identity = Neighbour Joining Using % Identity label.choose_calculation = Choose Calculation - label.treecalc_title = {0} Using {1} + label.calc_title = {0} Using {1} label.tree_calc_av = Average Distance label.tree_calc_nj = Neighbour Joining - label.select_score_model = Select score model label.score_model_pid = % Identity label.score_model_blosum62 = BLOSUM62 label.score_model_pam250 = PAM 250 @@@ -416,7 -415,7 +415,7 @@@ label.input_alignment_from_url = Input label.input_alignment = Input Alignment label.couldnt_import_as_vamsas_session = Couldn't import {0} as a new vamsas session. label.vamsas_document_import_failed = Vamsas Document Import Failed -label.couldnt_locate = Couldn't locate {0} +label.couldnt_locate = Could not locate {0} label.url_not_found = URL not found label.new_sequence_url_link = New sequence URL link label.cannot_edit_annotations_in_wrapped_view = Cannot edit annotations in wrapped view @@@ -879,7 -878,6 +878,6 @@@ label.error_unsupported_owwner_user_col label.save_alignment_to_file = Save Alignment to file label.save_features_to_file = Save Features to File label.save_annotation_to_file = Save Annotation to File - label.no_features_on_alignment = No features found on alignment label.save_pdb_file = Save PDB File label.save_text_to_file = Save Text to File label.save_state = Save State @@@ -1284,6 -1282,7 +1282,6 @@@ label.SEQUENCE_ID_for_DB_ACCESSION1 = P label.SEQUENCE_ID_for_DB_ACCESSION2 = URL links using '$SEQUENCE_ID$' for DB accessions now use '$DB_ACCESSION$'. label.do_not_display_again = Do not display this message again exception.url_cannot_have_duplicate_id = {0} cannot be used as a label for more than one line -label.filter = Filter text: action.customfilter = Custom only action.showall = Show All label.insert = Insert: @@@ -1351,6 -1350,7 +1349,6 @@@ label.colour_by_text = Colour by tex label.graduated_colour = Graduated Colour label.by_text_of = By text of label.by_range_of = By range of -label.filters_tooltip = Click to set or amend filters label.or = Or label.and = And label.sequence_feature_colours = Sequence Feature Colours @@@ -1361,5 -1361,3 +1359,5 @@@ label.most_bound_molecules = Most Boun label.most_polymer_residues = Most Polymer Residues label.cached_structures = Cached Structures label.free_text_search = Free Text Search +label.configuration = Configuration +label.configure_feature_tooltip = Click to configure variable colour or filters diff --combined resources/lang/Messages_es.properties index 232c7b4,3c82386..5aed0cb --- a/resources/lang/Messages_es.properties +++ b/resources/lang/Messages_es.properties @@@ -169,10 -169,9 +169,9 @@@ label.principal_component_analysis = An label.average_distance_identity = Distancia Media Usando % de Identidad label.neighbour_joining_identity = Unir vecinos utilizando % de Identidad label.choose_calculation = Elegir el cálculo - label.treecalc_title = {0} utilizando {1} + label.calc_title = {0} utilizando {1} label.tree_calc_av = Distancia media label.tree_calc_nj = Unir vecinos - label.select_score_model = Selecciones modelo de puntuación label.score_model_pid = % Identidad label.score_model_blosum62 = BLOSUM62 label.score_model_pam250 = PAM 250 @@@ -804,7 -803,6 +803,6 @@@ label.error_unsupported_owwner_user_col label.save_alignment_to_file = Guardar Alineamiento en fichero label.save_features_to_file = Guardar Características en un fichero label.save_annotation_to_file = Guardar Anotación en un fichero - label.no_features_on_alignment = No se han encontrado características en el alineamiento label.save_pdb_file = Guardar fichero PDB label.save_text_to_file = Guardar Texto en un fichero label.save_state = Guardar estado @@@ -1285,6 -1283,7 +1283,6 @@@ label.SEQUENCE_ID_for_DB_ACCESSION1 = P label.SEQUENCE_ID_for_DB_ACCESSION2 = URL enlaza usando '$SEQUENCE_ID$' para accesiones DB ahora usar '$DB_ACCESSION$'. label.do_not_display_again = No mostrar este mensaje de nuevo exception.url_cannot_have_duplicate_id = {0} no puede ser usada como etiqueta en más de un enlace -label.filter = Filtrar texto: action.customfilter = Sólo personalizado action.showall = Mostrar todo label.insert = Insertar: @@@ -1352,6 -1351,7 +1350,6 @@@ label.colour_by_text = Colorear por tex label.graduated_colour = Color graduado label.by_text_of = Por texto de label.by_range_of = Por rango de -label.filters_tooltip = Haga clic para configurar o modificar los filtros label.or = O label.and = Y label.sequence_feature_colours = Colores de características de las secuencias @@@ -1362,5 -1362,3 +1360,5 @@@ label.most_bound_molecules = Más Molécu label.most_polymer_residues = Más Residuos de Polímeros label.cached_structures = Estructuras en Caché label.free_text_search = Búsqueda de texto libre +label.configuration = Configuración +label.configure_feature_tooltip = Haga clic para configurar el color o los filtros diff --combined src/jalview/gui/FeatureSettings.java index 132bb2b,90d7c35..dbe3317 --- a/src/jalview/gui/FeatureSettings.java +++ b/src/jalview/gui/FeatureSettings.java @@@ -30,13 -30,14 +30,14 @@@ import jalview.datamodel.features.Featu import jalview.gui.Help.HelpId; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; - import jalview.schemabinding.version2.Filter; - import jalview.schemabinding.version2.JalviewUserColours; - import jalview.schemabinding.version2.MatcherSet; import jalview.schemes.FeatureColour; import jalview.util.MessageManager; import jalview.util.Platform; import jalview.viewmodel.seqfeatures.FeatureRendererModel.FeatureSettingsBean; + import jalview.xml.binding.jalview.JalviewUserColours; + import jalview.xml.binding.jalview.JalviewUserColours.Colour; + import jalview.xml.binding.jalview.JalviewUserColours.Filter; + import jalview.xml.binding.jalview.ObjectFactory; import java.awt.BorderLayout; import java.awt.Color; @@@ -78,6 -79,7 +79,6 @@@ import javax.swing.BorderFactory import javax.swing.Icon; import javax.swing.JButton; import javax.swing.JCheckBox; -import javax.swing.JCheckBoxMenuItem; import javax.swing.JColorChooser; import javax.swing.JDialog; import javax.swing.JInternalFrame; @@@ -97,6 -99,11 +98,11 @@@ import javax.swing.table.AbstractTableM import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableColumn; + import javax.xml.bind.JAXBContext; + import javax.xml.bind.JAXBElement; + import javax.xml.bind.Marshaller; + import javax.xml.stream.XMLInputFactory; + import javax.xml.stream.XMLStreamReader; public class FeatureSettings extends JPanel implements FeatureSettingsControllerI @@@ -212,8 -219,7 +218,8 @@@ FeatureMatcherSet o = (FeatureMatcherSet) table.getValueAt(row, column); tip = o.isEmpty() - ? MessageManager.getString("label.filters_tooltip") + ? MessageManager + .getString("label.configure_feature_tooltip") : o.toString(); break; default: @@@ -409,6 -415,69 +415,6 @@@ }); men.add(dens); - /* - * variable colour options include colour by label, by score, - * by selected attribute text, or attribute value - */ - final JCheckBoxMenuItem mxcol = new JCheckBoxMenuItem( - MessageManager.getString("label.variable_colour")); - mxcol.setSelected(!featureColour.isSimpleColour()); - men.add(mxcol); - mxcol.addActionListener(new ActionListener() - { - JColorChooser colorChooser; - - @Override - public void actionPerformed(ActionEvent e) - { - if (e.getSource() == mxcol) - { - if (featureColour.isSimpleColour()) - { - FeatureTypeSettings fc = new FeatureTypeSettings(me.fr, type); - fc.addActionListener(this); - } - else - { - // bring up simple color chooser - colorChooser = new JColorChooser(); - String title = MessageManager - .getString("label.select_colour"); - JDialog dialog = JColorChooser.createDialog(me, - title, true, // modal - colorChooser, this, // OK button handler - null); // no CANCEL button handler - colorChooser.setColor(featureColour.getMaxColour()); - dialog.setVisible(true); - } - } - else - { - if (e.getSource() instanceof FeatureTypeSettings) - { - /* - * update after OK in feature colour dialog; the updated - * colour will have already been set in the FeatureRenderer - */ - FeatureColourI fci = fr.getFeatureColours().get(type); - table.setValueAt(fci, rowSelected, 1); - table.validate(); - } - else - { - // probably the color chooser! - table.setValueAt(new FeatureColour(colorChooser.getColor()), - rowSelected, 1); - table.validate(); - me.updateFeatureRenderer( - ((FeatureTableModel) table.getModel()).getData(), - false); - } - } - } - - }); - JMenuItem selCols = new JMenuItem( MessageManager.getString("label.select_columns_containing")); selCols.addActionListener(new ActionListener() @@@ -811,30 -880,39 +817,39 @@@ InputStreamReader in = new InputStreamReader( new FileInputStream(file), "UTF-8"); - JalviewUserColours jucs = JalviewUserColours.unmarshal(in); + JAXBContext jc = JAXBContext + .newInstance("jalview.xml.binding.jalview"); + javax.xml.bind.Unmarshaller um = jc.createUnmarshaller(); + XMLStreamReader streamReader = XMLInputFactory.newInstance() + .createXMLStreamReader(in); + JAXBElement jbe = um.unmarshal(streamReader, + JalviewUserColours.class); + JalviewUserColours jucs = jbe.getValue(); + + // JalviewUserColours jucs = JalviewUserColours.unmarshal(in); /* * load feature colours */ - for (int i = jucs.getColourCount() - 1; i >= 0; i--) + for (int i = jucs.getColour().size() - 1; i >= 0; i--) { - jalview.schemabinding.version2.Colour newcol = jucs.getColour(i); - FeatureColourI colour = Jalview2XML.unmarshalColour(newcol); + Colour newcol = jucs.getColour().get(i); + FeatureColourI colour = jalview.project.Jalview2XML + .parseColour(newcol); fr.setColour(newcol.getName(), colour); - fr.setOrder(newcol.getName(), i / (float) jucs.getColourCount()); + fr.setOrder(newcol.getName(), i / (float) jucs.getColour().size()); } /* * load feature filters; loaded filters will replace any that are * currently defined, other defined filters are left unchanged */ - for (int i = 0; i < jucs.getFilterCount(); i++) + for (int i = 0; i < jucs.getFilter().size(); i++) { - jalview.schemabinding.version2.Filter filterModel = jucs - .getFilter(i); + Filter filterModel = jucs.getFilter().get(i); String featureType = filterModel.getFeatureType(); - FeatureMatcherSetI filter = Jalview2XML.unmarshalFilter(featureType, - filterModel.getMatcherSet()); + FeatureMatcherSetI filter = jalview.project.Jalview2XML + .parseFilter(featureType, filterModel.getMatcherSet()); if (!filter.isEmpty()) { fr.setFeatureFilter(featureType, filter); @@@ -916,9 -994,9 +931,9 @@@ for (String featureType : sortedTypes) { FeatureColourI fcol = fr.getFeatureStyle(featureType); - jalview.schemabinding.version2.Colour col = Jalview2XML.marshalColour( - featureType, fcol); - ucs.addColour(col); + Colour col = jalview.project.Jalview2XML.marshalColour(featureType, + fcol); + ucs.getColour().add(col); } /* @@@ -931,16 -1009,26 +946,26 @@@ { Iterator iterator = filter.getMatchers().iterator(); FeatureMatcherI firstMatcher = iterator.next(); - MatcherSet ms = Jalview2XML.marshalFilter(firstMatcher, iterator, + jalview.xml.binding.jalview.FeatureMatcherSet ms = jalview.project.Jalview2XML + .marshalFilter(firstMatcher, iterator, filter.isAnded()); Filter filterModel = new Filter(); filterModel.setFeatureType(featureType); filterModel.setMatcherSet(ms); - ucs.addFilter(filterModel); + ucs.getFilter().add(filterModel); } } + JAXBContext jaxbContext = JAXBContext + .newInstance(JalviewUserColours.class); + Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); + jaxbMarshaller.marshal( + new ObjectFactory().createJalviewUserColours(ucs), out); + + // jaxbMarshaller.marshal(object, pout); + // marshaller.marshal(object); + out.flush(); - ucs.marshal(out); + // ucs.marshal(out); out.close(); } catch (Exception ex) { @@@ -1266,7 -1354,7 +1291,7 @@@ private String[] columnNames = { MessageManager.getString("label.feature_type"), MessageManager.getString("action.colour"), - MessageManager.getString("label.filter"), + MessageManager.getString("label.configuration"), MessageManager.getString("label.show") }; private Object[][] data; @@@ -1602,17 -1690,14 +1627,17 @@@ { // bring up graduated chooser. chooser = new FeatureTypeSettings(me.fr, type); - chooser.setRequestFocusEnabled(true); - chooser.requestFocus(); + /** + * @j2sNative + */ + { + chooser.setRequestFocusEnabled(true); + chooser.requestFocus(); + } chooser.addActionListener(this); - chooser.showTab(true); + // Make the renderer reappear. + fireEditingStopped(); } - // Make the renderer reappear. - fireEditingStopped(); - } else { @@@ -1734,6 -1819,7 +1759,6 @@@ chooser.getWidth(), chooser.getHeight()); chooser.validate(); } - chooser.showTab(false); fireEditingStopped(); } else if (e.getSource() instanceof Component)