aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2015-02-01 23:50:18 +0100
committerSebastian Geerken <devnull@localhost>2015-02-01 23:50:18 +0100
commit76ef5d3794d67fed2e6ff65d48781674d335309b (patch)
treec6998bfa49bacb007148e5b67b54518733b175b3 /doc
parent8ad3c10d06eaa5143fe60f899ad623695764a620 (diff)
Fixed endless recursion. Also cleanup and documentation update.
Diffstat (limited to 'doc')
-rw-r--r--doc/dw-miscellaneous.doc25
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
---------------