package cz.cuni.lf1.lge.ThunderSTORM.results;
import cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.Molecule;
import cz.cuni.lf1.lge.ThunderSTORM.estimators.PSF.MoleculeDescriptor;
import java.awt.Color;
import java.awt.Dimension;
import java.util.List;
import javax.swing.JComponent;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import net.java.balloontip.BalloonTip;
import net.java.balloontip.TableCellBalloonTip;
import net.java.balloontip.positioners.RightBelowPositioner;
import net.java.balloontip.styles.RoundedBalloonStyle;
class MergedMoleculesPopUp {
// Bug: if row == 0, then the balloon does not show up! This is probably a bug in the BalloonTip library.
public MergedMoleculesPopUp(JTable parent, int row, int col, List<Molecule> molecules) {
GenericTableModel model = new GenericTableModel();
for(Molecule mol : molecules) {
model.addRow(mol);
}
MoleculeDescriptor header = model.cloneDescriptor();
header.removeParam(MoleculeDescriptor.LABEL_DETECTIONS);
model.setDescriptor(header);
//
JComponent mergedMoleculesTable = new JScrollPane(new JTable(model));
mergedMoleculesTable.setPreferredSize(new Dimension(450, 250));
//
new TableCellBalloonTip(parent, mergedMoleculesTable, row, col,
new RoundedBalloonStyle(5, 10, Color.LIGHT_GRAY, Color.BLUE),
new RightBelowPositioner(10, 10), BalloonTip.getDefaultCloseButton());
}
}