20 #ifndef INCLUDED_SVX_SVDPAGE_HXX
21 #define INCLUDED_SVX_SVDPAGE_HXX
31 #include <com/sun/star/container/XIndexAccess.hpp>
32 #include <com/sun/star/drawing/XDrawPage.hpp>
79 static void impChildInserted(
SdrObject const & rChild);
85 void impClearSdrObjList(
bool bBroadcast);
96 virtual SdrPage* getSdrPageFromSdrObjList()
const;
97 virtual SdrObject* getSdrObjectFromSdrObjList()
const;
104 void ClearSdrObjList();
107 void RecalcObjOrdNums();
109 virtual void NbcInsertObject(
SdrObject* pObj,
size_t nPos=SAL_MAX_SIZE);
110 virtual void InsertObject(
SdrObject* pObj,
size_t nPos=SAL_MAX_SIZE);
111 void sort( std::vector<sal_Int32>& sortOrder );
113 void InsertObjectThenMakeNameUnique(
SdrObject* pObj);
114 void InsertObjectThenMakeNameUnique(
SdrObject* pObj, std::unordered_set<rtl::OUString>& rNameSet,
size_t nPos=SAL_MAX_SIZE);
117 virtual SdrObject* NbcRemoveObject(
size_t nObjNum);
118 virtual SdrObject* RemoveObject(
size_t nObjNum);
126 virtual SdrObject* SetObjectOrdNum(
size_t nOldObjNum,
size_t nNewObjNum);
128 void SetSdrObjListRectsDirty();
134 void NbcReformatAllTextObjects();
135 void ReformatAllTextObjects();
138 void ReformatAllEdgeObjects();
141 void BurnInStyleSheetAttributes();
143 size_t GetObjCount()
const;
156 void FlattenGroups();
167 void UnGroupObj(
size_t nObjNum );
176 bool HasObjectNavigationOrder()
const;
182 void SetObjectNavigationPosition (
184 const sal_uInt32 nNewNavigationPosition);
196 SdrObject* GetObjectForNavigationPosition (
const sal_uInt32 nNavigationPosition)
const;
200 void ClearObjectNavigationOrder();
212 bool RecalcNavigationPositions();
223 void SetNavigationOrder (
const css::uno::Reference<
224 css::container::XIndexAccess>& rxOrder);
248 void InsertObjectIntoContainer (
250 const sal_uInt32 nInsertPosition);
261 void ReplaceObjectInContainer (
263 const sal_uInt32 nObjectPosition);
272 void RemoveObjectFromContainer (
273 const sal_uInt32 nObjectPosition);
277 #define SDRPAGE_NOTFOUND 0xFFFF
292 std::vector<SdrPageGridFrame*>
aList;
302 sal_uInt16
GetCount()
const {
return sal_uInt16(aList.size()); }
318 void ImpRemoveStyleSheet();
337 void ClearItem(
const sal_uInt16 nWhich = 0);
393 std::unique_ptr<sdr::contact::ViewContact> CreateObjectSpecificViewContact();
399 void ActionChanged();
430 bool mbObjectsNotPersistent : 1;
433 bool mbPageBorderOnlyLeftRight : 1;
435 void SetUnoPage(css::uno::Reference<css::drawing::XDrawPage>
const&);
436 virtual css::uno::Reference< css::uno::XInterface > createUnoPage();
451 void SetInserted(
bool bNew =
true);
459 void SetPageNum(sal_uInt16 nNew);
460 sal_uInt16 GetPageNum()
const;
467 virtual void SetSize(
const Size& aSiz);
468 Size GetSize()
const;
471 sal_Int32 GetWidth()
const;
472 sal_Int32 GetHeight()
const;
473 virtual void SetBorder(sal_Int32 nLft, sal_Int32 nUpp, sal_Int32 nRgt, sal_Int32 Lwr);
474 virtual void SetLeftBorder(sal_Int32 nBorder);
475 virtual void SetUpperBorder(sal_Int32 nBorder);
476 virtual void SetRightBorder(sal_Int32 nBorder);
477 virtual void SetLowerBorder(sal_Int32 nBorder);
478 sal_Int32 GetLeftBorder()
const;
479 sal_Int32 GetUpperBorder()
const;
480 sal_Int32 GetRightBorder()
const;
481 sal_Int32 GetLowerBorder()
const;
485 void TRG_SetMasterPage(
SdrPage& rNew);
486 void TRG_ClearMasterPage();
487 SdrPage& TRG_GetMasterPage()
const;
489 void TRG_SetMasterPageVisibleLayers(
const SdrLayerIDSet& rNew);
492 void MakePageObjectsNamesUnique();
495 void TRG_ImpMasterPageRemoved(
const SdrPage& rRemovedPage);
502 virtual OUString GetLayoutName()
const;
509 css::uno::Reference< css::uno::XInterface >
const & getUnoPage();
515 Color GetPageBackgroundColor()
const;
519 Color GetPageBackgroundColor(
SdrPageView const * pView,
bool bScreenDisplay =
true)
const;
526 virtual bool checkVisibility(
533 #endif // INCLUDED_SVX_SVDPAGE_HXX
std::unique_ptr< sdr::MasterPageDescriptor > mpMasterPageDescriptor
const SdrPageGridFrame & operator[](sal_uInt16 nPos) const
::std::vector< PageUser * > PageUserVector
tools::Rectangle maSdrObjListOutRect
sdr::PageUserVector maPageUsers
struct _xmlTextWriter * xmlTextWriterPtr
for the snap-to-grid in Writer
const SfxListener & operator=(const SfxListener &)=delete
const tools::Rectangle & GetUserArea() const
const SfxBroadcaster & operator=(const SfxBroadcaster &)=delete
const tools::Rectangle & GetPaperRect() const
virtual bool isUsedByModel() const =0
SfxStyleSheet * mpStyleSheet
tools::Rectangle aUserArea
bool IsObjOrdNumsDirty() const
SdrModel & mrSdrModelFromSdrPage
constexpr OUStringLiteral IsReadOnly(u"IsReadOnly")
css::uno::Reference< css::uno::XInterface > mxUnoPage
SdrPageGridFrame & operator[](sal_uInt16 nPos)
SdrPageGridFrame(const tools::Rectangle &rPaper, const tools::Rectangle &rUser)
SdrObjList & operator=(const SdrObjList &rSrcList)=delete
std::vector< SdrPageGridFrame * > aList
std::unique_ptr< SdrLayerAdmin > mpLayerAdmin
void Insert(const SdrPageGridFrame &rGF)
std::unique_ptr< std::vector< tools::WeakReference< SdrObject > > > mxNavigationOrder
This list, if it exists, defines the navigation order.
bool IsMasterPage() const
::std::vector< SdrObject * > maList
const SfxItemSet & GetItemSet() const
bool TRG_HasMasterPage() const
sal_uInt16 GetCount() const
void setPageBorderOnlyLeftRight(bool bNew)
SdrPageGridFrame * GetObject(sal_uInt16 i) const
SdrModel & getSdrModelFromSdrPage() const
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint)
SfxStyleSheet * GetStyleSheet() const
std::unique_ptr< sdr::contact::ViewContact > mpViewContact
#define SVXCORE_DLLPUBLIC
virtual SdrPage * getSdrPageFromSdrObjList() const
bool getPageBorderOnlyLeftRight() const
bool mbIsNavigationOrderDirty
This flag is when the mpNavigation list has been changed but the indices of the referenced Sdr...
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
std::unique_ptr< SdrPageProperties > mpSdrPageProperties
tools::Rectangle maSdrObjListSnapRect