24#include <com/sun/star/uno/Sequence.hxx>
27#include <rtl/ustring.hxx>
47#include <unordered_set>
83 class IEmbeddedHelper;
225 std::vector<SdrOutliner*> GetActiveOutliners()
const;
242 virtual void adaptSizeAndBorderForAllPages(
243 const Size& rNewSize,
250 virtual css::uno::Reference< css::uno::XInterface > createUnoModel();
256 SVX_DLLPRIVATE void ImpPostUndoAction(std::unique_ptr<SdrUndoAction> pUndo);
267 bool mbMakePageObjectsNamesUnique =
true;
290 bool bDisablePropertyFiles =
false);
292 void ClearModel(
bool bCalledFromDestructor);
301 virtual css::uno::Reference<
302 css::embed::XStorage> GetDocumentStorage()
const;
304 css::io::XInputStream >
305 GetDocumentStream(OUString
const& rURL,
308 void BurnInStyleSheetAttributes();
312 virtual SdrModel* AllocModel()
const;
324 const SdrTextObj* GetFormattingTextObj()
const;
326 void SetTextDefaults()
const;
327 static void SetTextDefaults(
SfxItemPool* pItemPool, sal_Int32 nDefTextHgt );
336 void RefDeviceChanged();
338 void SetDefaultFontHeight(sal_Int32 nVal);
340 void SetDefaultTabulator(sal_uInt16 nVal);
372 void SetScaleUnit(
MapUnit eMap);
382 void SetUIScale(
const Fraction& rScale);
388 OUString GetMetricString(
tools::Long nVal,
bool bNoUnitChars =
false, sal_Int32 nNumDigits = -1)
const;
389 static OUString GetAngleString(
Degree100 nAngle);
390 static OUString GetPercentString(
const Fraction& rVal);
395 void RecalcPageNums(
bool bMaster);
397 virtual void InsertPage(
SdrPage* pPage, sal_uInt16 nPos=0xFFFF);
398 virtual void DeletePage(sal_uInt16 nPgNum);
401 virtual void MovePage(sal_uInt16 nPgNum, sal_uInt16 nNewPos);
402 const SdrPage* GetPage(sal_uInt16 nPgNum)
const;
403 SdrPage* GetPage(sal_uInt16 nPgNum);
404 sal_uInt16 GetPageCount()
const;
405 virtual void PageListChanged();
408 virtual void InsertMasterPage(
SdrPage* pPage, sal_uInt16 nPos=0xFFFF);
409 void DeleteMasterPage(sal_uInt16 nPgNum);
412 void MoveMasterPage(sal_uInt16 nPgNum, sal_uInt16 nNewPos);
413 const SdrPage* GetMasterPage(sal_uInt16 nPgNum)
const;
414 SdrPage* GetMasterPage(sal_uInt16 nPgNum);
415 sal_uInt16 GetMasterPageCount()
const;
416 virtual void MasterPageListChanged();
421 virtual void SetChanged(
bool bFlg =
true);
430 void SetSwapGraphics();
445 void SetReadOnly(
bool bYes);
463 sal_uInt16 nFirstPageNum, sal_uInt16 nLastPageNum,
465 bool bMergeMasterPages,
bool bAllMasterPages,
466 bool bUndo =
true,
bool bTreadSourceAsConst =
false);
469 void CopyPages(sal_uInt16 nFirstPageNum, sal_uInt16 nLastPageNum,
471 bool bUndo,
bool bMoveNoCopy);
481 void BegUndo(
const OUString& rComment);
482 void BegUndo(
const OUString& rComment,
const OUString& rObjDescr,
SdrRepeatFunc eFunc);
484 void AddUndo(std::unique_ptr<SdrUndoAction> pUndo);
487 void SetUndoComment(
const OUString& rComment);
488 void SetUndoComment(
const OUString& rComment,
const OUString& rObjDescr);
492 void SetMaxUndoActionCount(sal_uInt32 nCount);
493 void ClearUndoBuffer();
495 bool HasUndoActions()
const;
496 bool HasRedoActions()
const;
499 void Repeat(SfxRepeatTarget&);
541 void setTheme(std::shared_ptr<model::Theme>
const& pTheme);
542 std::shared_ptr<model::Theme>
const& getTheme()
const;
544 void SetStarDrawPreviewMode(
bool bPreview);
550 css::uno::Reference< css::uno::XInterface >
const & getUnoModel();
551 void setUnoModel(
const css::uno::Reference< css::uno::XInterface >& xModel );
556 void setLock(
bool bLock );
558 void SetForbiddenCharsTable(
const std::shared_ptr<SvxForbiddenCharactersTable>& xForbiddenChars );
564 void SetKernAsianPunctuation(
bool bEnabled );
567 void SetAddExtLeading(
bool bEnabled );
574 void ReformatAllTextObjects();
576 std::unique_ptr<SdrOutliner> createOutliner(
OutlinerMode nOutlinerMode );
577 void disposeOutliner( std::unique_ptr<SdrOutliner> pOutliner );
582 void ReadUserDataSequenceValue(
const css::beans::PropertyValue *pValue);
583 void WriteUserDataSequence(css::uno::Sequence < css::beans::PropertyValue >& rValues);
594 static const css::uno::Sequence< sal_Int8 >& getUnoTunnelId();
599 void EnableUndo(
bool bEnable );
604 bool IsUndoEnabled()
const;
const SdrPage * GetPage() const
SdrHintKind GetKind() const
const SdrObject * GetObject() const
sfx2::LinkManager * m_pLinkManager
bool m_bStarDrawPreviewMode
bool IsPagNumsDirty() const
VclPtr< OutputDevice > m_pRefOutDev
bool IsKernAsianPunctuation() const
std::function< void(std::unique_ptr< SdrUndoAction >)> m_aUndoLink
XBitmapListRef GetBitmapList() const
::comphelper::IEmbeddedHelper * GetPersist() const
CharCompressType mnCharCompressType
sal_uInt16 m_nDefaultTabulator
void SetLinkManager(sfx2::LinkManager *pLinkMgr)
void setHandoutPageCount(sal_uInt16 nHandoutPageCount)
sal_uInt16 mnHandoutPageCount
bool IsPickThroughTransparentTextFrames() const
std::unique_ptr< SdrOutlinerCache > mpOutlinerCache
void SetNotifyUndoActionHdl(const std::function< void(std::unique_ptr< SdrUndoAction >)> &rLink)
bool IsPasteResize() const
css::uno::Reference< css::uno::XInterface > mxUnoModel
std::unique_ptr< SdrModelImpl > mpImpl
SfxStyleSheet * GetDefaultStyleSheet() const
sal_uInt16 GetDefaultTabulator() const
XDashListRef GetDashList() const
bool IsMPgNumsDirty() const
std::unique_ptr< SdrUndoGroup > m_pCurrentUndoGroup
std::unique_ptr< SdrOutliner > m_pChainingOutliner
std::unique_ptr< SdrLayerAdmin > m_pLayerAdmin
bool mbDisableTextEditUsesCommonUndoManager
bool m_bTransportContainer
void SetVOCInvalidationIsReliable(bool b)
o3tl::enumarray< XPropertyListType, XPropertyListRef > maProperties
void SetDefaultStyleSheet(SfxStyleSheet *pDefSS)
XGradientListRef GetGradientList() const
XPatternListRef GetPatternList() const
sfx2::LinkManager * GetLinkManager()
SfxStyleSheet * GetDefaultStyleSheetForSdrGrafObjAndSdrOle2Obj() const
MapUnit GetScaleUnit() const
bool operator==(const SdrModel &rCmpModel) const =delete
bool IsStarDrawPreviewMode() const
sal_uInt16 GetUndoBracketLevel() const
void SetPersist(::comphelper::IEmbeddedHelper *p)
bool m_bTransparentTextFrames
void SetMaxObjSize(const Size &rSiz)
bool DoesMakePageObjectsNamesUnique() const
XLineEndListRef GetLineEndList() const
SfxStyleSheet * mpDefaultStyleSheetForSdrGrafObjAndSdrOle2Obj
bool mbVOCInvalidationIsReliable
bool IsAddExtLeading() const
std::vector< rtl::Reference< SdrPage > > maMasterPages
const SfxItemPool & GetItemPool() const
const Size & GetMaxObjSize() const
virtual sal_Int32 getImagePreferredDPI() const
bool IsInDestruction() const
SfxStyleSheet * m_pDefaultStyleSheet
bool IsVOCInvalidationIsReliable() const
void SetStyleSheetPool(SfxStyleSheetBasePool *pPool)
virtual SVX_DLLPRIVATE bool IsCreatingDataObj() const
XColorListRef GetColorList() const
bool GetDisableTextEditUsesCommonUndoManager() const
void SetPickThroughTransparentTextFrames(bool bOn)
rtl::Reference< SfxItemPool > m_pItemPool
CharCompressType GetCharCompressType() const
FieldUnit GetUIUnit() const
std::unique_ptr< SdrOutliner > m_pDrawOutliner
void DoMakePageObjectsNamesUnique(bool bDo)
SfxItemPool & GetItemPool()
void operator=(const SdrModel &rSrcModel)=delete
XHatchListRef GetHatchList() const
SfxStyleSheetBasePool * GetStyleSheetPool() const
void SetPasteResize(bool bOn)
void SetDisableTextEditUsesCommonUndoManager(bool bNew)
const std::shared_ptr< SvxForbiddenCharactersTable > & GetForbiddenCharsTable() const
OutputDevice * GetRefDevice() const
sal_uInt32 m_nMaxUndoCount
void SetDefaultStyleSheetForSdrGrafObjAndSdrOle2Obj(SfxStyleSheet *pDefSS)
void SetPropertyList(XPropertyListRef const &p)
std::deque< std::unique_ptr< SfxUndoAction > > m_aUndoStack
std::vector< rtl::Reference< SdrPage > > maPages
rtl::Reference< SfxStyleSheetBasePool > mxStyleSheetPool
SdrLayerAdmin & GetLayerAdmin()
SdrModel(SfxItemPool *pPool=nullptr, ::comphelper::IEmbeddedHelper *pPers=nullptr, bool bDisablePropertyFiles=false)
std::deque< std::unique_ptr< SfxUndoAction > > m_aRedoStack
const Fraction & GetUIScale() const
bool IsSwapGraphics() const
std::unique_ptr< TextChain > m_pTextChain
std::unordered_set< SdrObject * > maAllIncarnatedObjects
SdrModel(const SdrModel &rSrcModel)=delete
const SdrLayerAdmin & GetLayerAdmin() const
sal_uInt16 getHandoutPageCount() const
comphelper::IEmbeddedHelper * m_pEmbeddedHelper
SdrOutliner & GetHitTestOutliner() const
bool mbKernAsianPunctuation
const XPropertyListRef & GetPropertyList(XPropertyListType t) const
bool IsTransportContainer() const
std::shared_ptr< SvxForbiddenCharactersTable > mpForbiddenCharactersTable
std::unique_ptr< SdrOutliner > m_pHitTestOutliner
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Abstract base class (ABC) for all UndoActions of DrawingEngine.
The SdrUndoFactory can be set and retrieved from the SdrModel.
Aggregation of arbitrarily many UndoActions to a single UndoAction.
reference_type * get() const
static XBitmapListRef AsBitmapList(rtl::Reference< XPropertyList > const &plist)
static XLineEndListRef AsLineEndList(rtl::Reference< XPropertyList > const &plist)
static XDashListRef AsDashList(rtl::Reference< XPropertyList > const &plist)
static XColorListRef AsColorList(rtl::Reference< XPropertyList > const &plist)
static XGradientListRef AsGradientList(rtl::Reference< XPropertyList > const &plist)
static XHatchListRef AsHatchList(rtl::Reference< XPropertyList > const &plist)
static XPatternListRef AsPatternList(rtl::Reference< XPropertyList > const &plist)
SdrCompatibilityFlag
SdrCompatibilityFlags that are implemented in SdrModelImpl.
OUString GetUnitString(tools::Long nVal_100, FieldUnit eFieldUnit, sal_Unicode cSep)
constexpr OUStringLiteral IsReadOnly(u"IsReadOnly")
struct _xmlTextWriter * xmlTextWriterPtr
SvGenericNameContainerMapImpl maProperties
class SvxPropertySetInfoPool
constexpr const sal_Unicode DEGREE_CHAR
void impAddIncarnatedSdrObjectToSdrModel(SdrObject &rSdrObject, SdrModel &rSdrModel)
void impRemoveIncarnatedSdrObjectToSdrModel(SdrObject &rSdrObject, SdrModel &rSdrModel)
#define SVXCORE_DLLPUBLIC