Clover icon

Coverage Report

  1. Project Clover database Thu Dec 4 2025 14:43:25 GMT
  2. Package jalview.api

File FeatureSettingsModelI.java

 

Code metrics

0
0
0
1
116
15
0
-
-
0
-

Classes

Class Line # Actions
FeatureSettingsModelI 33 0 0
-1.0 -
 

Contributing tests

No tests hitting this source file were found.

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.api;
22   
23    import jalview.datamodel.features.FeatureMatcherSetI;
24   
25    import java.util.Comparator;
26   
27    /**
28    * An interface that describes the settings configurable in the Feature Settings
29    * dialog.
30    *
31    * @author gmcarstairs
32    */
 
33    public interface FeatureSettingsModelI extends Comparator<String>
34    {
35   
36    // note Java 8 will allow default implementations of these methods in the
37    // interface, simplifying instantiating classes
38   
39    /**
40    * Answers true if the specified feature type is to be displayed, false if no
41    * preference
42    *
43    * @param type
44    * @return
45    */
46    boolean isFeatureDisplayed(String type);
47   
48    /**
49    * Answers true if the specified feature type is to be hidden, false if no
50    * preference
51    *
52    * @param type
53    * @return
54    */
55    boolean isFeatureHidden(String type);
56   
57    /**
58    * Answers true if the specified feature group is displayed
59    *
60    * @param group
61    * @return
62    */
63    boolean isGroupDisplayed(String group);
64   
65    /**
66    * Returns the colour (or graduated colour) for the feature type, or null if
67    * not known
68    *
69    * @param type
70    * @return
71    */
72    FeatureColourI getFeatureColour(String type);
73   
74    /**
75    * Returns any filters defined for the feature type, or null if not known
76    *
77    * @param type
78    * @return
79    */
80   
81    FeatureMatcherSetI getFeatureFilters(String type);
82   
83    /**
84    * Returns the transparency value, from 0 (fully transparent) to 1 (fully
85    * opaque)
86    *
87    * @return
88    */
89    float getTransparency();
90   
91    /**
92    * Returns -1 if feature1 is displayed before (below) feature 2, +1 if
93    * feature2 is displayed after (on top of) feature1, or 0 if we don't care.
94    *
95    * <br>
96    * Note that this is the opposite ordering to how features are displayed in
97    * the feature settings dialogue. FeatureRendererModel.setFeaturePriority
98    * takes care of converting between the two.
99    *
100    * @param feature1
101    * @param feature2
102    * @return
103    */
104    @Override
105    int compare(String feature1, String feature2);
106   
107    /**
108    * Answers true if features should be initially sorted so that features with a
109    * shorter average length are displayed on top of those with a longer average
110    * length
111    *
112    * @return
113    */
114    boolean optimiseOrder();
115   
116    }