public void proposeContainingColumnWidth(final double proposedWidth, final Function<BaseExpressionGrid, Double> requiredWidthSupplier) { final GridColumn<?> parentColumn = gridWidget.getModel().getColumns().get(columnIndex); final double requiredWidth = Math.max(proposedWidth, getRequiredParentColumnWidth(proposedWidth, requiredWidthSupplier)); parentColumn.setWidth(requiredWidth); }
@Override public void onResize() { //This may look like it does nothing; however it forces the column to resize it's children final GridColumn<?> parentColumn = gridWidget.getModel().getColumns().get(columnIndex); parentColumn.setWidth(parentColumn.getWidth()); } }
@Override @SuppressWarnings("unused") public GridColumn<?> convertColumn(final BaseColumn column, final GuidedDecisionTablePresenter.Access access, final GuidedDecisionTableView gridWidget) { final GridColumn<?> uiColumn = new RowNumberColumn(makeHeaderMetaData(column)); uiColumn.setWidth(Math.max(column.getWidth(), uiColumn.getWidth())); return uiColumn; }
@Override @SuppressWarnings("unused") public GridColumn<?> convertColumn(final BaseColumn column, final GuidedDecisionTablePresenter.Access access, final GuidedDecisionTableView gridWidget) { final GridColumn<?> uiColumn = new RowNumberColumn(makeHeaderMetaData(column)); uiColumn.setWidth(Math.max(column.getWidth(), uiColumn.getWidth())); return uiColumn; }
@Override public void appendColumn(final GridColumn<?> column) { double originalWidth = getWidth(); column.setIndex(columns.size()); columns.add(column); OptionalDouble optionalOriginalWidth = OptionalDouble.of(originalWidth); if (GridColumn.ColumnWidthMode.isAuto(column)) { column.setWidth(calculateInitWidth(column, optionalOriginalWidth)); internalRefreshWidth(true, optionalOriginalWidth); } selectionsManager.onInsertColumn(columns.size() - 1); }
void clearExpressionType() { sessionCommandManager.execute((AbstractCanvasHandler) sessionManager.getCurrentSession().getCanvasHandler(), new ClearExpressionTypeCommand(parent, nodeUUID.get(), hasExpression, uiModelMapper, expressionGridCache.get(), () -> { expressionColumn.setWidth(getExistingEditorWidth()); selectExpressionEditorFirstCell(); }, () -> { expressionColumn.setWidth(getExistingEditorWidth()); selectExpressionEditorFirstCell(); })); }
@Override public void appendColumn(final GridColumn<?> column) { double originalWidth = getWidth(); column.setIndex(columns.size()); columns.add(column); OptionalDouble optionalOriginalWidth = OptionalDouble.of(originalWidth); if (GridColumn.ColumnWidthMode.isAuto(column)) { column.setWidth(calculateInitWidth(column, optionalOriginalWidth)); internalRefreshWidth(true, optionalOriginalWidth); } selectionsManager.onInsertColumn(columns.size() - 1); }
public void setExpression(final String nodeUUID, final HasExpression hasExpression, final Optional<HasName> hasName) { this.nodeUUID = Optional.of(nodeUUID); this.hasExpression = spyHasExpression(hasExpression); this.hasName = spyHasName(hasName); uiModelMapper.fromDMNModel(0, 0); expressionColumn.setWidth(getExistingEditorWidth()); selectExpressionEditorFirstCell(); }
@Override public void insertColumn(final int index, final GridColumn<?> column) { double originalWidth = getWidth(); column.setIndex(columns.size()); columns.add(index, column); OptionalDouble optionalOriginalWidth = OptionalDouble.of(originalWidth); if (GridColumn.ColumnWidthMode.isAuto(column)) { column.setWidth(calculateInitWidth(column, optionalOriginalWidth)); internalRefreshWidth(true, optionalOriginalWidth); } selectionsManager.onInsertColumn(index); }
@Override public void insertColumn(final int index, final GridColumn<?> column) { double originalWidth = getWidth(); column.setIndex(columns.size()); columns.add(index, column); OptionalDouble optionalOriginalWidth = OptionalDouble.of(originalWidth); if (GridColumn.ColumnWidthMode.isAuto(column)) { column.setWidth(calculateInitWidth(column, optionalOriginalWidth)); internalRefreshWidth(true, optionalOriginalWidth); } selectionsManager.onInsertColumn(index); }
@Override public GridColumn<?> convertColumn(final BaseColumn column, final GuidedDecisionTablePresenter.Access access, final GuidedDecisionTableView gridWidget) { final GridColumn<?> uiColumn = newStringColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, true, access, gridWidget); uiColumn.setMovable(false); uiColumn.setFloatable(true); uiColumn.setMinimumWidth(150.0); uiColumn.setWidth(Math.max(column.getWidth(), uiColumn.getMinimumWidth())); return uiColumn; }
@Override public GridColumn<?> convertColumn(final BaseColumn column, final GuidedDecisionTablePresenter.Access access, final GuidedDecisionTableView gridWidget) { final GridColumn<?> uiColumn = newStringColumn(makeHeaderMetaData(column), Math.max(column.getWidth(), DEFAULT_COLUMN_WIDTH), true, true, access, gridWidget); uiColumn.setMovable(false); uiColumn.setFloatable(true); uiColumn.setMinimumWidth(150.0); uiColumn.setWidth(Math.max(column.getWidth(), uiColumn.getMinimumWidth())); return uiColumn; }
protected double adjustColumnWidth(double columnNewWidth, GridColumn<?> activeGridColumn, GridWidget activeGridWidget) { final GridData activeGridModel = activeGridWidget.getModel(); double originalLeftColumnWidth = activeGridColumn.getWidth(); double delta = originalLeftColumnWidth - columnNewWidth; int visibleWidth = activeGridModel.getVisibleWidth(); double gridWidgetWidth = activeGridWidget.getWidth(); double newGridWidth = gridWidgetWidth - delta; // if the grid is becoming less than 100% width if (newGridWidth < visibleWidth && delta > 0) { // look for a column with AUTO width on the right Optional<GridColumn<?>> rightGridColumn = getFirstRightAutoColumn(activeGridColumn, activeGridModel); if (rightGridColumn.isPresent()) { GridColumn<?> rightColumn = rightGridColumn.get(); double originalRightColumnWidth = rightColumn.getWidth(); double newWidth = originalRightColumnWidth + delta; rightColumn.setWidth(newWidth); } // or revert column resizing if the column itself has AUTO width else if (GridColumn.ColumnWidthMode.isAuto(activeGridColumn)) { columnNewWidth = originalLeftColumnWidth; } } return columnNewWidth; }
public void updateWidthOfPeers() { if (gridWidget instanceof BaseExpressionGrid) { final BaseExpressionGrid beg = (BaseExpressionGrid) gridWidget; final int parentColumnIndex = beg.getParentInformation().getColumnIndex(); final GridData parentGridData = beg.getParentInformation().getGridWidget().getModel(); if (parentGridData != null) { if (parentColumnIndex < parentGridData.getColumnCount()) { final GridColumn<?> parentColumn = parentGridData.getColumns().get(parentColumnIndex); parentColumn.setWidth(beg.getWidth() + beg.getPadding() * 2); } } } }
@Test public void columnResizingListenerSetup_ConditionColumn() { final Pattern52 pattern = mock(Pattern52.class); final ConditionCol52 column = new ConditionCol52(); column.setFactField("MyField"); column.setHeader("MyColumn"); when(model.getPattern(eq(column))).thenReturn(pattern); when(pattern.getFactType()).thenReturn("MyFact"); when(oracle.getFieldType("MyFact", "MyField")).thenReturn(DataType.TYPE_STRING); final GridColumn<?> uiColumn = factory.convertColumn(column, access, gridWidget); assertTrue(uiColumn instanceof BaseUiColumn); assertEquals((int) uiColumn.getWidth(), column.getWidth()); uiColumn.setWidth(200.0); assertEquals(200, column.getWidth()); }
@Test public void columnResizingListenerSetup_ActionSetFieldColumn() { final Pattern52 pattern = mock(Pattern52.class); final ActionSetFieldCol52 column = new ActionSetFieldCol52(); column.setFactField("MyField"); column.setHeader("MyColumn"); column.setBoundName("$f"); when(model.getConditions()).thenReturn(new ArrayList<CompositeColumn<? extends BaseColumn>>() {{ add(pattern); }}); when(pattern.getFactType()).thenReturn("MyFact"); when(pattern.getBoundName()).thenReturn("$f"); when(pattern.isBound()).thenReturn(true); when(oracle.getFieldType("MyFact", "MyField")).thenReturn(DataType.TYPE_STRING); final GridColumn<?> uiColumn = factory.convertColumn(column, access, gridWidget); assertTrue(uiColumn instanceof BaseUiColumn); assertEquals((int) uiColumn.getWidth(), column.getWidth()); uiColumn.setWidth(200.0); assertEquals(200, column.getWidth()); }
@Test public void columnResizingListenerSetup_ActionInsertFactColumn() { final ActionInsertFactCol52 column = new ActionInsertFactCol52(); column.setFactType("MyFact"); column.setFactField("MyField"); column.setHeader("MyColumn"); when(oracle.getFieldType("MyFact", "MyField")).thenReturn(DataType.TYPE_STRING); final GridColumn<?> uiColumn = factory.convertColumn(column, access, gridWidget); assertTrue(uiColumn instanceof BaseUiColumn); assertEquals((int) uiColumn.getWidth(), column.getWidth()); uiColumn.setWidth(200.0); assertEquals(200, column.getWidth()); }
@Test public void columnResizingListenerSetup_MetadataColumn() { final MetadataCol52 column = new MetadataCol52(); column.setMetadata("metadata"); final GridColumn<?> uiColumn = factory.convertColumn(column, access, gridWidget); assertTrue(uiColumn instanceof BaseUiColumn); assertEquals((int) uiColumn.getWidth(), column.getWidth()); uiColumn.setWidth(200.0); assertEquals(200, column.getWidth()); }
@Test public void columnResizingListenerSetup_AttributeColumn() { final AttributeCol52 column = new AttributeCol52(); column.setAttribute(RuleAttributeWidget.SALIENCE_ATTR); final GridColumn<?> uiColumn = factory.convertColumn(column, access, gridWidget); assertTrue(uiColumn instanceof BaseUiColumn); assertEquals((int) uiColumn.getWidth(), column.getWidth()); uiColumn.setWidth(200.0); assertEquals(200, column.getWidth()); }
@Test public void columnResizingListenerSetup_DescriptionColumn() { final BaseColumn column = new DescriptionCol52(); final GridColumn<?> uiColumn = factory.convertColumn(column, access, gridWidget); assertTrue(uiColumn instanceof BaseUiColumn); assertEquals((int) uiColumn.getWidth(), column.getWidth()); assertEquals(150.0, column.getWidth(), 0.0); uiColumn.setWidth(200.0); assertEquals(200, column.getWidth()); }