20#include <com/sun/star/beans/PropertyState.hpp>
21#include <com/sun/star/beans/PropertyAttribute.hpp>
22#include <com/sun/star/awt/FontDescriptor.hpp>
23#include <com/sun/star/awt/FontWidth.hpp>
24#include <com/sun/star/awt/FontSlant.hpp>
25#include <com/sun/star/awt/MouseWheelBehavior.hpp>
26#include <com/sun/star/graphic/XGraphic.hpp>
27#include <com/sun/star/awt/XDevice.hpp>
28#include <com/sun/star/text/WritingMode2.hpp>
29#include <com/sun/star/io/XMarkableStream.hpp>
30#include <com/sun/star/i18n/Currency2.hpp>
31#include <com/sun/star/util/Date.hpp>
32#include <com/sun/star/util/Time.hpp>
39#include <helper/property.hxx>
55using ::com::sun::star::awt::FontDescriptor;
58#define UNOCONTROL_STREAMVERSION short(2)
65 float nExtractFloat = 0;
66 sal_Int16 nExtractShort = 0;
83 rFD.Slant =
static_cast<css::awt::FontSlant
>(nExtractShort);
105 default: OSL_FAIL(
"FontProperty?!" );
113 ,maDisposeListeners( *this )
123 , maDisposeListeners( *this )
130 sal_uInt32 nIDs =
maData.size();
131 css::uno::Sequence<sal_Int32> aIDs( nIDs );
132 sal_Int32* pIDs = aIDs.getArray();
134 for (
const auto& rData :
maData )
135 pIDs[
n++] = rData.first;
149 css::uno::Any aDefault;
179 default: OSL_FAIL(
"FontProperty?!" );
187 aDefault <<= Reference< graphic::XGraphic >();
191 aDefault <<= Reference< awt::XDevice >();
295 aDefault <<= text::WritingMode2::CONTEXT;
300 css::uno::Sequence< OUString> aStringSeq;
301 aDefault <<= aStringSeq;
307 css::uno::Sequence< css::uno::Any > aAnySeq;
308 aDefault <<= aAnySeq;
314 css::uno::Sequence<sal_Int16> aINT16Seq;
315 aDefault <<= aINT16Seq;
320 OUString sDefaultCurrency(
324 sal_Int32 nSepPos = sDefaultCurrency.indexOf(
'-' );
325 OUString sBankSymbol;
328 sBankSymbol = sDefaultCurrency.copy( 0, nSepPos );
329 sDefaultCurrency = sDefaultCurrency.copy( nSepPos + 1 );
334 if ( sBankSymbol.isEmpty() )
338 const Sequence< Currency2 > aAllCurrencies = aLocaleInfo.
getAllCurrencies();
341 if ( sBankSymbol.isEmpty() )
343 DBG_ASSERT( aAllCurrencies.hasElements(),
"UnoControlModel::ImplGetDefaultValue: no currencies at all!" );
344 if ( aAllCurrencies.hasElements() )
346 sBankSymbol = aAllCurrencies[0].BankSymbol;
347 sCurrencySymbol = aAllCurrencies[0].Symbol;
351 if ( !sBankSymbol.isEmpty() )
353 bool bLegacy =
false;
355 for (
const Currency2& rCurrency : aAllCurrencies )
356 if ( rCurrency.BankSymbol == sBankSymbol )
358 sCurrencySymbol = rCurrency.Symbol;
359 if ( rCurrency.LegacyOnly )
367 DBG_ASSERT( bLegacy || bFound,
"UnoControlModel::ImplGetDefaultValue: did not find the given bank symbol!" );
370 aDefault <<= sCurrencySymbol;
374 default: OSL_FAIL(
"ImplGetDefaultValue - unknown Property" );
383 maData[ nPropId ] = rDefault;
405 for (
const auto& rId : rIds)
416 if ( !aRet.hasValue() )
437 std::unique_lock aGuard(
m_aMutex );
439 css::lang::EventObject aEvt;
444 OPropertySetHelper::disposing(aGuard);
449 std::unique_lock aGuard(
m_aMutex );
456 std::unique_lock aGuard(
m_aMutex );
465 std::unique_lock aGuard(
m_aMutex );
476 return CompareProperties( aValue, aDefault ) ? css::beans::PropertyState_DEFAULT_VALUE : css::beans::PropertyState_DIRECT_VALUE;
481 std::unique_lock aGuard(
m_aMutex );
483 sal_Int32 nNames = PropertyNames.getLength();
485 css::uno::Sequence< css::beans::PropertyState > aStates( nNames );
487 std::transform(PropertyNames.begin(), PropertyNames.end(), aStates.getArray(),
488 [
this, &aGuard](
const OUString& rName) -> css::beans::PropertyState
489 { return getPropertyStateImpl(aGuard, rName); });
498 std::unique_lock aGuard(
m_aMutex );
506 std::unique_lock aGuard(
m_aMutex );
515 OSL_FAIL(
"ServiceName of UnoControlModel ?!" );
521 std::unique_lock aGuard(
m_aMutex );
523 css::uno::Reference< css::io::XMarkableStream > xMark( OutStream, css::uno::UNO_QUERY );
524 DBG_ASSERT( xMark.is(),
"write: no css::io::XMarkableStream!" );
530 for (
const auto& rData :
maData)
532 if ( ( (
GetPropertyAttribs( rData.first ) & css::beans::PropertyAttribute::TRANSIENT ) == 0 )
535 aProps.
insert( rData.first );
539 sal_uInt32 nProps = aProps.
size();
544 for (
const auto& rProp : aProps )
546 sal_Int32 nPropDataBeginMark = xMark->createMark();
547 OutStream->writeLong( 0 );
549 const css::uno::Any* pProp = &(
maData[rProp]);
550 OutStream->writeShort( rProp );
552 bool bVoid = pProp->getValueType().getTypeClass() == css::uno::TypeClass_VOID;
554 OutStream->writeBoolean( bVoid );
558 const css::uno::Any& rValue = *pProp;
559 const css::uno::Type& rType = rValue.getValueType();
565 OutStream->writeBoolean( b );
571 OutStream->writeUTF( aUString );
577 OutStream->writeShort(
n );
583 OutStream->writeShort(
n );
589 OutStream->writeLong(
n );
595 OutStream->writeLong(
n );
601 OutStream->writeDouble(
n );
605 css::awt::FontDescriptor aFD;
607 OutStream->writeUTF( aFD.Name );
608 OutStream->writeShort( aFD.Height );
609 OutStream->writeShort( aFD.Width );
610 OutStream->writeUTF( aFD.StyleName );
611 OutStream->writeShort( aFD.Family );
612 OutStream->writeShort( aFD.CharSet );
613 OutStream->writeShort( aFD.Pitch );
614 OutStream->writeDouble( aFD.CharacterWidth );
615 OutStream->writeDouble( aFD.Weight );
616 OutStream->writeShort(
617 sal::static_int_cast< sal_Int16 >(aFD.Slant) );
618 OutStream->writeShort( aFD.Underline );
619 OutStream->writeShort( aFD.Strikeout );
620 OutStream->writeDouble( aFD.Orientation );
621 OutStream->writeBoolean( aFD.Kerning );
622 OutStream->writeBoolean( aFD.WordLineMode );
623 OutStream->writeShort( aFD.Type );
629 OutStream->writeLong(
d.Day + 100 *
d.Month + 10000 *
d.Year);
636 OutStream->writeLong(
637 t.NanoSeconds / 1000000 + 100 *
t.Seconds
638 + 10000 *
t.Minutes + 1000000 *
t.Hours);
640 else if ( rType ==
cppu::UnoType< css::uno::Sequence< OUString> >::get() )
642 css::uno::Sequence< OUString>
aSeq;
645 OutStream->writeLong( nEntries );
646 for (
const auto& rVal : std::as_const(
aSeq) )
647 OutStream->writeUTF( rVal );
651 css::uno::Sequence<sal_uInt16>
aSeq;
654 OutStream->writeLong( nEntries );
655 for (
const auto nVal : std::as_const(
aSeq) )
656 OutStream->writeShort( nVal );
658 else if ( rType ==
cppu::UnoType< css::uno::Sequence<sal_Int16> >::get() )
660 css::uno::Sequence<sal_Int16>
aSeq;
663 OutStream->writeLong( nEntries );
664 for (
const auto nVal : std::as_const(
aSeq) )
665 OutStream->writeShort( nVal );
667 else if ( rType.getTypeClass() == TypeClass_ENUM )
669 sal_Int32 nAsInt = 0;
670 ::cppu::enum2int( nAsInt, rValue );
671 OutStream->writeLong( nAsInt );
673#if OSL_DEBUG_LEVEL > 0
676 SAL_WARN(
"toolkit",
"UnoControlModel::write: don't know how to handle a property of type '"
677 << rType.getTypeName()
678 <<
"'.\n(Currently handling property '"
685 sal_Int32 nPropDataLen = xMark->offsetToMark( nPropDataBeginMark );
686 xMark->jumpToMark( nPropDataBeginMark );
687 OutStream->writeLong( nPropDataLen );
688 xMark->jumpToFurthest();
689 xMark->deleteMark(nPropDataBeginMark);
697 css::awt::FontDescriptor aFD;
702 sal_Int32 nPropDataBeginMark = xMark->createMark();
703 OutStream->writeLong( 0 );
704 OutStream->writeShort(
n );
705 OutStream->writeBoolean(
false );
709 OutStream->writeUTF( aFD.Name );
710 OutStream->writeUTF( aFD.StyleName );
711 OutStream->writeShort( aFD.Family );
712 OutStream->writeShort( aFD.CharSet );
713 OutStream->writeShort( aFD.Pitch );
717 OutStream->writeLong( aFD.Width );
718 OutStream->writeLong( aFD.Height );
719 OutStream->writeShort(
720 sal::static_int_cast< sal_Int16 >(
725 OutStream->writeShort(
726 sal::static_int_cast< sal_Int16 >(
728 OutStream->writeShort(
729 sal::static_int_cast< sal_Int16 >(aFD.Slant) );
730 OutStream->writeShort( aFD.Underline );
731 OutStream->writeShort( aFD.Strikeout );
732 OutStream->writeShort(
static_cast<short>(aFD.Orientation * 10) );
733 OutStream->writeBoolean( aFD.Kerning );
734 OutStream->writeBoolean( aFD.WordLineMode );
738 OSL_FAIL(
"Property?!" );
741 sal_Int32 nPropDataLen = xMark->offsetToMark( nPropDataBeginMark );
742 xMark->jumpToMark( nPropDataBeginMark );
743 OutStream->writeLong( nPropDataLen );
744 xMark->jumpToFurthest();
745 xMark->deleteMark(nPropDataBeginMark);
751 std::unique_lock aGuard(
m_aMutex );
753 css::uno::Reference< css::io::XMarkableStream > xMark( InStream, css::uno::UNO_QUERY );
754 DBG_ASSERT( xMark.is(),
"read: no css::io::XMarkableStream!" );
756 short nVersion = InStream->readShort();
757 sal_uInt32 nProps =
static_cast<sal_uInt32
>(InStream->readLong());
758 css::uno::Sequence< OUString> aProps( nProps );
759 css::uno::Sequence< css::uno::Any> aValues( nProps );
760 bool bInvalidEntries =
false;
766 std::unique_ptr<css::awt::FontDescriptor> pFD;
768 for ( sal_uInt32
i = 0;
i < nProps;
i++ )
770 sal_Int32 nPropDataBeginMark = xMark->createMark();
771 sal_Int32 nPropDataLen = InStream->readLong();
773 sal_uInt16 nPropId =
static_cast<sal_uInt16
>(InStream->readShort());
775 css::uno::Any aValue;
776 bool bIsVoid = InStream->readBoolean();
784 bool b = InStream->readBoolean();
789 OUString aUTF = InStream->readUTF();
794 sal_uInt16
n = InStream->readShort();
799 sal_Int16
n = InStream->readShort();
804 sal_uInt32
n = InStream->readLong();
809 sal_Int32
n = InStream->readLong();
814 double n = InStream->readDouble();
819 css::awt::FontDescriptor aFD;
820 aFD.Name = InStream->readUTF();
821 aFD.Height = InStream->readShort();
822 aFD.Width = InStream->readShort();
823 aFD.StyleName = InStream->readUTF();
824 aFD.Family = InStream->readShort();
825 aFD.CharSet = InStream->readShort();
826 aFD.Pitch = InStream->readShort();
827 aFD.CharacterWidth =
static_cast<float>(InStream->readDouble());
828 aFD.Weight =
static_cast<float>(InStream->readDouble());
829 aFD.Slant =
static_cast<css::awt::FontSlant
>(InStream->readShort());
830 aFD.Underline = InStream->readShort();
831 aFD.Strikeout = InStream->readShort();
832 aFD.Orientation =
static_cast<float>(InStream->readDouble());
833 aFD.Kerning = InStream->readBoolean() != 0;
834 aFD.WordLineMode = InStream->readBoolean() != 0;
835 aFD.Type = InStream->readShort();
840 sal_Int32
n = InStream->readLong();
841 aValue <<= css::util::Date(
842 n % 100, (
n / 100) % 100,
n / 10000);
846 sal_Int32
n = InStream->readLong();
847 aValue <<= css::util::Time(
848 (
n % 100) * 1000000, (
n / 100) % 100, (
n / 10000) % 100,
851 else if ( *pType ==
cppu::UnoType< css::uno::Sequence< OUString> >::get() )
854 css::uno::Sequence< OUString>
aSeq( nEntries );
856 aSeq.getArray()[
n] = InStream->readUTF();
864 css::uno::Sequence<sal_uInt16>
aSeq( nEntries );
866 aSeq.getArray()[
n] =
static_cast<sal_uInt16
>(InStream->readShort());
869 else if ( *pType ==
cppu::UnoType< css::uno::Sequence<sal_Int16> >::get() )
872 css::uno::Sequence<sal_Int16>
aSeq( nEntries );
874 aSeq.getArray()[
n] = InStream->readShort();
877 else if ( pType->getTypeClass() == TypeClass_ENUM )
879 sal_Int32 nAsInt = InStream->readLong();
880 aValue = ::cppu::int2enum( nAsInt, *pType );
884 SAL_WARN(
"toolkit",
"UnoControlModel::read: don't know how to handle a property of type '"
885 << pType->getTypeName()
886 <<
"'.\n(Currently handling property '"
902 pFD.reset(
new css::awt::FontDescriptor);
906 pFD->Name = InStream->readUTF();
907 pFD->StyleName = InStream->readUTF();
908 pFD->Family = InStream->readShort();
909 pFD->CharSet = InStream->readShort();
910 pFD->Pitch = InStream->readShort();
919 pFD.reset(
new css::awt::FontDescriptor);
923 pFD->Width =
static_cast<sal_Int16
>(InStream->readLong());
924 pFD->Height =
static_cast<sal_Int16
>(InStream->readLong());
925 InStream->readShort();
927 pFD->CharacterWidth = css::awt::FontWidth::DONTKNOW;
936 pFD.reset(
new css::awt::FontDescriptor);
941 pFD->Slant =
static_cast<css::awt::FontSlant
>(InStream->readShort());
942 pFD->Underline = InStream->readShort();
943 pFD->Strikeout = InStream->readShort();
944 pFD->Orientation =
static_cast<float>(
static_cast<double>(InStream->readShort())) / 10;
945 pFD->Kerning = InStream->readBoolean() != 0;
946 pFD->WordLineMode = InStream->readBoolean() != 0;
951 OSL_FAIL(
"read: unknown Property!" );
967 aValues.getArray()[
i] = aValue;
971 bInvalidEntries =
true;
975 xMark->jumpToMark( nPropDataBeginMark );
976 InStream->skipBytes( nPropDataLen );
977 xMark->deleteMark(nPropDataBeginMark);
979 if ( bInvalidEntries )
981 for ( sal_Int32
i = 0;
i < aProps.getLength();
i++ )
983 if ( aProps.getConstArray()[
i].isEmpty() )
985 ::comphelper::removeElementAt( aProps,
i );
986 ::comphelper::removeElementAt( aValues,
i );
1003 css::uno::Any aValue;
1013 OSL_FAIL(
"This method should be overridden!" );
1025 return {
"com.sun.star.awt.UnoControlModel" };
1030 bool bVoid = rValue.getValueType().getTypeClass() == css::uno::TypeClass_VOID;
1033 rConvertedValue.clear();
1037 const css::uno::Type* pDestType =
GetPropertyType(
static_cast<sal_uInt16
>(nPropId) );
1038 if ( pDestType->getTypeClass() == TypeClass_ANY )
1040 rConvertedValue = rValue;
1044 if ( pDestType->equals( rValue.getValueType() ) )
1046 rConvertedValue = rValue;
1050 bool bConverted =
false;
1053 switch (pDestType->getTypeClass())
1055 case TypeClass_DOUBLE:
1058 double nAsDouble = 0;
1059 bConverted = ( rValue >>= nAsDouble );
1061 rConvertedValue <<= nAsDouble;
1064 sal_Int32 nAsInteger = 0;
1065 bConverted = ( rValue >>= nAsInteger );
1067 rConvertedValue <<= static_cast<double>(nAsInteger);
1071 case TypeClass_SHORT:
1074 bConverted = ( rValue >>=
n );
1076 rConvertedValue <<=
n;
1079 case TypeClass_UNSIGNED_SHORT:
1082 bConverted = ( rValue >>=
n );
1084 rConvertedValue <<=
n;
1087 case TypeClass_LONG:
1090 bConverted = ( rValue >>=
n );
1092 rConvertedValue <<=
n;
1095 case TypeClass_UNSIGNED_LONG:
1098 bConverted = ( rValue >>=
n );
1100 rConvertedValue <<=
n;
1103 case TypeClass_INTERFACE:
1105 if ( rValue.getValueType().getTypeClass() == TypeClass_INTERFACE )
1107 Reference< XInterface > xPure( rValue, UNO_QUERY );
1109 rConvertedValue = xPure->queryInterface( *pDestType );
1111 rConvertedValue.setValue(
nullptr, *pDestType );
1116 case TypeClass_ENUM:
1119 bConverted = ( rValue >>=
nValue );
1121 rConvertedValue = ::cppu::int2enum(
nValue, *pDestType );
1129 throw css::lang::IllegalArgumentException(
1130 "Unable to convert the given value for the property "
1132 +
".\nExpected type: " + pDestType->getTypeName()
1133 +
"\nFound type: " + rValue.getValueType().getTypeName(),
1134 static_cast< css::beans::XPropertySet*
>(
this),
1150 ImplPropertyTable::const_iterator it =
maData.find( nPropId );
1151 const css::uno::Any* pProp = it ==
maData.end() ? nullptr : &(it->second);
1152 ENSURE_OR_RETURN_VOID( pProp,
"UnoControlModel::setFastPropertyValue_NoBroadcast: invalid property id!" );
1154 DBG_ASSERT( ( rValue.getValueType().getTypeClass() != css::uno::TypeClass_VOID ) || (
GetPropertyAttribs(
static_cast<sal_uInt16
>(nPropId) ) & css::beans::PropertyAttribute::MAYBEVOID ),
"Property should not be VOID!" );
1155 maData[ nPropId ] = rValue;
1160 ImplPropertyTable::const_iterator it =
maData.find( nPropId );
1161 const css::uno::Any* pProp = it ==
maData.end() ? nullptr : &(it->second);
1168 css::awt::FontDescriptor aFD;
1204 default: OSL_FAIL(
"FontProperty?!" );
1209 OSL_FAIL(
"getFastPropertyValue - invalid Property!" );
1218 Any aOldSingleValue;
1222 FontDescriptor aOldFontDescriptor;
1223 (*pProp) >>= aOldFontDescriptor;
1225 FontDescriptor aNewFontDescriptor( aOldFontDescriptor );
1229 aNewValue <<= aNewFontDescriptor;
1234 Any aNewSingleValue;
1238 fire( rGuard, &nPropId, &aNewSingleValue, &aOldSingleValue, 1,
false );
1247 OSL_FAIL(
"UnoControlModel::getPropertySetInfo() not possible!" );
1248 return css::uno::Reference< css::beans::XPropertySetInfo >();
1253 std::unique_lock aGuard(
m_aMutex );
1259 sal_Int32 nProps = rPropertyNames.getLength();
1260 if (nProps !=
Values.getLength())
1261 throw css::lang::IllegalArgumentException(
"lengths do not match",
1266 Sequence< sal_Int32 > aHandles( nProps );
1267 sal_Int32* pHandles = aHandles.getArray();
1270 uno::Sequence< uno::Any > aValues(
Values );
1275 if ( !nValidHandles )
1280 std::unique_ptr< awt::FontDescriptor > pFD;
1281 for ( sal_Int32
n = 0;
n < nProps; ++
n )
1288 pFD.reset(
new awt::FontDescriptor );
1297 if ( nValidHandles )
1306 css::uno::Any aValue;
1321 uno::Any* _pValues, sal_Int32 _nFirstHandle, sal_Int32 _nSecondHandle )
1323 for ( sal_Int32
i=0;
i < _nCount; ++_pHandles, ++_pValues, ++
i )
1325 if ( _nSecondHandle == *_pHandles )
1327 sal_Int32* pLaterHandles = _pHandles + 1;
1328 uno::Any* pLaterValues = _pValues + 1;
1329 for ( sal_Int32 j =
i + 1; j < _nCount; ++j, ++pLaterHandles, ++pLaterValues )
1331 if ( _nFirstHandle == *pLaterHandles )
1334 sal_Int32
nHandle( *_pHandles );
1335 *_pHandles = *pLaterHandles;
1339 *_pValues = *pLaterValues;
1340 *pLaterValues = aValue;
const PropertyValue * pValues
Reference< XComponentContext > m_xContext
const OUString & getCurrBankSymbol() const
css::uno::Sequence< css::i18n::Currency2 > getAllCurrencies() const
const OUString & getCurrSymbol() const
void setPropertyValuesImpl(std::unique_lock< std::mutex > &rGuard, const css::uno::Sequence< OUString > &PropertyNames, const css::uno::Sequence< css::uno::Any > &Values)
css::uno::Sequence< sal_Int32 > ImplGetPropertyIds() const
sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
void ImplRegisterProperty(sal_uInt16 nPropType)
void SAL_CALL setPropertyToDefault(const OUString &PropertyName) override
css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
void SAL_CALL dispose() override
css::uno::Any SAL_CALL getPropertyDefault(const OUString &aPropertyName) override
void setFastPropertyValue_NoBroadcast(std::unique_lock< std::mutex > &rGuard, sal_Int32 nHandle, const css::uno::Any &rValue) override
css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates(const css::uno::Sequence< OUString > &aPropertyName) override
OUString SAL_CALL getServiceName() override
void SAL_CALL read(const css::uno::Reference< css::io::XObjectInputStream > &InStream) override
void setFastPropertyValueImpl(std::unique_lock< std::mutex > &rGuard, sal_Int32 nHandle, const css::uno::Any &aValue) override
UnoControlModel(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
virtual css::uno::Any ImplGetDefaultValue(sal_uInt16 nPropId) const
::cppu::IPropertyArrayHelper & getInfoHelper() override=0
void SAL_CALL setPropertyValues(const css::uno::Sequence< OUString > &PropertyNames, const css::uno::Sequence< css::uno::Any > &Values) override
void getFastPropertyValue(std::unique_lock< std::mutex > &rGuard, css::uno::Any &rValue, sal_Int32 nHandle) const override
void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
css::beans::PropertyState SAL_CALL getPropertyState(const OUString &PropertyName) override
virtual void ImplNormalizePropertySequence(const sal_Int32 _nCount, sal_Int32 *_pHandles, css::uno::Any *_pValues, sal_Int32 *_pValidHandles) const
called before setting multiple properties, allows to care for property dependencies
css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &rType) override
static void ImplEnsureHandleOrder(const sal_Int32 _nCount, sal_Int32 *_pHandles, css::uno::Any *_pValues, sal_Int32 _nFirstHandle, sal_Int32 _nSecondHandle)
ensures that two property values in a sequence have a certain order
bool ImplHasProperty(sal_uInt16 nPropId) const
void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
css::uno::Reference< css::uno::XComponentContext > m_xContext
css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
void SAL_CALL write(const css::uno::Reference< css::io::XObjectOutputStream > &OutStream) override
EventListenerMultiplexer maDisposeListeners
bool convertFastPropertyValue(std::unique_lock< std::mutex > &rGuard, css::uno::Any &rConvertedValue, css::uno::Any &rOldValue, sal_Int32 nHandle, const css::uno::Any &rValue) override
css::beans::PropertyState getPropertyStateImpl(std::unique_lock< std::mutex > &rGuard, const OUString &PropertyName)
OUString SAL_CALL getImplementationName() override
void ImplRegisterProperties(const std::vector< sal_uInt16 > &rIds)
virtual void SAL_CALL setPropertyValue(const ::rtl::OUString &rPropertyName, const css::uno::Any &aValue) override final
void setFastPropertyValues(std::unique_lock< std::mutex > &rGuard, sal_Int32 nSeqLen, sal_Int32 *pHandles, const css::uno::Any *pValues, sal_Int32 nHitCount)
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual css::uno::Any getPropertyValueImpl(std::unique_lock< std::mutex > &rGuard, const ::rtl::OUString &aPropertyName)
void fire(std::unique_lock< std::mutex > &rGuard, sal_Int32 *pnHandles, const css::uno::Any *pNewValues, const css::uno::Any *pOldValues, sal_Int32 nCount, bool bVetoable)
virtual sal_Int32 SAL_CALL fillHandles(sal_Int32 *pHandles, const css::uno::Sequence< ::rtl::OUString > &rPropNames)=0
virtual css::uno::Any SAL_CALL queryAggregation(css::uno::Type const &rType) SAL_OVERRIDE
const_iterator find(const Value &x) const
const_iterator end() const
std::pair< const_iterator, bool > insert(Value &&x)
static OUString getDefaultCurrency()
#define DBG_ASSERT(sCon, aError)
#define DBG_UNHANDLED_EXCEPTION(...)
#define ENSURE_OR_RETURN_VOID(c, m)
Sequence< sal_Int8 > aSeq
#define SAL_WARN(area, stream)
std::vector< sal_Int8, boost::noinit_adaptor< std::allocator< sal_Int8 > > > maData
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
css::uno::Reference< css::animations::XAnimationNode > Clone(const css::uno::Reference< css::animations::XAnimationNode > &xSourceNode, const SdPage *pSource=nullptr, const SdPage *pTarget=nullptr)
VCL_DLLPUBLIC float ConvertFontWidth(FontWidth eWidth)
VCL_DLLPUBLIC float ConvertFontWeight(FontWeight eWeight)
sal_Int16 GetPropertyAttribs(sal_uInt16 nPropertyId)
bool CompareProperties(const css::uno::Any &r1, const css::uno::Any &r2)
const OUString & GetPropertyName(sal_uInt16 nPropertyId)
const css::uno::Type * GetPropertyType(sal_uInt16 nPropertyId)
sal_uInt16 GetPropertyId(const OUString &rPropertyName)
#define BASEPROPERTY_DEFAULTBUTTON
#define BASEPROPERTY_FONT_SIZE
#define BASEPROPERTY_MULTILINE
#define BASEPROPERTY_SCROLLVALUE_MIN
#define BASEPROPERTY_LITERALMASK
#define BASEPROPERTY_FONTDESCRIPTORPART_STYLENAME
#define BASEPROPERTY_LINEINCREMENT
#define BASEPROPERTY_TEXTLINECOLOR
#define BASEPROPERTY_CURRENCYSYMBOL
#define BASEPROPERTY_SPININCREMENT
#define BASEPROPERTY_VISIBLESIZE
#define BASEPROPERTY_FONTDESCRIPTORPART_ORIENTATION
#define BASEPROPERTY_EDITMASK
#define BASEPROPERTY_SPINVALUE
#define BASEPROPERTY_BORDER
#define BASEPROPERTY_SPIN
#define BASEPROPERTY_HSCROLL
#define BASEPROPERTY_PAINTTRANSPARENT
#define BASEPROPERTY_MOUSE_WHEEL_BEHAVIOUR
#define BASEPROPERTY_FILLCOLOR
#define BASEPROPERTY_STRINGITEMLIST
#define BASEPROPERTY_HIDEINACTIVESELECTION
#define BASEPROPERTY_ENFORCE_FORMAT
#define BASEPROPERTY_SCALEIMAGE
#define BASEPROPERTY_FONTDESCRIPTORPART_CHARWIDTH
#define BASEPROPERTY_FONTDESCRIPTORPART_UNDERLINE
#define BASEPROPERTY_ORIENTATION
#define BASEPROPERTY_ECHOCHAR
#define BASEPROPERTY_CONTEXT_WRITING_MODE
#define BASEPROPERTY_HIGHLIGHT_COLOR
#define BASEPROPERTY_DATESHOWCENTURY
#define BASEPROPERTY_EXTTIMEFORMAT
#define BASEPROPERTY_TIMEMIN
#define BASEPROPERTY_TEXT
#define BASEPROPERTY_BLOCKINCREMENT
#define BASEPROPERTY_READONLY
#define BASEPROPERTY_DATEMAX
#define BASEPROPERTY_TITLE
#define BASEPROPERTY_FONTDESCRIPTORPART_START
#define BASEPROPERTY_SCROLLVALUE_MAX
#define BASEPROPERTY_ALIGN
#define BASEPROPERTY_IMAGEPOSITION
#define BASEPROPERTY_HELPURL
#define BASEPROPERTY_EXTDATEFORMAT
#define BASEPROPERTY_AUTOCOMPLETE
#define BASEPROPERTY_FONT_ATTRIBS
#define BASEPROPERTY_REPEAT
#define BASEPROPERTY_LINECOUNT
#define BASEPROPERTY_TIME
#define BASEPROPERTY_PROGRESSVALUE_MIN
#define BASEPROPERTY_FONTDESCRIPTORPART_SLANT
#define BASEPROPERTY_GROUPNAME
#define BASEPROPERTY_SYMBOL_COLOR
#define BASEPROPERTY_IMAGEURL
#define BASEPROPERTY_DESKTOP_AS_PARENT
#define BASEPROPERTY_VALUEMIN_DOUBLE
#define BASEPROPERTY_BACKGROUNDCOLOR
#define BASEPROPERTY_FONTDESCRIPTORPART_FAMILY
#define BASEPROPERTY_TYPEDITEMLIST
#define BASEPROPERTY_FONTDESCRIPTORPART_PITCH
#define BASEPROPERTY_FONTDESCRIPTORPART_NAME
#define BASEPROPERTY_MULTISELECTION_SIMPLEMODE
#define BASEPROPERTY_MULTISELECTION
#define BASEPROPERTY_PROGRESSVALUE
#define BASEPROPERTY_SPINVALUE_MAX
#define BASEPROPERTY_TABSTOP
#define BASEPROPERTY_FONTRELIEF
#define BASEPROPERTY_ENABLED
#define BASEPROPERTY_STRICTFORMAT
#define BASEPROPERTY_DROPDOWN
#define BASEPROPERTY_FONTDESCRIPTORPART_KERNING
#define BASEPROPERTY_FONTDESCRIPTORPART_STRIKEOUT
#define BASEPROPERTY_CLOSEABLE
#define BASEPROPERTY_DEFAULTCONTROL
#define BASEPROPERTY_VERTICALALIGN
#define BASEPROPERTY_PROGRESSVALUE_MAX
#define BASEPROPERTY_FONTDESCRIPTORPART_WIDTH
#define BASEPROPERTY_TRISTATE
#define BASEPROPERTY_ITEM_SEPARATOR_POS
#define BASEPROPERTY_SCROLLVALUE
#define BASEPROPERTY_WRITING_MODE
#define BASEPROPERTY_HIGHLIGHT_TEXT_COLOR
#define BASEPROPERTY_GRAPHIC
#define BASEPROPERTY_LABEL
#define BASEPROPERTY_DATE
#define BASEPROPERTY_FONTDESCRIPTORPART_WORDLINEMODE
#define BASEPROPERTY_FONTDESCRIPTORPART_END
#define BASEPROPERTY_FONT_TYPE
#define BASEPROPERTY_FONTDESCRIPTORPART_CHARSET
#define BASEPROPERTY_BORDERCOLOR
#define BASEPROPERTY_FONTDESCRIPTOR
#define BASEPROPERTY_NUMSHOWTHOUSANDSEP
#define BASEPROPERTY_MAXTEXTLEN
#define BASEPROPERTY_DATEMIN
#define BASEPROPERTY_FONTDESCRIPTORPART_HEIGHT
#define BASEPROPERTY_DECIMALACCURACY
#define BASEPROPERTY_VSCROLL
#define BASEPROPERTY_ENABLEVISIBLE
#define BASEPROPERTY_NOLABEL
#define BASEPROPERTY_FONTDESCRIPTORPART_TYPE
#define BASEPROPERTY_AUTOHSCROLL
#define BASEPROPERTY_AUTOVSCROLL
#define BASEPROPERTY_HELPTEXT
#define BASEPROPERTY_VALUEMAX_DOUBLE
#define BASEPROPERTY_VALUE_DOUBLE
#define BASEPROPERTY_STATE
#define BASEPROPERTY_SELECTEDITEMS
#define BASEPROPERTY_SIZEABLE
#define BASEPROPERTY_REFERENCE_DEVICE
#define BASEPROPERTY_MOVEABLE
#define BASEPROPERTY_HARDLINEBREAKS
#define BASEPROPERTY_DECORATION
#define BASEPROPERTY_IMAGEALIGN
#define BASEPROPERTY_FONTEMPHASISMARK
#define BASEPROPERTY_TIMEMAX
#define BASEPROPERTY_FONTDESCRIPTORPART_WEIGHT
#define BASEPROPERTY_REPEAT_DELAY
#define BASEPROPERTY_DIALOGSOURCEURL
#define BASEPROPERTY_TEXTCOLOR
#define PROPERTY_ALIGN_LEFT
#define BASEPROPERTY_PUSHBUTTONTYPE
#define BASEPROPERTY_PRINTABLE
#define BASEPROPERTY_VALUESTEP_DOUBLE
#define BASEPROPERTY_SPINVALUE_MIN
IMPLEMENT_FORWARD_XTYPEPROVIDER2(ORoadmapEntry, ORoadmapEntry_Base, ::comphelper::OPropertyContainer)
#define IMPLEMENT_FORWARD_REFCOUNT(classname, refcountbase)
#define UNOCONTROL_STREAMVERSION
static void lcl_ImplMergeFontProperty(FontDescriptor &rFD, sal_uInt16 nPropId, const Any &rValue)