This patch changes Grid Columns, so they can have different value and presentation types. A presentation provider can be given when setting the renderer for a column. This provider takes the value of the column on a row and chooses what to present for this value. Using this approach it is easier to have an editor for the actual backing data instead of the presentation of it.
Fixes #8656
Resolves #9588
Added constructor to Grid for compatibility with 8.0.7 (#9206) (#9209)
Constructor Grid(Class, DataCommunicator) was added to 8.0.7 and ported
to master to maintain backward compatibility.
Also fixed javadocs of constructors Grid(DataCommunicator) and
Grid(PropertySet, DataCommunicator) to reflect that constructors were
backported to 8.0.x and available since 8.0.7
Make getValueProvider return ValueProvider (#8983)
* Make getValueProvider return ValueProvider
The instance can only be a ValueProvider, but the getter previously
returned a less specific type. Making the getter return ValueProvider
makes it easier to reuse the provider in other contexts that require
ValueProvider, e.g. when adding filters to a ListDataProvider.
* Fix NPE sorting columns with null values
Sorting a column in Grid throws a NullPointerException if there are null values and we are using the default TextRenderer
* Test for #8610
* Update Grid.java
* Update GridNullValueSortTest.java
* Update GridNullValueSortTest.java
* Add initial implementation of TreeGrid
* Refactor TreeGrid and related classes
* Fix potential class cast exception in TreeGrid#getDataProvider
* Add smoke tests for TreeGrid
* Add communication constants for TreeGrid
Use shared constant values for hierarchy data serialization and deserialization
* Fix event ordering in TreeGrid, add javadocs, keyboard navigation test
* TreeGrid improvements
* Add TreeGrid.getDataProvider to StateGetDoesNotMarkDirtyTest exclude list
* Merge remote-tracking branch 'github/master' into tree-grid
* Remove getEscalator override from TreeGrid
* Added column should also be added to footer (#590)
When adding (readding) a column the column should also be
added to footer as it will be removed and iterator will request footer for it.
* Add test for re-add column (#590)
* To lowerCase using Locale
* Fixed compilation problem.
Too little sleep for a friday evening...