aboutsummaryrefslogtreecommitdiff
path: root/dw/textblock.cc
diff options
context:
space:
mode:
Diffstat (limited to 'dw/textblock.cc')
-rw-r--r--dw/textblock.cc24
1 files changed, 17 insertions, 7 deletions
diff --git a/dw/textblock.cc b/dw/textblock.cc
index d2fb7857..0bf4b08a 100644
--- a/dw/textblock.cc
+++ b/dw/textblock.cc
@@ -708,12 +708,16 @@ int Textblock::getAvailWidthOfChild (Widget *child, bool forceValue)
int width = Widget::getAvailWidthOfChild (child, forceValue);
- if (forceValue && this == child->getContainer () &&
- !mustBeWidenedToAvailWidth ()) {
- core::Extremes extremes;
- getExtremes (&extremes);
- if (width > extremes.maxWidth)
- width = extremes.maxWidth;
+ if (outOfFlowMgr && outOfFlowMgr->dealingWithSizeOfChild (child))
+ width = outOfFlowMgr->getAvailWidthOfChild (child, forceValue);
+ else {
+ if (forceValue && this == child->getContainer () &&
+ !mustBeWidenedToAvailWidth ()) {
+ core::Extremes extremes;
+ getExtremes (&extremes);
+ if (width > extremes.maxWidth)
+ width = extremes.maxWidth;
+ }
}
DBG_OBJ_MSGF ("resize", 1, "=> %d", width);
@@ -721,7 +725,13 @@ int Textblock::getAvailWidthOfChild (Widget *child, bool forceValue)
return width;
}
-
+int Textblock::getAvailHeightOfChild (core::Widget *child, bool forceValue)
+{
+ if (outOfFlowMgr && outOfFlowMgr->dealingWithSizeOfChild (child))
+ return outOfFlowMgr->getAvailHeightOfChild (child, forceValue);
+ else
+ return Widget::getAvailHeightOfChild (child, forceValue);
+}
void Textblock::containerSizeChangedForChildren ()
{