use of org.kie.workbench.common.stunner.core.client.canvas.event.selection.CanvasSelectionEvent in project kie-wb-common by kiegroup.
the class AbstractToolboxAction method fireElementSelectedEvent.
// TODO: This is a work around. If enabling canvas handlers just here ( without using the timer )
// the layer receives a click event, so it fires a clear selection event and it results
// on the element just added not being selected.
public static void fireElementSelectedEvent(final Event<CanvasSelectionEvent> selectionEvent, final AbstractCanvasHandler canvasHandler, final String uuid) {
canvasHandler.getCanvas().getLayer().disableHandlers();
selectionEvent.fire(new CanvasSelectionEvent(canvasHandler, uuid));
final Timer t = new Timer() {
@Override
public void run() {
canvasHandler.getCanvas().getLayer().enableHandlers();
}
};
t.schedule(500);
}
use of org.kie.workbench.common.stunner.core.client.canvas.event.selection.CanvasSelectionEvent in project kie-wb-common by kiegroup.
the class MapSelectionControlTest method setup.
@Before
@SuppressWarnings("unchecked")
public void setup() throws Exception {
ShapeViewExtStub shapeView = new ShapeViewExtStub(shapeEventHandler, hasControlPoints);
when(element.getUUID()).thenReturn(ELEMENT_UUID);
when(element.getContent()).thenReturn(new ViewImpl<>(definition, BoundsImpl.build(0, 0, 10, 10)));
when(canvasHandler.getDiagram()).thenReturn(diagram);
when(diagram.getMetadata()).thenReturn(metadata);
when(metadata.getCanvasRootUUID()).thenReturn(ROOT_UUID);
when(canvasHandler.getCanvas()).thenReturn(canvas);
when(canvas.getLayer()).thenReturn(layer);
when(canvas.getShape(eq(ELEMENT_UUID))).thenReturn(shape);
when(canvas.getShapes()).thenReturn(Collections.singletonList(shape));
when(shape.getUUID()).thenReturn(ELEMENT_UUID);
when(shape.getShapeView()).thenReturn(shapeView);
when(shapeEventHandler.supports(eq(ViewEventType.MOUSE_CLICK))).thenReturn(true);
this.tested = new MapSelectionControl(e -> elementSelectedEvent.fire((CanvasSelectionEvent) e), e -> clearSelectionEvent.fire((CanvasClearSelectionEvent) e));
this.tested.setReadonly(false);
}
use of org.kie.workbench.common.stunner.core.client.canvas.event.selection.CanvasSelectionEvent in project kie-wb-common by kiegroup.
the class AbstractSelectionAwareSessionCommandTest method testOnCanvasSelection.
@Test
public void testOnCanvasSelection() {
CanvasSelectionEvent event = new CanvasSelectionEvent(canvasHandler, "");
command.onCanvasSelectionEvent(event);
verify(command, times(1)).handleCanvasSelectionEvent(event);
event = new CanvasSelectionEvent(anotherCanvasHandler, "");
command.onCanvasSelectionEvent(event);
verify(command, never()).handleCanvasSelectionEvent(event);
}
use of org.kie.workbench.common.stunner.core.client.canvas.event.selection.CanvasSelectionEvent in project kie-wb-common by kiegroup.
the class CanvasInPlaceTextEditorControlImpl method enable.
@Override
public void enable(final AbstractCanvasHandler canvasHandler) {
super.enable(canvasHandler);
textEditorBox.initialize(canvasHandler, () -> {
final String idToSelect = CanvasInPlaceTextEditorControlImpl.this.uuid;
CanvasInPlaceTextEditorControlImpl.this.hide();
canvasSelectionEvent.fire(new CanvasSelectionEvent(canvasHandler, idToSelect));
});
// TODO: move folatingView to support IsElement instead of IsWidget
floatingView.hide().setHideCallback(floatingHideCallback).setTimeOut(FLOATING_VIEW_TIMEOUT).add(ElementWrapperWidget.getWidget(textEditorBox.getElement()));
}
use of org.kie.workbench.common.stunner.core.client.canvas.event.selection.CanvasSelectionEvent in project kie-wb-common by kiegroup.
the class ObserverBuilderControl method onBuildCanvasShape.
@SuppressWarnings("unchecked")
void onBuildCanvasShape(@Observes final BuildCanvasShapeEvent buildCanvasShapeEvent) {
checkNotNull("buildCanvasShapeEvent", buildCanvasShapeEvent);
if (null != canvasHandler) {
final CanvasHandler context = buildCanvasShapeEvent.getCanvasHandler();
if (null != context && context.equals(canvasHandler)) {
final Object definition = buildCanvasShapeEvent.getDefinition();
final double x = buildCanvasShapeEvent.getX();
final double y = buildCanvasShapeEvent.getY();
final double _x = x >= 0 ? x - canvasHandler.getAbstractCanvas().getAbsoluteX() : -1;
final double _y = y >= 0 ? y - canvasHandler.getAbstractCanvas().getAbsoluteY() : -1;
final ElementBuildRequest<AbstractCanvasHandler> request = new ElementBuildRequestImpl(_x, _y, definition);
ObserverBuilderControl.this.build(request, new BuildCallback() {
@Override
public void onSuccess(final String uuid) {
canvasHandler.getCanvas().draw();
canvasSelectionEvent.fire(new CanvasSelectionEvent(canvasHandler, uuid));
}
@Override
public void onError(final ClientRuntimeError error) {
LOGGER.log(Level.SEVERE, error.toString());
}
});
}
}
}
Aggregations