List of usage examples for com.google.gwt.user.client.ui FlexTable insertCell
@Override public void insertCell(int beforeRow, int beforeColumn)
From source file:com.google.gwt.gears.sample.workerpool.client.WorkerPoolDemo.java
License:Apache License
/** * Utility routine to construct one row of the user interface control panel. * //from w w w.j av a2 s .c o m * @param table the table to add to. * @param text HTML text to add in the first column * @param w a widget in the control panel to add in the second column. */ private void buildControlPanelRow(FlexTable table, String text, Widget w) { table.insertRow(currentRow); table.insertCell(currentRow, 0); table.setWidget(currentRow, 0, new HTML(text)); table.insertCell(currentRow, 1); table.setWidget(currentRow, 1, w); currentRow++; }
From source file:org.pentaho.pat.client.util.dnd.impl.SimplePanelDropControllerImpl.java
License:Open Source License
@Override public void onDrop(final DragContext context) { MeasureLabel originalLabel = ((MeasureLabel) context.draggable.getParent().getParent()); DimensionTreeWidget dtw = (DimensionTreeWidget) originalLabel.getParentNode().getTree().getParent() .getParent().getParent();/*from ww w . j a va 2 s .co m*/ /* * If the widget is dropped on the trash can. * */ if (trash) { DimensionSimplePanel panel = (DimensionSimplePanel) originalLabel.getParent(); context.draggable.removeFromParent(); originalLabel.makeDraggable(); /* * Remove the widget. */ if (originalLabel.getType() == ObjectType.DIMENSION) { SimplePanelUtil.clearDimension(context, originalLabel, panel.getCoord(), panel.getAxis()); } else if (originalLabel.getType() == ObjectType.HIERARCHY) { SimplePanelUtil.clearHierarchy(context, originalLabel, panel.getCoord(), panel.getAxis()); } else if (originalLabel.getType() == ObjectType.LEVEL) { SimplePanelUtil.clearLevel(context, originalLabel, panel.getCoord(), panel.getAxis()); } else if (originalLabel.getType() == ObjectType.MEMBER) { SimplePanelUtil.clearMember(context, originalLabel, panel.getCoord(), panel.getAxis()); } else if (originalLabel.getType() == ObjectType.MEASURE) { SimplePanelUtil.clearMember(context, originalLabel, panel.getCoord(), panel.getAxis()); } dtw.setDimensionLocation(dropTarget.getAxis(), originalLabel.getDimensionName()); } /* * If the widget is dropped and the target axis != the widgets current axis. IE move dimension from rows to columns. */ else if (originalLabel.getParent() instanceof DimensionSimplePanel && (((MeasureLabel) context.draggable.getParent().getParent()) .getAxis() != ((DimensionSimplePanel) this.dropTarget).getAxis())) { DimensionSimplePanel dp = null; boolean createdrop = true; DimensionSimplePanel panel = (DimensionSimplePanel) originalLabel.getParent(); /* * If the drop target does not contain a widget then add the original label. */ if (dropTarget.getWidget() == null) { dropTarget.setWidget(originalLabel); } /* * Else create a new drop target. */ else { FlexTable ft = ((FlexTable) ((DimensionSimplePanel) context.finalDropController.getDropTarget()) .getParent()); int row = dropTarget.getCoord()[0]; int col = dropTarget.getCoord()[1]; if (dropTarget.getAxis().equals(IAxis.ROWS) || dropTarget.getAxis().equals(IAxis.FILTER)) { for (int i = 0; i < ft.getRowCount(); i++) { ft.insertCell(i, col); } dp = new DimensionSimplePanel(false, dropTarget.getAxis()); dp.setWidget(originalLabel); ft.setWidget(row, col, dp); createdrop = false; } else if (dropTarget.getAxis().equals(IAxis.COLUMNS)) { ft.insertRow(row); dp = new DimensionSimplePanel(false, dropTarget.getAxis()); dp.setWidget(originalLabel); ft.setWidget(row, col, dp); createdrop = false; } } /* * If the widget is a Dimension. */ if (originalLabel.getType() == ObjectType.DIMENSION) { originalLabel.setAxis(((DimensionSimplePanel) this.dropTarget).getAxis()); SimplePanelUtil.moveDimension(context, originalLabel, originalLabel, false, panel.getCoord(), panel.getAxis(), createdrop); if (dp != null) { if (dp.getCoord()[0] < dropTarget.getCoord()[0] || dp.getCoord()[1] < dropTarget.getCoord()[1]) { SimplePanelUtil.pullUp(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } else { SimplePanelUtil.pushDown(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } } } /* * If the widget is a hierarchy. */ else if (originalLabel.getType() == ObjectType.HIERARCHY) { originalLabel.setAxis(((DimensionSimplePanel) this.dropTarget).getAxis()); SimplePanelUtil.moveHierarchy(context, originalLabel, false, panel.getCoord(), panel.getAxis(), createdrop); if (dp != null) { if (dp.getCoord()[0] < dropTarget.getCoord()[0] || dp.getCoord()[1] < dropTarget.getCoord()[1]) { SimplePanelUtil.pullUp(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } else { SimplePanelUtil.pushDown(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } } } /* * If the widget is a level. */ else if (originalLabel.getType() == ObjectType.LEVEL) { originalLabel.setAxis(((DimensionSimplePanel) this.dropTarget).getAxis()); SimplePanelUtil.moveLevel(context, originalLabel, false, panel.getCoord(), panel.getAxis(), false); if (dp != null) { if (dp.getCoord()[0] < dropTarget.getCoord()[0] || dp.getCoord()[1] < dropTarget.getCoord()[1]) { SimplePanelUtil.pullUp(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } else { SimplePanelUtil.pushDown(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } } } /* * If the widget is a Member. */ else if (originalLabel.getType() == ObjectType.MEMBER) { originalLabel.setAxis(((DimensionSimplePanel) this.dropTarget).getAxis()); SimplePanelUtil.moveMember(context, originalLabel, false, panel.getCoord(), panel.getAxis(), createdrop); if (dp != null) { if (dp.getCoord()[0] < dropTarget.getCoord()[0] || dp.getCoord()[1] < dropTarget.getCoord()[1]) { SimplePanelUtil.pullUpMeasember(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } else { SimplePanelUtil.pushdownMeasember(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } } } /* * if the widget is a measure. */ else if (originalLabel.getType() == ObjectType.MEASURE) { originalLabel.setAxis(((DimensionSimplePanel) this.dropTarget).getAxis()); //dtw.setMeasureAxis(dropTarget.getAxis()); SimplePanelUtil.moveMeasure(context, originalLabel, false, panel.getCoord(), panel.getAxis(), createdrop); if (dp != null) { if (dp.getCoord()[0] < dropTarget.getCoord()[0] || dp.getCoord()[1] < dropTarget.getCoord()[1]) { SimplePanelUtil.pullUpMeasember(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } else { SimplePanelUtil.pushdownMeasember(context, originalLabel, dropTarget.getCoord(), dp.getCoord(), dropTarget.getAxis(), false); } } } dtw.setDimensionLocation(dropTarget.getAxis(), originalLabel.getDimensionName()); } /* * If the drop is on the same axis, then pushdown or pull up. */ else if (originalLabel.getParent() instanceof DimensionSimplePanel && (((MeasureLabel) context.draggable.getParent().getParent()).getAxis() == this.dropTarget .getAxis())) { DimensionSimplePanel panel = ((DimensionSimplePanel) originalLabel.getParent()); /* * For Columns. */ if (panel.getAxis().equals(IAxis.COLUMNS)) { if (panel.getCoord()[0] > ((DimensionSimplePanel) this.dropTarget).getCoord()[0]) { if (originalLabel.getType().equals(ObjectType.MEASURE) || originalLabel.getType().equals(ObjectType.MEMBER)) { SimplePanelUtil.pullUpMeasember(context, originalLabel, panel.getCoord(), this.dropTarget.getCoord(), IAxis.COLUMNS, true); } else { //pushup SimplePanelUtil.pullUp(context, originalLabel, panel.getCoord(), this.dropTarget.getCoord(), IAxis.COLUMNS, true); } } else { if (originalLabel.getType().equals(ObjectType.MEASURE) || originalLabel.getType().equals(ObjectType.MEMBER)) { SimplePanelUtil.pushdownMeasember(context, originalLabel, panel.getCoord(), this.dropTarget.getCoord(), IAxis.COLUMNS, true); } else { //pulldown SimplePanelUtil.pushDown(context, originalLabel, panel.getCoord(), this.dropTarget.getCoord(), IAxis.COLUMNS, true); } } } /* * For Rows. */ else if (panel.getAxis().equals(IAxis.ROWS)) { if (panel.getCoord()[0] > ((DimensionSimplePanel) this.dropTarget).getCoord()[0]) { if (originalLabel.getType().equals(ObjectType.MEASURE) || originalLabel.getType().equals(ObjectType.MEMBER)) { SimplePanelUtil.pullUpMeasember(context, originalLabel, panel.getCoord(), this.dropTarget.getCoord(), IAxis.ROWS, true); } else { //pushup SimplePanelUtil.pullUp(context, originalLabel, panel.getCoord(), this.dropTarget.getCoord(), IAxis.ROWS, true); } } else { if (originalLabel.getType().equals(ObjectType.MEASURE) || originalLabel.getType().equals(ObjectType.MEMBER)) { SimplePanelUtil.pushdownMeasember(context, originalLabel, panel.getCoord(), this.dropTarget.getCoord(), IAxis.ROWS, true); } else { //pulldown SimplePanelUtil.pushDown(context, originalLabel, panel.getCoord(), this.dropTarget.getCoord(), IAxis.ROWS, true); } } } } /* * If a standard widget is dropped on an empty drop target. */ else { MeasureLabel label = new MeasureLabel(originalLabel.getActualName(), originalLabel.getText(), originalLabel.getType(), originalLabel.getParentNode(), originalLabel.isUniqueName()); label.setDragController(originalLabel.getDragController()); label.makeDraggable(); label.setDownButtonVisible(true); dropTarget.setWidget(label); originalLabel.makeNotDraggable(); if (originalLabel.getType() == ObjectType.DIMENSION) { SimplePanelUtil.moveDimension(context, label, originalLabel, true, null, null, true); } else if (originalLabel.getType() == ObjectType.HIERARCHY) { SimplePanelUtil.moveHierarchy(context, label, true, null, null, true); } else if (originalLabel.getType() == ObjectType.LEVEL) { SimplePanelUtil.moveLevel(context, label, true, null, null, true); } else if (originalLabel.getType() == ObjectType.MEMBER) { SimplePanelUtil.moveMember(context, label, true, null, null, true); } else if (originalLabel.getType() == ObjectType.MEASURE) { //dtw.setMeasureAxis(dropTarget.getAxis()); SimplePanelUtil.moveMeasure(context, label, true, null, null, true); } dtw.setDimensionLocation(dropTarget.getAxis(), originalLabel.getDimensionName()); } super.onDrop(context); }