LibreOffice Module svx (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SdrPageView Class Reference

#include <svdpagv.hxx>

Collaboration diagram for SdrPageView:
[legend]

Public Member Functions

sal_uInt32 PageWindowCount () const
 
SdrPageWindowFindPageWindow (SdrPaintWindow &rPaintWindow) const
 
SdrPageWindowFindPageWindow (const OutputDevice &rOutDev) const
 
SdrPageWindowGetPageWindow (sal_uInt32 nIndex) const
 
const SdrPageWindowFindPatchedPageWindow (const OutputDevice &rOutDev) const
 Finds the page window whose PaintWindow belongs to the given output device In opposite to FindPageWindow, this method also cares possibly patched PaintWindow instances. More...
 
 SdrPageView (SdrPage *pPage1, SdrView &rNewView)
 
 ~SdrPageView ()
 
SdrPageViewoperator= (SdrPageView const &)=delete
 
 SdrPageView (SdrPageView const &)=delete
 
void ModelHasChanged ()
 Is called by PaintView, when modal changes have finished. More...
 
void Show ()
 
void Hide ()
 
void AddPaintWindowToPageView (SdrPaintWindow &rPaintWindow)
 
void RemovePaintWindowFromPageView (SdrPaintWindow &rPaintWindow)
 
SdrViewGetView ()
 
const SdrViewGetView () const
 
css::uno::Reference< css::awt::XControlContainer > GetControlContainer (const OutputDevice &_rDevice) const
 Looks up the control container belonging to given output device. More...
 
void SetDesignMode (bool _bDesignMode) const
 Sets all elements in the view which support a design and an alive mode into the given mode. More...
 
bool IsVisible () const
 
void InvalidateAllWin ()
 Invalidates the Page's whole area. More...
 
void PrePaint ()
 PrePaint call forwarded from app windows. More...
 
void CompleteRedraw (SdrPaintWindow &rPaintWindow, const vcl::Region &rReg, sdr::contact::ViewObjectContactRedirector *pRedirector)
 
void setPreparedPageWindow (SdrPageWindow *pKnownTarget)
 Write access to mpPreparedPageWindow. More...
 
void DrawLayer (SdrLayerID nID, OutputDevice *pGivenTarget, sdr::contact::ViewObjectContactRedirector *pRedirector=nullptr, const tools::Rectangle &rRect=tools::Rectangle(), basegfx::B2IRectangle const *pPageFrame=nullptr)
 
void DrawPageViewGrid (OutputDevice &rOut, const tools::Rectangle &rRect, Color aColor=COL_BLACK)
 
tools::Rectangle GetPageRect () const
 
SdrPageGetPage () const
 
SdrObjListGetObjList () const
 Return current List. More...
 
SdrObjectGetCurrentGroup () const
 Return current Group. More...
 
void SetCurrentGroupAndList (SdrObject *pNewGroup, SdrObjList *pNewList)
 Set current Group and List. More...
 
bool HasMarkedObjPageView () const
 
void SetHasMarkedObj (bool bOn)
 
const tools::RectangleMarkBound () const
 
const tools::RectangleMarkSnap () const
 
tools::RectangleMarkBound ()
 
tools::RectangleMarkSnap ()
 
void SetLayerVisible (const OUString &rName, bool bShow)
 
bool IsLayerVisible (const OUString &rName) const
 
void SetLayerLocked (const OUString &rName, bool bLock)
 
bool IsLayerLocked (const OUString &rName) const
 
void SetLayerPrintable (const OUString &rName, bool bPrn)
 
bool IsLayerPrintable (const OUString &rName) const
 
bool IsReadOnly () const
 PV represents a RefPage or a SubList of a RefObj, or the Model is ReadOnly. More...
 
const PointGetPageOrigin () const
 The Origin always refers to the upper left corner of the Page. More...
 
void SetPageOrigin (const Point &rOrg)
 
void LogicToPagePos (Point &rPnt) const
 
void LogicToPagePos (tools::Rectangle &rRect) const
 
void PagePosToLogic (Point &rPnt) const
 
void SetVisibleLayers (const SdrLayerIDSet &rSet)
 
const SdrLayerIDSetGetVisibleLayers () const
 
void SetPrintableLayers (const SdrLayerIDSet &rSet)
 
const SdrLayerIDSetGetPrintableLayers () const
 
void SetLockedLayers (const SdrLayerIDSet &rSet)
 
const SdrLayerIDSetGetLockedLayers () const
 
const SdrHelpLineListGetHelpLines () const
 
void SetHelpLines (const SdrHelpLineList &rHLL)
 
void SetHelpLine (sal_uInt16 nNum, const SdrHelpLine &rNewHelpLine)
 
void DeleteHelpLine (sal_uInt16 nNum)
 
void InsertHelpLine (const SdrHelpLine &rHL)
 
bool IsObjMarkable (SdrObject const *pObj) const
 At least one member must be visible for the Group object and it must not be locked. More...
 
bool EnterGroup (SdrObject *pObj)
 Entering (editing) an object group After that, we have direct access to all member objects of the group. More...
 
void LeaveOneGroup ()
 Leave an object group we entered previously. More...
 
void LeaveAllGroup ()
 Leave all object groups we entered previously. More...
 
sal_uInt16 GetEnteredLevel () const
 Determine, how deep we descended (0 = Root(Page)) More...
 
void SetApplicationBackgroundColor (Color aBackgroundColor)
 
const ColorGetApplicationBackgroundColor () const
 
void SetApplicationDocumentColor (Color aDocumentColor)
 
const ColorGetApplicationDocumentColor () const
 

Private Member Functions

void ClearPageWindows ()
 
void ImpInvalidateHelpLineArea (sal_uInt16 nNum) const
 
void SetLayer (const OUString &rName, SdrLayerIDSet &rBS, bool bJa)
 
bool IsLayer (const OUString &rName, const SdrLayerIDSet &rBS) const
 
void CheckCurrentGroup ()
 Let's see if the current Group (pCurrentGroup) is still inserted. More...
 
void AdjHdl ()
 

Private Attributes

SdrViewmrView
 
SdrPagempPage
 
Point aPgOrg
 
tools::Rectangle aMarkBound
 
tools::Rectangle aMarkSnap
 
bool mbHasMarked
 
bool mbVisible
 
SdrLayerIDSet aLayerVisi
 
SdrLayerIDSet aLayerLock
 
SdrLayerIDSet aLayerPrn
 
SdrObjListpCurrentList
 
SdrObjectpCurrentGroup
 
SdrHelpLineList aHelpLines
 
Color maDocumentColor
 
Color maBackgroundColor
 
std::vector< std::unique_ptr< SdrPageWindow > > maPageWindows
 
SdrPageWindowmpPreparedPageWindow
 

Detailed Description

Definition at line 60 of file svdpagv.hxx.

Constructor & Destructor Documentation

SdrPageView::SdrPageView ( SdrPage pPage1,
SdrView rNewView 
)
SdrPageView::~SdrPageView ( )

Definition at line 135 of file svdpagv.cxx.

SdrPageView::SdrPageView ( SdrPageView const &  )
delete

Member Function Documentation

void SdrPageView::AddPaintWindowToPageView ( SdrPaintWindow rPaintWindow)

Definition at line 139 of file svdpagv.cxx.

References FindPageWindow(), and maPageWindows.

Referenced by SdrPageView(), and Show().

void SdrPageView::AdjHdl ( )
private

Definition at line 560 of file svdpagv.cxx.

References SdrMarkView::AdjustMarkHdl(), and GetView().

void SdrPageView::CheckCurrentGroup ( )
private
void SdrPageView::ClearPageWindows ( )
private

Definition at line 98 of file svdpagv.cxx.

References maPageWindows.

Referenced by Hide().

void SdrPageView::CompleteRedraw ( SdrPaintWindow rPaintWindow,
const vcl::Region rReg,
sdr::contact::ViewObjectContactRedirector pRedirector 
)
Parameters
rRegrefers to the OutDev and not to the Page

Definition at line 236 of file svdpagv.cxx.

References FindPageWindow(), GetPage(), SdrPageWindow::PrepareRedraw(), and SdrPageWindow::RedrawAll().

void SdrPageView::DeleteHelpLine ( sal_uInt16  nNum)
void SdrPageView::DrawLayer ( SdrLayerID  nID,
OutputDevice pGivenTarget,
sdr::contact::ViewObjectContactRedirector pRedirector = nullptr,
const tools::Rectangle rRect = tools::Rectangle(),
basegfx::B2IRectangle const *  pPageFrame = nullptr 
)
void SdrPageView::DrawPageViewGrid ( OutputDevice rOut,
const tools::Rectangle rRect,
Color  aColor = COL_BLACK 
)
bool SdrPageView::EnterGroup ( SdrObject pObj)

Entering (editing) an object group After that, we have direct access to all member objects of the group.

All other objects are not editable in the meantime (until the next LeaveGroup())

Definition at line 731 of file svdpagv.cxx.

References SdrMarkView::AdjustMarkHdl(), SdrObjList::GetObj(), SdrObjList::GetObjCount(), SdrObject::GetSubList(), GetView(), SdrPaintView::GlueInvalidate(), InvalidateAllWin(), SdrObject::IsGroupObject(), SdrMarkView::MarkObj(), SetCurrentGroupAndList(), and SdrView::UnmarkAll().

Referenced by CheckCurrentGroup(), and SdrMarkView::EnterMarkedGroup().

SdrPageWindow * SdrPageView::FindPageWindow ( SdrPaintWindow rPaintWindow) const
SdrPageWindow * SdrPageView::FindPageWindow ( const OutputDevice rOutDev) const

Definition at line 80 of file svdpagv.cxx.

References maPageWindows.

const SdrPageWindow * SdrPageView::FindPatchedPageWindow ( const OutputDevice rOutDev) const

Finds the page window whose PaintWindow belongs to the given output device In opposite to FindPageWindow, this method also cares possibly patched PaintWindow instances.

That is, a SdrPageWindow might have an original, and a patched SdrPaintWindow instance - if this is the case, then the original SdrPaintWindow is examined before the patched one.

Definition at line 66 of file svdpagv.cxx.

References maPageWindows.

Referenced by GetControlContainer().

const Color& SdrPageView::GetApplicationBackgroundColor ( ) const
inline
const Color& SdrPageView::GetApplicationDocumentColor ( ) const
inline
css::uno::Reference< css::awt::XControlContainer > SdrPageView::GetControlContainer ( const OutputDevice _rDevice) const

Looks up the control container belonging to given output device.

Returns
If the given output device belongs to one of the SdrPageViewWinRecs associated with this SdrPageView instance, the XControlContainer for this output device is returned, <NULL> otherwise.

Definition at line 157 of file svdpagv.cxx.

References FindPatchedPageWindow(), and SdrPageWindow::GetControlContainer().

Referenced by sdr::contact::SdrPageViewAccess::getControlContainer().

SdrObject* SdrPageView::GetCurrentGroup ( ) const
inline
sal_uInt16 SdrPageView::GetEnteredLevel ( ) const

Determine, how deep we descended (0 = Root(Page))

Definition at line 848 of file svdpagv.cxx.

References GetCurrentGroup(), and SdrObject::getParentSdrObjectFromSdrObject().

const SdrHelpLineList& SdrPageView::GetHelpLines ( ) const
inline
const SdrLayerIDSet& SdrPageView::GetLockedLayers ( ) const
inline
SdrObjList* SdrPageView::GetObjList ( ) const
inline
SdrPage* SdrPageView::GetPage ( ) const
inline
const Point& SdrPageView::GetPageOrigin ( ) const
inline

The Origin always refers to the upper left corner of the Page.

Definition at line 209 of file svdpagv.hxx.

Referenced by SdrEditView::GetGeoAttrFromMarked(), and SdrSnapView::SnapPos().

tools::Rectangle SdrPageView::GetPageRect ( ) const

Definition at line 204 of file svdpagv.cxx.

References GetPage().

Referenced by SdrEditView::ForceMarkedObjToAnotherPage().

SdrPageWindow * SdrPageView::GetPageWindow ( sal_uInt32  nIndex) const
const SdrLayerIDSet& SdrPageView::GetPrintableLayers ( ) const
inline

Definition at line 219 of file svdpagv.hxx.

SdrView& SdrPageView::GetView ( )
inline

Definition at line 137 of file svdpagv.hxx.

Referenced by AdjHdl(), sdr::contact::ObjectContactOfPageView::AreGluePointsVisible(), sdr::contact::ViewContactOfUnoControl::CreateObjectSpecificViewObjectContact(), sdr::contact::ViewObjectContactOfSdrOle2Obj::createPrimitive2DSequence(), sdr::contact::ViewObjectContactOfPageBackground::createPrimitive2DSequence(), sdr::contact::ViewObjectContactOfPageGrid::createPrimitive2DSequence(), DrawPageViewGrid(), EnterGroup(), SdrPageWindow::GetControlContainer(), SdrPageWindow::GetObjectContact(), SdrEdgeObj::ImpFindConnector(), ImpInvalidateHelpLineArea(), InsertHelpLine(), InvalidateAllWin(), SdrPageWindow::InvalidatePageWindow(), sdr::contact::SdrPageViewAccess::isDesignMode(), sdr::contact::ObjectContactOfPageView::IsGraphicAnimationAllowed(), sdr::contact::ViewObjectContactOfSdrObj::isPrimitiveVisible(), sdr::contact::ViewObjectContactOfPageFill::isPrimitiveVisible(), sdr::contact::ViewObjectContactOfPageShadow::isPrimitiveVisible(), sdr::contact::ViewObjectContactOfOuterPageBorder::isPrimitiveVisible(), sdr::contact::ViewObjectContactOfInnerPageBorder::isPrimitiveVisible(), sdr::contact::ViewObjectContactOfPageGrid::isPrimitiveVisible(), sdr::contact::ViewObjectContactOfPageHelplines::isPrimitiveVisible(), IsReadOnly(), sdr::contact::ObjectContactOfPageView::IsTextAnimationAllowed(), LeaveAllGroup(), LeaveOneGroup(), SdrMarkView::ModelHasChanged(), sdr::contact::ObjectContactOfPageView::ObjectContactOfPageView(), SdrMarkView::SetMarkHandles(), SetPageOrigin(), Show(), and SdrPageWindow::~SdrPageWindow().

const SdrView& SdrPageView::GetView ( ) const
inline

Definition at line 138 of file svdpagv.hxx.

const SdrLayerIDSet& SdrPageView::GetVisibleLayers ( ) const
inline
bool SdrPageView::HasMarkedObjPageView ( ) const
inline
void SdrPageView::Hide ( )
void SdrPageView::ImpInvalidateHelpLineArea ( sal_uInt16  nNum) const
private
void SdrPageView::InsertHelpLine ( const SdrHelpLine rHL)
void SdrPageView::InvalidateAllWin ( )
bool SdrPageView::IsLayer ( const OUString &  rName,
const SdrLayerIDSet rBS 
) const
private
bool SdrPageView::IsLayerLocked ( const OUString &  rName) const
inline

Definition at line 200 of file svdpagv.hxx.

Referenced by SdrEditView::CombineMarkedTextObjects(), and FmFormShell::GetState().

bool SdrPageView::IsLayerPrintable ( const OUString &  rName) const
inline

Definition at line 203 of file svdpagv.hxx.

bool SdrPageView::IsLayerVisible ( const OUString &  rName) const
inline

Definition at line 197 of file svdpagv.hxx.

bool SdrPageView::IsObjMarkable ( SdrObject const *  pObj) const

At least one member must be visible for the Group object and it must not be locked.

Returns
true, if the object's layer is visible and not locked

Definition at line 596 of file svdpagv.cxx.

References aLayerLock, aLayerVisi, SdrObject::GetLayer(), SdrObjList::GetObj(), SdrObjList::GetObjCount(), GetPage(), SdrObject::getSdrPageFromSdrObject(), SdrObject::Is3DObj(), SdrObject::IsInserted(), SdrObject::IsMarkProtect(), SdrLayerIDSet::IsSet(), and SdrObject::IsVisible().

Referenced by SdrMarkView::CheckMarked(), SdrMarkList::InsertPageView(), and SdrMarkView::IsObjMarkable().

bool SdrPageView::IsReadOnly ( ) const

PV represents a RefPage or a SubList of a RefObj, or the Model is ReadOnly.

Definition at line 173 of file svdpagv.cxx.

References GetObjList(), GetPage(), and GetView().

Referenced by SdrEditView::CheckPossibilities().

bool SdrPageView::IsVisible ( ) const
inline

Definition at line 153 of file svdpagv.hxx.

Referenced by Hide(), InvalidateAllWin(), and Show().

void SdrPageView::LeaveAllGroup ( )
void SdrPageView::LeaveOneGroup ( )
void SdrPageView::LogicToPagePos ( Point rPnt) const
inline
void SdrPageView::LogicToPagePos ( tools::Rectangle rRect) const
inline

Definition at line 213 of file svdpagv.hxx.

References tools::Rectangle::Move(), Point::X(), and Point::Y().

const tools::Rectangle& SdrPageView::MarkBound ( ) const
inline

Definition at line 187 of file svdpagv.hxx.

Referenced by SdrMarkView::SetMarkRects().

tools::Rectangle& SdrPageView::MarkBound ( )
inline

Definition at line 189 of file svdpagv.hxx.

const tools::Rectangle& SdrPageView::MarkSnap ( ) const
inline

Definition at line 188 of file svdpagv.hxx.

Referenced by SdrMarkView::SetMarkRects().

tools::Rectangle& SdrPageView::MarkSnap ( )
inline

Definition at line 190 of file svdpagv.hxx.

void SdrPageView::ModelHasChanged ( )

Is called by PaintView, when modal changes have finished.

Definition at line 168 of file svdpagv.cxx.

References CheckCurrentGroup(), and GetCurrentGroup().

SdrPageView& SdrPageView::operator= ( SdrPageView const &  )
delete
void SdrPageView::PagePosToLogic ( Point rPnt) const
inline

Definition at line 214 of file svdpagv.hxx.

Referenced by SdrEditView::SetGeoAttrToMarked().

sal_uInt32 SdrPageView::PageWindowCount ( ) const
inline
void SdrPageView::PrePaint ( )

PrePaint call forwarded from app windows.

Definition at line 221 of file svdpagv.cxx.

References GetPageWindow(), PageWindowCount(), and SdrPageWindow::PrePaint().

void SdrPageView::RemovePaintWindowFromPageView ( SdrPaintWindow rPaintWindow)

Definition at line 147 of file svdpagv.cxx.

References maPageWindows.

void SdrPageView::SetApplicationBackgroundColor ( Color  aBackgroundColor)

Definition at line 884 of file svdpagv.cxx.

References maBackgroundColor.

void SdrPageView::SetApplicationDocumentColor ( Color  aDocumentColor)

Definition at line 891 of file svdpagv.cxx.

References maDocumentColor.

void SdrPageView::SetCurrentGroupAndList ( SdrObject pNewGroup,
SdrObjList pNewList 
)

Set current Group and List.

Definition at line 719 of file svdpagv.cxx.

References pCurrentGroup, and pCurrentList.

Referenced by EnterGroup(), LeaveAllGroup(), LeaveOneGroup(), and SdrPageView().

void SdrPageView::SetDesignMode ( bool  _bDesignMode) const

Sets all elements in the view which support a design and an alive mode into the given mode.

Definition at line 355 of file svdpagv.cxx.

References GetPageWindow(), i, PageWindowCount(), and SdrPageWindow::SetDesignMode().

Referenced by SdrMarkView::SetDesignMode().

void SdrPageView::SetHasMarkedObj ( bool  bOn)
inline

Definition at line 185 of file svdpagv.hxx.

Referenced by SdrMarkView::SetMarkRects().

void SdrPageView::SetHelpLine ( sal_uInt16  nNum,
const SdrHelpLine rNewHelpLine 
)
void SdrPageView::SetHelpLines ( const SdrHelpLineList rHLL)

Definition at line 679 of file svdpagv.cxx.

References aHelpLines, and InvalidateAllWin().

void SdrPageView::SetLayer ( const OUString &  rName,
SdrLayerIDSet rBS,
bool  bJa 
)
private
void SdrPageView::SetLayerLocked ( const OUString &  rName,
bool  bLock 
)
inline

Definition at line 199 of file svdpagv.hxx.

void SdrPageView::SetLayerPrintable ( const OUString &  rName,
bool  bPrn 
)
inline

Definition at line 202 of file svdpagv.hxx.

void SdrPageView::SetLayerVisible ( const OUString &  rName,
bool  bShow 
)
inline

Definition at line 192 of file svdpagv.hxx.

void SdrPageView::SetLockedLayers ( const SdrLayerIDSet rSet)
inline

Definition at line 220 of file svdpagv.hxx.

void SdrPageView::SetPageOrigin ( const Point rOrg)

Definition at line 645 of file svdpagv.cxx.

References aPgOrg, GetView(), and InvalidateAllWin().

Referenced by SdrSnapView::EndSetPageOrg().

void SdrPageView::setPreparedPageWindow ( SdrPageWindow pKnownTarget)

Write access to mpPreparedPageWindow.

Definition at line 260 of file svdpagv.cxx.

References mpPreparedPageWindow.

void SdrPageView::SetPrintableLayers ( const SdrLayerIDSet rSet)
inline

Definition at line 218 of file svdpagv.hxx.

void SdrPageView::SetVisibleLayers ( const SdrLayerIDSet rSet)
inline

Definition at line 216 of file svdpagv.hxx.

void SdrPageView::Show ( )

Member Data Documentation

SdrHelpLineList SdrPageView::aHelpLines
private
SdrLayerIDSet SdrPageView::aLayerLock
private

Definition at line 73 of file svdpagv.hxx.

Referenced by IsObjMarkable().

SdrLayerIDSet SdrPageView::aLayerPrn
private

Definition at line 74 of file svdpagv.hxx.

Referenced by SdrPageView().

SdrLayerIDSet SdrPageView::aLayerVisi
private

Definition at line 72 of file svdpagv.hxx.

Referenced by IsObjMarkable(), and SdrPageView().

tools::Rectangle SdrPageView::aMarkBound
private

Definition at line 67 of file svdpagv.hxx.

tools::Rectangle SdrPageView::aMarkSnap
private

Definition at line 68 of file svdpagv.hxx.

Point SdrPageView::aPgOrg
private

Definition at line 65 of file svdpagv.hxx.

Referenced by DrawPageViewGrid(), SdrPageView(), and SetPageOrigin().

Color SdrPageView::maBackgroundColor
private

Definition at line 85 of file svdpagv.hxx.

Referenced by SetApplicationBackgroundColor().

Color SdrPageView::maDocumentColor
private

Definition at line 82 of file svdpagv.hxx.

Referenced by SetApplicationDocumentColor().

std::vector< std::unique_ptr<SdrPageWindow> > SdrPageView::maPageWindows
private
bool SdrPageView::mbHasMarked
private

Definition at line 69 of file svdpagv.hxx.

Referenced by SdrPageView().

bool SdrPageView::mbVisible
private

Definition at line 70 of file svdpagv.hxx.

Referenced by Hide(), SdrPageView(), and Show().

SdrPage* SdrPageView::mpPage
private

Definition at line 64 of file svdpagv.hxx.

Referenced by SdrPageView().

SdrPageWindow* SdrPageView::mpPreparedPageWindow
private

Definition at line 91 of file svdpagv.hxx.

Referenced by DrawLayer(), and setPreparedPageWindow().

SdrView& SdrPageView::mrView
private

Definition at line 63 of file svdpagv.hxx.

Referenced by DrawLayer().

SdrObject* SdrPageView::pCurrentGroup
private

Definition at line 77 of file svdpagv.hxx.

Referenced by SdrPageView(), and SetCurrentGroupAndList().

SdrObjList* SdrPageView::pCurrentList
private

Definition at line 76 of file svdpagv.hxx.

Referenced by SdrPageView(), and SetCurrentGroupAndList().


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