Dillo
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
dw::oof::OOFAwareWidget Class Reference

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::RequisitiongetRequisitionWithoutOOF ()
 
bool doesWidgetOOFInterruptDrawing (Widget *widget)
 
void draw (core::View *view, core::Rectangle *area, core::DrawingContext *context)
 
virtual void updateReference (int ref)
 
virtual void widgetRefSizeChanged (int externalIndex)
 
virtual void clearPositionChanged ()
 
virtual void oofSizeChanged (bool extremesChanged)
 
virtual int getGeneratorX (int oofmIndex)
 
virtual int getGeneratorY (int oofmIndex)
 
virtual int getGeneratorWidth (int callerX, int callerWidth)
 
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::StylegetStyle ()
 
AllocationgetAllocation ()
 
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). More...
 
virtual WidgetsizeRequestReference (int index)
 See Sizes of Dillo Widgets (or Size requisitions depending on positions). More...
 
virtual int numGetExtremesReferences ()
 See Sizes of Dillo Widgets (or Size requisitions depending on positions). More...
 
virtual WidgetgetExtremesReference (int index)
 See Sizes of Dillo Widgets (or Size requisitions depending on positions). More...
 
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. More...
 
void getExtremes (Extremes *extremes, int numPos=0, Widget **references=NULL, int *x=NULL, int *y=NULL)
 Wrapper for Widget::getExtremesImpl(). More...
 
void sizeAllocate (Allocation *allocation)
 Wrapper for Widget::sizeAllocateImpl, calls the latter only when needed. More...
 
void calcExtraSpace (int numPos, Widget **references, int *x, int *y)
 Calculates dw::core::Widget::extraSpace. More...
 
int getAvailWidth (bool forceValue)
 
int getAvailHeight (bool forceValue)
 
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)
 
void calcFinalWidth (style::Style *style, int refWidth, Widget *refWidget, int limitMinWidth, bool forceValue, int *finalWidth)
 
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. More...
 
virtual bool isBlockLevel ()
 
virtual bool isPossibleContainer ()
 
void containerSizeChanged ()
 
bool intersects (Widget *refWidget, Rectangle *area, Rectangle *intersection)
 Calculates the intersection of the visible allocation (i. e. the intersection with the visible parent allocation) and "area" (in widget coordinates referring to "refWidget"), returned in intersection (in widget coordinates). More...
 
void drawInterruption (View *view, Rectangle *area, DrawingContext *context)
 
WidgetgetWidgetAtPointInterrupted (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. More...
 
void setBgColor (style::Color *bgColor)
 Set the background "behind" the widget, if it is not the background of the parent widget, e.g. the background of a table row. More...
 
style::ColorgetBgColor ()
 Get the actual background of a widget. More...
 
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). More...
 
void drawWidgetBox (View *view, Rectangle *area, bool inverse)
 Draw borders and background of a widget. More...
 
void drawSelected (View *view, Rectangle *area)
 
void setButtonSensitive (bool buttonSensitive)
 
bool isButtonSensitive ()
 
WidgetgetParent ()
 
WidgetgetContainer ()
 
WidgetgetTopLevel ()
 Get the widget at the root of the tree, this widget is part from. More...
 
int getLevel ()
 Get the level of the widget within the tree. More...
 
int getGeneratorLevel ()
 Get the level of the widget within the tree, regarting the generators, not the parents. More...
 
WidgetgetNearestCommonAncestor (Widget *otherWidget)
 Get the widget with the highest level, which is a direct ancestor of widget1 and widget2. More...
 
WidgetReferencegetWidgetReference ()
 
void setWidgetReference (WidgetReference *widgetReference)
 
WidgetgetGenerator ()
 
LayoutgetLayout ()
 
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). More...
 
virtual Iteratoriterator (Content::Type mask, bool atEnd)=0
 Return an iterator for this widget. More...
 
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. More...
 
int getClassId ()
 Returns the class identifier. More...
 
const char * getClassName ()
 Return the name, under which the class of this object was registered. More...
 
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. More...
 
- 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. More...
 
virtual bool equals (Object *other)
 Returns, whether two objects are equal. More...
 
virtual int hashValue ()
 Return a hash value for the object. More...
 
virtual Objectclone ()
 Return an exact copy of the object. More...
 
const char * toString ()
 Use object::Object::intoStringBuffer to return a textual representation of the object. More...
 
virtual size_t sizeOf ()
 Return the number of bytes, this object totally uses. More...
 

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::OutOfFlowMgrgetParentRefOutOfFlowMgr (int parentRef)
 
bool isWidgetOOF (Widget *widget)
 
int getWidgetInFlowSubRef (Widget *widget)
 
int getWidgetOOFSubRef (Widget *widget)
 
int getWidgetOOFIndex (Widget *widget)
 
oof::OutOfFlowMgrgetWidgetOutOfFlowMgr (Widget *widget)
 
OutOfFlowMgrsearchOutOfFlowMgr (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)
 
WidgetgetWidgetAtPoint (int x, int y, core::GettingWidgetAtPointContext *context)
 
virtual WidgetgetWidgetAtPointLevel (int x, int y, int level, core::GettingWidgetAtPointContext *context)
 
WidgetgetWidgetOOFAtPoint (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. More...
 
void notifySetParent ()
 This method is called after a widget has been added to a parent. More...
 
void removeChild (Widget *child)
 
virtual bool adjustExtraSpaceWhenCorrectingRequisitionByOOF ()
 
- Protected Member Functions inherited from dw::core::Widget
int getHeight ()
 
int getContentWidth ()
 
int getContentHeight ()
 
StackingContextMgrgetNextStackingContextMgr ()
 
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. More...
 
virtual void sizeRequestSimpl (Requisition *requisition)
 Simple variant, to be implemented by widgets with sizes not depending on positions. More...
 
virtual void getExtremesImpl (Extremes *extremes, int numPos, Widget **references, int *x, int *y)
 See Sizes of Dillo Widgets. More...
 
virtual void getExtremesSimpl (Extremes *extremes)
 Simple variant, to be implemented by widgets with extremes not depending on positions. More...
 
virtual void calcExtraSpaceImpl (int numPos, Widget **references, int *x, int *y)
 The actual implementation for calculating dw::core::Widget::extraSpace. More...
 
virtual void sizeAllocateImpl (Allocation *allocation)
 See Sizes of Dillo Widgets. More...
 
virtual void resizeDrawImpl ()
 Called after sizeAllocateImpl() to redraw necessary areas. By default the whole widget is redrawn. More...
 
virtual void markSizeChange (int ref)
 See Sizes of Dillo Widgets. More...
 
virtual void markExtremesChange (int ref)
 See Sizes of Dillo Widgets. More...
 
virtual int getAvailWidthOfChild (Widget *child, bool forceValue)
 
virtual int getAvailHeightOfChild (Widget *child, bool forceValue)
 
virtual void correctRequisitionOfChild (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseWidth, bool allowDecreaseHeight)
 
void correctReqWidthOfChild (Widget *child, Requisition *requisition, bool allowDecreaseWidth)
 
void correctReqHeightOfChild (Widget *child, Requisition *requisition, void(*splitHeightFun)(int, int *, int *), bool allowDecreaseHeight)
 
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. More...
 
virtual bool usesAvailHeight ()
 Must be implemengted by a method returning true, when getAvailHeight() is called. More...
 
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. See class comment for details. More...
 

Static Protected Member Functions

static int getOOFMIndex (Widget *widget)
 
static bool isOOFContainer (Widget *widget, int oofmIndex)
 

Protected Attributes

OOFAwareWidgetoofContainer [NUM_OOFM]
 
OutOfFlowMgroutOfFlowMgr [NUM_OOFM]
 
core::Requisition requisitionWithoutOOF
 
- Protected Attributes inherited from dw::core::Widget
WidgetImgRendererwidgetImgRenderer
 
Allocation allocation
 The current allocation: size and position, always relative to the canvas. More...
 
Layoutlayout
 
style::Box extraSpace
 Space around the margin box. Allocation is extraSpace + margin + border + padding + contents. More...
 
StackingContextMgrstackingContextMgr
 Set iff this widget constitutes a stacking context, as defined by CSS. More...
 
WidgetstackingContextWidget
 The bottom-most ancestor (or this) for which stackingContextMgr is set. More...
 

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. More...
 

Detailed Description

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):

if (isWidgetOOF (child) && getWidgetOutOfFlowMgr(child) &&
getWidgetOutOfFlowMgr(child)->dealingWithSizeOfChild (child))
width =
getWidgetOutOfFlowMgr(child)->getAvailWidthOfChild (child,forceValue);
else {
// ... specific implementation ...

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.

Todo:
Currently, on the level of dw::oof::OOFAwareWidget, nothing is done about dw::core::Widget::markSizeChange and dw::core::Widget::markExtremesChange. This does not matter, though: dw::Textblock takes care of these, and dw::Table is only connected to subclasses of dw::oof::OOFPositionedMgr, which do care about these. However, this should be considered for completeness.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
OOFM_FLOATS 
OOFM_ABSOLUTE 
OOFM_RELATIVE 
OOFM_FIXED 
NUM_OOFM 
anonymous enum
protected
Enumerator
PARENT_REF_OOFM_BITS 
PARENT_REF_OOFM_MASK 
anonymous enum
Enumerator
SL_START 
SL_BACKGROUND 
SL_SC_BOTTOM 
SL_IN_FLOW 
SL_OOF_REF 
SL_OOF_CONT 
SL_SC_TOP 
SL_END 

Constructor & Destructor Documentation

dw::oof::OOFAwareWidget::OOFAwareWidget ( )
dw::oof::OOFAwareWidget::~OOFAwareWidget ( )

References DBG_OBJ_DELETE.

Member Function Documentation

bool dw::oof::OOFAwareWidget::adjustExtraSpaceWhenCorrectingRequisitionByOOF ( )
protectedvirtual

Reimplemented in dw::AlignedTableCell, and dw::SimpleTableCell.

void dw::oof::OOFAwareWidget::clearPositionChanged ( )
virtual

TODO Needed after SRDOP?

Reimplemented in dw::Textblock.

References lout::misc::notImplemented().

void dw::oof::OOFAwareWidget::containerSizeChangedForChildrenOOF ( )
protected
void dw::oof::OOFAwareWidget::correctExtremesByOOF ( core::Extremes extremes)
protected
void dw::oof::OOFAwareWidget::correctRequisitionByOOF ( core::Requisition requisition,
void(*)(int, int *, int *)  splitHeightFun 
)
protected
bool dw::oof::OOFAwareWidget::doesWidgetOOFInterruptDrawing ( Widget widget)
void dw::oof::OOFAwareWidget::draw ( core::View view,
core::Rectangle area,
core::DrawingContext context 
)
virtual
void dw::oof::OOFAwareWidget::drawLevel ( core::View view,
core::Rectangle area,
int  level,
core::DrawingContext context 
)
protectedvirtual
void dw::oof::OOFAwareWidget::drawOOF ( core::View view,
core::Rectangle area,
core::DrawingContext context 
)
protected
int dw::oof::OOFAwareWidget::getGeneratorWidth ( int  callerX,
int  callerWidth 
)
virtual

Return width including margin/border/padding Called by OOFFloatsMgr to position floats.

In somce cases (as in dw::Textblock::getGeneratorRest), the value is not up to date; for this, the caller may pass its position relative to this widget, as well as its width, which are used for adjustments. (See comment in dw::Textblock::getGeneratorRest.)

Reimplemented in dw::Textblock.

References lout::misc::notImplemented().

Referenced by dw::oof::OOFFloatsMgr::calcFloatX(), dw::oof::OOFFloatsMgr::collidesH(), and dw::oof::OOFFloatsMgr::getFloatsExtremes().

int dw::oof::OOFAwareWidget::getGeneratorX ( int  oofmIndex)
virtual

Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats.

Reimplemented in dw::Textblock.

References lout::misc::notImplemented().

Referenced by dw::oof::OOFFloatsMgr::calcFloatX(), and dw::oof::OOFFloatsMgr::getBorder().

int dw::oof::OOFAwareWidget::getGeneratorY ( int  oofmIndex)
virtual

Return position relative to container, not regarding margin/border/padding, Called by OOFFloatsMgr to position floats.

Reimplemented in dw::Textblock.

References lout::misc::notImplemented().

Referenced by dw::oof::OOFFloatsMgr::TBInfo::ComparePosition::compare(), and dw::oof::OOFFloatsMgr::getClearPosition().

int dw::oof::OOFAwareWidget::getMaxGeneratorWidth ( )
virtual
int dw::oof::OOFAwareWidget::getOOFMIndex ( Widget widget)
staticprotected
int dw::oof::OOFAwareWidget::getParentRefInFlowSubRef ( int  parentRef)
inlineprotected
int dw::oof::OOFAwareWidget::getParentRefOOFIndex ( int  parentRef)
inlineprotected
int dw::oof::OOFAwareWidget::getParentRefOOFSubRef ( int  parentRef)
inlineprotected
oof::OutOfFlowMgr* dw::oof::OOFAwareWidget::getParentRefOutOfFlowMgr ( int  parentRef)
inlineprotected
core::Requisition* dw::oof::OOFAwareWidget::getRequisitionWithoutOOF ( )
inline

References requisitionWithoutOOF.

Widget * dw::oof::OOFAwareWidget::getWidgetAtPoint ( int  x,
int  y,
core::GettingWidgetAtPointContext context 
)
protectedvirtual

Reimplemented from dw::core::Widget.

Reimplemented in dw::Ruler.

References DBG_OBJ_ENTER, DBG_OBJ_LEAVE, and DBG_OBJ_MSGF.

Widget * dw::oof::OOFAwareWidget::getWidgetAtPointLevel ( int  x,
int  y,
int  level,
core::GettingWidgetAtPointContext context 
)
protectedvirtual
int dw::oof::OOFAwareWidget::getWidgetInFlowSubRef ( Widget widget)
inlineprotected
Widget * dw::oof::OOFAwareWidget::getWidgetOOFAtPoint ( int  x,
int  y,
core::GettingWidgetAtPointContext context 
)
protected
int dw::oof::OOFAwareWidget::getWidgetOOFIndex ( Widget widget)
inlineprotected
int dw::oof::OOFAwareWidget::getWidgetOOFSubRef ( Widget widget)
inlineprotected
oof::OutOfFlowMgr* dw::oof::OOFAwareWidget::getWidgetOutOfFlowMgr ( Widget widget)
inlineprotected
void dw::oof::OOFAwareWidget::initOutOfFlowMgrs ( )
protected

References DBG_OBJ_ASSOC.

bool dw::oof::OOFAwareWidget::isOOFContainer ( Widget widget,
int  oofmIndex 
)
staticprotected
bool dw::oof::OOFAwareWidget::isParentRefOOF ( int  parentRef)
inlineprotected
bool dw::oof::OOFAwareWidget::isPossibleOOFContainer ( int  oofmIndex)
virtual

Reimplemented in dw::Textblock.

bool dw::oof::OOFAwareWidget::isPossibleOOFContainerParent ( int  oofmIndex)
virtual

Reimplemented in dw::Textblock.

bool dw::oof::OOFAwareWidget::isWidgetOOF ( Widget widget)
inlineprotected

References isParentRefOOF().

int dw::oof::OOFAwareWidget::makeParentRefInFlow ( int  inFlowSubRef)
inlineprotected
int dw::oof::OOFAwareWidget::makeParentRefOOF ( int  oofmIndex,
int  oofmSubRef 
)
inlineprotected

References PARENT_REF_OOFM_BITS.

void dw::oof::OOFAwareWidget::notifySetAsTopLevel ( )
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.

References DBG_OBJ_ARRSET_PTR.

void dw::oof::OOFAwareWidget::notifySetParent ( )
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.

References DBG_OBJ_ARRSET_PTR, and dw::core::Widget::getParent().

void dw::oof::OOFAwareWidget::oofSizeChanged ( bool  extremesChanged)
virtual

Called by an implementation of dw::oof::OutOfFlowMgr when the size of the container has changed, typically in sizeAllocateEnd.

Reimplemented in dw::Textblock.

References DBG_OBJ_ENTER, and DBG_OBJ_LEAVE.

void dw::oof::OOFAwareWidget::removeChild ( Widget child)
protected
OutOfFlowMgr* dw::oof::OOFAwareWidget::searchOutOfFlowMgr ( int  oofmIndex)
inlineprotected

References outOfFlowMgr.

void dw::oof::OOFAwareWidget::sizeAllocateEnd ( )
protected
void dw::oof::OOFAwareWidget::sizeAllocateStart ( core::Allocation allocation)
protected
const char * dw::oof::OOFAwareWidget::stackingLevelText ( int  level)
static
static bool dw::oof::OOFAwareWidget::testStyleAbsolutelyPositioned ( core::style::Style style)
inlinestatic
static bool dw::oof::OOFAwareWidget::testStyleFixedlyPositioned ( core::style::Style style)
inlinestatic
static bool dw::oof::OOFAwareWidget::testStyleFloat ( core::style::Style style)
inlinestatic
static bool dw::oof::OOFAwareWidget::testStyleOutOfFlow ( core::style::Style style)
inlinestatic
static bool dw::oof::OOFAwareWidget::testStylePositioned ( core::style::Style style)
inlinestatic
static bool dw::oof::OOFAwareWidget::testStyleRelativelyPositioned ( core::style::Style style)
inlinestatic
static bool dw::oof::OOFAwareWidget::testWidgetAbsolutelyPositioned ( Widget widget)
inlinestatic
static bool dw::oof::OOFAwareWidget::testWidgetFixedlyPositioned ( Widget widget)
inlinestatic
static bool dw::oof::OOFAwareWidget::testWidgetFloat ( Widget widget)
inlinestatic

References testStyleFloat().

static bool dw::oof::OOFAwareWidget::testWidgetOutOfFlow ( Widget widget)
inlinestatic

References testStyleOutOfFlow().

static bool dw::oof::OOFAwareWidget::testWidgetPositioned ( Widget widget)
inlinestatic

References testStylePositioned().

static bool dw::oof::OOFAwareWidget::testWidgetRelativelyPositioned ( Widget widget)
inlinestatic
void dw::oof::OOFAwareWidget::updateReference ( int  ref)
virtual

...

Reimplemented in dw::Textblock.

References lout::misc::notImplemented().

bool dw::oof::OOFAwareWidget::usesMaxGeneratorWidth ( )
virtual
void dw::oof::OOFAwareWidget::widgetRefSizeChanged ( int  externalIndex)
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.

References lout::misc::notImplemented().

Referenced by dw::oof::OOFPosRelMgr::markSizeChange().

Member Data Documentation

int dw::oof::OOFAwareWidget::CLASS_ID = -1
static
OOFAwareWidget* dw::oof::OOFAwareWidget::oofContainer[NUM_OOFM]
protected
const char * dw::oof::OOFAwareWidget::OOFM_NAME
staticprotected
Initial value:
= {
"FLOATS", "ABSOLUTE", "RELATIVE", "FIXED"
}
OutOfFlowMgr* dw::oof::OOFAwareWidget::outOfFlowMgr[NUM_OOFM]
protected
core::Requisition dw::oof::OOFAwareWidget::requisitionWithoutOOF
protected

The documentation for this class was generated from the following files: