use of org.kie.workbench.common.stunner.core.client.shape.view.event.TextDoubleClickHandler in project kie-wb-common by kiegroup.
the class CanvasInPlaceTextEditorControlImpl method register.
@Override
public void register(final Element element) {
if (checkNotRegistered(element)) {
final Shape<?> shape = getShape(element.getUUID());
if (null != shape) {
final ShapeView shapeView = shape.getShapeView();
if (shapeView instanceof HasEventHandlers) {
final HasEventHandlers hasEventHandlers = (HasEventHandlers) shapeView;
if (hasEventHandlers.supports(ViewEventType.TEXT_DBL_CLICK)) {
final TextDoubleClickHandler clickHandler = new TextDoubleClickHandler() {
@Override
public void handle(final TextDoubleClickEvent event) {
CanvasInPlaceTextEditorControlImpl.this.show(element, event.getClientX(), event.getClientY());
}
};
hasEventHandlers.addHandler(ViewEventType.TEXT_DBL_CLICK, clickHandler);
registerHandler(shape.getUUID(), clickHandler);
// Change mouse cursor, if shape supports it.
if (hasEventHandlers.supports(ViewEventType.TEXT_ENTER) && hasEventHandlers.supports(ViewEventType.TEXT_EXIT)) {
final TextEnterHandler enterHandler = new TextEnterHandler() {
@Override
public void handle(TextEnterEvent event) {
canvasHandler.getAbstractCanvas().getView().setCursor(AbstractCanvas.Cursors.TEXT);
}
};
hasEventHandlers.addHandler(ViewEventType.TEXT_ENTER, enterHandler);
registerHandler(shape.getUUID(), enterHandler);
final TextExitHandler exitHandler = new TextExitHandler() {
@Override
public void handle(TextExitEvent event) {
canvasHandler.getAbstractCanvas().getView().setCursor(AbstractCanvas.Cursors.AUTO);
}
};
hasEventHandlers.addHandler(ViewEventType.TEXT_EXIT, exitHandler);
registerHandler(shape.getUUID(), exitHandler);
}
}
}
}
}
}
Aggregations