private void installMouseListener() { addMouseListener(internalMouseListener); addMouseMotionListener(internalMouseListener); }
@Override public void actionPerformed(ActionEvent e) { assert getModel() != null : "getModel() != null"; if (index != INVALID_INDEX && index < getModel().getSliderCount() - 1) { getModel().createSliderAfter(index); } hidePopup(); applyChanges(); } });
private double computeSliderValueForX(int sliderIndex, int x) { final double minVS = scaleInverse(getModel().getMinHistogramViewSample()); final double maxVS = scaleInverse(getModel().getMaxHistogramViewSample()); final double value = scale(minVS + (x - sliderBaseLineRect.x) * (maxVS - minVS) / sliderBaseLineRect.width); if (isFirstSliderIndex(sliderIndex)) { return Math.min(value, getLastSliderSample()); } if (isLastSliderIndex(sliderIndex)) { return Math.max(value, getFirstSliderSample()); } return computeAdjustedSliderValue(sliderIndex, value); }
public void compute100Percent() { computeFactors(); setFirstSliderSample(getModel().getMinSample()); setLastSliderSample(getModel().getMaxSample()); partitionSliders(false); computeZoomInToSliderLimits(); }
@Override protected void paintComponent(Graphics g) { super.paintComponent(g); if (getModel() == null || getWidth() == 0 || getHeight() == 0) { return; } Graphics2D g2d = (Graphics2D) g; g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setFont(labelFont); computeSizeAttributes(); if (isValidModel()) { drawPalette(g2d); drawSliders(g2d); drawHistogramPane(g2d); } else { FontMetrics fontMetrics = g2d.getFontMetrics(); drawMissingBasicDisplayInfoMessage(g2d, fontMetrics); } }
public void compute95Percent() { final Histogram histogram = new Histogram(getModel().getHistogramBins(), scaleInverse(getModel().getMinSample()), scaleInverse(getModel().getMaxSample())); final Range autoStretchRange = histogram.findRangeFor95Percent(); computeFactors(); setFirstSliderSample(scale(autoStretchRange.getMin())); setLastSliderSample(scale(autoStretchRange.getMax())); partitionSliders(false); computeZoomInToSliderLimits(); }
public ImageInfoEditor() { labelFont = createLabelFont(); sliderShape = createSliderShape(); sliderBaseLineRect = new Rectangle(); paletteRect = new Rectangle(); histoRect = new Rectangle(); internalMouseListener = new InternalMouseListener(); modelCL = new ModelCL(); addChangeListener(new RepaintCL()); }
@Override public void propertyChange(PropertyChangeEvent pce) { hidePopup(); setSliderSample(sliderIndex, (Double) ctx.getBinding("sample").getPropertyValue()); computeZoomInToSliderLimits(); applyChanges(); } });
@Override public void actionPerformed(ActionEvent actionEvent) { final double center = scale(0.5 * (scaleInverse(getSliderSample(sliderIndex - 1)) + scaleInverse( getSliderSample(sliderIndex + 1)))); setSliderSample(sliderIndex, center, false); hidePopup(); applyChanges(); } });
@Override public void setBounds(int x, int y, int width, int heigth) { super.setBounds(x, y, width, heigth); computeSizeAttributes(); }
@Override public void actionPerformed(ActionEvent actionEvent) { final Color newColor = ColorPaletteDef.getCenterColor(getSliderColor(sliderIndex - 1), getSliderColor(sliderIndex + 1)); setSliderColor(sliderIndex, newColor); hidePopup(); applyChanges(); } });
@Override public void actionPerformed(ActionEvent e) { getModel().removeSlider(removeIndex); hidePopup(); applyChanges(); } });
private void setSliderColor(int index, Color c) { getModel().setSliderColor(index, c); applyChanges(); }
@Override public void mouseReleased(MouseEvent evt) { if (isDragging()) { doDragSlider(evt, false); setDragging(false); setDraggedSliderIndex(INVALID_INDEX); applyChanges(); } else if (!maybeShowSliderActions(evt) && SwingUtilities.isLeftMouseButton(evt)) { int mode = 0; int sliderIndex = getSelectedSliderIndex(evt); if (sliderIndex != INVALID_INDEX && getModel().isColorEditable()) { mode = 1; } if (mode == 0) { if (sliderIndex == INVALID_INDEX) { sliderIndex = getSelectedSliderTextIndex(evt); } if (sliderIndex != INVALID_INDEX) { mode = 2; } } if (mode == 1) { editSliderColor(evt, sliderIndex); } else if (mode == 2) { editSliderSample(evt, sliderIndex); } } }