package com.github.pfichtner.jrunalyser.ui.base.components;
import java.awt.Component;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import com.github.pfichtner.jrunalyser.base.data.SegmentationUnit;
import com.github.pfichtner.jrunalyser.ui.dock.ebus.HighlightSegmentMessage;
import com.google.common.eventbus.EventBus;
public class SegmentTrackMouseListener extends MouseAdapter {
private final SegmentationUnit segmentationUnit;
private final EventBus eventBus;
private Cursor oldPointer;
public SegmentTrackMouseListener(SegmentationUnit segmentationUnit,
EventBus eventBus) {
this.segmentationUnit = segmentationUnit;
this.eventBus = eventBus;
}
@Override
public void mouseEntered(MouseEvent e) {
this.oldPointer = ((Component) e.getSource()).getCursor();
((Component) e.getSource()).setCursor(new Cursor(Cursor.HAND_CURSOR));
}
@Override
public void mouseClicked(MouseEvent e) {
this.eventBus.post(new HighlightSegmentMessage(this.segmentationUnit));
}
@Override
public void mouseExited(MouseEvent e) {
((Component) e.getSource()).setCursor(this.oldPointer);
}
}