/* * PanelValuePointPS.java * * Created on April 23, 2007, 11:47 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package edu.mbl.jif.gui.imaging; import edu.mbl.jif.gui.imaging.event.RoiChangeEvent; import edu.mbl.jif.gui.value.ValueNoLabel; import edu.mbl.jif.gui.imaging.event.PixelChangeEvent; import edu.mbl.jif.utils.ColorUtils; import java.awt.Color; /** * * @author GBH */ public class PanelValuePointPS extends PanelValuePointPixel { ValueNoLabel valueRetardance = new ValueNoLabel(); ValueNoLabel valueOrientation = new ValueNoLabel(); public PanelValuePointPS() { super(0); this.add(valueRetardance, null); this.add(valueOrientation, null); } // Pixel changed, PixelChangeListener implementation @Override public void pixelChanged(PixelChangeEvent evnt) { if (evnt.value < 0) { setValuePixel(); } else { setValuePixel(evnt.value, evnt.x, evnt.y); } } // ROI changed, RoiChangeListener implementation @Override public void roiChanged(RoiChangeEvent roiEvt) { if (roiEvt.w > 0) { setValueStats(roiEvt.min, roiEvt.mean, roiEvt.max, Color.blue); setValueROI(roiEvt.x, roiEvt.y, roiEvt.w, roiEvt.h); } else { // show values for full image setValueStats(roiEvt.min, roiEvt.mean, roiEvt.max, Color.black); setValueROI(); } } //---------------------------------------------------------------------- public void setValuePixel(int v, int x, int y) { valuePixel.set(fixedWidth(v, 3) + " (" + String.valueOf(x) + ", " + String.valueOf(y) + ")"); } String fixedWidth(int v, int width) { String s = String.valueOf(v); while (s.length() <= width) s = " " + s; return s; } public void setValuePixel() { valuePixel.set(""); } public void setValueStats(int min, float mean, int max) { valueStats.set(String.valueOf(min) + " < " + fmtDec1.format(mean) + " < " + String.valueOf(max)); } public void setValueStats(int min, float mean, int max, Color color) { valueStats.set(String.valueOf(min) + " < " + fmtDec1.format(mean) + " < " + String.valueOf(max), color); } public void setValueStats() { valueStats.set(""); } public void setValueROI(int x, int y, int w, int h) { valueROI.set(String.valueOf(x) + ", " + String.valueOf(y) + " (" + String.valueOf(w) + " x " + String.valueOf(h) + ")", ColorUtils.darkblue); } public void setValueROI() { valueROI.set(""); } public void blankAll() { valuePixel.set(""); valueStats.set(""); valueROI.set(""); } }