package jalview.jbgui;
+import jalview.gui.structurechooser.StructureChooserQuerySource;
+import jalview.gui.structurechooser.ThreeDBStructureChooserQuerySource;
+
/**
* This inner class provides the data model for the structure filter combo-box
*
private boolean addSeparatorAfter;
+ private StructureChooserQuerySource querySource;
+
/**
* Model for structure filter option
*
* @param addSeparatorAfter
* - if true, a horizontal separator is rendered immediately after
* this filter option, otherwise
+ * @param structureChooserQuerySource
+ * - the query source that actions this filter
*/
public FilterOption(String name, String value, String view,
- boolean addSeparatorAfter)
+ boolean addSeparatorAfter,
+ StructureChooserQuerySource structureChooserQuerySource)
{
this.name = name;
this.value = value;
this.view = view;
+ this.querySource = structureChooserQuerySource;
this.addSeparatorAfter = addSeparatorAfter;
}
{
this.addSeparatorAfter = addSeparatorAfter;
}
+
+ public StructureChooserQuerySource getQuerySource()
+ {
+ return querySource;
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof FilterOption) {
+ FilterOption o=(FilterOption) obj;
+ return o.name.equals(name) && o.querySource==querySource && o.value.equals(value) && o.view==view;
+ } else {
+ return super.equals(obj);
+ }
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return ("" + name + ":" + value).hashCode()
+ + (view != null ? view.hashCode() : 0)
+ + (querySource != null ? querySource.hashCode() : 0);
+ }
}
\ No newline at end of file