if (evt.isPopupTrigger())
{
Object colour = table.getValueAt(selectedRow, COLOUR_COLUMN);
- popupSort(selectedRow, type, colour, fr.getMinMax(), evt.getX(),
- evt.getY());
+ showPopupMenu(selectedRow, type, colour, evt.getPoint());
}
else if (evt.getClickCount() == 2)
{
{
String type = (String) table.getValueAt(selectedRow, TYPE_COLUMN);
Object colour = table.getValueAt(selectedRow, COLOUR_COLUMN);
- popupSort(selectedRow, type, colour, fr.getMinMax(), evt.getX(),
- evt.getY());
+ showPopupMenu(selectedRow, type, colour, evt.getPoint());
}
}
});
inConstruction = false;
}
- protected void popupSort(final int rowSelected, final String type,
- final Object typeCol, final Map<String, float[][]> minmax, int x,
- int y)
+ /**
+ * Constructs and shows a popup menu of possible actions on the selected row and
+ * feature type
+ *
+ * @param rowSelected
+ * @param type
+ * @param typeCol
+ * @param pt
+ */
+ protected void showPopupMenu(final int rowSelected, final String type,
+ final Object typeCol, final Point pt)
{
final FeatureColourI featureColour = (FeatureColourI) typeCol;
.sortAlignmentByFeatureScore(Arrays.asList(new String[]
{ type }));
}
-
});
JMenuItem dens = new JMenuItem(
MessageManager.getString("label.sort_by_density"));
.sortAlignmentByFeatureDensity(Arrays.asList(new String[]
{ type }));
}
-
});
men.add(dens);
{
if (e.getSource() == variableColourCB)
{
+ men.setVisible(true); // BH 2018 for JavaScript because this is a checkbox
+ men.setVisible(false); // BH 2018 for JavaScript because this is a checkbox
if (featureColour.isSimpleColour())
{
/*
/*
* toggle variable to simple colour - show colour chooser
*/
- String title = MessageManager.getString("label.select_colour");
+ String title = MessageManager.formatMessage("label.select_colour_for", type);
ColourChooserListener listener = new ColourChooserListener()
{
@Override
JalviewColourChooser.showColourChooser(me, title, featureColour.getMaxColour(), listener);
}
}
- else {
+ else
+ {
if (e.getSource() instanceof FeatureTypeSettings)
{
/*
*/
FeatureColourI fci = fr.getFeatureColours().get(type);
table.setValueAt(fci, rowSelected, COLOUR_COLUMN);
- table.validate();
+ // BH 2018 setting a table value does not invalidate it.
+ System.out.println("FeatureSettings is valied" + table.isValid());
+// table.validate();
}
}
}
-
});
JMenuItem selCols = new JMenuItem(
men.add(clearCols);
men.add(hideCols);
men.add(hideOtherCols);
- men.show(table, x, y);
+ men.show(table, pt.x, pt.y);
}
@Override
chooser.setDialogTitle(
MessageManager.getString("label.load_feature_colours"));
chooser.setToolTipText(MessageManager.getString("action.load"));
- chooser.response(new RunResponse(JalviewFileChooser.APPROVE_OPTION){
+ chooser.addResponse(new RunResponse(JalviewFileChooser.APPROVE_OPTION){
@Override
public void run() {
}
updateFeatureRenderer(data, false);
- repaintTable();
+ table.repaint();
}
/**
*/
private void repaintTable()
{
+ if (true)
+ return;
// BH 2018
// Here is a needed intervention
// because generally we don't "repaint"
/*
* simple colour chooser
*/
- String ttl = MessageManager.getString("label.select_colour");
- ColourChooserListener listener = new ColourChooserListener() {
+ String ttl = MessageManager.formatMessage("label.select_colour_for", type);
+ ColourChooserListener listener = new ColourChooserListener()
+ {
@Override
public void colourSelected(Color c)
{
currentColor = new FeatureColour(c);
me.table.setValueAt(currentColor, rowSelected, COLOUR_COLUMN);
+ fireEditingStopped();
}
+ @Override
+ public void cancel()
+ {
+ fireEditingStopped();
+ }
};
JalviewColourChooser.showColourChooser(button, ttl, currentColor.getColour(), listener);
}
chooser.requestFocus();
}
chooser.addActionListener(this);
- // Make the renderer reappear.
fireEditingStopped();
}
}
g.fillRect(s1, 0, e1 - s1, height);
}
g.setColor(gcol.getMaxColour());
- g.fillRect(0, e1, width - e1, height);
+// g.fillRect(0, e1, width - e1, height); // BH 2018
+ g.fillRect(e1, 0, width - e1, height);
}
}
}