diff options
Diffstat (limited to 'reportdesign/inc')
-rw-r--r-- | reportdesign/inc/ModuleHelper.hxx | 102 | ||||
-rw-r--r-- | reportdesign/inc/PropertyForward.hxx | 94 | ||||
-rw-r--r-- | reportdesign/inc/ReportDefinition.hxx | 397 | ||||
-rw-r--r-- | reportdesign/inc/ReportHelperDefines.hxx | 197 | ||||
-rw-r--r-- | reportdesign/inc/ReportVisitor.hxx | 69 | ||||
-rw-r--r-- | reportdesign/inc/RptDef.hxx | 123 | ||||
-rw-r--r-- | reportdesign/inc/RptModel.hxx | 105 | ||||
-rw-r--r-- | reportdesign/inc/RptObject.hxx | 288 | ||||
-rw-r--r-- | reportdesign/inc/RptPage.hxx | 101 | ||||
-rw-r--r-- | reportdesign/inc/RptResId.hrc | 298 | ||||
-rw-r--r-- | reportdesign/inc/UndoActions.hxx | 302 | ||||
-rw-r--r-- | reportdesign/inc/UndoEnv.hxx | 152 | ||||
-rw-r--r-- | reportdesign/inc/conditionalexpression.hxx | 126 | ||||
-rw-r--r-- | reportdesign/inc/dllapi.h | 43 | ||||
-rw-r--r-- | reportdesign/inc/helpids.hrc | 130 | ||||
-rw-r--r-- | reportdesign/inc/makefile.mk | 47 | ||||
-rw-r--r-- | reportdesign/inc/pch/precompiled_reportdesign.cxx | 31 | ||||
-rw-r--r-- | reportdesign/inc/pch/precompiled_reportdesign.hxx | 47 | ||||
-rw-r--r-- | reportdesign/inc/reportformula.hxx | 137 | ||||
-rw-r--r-- | reportdesign/inc/rptui_slotid.hrc | 212 |
20 files changed, 3001 insertions, 0 deletions
diff --git a/reportdesign/inc/ModuleHelper.hxx b/reportdesign/inc/ModuleHelper.hxx new file mode 100644 index 000000000000..2ea495990045 --- /dev/null +++ b/reportdesign/inc/ModuleHelper.hxx @@ -0,0 +1,102 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _RPTUI_MODULE_HELPER_RPT_HXX_ +#define _RPTUI_MODULE_HELPER_RPT_HXX_ + +#include "dllapi.h" +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <tools/resmgr.hxx> + +//......................................................................... +namespace rptui +{ +//......................................................................... + //========================================================================= + //= OModule + //========================================================================= + class OModuleImpl; + class REPORTDESIGN_DLLPUBLIC OModule + { + friend class OModuleClient; + + private: + OModule(); + // not implemented. OModule is a static class + + protected: + static ::osl::Mutex s_aMutex; /// access safety + static sal_Int32 s_nClients; /// number of registered clients + static OModuleImpl* s_pImpl; /// impl class. lives as long as at least one client for the module is registered + + public: + /// get the vcl res manager of the module + static ResMgr* getResManager(); + protected: + /// register a client for the module + static void registerClient(); + /// revoke a client for the module + static void revokeClient(); + + private: + /** ensure that the impl class exists + @precond m_aMutex is guarded when this method gets called + */ + static void ensureImpl(); + }; + + //========================================================================= + //= OModuleClient + //========================================================================= + /** base class for objects which uses any global module-specific ressources + */ + class REPORTDESIGN_DLLPUBLIC OModuleClient + { + public: + inline OModuleClient() { OModule::registerClient(); } + inline ~OModuleClient() { OModule::revokeClient(); } + }; + + //========================================================================= + //= ModuleRes + //========================================================================= + /** specialized ResId, using the ressource manager provided by the global module + */ + class REPORTDESIGN_DLLPUBLIC ModuleRes : public ::ResId + { + public: + inline ModuleRes(USHORT _nId) : ResId(_nId, *OModule::getResManager()) { } + }; +//......................................................................... +} // namespace rptui +//......................................................................... + +#endif // _RPTUI_MODULE_HELPER_RPT_HXX_ + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/PropertyForward.hxx b/reportdesign/inc/PropertyForward.hxx new file mode 100644 index 000000000000..5a99848ede31 --- /dev/null +++ b/reportdesign/inc/PropertyForward.hxx @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef RPTUI_PROPERTYSETFORWARD_HXX +#define RPTUI_PROPERTYSETFORWARD_HXX + +#include "dllapi.h" +#include <com/sun/star/beans/XPropertyChangeListener.hpp> +#include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/beans/XPropertySetInfo.hpp> +#include <cppuhelper/compbase1.hxx> +#include "cppuhelper/basemutex.hxx" +#include "RptDef.hxx" + + +//........................................................................ +namespace rptui +{ +//........................................................................ + typedef ::cppu::WeakComponentImplHelper1< ::com::sun::star::beans::XPropertyChangeListener + > OPropertyForward_Base; + + /** \class OPropertyMediator + * \brief This class ensures the communication between two XPropertySet instances. + * Identical properties will be set at the other propertyset. + * \ingroup reportdesign_source_ui_misc + */ + class REPORTDESIGN_DLLPUBLIC OPropertyMediator : public ::cppu::BaseMutex + ,public OPropertyForward_Base + { + TPropertyNamePair m_aNameMap; + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> m_xSource; + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo> m_xSourceInfo; + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> m_xDest; + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo> m_xDestInfo; + sal_Bool m_bInChange; + OPropertyMediator(OPropertyMediator&); + void operator =(OPropertyMediator&); + protected: + virtual ~OPropertyMediator(); + + /** this function is called upon disposing the component + */ + virtual void SAL_CALL disposing(); + public: + OPropertyMediator(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _xSource + ,const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _xDest + ,const TPropertyNamePair& _aNameMap + ,sal_Bool _bReverse = sal_False); + + // ::com::sun::star::beans::XPropertyChangeListener + virtual void SAL_CALL propertyChange( const ::com::sun::star::beans::PropertyChangeEvent& evt ) throw(::com::sun::star::uno::RuntimeException); + + // ::com::sun::star::lang::XEventListener + virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& _rSource ) throw (::com::sun::star::uno::RuntimeException); + + /** stop the listening mode. + */ + void stopListening(); + + /** starts the listening mode again. + */ + void startListening(); + }; +//........................................................................ +} // namespace rptui +//........................................................................ +#endif // RPTUI_PROPERTYSETFORWARD_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/ReportDefinition.hxx b/reportdesign/inc/ReportDefinition.hxx new file mode 100644 index 000000000000..d3e3450b8936 --- /dev/null +++ b/reportdesign/inc/ReportDefinition.hxx @@ -0,0 +1,397 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef REPORTDESIGN_API_REPORTDEFINITION_HXX +#define REPORTDESIGN_API_REPORTDEFINITION_HXX + +#include "dllapi.h" +#include <com/sun/star/report/XReportDefinition.hpp> +#include <cppuhelper/compbase12.hxx> +#include <cppuhelper/basemutex.hxx> +#include <com/sun/star/lang/XServiceInfo.hpp> +#include <com/sun/star/lang/XUnoTunnel.hpp> +#include <com/sun/star/lang/XTypeProvider.hpp> +#include <com/sun/star/frame/XTitle.hpp> +#include <com/sun/star/frame/XTitleChangeBroadcaster.hpp> +#include <com/sun/star/frame/XUntitledNumbers.hpp> +#include <com/sun/star/frame/XModule.hpp> +#include <com/sun/star/util/XNumberFormatsSupplier.hpp> +#include <com/sun/star/document/XDocumentPropertiesSupplier.hpp> +#include <com/sun/star/datatransfer/XTransferable.hpp> +#include <cppuhelper/propertysetmixin.hxx> +#include <comphelper/uno3.hxx> +#include <comphelper/embeddedobjectcontainer.hxx> +#include <svx/unomod.hxx> + +#include "ReportHelperDefines.hxx" +#include <boost/shared_ptr.hpp> + + +namespace rptui +{ + class OReportModel; +} +namespace comphelper +{ + class MediaDescriptor; +} +namespace reportdesign +{ + class OReportComponentProperties; + typedef ::cppu::WeakComponentImplHelper12< com::sun::star::report::XReportDefinition + ,com::sun::star::document::XEventBroadcaster + ,com::sun::star::lang::XServiceInfo + ,com::sun::star::frame::XModule + ,com::sun::star::lang::XUnoTunnel + ,com::sun::star::util::XNumberFormatsSupplier + ,::com::sun::star::frame::XTitle + ,::com::sun::star::frame::XTitleChangeBroadcaster + ,::com::sun::star::frame::XUntitledNumbers + ,::com::sun::star::document::XDocumentPropertiesSupplier + ,::com::sun::star::datatransfer::XTransferable + ,SvxUnoDrawMSFactory> ReportDefinitionBase; + typedef ::cppu::PropertySetMixin<com::sun::star::report::XReportDefinition> ReportDefinitionPropertySet; + + struct OReportDefinitionImpl; + /** \class OReportDefinition Defines the implementation of a \interface com:::sun::star::report::XReportDefinition + * \ingroup reportdesign_api + * + */ + class REPORTDESIGN_DLLPUBLIC OReportDefinition : public ::cppu::BaseMutex, + public ReportDefinitionBase, + public ReportDefinitionPropertySet, + public ::comphelper::IEmbeddedHelper + { + ::boost::shared_ptr<OReportComponentProperties> m_aProps; + ::boost::shared_ptr<OReportDefinitionImpl> m_pImpl; + private: + OReportDefinition(const OReportDefinition&); + OReportDefinition& operator=(const OReportDefinition&); + + void setSection( const ::rtl::OUString& _sProperty + ,const sal_Bool& _bOn + ,const ::rtl::OUString& _sName + ,::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _member); + + template <typename T> void set( const ::rtl::OUString& _sProperty + ,const T& _Value + ,T& _member) + { + BoundListeners l; + { + ::osl::MutexGuard aGuard(m_aMutex); + prepareSet(_sProperty, ::com::sun::star::uno::makeAny(_member), ::com::sun::star::uno::makeAny(_Value), &l); + _member = _Value; + } + l.notify(); + } + + /// write a single XML stream into the package + sal_Bool WriteThroughComponent( + /// the component we export + const ::com::sun::star::uno::Reference< + ::com::sun::star::lang::XComponent> & xComponent, + const sal_Char* pStreamName, /// the stream name + const sal_Char* pServiceName, /// service name of the component + /// the argument (XInitialization) + const ::com::sun::star::uno::Sequence< + ::com::sun::star::uno::Any> & rArguments, + /// output descriptor + const ::com::sun::star::uno::Sequence< + ::com::sun::star::beans::PropertyValue> & rMediaDesc, + sal_Bool bPlainStream + , const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& _xStorageToSaveTo); /// neither compress nor encrypt + + /// write a single output stream + /// (to be called either directly or by WriteThroughComponent(...)) + sal_Bool WriteThroughComponent( + const ::com::sun::star::uno::Reference< + ::com::sun::star::io::XOutputStream> & xOutputStream, + const ::com::sun::star::uno::Reference< + ::com::sun::star::lang::XComponent> & xComponent, + const sal_Char* pServiceName, + const ::com::sun::star::uno::Sequence< + ::com::sun::star::uno::Any> & rArguments, + const ::com::sun::star::uno::Sequence< + ::com::sun::star::beans::PropertyValue> & rMediaDesc); + + void notifyEvent(const ::rtl::OUString& _sEventName); + void init(); + void fillArgs(::comphelper::MediaDescriptor& _aDescriptor); + + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTitle > impl_getTitleHelper_throw(); + ::com::sun::star::uno::Reference< ::com::sun::star::frame::XUntitledNumbers > impl_getUntitledHelper_throw(); + + /** loads the report definition from the given storage + @precond + our mutex is locked + @throws + */ + void impl_loadFromStorage_nolck_throw( + const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& _rxStorage, + const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArguments + ); + + protected: + virtual ~OReportDefinition(); + + /** this function is called upon disposing the component + */ + virtual void SAL_CALL disposing(); + public: + explicit OReportDefinition(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext); + explicit OReportDefinition(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext + ,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & _xFactory + ,::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& _xShape); + + static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) throw( ::com::sun::star::uno::RuntimeException ); + static ::rtl::OUString getImplementationName_Static(void) throw( ::com::sun::star::uno::RuntimeException ); + static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL + create(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext); + + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getContext(); + + /** return the SdrModel of the real model + * + * \return + */ + ::boost::shared_ptr<rptui::OReportModel> getSdrModel() const; + + static ::boost::shared_ptr<rptui::OReportModel> getSdrModel(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >& _xReportDefinition); + private: + DECLARE_XINTERFACE( ) + DECLARE_XTYPEPROVIDER( ) + // ::com::sun::star::lang::XServiceInfo + virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException); + + // com::sun::star::beans::XPropertySet + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); + + // XReportDefinition + virtual ::rtl::OUString SAL_CALL getMimeType() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setMimeType( const ::rtl::OUString& _mimetype ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getCaption() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setCaption( const ::rtl::OUString& _caption ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int16 SAL_CALL getGroupKeepTogether() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setGroupKeepTogether( ::sal_Int16 _groupkeeptogether ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int16 SAL_CALL getPageHeaderOption() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPageHeaderOption( ::sal_Int16 _pageheaderoption ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int16 SAL_CALL getPageFooterOption() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPageFooterOption( ::sal_Int16 _pagefooteroption ) throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getCommand() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setCommand( const ::rtl::OUString& _command ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Int32 SAL_CALL getCommandType() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setCommandType( ::sal_Int32 _commandtype ) throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getFilter() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setFilter( const ::rtl::OUString& _filter ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL getEscapeProcessing() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setEscapeProcessing( ::sal_Bool _escapeprocessing ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > SAL_CALL getActiveConnection() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setActiveConnection( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _activeconnection ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getDataSourceName() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setDataSourceName( const ::rtl::OUString& _datasourcename ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL getReportHeaderOn() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setReportHeaderOn( ::sal_Bool _reportheaderon ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL getReportFooterOn() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setReportFooterOn( ::sal_Bool _reportfooteron ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL getPageHeaderOn() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPageHeaderOn( ::sal_Bool _pageheaderon ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL getPageFooterOn() throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setPageFooterOn( ::sal_Bool _pagefooteron ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroups > SAL_CALL getGroups() throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getReportHeader() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getPageHeader() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getDetail() throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getPageFooter() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getReportFooter() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventBroadcaster > SAL_CALL getEventBroadcaster( ) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableMimeTypes( ) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + + // XReportComponent + REPORTCOMPONENT_HEADER() + + // XShape + SHAPE_HEADER() + + // XShapeDescriptor + virtual ::rtl::OUString SAL_CALL getShapeType( ) throw (::com::sun::star::uno::RuntimeException); + + //XFunctionsSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctions > SAL_CALL getFunctions() throw (::com::sun::star::uno::RuntimeException); + + // XCloneable + virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone( ) throw (::com::sun::star::uno::RuntimeException); + + // XComponent + virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener) throw(::com::sun::star::uno::RuntimeException) + { + cppu::WeakComponentImplHelperBase::addEventListener(aListener); + } + virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener) throw(::com::sun::star::uno::RuntimeException) + { + cppu::WeakComponentImplHelperBase::removeEventListener(aListener); + } + + // XChild + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Parent ) throw (::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException); + + // XCloseBroadcaster + virtual void SAL_CALL addCloseListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeCloseListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloseListener >& Listener ) throw (::com::sun::star::uno::RuntimeException); + + // XCloseable + virtual void SAL_CALL close( ::sal_Bool DeliverOwnership ) throw (::com::sun::star::util::CloseVetoException, ::com::sun::star::uno::RuntimeException); + + // XModel + virtual ::sal_Bool SAL_CALL attachResource( const ::rtl::OUString& URL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& Arguments ) throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getURL( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getArgs( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL connectController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >& Controller ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL disconnectController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >& Controller ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL lockControllers( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL unlockControllers( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL hasControllersLocked( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController > SAL_CALL getCurrentController( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setCurrentController( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XController >& Controller ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getCurrentSelection( ) throw (::com::sun::star::uno::RuntimeException); + + // XStorageBasedDocument + virtual void SAL_CALL loadFromStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescriptor ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::frame::DoubleInitializationException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL storeToStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& aMediaDescriptor ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL switchToStorage( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > SAL_CALL getDocumentStorage( ) throw (::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL addStorageChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeStorageChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XStorageChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); + + // XViewDataSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > SAL_CALL getViewData( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setViewData( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& Data ) throw (::com::sun::star::uno::RuntimeException); + + // XLoadable + virtual void SAL_CALL initNew( ) throw (::com::sun::star::frame::DoubleInitializationException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL load( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& lArguments ) throw (::com::sun::star::frame::DoubleInitializationException, ::com::sun::star::io::IOException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + + // XVisualObject + virtual void SAL_CALL setVisualAreaSize( ::sal_Int64 nAspect, const ::com::sun::star::awt::Size& aSize ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::awt::Size SAL_CALL getVisualAreaSize( ::sal_Int64 nAspect ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::embed::VisualRepresentation SAL_CALL getPreferredVisualRepresentation( ::sal_Int64 nAspect ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::embed::WrongStateException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual ::sal_Int32 SAL_CALL getMapUnit( ::sal_Int64 nAspect ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + + // XModifiable2 + virtual ::sal_Bool SAL_CALL disableSetModified( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL enableSetModified( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL isSetModifiedEnabled( ) throw (::com::sun::star::uno::RuntimeException); + + // XModifiable + virtual ::sal_Bool SAL_CALL isModified( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setModified( ::sal_Bool bModified ) throw (::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException); + + // XModifyBroadcaster + virtual void SAL_CALL addModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeModifyListener( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener >& aListener ) throw (::com::sun::star::uno::RuntimeException); + + // document::XEventBroadcaster + virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::document::XEventListener >& aListener ) throw (::com::sun::star::uno::RuntimeException); + + // document::XEventListener + virtual void SAL_CALL notifyEvent( const ::com::sun::star::document::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException); + + // XUIConfigurationManagerSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::ui::XUIConfigurationManager > SAL_CALL getUIConfigurationManager( ) throw (::com::sun::star::uno::RuntimeException); + + // XDocumentSubStorageSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > SAL_CALL getDocumentSubStorage( const ::rtl::OUString& aStorageName, sal_Int32 nMode ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getDocumentSubStoragesNames( ) throw (::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); + + // com::sun::star::lang::XUnoTunnel + virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException); + static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId(); + + // SvxUnoDrawMSFactory + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstance( const ::rtl::OUString& aServiceSpecifier ) throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createInstanceWithArguments( const ::rtl::OUString& ServiceSpecifier, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Arguments ) throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); + ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableServiceNames(void) throw( ::com::sun::star::uno::RuntimeException ); + + // XStyleFamiliesSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getStyleFamilies( ) throw (::com::sun::star::uno::RuntimeException); + + // XModule + virtual void SAL_CALL setIdentifier( const ::rtl::OUString& Identifier ) throw (::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getIdentifier( ) throw (::com::sun::star::uno::RuntimeException); + + // XNumberFormatsSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getNumberFormatSettings( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormats > SAL_CALL getNumberFormats( ) throw (::com::sun::star::uno::RuntimeException); + + // XTitle + virtual ::rtl::OUString SAL_CALL getTitle( ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL setTitle( const ::rtl::OUString& sTitle ) throw (::com::sun::star::uno::RuntimeException); + + // XTitleChangeBroadcaster + virtual void SAL_CALL addTitleChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTitleChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL removeTitleChangeListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XTitleChangeListener >& xListener ) throw (::com::sun::star::uno::RuntimeException); + + // XUntitledNumbers + virtual ::sal_Int32 SAL_CALL leaseNumber( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xComponent ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL releaseNumber( ::sal_Int32 nNumber ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL releaseNumberForComponent( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xComponent ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); + virtual ::rtl::OUString SAL_CALL getUntitledPrefix( ) throw (::com::sun::star::uno::RuntimeException); + + // XDocumentPropertiesSupplier + virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XDocumentProperties > SAL_CALL getDocumentProperties( ) throw (::com::sun::star::uno::RuntimeException); + + // XTransferable + virtual ::com::sun::star::uno::Any SAL_CALL getTransferData( const ::com::sun::star::datatransfer::DataFlavor& aFlavor ) throw (::com::sun::star::datatransfer::UnsupportedFlavorException, ::com::sun::star::io::IOException, ::com::sun::star::uno::RuntimeException); + virtual ::com::sun::star::uno::Sequence< ::com::sun::star::datatransfer::DataFlavor > SAL_CALL getTransferDataFlavors( ) throw (::com::sun::star::uno::RuntimeException); + virtual ::sal_Bool SAL_CALL isDataFlavorSupported( const ::com::sun::star::datatransfer::DataFlavor& aFlavor ) throw (::com::sun::star::uno::RuntimeException); + + // comphelper::IEmbeddedHelper + virtual com::sun::star::uno::Reference < com::sun::star::embed::XStorage > getStorage() const; + virtual ::comphelper::EmbeddedObjectContainer& getEmbeddedObjectContainer() const; + virtual ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler > getInteractionHandler() const; + virtual bool isEnableSetModified() const; + + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getContext() const; + }; +// ============================================================================= +} // namespace reportdesign +// ============================================================================= +#endif // REPORTDESIGN_API_REPORTDEFINITION_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/ReportHelperDefines.hxx b/reportdesign/inc/ReportHelperDefines.hxx new file mode 100644 index 000000000000..8f1090efd0cc --- /dev/null +++ b/reportdesign/inc/ReportHelperDefines.hxx @@ -0,0 +1,197 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef INCLUDED_REPORTHELPERDEFINES_HXX +#define INCLUDED_REPORTHELPERDEFINES_HXX + +#define REPORTCONTROLMODEL_HEADER() \ + virtual ::rtl::OUString SAL_CALL getDataField() throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual void SAL_CALL setDataField(const ::rtl::OUString & the_value) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual ::sal_Bool SAL_CALL getPrintWhenGroupChange() throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual void SAL_CALL setPrintWhenGroupChange(::sal_Bool the_value) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual ::rtl::OUString SAL_CALL getConditionalPrintExpression() throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual void SAL_CALL setConditionalPrintExpression(const ::rtl::OUString & the_value) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XFormatCondition > SAL_CALL createFormatCondition() throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::uno::Exception); + +#define SHAPE_HEADER() \ + virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw (::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setPosition(const ::com::sun::star::awt::Point & aPosition) throw (::com::sun::star::uno::RuntimeException); \ + virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw (::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setSize(const ::com::sun::star::awt::Size & aSize) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::PropertyVetoException); + +#define REPORTCOMPONENT_HEADER() \ + virtual ::rtl::OUString SAL_CALL getName() throw (::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setName(const ::rtl::OUString & the_value) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::PropertyVetoException); \ + virtual ::sal_Int32 SAL_CALL getHeight() throw (::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setHeight(::sal_Int32 the_value) throw (::com::sun::star::uno::RuntimeException); \ + virtual ::sal_Int32 SAL_CALL getPositionX() throw (::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setPositionX(::sal_Int32 the_value) throw (::com::sun::star::uno::RuntimeException); \ + virtual ::sal_Int32 SAL_CALL getPositionY() throw (::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setPositionY(::sal_Int32 the_value) throw (::com::sun::star::uno::RuntimeException); \ + virtual ::sal_Int32 SAL_CALL getWidth() throw (::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setWidth(::sal_Int32 the_value) throw (::com::sun::star::uno::RuntimeException); \ + virtual ::sal_Int16 SAL_CALL getControlBorder() throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual void SAL_CALL setControlBorder(::sal_Int16 the_value) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual ::sal_Int32 SAL_CALL getControlBorderColor() throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual void SAL_CALL setControlBorderColor(::sal_Int32 the_value) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual ::sal_Bool SAL_CALL getPrintRepeatedValues() throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual void SAL_CALL setPrintRepeatedValues(::sal_Bool the_value) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); \ + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getMasterFields() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setMasterFields( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _masterfields ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); \ + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getDetailFields() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); \ + virtual void SAL_CALL setDetailFields( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _detailfields ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); \ + virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getSection() throw (::com::sun::star::uno::RuntimeException); + +#define REPORTCONTROLFORMAT_HEADER() \ + virtual ::sal_Int32 SAL_CALL getControlBackground() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setControlBackground( ::sal_Int32 _controlbackground ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Bool SAL_CALL getControlBackgroundTransparent() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setControlBackgroundTransparent( ::sal_Bool _controlbackgroundtransparent ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getParaAdjust() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setParaAdjust( ::sal_Int16 _paraadjust ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::awt::FontDescriptor SAL_CALL getFontDescriptor() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setFontDescriptor( const ::com::sun::star::awt::FontDescriptor& _fontdescriptor ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::awt::FontDescriptor SAL_CALL getFontDescriptorAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setFontDescriptorAsian( const ::com::sun::star::awt::FontDescriptor& _fontdescriptor ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::awt::FontDescriptor SAL_CALL getFontDescriptorComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setFontDescriptorComplex( const ::com::sun::star::awt::FontDescriptor& _fontdescriptor ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getControlTextEmphasis() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setControlTextEmphasis( ::sal_Int16 _controltextemphasis ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharEmphasis() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharEmphasis( ::sal_Int16 _charemphasis ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Bool SAL_CALL getCharCombineIsOn() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharCombineIsOn( ::sal_Bool _charcombineison ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getCharCombinePrefix() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharCombinePrefix( const ::rtl::OUString& _charcombineprefix ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getCharCombineSuffix() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharCombineSuffix( const ::rtl::OUString& _charcombinesuffix ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Bool SAL_CALL getCharHidden() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharHidden( ::sal_Bool _charhidden ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Bool SAL_CALL getCharShadowed() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharShadowed( ::sal_Bool _charshadowed ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Bool SAL_CALL getCharContoured() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharContoured( ::sal_Bool _charcontoured ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharCaseMap() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharCaseMap( ::sal_Int16 _charcasemap ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::lang::Locale SAL_CALL getCharLocale() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharLocale( const ::com::sun::star::lang::Locale& _charlocale ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharEscapement() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharEscapement( ::sal_Int16 _charescapement ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int8 SAL_CALL getCharEscapementHeight() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharEscapementHeight( ::sal_Int8 _charescapementheight ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Bool SAL_CALL getCharAutoKerning() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharAutoKerning( ::sal_Bool _charautokerning ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharKerning() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharKerning( ::sal_Int16 _charkerning ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Bool SAL_CALL getCharFlash() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFlash( ::sal_Bool _charflash ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharRelief() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharRelief( ::sal_Int16 _charrelief ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getCharFontName() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontName( const ::rtl::OUString& _charfontname ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getCharFontStyleName() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontStyleName( const ::rtl::OUString& _charfontstylename ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontFamily() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontFamily( ::sal_Int16 _charfontfamily ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontCharSet() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontCharSet( ::sal_Int16 _charfontcharset ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontPitch() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontPitch( ::sal_Int16 _charfontpitch ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int32 SAL_CALL getCharColor() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharColor( ::sal_Int32 _charcolor ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int32 SAL_CALL getCharUnderlineColor() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharUnderlineColor( ::sal_Int32 _charunderlinecolor ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual float SAL_CALL getCharHeight() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharHeight( float _charheight ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharUnderline() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharUnderline( ::sal_Int16 _charunderline ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual float SAL_CALL getCharWeight() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharWeight( float _charweight ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::awt::FontSlant SAL_CALL getCharPosture() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharPosture( ::com::sun::star::awt::FontSlant _charposture ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharStrikeout() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharStrikeout( ::sal_Int16 _charstrikeout ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Bool SAL_CALL getCharWordMode() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharWordMode( ::sal_Bool _charwordmode ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharRotation() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharRotation( ::sal_Int16 _charrotation ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharScaleWidth() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharScaleWidth( ::sal_Int16 _charscalewidth ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::style::VerticalAlignment SAL_CALL getVerticalAlign() throw (::com::sun::star::beans::UnknownPropertyException,::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setVerticalAlign( ::com::sun::star::style::VerticalAlignment _paravertalignment ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getHyperLinkURL() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setHyperLinkURL( const ::rtl::OUString& _hyperlinkurl ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getHyperLinkTarget() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setHyperLinkTarget( const ::rtl::OUString& _hyperlinktarget ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getHyperLinkName() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setHyperLinkName( const ::rtl::OUString& _hyperlinkname ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getVisitedCharStyleName() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setVisitedCharStyleName( const ::rtl::OUString& _visitedcharstylename ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getUnvisitedCharStyleName() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setUnvisitedCharStyleName( const ::rtl::OUString& _unvisitedcharstylename ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual float SAL_CALL getCharHeightAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharHeightAsian( float _charheightasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual float SAL_CALL getCharWeightAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharWeightAsian( float _charweightasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getCharFontNameAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontNameAsian( const ::rtl::OUString& _charfontnameasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getCharFontStyleNameAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontStyleNameAsian( const ::rtl::OUString& _charfontstylenameasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontFamilyAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontFamilyAsian( ::sal_Int16 _charfontfamilyasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontCharSetAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontCharSetAsian( ::sal_Int16 _charfontcharsetasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontPitchAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontPitchAsian( ::sal_Int16 _charfontpitchasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::awt::FontSlant SAL_CALL getCharPostureAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharPostureAsian( ::com::sun::star::awt::FontSlant _charpostureasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::lang::Locale SAL_CALL getCharLocaleAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharLocaleAsian( const ::com::sun::star::lang::Locale& _charlocaleasian ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual float SAL_CALL getCharHeightComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharHeightComplex( float _charheightcomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual float SAL_CALL getCharWeightComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharWeightComplex( float _charweightcomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getCharFontNameComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontNameComplex( const ::rtl::OUString& _charfontnamecomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::rtl::OUString SAL_CALL getCharFontStyleNameComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontStyleNameComplex( const ::rtl::OUString& _charfontstylenamecomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontFamilyComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontFamilyComplex( ::sal_Int16 _charfontfamilycomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontCharSetComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontCharSetComplex( ::sal_Int16 _charfontcharsetcomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::sal_Int16 SAL_CALL getCharFontPitchComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharFontPitchComplex( ::sal_Int16 _charfontpitchcomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::awt::FontSlant SAL_CALL getCharPostureComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharPostureComplex( ::com::sun::star::awt::FontSlant _charposturecomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual ::com::sun::star::lang::Locale SAL_CALL getCharLocaleComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);\ + virtual void SAL_CALL setCharLocaleComplex( const ::com::sun::star::lang::Locale& _charlocalecomplex ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); + + + +#endif // INCLUDED_REPORTHELPERDEFINES_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/ReportVisitor.hxx b/reportdesign/inc/ReportVisitor.hxx new file mode 100644 index 000000000000..1496542c7635 --- /dev/null +++ b/reportdesign/inc/ReportVisitor.hxx @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef INCLUDED_REPORT_VISTITOR_HXX +#define INCLUDED_REPORT_VISTITOR_HXX + +#include "dllapi.h" +#include <com/sun/star/report/XReportDefinition.hpp> + + +namespace reportdesign +{ + class SAL_NO_VTABLE ITraverseReport + { + public: + virtual void traverseReport(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>& _xReport) = 0; + virtual void traverseReportFunctions(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctions>& _xFunctions) = 0; + virtual void traverseReportHeader(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; + virtual void traverseReportFooter(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; + virtual void traversePageHeader(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; + virtual void traversePageFooter(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; + + virtual void traverseGroups(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroups>& _xGroups) = 0; + virtual void traverseGroup(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup>& _xGroup) = 0; + virtual void traverseGroupFunctions(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctions>& _xFunctions) = 0; + virtual void traverseGroupHeader(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; + virtual void traverseGroupFooter(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; + + virtual void traverseDetail(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) = 0; + }; + + class REPORTDESIGN_DLLPUBLIC OReportVisitor + { + ITraverseReport* m_pTraverseReport; + public: + OReportVisitor(ITraverseReport* _pTraverseReport); + void start(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>& _xReportDefinition); + void start(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup>& _xGroup); + }; +// ============================================================================= +} // namespace reportdesign +// ============================================================================= +#endif // INCLUDED_REPORT_VISTITOR_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/RptDef.hxx b/reportdesign/inc/RptDef.hxx new file mode 100644 index 000000000000..50dc41493594 --- /dev/null +++ b/reportdesign/inc/RptDef.hxx @@ -0,0 +1,123 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _REPORT_RPTUIDEF_HXX +#define _REPORT_RPTUIDEF_HXX + +#include "dllapi.h" +#include <tools/solar.h> +#include <svx/svdobj.hxx> +#include <comphelper/stl_types.hxx> +#include <comphelper/uno3.hxx> +#include <svx/fmglob.hxx> +#include <boost/shared_ptr.hpp> + + +FORWARD_DECLARE_INTERFACE(report,XReportComponent) +FORWARD_DECLARE_INTERFACE(report,XReportDefinition) +FORWARD_DECLARE_INTERFACE(style,XStyle) +FORWARD_DECLARE_INTERFACE(beans,XPropertySet) + +namespace rptui +{ +// not all used at the moment +#define RPT_LAYER_FRONT 0 +#define RPT_LAYER_BACK 1 +#define RPT_LAYER_HIDDEN 2 + + +const UINT32 ReportInventor = UINT32('R')*0x00000001+ + UINT32('P')*0x00000100+ + UINT32('T')*0x00010000+ + UINT32('1')*0x01000000; + + +#define OBJ_DLG_FIXEDTEXT ((UINT16) OBJ_MAXI + 1) +#define OBJ_DLG_IMAGECONTROL OBJ_FM_IMAGECONTROL +#define OBJ_DLG_FORMATTEDFIELD ((UINT16) OBJ_MAXI + 3) +#define OBJ_DLG_HFIXEDLINE ((UINT16) OBJ_MAXI + 4) +#define OBJ_DLG_VFIXEDLINE ((UINT16) OBJ_MAXI + 5) +#define OBJ_DLG_SUBREPORT ((UINT16) OBJ_MAXI + 6) + +// allows the alignment and resizing of controls +namespace ControlModification +{ + static const ::sal_Int32 NONE = (sal_Int32)0; + static const ::sal_Int32 LEFT = (sal_Int32)1; + static const ::sal_Int32 RIGHT = (sal_Int32)2; + static const ::sal_Int32 TOP = (sal_Int32)3; + static const ::sal_Int32 BOTTOM = (sal_Int32)4; + static const ::sal_Int32 CENTER_HORIZONTAL = (sal_Int32)5; + static const ::sal_Int32 CENTER_VERTICAL = (sal_Int32)6; + static const ::sal_Int32 WIDTH_SMALLEST = (sal_Int32)7; + static const ::sal_Int32 HEIGHT_SMALLEST = (sal_Int32)8; + static const ::sal_Int32 WIDTH_GREATEST = (sal_Int32)9; + static const ::sal_Int32 HEIGHT_GREATEST = (sal_Int32)10; +} + +class AnyConverter : public ::std::binary_function< ::rtl::OUString,::com::sun::star::uno::Any,::com::sun::star::uno::Any > +{ +public: + virtual ~AnyConverter(){} + virtual ::com::sun::star::uno::Any operator() (const ::rtl::OUString& /*_sPropertyName*/,const ::com::sun::star::uno::Any& lhs) const + { + return lhs; + } +}; +/** returns teh object type depending on the service name + @param _xComponent the report component +*/ +REPORTDESIGN_DLLPUBLIC sal_uInt16 getObjectType(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent); +typedef ::std::pair< ::rtl::OUString, ::boost::shared_ptr<AnyConverter> > TPropertyConverter; +DECLARE_STL_USTRINGACCESS_MAP(TPropertyConverter , TPropertyNamePair); +/** returns the property name map for the givern property id + @param _nObjectId the object id +*/ +REPORTDESIGN_DLLPUBLIC const TPropertyNamePair& getPropertyNameMap(sal_uInt16 _nObjectId); +REPORTDESIGN_DLLPUBLIC ::com::sun::star::uno::Reference< ::com::sun::star::style::XStyle> getUsedStyle(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>& _xReport); + +// ----------------------------------------------------------------------------- +template < typename T> T getStyleProperty(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>& _xReport,const ::rtl::OUString& _sPropertyName) +{ + T nReturn = T(); + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> xProp(getUsedStyle(_xReport),::com::sun::star::uno::UNO_QUERY_THROW); + xProp->getPropertyValue(_sPropertyName) >>= nReturn; + return nReturn; +} +// ----------------------------------------------------------------------------- +template<typename T> void setStyleProperty(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition>& _xReport,const ::rtl::OUString& _sPropertyName,const T& _aValue) +{ + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> xProp(getUsedStyle(_xReport),::com::sun::star::uno::UNO_QUERY); + if ( xProp.is() ) + xProp->setPropertyValue(_sPropertyName,::com::sun::star::uno::makeAny(_aValue)); +} +} + +#endif // _REPORT_RPTUIDEF_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/RptModel.hxx b/reportdesign/inc/RptModel.hxx new file mode 100644 index 000000000000..47b952949795 --- /dev/null +++ b/reportdesign/inc/RptModel.hxx @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef REPORT_RPTMODEL_HXX +#define REPORT_RPTMODEL_HXX + +#include "dllapi.h" +#include <svx/svdmodel.hxx> +#include <com/sun/star/report/XReportDefinition.hpp> + + +class Window; +namespace dbaui +{ + class OSingleDocumentController; +} +namespace reportdesign +{ + class OReportDefinition; +} +namespace rptui +{ +//============================================================================ +// OReportModel +//============================================================================ + +class OReportPage; +class OXUndoEnvironment; + +class REPORTDESIGN_DLLPUBLIC OReportModel : public SdrModel +{ + friend class OReportPage; + +private: + OXUndoEnvironment* m_pUndoEnv; + ::dbaui::OSingleDocumentController* m_pController; + ::reportdesign::OReportDefinition* m_pReportDefinition; + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createUnoModel(); + + OReportModel( const OReportModel& ); + void operator=(const OReportModel& rSrcModel); +public: + TYPEINFO(); + + OReportModel(::reportdesign::OReportDefinition* _pReportDefinition); + virtual ~OReportModel(); + + virtual void SetChanged(sal_Bool bFlg = sal_True); + virtual SdrPage* AllocPage(bool bMasterPage); + virtual Window* GetCurDocViewWin(); + virtual SdrPage* RemovePage(USHORT nPgNum); + /** returns the numbering type that is used to format page fields in drawing shapes */ + virtual SvxNumType GetPageNumType() const; + + OXUndoEnvironment& GetUndoEnv(); + void SetModified(sal_Bool _bModified); + + inline dbaui::OSingleDocumentController* getController() const { return m_pController; } + inline void attachController( dbaui::OSingleDocumentController& _rController ) { m_pController = &_rController; } + void detachController(); + + OReportPage* createNewPage(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection >& _xSection); + + /** returns the page which belongs to a section + * + * \param _xSection + * \return The page or <NULL/> when t´no page could be found. + */ + OReportPage* getPage(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection >& _xSection); + + /// returns the XReportDefinition which the OReportModel belongs to + ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition > + getReportDefinition() const; + + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createShape(const ::rtl::OUString& aServiceSpecifier,::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& _rShape,sal_Int32 nOrientation = -1); +}; +} +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/RptObject.hxx b/reportdesign/inc/RptObject.hxx new file mode 100644 index 000000000000..c77678ef9002 --- /dev/null +++ b/reportdesign/inc/RptObject.hxx @@ -0,0 +1,288 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _REPORT_RPTUIOBJ_HXX +#define _REPORT_RPTUIOBJ_HXX + +#include "dllapi.h" +#include <svx/svdoole2.hxx> +#include <svx/svdouno.hxx> + + +#include <comphelper/processfactory.hxx> +#include <com/sun/star/beans/XPropertyChangeListener.hpp> +#include <com/sun/star/container/XContainerListener.hpp> +#include <com/sun/star/report/XReportComponent.hpp> +#include <com/sun/star/report/XSection.hpp> +#include <svx/svdocirc.hxx> +#include <svx/svdogrp.hxx> +#include <svx/svdoashp.hxx> +#include <comphelper/stl_types.hxx> +#include <comphelper/implementationreference.hxx> + + +namespace rptui +{ +typedef ::std::multimap< sal_Int16, ::rtl::OUString, ::std::less< sal_Int16 > > IndexToNameMap; + enum DlgEdHintKind + { + RPTUI_HINT_UNKNOWN, + RPTUI_HINT_WINDOWSCROLLED, + RPTUI_HINT_LAYERCHANGED, + RPTUI_HINT_OBJORDERCHANGED, + RPTUI_HINT_SELECTIONCHANGED + }; + + class OUnoObject; + class REPORTDESIGN_DLLPUBLIC DlgEdHint: public SfxHint + { + private: + DlgEdHintKind eHintKind; + OUnoObject* pDlgEdObj; + + DlgEdHint(DlgEdHint&); + void operator =(DlgEdHint&); + public: + TYPEINFO(); + DlgEdHint( DlgEdHintKind eHint ); + virtual ~DlgEdHint(); + + inline DlgEdHintKind GetKind() const { return eHintKind; } + inline OUnoObject* GetObject() const { return pDlgEdObj; } + }; + + +class OReportPage; +class OPropertyMediator; + +class REPORTDESIGN_DLLPUBLIC OObjectBase +{ +public: + typedef ::comphelper::ImplementationReference<OPropertyMediator,::com::sun::star::beans::XPropertyChangeListener> TMediator; + +protected: + mutable TMediator m_xMediator; + mutable ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener> m_xPropertyChangeListener; + //mutable ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener> + mutable ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent> m_xReportComponent; + ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener> m_xContainerListener; + ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection> m_xSection; + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xKeepShapeAlive; + ::rtl::OUString m_sComponentName; + sal_Bool m_bIsListening; + + OObjectBase(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent); + OObjectBase(const ::rtl::OUString& _sComponentName); + + virtual ~OObjectBase(); + + inline sal_Bool isListening() const { return m_bIsListening; } + + void SetPropsFromRect(const Rectangle& _rRect); + + virtual void SetSnapRectImpl(const Rectangle& _rRect) = 0; + virtual SdrPage* GetImplPage() const = 0; + virtual void SetObjectItemHelper(const SfxPoolItem& rItem); + + /** called by instances of derived classes to implement their overloading of getUnoShape + */ + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > + getUnoShapeOf( SdrObject& _rSdrObject ); + +private: + static void ensureSdrObjectOwnership( + const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxShape ); + +public: + void StartListening(); + void EndListening(sal_Bool bRemoveListener = sal_True); + // PropertyChangeListener + virtual void _propertyChange( const ::com::sun::star::beans::PropertyChangeEvent& evt ) throw(::com::sun::star::uno::RuntimeException); + virtual void initializeOle() {} + + sal_Bool supportsService( const ::rtl::OUString& _sServiceName ) const; + + ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent> getReportComponent() const; + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> getAwtComponent(); + inline void setOldParent(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection) { m_xSection = _xSection; } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection> getOldParent() const { return m_xSection;} + ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection> getSection() const; + inline const ::rtl::OUString getServiceName() const { return m_sComponentName; } + + /** releases the reference to our UNO shape (m_xKeepShapeAlive) + */ + void releaseUnoShape() { m_xKeepShapeAlive.clear(); } + + static SdrObject* createObject(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent); + static sal_uInt16 getObjectType(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent); +}; +//============================================================================ +// OCustomShape +//============================================================================ +class REPORTDESIGN_DLLPUBLIC OCustomShape: public SdrObjCustomShape , public OObjectBase +{ + friend class OReportPage; + friend class DlgEdFactory; + +public: + static OCustomShape* Create( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent ) + { + return new OCustomShape( _xComponent ); + } + +protected: + OCustomShape(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent); + OCustomShape(const ::rtl::OUString& _sComponentName); + + virtual void NbcMove( const Size& rSize ); + virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact); + virtual void NbcSetLogicRect(const Rectangle& rRect); + virtual bool EndCreate(SdrDragStat& rStat, SdrCreateCmd eCmd); + + virtual void SetSnapRectImpl(const Rectangle& _rRect); + virtual SdrPage* GetImplPage() const; + void SetObjectItemHelper(const SfxPoolItem& rItem); + +public: + TYPEINFO(); + + virtual ~OCustomShape(); + + virtual sal_Int32 GetStep() const; + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> getAwtComponent(); + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getUnoShape(); + virtual UINT16 GetObjIdentifier() const; + virtual UINT32 GetObjInventor() const; +}; + +//============================================================================ +// OOle2Obj +//============================================================================ +class REPORTDESIGN_DLLPUBLIC OOle2Obj: public SdrOle2Obj , public OObjectBase +{ + friend class OReportPage; + friend class DlgEdFactory; + + UINT16 m_nType; + bool m_bOnlyOnce; + void impl_createDataProvider_nothrow( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel>& _xModel); +public: + static OOle2Obj* Create( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent,UINT16 _nType ) + { + return new OOle2Obj( _xComponent,_nType ); + } +protected: + OOle2Obj(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent,UINT16 _nType); + OOle2Obj(const ::rtl::OUString& _sComponentName,UINT16 _nType); + + + virtual void NbcMove( const Size& rSize ); + virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact); + virtual void NbcSetLogicRect(const Rectangle& rRect); + virtual bool EndCreate(SdrDragStat& rStat, SdrCreateCmd eCmd); + + virtual void SetSnapRectImpl(const Rectangle& _rRect); + virtual SdrPage* GetImplPage() const; + +public: + TYPEINFO(); + + virtual ~OOle2Obj(); + + virtual sal_Int32 GetStep() const; + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> getAwtComponent(); + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getUnoShape(); + virtual UINT16 GetObjIdentifier() const; + virtual UINT32 GetObjInventor() const; + // Clone() soll eine komplette Kopie des Objektes erzeugen. + virtual SdrObject* Clone() const; + virtual void initializeOle(); + + void initializeChart( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel>& _xModel); +}; + +//============================================================================ +// OUnoObject +//============================================================================ +class REPORTDESIGN_DLLPUBLIC OUnoObject: public SdrUnoObj , public OObjectBase +{ + friend class OReportPage; + friend class OObjectBase; + friend class DlgEdFactory; + + sal_uInt16 m_nObjectType; +protected: + OUnoObject(const ::rtl::OUString& _sComponentName + ,const ::rtl::OUString& rModelName + ,sal_uInt16 _nObjectType); + OUnoObject( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xComponent + ,const ::rtl::OUString& rModelName + ,sal_uInt16 _nObjectType); + + virtual ~OUnoObject(); + + virtual void NbcMove( const Size& rSize ); + virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact); + virtual void NbcSetLogicRect(const Rectangle& rRect); + virtual bool EndCreate(SdrDragStat& rStat, SdrCreateCmd eCmd); + + virtual void SetSnapRectImpl(const Rectangle& _rRect); + virtual SdrPage* GetImplPage() const; + +public: + TYPEINFO(); + + virtual sal_Int32 GetStep() const; + virtual void _propertyChange( const ::com::sun::star::beans::PropertyChangeEvent& evt ) throw(::com::sun::star::uno::RuntimeException); + + /** creates the m_xMediator when it doesn't already exist. + @param _bReverse when set to <TRUE/> then the properties from the uno control will be copied into report control + */ + void CreateMediator(sal_Bool _bReverse = sal_False); + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> getAwtComponent(); + + static ::rtl::OUString GetDefaultName(const OUnoObject* _pObj); + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getUnoShape(); + virtual UINT16 GetObjIdentifier() const; + virtual UINT32 GetObjInventor() const; + virtual SdrObject* Clone() const; + +private: + void impl_setReportComponent_nothrow(); + void impl_initializeModel_nothrow(); +}; + +//============================================================================ +} // rptui +//============================================================================ +#endif // _REPORT_RPTUIOBJ_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/RptPage.hxx b/reportdesign/inc/RptPage.hxx new file mode 100644 index 000000000000..1313184d0da1 --- /dev/null +++ b/reportdesign/inc/RptPage.hxx @@ -0,0 +1,101 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _REPORT_RPTUIPAGE_HXX +#define _REPORT_RPTUIPAGE_HXX + +#include "dllapi.h" +#include "svx/svdpage.hxx" +#include <com/sun/star/report/XReportComponent.hpp> +#include <com/sun/star/report/XSection.hpp> + +namespace rptui +{ +//============================================================================ +// OReportPage +//============================================================================ + +class OReportModel; +//class OReportSection; + +class REPORTDESIGN_DLLPUBLIC OReportPage : public SdrPage +{ + OReportModel& rModel; + ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > m_xSection; + bool m_bSpecialInsertMode; + std::vector<SdrObject*> m_aTemporaryObjectList; + + OReportPage(const OReportPage&); + + // methode to remove temporary objects, created by 'special mode' + // (BegDragObj) + void removeTempObject(SdrObject *_pToRemoveObj); + + virtual ~OReportPage(); + +protected: + virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createUnoPage(); +public: + TYPEINFO(); + + OReportPage( OReportModel& rModel + ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection >& _xSection + ,bool bMasterPage = false ); + + + virtual SdrPage* Clone() const; + using SdrPage::Clone; + + virtual void NbcInsertObject(SdrObject* pObj, ULONG nPos, const SdrInsertReason* pReason); + virtual SdrObject* RemoveObject(ULONG nObjNum); + + /** returns the index inside the object list which belongs to the report component. + @param _xObject the report component + */ + ULONG getIndexOf(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent >& _xObject); + + /** removes the SdrObject which belongs to the report component. + @param _xObject the report component + */ + void removeSdrObject(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent >& _xObject); + + void setSpecialMode() {m_bSpecialInsertMode = true;} + bool getSpecialMode() {return m_bSpecialInsertMode;} + // all temporary objects will remove and destroy + void resetSpecialMode(); + + /** insert a new SdrObject which belongs to the report component. + @param _xObject the report component + */ + void insertObject(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent >& _xObject); + + ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > getSection() const; +}; +} +#endif //_REPORT_RPTUIPAGE_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/RptResId.hrc b/reportdesign/inc/RptResId.hrc new file mode 100644 index 000000000000..1fecb756972f --- /dev/null +++ b/reportdesign/inc/RptResId.hrc @@ -0,0 +1,298 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _RPTUI_DLGRESID_HRC +#define _RPTUI_DLGRESID_HRC + +// include ----------------------------------------------------------- + +#ifndef _SOLAR_HRC +#include <svl/solar.hrc> +#endif + +#define RID_DIALOG_START RID_RPT_START +#define RID_PAGE_START RID_RPT_START +#define RID_ERRORBOX_START RID_RPT_START +#define RID_QUERYBOX_START RID_RPT_START +#define RID_TOOLBOX_START RID_RPT_START +#define RID_BITMAP_START RID_RPT_START +#define RID_IMAGE_START RID_RPT_START +#define RID_IMAGELIST_START RID_RPT_START +#define RID_MENU_START RID_RPT_START +#define RID_STRING_START RID_RPT_START +#define RID_UNTYPED_START RID_RPT_START +#define RID_WARN_START RID_RPT_START +#define RID_CONTROL_START RID_RPT_START +#define RID_MISC_START RID_RPT_START + +// Dialog Control Id's ----------------------------------------------------------- +#define RID_GROUPS_SORTING ( RID_DIALOG_START + 0 ) +#define RID_PAGENUMBERS ( RID_DIALOG_START + 1 ) +#define RID_DATETIME_DLG ( RID_DIALOG_START + 2 ) +#define RID_CONDFORMAT ( RID_DIALOG_START + 3 ) +#define WIN_CONDITION ( RID_DIALOG_START + 4 ) +#define RID_NAVIGATOR ( RID_DIALOG_START + 5 ) + +// strings +#define RID_STR_CLASS_FORMATTEDFIELD ( RID_STRING_START + 1 ) +#define RID_STR_CLASS_FIXEDTEXT ( RID_STRING_START + 2 ) +#define RID_STR_CLASS_IMAGECONTROL ( RID_STRING_START + 3 ) +#define RID_STR_PROPTITLE_FIXEDTEXT ( RID_STRING_START + 4 ) +#define RID_STR_PROPTITLE_FORMATTED ( RID_STRING_START + 5 ) +#define RID_STR_PROPTITLE_SHAPE ( RID_STRING_START + 6 ) +#define RID_STR_PROPTITLE_IMAGECONTROL ( RID_STRING_START + 7 ) +#define RID_STR_PROPTITLE_REPORT ( RID_STRING_START + 8 ) +#define RID_STR_PROPTITLE_SECTION ( RID_STRING_START + 9 ) +#define RID_STR_PROPTITLE_FUNCTION ( RID_STRING_START + 10 ) + +// undo strings +#define RID_STR_UNDO_REMOVE_REPORTHEADERFOOTER ( RID_STRING_START + 11 ) +#define RID_STR_UNDO_ADD_REPORTHEADERFOOTER ( RID_STRING_START + 12 ) +#define RID_STR_UNDO_REMOVE_PAGEHEADERFOOTER ( RID_STRING_START + 13 ) +#define RID_STR_UNDO_ADD_PAGEHEADERFOOTER ( RID_STRING_START + 14 ) +#define RID_STR_UNDO_PROPERTY ( RID_STRING_START + 15 ) +#define RID_STR_UNDO_REMOVE_GROUP ( RID_STRING_START + 16 ) +#define RID_STR_UNDO_APPEND_GROUP ( RID_STRING_START + 17 ) +#define RID_STR_UNDO_MOVE_GROUP ( RID_STRING_START + 18 ) +#define RID_STR_UNDO_CONDITIONAL_FORMATTING ( RID_STRING_START + 19 ) +#define RID_STR_UNDO_REMOVE_SELECTION ( RID_STRING_START + 20 ) +#define RID_STR_UNDO_PASTE ( RID_STRING_START + 21 ) +#define RID_STR_UNDO_CHANGE_SIZE ( RID_STRING_START + 22 ) +#define RID_STR_UNDO_INSERT_CONTROL ( RID_STRING_START + 23 ) +#define RID_STR_UNDO_DELETE_CONTROL ( RID_STRING_START + 24 ) +#define RID_STR_UNDO_GROUP ( RID_STRING_START + 25 ) +#define RID_STR_UNDO_UNGROUP ( RID_STRING_START + 26 ) +#define RID_STR_UNDO_CHANGEPOSITION ( RID_STRING_START + 27 ) +#define RID_STR_UNDO_ADDFUNCTION ( RID_STRING_START + 28 ) +#define RID_STR_UNDO_DELETEFUNCTION ( RID_STRING_START + 29 ) + +// title of tab pages +#define RID_STR_DESIGN_VIEW ( RID_STRING_START + 30 ) +#define RID_STR_PREVIEW_VIEW ( RID_STRING_START + 31 ) +// other +#define STR_RPT_TITLE ( RID_STRING_START + 32 ) +#define STR_RPT_LABEL ( RID_STRING_START + 33 ) +#define STR_RPT_EXPRESSION ( RID_STRING_START + 34 ) +#define STR_RPT_SORTING ( RID_STRING_START + 35 ) +#define STR_RPT_PN_PAGE ( RID_STRING_START + 36 ) +#define STR_RPT_PN_PAGE_OF ( RID_STRING_START + 37 ) +#define STR_RPT_PREFIXCHARS ( RID_STRING_START + 38 ) +#define STR_RPT_YEAR ( RID_STRING_START + 39 ) +#define STR_RPT_QUARTER ( RID_STRING_START + 40 ) +#define STR_RPT_MONTH ( RID_STRING_START + 41 ) +#define STR_RPT_WEEK ( RID_STRING_START + 42 ) +#define STR_RPT_DAY ( RID_STRING_START + 43 ) +#define STR_RPT_HOUR ( RID_STRING_START + 44 ) +#define STR_RPT_MINUTE ( RID_STRING_START + 45 ) +#define STR_RPT_INTERVAL ( RID_STRING_START + 46 ) +#define STR_RPT_HELP_FIELD ( RID_STRING_START + 47 ) +#define STR_RPT_HELP_HEADER ( RID_STRING_START + 48 ) +#define STR_RPT_HELP_FOOTER ( RID_STRING_START + 49 ) +#define STR_RPT_HELP_GROUPON ( RID_STRING_START + 50 ) +#define STR_RPT_HELP_INTERVAL ( RID_STRING_START + 51 ) +#define STR_RPT_HELP_KEEP ( RID_STRING_START + 52 ) +#define STR_RPT_HELP_SORT ( RID_STRING_START + 53 ) +#define RID_STR_GROUPHEADER ( RID_STRING_START + 54 ) +#define RID_STR_GROUPFOOTER ( RID_STRING_START + 55 ) +#define RID_STR_UNDO_REMOVE_FUNCTION ( RID_STRING_START + 56 ) +#define STR_NUMBERED_CONDITION ( RID_STRING_START + 57 ) + +// Property Browser Headline Id's ----------------------------------------------------------- +#define RID_STR_BRWTITLE_PROPERTIES ( RID_STRING_START + 60 ) +#define RID_STR_BRWTITLE_NO_PROPERTIES ( RID_STRING_START + 61 ) +#define RID_STR_BRWTITLE_MULTISELECT ( RID_STRING_START + 62 ) +#define STR_SHOW_RULER ( RID_STRING_START + 63 ) +#define STR_SHOW_GRID ( RID_STRING_START + 64 ) + +#define STR_COLOR_WHITE ( RID_STRING_START + 65 ) +#define STR_CHARCOLOR ( RID_STRING_START + 66 ) +#define STR_CHARBACKGROUND ( RID_STRING_START + 67 ) +#define STR_TRANSPARENT ( RID_STRING_START + 68 ) +#define RID_STR_FIELDSELECTION ( RID_STRING_START + 69 ) + + +#define RID_STR_UNDO_ADD_GROUP_HEADER ( RID_STRING_START + 70 ) +#define RID_STR_UNDO_REMOVE_GROUP_HEADER ( RID_STRING_START + 71 ) +#define RID_STR_UNDO_ADD_GROUP_FOOTER ( RID_STRING_START + 72 ) +#define RID_STR_UNDO_REMOVE_GROUP_FOOTER ( RID_STRING_START + 73 ) + +#define RID_STR_PROPPAGE_DEFAULT ( RID_STRING_START + 74 ) +#define RID_STR_PROPPAGE_DATA ( RID_STRING_START + 75 ) + +#define RID_STR_FILTER ( RID_STRING_START + 76 ) +// free + +#define RID_STR_FORCENEWPAGE (RID_STRING_START + 78) +#define RID_STR_NEWROWORCOL (RID_STRING_START + 79) +#define RID_STR_KEEPTOGETHER (RID_STRING_START + 80) +#define RID_STR_CANGROW (RID_STRING_START + 81) +#define RID_STR_CANSHRINK (RID_STRING_START + 82) +#define RID_STR_REPEATSECTION (RID_STRING_START + 83) + +#define RID_STR_PROPTITLE_GROUP (RID_STRING_START + 84) +#define RID_STR_PROPTITLE_FIXEDLINE (RID_STRING_START + 85) +#define RID_STR_CLASS_FIXEDLINE (RID_STRING_START + 86) +#define RID_STR_BACKTRANSPARENT (RID_STRING_START + 87) +#define RID_STR_CONTROLBACKGROUNDTRANSPARENT (RID_STRING_START + 88) +#define RID_STR_OVERLAP_OTHER_CONTROL (RID_STRING_START + 89) +#define RID_STR_ILLEGAL_POSITION (RID_STRING_START + 90) +#define RID_STR_PAGEHEADERFOOTER_INSERT (RID_STRING_START + 91) +#define RID_STR_PAGEHEADERFOOTER_DELETE (RID_STRING_START + 92) +#define RID_STR_BACKCOLOR (RID_STRING_START + 93) +#define RID_STR_PRINTREPEATEDVALUES (RID_STRING_START + 94) +#define RID_STR_CONDITIONALPRINTEXPRESSION (RID_STRING_START + 95) +#define RID_STR_COLUMNHEADERFOOTER_INSERT (RID_STRING_START + 96) +#define RID_STR_STARTNEWCOLUMN (RID_STRING_START + 97) +#define RID_STR_STARTNEWPAGE (RID_STRING_START + 98) +#define RID_STR_RESETPAGENUMBER (RID_STRING_START + 99) +#define RID_STR_COLUMNHEADERFOOTER_DELETE (RID_STRING_START + 100) +#define RID_STR_MINHEIGHTNEWPAGE (RID_STRING_START + 101) +#define RID_STR_PRINTWHENGROUPCHANGE (RID_STRING_START + 102) +#define RID_STR_REPORTHEADERFOOTER_INSERT (RID_STRING_START + 103) +#define RID_STR_REPORTHEADERFOOTER_DELETE (RID_STRING_START + 104) +#define RID_STR_VISIBLE (RID_STRING_START + 105) + +#define RID_STR_DETAIL (RID_STRING_START + 106) +#define RID_STR_PAGE_HEADER (RID_STRING_START + 107) +#define RID_STR_GROUPKEEPTOGETHER (RID_STRING_START + 108) +#define RID_STR_PAGE_FOOTER (RID_STRING_START + 109) +#define RID_STR_PAGEHEADEROPTION (RID_STRING_START + 110) +#define RID_STR_PAGEFOOTEROPTION (RID_STRING_START + 111) +#define RID_STR_REPORT_HEADER (RID_STRING_START + 112) +#define RID_STR_REPORT_FOOTER (RID_STRING_START + 113) +#define RID_STR_SCOPE_GROUP (RID_STRING_START + 114) +#define RID_APP_TITLE (RID_STRING_START + 115) +#define RID_APP_NEW_DOC (RID_STRING_START + 116) +#define RID_STR_UNDO_ALIGNMENT (RID_STRING_START + 117) +#define RID_STR_HEADER (RID_STRING_START + 118) +#define RID_STR_FOOTER (RID_STRING_START + 119) +#define RID_STR_DATAFIELD (RID_STRING_START + 120) +#define RID_STR_FONT (RID_STRING_START + 121) +#define RID_STR_COULD_NOT_CREATE_REPORT (RID_STRING_START + 122) +#define RID_STR_PRESERVEIRI (RID_STRING_START + 123) +#define RID_STR_IMPORT_GRAPHIC (RID_STRING_START + 124) +#define RID_STR_POSITIONX (RID_STRING_START + 125) +#define RID_STR_POSITIONY (RID_STRING_START + 126) +#define RID_STR_WIDTH (RID_STRING_START + 127) +#define RID_STR_HEIGHT (RID_STRING_START + 128) +#define RID_STR_DELETE (RID_STRING_START + 129) +#define RID_STR_DEEPTRAVERSING (RID_STRING_START + 130) +#define RID_STR_PREEVALUATED (RID_STRING_START + 131) +#define RID_STR_FUNCTIONS (RID_STRING_START + 132) +#define RID_STR_GROUPS (RID_STRING_START + 133) +#define RID_STR_FUNCTION (RID_STRING_START + 134) +#define RID_STR_FORMULA (RID_STRING_START + 135) +#define RID_STR_INITIALFORMULA (RID_STRING_START + 136) +#define RID_STR_UNDO_CHANGEFONT (RID_STRING_START + 137) +#define RID_STR_UNDO_CHANGEPAGE (RID_STRING_START + 138) +#define RID_STR_CAUGHT_FOREIGN_EXCEPTION (RID_STRING_START + 139) +#define RID_STR_FORMULALIST (RID_STRING_START + 140) +#define RID_STR_SCOPE (RID_STRING_START + 141) +#define RID_STR_TYPE (RID_STRING_START + 142) +#define RID_STR_MIMETYPE (RID_STRING_START + 143) +#define RID_STR_CHARTTYPE (RID_STRING_START + 144) +#define RID_STR_MASTERFIELDS (RID_STRING_START + 145) +#define RID_STR_DETAILFIELDS (RID_STRING_START + 146) +#define RID_STR_EXPLANATION (RID_STRING_START + 147) +#define RID_STR_DETAILLABEL (RID_STRING_START + 148) +#define RID_STR_MASTERLABEL (RID_STRING_START + 149) +#define RID_STR_PREVIEW_COUNT (RID_STRING_START + 150) +#define RID_ERR_NO_COMMAND (RID_STRING_START + 151) +#define RID_ERR_NO_OBJECTS (RID_STRING_START + 152) +#define RID_STR_AREA (RID_STRING_START + 153) +#define RID_STR_INSERT (RID_STRING_START + 154) +#define RID_STR_UNDO_SHRINK (RID_STRING_START + 155) +#define RID_STR_F_COUNTER (RID_STRING_START + 156) +#define RID_STR_F_ACCUMULATION (RID_STRING_START + 157) +#define RID_STR_F_MINIMUM (RID_STRING_START + 158) +#define RID_STR_F_MAXIMUM (RID_STRING_START + 159) +#define RID_STR_VERTICALALIGN (RID_STRING_START + 160) +#define RID_STR_PARAADJUST (RID_STRING_START + 161) + + +// #define RID_STR_ (RID_STRING_START + 130) +// ----------------------------------------------------------------------- +#define RID_PAGEDIALOG_PAGE ( RID_PAGE_START + 1 ) +#define RID_PAGEDIALOG_BACKGROUND ( RID_PAGE_START + 2 ) +#define RID_PAGEDIALOG_CHAR ( RID_PAGE_START + 3 ) +#define RID_PAGE_CHAR ( RID_PAGE_START + 4 ) +#define RID_PAGE_EFFECTS ( RID_PAGE_START + 5 ) +#define RID_PAGE_POSITION ( RID_PAGE_START + 6 ) +#define RID_PAGE_BACKGROUND ( RID_PAGE_START + 7 ) +#define RID_PAGE_TWOLN ( RID_PAGE_START + 8 ) +#define RID_PAGEDIALOG_LINE ( RID_PAGE_START + 9 ) +#define RID_PAGE_LINE ( RID_PAGE_START + 10 ) +#define RID_PAGE_ALIGNMENT ( RID_PAGE_START + 11 ) + +// ----------------------------------------------------------------------- +#define RID_IMG_TREENODE_COLLAPSED ( RID_IMAGE_START + 1 ) +#define RID_IMG_TREENODE_EXPANDED ( RID_IMAGE_START + 2 ) +#define RID_IMG_TREENODE_COLLAPSED_HC ( RID_IMAGE_START + 3 ) +#define RID_IMG_TREENODE_EXPANDED_HC ( RID_IMAGE_START + 4 ) +#define REPORT_TREE_ICON ( RID_IMAGE_START + 5 ) +// menu ----------------------------------------------------------------------- +#define RID_MENU_REPORT ( RID_MENU_START + 0 ) +#define RID_GROUPSROWPOPUPMENU ( RID_MENU_START + 1 ) +#define RID_MENU_NAVIGATOR ( RID_MENU_START + 2 ) +#define RID_TB_SORTING ( RID_MENU_START + 3 ) + +// image lists ----------------------------------------------------------------------- +#define IMG_CONDFORMAT_DLG_SC (RID_IMAGELIST_START + 0) +#define IMG_CONDFORMAT_DLG_SCH (RID_IMAGELIST_START + 1) +#define IMG_CONDFORMAT_DLG_LC (RID_IMAGELIST_START + 2) +#define IMG_CONDFORMAT_DLG_LCH (RID_IMAGELIST_START + 3) +#define RID_SVXIMGLIST_RPTEXPL (RID_IMAGELIST_START + 4) +#define RID_SVXIMGLIST_RPTEXPL_HC (RID_IMAGELIST_START + 5) +#define IMGLST_GROUPSORT_DLG_SC (RID_IMAGELIST_START + 6) +#define IMGLST_GROUPSORT_DLG_SCH (RID_IMAGELIST_START + 7) +#define IMG_ADDFIELD_DLG_SC (RID_IMAGELIST_START + 8) +#define IMG_ADDFIELD_DLG_SCH (RID_IMAGELIST_START + 9) +#define IMG_ADDFIELD_DLG_LC (RID_IMAGELIST_START + 10) +#define IMG_ADDFIELD_DLG_LCH (RID_IMAGELIST_START + 11) + +#define ADDFIELD_FL_HELP_SEPARATOR (RID_IMAGELIST_START + 12) +#define ADDFIELD_HELP_FIELD (RID_IMAGELIST_START + 13) + +// untyped --------------------------------------------------------------------- +#define RID_STR_BOOL (RID_UNTYPED_START + 0 ) +#define RID_STR_FORCENEWPAGE_CONST (RID_UNTYPED_START + 1 ) +#define RID_STR_KEEPTOGETHER_CONST (RID_UNTYPED_START + 2) +#define RID_STR_GROUPKEEPTOGETHER_CONST (RID_UNTYPED_START + 3) +#define RID_STR_REPORTPRINTOPTION_CONST (RID_UNTYPED_START + 4) +#define RID_STR_SECTIONPAGEBREAK_CONST (RID_UNTYPED_START + 5) +#define RID_STR_TYPE_CONST (RID_UNTYPED_START + 6) +#define RID_STR_VERTICAL_ALIGN_CONST (RID_UNTYPED_START + 7) +#define RID_STR_PARAADJUST_CONST (RID_UNTYPED_START + 8) + +// toolbox lists --------------------------------------------------------------------- + +#define SID_RPT_GROUPSORT_MOVE_UP ( RID_TOOLBOX_START + 0 ) +#define SID_RPT_GROUPSORT_MOVE_DOWN ( RID_TOOLBOX_START + 1 ) +#define SID_RPT_GROUPSORT_DELETE ( RID_TOOLBOX_START + 2 ) + +#endif // _RPTUI_DLGRESID_HRC + diff --git a/reportdesign/inc/UndoActions.hxx b/reportdesign/inc/UndoActions.hxx new file mode 100644 index 000000000000..99178af175c3 --- /dev/null +++ b/reportdesign/inc/UndoActions.hxx @@ -0,0 +1,302 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef RPTUI_UNDOACTIONS_HXX +#define RPTUI_UNDOACTIONS_HXX + +#include "dllapi.h" +#include <svx/svdundo.hxx> +#include <tools/string.hxx> +/** === begin UNO includes === **/ +#include <com/sun/star/util/XModifyListener.hpp> +#include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/beans/PropertyChangeEvent.hpp> +#include <com/sun/star/script/ScriptEvent.hpp> +#include <com/sun/star/script/XScriptListener.hpp> +#include <com/sun/star/script/ScriptEventDescriptor.hpp> +#include <com/sun/star/container/XNameContainer.hpp> +#include <com/sun/star/container/ContainerEvent.hpp> +#include <com/sun/star/container/XNameContainer.hpp> +#include <com/sun/star/report/XReportComponent.hpp> +#include <com/sun/star/report/XReportDefinition.hpp> +#include <com/sun/star/report/XGroup.hpp> +/** === end UNO includes === **/ +#include <cppuhelper/implbase3.hxx> +#include <comphelper/uno3.hxx> +#include <comphelper/sequence.hxx> +#include <svl/lstner.hxx> +#include <svx/svdouno.hxx> +#include "RptModel.hxx" + +#include <functional> +#include <memory> +#include <boost/shared_ptr.hpp> + +FORWARD_DECLARE_INTERFACE(awt,XControl) +FORWARD_DECLARE_INTERFACE(awt,XControlContainer) +namespace dbaui +{ + class IController; +} +namespace rptui +{ + class OObjectBase; + + enum Action + { + Inserted = 1, + Removed = 2 + }; + + /** Helper class to allow std::mem_fun for SAL_CALL + */ + class REPORTDESIGN_DLLPUBLIC OGroupHelper + { + ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup > m_xGroup; + OGroupHelper(const OGroupHelper&); + OGroupHelper& operator=(const OGroupHelper&); + public: + OGroupHelper(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup >& _xGroup) + :m_xGroup(_xGroup) + { + } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > getHeader() { return m_xGroup->getHeader(); } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > getFooter() { return m_xGroup->getFooter(); } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup > getGroup() { return m_xGroup; } + + inline ::sal_Bool getHeaderOn() { return m_xGroup->getHeaderOn(); } + inline ::sal_Bool getFooterOn() { return m_xGroup->getFooterOn(); } + + static ::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection> , OGroupHelper> getMemberFunction(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection >& _xSection); + + }; + typedef com::sun::star::uno::Reference< ::com::sun::star::report::XSection > TSection; + + /** Helper class to allow std::mem_fun for SAL_CALL + */ + class REPORTDESIGN_DLLPUBLIC OReportHelper + { + ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition > m_xReport; + public: + OReportHelper(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >& _xReport) + :m_xReport(_xReport) + { + } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > getReportHeader() { return m_xReport->getReportHeader(); } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > getReportFooter() { return m_xReport->getReportFooter(); } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > getPageHeader() { return m_xReport->getPageHeader(); } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > getPageFooter() { return m_xReport->getPageFooter(); } + inline ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > getDetail() { return m_xReport->getDetail(); } + + inline ::sal_Bool getReportHeaderOn() { return m_xReport->getReportHeaderOn(); } + inline ::sal_Bool getReportFooterOn() { return m_xReport->getReportFooterOn(); } + inline ::sal_Bool getPageHeaderOn() { return m_xReport->getPageHeaderOn(); } + inline ::sal_Bool getPageFooterOn() { return m_xReport->getPageFooterOn(); } + + static ::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection> , OReportHelper> getMemberFunction(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection >& _xSection); + }; + + class REPORTDESIGN_DLLPUBLIC UndoManagerListAction + { + private: + SfxUndoManager& m_rManager; + + public: + UndoManagerListAction( SfxUndoManager& _rManager, const String& _rListActionComment ) + :m_rManager( _rManager ) + { + m_rManager.EnterListAction( _rListActionComment, String() ); + } + ~UndoManagerListAction() + { + m_rManager.LeaveListAction(); + } + }; + + class REPORTDESIGN_DLLPUBLIC OCommentUndoAction : public SdrUndoAction + { + protected: + String m_strComment; // undo, redo comment + ::dbaui::IController* m_pController; + + public: + TYPEINFO(); + OCommentUndoAction( SdrModel& rMod + ,USHORT nCommentID); + virtual ~OCommentUndoAction(); + + virtual UniString GetComment() const { return m_strComment; } + virtual void Undo(); + virtual void Redo(); + }; + //================================================================== + // OUndoContainerAction + //================================================================== + class REPORTDESIGN_DLLPUBLIC OUndoContainerAction: public OCommentUndoAction + { + OUndoContainerAction(OUndoContainerAction&); + void operator =(OUndoContainerAction&); + protected: + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > + m_xElement; // object not owned by the action + ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > + m_xOwnElement; // object owned by the action + ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > + m_xContainer; + ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + m_xSection; + Action m_eAction; + + public: + OUndoContainerAction(SdrModel& rMod + ,Action _eAction + ,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > _xContainer + ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& xElem + ,USHORT _nCommentId); + virtual ~OUndoContainerAction(); + + virtual void Undo(); + virtual void Redo(); + + protected: + virtual void implReInsert( ) SAL_THROW( ( ::com::sun::star::uno::Exception ) ); + virtual void implReRemove( ) SAL_THROW( ( ::com::sun::star::uno::Exception ) ); + }; + + //================================================================== + // OUndoReportSectionAction + //================================================================== + class REPORTDESIGN_DLLPUBLIC OUndoReportSectionAction : public OUndoContainerAction + { + OReportHelper m_aReportHelper; + ::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + ,OReportHelper> m_pMemberFunction; + public: + OUndoReportSectionAction(SdrModel& rMod + ,Action _eAction + ,::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + ,OReportHelper> _pMemberFunction + ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >& _xReport + ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& xElem + ,USHORT _nCommentId); + + protected: + virtual void implReInsert( ) SAL_THROW( ( ::com::sun::star::uno::Exception ) ); + virtual void implReRemove( ) SAL_THROW( ( ::com::sun::star::uno::Exception ) ); + }; + + //================================================================== + // OUndoGroupSectionAction + //================================================================== + class REPORTDESIGN_DLLPUBLIC OUndoGroupSectionAction : public OUndoContainerAction + { + OGroupHelper m_aGroupHelper; + ::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + ,OGroupHelper> m_pMemberFunction; + public: + OUndoGroupSectionAction(SdrModel& rMod + ,Action _eAction + ,::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + ,OGroupHelper> _pMemberFunction + ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup >& _xGroup + ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& xElem + ,USHORT _nCommentId); + + protected: + virtual void implReInsert( ) SAL_THROW( ( ::com::sun::star::uno::Exception ) ); + virtual void implReRemove( ) SAL_THROW( ( ::com::sun::star::uno::Exception ) ); + }; + + ///================================================================== + /// ORptUndoPropertyAction + ///================================================================== + class REPORTDESIGN_DLLPUBLIC ORptUndoPropertyAction: public OCommentUndoAction + { + ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> m_xObj; + ::rtl::OUString m_aPropertyName; + ::com::sun::star::uno::Any m_aNewValue; + ::com::sun::star::uno::Any m_aOldValue; + + /** sets either the old value or the new value again at the property set. + * + * \param _bOld If set to <TRUE/> than the old value will be set otherwise the new value will be set. + */ + void setProperty(sal_Bool _bOld); + protected: + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> getObject(); + + public: + ORptUndoPropertyAction(SdrModel& rMod, const ::com::sun::star::beans::PropertyChangeEvent& evt); + + virtual void Undo(); + virtual void Redo(); + + virtual String GetComment() const; + }; + + //================================================================== + // OUndoPropertyReportSectionAction + //================================================================== + class REPORTDESIGN_DLLPUBLIC OUndoPropertyReportSectionAction : public ORptUndoPropertyAction + { + OReportHelper m_aReportHelper; + ::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + ,OReportHelper> m_pMemberFunction; + protected: + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> getObject(); + public: + OUndoPropertyReportSectionAction(SdrModel& rMod + ,const ::com::sun::star::beans::PropertyChangeEvent& evt + ,::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + ,OReportHelper> _pMemberFunction + ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >& _xReport + ); + }; + + //================================================================== + // OUndoPropertyGroupSectionAction + //================================================================== + class REPORTDESIGN_DLLPUBLIC OUndoPropertyGroupSectionAction : public ORptUndoPropertyAction + { + OGroupHelper m_aGroupHelper; + ::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + ,OGroupHelper> m_pMemberFunction; + protected: + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> getObject(); + public: + OUndoPropertyGroupSectionAction(SdrModel& rMod + ,const ::com::sun::star::beans::PropertyChangeEvent& evt + ,::std::mem_fun_t< ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > + ,OGroupHelper> _pMemberFunction + ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup >& _xGroup + ); + }; + +} +#endif //RPTUI_UNDOACTIONS_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/UndoEnv.hxx b/reportdesign/inc/UndoEnv.hxx new file mode 100644 index 000000000000..a2b16090748b --- /dev/null +++ b/reportdesign/inc/UndoEnv.hxx @@ -0,0 +1,152 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef INCLUDED_UNDOENV_HXX +#define INCLUDED_UNDOENV_HXX + +#include <com/sun/star/beans/XPropertyChangeListener.hpp> +#include <com/sun/star/beans/PropertyChangeEvent.hpp> +#include <com/sun/star/container/XContainerListener.hpp> +#include <com/sun/star/report/XReportDefinition.hpp> +#include <memory> +#include <svl/lstner.hxx> + +namespace rptui +{ + class OXUndoEnvironmentImpl; + + //======================================================================== + class REPORTDESIGN_DLLPUBLIC OXUndoEnvironment + : public ::cppu::WeakImplHelper3< ::com::sun::star::beans::XPropertyChangeListener + , ::com::sun::star::container::XContainerListener + , ::com::sun::star::util::XModifyListener + > + , public SfxListener + { + const ::std::auto_ptr<OXUndoEnvironmentImpl> m_pImpl; + + OXUndoEnvironment(const OXUndoEnvironment&); + OXUndoEnvironment& operator=(const OXUndoEnvironment&); + + protected: + virtual ~OXUndoEnvironment(); + + void SetUndoMode(sal_Bool _bUndo); + + public: + OXUndoEnvironment(OReportModel& _rModel); + + /** + Create an object ob OUndoEnvLock locks the undo possibility + As long as in the OUndoEnvLock scope, no undo is possible for manipulated object. + */ + class OUndoEnvLock + { + OXUndoEnvironment& m_rUndoEnv; + public: + OUndoEnvLock(OXUndoEnvironment& _rUndoEnv): m_rUndoEnv(_rUndoEnv){m_rUndoEnv.Lock();} + ~OUndoEnvLock(){ m_rUndoEnv.UnLock(); } + }; + + /** + This is near the same as OUndoEnvLock but it is also possible to ask for the current mode. + UndoMode will set if SID_UNDO is called in execute() + */ + class OUndoMode + { + OXUndoEnvironment& m_rUndoEnv; + public: + OUndoMode(OXUndoEnvironment& _rUndoEnv) + :m_rUndoEnv(_rUndoEnv) + { + m_rUndoEnv.Lock(); + m_rUndoEnv.SetUndoMode(sal_True); + } + ~OUndoMode() + { + m_rUndoEnv.SetUndoMode(sal_False); + m_rUndoEnv.UnLock(); + } + }; + + void Lock(); + void UnLock(); + sal_Bool IsLocked() const; + + // returns sal_True is we are in UNDO + sal_Bool IsUndoMode() const; + + // access control + struct Accessor { friend class OReportModel; private: Accessor() { } }; + void Clear(const Accessor& _r); + + void AddElement(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& Element); + void RemoveElement(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& Element); + + void AddSection( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection); + void RemoveSection( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection ); + /** removes the section from the page out of the undo env + * + * \param _pPage + */ + void RemoveSection(OReportPage* _pPage); + + protected: + // XEventListener + virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException ); + + // XPropertyChangeListener + virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException); + + // XContainerListener + virtual void SAL_CALL elementInserted(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException); + virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& rEvent) throw(::com::sun::star::uno::RuntimeException); + + // XModifyListener + virtual void SAL_CALL modified( const ::com::sun::star::lang::EventObject& aEvent ) throw (::com::sun::star::uno::RuntimeException); + + void ModeChanged(); + + virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ); + + private: + void TogglePropertyListening(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& Element); + + void implSetModified(); + + void switchListening( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& _rxContainer, bool _bStartListening ) SAL_THROW(()); + void switchListening( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxObject, bool _bStartListening ) SAL_THROW(()); + + ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::container::XChild> >::const_iterator + getSection(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XChild>& _xContainer) const; + }; + +} +#endif // + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/conditionalexpression.hxx b/reportdesign/inc/conditionalexpression.hxx new file mode 100644 index 000000000000..2580a44d5b41 --- /dev/null +++ b/reportdesign/inc/conditionalexpression.hxx @@ -0,0 +1,126 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef CONDITIONALEXPRESSION_HXX +#define CONDITIONALEXPRESSION_HXX + +#include "dllapi.h" + +/** === begin UNO includes === **/ +/** === end UNO includes === **/ + +#include <rtl/ustring.hxx> + +#include <boost/shared_ptr.hpp> + +#include <map> + +//........................................................................ +namespace rptui +{ +//........................................................................ + + // ============================================================================= + // = ConditionalExpression + // ============================================================================= + class REPORTDESIGN_DLLPUBLIC ConditionalExpression + { + private: + const ::rtl::OUString m_sPattern; + + public: + ConditionalExpression( const sal_Char* _pAsciiPattern ); + + /** assembles an expression string from a field data source, and one or two operands + */ + ::rtl::OUString assembleExpression( const ::rtl::OUString& _rFieldDataSource, const ::rtl::OUString& _rLHS, const ::rtl::OUString& _rRHS ) const; + + /** matches the given expression string to the expression pattern represented by the object + @param _rExpression + the expression to match + @param _rFieldDataSource + the field data source + @param _out_rLHS + output parameter taking the left hand side operand, if successful + @param _out_rRHS + output parameter taking the right hand side operand, if successful + @return + <TRUE/> if and only if the expression string could be successfully matched to + the pattern. + */ + bool matchExpression( const ::rtl::OUString& _rExpression, const ::rtl::OUString& _rFieldDataSource, ::rtl::OUString& _out_rLHS, ::rtl::OUString& _out_rRHS ) const; + }; + + //======================================================================== + //= ConditionType + //======================================================================== + enum ConditionType + { + eFieldValueComparison = 0, + eExpression = 1 + }; + + //======================================================================== + //= ComparisonOperation + //======================================================================== + enum ComparisonOperation + { + eBetween = 0, + eNotBetween = 1, + eEqualTo = 2, + eNotEqualTo = 3, + eGreaterThan = 4, + eLessThan = 5, + eGreaterOrEqual = 6, + eLessOrEqual = 7 + }; + + typedef ::boost::shared_ptr< ConditionalExpression > PConditionalExpression; + typedef ::std::map< ComparisonOperation, PConditionalExpression > ConditionalExpressions; + + // ============================================================================= + // = ConditionalExpressionFactory + // ============================================================================= + class REPORTDESIGN_DLLPUBLIC ConditionalExpressionFactory + { + public: + /// fills the given map with all ConditionalExpressions which we know + static size_t getKnownConditionalExpressions( ConditionalExpressions& _out_rCondExp ); + + private: + ConditionalExpressionFactory(); // never implemented + ConditionalExpressionFactory( const ConditionalExpressionFactory& ); // never implemented + ConditionalExpressionFactory& operator=( const ConditionalExpressionFactory& ); // never implemented + }; +//........................................................................ +} // namespace rptui +//........................................................................ + +#endif // CONDITIONALEXPRESSION_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/dllapi.h b/reportdesign/inc/dllapi.h new file mode 100644 index 000000000000..a64a26e8433d --- /dev/null +++ b/reportdesign/inc/dllapi.h @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef INCLUDED_REPORTDESIGNDLLAPI_H +#define INCLUDED_REPORTDESIGNDLLAPI_H + +#include "sal/types.h" + +#if defined(REPORTDESIGN_DLLIMPLEMENTATION) +#define REPORTDESIGN_DLLPUBLIC SAL_DLLPUBLIC_EXPORT +#else +#define REPORTDESIGN_DLLPUBLIC SAL_DLLPUBLIC_IMPORT +#endif +#define REPORTDESIGN_DLLPRIVATE SAL_DLLPRIVATE + +#endif /* INCLUDED_REPORTDESIGNDLLAPI_H */ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/helpids.hrc b/reportdesign/inc/helpids.hrc new file mode 100644 index 000000000000..5e048c34becb --- /dev/null +++ b/reportdesign/inc/helpids.hrc @@ -0,0 +1,130 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef RTPUI_REPORTDESIGN_HELPID_HRC +#define RTPUI_REPORTDESIGN_HELPID_HRC + +#ifndef _SOLAR_HRC +#include <svl/solar.hrc> // HID_RPT_DBACCESS_START +#endif + +#define UID_RPT_RPT_APP_VIEW (HID_RPT_START + 0) +#define UID_RPT_SCROLLWINDOW (HID_RPT_START + 1) +#define UID_RPT_REPORTWINDOW (HID_RPT_START + 2) +#define HID_RPT_HORZ_RULER (HID_RPT_START + 3) +#define UID_RPT_SECTIONSWINDOW (HID_RPT_START + 4) +#define UID_RPT_VIEWSWINDOW (HID_RPT_START + 5) +#define HID_RPT_ENDMARKER (HID_RPT_START + 6) +#define HID_RPT_SPLITTER (HID_RPT_START + 7) +#define HID_REPORTSECTION (HID_RPT_START + 8) +#define HID_RPT_HORZ_SCROLLBAR (HID_RPT_START + 9) +#define HID_RPT_VERT_SCROLLBAR (HID_RPT_START + 10) +#define HID_RPT_STARTMARKER (HID_RPT_START + 11) +#define HID_RPT_FIELDEXPRESSION (HID_RPT_START + 12) +#define HID_RPT_SORTORDER (HID_RPT_START + 13) +#define HID_RPT_GROUPSBRW (HID_RPT_START + 14) +#define HID_RPT_GROUPSSORTING_DLG (HID_RPT_START + 15) +#define HID_RPT_PAGENUMBERS_DLG (HID_RPT_START + 16) +#define HID_RPT_DATETIME_DLG (HID_RPT_START + 17) +#define HID_RPT_CONDFORMAT_DLG (HID_RPT_START + 18) +#define HID_RPT_CONDFORMAT_TB (HID_RPT_START + 19) +#define HID_RPT_CRTL_FORMAT_PREVIEW (HID_RPT_START + 20) +#define HID_RPT_COND_DLG (HID_RPT_START + 21) +#define HID_RPT_POPUP_COLOR_CTRL (HID_RPT_START + 22) +#define HID_RPT_POPUP_COLOR (HID_RPT_START + 23) +#define HID_RPT_FIELD_SEL (HID_RPT_START + 24) +#define HID_RPT_FIELD_SEL_WIN (HID_RPT_START + 25) +#define HID_RPT_PROPDLG_TAB_GENERAL (HID_RPT_START + 26) +#define HID_RPT_PROPDLG_TAB_DATA (HID_RPT_START + 27) + +#define HID_RPT_PROP_FORCENEWPAGE (HID_RPT_START + 28) +#define HID_RPT_PROP_NEWROWORCOL (HID_RPT_START + 29) +#define HID_RPT_PROP_KEEPTOGETHER (HID_RPT_START + 30) +#define HID_RPT_PROP_CANGROW (HID_RPT_START + 31) +#define HID_RPT_PROP_CANSHRINK (HID_RPT_START + 32) +#define HID_RPT_PROP_REPEATSECTION (HID_RPT_START + 33) +#define HID_RPT_PROP_FORMULALIST (HID_RPT_START + 34) +#define HID_RPT_PROP_SCOPE (HID_RPT_START + 35) +#define HID_RPT_PROP_TYPE (HID_RPT_START + 36) +#define HID_RPT_PROP_MASTERFIELDS (HID_RPT_START + 37) +#define HID_RPT_PROP_DETAILFIELDS (HID_RPT_START + 38) +#define HID_RPT_PROP_AREA (HID_RPT_START + 39) +#define UID_RPT_RPT_PROP_DLG_AREA (HID_RPT_START + 40) +#define HID_RPT_PROP_MIMETYPE (HID_RPT_START + 41) +// free +// free +#define HID_RPT_PROP_PRINTREPEATEDVALUES (HID_RPT_START + 44) +#define HID_RPT_PROP_CONDITIONALPRINTEXPRESSION (HID_RPT_START + 45) +#define HID_RPT_PROP_VERTICALALIGN (HID_RPT_START + 46) +#define HID_RPT_PROP_STARTNEWCOLUMN (HID_RPT_START + 47) +#define HID_RPT_PROP_STARTNEWPAGE (HID_RPT_START + 48) +#define HID_RPT_PROP_RESETPAGENUMBER (HID_RPT_START + 49) +#define HID_RPT_PROP_PARAADJUST (HID_RPT_START + 50) +#define HID_RPT_PROP_MINHEIGHTNEWPAGE (HID_RPT_START + 51) +#define HID_RPT_PROP_PRINTWHENGROUPCHANGE (HID_RPT_START + 52) +#define HID_RPT_PROP_CHARTTYPE (HID_RPT_START + 53) +// free +// free +#define HID_RPT_PROP_VISIBLE (HID_RPT_START + 55) +#define HID_RPT_PROP_GROUPKEEPTOGETHER (HID_RPT_START + 56) +#define HID_RPT_PROP_PAGEHEADEROPTION (HID_RPT_START + 57) +#define HID_RPT_PROP_PAGEFOOTEROPTION (HID_RPT_START + 58) +#define UID_RPT_PROP_DLG_LINE_STYLE (HID_RPT_START + 59) +#define HID_RPT_PROP_PREVIEW_COUNT (HID_RPT_START + 60) +#define HID_RPT_PROP_DATAFIELD (HID_RPT_START + 61) +#define HID_RPT_PROP_BACKCOLOR (HID_RPT_START + 62) +#define HID_RPT_PROP_RPT_POSITIONX (HID_RPT_START + 63) +#define HID_RPT_PROP_RPT_POSITIONY (HID_RPT_START + 64) +#define HID_RPT_PROP_RPT_WIDTH (HID_RPT_START + 65) +#define HID_RPT_PROP_RPT_HEIGHT (HID_RPT_START + 66) +#define HID_RPT_START_TITLE (HID_RPT_START + 67) +#define HID_RPT_START_IMAGE (HID_RPT_START + 68) +#define HID_RPT_PROP_DEEPTRAVERSING (HID_RPT_START + 69) +#define HID_RPT_PROP_PREEVALUATED (HID_RPT_START + 70) +#define HID_RPT_NAVIGATOR_DLG (HID_RPT_START + 71) +#define HID_REPORT_NAVIGATOR_TREE (HID_RPT_START + 72) +#define HID_RPT_PROP_FORMULA (HID_RPT_START + 73) +#define HID_RPT_PROP_INITIALFORMULA (HID_RPT_START + 74) +#define HID_RPT_PROP_RPT_FONT (HID_RPT_START + 75) +#define UID_RPT_RPT_PROP_DLG_FONT_TYPE (HID_RPT_START + 76) +#define HID_RPT_PROP_PRESERVEIRI (HID_RPT_START + 77) +#define HID_RPT_PROP_BACKTRANSPARENT (HID_RPT_START + 78) +#define HID_RPT_PROP_CONTROLBACKGROUNDTRANSPARENT (HID_RPT_START + 79) +#define UID_RPT_PROP_CHARTTYPE_DLG (HID_RPT_START + 80) +#define UID_RPT_PROP_DLG_LINKFIELDS (HID_RPT_START + 81) +#define UID_RPT_PROP_FORMULA (HID_RPT_START + 82) + +#define HID_RPT_GROUPSORT_MOVE_UP (HID_RPT_START + 82) +#define HID_RPT_GROUPSORT_MOVE_DOWN (HID_RPT_START + 83) +#define HID_RPT_GROUPSORT_DELETE (HID_RPT_START + 84) + +#if UID_RPT_PROP_FORMULA > HID_RPT_END +#error Help-Id Ueberlauf in #file, #line +#endif +// don't forget to update the file util/hidother.src + +#endif //RTPUI_REPORTDESIGN_HELPID_HRC + diff --git a/reportdesign/inc/makefile.mk b/reportdesign/inc/makefile.mk new file mode 100644 index 000000000000..b24d73a7cd92 --- /dev/null +++ b/reportdesign/inc/makefile.mk @@ -0,0 +1,47 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* +PRJ=.. + +PRJNAME=reportdesign +TARGET=inc + +# --- Settings ----------------------------------------------------- + +.INCLUDE : settings.mk + +# --- Files -------------------------------------------------------- +# --- Targets ------------------------------------------------------- + +.INCLUDE : target.mk + +.IF "$(ENABLE_PCH)"!="" +ALLTAR : \ + $(SLO)$/precompiled.pch \ + $(SLO)$/precompiled_ex.pch + +.ENDIF # "$(ENABLE_PCH)"!="" + diff --git a/reportdesign/inc/pch/precompiled_reportdesign.cxx b/reportdesign/inc/pch/precompiled_reportdesign.cxx new file mode 100644 index 000000000000..c52af4709ee2 --- /dev/null +++ b/reportdesign/inc/pch/precompiled_reportdesign.cxx @@ -0,0 +1,31 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#include "precompiled_reportdesign.hxx" + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/pch/precompiled_reportdesign.hxx b/reportdesign/inc/pch/precompiled_reportdesign.hxx new file mode 100644 index 000000000000..396aa8c3a177 --- /dev/null +++ b/reportdesign/inc/pch/precompiled_reportdesign.hxx @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): Generated on 2006-09-01 17:49:38.561560 + +#ifdef PRECOMPILED_HEADERS +#include "com/sun/star/sdb/CommandType.hpp" +#include "com/sun/star/chart2/data/XDataReceiver.hpp" +#include "com/sun/star/reflection/XProxyFactory.hpp" +#include "com/sun/star/sdb/CommandType.hpp" +#include "comphelper/sequence.hxx" +#include "comphelper/sequenceashashmap.hxx" +#include "comphelper/documentconstants.hxx" +#include "xmloff/attrlist.hxx" +#include "xmloff/xmltoken.hxx" +#include "xmloff/xmlement.hxx" +#include "xmloff/xmluconv.hxx" +#include "xmloff/xmltkmap.hxx" +#include "xmloff/xmlnmspe.hxx" +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/reportformula.hxx b/reportdesign/inc/reportformula.hxx new file mode 100644 index 000000000000..f43ba873b596 --- /dev/null +++ b/reportdesign/inc/reportformula.hxx @@ -0,0 +1,137 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef REPORTFORMULA_HXX +#define REPORTFORMULA_HXX + +#include "dllapi.h" + +/** === begin UNO includes === **/ +#include <com/sun/star/uno/Any.hxx> +/** === end UNO includes === **/ + +#include <osl/diagnose.h> + +//........................................................................ +namespace rptui +{ +//........................................................................ + + //==================================================================== + //= ReportFormula + //==================================================================== + class REPORTDESIGN_DLLPUBLIC ReportFormula + { + public: + enum BindType + { + Expression, + Field, + + Invalid + }; + + private: + BindType m_eType; + ::rtl::OUString m_sCompleteFormula; + ::rtl::OUString m_sUndecoratedContent; + + public: + /// constructs a ReportFormula object from a string + ReportFormula( const ::rtl::OUString& _rFormula ); + + /// constructs a ReportFormula by BindType + ReportFormula( const BindType _eType, const ::rtl::OUString& _rFieldOrExpression ); + ~ReportFormula(); + + ReportFormula& operator=(class ReportFormula const &); + + /// returns whether the object denotes a valid formula + bool isValid() const; + + /// returns the type of the binding represented by the formula + inline BindType getType() const { return m_eType; } + + /// returns the complete formula represented by the object + const ::rtl::OUString& + getCompleteFormula() const; + + /** gets the <em>undecorated formula</em> content + + If the formula denotes a field binding, the <em>undecorated content</em> is the + field name. + + If the formula denotes an expression, then the <em>undecorated content</em> is the expression + itself. + */ + const ::rtl::OUString& getUndecoratedContent() const;// { return m_sUndecoratedContent; } + + /// convenience alias for <code>getUndecoratedContent</code>, which asserts (in a non-product build) when used on an expression + inline ::rtl::OUString getFieldName() const; + + /** + @returns "=" + getFieldName() + */ + ::rtl::OUString getEqualUndecoratedContent() const; + + /// convenience alias for <code>getUndecoratedContent</code>, which asserts (in a non-product build) when used on a field + inline ::rtl::OUString getExpression() const; + + /** returns a bracketed field name of the formula denotes a field reference, + or the undecorated expression if the formula denotes an expression. + + Effectively, this means the method returns the complete formular, stripped by the prefix + which indicates a field or a expression. + */ + ::rtl::OUString getBracketedFieldOrExpression() const; + + private: + void impl_construct( const ::rtl::OUString& _rFormula ); + }; + + //-------------------------------------------------------------------- + inline ::rtl::OUString ReportFormula::getFieldName() const + { + OSL_PRECOND( getType() == Field, "ReportFormula::getFieldName: not bound to a field!" ); + return getUndecoratedContent(); + } + + //-------------------------------------------------------------------- + inline ::rtl::OUString ReportFormula::getExpression() const + { + OSL_PRECOND( getType() == Expression, "ReportFormula::getExpression: not bound to an expression!" ); + return getUndecoratedContent(); + } + +//........................................................................ +} // namespace rptui +//........................................................................ + +#endif // REPORTFORMULA_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/reportdesign/inc/rptui_slotid.hrc b/reportdesign/inc/rptui_slotid.hrc new file mode 100644 index 000000000000..4096cb6a272a --- /dev/null +++ b/reportdesign/inc/rptui_slotid.hrc @@ -0,0 +1,212 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _RPTUI_SLOTID_HRC_ +#define _RPTUI_SLOTID_HRC_ + +#include <svx/svxids.hrc> + +#define SID_PAGEHEADERFOOTER ( SID_RPTUI_START + 0 ) +#define SID_REPORTHEADERFOOTER ( SID_RPTUI_START + 1 ) +#define SID_SORTINGANDGROUPING ( SID_RPTUI_START + 2 ) +#define SID_INSERT_FLD_PGNUMBER ( SID_RPTUI_START + 3 ) +#define SID_CONDITIONALFORMATTING ( SID_RPTUI_START + 4 ) +#define SID_PAGEDIALOG ( SID_RPTUI_START + 5 ) +#define SID_SETCONTROLDEFAULTS ( SID_RPTUI_START + 6 ) +#define SID_INSERTBREAK ( SID_RPTUI_START + 7 ) +#define SID_PAGEHEADER_WITHOUT_UNDO ( SID_RPTUI_START + 8 ) +#define SID_PAGEFOOTER_WITHOUT_UNDO ( SID_RPTUI_START + 9 ) +#define SID_REPORTHEADER_WITHOUT_UNDO ( SID_RPTUI_START + 10 ) +#define SID_REPORTFOOTER_WITHOUT_UNDO ( SID_RPTUI_START + 11 ) +#define SID_SELECT_REPORT ( SID_RPTUI_START + 12 ) +#define SID_GROUPHEADER_WITHOUT_UNDO ( SID_RPTUI_START + 13 ) +#define SID_GROUPHEADER ( SID_RPTUI_START + 14 ) +#define SID_GROUPFOOTER_WITHOUT_UNDO ( SID_RPTUI_START + 15 ) +#define SID_GROUPFOOTER ( SID_RPTUI_START + 16 ) +#define SID_GROUP_REMOVE ( SID_RPTUI_START + 17 ) +#define SID_GROUP_APPEND ( SID_RPTUI_START + 18 ) +#define SID_EXECUTE_REPORT ( SID_RPTUI_START + 19 ) +#define SID_DATETIME ( SID_RPTUI_START + 20 ) +#define SID_ESCAPE ( SID_RPTUI_START + 21 ) +#define SID_ADD_CONTROL_PAIR ( SID_RPTUI_START + 22 ) +#define SID_SPLIT_POSITION ( SID_RPTUI_START + 23 ) +#define SID_PROPERTYBROWSER_LAST_PAGE ( SID_RPTUI_START + 24 ) +// free + +#define SID_DRAWTBX_CS_BASIC1 ( SID_RPTUI_START + 26 ) +#define SID_DRAWTBX_CS_BASIC2 ( SID_RPTUI_START + 27 ) +#define SID_DRAWTBX_CS_BASIC3 ( SID_RPTUI_START + 28 ) +#define SID_DRAWTBX_CS_BASIC4 ( SID_RPTUI_START + 29 ) +#define SID_DRAWTBX_CS_BASIC5 ( SID_RPTUI_START + 30 ) +#define SID_DRAWTBX_CS_BASIC6 ( SID_RPTUI_START + 31 ) +#define SID_DRAWTBX_CS_BASIC7 ( SID_RPTUI_START + 32 ) +#define SID_DRAWTBX_CS_BASIC8 ( SID_RPTUI_START + 33 ) +#define SID_DRAWTBX_CS_BASIC9 ( SID_RPTUI_START + 34 ) +#define SID_DRAWTBX_CS_BASIC10 ( SID_RPTUI_START + 35 ) +#define SID_DRAWTBX_CS_BASIC11 ( SID_RPTUI_START + 36 ) +#define SID_DRAWTBX_CS_BASIC12 ( SID_RPTUI_START + 37 ) +#define SID_DRAWTBX_CS_BASIC13 ( SID_RPTUI_START + 38 ) +#define SID_DRAWTBX_CS_BASIC14 ( SID_RPTUI_START + 39 ) +#define SID_DRAWTBX_CS_BASIC15 ( SID_RPTUI_START + 40 ) +#define SID_DRAWTBX_CS_BASIC16 ( SID_RPTUI_START + 41 ) +#define SID_DRAWTBX_CS_BASIC17 ( SID_RPTUI_START + 42 ) +#define SID_DRAWTBX_CS_BASIC18 ( SID_RPTUI_START + 43 ) +#define SID_DRAWTBX_CS_BASIC19 ( SID_RPTUI_START + 44 ) +#define SID_DRAWTBX_CS_BASIC20 ( SID_RPTUI_START + 45 ) +#define SID_DRAWTBX_CS_BASIC21 ( SID_RPTUI_START + 46 ) +#define SID_DRAWTBX_CS_BASIC22 ( SID_RPTUI_START + 47 ) +#define SID_DRAWTBX_CS_SYMBOL1 ( SID_RPTUI_START + 48 ) +#define SID_DRAWTBX_CS_SYMBOL2 ( SID_RPTUI_START + 49 ) +#define SID_DRAWTBX_CS_SYMBOL3 ( SID_RPTUI_START + 50 ) +#define SID_DRAWTBX_CS_SYMBOL4 ( SID_RPTUI_START + 51 ) +#define SID_DRAWTBX_CS_SYMBOL5 ( SID_RPTUI_START + 52 ) +#define SID_DRAWTBX_CS_SYMBOL6 ( SID_RPTUI_START + 53 ) +#define SID_DRAWTBX_CS_SYMBOL7 ( SID_RPTUI_START + 54 ) +#define SID_DRAWTBX_CS_SYMBOL8 ( SID_RPTUI_START + 55 ) +#define SID_DRAWTBX_CS_SYMBOL9 ( SID_RPTUI_START + 56 ) +#define SID_DRAWTBX_CS_SYMBOL10 ( SID_RPTUI_START + 57 ) +#define SID_DRAWTBX_CS_SYMBOL11 ( SID_RPTUI_START + 58 ) +#define SID_DRAWTBX_CS_SYMBOL12 ( SID_RPTUI_START + 59 ) +#define SID_DRAWTBX_CS_SYMBOL13 ( SID_RPTUI_START + 60 ) +#define SID_DRAWTBX_CS_SYMBOL14 ( SID_RPTUI_START + 61 ) +#define SID_DRAWTBX_CS_SYMBOL15 ( SID_RPTUI_START + 62 ) +#define SID_DRAWTBX_CS_SYMBOL16 ( SID_RPTUI_START + 63 ) +#define SID_DRAWTBX_CS_SYMBOL17 ( SID_RPTUI_START + 64 ) +#define SID_DRAWTBX_CS_SYMBOL18 ( SID_RPTUI_START + 65 ) +#define SID_DRAWTBX_CS_ARROW1 ( SID_RPTUI_START + 66 ) +#define SID_DRAWTBX_CS_ARROW2 ( SID_RPTUI_START + 67 ) +#define SID_DRAWTBX_CS_ARROW3 ( SID_RPTUI_START + 68 ) +#define SID_DRAWTBX_CS_ARROW4 ( SID_RPTUI_START + 69 ) +#define SID_DRAWTBX_CS_ARROW5 ( SID_RPTUI_START + 70 ) +#define SID_DRAWTBX_CS_ARROW6 ( SID_RPTUI_START + 71 ) +#define SID_DRAWTBX_CS_ARROW7 ( SID_RPTUI_START + 72 ) +#define SID_DRAWTBX_CS_ARROW8 ( SID_RPTUI_START + 73 ) +#define SID_DRAWTBX_CS_ARROW9 ( SID_RPTUI_START + 74 ) +#define SID_DRAWTBX_CS_ARROW10 ( SID_RPTUI_START + 75 ) +#define SID_DRAWTBX_CS_ARROW11 ( SID_RPTUI_START + 76 ) +#define SID_DRAWTBX_CS_ARROW12 ( SID_RPTUI_START + 77 ) +#define SID_DRAWTBX_CS_ARROW13 ( SID_RPTUI_START + 78 ) +#define SID_DRAWTBX_CS_ARROW14 ( SID_RPTUI_START + 79 ) +#define SID_DRAWTBX_CS_ARROW15 ( SID_RPTUI_START + 80 ) +#define SID_DRAWTBX_CS_ARROW16 ( SID_RPTUI_START + 81 ) +#define SID_DRAWTBX_CS_ARROW17 ( SID_RPTUI_START + 82 ) +#define SID_DRAWTBX_CS_ARROW18 ( SID_RPTUI_START + 83 ) +#define SID_DRAWTBX_CS_ARROW19 ( SID_RPTUI_START + 84 ) +#define SID_DRAWTBX_CS_ARROW20 ( SID_RPTUI_START + 85 ) +#define SID_DRAWTBX_CS_ARROW21 ( SID_RPTUI_START + 86 ) +#define SID_DRAWTBX_CS_ARROW22 ( SID_RPTUI_START + 87 ) +#define SID_DRAWTBX_CS_ARROW23 ( SID_RPTUI_START + 88 ) +#define SID_DRAWTBX_CS_ARROW24 ( SID_RPTUI_START + 89 ) +#define SID_DRAWTBX_CS_ARROW25 ( SID_RPTUI_START + 90 ) +#define SID_DRAWTBX_CS_ARROW26 ( SID_RPTUI_START + 91 ) +#define SID_DRAWTBX_CS_STAR1 ( SID_RPTUI_START + 92 ) +#define SID_DRAWTBX_CS_STAR2 ( SID_RPTUI_START + 93 ) +#define SID_DRAWTBX_CS_STAR3 ( SID_RPTUI_START + 94 ) +#define SID_DRAWTBX_CS_STAR4 ( SID_RPTUI_START + 95 ) +#define SID_DRAWTBX_CS_STAR5 ( SID_RPTUI_START + 96 ) +#define SID_DRAWTBX_CS_STAR6 ( SID_RPTUI_START + 97 ) +#define SID_DRAWTBX_CS_STAR7 ( SID_RPTUI_START + 98 ) +#define SID_DRAWTBX_CS_STAR8 ( SID_RPTUI_START + 99 ) +#define SID_DRAWTBX_CS_STAR9 ( SID_RPTUI_START + 100 ) +#define SID_DRAWTBX_CS_STAR10 ( SID_RPTUI_START + 101 ) +#define SID_DRAWTBX_CS_STAR11 ( SID_RPTUI_START + 102 ) +#define SID_DRAWTBX_CS_STAR12 ( SID_RPTUI_START + 103 ) +#define SID_DRAWTBX_CS_FLOWCHART1 ( SID_RPTUI_START + 104 ) +#define SID_DRAWTBX_CS_FLOWCHART2 ( SID_RPTUI_START + 105 ) +#define SID_DRAWTBX_CS_FLOWCHART3 ( SID_RPTUI_START + 106 ) +#define SID_DRAWTBX_CS_FLOWCHART4 ( SID_RPTUI_START + 107 ) +#define SID_DRAWTBX_CS_FLOWCHART5 ( SID_RPTUI_START + 108 ) +#define SID_DRAWTBX_CS_FLOWCHART6 ( SID_RPTUI_START + 109 ) +#define SID_DRAWTBX_CS_FLOWCHART7 ( SID_RPTUI_START + 110 ) +#define SID_DRAWTBX_CS_FLOWCHART8 ( SID_RPTUI_START + 111 ) +#define SID_DRAWTBX_CS_FLOWCHART9 ( SID_RPTUI_START + 112 ) +#define SID_DRAWTBX_CS_FLOWCHART10 ( SID_RPTUI_START + 113 ) +#define SID_DRAWTBX_CS_FLOWCHART11 ( SID_RPTUI_START + 114 ) +#define SID_DRAWTBX_CS_FLOWCHART12 ( SID_RPTUI_START + 115 ) +#define SID_DRAWTBX_CS_FLOWCHART13 ( SID_RPTUI_START + 116 ) +#define SID_DRAWTBX_CS_FLOWCHART14 ( SID_RPTUI_START + 117 ) +#define SID_DRAWTBX_CS_FLOWCHART15 ( SID_RPTUI_START + 118 ) +#define SID_DRAWTBX_CS_FLOWCHART16 ( SID_RPTUI_START + 119 ) +#define SID_DRAWTBX_CS_FLOWCHART17 ( SID_RPTUI_START + 120 ) +#define SID_DRAWTBX_CS_FLOWCHART18 ( SID_RPTUI_START + 121 ) +#define SID_DRAWTBX_CS_FLOWCHART19 ( SID_RPTUI_START + 122 ) +#define SID_DRAWTBX_CS_FLOWCHART20 ( SID_RPTUI_START + 123 ) +#define SID_DRAWTBX_CS_FLOWCHART21 ( SID_RPTUI_START + 124 ) +#define SID_DRAWTBX_CS_FLOWCHART22 ( SID_RPTUI_START + 125 ) +#define SID_DRAWTBX_CS_FLOWCHART23 ( SID_RPTUI_START + 126 ) +#define SID_DRAWTBX_CS_FLOWCHART24 ( SID_RPTUI_START + 127 ) +#define SID_DRAWTBX_CS_FLOWCHART25 ( SID_RPTUI_START + 128 ) +#define SID_DRAWTBX_CS_FLOWCHART26 ( SID_RPTUI_START + 129 ) +#define SID_DRAWTBX_CS_FLOWCHART27 ( SID_RPTUI_START + 130 ) +#define SID_DRAWTBX_CS_FLOWCHART28 ( SID_RPTUI_START + 131 ) +#define SID_DRAWTBX_CS_CALLOUT1 ( SID_RPTUI_START + 132 ) +#define SID_DRAWTBX_CS_CALLOUT2 ( SID_RPTUI_START + 133 ) +#define SID_DRAWTBX_CS_CALLOUT3 ( SID_RPTUI_START + 134 ) +#define SID_DRAWTBX_CS_CALLOUT4 ( SID_RPTUI_START + 135 ) +#define SID_DRAWTBX_CS_CALLOUT5 ( SID_RPTUI_START + 136 ) +#define SID_DRAWTBX_CS_CALLOUT6 ( SID_RPTUI_START + 137 ) +#define SID_DRAWTBX_CS_CALLOUT7 ( SID_RPTUI_START + 138 ) + +#define SID_RPT_TEXTDOCUMENT ( SID_RPTUI_START + 139 ) +#define SID_RPT_SPREADSHEET ( SID_RPTUI_START + 140 ) +#define SID_RPT_SHOWREPORTEXPLORER ( SID_RPTUI_START + 141 ) +#define SID_RPT_NEW_FUNCTION ( SID_RPTUI_START + 142 ) + +#define SID_OBJECT_SMALLESTWIDTH ( SID_RPTUI_START + 143 ) +#define SID_OBJECT_SMALLESTHEIGHT ( SID_RPTUI_START + 144 ) +#define SID_OBJECT_GREATESTWIDTH ( SID_RPTUI_START + 145 ) +#define SID_OBJECT_GREATESTHEIGHT ( SID_RPTUI_START + 146 ) +#define SID_OBJECT_RESIZING ( SID_RPTUI_START + 147 ) +#define SID_ARRANGEMENU ( SID_RPTUI_START + 148 ) +#define SID_SELECTALL_IN_SECTION ( SID_RPTUI_START + 149 ) + +#define SID_ICON_GROUP ( SID_RPTUI_START + 150 ) +#define SID_ICON_DETAIL ( SID_RPTUI_START + 151 ) + +#define SID_SECTION_ALIGN ( SID_RPTUI_START + 152 ) +#define SID_SECTION_ALIGN_LEFT ( SID_RPTUI_START + 153 ) +#define SID_SECTION_ALIGN_CENTER ( SID_RPTUI_START + 154 ) +#define SID_SECTION_ALIGN_RIGHT ( SID_RPTUI_START + 155 ) +#define SID_SECTION_ALIGN_UP ( SID_RPTUI_START + 156 ) +#define SID_SECTION_ALIGN_MIDDLE ( SID_RPTUI_START + 157 ) +#define SID_SECTION_ALIGN_DOWN ( SID_RPTUI_START + 158 ) + +#define SID_NEXT_MARK ( SID_RPTUI_START + 159 ) +#define SID_PREV_MARK ( SID_RPTUI_START + 160 ) + +#define SID_SELECT_ALL_LABELS ( SID_RPTUI_START + 161 ) +#define SID_SELECT_ALL_EDITS ( SID_RPTUI_START + 162 ) + +#define SID_SECTION_SHRINK ( SID_RPTUI_START + 163 ) +#define SID_SECTION_SHRINK_TOP ( SID_RPTUI_START + 164 ) +#define SID_SECTION_SHRINK_BOTTOM ( SID_RPTUI_START + 165 ) +#define SID_SECTION_SHRINK_MENU ( SID_RPTUI_START + 166 ) + +#define SID_COLLAPSE_SECTION ( SID_RPTUI_START + 167 ) +#define SID_EXPAND_SECTION ( SID_RPTUI_START + 168 ) + +#endif // _RPTUI_SLOTID_HRC_ |