LibreOffice Module svx (master) 1
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
SdrCustomShapeGeometryItem Class Referencefinal

#include <sdasitm.hxx>

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

Classes

struct  PropertyPairHash
 

Public Types

typedef std::pair< const OUString, const OUString > PropertyPair
 
- Public Types inherited from SfxPoolItem
typedef std::vector< SfxPoolItem * >::const_iterator lookup_iterator
 

Public Member Functions

 SdrCustomShapeGeometryItem ()
 
 SdrCustomShapeGeometryItem (const css::uno::Sequence< css::beans::PropertyValue > &)
 
virtual ~SdrCustomShapeGeometryItem () override
 
 SdrCustomShapeGeometryItem (SdrCustomShapeGeometryItem const &)=default
 
 SdrCustomShapeGeometryItem (SdrCustomShapeGeometryItem &&)=default
 
SdrCustomShapeGeometryItemoperator= (SdrCustomShapeGeometryItem const &)=delete
 
SdrCustomShapeGeometryItemoperator= (SdrCustomShapeGeometryItem &&)=delete
 
virtual bool operator== (const SfxPoolItem &) const override
 
virtual bool operator< (const SfxPoolItem &) const override
 
virtual bool IsSortable () const override
 
virtual bool GetPresentation (SfxItemPresentation ePresentation, MapUnit eCoreMetric, MapUnit ePresentationMetric, OUString &rText, const IntlWrapper &) const override
 
virtual SdrCustomShapeGeometryItemClone (SfxItemPool *pPool=nullptr) const override
 
virtual bool QueryValue (css::uno::Any &rVal, sal_uInt8 nMemberId=0) const override
 
virtual bool PutValue (const css::uno::Any &rVal, sal_uInt8 nMemberId) override
 
css::uno::Any * GetPropertyValueByName (const OUString &rPropName)
 
const css::uno::Any * GetPropertyValueByName (const OUString &rPropName) const
 
css::uno::Any * GetPropertyValueByName (const OUString &rPropName, const OUString &rPropName2)
 
const css::uno::Any * GetPropertyValueByName (const OUString &rPropName, const OUString &rPropName2) const
 
void SetPropertyValue (const css::beans::PropertyValue &rPropVal)
 
void SetPropertyValue (const OUString &rSequenceName, const css::beans::PropertyValue &rPropVal)
 
void ClearPropertyValue (const OUString &rPropertyName)
 
- Public Member Functions inherited from SfxPoolItem
void AddRef (sal_uInt32 n=1) const
 
virtual ~SfxPoolItem ()
 
void SetWhich (sal_uInt16 nId)
 
sal_uInt16 Which () const
 
T & StaticWhichCast (TypedWhichId< T > nId)
 
const T & StaticWhichCast (TypedWhichId< T > nId) const
 
T * DynamicWhichCast (TypedWhichId< T > nId)
 
const T * DynamicWhichCast (TypedWhichId< T > nId) const
 
virtual bool operator== (const SfxPoolItem &) const=0
 
bool operator!= (const SfxPoolItem &rItem) const
 
virtual bool operator< (const SfxPoolItem &) const
 
virtual bool IsSortable () const
 
virtual bool HasLookup () const
 
virtual lookup_iterator Lookup (lookup_iterator, lookup_iterator end) const
 
virtual bool GetPresentation (SfxItemPresentation ePresentation, MapUnit eCoreMetric, MapUnit ePresentationMetric, OUString &rText, const IntlWrapper &rIntlWrapper) const
 
virtual void ScaleMetrics (tools::Long lMult, tools::Long lDiv)
 
virtual bool HasMetrics () const
 
virtual bool QueryValue (css::uno::Any &rVal, sal_uInt8 nMemberId=0) const
 
virtual bool PutValue (const css::uno::Any &rVal, sal_uInt8 nMemberId)
 
virtual SfxPoolItemClone (SfxItemPool *pPool=nullptr) const=0
 
std::unique_ptr< SfxPoolItemCloneSetWhich (sal_uInt16 nNewWhich) const
 
std::unique_ptr< T > CloneSetWhich (TypedWhichId< T > nId) const
 
sal_uInt32 GetRefCount () const
 
SfxItemKind GetKind () const
 
virtual void dumpAsXml (xmlTextWriterPtr pWriter) const
 
virtual boost::property_tree::ptree dumpAsJSON () const
 
virtual bool IsVoidItem () const
 

Private Types

enum  HashState {
  Unknown ,
  Valid ,
  Unusable
}
 
typedef std::unordered_map< PropertyPair, sal_Int32, PropertyPairHashPropertyPairHashMap
 
typedef std::unordered_map< OUString, sal_Int32 > PropertyHashMap
 

Private Member Functions

void SetPropSeq (const css::uno::Sequence< css::beans::PropertyValue > &rPropSeq)
 
void UpdateHash () const
 
void InvalidateHash ()
 

Private Attributes

PropertyHashMap m_aPropHashMap
 
PropertyPairHashMap m_aPropPairHashMap
 
css::uno::Sequence< css::beans::PropertyValue > m_aPropSeq
 
HashState m_aHashState = HashState::Unknown
 
size_t m_aHash = 0xdeadbeef
 

Additional Inherited Members

- Protected Member Functions inherited from SfxPoolItem
 SfxPoolItem (sal_uInt16 nWhich=0)
 
 SfxPoolItem (const SfxPoolItem &rCopy)
 

Detailed Description

Definition at line 33 of file sdasitm.hxx.

Member Typedef Documentation

◆ PropertyHashMap

typedef std::unordered_map<OUString, sal_Int32> SdrCustomShapeGeometryItem::PropertyHashMap
private

Definition at line 44 of file sdasitm.hxx.

◆ PropertyPair

typedef std::pair< const OUString, const OUString > SdrCustomShapeGeometryItem::PropertyPair

Definition at line 36 of file sdasitm.hxx.

◆ PropertyPairHashMap

typedef std::unordered_map<PropertyPair, sal_Int32, PropertyPairHash> SdrCustomShapeGeometryItem::PropertyPairHashMap
private

Definition at line 43 of file sdasitm.hxx.

Member Enumeration Documentation

◆ HashState

Enumerator
Unknown 
Valid 
Unusable 

Definition at line 53 of file sdasitm.hxx.

Constructor & Destructor Documentation

◆ SdrCustomShapeGeometryItem() [1/4]

SdrCustomShapeGeometryItem::SdrCustomShapeGeometryItem ( )

Definition at line 32 of file customshapeitem.cxx.

Referenced by Clone().

◆ SdrCustomShapeGeometryItem() [2/4]

SdrCustomShapeGeometryItem::SdrCustomShapeGeometryItem ( const css::uno::Sequence< css::beans::PropertyValue > &  )

◆ ~SdrCustomShapeGeometryItem()

SdrCustomShapeGeometryItem::~SdrCustomShapeGeometryItem ( )
overridevirtual

Definition at line 220 of file customshapeitem.cxx.

◆ SdrCustomShapeGeometryItem() [3/4]

SdrCustomShapeGeometryItem::SdrCustomShapeGeometryItem ( SdrCustomShapeGeometryItem const &  )
default

◆ SdrCustomShapeGeometryItem() [4/4]

SdrCustomShapeGeometryItem::SdrCustomShapeGeometryItem ( SdrCustomShapeGeometryItem &&  )
default

Member Function Documentation

◆ ClearPropertyValue()

void SdrCustomShapeGeometryItem::ClearPropertyValue ( const OUString &  rPropertyName)

◆ Clone()

SdrCustomShapeGeometryItem * SdrCustomShapeGeometryItem::Clone ( SfxItemPool pPool = nullptr) const
overridevirtual

Implements SfxPoolItem.

Definition at line 293 of file customshapeitem.cxx.

References m_aPropSeq, and SdrCustomShapeGeometryItem().

◆ GetPresentation()

bool SdrCustomShapeGeometryItem::GetPresentation ( SfxItemPresentation  ePresentation,
MapUnit  eCoreMetric,
MapUnit  ePresentationMetric,
OUString &  rText,
const IntlWrapper  
) const
overridevirtual

Reimplemented from SfxPoolItem.

Definition at line 278 of file customshapeitem.cxx.

◆ GetPropertyValueByName() [1/4]

css::uno::Any * SdrCustomShapeGeometryItem::GetPropertyValueByName ( const OUString &  rPropName)

◆ GetPropertyValueByName() [2/4]

const css::uno::Any * SdrCustomShapeGeometryItem::GetPropertyValueByName ( const OUString &  rPropName) const

Definition at line 51 of file customshapeitem.cxx.

References m_aPropHashMap, and m_aPropSeq.

◆ GetPropertyValueByName() [3/4]

css::uno::Any * SdrCustomShapeGeometryItem::GetPropertyValueByName ( const OUString &  rPropName,
const OUString &  rPropName2 
)

◆ GetPropertyValueByName() [4/4]

const css::uno::Any * SdrCustomShapeGeometryItem::GetPropertyValueByName ( const OUString &  rPropName,
const OUString &  rPropName2 
) const

◆ InvalidateHash()

void SdrCustomShapeGeometryItem::InvalidateHash ( )
inlineprivate

Definition at line 273 of file customshapeitem.cxx.

References m_aHashState.

Referenced by ClearPropertyValue(), SetPropertyValue(), and SetPropSeq().

◆ IsSortable()

virtual bool SdrCustomShapeGeometryItem::IsSortable ( ) const
inlineoverridevirtual

Reimplemented from SfxPoolItem.

Definition at line 74 of file sdasitm.hxx.

◆ operator<()

bool SdrCustomShapeGeometryItem::operator< ( const SfxPoolItem rCmp) const
overridevirtual

Reimplemented from SfxPoolItem.

Definition at line 242 of file customshapeitem.cxx.

References comphelper::anyLess(), m_aHash, m_aHashState, m_aPropSeq, and UpdateHash().

◆ operator=() [1/2]

SdrCustomShapeGeometryItem & SdrCustomShapeGeometryItem::operator= ( SdrCustomShapeGeometryItem &&  )
delete

◆ operator=() [2/2]

SdrCustomShapeGeometryItem & SdrCustomShapeGeometryItem::operator= ( SdrCustomShapeGeometryItem const &  )
delete

◆ operator==()

bool SdrCustomShapeGeometryItem::operator== ( const SfxPoolItem rCmp) const
overridevirtual

Implements SfxPoolItem.

Definition at line 224 of file customshapeitem.cxx.

References m_aHash, m_aHashState, m_aPropSeq, and UpdateHash().

◆ PutValue()

bool SdrCustomShapeGeometryItem::PutValue ( const css::uno::Any &  rVal,
sal_uInt8  nMemberId 
)
overridevirtual

Reimplemented from SfxPoolItem.

Definition at line 304 of file customshapeitem.cxx.

References SetPropSeq().

◆ QueryValue()

bool SdrCustomShapeGeometryItem::QueryValue ( css::uno::Any &  rVal,
sal_uInt8  nMemberId = 0 
) const
overridevirtual

Reimplemented from SfxPoolItem.

Definition at line 298 of file customshapeitem.cxx.

References m_aPropSeq.

◆ SetPropertyValue() [1/2]

void SdrCustomShapeGeometryItem::SetPropertyValue ( const css::beans::PropertyValue &  rPropVal)

◆ SetPropertyValue() [2/2]

void SdrCustomShapeGeometryItem::SetPropertyValue ( const OUString &  rSequenceName,
const css::beans::PropertyValue &  rPropVal 
)

◆ SetPropSeq()

void SdrCustomShapeGeometryItem::SetPropSeq ( const css::uno::Sequence< css::beans::PropertyValue > &  rPropSeq)
private

Definition at line 314 of file customshapeitem.cxx.

References i, InvalidateHash(), m_aPropHashMap, m_aPropPairHashMap, m_aPropSeq, and o3tl::tryAccess().

Referenced by PutValue().

◆ UpdateHash()

void SdrCustomShapeGeometryItem::UpdateHash ( ) const
inlineprivate

Definition at line 259 of file customshapeitem.cxx.

References comphelper::anyToHash(), m_aHash, m_aHashState, and m_aPropSeq.

Referenced by operator<(), and operator==().

Member Data Documentation

◆ m_aHash

size_t SdrCustomShapeGeometryItem::m_aHash = 0xdeadbeef
mutableprivate

Definition at line 55 of file sdasitm.hxx.

Referenced by operator<(), operator==(), and UpdateHash().

◆ m_aHashState

HashState SdrCustomShapeGeometryItem::m_aHashState = HashState::Unknown
mutableprivate

Definition at line 54 of file sdasitm.hxx.

Referenced by InvalidateHash(), operator<(), operator==(), and UpdateHash().

◆ m_aPropHashMap

PropertyHashMap SdrCustomShapeGeometryItem::m_aPropHashMap
private

◆ m_aPropPairHashMap

PropertyPairHashMap SdrCustomShapeGeometryItem::m_aPropPairHashMap
private

◆ m_aPropSeq

css::uno::Sequence< css::beans::PropertyValue > SdrCustomShapeGeometryItem::m_aPropSeq
private

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