23#include <com/sun/star/beans/PropertyAttribute.hpp>
24#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
60 xPropSet->getPropertyValue(
"UIName") >>=
m_aUIName;
63 catch (
const Exception& )
67 if ( !rSourceContainer.is() )
72 sal_Int32
nCount = rSourceContainer->getCount();
76 for ( sal_Int32 i = 0;
i <
nCount;
i++ )
79 if ( rSourceContainer->getByIndex( i ) >>= aPropSeq )
85 for ( sal_Int32 i = 0;
i <
nCount;
i++ )
88 if ( rSourceContainer->getByIndex( i ) >>= aPropSeq )
90 sal_Int32 nContainerIndex = -1;
92 for ( sal_Int32 j = 0; j < aPropSeq.getLength(); j++ )
94 if ( aPropSeq[j].Name ==
"ItemDescriptorContainer" )
96 aPropSeq[j].Value >>= xIndexAccess;
102 if ( xIndexAccess.is() && nContainerIndex >= 0 )
103 aPropSeq.getArray()[nContainerIndex].Value <<=
deepCopyContainer( xIndexAccess );
110 catch (
const IndexOutOfBoundsException& )
122 const sal_uInt32
nCount = rSourceVector.size();
123 for ( sal_uInt32
i = 0;
i <
nCount;
i++ )
125 sal_Int32 nContainerIndex = -1;
128 for ( sal_Int32 j = 0; j < aPropSeq.getLength(); j++ )
130 if ( aPropSeq[j].
Name ==
"ItemDescriptorContainer" )
132 aPropSeq[j].Value >>= xIndexAccess;
138 if ( xIndexAccess.is() && nContainerIndex >= 0 )
139 aPropSeq.getArray()[nContainerIndex].Value <<=
deepCopyContainer( xIndexAccess );
148 if ( rSubContainer.is() )
156 xReturn = pSubContainer;
177 throw IndexOutOfBoundsException( OUString(),
static_cast<OWeakObject *
>(
this) );
183 std::vector<comphelper::PropertyMapEntry> makePropertyMap(
const css::uno::Sequence<css::beans::Property>& rProps)
185 std::vector<comphelper::PropertyMapEntry>
aEntries;
186 for (
auto const& it : rProps)
187 aEntries.emplace_back(it.Name, it.Handle, it.Type, it.Attributes, 0);
197 static std::vector<comphelper::PropertyMapEntry> aPropertyInfos(makePropertyMap(
getInfoHelper().getProperties()));
212 throw UnknownPropertyException(PropertyName);
244 throw UnknownPropertyException(OUString::number(
nHandle));
254 return ourInfoHelper;
270 css::beans::PropertyAttribute::TRANSIENT | css::beans::PropertyAttribute::READONLY )
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
std::vector< css::uno::Sequence< css::beans::PropertyValue > > m_aItemVector
css::uno::Sequence< css::beans::Property > impl_getStaticPropertyDescriptor()
::cppu::IPropertyArrayHelper & getInfoHelper()
virtual css::uno::Any SAL_CALL getFastPropertyValue(sal_Int32 nHandle) override
virtual ~ConstItemContainer() override
virtual sal_Int32 SAL_CALL getCount() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
css::uno::Reference< css::container::XIndexAccess > deepCopyContainer(const css::uno::Reference< css::container::XIndexAccess > &rSubContainer)
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
void copyItemContainer(const std::vector< css::uno::Sequence< css::beans::PropertyValue > > &rSourceVector)
virtual void SAL_CALL setFastPropertyValue(sal_Int32 nHandle, const css::uno::Any &aValue) override
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
virtual sal_Bool SAL_CALL hasElements() override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
ShareableMutex m_aShareMutex
std::vector< css::uno::Sequence< css::beans::PropertyValue > > m_aItemVector
constexpr OUStringLiteral PROPNAME_UINAME
const int PROPHANDLE_UINAME
ScXMLEditAttributeMap::Entry const aEntries[]