LibreOffice Module sw (master)  1
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SwAnchoredObject Class Referenceabstract

wrapper class for the positioning of Writer fly frames and drawing objects More...

#include <anchoredobject.hxx>

Inheritance diagram for SwAnchoredObject:
[legend]
Collaboration diagram for SwAnchoredObject:
[legend]

Public Member Functions

virtual ~SwAnchoredObject ()
 
void SetDrawObj (SdrObject &_rDrawObj)
 
const SdrObjectGetDrawObj () const
 
SdrObjectDrawObj ()
 
const SwFrameGetAnchorFrame () const
 
SwFrameAnchorFrame ()
 
void ChgAnchorFrame (SwFrame *_pNewAnchorFrame)
 
SwFrameGetAnchorFrameContainingAnchPos ()
 determine anchor frame containing the anchor position More...
 
SwPageFrameGetPageFrame ()
 
const SwPageFrameGetPageFrame () const
 
void SetPageFrame (SwPageFrame *_pNewPageFrame)
 
SwPageFrameFindPageFrameOfAnchor ()
 method to determine the page frame, on which the 'anchor' of the given anchored object is. More...
 
SwTextFrameFindAnchorCharFrame ()
 get frame, which contains the anchor character, if the object is anchored at-character or as-character. More...
 
const SwLayoutFrameGetVertPosOrientFrame () const
 
void ClearVertPosOrientFrame ()
 
void CheckCharRectAndTopOfLine (const bool _bCheckForParaPorInf)
 check anchor character rectangle and top of line More...
 
const SwRectGetLastCharRect () const
 
SwTwips GetRelCharX (const SwFrame *pFrame) const
 
SwTwips GetRelCharY (const SwFrame *pFrame) const
 
void AddLastCharY (long nDiff)
 
void ResetLastCharRectHeight ()
 
SwTwips GetLastTopOfLine () const
 
void AddLastTopOfLineY (SwTwips _nDiff)
 
void ClearCharRectAndTopOfLine ()
 reset members <maLastCharRect> and <mnLastTopOfLine> More...
 
virtual void MakeObjPos ()=0
 method to determine position for the object and set the position at the object More...
 
bool IsPositioningInProgress () const
 is positioning of anchored object in progress More...
 
bool InvalidationOfPosAllowed () const
 method to determine, if invalidation of position is allowed More...
 
virtual void InvalidateObjPos ()=0
 method to invalidate position of the anchored object More...
 
void InvalidateObjPosForConsiderWrapInfluence ()
 method to perform necessary invalidations for the positioning of objects, for whose the wrapping style influence has to be considered on the object positioning. More...
 
virtual void NotifyBackground (SwPageFrame *_pPageFrame, const SwRect &_rRect, PrepareHint _eHint)=0
 method to trigger notification of 'background' More...
 
const PointGetCurrRelPos () const
 
void SetCurrRelPos (Point _aRelPos)
 
virtual SwFrameFormatGetFrameFormat ()=0
 
virtual const SwFrameFormatGetFrameFormat () const =0
 
virtual const SwRect GetObjRect () const =0
 
void SetObjTop (const SwTwips _nTop)
 
void SetObjLeft (const SwTwips _nLeft)
 
virtual void UpdateLayoutDir ()
 method update layout direction the layout direction, the anchored object is assigned to More...
 
const SwRectGetObjRectWithSpaces () const
 method to determine object area inclusive its spacing More...
 
void InvalidateObjRectWithSpaces () const
 
bool ConsiderObjWrapInfluenceOnObjPos () const
 method to determine, if wrapping style influence of the anchored object has to be considered on the object positioning More...
 
bool ConsiderForTextWrap () const
 
void SetConsiderForTextWrap (const bool _bConsiderForTextWrap)
 
bool PositionLocked () const
 
void LockPosition ()
 
void UnlockPosition ()
 
void SetKeepPosLocked (const bool _bKeepPosLocked)
 
bool RestartLayoutProcess () const
 
void SetRestartLayoutProcess (const bool _bRestartLayoutProcess)
 
bool ClearedEnvironment () const
 
void SetClearedEnvironment (const bool _bClearedEnvironment)
 
void ResetLayoutProcessBools ()
 
bool HasClearedEnvironment () const
 method to determine, if due to anchored object size and wrapping style, its layout environment is cleared. More...
 
void UpdateObjInSortedList ()
 method to update anchored object in the <SwSortedObjs> lists More...
 
virtual bool IsFormatPossible () const
 method to determine, if a format on the anchored object is possible More...
 
void SetTmpConsiderWrapInfluence (const bool _bTmpConsiderWrapInfluence)
 
bool IsTmpConsiderWrapInfluence () const
 
void ClearTmpConsiderWrapInfluence ()
 
bool OverlapsPrevColumn () const
 method to determine, if the anchored object is overlapping with a previous column More...
 
Point GetRelPosToAnchorFrame () const
 method to determine position of anchored object relative to anchor frame More...
 
Point GetRelPosToPageFrame (const bool _bFollowTextFlow, bool &_obRelToTableCell) const
 method to determine position of anchored object relative to page frame More...
 
Point GetRelPosToChar () const
 method to determine position of anchored object relative to anchor character More...
 
Point GetRelPosToLine () const
 method to determine position of anchored object relative to top of line More...
 
virtual void dumpAsXml (xmlTextWriterPtr pWriter) const
 Dump a bunch of useful data to an XML representation to ease layout understanding, debugging and testing. More...
 
virtual const char * getElementName () const
 The element name to show in the XML dump. More...
 

Protected Member Functions

 SwAnchoredObject ()
 
void SetVertPosOrientFrame (const SwLayoutFrame &_rVertPosOrientFrame)
 
virtual void RegisterAtCorrectPage ()=0
 method to assure that anchored object is registered at the correct page frame More...
 
virtual void ObjectAttachedToAnchorFrame ()
 method to indicate, that anchored object is attached to a anchor frame More...
 
bool ConsiderObjWrapInfluenceOfOtherObjs () const
 method to determine, if other anchored objects, also attached at to the anchor frame, have to consider its wrap influence. More...
 
void SetTmpConsiderWrapInfluenceOfOtherObjs ()
 method to apply temporary consideration of wrapping style influence to the anchored objects, which are anchored at the same anchor frame More...
 
virtual bool SetObjTop_ (const SwTwips _nTop)=0
 
virtual bool SetObjLeft_ (const SwTwips _nLeft)=0
 
virtual const SwRect GetObjBoundRect () const =0
 

Private Member Functions

void SetPositioningInProgress (const bool _bPosInProgress)
 
void CheckCharRect (const SwFormatAnchor &_rAnch, const SwTextFrame &_rAnchorCharFrame)
 check anchor character rectangle More...
 
void CheckTopOfLine (const SwFormatAnchor &_rAnch, const SwTextFrame &_rAnchorCharFrame)
 check top of line More...
 

Private Attributes

SdrObjectmpDrawObj
 
SwFramempAnchorFrame
 
SwPageFramempPageFrame
 
Point maRelPos
 
SwRect maLastCharRect
 
SwTwips mnLastTopOfLine
 
const SwLayoutFramempVertPosOrientFrame
 
bool mbPositioningInProgress
 
bool mbConsiderForTextWrap
 
bool mbPositionLocked
 
bool mbKeepPositionLockedForSection
 
bool mbRestartLayoutProcess
 
bool mbClearedEnvironment
 
bool mbTmpConsiderWrapInfluence
 
SwRect maObjRectWithSpaces
 
bool mbObjRectWithSpacesValid
 
SwRect maLastObjRect
 

Friends

class SwObjPositioningInProgress
 method to indicate, that positioning of anchored object is in progress More...
 
bool sw_HideObj (const SwTextFrame &_rFrame, const RndStdIds _eAnchorType, SwPosition const &rAnchorPos, SwAnchoredObject *_pAnchoredObj)
 as-character anchored graphics, which are used for a graphic bullet list. More...
 

Detailed Description

wrapper class for the positioning of Writer fly frames and drawing objects

Purpose of this class is to provide a unified interface for the positioning of Writer fly frames (derived classes of <SwFlyFrame>) and of drawing objects (derived classes of <SwAnchoredDrawObject>).

Definition at line 44 of file anchoredobject.hxx.

Constructor & Destructor Documentation

SwAnchoredObject::SwAnchoredObject ( )
protected

Definition at line 70 of file anchoredobject.cxx.

SwAnchoredObject::~SwAnchoredObject ( )
virtual

Definition at line 106 of file anchoredobject.cxx.

References ClearVertPosOrientFrame().

Member Function Documentation

void SwAnchoredObject::AddLastCharY ( long  nDiff)

Definition at line 176 of file anchoredobject.cxx.

References maLastCharRect, and SwRect::Pos().

Referenced by lcl_ArrangeLowers().

void SwAnchoredObject::AddLastTopOfLineY ( SwTwips  _nDiff)

Definition at line 201 of file anchoredobject.cxx.

References mnLastTopOfLine.

Referenced by lcl_ArrangeLowers().

SwFrame* SwAnchoredObject::AnchorFrame ( )
inline
void SwAnchoredObject::CheckCharRect ( const SwFormatAnchor _rAnch,
const SwTextFrame _rAnchorCharFrame 
)
private

check anchor character rectangle

helper method for method <CheckCharRectAndTopOfLine()> For to-character anchored Writer fly frames the member <maLastCharRect> is updated. This is checked for change and depending on the applied positioning, it's decided, if the Writer fly frame has to be invalidated. improvement - add second parameter <_rAnchorCharFrame>

Parameters
_rAnchinput parameter - reference to anchor position
_rAnchorCharFrameinput parameter - reference to the text frame containing the anchor character.

#i22341# helper method for method <CheckCharRectAndTopOfLine()> For to-character anchored Writer fly frames the member <maLastCharRect> is updated. This is checked for change and depending on the applied positioning, it's decided, if the Writer fly frame has to be invalidated.

improvement - add second parameter <_rAnchorCharFrame>

Definition at line 253 of file anchoredobject.cxx.

References SwFrame::FindPageFrame(), SwTextFrame::GetAutoPos(), SwFormatAnchor::GetContentAnchor(), GetFrameFormat(), SwRectFnSet::GetHeight(), SwRectFnSet::GetLeft(), GetPageFrame(), SwFormatVertOrient::GetRelationOrient(), SwFormatHoriOrient::GetRelationOrient(), SwRectFnSet::GetTop(), InvalidateObjPos(), maLastCharRect, and UnlockPosition().

Referenced by CheckCharRectAndTopOfLine().

void SwAnchoredObject::CheckCharRectAndTopOfLine ( const bool  _bCheckForParaPorInf)

check anchor character rectangle and top of line

For to-character anchored Writer fly frames the members <maLastCharRect> and <maLastTopOfLine> are updated. These are checked for change and depending on the applied positioning, it's decided, if the Writer fly frame has to be invalidated.

Parameters
_bCheckForParaPorInfinput parameter - boolean indicating, if check on paragraph portion information has to be done.

#i26791 For to-character anchored Writer fly frames the members <maLastCharRect> and <maLastTopOfLine> are updated. These are checked for change and depending on the applied positioning, it's decided, if the Writer fly frame has to be invalidated.

add parameter <_bCheckForParaPorInf>, default value <true>

Definition at line 216 of file anchoredobject.cxx.

References CheckCharRect(), CheckTopOfLine(), FindAnchorCharFrame(), SwFormat::GetAnchor(), GetAnchorFrame(), SwFormatAnchor::GetAnchorId(), SwFormatAnchor::GetContentAnchor(), GetFrameFormat(), and SwTextFrame::HasPara().

Referenced by objectpositioning::SwToContentAnchoredObjectPosition::CalcPosition().

void SwAnchoredObject::CheckTopOfLine ( const SwFormatAnchor _rAnch,
const SwTextFrame _rAnchorCharFrame 
)
private

check top of line

helper method for method <CheckCharRectAndTopOfLine()> For to-character anchored Writer fly frames the member <mnLastTopOfLine> is updated. This is checked for change and depending on the applied positioning, it's decided, if the Writer fly frame has to be invalidated.

Parameters
_rAnchinput parameter - reference to anchor position
_rAnchorCharFrameinput parameter - reference to the text frame containing the anchor character.

#i22341# helper method for method <CheckCharRectAndTopOfLine()> For to-character anchored Writer fly frames the member <mnLastTopOfLine> is updated. This is checked for change and depending on the applied positioning, it's decided, if the Writer fly frame has to be invalidated.

improvement - add second parameter <_rAnchorCharFrame>

Definition at line 313 of file anchoredobject.cxx.

References SwFrame::FindPageFrame(), SwFormatAnchor::GetContentAnchor(), GetFrameFormat(), GetPageFrame(), SwFormatVertOrient::GetRelationOrient(), SwTextFrame::GetTopOfLine(), SwFormat::GetVertOrient(), InvalidateObjPos(), mnLastTopOfLine, and UnlockPosition().

Referenced by CheckCharRectAndTopOfLine().

void SwAnchoredObject::ChgAnchorFrame ( SwFrame _pNewAnchorFrame)
void SwAnchoredObject::ClearCharRectAndTopOfLine ( )

reset members <maLastCharRect> and <mnLastTopOfLine>

Definition at line 339 of file anchoredobject.cxx.

References SwRect::Clear(), maLastCharRect, and mnLastTopOfLine.

Referenced by SwFEShell::FindAnchorPos(), SwFlyAtContentFrame::Modify(), and SwFEShell::MoveAnchor().

bool SwAnchoredObject::ClearedEnvironment ( ) const
void SwAnchoredObject::ClearTmpConsiderWrapInfluence ( )
void SwAnchoredObject::ClearVertPosOrientFrame ( )
bool SwAnchoredObject::ConsiderForTextWrap ( ) const
bool SwAnchoredObject::ConsiderObjWrapInfluenceOfOtherObjs ( ) const
protected

method to determine, if other anchored objects, also attached at to the anchor frame, have to consider its wrap influence.

–> #i43255#

Definition at line 449 of file anchoredobject.cxx.

References GetAnchorFrame(), SwFrame::GetDrawObjs(), and SwSortedObjs::size().

Referenced by SwFlyAtContentFrame::MakeAll(), and SwAnchoredDrawObject::MakeObjPosAnchoredAtPara().

bool SwAnchoredObject::ConsiderObjWrapInfluenceOnObjPos ( ) const

method to determine, if wrapping style influence of the anchored object has to be considered on the object positioning

Note: result of this method also decides, if the boolean for the layout process are of relevance.

#i28701# Note: result of this method also decides, if the booleans for the layout process are of relevance.

Definition at line 412 of file anchoredobject.cxx.

References CONSIDER_WRAP_ON_OBJECT_POSITION, IDocumentSettingAccess::get(), SwFormat::GetAnchor(), SwFormatAnchor::GetAnchorId(), GetFrameFormat(), SwFormat::getIDocumentSettingAccess(), SwFormatSurround::GetSurround(), SwFormat::GetSurround(), and IsTmpConsiderWrapInfluence().

Referenced by ClearedEnvironment(), ConsiderForTextWrap(), SwObjectFormatterTextFrame::DoFormatObj(), SwObjectFormatterTextFrame::GetFirstObjWithMovedFwdAnchor(), InvalidateObjPosForConsiderWrapInfluence(), lcl_ArrangeLowers(), SwFlyAtContentFrame::MakeAll(), SwAnchoredDrawObject::MakeObjPosAnchoredAtPara(), PositionLocked(), RestartLayoutProcess(), UpdateObjInSortedList(), and SwFlyNotify::~SwFlyNotify().

SdrObject* SwAnchoredObject::DrawObj ( )
inline
void SwAnchoredObject::dumpAsXml ( xmlTextWriterPtr  pWriter) const
virtual

Dump a bunch of useful data to an XML representation to ease layout understanding, debugging and testing.

Reimplemented in SwFlyFrame.

Definition at line 506 of file xmldump.cxx.

References GetDrawObj(), getElementName(), GetObjBoundRect(), Height, Left, Top, and Width.

SwTextFrame * SwAnchoredObject::FindAnchorCharFrame ( )

get frame, which contains the anchor character, if the object is anchored at-character or as-character.

Returns
SwTextFrame* text frame containing the anchor character. It's NULL, if the object isn't anchored at-character resp. as-character.

#i26945#

Returns
SwTextFrame* text frame containing the anchor character. It's NULL, if the object isn't anchored at-character resp. as-character.

Definition at line 709 of file anchoredobject.cxx.

References AnchorFrame(), SwFormat::GetAnchor(), SwFormatAnchor::GetAnchorId(), SwFormatAnchor::GetContentAnchor(), SwTextFrame::GetFrameAtOfst(), GetFrameFormat(), SwTextFrame::MapModelToViewPos(), and mpAnchorFrame.

Referenced by SwTabFrame::CalcFlyOffsets(), CheckCharRectAndTopOfLine(), SwPageNumAndTypeOfAnchors::Collect(), SwObjectFormatter::FormatObjsAtFrame_(), and GetAnchorFrameContainingAnchPos().

SwPageFrame * SwAnchoredObject::FindPageFrameOfAnchor ( )

method to determine the page frame, on which the 'anchor' of the given anchored object is.

Adjust meaning of method and thus its name: If the anchored object or its anchor isn't correctly inserted in the layout, no page frame can be found. Thus, the return type changed to be a pointer and can be NULL.

Parameters
_rAnchoredObjinput parameter - anchored object, for which the page frame of its 'anchor' has to be determined.
Returns
SwPageFrame& page frame, the 'anchor' of the given anchored object is on

#i28701# #i33751#, #i34060# Adjust meaning of method and thus its name: If the anchored object or its anchor isn't correctly inserted in the layout, no page frame can be found. Thus, the return type changed to be a pointer and can be NULL.

Definition at line 686 of file anchoredobject.cxx.

References SwFrame::FindPageFrame(), GetAnchorFrameContainingAnchPos(), and mpAnchorFrame.

Referenced by SwObjectFormatterLayFrame::AdditionalFormatObjsOnPage(), SwObjectFormatterTextFrame::CheckMovedFwdCondition(), SwPageNumAndTypeOfAnchors::Collect(), SwObjectFormatter::FormatObjsAtFrame_(), SwEditShell::HandleUndoRedoContext(), SwFEShell::Insert(), SwAnchoredDrawObject::InvalidateObjPos(), sw::IsFlyFrameFormatInHeader(), and lcl_NotifyBackgroundOfObj().

const SwFrame* SwAnchoredObject::GetAnchorFrame ( ) const
inline

Definition at line 203 of file anchoredobject.hxx.

Referenced by SwObjectFormatterLayFrame::AdditionalFormatObjsOnPage(), SwFrame::AppendDrawObj(), SwPageFrame::AppendDrawObjToPage(), SwPageFrame::AppendFlyToPage(), SwFlowFrame::BwdMoveNecessary(), SwFEShell::CalcBoundRect(), CalcClipRect(), SwTabFrame::CalcFlyOffsets(), SwRootFrame::CalcFrameRects(), SwFlyFrame::CalcRel(), CheckCharRectAndTopOfLine(), SwFlyFreeFrame::CheckClip(), SwDrawView::CheckPossibilities(), SwFlyFrame::ChgRelPos(), SwDrawContact::ChkPage(), ConsiderObjWrapInfluenceOfOtherObjs(), SwPageFrame::Cut(), SwFlyFreeFrame::DestroyImpl(), SwFlyFrame::DestroyImpl(), SwFlyInContentFrame::DestroyImpl(), SwDrawContact::DisconnectFromLayout(), SwObjectFormatterTextFrame::DoFormatObj(), objectpositioning::SwAnchoredObjectPosition::DrawAsideFly(), SwTextFly::DrawTextOpaque(), SwFEShell::FindAnchorPos(), SwFlyFrame::FindChainNeighbour(), SwTextFly::ForEach(), SwObjectFormatter::FormatObj(), SwObjectFormatter::FormatObj_(), SwObjectFormatter::FormatObjsAtFrame_(), SwDrawVirtObj::GetAnchorFrame(), SwDrawContact::GetAnchorFrame(), SwFEShell::GetAnchorObjDiff(), SwAccessibleDocument::getExtendedAttributes(), SwFEShell::GetGraphicDefaultSize(), sw::access::SwAccessibleChild::GetParent(), GetRelPosToAnchorFrame(), GetRelPosToPageFrame(), SwTextFly::GetSurroundForTextWrap(), SwTextFly::GetTop(), HasClearedEnvironment(), SwFlyFreeFrame::HasEnvironmentAutoSize(), SwFEShell::ImpEndCreate(), SwTextFly::InitAnchoredObjList(), SwFlyFrame::Invalidate_(), SwAnchoredDrawObject::InvalidateObjPos(), SwFrame::InvalidatePage(), InvaPercentFlys(), Is_Lower_Of(), sw::IsFlyFrameFormatInHeader(), SwFlyFreeFrame::IsFormatPossible(), SwFEShell::IsFrameVertical(), SwFEShell::IsGroupAllowed(), SwFlyFrame::IsLowerOf(), SwFlyFrame::IsShowUnfloatButton(), lcl_AdjustPositioningAttr(), lcl_CheckObjects(), lcl_FindAnchor(), lcl_IsInBody(), lcl_MakeObjs(), lcl_NotifyBackgroundOfObj(), lcl_RefreshLine(), lcl_SubtractFlys(), SwFlyFreeFrame::MakeAll(), SwFlyAtContentFrame::MakeAll(), SwFlyInContentFrame::MakeAll(), SwAnchoredDrawObject::MakeObjPos(), SwFlyInContentFrame::MakeObjPos(), SwFlyFrame::MakeObjPos(), SwAnchoredDrawObject::MakeObjPosAnchoredAtLayout(), SwFlyAtContentFrame::Modify(), SwFlyInContentFrame::Modify(), SwFEShell::MoveAnchor(), SwVirtFlyDrawObj::NbcMove(), SwVirtFlyDrawObj::NbcResize(), Notify_Background(), SwDrawView::ObjOrderChanged(), SwFlyFrame::PaintSwFrame(), SwFEShell::Paste(), SwDrawVirtObj::RemoveFromWriterLayout(), SwRootFrame::RemoveSuperfluous(), SwFEShell::RequestObjectResize(), SwFEShell::SelectFlyFrame(), SwFlyAtContentFrame::SetAbsPos(), SwAnchoredDrawObject::SetDrawObjAnchor(), SwFEShell::SetFlyPos(), SwFlyInContentFrame::SetRefPoint(), SetTmpConsiderWrapInfluenceOfOtherObjs(), SwFlyFrame::Shrink_(), SwContact::SwClientNotify(), SwDrawContact::SwClientNotify(), UpdateLayoutDir(), UpdateObjInSortedList(), SwFlyNotify::~SwFlyNotify(), and SwPosNotify::~SwPosNotify().

SwFrame * SwAnchoredObject::GetAnchorFrameContainingAnchPos ( )

determine anchor frame containing the anchor position

the anchor frame, which is determined, is <mpAnchorFrame> for an at-page, at-frame or at-paragraph anchored object and the anchor character frame for an at-character and as-character anchored object.

#i26945# the anchor frame, which is determined, is <mpAnchorFrame> for an at-page, at-frame or at-paragraph anchored object and the anchor character frame for an at-character and as-character anchored object.

Definition at line 135 of file anchoredobject.cxx.

References AnchorFrame(), and FindAnchorCharFrame().

Referenced by SwTabFrame::CalcFlyOffsets(), SwFrame::CheckDirChange(), SwObjectFormatterTextFrame::CheckMovedFwdCondition(), FindPageFrameOfAnchor(), lcl_ArrangeLowers(), SwFlyAtContentFrame::MakeAll(), SwAnchoredDrawObject::MakeObjPosAnchoredAtPara(), and SwContact::MoveObjToVisibleLayer().

const Point& SwAnchoredObject::GetCurrRelPos ( ) const
inline
const SdrObject* SwAnchoredObject::GetDrawObj ( ) const
inline
virtual const char* SwAnchoredObject::getElementName ( ) const
inlinevirtual

The element name to show in the XML dump.

Reimplemented in SwAnchoredDrawObject.

Definition at line 481 of file anchoredobject.hxx.

Referenced by dumpAsXml().

virtual SwFrameFormat& SwAnchoredObject::GetFrameFormat ( )
pure virtual
virtual const SwFrameFormat& SwAnchoredObject::GetFrameFormat ( ) const
pure virtual

Implemented in SwFlyFrame, and SwAnchoredDrawObject.

const SwRect& SwAnchoredObject::GetLastCharRect ( ) const
inline
SwTwips SwAnchoredObject::GetLastTopOfLine ( ) const
inline
virtual const SwRect SwAnchoredObject::GetObjBoundRect ( ) const
protectedpure virtual

Implemented in SwFlyFrame, and SwAnchoredDrawObject.

Referenced by dumpAsXml(), and GetObjRectWithSpaces().

virtual const SwRect SwAnchoredObject::GetObjRect ( ) const
pure virtual
const SwRect & SwAnchoredObject::GetObjRectWithSpaces ( ) const
SwPageFrame* SwAnchoredObject::GetPageFrame ( )
inline
const SwPageFrame* SwAnchoredObject::GetPageFrame ( ) const
inline

Definition at line 216 of file anchoredobject.hxx.

SwTwips SwAnchoredObject::GetRelCharX ( const SwFrame pFrame) const
SwTwips SwAnchoredObject::GetRelCharY ( const SwFrame pFrame) const
Point SwAnchoredObject::GetRelPosToAnchorFrame ( ) const

method to determine position of anchored object relative to anchor frame

Usage: Needed layout information for WW8 export

Returns
Point - determined relative position

#i30669# Usage: Needed layout information for WW8 export

Definition at line 813 of file anchoredobject.cxx.

References GetAnchorFrame(), SwFrameAreaDefinition::getFrameArea(), GetObjRect(), and SwRect::Pos().

Point SwAnchoredObject::GetRelPosToChar ( ) const

method to determine position of anchored object relative to anchor character

Usage: Needed layout information for WW8 export

Returns
Point - determined relative position

#i30669# Usage: Needed layout information for WW8 export

Definition at line 879 of file anchoredobject.cxx.

References GetLastCharRect(), GetObjRect(), and SwRect::Pos().

Point SwAnchoredObject::GetRelPosToLine ( ) const

method to determine position of anchored object relative to top of line

Usage: Needed layout information for WW8 export

Returns
Point - determined relative position

#i30669# Usage: Needed layout information for WW8 export

Definition at line 893 of file anchoredobject.cxx.

References Point::AdjustY(), GetLastTopOfLine(), GetObjRect(), and SwRect::Pos().

Point SwAnchoredObject::GetRelPosToPageFrame ( const bool  _bFollowTextFlow,
bool &  _obRelToTableCell 
) const

method to determine position of anchored object relative to page frame

Usage: Needed layout information for WW8 export

If <_bFollowTextFlow> is set and object is anchored inside table, the position relative to the table cell is determined. Output parameter <_obRelToTableCell> reflects this situation

Parameters
_bFollowTextFlowinput parameter - boolean indicating, if the anchored object has to follow the text flow.
_obRelToTableCelloutput parameter - boolean indicating, the determine position is relative to the table cell
Returns
Point - determined relative position

#i30669# Usage: Needed layout information for WW8 export #i33818# - add parameters <_bFollowTextFlow> and <_obRelToTableCell> If <_bFollowTextFlow> is set and object is anchored inside table, the position relative to the table cell is determined. Output parameter <_obRelToTableCell> reflects this situation

Definition at line 835 of file anchoredobject.cxx.

References SwFrame::FindPageFrame(), GetAnchorFrame(), SwFrameAreaDefinition::getFrameArea(), SwFrameAreaDefinition::getFramePrintArea(), GetObjRect(), SwFrame::GetUpper(), SwFrame::IsCellFrame(), SwFrame::IsPageFrame(), and SwRect::Pos().

const SwLayoutFrame* SwAnchoredObject::GetVertPosOrientFrame ( ) const
inline
bool SwAnchoredObject::HasClearedEnvironment ( ) const
virtual void SwAnchoredObject::InvalidateObjPos ( )
pure virtual
void SwAnchoredObject::InvalidateObjPosForConsiderWrapInfluence ( )

method to perform necessary invalidations for the positioning of objects, for whose the wrapping style influence has to be considered on the object positioning.

#i28701#

Definition at line 390 of file anchoredobject.cxx.

References ConsiderObjWrapInfluenceOnObjPos(), GetObjRectWithSpaces(), GetPageFrame(), InvalidateObjPos(), NotifyBackground(), PREP_FLY_LEAVE, SetConsiderForTextWrap(), and UnlockPosition().

Referenced by SwObjectFormatterTextFrame::InvalidateFollowObjs(), SwObjectFormatterTextFrame::InvalidatePrevObjs(), and UpdateObjInSortedList().

void SwAnchoredObject::InvalidateObjRectWithSpaces ( ) const
inline
bool SwAnchoredObject::InvalidationOfPosAllowed ( ) const

method to determine, if invalidation of position is allowed

#i28701#

Definition at line 669 of file anchoredobject.cxx.

References PositionLocked().

Referenced by SwAnchoredDrawObject::InvalidateObjPos(), and SwFlyAtContentFrame::InvalidationAllowed().

bool SwAnchoredObject::IsFormatPossible ( ) const
virtual

method to determine, if a format on the anchored object is possible

A format isn't possible, if anchored object is in an invisible layer. Note: method is virtual to refine the conditions for the sub-classes.

#i28701# A format is possible, if anchored object is in an invisible layer. Note: method is virtual to refine the conditions for the sub-classes.

Reimplemented in SwFlyFrame, SwFlyAtContentFrame, and SwFlyFreeFrame.

Definition at line 735 of file anchoredobject.cxx.

References SwFormat::GetDoc(), GetDrawObj(), GetFrameFormat(), SwDoc::getIDocumentDrawModelAccess(), and IDocumentDrawModelAccess::IsVisibleLayerId().

Referenced by CalcContent(), SwObjectFormatterTextFrame::DoFormatObj(), and SwFlyFrame::IsFormatPossible().

bool SwAnchoredObject::IsPositioningInProgress ( ) const
inline

is positioning of anchored object in progress

Definition at line 287 of file anchoredobject.hxx.

Referenced by SwDrawContact::Changed_(), SwAnchoredDrawObject::MakeObjPos(), and SwObjPositioningInProgress::SwObjPositioningInProgress().

bool SwAnchoredObject::IsTmpConsiderWrapInfluence ( ) const
inline

Definition at line 413 of file anchoredobject.hxx.

Referenced by ConsiderObjWrapInfluenceOnObjPos().

void SwAnchoredObject::LockPosition ( )
inline

Definition at line 352 of file anchoredobject.hxx.

Referenced by SwFlyNotify::~SwFlyNotify(), and SwPosNotify::~SwPosNotify().

virtual void SwAnchoredObject::MakeObjPos ( )
pure virtual

method to determine position for the object and set the position at the object

Implemented in SwFlyFrame, SwFlyInContentFrame, SwFlyAtContentFrame, and SwAnchoredDrawObject.

Referenced by SwObjectFormatter::FormatObj_(), and SwDrawContact::SwClientNotify().

virtual void SwAnchoredObject::NotifyBackground ( SwPageFrame _pPageFrame,
const SwRect _rRect,
PrepareHint  _eHint 
)
pure virtual
void SwAnchoredObject::ObjectAttachedToAnchorFrame ( )
protectedvirtual

method to indicate, that anchored object is attached to a anchor frame

Reimplemented in SwAnchoredDrawObject.

Definition at line 350 of file anchoredobject.cxx.

References UpdateLayoutDir().

Referenced by ChgAnchorFrame(), and SwAnchoredDrawObject::ObjectAttachedToAnchorFrame().

bool SwAnchoredObject::OverlapsPrevColumn ( ) const

method to determine, if the anchored object is overlapping with a previous column

overlapping with a previous column means, that the object overlaps with a column, which is a previous one of the column its anchor frame is in. Only applied for at-paragraph and at-character anchored objects.

#i3317# overlapping with a previous column means, that the object overlaps with a column, which is a previous one of the column its anchor frame is in. Only applied for at-paragraph and at-character anchored objects.

Definition at line 784 of file anchoredobject.cxx.

References SwFrame::FindColFrame(), SwFrameAreaDefinition::getFrameArea(), GetObjRect(), SwFrame::GetPrev(), SwRect::IsOver(), SwFrame::IsTextFrame(), mpAnchorFrame, and SwRect::Union().

Referenced by SwFlyAtContentFrame::MakeAll(), and SwAnchoredDrawObject::MakeObjPosAnchoredAtPara().

bool SwAnchoredObject::PositionLocked ( ) const
virtual void SwAnchoredObject::RegisterAtCorrectPage ( )
protectedpure virtual

method to assure that anchored object is registered at the correct page frame

Implemented in SwFlyAtContentFrame, SwFlyFrame, and SwAnchoredDrawObject.

Referenced by SetVertPosOrientFrame().

void SwAnchoredObject::ResetLastCharRectHeight ( )

Definition at line 181 of file anchoredobject.cxx.

References SwRect::Height(), and maLastCharRect.

Referenced by SwFlyAtContentFrame::SetAbsPos().

void SwAnchoredObject::ResetLayoutProcessBools ( )
inline

Definition at line 376 of file anchoredobject.hxx.

Referenced by SwFlyFrame::Modify(), and SwDrawContact::SwClientNotify().

bool SwAnchoredObject::RestartLayoutProcess ( ) const
void SwAnchoredObject::SetClearedEnvironment ( const bool  _bClearedEnvironment)
void SwAnchoredObject::SetConsiderForTextWrap ( const bool  _bConsiderForTextWrap)
void SwAnchoredObject::SetCurrRelPos ( Point  _aRelPos)
void SwAnchoredObject::SetDrawObj ( SdrObject _rDrawObj)
void SwAnchoredObject::SetKeepPosLocked ( const bool  _bKeepPosLocked)
inline

Definition at line 364 of file anchoredobject.hxx.

void SwAnchoredObject::SetObjLeft ( const SwTwips  _nLeft)
virtual bool SwAnchoredObject::SetObjLeft_ ( const SwTwips  _nLeft)
protectedpure virtual

Implemented in SwFlyFrame, and SwAnchoredDrawObject.

Referenced by SetObjLeft().

void SwAnchoredObject::SetObjTop ( const SwTwips  _nTop)
virtual bool SwAnchoredObject::SetObjTop_ ( const SwTwips  _nTop)
protectedpure virtual

Implemented in SwFlyFrame, and SwAnchoredDrawObject.

Referenced by SetObjTop().

void SwAnchoredObject::SetPageFrame ( SwPageFrame _pNewPageFrame)
void SwAnchoredObject::SetPositioningInProgress ( const bool  _bPosInProgress)
inlineprivate
void SwAnchoredObject::SetRestartLayoutProcess ( const bool  _bRestartLayoutProcess)
void SwAnchoredObject::SetTmpConsiderWrapInfluence ( const bool  _bTmpConsiderWrapInfluence)
void SwAnchoredObject::SetTmpConsiderWrapInfluenceOfOtherObjs ( )
protected

method to apply temporary consideration of wrapping style influence to the anchored objects, which are anchored at the same anchor frame

Definition at line 760 of file anchoredobject.cxx.

References GetAnchorFrame(), SwFrame::GetDrawObjs(), and SwSortedObjs::size().

Referenced by SwFlyAtContentFrame::MakeAll().

void SwAnchoredObject::SetVertPosOrientFrame ( const SwLayoutFrame _rVertPosOrientFrame)
protected
void SwAnchoredObject::UnlockPosition ( )
inline
void SwAnchoredObject::UpdateLayoutDir ( )
virtual

method update layout direction the layout direction, the anchored object is assigned to

method update layout direction the layout direction, the anchored object is in

method has typically to be called, if the anchored object gets its anchor frame assigned and if the anchor frame changes its layout direction

#i31698# method has typically to be called, if the anchored object gets its anchor frame assigned.

Reimplemented in SwAnchoredDrawObject.

Definition at line 364 of file anchoredobject.cxx.

References GetAnchorFrame(), GetFrameFormat(), SwFrameFormat::HORI_L2R, SwFrameFormat::HORI_R2L, SwFrame::IsRightToLeft(), SwFrame::IsVertical(), SwFrameFormat::SetLayoutDir(), and SwFrameFormat::VERT_R2L.

Referenced by SwFrame::CheckDirChange(), ObjectAttachedToAnchorFrame(), and SwAnchoredDrawObject::UpdateLayoutDir().

void SwAnchoredObject::UpdateObjInSortedList ( )

method to update anchored object in the <SwSortedObjs> lists

Method is not proposed to be called during a layout process is running. It has been used on the change of the anchored object attributes, which belongs the sort criteria of <SwSortedObjs>. If document compatibility option 'Consider wrapping style influence on object positioning' is ON, additionally all anchored objects at the anchor frame and all following anchored objects on the page frame are invalidated.

#i28701# If document compatibility option 'Consider wrapping style influence on object positioning' is ON, additionally all anchored objects at the anchor frame and all following anchored objects on the page frame are invalidated.

Definition at line 619 of file anchoredobject.cxx.

References AnchorFrame(), SwSortedObjs::begin(), CONSIDER_WRAP_ON_OBJECT_POSITION, ConsiderObjWrapInfluenceOnObjPos(), SwSortedObjs::end(), GetAnchorFrame(), SwFrame::GetDrawObjs(), GetFrameFormat(), GetPageFrame(), SwPageFrame::GetSortedObjs(), i, InvalidateObjPos(), InvalidateObjPosForConsiderWrapInfluence(), SwSortedObjs::ListPosOf(), SwSortedObjs::size(), and SwSortedObjs::Update().

Referenced by SwDoc::ChgAnchor(), SwDrawContact::InvalidateObjs_(), and SwFlyFrame::Modify().

Friends And Related Function Documentation

bool sw_HideObj ( const SwTextFrame _rFrame,
const RndStdIds  _eAnchorType,
SwPosition const &  rAnchorPos,
SwAnchoredObject _pAnchoredObj 
)
friend

as-character anchored graphics, which are used for a graphic bullet list.

As long as these graphic bullet list aren't imported, do not hide a at-character anchored object, if (a) the document is an imported WW8 document - checked by checking certain compatibility options - (b) the paragraph is the last content in the document and (c) the anchor character is an as-character anchored graphic.

Definition at line 1475 of file txtfrm.cxx.

friend class SwObjPositioningInProgress
friend

method to indicate, that positioning of anchored object is in progress

note: method is implemented empty

Definition at line 119 of file anchoredobject.hxx.

Member Data Documentation

SwRect SwAnchoredObject::maLastCharRect
private
SwRect SwAnchoredObject::maLastObjRect
mutableprivate
SwRect SwAnchoredObject::maObjRectWithSpaces
mutableprivate

Definition at line 111 of file anchoredobject.hxx.

Referenced by GetObjRectWithSpaces().

Point SwAnchoredObject::maRelPos
private

Definition at line 55 of file anchoredobject.hxx.

Referenced by SetCurrRelPos().

bool SwAnchoredObject::mbClearedEnvironment
private
bool SwAnchoredObject::mbConsiderForTextWrap
private

Definition at line 91 of file anchoredobject.hxx.

Referenced by ConsiderForTextWrap(), and SetConsiderForTextWrap().

bool SwAnchoredObject::mbKeepPositionLockedForSection
private

Definition at line 95 of file anchoredobject.hxx.

bool SwAnchoredObject::mbObjRectWithSpacesValid
mutableprivate

Definition at line 112 of file anchoredobject.hxx.

Referenced by GetObjRectWithSpaces(), SetObjLeft(), and SetObjTop().

bool SwAnchoredObject::mbPositioningInProgress
private

Definition at line 77 of file anchoredobject.hxx.

bool SwAnchoredObject::mbPositionLocked
private

Definition at line 92 of file anchoredobject.hxx.

Referenced by PositionLocked().

bool SwAnchoredObject::mbRestartLayoutProcess
private

Definition at line 97 of file anchoredobject.hxx.

Referenced by RestartLayoutProcess(), and SetRestartLayoutProcess().

bool SwAnchoredObject::mbTmpConsiderWrapInfluence
private
SwTwips SwAnchoredObject::mnLastTopOfLine
private
SwFrame* SwAnchoredObject::mpAnchorFrame
private
SdrObject* SwAnchoredObject::mpDrawObj
private

Definition at line 48 of file anchoredobject.hxx.

Referenced by SetDrawObj().

SwPageFrame* SwAnchoredObject::mpPageFrame
private

Definition at line 53 of file anchoredobject.hxx.

Referenced by SetPageFrame().

const SwLayoutFrame* SwAnchoredObject::mpVertPosOrientFrame
private

Definition at line 73 of file anchoredobject.hxx.

Referenced by ClearVertPosOrientFrame(), and SetVertPosOrientFrame().


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