[SOLVED] Problem with ColumGroupHeaderLayer and SortHeaderLayer [message #1062217] |
Thu, 06 June 2013 10:28  |
Eclipse User |
|
|
|
Hi,
I just migrated from NatTable SF-2.3.1 to the new Nebula 1.0.0 release.
Now, when sorting the first column in a ColumnGroup, the sort icon gets painted on the GroupHeader as well (see screenshot - unfortunately i can't include the image in the post directly).
ht tp://s12.postimg.org/b2ngthbul/screen.png
The problem seems to be SortHeaderLayer#getConfigLabelsByPosition which also adds the "SORT_UP"-Label to the GroupHeader.
My configuration is:
columnHeaderLayer = new ColumnHeaderLayer(columnHeaderDataLayer, bodyLayer, selectionLayer, false);
columnHeaderLayer.addConfiguration(new MyColumnHeaderLayerConfiguration());
columnGroupHeaderLayer = new ColumnGroupHeaderLayer(columnHeaderLayer, selectionLayer, columnGroupModel,false);
columnGroupHeaderLayer.addConfiguration(new MyColumnGroupHeaderLayerConfiguration(columnGroupModel));
sortableColumnHeaderLayer = new SortHeaderLayer<T>(columnGroupHeaderLayer, sortModel, false);
I tried a different ordering of ther layers, but with any different order the ColumnGroupHeader dissapears. Anyone has an idea what i am doing wrong?
[Updated on: Wed, 12 June 2013 05:22] by Moderator
|
|
|
|
|
|
Re: Problem with ColumGroupHeaderLayer and SortHeaderLayer [message #1062917 is a reply to message #1062896] |
Tue, 11 June 2013 07:50   |
Eclipse User |
|
|
|
Quote:The ColumnGroupHeaderLayer constructor expects a ColumnHeaderLayer so I suspect that inserting a SortHeaderLayer in between isn't supported
That's wrong! The ColumnGroupHeaderLayer constructor expects an ILayer as underlying layer. The parameter is named columnHeaderLayer which leads to missinterpretion!
Quote:I also tried composing both the SortHeaderLayer and the ColumnGroupHeaderLayer on top of the ColumnHeaderLayer (i.e parallel)
Of course this isn't working because the layers are stacked!
When I'm building my layer stack up like following, everything works as expected:
DefaultColumnHeaderDataLayer dataLayer = new DefaultColumnHeaderDataLayer(dataProvider);
ColumnHeaderLayer columnHeaderLayer = new ColumnHeaderLayer(dataLayer, bodyLayerStack, bodyLayerStack.getSelectionLayer());
SortHeaderLayer<T> sortHeaderLayer = new SortHeaderLayer<T>(
columnHeaderLayer,
new GlazedListsSortModel<T>(
bodyLayerStack.sortedList,
columnPropertyAccessor,
configRegistry,
dataLayer),
false);
ColumnGroupHeaderLayer columnGroupHeaderLayer = new ColumnGroupHeaderLayer(
sortHeaderLayer, bodyLayerStack.selectionLayer, model);
|
|
|
|
Re: Problem with ColumGroupHeaderLayer and SortHeaderLayer [message #1063093 is a reply to message #1062919] |
Wed, 12 June 2013 05:22  |
Eclipse User |
|
|
|
I just inspected my code some more and found that the FilterRowHeaderComposite registered on top of the SortHeaderLayer. So even when I tried your suggested composition, the FilterRowHeaderComposite would register on top of the SortHeaderLayer an thus disabling the ColumnGroupHeaderLayer. Thanks for your patience and pointing me in the right direction.
|
|
|
Powered by
FUDForum. Page generated in 0.14893 seconds