public void testGrowComponent() { myContainer.setLayout(new GridLayoutManager(2, 2)); // *|. *** . // // *** -> ***** insertComponent(0, 0, 1, 1); RadComponent c = insertComponent(1, 0, 1, 2); GridInsertLocation location = new GridInsertLocation(myContainer, 0, 0, GridInsertMode.ColumnAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(myDropComponent); assertTrue(location.canDrop(dcl)); doDrop(location); assertEquals(3, myManager.getGridColumnCount(myContainer)); assertEquals(3, c.getConstraints().getColSpan()); }
public void testInsertGrowMultiple() { setGridSize(4, 4); // * . . . // . . . . // . . . . // . . . * insertComponent(0, 0, 1, 1); insertComponent(3, 3, 1, 1); // * . . . // . . . . // * . . . // * . . * RadComponent c1 = createComponent(0, 0, 2, 1); RadComponent c2 = createComponent(0, 1, 1, 1); GridInsertLocation location = new GridInsertLocation(myContainer, 1, 0, GridInsertMode.RowAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(c1, c2); assertTrue(location.canDrop(dcl)); location.processDrop(null, new RadComponent[] {c1, c2}, null, dcl); assertEquals(6, myManager.getGridRowCount(myContainer)); }
public void testInsertGrowMultiple1x1() { setGridSize(2, 2); // * . // // . * insertComponent(0, 0, 1, 1); insertComponent(1, 1, 1, 1); // * * // * // * . RadComponent c1 = createComponent(0, 0, 2, 1); RadComponent c2 = createComponent(0, 1, 1, 1); GridInsertLocation location = new GridInsertLocation(myContainer, 1, 0, GridInsertMode.RowAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(c1, c2); assertTrue(location.canDrop(dcl)); location.processDrop(null, new RadComponent[] {c1, c2}, null, dcl); assertEquals(3, myManager.getGridRowCount(myContainer)); }
public void testInsertGrowSingle1x1() { setGridSize(2, 2); // * . // // . * insertComponent(0, 0, 1, 1); insertComponent(1, 1, 1, 1); setComponentDimensions(myDropComponent, 0, 0, 2, 2); GridInsertLocation location = new GridInsertLocation(myContainer, 1, 0, GridInsertMode.RowAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(myDropComponent); assertTrue(location.canDrop(dcl)); doDrop(location); assertEquals(3, myManager.getGridRowCount(myContainer)); final RadComponent addedComponent = myContainer.getComponents()[2]; assertEquals(1, addedComponent.getConstraints().getRowSpan()); assertEquals(1, addedComponent.getConstraints().getColSpan()); }
public void testInsertGrowSingle() { setGridSize(4, 4); // * . . . // . . . . // . . . . // . . . * insertComponent(0, 0, 1, 1); insertComponent(3, 3, 1, 1); setComponentDimensions(myDropComponent, 0, 0, 2, 2); GridInsertLocation location = new GridInsertLocation(myContainer, 1, 0, GridInsertMode.RowAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(myDropComponent); assertTrue(location.canDrop(dcl)); doDrop(location); assertEquals(6, myManager.getGridRowCount(myContainer)); final RadComponent addedComponent = myContainer.getComponents()[2]; assertEquals(2, addedComponent.getConstraints().getRowSpan()); assertEquals(2, addedComponent.getConstraints().getColSpan()); }
public static boolean isDropOnChild(final DraggedComponentList draggedComponentList, final ComponentDropLocation location) { if(location.getContainer() == null) { return false; } for(RadComponent component : draggedComponentList.getComponents()) { if(isChild(location.getContainer(), component)) { return true; } } return false; }
public static boolean isDropOnChild(final DraggedComponentList draggedComponentList, final ComponentDropLocation location) { if (location.getContainer() == null) { return false; } for (RadComponent component : draggedComponentList.getComponents()) { if (isChild(location.getContainer(), component)) { return true; } } return false; }
public void testInsertColumnAfter() { assertEquals(1, myManager.getGridColumnCount(myContainer)); insertComponent(0, 0, 1, 1); GridInsertLocation location = new GridInsertLocation(myContainer, 0, 0, GridInsertMode.ColumnAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(myDropComponent); assertTrue(location.canDrop(dcl)); doDrop(location); assertEquals(2, myManager.getGridColumnCount(myContainer)); }
public void testInsertRowBefore() { setGridSize(2, 1); insertComponent(0, 0, 1, 1); final RadComponent c = insertComponent(1, 0, 1, 1); GridInsertLocation location = new GridInsertLocation(myContainer, 1, 0, GridInsertMode.RowBefore); DraggedComponentList dcl = DraggedComponentList.withComponents(myDropComponent); assertTrue(location.canDrop(dcl)); doDrop(location); assertEquals(2, c.getConstraints().getRow()); }
public void testInsertInMiddleOfComponentColumn() { myContainer.setLayout(new GridLayoutManager(1, 2)); insertComponent(0, 0, 1, 2); GridInsertLocation location = new GridInsertLocation(myContainer, 0, 0, GridInsertMode.ColumnAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(myDropComponent); assertFalse(location.canDrop(dcl)); }
public void testInsertInMiddleOfComponentRow() { setGridSize(2, 1); insertComponent(0, 0, 2, 1); GridInsertLocation location = new GridInsertLocation(myContainer, 0, 0, GridInsertMode.RowAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(myDropComponent); assertFalse(location.canDrop(dcl)); }
public void testInsertInsideBigComponent() { setGridSize(2, 2); insertComponent(0, 0, 1, 1); insertComponent(1, 0, 1, 2); setComponentDimensions(myDropComponent, 0, 0, 2, 1); GridInsertLocation location = new GridInsertLocation(myContainer, 0, 0, GridInsertMode.ColumnAfter); assertFalse(location.canDrop(DraggedComponentList.withComponents(myDropComponent))); }
public void testInsertDifferentRows() { setGridSize(2, 1); insertComponent(0, 0, 1, 1); insertComponent(1, 0, 1, 1); RadComponent c1 = createComponent(0, 0, 1, 1); RadComponent c2 = createComponent(1, 0, 1, 1); GridInsertLocation location = new GridInsertLocation(myContainer, 1, 0, GridInsertMode.RowAfter); DraggedComponentList dcl = DraggedComponentList.withComponents(c1, c2); assertTrue(location.canDrop(dcl)); location.processDrop(null, new RadComponent[] {c1, c2}, null, dcl); assertEquals(4, myManager.getGridRowCount(myContainer)); }
private void doDrop(final GridInsertLocation location) { location.processDrop(null, new RadComponent[] {myDropComponent}, null, DraggedComponentList.withComponents(myDropComponent)); }
@Override public void drop(DropTargetDropEvent dtde) { try { final DraggedComponentList dcl = DraggedComponentList.fromTransferable(dtde.getTransferable()); ComponentItem componentItem = SimpleTransferable.getData(dtde.getTransferable(), ComponentItem.class); if(dcl != null || componentItem != null) { final TreePath path = getPathForLocation((int) dtde.getLocation().getX(), (int) dtde.getLocation().getY()); final RadComponent targetComponent = getComponentFromPath(path); if(!myEditor.ensureEditable()) { return; } if(targetComponent instanceof RadContainer) { final ComponentDropLocation dropLocation = ((RadContainer) targetComponent).getDropLocation(null); if(dcl != null) { if(!FormEditingUtil.isDropOnChild(dcl, dropLocation)) { RadComponent[] components = dcl.getComponents().toArray(new RadComponent[dcl.getComponents().size()]); RadContainer[] originalParents = dcl.getOriginalParents(); final GridConstraints[] originalConstraints = dcl.getOriginalConstraints(); for(int i = 0; i < components.length; i++) { originalParents[i].removeComponent(components[i]); } dropLocation.processDrop(myEditor, components, null, dcl); for(int i = 0; i < originalConstraints.length; i++) { if(originalParents[i].getLayoutManager().isGrid()) { FormEditingUtil.deleteEmptyGridCells(originalParents[i], originalConstraints[i]); } } } } else { new InsertComponentProcessor(myEditor).processComponentInsert(componentItem, dropLocation); } } myEditor.refreshAndSave(true); } setDropTargetComponent(null); } catch(Exception e) { LOG.error(e); } }