X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fapi%2FAlignViewControllerI.java;h=a7ec69e2480d835675999aeb540db278410744f6;hb=8dadf27423ca69874dc6a3c9d416974ba5ae767f;hp=fadc09e20fd8e2ac2f64a2d5a304e1e87851d47a;hpb=7ab5d6b0ba5fec1ea4a4239e79c476d841622485;p=jalview.git diff --git a/src/jalview/api/AlignViewControllerI.java b/src/jalview/api/AlignViewControllerI.java index fadc09e..a7ec69e 100644 --- a/src/jalview/api/AlignViewControllerI.java +++ b/src/jalview/api/AlignViewControllerI.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -20,6 +20,10 @@ */ package jalview.api; +import jalview.io.DataSourceType; + +import java.util.List; + /** * prototype abstract controller for a Jalview alignment view * @@ -27,10 +31,13 @@ package jalview.api; * * All operations should return true if the view has changed as a result * of the operation - * @param + * + * The controller holds methods that operate on an alignment view, + * modifying its state in some way that may result in side effects + * reflected in an associated GUI * */ -public interface AlignViewControllerI +public interface AlignViewControllerI { public boolean makeGroupsFromSelection(); @@ -59,6 +66,49 @@ public interface AlignViewControllerI * @return true if operation affected state */ boolean markColumnsContainingFeatures(boolean invert, - boolean extendCurrent, boolean clearColumns, String featureType); + boolean extendCurrent, boolean toggle, String featureType); + + /** + * sort the alignment or current selection by average score over the given set + * of features + * + * @param typ + * list of feature names or null to use currently displayed features + */ + void sortAlignmentByFeatureScore(List typ); + + /** + * sort the alignment or current selection by distribution of the given set of + * features + * + * @param typ + * list of feature names or null to use currently displayed features + */ + void sortAlignmentByFeatureDensity(List typ); + + /** + * add a features file of some kind to the current view + * + * @param file + * @param sourceType + * @param relaxedIdMatching + * if true, try harder to match up IDs with local sequence data + * @return true if parsing resulted in something being imported to the view or + * dataset + */ + public boolean parseFeaturesFile(String file, DataSourceType sourceType, + boolean relaxedIdMatching); + + /** + * mark columns containing highlighted regions (e.g. from search, structure + * highlight, or a mouse over event in another viewer) + * + * @param invert + * @param extendCurrent + * @param toggle + * @return + */ + boolean markHighlightedColumns(boolean invert, boolean extendCurrent, + boolean toggle); }