git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d3bbaa6
)
JAL-3509 coerce RESNUM to hidden (really) after fetching from PDB
author
gmungoc
<g.m.carstairs@dundee.ac.uk>
Thu, 6 Feb 2020 14:44:38 +0000
(14:44 +0000)
committer
gmungoc
<g.m.carstairs@dundee.ac.uk>
Thu, 6 Feb 2020 14:44:38 +0000
(14:44 +0000)
src/jalview/api/FeatureRenderer.java
patch
|
blob
|
history
src/jalview/api/FeatureSettingsModelI.java
patch
|
blob
|
history
src/jalview/api/FeaturesDisplayedI.java
patch
|
blob
|
history
src/jalview/ext/jmol/JalviewJmolBinding.java
patch
|
blob
|
history
src/jalview/gui/AlignViewport.java
patch
|
blob
|
history
src/jalview/gui/AppJmolBinding.java
patch
|
blob
|
history
src/jalview/gui/ChimeraViewFrame.java
patch
|
blob
|
history
src/jalview/io/PDBFeatureSettings.java
patch
|
blob
|
history
src/jalview/schemes/FeatureSettingsAdapter.java
patch
|
blob
|
history
src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java
patch
|
blob
|
history
src/jalview/viewmodel/seqfeatures/FeaturesDisplayed.java
patch
|
blob
|
history
diff --git
a/src/jalview/api/FeatureRenderer.java
b/src/jalview/api/FeatureRenderer.java
index
8aa2858
..
fff3b38
100644
(file)
--- a/
src/jalview/api/FeatureRenderer.java
+++ b/
src/jalview/api/FeatureRenderer.java
@@
-297,4
+297,11
@@
public interface FeatureRenderer
* @return
*/
MappedFeatures findComplementFeaturesAtResidue(SequenceI sequence, int pos);
* @return
*/
MappedFeatures findComplementFeaturesAtResidue(SequenceI sequence, int pos);
+
+ /**
+ * Sends a message to let any registered parties know that something about
+ * feature rendering has changed
+ */
+ void notifyFeaturesChanged();
+
}
}
diff --git
a/src/jalview/api/FeatureSettingsModelI.java
b/src/jalview/api/FeatureSettingsModelI.java
index
c0fc523
..
c8a835a
100644
(file)
--- a/
src/jalview/api/FeatureSettingsModelI.java
+++ b/
src/jalview/api/FeatureSettingsModelI.java
@@
-35,7
+35,8
@@
public interface FeatureSettingsModelI extends Comparator<String>
// interface, simplifying instantiating classes
/**
// interface, simplifying instantiating classes
/**
- * Answers true if the specified feature type is displayed
+ * Answers true if the specified feature type is to be displayed, false if no
+ * preference
*
* @param type
* @return
*
* @param type
* @return
@@
-43,6
+44,15
@@
public interface FeatureSettingsModelI extends Comparator<String>
boolean isFeatureDisplayed(String type);
/**
boolean isFeatureDisplayed(String type);
/**
+ * Answers true if the specified feature type is to be hidden, false if no
+ * preference
+ *
+ * @param type
+ * @return
+ */
+ boolean isFeatureHidden(String type);
+
+ /**
* Answers true if the specified feature group is displayed
*
* @param group
* Answers true if the specified feature group is displayed
*
* @param group
diff --git
a/src/jalview/api/FeaturesDisplayedI.java
b/src/jalview/api/FeaturesDisplayedI.java
index
e69785f
..
9387e3f
100644
(file)
--- a/
src/jalview/api/FeaturesDisplayedI.java
+++ b/
src/jalview/api/FeaturesDisplayedI.java
@@
-39,6
+39,8
@@
public interface FeaturesDisplayedI
void setVisible(String featureType);
void setVisible(String featureType);
+ void setHidden(String featureType);
+
/**
* Sets all the specified feature types to visible. Visibility of other
* feature types is not changed.
/**
* Sets all the specified feature types to visible. Visibility of other
* feature types is not changed.
diff --git
a/src/jalview/ext/jmol/JalviewJmolBinding.java
b/src/jalview/ext/jmol/JalviewJmolBinding.java
index
1ceabd1
..
7ba7aaf
100644
(file)
--- a/
src/jalview/ext/jmol/JalviewJmolBinding.java
+++ b/
src/jalview/ext/jmol/JalviewJmolBinding.java
@@
-22,11
+22,13
@@
package jalview.ext.jmol;
import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureRenderer;
import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureRenderer;
+import jalview.api.FeatureSettingsModelI;
import jalview.api.SequenceRenderer;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
import jalview.api.SequenceRenderer;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SequenceI;
+import jalview.gui.AppJmol;
import jalview.gui.IProgressIndicator;
import jalview.io.DataSourceType;
import jalview.io.StructureFile;
import jalview.gui.IProgressIndicator;
import jalview.io.DataSourceType;
import jalview.io.StructureFile;
@@
-37,6
+39,7
@@
import jalview.structure.StructureMappingcommandSet;
import jalview.structure.StructureSelectionManager;
import jalview.structures.models.AAStructureBindingModel;
import jalview.util.MessageManager;
import jalview.structure.StructureSelectionManager;
import jalview.structures.models.AAStructureBindingModel;
import jalview.util.MessageManager;
+import jalview.ws.dbsources.Pdb;
import java.awt.Color;
import java.awt.Container;
import java.awt.Color;
import java.awt.Container;
@@
-1190,7
+1193,14
@@
public abstract class JalviewJmolBinding extends AAStructureBindingModel
FeatureRenderer fr = getFeatureRenderer(null);
if (fr != null)
{
FeatureRenderer fr = getFeatureRenderer(null);
if (fr != null)
{
+ // JAL-1842 ensure FeatureRenderer knows about RESNUM
fr.featuresAdded();
fr.featuresAdded();
+ // ... apply feature settings (e.g. to hide RESNUM)
+ FeatureSettingsModelI colours = new Pdb().getFeatureColourScheme();
+ ((AppJmol) getViewer()).getAlignmentPanel().av
+ .applyFeaturesStyle(colours);
+ // ... and refresh again to ensure FeatureSettings is in synch!
+ fr.notifyFeaturesChanged();
}
refreshGUI();
loadNotifiesHandled++;
}
refreshGUI();
loadNotifiesHandled++;
diff --git
a/src/jalview/gui/AlignViewport.java
b/src/jalview/gui/AlignViewport.java
index
61b0d1b
..
8e8f992
100644
(file)
--- a/
src/jalview/gui/AlignViewport.java
+++ b/
src/jalview/gui/AlignViewport.java
@@
-1019,8
+1019,8
@@
public class AlignViewport extends AlignmentViewport
FeatureRenderer fr = getAlignPanel().getSeqPanel().seqCanvas
.getFeatureRenderer();
FeatureRenderer fr = getAlignPanel().getSeqPanel().seqCanvas
.getFeatureRenderer();
- List<String> origRenderOrder = new ArrayList(),
- origGroups = new ArrayList();
+ List<String> origRenderOrder = new ArrayList<>();
+ List<String> origGroups = new ArrayList<>();
// preserve original render order - allows differentiation between user configured colours and autogenerated ones
origRenderOrder.addAll(fr.getRenderOrder());
origGroups.addAll(fr.getFeatureGroups());
// preserve original render order - allows differentiation between user configured colours and autogenerated ones
origRenderOrder.addAll(fr.getRenderOrder());
origGroups.addAll(fr.getFeatureGroups());
@@
-1031,7
+1031,7
@@
public class AlignViewport extends AlignmentViewport
if (!mergeOnly)
{
// only clear displayed features if we are mergeing
if (!mergeOnly)
{
// only clear displayed features if we are mergeing
- displayed.clear();
+ // displayed.clear();
}
// TODO this clears displayed.featuresRegistered - do we care?
//
}
// TODO this clears displayed.featuresRegistered - do we care?
//
@@
-1063,6
+1063,10
@@
public class AlignViewport extends AlignmentViewport
{
displayed.setVisible(type);
}
{
displayed.setVisible(type);
}
+ else if (featureSettings.isFeatureHidden(type))
+ {
+ displayed.setHidden(type);
+ }
}
}
}
}
diff --git
a/src/jalview/gui/AppJmolBinding.java
b/src/jalview/gui/AppJmolBinding.java
index
724cec1
..
3432911
100644
(file)
--- a/
src/jalview/gui/AppJmolBinding.java
+++ b/
src/jalview/gui/AppJmolBinding.java
@@
-208,11
+208,6
@@
public class AppJmolBinding extends JalviewJmolBinding
AlignmentPanel ap = (alignment == null)
? appJmolWindow.getAlignmentPanel()
: (AlignmentPanel) alignment;
AlignmentPanel ap = (alignment == null)
? appJmolWindow.getAlignmentPanel()
: (AlignmentPanel) alignment;
- if (ap.av.isShowSequenceFeatures())
- {
- return ap.av.getAlignPanel().getSeqPanel().seqCanvas.fr;
- }
-
- return null;
+ return ap.av.getAlignPanel().getFeatureRenderer();
}
}
}
}
diff --git
a/src/jalview/gui/ChimeraViewFrame.java
b/src/jalview/gui/ChimeraViewFrame.java
index
a7349b8
..
47bad81
100644
(file)
--- a/
src/jalview/gui/ChimeraViewFrame.java
+++ b/
src/jalview/gui/ChimeraViewFrame.java
@@
-575,7
+575,8
@@
public class ChimeraViewFrame extends StructureViewerBase
/*
* ensure that any newly discovered features (e.g. RESNUM)
/*
* ensure that any newly discovered features (e.g. RESNUM)
- * are added to any open feature settings dialog
+ * are notified to the FeatureRenderer (and added to any
+ * open feature settings dialog)
*/
FeatureRenderer fr = getBinding().getFeatureRenderer(null);
if (fr != null)
*/
FeatureRenderer fr = getBinding().getFeatureRenderer(null);
if (fr != null)
diff --git
a/src/jalview/io/PDBFeatureSettings.java
b/src/jalview/io/PDBFeatureSettings.java
index
0f2b0ac
..
ee82418
100644
(file)
--- a/
src/jalview/io/PDBFeatureSettings.java
+++ b/
src/jalview/io/PDBFeatureSettings.java
@@
-36,10
+36,9
@@
public class PDBFeatureSettings extends FeatureSettingsAdapter
private static final String FEATURE_RES_NUM = PDBChain.RESNUM_FEATURE;
@Override
private static final String FEATURE_RES_NUM = PDBChain.RESNUM_FEATURE;
@Override
- public boolean isFeatureDisplayed(String type)
+ public boolean isFeatureHidden(String type)
{
{
- return type.equalsIgnoreCase(FEATURE_INSERTION)
- || type.equalsIgnoreCase(FEATURE_RES_NUM);
+ return type.equalsIgnoreCase(FEATURE_RES_NUM);
}
@Override
}
@Override
diff --git
a/src/jalview/schemes/FeatureSettingsAdapter.java
b/src/jalview/schemes/FeatureSettingsAdapter.java
index
b15e4cf
..
6e8554f
100644
(file)
--- a/
src/jalview/schemes/FeatureSettingsAdapter.java
+++ b/
src/jalview/schemes/FeatureSettingsAdapter.java
@@
-36,6
+36,12
@@
public class FeatureSettingsAdapter implements FeatureSettingsModelI
}
@Override
}
@Override
+ public boolean isFeatureHidden(String type)
+ {
+ return false;
+ }
+
+ @Override
public boolean isGroupDisplayed(String group)
{
return true;
public boolean isGroupDisplayed(String group)
{
return true;
diff --git
a/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java
b/src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java
index
aba5601
..
8efe9ac
100644
(file)
--- a/
src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java
+++ b/
src/jalview/viewmodel/seqfeatures/FeatureRendererModel.java
@@
-102,11
+102,11
@@
public abstract class FeatureRendererModel
Map<String, Float> featureOrder = null;
Map<String, Float> featureOrder = null;
- protected PropertyChangeSupport changeSupport = new PropertyChangeSupport(
- this);
-
protected AlignViewportI av;
protected AlignViewportI av;
+ private PropertyChangeSupport changeSupport = new PropertyChangeSupport(
+ this);
+
@Override
public AlignViewportI getViewport()
{
@Override
public AlignViewportI getViewport()
{
@@
-299,13
+299,19
@@
public abstract class FeatureRendererModel
{
firing = Boolean.TRUE;
findAllFeatures(true); // add all new features as visible
{
firing = Boolean.TRUE;
findAllFeatures(true); // add all new features as visible
- changeSupport.firePropertyChange("changeSupport", null, null);
+ notifyFeaturesChanged();
firing = Boolean.FALSE;
}
}
}
@Override
firing = Boolean.FALSE;
}
}
}
@Override
+ public void notifyFeaturesChanged()
+ {
+ changeSupport.firePropertyChange("changeSupport", null, null);
+ }
+
+ @Override
public List<SequenceFeature> findFeaturesAtColumn(SequenceI sequence, int column)
{
/*
public List<SequenceFeature> findFeaturesAtColumn(SequenceI sequence, int column)
{
/*
diff --git
a/src/jalview/viewmodel/seqfeatures/FeaturesDisplayed.java
b/src/jalview/viewmodel/seqfeatures/FeaturesDisplayed.java
index
f44a2d1
..
d7da519
100644
(file)
--- a/
src/jalview/viewmodel/seqfeatures/FeaturesDisplayed.java
+++ b/
src/jalview/viewmodel/seqfeatures/FeaturesDisplayed.java
@@
-29,9
+29,9
@@
import java.util.Set;
public class FeaturesDisplayed implements FeaturesDisplayedI
{
public class FeaturesDisplayed implements FeaturesDisplayedI
{
- private Set<String> featuresDisplayed = new HashSet<String>();
+ private Set<String> featuresDisplayed = new HashSet<>();
- private Set<String> featuresRegistered = new HashSet<String>();
+ private Set<String> featuresRegistered = new HashSet<>();
public FeaturesDisplayed(FeaturesDisplayedI featuresDisplayed2)
{
public FeaturesDisplayed(FeaturesDisplayedI featuresDisplayed2)
{
@@
-93,6
+93,13
@@
public class FeaturesDisplayed implements FeaturesDisplayedI
}
@Override
}
@Override
+ public void setHidden(String featureType)
+ {
+ featuresDisplayed.remove(featureType);
+ featuresRegistered.add(featureType);
+ }
+
+ @Override
public boolean isRegistered(String type)
{
return featuresRegistered.contains(type);
public boolean isRegistered(String type)
{
return featuresRegistered.contains(type);