Sashform drag does not work due to effect of textsize recalculation [message #1787643] |
Wed, 30 May 2018 11:38 |
Coffee Cup Messages: 2 Registered: November 2017 |
Junior Member |
|
|
I've got a Composite a where you can click on an item, that opens another (detail) ScrolledComposite b downside .
Inside b there are textfields.
The problem:
The very first time you click on an item in composite a, and drag the sashform widget (make a resize) the resizing does not work. the position of the sashform drag jumps to a specific different (default?) Position (due to Shell recalculation, see My research:). The next times it does work. When you click on another item in composite a, the same effect appears -> first time it does not work. the second time it does.
My research:
When a resize event is fired (like moving the sashform widget), for every textelement in Composite b a TextSizeStorage.lookupTextSize(...) is run. It checks, if the text (key with size) is in its "cache". if not, the textsize is getting determined and finally put inside the "cache". But there is also the effect that TextSizeRecalculation.execute(); and a forceShellRecalculations( shell ); is run, and this "overrides" the target position of my drag of Sashform.
Result: My sashform drag position is lost in space :) ...is not taken into account.
The next time, making a resize by draging the SashForm Widget, it works - because the textelement with its textsize is already in the "cache", no TextSizeRecalculation etc. is run.
Any hint, how to solve this working also for the first time?
[Updated on: Wed, 30 May 2018 11:43] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.03298 seconds