use of org.kie.workbench.common.stunner.core.client.shape.view.HasDragBounds in project kie-wb-common by kiegroup.
the class LocationControlImpl method register.
@Override
@SuppressWarnings("unchecked")
public void register(final Element element) {
if (null != element.asNode() && checkNotRegistered(element)) {
final Canvas<?> canvas = canvasHandler.getCanvas();
final Shape<?> shape = canvas.getShape(element.getUUID());
// Drag & constraints.
shape.getShapeView().setDragEnabled(true);
if (shape.getShapeView() instanceof HasDragBounds) {
ensureDragConstraints((HasDragBounds<?>) shape.getShapeView());
}
if (shape.getShapeView() instanceof HasEventHandlers) {
final HasEventHandlers hasEventHandlers = (HasEventHandlers) shape.getShapeView();
// Change mouse cursor, if shape supports it.
if (supportsMouseEnter(hasEventHandlers) && supportsMouseExit(hasEventHandlers)) {
final MouseEnterHandler overHandler = new MouseEnterHandler() {
@Override
public void handle(MouseEnterEvent event) {
canvasHandler.getAbstractCanvas().getView().setCursor(AbstractCanvas.Cursors.MOVE);
}
};
hasEventHandlers.addHandler(ViewEventType.MOUSE_ENTER, overHandler);
registerHandler(shape.getUUID(), overHandler);
final MouseExitHandler outHandler = new MouseExitHandler() {
@Override
public void handle(MouseExitEvent event) {
canvasHandler.getAbstractCanvas().getView().setCursor(AbstractCanvas.Cursors.AUTO);
}
};
hasEventHandlers.addHandler(ViewEventType.MOUSE_EXIT, outHandler);
registerHandler(shape.getUUID(), outHandler);
}
}
}
}
Aggregations