Dillo
|
#include <oofpositionedmgr.hh>
Classes | |
class | Child |
Public Member Functions | |
OOFPositionedMgr (OOFAwareWidget *container) | |
~OOFPositionedMgr () | |
void | sizeAllocateStart (OOFAwareWidget *caller, core::Allocation *allocation) |
void | sizeAllocateEnd (OOFAwareWidget *caller) |
void | containerSizeChangedForChildren () |
void | draw (core::View *view, core::Rectangle *area, core::DrawingContext *context) |
void | markSizeChange (int ref) |
void | markExtremesChange (int ref) |
core::Widget * | getWidgetAtPoint (int x, int y, core::GettingWidgetAtPointContext *context) |
void | addWidgetInFlow (OOFAwareWidget *widget, OOFAwareWidget *parent, int externalIndex) |
int | addWidgetOOF (core::Widget *widget, OOFAwareWidget *generator, int externalIndex) |
void | moveExternalIndices (OOFAwareWidget *generator, int oldStartIndex, int diff) |
void | tellPosition1 (core::Widget *widget, int x, int y) |
Called before tellPosition2, see there for more. More... | |
void | tellPosition2 (core::Widget *widget, int x, int y) |
Called after tellPosition1. More... | |
void | tellIncompletePosition1 (core::Widget *generator, core::Widget *widget, int x, int y) |
void | tellIncompletePosition2 (core::Widget *generator, core::Widget *widget, int x, int y) |
bool | containerMustAdjustExtraSpace () |
int | getLeftBorder (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex) |
int | getRightBorder (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex) |
bool | hasFloatLeft (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex) |
bool | hasFloatRight (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex) |
int | getLeftFloatHeight (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex) |
int | getRightFloatHeight (int y, int h, OOFAwareWidget *lastGen, int lastExtIndex) |
int | getClearPosition (OOFAwareWidget *widget) |
bool | affectsLeftBorder (core::Widget *widget) |
bool | affectsRightBorder (core::Widget *widget) |
bool | mayAffectBordersAtAll () |
bool | dealingWithSizeOfChild (core::Widget *child) |
int | getNumWidgets () |
core::Widget * | getWidget (int i) |
Public Member Functions inherited from dw::oof::OutOfFlowMgr | |
OutOfFlowMgr () | |
virtual | ~OutOfFlowMgr () |
virtual void | calcWidgetRefSize (core::Widget *widget, core::Requisition *size)=0 |
virtual void | getSize (core::Requisition *containerReq, int *oofWidth, int *oofHeight)=0 |
virtual void | getExtremes (core::Extremes *containerExtr, int *oofMinWidth, int *oofMaxWidth)=0 |
virtual int | getAvailWidthOfChild (core::Widget *child, bool forceValue)=0 |
virtual int | getAvailHeightOfChild (core::Widget *child, bool forceValue)=0 |
Protected Types | |
enum | { NOT_ALLOCATED, IN_ALLOCATION, WAS_ALLOCATED } |
Protected Member Functions | |
bool | getPosLeft (core::Widget *child, int availWidth, int *result) |
bool | getPosRight (core::Widget *child, int availWidth, int *result) |
bool | getPosTop (core::Widget *child, int availHeight, int *result) |
bool | getPosBottom (core::Widget *child, int availHeight, int *result) |
bool | getPosBorder (core::style::Length cssValue, int refLength, int *result) |
bool | allChildrenConsideredForSize () |
bool | allChildrenConsideredForExtremes () |
bool | doChildrenExceedContainer () |
virtual void | sizeAllocateChildren ()=0 |
virtual bool | posXAbsolute (Child *child)=0 |
virtual bool | posYAbsolute (Child *child)=0 |
bool | generatorPosDefined (Child *child) |
int | generatorPosX (Child *child) |
int | generatorPosY (Child *child) |
bool | posXDefined (Child *child) |
bool | posYDefined (Child *child) |
Protected Attributes | |
OOFAwareWidget * | container |
core::Allocation | containerAllocation |
enum dw::oof::OOFPositionedMgr:: { ... } | containerAllocationState |
lout::container::typed::Vector < Child > * | children |
lout::container::typed::HashTable < lout::object::TypedPointer < dw::core::Widget >, Child > * | childrenByWidget |
dw::oof::OOFPositionedMgr::OOFPositionedMgr | ( | OOFAwareWidget * | container | ) |
References DBG_OBJ_CREATE, DBG_OBJ_SET_NUM, and dw::core::Widget::getAllocation().
dw::oof::OOFPositionedMgr::~OOFPositionedMgr | ( | ) |
References DBG_OBJ_DELETE.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
References DBG_OBJ_ARRSET_PTR, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM, DBG_OBJ_SET_NUM_O, and DBG_OBJ_SET_PTR_O.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
protected |
|
protected |
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
References DBG_OBJ_ENTER0, and DBG_OBJ_LEAVE.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Reimplemented in dw::oof::OOFPosRelMgr.
|
protected |
References dw::core::Allocation::ascent, dw::core::Requisition::ascent, DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, dw::core::Allocation::descent, dw::core::Requisition::descent, dw::core::Widget::getAllocation(), dw::oof::OOFPositionedMgr::Child::widget, dw::core::Allocation::width, dw::core::Requisition::width, dw::core::Allocation::x, and dw::core::Allocation::y.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, dw::core::Widget::draw(), dw::core::StackingProcessingContext::hasWidgetBeenProcessedAsInterruption(), dw::core::Rectangle::height, dw::core::Widget::intersects(), dw::oof::OOFPositionedMgr::Child::widget, dw::core::Rectangle::width, dw::core::Rectangle::x, and dw::core::Rectangle::y.
|
inlineprotected |
References containerAllocationState, dw::oof::OOFPositionedMgr::Child::generator, NOT_ALLOCATED, and dw::core::Widget::wasAllocated().
Referenced by generatorPosX(), generatorPosY(), posXDefined(), and posYDefined().
|
inlineprotected |
|
inlineprotected |
|
virtual |
Return value is relative to the calling generator (not container).
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Get the left border for the vertical position of y, for a height of h", based on floats; relative to the *container.
The border includes marging/border/padding of the calling textblock but is 0 if there is no float, so a caller should also consider other borders.
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Assuming there is a float on the left side, return the rest height of it. y is relative to the container.
See also getLeftBorder().
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
protected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
virtual |
Get the right border for the vertical position of y, for a height of h, based on floats; relative to the container.
See also getLeftBorder().
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Assuming there is a float on the right side, return the rest height of it. y is relative to the container.
See also getLeftFloatHeight(), getLeftBorder().
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
virtual |
|
virtual |
Return whether there is a float on the left side. y is relative to the container.
See also getLeftBorder().
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Return whether there is a float on the right side. y is relative to the container.
See also hasFloatLeft(), getLeftBorder();
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Reimplemented in dw::oof::OOFPosRelMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Reimplemented in dw::oof::OOFPosRelMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
References DBG_OBJ_SET_NUM_O, dw::oof::OOFPositionedMgr::Child::externalIndex, and dw::oof::OOFPositionedMgr::Child::widget.
|
protectedpure virtual |
Implemented in dw::oof::OOFPosAbsLikeMgr, and dw::oof::OOFPosRelMgr.
Referenced by posXDefined().
|
inlineprotected |
|
protectedpure virtual |
Implemented in dw::oof::OOFPosAbsLikeMgr, and dw::oof::OOFPosRelMgr.
Referenced by posYDefined().
|
inlineprotected |
References generatorPosDefined(), and posYAbsolute().
Referenced by dw::oof::OOFPosRelMgr::getSize(), and dw::oof::OOFPosAbsLikeMgr::getSize().
|
protectedpure virtual |
Implemented in dw::oof::OOFPosAbsLikeMgr, and dw::oof::OOFPosRelMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
References DBG_OBJ_ENTER, and DBG_OBJ_LEAVE.
|
virtual |
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Called before tellPosition2, see there for more.
Implements dw::oof::OutOfFlowMgr.
|
virtual |
Called after tellPosition1.
An implementation should only implement either tellPosition1 or tellPosition2. Coordinates are relative to the container.
Implements dw::oof::OutOfFlowMgr.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_SET_NUM_O, dw::oof::OOFPositionedMgr::Child::widget, dw::oof::OOFPositionedMgr::Child::x, and dw::oof::OOFPositionedMgr::Child::y.
|
protected |
Referenced by dw::oof::OOFPosRelMgr::getExtremes(), dw::oof::OOFPosAbsLikeMgr::getExtremes(), dw::oof::OOFPosRelMgr::getSize(), dw::oof::OOFPosAbsLikeMgr::getSize(), dw::oof::OOFPosRelMgr::markSizeChange(), dw::oof::OOFPosRelMgr::sizeAllocateChildren(), and dw::oof::OOFPosAbsLikeMgr::sizeAllocateChildren().
|
protected |
|
protected |
Referenced by dw::oof::OOFPosAbsMgr::containerBoxOffsetX(), dw::oof::OOFPosAbsMgr::containerBoxOffsetY(), dw::oof::OOFPosAbsMgr::containerBoxRestHeight(), dw::oof::OOFPosAbsMgr::containerBoxRestWidth(), dw::oof::OOFPosAbsLikeMgr::getAvailHeightOfChild(), dw::oof::OOFPosAbsLikeMgr::getAvailWidthOfChild(), dw::oof::OOFPosRelMgr::getChildPosX(), dw::oof::OOFPosRelMgr::getChildPosY(), dw::oof::OOFPosAbsLikeMgr::getSize(), and dw::oof::OOFPosAbsLikeMgr::sizeAllocateChildren().
|
protected |
enum { ... } dw::oof::OOFPositionedMgr::containerAllocationState |
Referenced by generatorPosDefined().