aboutsummaryrefslogtreecommitdiff
path: root/devdoc/dw-size-request-pos.doc
diff options
context:
space:
mode:
Diffstat (limited to 'devdoc/dw-size-request-pos.doc')
-rw-r--r--devdoc/dw-size-request-pos.doc33
1 files changed, 17 insertions, 16 deletions
diff --git a/devdoc/dw-size-request-pos.doc b/devdoc/dw-size-request-pos.doc
index fddf76c8..88e51097 100644
--- a/devdoc/dw-size-request-pos.doc
+++ b/devdoc/dw-size-request-pos.doc
@@ -6,9 +6,6 @@
dw-widget-sizes, \ref dw-grows, and **Size requisitions depending on
positions** (this document).</div>
-<div style="border: 2px solid #ff4040; margin: 1em 0;
- padding: 0.5em 1em; background-color: #fff0f0"><b>Info:</b>
- May not be up to date, needs a review.</div>
Motivation
==========
@@ -99,18 +96,21 @@ Currently, the size of a widget has to be recalculated, when
1. it has called dw::core::Widget::queueResize, or
2. the size of a child widget has to be recalculated.
-Since for this new approach, the size does not only depend on the size
-of the children, the second condition must be modified. However,
-regarding changes of the position is not sufficient. Consider this
-example, where a float size changes as soon as the image is loaded:
+Since for this new approach, the size does not only depend on the size of the
+children, the second condition must be modified. See beginning of
+dw::core::Widget::sizeRequest.
-\image html dw-size-request-pos-01.png
+Regarding changes of the position is not sufficient. Consider this example,
+where a float size changes as soon as the image is loaded:
-The second paragraph ("A longer paragraph" ...) stays at the same
-position, both absolute and relative to the float container, but has
-to be rewrapped because of the float.
+\image html dw-size-request-pos-01.png
-(TODO: A detailed design is yet to de developed.)
+The second paragraph ("A longer paragraph" ...) stays at the same position, both
+absolute and relative to the float container, but has to be rewrapped because of
+the float. Instead, this is handled by dw::oof::OutOfFlowMgr::markSizeChange
+(and likewise dw::oof::OutOfFlowMgr::markExtremesChange), which is called by the
+implementation of `markSizeChange` (or `markExtremesChange`, respectively) of
+the OOF container. (See also the end of the comment of dw::oof::OOFAwareWidget.)
Plan
@@ -119,8 +119,7 @@ Plan
1. General design (dw::core::Widget::sizeRequestReference, changes to
dw::core::Widget::sizeRequest). Completed.
-2. Implementation for dw::Textblock. Completed. (**TODO:** Check how the return
- values of `get*Border` are used.)
+2. Implementation for dw::Textblock. Completed.
3. Change interface of dw::oof::OutOfFlowMgr (this affects mostly only
comments). Completed.
@@ -139,10 +138,12 @@ Plan
<b>Attention:</b> After this step, and before completing the next steps, the
code is inconsistend and so incorrect.
-5. Implement step 3 for floats (affects dw::oof::OOFFloatsMgr). **IN WORK.**
+5. Implement step 3 for floats (affects dw::oof::OOFFloatsMgr). **MOSTLY
+ COMPLETED.**
6. Implement step 3 for positioned elements (affects only
- dw::oof::OOFPositionedMgr). **INCOMPLETE.**
+ dw::oof::OOFPositionedMgr). **INCOMPLETE.** (But positioned elements are
+ currently deactivated.)
Issues