import ie.dcu.apps.ist.views.*;
import ie.dcu.segment.*;
import ie.dcu.segment.annotate.*;
-import ie.dcu.segment.painters.SegmentationPainter;
import ie.dcu.swt.*;
import ie.dcu.swt.event.*;
import ie.dcu.swt.layout.LayoutFactory;
private final ImageControl ctrl;
private ImageData image;
- private ImageData maskedImageData;
private boolean inside;
- private boolean insideSegment;
private boolean enabled;
- SegmentationPainter painter;
public ImageObserver(SegmentationView view) {
- painter = view.getPainter();
view.addContextChangeListener(this);
view.getCanvas().addMouseMoveListener(this);
ctrl = view.getImageControl();
Font font = JFaceResources.getDefaultFont();
getStatusLineManager().getControl().setFont(font);
this.inside = false;
- this.insideSegment = false;
this.enabled = enabled;
}
}
Font font = JFaceResources.getDefaultFont();
getStatusLineManager().getControl().setFont(font);
inside = false;
- insideSegment = false;
- shell.setToolTipText(null);
}
}
private final Point getImagePoint(MouseEvent e) {
- System.out.println("Painter coming as"+view.getPainter().getMaskData().transparentPixel);
- maskedImageData = view.getPainter().getMaskData();
- if (maskedImageData != null) {
- Point pt = new Point(e.x, e.y);
- if (ctrl.imageContains(pt)) {
- return ctrl.canvasToImage(pt);
- }
- }
- else if (image != null) {
+ if (image != null) {
Point pt = new Point(e.x, e.y);
if (ctrl.imageContains(pt)) {
return ctrl.canvasToImage(pt);
Font font = JFaceResources.getFont(MONOSPACE_FONT);
getStatusLineManager().getControl().setFont(font);
}
- Listener mouseListener = new Listener() {
- public void handleEvent(Event event) {
- switch (event.type) {
- case SWT.MouseEnter:
- case SWT.MouseMove:
- if (insideSegment) {
- System.out.println("Which painter ? --> "+view.getPainter());
- System.out.println("Which painter ? --> "+view.getPainter().getMaskData().transparentPixel);
- view.getCanvas().setToolTipText(SegmentationView.comboLabel.getText());
- return;
+ MouseMoveListener mouseListener = new MouseMoveListener() {
+ public void mouseMove(MouseEvent event) {
+ if (inside) {
+ Point pt = getImagePoint(event);
+ if(view.getPainter().getMaskData().getPixel(pt.x,pt.y) == 0)
+ {
+ view.getCanvas().setToolTipText(SegmentationView.comboLabel.getText());
+ return;
+ }
+ else if(view.getPainter().getMaskData().getPixel(pt.x,pt.y) == 1)
+ {
+ view.getCanvas().setToolTipText(null);
+ }
}
- view.getCanvas().setToolTipText(null);
- break;
- }
- }
+ }
};
- view.getCanvas().addListener(SWT.MouseMove, mouseListener);
- view.getCanvas().addListener(SWT.MouseExit, mouseListener);
+ view.getCanvas().addMouseMoveListener(mouseListener);
if((SegmentationView.comboLabel.getText()).trim().equals(""))
{
status(AppStatus.Information,
pt.x, pt.y, c.red, c.green, c.blue, SegmentationView.comboLabel.getText());
}
inside = true;
- insideSegment = true;
}