Dillo v3.1.1-98-g318d1f14
|
OutOfFlowMgr implementation dealing with floats. More...
#include <ooffloatsmgr.hh>
Classes | |
class | Float |
class | SortedFloatsVector |
This list is kept sorted. More... | |
class | TBInfo |
class | WidgetInfo |
Public Member Functions | |
OOFFloatsMgr (OOFAwareWidget *container, int oofmIndex) | |
~OOFFloatsMgr () | |
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 *textblock, OOFAwareWidget *parentBlock, int externalIndex) |
int | addWidgetOOF (core::Widget *widget, OOFAwareWidget *generatingBlock, int externalIndex) |
void | calcWidgetRefSize (core::Widget *widget, core::Requisition *size) |
void | moveExternalIndices (OOFAwareWidget *generatingBlock, int oldStartIndex, int diff) |
void | tellPosition1 (core::Widget *widget, int x, int y) |
Called before tellPosition2, see there for more. | |
void | tellPosition2 (core::Widget *widget, int x, int y) |
Called after tellPosition1. | |
void | tellIncompletePosition1 (core::Widget *generator, core::Widget *widget, int x, int y) |
void | tellIncompletePosition2 (core::Widget *generator, core::Widget *widget, int x, int y) |
void | getSize (core::Requisition *cbReq, int *oofWidth, int *oofHeight) |
bool | containerMustAdjustExtraSpace () |
void | getExtremes (core::Extremes *cbExtr, int *oofMinWidth, int *oofMaxWidth) |
int | getLeftBorder (int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
Get the left border for the vertical position of y, for a height of h", based on floats; relative to the *container. | |
int | getRightBorder (int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
Get the right border for the vertical position of y, for a height of h, based on floats; relative to the container. | |
bool | hasFloatLeft (int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
Return whether there is a float on the left side. | |
bool | hasFloatRight (int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
Return whether there is a float on the right side. | |
int | getLeftFloatHeight (int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
Assuming there is a float on the left side, return the rest height of it. | |
int | getRightFloatHeight (int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
Assuming there is a float on the right side, return the rest height of it. | |
bool | affectsLeftBorder (core::Widget *widget) |
bool | affectsRightBorder (core::Widget *widget) |
bool | mayAffectBordersAtAll () |
int | getClearPosition (OOFAwareWidget *textblock) |
Return value is relative to the calling generator (not container). | |
bool | dealingWithSizeOfChild (core::Widget *child) |
int | getAvailWidthOfChild (core::Widget *child, bool forceValue) |
int | getAvailHeightOfChild (core::Widget *child, bool forceValue) |
int | getNumWidgets () |
core::Widget * | getWidget (int i) |
Public Member Functions inherited from dw::oof::OutOfFlowMgr | |
OutOfFlowMgr () | |
virtual | ~OutOfFlowMgr () |
Private Types | |
enum | Side { LEFT , RIGHT } |
Private Member Functions | |
void | moveExternalIndices (lout::container::typed::Vector< Float > *list, int oldStartIndex, int diff) |
Float * | findFloatByWidget (core::Widget *widget) |
void | updateGenerators (Float *vloat) |
Update all generators which are affected by a given float. | |
int | findTBInfo (int y) |
y is given relative to the container. | |
void | sizeAllocateFloats (Side side) |
int | getGBWidthForAllocation (Float *vloat) |
int | calcFloatX (Float *vloat) |
Return position of a float relative to the container. | |
void | drawFloats (SortedFloatsVector *list, core::View *view, core::Rectangle *area, core::DrawingContext *context) |
core::Widget * | getFloatWidgetAtPoint (SortedFloatsVector *list, int x, int y, core::GettingWidgetAtPointContext *context) |
bool | collidesV (Float *vloat, Float *other, int *yReal) |
bool | collidesH (Float *vloat, Float *other) |
void | getFloatsListsAndSide (Float *vloat, SortedFloatsVector **listSame, SortedFloatsVector **listOpp, Side *side) |
void | getFloatsSize (core::Requisition *cbReq, Side side, int *width, int *height) |
void | getFloatsExtremes (core::Extremes *cbExtr, Side side, int *minWidth, int *maxWidth) |
TBInfo * | getOOFAwareWidget (OOFAwareWidget *widget) |
TBInfo * | getOOFAwareWidgetWhenRegistered (OOFAwareWidget *widget) |
bool | isOOFAwareWidgetRegistered (OOFAwareWidget *widget) |
int | getBorder (Side side, int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
bool | hasFloat (Side side, int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
int | getFloatHeight (Side side, int y, int h, OOFAwareWidget *lastGB, int lastExtIndex) |
int | getClearPosition (OOFAwareWidget *widget, Side side) |
void | ensureFloatSize (Float *vloat) |
Static Private Member Functions | |
static int | createSubRefLeftFloat (int index) |
static int | createSubRefRightFloat (int index) |
static bool | isSubRefLeftFloat (int ref) |
static bool | isSubRefRightFloat (int ref) |
static int | getFloatIndexFromSubRef (int ref) |
Friends | |
class | WidgetInfo |
OutOfFlowMgr implementation dealing with floats.
Note: The identifiers and comments of this class still refer to "Textblock" instead of "OOFAwareWidget"; should be cleaned up some day. (OTOH, these widgets are always textblocks.)
Definition at line 17 of file ooffloatsmgr.hh.
|
private |
Enumerator | |
---|---|
LEFT | |
RIGHT |
Definition at line 22 of file ooffloatsmgr.hh.
dw::oof::OOFFloatsMgr::OOFFloatsMgr | ( | OOFAwareWidget * | container, |
int | oofmIndex | ||
) |
Definition at line 320 of file ooffloatsmgr.cc.
References addWidgetInFlow(), container, containerAllocation, DBG_OBJ_CREATE, DBG_OBJ_SET_BOOL, DBG_OBJ_SET_NUM, floatsByWidget, dw::core::Widget::getAllocation(), lastLeftTBIndex, lastRightTBIndex, LEFT, leftFloats, leftFloatsMark, oofmIndex, RIGHT, rightFloats, rightFloatsMark, dw::oof::OOFFloatsMgr::SortedFloatsVector::size(), SizeChanged, tbInfos, and tbInfosByOOFAwareWidget.
dw::oof::OOFFloatsMgr::~OOFFloatsMgr | ( | ) |
Definition at line 350 of file ooffloatsmgr.cc.
References DBG_OBJ_DELETE, floatsByWidget, leftFloats, rightFloats, tbInfos, and tbInfosByOOFAwareWidget.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 527 of file ooffloatsmgr.cc.
References getOOFAwareWidget(), dw::oof::OOFFloatsMgr::TBInfo::index, tbInfos, and tbInfosByOOFAwareWidget.
Referenced by OOFFloatsMgr().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 545 of file ooffloatsmgr.cc.
References lout::misc::assertNotReached(), createSubRefLeftFloat(), createSubRefRightFloat(), DBG_OBJ_ARRATTRSET_PTR, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_SET_NUM, dw::core::style::FLOAT_LEFT, dw::core::style::FLOAT_RIGHT, floatsByWidget, getOOFAwareWidget(), dw::core::Widget::getStyle(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), dw::oof::OOFFloatsMgr::TBInfo::leftFloats, leftFloats, dw::oof::OOFFloatsMgr::SortedFloatsVector::put(), lout::container::typed::Vector< T >::put(), dw::oof::OOFFloatsMgr::TBInfo::rightFloats, rightFloats, dw::oof::OOFFloatsMgr::Float::sideSpanningIndex, dw::oof::OOFFloatsMgr::SortedFloatsVector::size(), and dw::core::style::StyleAttrs::vloat.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1277 of file ooffloatsmgr.cc.
References dw::core::style::FLOAT_LEFT, dw::core::Widget::getStyle(), and dw::core::style::StyleAttrs::vloat.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1282 of file ooffloatsmgr.cc.
References dw::core::style::FLOAT_RIGHT, dw::core::Widget::getStyle(), and dw::core::style::StyleAttrs::vloat.
|
private |
Return position of a float relative to the container.
Definition at line 431 of file ooffloatsmgr.cc.
References lout::misc::assertNotReached(), dw::core::style::StyleAttrs::boxOffsetX(), dw::core::style::StyleAttrs::boxRestWidth(), container, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, ensureFloatSize(), dw::core::style::FLOAT_LEFT, dw::core::style::FLOAT_RIGHT, dw::oof::OOFFloatsMgr::Float::generator, dw::oof::OOFAwareWidget::getGeneratorWidth(), dw::oof::OOFAwareWidget::getGeneratorX(), dw::oof::OOFAwareWidget::getMaxGeneratorWidth(), dw::core::Widget::getStyle(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), lout::misc::max(), lout::misc::min(), oofmIndex, dw::oof::OOFFloatsMgr::Float::size, dw::oof::OOFAwareWidget::usesMaxGeneratorWidth(), dw::core::style::StyleAttrs::vloat, and dw::core::Requisition::width.
Referenced by collidesH(), getFloatsSize(), and sizeAllocateFloats().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 598 of file ooffloatsmgr.cc.
References dw::core::Requisition::ascent, dw::core::Requisition::descent, and dw::core::Requisition::width.
Definition at line 902 of file ooffloatsmgr.cc.
References calcFloatX(), collidesH(), ensureFloatSize(), dw::core::style::FLOAT_LEFT, dw::core::Widget::getStyle(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), dw::oof::OOFFloatsMgr::Float::size, dw::core::style::StyleAttrs::vloat, and dw::core::Requisition::width.
Referenced by collidesH(), and tellPosition1().
Definition at line 870 of file ooffloatsmgr.cc.
References dw::core::Requisition::ascent, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSGF, dw::core::Requisition::descent, ensureFloatSize(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), dw::oof::OOFFloatsMgr::Float::index, dw::oof::OOFFloatsMgr::Float::size, and dw::oof::OOFFloatsMgr::Float::yReal.
Referenced by tellPosition1().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1005 of file ooffloatsmgr.cc.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 392 of file ooffloatsmgr.cc.
References dw::core::Widget::containerSizeChanged(), DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), leftFloats, rightFloats, and dw::oof::OOFFloatsMgr::SortedFloatsVector::size().
|
inlinestaticprivate |
Definition at line 213 of file ooffloatsmgr.hh.
Referenced by addWidgetOOF().
|
inlinestaticprivate |
Definition at line 214 of file ooffloatsmgr.hh.
Referenced by addWidgetOOF().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1353 of file ooffloatsmgr.cc.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 497 of file ooffloatsmgr.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, drawFloats(), dw::core::Rectangle::height, leftFloats, rightFloats, dw::core::Rectangle::width, dw::core::Rectangle::x, and dw::core::Rectangle::y.
|
private |
Definition at line 508 of file ooffloatsmgr.cc.
References container, dw::core::Widget::draw(), dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), dw::core::StackingContextMgr::handledByStackingContextMgr(), dw::core::StackingProcessingContext::hasWidgetBeenProcessedAsInterruption(), dw::core::Widget::intersects(), and dw::oof::OOFFloatsMgr::SortedFloatsVector::size().
Referenced by draw().
|
private |
Definition at line 1321 of file ooffloatsmgr.cc.
References dw::core::Requisition::ascent, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG, DBG_OBJ_MSGF, DBG_OBJ_SET_BOOL_O, DBG_OBJ_SET_NUM_O, dw::core::Requisition::descent, dw::oof::OOFFloatsMgr::Float::dirty, dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), dw::oof::OOFFloatsMgr::Float::size, dw::core::Widget::sizeRequest(), and dw::core::Requisition::width.
Referenced by calcFloatX(), collidesH(), collidesV(), getClearPosition(), getFloatHeight(), getFloatsSize(), sizeAllocateFloats(), and tellPosition1().
|
private |
Definition at line 626 of file ooffloatsmgr.cc.
References floatsByWidget.
Referenced by tellPosition1().
|
private |
y
is given relative to the container.
Definition at line 698 of file ooffloatsmgr.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, oofmIndex, tbInfos, and dw::oof::OOFFloatsMgr::TBInfo::y.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1364 of file ooffloatsmgr.cc.
References lout::misc::notImplemented().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1358 of file ooffloatsmgr.cc.
References lout::misc::notImplemented().
|
private |
Definition at line 1118 of file ooffloatsmgr.cc.
References lout::misc::assertNotReached(), dw::core::style::StyleAttrs::boxOffsetX(), dw::core::style::StyleAttrs::boxRestWidth(), container, dw::oof::OOFFloatsMgr::Float::covers(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSGF, dw::oof::OOFFloatsMgr::SortedFloatsVector::findFirst(), dw::oof::OOFFloatsMgr::Float::generator, dw::oof::OOFAwareWidget::getGeneratorX(), dw::oof::OOFAwareWidget::getMaxGeneratorWidth(), dw::core::Widget::getStyle(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), LEFT, leftFloats, lout::misc::max(), oofmIndex, RIGHT, rightFloats, dw::oof::OOFFloatsMgr::Float::size, and dw::core::Requisition::width.
Referenced by getLeftBorder(), and getRightBorder().
|
virtual |
Return value is relative to the calling generator (not container).
Implements dw::oof::OutOfFlowMgr.
Definition at line 1252 of file ooffloatsmgr.cc.
References lout::misc::assertNotReached(), dw::core::style::StyleAttrs::clear, dw::core::style::CLEAR_BOTH, dw::core::style::CLEAR_LEFT, dw::core::style::CLEAR_NONE, dw::core::style::CLEAR_RIGHT, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, getClearPosition(), dw::core::Widget::getStyle(), LEFT, lout::misc::max(), and RIGHT.
|
private |
Definition at line 1292 of file ooffloatsmgr.cc.
References dw::core::Requisition::ascent, DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSGF, dw::core::Requisition::descent, ensureFloatSize(), dw::oof::OOFFloatsMgr::SortedFloatsVector::findFloatIndex(), dw::oof::OOFFloatsMgr::Float::generator, dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), dw::oof::OOFAwareWidget::getGeneratorY(), LEFT, leftFloats, lout::misc::max(), oofmIndex, rightFloats, dw::oof::OOFFloatsMgr::Float::size, and dw::oof::OOFFloatsMgr::Float::yReal.
Referenced by getClearPosition().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1010 of file ooffloatsmgr.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, getFloatsExtremes(), LEFT, lout::misc::max(), dw::core::Extremes::maxWidth, dw::core::Extremes::minWidth, and RIGHT.
|
private |
Definition at line 1227 of file ooffloatsmgr.cc.
References dw::core::Requisition::ascent, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::core::Requisition::descent, ensureFloatSize(), dw::oof::OOFFloatsMgr::SortedFloatsVector::findFirst(), LEFT, leftFloats, rightFloats, dw::oof::OOFFloatsMgr::Float::size, and dw::oof::OOFFloatsMgr::Float::yReal.
Referenced by getLeftFloatHeight(), and getRightFloatHeight().
|
inlinestaticprivate |
Definition at line 222 of file ooffloatsmgr.hh.
Referenced by markSizeChange().
|
private |
Definition at line 1030 of file ooffloatsmgr.cc.
References dw::core::style::StyleAttrs::boxDiffWidth(), container, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::oof::OOFFloatsMgr::Float::generator, dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), dw::core::Widget::getExtremes(), dw::oof::OOFAwareWidget::getGeneratorWidth(), dw::core::Widget::getStyle(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), LEFT, leftFloats, lout::misc::max(), dw::core::Extremes::maxWidth, dw::core::Extremes::minWidth, rightFloats, and dw::oof::OOFFloatsMgr::SortedFloatsVector::size().
Referenced by getExtremes().
|
private |
Definition at line 925 of file ooffloatsmgr.cc.
References lout::misc::assertNotReached(), dw::core::style::FLOAT_LEFT, dw::core::style::FLOAT_RIGHT, dw::core::Widget::getStyle(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), LEFT, leftFloats, RIGHT, rightFloats, and dw::core::style::StyleAttrs::vloat.
Referenced by tellPosition1().
|
private |
Definition at line 975 of file ooffloatsmgr.cc.
References dw::core::Requisition::ascent, calcFloatX(), container, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::core::Requisition::descent, ensureFloatSize(), dw::oof::OOFFloatsMgr::Float::generator, dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), LEFT, leftFloats, lout::misc::max(), rightFloats, dw::oof::OOFFloatsMgr::Float::size, dw::core::Requisition::width, and dw::oof::OOFFloatsMgr::Float::yReal.
Referenced by getSize().
|
private |
Definition at line 733 of file ooffloatsmgr.cc.
References dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), dw::core::Widget::getWidgetAtPoint(), dw::core::StackingContextMgr::handledByStackingContextMgr(), dw::core::StackingProcessingContext::hasWidgetBeenProcessedAsInterruption(), and dw::oof::OOFFloatsMgr::SortedFloatsVector::size().
Referenced by getWidgetAtPoint().
|
private |
|
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.
Definition at line 1100 of file ooffloatsmgr.cc.
References DBG_OBJ_MSGF, getBorder(), and LEFT.
|
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.
Definition at line 1215 of file ooffloatsmgr.cc.
References getFloatHeight(), and LEFT.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1370 of file ooffloatsmgr.cc.
References leftFloats, rightFloats, and dw::oof::OOFFloatsMgr::SortedFloatsVector::size().
|
private |
Definition at line 1091 of file ooffloatsmgr.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, and getOOFAwareWidgetWhenRegistered().
Referenced by addWidgetInFlow(), addWidgetOOF(), moveExternalIndices(), and updateGenerators().
|
private |
Definition at line 1079 of file ooffloatsmgr.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, and tbInfosByOOFAwareWidget.
Referenced by getOOFAwareWidget(), and isOOFAwareWidgetRegistered().
|
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.
Definition at line 1109 of file ooffloatsmgr.cc.
References DBG_OBJ_MSGF, getBorder(), and RIGHT.
|
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.
Definition at line 1221 of file ooffloatsmgr.cc.
References getFloatHeight(), and RIGHT.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 948 of file ooffloatsmgr.cc.
References dw::core::Widget::boxRestHeight(), dw::core::Widget::boxRestWidth(), container, DBG_OBJ_ENTER0, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, getFloatsSize(), LEFT, lout::misc::max(), RIGHT, and SizeChanged.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1375 of file ooffloatsmgr.cc.
References dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), leftFloats, rightFloats, and dw::oof::OOFFloatsMgr::SortedFloatsVector::size().
Referenced by dw::oof::OOFFloatsMgr::Float::covers(), and dw::oof::OOFFloatsMgr::Float::intoStringBuffer().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 721 of file ooffloatsmgr.cc.
References getFloatWidgetAtPoint(), leftFloats, and rightFloats.
|
private |
Definition at line 1201 of file ooffloatsmgr.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::oof::OOFFloatsMgr::SortedFloatsVector::findFirst(), LEFT, leftFloats, and rightFloats.
Referenced by hasFloatLeft(), and hasFloatRight().
|
virtual |
Return whether there is a float on the left side.
y is relative to the container.
See also getLeftBorder().
Implements dw::oof::OutOfFlowMgr.
Definition at line 1183 of file ooffloatsmgr.cc.
References DBG_OBJ_MSGF, hasFloat(), and LEFT.
|
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.
Definition at line 1192 of file ooffloatsmgr.cc.
References DBG_OBJ_MSGF, hasFloat(), and RIGHT.
|
inlineprivate |
Definition at line 199 of file ooffloatsmgr.hh.
References getOOFAwareWidgetWhenRegistered().
|
inlinestaticprivate |
Definition at line 217 of file ooffloatsmgr.hh.
Referenced by markSizeChange().
|
inlinestaticprivate |
Definition at line 219 of file ooffloatsmgr.hh.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 716 of file ooffloatsmgr.cc.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 646 of file ooffloatsmgr.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_SET_BOOL_O, dw::oof::OOFFloatsMgr::Float::dirty, dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), getFloatIndexFromSubRef(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), isSubRefLeftFloat(), leftFloats, rightFloats, and updateGenerators().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 1287 of file ooffloatsmgr.cc.
|
private |
Definition at line 611 of file ooffloatsmgr.cc.
References DBG_OBJ_SET_NUM_O, dw::oof::OOFFloatsMgr::Float::externalIndex, lout::container::typed::Vector< T >::get(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), and lout::container::typed::Collection< T >::size().
Referenced by moveExternalIndices().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 603 of file ooffloatsmgr.cc.
References getOOFAwareWidget(), dw::oof::OOFFloatsMgr::TBInfo::leftFloats, moveExternalIndices(), and dw::oof::OOFFloatsMgr::TBInfo::rightFloats.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 380 of file ooffloatsmgr.cc.
References container, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, LEFT, RIGHT, and sizeAllocateFloats().
|
private |
Definition at line 404 of file ooffloatsmgr.cc.
References dw::core::Allocation::ascent, dw::core::Requisition::ascent, calcFloatX(), containerAllocation, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, dw::core::Allocation::descent, dw::core::Requisition::descent, ensureFloatSize(), dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), LEFT, leftFloats, rightFloats, dw::oof::OOFFloatsMgr::Float::size, dw::oof::OOFFloatsMgr::SortedFloatsVector::size(), dw::core::Widget::sizeAllocate(), dw::core::Allocation::width, dw::core::Requisition::width, dw::core::Allocation::x, dw::core::Allocation::y, and dw::oof::OOFFloatsMgr::Float::yReal.
Referenced by sizeAllocateEnd().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 366 of file ooffloatsmgr.cc.
References dw::core::Allocation::ascent, container, containerAllocation, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, dw::core::Allocation::descent, dw::core::Allocation::width, dw::core::Allocation::x, and dw::core::Allocation::y.
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 858 of file ooffloatsmgr.cc.
References lout::misc::notImplemented().
|
virtual |
Implements dw::oof::OutOfFlowMgr.
Definition at line 864 of file ooffloatsmgr.cc.
References lout::misc::notImplemented().
|
virtual |
Called before tellPosition2, see there for more.
Implements dw::oof::OutOfFlowMgr.
Definition at line 751 of file ooffloatsmgr.cc.
References collidesH(), collidesV(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM_O, ensureFloatSize(), findFloatByWidget(), dw::oof::OOFFloatsMgr::SortedFloatsVector::findLastBeforeSideSpanningIndex(), dw::oof::OOFFloatsMgr::SortedFloatsVector::get(), getFloatsListsAndSide(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), dw::oof::OOFFloatsMgr::Float::index, dw::oof::OOFFloatsMgr::Float::sideSpanningIndex, updateGenerators(), dw::oof::OOFFloatsMgr::Float::yReal, and dw::oof::OOFFloatsMgr::Float::yReq.
|
virtual |
Called after tellPosition1.
An implementation should only implement either tellPosition1 or tellPosition2. Coordinates are relative to the container.
Implements dw::oof::OutOfFlowMgr.
Definition at line 853 of file ooffloatsmgr.cc.
|
private |
Update all generators which are affected by a given float.
Definition at line 669 of file ooffloatsmgr.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::oof::OOFFloatsMgr::Float::generator, getOOFAwareWidget(), dw::oof::OOFFloatsMgr::WidgetInfo::getWidget(), dw::core::Widget::getWidgetReference(), dw::oof::OOFFloatsMgr::Float::index, dw::oof::OOFFloatsMgr::TBInfo::index, dw::core::WidgetReference::parentRef, SizeChanged, and tbInfos.
Referenced by markSizeChange(), and tellPosition1().
|
friend |
Definition at line 19 of file ooffloatsmgr.hh.
|
private |
Definition at line 24 of file ooffloatsmgr.hh.
Referenced by calcFloatX(), drawFloats(), getBorder(), getFloatsExtremes(), getFloatsSize(), getSize(), OOFFloatsMgr(), sizeAllocateEnd(), and sizeAllocateStart().
|
private |
Definition at line 27 of file ooffloatsmgr.hh.
Referenced by OOFFloatsMgr(), sizeAllocateFloats(), and sizeAllocateStart().
|
private |
Definition at line 161 of file ooffloatsmgr.hh.
Referenced by addWidgetOOF(), findFloatByWidget(), OOFFloatsMgr(), and ~OOFFloatsMgr().
|
private |
Definition at line 167 of file ooffloatsmgr.hh.
Referenced by OOFFloatsMgr().
|
private |
Definition at line 167 of file ooffloatsmgr.hh.
Referenced by OOFFloatsMgr().
|
private |
Definition at line 158 of file ooffloatsmgr.hh.
Referenced by addWidgetOOF(), containerSizeChangedForChildren(), draw(), getBorder(), getClearPosition(), getFloatHeight(), getFloatsExtremes(), getFloatsListsAndSide(), getFloatsSize(), getNumWidgets(), getWidget(), getWidgetAtPoint(), hasFloat(), markSizeChange(), OOFFloatsMgr(), sizeAllocateFloats(), ~OOFFloatsMgr(), and dw::oof::OOFFloatsMgr::TBInfo::~TBInfo().
|
private |
Definition at line 167 of file ooffloatsmgr.hh.
Referenced by OOFFloatsMgr().
|
private |
Definition at line 25 of file ooffloatsmgr.hh.
Referenced by calcFloatX(), dw::oof::OOFFloatsMgr::TBInfo::ComparePosition::compare(), findTBInfo(), getBorder(), getClearPosition(), and OOFFloatsMgr().
|
private |
Definition at line 158 of file ooffloatsmgr.hh.
Referenced by addWidgetOOF(), containerSizeChangedForChildren(), draw(), getBorder(), getClearPosition(), getFloatHeight(), getFloatsExtremes(), getFloatsListsAndSide(), getFloatsSize(), getNumWidgets(), getWidget(), getWidgetAtPoint(), hasFloat(), markSizeChange(), OOFFloatsMgr(), sizeAllocateFloats(), ~OOFFloatsMgr(), and dw::oof::OOFFloatsMgr::TBInfo::~TBInfo().
|
private |
Definition at line 167 of file ooffloatsmgr.hh.
Referenced by OOFFloatsMgr().
|
private |
Definition at line 168 of file ooffloatsmgr.hh.
Referenced by getSize(), OOFFloatsMgr(), and updateGenerators().
|
private |
Definition at line 163 of file ooffloatsmgr.hh.
Referenced by addWidgetInFlow(), findTBInfo(), OOFFloatsMgr(), updateGenerators(), and ~OOFFloatsMgr().
|
private |
Definition at line 165 of file ooffloatsmgr.hh.
Referenced by addWidgetInFlow(), getOOFAwareWidgetWhenRegistered(), OOFFloatsMgr(), and ~OOFFloatsMgr().