void setConservation(Conservation cons);
+ FeaturesDisplayedI getFeaturesDisplayed();
+
+ String getSequenceSetId();
+
}
--- /dev/null
+package jalview.api;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+public interface FeaturesDisplayedI
+{
+
+ Iterator<String> getVisibleFeatures();
+
+ boolean isVisible(String featureType);
+
+ boolean areVisible(Collection<String> featureTypes);
+
+ void clear();
+
+ void setVisible(String featureType);
+
+ void setAllVisible(Collection<String> featureTypes);
+
+ boolean isRegistered(String type);
+
+ void setAllRegisteredVisible();
+
+ int getVisibleFeatureCount();
+
+ int getRegisterdFeaturesCount();
+
+}
boolean scaleRightWrapped = true;
- // The following vector holds the features which are
- // currently visible, in the correct order or rendering
- public Hashtable featuresDisplayed;
-
boolean showHiddenMarkers = true;
public jalview.bin.JalviewLite applet;
boolean cursorMode = false;
- /**
- * Keys are the feature types which are currently visible. Note: Values are
- * not used!
- */
- Hashtable featuresDisplayed = null;
-
boolean antiAlias = false;
Rectangle explodedPosition;
import jalview.api.AlignCalcManagerI;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
+import jalview.api.FeaturesDisplayedI;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.AlignmentView;
import jalview.schemes.ColourSchemeI;
import jalview.schemes.PIDColourScheme;
import jalview.schemes.ResidueProperties;
+import jalview.viewmodel.seqfeatures.FeaturesDisplayed;
import jalview.workers.AlignCalcManager;
import jalview.workers.ConsensusThread;
import jalview.workers.StrucConsensusThread;
{
sequenceColours = null;
};
+
+ FeaturesDisplayedI featuresDisplayed = null;
+
+ @Override
+ public FeaturesDisplayedI getFeaturesDisplayed()
+ {
+ return featuresDisplayed;
+ }
+
+ public void setFeaturesDisplayed(FeaturesDisplayedI featuresDisplayedI)
+ {
+ featuresDisplayed = featuresDisplayedI;
+ }
+
+ public boolean areFeaturesDisplayed()
+ {
+ return featuresDisplayed != null && featuresDisplayed.getRegisterdFeaturesCount()>0;
+ }
+
}
--- /dev/null
+package jalview.viewmodel.seqfeatures;
+
+import jalview.api.FeaturesDisplayedI;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+public class FeaturesDisplayed implements FeaturesDisplayedI
+{
+ private HashSet<String> featuresDisplayed = new HashSet<String>();
+
+ private HashSet<String> featuresRegistered = new HashSet<String>();
+
+ public FeaturesDisplayed(FeaturesDisplayedI featuresDisplayed2)
+ {
+ Iterator<String> fdisp = featuresDisplayed2.getVisibleFeatures();
+ String ftype;
+ while (fdisp.hasNext())
+ {
+ ftype = fdisp.next();
+ featuresDisplayed.add(ftype);
+ featuresRegistered.add(ftype);
+ }
+ }
+
+ public FeaturesDisplayed()
+ {
+ // TODO Auto-generated constructor stub
+ }
+
+ @Override
+ public Iterator<String> getVisibleFeatures()
+ {
+ return featuresDisplayed.iterator();
+ }
+
+ @Override
+ public boolean isVisible(String featureType)
+ {
+ return featuresDisplayed.contains(featureType);
+ }
+
+ @Override
+ public boolean areVisible(Collection featureTypes)
+ {
+ return featuresDisplayed.containsAll(featureTypes);
+ }
+
+ @Override
+ public void clear()
+ {
+ featuresDisplayed.clear();
+ featuresRegistered.clear();
+ }
+
+ @Override
+ public void setAllVisible(Collection makeVisible)
+ {
+ featuresDisplayed.addAll(makeVisible);
+ }
+
+ @Override
+ public void setAllRegisteredVisible()
+ {
+ featuresDisplayed.addAll(featuresRegistered);
+ }
+
+ @Override
+ public void setVisible(String featureType)
+ {
+ featuresDisplayed.add(featureType);
+ }
+
+ @Override
+ public boolean isRegistered(String type)
+ {
+ return featuresRegistered.contains(type);
+ }
+
+ @Override
+ public int getVisibleFeatureCount()
+ {
+ return featuresDisplayed.size();
+ }
+
+ @Override
+ public int getRegisterdFeaturesCount()
+ {
+ return featuresRegistered.size();
+ }
+}