You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you try to enable the fill handle in a NatTable that has also the freeze feature enabled, the fill handle does not work in the frozen areas.
The reason is that the FillHandleLayerPainter stores the bounds of the fill handle internally, so they can be inspected in other places. In the freeze composition the FillHandleLayerPainter is executed for every region, so the fill handle bounds are only available for the non-frozen area.
The combination of freeze and fill handle should be possible in every case.
The text was updated successfully, but these errors were encountered:
To support the combination of the fill handle and the freeze functionality, the following changes needed to be introduced:
Added a new interface FillHandleBoundsProvider
Added a new helper class FillHandleLayerPainterHelper to retrieve fill handle configurations
Extended CompositeLayer#CompositeLayerPainter and added the method processLayerPainterInformation(ILayerPainterpainter) which is called after each sub layer painter
Added a new class FillHandleCompositeFreezeLayerPainter that makes use of the new processLayerPainterInformation() method to store the fill handle bounds from all 4 freeze regions once, and to paint the fill handle over the freeze border
Added new constructors inDefaultFormulaConfiguration and FillHandleConfiguration that additionally takes a FillHandleBoundsProvider that should be used with the matcher
To make the combination of freeze and fill handle work correctly, the FillHandleCompositeFreezeLayerPainter needs to be used and configured:
this.compositeFreezeLayerPainter = new FillHandleCompositeFreezeLayerPainter(this.compositeFreezeLayer);
this.compositeFreezeLayer.setLayerPainter(this.compositeFreezeLayerPainter);
...
natTable.addConfiguration(
new FillHandleConfiguration(
bodyLayer.getSelectionLayer(),
bodyLayer.getCompositeFreezeLayerPainter()));
natTable.addConfiguration(
new DefaultFormulaConfiguration(
bodyLayer.getFormulaDataProvider(),
bodyLayer.getSelectionLayer(),
natTable.getInternalCellClipboard(),
bodyLayer.getCompositeFreezeLayerPainter()));
There is also a new example _819_FormulaDataWithFreezeExample that shows the combination of formula support, fill handle, freeze and additionally the export to xlsx and showing the JFace ProgressDialog on export.
When you try to enable the fill handle in a NatTable that has also the freeze feature enabled, the fill handle does not work in the frozen areas.
The reason is that the
FillHandleLayerPainter
stores the bounds of the fill handle internally, so they can be inspected in other places. In the freeze composition theFillHandleLayerPainter
is executed for every region, so the fill handle bounds are only available for the non-frozen area.The combination of freeze and fill handle should be possible in every case.
The text was updated successfully, but these errors were encountered: