Clover icon

Coverage Report

  1. Project Clover database Thu Nov 7 2024 17:01:39 GMT
  2. Package jalview.api

File FeatureSettingsModelI.java

 

Code metrics

0
0
0
1
105
13
0
-
-
0
-

Classes

Class Line # Actions
FeatureSettingsModelI 31 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 java.util.Comparator;
24   
25    /**
26    * An interface that describes the settings configurable in the Feature Settings
27    * dialog.
28    *
29    * @author gmcarstairs
30    */
 
31    public interface FeatureSettingsModelI extends Comparator<String>
32    {
33   
34    // note Java 8 will allow default implementations of these methods in the
35    // interface, simplifying instantiating classes
36   
37    /**
38    * Answers true if the specified feature type is to be displayed, false if no
39    * preference
40    *
41    * @param type
42    * @return
43    */
44    boolean isFeatureDisplayed(String type);
45   
46    /**
47    * Answers true if the specified feature type is to be hidden, false if no
48    * preference
49    *
50    * @param type
51    * @return
52    */
53    boolean isFeatureHidden(String type);
54   
55    /**
56    * Answers true if the specified feature group is displayed
57    *
58    * @param group
59    * @return
60    */
61    boolean isGroupDisplayed(String group);
62   
63    /**
64    * Returns the colour (or graduated colour) for the feature type, or null if
65    * not known
66    *
67    * @param type
68    * @return
69    */
70    FeatureColourI getFeatureColour(String type);
71   
72    /**
73    * Returns the transparency value, from 0 (fully transparent) to 1 (fully
74    * opaque)
75    *
76    * @return
77    */
78    float getTransparency();
79   
80    /**
81    * Returns -1 if feature1 is displayed before (below) feature 2, +1 if
82    * feature2 is displayed after (on top of) feature1, or 0 if we don't care.
83    *
84    * <br>
85    * Note that this is the opposite ordering to how features are displayed in
86    * the feature settings dialogue. FeatureRendererModel.setFeaturePriority
87    * takes care of converting between the two.
88    *
89    * @param feature1
90    * @param feature2
91    * @return
92    */
93    @Override
94    int compare(String feature1, String feature2);
95   
96    /**
97    * Answers true if features should be initially sorted so that features with a
98    * shorter average length are displayed on top of those with a longer average
99    * length
100    *
101    * @return
102    */
103    boolean optimiseOrder();
104   
105    }