diff options
author | Sebastian Geerken <devnull@localhost> | 2015-01-08 14:51:23 +0100 |
---|---|---|
committer | Sebastian Geerken <devnull@localhost> | 2015-01-08 14:51:23 +0100 |
commit | 3fa61740d50d8a8fd6c61eb86e1f7a45a3762570 (patch) | |
tree | b6d857642d861fc594292ec69260bfc3cc617be0 /test/dw_simple_container.cc | |
parent | e05ebd46d570cd64c116ed4bdde669ea0962e99b (diff) | |
parent | 428094b178eb03d8e500c81837caac402e4b138c (diff) |
Merge with main repo.
Diffstat (limited to 'test/dw_simple_container.cc')
-rw-r--r-- | test/dw_simple_container.cc | 287 |
1 files changed, 145 insertions, 142 deletions
diff --git a/test/dw_simple_container.cc b/test/dw_simple_container.cc index 94dec2d5..c1f22458 100644 --- a/test/dw_simple_container.cc +++ b/test/dw_simple_container.cc @@ -27,183 +27,186 @@ using namespace lout::misc; namespace dw { - int SimpleContainer::CLASS_ID = -1; +int SimpleContainer::CLASS_ID = -1; - // ---------------------------------------------------------------------- +// ---------------------------------------------------------------------- - SimpleContainer::SimpleContainerIterator::SimpleContainerIterator - (SimpleContainer *simpleContainer, Content::Type mask, bool atEnd) : - Iterator (simpleContainer, mask, atEnd) - { - content.type = atEnd ? Content::END : Content::START; - } +SimpleContainer::SimpleContainerIterator::SimpleContainerIterator +(SimpleContainer *simpleContainer, Content::Type mask, bool atEnd) : + Iterator (simpleContainer, mask, atEnd) +{ + content.type = atEnd ? Content::END : Content::START; +} - lout::object::Object *SimpleContainer::SimpleContainerIterator::clone () - { - SimpleContainerIterator *sci = - new SimpleContainerIterator ((SimpleContainer*)getWidget(), - getMask(), false); - sci->content = content; - return sci; - } +lout::object::Object *SimpleContainer::SimpleContainerIterator::clone () +{ + SimpleContainerIterator *sci = + new SimpleContainerIterator ((SimpleContainer*)getWidget(), + getMask(), false); + sci->content = content; + return sci; +} - int SimpleContainer::SimpleContainerIterator::index () - { - switch (content.type) { - case Content::START: - return 0; - case Content::WIDGET_IN_FLOW: - return 1; - case Content::END: - return 2; - default: - assertNotReached (); - return 0; - } +int SimpleContainer::SimpleContainerIterator::index () +{ + switch (content.type) { + case Content::START: + return 0; + case Content::WIDGET_IN_FLOW: + return 1; + case Content::END: + return 2; + default: + assertNotReached (); + return 0; } +} - int SimpleContainer::SimpleContainerIterator::compareTo - (lout::object::Comparable *other) - { - return index () - ((SimpleContainerIterator*)other)->index (); - } +int SimpleContainer::SimpleContainerIterator::compareTo +(lout::object::Comparable *other) +{ + return index () - ((SimpleContainerIterator*)other)->index (); +} - bool SimpleContainer::SimpleContainerIterator::next () - { - SimpleContainer *simpleContainer = (SimpleContainer*)getWidget(); +bool SimpleContainer::SimpleContainerIterator::next () +{ + SimpleContainer *simpleContainer = (SimpleContainer*)getWidget(); - if (content.type == Content::END) - return false; + if (content.type == Content::END) + return false; - // simple containers only contain widgets: - if ((getMask() & Content::WIDGET_IN_FLOW) == 0) { - content.type = Content::END; - return false; - } + // simple containers only contain widgets: + if ((getMask() & Content::WIDGET_IN_FLOW) == 0) { + content.type = Content::END; + return false; + } - if (content.type == Content::START) { - if (simpleContainer->child != NULL) { - content.type = Content::WIDGET_IN_FLOW; - content.widget = simpleContainer->child; - return true; - } else { - content.type = Content::END; - return false; - } - } else /* if (content.type == Content::WIDGET) */ { + if (content.type == Content::START) { + if (simpleContainer->child != NULL) { + content.type = Content::WIDGET_IN_FLOW; + content.widget = simpleContainer->child; + return true; + } else { content.type = Content::END; return false; } + } else /* if (content.type == Content::WIDGET) */ { + content.type = Content::END; + return false; } +} - bool SimpleContainer::SimpleContainerIterator::prev () - { - SimpleContainer *simpleContainer = (SimpleContainer*)getWidget(); +bool SimpleContainer::SimpleContainerIterator::prev () +{ + SimpleContainer *simpleContainer = (SimpleContainer*)getWidget(); - if (content.type == Content::START) - return false; + if (content.type == Content::START) + return false; - // simple containers only contain widgets: - if ((getMask() & Content::WIDGET_IN_FLOW) == 0) { - content.type = Content::START; - return false; - } + // simple containers only contain widgets: + if ((getMask() & Content::WIDGET_IN_FLOW) == 0) { + content.type = Content::START; + return false; + } - if (content.type == Content::END) { - if (simpleContainer->child != NULL) { - content.type = Content::WIDGET_IN_FLOW; - content.widget = simpleContainer->child; - return true; - } else { - content.type = Content::START; - return false; - } - } else /* if (content.type == Content::WIDGET) */ { + if (content.type == Content::END) { + if (simpleContainer->child != NULL) { + content.type = Content::WIDGET_IN_FLOW; + content.widget = simpleContainer->child; + return true; + } else { content.type = Content::START; return false; } + } else /* if (content.type == Content::WIDGET) */ { + content.type = Content::START; + return false; } +} - void SimpleContainer::SimpleContainerIterator::highlight (int start, - int end, - HighlightLayer layer) - { - /** todo Needs this an implementation? */ - } - - void SimpleContainer::SimpleContainerIterator::unhighlight (int direction, - HighlightLayer - layer) - { - /** todo Needs this an implementation? */ - } - - void SimpleContainer::SimpleContainerIterator::getAllocation (int start, - int end, - Allocation - *allocation) - { - /** \bug Not implemented. */ - } - - // ---------------------------------------------------------------------- - - SimpleContainer::SimpleContainer () - { - registerName ("dw::SimpleContainer", &CLASS_ID); - child = NULL; - } +void SimpleContainer::SimpleContainerIterator::highlight (int start, + int end, + HighlightLayer layer) +{ + /** todo Needs this an implementation? */ +} - SimpleContainer::~SimpleContainer () - { - if (child) - delete child; - } +void SimpleContainer::SimpleContainerIterator::unhighlight (int direction, + HighlightLayer + layer) +{ + /** todo Needs this an implementation? */ +} - void SimpleContainer::sizeRequestImpl (Requisition *requisition) - { - Requisition childReq; - if (child) - child->sizeRequest (&childReq); - else - childReq.width = childReq.ascent = childReq.descent = 0; +void SimpleContainer::SimpleContainerIterator::getAllocation (int start, + int end, + Allocation + *allocation) +{ + /** \bug Not implemented. */ +} - requisition->width = childReq.width + boxDiffWidth (); - requisition->ascent = childReq.ascent + boxOffsetY (); - requisition->descent = childReq.descent + boxRestHeight (); +// ---------------------------------------------------------------------- - correctRequisition (requisition, splitHeightPreserveAscent); - } +SimpleContainer::SimpleContainer () +{ + registerName ("dw::SimpleContainer", &CLASS_ID); + child = NULL; +} +SimpleContainer::~SimpleContainer () +{ + if (child) + delete child; +} - void SimpleContainer::getExtremesImpl (Extremes *extremes) - { - Extremes childExtr; - if (child) - child->getExtremes (&childExtr); - else - childExtr.minWidth = childExtr.maxWidth = 0; +void SimpleContainer::sizeRequestImpl (Requisition *requisition) +{ + Requisition childReq; + if (child) + child->sizeRequest (&childReq); + else + childReq.width = childReq.ascent = childReq.descent = 0; - extremes->minWidth = childExtr.minWidth + boxDiffWidth (); - extremes->maxWidth = childExtr.maxWidth + boxDiffWidth (); + requisition->width = childReq.width + boxDiffWidth (); + requisition->ascent = childReq.ascent + boxOffsetY (); + requisition->descent = childReq.descent + boxRestHeight (); - correctExtremes (extremes); - } + correctRequisition (requisition, splitHeightPreserveAscent); +} - void SimpleContainer::sizeAllocateImpl (Allocation *allocation) - { - Allocation childAlloc; +void SimpleContainer::getExtremesImpl (Extremes *extremes) +{ + Extremes childExtr; + if (child) + child->getExtremes (&childExtr); + else + childExtr.minWidth = childExtr.minWidthIntrinsic = childExtr.maxWidth = + childExtr.maxWidthIntrinsic = extremes->adjustmentWidth = 0; + + extremes->minWidth = childExtr.minWidth + boxDiffWidth (); + extremes->minWidthIntrinsic = childExtr.minWidthIntrinsic + boxDiffWidth (); + extremes->maxWidth = childExtr.maxWidth + boxDiffWidth (); + extremes->maxWidthIntrinsic = childExtr.maxWidthIntrinsic + boxDiffWidth (); + extremes->adjustmentWidth = childExtr.adjustmentWidth + boxDiffWidth (); + + correctExtremes (extremes, true); +} - if (child) { - childAlloc.x = allocation->x + boxOffsetX (); - childAlloc.y = allocation->y + boxOffsetY (); - childAlloc.width = allocation->width - boxDiffWidth (); - childAlloc.ascent = allocation->ascent - boxOffsetY (); - childAlloc.descent = allocation->descent - boxRestHeight (); - child->sizeAllocate (&childAlloc); - } +void SimpleContainer::sizeAllocateImpl (Allocation *allocation) +{ + Allocation childAlloc; + + if (child) { + childAlloc.x = allocation->x + boxOffsetX (); + childAlloc.y = allocation->y + boxOffsetY (); + childAlloc.width = allocation->width - boxDiffWidth (); + childAlloc.ascent = allocation->ascent - boxOffsetY (); + childAlloc.descent = allocation->descent - boxRestHeight (); + child->sizeAllocate (&childAlloc); } +} void SimpleContainer::draw (View *view, Rectangle *area, StackingIteratorStack *iteratorStack, |