Dillo v3.1.1-98-g318d1f14
|
Base class for widgets which can act as container and generator for widgets out of flow. More...
#include <oofawarewidget.hh>
Classes | |
class | OOFAwareWidgetIterator |
Public Types | |
enum | { SL_START , SL_BACKGROUND , SL_SC_BOTTOM , SL_IN_FLOW , SL_OOF_REF , SL_OOF_CONT , SL_SC_TOP , SL_END } |
Public Member Functions | |
OOFAwareWidget () | |
~OOFAwareWidget () | |
core::Requisition * | getRequisitionWithoutOOF () |
bool | doesWidgetOOFInterruptDrawing (Widget *widget) |
void | draw (core::View *view, core::Rectangle *area, core::DrawingContext *context) |
Area is given in widget coordinates. | |
virtual void | updateReference (int ref) |
Update content in flow, down from ref . | |
virtual void | widgetRefSizeChanged (int externalIndex) |
Called by an implementation of dw::oof::OutOfFlowMgr (actually only OOFPosRelMgr) for the generator of a widget out of flow, when the reference size has changed. | |
virtual void | oofSizeChanged (bool extremesChanged) |
Called by an implementation of dw::oof::OutOfFlowMgr when the size of the container has changed, typically in sizeAllocateEnd. | |
virtual int | getGeneratorX (int oofmIndex) |
Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats. | |
virtual int | getGeneratorY (int oofmIndex) |
Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats. | |
virtual int | getGeneratorWidth () |
Return width including margin/border/padding Called by OOFFloatsMgr to position floats. | |
virtual int | getMaxGeneratorWidth () |
virtual bool | usesMaxGeneratorWidth () |
virtual bool | isPossibleOOFContainer (int oofmIndex) |
virtual bool | isPossibleOOFContainerParent (int oofmIndex) |
Public Member Functions inherited from dw::core::Widget | |
void | setDeleteCallback (DW_Callback_t func, void *data) |
Widget () | |
~Widget () | |
bool | resizeQueued () |
bool | extremesQueued () |
bool | needsResize () |
bool | needsAllocate () |
bool | allocateQueued () |
bool | extremesChanged () |
bool | wasAllocated () |
void | setParent (Widget *parent) |
void | setQuasiParent (Widget *quasiParent) |
void | setGenerator (Widget *generator) |
style::Style * | getStyle () |
Allocation * | getAllocation () |
bool | inAllocation (int x, int y) |
int | boxOffsetX () |
int | boxRestWidth () |
int | boxDiffWidth () |
int | boxOffsetY () |
int | boxRestHeight () |
int | boxDiffHeight () |
virtual int | numSizeRequestReferences () |
See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
virtual Widget * | sizeRequestReference (int index) |
See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
virtual int | numGetExtremesReferences () |
See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
virtual Widget * | getExtremesReference (int index) |
See Sizes of Dillo Widgets (or Size requisitions depending on positions). | |
void | sizeRequest (Requisition *requisition, int numPos=0, Widget **references=NULL, int *x=NULL, int *y=NULL) |
This method is a wrapper for Widget::sizeRequestImpl(); it calls the latter only when needed. | |
void | getExtremes (Extremes *extremes, int numPos=0, Widget **references=NULL, int *x=NULL, int *y=NULL) |
Wrapper for Widget::getExtremesImpl(). | |
void | sizeAllocate (Allocation *allocation) |
Wrapper for Widget::sizeAllocateImpl, calls the latter only when needed. | |
void | calcExtraSpace (int numPos, Widget **references, int *x, int *y) |
Calculates dw::core::Widget::extraSpace. | |
int | getAvailWidth (bool forceValue) |
Return available width including margin/border/padding (extraSpace?), not only the content width. | |
int | getAvailHeight (bool forceValue) |
Return available height including margin/border/padding (extraSpace?), not only the content height. | |
virtual bool | getAdjustMinWidth () |
void | correctRequisition (Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
void | correctExtremes (Extremes *extremes, bool useAdjustmentWidth) |
int | calcWidth (style::Length cssValue, int refWidth, Widget *refWidget, int limitMinWidth, bool forceValue) |
Computes a width value in pixels from cssValue. | |
void | calcFinalWidth (style::Style *style, int refWidth, Widget *refWidget, int limitMinWidth, bool forceValue, int *finalWidth) |
Computes the final width if posible and constraints it by min-width and max-width. | |
int | calcHeight (style::Length cssValue, bool usePercentage, int refHeight, Widget *refWidget, bool forceValue) |
virtual int | applyPerWidth (int containerWidth, style::Length perWidth) |
virtual int | applyPerHeight (int containerHeight, style::Length perHeight) |
int | getMinWidth (Extremes *extremes, bool forceValue) |
Used to evaluate Widget::adjustMinWidth. | |
virtual bool | isBlockLevel () |
virtual bool | isPossibleContainer () |
void | containerSizeChanged () |
bool | intersects (Widget *refWidget, Rectangle *area, Rectangle *intersection) |
Calculates the intersection of the visible allocation (i. | |
void | drawInterruption (View *view, Rectangle *area, DrawingContext *context) |
See Interrupted drawing for details. | |
Widget * | getWidgetAtPointInterrupted (int x, int y, GettingWidgetAtPointContext *context) |
bool | buttonPress (EventButton *event) |
bool | buttonRelease (EventButton *event) |
bool | motionNotify (EventMotion *event) |
void | enterNotify (EventCrossing *event) |
void | leaveNotify (EventCrossing *event) |
virtual void | setStyle (style::Style *style) |
Change the style of a widget. | |
void | setBgColor (style::Color *bgColor) |
Set the background "behind" the widget, if it is not the background of the parent widget, e.g. | |
style::Color * | getBgColor () |
Get the actual background of a widget. | |
style::Color * | getFgColor () |
Get the actual foreground color of a widget. | |
void | drawBox (View *view, style::Style *style, Rectangle *area, int x, int y, int width, int height, bool inverse) |
Draw borders and background of a widget part, which allocation is given by (x, y, width, height) (widget coordinates). | |
void | drawWidgetBox (View *view, Rectangle *area, bool inverse) |
Draw borders and background of a widget. | |
void | drawSelected (View *view, Rectangle *area) |
void | setButtonSensitive (bool buttonSensitive) |
bool | isButtonSensitive () |
Widget * | getParent () |
Widget * | getContainer () |
Widget * | getTopLevel () |
Get the widget at the root of the tree, this widget is part from. | |
int | getLevel () |
Get the level of the widget within the tree. | |
int | getGeneratorLevel () |
Get the level of the widget within the tree, regarting the generators, not the parents. | |
Widget * | getNearestCommonAncestor (Widget *otherWidget) |
Get the widget with the highest level, which is a direct ancestor of widget1 and widget2. | |
WidgetReference * | getWidgetReference () |
void | setWidgetReference (WidgetReference *widgetReference) |
Widget * | getGenerator () |
Layout * | getLayout () |
void | scrollTo (HPosition hpos, VPosition vpos, int x, int y, int width, int height) |
void | getMarginArea (int *xMar, int *yMar, int *widthMar, int *heightMar) |
void | getBorderArea (int *xBor, int *yBor, int *widthBor, int *heightBor) |
void | getPaddingArea (int *xPad, int *yPad, int *widthPad, int *heightPad) |
Return the padding area (content plus padding). | |
virtual Iterator * | iterator (Content::Type mask, bool atEnd)=0 |
Return an iterator for this widget. | |
virtual void | removeChild (Widget *child) |
Public Member Functions inherited from lout::identity::IdentifiableObject | |
IdentifiableObject () | |
void | intoStringBuffer (misc::StringBuffer *sb) |
Store a textual representation of the object in a misc::StringBuffer. | |
int | getClassId () |
Returns the class identifier. | |
const char * | getClassName () |
Return the name, under which the class of this object was registered. | |
bool | instanceOf (int otherClassId) |
Returns, whether this class is an instance of the class, given by otherClassId, or of a sub class of this class. | |
Public Member Functions inherited from lout::object::Object | |
virtual | ~Object () |
The destructor is defined as virtual (but not abstract), so that destruction of Object's works properly. | |
virtual bool | equals (Object *other) |
Returns, whether two objects are equal. | |
virtual int | hashValue () |
Return a hash value for the object. | |
virtual Object * | clone () |
Return an exact copy of the object. | |
const char * | toString () |
Use object::Object::intoStringBuffer to return a textual representation of the object. | |
virtual size_t | sizeOf () |
Return the number of bytes, this object totally uses. | |
Static Public Member Functions | |
static const char * | stackingLevelText (int level) |
static bool | testStyleFloat (core::style::Style *style) |
static bool | testStyleAbsolutelyPositioned (core::style::Style *style) |
static bool | testStyleFixedlyPositioned (core::style::Style *style) |
static bool | testStyleRelativelyPositioned (core::style::Style *style) |
static bool | testStylePositioned (core::style::Style *style) |
static bool | testStyleOutOfFlow (core::style::Style *style) |
static bool | testWidgetFloat (Widget *widget) |
static bool | testWidgetAbsolutelyPositioned (Widget *widget) |
static bool | testWidgetFixedlyPositioned (Widget *widget) |
static bool | testWidgetRelativelyPositioned (Widget *widget) |
static bool | testWidgetPositioned (Widget *widget) |
static bool | testWidgetOutOfFlow (Widget *widget) |
Static Public Member Functions inherited from dw::core::Widget | |
static void | setAdjustMinWidth (bool adjustMinWidth) |
static void | adjustHeight (int *height, bool allowDecreaseHeight, int ascent, int descent) |
Static Public Attributes | |
static int | CLASS_ID = -1 |
Static Public Attributes inherited from dw::core::Widget | |
static int | CLASS_ID = -1 |
Protected Types | |
enum | { OOFM_FLOATS , OOFM_ABSOLUTE , OOFM_RELATIVE , OOFM_FIXED , NUM_OOFM } |
enum | { PARENT_REF_OOFM_BITS = 3 , PARENT_REF_OOFM_MASK = (1 << PARENT_REF_OOFM_BITS) - 1 } |
Protected Types inherited from dw::core::Widget | |
enum | Flags { RESIZE_QUEUED = 1 << 0 , EXTREMES_QUEUED = 1 << 1 , NEEDS_RESIZE = 1 << 2 , NEEDS_ALLOCATE = 1 << 3 , ALLOCATE_QUEUED = 1 << 4 , EXTREMES_CHANGED = 1 << 5 , WAS_ALLOCATED = 1 << 6 } |
Protected Member Functions | |
bool | isParentRefOOF (int parentRef) |
int | makeParentRefInFlow (int inFlowSubRef) |
int | getParentRefInFlowSubRef (int parentRef) |
int | makeParentRefOOF (int oofmIndex, int oofmSubRef) |
int | getParentRefOOFSubRef (int parentRef) |
int | getParentRefOOFIndex (int parentRef) |
oof::OutOfFlowMgr * | getParentRefOutOfFlowMgr (int parentRef) |
bool | isWidgetOOF (Widget *widget) |
int | getWidgetInFlowSubRef (Widget *widget) |
int | getWidgetOOFSubRef (Widget *widget) |
int | getWidgetOOFIndex (Widget *widget) |
oof::OutOfFlowMgr * | getWidgetOutOfFlowMgr (Widget *widget) |
OutOfFlowMgr * | searchOutOfFlowMgr (int oofmIndex) |
void | initOutOfFlowMgrs () |
void | correctRequisitionByOOF (core::Requisition *requisition, void(*splitHeightFun)(int, int *, int *)) |
void | correctExtremesByOOF (core::Extremes *extremes) |
void | sizeAllocateStart (core::Allocation *allocation) |
void | sizeAllocateEnd () |
void | containerSizeChangedForChildrenOOF () |
virtual void | drawLevel (core::View *view, core::Rectangle *area, int level, core::DrawingContext *context) |
void | drawOOF (core::View *view, core::Rectangle *area, core::DrawingContext *context) |
Widget * | getWidgetAtPoint (int x, int y, core::GettingWidgetAtPointContext *context) |
virtual Widget * | getWidgetAtPointLevel (int x, int y, int level, core::GettingWidgetAtPointContext *context) |
Widget * | getWidgetOOFAtPoint (int x, int y, core::GettingWidgetAtPointContext *context) |
void | notifySetAsTopLevel () |
This method is called after a widget has been set as the top of a widget tree. | |
void | notifySetParent () |
This method is called after a widget has been added to a parent. | |
void | removeChild (Widget *child) |
virtual bool | adjustExtraSpaceWhenCorrectingRequisitionByOOF () |
Protected Member Functions inherited from dw::core::Widget | |
int | getHeight () |
int | getContentWidth () |
int | getContentHeight () |
StackingContextMgr * | getNextStackingContextMgr () |
void | printFlag (Flags f) |
void | setFlags (Flags f) |
void | unsetFlags (Flags f) |
void | queueDraw () |
void | queueDrawArea (int x, int y, int width, int height) |
void | queueResize (int ref, bool extremesChanged) |
virtual void | sizeRequestImpl (Requisition *requisition, int numPos, Widget **references, int *x, int *y) |
See Sizes of Dillo Widgets. | |
virtual void | sizeRequestSimpl (Requisition *requisition) |
Simple variant, to be implemented by widgets with sizes not depending on positions. | |
virtual void | getExtremesImpl (Extremes *extremes, int numPos, Widget **references, int *x, int *y) |
See Sizes of Dillo Widgets. | |
virtual void | getExtremesSimpl (Extremes *extremes) |
Simple variant, to be implemented by widgets with extremes not depending on positions. | |
virtual void | calcExtraSpaceImpl (int numPos, Widget **references, int *x, int *y) |
The actual implementation for calculating dw::core::Widget::extraSpace. | |
virtual void | sizeAllocateImpl (Allocation *allocation) |
See Sizes of Dillo Widgets. | |
virtual void | resizeDrawImpl () |
Called after sizeAllocateImpl() to redraw necessary areas. | |
virtual void | markSizeChange (int ref) |
See Sizes of Dillo Widgets. | |
virtual void | markExtremesChange (int ref) |
See Sizes of Dillo Widgets. | |
virtual int | getAvailWidthOfChild (Widget *child, bool forceValue) |
Computes the content width available of a child widget. | |
virtual int | getAvailHeightOfChild (Widget *child, bool forceValue) |
virtual void | correctRequisitionOfChild (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
void | correctRequisitionViewport (Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight) |
Corrects a requisition to fit in the viewport. | |
void | correctReqWidthOfChild (Widget *child, Requisition *requisition, bool allowDecreaseWidth) |
Correct a child requisition to fit the parent. | |
void | correctReqHeightOfChild (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseHeight) |
bool | correctReqAspectRatio (int pass, Widget *child, Requisition *requisition, bool allowDecreaseWidth, bool allowDecreaseHeight, void(*splitHeightFun)(int, int *, int *)) |
Correct a child requisition aspect ratio if needed. | |
virtual void | correctExtremesOfChild (Widget *child, Extremes *extremes, bool useAdjustmentWidth) |
virtual void | containerSizeChangedForChildren () |
virtual bool | affectedByContainerSizeChange () |
virtual bool | affectsSizeChangeContainerChild (Widget *child) |
virtual bool | usesAvailWidth () |
Must be implemengted by a method returning true, when getAvailWidth() is called. | |
virtual bool | usesAvailHeight () |
Must be implemengted by a method returning true, when getAvailHeight() is called. | |
virtual bool | buttonPressImpl (EventButton *event) |
virtual bool | buttonReleaseImpl (EventButton *event) |
virtual bool | motionNotifyImpl (EventMotion *event) |
virtual void | enterNotifyImpl (EventCrossing *event) |
virtual void | leaveNotifyImpl (EventCrossing *event) |
char * | addAnchor (const char *name) |
char * | addAnchor (const char *name, int y) |
void | changeAnchor (char *name, int y) |
void | removeAnchor (char *name) |
void | setCursor (style::Cursor cursor) |
bool | selectionHandleEvent (SelectionState::EventType eventType, Iterator *it, int charPos, int linkNo, MousePositionEvent *event) |
Protected Member Functions inherited from lout::identity::IdentifiableObject | |
void | registerName (const char *className, int *classId) |
This method must be called in the constructor for the sub class. | |
Static Protected Member Functions | |
static int | getOOFMIndex (Widget *widget) |
static bool | isOOFContainer (Widget *widget, int oofmIndex) |
Protected Attributes | |
OOFAwareWidget * | oofContainer [NUM_OOFM] |
OutOfFlowMgr * | outOfFlowMgr [NUM_OOFM] |
core::Requisition | requisitionWithoutOOF |
Protected Attributes inherited from dw::core::Widget | |
WidgetImgRenderer * | widgetImgRenderer |
Allocation | allocation |
The current allocation: size and position, always relative to the canvas. | |
float | ratio |
Preferred aspect ratio of the widget. | |
Layout * | layout |
style::Box | extraSpace |
Space around the margin box. | |
StackingContextMgr * | stackingContextMgr |
Set iff this widget constitutes a stacking context, as defined by CSS. | |
Widget * | stackingContextWidget |
The bottom-most ancestor (or this) for which stackingContextMgr is set. | |
Static Protected Attributes | |
static const char * | OOFM_NAME [NUM_OOFM] |
Additional Inherited Members | |
Public Attributes inherited from dw::core::Widget | |
int | parentRef |
This value is defined by the parent widget, and used for incremential resizing. | |
Base class for widgets which can act as container and generator for widgets out of flow.
(Perhaps it should be diffenciated between the two roles, container and generator, but this would make multiple inheritance necessary.)
See Handling Elements Out Of Flow for an overview.
Requirements for sub classes (in most cases refer to dw::Textblock as a good example):
Implementations of dw::core::Widget::getAvailWidthOfChild and dw::core::Widget::getAvailHeightOfChild have to distinguish between widgets in flow and out of flow; general pattern:
See also implementations of dw::Textblock and dw::Table. (Open issue: What about dw::core::Widget::correctRequisitionOfChild and dw::core::Widget::correctExtremesOfChild? Currently, all widgets are used the default implementation.)
For both generators and containers of floats (which is only implemented by dw::Textblock) it gets a bit more complicated.
Definition at line 77 of file oofawarewidget.hh.
|
protected |
Enumerator | |
---|---|
OOFM_FLOATS | |
OOFM_ABSOLUTE | |
OOFM_RELATIVE | |
OOFM_FIXED | |
NUM_OOFM |
Definition at line 80 of file oofawarewidget.hh.
|
protected |
Enumerator | |
---|---|
PARENT_REF_OOFM_BITS | |
PARENT_REF_OOFM_MASK |
Definition at line 82 of file oofawarewidget.hh.
anonymous enum |
Enumerator | |
---|---|
SL_START | |
SL_BACKGROUND | |
SL_SC_BOTTOM | |
SL_IN_FLOW | |
SL_OOF_REF | |
SL_OOF_CONT | |
SL_SC_TOP | |
SL_END |
Definition at line 194 of file oofawarewidget.hh.
dw::oof::OOFAwareWidget::OOFAwareWidget | ( | ) |
Definition at line 43 of file oofawarewidget.cc.
References CLASS_ID, DBG_OBJ_ARRSET_PTR, DBG_OBJ_CREATE, NUM_OOFM, oofContainer, outOfFlowMgr, and lout::identity::IdentifiableObject::registerName().
Referenced by dw::Textblock::getGeneratorRest().
dw::oof::OOFAwareWidget::~OOFAwareWidget | ( | ) |
Definition at line 55 of file oofawarewidget.cc.
References DBG_OBJ_DELETE, dw::oof::OutOfFlowMgr::getNumWidgets(), NUM_OOFM, and outOfFlowMgr.
|
protectedvirtual |
Reimplemented in dw::AlignedTableCell, and dw::SimpleTableCell.
Definition at line 611 of file oofawarewidget.cc.
Referenced by correctRequisitionByOOF().
|
protected |
Definition at line 357 of file oofawarewidget.cc.
References dw::oof::OutOfFlowMgr::containerSizeChangedForChildren(), NUM_OOFM, and outOfFlowMgr.
Referenced by dw::Table::containerSizeChangedForChildren(), and dw::Textblock::containerSizeChangedForChildren().
|
protected |
Definition at line 306 of file oofawarewidget.cc.
References dw::core::Extremes::adjustmentWidth, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, dw::core::Widget::extremes, dw::oof::OutOfFlowMgr::getExtremes(), lout::misc::max(), dw::core::Extremes::maxWidth, dw::core::Extremes::maxWidthIntrinsic, dw::core::Extremes::minWidth, dw::core::Extremes::minWidthIntrinsic, NUM_OOFM, OOFM_NAME, and outOfFlowMgr.
Referenced by dw::Table::getExtremesSimpl(), and dw::Textblock::getExtremesSimpl().
|
protected |
Definition at line 236 of file oofawarewidget.cc.
References adjustExtraSpaceWhenCorrectingRequisitionByOOF(), dw::core::Requisition::ascent, dw::core::style::Box::bottom, DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSG_END, DBG_OBJ_MSG_START, DBG_OBJ_MSGF, DBG_OBJ_SET_NUM, dw::core::Requisition::descent, dw::core::Widget::extraSpace, dw::oof::OutOfFlowMgr::getSize(), lout::misc::max(), NUM_OOFM, OOFM_NAME, outOfFlowMgr, dw::core::Widget::requisition, requisitionWithoutOOF, dw::core::style::Box::right, and dw::core::Requisition::width.
Referenced by dw::Textblock::sizeRequestImpl(), and dw::Table::sizeRequestSimpl().
bool dw::oof::OOFAwareWidget::doesWidgetOOFInterruptDrawing | ( | Widget * | widget | ) |
Definition at line 364 of file oofawarewidget.cc.
References lout::misc::boolToStr(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE_VAL, DBG_OBJ_MSGF, dw::core::Widget::getLevel(), getOOFMIndex(), dw::IMPL_POS, oofContainer, and dw::core::Widget::stackingContextWidget.
Referenced by dw::Textblock::drawLevel(), and dw::Textblock::getWidgetAtPointLevel().
|
virtual |
Area is given in widget coordinates.
Implements dw::core::Widget.
Reimplemented in dw::Ruler.
Definition at line 386 of file oofawarewidget.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, drawLevel(), dw::core::Rectangle::height, SL_END, SL_START, dw::core::Rectangle::width, dw::core::Rectangle::x, and dw::core::Rectangle::y.
|
protectedvirtual |
Reimplemented in dw::Table, and dw::Textblock.
Definition at line 397 of file oofawarewidget.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, dw::core::StackingContextMgr::drawBottom(), drawOOF(), dw::core::StackingContextMgr::drawTop(), dw::core::Widget::drawWidgetBox(), dw::core::Rectangle::height, SL_BACKGROUND, SL_END, SL_IN_FLOW, SL_OOF_CONT, SL_OOF_REF, SL_SC_BOTTOM, SL_SC_TOP, SL_START, dw::core::Widget::stackingContextMgr, stackingLevelText(), dw::core::Rectangle::width, dw::core::Rectangle::x, and dw::core::Rectangle::y.
Referenced by draw().
|
protected |
Definition at line 447 of file oofawarewidget.cc.
References dw::oof::OutOfFlowMgr::draw(), NUM_OOFM, and outOfFlowMgr.
Referenced by drawLevel().
|
virtual |
Return width including margin/border/padding Called by OOFFloatsMgr to position floats.
Reimplemented in dw::Textblock.
Definition at line 583 of file oofawarewidget.cc.
References lout::misc::notImplemented().
Referenced by dw::oof::OOFFloatsMgr::calcFloatX(), dw::oof::OOFFloatsMgr::getFloatsExtremes(), and dw::Textblock::getGeneratorRest().
|
virtual |
Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats.
Reimplemented in dw::Textblock.
Definition at line 571 of file oofawarewidget.cc.
References lout::misc::notImplemented().
Referenced by dw::oof::OOFFloatsMgr::calcFloatX(), and dw::oof::OOFFloatsMgr::getBorder().
|
virtual |
Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats.
Reimplemented in dw::Textblock.
Definition at line 577 of file oofawarewidget.cc.
References lout::misc::notImplemented().
Referenced by dw::oof::OOFFloatsMgr::TBInfo::ComparePosition::compare(), and dw::oof::OOFFloatsMgr::getClearPosition().
|
virtual |
Reimplemented in dw::Textblock.
Definition at line 589 of file oofawarewidget.cc.
References lout::misc::notImplemented().
Referenced by dw::oof::OOFFloatsMgr::calcFloatX(), and dw::oof::OOFFloatsMgr::getBorder().
|
staticprotected |
Definition at line 94 of file oofawarewidget.cc.
References lout::misc::assertNotReached(), DBG_OBJ_ENTER_O, DBG_OBJ_LEAVE_VAL_O, DBG_OBJ_MSGF_O, dw::core::style::FLOAT_LEFT, dw::core::style::FLOAT_NONE, dw::core::style::FLOAT_RIGHT, dw::core::Widget::getStyle(), OOFM_ABSOLUTE, OOFM_FIXED, OOFM_FLOATS, OOFM_NAME, OOFM_RELATIVE, dw::core::style::StyleAttrs::position, dw::core::style::POSITION_ABSOLUTE, dw::core::style::POSITION_FIXED, dw::core::style::POSITION_RELATIVE, dw::core::style::POSITION_STATIC, testWidgetAbsolutelyPositioned(), testWidgetFixedlyPositioned(), testWidgetFloat(), testWidgetRelativelyPositioned(), and dw::core::style::StyleAttrs::vloat.
Referenced by dw::Textblock::addWidget(), doesWidgetOOFInterruptDrawing(), dw::Textblock::drawLevel(), dw::Textblock::getWidgetAtPointLevel(), and dw::Textblock::rewrap().
|
inlineprotected |
Definition at line 125 of file oofawarewidget.hh.
References isParentRefOOF(), PARENT_REF_OOFM_BITS, and dw::core::Widget::parentRef.
Referenced by dw::Table::calcAvailWidthForDescendant(), getWidgetInFlowSubRef(), dw::Textblock::markExtremesChange(), and dw::Textblock::markSizeChange().
|
inlineprotected |
Definition at line 134 of file oofawarewidget.hh.
References isParentRefOOF(), PARENT_REF_OOFM_MASK, and dw::core::Widget::parentRef.
Referenced by getParentRefOutOfFlowMgr(), and getWidgetOOFIndex().
|
inlineprotected |
Definition at line 131 of file oofawarewidget.hh.
References isParentRefOOF(), PARENT_REF_OOFM_BITS, and dw::core::Widget::parentRef.
Referenced by getWidgetOOFSubRef(), dw::Textblock::markExtremesChange(), and dw::Textblock::markSizeChange().
|
inlineprotected |
Definition at line 137 of file oofawarewidget.hh.
References getParentRefOOFIndex(), outOfFlowMgr, and dw::core::Widget::parentRef.
Referenced by getWidgetOutOfFlowMgr(), dw::Textblock::markExtremesChange(), and dw::Textblock::markSizeChange().
|
inline |
Definition at line 243 of file oofawarewidget.hh.
References requisitionWithoutOOF.
|
protectedvirtual |
Reimplemented from dw::core::Widget.
Reimplemented in dw::Ruler.
Definition at line 456 of file oofawarewidget.cc.
References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, getWidgetAtPointLevel(), dw::core::Widget::inAllocation(), SL_END, and SL_START.
|
protectedvirtual |
Reimplemented in dw::Table, and dw::Textblock.
Definition at line 473 of file oofawarewidget.cc.
References lout::misc::assertNotReached(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE, DBG_OBJ_MSGF, dw::core::StackingContextMgr::getBottomWidgetAtPoint(), lout::identity::IdentifiableObject::getClassName(), dw::core::StackingContextMgr::getTopWidgetAtPoint(), getWidgetOOFAtPoint(), dw::core::Widget::inAllocation(), SL_BACKGROUND, SL_IN_FLOW, SL_OOF_CONT, SL_OOF_REF, SL_SC_BOTTOM, SL_SC_TOP, dw::core::Widget::stackingContextMgr, and stackingLevelText().
Referenced by getWidgetAtPoint().
|
inlineprotected |
Definition at line 143 of file oofawarewidget.hh.
References getParentRefInFlowSubRef().
Referenced by dw::Textblock::addParbreak().
|
protected |
Definition at line 526 of file oofawarewidget.cc.
References dw::oof::OutOfFlowMgr::getWidgetAtPoint(), NUM_OOFM, and outOfFlowMgr.
Referenced by getWidgetAtPointLevel().
|
inlineprotected |
Definition at line 148 of file oofawarewidget.hh.
References getParentRefOOFIndex().
Referenced by dw::Textblock::addLine(), dw::Textblock::wrapWordInFlow(), and dw::Textblock::wrapWordOofRef().
|
inlineprotected |
Definition at line 146 of file oofawarewidget.hh.
References getParentRefOOFSubRef().
|
inlineprotected |
Definition at line 150 of file oofawarewidget.hh.
References getParentRefOutOfFlowMgr().
Referenced by dw::Textblock::getAvailHeightOfChild(), dw::Textblock::getAvailWidthOfChild(), and dw::Table::getAvailWidthOfChild().
|
protected |
Definition at line 205 of file oofawarewidget.cc.
References DBG_OBJ_ASSOC, oofContainer, OOFM_ABSOLUTE, OOFM_FIXED, OOFM_FLOATS, OOFM_RELATIVE, and outOfFlowMgr.
Referenced by dw::Textblock::addWidget().
|
staticprotected |
Definition at line 127 of file oofawarewidget.cc.
References lout::misc::assertNotReached(), CLASS_ID, dw::core::style::StyleAttrs::display, dw::core::style::DISPLAY_INLINE_BLOCK, dw::core::Widget::getParent(), dw::core::Widget::getStyle(), lout::identity::IdentifiableObject::instanceOf(), isPossibleOOFContainerParent(), OOFM_ABSOLUTE, OOFM_FIXED, OOFM_FLOATS, OOFM_RELATIVE, dw::core::style::StyleAttrs::overflow, dw::core::style::OVERFLOW_VISIBLE, testWidgetOutOfFlow(), and testWidgetPositioned().
Referenced by dw::Textblock::getWidgetRegardingBorderForLine(), and notifySetParent().
|
inlineprotected |
Definition at line 120 of file oofawarewidget.hh.
References PARENT_REF_OOFM_MASK, and dw::core::Widget::parentRef.
Referenced by getParentRefInFlowSubRef(), getParentRefOOFIndex(), getParentRefOOFSubRef(), isWidgetOOF(), dw::Textblock::markExtremesChange(), and dw::Textblock::markSizeChange().
|
virtual |
Reimplemented in dw::Textblock.
Definition at line 601 of file oofawarewidget.cc.
References OOFM_FLOATS.
|
virtual |
Reimplemented in dw::Textblock.
Definition at line 606 of file oofawarewidget.cc.
References OOFM_FLOATS.
Referenced by isOOFContainer().
|
inlineprotected |
Definition at line 140 of file oofawarewidget.hh.
References isParentRefOOF().
Referenced by dw::Textblock::addParbreak(), dw::Textblock::getAvailHeightOfChild(), dw::Textblock::getAvailWidthOfChild(), dw::Table::getAvailWidthOfChild(), and removeChild().
|
inlineprotected |
Definition at line 123 of file oofawarewidget.hh.
References PARENT_REF_OOFM_BITS.
Referenced by dw::Textblock::accumulateWordForLine(), dw::Table::addCell(), dw::Textblock::addParbreak(), dw::Table::reallocChildren(), dw::AlignedTableCell::setMaxValue(), dw::Textblock::widgetRefSizeChanged(), dw::Textblock::wrapWordInFlow(), and dw::Textblock::wrapWordOofRef().
|
inlineprotected |
Definition at line 129 of file oofawarewidget.hh.
References PARENT_REF_OOFM_BITS.
Referenced by dw::Textblock::addWidget().
|
protectedvirtual |
This method is called after a widget has been set as the top of a widget tree.
A widget may override this method when it is necessary to be notified.
Reimplemented from dw::core::Widget.
Reimplemented in dw::Textblock.
Definition at line 86 of file oofawarewidget.cc.
References DBG_OBJ_ARRSET_PTR, NUM_OOFM, and oofContainer.
|
protectedvirtual |
This method is called after a widget has been added to a parent.
A widget may override this method when it is necessary to be notified.
Reimplemented from dw::core::Widget.
Reimplemented in dw::Textblock.
Definition at line 185 of file oofawarewidget.cc.
References CLASS_ID, DBG_OBJ_ARRSET_PTR, dw::core::Widget::getParent(), isOOFContainer(), NUM_OOFM, and oofContainer.
|
virtual |
Called by an implementation of dw::oof::OutOfFlowMgr when the size of the container has changed, typically in sizeAllocateEnd.
Reimplemented in dw::Textblock.
Definition at line 558 of file oofawarewidget.cc.
References dw::core::Widget::containerSizeChanged(), DBG_OBJ_ENTER, DBG_OBJ_LEAVE, dw::core::Widget::extremesChanged(), and dw::core::Widget::queueResize().
Referenced by dw::oof::OOFPositionedMgr::sizeAllocateEnd().
|
protected |
Definition at line 540 of file oofawarewidget.cc.
References isWidgetOOF().
|
inlineprotected |
Definition at line 157 of file oofawarewidget.hh.
References oofContainer, and outOfFlowMgr.
Referenced by dw::Textblock::addLine(), dw::Textblock::addWidget(), dw::Textblock::calcBorders(), dw::Textblock::calcExtraSpaceImpl(), dw::Textblock::moveWordIndices(), dw::Textblock::rewrap(), dw::Textblock::wrapWordInFlow(), and dw::Textblock::wrapWordOofRef().
|
protected |
Definition at line 350 of file oofawarewidget.cc.
References NUM_OOFM, oofContainer, outOfFlowMgr, and dw::oof::OutOfFlowMgr::sizeAllocateEnd().
Referenced by dw::Table::sizeAllocateImpl(), and dw::Textblock::sizeAllocateImpl().
|
protected |
Definition at line 342 of file oofawarewidget.cc.
References dw::core::Widget::allocation, NUM_OOFM, oofContainer, outOfFlowMgr, and dw::oof::OutOfFlowMgr::sizeAllocateStart().
Referenced by dw::Table::sizeAllocateImpl(), and dw::Textblock::sizeAllocateImpl().
|
static |
Definition at line 71 of file oofawarewidget.cc.
References SL_BACKGROUND, SL_END, SL_IN_FLOW, SL_OOF_CONT, SL_OOF_REF, SL_SC_BOTTOM, SL_SC_TOP, and SL_START.
Referenced by drawLevel(), dw::Table::drawLevel(), dw::Textblock::drawLevel(), getWidgetAtPointLevel(), dw::Table::getWidgetAtPointLevel(), and dw::Textblock::getWidgetAtPointLevel().
|
inlinestatic |
Definition at line 208 of file oofawarewidget.hh.
References dw::IMPL_POS, dw::core::style::StyleAttrs::position, dw::core::style::POSITION_ABSOLUTE, and dw::core::Widget::style.
Referenced by testStyleOutOfFlow(), testStylePositioned(), and testWidgetAbsolutelyPositioned().
|
inlinestatic |
Definition at line 210 of file oofawarewidget.hh.
References dw::IMPL_POS, dw::core::style::StyleAttrs::position, dw::core::style::POSITION_FIXED, and dw::core::Widget::style.
Referenced by testStyleOutOfFlow(), testStylePositioned(), and testWidgetFixedlyPositioned().
|
inlinestatic |
Definition at line 205 of file oofawarewidget.hh.
References dw::core::style::FLOAT_NONE, dw::core::Widget::style, and dw::core::style::StyleAttrs::vloat.
Referenced by testStyleOutOfFlow(), and testWidgetFloat().
|
inlinestatic |
Definition at line 220 of file oofawarewidget.hh.
References dw::core::Widget::style, testStyleAbsolutelyPositioned(), testStyleFixedlyPositioned(), testStyleFloat(), and testStyleRelativelyPositioned().
Referenced by dw::Textblock::mustAddBreaks(), and testWidgetOutOfFlow().
|
inlinestatic |
Definition at line 215 of file oofawarewidget.hh.
References dw::core::Widget::style, testStyleAbsolutelyPositioned(), testStyleFixedlyPositioned(), and testStyleRelativelyPositioned().
Referenced by testWidgetPositioned().
|
inlinestatic |
Definition at line 212 of file oofawarewidget.hh.
References dw::IMPL_POS, dw::core::style::StyleAttrs::position, dw::core::style::POSITION_RELATIVE, and dw::core::Widget::style.
Referenced by dw::Textblock::mustAddBreaks(), testStyleOutOfFlow(), testStylePositioned(), and testWidgetRelativelyPositioned().
|
inlinestatic |
Definition at line 230 of file oofawarewidget.hh.
References testStyleAbsolutelyPositioned().
Referenced by getOOFMIndex(), and dw::Textblock::usesMaxGeneratorWidth().
|
inlinestatic |
Definition at line 232 of file oofawarewidget.hh.
References testStyleFixedlyPositioned().
Referenced by getOOFMIndex(), and dw::Textblock::usesMaxGeneratorWidth().
|
inlinestatic |
Definition at line 227 of file oofawarewidget.hh.
References testStyleFloat().
Referenced by getOOFMIndex(), and dw::Textblock::usesMaxGeneratorWidth().
|
inlinestatic |
Definition at line 240 of file oofawarewidget.hh.
References testStyleOutOfFlow().
Referenced by dw::Textblock::addWidget(), and isOOFContainer().
|
inlinestatic |
Definition at line 237 of file oofawarewidget.hh.
References testStylePositioned().
Referenced by isOOFContainer().
|
inlinestatic |
Definition at line 234 of file oofawarewidget.hh.
References testStyleRelativelyPositioned().
Referenced by getOOFMIndex().
|
virtual |
Update content in flow, down from ref
.
Uses e. g. when floats sizes have changed.
Reimplemented in dw::Textblock.
Definition at line 548 of file oofawarewidget.cc.
References lout::misc::notImplemented().
|
virtual |
Reimplemented in dw::AlignedTableCell, dw::ListItem, dw::SimpleTableCell, and dw::Textblock.
Definition at line 595 of file oofawarewidget.cc.
References lout::misc::notImplemented().
Referenced by dw::oof::OOFFloatsMgr::calcFloatX().
|
virtual |
Called by an implementation of dw::oof::OutOfFlowMgr (actually only OOFPosRelMgr) for the generator of a widget out of flow, when the reference size has changed.
(The size of the reference is 0 * 0 for all other implementations of dw::oof::OutOfFlowMgr.)
Reimplemented in dw::Textblock.
Definition at line 553 of file oofawarewidget.cc.
References lout::misc::notImplemented().
Referenced by dw::oof::OOFPosRelMgr::markSizeChange().
|
static |
Definition at line 198 of file oofawarewidget.hh.
Referenced by dw::oof::OOFPosRelMgr::calcWidgetRefSize(), isOOFContainer(), notifySetParent(), and OOFAwareWidget().
|
protected |
Definition at line 153 of file oofawarewidget.hh.
Referenced by dw::Textblock::addWidget(), doesWidgetOOFInterruptDrawing(), dw::Textblock::findSizeRequestReference(), dw::Textblock::getGeneratorRest(), initOutOfFlowMgrs(), notifySetAsTopLevel(), notifySetParent(), dw::Textblock::notifySetParent(), OOFAwareWidget(), searchOutOfFlowMgr(), sizeAllocateEnd(), and sizeAllocateStart().
|
staticprotected |
Definition at line 81 of file oofawarewidget.hh.
Referenced by dw::Textblock::addWidget(), correctExtremesByOOF(), correctRequisitionByOOF(), and getOOFMIndex().
|
protected |
Definition at line 154 of file oofawarewidget.hh.
Referenced by containerSizeChangedForChildrenOOF(), correctExtremesByOOF(), correctRequisitionByOOF(), drawOOF(), dw::oof::OOFAwareWidget::OOFAwareWidgetIterator::getAllocationOOF(), getParentRefOutOfFlowMgr(), dw::oof::OOFAwareWidget::OOFAwareWidgetIterator::getPart(), getWidgetOOFAtPoint(), initOutOfFlowMgrs(), dw::oof::OOFAwareWidget::OOFAwareWidgetIterator::numParts(), OOFAwareWidget(), searchOutOfFlowMgr(), sizeAllocateEnd(), sizeAllocateStart(), and ~OOFAwareWidget().
|
protected |
Definition at line 155 of file oofawarewidget.hh.
Referenced by correctRequisitionByOOF(), and getRequisitionWithoutOOF().