use of com.ait.lienzo.client.core.shape.IPrimitive in project kie-wb-common by kiegroup.
the class AbstractPalette method build.
public T build(final Item... items) {
clear();
this.add(itemsGroup);
beforeBuild();
final Grid grid = createGrid(items.length);
final Iterator<Grid.Point> pointIterator = grid.iterator();
for (int c = 0; c < items.length; c++) {
final Grid.Point point = pointIterator.next();
final Item item = items[c];
final int index = c;
final double px = x + point.getX();
final double py = y + point.getY();
final Decorator itemDecorator = item.getDecorator() != null ? createDecorator(index, px, py) : null;
final IPrimitive<?> i = null != itemDecorator ? itemDecorator.build(item.getPrimitive(), toDouble(iconSize), toDouble(iconSize)) : item.getPrimitive();
i.setX(px).setY(py).moveToTop();
this.itemsGroup.add(i);
handlerRegistrationManager.register(i.addNodeMouseDownHandler(event -> onItemMouseDown(index, event.getX(), event.getY(), px, py)));
handlerRegistrationManager.register(i.addNodeMouseClickHandler(event -> onItemClick(index, event.getX(), event.getY(), px, py)));
}
afterBuild();
return (T) this;
}
use of com.ait.lienzo.client.core.shape.IPrimitive in project kie-wb-common by kiegroup.
the class PrimitiveTextTooltipTest method testAsPrimitive.
@Test
@SuppressWarnings("unchecked")
public void testAsPrimitive() {
IPrimitive tp = mock(IPrimitive.class);
when(tooltip.asPrimitive()).thenReturn(tp);
IPrimitive<?> p = tested.asPrimitive();
assertEquals(tp, p);
}
use of com.ait.lienzo.client.core.shape.IPrimitive in project kie-wb-common by kiegroup.
the class StunnerWiresControlPointHandler method onNodeMouseDoubleClick.
@Override
public void onNodeMouseDoubleClick(NodeMouseDoubleClickEvent event) {
IPrimitive<?> node = (IPrimitive<?>) event.getSource();
controlPointDoubleClickEvent.fire(new CanvasControlPointDoubleClickEvent(getPosition(node.getLocation().getX(), node.getLocation().getY())));
}
use of com.ait.lienzo.client.core.shape.IPrimitive in project kie-wb-common by kiegroup.
the class WiresConnectorViewTest method testConnectMagnetsByLocation.
@Test
public void testConnectMagnetsByLocation() {
// Mocks for head stuff.
IControlHandleList headControlHandleList = new ControlHandleList(mock(Shape.class));
WiresMagnet headMagnet1 = mock(WiresMagnet.class);
when(headMagnet1.getX()).thenReturn(10d);
when(headMagnet1.getY()).thenReturn(20d);
when(headMagnet1.getIndex()).thenReturn(0);
IPrimitive ch1 = mock(IPrimitive.class);
when(ch1.getLocation()).thenReturn(new Point2D(10d, 20d));
when(headMagnet1.getControl()).thenReturn(ch1);
WiresMagnet headMagnet2 = mock(WiresMagnet.class);
when(headMagnet2.getX()).thenReturn(100d);
when(headMagnet2.getY()).thenReturn(200d);
IPrimitive ch2 = mock(IPrimitive.class);
when(ch2.getLocation()).thenReturn(new Point2D(100d, 200d));
when(headMagnet2.getControl()).thenReturn(ch2);
headControlHandleList.add(headMagnet1);
headControlHandleList.add(headMagnet2);
MagnetManager.Magnets headMagnets = mock(MagnetManager.Magnets.class);
when(headMagnets.getMagnets()).thenReturn(headControlHandleList);
Point2D headAbs = new Point2D(0, 0);
MagnetConnection headConnection = MagnetConnection.Builder.at(10, 20);
// Mocks for head tail.
IControlHandleList tailControlHandleList = new ControlHandleList(mock(Shape.class));
WiresMagnet tailMagnet1 = mock(WiresMagnet.class);
when(tailMagnet1.getX()).thenReturn(10d);
when(tailMagnet1.getY()).thenReturn(20d);
IPrimitive th1 = mock(IPrimitive.class);
when(th1.getLocation()).thenReturn(new Point2D(10d, 20d));
when(tailMagnet1.getControl()).thenReturn(th1);
WiresMagnet tailMagnet2 = mock(WiresMagnet.class);
when(tailMagnet2.getX()).thenReturn(100d);
when(tailMagnet2.getY()).thenReturn(200d);
when(tailMagnet2.getIndex()).thenReturn(2);
IPrimitive th2 = mock(IPrimitive.class);
when(th2.getLocation()).thenReturn(new Point2D(100d, 200d));
when(tailMagnet2.getControl()).thenReturn(th2);
tailControlHandleList.add(tailMagnet1);
tailControlHandleList.add(tailMagnet2);
MagnetManager.Magnets tailMagnets = mock(MagnetManager.Magnets.class);
when(tailMagnets.getMagnets()).thenReturn(tailControlHandleList);
Point2D tailAbs = new Point2D(0, 0);
MagnetConnection tailConnection = MagnetConnection.Builder.at(100, 200);
// Mocks both source/target actual connections.
WiresConnection headWiresConnection = mock(WiresConnection.class);
WiresConnection tailWiresConnection = mock(WiresConnection.class);
tested.setHeadConnection(headWiresConnection);
tested.setTailConnection(tailWiresConnection);
// Perform the connection.
tested.connect(headMagnets, headAbs, headConnection, tailMagnets, tailAbs, tailConnection);
// Verify it sets the right magnets (closest to the location):
verify(headWiresConnection, never()).setXOffset(anyDouble());
verify(headWiresConnection, never()).setYOffset(anyDouble());
verify(headWiresConnection, times(1)).setAutoConnection(eq(false));
verify(headWiresConnection, times(1)).setMagnet(eq(headMagnet1));
verify(tailWiresConnection, times(1)).setXOffset(eq(0d));
verify(tailWiresConnection, times(1)).setYOffset(eq(0d));
verify(tailWiresConnection, times(1)).setAutoConnection(eq(false));
verify(tailWiresConnection, times(1)).setMagnet(eq(tailMagnet2));
}
use of com.ait.lienzo.client.core.shape.IPrimitive in project lienzo-core by ahome-it.
the class AlignAndDistribute method addShape.
public AlignAndDistributeControl addShape(final IDrawable<?> group) {
final String uuid = group.uuid();
AlignAndDistributeControl handler = m_shapes.get(uuid);
// only add if the group has not already been added
if (null == handler) {
handler = new AlignAndDistributeControlImpl((IPrimitive<?>) group, this, m_alignmentCallback, group.getBoundingBoxAttributes());
m_shapes.put(uuid, handler);
}
return handler;
}
Aggregations