*/
package jalview.appletgui;
-import static jalview.viewmodel.seqfeatures.FeatureRendererModel.COLOUR_COLUMN;
-import static jalview.viewmodel.seqfeatures.FeatureRendererModel.SHOW_COLUMN;
-import static jalview.viewmodel.seqfeatures.FeatureRendererModel.TYPE_COLUMN;
-
import jalview.api.FeatureColourI;
import jalview.api.FeatureSettingsControllerI;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.SequenceI;
import jalview.util.MessageManager;
+import jalview.viewmodel.seqfeatures.FeatureRendererModel.FeatureSettingsBean;
import java.awt.BorderLayout;
import java.awt.Button;
implements ItemListener, MouseListener, MouseMotionListener,
ActionListener, AdjustmentListener, FeatureSettingsControllerI
{
+ private static final int TYPE_COLUMN = 0;
+
+ private static final int COLOUR_COLUMN = 1;
+
+ private static final int SHOW_COLUMN = 2;
+
FeatureRenderer fr;
AlignmentPanel ap;
Object[][] data = new Object[tmpSize][columnCount];
System.arraycopy(tmp, 0, data, 0, tmpSize);
- fr.setFeaturePriority(data);
+ fr.setFeaturePriority(getTableAsBeans(data));
ap.paintAlignment(updateOverview, updateOverview);
}
+ /**
+ * Converts table data into an array of data beans
+ */
+ private FeatureSettingsBean[] getTableAsBeans(Object[][] data)
+ {
+ FeatureSettingsBean[] rowData = new FeatureSettingsBean[data.length];
+ for (int i = 0; i < data.length; i++)
+ {
+ String type = (String) data[i][TYPE_COLUMN];
+ FeatureColourI colour = (FeatureColourI) data[i][COLOUR_COLUMN];
+ Boolean isShown = (Boolean) data[i][SHOW_COLUMN];
+ // feature filter set to null as not (yet) offered in applet
+ rowData[i] = new FeatureSettingsBean(type, colour, null, isShown);
+ }
+ return rowData;
+ }
MyCheckbox selectedCheck;
boolean dragging = false;