28 #include <com/sun/star/view/XRenderable.hpp>
29 #include <com/sun/star/style/XStyleFamiliesSupplier.hpp>
30 #include <com/sun/star/document/XActionLockable.hpp>
31 #include <com/sun/star/document/XLinkTargetSupplier.hpp>
32 #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
33 #include <com/sun/star/drawing/XDrawPages.hpp>
34 #include <com/sun/star/sheet/XGoalSeek.hpp>
35 #include <com/sun/star/sheet/XCalculatable.hpp>
36 #include <com/sun/star/sheet/XScenarios.hpp>
37 #include <com/sun/star/sheet/XConsolidatable.hpp>
38 #include <com/sun/star/sheet/XSpreadsheetDocument.hpp>
39 #include <com/sun/star/sheet/XSpreadsheets2.hpp>
40 #include <com/sun/star/sheet/XDocumentAuditing.hpp>
41 #include <com/sun/star/chart2/XDataProviderAccess.hpp>
42 #include <com/sun/star/lang/XServiceInfo.hpp>
43 #include <com/sun/star/util/XProtectable.hpp>
44 #include <com/sun/star/container/XEnumerationAccess.hpp>
45 #include <com/sun/star/table/XTableColumns.hpp>
46 #include <com/sun/star/table/XTableRows.hpp>
47 #include <com/sun/star/sheet/XSheetAnnotations.hpp>
48 #include <com/sun/star/beans/XPropertySet.hpp>
49 #include <com/sun/star/sheet/XCellRangesAccess.hpp>
50 #include <com/sun/star/sheet/opencl/XOpenCLSelection.hpp>
51 #include <com/sun/star/util/XChangesNotifier.hpp>
52 #include <com/sun/star/uno/XAggregation.hpp>
77 public css::sheet::XSpreadsheetDocument,
78 public css::document::XActionLockable,
79 public css::sheet::XCalculatable,
80 public css::util::XProtectable,
81 public css::drawing::XDrawPagesSupplier,
82 public css::sheet::XGoalSeek,
83 public css::sheet::XConsolidatable,
84 public css::sheet::XDocumentAuditing,
85 public css::style::XStyleFamiliesSupplier,
86 public css::view::XRenderable,
87 public css::document::XLinkTargetSupplier,
88 public css::beans::XPropertySet,
90 public css::lang::XServiceInfo,
91 public css::util::XChangesNotifier,
92 public css::chart2::XDataProviderAccess,
93 public css::sheet::opencl::XOpenCLSelection
113 bool FillRenderMarkData(
const css::uno::Any& aSelection,
114 const css::uno::Sequence< css::beans::PropertyValue >& rOptions,
116 bool& rbRenderToGraphic )
const;
117 css::uno::Reference<css::uno::XAggregation>
const & GetFormatter();
118 void HandleCalculateEvents();
120 css::uno::Reference<css::uno::XInterface>
create(
121 OUString
const & aServiceSpecifier,
122 css::uno::Sequence<css::uno::Any>
const * arguments);
124 static bool IsOnEvenPage( sal_Int32 nPage ) {
return nPage % 2 == 0; };
144 void UpdateAllRowHeights();
146 void BeforeXMLLoading();
147 void AfterXMLLoading();
151 void RepaintRange(
const ScRange& rRange );
154 bool HasChangesListeners()
const;
156 void NotifyChanges(
const OUString& rOperation,
const ScRangeList& rRanges,
157 const css::uno::Sequence< css::beans::PropertyValue >& rProperties );
159 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType )
override;
160 virtual void SAL_CALL
acquire() throw() override;
161 virtual
void SAL_CALL release() throw() override;
166 virtual
css::
uno::Reference<
css::sheet::XSpreadsheets > SAL_CALL
167 getSheets() override;
170 virtual ::
css::
uno::Reference<
css::chart2::data::XDataProvider > SAL_CALL
171 createDataProvider() override;
174 virtual
css::
uno::Reference<
css::container::XNameAccess > SAL_CALL
175 getStyleFamilies() override;
178 virtual sal_Int32 SAL_CALL getRendererCount( const
css::
uno::Any& aSelection,
179 const
css::
uno::Sequence<
css::beans::PropertyValue >& xOptions ) override;
180 virtual
css::
uno::Sequence<
css::beans::PropertyValue > SAL_CALL
181 getRenderer( sal_Int32 nRenderer, const
css::
uno::Any& aSelection,
182 const
css::
uno::Sequence<
css::beans::PropertyValue >& xOptions ) override;
183 virtual
void SAL_CALL render( sal_Int32 nRenderer, const
css::
uno::Any& aSelection,
184 const
css::
uno::Sequence<
css::beans::PropertyValue >& xOptions ) override;
187 virtual
css::
uno::Reference<
css::container::XNameAccess > SAL_CALL
191 virtual
sal_Bool SAL_CALL isActionLocked() override;
192 virtual
void SAL_CALL addActionLock() override;
193 virtual
void SAL_CALL removeActionLock() override;
194 virtual
void SAL_CALL setActionLocks( sal_Int16 nLock ) override;
195 virtual sal_Int16 SAL_CALL resetActionLocks() override;
197 virtual
void SAL_CALL lockControllers() override;
198 virtual
void SAL_CALL unlockControllers() override;
201 virtual
void SAL_CALL calculate() override;
202 virtual
void SAL_CALL calculateAll() override;
203 virtual
sal_Bool SAL_CALL isAutomaticCalculationEnabled() override;
204 virtual
void SAL_CALL enableAutomaticCalculation(
sal_Bool bEnabled ) override;
207 virtual
void SAL_CALL protect( const OUString& aPassword ) override;
208 virtual
void SAL_CALL unprotect( const OUString& aPassword ) override;
209 virtual
sal_Bool SAL_CALL isProtected() override;
213 getDrawPages() override;
216 virtual
css::sheet::GoalResult SAL_CALL seekGoal(
217 const
css::table::CellAddress& aFormulaPosition,
218 const
css::table::CellAddress& aVariablePosition,
219 const OUString& aGoalValue ) override;
222 virtual
css::
uno::Reference<
css::sheet::XConsolidationDescriptor >
223 SAL_CALL createConsolidationDescriptor(
sal_Bool bEmpty ) override;
224 virtual
void SAL_CALL consolidate( const
css::
uno::Reference<
css::sheet::XConsolidationDescriptor >& xDescriptor ) override;
227 virtual
void SAL_CALL refreshArrows() override;
230 virtual
css::
uno::Reference<
css::container::XIndexAccess > SAL_CALL getViewData( ) override;
233 virtual
css::
uno::Reference<
css::beans::XPropertySetInfo >
234 SAL_CALL getPropertySetInfo() override;
235 virtual
void SAL_CALL setPropertyValue( const OUString& aPropertyName,
236 const
css::
uno::Any& aValue ) override;
237 virtual
css::
uno::Any SAL_CALL getPropertyValue( const OUString& PropertyName ) override;
238 virtual
void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName,
239 const
css::
uno::Reference<
css::beans::XPropertyChangeListener >& xListener ) override;
240 virtual
void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName,
241 const
css::
uno::Reference<
css::beans::XPropertyChangeListener >& aListener ) override;
242 virtual
void SAL_CALL addVetoableChangeListener( const OUString& PropertyName,
243 const
css::
uno::Reference<
css::beans::XVetoableChangeListener >& aListener ) override;
244 virtual
void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName,
245 const
css::
uno::Reference<
css::beans::XVetoableChangeListener >& aListener ) override;
249 createInstance( const OUString& aServiceSpecifier ) override;
251 createInstanceWithArguments( const OUString& ServiceSpecifier,
252 const
css::
uno::Sequence<
css::
uno::Any >& Arguments ) override;
253 virtual
css::
uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override;
256 virtual OUString SAL_CALL getImplementationName() override;
257 virtual
sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
258 virtual
css::
uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
261 virtual sal_Int64 SAL_CALL getSomething( const
css::
uno::Sequence<
sal_Int8 >& aIdentifier ) override;
267 virtual
css::
uno::Sequence<
sal_Int8 > SAL_CALL getImplementationId() override;
270 virtual
void SAL_CALL addChangesListener( const
css::
uno::Reference<
css::util::XChangesListener >& aListener ) override;
271 virtual
void SAL_CALL removeChangesListener( const
css::
uno::Reference<
css::util::XChangesListener >& aListener ) override;
274 virtual
sal_Bool SAL_CALL isOpenCLEnabled() override;
276 virtual
void SAL_CALL enableOpenCL(
sal_Bool bEnable) override;
278 virtual
void SAL_CALL enableAutomaticDeviceSelection(
sal_Bool bForce) override;
280 virtual
void SAL_CALL disableAutomaticDeviceSelection() override;
282 virtual
void SAL_CALL selectOpenCLDevice( sal_Int32 platform, sal_Int32 device ) override;
284 virtual sal_Int32 SAL_CALL getPlatformID() override;
286 virtual sal_Int32 SAL_CALL getDeviceID() override;
288 virtual
css::
uno::Sequence<
css::sheet::opencl::OpenCLPlatform >
289 SAL_CALL getOpenCLPlatforms() override;
291 virtual
void SAL_CALL enableOpcodeSubsetTest() override;
293 virtual
void SAL_CALL disableOpcodeSubsetTest() override;
295 virtual
sal_Bool SAL_CALL isOpcodeSubsetTested() override;
297 virtual
void SAL_CALL setFormulaCellNumberLimit( sal_Int32 number ) override;
299 virtual sal_Int32 SAL_CALL getFormulaCellNumberLimit() override;
311 virtual
Size getDocumentSize() override;
314 virtual
void setPart(
int nPart,
bool bAllowChangeFocus = true) override;
317 virtual
int getPart() override;
320 virtual
int getParts() override;
323 virtual OUString getPartInfo(
int nPart ) override;
326 virtual OUString getPartName(
int nPart) override;
329 virtual OUString getPartHash(
int nPart ) override;
332 virtual
VclPtr<
vcl::Window> getDocWindow() override;
335 virtual
void initializeForTiledRendering(const
css::
uno::Sequence<
css::beans::PropertyValue>& rArguments) override;
338 virtual
void postKeyEvent(
int nType,
int nCharCode,
int nKeyCode) override;
341 virtual
void postMouseEvent(
int nType,
int nX,
int nY,
int nCount,
int nButtons,
int nModifier) override;
344 virtual
void setTextSelection(
int nType,
int nX,
int nY) override;
347 virtual
css::
uno::Reference<
css::datatransfer::XTransferable> getSelection() override;
350 virtual
void setGraphicSelection(
int nType,
int nX,
int nY) override;
353 virtual
void resetSelection() override;
356 virtual
void setClipboard(const
css::
uno::Reference<
css::datatransfer::clipboard::XClipboard>& xClipboard) override;
359 virtual
bool isMimeTypeSupported() override;
362 virtual
void setClientZoom(
int nTilePixelWidth,
int nTilePixelHeight,
int nTileTwipWidth,
int nTileTwipHeight) override;
365 virtual
void setOutlineState(
bool bColumn,
int nLevel,
int nIndex,
bool bHidden) override;
368 virtual
void getRowColumnHeaders(const
tools::Rectangle& rRectangle,
tools::JsonWriter& rJsonWriter) override;
371 virtual OString getSheetGeometryData(
bool bColumns,
bool bRows,
bool bSizes,
bool bHidden,
372 bool bFiltered,
bool bGroups) override;
375 virtual
void getCellCursor(
tools::JsonWriter& rJsonWriter) override;
381 void getTrackedChanges(
tools::JsonWriter&) override;
384 virtual
void setClientVisibleArea(const
tools::Rectangle& rRectangle) override;
387 void getPostIts(
tools::JsonWriter& rJsonWriter) override;
390 void getPostItsPos(
tools::JsonWriter& rJsonWriter) override;
393 virtual
void completeFunction(const OUString& rFunctionName) override;
404 css::uno::Reference< css::drawing::XDrawPage >
405 GetObjectByIndex_Impl(sal_Int32 nIndex)
const;
414 virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL
415 insertNewByIndex( sal_Int32 nIndex )
override;
416 virtual void SAL_CALL
remove(
const css::uno::Reference< css::drawing::XDrawPage >& xPage )
override;
419 virtual sal_Int32 SAL_CALL getCount()
override;
420 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
423 virtual css::uno::Type SAL_CALL getElementType()
override;
424 virtual sal_Bool SAL_CALL hasElements()
override;
433 css::sheet::XSpreadsheets2,
434 css::sheet::XCellRangesAccess,
435 css::container::XEnumerationAccess,
436 css::container::XIndexAccess,
437 css::lang::XServiceInfo>,
453 virtual void SAL_CALL insertNewByName(
const OUString& aName, sal_Int16 nPosition )
override;
454 virtual void SAL_CALL moveByName(
const OUString& aName, sal_Int16 nDestination )
override;
455 virtual void SAL_CALL copyByName(
const OUString& aName,
456 const OUString& aCopy, sal_Int16 nDestination )
override;
459 virtual sal_Int32 SAL_CALL importSheet(
460 const css::uno::Reference< css::sheet::XSpreadsheetDocument > & xDocSrc,
461 const OUString& srcName,
462 sal_Int32 nDestPosition)
override;
466 virtual css::uno::Reference< css::table::XCell >
467 SAL_CALL getCellByPosition( sal_Int32 nColumn, sal_Int32 nRow, sal_Int32 nSheet )
override;
469 virtual css::uno::Reference< css::table::XCellRange >
470 SAL_CALL getCellRangeByPosition( sal_Int32 nLeft, sal_Int32 nTop, sal_Int32 nRight, sal_Int32 nBottom, sal_Int32 nSheet )
override;
472 virtual css::uno::Sequence < css::uno::Reference< css::table::XCellRange > >
473 SAL_CALL getCellRangesByName(
const OUString& aRange )
override;
476 virtual void SAL_CALL insertByName(
const OUString& aName,
477 const css::uno::Any& aElement )
override;
478 virtual void SAL_CALL removeByName(
const OUString& Name )
override;
481 virtual void SAL_CALL replaceByName(
const OUString& aName,
482 const css::uno::Any& aElement )
override;
485 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
486 createEnumeration()
override;
489 virtual css::uno::Type SAL_CALL getElementType()
override;
490 virtual sal_Bool SAL_CALL hasElements()
override;
493 virtual sal_Int32 SAL_CALL getCount()
override;
494 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
497 virtual css::uno::Any SAL_CALL getByName(
const OUString& aName )
override;
498 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames()
override;
499 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
508 css::table::XTableColumns,
509 css::container::XEnumerationAccess,
510 css::container::XNameAccess,
511 css::beans::XPropertySet,
512 css::lang::XServiceInfo>,
532 virtual void SAL_CALL insertByIndex( sal_Int32 nIndex, sal_Int32 nCount )
override;
533 virtual void SAL_CALL removeByIndex( sal_Int32 nIndex, sal_Int32 nCount )
override;
536 virtual css::uno::Any SAL_CALL getByName(
const OUString& aName )
override;
537 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames()
override;
538 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
541 virtual sal_Int32 SAL_CALL getCount()
override;
542 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
545 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
546 createEnumeration()
override;
549 virtual css::uno::Type SAL_CALL getElementType()
override;
550 virtual sal_Bool SAL_CALL hasElements()
override;
553 virtual css::uno::Reference< css::beans::XPropertySetInfo >
554 SAL_CALL getPropertySetInfo()
override;
556 const css::uno::Any& aValue )
override;
558 const OUString& PropertyName )
override;
559 virtual void SAL_CALL addPropertyChangeListener(
const OUString& aPropertyName,
560 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
561 virtual void SAL_CALL removePropertyChangeListener(
const OUString& aPropertyName,
562 const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
563 virtual void SAL_CALL addVetoableChangeListener(
const OUString& PropertyName,
564 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
565 virtual void SAL_CALL removeVetoableChangeListener(
const OUString& PropertyName,
566 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
575 css::table::XTableRows,
576 css::container::XEnumerationAccess,
577 css::beans::XPropertySet,
578 css::lang::XServiceInfo>,
597 virtual void SAL_CALL insertByIndex( sal_Int32 nIndex, sal_Int32 nCount )
override;
598 virtual void SAL_CALL removeByIndex( sal_Int32 nIndex, sal_Int32 nCount )
override;
601 virtual sal_Int32 SAL_CALL getCount()
override;
602 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
605 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
606 createEnumeration()
override;
609 virtual css::uno::Type SAL_CALL getElementType()
override;
610 virtual sal_Bool SAL_CALL hasElements()
override;
613 virtual css::uno::Reference< css::beans::XPropertySetInfo >
614 SAL_CALL getPropertySetInfo()
override;
616 const css::uno::Any& aValue )
override;
617 virtual css::uno::Any SAL_CALL
getPropertyValue(
const OUString& PropertyName )
override;
618 virtual void SAL_CALL addPropertyChangeListener(
const OUString& aPropertyName,
619 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
620 virtual void SAL_CALL removePropertyChangeListener(
const OUString& aPropertyName,
621 const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
622 virtual void SAL_CALL addVetoableChangeListener(
const OUString& PropertyName,
623 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
624 virtual void SAL_CALL removeVetoableChangeListener(
const OUString& PropertyName,
625 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
634 css::beans::XPropertySet,
635 css::lang::XServiceInfo>,
642 virtual css::uno::Reference< css::beans::XPropertySetInfo >
643 SAL_CALL getPropertySetInfo()
override;
645 const css::uno::Any& aValue )
override;
646 virtual css::uno::Any SAL_CALL
getPropertyValue(
const OUString& PropertyName )
override;
647 virtual void SAL_CALL addPropertyChangeListener(
const OUString& aPropertyName,
648 const css::uno::Reference< css::beans::XPropertyChangeListener >& xListener )
override;
649 virtual void SAL_CALL removePropertyChangeListener(
const OUString& aPropertyName,
650 const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener )
override;
651 virtual void SAL_CALL addVetoableChangeListener(
const OUString& PropertyName,
652 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
653 virtual void SAL_CALL removeVetoableChangeListener(
const OUString& PropertyName,
654 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener )
override;
663 css::sheet::XSheetAnnotations,
664 css::container::XEnumerationAccess,
665 css::lang::XServiceInfo>,
672 bool GetAddressByIndex_Impl( sal_Int32 nIndex,
ScAddress& rPos )
const;
684 virtual void SAL_CALL insertNew(
const css::table::CellAddress& aPosition,
685 const OUString& aText )
override;
686 virtual void SAL_CALL removeByIndex( sal_Int32 nIndex )
override;
689 virtual sal_Int32 SAL_CALL getCount()
override;
690 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
693 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
694 createEnumeration()
override;
697 virtual css::uno::Type SAL_CALL getElementType()
override;
698 virtual sal_Bool SAL_CALL hasElements()
override;
707 css::sheet::XScenarios,
708 css::container::XEnumerationAccess,
709 css::container::XIndexAccess,
710 css::lang::XServiceInfo>,
717 bool GetScenarioIndex_Impl( std::u16string_view rName,
SCTAB& rIndex );
728 virtual void SAL_CALL addNewByName(
const OUString& aName,
729 const css::uno::Sequence< css::table::CellRangeAddress >& aRanges,
730 const OUString& aComment )
override;
731 virtual void SAL_CALL removeByName(
const OUString& aName )
override;
734 virtual css::uno::Any SAL_CALL getByName(
const OUString& aName )
override;
735 virtual css::uno::Sequence< OUString > SAL_CALL getElementNames()
override;
736 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
739 virtual sal_Int32 SAL_CALL getCount()
override;
740 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
743 virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL
744 createEnumeration()
override;
747 virtual css::uno::Type SAL_CALL getElementType()
override;
748 virtual sal_Bool SAL_CALL hasElements()
override;
Stores the selection in the ScPrintFuncCache so it is only used for the same selection again...
SCTAB nTab
Collection belongs to the sheet.
virtual void SAL_CALL acquire() override
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
css::uno::Reference< css::uno::XInterface > xObjProvider
css::uno::Reference< css::uno::XInterface > xDrawBitmapTab
virtual SdrModel & getSdrModelFromUnoModel() const =0
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
css::uno::Reference< css::uno::XInterface > xDrawHatchTab
void Notify(SfxBroadcaster &aBC, const SfxHint &aHint) override
css::uno::Reference< css::uno::XInterface > xDrawMarkerTab
Stores the data for printing that is needed from several sheets, so it doesn't have to be calculated ...
bool getPropertyValue(ValueType &rValue, css::uno::Reference< css::beans::XPropertySet > const &xPropSet, OUString const &propName)
css::uno::Reference< css::uno::XInterface > xDrawGradTab
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
Reference< deployment::XPackageRegistry > create(Reference< deployment::XPackageRegistry > const &xRootRegistry, OUString const &context, OUString const &cachePath, Reference< XComponentContext > const &xComponentContext)
css::uno::Reference< css::uno::XInterface > xDrawTrGradTab
void Notify(ScModelObj &rModelObj, const ScRangeList &rChangeRanges, const OUString &rType=OUString("cell-change"), const css::uno::Sequence< css::beans::PropertyValue > &rProperties=css::uno::Sequence< css::beans::PropertyValue >())
ScDocShell * GetDocShell() const
css::uno::Reference< css::uno::XAggregation > xNumberAgg
css::uno::Reference< css::uno::XInterface > xChartDataProv
std::unique_ptr< ScPrintFuncCache > pPrintFuncCache
bool setPropertyValue(uno::Sequence< beans::PropertyValue > &aProp, const OUString &aName, const uno::Any &aValue)
std::unique_ptr< ScPrintUIOptions > pPrinterOptions
std::vector< sal_Int32 > maValidPages
const SfxItemPropertySet & GetPropertySet() const
css::uno::Reference< css::uno::XInterface > xDrawDashTab
::comphelper::OInterfaceContainerHelper2 maChangesListeners
std::unique_ptr< ScPrintState > m_pPrintState
SfxItemPropertySet aPropSet