summaryrefslogtreecommitdiff
path: root/reportdesign/inc
diff options
context:
space:
mode:
Diffstat (limited to 'reportdesign/inc')
-rw-r--r--reportdesign/inc/ModuleHelper.hxx102
-rw-r--r--reportdesign/inc/PropertyForward.hxx94
-rw-r--r--reportdesign/inc/ReportDefinition.hxx397
-rw-r--r--reportdesign/inc/ReportHelperDefines.hxx197
-rw-r--r--reportdesign/inc/ReportVisitor.hxx69
-rw-r--r--reportdesign/inc/RptDef.hxx123
-rw-r--r--reportdesign/inc/RptModel.hxx105
-rw-r--r--reportdesign/inc/RptObject.hxx288
-rw-r--r--reportdesign/inc/RptPage.hxx101
-rw-r--r--reportdesign/inc/RptResId.hrc298
-rw-r--r--reportdesign/inc/UndoActions.hxx302
-rw-r--r--reportdesign/inc/UndoEnv.hxx152
-rw-r--r--reportdesign/inc/conditionalexpression.hxx126
-rw-r--r--reportdesign/inc/dllapi.h43
-rw-r--r--reportdesign/inc/helpids.hrc130
-rw-r--r--reportdesign/inc/makefile.mk47
-rw-r--r--reportdesign/inc/pch/precompiled_reportdesign.cxx31
-rw-r--r--reportdesign/inc/pch/precompiled_reportdesign.hxx47
-rw-r--r--reportdesign/inc/reportformula.hxx137
-rw-r--r--reportdesign/inc/rptui_slotid.hrc212
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_