20#ifndef INCLUDED_REPORTDESIGN_INC_REPORTDEFINITION_HXX
21#define INCLUDED_REPORTDESIGN_INC_REPORTDEFINITION_HXX
27#include <com/sun/star/datatransfer/XTransferable.hpp>
28#include <com/sun/star/document/XDocumentEventBroadcaster.hpp>
29#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
30#include <com/sun/star/document/XUndoManagerSupplier.hpp>
31#include <com/sun/star/frame/XModule.hpp>
32#include <com/sun/star/frame/XTitle.hpp>
33#include <com/sun/star/frame/XTitleChangeBroadcaster.hpp>
34#include <com/sun/star/frame/XUntitledNumbers.hpp>
35#include <com/sun/star/lang/XServiceInfo.hpp>
36#include <com/sun/star/lang/XUnoTunnel.hpp>
37#include <com/sun/star/report/XReportDefinition.hpp>
38#include <com/sun/star/util/XNumberFormatsSupplier.hpp>
39#include <com/sun/star/ui/XUIConfigurationManager2.hpp>
57 class MediaDescriptor;
61 class OReportComponentProperties;
62 typedef cppu::PartialWeakComponentImplHelper< css::report::XReportDefinition
63 , css::document::XEventBroadcaster
64 , css::document::XDocumentEventBroadcaster
65 , css::lang::XServiceInfo
67 , css::lang::XUnoTunnel
68 , css::util::XNumberFormatsSupplier
70 , css::frame::XTitleChangeBroadcaster
71 , css::frame::XUntitledNumbers
72 , css::document::XDocumentPropertiesSupplier
73 , css::datatransfer::XTransferable
74 , css::document::XUndoManagerSupplier
90 std::shared_ptr<OReportComponentProperties>
m_aProps;
91 std::shared_ptr<OReportDefinitionImpl>
m_pImpl;
96 void setSection(
const OUString& _sProperty
98 ,
const OUString& _sName
99 ,css::uno::Reference< css::report::XSection>& _member);
101 template <
typename T>
void set(
const OUString& _sProperty
108 prepareSet(_sProperty, css::uno::Any(_member), css::uno::Any(
Value), &l);
114 void set(
const OUString& _sProperty
121 prepareSet(_sProperty, css::uno::Any(_member), css::uno::Any(
Value), &l);
130 const css::uno::Reference< css::lang::XComponent> & xComponent,
131 const char* pStreamName,
132 const char* pServiceName,
134 const css::uno::Sequence< css::uno::Any> & rArguments,
136 const css::uno::Sequence< css::beans::PropertyValue> & rMediaDesc,
137 const css::uno::Reference< css::embed::XStorage >& _xStorageToSaveTo);
142 const css::uno::Reference< css::io::XOutputStream> & xOutputStream,
143 const css::uno::Reference< css::lang::XComponent> & xComponent,
144 const char* pServiceName,
145 const css::uno::Sequence< css::uno::Any> & rArguments,
146 const css::uno::Sequence< css::beans::PropertyValue> & rMediaDesc);
148 void notifyEvent(
const OUString& _sEventName);
152 css::uno::Reference< css::frame::XTitle > impl_getTitleHelper_throw();
153 css::uno::Reference< css::frame::XUntitledNumbers > impl_getUntitledHelper_throw();
160 void impl_loadFromStorage_nolck_throw(
161 const css::uno::Reference< css::embed::XStorage >& _rxStorage,
162 const css::uno::Sequence< css::beans::PropertyValue >& _rArguments
169 virtual void SAL_CALL disposing()
override;
171 explicit OReportDefinition(css::uno::Reference< css::uno::XComponentContext >
const & _xContext);
173 ,
const css::uno::Reference< css::lang::XMultiServiceFactory > & _xFactory
174 ,css::uno::Reference< css::drawing::XShape >& _xShape);
177 static css::uno::Sequence< OUString > getSupportedServiceNames_Static();
179 static OUString getImplementationName_Static();
180 static css::uno::Reference< css::uno::XInterface >
181 create(css::uno::Reference< css::uno::XComponentContext >
const & xContext);
183 css::uno::Reference< css::uno::XComponentContext > getContext();
187 virtual SdrModel& getSdrModelFromUnoModel()
const override;
191 static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId();
192 static std::shared_ptr<rptui::OReportModel> getSdrModel(
const css::uno::Reference< css::report::XReportDefinition >& _xReportDefinition);
196 DECLARE_XTYPEPROVIDER( )
198 virtual
sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
199 virtual OUString SAL_CALL getImplementationName( ) override;
200 virtual css::
uno::
Sequence< OUString > SAL_CALL getSupportedServiceNames( ) override;
203 virtual css::
uno::
Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) override;
204 virtual
void SAL_CALL setPropertyValue( const OUString& aPropertyName, const css::
uno::Any& aValue ) override;
205 virtual css::
uno::Any SAL_CALL getPropertyValue( const OUString& PropertyName ) override;
206 virtual
void SAL_CALL addPropertyChangeListener( const OUString& aPropertyName, const css::
uno::
Reference< css::beans::XPropertyChangeListener >& xListener ) override;
207 virtual
void SAL_CALL removePropertyChangeListener( const OUString& aPropertyName, const css::
uno::
Reference< css::beans::XPropertyChangeListener >& aListener ) override;
208 virtual
void SAL_CALL addVetoableChangeListener( const OUString& PropertyName, const css::
uno::
Reference< css::beans::XVetoableChangeListener >& aListener ) override;
209 virtual
void SAL_CALL removeVetoableChangeListener( const OUString& PropertyName, const css::
uno::
Reference< css::beans::XVetoableChangeListener >& aListener ) override;
212 virtual OUString SAL_CALL getMimeType() override;
213 virtual
void SAL_CALL setMimeType( const OUString& _mimetype ) override;
214 virtual OUString SAL_CALL getCaption() override;
215 virtual
void SAL_CALL setCaption( const OUString& _caption ) override;
216 virtual ::sal_Int16 SAL_CALL getGroupKeepTogether() override;
217 virtual
void SAL_CALL setGroupKeepTogether( ::sal_Int16 _groupkeeptogether ) override;
218 virtual ::sal_Int16 SAL_CALL getPageHeaderOption() override;
219 virtual
void SAL_CALL setPageHeaderOption( ::sal_Int16 _pageheaderoption ) override;
220 virtual ::sal_Int16 SAL_CALL getPageFooterOption() override;
221 virtual
void SAL_CALL setPageFooterOption( ::sal_Int16 _pagefooteroption ) override;
222 virtual OUString SAL_CALL getCommand() override;
223 virtual
void SAL_CALL setCommand( const OUString& _command ) override;
224 virtual ::sal_Int32 SAL_CALL getCommandType() override;
225 virtual
void SAL_CALL setCommandType( ::sal_Int32 _commandtype ) override;
226 virtual OUString SAL_CALL getFilter() override;
227 virtual
void SAL_CALL setFilter( const OUString& _filter ) override;
228 virtual
sal_Bool SAL_CALL getEscapeProcessing() override;
229 virtual
void SAL_CALL setEscapeProcessing(
sal_Bool _escapeprocessing ) override;
230 virtual css::
uno::
Reference< css::sdbc::XConnection > SAL_CALL getActiveConnection() override;
231 virtual
void SAL_CALL setActiveConnection( const css::
uno::
Reference< css::sdbc::XConnection >& _activeconnection ) override;
232 virtual OUString SAL_CALL getDataSourceName() override;
233 virtual
void SAL_CALL setDataSourceName( const OUString& _datasourcename ) override;
234 virtual
sal_Bool SAL_CALL getReportHeaderOn() override;
235 virtual
void SAL_CALL setReportHeaderOn(
sal_Bool _reportheaderon ) override;
236 virtual
sal_Bool SAL_CALL getReportFooterOn() override;
237 virtual
void SAL_CALL setReportFooterOn(
sal_Bool _reportfooteron ) override;
238 virtual
sal_Bool SAL_CALL getPageHeaderOn() override;
239 virtual
void SAL_CALL setPageHeaderOn(
sal_Bool _pageheaderon ) override;
240 virtual
sal_Bool SAL_CALL getPageFooterOn() override;
241 virtual
void SAL_CALL setPageFooterOn(
sal_Bool _pagefooteron ) override;
242 virtual css::
uno::
Reference< css::report::XGroups > SAL_CALL getGroups() override;
243 virtual css::
uno::
Reference< css::report::XSection > SAL_CALL getReportHeader() override;
244 virtual css::
uno::
Reference< css::report::XSection > SAL_CALL getPageHeader() override;
245 virtual css::
uno::
Reference< css::report::XSection > SAL_CALL getDetail() override;
246 virtual css::
uno::
Reference< css::report::XSection > SAL_CALL getPageFooter() override;
247 virtual css::
uno::
Reference< css::report::XSection > SAL_CALL getReportFooter() override;
248 virtual css::
uno::
Reference< css::document::XEventBroadcaster > SAL_CALL getEventBroadcaster( ) override;
249 virtual css::
uno::
Sequence< OUString > SAL_CALL getAvailableMimeTypes( ) override;
258 virtual OUString SAL_CALL getShapeType( ) override;
261 virtual css::
uno::
Reference< css::report::XFunctions > SAL_CALL getFunctions() override;
264 virtual css::
uno::
Reference< css::util::XCloneable > SAL_CALL createClone( ) override;
267 virtual
void SAL_CALL dispose() override;
268 virtual
void SAL_CALL addEventListener(const css::
uno::
Reference< css::lang::XEventListener > & aListener)
override
270 cppu::WeakComponentImplHelperBase::addEventListener(aListener);
272 virtual void SAL_CALL
removeEventListener(
const css::uno::Reference< css::lang::XEventListener > & aListener)
override
274 cppu::WeakComponentImplHelperBase::removeEventListener(aListener);
278 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent( )
override;
279 virtual void SAL_CALL setParent(
const css::uno::Reference< css::uno::XInterface >& Parent )
override;
282 virtual void SAL_CALL addCloseListener(
const css::uno::Reference< css::util::XCloseListener >& Listener )
override;
283 virtual void SAL_CALL removeCloseListener(
const css::uno::Reference< css::util::XCloseListener >& Listener )
override;
286 virtual void SAL_CALL
close(
sal_Bool DeliverOwnership )
override;
289 virtual sal_Bool SAL_CALL attachResource(
const OUString& URL,
const css::uno::Sequence< css::beans::PropertyValue >& Arguments )
override;
290 virtual OUString SAL_CALL getURL( )
override;
291 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getArgs( )
override;
292 virtual void SAL_CALL connectController(
const css::uno::Reference< css::frame::XController >& Controller )
override;
293 virtual void SAL_CALL disconnectController(
const css::uno::Reference< css::frame::XController >& Controller )
override;
294 virtual void SAL_CALL lockControllers( )
override;
295 virtual void SAL_CALL unlockControllers( )
override;
296 virtual sal_Bool SAL_CALL hasControllersLocked( )
override;
297 virtual css::uno::Reference< css::frame::XController > SAL_CALL getCurrentController( )
override;
298 virtual void SAL_CALL setCurrentController(
const css::uno::Reference< css::frame::XController >& Controller )
override;
299 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getCurrentSelection( )
override;
302 virtual void SAL_CALL loadFromStorage(
const css::uno::Reference< css::embed::XStorage >& xStorage,
const css::uno::Sequence< css::beans::PropertyValue >& aMediaDescriptor )
override;
303 virtual void SAL_CALL storeToStorage(
const css::uno::Reference< css::embed::XStorage >& xStorage,
const css::uno::Sequence< css::beans::PropertyValue >& aMediaDescriptor )
override;
304 virtual void SAL_CALL switchToStorage(
const css::uno::Reference< css::embed::XStorage >& xStorage )
override;
305 virtual css::uno::Reference< css::embed::XStorage > SAL_CALL getDocumentStorage( )
override;
306 virtual void SAL_CALL addStorageChangeListener(
const css::uno::Reference< css::document::XStorageChangeListener >& xListener )
override;
307 virtual void SAL_CALL removeStorageChangeListener(
const css::uno::Reference< css::document::XStorageChangeListener >& xListener )
override;
310 virtual css::uno::Reference< css::container::XIndexAccess > SAL_CALL getViewData( )
override;
311 virtual void SAL_CALL setViewData(
const css::uno::Reference< css::container::XIndexAccess >& Data )
override;
314 virtual void SAL_CALL initNew( )
override;
315 virtual void SAL_CALL load(
const css::uno::Sequence< css::beans::PropertyValue >& lArguments )
override;
318 virtual void SAL_CALL setVisualAreaSize( ::sal_Int64 nAspect,
const css::awt::Size& aSize )
override;
319 virtual css::awt::Size SAL_CALL getVisualAreaSize( ::sal_Int64 nAspect )
override;
320 virtual css::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect )
override;
321 virtual ::sal_Int32 SAL_CALL getMapUnit( ::sal_Int64 nAspect )
override;
324 virtual sal_Bool SAL_CALL disableSetModified( )
override;
325 virtual sal_Bool SAL_CALL enableSetModified( )
override;
326 virtual sal_Bool SAL_CALL isSetModifiedEnabled( )
override;
329 virtual sal_Bool SAL_CALL isModified( )
override;
330 virtual void SAL_CALL setModified(
sal_Bool bModified )
override;
333 virtual void SAL_CALL addModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
334 virtual void SAL_CALL removeModifyListener(
const css::uno::Reference< css::util::XModifyListener >& aListener )
override;
337 virtual void SAL_CALL
addEventListener(
const css::uno::Reference< css::document::XEventListener >& aListener )
override;
338 virtual void SAL_CALL
removeEventListener(
const css::uno::Reference< css::document::XEventListener >& aListener )
override;
341 virtual void SAL_CALL addDocumentEventListener(
const css::uno::Reference< css::document::XDocumentEventListener >& rListener )
override;
342 virtual void SAL_CALL removeDocumentEventListener(
const css::uno::Reference< css::document::XDocumentEventListener >& rListener )
override;
343 virtual void SAL_CALL notifyDocumentEvent(
const OUString& rEventName,
const css::uno::Reference< css::frame::XController2 >& rViewController,
const css::uno::Any& rSupplement )
override;
346 virtual css::uno::Reference< css::ui::XUIConfigurationManager > SAL_CALL getUIConfigurationManager( )
override;
349 virtual css::uno::Reference< css::embed::XStorage > SAL_CALL getDocumentSubStorage(
const OUString& aStorageName, sal_Int32 nMode )
override;
350 virtual css::uno::Sequence< OUString > SAL_CALL getDocumentSubStoragesNames( )
override;
353 virtual sal_Int64 SAL_CALL getSomething(
const css::uno::Sequence< sal_Int8 >& aIdentifier )
override;
356 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL
createInstance(
const OUString& aServiceSpecifier )
override;
357 virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(
const OUString& ServiceSpecifier,
const css::uno::Sequence< css::uno::Any >& Arguments )
override;
358 css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames()
override;
361 virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getStyleFamilies( )
override;
364 virtual void SAL_CALL setIdentifier(
const OUString& Identifier )
override;
368 virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getNumberFormatSettings( )
override;
369 virtual css::uno::Reference< css::util::XNumberFormats > SAL_CALL
getNumberFormats( )
override;
372 virtual OUString SAL_CALL
getTitle( )
override;
373 virtual void SAL_CALL setTitle(
const OUString& sTitle )
override;
376 virtual void SAL_CALL addTitleChangeListener(
const css::uno::Reference< css::frame::XTitleChangeListener >& xListener )
override;
377 virtual void SAL_CALL removeTitleChangeListener(
const css::uno::Reference< css::frame::XTitleChangeListener >& xListener )
override;
380 virtual ::sal_Int32 SAL_CALL leaseNumber(
const css::uno::Reference< css::uno::XInterface >& xComponent )
override;
381 virtual void SAL_CALL releaseNumber( ::sal_Int32 nNumber )
override;
382 virtual void SAL_CALL releaseNumberForComponent(
const css::uno::Reference< css::uno::XInterface >& xComponent )
override;
383 virtual OUString SAL_CALL getUntitledPrefix( )
override;
386 virtual css::uno::Reference< css::document::XDocumentProperties > SAL_CALL getDocumentProperties( )
override;
389 virtual css::uno::Any SAL_CALL getTransferData(
const css::datatransfer::DataFlavor& aFlavor )
override;
390 virtual css::uno::Sequence< css::datatransfer::DataFlavor > SAL_CALL getTransferDataFlavors( )
override;
391 virtual sal_Bool SAL_CALL isDataFlavorSupported(
const css::datatransfer::DataFlavor& aFlavor )
override;
394 virtual css::uno::Reference< css::document::XUndoManager > SAL_CALL getUndoManager( )
override;
397 virtual css::uno::Reference < css::embed::XStorage > getStorage()
const override;
398 virtual ::comphelper::EmbeddedObjectContainer& getEmbeddedObjectContainer()
const override;
399 virtual css::uno::Reference< css::task::XInteractionHandler > getInteractionHandler()
const override;
400 virtual bool isEnableSetModified()
const override;
401 virtual OUString getDocumentBaseURL()
const override;
404 css::uno::Reference< css::ui::XUIConfigurationManager2 > getUIConfigurationManager2( );
#define REPORTCOMPONENT_HEADER()
HRESULT createInstance(REFIID iid, Ifc **ppIfc)
FILE * init(int, char **)
OReportDefinition(css::uno::Reference< css::uno::XComponentContext > const &_xContext, const css::uno::Reference< css::lang::XMultiServiceFactory > &_xFactory, css::uno::Reference< css::drawing::XShape > &_xShape)
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::document::XEventListener > &aListener) override
OReportDefinition & operator=(const OReportDefinition &)=delete
void set(const OUString &_sProperty, bool Value, bool &_member)
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
OReportDefinition(css::uno::Reference< css::uno::XComponentContext > const &_xContext)
OReportDefinition(const OReportDefinition &)=delete
bool WriteThroughComponent(const css::uno::Reference< css::io::XOutputStream > &xOutputStream, const css::uno::Reference< css::lang::XComponent > &xComponent, const char *pServiceName, const css::uno::Sequence< css::uno::Any > &rArguments, const css::uno::Sequence< css::beans::PropertyValue > &rMediaDesc)
write a single output stream (to be called either directly or by WriteThroughComponent(....
std::shared_ptr< OReportDefinitionImpl > m_pImpl
void set(const OUString &_sProperty, const T &Value, T &_member)
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::document::XEventListener > &aListener) override
std::shared_ptr< OReportComponentProperties > m_aProps
#define REPORTDESIGN_DLLPUBLIC
DESKTOP_DEPLOYMENTMISC_DLLPUBLIC OUString getIdentifier(css::uno::Reference< css::deployment::XPackage > const &package)
css::uno::Reference< css::deployment::XPackageRegistry > create(css::uno::Reference< css::deployment::XPackageRegistry > const &xRootRegistry, OUString const &context, OUString const &cachePath, css::uno::Reference< css::uno::XComponentContext > const &xComponentContext)
std::u16string_view getTitle(std::u16string_view aPath)
::cppu::PropertySetMixin< css::report::XReportDefinition > ReportDefinitionPropertySet
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 DECLARE_XINTERFACE()