diff options
author | Sebastian Geerken <devnull@localhost> | 2014-08-17 20:23:38 +0200 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2014-08-17 20:23:38 +0200 |
commit | caefc4a3538c0ce9fd00fafc55276dfeee68a1a8 (patch) | |
tree | 52977123aa57d63deb8960a8bd85b08978466966 /doc | |
parent | 5ddd656a1a692aa0a8eacf89ee6055c9b9b79525 (diff) |
Some corrections on recent work.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/dw-grows.doc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/doc/dw-grows.doc b/doc/dw-grows.doc index 21cdf1a0..15150338 100644 --- a/doc/dw-grows.doc +++ b/doc/dw-grows.doc @@ -89,6 +89,45 @@ The rules for the calculation: <b>Notice:</b> Currently, dw::core::Widget::getExtremesImpl must set all four members in dw::core::Extremes; this may change.</div> + +Rules for *new* methods related to resizing +=========================================== + +- Of course, *sizeRequestImpl* may (should) call *correctRequisition*, + and *getExtremesImpl* may (should) call *correctExtremes*. + +- *sizeRequestImpl* (and *correctRequisition*) is allowed to call + *getAvailWidth* and *getAvailHeight* with *forceValue* set, but + *getExtremesImpl* (and *correctExtremes*) is allowed to call these + only with *forceValue* unset. + +- For this reason, *sizeRequestImpl* is indeed allowed to call + *getExtremes* (dw::Table does so), but the opposite + (*getExtremesImpl* calling *sizeRequest*) is not allowed + anymore. (Before GROWS, the standard implementation + dw::core::Widget::getExtremesImpl did so.) + +- Finally, *getAvailWidth* and *getAvailHeight* may call + *getExtremes*, if and only if *forceValue* is set. + +Here is a diagram showing all permitted dependencies: + +\dot +digraph G { + node [shape=record, fontname=Helvetica, fontsize=10, color="#c0c0c0"]; + edge [arrowhead="open", arrowtail="none", color="#404040"]; + + "sizeRequest[Impl]" -> "getExtremes[Impl]"; + "sizeRequest[Impl]" -> correctRequisition; + "getExtremes[Impl]" -> correctExtremes; + "sizeRequest[Impl]" -> "getAvail[Width|Height] (true)"; + "getExtremes[Impl]" -> "getAvail[Width|Height] (false)"; + correctRequisition -> "getAvail[Width|Height] (true)"; + correctExtremes -> "getAvail[Width|Height] (false)"; + "getAvail[Width|Height] (true)" -> "getExtremes[Impl]"; +} +\enddot + Open issues =========== |