25#include <officecfg/Office/Common.hxx>
38#include <core_resource.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>
182 using namespace rptui;
184static void lcl_setModelReadOnly(
const uno::Reference< embed::XStorage >& _xStorage,std::shared_ptr<rptui::OReportModel>
const & _rModel)
186 uno::Reference<beans::XPropertySet> xProp(_xStorage,uno::UNO_QUERY);
187 sal_Int32 nOpenMode = embed::ElementModes::READ;
189 xProp->getPropertyValue(
"OpenMode") >>= nOpenMode;
191 _rModel->SetReadOnly((nOpenMode & embed::ElementModes::WRITE) != embed::ElementModes::WRITE);
195 _rDescriptor.erase(
"StatusIndicator" );
196 _rDescriptor.erase(
"InteractionHandler" );
197 _rDescriptor.erase(
"Model" );
198 _rDescriptor >> _rArgs;
202 uno::Sequence< uno::Any >& _rCallArgs )
207 if ( _rxStatusIndicator.is() )
209 _rxStatusIndicator->start( OUString(), sal_Int32(1000000) );
211 sal_Int32
nLength = _rCallArgs.getLength();
212 _rCallArgs.realloc(
nLength + 1 );
213 _rCallArgs.getArray()[
nLength ] <<= _rxStatusIndicator;
216 catch (
const uno::Exception&)
232typedef ::cppu::WeakImplHelper< style::XStyle, beans::XMultiPropertyStates>
TStyleBASE;
244 void getPropertyDefaultByHandle( sal_Int32 _nHandle,
uno::Any& _rDefault )
const override;
245 virtual ~OStyle()
override {}
253 css::
uno::Reference<css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() override;
254 ::
cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() override;
255 ::
cppu::IPropertyArrayHelper* createArrayHelper( ) const override;
258 sal_Bool SAL_CALL isUserDefined( ) override;
259 sal_Bool SAL_CALL isInUse( ) override;
260 OUString SAL_CALL getParentStyle( ) override;
261 void SAL_CALL setParentStyle( const OUString& aParentStyle ) override;
264 OUString SAL_CALL getName( ) override;
265 void SAL_CALL setName( const OUString& aName ) override;
268 uno::Sequence< beans::PropertyState > SAL_CALL getPropertyStates( const
uno::Sequence< OUString >& aPropertyNames )
override
272 void SAL_CALL setAllPropertiesToDefault( )
override;
273 void SAL_CALL setPropertiesToDefault(
const uno::Sequence< OUString >& aPropertyNames )
override;
274 uno::Sequence< uno::Any > SAL_CALL getPropertyDefaults(
const uno::Sequence< OUString >& aPropertyNames )
override;
284 m_aSize.Height = aDefaultSize.Height();
285 m_aSize.Width = aDefaultSize.Width();
287 const sal_Int32 nMargin = 2000;
288 const sal_Int32 nBound = beans::PropertyAttribute::BOUND;
289 const sal_Int32 nMayBeVoid = beans::PropertyAttribute::MAYBEVOID;
374 registerPropertyNoMember(
"PrinterSetup", ++i,nBound,
cppu::UnoType<uno::Sequence<sal_Int8>>::get(), css::uno::Any(uno::Sequence<sal_Int8>()));
381uno::Reference< beans::XPropertySetInfo> SAL_CALL OStyle::getPropertySetInfo()
383 return createPropertySetInfo( getInfoHelper() );
386void OStyle::getPropertyDefaultByHandle( sal_Int32 ,
uno::Any& )
const
392 return *getArrayHelper();
397 uno::Sequence< beans::Property > aProps;
398 describeProperties(aProps);
399 return new ::cppu::OPropertyArrayHelper(aProps);
403sal_Bool SAL_CALL OStyle::isUserDefined( )
413OUString SAL_CALL OStyle::getParentStyle( )
418void SAL_CALL OStyle::setParentStyle(
const OUString& )
423OUString SAL_CALL OStyle::getName( )
430void SAL_CALL OStyle::setName(
const OUString& aName )
435void SAL_CALL OStyle::setAllPropertiesToDefault( )
439void SAL_CALL OStyle::setPropertiesToDefault(
const uno::Sequence< OUString >& aPropertyNames )
441 for(
const OUString& rName : aPropertyNames)
442 setPropertyToDefault(rName);
445uno::Sequence< uno::Any > SAL_CALL OStyle::getPropertyDefaults(
const uno::Sequence< OUString >& aPropertyNames )
447 uno::Sequence< uno::Any > aRet(aPropertyNames.getLength());
448 std::transform(aPropertyNames.begin(), aPropertyNames.end(), aRet.getArray(),
449 [
this](
const OUString& rName) ->
uno::Any { return getPropertyDefault(rName); });
462 uno::Sequence< beans::PropertyValue >
m_aArgs;
489 std::shared_ptr< ::comphelper::EmbeddedObjectContainer>
511 :m_aStorageChangeListeners(_aMutex)
512 ,m_aCloseListener(_aMutex)
513 ,m_aModifyListeners(_aMutex)
514 ,m_aLegacyEventListeners(_aMutex)
515 ,m_aDocEventListeners(_aMutex)
519 ,m_aVisualAreaSize( 8000, 7000 )
520 ,m_nAspect(embed::Aspects::MSOLE_CONTENT)
521 ,m_nGroupKeepTogether(0)
522 ,m_nPageHeaderOption(0)
523 ,m_nPageFooterOption(0)
525 ,m_bControllersLocked(false)
527 ,m_bEscapeProcessing(true)
528 ,m_bSetModifiedEnabled( true )
532OReportDefinition::OReportDefinition(uno::Reference< uno::XComponentContext >
const & _xContext)
533: ::
cppu::BaseMutex(),
541 osl_atomic_increment(&m_refCount);
548 osl_atomic_decrement( &m_refCount );
552 uno::Reference< uno::XComponentContext >
const & _xContext,
553 const uno::Reference< lang::XMultiServiceFactory>& _xFactory,
554 uno::Reference< drawing::XShape >& _xShape)
555: ::
cppu::BaseMutex(),
564 osl_atomic_increment(&m_refCount);
566 m_aProps->setShape(_xShape,
this,m_refCount);
572 osl_atomic_decrement( &m_refCount );
577 if ( !ReportDefinitionBase::rBHelper.bInDispose && !ReportDefinitionBase::rBHelper.bDisposed )
589 m_pImpl->m_pReportModel = std::make_shared<OReportModel>(
this);
590 m_pImpl->m_pReportModel->GetItemPool().FreezeIdRanges();
591 m_pImpl->m_pReportModel->SetScaleUnit( MapUnit::Map100thMM );
598 m_pImpl->m_pReportModel->SetSdrUndoManager( &
m_pImpl->m_pUndoManager->GetSfxUndoManager() );
601 if ( !
m_pImpl->m_xStorage.is() )
604 uno::Reference<beans::XPropertySet> xStorProps(
m_pImpl->m_xStorage,uno::UNO_QUERY);
605 if ( xStorProps.is())
608 xStorProps->getPropertyValue(
"MediaType") >>=
sMediaType;
612 m_pImpl->m_pObjectContainer = std::make_shared<comphelper::EmbeddedObjectContainer>(
m_pImpl->m_xStorage , getXWeak() );
614 catch (
const uno::Exception&)
623 cppu::WeakComponentImplHelperBase::dispose();
630 uno::Reference< frame::XModel > xHoldAlive(
this );
632 lang::EventObject aDisposeEvent( getXWeak() );
633 m_pImpl->m_aModifyListeners.disposeAndClear( aDisposeEvent );
634 m_pImpl->m_aCloseListener.disposeAndClear( aDisposeEvent );
635 m_pImpl->m_aLegacyEventListeners.disposeAndClear( aDisposeEvent );
636 m_pImpl->m_aDocEventListeners.disposeAndClear( aDisposeEvent );
637 m_pImpl->m_aStorageChangeListeners.disposeAndClear( aDisposeEvent );
644 m_pImpl->m_aControllers.clear();
646 ::comphelper::disposeComponent(
m_pImpl->m_xGroups);
647 m_pImpl->m_xReportHeader.clear();
648 m_pImpl->m_xReportFooter.clear();
649 m_pImpl->m_xPageHeader.clear();
650 m_pImpl->m_xPageFooter.clear();
652 ::comphelper::disposeComponent(
m_pImpl->m_xFunctions);
661 m_pImpl->m_xCurrentController.clear();
662 m_pImpl->m_xNumberFormatsSupplier.clear();
664 m_pImpl->m_xXMLNamespaceMap.clear();
665 m_pImpl->m_xGradientTable.clear();
666 m_pImpl->m_xHatchTable.clear();
667 m_pImpl->m_xBitmapTable.clear();
668 m_pImpl->m_xTransparencyGradientTable.clear();
670 m_pImpl->m_xMarkerTable.clear();
671 m_pImpl->m_xUIConfigurationManager.clear();
672 m_pImpl->m_pReportModel.reset();
673 m_pImpl->m_pObjectContainer.reset();
675 m_pImpl->m_xTitleHelper.clear();
676 m_pImpl->m_xNumberedControllers.clear();
684 return "com.sun.star.comp.report.OReportDefinition";
702 uno::Sequence< OUString > aSupported;
703 if (
m_aProps->m_xServiceInfo.is() )
704 aSupported =
m_aProps->m_xServiceInfo->getSupportedServiceNames();
709 sal_Int32 nLen = aSupported.getLength();
710 aSupported.realloc( nLen + 1 );
725 uno::Any aReturn = ReportDefinitionBase::queryInterface(_rType);
729 return aReturn.
hasValue() ? aReturn : (
m_aProps->m_xProxy.is() ?
m_aProps->m_xProxy->queryAggregation(_rType) : aReturn);
731uno::Sequence< uno::Type > SAL_CALL OReportDefinition::getTypes( )
733 if (
m_aProps->m_xTypeProvider.is() )
734 return ::comphelper::concatSequences(
735 ReportDefinitionBase::getTypes(),
736 m_aProps->m_xTypeProvider->getTypes()
738 return ReportDefinitionBase::getTypes();
761 return m_pImpl->m_nGroupKeepTogether;
766 if ( _groupkeeptogether < report::GroupKeepTogether::PER_PAGE || _groupkeeptogether > report::GroupKeepTogether::PER_COLUMN )
776 return m_pImpl->m_nPageHeaderOption;
781 if ( _pageheaderoption < report::ReportPrintOption::ALL_PAGES || _pageheaderoption > report::ReportPrintOption::NOT_WITH_REPORT_HEADER_FOOTER )
791 return m_pImpl->m_nPageFooterOption;
796 if ( _pagefooteroption < report::ReportPrintOption::ALL_PAGES || _pagefooteroption > report::ReportPrintOption::NOT_WITH_REPORT_HEADER_FOOTER )
817 return m_pImpl->m_nCommandType;
822 if ( _commandtype < sdb::CommandType::TABLE || _commandtype > sdb::CommandType::COMMAND )
843 return m_pImpl->m_bEscapeProcessing;
854 return m_pImpl->m_xReportHeader.is();
859 if (
bool(_reportheaderon) !=
m_pImpl->m_xReportHeader.is() )
868 return m_pImpl->m_xReportFooter.is();
873 if (
bool(_reportfooteron) !=
m_pImpl->m_xReportFooter.is() )
882 return m_pImpl->m_xPageHeader.is();
887 if (
bool(_pageheaderon) !=
m_pImpl->m_xPageHeader.is() )
896 return m_pImpl->m_xPageFooter.is();
901 if (
bool(_pagefooteron) !=
m_pImpl->m_xPageFooter.is() )
916 if ( !
m_pImpl->m_xReportHeader.is() )
917 throw container::NoSuchElementException();
918 return m_pImpl->m_xReportHeader;
924 if ( !
m_pImpl->m_xPageHeader.is() )
925 throw container::NoSuchElementException();
938 if ( !
m_pImpl->m_xPageFooter.is() )
939 throw container::NoSuchElementException();
946 if ( !
m_pImpl->m_xReportFooter.is() )
947 throw container::NoSuchElementException();
948 return m_pImpl->m_xReportFooter;
953 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1000 ::osl::MutexGuard aGuard(
m_aMutex);
1001 uno::Reference< container::XChild > xChild;
1004 return xChild->getParent();
1010 ::osl::MutexGuard aGuard(
m_aMutex);
1011 m_aProps->m_xParent = uno::Reference< container::XChild >(
Parent,uno::UNO_QUERY);
1013 uno::Reference< container::XChild > xChild;
1016 xChild->setParent(
Parent);
1022 OSL_FAIL(
"Not yet implemented correctly");
1023 uno::Reference< report::XReportComponent> xSource =
this;
1030 ,
const OUString& _sName
1031 ,uno::Reference< report::XSection>& _member)
1035 ::osl::MutexGuard aGuard(
m_aMutex);
1039 if ( _bOn && !_member.is() )
1042 ::comphelper::disposeComponent(_member);
1045 _member->setName(_sName);
1053 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1054 if ( _xListener.is() )
1055 m_pImpl->m_aCloseListener.addInterface(_xListener);
1060 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1061 m_pImpl->m_aCloseListener.removeInterface(_xListener);
1069 ::osl::ResettableMutexGuard aGuard(
m_aMutex);
1070 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1072 lang::EventObject aEvt( getXWeak() );
1074 m_pImpl->m_aCloseListener.forEach(
1075 [&aEvt, &bDeliverOwnership] (uno::Reference<util::XCloseListener>
const& xListener) {
1076 return xListener->queryClosing(aEvt, bDeliverOwnership);
1081 ::std::vector< uno::Reference< frame::XController> > aCopy =
m_pImpl->m_aControllers;
1082 for (
auto& rxController : aCopy)
1084 if ( rxController.is() )
1088 uno::Reference< util::XCloseable>
xFrame( rxController->getFrame(), uno::UNO_QUERY );
1090 xFrame->close( bDeliverOwnership );
1092 catch (
const util::CloseVetoException&) {
throw; }
1093 catch (
const uno::Exception&)
1101 m_pImpl->m_aCloseListener.notifyEach(&util::XCloseListener::notifyClosing,aEvt);
1113 ::osl::MutexGuard aGuard(
m_aMutex);
1114 ::connectivity::checkDisposed( ReportDefinitionBase::rBHelper.bDisposed );
1117 m_pImpl->m_pUndoManager->GetSfxUndoManager().EnableUndo(
false );
1121 m_pImpl->m_pReportModel->SetModified(
false);
1125 m_pImpl->m_pUndoManager->GetSfxUndoManager().EnableUndo(
true );
1128 m_pImpl->m_pUndoManager->GetSfxUndoManager().EnableUndo(
true );
1134 uno::Sequence<beans::PropertyValue> aComponentData;
1135 aComponentData = _aDescriptor.getUnpackedValueOrDefault(
"ComponentData",aComponentData);
1136 if ( aComponentData.hasElements() && (!
m_pImpl->m_xActiveConnection.is() || !
m_pImpl->m_xNumberFormatsSupplier.is()) )
1142 if ( !
m_pImpl->m_xNumberFormatsSupplier.is() )
1144 m_pImpl->m_xNumberFormatsSupplier.set( util::NumberFormatsSupplier::createWithDefaultLocale(
m_aProps->m_xContext ) );
1148 sCaption = _aDescriptor.getUnpackedValueOrDefault(
"DocumentTitle",sCaption);
1159 ::osl::MutexGuard aGuard(
m_aMutex);
1160 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1166 ::osl::MutexGuard aGuard(
m_aMutex);
1167 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1168 m_pImpl->m_aControllers.push_back(_xController);
1169 if ( _xController.is() &&
m_pImpl->m_xViewData.is() )
1173 _xController->restoreViewData(
m_pImpl->m_xViewData->getByIndex(
nCount - 1));
1179 ::osl::MutexGuard aGuard(
m_aMutex);
1180 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1181 ::std::vector< uno::Reference< frame::XController> >::iterator aFind = ::std::find(
m_pImpl->m_aControllers.begin(),
m_pImpl->m_aControllers.end(),_xController);
1182 if ( aFind !=
m_pImpl->m_aControllers.end() )
1183 m_pImpl->m_aControllers.erase(aFind);
1184 if (
m_pImpl->m_xCurrentController == _xController )
1185 m_pImpl->m_xCurrentController.clear();
1190 ::osl::MutexGuard aGuard(
m_aMutex);
1191 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1192 m_pImpl->m_bControllersLocked =
true;
1197 ::osl::MutexGuard aGuard(
m_aMutex);
1198 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1199 m_pImpl->m_bControllersLocked =
false;
1204 ::osl::MutexGuard aGuard(
m_aMutex);
1205 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1206 return m_pImpl->m_bControllersLocked;
1211 ::osl::MutexGuard aGuard(
m_aMutex);
1212 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1213 return m_pImpl->m_xCurrentController;
1218 ::osl::MutexGuard aGuard(
m_aMutex);
1219 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1220 if ( ::std::find(
m_pImpl->m_aControllers.begin(),
m_pImpl->m_aControllers.end(),_xController) ==
m_pImpl->m_aControllers.end() )
1221 throw container::NoSuchElementException();
1222 m_pImpl->m_xCurrentController = _xController;
1227 return uno::Reference< uno::XInterface >();
1231 const uno::Sequence< beans::PropertyValue >& _aMediaDescriptor )
1233 m_pImpl->m_xStorage = _xStorageToLoadFrom;
1237 aDescriptor.createItemIfMissing(
"Storage",
uno::Any(_xStorageToLoadFrom));
1239 uno::Sequence< uno::Any > aDelegatorArguments(_aMediaDescriptor.getLength());
1240 uno::Any* pIter = aDelegatorArguments.getArray();
1241 uno::Any* pEnd = pIter + aDelegatorArguments.getLength();
1242 for(sal_Int32
i = 0;pIter != pEnd;++pIter,++
i)
1244 *pIter <<= _aMediaDescriptor[
i];
1246 sal_Int32
nPos = aDelegatorArguments.getLength();
1247 aDelegatorArguments.realloc(
nPos+1);
1248 beans::PropertyValue aPropVal;
1249 aPropVal.Name =
"Storage";
1250 aPropVal.Value <<= _xStorageToLoadFrom;
1251 aDelegatorArguments.getArray()[
nPos] <<= aPropVal;
1256 uno::Reference< document::XFilter > xFilter(
1257 m_aProps->m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
"com.sun.star.comp.report.OReportFilter",aDelegatorArguments,
m_aProps->m_xContext),
1258 uno::UNO_QUERY_THROW );
1260 uno::Reference< document::XImporter> xImporter(xFilter,uno::UNO_QUERY_THROW);
1261 uno::Reference<XComponent> xComponent(getXWeak(),uno::UNO_QUERY);
1262 xImporter->setTargetDocument(xComponent);
1265 aTemp << aDelegatorArguments;
1266 xFilter->filter(aTemp.getAsConstPropertyValueList());
1269 m_pImpl->m_pObjectContainer->SwitchPersistence(
m_pImpl->m_xStorage);
1275 ,
const uno::Sequence< beans::PropertyValue >& _aMediaDescriptor )
1277 ::osl::MutexGuard aGuard(
m_aMutex);
1278 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1285 if ( !_xStorageToSaveTo.is() )
1286 throw lang::IllegalArgumentException(
RptResId(RID_STR_ARGUMENT_IS_NULL),*
this,1);
1289 ::osl::MutexGuard aGuard(
m_aMutex);
1290 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1292 uno::Reference<task::XStatusIndicator> xStatusIndicator;
1293 uno::Sequence< uno::Any > aDelegatorArguments;
1296 bool AutoSaveEvent =
false;
1300 uno::Sequence < beans::PropertyValue > aProps;
1303 uno::Reference< beans::XPropertySet> xProp(_xStorageToSaveTo,uno::UNO_QUERY);
1306 static constexpr OUStringLiteral sPropName =
u"MediaType";
1307 OUString sOldMediaType;
1308 xProp->getPropertyValue(sPropName) >>= sOldMediaType;
1323 xInfoSet->setPropertyValue(
"UsePrettyPrinting",
uno::Any(officecfg::Office::Common::Save::Document::PrettyPrinting::get()));
1324 if ( officecfg::Office::Common::Save::URL::FileSystem::get() )
1327 xInfoSet->setPropertyValue(
"BaseURI",
uno::Any(sVal));
1329 const OUString
sHierarchicalDocumentName( aDescriptor.getUnpackedValueOrDefault(
"HierarchicalDocumentName",OUString()) );
1333 sal_Int32 nArgsLen = aDelegatorArguments.getLength();
1334 aDelegatorArguments.realloc(nArgsLen+3);
1335 auto pDelegatorArguments = aDelegatorArguments.getArray();
1336 pDelegatorArguments[nArgsLen++] <<= xInfoSet;
1338 uno::Reference< document::XEmbeddedObjectResolver > xObjectResolver;
1339 uno::Reference<document::XGraphicStorageHandler> xGraphicStorageHandler;
1341 xGraphicStorageHandler = xGraphicHelper.get();
1342 xGraphicHelper.clear();
1345 pDelegatorArguments[nArgsLen++] <<= xGraphicStorageHandler;
1346 pDelegatorArguments[nArgsLen++] <<= xObjectResolver;
1348 uno::Reference<XComponent> xCom(getXWeak(),uno::UNO_QUERY);
1351 xInfoSet->setPropertyValue(
"StreamName",
uno::Any(OUString(
"settings.xml")));
1353 aDelegatorArguments, aProps, _xStorageToSaveTo);
1355 xInfoSet->setPropertyValue(
"StreamName",
uno::Any(OUString(
"meta.xml")));
1357 aDelegatorArguments, aProps, _xStorageToSaveTo);
1359 xInfoSet->setPropertyValue(
"StreamName",
uno::Any(OUString(
"styles.xml")));
1361 aDelegatorArguments, aProps, _xStorageToSaveTo);
1363 xInfoSet->setPropertyValue(
"StreamName",
uno::Any(OUString(
"content.xml")));
1365 aDelegatorArguments, aProps, _xStorageToSaveTo);
1368 uno::Reference< embed::XVisualObject > xCurrentController(
getCurrentController(),uno::UNO_QUERY);
1369 if ( xCurrentController.is() )
1371 xCurrentController->setVisualAreaSize(
m_pImpl->m_nAspect,
m_pImpl->m_aVisualAreaSize);
1372 aImage = xCurrentController->getPreferredVisualRepresentation(
m_pImpl->m_nAspect ).Data;
1376 uno::Sequence<sal_Int8>
aSeq;
1378 uno::Reference<io::XInputStream>
xStream = new ::comphelper::SequenceInputStream(
aSeq );
1379 m_pImpl->m_pObjectContainer->InsertGraphicStreamDirectly(
xStream,
"report",
"image/png");
1384 bool bPersist =
false;
1385 if ( _xStorageToSaveTo ==
m_pImpl->m_xStorage )
1386 bPersist =
m_pImpl->m_pObjectContainer->StoreChildren(
true,
false);
1388 bPersist =
m_pImpl->m_pObjectContainer->StoreAsChildren(
true,
true,AutoSaveEvent,_xStorageToSaveTo);
1391 m_pImpl->m_pObjectContainer->SetPersistentEntries(
m_pImpl->m_xStorage);
1394 uno::Reference<embed::XTransactedObject> xTransact(_xStorageToSaveTo,uno::UNO_QUERY);
1395 if ( xTransact.is() )
1396 xTransact->commit();
1398 catch (
const uno::Exception&)
1401 throw io::IOException();
1404 if ( _xStorageToSaveTo ==
m_pImpl->m_xStorage )
1407 if ( xStatusIndicator.is() )
1408 xStatusIndicator->end();
1412 const uno::Reference< embed::XStorage >& xStorage)
1415 throw lang::IllegalArgumentException(
RptResId(RID_STR_ARGUMENT_IS_NULL),*
this,1);
1417 ::osl::MutexGuard aGuard(
m_aMutex);
1418 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1419 m_pImpl->m_xStorage = xStorage;
1421 m_pImpl->m_pObjectContainer->SwitchPersistence(
m_pImpl->m_xStorage);
1424 m_pImpl->m_aStorageChangeListeners.forEach(
1425 [
this, &xStorage] (uno::Reference<document::XStorageChangeListener>
const& xListener) {
1426 return xListener->notifyStorageChange(getXWeak(), xStorage);
1432 ::osl::MutexGuard aGuard(
m_aMutex);
1433 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1439 ::osl::MutexGuard aGuard(
m_aMutex);
1440 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1441 if ( xListener.is() )
1442 m_pImpl->m_aStorageChangeListeners.addInterface(xListener);
1447 ::osl::MutexGuard aGuard(
m_aMutex);
1448 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1449 m_pImpl->m_aStorageChangeListeners.removeInterface(xListener);
1453 const uno::Reference<lang::XComponent> & xComponent,
1454 const char* pStreamName,
1455 const char* pServiceName,
1456 const uno::Sequence<uno::Any> & rArguments,
1457 const uno::Sequence<beans::PropertyValue> & rMediaDesc,
1458 const uno::Reference<embed::XStorage>& _xStorageToSaveTo)
1460 OSL_ENSURE(
nullptr != pStreamName,
"Need stream name!" );
1461 OSL_ENSURE(
nullptr != pServiceName,
"Need service name!" );
1464 OUString sStreamName = OUString::createFromAscii( pStreamName );
1465 uno::Reference<io::XStream>
xStream = _xStorageToSaveTo->openStreamElement( sStreamName,embed::ElementModes::READWRITE | embed::ElementModes::TRUNCATE );
1468 uno::Reference<io::XOutputStream> xOutputStream =
xStream->getOutputStream();
1469 OSL_ENSURE(xOutputStream.is(),
"Can't create output stream in package!");
1470 if ( ! xOutputStream.is() )
1473 uno::Reference<beans::XPropertySet> xStreamProp(xOutputStream,uno::UNO_QUERY);
1474 OSL_ENSURE(xStreamProp.is(),
"No valid property set for the output stream!");
1476 uno::Reference<io::XSeekable> xSeek(xStreamProp,uno::UNO_QUERY);
1482 xStreamProp->setPropertyValue(
"MediaType",
uno::Any(OUString(
"text/xml")) );
1485 xStreamProp->setPropertyValue(
"UseCommonStoragePasswordEncryption",
1492 xOutputStream, xComponent,
1493 pServiceName, rArguments, rMediaDesc );
1499 const uno::Reference<io::XOutputStream> & xOutputStream,
1500 const uno::Reference<lang::XComponent> & xComponent,
1501 const char* pServiceName,
1502 const uno::Sequence<uno::Any> & rArguments,
1503 const uno::Sequence<beans::PropertyValue> & rMediaDesc)
1505 OSL_ENSURE( xOutputStream.is(),
"I really need an output stream!" );
1506 OSL_ENSURE( xComponent.is(),
"Need component!" );
1507 OSL_ENSURE(
nullptr != pServiceName,
"Need component name!" );
1510 uno::Reference< xml::sax::XWriter > xSaxWriter(
1511 xml::sax::Writer::create(
m_aProps->m_xContext) );
1514 xSaxWriter->setOutputStream( xOutputStream );
1517 uno::Sequence<uno::Any> aArgs( 1 + rArguments.getLength() );
1518 auto pArgs = aArgs.getArray();
1519 *pArgs <<= xSaxWriter;
1520 std::copy(rArguments.begin(), rArguments.end(), std::next(pArgs));
1523 uno::Reference< document::XExporter > xExporter(
1524 m_aProps->m_xContext->getServiceManager()->createInstanceWithArgumentsAndContext(
1525 OUString::createFromAscii(pServiceName), aArgs,
m_aProps->m_xContext), uno::UNO_QUERY);
1526 OSL_ENSURE( xExporter.is(),
1527 "can't instantiate export filter component" );
1528 if( !xExporter.is() )
1532 xExporter->setSourceDocument( xComponent );
1535 uno::Reference<document::XFilter> xFilter( xExporter, uno::UNO_QUERY );
1536 return xFilter->filter( rMediaDesc );
1548 ::osl::MutexGuard aGuard(
m_aMutex);
1549 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1557 uno::Reference< io::XInputStream >
xStream;
1573 aArguments.get_ensureType(
"FileName", sURL );
1585 else if ( !sURL.isEmpty() )
1586 aStorageSource <<= sURL;
1588 throw lang::IllegalArgumentException(
1589 "No input source (URL or InputStream) found.",
1595 uno::Reference< lang::XSingleServiceFactory > xStorageFactory( embed::StorageFactory::create(
m_aProps->m_xContext ) );
1598 uno::Reference< embed::XStorage > xDocumentStorage;
1599 const sal_Int32 nOpenModes[2] = {
1600 embed::ElementModes::READWRITE,
1601 embed::ElementModes::READ
1603 size_t nFirstOpenMode = 0;
1611 for (
size_t i=nFirstOpenMode;
i <= nLastOpenMode; ++
i )
1613 uno::Sequence< uno::Any > aStorageCreationArgs{ aStorageSource,
uno::Any(nOpenModes[
i]) };
1617 xDocumentStorage.set( xStorageFactory->createInstanceWithArguments( aStorageCreationArgs ), uno::UNO_QUERY_THROW );
1619 catch (
const uno::Exception&)
1621 if (
i == nLastOpenMode )
1624 throw lang::WrappedTargetException(
1625 "An error occurred while creating the document storage.",
1634 if ( !xDocumentStorage.is() )
1636 throw uno::RuntimeException();
1639 if (!
aArguments.has(
"DocumentBaseURL") && !sURL.isEmpty())
1652 ::osl::MutexGuard aGuard(
m_aMutex);
1653 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1655 (
m_pImpl->m_aVisualAreaSize.Width != _aSize.Width ||
1656 m_pImpl->m_aVisualAreaSize.Height != _aSize.Height);
1657 m_pImpl->m_aVisualAreaSize = _aSize;
1660 m_pImpl->m_nAspect = _nAspect;
1665 ::osl::MutexGuard aGuard(
m_aMutex);
1666 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1667 return m_pImpl->m_aVisualAreaSize;
1672 ::osl::MutexGuard aGuard(
m_aMutex);
1673 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1674 embed::VisualRepresentation aResult;
1676 uno::Reference<io::XInputStream>
xStream =
m_pImpl->m_pObjectContainer->GetGraphicStream(
"report", &sMimeType);
1679 uno::Sequence<sal_Int8>
aSeq;
1682 aResult.Data <<=
aSeq;
1683 aResult.Flavor.MimeType = sMimeType;
1692 return embed::EmbedMapUnits::ONE_100TH_MM;
1698 ::osl::MutexGuard aGuard(
m_aMutex );
1699 ::connectivity::checkDisposed( ReportDefinitionBase::rBHelper.bDisposed );
1701 const bool bWasEnabled =
m_pImpl->m_bSetModifiedEnabled;
1702 m_pImpl->m_bSetModifiedEnabled =
false;
1708 ::osl::MutexGuard aGuard(
m_aMutex );
1709 ::connectivity::checkDisposed( ReportDefinitionBase::rBHelper.bDisposed );
1711 const bool bWasEnabled =
m_pImpl->m_bSetModifiedEnabled;
1712 m_pImpl->m_bSetModifiedEnabled =
true;
1718 ::osl::MutexGuard aGuard(
m_aMutex );
1719 ::connectivity::checkDisposed( ReportDefinitionBase::rBHelper.bDisposed );
1721 return m_pImpl->m_bSetModifiedEnabled;
1727 ::osl::MutexGuard aGuard(
m_aMutex);
1728 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1734 osl::ClearableMutexGuard aGuard(
m_aMutex);
1735 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1737 if ( !
m_pImpl->m_bSetModifiedEnabled )
1740 if (
m_pImpl->m_pReportModel->IsReadOnly() && _bModified )
1741 throw beans::PropertyVetoException();
1742 if (
m_pImpl->m_bModified !=
bool(_bModified) )
1744 m_pImpl->m_bModified = _bModified;
1745 if (
m_pImpl->m_pReportModel->IsChanged() !=
bool(_bModified) )
1746 m_pImpl->m_pReportModel->SetChanged(_bModified);
1748 lang::EventObject
aEvent(*
this);
1750 m_pImpl->m_aModifyListeners.notifyEach(&util::XModifyListener::modified,
aEvent);
1758 ::osl::MutexGuard aGuard(
m_aMutex);
1759 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1760 if ( _xListener.is() )
1761 m_pImpl->m_aModifyListeners.addInterface(_xListener);
1766 ::osl::MutexGuard aGuard(
m_aMutex);
1767 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1768 m_pImpl->m_aModifyListeners.removeInterface(_xListener);
1775 osl::ClearableMutexGuard aGuard(
m_aMutex);
1776 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1777 document::EventObject aEvt(*
this, _sEventName);
1779 m_pImpl->m_aLegacyEventListeners.notifyEach(&document::XEventListener::notifyEvent,aEvt);
1781 catch (
const uno::Exception&)
1793 osl::ClearableMutexGuard aGuard(
m_aMutex);
1794 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1795 document::DocumentEvent aEvt(*
this, rEventName, rViewController, rSupplement);
1797 m_pImpl->m_aDocEventListeners.notifyEach(&document::XDocumentEventListener::documentEventOccured,aEvt);
1799 catch (
const uno::Exception&)
1806 ::osl::MutexGuard aGuard(
m_aMutex);
1807 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1808 if ( rListener.is() )
1809 m_pImpl->m_aDocEventListeners.addInterface(rListener);
1814 ::osl::MutexGuard aGuard(
m_aMutex);
1815 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1816 m_pImpl->m_aDocEventListeners.removeInterface(rListener);
1822 ::osl::MutexGuard aGuard(
m_aMutex);
1823 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1824 if ( _xListener.is() )
1825 m_pImpl->m_aLegacyEventListeners.addInterface(_xListener);
1830 ::osl::MutexGuard aGuard(
m_aMutex);
1831 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1832 m_pImpl->m_aLegacyEventListeners.removeInterface(_xListener);
1838 ::osl::MutexGuard aGuard(
m_aMutex);
1839 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1840 if ( !
m_pImpl->m_xViewData.is() )
1843 m_pImpl->m_xViewData = xNewViewData;
1844 for (
const auto& rxController :
m_pImpl->m_aControllers)
1846 if ( rxController.is() )
1850 xNewViewData->insertByIndex(xNewViewData->getCount(), rxController->getViewData());
1852 catch (
const uno::Exception&)
1864 ::osl::MutexGuard aGuard(
m_aMutex);
1865 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1871 ::osl::MutexGuard aGuard(
m_aMutex);
1872 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1883 ::osl::MutexGuard aGuard(
m_aMutex);
1884 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1886 if ( !
m_pImpl->m_xUIConfigurationManager.is() )
1888 m_pImpl->m_xUIConfigurationManager = ui::UIConfigurationManager::create(
m_aProps->m_xContext);
1890 uno::Reference< embed::XStorage > xConfigStorage;
1892 m_pImpl->m_xUIConfigurationManager->setStorage( xConfigStorage );
1895 return m_pImpl->m_xUIConfigurationManager;
1900 ::osl::MutexGuard aGuard(
m_aMutex);
1901 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1902 return m_pImpl->m_xStorage->openStorageElement(aStorageName, nMode);
1907 ::osl::MutexGuard aGuard(
m_aMutex);
1908 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1909 uno::Reference<container::XNameAccess> xNameAccess =
m_pImpl->m_xStorage;
1910 return xNameAccess.is() ? xNameAccess->getElementNames() : uno::Sequence< OUString >();
1915 ::osl::MutexGuard aGuard(
m_aMutex);
1916 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1922 ::osl::MutexGuard aGuard(
m_aMutex);
1923 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1925 if ( ::std::find(aList.begin(), aList.end(), _mimetype) == aList.end() )
1941 if (comphelper::isUnoTunnelId<OReportDefinition>(rId) )
1945 uno::Reference< lang::XUnoTunnel> xUnoTunnel(
m_pImpl->m_xNumberFormatsSupplier,uno::UNO_QUERY);
1946 if ( xUnoTunnel.is() )
1947 nRet = xUnoTunnel->getSomething(rId);
1951 uno::Reference< lang::XUnoTunnel> xTunnel;
1952 ::comphelper::query_aggregation(
m_aProps->m_xProxy,xTunnel);
1954 nRet = xTunnel->getSomething(rId);
1960uno::Sequence< sal_Int8 > SAL_CALL OReportDefinition::getImplementationId( )
1962 return css::uno::Sequence<sal_Int8>();
1973 ::osl::MutexGuard aGuard(
m_aMutex);
1974 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1980 std::shared_ptr<rptui::OReportModel> pReportModel;
1981 auto pReportDefinition = comphelper::getFromUnoTunnel<OReportDefinition>(_xReportDefinition);
1982 if (pReportDefinition)
1983 pReportModel = pReportDefinition->m_pImpl->m_pReportModel;
1984 return pReportModel;
1989 OSL_ENSURE(
m_pImpl->m_pReportModel,
"No SdrModel in ReportDesign, should not happen");
1990 return *
m_pImpl->m_pReportModel;
1995 ::osl::MutexGuard aGuard(
m_aMutex);
1996 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
1998 uno::Reference< uno::XInterface > xRet;
1999 if ( aServiceSpecifier.startsWith(
"com.sun.star.document.ImportEmbeddedObjectResolver") )
2001 uno::Reference< embed::XStorage > xStorage;
2004 beans::NamedValue aValue;
2006 if ( aValue.Name ==
"Storage" )
2007 aValue.Value >>= xStorage;
2009 m_pImpl->m_pObjectContainer->SwitchPersistence(xStorage);
2017 ::osl::MutexGuard aGuard(
m_aMutex);
2018 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2019 uno::Reference< drawing::XShape > xShape;
2020 if ( aServiceSpecifier.startsWith(
"com.sun.star.report." ) )
2032 else if ( aServiceSpecifier.startsWith(
"com.sun.star.form.component." ) )
2034 xShape.set(
m_aProps->m_xContext->getServiceManager()->createInstanceWithContext(aServiceSpecifier,
m_aProps->m_xContext),uno::UNO_QUERY);
2036 else if ( aServiceSpecifier ==
"com.sun.star.style.PageStyle" ||
2037 aServiceSpecifier ==
"com.sun.star.style.FrameStyle" ||
2038 aServiceSpecifier ==
"com.sun.star.style.GraphicStyle"
2041 uno::Reference< style::XStyle> xStyle =
new OStyle();
2042 xStyle->setName(
"Default");
2045 else if ( aServiceSpecifier ==
"com.sun.star.document.Settings" )
2047 uno::Reference<beans::XPropertySet> xProp =
new OStyle();
2051 else if ( aServiceSpecifier ==
"com.sun.star.drawing.Defaults" )
2053 uno::Reference<beans::XPropertySet> xProp =
new OStyle();
2056 else if ( aServiceSpecifier ==
"com.sun.star.drawing.GradientTable" )
2058 if ( !
m_pImpl->m_xGradientTable.is() )
2060 return m_pImpl->m_xGradientTable;
2062 else if ( aServiceSpecifier ==
"com.sun.star.drawing.HatchTable" )
2064 if ( !
m_pImpl->m_xHatchTable.is() )
2066 return m_pImpl->m_xHatchTable;
2068 else if ( aServiceSpecifier ==
"com.sun.star.drawing.BitmapTable" )
2070 if ( !
m_pImpl->m_xBitmapTable.is() )
2072 return m_pImpl->m_xBitmapTable;
2074 else if ( aServiceSpecifier ==
"com.sun.star.drawing.TransparencyGradientTable" )
2076 if ( !
m_pImpl->m_xTransparencyGradientTable.is() )
2078 return m_pImpl->m_xTransparencyGradientTable;
2080 else if ( aServiceSpecifier ==
"com.sun.star.drawing.DashTable" )
2082 if ( !
m_pImpl->m_xDashTable.is() )
2086 else if( aServiceSpecifier ==
"com.sun.star.drawing.MarkerTable" )
2088 if( !
m_pImpl->m_xMarkerTable.is() )
2090 return m_pImpl->m_xMarkerTable;
2092 else if ( aServiceSpecifier ==
"com.sun.star.document.ImportEmbeddedObjectResolver" )
2094 else if ( aServiceSpecifier ==
"com.sun.star.document.ExportEmbeddedObjectResolver" )
2096 else if (aServiceSpecifier ==
"com.sun.star.document.ImportGraphicStorageHandler")
2099 return cppu::getXWeak(xGraphicHelper.get());
2101 else if (aServiceSpecifier ==
"com.sun.star.document.ExportGraphicStorageHandler")
2104 return cppu::getXWeak(xGraphicHelper.get());
2106 else if ( aServiceSpecifier ==
"com.sun.star.chart2.data.DataProvider" )
2108 uno::Reference<chart2::data::XDatabaseDataProvider> xDataProvider(chart2::data::DatabaseDataProvider::createWithConnection(
m_aProps->m_xContext,
m_pImpl->m_xActiveConnection ));
2109 xDataProvider->setRowLimit(10);
2110 uno::Reference< container::XChild > xChild(xDataProvider,uno::UNO_QUERY);
2112 xChild->setParent(*
this);
2113 return uno::Reference< uno::XInterface >(xDataProvider,uno::UNO_QUERY);
2115 else if ( aServiceSpecifier ==
"com.sun.star.xml.NamespaceMap" )
2117 if ( !
m_pImpl->m_xXMLNamespaceMap.is() )
2119 return m_pImpl->m_xXMLNamespaceMap;
2124 return m_pImpl->m_pReportModel->createShape(aServiceSpecifier,xShape);
2129 static const std::u16string_view aSvxComponentServiceNameList[] =
2131 u"com.sun.star.form.component.FixedText",
2132 u"com.sun.star.form.component.DatabaseImageControl",
2133 u"com.sun.star.style.PageStyle",
2134 u"com.sun.star.style.GraphicStyle",
2135 u"com.sun.star.style.FrameStyle",
2136 u"com.sun.star.drawing.Defaults",
2137 u"com.sun.star.document.ImportEmbeddedObjectResolver",
2138 u"com.sun.star.document.ExportEmbeddedObjectResolver",
2139 u"com.sun.star.document.ImportGraphicStorageHandler",
2140 u"com.sun.star.document.ExportGraphicStorageHandler",
2141 u"com.sun.star.chart2.data.DataProvider",
2142 u"com.sun.star.xml.NamespaceMap",
2143 u"com.sun.star.document.Settings",
2144 u"com.sun.star.drawing.GradientTable",
2145 u"com.sun.star.drawing.HatchTable",
2146 u"com.sun.star.drawing.BitmapTable",
2147 u"com.sun.star.drawing.TransparencyGradientTable",
2148 u"com.sun.star.drawing.DashTable",
2149 u"com.sun.star.drawing.MarkerTable"
2152 static const sal_uInt16 nSvxComponentServiceNameListCount =
SAL_N_ELEMENTS(aSvxComponentServiceNameList);
2154 uno::Sequence< OUString >
aSeq( nSvxComponentServiceNameListCount );
2155 OUString* pStrings =
aSeq.getArray();
2156 for( sal_uInt16 nIdx = 0; nIdx < nSvxComponentServiceNameListCount; nIdx++ )
2157 pStrings[nIdx] = aSvxComponentServiceNameList[nIdx];
2164awt::Point SAL_CALL OReportDefinition::getPosition( )
2166 ::osl::MutexGuard aGuard(
m_aMutex);
2167 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2169 return m_aProps->m_xShape->getPosition();
2173void SAL_CALL OReportDefinition::setPosition(
const awt::Point& aPosition )
2175 ::osl::MutexGuard aGuard(
m_aMutex);
2176 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2178 m_aProps->m_xShape->setPosition(aPosition);
2183awt::Size SAL_CALL OReportDefinition::getSize( )
2185 ::osl::MutexGuard aGuard(
m_aMutex);
2186 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2188 return m_aProps->m_xShape->getSize();
2192void SAL_CALL OReportDefinition::setSize(
const awt::Size& aSize )
2194 ::osl::MutexGuard aGuard(
m_aMutex);
2195 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2197 m_aProps->m_xShape->setSize(aSize);
2206 ::osl::MutexGuard aGuard(
m_aMutex);
2207 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2209 return m_aProps->m_xShape->getShapeType();
2210 return "com.sun.star.drawing.OLE2Shape";
2213typedef ::cppu::WeakImplHelper< container::XNameContainer,
2214 container::XIndexAccess
2222 typedef ::std::map< OUString, uno::Any , ::comphelper::UStringMixLess> TStyleElements;
2228 virtual ~OStylesHelper()
override {}
2231 OStylesHelper(
const OStylesHelper&) =
delete;
2232 OStylesHelper& operator=(
const OStylesHelper&) =
delete;
2235 virtual void SAL_CALL insertByName(
const OUString& aName,
const uno::Any& aElement )
override;
2236 virtual void SAL_CALL removeByName(
const OUString& Name )
override;
2239 virtual void SAL_CALL replaceByName(
const OUString& aName,
const uno::Any& aElement )
override;
2242 virtual uno::Type SAL_CALL getElementType( )
override;
2243 virtual sal_Bool SAL_CALL hasElements( )
override;
2245 virtual sal_Int32 SAL_CALL getCount( )
override;
2246 virtual uno::Any SAL_CALL getByIndex( sal_Int32
Index )
override;
2249 virtual uno::Any SAL_CALL getByName(
const OUString& aName )
override;
2250 virtual uno::Sequence< OUString > SAL_CALL getElementNames( )
override;
2251 virtual sal_Bool SAL_CALL hasByName(
const OUString& aName )
override;
2256OStylesHelper::OStylesHelper(
const uno::Type& rType)
2264uno::Type SAL_CALL OStylesHelper::getElementType( )
2269sal_Bool SAL_CALL OStylesHelper::hasElements( )
2271 ::osl::MutexGuard aGuard(m_aMutex);
2276sal_Int32 SAL_CALL OStylesHelper::getCount( )
2278 ::osl::MutexGuard aGuard(m_aMutex);
2282uno::Any SAL_CALL OStylesHelper::getByIndex( sal_Int32
Index )
2284 ::osl::MutexGuard aGuard(m_aMutex);
2286 throw lang::IndexOutOfBoundsException();
2291uno::Any SAL_CALL OStylesHelper::getByName(
const OUString& aName )
2293 ::osl::MutexGuard aGuard(m_aMutex);
2294 TStyleElements::const_iterator aFind =
m_aElements.find(aName);
2296 throw container::NoSuchElementException();
2297 return aFind->second;
2300uno::Sequence< OUString > SAL_CALL OStylesHelper::getElementNames( )
2302 ::osl::MutexGuard aGuard(m_aMutex);
2305 OUString* pStringArray = aNameList.getArray();
2308 *pStringArray = rIter->first;
2315sal_Bool SAL_CALL OStylesHelper::hasByName(
const OUString& aName )
2317 ::osl::MutexGuard aGuard(m_aMutex);
2322void SAL_CALL OStylesHelper::insertByName(
const OUString& aName,
const uno::Any& aElement )
2324 ::osl::MutexGuard aGuard(m_aMutex);
2326 throw container::ElementExistException();
2328 if ( !aElement.isExtractableTo(
m_aType) )
2329 throw lang::IllegalArgumentException();
2334void SAL_CALL OStylesHelper::removeByName(
const OUString& aName )
2336 ::osl::MutexGuard aGuard(m_aMutex);
2337 TStyleElements::const_iterator aFind =
m_aElements.find(aName);
2339 throw container::NoSuchElementException();
2345void SAL_CALL OStylesHelper::replaceByName(
const OUString& aName,
const uno::Any& aElement )
2347 ::osl::MutexGuard aGuard(m_aMutex);
2348 TStyleElements::iterator aFind =
m_aElements.find(aName);
2350 throw container::NoSuchElementException();
2351 if ( !aElement.isExtractableTo(
m_aType) )
2352 throw lang::IllegalArgumentException();
2353 aFind->second = aElement;
2356uno::Reference< container::XNameAccess > SAL_CALL OReportDefinition::getStyleFamilies( )
2358 ::osl::MutexGuard aGuard(
m_aMutex);
2359 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2360 if ( !
m_pImpl->m_xStyles.is() )
2362 m_pImpl->m_xStyles =
new OStylesHelper();
2363 uno::Reference< container::XNameContainer> xStyles(
m_pImpl->m_xStyles,uno::UNO_QUERY);
2366 xStyles->insertByName(
"PageStyles",
uno::Any(xPageStyles));
2367 uno::Reference< style::XStyle> xPageStyle(
createInstance(
"com.sun.star.style.PageStyle"),uno::UNO_QUERY);
2368 xPageStyles->insertByName(xPageStyle->getName(),
uno::Any(xPageStyle));
2371 xStyles->insertByName(
"FrameStyles",
uno::Any(xFrameStyles));
2372 uno::Reference< style::XStyle> xFrameStyle(
createInstance(
"com.sun.star.style.FrameStyle"),uno::UNO_QUERY);
2373 xFrameStyles->insertByName(xFrameStyle->getName(),
uno::Any(xFrameStyle));
2376 xStyles->insertByName(
"graphics",
uno::Any(xGraphicStyles));
2377 uno::Reference< style::XStyle> xGraphicStyle(
createInstance(
"com.sun.star.style.GraphicStyle"),uno::UNO_QUERY);
2378 xGraphicStyles->insertByName(xGraphicStyle->getName(),
uno::Any(xGraphicStyle));
2384 ::osl::MutexGuard aGuard(
m_aMutex);
2385 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2386 return m_pImpl->m_sIdentifier;
2391 ::osl::MutexGuard aGuard(
m_aMutex);
2392 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2399 ::osl::MutexGuard aGuard(
m_aMutex);
2400 if (
m_pImpl->m_xNumberFormatsSupplier.is() )
2401 return m_pImpl->m_xNumberFormatsSupplier->getNumberFormatSettings();
2402 return uno::Reference< beans::XPropertySet >();
2407 ::osl::MutexGuard aGuard(
m_aMutex);
2408 if (
m_pImpl->m_xNumberFormatsSupplier.is() )
2409 return m_pImpl->m_xNumberFormatsSupplier->getNumberFormats();
2410 return uno::Reference< util::XNumberFormats >();
2415 return *
m_pImpl->m_pObjectContainer;
2425 uno::Reference< task::XInteractionHandler > xRet(
2426 task::InteractionHandler::createWithParent(
m_aProps->m_xContext,
nullptr), uno::UNO_QUERY_THROW);
2432 ::osl::MutexGuard aGuard(
m_aMutex);
2433 return m_pImpl->m_xActiveConnection;
2438 if ( !_activeconnection.is() )
2439 throw lang::IllegalArgumentException();
2446 return m_pImpl->m_sDataSourceName;
2462 uno::Reference<frame::XModel>
const xParent(
2466 return xParent->getURL();
2469 ::osl::MutexGuard aGuard(
m_aMutex);
2470 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2471 for (beans::PropertyValue
const& it : std::as_const(
m_pImpl->m_aArgs))
2473 if (it.Name ==
"DocumentBaseURL")
2474 return it.Value.get<OUString>();
2484 ::osl::MutexGuard aGuard(
m_aMutex);
2485 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2487 if ( !
m_pImpl->m_xTitleHelper.is ())
2489 uno::Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(
m_aProps->m_xContext);
2491 m_pImpl->m_xTitleHelper = new ::framework::TitleHelper(
m_aProps->m_xContext, uno::Reference< frame::XModel >(
this),
2492 uno::Reference<frame::XUntitledNumbers>(xDesktop, uno::UNO_QUERY_THROW) );
2495 return m_pImpl->m_xTitleHelper;
2502 ::osl::MutexGuard aGuard(
m_aMutex);
2503 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2505 if ( !
m_pImpl->m_xNumberedControllers.is ())
2508 m_pImpl->m_xNumberedControllers = pHelper;
2510 pHelper->setOwner (uno::Reference< frame::XModel >(
this));
2511 pHelper->setUntitledPrefix (
" : ");
2514 return m_pImpl->m_xNumberedControllers;
2523 ::osl::MutexGuard aGuard(
m_aMutex);
2524 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2535 ::osl::MutexGuard aGuard(
m_aMutex);
2536 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2547 ::osl::MutexGuard aGuard(
m_aMutex);
2548 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2551 if (xBroadcaster.is ())
2552 xBroadcaster->addTitleChangeListener (xListener);
2561 ::osl::MutexGuard aGuard(
m_aMutex);
2562 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2565 if (xBroadcaster.is ())
2566 xBroadcaster->removeTitleChangeListener (xListener);
2574 ::osl::MutexGuard aGuard(
m_aMutex);
2575 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2585 ::osl::MutexGuard aGuard(
m_aMutex);
2586 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2596 ::osl::MutexGuard aGuard(
m_aMutex);
2597 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2607 ::osl::MutexGuard aGuard(
m_aMutex);
2608 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2615 ::osl::MutexGuard aGuard(
m_aMutex);
2616 ::connectivity::checkDisposed(ReportDefinitionBase::rBHelper.bDisposed);
2617 if ( !
m_pImpl->m_xDocumentProperties.is() )
2619 m_pImpl->m_xDocumentProperties.set(document::DocumentProperties::create(
m_aProps->m_xContext));
2621 return m_pImpl->m_xDocumentProperties;
2629 throw datatransfer::UnsupportedFlavorException(aFlavor.MimeType, getXWeak());
2636 catch (
const uno::Exception &)
2652 return aFlavor.MimeType ==
"image/png";
2658 ::osl::MutexGuard aGuard(
m_aMutex );
2659 return m_pImpl->m_pUndoManager;
constexpr OUStringLiteral SC_UNO_PAGE_FTRSHARED
constexpr OUStringLiteral SC_UNO_PAGE_HDRTOPBOR
constexpr OUStringLiteral SC_UNO_PAGE_FIRSTFTRSHARED
constexpr OUStringLiteral SC_UNO_PAGE_HDRGRFFILT
constexpr OUStringLiteral SC_UNO_PAGE_HDRSHARED
constexpr OUStringLiteral SC_UNO_PAGE_HDRRIGHTMAR
constexpr OUStringLiteral SC_UNO_PAGE_FTRTOPBOR
constexpr OUStringLiteral SC_UNO_PAGE_HDRBODYDIST
constexpr OUStringLiteral SC_UNO_PAGE_FTRRIGHTBOR
constexpr OUStringLiteral SC_UNO_PAGE_PAPERTRAY
constexpr OUStringLiteral SC_UNO_PAGE_FTRON
constexpr OUStringLiteral SC_UNO_PAGE_LEFTBRDDIST
constexpr OUStringLiteral SC_UNO_PAGE_HDRRIGHTBDIS
constexpr OUStringLiteral SC_UNO_PAGE_FTRBACKCOL
constexpr OUStringLiteral SC_UNO_PAGE_FTRBODYDIST
constexpr OUStringLiteral SC_UNO_PAGE_HDRDYNAMIC
constexpr OUStringLiteral SC_UNO_PAGE_SCALETOX
constexpr OUStringLiteral SC_UNO_PAGE_FTRLEFTMAR
constexpr OUStringLiteral SC_UNO_PAGE_RIGHTBORDER
constexpr OUStringLiteral SC_UNO_PAGE_SHADOWFORM
constexpr OUStringLiteral SC_UNO_PAGE_HDRLEFTBDIS
constexpr OUStringLiteral SC_UNO_PAGE_HDRGRFLOC
constexpr OUStringLiteral SC_UNO_PAGE_HDRTOPBDIS
constexpr OUStringLiteral SC_UNO_PAGE_FTRGRF
constexpr OUStringLiteral SC_UNO_PAGE_HDRBRDDIST
constexpr OUStringLiteral SC_UNO_PAGE_FTRHEIGHT
constexpr OUStringLiteral SC_UNO_PAGE_HDRLEFTMAR
constexpr OUStringLiteral SC_UNO_PAGE_SCALETOY
constexpr OUStringLiteral SC_UNO_PAGE_FTRRIGHTBDIS
constexpr OUStringLiteral SC_UNO_PAGE_HDRSHADOW
constexpr OUStringLiteral SC_UNO_PAGE_FTRLEFTBOR
constexpr OUStringLiteral SC_UNO_PAGE_FTRBRDDIST
constexpr OUStringLiteral SC_UNO_PAGE_FIRSTHDRSHARED
constexpr OUStringLiteral SC_UNO_PAGE_FTRSHADOW
constexpr OUStringLiteral SC_UNO_PAGE_BOTTBRDDIST
constexpr OUStringLiteral SC_UNO_PAGE_BORDERDIST
constexpr OUStringLiteral SC_UNO_PAGE_LEFTBORDER
constexpr OUStringLiteral SC_UNO_PAGE_FTRTOPBDIS
constexpr OUStringLiteral SC_UNO_PAGE_HDRHEIGHT
constexpr OUStringLiteral SC_UNO_PAGE_HDRLEFTBOR
constexpr OUStringLiteral SC_UNO_PAGE_HDRRIGHTBOR
constexpr OUStringLiteral SC_UNO_PAGE_SCALETOPAG
constexpr OUStringLiteral SC_UNO_PAGE_HDRBOTTBDIS
constexpr OUStringLiteral SC_UNO_PAGE_FTRBACKTRAN
constexpr OUStringLiteral SC_UNO_PAGE_HDRGRF
constexpr OUStringLiteral SC_UNO_PAGE_TOPBORDER
constexpr OUStringLiteral SC_UNO_PAGE_FTRGRFLOC
constexpr OUStringLiteral SC_UNO_PAGE_TOPBRDDIST
constexpr OUStringLiteral SC_UNO_PAGE_RIGHTBRDDIST
TStyleElements m_aElements
constexpr OUStringLiteral SC_UNO_PAGE_FTRDYNAMIC
constexpr OUStringLiteral SC_UNO_PAGE_FTRRIGHTMAR
constexpr OUStringLiteral SC_UNO_PAGE_HDRBACKCOL
constexpr OUStringLiteral SC_UNO_PAGE_HDRBOTTBOR
constexpr OUStringLiteral SC_UNO_PAGE_SCALEVAL
constexpr OUStringLiteral SC_UNO_PAGE_FTRBOTTBOR
constexpr OUStringLiteral SC_UNO_PAGE_FTRGRFFILT
constexpr OUStringLiteral SC_UNO_PAGE_HDRON
constexpr OUStringLiteral SC_UNO_PAGE_HDRBACKTRAN
constexpr OUStringLiteral SC_UNO_PAGE_FTRBOTTBDIS
constexpr OUStringLiteral SC_UNO_PAGE_FTRLEFTBDIS
::std::vector< TStyleElements::iterator > m_aElementsPos
constexpr OUStringLiteral SC_UNO_PAGE_BOTTBORDER
#define REPORTCOMPONENT_IMPL2(clazz, arg)
#define REPORTCOMPONENT_MASTERDETAIL(clazz, arg)
#define REPORTCOMPONENT_IMPL(clazz, arg)
constexpr OUStringLiteral sMediaType
constexpr OUStringLiteral sHierarchicalDocumentName
FILE * init(int, char **)
SdrLayer * NewLayer(const OUString &rName, sal_uInt16 nPos=0xFFFF)
static rtl::Reference< SvXMLEmbeddedObjectHelper > Create(const css::uno::Reference< css::embed::XStorage > &, ::comphelper::IEmbeddedHelper &rDocPersist, SvXMLEmbeddedObjectHelperMode eCreateMode)
static rtl::Reference< SvXMLGraphicHelper > Create(const css::uno::Reference< css::embed::XStorage > &rXMLStorage, SvXMLGraphicHelperMode eCreateMode)
static Size GetDefaultPaperSize(MapUnit eUnit=MapUnit::MapTwip)
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates(const css::uno::Sequence< OUString > &aPropertyName) override
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
const css::uno::Sequence< sal_Int8 > & getSeq() const
mutable::osl::Mutex m_aMutex
void prepareSet(rtl::OUString const &propertyName, css::uno::Any const &oldValue, css::uno::Any const &newValue, BoundListeners *boundListeners)
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &type) SAL_OVERRIDE
virtual css::uno::Any SAL_CALL getPropertyValue(rtl::OUString const &propertyName) SAL_OVERRIDE
virtual void SAL_CALL removeVetoableChangeListener(rtl::OUString const &propertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &listener) SAL_OVERRIDE
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() SAL_OVERRIDE
virtual void SAL_CALL addPropertyChangeListener(rtl::OUString const &propertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &listener) SAL_OVERRIDE
virtual void SAL_CALL addVetoableChangeListener(rtl::OUString const &propertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &listener) SAL_OVERRIDE
virtual void SAL_CALL setPropertyValue(rtl::OUString const &propertyName, css::uno::Any const &value) SAL_OVERRIDE
virtual void SAL_CALL removePropertyChangeListener(rtl::OUString const &propertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &listener) SAL_OVERRIDE
css::uno::Type const & get()
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void SAL_CALL removeStorageChangeListener(const css::uno::Reference< css::document::XStorageChangeListener > &xListener) override
virtual void SAL_CALL setTitle(const OUString &sTitle) override
virtual sal_Bool SAL_CALL getPageHeaderOn() override
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual void SAL_CALL unlockControllers() override
virtual ::comphelper::EmbeddedObjectContainer & getEmbeddedObjectContainer() const override
virtual void SAL_CALL removeModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
css::uno::Reference< css::ui::XUIConfigurationManager2 > getUIConfigurationManager2()
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
virtual sal_Bool SAL_CALL attachResource(const OUString &URL, const css::uno::Sequence< css::beans::PropertyValue > &Arguments) override
css::uno::Reference< css::frame::XUntitledNumbers > impl_getUntitledHelper_throw()
virtual css::uno::Reference< css::embed::XStorage > SAL_CALL getDocumentSubStorage(const OUString &aStorageName, sal_Int32 nMode) override
virtual void SAL_CALL releaseNumber(::sal_Int32 nNumber) override
virtual void SAL_CALL setDataSourceName(const OUString &_datasourcename) override
virtual sal_Bool SAL_CALL disableSetModified() override
virtual void SAL_CALL addDocumentEventListener(const css::uno::Reference< css::document::XDocumentEventListener > &rListener) override
virtual void SAL_CALL setPageHeaderOption(::sal_Int16 _pageheaderoption) override
virtual void SAL_CALL setGroupKeepTogether(::sal_Int16 _groupkeeptogether) override
virtual ::sal_Int32 SAL_CALL getMapUnit(::sal_Int64 nAspect) override
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
virtual void SAL_CALL close(sal_Bool DeliverOwnership) override
virtual void SAL_CALL addTitleChangeListener(const css::uno::Reference< css::frame::XTitleChangeListener > &xListener) override
virtual ::sal_Int32 SAL_CALL getCommandType() override
virtual css::uno::Reference< css::document::XUndoManager > SAL_CALL getUndoManager() override
virtual css::uno::Reference< css::report::XFunctions > SAL_CALL getFunctions() override
virtual css::uno::Reference< css::ui::XUIConfigurationManager > SAL_CALL getUIConfigurationManager() override
virtual void SAL_CALL setReportFooterOn(sal_Bool _reportfooteron) override
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableMimeTypes() override
void notifyEvent(const OUString &_sEventName)
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getArgs() override
virtual ::sal_Int32 SAL_CALL leaseNumber(const css::uno::Reference< css::uno::XInterface > &xComponent) override
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
virtual void SAL_CALL releaseNumberForComponent(const css::uno::Reference< css::uno::XInterface > &xComponent) override
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
void fillArgs(utl::MediaDescriptor &_aDescriptor)
virtual void SAL_CALL switchToStorage(const css::uno::Reference< css::embed::XStorage > &xStorage) override
virtual sal_Bool SAL_CALL getReportFooterOn() override
virtual sal_Bool SAL_CALL getReportHeaderOn() override
OReportDefinition(const OReportDefinition &)=delete
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 setModified(sal_Bool bModified) override
virtual css::uno::Reference< css::report::XSection > SAL_CALL getPageHeader() override
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
virtual css::uno::Any SAL_CALL getTransferData(const css::datatransfer::DataFlavor &aFlavor) override
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 @precond our mutex is locked
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
virtual sal_Bool SAL_CALL isSetModifiedEnabled() override
virtual OUString getDocumentBaseURL() const override
virtual OUString SAL_CALL getImplementationName() override
virtual void SAL_CALL setCaption(const OUString &_caption) override
css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
virtual void SAL_CALL disposing() override
this function is called upon disposing the component
virtual css::uno::Reference< css::report::XSection > SAL_CALL getReportHeader() override
virtual void SAL_CALL setFilter(const OUString &_filter) override
virtual void SAL_CALL storeToStorage(const css::uno::Reference< css::embed::XStorage > &xStorage, const css::uno::Sequence< css::beans::PropertyValue > &aMediaDescriptor) override
virtual void SAL_CALL setReportHeaderOn(sal_Bool _reportheaderon) override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual void SAL_CALL removeTitleChangeListener(const css::uno::Reference< css::frame::XTitleChangeListener > &xListener) override
virtual void SAL_CALL setMimeType(const OUString &_mimetype) override
void setSection(const OUString &_sProperty, bool _bOn, const OUString &_sName, css::uno::Reference< css::report::XSection > &_member)
virtual css::uno::Reference< css::report::XSection > SAL_CALL getDetail() override
static css::uno::Sequence< OUString > getSupportedServiceNames_Static()
virtual sal_Bool SAL_CALL enableSetModified() override
virtual void SAL_CALL setCommand(const OUString &_command) override
css::uno::Reference< css::frame::XTitle > impl_getTitleHelper_throw()
virtual void SAL_CALL setPageHeaderOn(sal_Bool _pageheaderon) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
virtual bool isEnableSetModified() const override
virtual void SAL_CALL setCommandType(::sal_Int32 _commandtype) override
virtual void SAL_CALL dispose() override
virtual OUString SAL_CALL getMimeType() override
virtual css::uno::Reference< css::task::XInteractionHandler > getInteractionHandler() const override
virtual sal_Bool SAL_CALL getEscapeProcessing() override
virtual css::uno::Reference< css::util::XNumberFormats > SAL_CALL getNumberFormats() override
virtual void SAL_CALL setCurrentController(const css::uno::Reference< css::frame::XController > &Controller) override
virtual OUString SAL_CALL getIdentifier() override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const OUString &ServiceSpecifier, const css::uno::Sequence< css::uno::Any > &Arguments) override
virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL getViewData() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL addCloseListener(const css::uno::Reference< css::util::XCloseListener > &Listener) override
virtual void SAL_CALL removeDocumentEventListener(const css::uno::Reference< css::document::XDocumentEventListener > &rListener) override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent() override
virtual OUString SAL_CALL getCaption() override
std::shared_ptr< OReportDefinitionImpl > m_pImpl
virtual css::uno::Reference< css::embed::XStorage > getStorage() const override
virtual void SAL_CALL setViewData(const css::uno::Reference< css::container::XIndexAccess > &Data) override
static std::shared_ptr< rptui::OReportModel > getSdrModel(const css::uno::Reference< css::report::XReportDefinition > &_xReportDefinition)
virtual void SAL_CALL initNew() override
virtual css::uno::Reference< css::embed::XStorage > SAL_CALL getDocumentStorage() override
static css::uno::Reference< css::uno::XInterface > create(css::uno::Reference< css::uno::XComponentContext > const &xContext)
virtual css::uno::Reference< css::document::XEventBroadcaster > SAL_CALL getEventBroadcaster() override
virtual OUString SAL_CALL getTitle() override
virtual css::uno::Sequence< css::datatransfer::DataFlavor > SAL_CALL getTransferDataFlavors() override
virtual ::sal_Int16 SAL_CALL getPageFooterOption() override
virtual void SAL_CALL setEscapeProcessing(sal_Bool _escapeprocessing) override
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual OUString SAL_CALL getShapeType() override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
virtual css::uno::Sequence< OUString > SAL_CALL getDocumentSubStoragesNames() override
virtual void SAL_CALL removeCloseListener(const css::uno::Reference< css::util::XCloseListener > &Listener) override
virtual void SAL_CALL addModifyListener(const css::uno::Reference< css::util::XModifyListener > &aListener) override
void set(const OUString &_sProperty, const T &Value, T &_member)
virtual sal_Bool SAL_CALL isModified() override
virtual ~OReportDefinition() override
virtual OUString SAL_CALL getCommand() override
virtual css::uno::Reference< css::sdbc::XConnection > SAL_CALL getActiveConnection() override
virtual void SAL_CALL setIdentifier(const OUString &Identifier) override
css::uno::Reference< css::uno::XComponentContext > getContext()
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual void SAL_CALL setVisualAreaSize(::sal_Int64 nAspect, const css::awt::Size &aSize) override
virtual ::sal_Int16 SAL_CALL getPageHeaderOption() override
virtual void SAL_CALL disconnectController(const css::uno::Reference< css::frame::XController > &Controller) override
virtual void SAL_CALL connectController(const css::uno::Reference< css::frame::XController > &Controller) override
virtual css::awt::Size SAL_CALL getVisualAreaSize(::sal_Int64 nAspect) override
virtual void SAL_CALL addStorageChangeListener(const css::uno::Reference< css::document::XStorageChangeListener > &xListener) override
virtual sal_Bool SAL_CALL isDataFlavorSupported(const css::datatransfer::DataFlavor &aFlavor) override
virtual OUString SAL_CALL getDataSourceName() override
virtual OUString SAL_CALL getFilter() override
virtual void SAL_CALL lockControllers() override
virtual css::uno::Reference< css::document::XDocumentProperties > SAL_CALL getDocumentProperties() override
std::shared_ptr< OReportComponentProperties > m_aProps
virtual css::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation(::sal_Int64 nAspect) override
virtual SdrModel & getSdrModelFromUnoModel() const override
abstract SdrModel provider
virtual void SAL_CALL setActiveConnection(const css::uno::Reference< css::sdbc::XConnection > &_activeconnection) override
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getNumberFormatSettings() override
virtual void SAL_CALL load(const css::uno::Sequence< css::beans::PropertyValue > &lArguments) override
virtual void SAL_CALL setPageFooterOn(sal_Bool _pagefooteron) override
virtual css::uno::Reference< css::report::XSection > SAL_CALL getPageFooter() override
virtual ::sal_Int16 SAL_CALL getGroupKeepTogether() override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getCurrentSelection() override
virtual OUString SAL_CALL getUntitledPrefix() override
virtual sal_Bool SAL_CALL hasControllersLocked() override
virtual void SAL_CALL notifyDocumentEvent(const OUString &rEventName, const css::uno::Reference< css::frame::XController2 > &rViewController, const css::uno::Any &rSupplement) override
virtual css::uno::Reference< css::frame::XController > SAL_CALL getCurrentController() override
virtual css::uno::Reference< css::report::XSection > SAL_CALL getReportFooter() override
virtual sal_Bool SAL_CALL getPageFooterOn() override
virtual css::uno::Reference< css::report::XGroups > SAL_CALL getGroups() override
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &Parent) override
virtual void SAL_CALL setPageFooterOption(::sal_Int16 _pagefooteroption) override
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
static OUString getImplementationName_Static()
virtual OUString SAL_CALL getURL() 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)
Create an object ob OUndoEnvLock locks the undo possibility As long as in the OUndoEnvLock scope,...
OUString RptResId(TranslateId aId)
#define TOOLS_WARN_EXCEPTION(area, stream)
#define DBG_UNHANDLED_EXCEPTION(...)
constexpr OUStringLiteral MIMETYPE_OASIS_OPENDOCUMENT_TEXT_ASCII
constexpr OUStringLiteral MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET_ASCII
constexpr OUStringLiteral MIMETYPE_OASIS_OPENDOCUMENT_REPORT_ASCII
Sequence< PropertyValue > aArguments
Sequence< sal_Int8 > aSeq
#define SAL_N_ELEMENTS(arr)
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
bool query_aggregation(const css::uno::Reference< css::uno::XAggregation > &_rxAggregate, css::uno::Reference< iface > &_rxOut)
COMPHELPER_DLLPUBLIC css::uno::Reference< css::beans::XPropertySet > GenericPropertySet_CreateInstance(PropertySetInfo *pInfo)
sal_Int64 getSomething_cast(void *p)
COMPHELPER_DLLPUBLIC css::uno::Reference< css::container::XNameContainer > NameContainer_createInstance(const css::uno::Type &aType)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
Any SAL_CALL getCaughtException()
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
std::shared_ptr< T > make_shared(Args &&... args)
VBAHELPER_DLLPUBLIC bool setPropertyValue(css::uno::Sequence< css::beans::PropertyValue > &aProp, const OUString &aName, const css::uno::Any &aValue)
::comphelper::OPropertyStateContainer OStyle_PBASE
static void lcl_stripLoadArguments(utl::MediaDescriptor &_rDescriptor, uno::Sequence< beans::PropertyValue > &_rArgs)
::comphelper::OPropertyArrayUsageHelper< OStyle > OStyle_PABASE
void throwIllegallArgumentException(std::u16string_view _sTypeName, const uno::Reference< uno::XInterface > &ExceptionContext_, sal_Int16 ArgumentPosition_)
::cppu::WeakImplHelper< style::XStyle, beans::XMultiPropertyStates > TStyleBASE
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
uno::Reference< util::XCloneable > cloneObject(const uno::Reference< report::XReportComponent > &_xReportComponent, const uno::Reference< lang::XMultiServiceFactory > &_xFactory, const OUString &_sServiceName)
static void lcl_extractAndStartStatusIndicator(const utl::MediaDescriptor &_rDescriptor, uno::Reference< task::XStatusIndicator > &_rxStatusIndicator, uno::Sequence< uno::Any > &_rCallArgs)
::cppu::WeakImplHelper< container::XNameContainer, container::XIndexAccess > TStylesBASE
static void lcl_setModelReadOnly(const uno::Reference< embed::XStorage > &_xStorage, std::shared_ptr< rptui::OReportModel > const &_rModel)
constexpr SdrLayerID RPT_LAYER_HIDDEN(2)
constexpr SdrLayerID RPT_LAYER_FRONT(0)
constexpr SdrLayerID RPT_LAYER_BACK(1)
IMPLEMENT_FORWARD_XINTERFACE2(ChildWindowPane, ChildWindowPaneInterfaceBase, Pane)
bool getPropertyValue(ValueType &rValue, css::uno::Reference< css::beans::XPropertySet > const &xPropSet, OUString const &propName)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
uno::Sequence< beans::Property > m_aProps
constexpr OUStringLiteral PROPERTY_PAGEFOOTEROPTION
constexpr OUStringLiteral PROPERTY_REPORTHEADERON
constexpr OUStringLiteral PROPERTY_NAME
constexpr OUStringLiteral PROPERTY_PAGEFOOTERON
constexpr OUStringLiteral PROPERTY_PAGEHEADERON
constexpr OUStringLiteral PROPERTY_RIGHTMARGIN
constexpr OUStringLiteral PROPERTY_BACKGRAPHICLOCATION
constexpr OUStringLiteral PROPERTY_REPORTFOOTERON
constexpr OUStringLiteral PROPERTY_GROUPKEEPTOGETHER
constexpr OUStringLiteral SERVICE_FIXEDLINE
constexpr OUStringLiteral PROPERTY_NUMBERINGTYPE
constexpr OUStringLiteral SERVICE_IMAGECONTROL
constexpr OUStringLiteral PROPERTY_HEIGHT
constexpr OUStringLiteral PROPERTY_COMMAND
constexpr OUStringLiteral PROPERTY_PAGEHEADEROPTION
constexpr OUStringLiteral PROPERTY_MIMETYPE
constexpr OUStringLiteral PROPERTY_POSITIONX
constexpr OUStringLiteral PROPERTY_TOPMARGIN
constexpr OUStringLiteral PROPERTY_ACTIVECONNECTION
constexpr OUStringLiteral PROPERTY_BACKTRANSPARENT
constexpr OUStringLiteral SERVICE_FIXEDTEXT
constexpr OUStringLiteral PROPERTY_POSITIONY
constexpr OUStringLiteral SERVICE_FORMATTEDFIELD
constexpr OUStringLiteral PROPERTY_WIDTH
constexpr OUStringLiteral PROPERTY_LEFTMARGIN
constexpr OUStringLiteral PROPERTY_ISLANDSCAPE
constexpr OUStringLiteral PROPERTY_COMMANDTYPE
constexpr OUStringLiteral SERVICE_SHAPE
constexpr OUStringLiteral PROPERTY_FILTER
constexpr OUStringLiteral PROPERTY_PAGESTYLELAYOUT
constexpr OUStringLiteral PROPERTY_ESCAPEPROCESSING
constexpr OUStringLiteral SERVICE_REPORTDEFINITION
constexpr OUStringLiteral PROPERTY_BACKCOLOR
constexpr OUStringLiteral PROPERTY_BOTTOMMARGIN
constexpr OUStringLiteral PROPERTY_PAPERSIZE
constexpr OUStringLiteral PROPERTY_DATASOURCENAME
constexpr OUStringLiteral PROPERTY_CAPTION
UNDERLYING_TYPE get() const
::comphelper::OInterfaceContainerHelper3< util::XModifyListener > m_aModifyListeners
uno::Reference< container::XNameAccess > m_xMarkerTable
uno::Reference< frame::XController > m_xCurrentController
uno::Reference< sdbc::XConnection > m_xActiveConnection
::comphelper::OInterfaceContainerHelper3< util::XCloseListener > m_aCloseListener
uno::Reference< frame::XTitle > m_xTitleHelper
bool m_bControllersLocked
::comphelper::OInterfaceContainerHelper3< document::XStorageChangeListener > m_aStorageChangeListeners
uno::Reference< report::XGroups > m_xGroups
::sal_Int16 m_nPageFooterOption
uno::Reference< container::XIndexAccess > m_xViewData
uno::Reference< report::XSection > m_xDetail
awt::Size m_aVisualAreaSize
uno::Reference< report::XFunctions > m_xFunctions
uno::Reference< container::XNameAccess > m_xBitmapTable
uno::Reference< report::XSection > m_xPageFooter
std::shared_ptr< ::comphelper::EmbeddedObjectContainer > m_pObjectContainer
uno::Reference< frame::XUntitledNumbers > m_xNumberedControllers
uno::Reference< report::XSection > m_xReportFooter
bool m_bSetModifiedEnabled
OUString m_sDataSourceName
uno::WeakReference< uno::XInterface > m_xParent
OReportDefinitionImpl(::osl::Mutex &_aMutex)
::comphelper::OInterfaceContainerHelper3< document::XEventListener > m_aLegacyEventListeners
uno::Reference< container::XNameAccess > m_xXMLNamespaceMap
uno::Reference< container::XNameAccess > m_xGradientTable
::rtl::Reference< ::dbaui::UndoManager > m_pUndoManager
std::shared_ptr< rptui::OReportModel > m_pReportModel
uno::Reference< container::XNameAccess > m_xTransparencyGradientTable
::sal_Int16 m_nGroupKeepTogether
::std::vector< uno::Reference< frame::XController > > m_aControllers
::comphelper::OInterfaceContainerHelper3< document::XDocumentEventListener > m_aDocEventListeners
::sal_Int16 m_nPageHeaderOption
uno::Reference< container::XNameAccess > m_xDashTable
uno::Reference< document::XDocumentProperties > m_xDocumentProperties
::sal_Int32 m_nCommandType
uno::Reference< container::XNameAccess > m_xHatchTable
uno::Reference< ui::XUIConfigurationManager2 > m_xUIConfigurationManager
uno::Reference< embed::XStorage > m_xStorage
uno::Reference< report::XSection > m_xReportHeader
uno::Reference< util::XNumberFormatsSupplier > m_xNumberFormatsSupplier
uno::Reference< report::XSection > m_xPageHeader
uno::Reference< container::XNameAccess > m_xStyles
uno::Sequence< beans::PropertyValue > m_aArgs
Reference< XFrame > xFrame
#define IMPLEMENT_FORWARD_REFCOUNT(classname, refcountbase)
#define DECLARE_XINTERFACE()
Reference< XComponentContext > _xContext
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoDashTable_createInstance(SdrModel *pModel)
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoGradientTable_createInstance(SdrModel *pModel)
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoBitmapTable_createInstance(SdrModel *pModel)
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoMarkerTable_createInstance(SdrModel *pModel)
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoHatchTable_createInstance(SdrModel *pModel)
SVXCORE_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvxUnoTransGradientTable_createInstance(SdrModel *pModel)