39#include <osl/diagnose.h>
48 if(!bDontRemoveHardAttr)
70 OSL_ENSURE(
false,
"ImpSetParentAtSfxItemSet called without SfxItemSet/SfxStyleSheet (!)");
138 mpStyleSheet(nullptr)
149 mpStyleSheet(nullptr)
153 if(pTargetStyleSheet)
176 pTargetStyleSheet =
nullptr;
190 if(
nullptr != pTargetStyleSheetPool)
196 pTargetStyleSheetPool->
Find(
203 if(!pTargetStyleSheet)
292 std::unique_ptr<SfxPoolItem> pResultItem;
300 pResultItem =
static_cast<const XFillBitmapItem*
>(pNewItem)->checkForUniqueItem( &rModel );
305 pResultItem =
static_cast<const XLineDashItem*
>(pNewItem)->checkForUniqueItem( &rModel );
310 pResultItem =
static_cast<const XLineStartItem*
>(pNewItem)->checkForUniqueItem( &rModel );
315 pResultItem =
static_cast<const XLineEndItem*
>(pNewItem)->checkForUniqueItem( &rModel );
320 pResultItem =
static_cast<const XFillGradientItem*
>(pNewItem)->checkForUniqueItem( &rModel );
331 pResultItem =
static_cast<const XFillHatchItem*
>(pNewItem)->checkForUniqueItem( &rModel );
405 if(SfxItemState::SET ==
mxItemSet->GetItemState(nWhich,
true, &pItem))
407 aDestItemSet.
Put(*pItem);
414 mxItemSet.emplace(std::move(aDestItemSet));
425 bool bHintUsed(
false);
434 switch(pStyleHint->
GetId())
436 case SfxHintId::StyleSheetCreated :
441 case SfxHintId::StyleSheetModified :
442 case SfxHintId::StyleSheetChanged :
447 case SfxHintId::StyleSheetErased :
448 case SfxHintId::StyleSheetInDestruction :
462 pStyleSheet->GetParent(), pStyleSheet->GetFamily()));
SfxStyleSheet * GetDefaultStyleSheet() const
SfxStyleSheetBasePool * GetStyleSheetPool() const
void BroadcastObjectChange() const
SdrModel & getSdrModelFromSdrObject() const
void SendUserCall(SdrUserCallType eUserCall, const tools::Rectangle &rBoundRect) const
virtual void SetChanged()
virtual const tools::Rectangle & GetLastBoundRect() const
SdrPage * getSdrPageFromSdrObject() const
bool IsInDestruction() const
virtual void SetBoundRectDirty()
virtual void SetBoundAndSnapRectsDirty(bool bNotMyself=false, bool bRecursive=true)
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
void SetParent(const SfxItemSet *pNew)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void StartListening(SfxBroadcaster &rBroadcaster, DuplicateHandling eDuplicateHanding=DuplicateHandling::Unexpected)
void EndListening(SfxBroadcaster &rBroadcaster, bool bRemoveAllDuplicates=false)
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint)
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
const OUString & GetName() const
SfxStyleFamily GetFamily() const
virtual SfxItemSet & GetItemSet()
SfxStyleSheetBasePool * GetPool()
SfxStyleSheetBase * GetStyleSheet() const
SfxItemState GetItemState(bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
void ImpSetParentAtSfxItemSet(bool bDontRemoveHardAttr)
virtual void ItemSetChanged(o3tl::span< const SfxPoolItem *const > aChangedItems, sal_uInt16 nDeletedWhich) override
virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool &pPool) override
void ImpAddStyleSheet(SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr)
virtual std::unique_ptr< BaseProperties > Clone(SdrObject &rObj) const override
virtual void ItemChange(const sal_uInt16 nWhich, const SfxPoolItem *pNewItem=nullptr) override
virtual void ForceStyleToHardAttributes() override
void ImpRemoveStyleSheet()
virtual const SfxItemSet & GetObjectItemSet() const override
virtual void SetStyleSheet(SfxStyleSheet *pNewStyleSheet, bool bDontRemoveHardAttr, bool bBroadcast) override
virtual SfxStyleSheet * GetStyleSheet() const override
SfxStyleSheet * mpStyleSheet
AttributeProperties(SdrObject &rObj)
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual void applyDefaultStyleSheetFromSdrModel()
virtual ~AttributeProperties() override
virtual bool isUsedByModel() const override
const SdrObject & GetSdrObject() const
std::optional< SfxItemSet > mxItemSet
virtual const SfxItemSet & GetObjectItemSet() const override
bool HasSfxItemSet() const
#define DBG_ASSERT(sCon, aError)
static constexpr auto Items
constexpr sal_uInt16 SDRATTR_START(XATTR_START)
constexpr sal_uInt16 SDRATTR_TEXTCOLUMNS_FIRST(SDRATTR_SOFTEDGE_LAST+1)
constexpr sal_uInt16 SDRATTR_MISC_LAST(SDRATTR_TEXT_CLIPVERTOVERFLOW)
constexpr sal_uInt16 SDRATTR_MISC_FIRST(SDRATTR_CAPTION_LAST+1)
constexpr sal_uInt16 SDRATTR_TEXTCOLUMNS_LAST(SDRATTR_TEXTCOLUMNS_SPACING)
constexpr sal_uInt16 SDRATTR_SHADOW_LAST(SDRATTR_SHADOWALIGNMENT)
constexpr TypedWhichId< SvxWritingModeItem > SDRATTR_TEXTDIRECTION(SDRATTR_NOTPERSIST_FIRST+34)
constexpr TypedWhichId< XLineDashItem > XATTR_LINEDASH(XATTR_LINE_FIRST+1)
constexpr TypedWhichId< XLineEndItem > XATTR_LINEEND(XATTR_LINE_FIRST+5)
constexpr TypedWhichId< XLineStartItem > XATTR_LINESTART(XATTR_LINE_FIRST+4)
constexpr TypedWhichId< XFillHatchItem > XATTR_FILLHATCH(XATTR_FILL_FIRST+3)
constexpr TypedWhichId< XFillBitmapItem > XATTR_FILLBITMAP(XATTR_FILL_FIRST+4)
constexpr TypedWhichId< XFillFloatTransparenceItem > XATTR_FILLFLOATTRANSPARENCE(XATTR_FILL_FIRST+11)
constexpr TypedWhichId< XFillGradientItem > XATTR_FILLGRADIENT(XATTR_FILL_FIRST+2)