23 #include <string_view>
25 #include <officecfg/Office/Common.hxx>
37 #include <strings.hrc>
38 #include <core_resource.hxx>
39 #include <strings.hxx>
41 #include <com/sun/star/beans/PropertyAttribute.hpp>
42 #include <com/sun/star/beans/XMultiPropertyStates.hpp>
43 #include <com/sun/star/chart2/data/DatabaseDataProvider.hpp>
44 #include <com/sun/star/datatransfer/UnsupportedFlavorException.hpp>
45 #include <com/sun/star/document/DocumentProperties.hpp>
46 #include <com/sun/star/document/IndexedPropertyValues.hpp>
47 #include <com/sun/star/document/EventObject.hpp>
48 #include <com/sun/star/document/XEventListener.hpp>
49 #include <com/sun/star/document/XExporter.hpp>
50 #include <com/sun/star/document/XFilter.hpp>
51 #include <com/sun/star/document/XImporter.hpp>
52 #include <com/sun/star/embed/Aspects.hpp>
53 #include <com/sun/star/embed/ElementModes.hpp>
54 #include <com/sun/star/embed/EmbedMapUnits.hpp>
55 #include <com/sun/star/embed/XTransactedObject.hpp>
56 #include <com/sun/star/embed/StorageFactory.hpp>
57 #include <com/sun/star/frame/Desktop.hpp>
58 #include <com/sun/star/io/IOException.hpp>
59 #include <com/sun/star/io/XSeekable.hpp>
60 #include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
61 #include <com/sun/star/lang/XSingleServiceFactory.hpp>
62 #include <com/sun/star/report/GroupKeepTogether.hpp>
63 #include <com/sun/star/report/ReportPrintOption.hpp>
64 #include <com/sun/star/sdb/CommandType.hpp>
65 #include <com/sun/star/style/GraphicLocation.hpp>
66 #include <com/sun/star/style/NumberingType.hpp>
67 #include <com/sun/star/style/PageStyleLayout.hpp>
68 #include <com/sun/star/style/XStyle.hpp>
69 #include <com/sun/star/table/BorderLine2.hpp>
70 #include <com/sun/star/table/ShadowFormat.hpp>
71 #include <com/sun/star/task/InteractionHandler.hpp>
72 #include <com/sun/star/task/XStatusIndicator.hpp>
73 #include <com/sun/star/ui/UIConfigurationManager.hpp>
74 #include <com/sun/star/util/CloseVetoException.hpp>
75 #include <com/sun/star/util/NumberFormatsSupplier.hpp>
76 #include <com/sun/star/xml/AttributeData.hpp>
77 #include <com/sun/star/xml/sax/Writer.hpp>
180 using namespace rptui;
182 static void lcl_setModelReadOnly(
const uno::Reference< embed::XStorage >& _xStorage,std::shared_ptr<rptui::OReportModel>
const & _rModel)
184 uno::Reference<beans::XPropertySet> xProp(_xStorage,uno::UNO_QUERY);
185 sal_Int32 nOpenMode = embed::ElementModes::READ;
187 xProp->getPropertyValue(
"OpenMode") >>= nOpenMode;
189 _rModel->SetReadOnly((nOpenMode & embed::ElementModes::WRITE) != embed::ElementModes::WRITE);
193 _rDescriptor.erase(
"StatusIndicator" );
194 _rDescriptor.erase(
"InteractionHandler" );
195 _rDescriptor.erase(
"Model" );
196 _rDescriptor >> _rArgs;
200 uno::Sequence< uno::Any >& _rCallArgs )
205 if ( _rxStatusIndicator.is() )
207 _rxStatusIndicator->start( OUString(), sal_Int32(1000000) );
209 sal_Int32
nLength = _rCallArgs.getLength();
210 _rCallArgs.realloc( nLength + 1 );
211 _rCallArgs.getArray()[ nLength ] <<= _rxStatusIndicator;
214 catch (
const uno::Exception&)
228 typedef ::comphelper::OPropertyArrayUsageHelper < OStyle
230 typedef ::cppu::WeakImplHelper< style::XStyle, beans::XMultiPropertyStates>
TStyleBASE;
242 void getPropertyDefaultByHandle( sal_Int32 _nHandle,
uno::Any& _rDefault )
const override;
243 virtual ~OStyle()
override {}
251 css::
uno::Reference<css::
beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() override;
252 ::
cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() override;
253 ::
cppu::IPropertyArrayHelper* createArrayHelper( ) const override;
256 sal_Bool SAL_CALL isUserDefined( ) override;
257 sal_Bool SAL_CALL isInUse( ) override;
258 OUString SAL_CALL getParentStyle( ) override;
259 void SAL_CALL setParentStyle( const OUString& aParentStyle ) override;
262 OUString SAL_CALL getName( ) override;
263 void SAL_CALL setName( const OUString& aName ) override;
266 uno::Sequence<
beans::PropertyState > SAL_CALL getPropertyStates( const
uno::Sequence< OUString >& aPropertyNames )
override
270 void SAL_CALL setAllPropertiesToDefault( )
override;
271 void SAL_CALL setPropertiesToDefault(
const uno::Sequence< OUString >& aPropertyNames )
override;
272 uno::Sequence< uno::Any > SAL_CALL getPropertyDefaults(
const uno::Sequence< OUString >& aPropertyNames )
override;
278 :OStyle_PBASE(m_aBHelper)
282 m_aSize.Height = aDefaultSize.Height();
283 m_aSize.Width = aDefaultSize.Width();
285 const sal_Int32 nMargin = 2000;
286 const sal_Int32 nBound = beans::PropertyAttribute::BOUND;
287 const sal_Int32 nMayBeVoid = beans::PropertyAttribute::MAYBEVOID;
372 registerPropertyNoMember(
"PrinterSetup", ++i,nBound,
cppu::UnoType<uno::Sequence<sal_Int8>>::
get(), css::uno::Any(uno::Sequence<sal_Int8>()));
379 uno::Reference<
beans::XPropertySetInfo> SAL_CALL OStyle::getPropertySetInfo()
381 return createPropertySetInfo( getInfoHelper() );
384 void OStyle::getPropertyDefaultByHandle( sal_Int32 ,
uno::Any& )
const
390 return *getArrayHelper();
395 uno::Sequence< beans::Property > aProps;
396 describeProperties(aProps);
397 return new ::cppu::OPropertyArrayHelper(aProps);
401 sal_Bool SAL_CALL OStyle::isUserDefined( )
406 sal_Bool SAL_CALL OStyle::isInUse( )
411 OUString SAL_CALL OStyle::getParentStyle( )
416 void SAL_CALL OStyle::setParentStyle(
const OUString& )
421 OUString SAL_CALL OStyle::getName( )
428 void SAL_CALL OStyle::setName(
const OUString& aName )
433 void SAL_CALL OStyle::setAllPropertiesToDefault( )
437 void SAL_CALL OStyle::setPropertiesToDefault(
const uno::Sequence< OUString >& aPropertyNames )
439 for(
const OUString& rName : aPropertyNames)
440 setPropertyToDefault(rName);
443 uno::Sequence< uno::Any > SAL_CALL OStyle::getPropertyDefaults(
const uno::Sequence< OUString >& aPropertyNames )
445 uno::Sequence< uno::Any > aRet(aPropertyNames.getLength());
446 std::transform(aPropertyNames.begin(), aPropertyNames.end(), aRet.getArray(),
447 [
this](
const OUString& rName) ->
uno::Any {
return getPropertyDefault(rName); });
460 uno::Sequence< beans::PropertyValue >
m_aArgs;
487 std::shared_ptr< ::comphelper::EmbeddedObjectContainer>
509 :m_aStorageChangeListeners(_aMutex)
510 ,m_aCloseListener(_aMutex)
511 ,m_aModifyListeners(_aMutex)
512 ,m_aLegacyEventListeners(_aMutex)
513 ,m_aDocEventListeners(_aMutex)
517 ,m_aVisualAreaSize( 8000, 7000 )
518 ,m_nAspect(
embed::Aspects::MSOLE_CONTENT)
519 ,m_nGroupKeepTogether(0)
520 ,m_nPageHeaderOption(0)
521 ,m_nPageFooterOption(0)
523 ,m_bControllersLocked(
false)
525 ,m_bEscapeProcessing(true)
526 ,m_bSetModifiedEnabled( true )
530 OReportDefinition::OReportDefinition(uno::Reference< uno::XComponentContext >
const & _xContext)
531 : ::
cppu::BaseMutex(),
539 osl_atomic_increment(&m_refCount);
546 osl_atomic_decrement( &m_refCount );
550 uno::Reference< uno::XComponentContext >
const & _xContext,
551 const uno::Reference< lang::XMultiServiceFactory>& _xFactory,
552 uno::Reference< drawing::XShape >& _xShape)
553 : ::
cppu::BaseMutex(),
562 osl_atomic_increment(&m_refCount);
564 m_aProps->setShape(_xShape,
this,m_refCount);
570 osl_atomic_decrement( &m_refCount );
575 if ( !ReportDefinitionBase::rBHelper.bInDispose && !ReportDefinitionBase::rBHelper.bDisposed )
587 m_pImpl->m_pReportModel = std::make_shared<OReportModel>(
this);
588 m_pImpl->m_pReportModel->GetItemPool().FreezeIdRanges();
589 m_pImpl->m_pReportModel->SetScaleUnit( MapUnit::Map100thMM );
596 m_pImpl->m_pReportModel->SetSdrUndoManager( &
m_pImpl->m_pUndoManager->GetSfxUndoManager() );
599 if ( !
m_pImpl->m_xStorage.is() )
602 uno::Reference<beans::XPropertySet> xStorProps(
m_pImpl->m_xStorage,uno::UNO_QUERY);
603 if ( xStorProps.is())
606 xStorProps->getPropertyValue(
"MediaType") >>= sMediaType;
607 if ( sMediaType.isEmpty() )
612 catch (
const uno::Exception&)
621 cppu::WeakComponentImplHelperBase::dispose();
628 uno::Reference< frame::XModel > xHoldAlive(
this );
630 lang::EventObject aDisposeEvent( static_cast< ::cppu::OWeakObject* >(
this ) );
631 m_pImpl->m_aModifyListeners.disposeAndClear( aDisposeEvent );
632 m_pImpl->m_aCloseListener.disposeAndClear( aDisposeEvent );
633 m_pImpl->m_aLegacyEventListeners.disposeAndClear( aDisposeEvent );
634 m_pImpl->m_aDocEventListeners.disposeAndClear( aDisposeEvent );
635 m_pImpl->m_aStorageChangeListeners.disposeAndClear( aDisposeEvent );
642 m_pImpl->m_aControllers.clear();
644 ::comphelper::disposeComponent(
m_pImpl->m_xGroups);
645 m_pImpl->m_xReportHeader.clear();
646 m_pImpl->m_xReportFooter.clear();
647 m_pImpl->m_xPageHeader.clear();
648 m_pImpl->m_xPageFooter.clear();
650 ::comphelper::disposeComponent(
m_pImpl->m_xFunctions);
659 m_pImpl->m_xCurrentController.clear();
660 m_pImpl->m_xNumberFormatsSupplier.clear();
662 m_pImpl->m_xXMLNamespaceMap.clear();
663 m_pImpl->m_xGradientTable.clear();
664 m_pImpl->m_xHatchTable.clear();
665 m_pImpl->m_xBitmapTable.clear();
666 m_pImpl->m_xTransparencyGradientTable.clear();
668 m_pImpl->m_xMarkerTable.clear();
669 m_pImpl->m_xUIConfigurationManager.clear();
670 m_pImpl->m_pReportModel.reset();
671 m_pImpl->m_pObjectContainer.reset();
673 m_pImpl->m_xTitleHelper.clear();
674 m_pImpl->m_xNumberedControllers.clear();
682 return "com.sun.star.comp.report.OReportDefinition";
700 uno::Sequence< OUString > aSupported;
701 if (
m_aProps->m_xServiceInfo.is() )
702 aSupported =
m_aProps->m_xServiceInfo->getSupportedServiceNames();
707 sal_Int32 nLen = aSupported.getLength();
708 aSupported.realloc( nLen + 1 );
723 uno::Any aReturn = ReportDefinitionBase::queryInterface(_rType);
727 return aReturn.
hasValue() ? aReturn : (
m_aProps->m_xProxy.is() ?
m_aProps->m_xProxy->queryAggregation(_rType) : aReturn);
729 uno::Sequence< uno::Type > SAL_CALL OReportDefinition::getTypes( )
731 if (
m_aProps->m_xTypeProvider.is() )
732 return ::comphelper::concatSequences(
733 ReportDefinitionBase::getTypes(),
734 m_aProps->m_xTypeProvider->getTypes()
736 return ReportDefinitionBase::getTypes();
759 return m_pImpl->m_nGroupKeepTogether;
764 if ( _groupkeeptogether < report::GroupKeepTogether::PER_PAGE || _groupkeeptogether > report::GroupKeepTogether::PER_COLUMN )
774 return m_pImpl->m_nPageHeaderOption;
779 if ( _pageheaderoption < report::ReportPrintOption::ALL_PAGES || _pageheaderoption > report::ReportPrintOption::NOT_WITH_REPORT_HEADER_FOOTER )
789 return m_pImpl->m_nPageFooterOption;
794 if ( _pagefooteroption < report::ReportPrintOption::ALL_PAGES || _pagefooteroption > report::ReportPrintOption::NOT_WITH_REPORT_HEADER_FOOTER )
815 return m_pImpl->m_nCommandType;
820 if ( _commandtype < sdb::CommandType::TABLE || _commandtype > sdb::CommandType::COMMAND )
841 return m_pImpl->m_bEscapeProcessing;
852 return m_pImpl->m_xReportHeader.is();
857 if (
bool(_reportheaderon) !=
m_pImpl->m_xReportHeader.is() )
866 return m_pImpl->m_xReportFooter.is();
871 if (
bool(_reportfooteron) !=
m_pImpl->m_xReportFooter.is() )
880 return m_pImpl->m_xPageHeader.is();
885 if (
bool(_pageheaderon) !=
m_pImpl->m_xPageHeader.is() )
894 return m_pImpl->m_xPageFooter.is();
899 if (
bool(_pagefooteron) !=
m_pImpl->m_xPageFooter.is() )
914 if ( !
m_pImpl->m_xReportHeader.is() )
915 throw container::NoSuchElementException();
916 return m_pImpl->m_xReportHeader;
922 if ( !
m_pImpl->m_xPageHeader.is() )
923 throw container::NoSuchElementException();
936 if ( !
m_pImpl->m_xPageFooter.is() )
937 throw container::NoSuchElementException();
944 if ( !
m_pImpl->m_xReportFooter.is() )
945 throw container::NoSuchElementException();
946 return m_pImpl->m_xReportFooter;
951 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
999 uno::Reference< container::XChild > xChild;
1002 return xChild->getParent();
1008 ::osl::MutexGuard aGuard(
m_aMutex);
1009 m_aProps->m_xParent = uno::Reference< container::XChild >(Parent,uno::UNO_QUERY);
1011 uno::Reference< container::XChild > xChild;
1014 xChild->setParent(Parent);
1020 OSL_FAIL(
"Not yet implemented correctly");
1021 uno::Reference< report::XReportComponent> xSource =
this;
1028 ,
const OUString& _sName
1029 ,uno::Reference< report::XSection>& _member)
1033 ::osl::MutexGuard aGuard(
m_aMutex);
1037 if ( _bOn && !_member.is() )
1040 ::comphelper::disposeComponent(_member);
1043 _member->setName(_sName);
1051 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1052 if ( _xListener.is() )
1053 m_pImpl->m_aCloseListener.addInterface(_xListener);
1058 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1059 m_pImpl->m_aCloseListener.removeInterface(_xListener);
1067 ::osl::ResettableMutexGuard aGuard(
m_aMutex);
1068 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1070 lang::EventObject aEvt( static_cast< ::cppu::OWeakObject* >(
this ) );
1072 m_pImpl->m_aCloseListener.forEach(
1073 [&aEvt, &bDeliverOwnership] (uno::Reference<util::XCloseListener>
const& xListener) {
1074 return xListener->queryClosing(aEvt, bDeliverOwnership);
1079 ::std::vector< uno::Reference< frame::XController> > aCopy =
m_pImpl->m_aControllers;
1080 for (
auto& rxController : aCopy)
1082 if ( rxController.is() )
1086 uno::Reference< util::XCloseable>
xFrame( rxController->getFrame(), uno::UNO_QUERY );
1088 xFrame->close( bDeliverOwnership );
1090 catch (
const util::CloseVetoException&) {
throw; }
1091 catch (
const uno::Exception&)
1099 m_pImpl->m_aCloseListener.notifyEach(&util::XCloseListener::notifyClosing,aEvt);
1111 ::osl::MutexGuard aGuard(
m_aMutex);
1112 ::connectivity::checkDisposed( ReportDefinitionBase::rBHelper.bDisposed );
1115 m_pImpl->m_pUndoManager->GetSfxUndoManager().EnableUndo(
false );
1119 m_pImpl->m_pReportModel->SetModified(
false);
1123 m_pImpl->m_pUndoManager->GetSfxUndoManager().EnableUndo(
true );
1126 m_pImpl->m_pUndoManager->GetSfxUndoManager().EnableUndo(
true );
1132 uno::Sequence<beans::PropertyValue> aComponentData;
1133 aComponentData = _aDescriptor.getUnpackedValueOrDefault(
"ComponentData",aComponentData);
1134 if ( aComponentData.hasElements() && (!
m_pImpl->m_xActiveConnection.is() || !
m_pImpl->m_xNumberFormatsSupplier.is()) )
1140 if ( !
m_pImpl->m_xNumberFormatsSupplier.is() )
1142 m_pImpl->m_xNumberFormatsSupplier.set( util::NumberFormatsSupplier::createWithDefaultLocale(
m_aProps->m_xContext ) );
1146 sCaption = _aDescriptor.getUnpackedValueOrDefault(
"DocumentTitle",sCaption);
1157 ::osl::MutexGuard aGuard(
m_aMutex);
1158 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1164 ::osl::MutexGuard aGuard(
m_aMutex);
1165 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1166 m_pImpl->m_aControllers.push_back(_xController);
1167 if ( _xController.is() &&
m_pImpl->m_xViewData.is() )
1171 _xController->restoreViewData(
m_pImpl->m_xViewData->getByIndex(nCount - 1));
1177 ::osl::MutexGuard aGuard(
m_aMutex);
1178 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1179 ::std::vector< uno::Reference< frame::XController> >::iterator aFind = ::std::find(
m_pImpl->m_aControllers.begin(),
m_pImpl->m_aControllers.end(),_xController);
1180 if ( aFind !=
m_pImpl->m_aControllers.end() )
1181 m_pImpl->m_aControllers.erase(aFind);
1182 if (
m_pImpl->m_xCurrentController == _xController )
1183 m_pImpl->m_xCurrentController.clear();
1188 ::osl::MutexGuard aGuard(
m_aMutex);
1189 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1190 m_pImpl->m_bControllersLocked =
true;
1195 ::osl::MutexGuard aGuard(
m_aMutex);
1196 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1197 m_pImpl->m_bControllersLocked =
false;
1202 ::osl::MutexGuard aGuard(
m_aMutex);
1203 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1204 return m_pImpl->m_bControllersLocked;
1209 ::osl::MutexGuard aGuard(
m_aMutex);
1210 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1211 return m_pImpl->m_xCurrentController;
1216 ::osl::MutexGuard aGuard(
m_aMutex);
1217 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1218 if ( ::std::find(
m_pImpl->m_aControllers.begin(),
m_pImpl->m_aControllers.end(),_xController) ==
m_pImpl->m_aControllers.end() )
1219 throw container::NoSuchElementException();
1220 m_pImpl->m_xCurrentController = _xController;
1225 return uno::Reference< uno::XInterface >();
1229 const uno::Sequence< beans::PropertyValue >& _aMediaDescriptor )
1231 m_pImpl->m_xStorage = _xStorageToLoadFrom;
1235 aDescriptor.createItemIfMissing(
"Storage",
uno::Any(_xStorageToLoadFrom));
1237 uno::Sequence< uno::Any > aDelegatorArguments(_aMediaDescriptor.getLength());
1238 uno::Any* pIter = aDelegatorArguments.getArray();
1239 uno::Any* pEnd = pIter + aDelegatorArguments.getLength();
1240 for(sal_Int32 i = 0;pIter != pEnd;++pIter,++i)
1242 *pIter <<= _aMediaDescriptor[i];
1244 sal_Int32
nPos = aDelegatorArguments.getLength();
1245 aDelegatorArguments.realloc(nPos+1);
1246 beans::PropertyValue aPropVal;
1247 aPropVal.Name =
"Storage";
1248 aPropVal.Value <<= _xStorageToLoadFrom;
1249 aDelegatorArguments.getArray()[nPos] <<= aPropVal;
1254 uno::Reference< document::XFilter > xFilter(
1255 m_aProps->m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
"com.sun.star.comp.report.OReportFilter",aDelegatorArguments,
m_aProps->m_xContext),
1256 uno::UNO_QUERY_THROW );
1258 uno::Reference< document::XImporter> xImporter(xFilter,uno::UNO_QUERY_THROW);
1259 uno::Reference<XComponent> xComponent(static_cast<OWeakObject*>(
this),uno::UNO_QUERY);
1260 xImporter->setTargetDocument(xComponent);
1263 aTemp << aDelegatorArguments;
1264 xFilter->filter(aTemp.getAsConstPropertyValueList());
1267 m_pImpl->m_pObjectContainer->SwitchPersistence(
m_pImpl->m_xStorage);
1273 ,
const uno::Sequence< beans::PropertyValue >& _aMediaDescriptor )
1275 ::osl::MutexGuard aGuard(
m_aMutex);
1276 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1283 if ( !_xStorageToSaveTo.is() )
1284 throw lang::IllegalArgumentException(
RptResId(RID_STR_ARGUMENT_IS_NULL),*
this,1);
1287 ::osl::MutexGuard aGuard(
m_aMutex);
1288 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1290 uno::Reference<task::XStatusIndicator> xStatusIndicator;
1291 uno::Sequence< uno::Any > aDelegatorArguments;
1294 bool AutoSaveEvent =
false;
1298 uno::Sequence < beans::PropertyValue > aProps;
1301 uno::Reference< beans::XPropertySet> xProp(_xStorageToSaveTo,uno::UNO_QUERY);
1304 static constexpr OUStringLiteral sPropName =
u"MediaType";
1305 OUString sOldMediaType;
1306 xProp->getPropertyValue(sPropName) >>= sOldMediaType;
1318 { OUString(), 0, css::uno::Type(), 0, 0 }
1322 xInfoSet->setPropertyValue(
"UsePrettyPrinting",
uno::Any(officecfg::Office::Common::Save::Document::PrettyPrinting::get()));
1323 if ( officecfg::Office::Common::Save::URL::FileSystem::get() )
1326 xInfoSet->setPropertyValue(
"BaseURI",
uno::Any(sVal));
1328 const OUString
sHierarchicalDocumentName( aDescriptor.getUnpackedValueOrDefault(
"HierarchicalDocumentName",OUString()) );
1332 sal_Int32 nArgsLen = aDelegatorArguments.getLength();
1333 aDelegatorArguments.realloc(nArgsLen+3);
1334 auto pDelegatorArguments = aDelegatorArguments.getArray();
1335 pDelegatorArguments[nArgsLen++] <<= xInfoSet;
1337 uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver;
1338 uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler;
1340 xGraphicStorageHandler = xGraphicHelper.get();
1341 xGraphicHelper.clear();
1344 pDelegatorArguments[nArgsLen++] <<= xGraphicStorageHandler;
1345 pDelegatorArguments[nArgsLen++] <<= xObjectResolver;
1347 uno::Reference<XComponent> xCom(static_cast<OWeakObject*>(
this),uno::UNO_QUERY);
1350 xInfoSet->setPropertyValue(
"StreamName",
uno::Any(OUString(
"settings.xml")));
1352 aDelegatorArguments, aProps, _xStorageToSaveTo);
1354 xInfoSet->setPropertyValue(
"StreamName",
uno::Any(OUString(
"meta.xml")));
1356 aDelegatorArguments, aProps, _xStorageToSaveTo);
1358 xInfoSet->setPropertyValue(
"StreamName",
uno::Any(OUString(
"styles.xml")));
1360 aDelegatorArguments, aProps, _xStorageToSaveTo);
1362 xInfoSet->setPropertyValue(
"StreamName",
uno::Any(OUString(
"content.xml")));
1364 aDelegatorArguments, aProps, _xStorageToSaveTo);
1367 uno::Reference< embed::XVisualObject > xCurrentController(
getCurrentController(),uno::UNO_QUERY);
1368 if ( xCurrentController.is() )
1370 xCurrentController->setVisualAreaSize(
m_pImpl->m_nAspect,
m_pImpl->m_aVisualAreaSize);
1371 aImage = xCurrentController->getPreferredVisualRepresentation(
m_pImpl->m_nAspect ).Data;
1375 uno::Sequence<sal_Int8>
aSeq;
1377 uno::Reference<io::XInputStream>
xStream = new ::comphelper::SequenceInputStream( aSeq );
1378 m_pImpl->m_pObjectContainer->InsertGraphicStreamDirectly(xStream,
"report",
"image/png");
1383 bool bPersist =
false;
1384 if ( _xStorageToSaveTo ==
m_pImpl->m_xStorage )
1385 bPersist =
m_pImpl->m_pObjectContainer->StoreChildren(
true,
false);
1387 bPersist =
m_pImpl->m_pObjectContainer->StoreAsChildren(
true,
true,AutoSaveEvent,_xStorageToSaveTo);
1390 m_pImpl->m_pObjectContainer->SetPersistentEntries(
m_pImpl->m_xStorage);
1393 uno::Reference<embed::XTransactedObject> xTransact(_xStorageToSaveTo,uno::UNO_QUERY);
1394 if ( xTransact.is() )
1395 xTransact->commit();
1397 catch (
const uno::Exception&)
1400 throw io::IOException();
1403 if ( _xStorageToSaveTo ==
m_pImpl->m_xStorage )
1406 if ( xStatusIndicator.is() )
1407 xStatusIndicator->end();
1411 const uno::Reference< embed::XStorage >& xStorage)
1414 throw lang::IllegalArgumentException(
RptResId(RID_STR_ARGUMENT_IS_NULL),*
this,1);
1416 ::osl::MutexGuard aGuard(
m_aMutex);
1417 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1418 m_pImpl->m_xStorage = xStorage;
1420 m_pImpl->m_pObjectContainer->SwitchPersistence(
m_pImpl->m_xStorage);
1423 m_pImpl->m_aStorageChangeListeners.forEach(
1424 [
this, &xStorage] (uno::Reference<document::XStorageChangeListener>
const& xListener) {
1425 return xListener->notifyStorageChange(static_cast<OWeakObject*>(
this), xStorage);
1431 ::osl::MutexGuard aGuard(
m_aMutex);
1432 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1438 ::osl::MutexGuard aGuard(
m_aMutex);
1439 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1440 if ( xListener.is() )
1441 m_pImpl->m_aStorageChangeListeners.addInterface(xListener);
1446 ::osl::MutexGuard aGuard(
m_aMutex);
1447 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1448 m_pImpl->m_aStorageChangeListeners.removeInterface(xListener);
1452 const uno::Reference<lang::XComponent> & xComponent,
1453 const char* pStreamName,
1454 const char* pServiceName,
1455 const uno::Sequence<uno::Any> & rArguments,
1456 const uno::Sequence<beans::PropertyValue> & rMediaDesc,
1457 const uno::Reference<embed::XStorage>& _xStorageToSaveTo)
1459 OSL_ENSURE(
nullptr != pStreamName,
"Need stream name!" );
1460 OSL_ENSURE(
nullptr != pServiceName,
"Need service name!" );
1463 OUString sStreamName = OUString::createFromAscii( pStreamName );
1464 uno::Reference<io::XStream>
xStream = _xStorageToSaveTo->openStreamElement( sStreamName,embed::ElementModes::READWRITE | embed::ElementModes::TRUNCATE );
1465 if ( !xStream.is() )
1467 uno::Reference<io::XOutputStream> xOutputStream = xStream->getOutputStream();
1468 OSL_ENSURE(xOutputStream.is(),
"Can't create output stream in package!");
1469 if ( ! xOutputStream.is() )
1472 uno::Reference<beans::XPropertySet> xStreamProp(xOutputStream,uno::UNO_QUERY);
1473 OSL_ENSURE(xStreamProp.is(),
"No valid property set for the output stream!");
1475 uno::Reference<io::XSeekable> xSeek(xStreamProp,uno::UNO_QUERY);
1481 xStreamProp->setPropertyValue(
"MediaType",
uno::Any(OUString(
"text/xml")) );
1484 xStreamProp->setPropertyValue(
"UseCommonStoragePasswordEncryption",
1491 xOutputStream, xComponent,
1492 pServiceName, rArguments, rMediaDesc );
1498 const uno::Reference<io::XOutputStream> & xOutputStream,
1499 const uno::Reference<lang::XComponent> & xComponent,
1500 const char* pServiceName,
1501 const uno::Sequence<uno::Any> & rArguments,
1502 const uno::Sequence<beans::PropertyValue> & rMediaDesc)
1504 OSL_ENSURE( xOutputStream.is(),
"I really need an output stream!" );
1505 OSL_ENSURE( xComponent.is(),
"Need component!" );
1506 OSL_ENSURE(
nullptr != pServiceName,
"Need component name!" );
1509 uno::Reference< xml::sax::XWriter > xSaxWriter(
1510 xml::sax::Writer::create(
m_aProps->m_xContext) );
1513 xSaxWriter->setOutputStream( xOutputStream );
1516 uno::Sequence<uno::Any> aArgs( 1 + rArguments.getLength() );
1517 auto pArgs = aArgs.getArray();
1518 *pArgs <<= xSaxWriter;
1519 std::copy(rArguments.begin(), rArguments.end(), std::next(pArgs));
1522 uno::Reference< document::XExporter > xExporter(
1523 m_aProps->m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
1524 OUString::createFromAscii(pServiceName), aArgs,
m_aProps->m_xContext), uno::UNO_QUERY);
1525 OSL_ENSURE( xExporter.is(),
1526 "can't instantiate export filter component" );
1527 if( !xExporter.is() )
1531 xExporter->setSourceDocument( xComponent );
1534 uno::Reference<document::XFilter> xFilter( xExporter, uno::UNO_QUERY );
1535 return xFilter->filter( rMediaDesc );
1547 ::osl::MutexGuard aGuard(
m_aMutex);
1548 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1556 uno::Reference< io::XInputStream > xStream;
1559 if ( aArguments.
has(
"Stream" ) )
1562 aArguments.
remove(
"Stream" );
1564 else if ( aArguments.
has(
"InputStream" ) )
1567 aArguments.
remove(
"InputStream" );
1570 if ( aArguments.
has(
"FileName" ) )
1573 aArguments.
remove(
"FileName" );
1575 else if ( aArguments.
has(
"URL" ) )
1578 aArguments.
remove(
"URL" );
1583 aStorageSource <<= xStream;
1584 else if ( !sURL.isEmpty() )
1585 aStorageSource <<= sURL;
1587 throw lang::IllegalArgumentException(
1588 "No input source (URL or InputStream) found.",
1594 uno::Reference< lang::XSingleServiceFactory > xStorageFactory( embed::StorageFactory::create(
m_aProps->m_xContext ) );
1597 uno::Reference< embed::XStorage > xDocumentStorage;
1598 const sal_Int32 nOpenModes[2] = {
1599 embed::ElementModes::READWRITE,
1600 embed::ElementModes::READ
1602 size_t nFirstOpenMode = 0;
1603 if ( aArguments.
has(
"ReadOnly" ) )
1607 nFirstOpenMode = bReadOnly ? 1 : 0;
1610 for (
size_t i=nFirstOpenMode; i <= nLastOpenMode; ++i )
1612 uno::Sequence< uno::Any > aStorageCreationArgs{ aStorageSource,
uno::Any(nOpenModes[i]) };
1616 xDocumentStorage.set( xStorageFactory->createInstanceWithArguments( aStorageCreationArgs ), uno::UNO_QUERY_THROW );
1618 catch (
const uno::Exception&)
1620 if ( i == nLastOpenMode )
1623 throw lang::WrappedTargetException(
1624 "An error occurred while creating the document storage.",
1633 if ( !xDocumentStorage.is() )
1635 throw uno::RuntimeException();
1638 if (!aArguments.
has(
"DocumentBaseURL") && !sURL.isEmpty())
1640 aArguments.
put(
"DocumentBaseURL", sURL);
1651 ::osl::MutexGuard aGuard(
m_aMutex);
1652 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1654 (
m_pImpl->m_aVisualAreaSize.Width != _aSize.Width ||
1655 m_pImpl->m_aVisualAreaSize.Height != _aSize.Height);
1656 m_pImpl->m_aVisualAreaSize = _aSize;
1659 m_pImpl->m_nAspect = _nAspect;
1664 ::osl::MutexGuard aGuard(
m_aMutex);
1665 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1666 return m_pImpl->m_aVisualAreaSize;
1671 ::osl::MutexGuard aGuard(
m_aMutex);
1672 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1673 embed::VisualRepresentation aResult;
1675 uno::Reference<io::XInputStream> xStream =
m_pImpl->m_pObjectContainer->GetGraphicStream(
"report", &sMimeType);
1678 uno::Sequence<sal_Int8>
aSeq;
1679 xStream->readBytes(aSeq,xStream->available());
1680 xStream->closeInput();
1681 aResult.Data <<= aSeq;
1682 aResult.Flavor.MimeType = sMimeType;
1691 return embed::EmbedMapUnits::ONE_100TH_MM;
1697 ::osl::MutexGuard aGuard(
m_aMutex );
1698 ::connectivity::checkDisposed( ReportDefinitionBase::rBHelper.bDisposed );
1700 const bool bWasEnabled =
m_pImpl->m_bSetModifiedEnabled;
1701 m_pImpl->m_bSetModifiedEnabled =
false;
1707 ::osl::MutexGuard aGuard(
m_aMutex );
1708 ::connectivity::checkDisposed( ReportDefinitionBase::rBHelper.bDisposed );
1710 const bool bWasEnabled =
m_pImpl->m_bSetModifiedEnabled;
1711 m_pImpl->m_bSetModifiedEnabled =
true;
1717 ::osl::MutexGuard aGuard(
m_aMutex );
1718 ::connectivity::checkDisposed( ReportDefinitionBase::rBHelper.bDisposed );
1720 return m_pImpl->m_bSetModifiedEnabled;
1726 ::osl::MutexGuard aGuard(
m_aMutex);
1727 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1733 osl::ClearableMutexGuard aGuard(
m_aMutex);
1734 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1736 if ( !
m_pImpl->m_bSetModifiedEnabled )
1739 if (
m_pImpl->m_pReportModel->IsReadOnly() && _bModified )
1740 throw beans::PropertyVetoException();
1741 if (
m_pImpl->m_bModified !=
bool(_bModified) )
1743 m_pImpl->m_bModified = _bModified;
1744 if (
m_pImpl->m_pReportModel->IsChanged() != bool(_bModified) )
1745 m_pImpl->m_pReportModel->SetChanged(_bModified);
1747 lang::EventObject
aEvent(*
this);
1749 m_pImpl->m_aModifyListeners.notifyEach(&util::XModifyListener::modified,aEvent);
1757 ::osl::MutexGuard aGuard(
m_aMutex);
1758 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1759 if ( _xListener.is() )
1760 m_pImpl->m_aModifyListeners.addInterface(_xListener);
1765 ::osl::MutexGuard aGuard(
m_aMutex);
1766 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1767 m_pImpl->m_aModifyListeners.removeInterface(_xListener);
1774 osl::ClearableMutexGuard aGuard(
m_aMutex);
1775 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1776 document::EventObject aEvt(*
this, _sEventName);
1778 m_pImpl->m_aLegacyEventListeners.notifyEach(&document::XEventListener::notifyEvent,aEvt);
1780 catch (
const uno::Exception&)
1792 osl::ClearableMutexGuard aGuard(
m_aMutex);
1793 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1794 document::DocumentEvent aEvt(*
this, rEventName, rViewController, rSupplement);
1796 m_pImpl->m_aDocEventListeners.notifyEach(&document::XDocumentEventListener::documentEventOccured,aEvt);
1798 catch (
const uno::Exception&)
1805 ::osl::MutexGuard aGuard(
m_aMutex);
1806 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1807 if ( rListener.is() )
1808 m_pImpl->m_aDocEventListeners.addInterface(rListener);
1813 ::osl::MutexGuard aGuard(
m_aMutex);
1814 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1815 m_pImpl->m_aDocEventListeners.removeInterface(rListener);
1821 ::osl::MutexGuard aGuard(
m_aMutex);
1822 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1823 if ( _xListener.is() )
1824 m_pImpl->m_aLegacyEventListeners.addInterface(_xListener);
1829 ::osl::MutexGuard aGuard(
m_aMutex);
1830 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1831 m_pImpl->m_aLegacyEventListeners.removeInterface(_xListener);
1837 ::osl::MutexGuard aGuard(
m_aMutex);
1838 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1839 if ( !
m_pImpl->m_xViewData.is() )
1841 m_pImpl->m_xViewData = document::IndexedPropertyValues::create(
m_aProps->m_xContext);
1842 uno::Reference< container::XIndexContainer > xContainer(
m_pImpl->m_xViewData,uno::UNO_QUERY);
1843 for (
const auto& rxController :
m_pImpl->m_aControllers)
1845 if ( rxController.is() )
1849 xContainer->insertByIndex(xContainer->getCount(), rxController->getViewData());
1851 catch (
const uno::Exception&)
1863 ::osl::MutexGuard aGuard(
m_aMutex);
1864 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1870 ::osl::MutexGuard aGuard(
m_aMutex);
1871 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1882 ::osl::MutexGuard aGuard(
m_aMutex);
1883 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1885 if ( !
m_pImpl->m_xUIConfigurationManager.is() )
1887 m_pImpl->m_xUIConfigurationManager = ui::UIConfigurationManager::create(
m_aProps->m_xContext);
1889 uno::Reference< embed::XStorage > xConfigStorage;
1891 m_pImpl->m_xUIConfigurationManager->setStorage( xConfigStorage );
1894 return m_pImpl->m_xUIConfigurationManager;
1899 ::osl::MutexGuard aGuard(
m_aMutex);
1900 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1901 return m_pImpl->m_xStorage->openStorageElement(aStorageName, nMode);
1906 ::osl::MutexGuard aGuard(
m_aMutex);
1907 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1908 uno::Reference<container::XNameAccess> xNameAccess =
m_pImpl->m_xStorage;
1909 return xNameAccess.is() ? xNameAccess->getElementNames() : uno::Sequence< OUString >();
1914 ::osl::MutexGuard aGuard(
m_aMutex);
1915 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1921 ::osl::MutexGuard aGuard(
m_aMutex);
1922 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1924 if ( ::std::find(aList.begin(), aList.end(), _mimetype) == aList.end() )
1940 if (comphelper::isUnoTunnelId<OReportDefinition>(rId) )
1944 uno::Reference< lang::XUnoTunnel> xUnoTunnel(
m_pImpl->m_xNumberFormatsSupplier,uno::UNO_QUERY);
1945 if ( xUnoTunnel.is() )
1946 nRet = xUnoTunnel->getSomething(rId);
1950 uno::Reference< lang::XUnoTunnel> xTunnel;
1951 ::comphelper::query_aggregation(
m_aProps->m_xProxy,xTunnel);
1953 nRet = xTunnel->getSomething(rId);
1959 uno::Sequence< sal_Int8 > SAL_CALL OReportDefinition::getImplementationId( )
1961 return css::uno::Sequence<sal_Int8>();
1972 ::osl::MutexGuard aGuard(
m_aMutex);
1973 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1979 std::shared_ptr<rptui::OReportModel> pReportModel;
1980 auto pReportDefinition = comphelper::getFromUnoTunnel<OReportDefinition>(_xReportDefinition);
1981 if (pReportDefinition)
1982 pReportModel = pReportDefinition->m_pImpl->m_pReportModel;
1983 return pReportModel;
1988 OSL_ENSURE(
m_pImpl->m_pReportModel,
"No SdrModel in ReportDesign, should not happen");
1989 return *
m_pImpl->m_pReportModel;
1994 ::osl::MutexGuard aGuard(
m_aMutex);
1995 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1997 uno::Reference< uno::XInterface > xRet;
1998 if ( aServiceSpecifier.startsWith(
"com.sun.star.document.ImportEmbeddedObjectResolver") )
2000 uno::Reference< embed::XStorage > xStorage;
2003 beans::NamedValue aValue;
2005 if ( aValue.Name ==
"Storage" )
2006 aValue.Value >>= xStorage;
2008 m_pImpl->m_pObjectContainer->SwitchPersistence(xStorage);
2016 ::osl::MutexGuard aGuard(
m_aMutex);
2017 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2018 uno::Reference< drawing::XShape > xShape;
2019 if ( aServiceSpecifier.startsWith(
"com.sun.star.report." ) )
2031 else if ( aServiceSpecifier.startsWith(
"com.sun.star.form.component." ) )
2033 xShape.set(
m_aProps->m_xContext->getServiceManager()->createInstanceWithContext(aServiceSpecifier,
m_aProps->m_xContext),uno::UNO_QUERY);
2035 else if ( aServiceSpecifier ==
"com.sun.star.style.PageStyle" ||
2036 aServiceSpecifier ==
"com.sun.star.style.FrameStyle" ||
2037 aServiceSpecifier ==
"com.sun.star.style.GraphicStyle"
2040 uno::Reference< style::XStyle> xStyle =
new OStyle();
2041 xStyle->setName(
"Default");
2044 else if ( aServiceSpecifier ==
"com.sun.star.document.Settings" )
2046 uno::Reference<beans::XPropertySet> xProp =
new OStyle();
2050 else if ( aServiceSpecifier ==
"com.sun.star.drawing.Defaults" )
2052 uno::Reference<beans::XPropertySet> xProp =
new OStyle();
2055 else if ( aServiceSpecifier ==
"com.sun.star.drawing.GradientTable" )
2057 if ( !
m_pImpl->m_xGradientTable.is() )
2059 return m_pImpl->m_xGradientTable;
2061 else if ( aServiceSpecifier ==
"com.sun.star.drawing.HatchTable" )
2063 if ( !
m_pImpl->m_xHatchTable.is() )
2065 return m_pImpl->m_xHatchTable;
2067 else if ( aServiceSpecifier ==
"com.sun.star.drawing.BitmapTable" )
2069 if ( !
m_pImpl->m_xBitmapTable.is() )
2071 return m_pImpl->m_xBitmapTable;
2073 else if ( aServiceSpecifier ==
"com.sun.star.drawing.TransparencyGradientTable" )
2075 if ( !
m_pImpl->m_xTransparencyGradientTable.is() )
2077 return m_pImpl->m_xTransparencyGradientTable;
2079 else if ( aServiceSpecifier ==
"com.sun.star.drawing.DashTable" )
2081 if ( !
m_pImpl->m_xDashTable.is() )
2085 else if( aServiceSpecifier ==
"com.sun.star.drawing.MarkerTable" )
2087 if( !
m_pImpl->m_xMarkerTable.is() )
2089 return m_pImpl->m_xMarkerTable;
2091 else if ( aServiceSpecifier ==
"com.sun.star.document.ImportEmbeddedObjectResolver" )
2093 else if ( aServiceSpecifier ==
"com.sun.star.document.ExportEmbeddedObjectResolver" )
2095 else if (aServiceSpecifier ==
"com.sun.star.document.ImportGraphicStorageHandler")
2098 uno::Reference< uno::XInterface> xRet(static_cast< ::cppu::OWeakObject* >(xGraphicHelper.get()));
2101 else if (aServiceSpecifier ==
"com.sun.star.document.ExportGraphicStorageHandler")
2104 uno::Reference< uno::XInterface> xRet(static_cast< ::cppu::OWeakObject* >(xGraphicHelper.get()));
2107 else if ( aServiceSpecifier ==
"com.sun.star.chart2.data.DataProvider" )
2109 uno::Reference<chart2::data::XDatabaseDataProvider> xDataProvider(chart2::data::DatabaseDataProvider::createWithConnection(
m_aProps->m_xContext,
m_pImpl->m_xActiveConnection ));
2110 xDataProvider->setRowLimit(10);
2111 uno::Reference< container::XChild > xChild(xDataProvider,uno::UNO_QUERY);
2113 xChild->setParent(*
this);
2114 return uno::Reference< uno::XInterface >(xDataProvider,uno::UNO_QUERY);
2116 else if ( aServiceSpecifier ==
"com.sun.star.xml.NamespaceMap" )
2118 if ( !
m_pImpl->m_xXMLNamespaceMap.is() )
2120 return m_pImpl->m_xXMLNamespaceMap;
2125 return m_pImpl->m_pReportModel->createShape(aServiceSpecifier,xShape);
2130 static const std::u16string_view aSvxComponentServiceNameList[] =
2132 u"com.sun.star.form.component.FixedText",
2133 u"com.sun.star.form.component.DatabaseImageControl",
2134 u
"com.sun.star.style.PageStyle",
2135 u
"com.sun.star.style.GraphicStyle",
2136 u
"com.sun.star.style.FrameStyle",
2137 u
"com.sun.star.drawing.Defaults",
2138 u
"com.sun.star.document.ImportEmbeddedObjectResolver",
2139 u
"com.sun.star.document.ExportEmbeddedObjectResolver",
2140 u
"com.sun.star.document.ImportGraphicStorageHandler",
2141 u
"com.sun.star.document.ExportGraphicStorageHandler",
2142 u
"com.sun.star.chart2.data.DataProvider",
2143 u
"com.sun.star.xml.NamespaceMap",
2144 u
"com.sun.star.document.Settings",
2145 u
"com.sun.star.drawing.GradientTable",
2146 u
"com.sun.star.drawing.HatchTable",
2147 u
"com.sun.star.drawing.BitmapTable",
2148 u
"com.sun.star.drawing.TransparencyGradientTable",
2149 u
"com.sun.star.drawing.DashTable",
2150 u
"com.sun.star.drawing.MarkerTable"
2153 static const sal_uInt16 nSvxComponentServiceNameListCount =
SAL_N_ELEMENTS(aSvxComponentServiceNameList);
2155 uno::Sequence< OUString >
aSeq( nSvxComponentServiceNameListCount );
2156 OUString* pStrings = aSeq.getArray();
2157 for( sal_uInt16 nIdx = 0; nIdx < nSvxComponentServiceNameListCount; nIdx++ )
2158 pStrings[nIdx] = aSvxComponentServiceNameList[nIdx];
2165 awt::Point SAL_CALL OReportDefinition::getPosition( )
2167 ::osl::MutexGuard aGuard(
m_aMutex);
2168 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2170 return m_aProps->m_xShape->getPosition();
2174 void SAL_CALL OReportDefinition::setPosition(
const awt::Point& aPosition )
2176 ::osl::MutexGuard aGuard(
m_aMutex);
2177 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2179 m_aProps->m_xShape->setPosition(aPosition);
2180 set(PROPERTY_POSITIONX,aPosition.X,
m_aProps->m_nPosX);
2181 set(PROPERTY_POSITIONY,aPosition.Y,
m_aProps->m_nPosY);
2184 awt::Size SAL_CALL OReportDefinition::getSize( )
2186 ::osl::MutexGuard aGuard(
m_aMutex);
2187 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2189 return m_aProps->m_xShape->getSize();
2193 void SAL_CALL OReportDefinition::setSize(
const awt::Size& aSize )
2195 ::osl::MutexGuard aGuard(
m_aMutex);
2196 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2198 m_aProps->m_xShape->setSize(aSize);
2200 set(PROPERTY_HEIGHT,aSize.Height,
m_aProps->m_nHeight);
2207 ::osl::MutexGuard aGuard(
m_aMutex);
2208 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2210 return m_aProps->m_xShape->getShapeType();
2211 return "com.sun.star.drawing.OLE2Shape";
2214 typedef ::cppu::WeakImplHelper< container::XNameContainer,
2215 container::XIndexAccess
2220 class OStylesHelper:
2223 typedef ::std::map< OUString, uno::Any , ::comphelper::UStringMixLess> TStyleElements;
2229 virtual ~OStylesHelper()
override {}
2232 OStylesHelper(
const OStylesHelper&) =
delete;
2233 OStylesHelper& operator=(
const OStylesHelper&) =
delete;
2236 virtual void SAL_CALL insertByName(
const OUString& aName,
const uno::Any& aElement )
override;
2237 virtual void SAL_CALL removeByName(
const OUString& Name )
override;
2240 virtual void SAL_CALL replaceByName(
const OUString& aName,
const uno::Any& aElement )
override;
2243 virtual uno::Type SAL_CALL getElementType( )
override;
2244 virtual sal_Bool SAL_CALL hasElements( )
override;
2246 virtual sal_Int32 SAL_CALL getCount( )
override;
2247 virtual uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
2250 virtual uno::Any SAL_CALL getByName(
const OUString& aName )
override;
2251 virtual uno::Sequence< OUString > SAL_CALL getElementNames( )
override;
2252 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
2257 OStylesHelper::OStylesHelper(
const uno::Type& rType)
2265 uno::Type SAL_CALL OStylesHelper::getElementType( )
2270 sal_Bool SAL_CALL OStylesHelper::hasElements( )
2272 ::osl::MutexGuard aGuard(m_aMutex);
2277 sal_Int32 SAL_CALL OStylesHelper::getCount( )
2279 ::osl::MutexGuard aGuard(m_aMutex);
2283 uno::Any SAL_CALL OStylesHelper::getByIndex( sal_Int32
Index )
2285 ::osl::MutexGuard aGuard(m_aMutex);
2287 throw lang::IndexOutOfBoundsException();
2292 uno::Any SAL_CALL OStylesHelper::getByName(
const OUString& aName )
2294 ::osl::MutexGuard aGuard(m_aMutex);
2295 TStyleElements::const_iterator aFind =
m_aElements.find(aName);
2297 throw container::NoSuchElementException();
2298 return aFind->second;
2301 uno::Sequence< OUString > SAL_CALL OStylesHelper::getElementNames( )
2303 ::osl::MutexGuard aGuard(m_aMutex);
2306 OUString* pStringArray = aNameList.getArray();
2309 *pStringArray = rIter->first;
2316 sal_Bool SAL_CALL OStylesHelper::hasByName(
const OUString& aName )
2318 ::osl::MutexGuard aGuard(m_aMutex);
2323 void SAL_CALL OStylesHelper::insertByName(
const OUString& aName,
const uno::Any& aElement )
2325 ::osl::MutexGuard aGuard(m_aMutex);
2327 throw container::ElementExistException();
2329 if ( !aElement.isExtractableTo(
m_aType) )
2330 throw lang::IllegalArgumentException();
2335 void SAL_CALL OStylesHelper::removeByName(
const OUString& aName )
2337 ::osl::MutexGuard aGuard(m_aMutex);
2338 TStyleElements::const_iterator aFind =
m_aElements.find(aName);
2340 throw container::NoSuchElementException();
2346 void SAL_CALL OStylesHelper::replaceByName(
const OUString& aName,
const uno::Any& aElement )
2348 ::osl::MutexGuard aGuard(m_aMutex);
2349 TStyleElements::iterator aFind =
m_aElements.find(aName);
2351 throw container::NoSuchElementException();
2352 if ( !aElement.isExtractableTo(
m_aType) )
2353 throw lang::IllegalArgumentException();
2354 aFind->second = aElement;
2357 uno::Reference< container::XNameAccess > SAL_CALL OReportDefinition::getStyleFamilies( )
2359 ::osl::MutexGuard aGuard(
m_aMutex);
2360 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2361 if ( !
m_pImpl->m_xStyles.is() )
2363 m_pImpl->m_xStyles =
new OStylesHelper();
2364 uno::Reference< container::XNameContainer> xStyles(
m_pImpl->m_xStyles,uno::UNO_QUERY);
2367 xStyles->insertByName(
"PageStyles",
uno::Any(xPageStyles));
2368 uno::Reference< style::XStyle> xPageStyle(
createInstance(
"com.sun.star.style.PageStyle"),uno::UNO_QUERY);
2369 xPageStyles->insertByName(xPageStyle->getName(),
uno::Any(xPageStyle));
2372 xStyles->insertByName(
"FrameStyles",
uno::Any(xFrameStyles));
2373 uno::Reference< style::XStyle> xFrameStyle(
createInstance(
"com.sun.star.style.FrameStyle"),uno::UNO_QUERY);
2374 xFrameStyles->insertByName(xFrameStyle->getName(),
uno::Any(xFrameStyle));
2377 xStyles->insertByName(
"graphics",
uno::Any(xGraphicStyles));
2378 uno::Reference< style::XStyle> xGraphicStyle(
createInstance(
"com.sun.star.style.GraphicStyle"),uno::UNO_QUERY);
2379 xGraphicStyles->insertByName(xGraphicStyle->getName(),
uno::Any(xGraphicStyle));
2383 OUString SAL_CALL OReportDefinition::getIdentifier( )
2385 ::osl::MutexGuard aGuard(
m_aMutex);
2386 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2387 return m_pImpl->m_sIdentifier;
2390 void SAL_CALL OReportDefinition::setIdentifier(
const OUString& Identifier )
2392 ::osl::MutexGuard aGuard(
m_aMutex);
2393 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2394 m_pImpl->m_sIdentifier = Identifier;
2398 uno::Reference< beans::XPropertySet > SAL_CALL OReportDefinition::getNumberFormatSettings( )
2400 ::osl::MutexGuard aGuard(
m_aMutex);
2401 if (
m_pImpl->m_xNumberFormatsSupplier.is() )
2402 return m_pImpl->m_xNumberFormatsSupplier->getNumberFormatSettings();
2403 return uno::Reference< beans::XPropertySet >();
2406 uno::Reference< util::XNumberFormats > SAL_CALL OReportDefinition::getNumberFormats( )
2408 ::osl::MutexGuard aGuard(
m_aMutex);
2409 if (
m_pImpl->m_xNumberFormatsSupplier.is() )
2410 return m_pImpl->m_xNumberFormatsSupplier->getNumberFormats();
2411 return uno::Reference< util::XNumberFormats >();
2416 return *
m_pImpl->m_pObjectContainer;
2419 uno::Reference< embed::XStorage > OReportDefinition::getStorage()
const
2424 uno::Reference< task::XInteractionHandler > OReportDefinition::getInteractionHandler()
const
2426 uno::Reference< task::XInteractionHandler > xRet(
2427 task::InteractionHandler::createWithParent(
m_aProps->m_xContext,
nullptr), uno::UNO_QUERY_THROW);
2431 uno::Reference< sdbc::XConnection > SAL_CALL OReportDefinition::getActiveConnection()
2433 ::osl::MutexGuard aGuard(
m_aMutex);
2434 return m_pImpl->m_xActiveConnection;
2437 void SAL_CALL OReportDefinition::setActiveConnection(
const uno::Reference< sdbc::XConnection >& _activeconnection )
2439 if ( !_activeconnection.is() )
2440 throw lang::IllegalArgumentException();
2444 OUString SAL_CALL OReportDefinition::getDataSourceName()
2447 return m_pImpl->m_sDataSourceName;
2450 void SAL_CALL OReportDefinition::setDataSourceName(
const OUString& the_value)
2455 bool OReportDefinition::isEnableSetModified()
const
2460 OUString OReportDefinition::getDocumentBaseURL()
const
2463 uno::Reference<frame::XModel>
const xParent(
2464 const_cast<OReportDefinition*>(
this)->getParent(), uno::UNO_QUERY);
2467 return xParent->getURL();
2470 ::osl::MutexGuard aGuard(
m_aMutex);
2471 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2472 for (beans::PropertyValue
const& it : std::as_const(
m_pImpl->m_aArgs))
2474 if (it.Name ==
"DocumentBaseURL")
2475 return it.Value.get<OUString>();
2481 uno::Reference< frame::XTitle > OReportDefinition::impl_getTitleHelper_throw()
2485 ::osl::MutexGuard aGuard(
m_aMutex);
2486 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2488 if ( !
m_pImpl->m_xTitleHelper.is ())
2490 uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(
m_aProps->m_xContext);
2492 m_pImpl->m_xTitleHelper = new ::framework::TitleHelper(
m_aProps->m_xContext, uno::Reference< frame::XModel >(
this),
2493 uno::Reference<frame::XUntitledNumbers>(xDesktop, uno::UNO_QUERY_THROW) );
2496 return m_pImpl->m_xTitleHelper;
2499 uno::Reference< frame::XUntitledNumbers > OReportDefinition::impl_getUntitledHelper_throw()
2503 ::osl::MutexGuard aGuard(
m_aMutex);
2504 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2506 if ( !
m_pImpl->m_xNumberedControllers.is ())
2509 m_pImpl->m_xNumberedControllers = pHelper;
2511 pHelper->setOwner (uno::Reference< frame::XModel >(
this));
2512 pHelper->setUntitledPrefix (
" : ");
2515 return m_pImpl->m_xNumberedControllers;
2519 OUString SAL_CALL OReportDefinition::getTitle()
2524 ::osl::MutexGuard aGuard(
m_aMutex);
2525 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2527 return impl_getTitleHelper_throw()->getTitle ();
2531 void SAL_CALL OReportDefinition::setTitle(
const OUString& sTitle )
2536 ::osl::MutexGuard aGuard(
m_aMutex);
2537 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2539 impl_getTitleHelper_throw()->setTitle (sTitle);
2543 void SAL_CALL OReportDefinition::addTitleChangeListener(
const uno::Reference< frame::XTitleChangeListener >& xListener )
2548 ::osl::MutexGuard aGuard(
m_aMutex);
2549 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2551 uno::Reference< frame::XTitleChangeBroadcaster > xBroadcaster(impl_getTitleHelper_throw(), uno::UNO_QUERY);
2552 if (xBroadcaster.is ())
2553 xBroadcaster->addTitleChangeListener (xListener);
2557 void SAL_CALL OReportDefinition::removeTitleChangeListener(
const uno::Reference< frame::XTitleChangeListener >& xListener )
2562 ::osl::MutexGuard aGuard(
m_aMutex);
2563 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2565 uno::Reference< frame::XTitleChangeBroadcaster > xBroadcaster(impl_getTitleHelper_throw(), uno::UNO_QUERY);
2566 if (xBroadcaster.is ())
2567 xBroadcaster->removeTitleChangeListener (xListener);
2571 ::sal_Int32 SAL_CALL OReportDefinition::leaseNumber(
const uno::Reference< uno::XInterface >& xComponent )
2575 ::osl::MutexGuard aGuard(
m_aMutex);
2576 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2578 return impl_getUntitledHelper_throw()->leaseNumber (xComponent);
2582 void SAL_CALL OReportDefinition::releaseNumber( ::sal_Int32 nNumber )
2586 ::osl::MutexGuard aGuard(
m_aMutex);
2587 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2589 impl_getUntitledHelper_throw()->releaseNumber (nNumber);
2593 void SAL_CALL OReportDefinition::releaseNumberForComponent(
const uno::Reference< uno::XInterface >& xComponent )
2597 ::osl::MutexGuard aGuard(
m_aMutex);
2598 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2600 impl_getUntitledHelper_throw()->releaseNumberForComponent (xComponent);
2604 OUString SAL_CALL OReportDefinition::getUntitledPrefix()
2608 ::osl::MutexGuard aGuard(
m_aMutex);
2609 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2611 return impl_getUntitledHelper_throw()->getUntitledPrefix ();
2614 uno::Reference< document::XDocumentProperties > SAL_CALL OReportDefinition::getDocumentProperties( )
2616 ::osl::MutexGuard aGuard(
m_aMutex);
2617 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2618 if ( !
m_pImpl->m_xDocumentProperties.is() )
2620 m_pImpl->m_xDocumentProperties.set(document::DocumentProperties::create(
m_aProps->m_xContext));
2622 return m_pImpl->m_xDocumentProperties;
2625 uno::Any SAL_CALL OReportDefinition::getTransferData(
const datatransfer::DataFlavor& aFlavor )
2628 if( !isDataFlavorSupported( aFlavor ) )
2630 throw datatransfer::UnsupportedFlavorException(aFlavor.MimeType, static_cast< ::cppu::OWeakObject* >(
this ));
2635 aResult = getPreferredVisualRepresentation(0).Data;
2637 catch (
const uno::Exception &)
2646 uno::Sequence< datatransfer::DataFlavor > SAL_CALL OReportDefinition::getTransferDataFlavors( )
2651 sal_Bool SAL_CALL OReportDefinition::isDataFlavorSupported(
const datatransfer::DataFlavor& aFlavor )
2653 return aFlavor.MimeType ==
"image/png";
2657 uno::Reference< document::XUndoManager > SAL_CALL OReportDefinition::getUndoManager( )
2659 ::osl::MutexGuard aGuard(
m_aMutex );
2660 return m_pImpl->m_pUndoManager;
uno::Reference< container::XNameAccess > m_xXMLNamespaceMap
constexpr OUStringLiteral SC_UNO_PAGE_FIRSTHDRSHARED
IMPLEMENT_FORWARD_XINTERFACE2(ChildWindowPane, ChildWindowPaneInterfaceBase, Pane)
virtual void SAL_CALL notifyDocumentEvent(const OUString &rEventName, const css::uno::Reference< css::frame::XController2 > &rViewController, const css::uno::Any &rSupplement) override
virtual OUString SAL_CALL getImplementationName() override
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
virtual void SAL_CALL storeToStorage(const css::uno::Reference< css::embed::XStorage > &xStorage, const css::uno::Sequence< css::beans::PropertyValue > &aMediaDescriptor) override
virtual css::uno::Reference< css::embed::XStorage > SAL_CALL getDocumentStorage() override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
#define PROPERTY_BACKGRAPHICLOCATION
#define PROPERTY_PAGESTYLELAYOUT
virtual void SAL_CALL setModified(sal_Bool bModified) override
Create an object ob OUndoEnvLock locks the undo possibility As long as in the OUndoEnvLock scope...
OUString m_sDataSourceName
virtual sal_Bool SAL_CALL isSetModifiedEnabled() override
virtual void SAL_CALL setCaption(const OUString &_caption) override
COMPHELPER_DLLPUBLIC css::uno::Reference< css::container::XNameContainer > NameContainer_createInstance(const css::uno::Type &aType)
::comphelper::OInterfaceContainerHelper3< document::XStorageChangeListener > m_aStorageChangeListeners
constexpr OUStringLiteral SC_UNO_PAGE_FTRLEFTMAR
constexpr SdrLayerID RPT_LAYER_BACK(1)
uno::Reference< util::XNumberFormatsSupplier > m_xNumberFormatsSupplier
virtual OUString SAL_CALL getFilter() override
#define PROPERTY_RIGHTMARGIN
css::uno::Reference< css::ui::XUIConfigurationManager2 > getUIConfigurationManager2()
static css::uno::Reference< css::uno::XInterface > create(css::uno::Reference< css::uno::XComponentContext > const &xContext)
virtual ::sal_Int32 SAL_CALL getMapUnit(::sal_Int64 nAspect) override
::std::vector< uno::Reference< frame::XController > > m_aControllers
virtual css::uno::Reference< css::document::XEventBroadcaster > SAL_CALL getEventBroadcaster() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL initNew() override
constexpr OUStringLiteral SC_UNO_PAGE_SHADOWFORM
virtual void SAL_CALL dispose() override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() SAL_OVERRIDE
std::shared_ptr< rptui::OReportModel > m_pReportModel
virtual void SAL_CALL addCloseListener(const css::uno::Reference< css::util::XCloseListener > &Listener) override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getArgs() override
constexpr OUStringLiteral SC_UNO_PAGE_FTRSHADOW
virtual css::uno::Reference< css::report::XSection > SAL_CALL getReportFooter() override
#define PROPERTY_ISLANDSCAPE
void throwIllegallArgumentException(std::u16string_view _sTypeName, const uno::Reference< uno::XInterface > &ExceptionContext_, sal_Int16 ArgumentPosition_)
uno::Sequence< beans::Property > m_aProps
uno::Reference< report::XSection > m_xDetail
virtual void SAL_CALL removeDocumentEventListener(const css::uno::Reference< css::document::XDocumentEventListener > &rListener) override
virtual css::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation(::sal_Int64 nAspect) override
::comphelper::OInterfaceContainerHelper3< util::XModifyListener > m_aModifyListeners
static void lcl_extractAndStartStatusIndicator(const utl::MediaDescriptor &_rDescriptor, uno::Reference< task::XStatusIndicator > &_rxStatusIndicator, uno::Sequence< uno::Any > &_rCallArgs)
sal_Int32 findValue(const css::uno::Sequence< T1 > &_rList, const T2 &_rValue)
virtual ::sal_Int16 SAL_CALL getPageFooterOption() override
static void lcl_setModelReadOnly(const uno::Reference< embed::XStorage > &_xStorage, std::shared_ptr< rptui::OReportModel > const &_rModel)
::comphelper::OPropertyStateContainer OStyle_PBASE
virtual sal_Bool SAL_CALL attachResource(const OUString &URL, const css::uno::Sequence< css::beans::PropertyValue > &Arguments) override
constexpr OUStringLiteral SC_UNO_PAGE_HDRTOPBDIS
bool get_ensureType(const OUString &_rValueName, VALUE_TYPE &_out_rValue) const
constexpr OUStringLiteral SC_UNO_PAGE_SCALETOPAG
virtual sal_Bool SAL_CALL enableSetModified() override
constexpr OUStringLiteral SC_UNO_PAGE_HDRRIGHTMAR
Reference< XFrame > xFrame
constexpr OUStringLiteral SC_UNO_PAGE_SCALEVAL
virtual void SAL_CALL removeCloseListener(const css::uno::Reference< css::util::XCloseListener > &Listener) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getCurrentSelection() override
virtual sal_Bool SAL_CALL hasControllersLocked() override
uno::Reference< container::XNameAccess > m_xHatchTable
exports com.sun.star. embed
virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
virtual void SAL_CALL lockControllers() override
#define PROPERTY_NUMBERINGTYPE
constexpr OUStringLiteral SC_UNO_PAGE_FTRHEIGHT
virtual void SAL_CALL switchToStorage(const css::uno::Reference< css::embed::XStorage > &xStorage) override
uno::Reference< container::XNameAccess > m_xTransparencyGradientTable
constexpr OUStringLiteral SC_UNO_PAGE_FTRTOPBOR
::comphelper::OInterfaceContainerHelper3< util::XCloseListener > m_aCloseListener
constexpr OUStringLiteral SC_UNO_PAGE_BORDERDIST
constexpr OUStringLiteral SC_UNO_PAGE_BOTTBRDDIST
::cppu::WeakImplHelper< style::XStyle, beans::XMultiPropertyStates > TStyleBASE
uno::Reference< embed::XStorage > m_xStorage
::sal_Int32 m_nCommandType
bool remove(const OUString &_rValueName)
mutable::osl::Mutex m_aMutex
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
constexpr OUStringLiteral SC_UNO_PAGE_HDRGRF
constexpr OUStringLiteral SC_UNO_PAGE_FTRRIGHTMAR
constexpr OUStringLiteral SC_UNO_PAGE_LEFTBORDER
constexpr OUStringLiteral SC_UNO_PAGE_HDRSHADOW
std::shared_ptr< T > make_shared(Args &&...args)
virtual sal_Bool SAL_CALL isModified() override
virtual void SAL_CALL setCommand(const OUString &_command) override
constexpr OUStringLiteral SC_UNO_PAGE_HDRGRFLOC
uno::Reference< report::XGroups > m_xGroups
::sal_Int16 m_nPageHeaderOption
virtual void SAL_CALL removePropertyChangeListener(rtl::OUString const &propertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &listener) SAL_OVERRIDE
constexpr OUStringLiteral SC_UNO_PAGE_FTRBACKCOL
#define PROPERTY_DATASOURCENAME
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoMarkerTable_createInstance(SdrModel *pModel)
constexpr OUStringLiteral SERVICE_FORMATTEDFIELD
uno::Reference< report::XSection > m_xPageHeader
virtual OUString SAL_CALL getCaption() override
virtual void SAL_CALL load(const css::uno::Sequence< css::beans::PropertyValue > &lArguments) override
virtual OUString SAL_CALL getShapeType() override
#define PROPERTY_PAGEFOOTEROPTION
constexpr OUStringLiteral SC_UNO_PAGE_FTRBOTTBDIS
virtual css::uno::Reference< css::report::XSection > SAL_CALL getPageFooter() override
#define PROPERTY_GROUPKEEPTOGETHER
constexpr OUStringLiteral SC_UNO_PAGE_FTRDYNAMIC
virtual void SAL_CALL setPageFooterOn(sal_Bool _pagefooteron) override
Sequence< PropertyValue > aArguments
#define PROPERTY_PAGEHEADERON
void setSection(const OUString &_sProperty, bool _bOn, const OUString &_sName, css::uno::Reference< css::report::XSection > &_member)
constexpr OUStringLiteral SC_UNO_PAGE_LEFTBRDDIST
uno::Reference< container::XNameAccess > m_xBitmapTable
awt::Size m_aVisualAreaSize
css::uno::Reference< css::uno::XComponentContext > getContext()
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
Any SAL_CALL getCaughtException()
::comphelper::OInterfaceContainerHelper3< document::XDocumentEventListener > m_aDocEventListeners
void impl_loadFromStorage_nolck_throw(const css::uno::Reference< css::embed::XStorage > &_rxStorage, const css::uno::Sequence< css::beans::PropertyValue > &_rArguments)
loads the report definition from the given storage our mutex is locked
#define PROPERTY_LEFTMARGIN
TStyleElements m_aElements
virtual void SAL_CALL setReportHeaderOn(sal_Bool _reportheaderon) override
bool getPropertyValue(ValueType &rValue, css::uno::Reference< css::beans::XPropertySet > const &xPropSet, OUString const &propName)
constexpr OUStringLiteral SC_UNO_PAGE_HDRBACKTRAN
#define PROPERTY_COMMANDTYPE
constexpr OUStringLiteral SC_UNO_PAGE_HDRBOTTBDIS
uno::Sequence< beans::PropertyValue > m_aArgs
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
virtual void SAL_CALL close(sal_Bool DeliverOwnership) override
constexpr OUStringLiteral SC_UNO_PAGE_SCALETOX
virtual css::uno::Sequence< OUString > SAL_CALL getDocumentSubStoragesNames() override
constexpr OUStringLiteral SC_UNO_PAGE_SCALETOY
constexpr SdrLayerID RPT_LAYER_FRONT(0)
virtual ~OReportDefinition() override
virtual void SAL_CALL setCommandType(::sal_Int32 _commandtype) override
#define REPORTCOMPONENT_IMPL(clazz, arg)
virtual void SAL_CALL disconnectController(const css::uno::Reference< css::frame::XController > &Controller) override
virtual OUString SAL_CALL getCommand() override
virtual void SAL_CALL setPropertyValue(rtl::OUString const &propertyName, css::uno::Any const &value) SAL_OVERRIDE
virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
sal_Int64 getSomething_cast(void *p)
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
::std::vector< TStyleElements::iterator > m_aElementsPos
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoTransGradientTable_createInstance(SdrModel *pModel)
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
constexpr OUStringLiteral SC_UNO_PAGE_HDRLEFTBDIS
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
constexpr OUStringLiteral SC_UNO_PAGE_FTRGRFLOC
constexpr OUStringLiteral SC_UNO_PAGE_HDRON
constexpr OUStringLiteral SC_UNO_PAGE_RIGHTBRDDIST
#define SAL_N_ELEMENTS(arr)
const css::uno::Sequence< sal_Int8 > & getSeq() const
constexpr OUStringLiteral SC_UNO_PAGE_FTRBRDDIST
constexpr OUStringLiteral SC_UNO_PAGE_FTRON
constexpr OUStringLiteral SERVICE_REPORTDEFINITION
constexpr OUStringLiteral SC_UNO_PAGE_FTRBOTTBOR
#define PROPERTY_REPORTFOOTERON
static Size GetDefaultPaperSize(MapUnit eUnit=MapUnit::MapTwip)
virtual void SAL_CALL addStorageChangeListener(const css::uno::Reference< css::document::XStorageChangeListener > &xListener) override
virtual ::sal_Int32 SAL_CALL getCommandType() override
constexpr OUStringLiteral SERVICE_FIXEDTEXT
#define DBG_UNHANDLED_EXCEPTION(...)
static css::uno::Reference< css::embed::XStorage > GetTemporaryStorage(const css::uno::Reference< css::uno::XComponentContext > &rxContext=css::uno::Reference< css::uno::XComponentContext >())
TValueType getUnpackedValueOrDefault(const OUString &sKey, const TValueType &aDefault) const
virtual css::uno::Reference< css::ui::XUIConfigurationManager > SAL_CALL getUIConfigurationManager() override
UNDERLYING_TYPE get() const
#define TOOLS_WARN_EXCEPTION(area, stream)
constexpr OUStringLiteral SC_UNO_PAGE_FTRTOPBDIS
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
static css::uno::Reference< css::report::XSection > createOSection(const css::uno::Reference< css::report::XReportDefinition > &_xParent, const css::uno::Reference< css::uno::XComponentContext > &context, bool _bPageSection=false)
virtual void SAL_CALL setPageFooterOption(::sal_Int16 _pagefooteroption) override
virtual void SAL_CALL removeStorageChangeListener(const css::uno::Reference< css::document::XStorageChangeListener > &xListener) override
constexpr OUStringLiteral SC_UNO_PAGE_HDRDYNAMIC
OUString RptResId(TranslateId aId)
constexpr OUStringLiteral MIMETYPE_OASIS_OPENDOCUMENT_TEXT_ASCII
constexpr OUStringLiteral SC_UNO_PAGE_FTRRIGHTBOR
#define PROPERTY_PAPERSIZE
constexpr OUStringLiteral SC_UNO_PAGE_FTRLEFTBDIS
constexpr OUStringLiteral SC_UNO_PAGE_HDRGRFFILT
#define REPORTCOMPONENT_IMPL2(clazz, arg)
virtual void SAL_CALL setViewData(const css::uno::Reference< css::container::XIndexAccess > &Data) override
css::uno::Sequence< css::beans::PropertyValue > getPropertyValues() const
::sal_Int16 m_nPageFooterOption
bool query_aggregation(const css::uno::Reference< css::uno::XAggregation > &_rxAggregate, css::uno::Reference< iface > &_rxOut)
constexpr OUStringLiteral SERVICE_FIXEDLINE
cppu::PartialWeakComponentImplHelper< css::report::XReportDefinition, css::document::XEventBroadcaster, css::document::XDocumentEventBroadcaster, css::lang::XServiceInfo, css::frame::XModule, css::lang::XUnoTunnel, css::util::XNumberFormatsSupplier, css::frame::XTitle, css::frame::XTitleChangeBroadcaster, css::frame::XUntitledNumbers, css::document::XDocumentPropertiesSupplier, css::datatransfer::XTransferable, css::document::XUndoManagerSupplier, SvxUnoDrawMSFactory > ReportDefinitionBase
#define PROPERTY_TOPMARGIN
bool m_bControllersLocked
static rtl::Reference< SvXMLEmbeddedObjectHelper > Create(const css::uno::Reference< css::embed::XStorage > &,::comphelper::IEmbeddedHelper &rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode)
virtual css::uno::Reference< css::report::XSection > SAL_CALL getDetail() override
virtual sal_Bool SAL_CALL getPageHeaderOn() override
COMPHELPER_DLLPUBLIC css::uno::Reference< css::beans::XPropertySet > GenericPropertySet_CreateInstance(PropertySetInfo *pInfo)
uno::Reference< container::XIndexAccess > m_xViewData
virtual void SAL_CALL setEscapeProcessing(sal_Bool _escapeprocessing) override
uno::Reference< container::XNameAccess > m_xStyles
HRESULT createInstance(REFIID iid, Ifc **ppIfc)
virtual sal_Bool SAL_CALL getReportHeaderOn() override
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoGradientTable_createInstance(SdrModel *pModel)
SdrLayer * NewLayer(const OUString &rName, sal_uInt16 nPos=0xFFFF)
constexpr OUStringLiteral SC_UNO_PAGE_FIRSTFTRSHARED
uno::Reference< frame::XUntitledNumbers > m_xNumberedControllers
uno::Reference< report::XFunctions > m_xFunctions
#define PROPERTY_BACKTRANSPARENT
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL getViewData() override
virtual ::sal_Int16 SAL_CALL getPageHeaderOption() override
::sal_Int16 m_nGroupKeepTogether
virtual ::sal_Int16 SAL_CALL getGroupKeepTogether() override
css::uno::Type const & get()
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
constexpr OUStringLiteral SC_UNO_PAGE_PAPERTRAY
uno::Reference< uno::XInterface > SvxUnoBitmapTable_createInstance(SdrModel *pModel)
uno::Reference< report::XSection > m_xReportHeader
virtual css::uno::Reference< css::report::XSection > SAL_CALL getReportHeader() override
uno::Reference< container::XNameAccess > m_xMarkerTable
constexpr OUStringLiteral SERVICE_SHAPE
constexpr OUStringLiteral MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET_ASCII
::comphelper::OInterfaceContainerHelper3< document::XEventListener > m_aLegacyEventListeners
::comphelper::OPropertyArrayUsageHelper< OStyle > OStyle_PABASE
virtual void SAL_CALL addPropertyChangeListener(rtl::OUString const &propertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &listener) SAL_OVERRIDE
bool setPropertyValue(uno::Sequence< beans::PropertyValue > &aProp, const OUString &aName, const uno::Any &aValue)
virtual sal_Bool SAL_CALL getEscapeProcessing() override
constexpr OUStringLiteral SC_UNO_PAGE_RIGHTBORDER
uno::Reference< frame::XController > m_xCurrentController
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &...rSn)
uno::Reference< container::XNameAccess > m_xGradientTable
virtual void SAL_CALL setPageHeaderOption(::sal_Int16 _pageheaderoption) override
constexpr OUStringLiteral SC_UNO_PAGE_BOTTBORDER
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableMimeTypes() override
constexpr OUStringLiteral MIMETYPE_OASIS_OPENDOCUMENT_REPORT_ASCII
#define IMPLEMENT_FORWARD_REFCOUNT(classname, refcountbase)
void fillArgs(utl::MediaDescriptor &_aDescriptor)
static void lcl_stripLoadArguments(utl::MediaDescriptor &_rDescriptor, uno::Sequence< beans::PropertyValue > &_rArgs)
virtual css::uno::Reference< css::report::XFunctions > SAL_CALL getFunctions() override
static std::shared_ptr< rptui::OReportModel > getSdrModel(const css::uno::Reference< css::report::XReportDefinition > &_xReportDefinition)
virtual css::uno::Reference< css::report::XSection > SAL_CALL getPageHeader() override
#define PROPERTY_MIMETYPE
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &Parent) override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
void prepareSet(rtl::OUString const &propertyName, css::uno::Any const &oldValue, css::uno::Any const &newValue, BoundListeners *boundListeners)
#define PROPERTY_REPORTHEADERON
constexpr OUStringLiteral SC_UNO_PAGE_HDRRIGHTBDIS
css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
constexpr OUStringLiteral SC_UNO_PAGE_HDRTOPBOR
virtual void SAL_CALL setFilter(const OUString &_filter) override
OReportDefinition(const OReportDefinition &)=delete
constexpr OUStringLiteral SC_UNO_PAGE_FTRGRFFILT
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoHatchTable_createInstance(SdrModel *pModel)
virtual css::uno::Reference< css::report::XGroups > SAL_CALL getGroups() override
constexpr SdrLayerID RPT_LAYER_HIDDEN(2)
constexpr OUStringLiteral sMediaType
constexpr OUStringLiteral SC_UNO_PAGE_HDRRIGHTBOR
void notifyEvent(const OUString &_sEventName)
virtual void SAL_CALL unlockControllers() override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const OUString &ServiceSpecifier, const css::uno::Sequence< css::uno::Any > &Arguments) override
constexpr OUStringLiteral SC_UNO_PAGE_FTRRIGHTBDIS
constexpr OUStringLiteral SC_UNO_PAGE_HDRBOTTBOR
constexpr OUStringLiteral SC_UNO_PAGE_TOPBRDDIST
constexpr OUStringLiteral SC_UNO_PAGE_HDRBACKCOL
static css::uno::Sequence< OUString > getSupportedServiceNames_Static()
virtual void SAL_CALL setMimeType(const OUString &_mimetype) override
virtual sal_Bool SAL_CALL disableSetModified() override
bool put(const OUString &_rValueName, const VALUE_TYPE &_rValue)
uno::Reference< util::XCloneable > cloneObject(const uno::Reference< report::XReportComponent > &_xReportComponent, const uno::Reference< lang::XMultiServiceFactory > &_xFactory, const OUString &_sServiceName)
constexpr OUStringLiteral SC_UNO_PAGE_HDRLEFTBOR
uno::Reference< uno::XInterface > SvxUnoDashTable_createInstance(SdrModel *pModel)
virtual css::uno::Any SAL_CALL getPropertyValue(rtl::OUString const &propertyName) SAL_OVERRIDE
static OUString getImplementationName_Static()
#define REPORTCOMPONENT_MASTERDETAIL(clazz, arg)
virtual OUString SAL_CALL getURL() override
Sequence< sal_Int8 > aSeq
bool has(const OUString &_rValueName) const
uno::Reference< container::XNameAccess > m_xDashTable
std::shared_ptr< ::comphelper::EmbeddedObjectContainer > m_pObjectContainer
#define PROPERTY_BOTTOMMARGIN
uno::Reference< report::XSection > m_xPageFooter
constexpr OUStringLiteral SC_UNO_PAGE_FTRBACKTRAN
FILE * init(int, char **)
constexpr OUStringLiteral SC_UNO_PAGE_HDRHEIGHT
constexpr OUStringLiteral SC_UNO_PAGE_FTRBODYDIST
virtual void SAL_CALL setPageHeaderOn(sal_Bool _pageheaderon) override
constexpr OUStringLiteral SERVICE_IMAGECONTROL
constexpr OUStringLiteral SC_UNO_PAGE_FTRGRF
virtual void SAL_CALL addVetoableChangeListener(rtl::OUString const &propertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &listener) SAL_OVERRIDE
constexpr OUStringLiteral SC_UNO_PAGE_HDRSHARED
virtual sal_Bool SAL_CALL getPageFooterOn() override
#define PROPERTY_PAGEHEADEROPTION
::rtl::Reference< ::dbaui::UndoManager > m_pUndoManager
virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates(const css::uno::Sequence< OUString > &aPropertyName) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent() override
constexpr OUStringLiteral SC_UNO_PAGE_HDRLEFTMAR
std::shared_ptr< OReportComponentProperties > m_aProps
virtual void SAL_CALL removeVetoableChangeListener(rtl::OUString const &propertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &listener) SAL_OVERRIDE
virtual OUString SAL_CALL getMimeType() override
OReportDefinitionImpl(::osl::Mutex &_aMutex)
bool m_bSetModifiedEnabled
uno::WeakReference< uno::XInterface > m_xParent
static rtl::Reference< SvXMLGraphicHelper > Create(const css::uno::Reference< css::embed::XStorage > &rXMLStorage, SvXMLGraphicHelperMode eCreateMode)
uno::Reference< report::XSection > m_xReportFooter
virtual SdrModel & getSdrModelFromUnoModel() const override
abstract SdrModel provider
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
virtual void SAL_CALL disposing() override
this function is called upon disposing the component
#define PROPERTY_BACKCOLOR
bool WriteThroughComponent(const css::uno::Reference< css::lang::XComponent > &xComponent, const char *pStreamName, const char *pServiceName, const css::uno::Sequence< css::uno::Any > &rArguments, const css::uno::Sequence< css::beans::PropertyValue > &rMediaDesc, const css::uno::Reference< css::embed::XStorage > &_xStorageToSaveTo)
write a single XML stream into the package
virtual void SAL_CALL setGroupKeepTogether(::sal_Int16 _groupkeeptogether) override
virtual void SAL_CALL connectController(const css::uno::Reference< css::frame::XController > &Controller) override
virtual void SAL_CALL loadFromStorage(const css::uno::Reference< css::embed::XStorage > &xStorage, const css::uno::Sequence< css::beans::PropertyValue > &aMediaDescriptor) override
virtual void SAL_CALL setVisualAreaSize(::sal_Int64 nAspect, const css::awt::Size &aSize) override
virtual void SAL_CALL setReportFooterOn(sal_Bool _reportfooteron) override
#define PROPERTY_ACTIVECONNECTION
constexpr OUStringLiteral SC_UNO_PAGE_FTRSHARED
virtual void SAL_CALL setCurrentController(const css::uno::Reference< css::frame::XController > &Controller) override
virtual css::uno::Reference< css::embed::XStorage > SAL_CALL getDocumentSubStorage(const OUString &aStorageName, sal_Int32 nMode) override
uno::Reference< document::XDocumentProperties > m_xDocumentProperties
uno::Reference< ui::XUIConfigurationManager2 > m_xUIConfigurationManager
::cppu::PropertySetMixin< css::report::XReportDefinition > ReportDefinitionPropertySet
constexpr OUStringLiteral SC_UNO_PAGE_TOPBORDER
void set(const OUString &_sProperty, const T &Value, T &_member)
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
constexpr OUStringLiteral SC_UNO_PAGE_HDRBODYDIST
virtual css::uno::Reference< css::frame::XController > SAL_CALL getCurrentController() override
uno::Reference< sdbc::XConnection > m_xActiveConnection
uno::Reference< frame::XTitle > m_xTitleHelper
virtual css::awt::Size SAL_CALL getVisualAreaSize(::sal_Int64 nAspect) override
virtual sal_Bool SAL_CALL getReportFooterOn() override
std::shared_ptr< OReportDefinitionImpl > m_pImpl
constexpr OUStringLiteral SC_UNO_PAGE_FTRLEFTBOR
#define PROPERTY_ESCAPEPROCESSING
#define PROPERTY_PAGEFOOTERON
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &type) SAL_OVERRIDE
void set(css::uno::UnoInterfaceReference const &value)
::cppu::WeakImplHelper< container::XNameContainer, container::XIndexAccess > TStylesBASE
constexpr OUStringLiteral sHierarchicalDocumentName
#define DECLARE_XINTERFACE()
virtual void SAL_CALL addDocumentEventListener(const css::uno::Reference< css::document::XDocumentEventListener > &rListener) override
bool m_bDetectedRangeSegmentation false
constexpr OUStringLiteral SC_UNO_PAGE_HDRBRDDIST