diff options
author | Sebastian Geerken <devnull@localhost> | 2015-02-01 23:50:18 +0100 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2015-02-01 23:50:18 +0100 |
commit | 76ef5d3794d67fed2e6ff65d48781674d335309b (patch) | |
tree | c6998bfa49bacb007148e5b67b54518733b175b3 /doc | |
parent | 8ad3c10d06eaa5143fe60f899ad623695764a620 (diff) |
Fixed endless recursion. Also cleanup and documentation update.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/dw-miscellaneous.doc | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/doc/dw-miscellaneous.doc b/doc/dw-miscellaneous.doc index e6dcf4c0..a94ca504 100644 --- a/doc/dw-miscellaneous.doc +++ b/doc/dw-miscellaneous.doc @@ -136,15 +136,24 @@ Positioned elements outside of the container Relative positions ------------------ -Relatively positioned elements are currently not supported. Some notes -for an implementation: - -- It is important to find a suitable parent widget. Ideas described in - \ref dw-pos-elements-outside-container may be useful. - At the original position, a space as large as the positioned element - should be left. This may be implemented by assigning a size to the - widget *reference*. Also, handling changes of the size of the - positioned element may become tricky. + is left. This is implemented by assigning a size to the widget + *reference*. For this there are two new methods: + dw::oof::OutOfFlowMgr::calcWidgetRefSize and + dw::oof::OOFAwareWidget::widgetRefSizeChanged. + +- **Bug:** Since the size of a relatively positioned element should be + calculated as if it was in flow, the available width should be + delegated to the *generator*; however, since + dw::oof::OOFPosRelMgr::dealingWithSizeOfChild returns *false* in all + cases, it is delegated to the *container*. **Idea for fix:** + dw::oof::OOFPosRelMgr::dealingWithSizeOfChild should return *false* + if and only if the generator of the child is the container (to + prevent an endless recursion). In other cases, + dw::oof::OOFPosRelMgr::getAvailWidthOfChild and + dw::oof::OOFPosRelMgr::getAvailHeightOfChild should directly call + the respective methods of the *generator*, which must be made public + then. Fixed positions --------------- |