]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merge remote-tracking branch 'origin/master' into grid-7.5
authorHenrik Paul <henrik@vaadin.com>
Tue, 31 Mar 2015 11:44:23 +0000 (14:44 +0300)
committerHenrik Paul <henrik@vaadin.com>
Tue, 31 Mar 2015 11:44:23 +0000 (14:44 +0300)
Change-Id: Ife8c6d2a5f6c134a6e28e862f524b6e687199cc8

1  2 
client/src/com/vaadin/client/connectors/GridConnector.java
client/src/com/vaadin/client/widgets/Escalator.java
client/src/com/vaadin/client/widgets/Grid.java

index d17f378611be7f01e3caaa00dec24a9fb35ee2ae,5e9dfc6101f6264f3b9ef2d58471366a19623c4c..0e2ee0046bbceee0bd77971af5c7bddbad2007b2
@@@ -1133,15 -732,7 +1135,10 @@@ public class GridConnector extends Abst
       */
      private void updateColumnFromStateChangeEvent(GridColumnState columnState) {
          CustomGridColumn column = columnIdToColumn.get(columnState.id);
 +
 +        columnsUpdatedFromState = true;
          updateColumnFromState(column, columnState);
-         if (columnState.rendererConnector != column.getRendererConnector()) {
-             throw new UnsupportedOperationException(
-                     "Changing column renderer after initialization is currently unsupported");
-         }
 +        columnsUpdatedFromState = false;
      }
  
      /**
          column.setMaximumWidth(state.maxWidth);
          column.setExpandRatio(state.expandRatio);
  
+         assert state.rendererConnector instanceof AbstractRendererConnector : "GridColumnState.rendererConnector is invalid (not subclass of AbstractRendererConnector)";
+         column.setRenderer((AbstractRendererConnector<Object>) state.rendererConnector);
          column.setSortable(state.sortable);
 +
 +        column.setHidden(state.hidden);
 +        column.setHidable(state.hidable);
 +
          column.setEditable(state.editable);
          column.setEditorConnector((AbstractFieldConnector) state.editorConnector);
      }
index dad6f0fcfcd4594306503e2cac146cd5ebebfcad,4b27e17e3797a8c3abbf58b26bec2c9afef48435..20b8844623c52c7006bfba28715165e2967cd619
@@@ -2577,10 -2541,10 +2590,10 @@@ public class Grid<T> extends ResizeComp
                  final double widthFixed = Math.max(widthAsIs,
                          column.getMinimumWidth());
                  defaultExpandRatios = defaultExpandRatios
-                         && column.getExpandRatio() == -1;
+                         && (column.getExpandRatio() == -1 || column == selectionColumn);
  
                  if (isFixedWidth) {
 -                    columnSizes.put(indexOfColumn(column), widthFixed);
 +                    columnSizes.put(visibleColumns.indexOf(column), widthFixed);
                      reservedPixels += widthFixed;
                  } else {
                      nonFixedColumns.add(column);
          }
          columns = newOrder;
  
 +        List<Column<?, T>> visibleColumns = getVisibleColumns();
 +
          // Do ComplexRenderer.init and render new content
 -        conf.insertColumns(0, columns.size());
 +        conf.insertColumns(0, visibleColumns.size());
  
+         // Number of frozen columns should be kept same #16901
+         updateFrozenColumns();
          // Update column widths.
          for (Column<?, T> column : columns) {
              column.reapplyWidth();