use of org.gephi.ui.components.JRangeSliderPanel in project gephi by gephi.
the class RangePanel method setup.
public void setup(final RangeFilter rangeFilter) {
this.filter = rangeFilter;
final Range range = (Range) rangeFilter.getRangeProperty().getValue();
if (range == null) {
// Do nothing
} else {
new Thread(new Runnable() {
@Override
public void run() {
final JRangeSliderPanel rangeSlider = (JRangeSliderPanel) rangeSliderPanel;
values = range.getValues();
rangeSlider.addPropertyChangeListener(new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
try {
if (evt.getPropertyName().equals(JRangeSliderPanel.LOWER_BOUND)) {
Range oldRange = (Range) filter.getRangeProperty().getValue();
final Range newRange = new Range((Number) rangeSlider.getRange().getLowerBound(), (Number) rangeSlider.getRange().getUpperBound(), oldRange.getMinimum(), oldRange.getMaximum(), oldRange.getValues());
if (!oldRange.equals(newRange)) {
filter.getRangeProperty().setValue(newRange);
new Thread(new Runnable() {
@Override
public void run() {
setupHistogram(filter, newRange);
}
}).start();
}
} else if (evt.getPropertyName().equals(JRangeSliderPanel.UPPER_BOUND)) {
final Range oldRange = (Range) filter.getRangeProperty().getValue();
final Range newRange = new Range((Number) rangeSlider.getRange().getLowerBound(), (Number) rangeSlider.getRange().getUpperBound(), oldRange.getMinimum(), oldRange.getMaximum(), oldRange.getValues());
if (!oldRange.equals(newRange)) {
filter.getRangeProperty().setValue(newRange);
new Thread(new Runnable() {
@Override
public void run() {
setupHistogram(filter, newRange);
}
}).start();
}
}
} catch (Exception e) {
Logger.getLogger("").log(Level.SEVERE, "Error with range slider", e);
}
}
});
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
rangeSlider.setRange(JRangeSliderPanel.Range.build(rangeSlider, range.getMinimum(), range.getMaximum(), range.getLowerBound(), range.getUpperBound()));
}
});
setupHistogram(rangeFilter, range);
}
}).start();
}
// Tooltip
/*
* histogram.getPanel().addMouseListener(new MouseAdapter() {
*
* RichTooltip richTooltip;
*
* @Override public void mouseEntered(MouseEvent e) { new Thread(new
* Runnable() {
*
* public void run() { richTooltip = buildTooltip();
*
* SwingUtilities.invokeLater(new Runnable() {
*
* public void run() { if (richTooltip != null) {
* richTooltip.showTooltip(histogram.getPanel()); } } }); } }).start();
* }
*
* @Override public void mouseExited(MouseEvent e) { if (richTooltip !=
* null) { richTooltip.hideTooltip(); richTooltip = null; } } });
*/
}
use of org.gephi.ui.components.JRangeSliderPanel in project gephi by gephi.
the class RangePanel method initComponents.
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
private // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
void initComponents() {
rangeSliderPanel = new JRangeSliderPanel();
histogramPanel = new javax.swing.JPanel();
setOpaque(false);
setLayout(new java.awt.BorderLayout());
rangeSliderPanel.setOpaque(false);
add(rangeSliderPanel, java.awt.BorderLayout.CENTER);
histogramPanel.setOpaque(false);
histogramPanel.setLayout(new java.awt.BorderLayout());
add(histogramPanel, java.awt.BorderLayout.SOUTH);
}
Aggregations