diff options
author | Sebastian Geerken <devnull@localhost> | 2015-06-08 22:18:41 +0200 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2015-06-08 22:18:41 +0200 |
commit | 7c8f69de8bc95c6078ee5fc0b63d263a80f31b44 (patch) | |
tree | b495c1320496cd5ff67c56b6a07d5a79c218455b /dw/widget.cc | |
parent | 826577556fa8b8eedcf1620b4104115d83dbce0b (diff) |
SRDOP: Positions relative to multiple references; design now considers handling conflicts.
Diffstat (limited to 'dw/widget.cc')
-rw-r--r-- | dw/widget.cc | 53 |
1 files changed, 46 insertions, 7 deletions
diff --git a/dw/widget.cc b/dw/widget.cc index 18555fa4..b3d47efb 100644 --- a/dw/widget.cc +++ b/dw/widget.cc @@ -567,8 +567,8 @@ bool Widget::usesAvailHeight () * \brief This method is a wrapper for Widget::sizeRequestImpl(); it calls * the latter only when needed. */ -void Widget::sizeRequest (Requisition *requisition, bool posDefined, int x, - int y) +void Widget::sizeRequest (Requisition *requisition, int numPos, + Widget **references, int *x, int *y) { assert (!queueResizeEntered ()); @@ -588,7 +588,7 @@ void Widget::sizeRequest (Requisition *requisition, bool posDefined, int x, if (needsResize ()) { calcExtraSpace (); /** \todo Check requisition == &(this->requisition) and do what? */ - sizeRequestImpl (requisition, posDefined, x, y); + sizeRequestImpl (requisition, numPos, references, x, y); this->requisition = *requisition; unsetFlags (NEEDS_RESIZE); @@ -988,7 +988,8 @@ int Widget::calcHeight (style::Length cssValue, bool usePercentage, /** * \brief Wrapper for Widget::getExtremesImpl(). */ -void Widget::getExtremes (Extremes *extremes, bool posDefined, int x, int y) +void Widget::getExtremes (Extremes *extremes, int numPos, Widget **references, + int *x, int *y) { assert (!queueResizeEntered ()); @@ -1011,7 +1012,7 @@ void Widget::getExtremes (Extremes *extremes, bool posDefined, int x, int y) // For backward compatibility (part 1/2): extremes->minWidthIntrinsic = extremes->maxWidthIntrinsic = -1; - getExtremesImpl (extremes, posDefined, x, y); + getExtremesImpl (extremes, numPos, references, x, y); // For backward compatibility (part 2/2): if (extremes->minWidthIntrinsic == -1) @@ -1054,13 +1055,25 @@ void Widget::calcExtraSpace () DBG_OBJ_SET_NUM ("extraSpace.right", extraSpace.right); } -Widget *Widget::sizeRequestReference () +int Widget::numSizeRequestReferences () { + return 0; +} + +Widget *Widget::sizeRequestReference (int index) +{ + misc::assertNotReached (); return NULL; } -Widget *Widget::getExtremesReference () +int Widget::numGetExtremesReferences () { + return 0; +} + +Widget *Widget::getExtremesReference (int index) +{ + misc::assertNotReached (); return NULL; } @@ -1543,6 +1556,32 @@ void Widget::getPaddingArea (int *xPad, int *yPad, int *widthPad, *heightPad -= style->borderWidth.top + style->borderWidth.bottom; } +void Widget::sizeRequestImpl (Requisition *requisition, int numPos, + Widget **references, int *x, int *y) +{ + // Use the simple variant. + sizeRequestSimpl (requisition); +} + +void Widget::sizeRequestSimpl (Requisition *requisition) +{ + // Either variant should be implemented. + misc::assertNotReached (); +} + +void Widget::getExtremesImpl (Extremes *extremes, int numPos, + Widget **references, int *x, int *y) +{ + // Use the simple variant. + getExtremesSimpl (extremes); +} + +void Widget::getExtremesSimpl (Extremes *extremes) +{ + // Either variant should be implemented. + misc::assertNotReached (); +} + void Widget::sizeAllocateImpl (Allocation *allocation) { } |