summaryrefslogtreecommitdiff
path: root/reportdesign/source/core/inc
diff options
context:
space:
mode:
Diffstat (limited to 'reportdesign/source/core/inc')
-rw-r--r--reportdesign/source/core/inc/FixedLine.hxx175
-rw-r--r--reportdesign/source/core/inc/FixedText.hxx160
-rw-r--r--reportdesign/source/core/inc/FormatCondition.hxx117
-rw-r--r--reportdesign/source/core/inc/FormattedField.hxx167
-rw-r--r--reportdesign/source/core/inc/Function.hxx129
-rw-r--r--reportdesign/source/core/inc/Functions.hxx105
-rw-r--r--reportdesign/source/core/inc/Group.hxx163
-rw-r--r--reportdesign/source/core/inc/Groups.hxx108
-rw-r--r--reportdesign/source/core/inc/ImageControl.hxx164
-rw-r--r--reportdesign/source/core/inc/ReportComponent.hxx88
-rw-r--r--reportdesign/source/core/inc/ReportControlModel.hxx137
-rw-r--r--reportdesign/source/core/inc/ReportDrawPage.hxx50
-rw-r--r--reportdesign/source/core/inc/ReportEngineJFree.hxx138
-rw-r--r--reportdesign/source/core/inc/ReportHelperImpl.hxx1291
-rw-r--r--reportdesign/source/core/inc/ReportUndoFactory.hxx85
-rw-r--r--reportdesign/source/core/inc/RptObjectListener.hxx63
-rw-r--r--reportdesign/source/core/inc/Section.hxx208
-rw-r--r--reportdesign/source/core/inc/Shape.hxx182
-rw-r--r--reportdesign/source/core/inc/Tools.hxx183
-rw-r--r--reportdesign/source/core/inc/conditionupdater.hxx75
-rw-r--r--reportdesign/source/core/inc/core_resource.hrc59
-rw-r--r--reportdesign/source/core/inc/core_resource.hxx78
22 files changed, 3925 insertions, 0 deletions
diff --git a/reportdesign/source/core/inc/FixedLine.hxx b/reportdesign/source/core/inc/FixedLine.hxx
new file mode 100644
index 000000000000..dd7d14df57e2
--- /dev/null
+++ b/reportdesign/source/core/inc/FixedLine.hxx
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * 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 RPT_FIXEDLINE_HXX
+#define RPT_FIXEDLINE_HXX
+
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/report/XFixedLine.hpp>
+#include "ReportControlModel.hxx"
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include "ReportHelperDefines.hxx"
+
+
+namespace reportdesign
+{
+ typedef ::cppu::PropertySetMixin< com::sun::star::report::XFixedLine > FixedLinePropertySet;
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XFixedLine
+ ,com::sun::star::lang::XServiceInfo > FixedLineBase;
+
+ /** \class OFixedLine Defines the implementation of a \interface com:::sun::star::report::XFixedLine
+ * \ingroup reportdesign_api
+ *
+ */
+ class OFixedLine : public comphelper::OBaseMutex,
+ public FixedLineBase,
+ public FixedLinePropertySet
+ {
+ friend class OShapeHelper;
+ OReportControlModel m_aProps;
+ ::com::sun::star::drawing::LineStyle m_LineStyle;
+ ::com::sun::star::drawing::LineDash m_LineDash;
+ sal_Int32 m_nOrientation;
+ ::sal_Int32 m_LineColor;
+ ::sal_Int16 m_LineTransparence;
+ ::sal_Int32 m_LineWidth;
+
+ private:
+ OFixedLine(const OFixedLine&);
+ OFixedLine& operator=(const OFixedLine&);
+
+ 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();
+ }
+ void checkIndex(sal_Int32 _nIndex);
+ protected:
+ virtual ~OFixedLine();
+ public:
+ explicit OFixedLine(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext);
+ explicit OFixedLine(::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
+ ,sal_Int32 _nOrientation);
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ 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::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);
+
+ // XReportComponent
+ REPORTCOMPONENT_HEADER()
+
+ // XShape
+ SHAPE_HEADER()
+
+ // XShapeDescriptor
+ virtual ::rtl::OUString SAL_CALL getShapeType( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XReportControlModel
+ REPORTCONTROLMODEL_HEADER()
+
+ // XFixedLine
+ virtual ::sal_Int32 SAL_CALL getOrientation() throw (::com::sun::star::beans::UnknownPropertyException,::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setOrientation( ::sal_Int32 _orientation ) throw (::com::sun::star::beans::UnknownPropertyException,::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::drawing::LineStyle SAL_CALL getLineStyle() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLineStyle( ::com::sun::star::drawing::LineStyle _linestyle ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::drawing::LineDash SAL_CALL getLineDash() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLineDash( const ::com::sun::star::drawing::LineDash& _linedash ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getLineColor() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLineColor( ::sal_Int32 _linecolor ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int16 SAL_CALL getLineTransparence() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLineTransparence( ::sal_Int16 _linetransparence ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getLineWidth() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLineWidth( ::sal_Int32 _linewidth ) throw (::com::sun::star::uno::RuntimeException);
+
+ // ::com::sun::star::report::XReportControlFormat
+ REPORTCONTROLFORMAT_HEADER()
+
+ // 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);
+
+ // XContainer
+ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XIndexReplace
+ virtual void SAL_CALL replaceByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexContainer
+ virtual void SAL_CALL insertByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ };
+}
+#endif //RPT_FIXEDLINE_HXX
+
diff --git a/reportdesign/source/core/inc/FixedText.hxx b/reportdesign/source/core/inc/FixedText.hxx
new file mode 100644
index 000000000000..9acdcb2d9148
--- /dev/null
+++ b/reportdesign/source/core/inc/FixedText.hxx
@@ -0,0 +1,160 @@
+/*************************************************************************
+ *
+ * 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 RPT_FIXEDTEXT_HXX
+#define RPT_FIXEDTEXT_HXX
+
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/report/XFixedText.hpp>
+#include "ReportControlModel.hxx"
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include "ReportHelperDefines.hxx"
+
+
+namespace reportdesign
+{
+ typedef ::cppu::PropertySetMixin< com::sun::star::report::XFixedText > FixedTextPropertySet;
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XFixedText
+ ,com::sun::star::lang::XServiceInfo > FixedTextBase;
+
+ /** \class OFixedText Defines the implementation of a \interface com:::sun::star::report::XFixedText
+ * \ingroup reportdesign_api
+ *
+ */
+ class OFixedText : public comphelper::OBaseMutex,
+ public FixedTextBase,
+ public FixedTextPropertySet
+ {
+ friend class OShapeHelper;
+ OReportControlModel m_aProps;
+ ::rtl::OUString m_sLabel;
+ private:
+ OFixedText(const OFixedText&);
+ OFixedText& operator=(const OFixedText&);
+
+ template <typename T> void set( const ::rtl::OUString& _sProperty
+ ,const T& _Value
+ ,T& _member)
+ {
+ BoundListeners l;
+ {
+ ::osl::MutexGuard aGuard(m_aMutex);
+ if ( _member != _Value )
+ {
+ prepareSet(_sProperty, ::com::sun::star::uno::makeAny(_member), ::com::sun::star::uno::makeAny(_Value), &l);
+ _member = _Value;
+ }
+ }
+ l.notify();
+ }
+ void checkIndex(sal_Int32 _nIndex);
+ protected:
+ virtual ~OFixedText();
+ public:
+ explicit OFixedText(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext);
+ explicit OFixedText(::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);
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ 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::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);
+
+ // XReportComponent
+ REPORTCOMPONENT_HEADER()
+ // XShape
+ SHAPE_HEADER()
+
+ // XShapeDescriptor
+ virtual ::rtl::OUString SAL_CALL getShapeType( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XReportControlModel
+ REPORTCONTROLMODEL_HEADER()
+
+ // XCloneable
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XFixedText
+ virtual ::rtl::OUString SAL_CALL getLabel() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLabel( const ::rtl::OUString& _label ) throw (::com::sun::star::uno::RuntimeException);
+
+ // ::com::sun::star::report::XReportControlFormat
+ REPORTCONTROLFORMAT_HEADER()
+
+ // 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);
+ // XContainer
+ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XIndexReplace
+ virtual void SAL_CALL replaceByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexContainer
+ virtual void SAL_CALL insertByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ };
+}
+#endif //RPT_FIXEDTEXT_HXX
+
diff --git a/reportdesign/source/core/inc/FormatCondition.hxx b/reportdesign/source/core/inc/FormatCondition.hxx
new file mode 100644
index 000000000000..82628270395b
--- /dev/null
+++ b/reportdesign/source/core/inc/FormatCondition.hxx
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * 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 RPT_FORMATCONDITION_HXX
+#define RPT_FORMATCONDITION_HXX
+
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/report/XFormatCondition.hpp>
+#include "ReportControlModel.hxx"
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include "ReportHelperDefines.hxx"
+
+namespace reportdesign
+{
+ typedef ::cppu::PropertySetMixin< com::sun::star::report::XFormatCondition > FormatConditionPropertySet;
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XFormatCondition
+ ,com::sun::star::lang::XServiceInfo > FormatConditionBase;
+
+ /** \class OFormatCondition Defines the implementation of a \interface com:::sun::star::report::XFormatCondition
+ * \ingroup reportdesign_api
+ *
+ */
+ class OFormatCondition : public comphelper::OBaseMutex,
+ public FormatConditionBase,
+ public FormatConditionPropertySet
+ {
+ OFormatProperties m_aFormatProperties;
+ ::rtl::OUString m_sFormula;
+ sal_Bool m_bEnabled;
+ private:
+ OFormatCondition(const OFormatCondition&);
+ OFormatCondition& operator=(const OFormatCondition&);
+
+ 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();
+ }
+ protected:
+ virtual ~OFormatCondition();
+ public:
+ explicit OFormatCondition(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext
+ );
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ 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::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);
+
+ // XFormatCondition
+ virtual ::sal_Bool SAL_CALL getEnabled() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setEnabled( ::sal_Bool _enabled ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getFormula() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setFormula( const ::rtl::OUString& _formula ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XReportControlFormat
+ REPORTCONTROLFORMAT_HEADER()
+ // 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);
+ }
+ };
+}
+#endif //RPT_FORMATCONDITION_HXX
+
diff --git a/reportdesign/source/core/inc/FormattedField.hxx b/reportdesign/source/core/inc/FormattedField.hxx
new file mode 100644
index 000000000000..9f1186dc23d5
--- /dev/null
+++ b/reportdesign/source/core/inc/FormattedField.hxx
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * 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 RPT_FORMATTEDFIELD_HXX
+#define RPT_FORMATTEDFIELD_HXX
+
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/report/XFormattedField.hpp>
+#include <com/sun/star/report/Function.hpp>
+#include "ReportControlModel.hxx"
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include "ReportHelperDefines.hxx"
+namespace reportdesign
+{
+ typedef ::cppu::PropertySetMixin< com::sun::star::report::XFormattedField > FormattedFieldPropertySet;
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XFormattedField
+ ,com::sun::star::lang::XServiceInfo > FormattedFieldBase;
+
+ /** \class OFormattedField Defines the implementation of a \interface com:::sun::star::report::XFormattedField
+ * \ingroup reportdesign_api
+ *
+ */
+ class OFormattedField : public comphelper::OBaseMutex,
+ public FormattedFieldBase,
+ public FormattedFieldPropertySet
+ {
+ friend class OShapeHelper;
+
+ OReportControlModel m_aProps;
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >
+ m_xFormatsSupplier;
+ ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunction> m_xFunction;
+ ::sal_Int32 m_nFormatKey;
+
+ private:
+ OFormattedField(const OFormattedField&);
+ OFormattedField& operator=(const OFormattedField&);
+
+ template <typename T> void set( const ::rtl::OUString& _sProperty
+ ,const T& _Value
+ ,T& _member)
+ {
+ BoundListeners l;
+ {
+ ::osl::MutexGuard aGuard(m_aMutex);
+ if ( _member != _Value )
+ {
+ prepareSet(_sProperty, ::com::sun::star::uno::makeAny(_member), ::com::sun::star::uno::makeAny(_Value), &l);
+ _member = _Value;
+ }
+ }
+ l.notify();
+ }
+ void checkIndex(sal_Int32 _nIndex);
+ protected:
+ virtual ~OFormattedField();
+ public:
+ explicit OFormattedField(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext);
+ explicit OFormattedField(::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);
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ 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::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);
+
+ // XContainer
+ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XIndexReplace
+ virtual void SAL_CALL replaceByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexContainer
+ virtual void SAL_CALL insertByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XReportComponent
+ REPORTCOMPONENT_HEADER()
+
+ // XShape
+ SHAPE_HEADER()
+
+ // XShapeDescriptor
+ virtual ::rtl::OUString SAL_CALL getShapeType( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XReportControlModel
+ REPORTCONTROLMODEL_HEADER()
+
+ // XReportControlFormat
+ REPORTCONTROLFORMAT_HEADER()
+
+ // XCloneable
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XFormattedField
+ virtual ::sal_Int32 SAL_CALL getFormatKey() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setFormatKey(::sal_Int32 the_value) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier > SAL_CALL getFormatsSupplier() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setFormatsSupplier( const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier >& _formatssupplier ) 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);
+ };
+}
+#endif //RPT_FORMATTEDFIELD_HXX
+
diff --git a/reportdesign/source/core/inc/Function.hxx b/reportdesign/source/core/inc/Function.hxx
new file mode 100644
index 000000000000..cd4364ef2659
--- /dev/null
+++ b/reportdesign/source/core/inc/Function.hxx
@@ -0,0 +1,129 @@
+/*************************************************************************
+ *
+ * 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 RPT_FUNCTION_HXX
+#define RPT_FUNCTION_HXX
+
+#include <cppuhelper/propertysetmixin.hxx>
+#ifndef _COM_SUN_STAR_REPORT_XFunction_HPP_
+#include <com/sun/star/report/XFunction.hpp>
+#endif
+#include <cppuhelper/basemutex.hxx>
+#include "ReportControlModel.hxx"
+#include <cppuhelper/compbase2.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+
+namespace reportdesign
+{
+ typedef ::cppu::PropertySetMixin< com::sun::star::report::XFunction > FunctionPropertySet;
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XFunction
+ ,com::sun::star::lang::XServiceInfo > FunctionBase;
+
+ /** \class OFunction Defines the implementation of a \interface com:::sun::star::report::XFunction
+ * \ingroup reportdesign_api
+ *
+ */
+ class OFunction : public cppu::BaseMutex,
+ public FunctionBase,
+ public FunctionPropertySet
+ {
+ com::sun::star::beans::Optional< ::rtl::OUString> m_sInitialFormula;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::report::XFunctions > m_xParent;
+ ::rtl::OUString m_sName;
+ ::rtl::OUString m_sFormula;
+ ::sal_Bool m_bPreEvaluated;
+ ::sal_Bool m_bDeepTraversing;
+ private:
+ OFunction(const OFunction&);
+ OFunction& operator=(const OFunction&);
+
+ 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();
+ }
+ protected:
+ virtual ~OFunction();
+ public:
+ explicit OFunction(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext);
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ 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::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);
+
+ // ::com::sun::star::report::XFunction:
+ virtual ::sal_Bool SAL_CALL getPreEvaluated() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setPreEvaluated(::sal_Bool the_value) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getDeepTraversing() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setDeepTraversing(::sal_Bool the_value) throw (::com::sun::star::uno::RuntimeException);
+ 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);
+ virtual ::rtl::OUString SAL_CALL getFormula() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setFormula(const ::rtl::OUString & the_value) throw (::com::sun::star::uno::RuntimeException);
+ virtual com::sun::star::beans::Optional< ::rtl::OUString> SAL_CALL getInitialFormula() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setInitialFormula(const com::sun::star::beans::Optional< ::rtl::OUString> & the_value) 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);
+ };
+}
+#endif //RPT_FUNCTION_HXX
+
diff --git a/reportdesign/source/core/inc/Functions.hxx b/reportdesign/source/core/inc/Functions.hxx
new file mode 100644
index 000000000000..a6d2e8751a55
--- /dev/null
+++ b/reportdesign/source/core/inc/Functions.hxx
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * 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_FUNCTIONS_HXX
+#define REPORTDESIGN_API_FUNCTIONS_HXX
+
+#include <com/sun/star/report/XFunctions.hpp>
+#include <com/sun/star/report/XFunctionsSupplier.hpp>
+#include <cppuhelper/compbase1.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <list>
+
+
+namespace reportdesign
+{
+ typedef ::cppu::WeakComponentImplHelper1< com::sun::star::report::XFunctions> FunctionsBase;
+ /** \class OFunctions Defines the implementation of a \interface com:::sun::star::report::XFunctions
+ * \ingroup reportdesign_api
+ *
+ */
+ class OFunctions : public comphelper::OBaseMutex,
+ public FunctionsBase
+ {
+ typedef ::std::list< ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunction > > TFunctions;
+ ::cppu::OInterfaceContainerHelper m_aContainerListeners;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::report::XFunctionsSupplier > m_xParent;
+ TFunctions m_aFunctions;
+ private:
+ OFunctions& operator=(const OFunctions&);
+ OFunctions(const OFunctions&);
+ void checkIndex(sal_Int32 _nIndex);
+ protected:
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual ~OFunctions();
+
+ /** this function is called upon disposing the component
+ */
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual void SAL_CALL disposing();
+ public:
+ explicit OFunctions( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctionsSupplier >& _xParent
+ ,const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& context);
+
+ // XFunctions
+ // Methods
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunction > SAL_CALL createFunction( ) throw (::com::sun::star::uno::RuntimeException);
+ // XIndexContainer
+ virtual void SAL_CALL insertByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ // XIndexReplace
+ virtual void SAL_CALL replaceByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+ // 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);
+ // XContainer
+ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) 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);
+ }
+ };
+}
+#endif // REPORTDESIGN_API_FUNCTIONS_HXX
+
diff --git a/reportdesign/source/core/inc/Group.hxx b/reportdesign/source/core/inc/Group.hxx
new file mode 100644
index 000000000000..008435333217
--- /dev/null
+++ b/reportdesign/source/core/inc/Group.hxx
@@ -0,0 +1,163 @@
+/*************************************************************************
+ *
+ * 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_GROUP_HXX
+#define REPORTDESIGN_API_GROUP_HXX
+
+#include <com/sun/star/report/XGroup.hpp>
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <comphelper/sequence.hxx>
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include "GroupProperties.hxx"
+#include <comphelper/uno3.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+
+namespace reportdesign
+{
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XGroup
+ , ::com::sun::star::lang::XServiceInfo> GroupBase;
+ typedef ::cppu::PropertySetMixin< com::sun::star::report::XGroup> GroupPropertySet;
+
+ /** \class OGroup Defines the implementation of a \interface com:::sun::star::report::XGroup
+ * \ingroup reportdesign_api
+ *
+ */
+ class OGroup : public comphelper::OMutexAndBroadcastHelper
+ ,public GroupBase
+ ,public GroupPropertySet
+ {
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::report::XGroups > m_xParent;
+ ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection> m_xHeader;
+ ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection> m_xFooter;
+ ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctions > m_xFunctions;
+ ::rptshared::GroupProperties m_aProps;
+
+ private:
+ OGroup& operator=(const OGroup&);
+ OGroup(const OGroup&);
+
+ template <typename T> void set( const ::rtl::OUString& _sProperty
+ ,const T& _Value
+ ,T& _member)
+ {
+ BoundListeners l;
+ {
+ ::osl::MutexGuard aGuard(m_aMutex);
+ if ( _member != _Value )
+ {
+ prepareSet(_sProperty, ::com::sun::star::uno::makeAny(_member), ::com::sun::star::uno::makeAny(_Value), &l);
+ _member = _Value;
+ }
+ }
+ l.notify();
+ }
+ 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);
+ protected:
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual ~OGroup();
+
+ /** this function is called upon disposing the component
+ */
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual void SAL_CALL disposing();
+ public:
+ OGroup(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroups >& _xParent
+ ,const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& context);
+
+ void copyGroup(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup >& _xSource);
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) 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);
+
+ // XGroup
+ virtual ::sal_Bool SAL_CALL getSortAscending() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setSortAscending( ::sal_Bool _sortascending ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getHeaderOn() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setHeaderOn( ::sal_Bool _headeron ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getFooterOn() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setFooterOn( ::sal_Bool _footeron ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getHeader() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection > SAL_CALL getFooter() throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int16 SAL_CALL getGroupOn() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setGroupOn( ::sal_Int16 _groupon ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getGroupInterval() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setGroupInterval( ::sal_Int32 _groupinterval ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int16 SAL_CALL getKeepTogether() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setKeepTogether( ::sal_Int16 _keeptogether ) throw (::com::sun::star::lang::IllegalArgumentException, ::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 ::rtl::OUString SAL_CALL getExpression() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setExpression( const ::rtl::OUString& _expression ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getStartNewColumn() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setStartNewColumn( ::sal_Bool _startnewcolumn ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getResetPageNumber() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setResetPageNumber( ::sal_Bool _resetpagenumber ) 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);
+
+ // 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);
+
+ // 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);
+ }
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > getContext(){ return m_xContext; }
+ };
+// =============================================================================
+} // namespace reportdesign
+// =============================================================================
+#endif //
diff --git a/reportdesign/source/core/inc/Groups.hxx b/reportdesign/source/core/inc/Groups.hxx
new file mode 100644
index 000000000000..c888fae5926f
--- /dev/null
+++ b/reportdesign/source/core/inc/Groups.hxx
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * 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_GROUPS_HXX
+#define REPORTDESIGN_API_GROUPS_HXX
+
+#include <com/sun/star/report/XGroups.hpp>
+#include <cppuhelper/compbase1.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <list>
+
+
+namespace reportdesign
+{
+ typedef ::cppu::WeakComponentImplHelper1< com::sun::star::report::XGroups> GroupsBase;
+ /** \class OGroups Defines the implementation of a \interface com:::sun::star::report::XGroups
+ * \ingroup reportdesign_api
+ *
+ */
+ class OGroups : public comphelper::OBaseMutex,
+ public GroupsBase
+ {
+ typedef ::std::list< ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup > > TGroups;
+ ::cppu::OInterfaceContainerHelper m_aContainerListeners;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::report::XReportDefinition > m_xParent;
+ TGroups m_aGroups;
+ private:
+ OGroups& operator=(const OGroups&);
+ OGroups(const OGroups&);
+ void checkIndex(sal_Int32 _nIndex);
+ protected:
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual ~OGroups();
+
+ /** this function is called upon disposing the component
+ */
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual void SAL_CALL disposing();
+ public:
+ OGroups( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >& _xParent
+ ,const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& context);
+
+ void copyGroups(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroups >& _xSource);
+
+ // XGroups
+ // Attributes
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition > SAL_CALL getReportDefinition() throw (::com::sun::star::uno::RuntimeException);
+ // Methods
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup > SAL_CALL createGroup( ) throw (::com::sun::star::uno::RuntimeException);
+ // XIndexContainer
+ virtual void SAL_CALL insertByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ // XIndexReplace
+ virtual void SAL_CALL replaceByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+ // 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);
+ // XContainer
+ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) 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);
+ }
+ };
+}
+#endif // REPORTDESIGN_API_GROUPS_HXX
+
diff --git a/reportdesign/source/core/inc/ImageControl.hxx b/reportdesign/source/core/inc/ImageControl.hxx
new file mode 100644
index 000000000000..7dc65804ab48
--- /dev/null
+++ b/reportdesign/source/core/inc/ImageControl.hxx
@@ -0,0 +1,164 @@
+/*************************************************************************
+ *
+ * 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 RPT_IMAGECONTROL_HXX
+#define RPT_IMAGECONTROL_HXX
+
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/report/XImageControl.hpp>
+#include "ReportControlModel.hxx"
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include "ReportHelperDefines.hxx"
+
+namespace reportdesign
+{
+ typedef ::cppu::PropertySetMixin< com::sun::star::report::XImageControl > ImageControlPropertySet;
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XImageControl
+ ,com::sun::star::lang::XServiceInfo > ImageControlBase;
+
+ /** \class OImageControl Defines the implementation of a \interface com:::sun::star::report::XImageControl
+ * \ingroup reportdesign_api
+ *
+ */
+ class OImageControl : public comphelper::OBaseMutex,
+ public ImageControlBase,
+ public ImageControlPropertySet
+ {
+ friend class OShapeHelper;
+ OReportControlModel m_aProps;
+ ::rtl::OUString m_aImageURL;
+ sal_Int16 m_nScaleMode;
+ ::sal_Bool m_bPreserveIRI;
+ private:
+ OImageControl(const OImageControl&);
+ OImageControl& operator=(const OImageControl&);
+
+ 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();
+ }
+ void checkIndex(sal_Int32 _nIndex);
+ protected:
+ virtual ~OImageControl();
+ public:
+ explicit OImageControl(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext);
+ explicit OImageControl(::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);
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ 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::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);
+
+ // XReportComponent
+ REPORTCOMPONENT_HEADER()
+ // XShape
+ SHAPE_HEADER()
+
+ // XShapeDescriptor
+ virtual ::rtl::OUString SAL_CALL getShapeType( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XReportControlModel
+ REPORTCONTROLMODEL_HEADER()
+
+ // XReportControlFormat
+ REPORTCONTROLFORMAT_HEADER()
+
+ // XCloneable
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > SAL_CALL createClone( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XImageControl
+ virtual ::rtl::OUString SAL_CALL getImageURL() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setImageURL( const ::rtl::OUString& _imageurl ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getPreserveIRI() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setPreserveIRI( ::sal_Bool _preserveiri ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int16 SAL_CALL getScaleMode() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setScaleMode( ::sal_Int16 _scalemode ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+
+ // XImageProducerSupplier
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XImageProducer > SAL_CALL getImageProducer( ) 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);
+ // XContainer
+ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XIndexReplace
+ virtual void SAL_CALL replaceByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexContainer
+ virtual void SAL_CALL insertByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ };
+}
+#endif //RPT_IMAGECONTROL_HXX
+
diff --git a/reportdesign/source/core/inc/ReportComponent.hxx b/reportdesign/source/core/inc/ReportComponent.hxx
new file mode 100644
index 000000000000..6ed9496a9f59
--- /dev/null
+++ b/reportdesign/source/core/inc/ReportComponent.hxx
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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 RPT_REPORTCOMPONENT_HXX
+#define RPT_REPORTCOMPONENT_HXX
+
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/container/XChild.hpp>
+#include <com/sun/star/drawing/XShape.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/lang/XTypeProvider.hpp>
+#include <com/sun/star/lang/XUnoTunnel.hpp>
+#include <com/sun/star/uno/XAggregation.hpp>
+#include <com/sun/star/report/XReportComponent.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <cppuhelper/weakref.hxx>
+#include <comphelper/uno3.hxx>
+
+namespace reportdesign
+{
+ class OReportComponentProperties
+ {
+ public:
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::container::XChild > m_xParent;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
+ m_xFactory;
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > m_xShape;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation > m_xProxy;
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xProperty;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XTypeProvider > m_xTypeProvider;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XUnoTunnel > m_xUnoTunnel;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XServiceInfo > m_xServiceInfo;
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aMasterFields;
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aDetailFields;
+ ::rtl::OUString m_sName;
+ ::sal_Int32 m_nHeight;
+ ::sal_Int32 m_nWidth;
+ ::sal_Int32 m_nPosX;
+ ::sal_Int32 m_nPosY;
+ ::sal_Int32 m_nBorderColor;
+ ::sal_Int16 m_nBorder;
+ ::sal_Bool m_bPrintRepeatedValues;
+
+ OReportComponentProperties(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext
+ )
+ :m_xContext(_xContext)
+ ,m_nHeight(0)
+ ,m_nWidth(0)
+ ,m_nPosX(0)
+ ,m_nPosY(0)
+ ,m_nBorderColor(0)
+ ,m_nBorder(2)
+ ,m_bPrintRepeatedValues(sal_True)
+ {}
+ ~OReportComponentProperties();
+
+ void setShape(::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& _xShape
+ ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xTunnel
+ ,oslInterlockedCount& _rRefCount);
+ };
+}
+#endif // RPT_REPORTCOMPONENT_HXX
+
diff --git a/reportdesign/source/core/inc/ReportControlModel.hxx b/reportdesign/source/core/inc/ReportControlModel.hxx
new file mode 100644
index 000000000000..4da5cc9df349
--- /dev/null
+++ b/reportdesign/source/core/inc/ReportControlModel.hxx
@@ -0,0 +1,137 @@
+/*************************************************************************
+ *
+ * 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 RPT_REPORTCONTROLMODEL_HXX
+#define RPT_REPORTCONTROLMODEL_HXX
+
+#include "ReportComponent.hxx"
+#include "com/sun/star/style/VerticalAlignment.hpp"
+#include "com/sun/star/awt/FontDescriptor.hpp"
+#include "com/sun/star/report/XFormatCondition.hpp"
+#include "com/sun/star/container/XContainer.hpp"
+#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
+#include <com/sun/star/lang/Locale.hpp>
+#include <tools/color.hxx>
+#include <comphelper/uno3.hxx>
+#include <cppuhelper/interfacecontainer.h>
+
+
+namespace reportdesign
+{
+ bool operator==( const ::com::sun::star::awt::FontDescriptor& _lhs, const ::com::sun::star::awt::FontDescriptor& _rhs );
+
+ inline bool operator!=( const ::com::sun::star::awt::FontDescriptor& _lhs, const ::com::sun::star::awt::FontDescriptor& _rhs )
+ {
+ return !( _lhs == _rhs );
+ }
+
+ struct OFormatProperties
+ {
+ ::sal_Int16 nAlign;
+ ::com::sun::star::awt::FontDescriptor aFontDescriptor;
+ ::com::sun::star::awt::FontDescriptor aAsianFontDescriptor;
+ ::com::sun::star::awt::FontDescriptor aComplexFontDescriptor;
+ ::com::sun::star::lang::Locale aCharLocale;
+ ::com::sun::star::lang::Locale aCharLocaleAsian;
+ ::com::sun::star::lang::Locale aCharLocaleComplex;
+ ::sal_Int16 nFontEmphasisMark;
+ ::sal_Int16 nFontRelief;
+ ::sal_Int32 nTextColor;
+ ::sal_Int32 nTextLineColor;
+ ::sal_Int32 nCharUnderlineColor;
+ ::sal_Int32 nBackgroundColor;
+ ::rtl::OUString sCharCombinePrefix;
+ ::rtl::OUString sCharCombineSuffix;
+ ::rtl::OUString sHyperLinkURL;
+ ::rtl::OUString sHyperLinkTarget;
+ ::rtl::OUString sHyperLinkName;
+ ::rtl::OUString sVisitedCharStyleName;
+ ::rtl::OUString sUnvisitedCharStyleName;
+ com::sun::star::style::VerticalAlignment aVerticalAlignment;
+ ::sal_Int16 nCharEscapement;
+ ::sal_Int16 nCharCaseMap;
+ ::sal_Int16 nCharKerning;
+ ::sal_Int8 nCharEscapementHeight;
+ ::sal_Bool m_bBackgroundTransparent;
+ ::sal_Bool bCharFlash;
+ ::sal_Bool bCharAutoKerning;
+ ::sal_Bool bCharCombineIsOn;
+ ::sal_Bool bCharHidden;
+ ::sal_Bool bCharShadowed;
+ ::sal_Bool bCharContoured;
+ OFormatProperties();
+ };
+ class OReportControlModel
+ {
+ void checkIndex(sal_Int32 _nIndex);
+ OReportControlModel(OReportControlModel&);
+ void operator =(OReportControlModel&);
+ public:
+ ::cppu::OInterfaceContainerHelper aContainerListeners;
+ OReportComponentProperties aComponent;
+ OFormatProperties aFormatProperties;
+ ::com::sun::star::container::XContainer* m_pOwner;
+ ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::report::XFormatCondition> >
+ m_aFormatConditions;
+ osl::Mutex& m_rMutex;
+ ::rtl::OUString aDataField;
+ ::rtl::OUString aConditionalPrintExpression;
+ sal_Bool bPrintWhenGroupChange;
+
+ OReportControlModel(osl::Mutex& _rMutex
+ ,::com::sun::star::container::XContainer* _pOwner
+ ,::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext)
+ :aContainerListeners(_rMutex)
+ ,aComponent(_xContext)
+ ,m_pOwner(_pOwner)
+ ,m_rMutex(_rMutex)
+ ,bPrintWhenGroupChange(sal_False)
+ {}
+
+ // XContainer
+ void addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ void removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess
+ ::sal_Bool hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XIndexReplace
+ void replaceByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexContainer
+ void insertByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ void removeByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexAccess
+ ::sal_Int32 getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ ::com::sun::star::uno::Any getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ static bool isInterfaceForbidden(const ::com::sun::star::uno::Type& _rType);
+ };
+}
+#endif // RPT_REPORTCONTROLMODEL_HXX
+
diff --git a/reportdesign/source/core/inc/ReportDrawPage.hxx b/reportdesign/source/core/inc/ReportDrawPage.hxx
new file mode 100644
index 000000000000..87f34c0f1065
--- /dev/null
+++ b/reportdesign/source/core/inc/ReportDrawPage.hxx
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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 REPORTDRAWPAGE_HXX_INCLUDED
+#define REPORTDRAWPAGE_HXX_INCLUDED
+
+#include <svx/unopage.hxx>
+#include <com/sun/star/report/XSection.hpp>
+
+namespace reportdesign
+{
+ class OReportDrawPage : public SvxDrawPage
+ {
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::report::XSection > m_xSection;
+ OReportDrawPage(const OReportDrawPage&);
+ void operator =(const OReportDrawPage&);
+ protected:
+ virtual SdrObject *_CreateSdrObject( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > & xShape )throw ();
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > _CreateShape( SdrObject *pObj ) const throw ();
+ public:
+ OReportDrawPage(SdrPage* pPage,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection >& _xSection);
+ virtual ~OReportDrawPage() throw(){}
+ };
+}
+#endif //REPORTDRAWPAGE_HXX_INCLUDED
+
diff --git a/reportdesign/source/core/inc/ReportEngineJFree.hxx b/reportdesign/source/core/inc/ReportEngineJFree.hxx
new file mode 100644
index 000000000000..1a53f24f2d7c
--- /dev/null
+++ b/reportdesign/source/core/inc/ReportEngineJFree.hxx
@@ -0,0 +1,138 @@
+/*************************************************************************
+ *
+ * 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_REPORTENGINEJFREE_HXX
+#define REPORTDESIGN_API_REPORTENGINEJFREE_HXX
+
+#include <com/sun/star/report/XReportEngine.hpp>
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <comphelper/uno3.hxx>
+#include <comphelper/types.hxx>
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/sdbc/XRowSet.hpp>
+#include <comphelper/stl_types.hxx>
+#include <comphelper/implementationreference.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+
+namespace reportdesign
+{
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XReportEngine
+ ,com::sun::star::lang::XServiceInfo> ReportEngineBase;
+ typedef ::cppu::PropertySetMixin<com::sun::star::report::XReportEngine> ReportEnginePropertySet;
+
+ class OReportEngineJFree : public comphelper::OMutexAndBroadcastHelper,
+ public ReportEngineBase,
+ public ReportEnginePropertySet
+ {
+ typedef ::std::multimap< ::rtl::OUString, ::com::sun::star::uno::Any , ::comphelper::UStringMixLess> TComponentMap;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
+ ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition > m_xReport;
+ ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator> m_StatusIndicator;
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > m_xActiveConnection;
+ ::sal_Int32 m_nMaxRows;
+ private:
+ OReportEngineJFree(const OReportEngineJFree&);
+ OReportEngineJFree& operator=(const OReportEngineJFree&);
+ 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();
+ }
+
+ /** returns the file url for a new model
+ *
+ * \return The new file url.
+ */
+ ::rtl::OUString getNewOutputName();
+
+ protected:
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual ~OReportEngineJFree();
+ public:
+ typedef ::comphelper::ImplementationReference< OReportEngineJFree ,::com::sun::star::report::XReportEngine,::com::sun::star::uno::XWeak > TReportEngine;
+
+ OReportEngineJFree(const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& context);
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ 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);
+ private:
+ // 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);
+
+ // XReportEngine
+ // Attributes
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition > SAL_CALL getReportDefinition() throw (::com::sun::star::uno::RuntimeException) ;
+ virtual void SAL_CALL setReportDefinition( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >& _reportdefinition ) throw (::com::sun::star::lang::IllegalArgumentException, ::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 ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator > SAL_CALL getStatusIndicator() throw (::com::sun::star::uno::RuntimeException) ;
+ virtual void SAL_CALL setStatusIndicator( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator >& _statusindicator ) throw (::com::sun::star::uno::RuntimeException) ;
+ virtual ::sal_Int32 SAL_CALL getMaxRows() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setMaxRows( ::sal_Int32 _MaxRows ) throw (::com::sun::star::uno::RuntimeException);
+ // Methods
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > SAL_CALL createDocumentModel( ) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) ;
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > SAL_CALL createDocumentAlive( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _frame ) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) ;
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > SAL_CALL createDocumentAlive( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _frame ,bool _bHidden) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) ;
+ virtual ::com::sun::star::util::URL SAL_CALL createDocument( ) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) ;
+ virtual void SAL_CALL interrupt( ) throw (::com::sun::star::lang::DisposedException, ::com::sun::star::uno::Exception, ::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);
+ }
+ };
+}
+#endif //REPORTDESIGN_API_REPORTENGINEJFREE_HXX
diff --git a/reportdesign/source/core/inc/ReportHelperImpl.hxx b/reportdesign/source/core/inc/ReportHelperImpl.hxx
new file mode 100644
index 000000000000..d0eb2490dbbd
--- /dev/null
+++ b/reportdesign/source/core/inc/ReportHelperImpl.hxx
@@ -0,0 +1,1291 @@
+/*************************************************************************
+ *
+ * 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_REPORTHELPERIMPL_HXX
+#define INCLUDED_REPORTHELPERIMPL_HXX
+// ::com::sun::star::report::XReportComponent:
+#define REPORTCOMPONENT_IMPL3(clazz,arg) \
+::rtl::OUString SAL_CALL clazz::getName() throw (uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return (arg).m_sName; \
+} \
+void SAL_CALL clazz::setName( const ::rtl::OUString& _name ) throw (uno::RuntimeException,beans::PropertyVetoException) \
+{ \
+ set(PROPERTY_NAME,_name,(arg).m_sName); \
+} \
+::sal_Int32 SAL_CALL clazz::getHeight() throw (uno::RuntimeException) \
+{ \
+ return getSize().Height; \
+} \
+void SAL_CALL clazz::setHeight( ::sal_Int32 _height ) throw (uno::RuntimeException) \
+{ \
+ awt::Size aSize = getSize(); \
+ aSize.Height = _height; \
+ setSize(aSize); \
+} \
+::sal_Int32 SAL_CALL clazz::getPositionX() throw (uno::RuntimeException) \
+{ \
+ return getPosition().X; \
+} \
+void SAL_CALL clazz::setPositionX( ::sal_Int32 _positionx ) throw (uno::RuntimeException) \
+{ \
+ awt::Point aPos = getPosition(); \
+ aPos.X = _positionx; \
+ setPosition(aPos); \
+} \
+::sal_Int32 SAL_CALL clazz::getPositionY() throw (uno::RuntimeException) \
+{ \
+ return getPosition().Y; \
+} \
+void SAL_CALL clazz::setPositionY( ::sal_Int32 _positiony ) throw (uno::RuntimeException) \
+{ \
+ awt::Point aPos = getPosition(); \
+ aPos.Y = _positiony; \
+ setPosition(aPos); \
+} \
+::sal_Int32 SAL_CALL clazz::getWidth() throw (uno::RuntimeException) \
+{ \
+ return getSize().Width; \
+} \
+void SAL_CALL clazz::setWidth( ::sal_Int32 _width ) throw (uno::RuntimeException) \
+{ \
+ awt::Size aSize = getSize(); \
+ aSize.Width = _width; \
+ setSize(aSize); \
+} \
+uno::Reference< report::XSection > SAL_CALL clazz::getSection() throw (uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ uno::Reference< container::XChild > xParent(getParent( ),uno::UNO_QUERY); \
+ return lcl_getSection(xParent); \
+}
+
+#define REPORTCOMPONENT_IMPL(clazz,arg) \
+REPORTCOMPONENT_IMPL3(clazz,arg)\
+::sal_Bool SAL_CALL clazz::getPrintRepeatedValues() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return (arg).m_bPrintRepeatedValues; \
+} \
+void SAL_CALL clazz::setPrintRepeatedValues( ::sal_Bool _printrepeatedvalues ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_PRINTREPEATEDVALUES,_printrepeatedvalues,(arg).m_bPrintRepeatedValues); \
+}
+
+#define REPORTCOMPONENT_IMPL2(clazz,arg) \
+::sal_Int16 SAL_CALL clazz::getControlBorder() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return (arg).m_nBorder; \
+} \
+void SAL_CALL clazz::setControlBorder( ::sal_Int16 _border ) throw (uno::RuntimeException,lang::IllegalArgumentException,beans::UnknownPropertyException)\
+{ \
+ set(PROPERTY_CONTROLBORDER,_border,(arg).m_nBorder); \
+} \
+::sal_Int32 SAL_CALL clazz::getControlBorderColor() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return (arg).m_nBorderColor; \
+} \
+void SAL_CALL clazz::setControlBorderColor( ::sal_Int32 _bordercolor ) throw (uno::RuntimeException, lang::IllegalArgumentException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CONTROLBORDERCOLOR,_bordercolor,(arg).m_nBorderColor); \
+}
+
+#define REPORTCOMPONENT_MASTERDETAIL(clazz,arg) \
+::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL clazz::getMasterFields() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return (arg).m_aMasterFields; \
+} \
+void SAL_CALL clazz::setMasterFields( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _masterfields ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ set(PROPERTY_MASTERFIELDS,_masterfields,(arg).m_aMasterFields); \
+} \
+::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL clazz::getDetailFields() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return (arg).m_aDetailFields; \
+} \
+void SAL_CALL clazz::setDetailFields( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _detailfields ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ set(PROPERTY_DETAILFIELDS,_detailfields,(arg).m_aDetailFields); \
+}
+
+#define REPORTCOMPONENT_NOMASTERDETAIL(clazz) \
+::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL clazz::getMasterFields() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException) \
+{ \
+ throw ::com::sun::star::beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setMasterFields( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ throw ::com::sun::star::beans::UnknownPropertyException();\
+} \
+::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL clazz::getDetailFields() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ throw ::com::sun::star::beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setDetailFields( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ throw ::com::sun::star::beans::UnknownPropertyException();\
+}
+
+// ::com::sun::star::report::XReportControlFormat:
+#define REPORTCONTROLFORMAT_IMPL1(clazz,varName) \
+::sal_Int32 SAL_CALL clazz::getControlBackground() throw (::com::sun::star::beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.m_bBackgroundTransparent ? COL_TRANSPARENT : varName.nBackgroundColor; \
+} \
+ \
+void SAL_CALL clazz::setControlBackground( ::sal_Int32 _backgroundcolor ) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ sal_Bool bTransparent = _backgroundcolor == static_cast<sal_Int32>(COL_TRANSPARENT);\
+ setControlBackgroundTransparent(bTransparent);\
+ if ( !bTransparent )\
+ set(PROPERTY_CONTROLBACKGROUND,_backgroundcolor,varName.nBackgroundColor);\
+} \
+ \
+::sal_Bool SAL_CALL clazz::getControlBackgroundTransparent() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.m_bBackgroundTransparent; \
+} \
+ \
+void SAL_CALL clazz::setControlBackgroundTransparent( ::sal_Bool _controlbackgroundtransparent ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CONTROLBACKGROUNDTRANSPARENT,_controlbackgroundtransparent,varName.m_bBackgroundTransparent);\
+ if ( _controlbackgroundtransparent )\
+ set(PROPERTY_CONTROLBACKGROUND,static_cast<sal_Int32>(COL_TRANSPARENT),varName.nBackgroundColor);\
+}
+
+#define REPORTCONTROLFORMAT_IMPL2(clazz,varName) \
+::sal_Int16 SAL_CALL clazz::getCharStrikeout() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.Strikeout; \
+} \
+ \
+void SAL_CALL clazz::setCharStrikeout(::sal_Int16 the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARSTRIKEOUT,the_value,varName.aFontDescriptor.Strikeout); \
+} \
+ \
+::sal_Bool SAL_CALL clazz::getCharWordMode() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.WordLineMode; \
+} \
+ \
+void SAL_CALL clazz::setCharWordMode(::sal_Bool the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARWORDMODE,the_value,varName.aFontDescriptor.WordLineMode); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getCharRotation() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return static_cast<sal_Int16>(varName.aFontDescriptor.Orientation); \
+} \
+ \
+void SAL_CALL clazz::setCharRotation(::sal_Int16 the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ float newValue = the_value; \
+ set(PROPERTY_CHARROTATION,newValue,varName.aFontDescriptor.Orientation); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getCharScaleWidth() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return static_cast<sal_Int16>(varName.aFontDescriptor.CharacterWidth); \
+} \
+ \
+void SAL_CALL clazz::setCharScaleWidth(::sal_Int16 the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ float newValue = the_value; \
+ set(PROPERTY_CHARSCALEWIDTH,newValue,varName.aFontDescriptor.CharacterWidth); \
+} \
+sal_Int16 SAL_CALL clazz::getParaAdjust() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nAlign; \
+} \
+ \
+void SAL_CALL clazz::setParaAdjust( sal_Int16 _align ) throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_PARAADJUST,_align,varName.nAlign); \
+} \
+ \
+awt::FontDescriptor SAL_CALL clazz::getFontDescriptor() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor; \
+} \
+ \
+void SAL_CALL clazz::setFontDescriptor( const awt::FontDescriptor& _fontdescriptor ) throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_FONTDESCRIPTOR,_fontdescriptor,varName.aFontDescriptor); \
+} \
+awt::FontDescriptor SAL_CALL clazz::getFontDescriptorAsian() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor; \
+} \
+ \
+void SAL_CALL clazz::setFontDescriptorAsian( const awt::FontDescriptor& _fontdescriptor ) throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_FONTDESCRIPTORASIAN,_fontdescriptor,varName.aAsianFontDescriptor); \
+} \
+awt::FontDescriptor SAL_CALL clazz::getFontDescriptorComplex() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor; \
+} \
+ \
+void SAL_CALL clazz::setFontDescriptorComplex( const awt::FontDescriptor& _fontdescriptor ) throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_FONTDESCRIPTORCOMPLEX,_fontdescriptor,varName.aComplexFontDescriptor); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getControlTextEmphasis() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nFontEmphasisMark; \
+} \
+ \
+void SAL_CALL clazz::setControlTextEmphasis( ::sal_Int16 _fontemphasismark ) throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_CONTROLTEXTEMPHASISMARK,_fontemphasismark,varName.nFontEmphasisMark); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getCharRelief() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nFontRelief; \
+} \
+ \
+void SAL_CALL clazz::setCharRelief( ::sal_Int16 _fontrelief ) throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARRELIEF,_fontrelief,varName.nFontRelief); \
+} \
+ \
+::sal_Int32 SAL_CALL clazz::getCharColor() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nTextColor; \
+} \
+ \
+void SAL_CALL clazz::setCharColor( ::sal_Int32 _textcolor ) throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARCOLOR,_textcolor,varName.nTextColor); \
+} \
+ \
+::sal_Int32 SAL_CALL clazz::getCharUnderlineColor() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nTextLineColor; \
+} \
+ \
+void SAL_CALL clazz::setCharUnderlineColor( ::sal_Int32 _textlinecolor ) throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARUNDERLINECOLOR,_textlinecolor,varName.nTextLineColor); \
+} \
+ \
+style::VerticalAlignment SAL_CALL clazz::getVerticalAlign() throw (beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aVerticalAlignment; \
+} \
+ \
+void SAL_CALL clazz::setVerticalAlign( style::VerticalAlignment _verticalalign ) throw (lang::IllegalArgumentException,beans::UnknownPropertyException,uno::RuntimeException) \
+{ \
+ set(PROPERTY_VERTICALALIGN,_verticalalign,varName.aVerticalAlignment); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getCharEmphasis() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ return getControlTextEmphasis(); \
+} \
+ \
+void SAL_CALL clazz::setCharEmphasis( ::sal_Int16 _charemphasis ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHAREMPHASIS,_charemphasis,varName.nFontEmphasisMark); \
+} \
+ \
+::rtl::OUString SAL_CALL clazz::getCharFontName() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.Name; \
+} \
+ \
+void SAL_CALL clazz::setCharFontName( const ::rtl::OUString& _charfontname ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARFONTNAME,_charfontname,varName.aFontDescriptor.Name); \
+} \
+ \
+::rtl::OUString SAL_CALL clazz::getCharFontStyleName() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.StyleName; \
+} \
+ \
+void SAL_CALL clazz::setCharFontStyleName( const ::rtl::OUString& _charfontstylename ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARFONTSTYLENAME,_charfontstylename,varName.aFontDescriptor.StyleName); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getCharFontFamily() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.Family; \
+} \
+ \
+void SAL_CALL clazz::setCharFontFamily( ::sal_Int16 _charfontfamily ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARFONTFAMILY,_charfontfamily,varName.aFontDescriptor.Family); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getCharFontCharSet() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.CharSet; \
+} \
+ \
+void SAL_CALL clazz::setCharFontCharSet( ::sal_Int16 _charfontcharset ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARFONTCHARSET,_charfontcharset,varName.aFontDescriptor.CharSet); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getCharFontPitch() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.Pitch; \
+} \
+ \
+void SAL_CALL clazz::setCharFontPitch( ::sal_Int16 _charfontpitch ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARFONTPITCH,_charfontpitch,varName.aFontDescriptor.Pitch); \
+} \
+ \
+float SAL_CALL clazz::getCharHeight() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.Height; \
+} \
+ \
+void SAL_CALL clazz::setCharHeight( float _charheight ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARHEIGHT,static_cast<sal_Int16>(_charheight),varName.aFontDescriptor.Height); \
+} \
+ \
+::sal_Int16 SAL_CALL clazz::getCharUnderline() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.Underline; \
+} \
+ \
+void SAL_CALL clazz::setCharUnderline( ::sal_Int16 _charunderline ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARUNDERLINE,_charunderline,varName.aFontDescriptor.Underline); \
+} \
+ \
+float SAL_CALL clazz::getCharWeight() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.Weight; \
+} \
+ \
+void SAL_CALL clazz::setCharWeight( float _charweight ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARWEIGHT,_charweight,varName.aFontDescriptor.Weight); \
+} \
+ \
+awt::FontSlant SAL_CALL clazz::getCharPosture() throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aFontDescriptor.Slant; \
+} \
+ \
+void SAL_CALL clazz::setCharPosture( awt::FontSlant _charposture ) throw (beans::UnknownPropertyException, uno::RuntimeException) \
+{ \
+ set(PROPERTY_CHARPOSTURE,_charposture,varName.aFontDescriptor.Slant); \
+}\
+::sal_Bool SAL_CALL clazz::getCharFlash() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.bCharFlash; \
+} \
+void SAL_CALL clazz::setCharFlash(::sal_Bool the_value) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ set(PROPERTY_CHARFLASH,the_value,varName.bCharFlash); \
+}\
+::sal_Bool SAL_CALL clazz::getCharAutoKerning() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.bCharAutoKerning; \
+} \
+void SAL_CALL clazz::setCharAutoKerning(::sal_Bool the_value) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ set(PROPERTY_CHARAUTOKERNING,the_value,varName.bCharAutoKerning); \
+}\
+::sal_Int8 SAL_CALL clazz::getCharEscapementHeight() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nCharEscapementHeight; \
+} \
+void SAL_CALL clazz::setCharEscapementHeight(::sal_Int8 the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARESCAPEMENTHEIGHT,the_value,varName.nCharEscapementHeight); \
+}\
+lang::Locale SAL_CALL clazz::getCharLocale() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aCharLocale; \
+} \
+void SAL_CALL clazz::setCharLocale(const lang::Locale & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ BoundListeners l; \
+ { \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ if ( varName.aCharLocale.Language != the_value.Language \
+ || varName.aCharLocale.Country != the_value.Country \
+ || varName.aCharLocale.Variant != the_value.Variant ) \
+ { \
+ prepareSet(PROPERTY_CHARLOCALE, ::com::sun::star::uno::makeAny(varName.aCharLocale), ::com::sun::star::uno::makeAny(the_value), &l); \
+ varName.aCharLocale = the_value; \
+ } \
+ } \
+ l.notify(); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharEscapement() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nCharEscapement; \
+} \
+void SAL_CALL clazz::setCharEscapement(::sal_Int16 the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARESCAPEMENT,the_value,varName.nCharEscapement); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharCaseMap() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nCharCaseMap; \
+} \
+void SAL_CALL clazz::setCharCaseMap(::sal_Int16 the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARCASEMAP,the_value,varName.nCharCaseMap); \
+}\
+::sal_Bool SAL_CALL clazz::getCharCombineIsOn() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.bCharCombineIsOn; \
+} \
+void SAL_CALL clazz::setCharCombineIsOn(::sal_Bool the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARCOMBINEISON,the_value,varName.bCharCombineIsOn); \
+}\
+::rtl::OUString SAL_CALL clazz::getCharCombinePrefix() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.sCharCombinePrefix; \
+} \
+void SAL_CALL clazz::setCharCombinePrefix(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARCOMBINEPREFIX,the_value,varName.sCharCombinePrefix); \
+}\
+::rtl::OUString SAL_CALL clazz::getCharCombineSuffix() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.sCharCombineSuffix; \
+} \
+void SAL_CALL clazz::setCharCombineSuffix(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARCOMBINESUFFIX,the_value,varName.sCharCombineSuffix); \
+}\
+::sal_Bool SAL_CALL clazz::getCharHidden() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.bCharHidden; \
+} \
+void SAL_CALL clazz::setCharHidden(::sal_Bool the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARHIDDEN,the_value,varName.bCharHidden); \
+}\
+::sal_Bool SAL_CALL clazz::getCharShadowed() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.bCharShadowed; \
+} \
+void SAL_CALL clazz::setCharShadowed(::sal_Bool the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARSHADOWED,the_value,varName.bCharShadowed); \
+}\
+::sal_Bool SAL_CALL clazz::getCharContoured() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.bCharContoured; \
+} \
+void SAL_CALL clazz::setCharContoured(::sal_Bool the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_CHARCONTOURED,the_value,varName.bCharContoured); \
+}\
+::rtl::OUString SAL_CALL clazz::getHyperLinkURL() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.sHyperLinkURL; \
+} \
+void SAL_CALL clazz::setHyperLinkURL(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_HYPERLINKURL,the_value,varName.sHyperLinkURL); \
+}\
+::rtl::OUString SAL_CALL clazz::getHyperLinkTarget() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.sHyperLinkTarget; \
+} \
+void SAL_CALL clazz::setHyperLinkTarget(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_HYPERLINKTARGET,the_value,varName.sHyperLinkTarget); \
+}\
+::rtl::OUString SAL_CALL clazz::getHyperLinkName() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.sHyperLinkName; \
+} \
+void SAL_CALL clazz::setHyperLinkName(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_HYPERLINKNAME,the_value,varName.sHyperLinkName); \
+}\
+::rtl::OUString SAL_CALL clazz::getVisitedCharStyleName() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.sVisitedCharStyleName; \
+} \
+void SAL_CALL clazz::setVisitedCharStyleName(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_VISITEDCHARSTYLENAME,the_value,varName.sVisitedCharStyleName); \
+}\
+::rtl::OUString SAL_CALL clazz::getUnvisitedCharStyleName() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.sUnvisitedCharStyleName; \
+} \
+void SAL_CALL clazz::setUnvisitedCharStyleName(const ::rtl::OUString & the_value) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ set(PROPERTY_UNVISITEDCHARSTYLENAME,the_value,varName.sUnvisitedCharStyleName); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharKerning() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.nCharKerning; \
+}\
+void SAL_CALL clazz::setCharKerning(::sal_Int16 the_value) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ set(PROPERTY_CHARKERNING,the_value,varName.nCharKerning); \
+}\
+float SAL_CALL clazz::getCharHeightAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ { \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor.Height; \
+}\
+void SAL_CALL clazz::setCharHeightAsian( float the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARHEIGHTASIAN,static_cast<sal_Int16>(the_value),varName.aAsianFontDescriptor.Height); \
+}\
+float SAL_CALL clazz::getCharWeightAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ { \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor.Weight; \
+}\
+void SAL_CALL clazz::setCharWeightAsian( float the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARWEIGHTASIAN,the_value,varName.aAsianFontDescriptor.Weight); \
+}\
+::rtl::OUString SAL_CALL clazz::getCharFontNameAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor.Name; \
+}\
+void SAL_CALL clazz::setCharFontNameAsian( const ::rtl::OUString& the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTNAMEASIAN,the_value,varName.aAsianFontDescriptor.Name); \
+}\
+::rtl::OUString SAL_CALL clazz::getCharFontStyleNameAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor.StyleName; \
+}\
+void SAL_CALL clazz::setCharFontStyleNameAsian( const ::rtl::OUString& the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTSTYLENAMEASIAN,the_value,varName.aAsianFontDescriptor.StyleName); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharFontFamilyAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor.Family; \
+}\
+void SAL_CALL clazz::setCharFontFamilyAsian( ::sal_Int16 the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTFAMILYASIAN,the_value,varName.aAsianFontDescriptor.Family); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharFontCharSetAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor.CharSet; \
+}\
+void SAL_CALL clazz::setCharFontCharSetAsian( ::sal_Int16 the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTCHARSETASIAN,the_value,varName.aAsianFontDescriptor.CharSet); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharFontPitchAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor.Pitch; \
+}\
+void SAL_CALL clazz::setCharFontPitchAsian( ::sal_Int16 the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTPITCHASIAN,the_value,varName.aAsianFontDescriptor.Pitch); \
+}\
+::com::sun::star::awt::FontSlant SAL_CALL clazz::getCharPostureAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aAsianFontDescriptor.Slant; \
+}\
+void SAL_CALL clazz::setCharPostureAsian( ::com::sun::star::awt::FontSlant the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARPOSTUREASIAN,the_value,varName.aAsianFontDescriptor.Slant); \
+}\
+::com::sun::star::lang::Locale SAL_CALL clazz::getCharLocaleAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aCharLocaleAsian; \
+}\
+void SAL_CALL clazz::setCharLocaleAsian( const ::com::sun::star::lang::Locale& the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ BoundListeners l; \
+ { \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ if ( varName.aCharLocaleAsian.Language != the_value.Language \
+ || varName.aCharLocaleAsian.Country != the_value.Country \
+ || varName.aCharLocaleAsian.Variant != the_value.Variant ) \
+ { \
+ prepareSet(PROPERTY_CHARLOCALEASIAN, ::com::sun::star::uno::makeAny(varName.aCharLocaleAsian), ::com::sun::star::uno::makeAny(the_value), &l); \
+ varName.aCharLocaleAsian = the_value; \
+ } \
+ } \
+ l.notify(); \
+}\
+float SAL_CALL clazz::getCharHeightComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor.Height; \
+}\
+void SAL_CALL clazz::setCharHeightComplex( float the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARHEIGHTCOMPLEX,static_cast<sal_Int16>(the_value),varName.aComplexFontDescriptor.Height); \
+}\
+float SAL_CALL clazz::getCharWeightComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor.Weight; \
+}\
+void SAL_CALL clazz::setCharWeightComplex( float the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARWEIGHTCOMPLEX,the_value,varName.aComplexFontDescriptor.Weight); \
+}\
+::rtl::OUString SAL_CALL clazz::getCharFontNameComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor.Name; \
+}\
+void SAL_CALL clazz::setCharFontNameComplex( const ::rtl::OUString& the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTNAMECOMPLEX,the_value,varName.aComplexFontDescriptor.Name); \
+}\
+::rtl::OUString SAL_CALL clazz::getCharFontStyleNameComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor.StyleName; \
+}\
+void SAL_CALL clazz::setCharFontStyleNameComplex( const ::rtl::OUString& the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTSTYLENAMECOMPLEX,the_value,varName.aComplexFontDescriptor.StyleName); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharFontFamilyComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor.Family; \
+}\
+void SAL_CALL clazz::setCharFontFamilyComplex( ::sal_Int16 the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTFAMILYCOMPLEX,the_value,varName.aComplexFontDescriptor.Family); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharFontCharSetComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor.CharSet; \
+}\
+void SAL_CALL clazz::setCharFontCharSetComplex( ::sal_Int16 the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTCHARSETCOMPLEX,the_value,varName.aComplexFontDescriptor.CharSet); \
+}\
+::sal_Int16 SAL_CALL clazz::getCharFontPitchComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor.Pitch; \
+}\
+void SAL_CALL clazz::setCharFontPitchComplex( ::sal_Int16 the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARFONTPITCHCOMPLEX,the_value,varName.aComplexFontDescriptor.Pitch); \
+}\
+::com::sun::star::awt::FontSlant SAL_CALL clazz::getCharPostureComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aComplexFontDescriptor.Slant; \
+}\
+void SAL_CALL clazz::setCharPostureComplex( ::com::sun::star::awt::FontSlant the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ set(PROPERTY_CHARPOSTURECOMPLEX,the_value,varName.aComplexFontDescriptor.Slant); \
+}\
+::com::sun::star::lang::Locale SAL_CALL clazz::getCharLocaleComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ return varName.aCharLocaleComplex; \
+}\
+void SAL_CALL clazz::setCharLocaleComplex( const ::com::sun::star::lang::Locale& the_value ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+{ \
+ BoundListeners l; \
+ { \
+ ::osl::MutexGuard aGuard(m_aMutex); \
+ if ( varName.aCharLocaleComplex.Language != the_value.Language \
+ || varName.aCharLocaleComplex.Country != the_value.Country \
+ || varName.aCharLocaleComplex.Variant != the_value.Variant ) \
+ { \
+ prepareSet(PROPERTY_CHARLOCALECOMPLEX, ::com::sun::star::uno::makeAny(varName.aCharLocaleComplex), ::com::sun::star::uno::makeAny(the_value), &l); \
+ varName.aCharLocaleComplex = the_value; \
+ } \
+ } \
+ l.notify(); \
+}\
+
+
+#define NO_REPORTCONTROLFORMAT_IMPL(clazz) \
+sal_Int16 SAL_CALL clazz::getParaAdjust() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+void SAL_CALL clazz::setParaAdjust(sal_Int16 /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Int16 SAL_CALL clazz::getCharStrikeout() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+void SAL_CALL clazz::setCharStrikeout(::sal_Int16 /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Bool SAL_CALL clazz::getCharWordMode() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+void SAL_CALL clazz::setCharWordMode(::sal_Bool /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Int16 SAL_CALL clazz::getCharRotation() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+void SAL_CALL clazz::setCharRotation(::sal_Int16 /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Int16 SAL_CALL clazz::getCharScaleWidth() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+void SAL_CALL clazz::setCharScaleWidth(::sal_Int16 /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Bool SAL_CALL clazz::getCharFlash() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharFlash(::sal_Bool /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Bool SAL_CALL clazz::getCharAutoKerning() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharAutoKerning(::sal_Bool /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Int8 SAL_CALL clazz::getCharEscapementHeight() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharEscapementHeight(::sal_Int8 /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+lang::Locale SAL_CALL clazz::getCharLocale() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharLocale(const lang::Locale & /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Int16 SAL_CALL clazz::getCharEscapement() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharEscapement(::sal_Int16 /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Int16 SAL_CALL clazz::getCharCaseMap() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharCaseMap(::sal_Int16 /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Bool SAL_CALL clazz::getCharCombineIsOn() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharCombineIsOn(::sal_Bool /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::rtl::OUString SAL_CALL clazz::getCharCombinePrefix() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharCombinePrefix(const ::rtl::OUString & /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::rtl::OUString SAL_CALL clazz::getCharCombineSuffix() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharCombineSuffix(const ::rtl::OUString & /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Bool SAL_CALL clazz::getCharHidden() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharHidden(::sal_Bool /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Bool SAL_CALL clazz::getCharShadowed() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharShadowed(::sal_Bool /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Bool SAL_CALL clazz::getCharContoured() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setCharContoured(::sal_Bool /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::rtl::OUString SAL_CALL clazz::getVisitedCharStyleName() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setVisitedCharStyleName(const ::rtl::OUString & /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::rtl::OUString SAL_CALL clazz::getUnvisitedCharStyleName() throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+} \
+void SAL_CALL clazz::setUnvisitedCharStyleName(const ::rtl::OUString & /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException) \
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+::sal_Int16 SAL_CALL clazz::getCharKerning() throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+void SAL_CALL clazz::setCharKerning(::sal_Int16 /*the_value*/) throw (uno::RuntimeException, beans::UnknownPropertyException)\
+{ \
+ throw beans::UnknownPropertyException();\
+}\
+\
+awt::FontDescriptor SAL_CALL clazz::getFontDescriptor() throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setFontDescriptor( const awt::FontDescriptor& /*_fontdescriptor*/ ) throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+awt::FontDescriptor SAL_CALL clazz::getFontDescriptorAsian() throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setFontDescriptorAsian( const awt::FontDescriptor& /*_fontdescriptor*/ ) throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+awt::FontDescriptor SAL_CALL clazz::getFontDescriptorComplex() throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setFontDescriptorComplex( const awt::FontDescriptor& /*_fontdescriptor*/ ) throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+throw beans::UnknownPropertyException();\
+}\
+\
+::sal_Int16 SAL_CALL clazz::getControlTextEmphasis() throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setControlTextEmphasis( ::sal_Int16 /*_fontemphasismark*/ ) throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::sal_Int16 SAL_CALL clazz::getCharRelief() throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharRelief( ::sal_Int16 /*_fontrelief*/ ) throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::sal_Int32 SAL_CALL clazz::getCharColor() throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharColor( ::sal_Int32 /*_textcolor*/ ) throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::sal_Int32 SAL_CALL clazz::getCharUnderlineColor() throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharUnderlineColor( ::sal_Int32 /*_textlinecolor*/ ) throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+style::VerticalAlignment SAL_CALL clazz::getVerticalAlign() throw (beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ ::osl::MutexGuard aGuard(m_aMutex);\
+ return m_aProps.aFormatProperties.aVerticalAlignment;\
+}\
+\
+void SAL_CALL clazz::setVerticalAlign( style::VerticalAlignment _verticalalign ) throw (lang::IllegalArgumentException,beans::UnknownPropertyException,uno::RuntimeException)\
+{\
+ set(PROPERTY_VERTICALALIGN,_verticalalign,m_aProps.aFormatProperties.aVerticalAlignment);\
+}\
+\
+::sal_Int16 SAL_CALL clazz::getCharEmphasis() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharEmphasis( ::sal_Int16 /*_charemphasis*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::rtl::OUString SAL_CALL clazz::getCharFontName() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharFontName( const ::rtl::OUString& /*_charfontname*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::rtl::OUString SAL_CALL clazz::getCharFontStyleName() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharFontStyleName( const ::rtl::OUString& /*_charfontstylename*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::sal_Int16 SAL_CALL clazz::getCharFontFamily() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharFontFamily( ::sal_Int16 /*_charfontfamily*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::sal_Int16 SAL_CALL clazz::getCharFontCharSet() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharFontCharSet( ::sal_Int16 /*_charfontcharset*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::sal_Int16 SAL_CALL clazz::getCharFontPitch() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharFontPitch( ::sal_Int16 /*_charfontpitch*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+float SAL_CALL clazz::getCharHeight() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharHeight( float /*_charheight*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+::sal_Int16 SAL_CALL clazz::getCharUnderline() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharUnderline( ::sal_Int16 /*_charunderline*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+float SAL_CALL clazz::getCharWeight() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharWeight( float /*_charweight*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+awt::FontSlant SAL_CALL clazz::getCharPosture() throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+\
+void SAL_CALL clazz::setCharPosture( awt::FontSlant /*_charposture*/ ) throw (beans::UnknownPropertyException, uno::RuntimeException)\
+{\
+ throw beans::UnknownPropertyException();\
+}\
+ float SAL_CALL clazz::getCharHeightAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharHeightAsian( float ) throw (beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ float SAL_CALL clazz::getCharWeightAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharWeightAsian( float ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::rtl::OUString SAL_CALL clazz::getCharFontNameAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontNameAsian( const ::rtl::OUString& ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::rtl::OUString SAL_CALL clazz::getCharFontStyleNameAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontStyleNameAsian( const ::rtl::OUString& ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::sal_Int16 SAL_CALL clazz::getCharFontFamilyAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontFamilyAsian( ::sal_Int16 ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::sal_Int16 SAL_CALL clazz::getCharFontCharSetAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontCharSetAsian( ::sal_Int16 ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::sal_Int16 SAL_CALL clazz::getCharFontPitchAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontPitchAsian( ::sal_Int16 ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::com::sun::star::awt::FontSlant SAL_CALL clazz::getCharPostureAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharPostureAsian( ::com::sun::star::awt::FontSlant ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::com::sun::star::lang::Locale SAL_CALL clazz::getCharLocaleAsian() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharLocaleAsian( const ::com::sun::star::lang::Locale& ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ float SAL_CALL clazz::getCharHeightComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharHeightComplex( float ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ float SAL_CALL clazz::getCharWeightComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharWeightComplex( float ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::rtl::OUString SAL_CALL clazz::getCharFontNameComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontNameComplex( const ::rtl::OUString& ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::rtl::OUString SAL_CALL clazz::getCharFontStyleNameComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontStyleNameComplex( const ::rtl::OUString& ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::sal_Int16 SAL_CALL clazz::getCharFontFamilyComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontFamilyComplex( ::sal_Int16 ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::sal_Int16 SAL_CALL clazz::getCharFontCharSetComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontCharSetComplex( ::sal_Int16 ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::sal_Int16 SAL_CALL clazz::getCharFontPitchComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharFontPitchComplex( ::sal_Int16 ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::com::sun::star::awt::FontSlant SAL_CALL clazz::getCharPostureComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharPostureComplex( ::com::sun::star::awt::FontSlant ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ ::com::sun::star::lang::Locale SAL_CALL clazz::getCharLocaleComplex() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}\
+ void SAL_CALL clazz::setCharLocaleComplex( const ::com::sun::star::lang::Locale& ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException)\
+ {\
+ throw beans::UnknownPropertyException();\
+}
+
+
+// ::com::sun::star::report::XReportControlFormat:
+#define REPORTCONTROLFORMAT_IMPL(clazz,varName) \
+ REPORTCONTROLFORMAT_IMPL1(clazz,varName) \
+ REPORTCONTROLFORMAT_IMPL2(clazz,varName)
+
+
+#endif //INCLUDED_REPORTHELPERIMPL_HXX
+
diff --git a/reportdesign/source/core/inc/ReportUndoFactory.hxx b/reportdesign/source/core/inc/ReportUndoFactory.hxx
new file mode 100644
index 000000000000..5e2a70f3ae19
--- /dev/null
+++ b/reportdesign/source/core/inc/ReportUndoFactory.hxx
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * 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_UNDOFACTORY_HXX_INCLUDED
+#define REPORT_UNDOFACTORY_HXX_INCLUDED
+
+#include <svx/svdundo.hxx>
+#include <memory>
+#include "ModuleHelper.hxx"
+
+namespace rptui
+{
+ class OReportUndoFactory : public SdrUndoFactory
+ {
+ OModuleClient m_aModuleClient;
+ ::std::auto_ptr<SdrUndoFactory> m_pUndoFactory;
+
+ OReportUndoFactory(const OReportUndoFactory&);
+ OReportUndoFactory& operator=(const OReportUndoFactory&);
+ public:
+ OReportUndoFactory();
+ virtual ~OReportUndoFactory();
+
+ // shapes
+ virtual SdrUndoAction* CreateUndoMoveObject( SdrObject& rObject );
+ virtual SdrUndoAction* CreateUndoMoveObject( SdrObject& rObject, const Size& rDist );
+ virtual SdrUndoAction* CreateUndoGeoObject( SdrObject& rObject );
+ virtual SdrUndoAction* CreateUndoAttrObject( SdrObject& rObject, bool bStyleSheet1 = false, bool bSaveText = false );
+ virtual SdrUndoAction* CreateUndoRemoveObject( SdrObject& rObject, bool bOrdNumDirect = false);
+ virtual SdrUndoAction* CreateUndoInsertObject( SdrObject& rObject, bool bOrdNumDirect = false);
+ virtual SdrUndoAction* CreateUndoDeleteObject( SdrObject& rObject, bool bOrdNumDirect = false);
+ virtual SdrUndoAction* CreateUndoNewObject( SdrObject& rObject, bool bOrdNumDirect = false);
+ virtual SdrUndoAction* CreateUndoCopyObject( SdrObject& rObject, bool bOrdNumDirect = false);
+
+ virtual SdrUndoAction* CreateUndoObjectOrdNum( SdrObject& rObject, sal_uInt32 nOldOrdNum1, sal_uInt32 nNewOrdNum1);
+
+ virtual SdrUndoAction* CreateUndoReplaceObject( SdrObject& rOldObject, SdrObject& rNewObject, bool bOrdNumDirect = false );
+ virtual SdrUndoAction* CreateUndoObjectLayerChange( SdrObject& rObject, SdrLayerID aOldLayer, SdrLayerID aNewLayer );
+ virtual SdrUndoAction* CreateUndoObjectSetText( SdrObject& rNewObj, sal_Int32 nText );
+
+ // layer
+ virtual SdrUndoAction* CreateUndoNewLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
+ virtual SdrUndoAction* CreateUndoDeleteLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel);
+ virtual SdrUndoAction* CreateUndoMoveLayer(sal_uInt16 nLayerNum, SdrLayerAdmin& rNewLayerAdmin, SdrModel& rNewModel, sal_uInt16 nNeuPos1);
+
+ // page
+ virtual SdrUndoAction* CreateUndoDeletePage(SdrPage& rPage);
+ virtual SdrUndoAction* CreateUndoNewPage(SdrPage& rPage);
+ virtual SdrUndoAction* CreateUndoCopyPage(SdrPage& rPage);
+ virtual SdrUndoAction* CreateUndoSetPageNum(SdrPage& rNewPg, sal_uInt16 nOldPageNum1, sal_uInt16 nNewPageNum1);
+
+ // master page
+ virtual SdrUndoAction* CreateUndoPageRemoveMasterPage(SdrPage& rChangedPage);
+ virtual SdrUndoAction* CreateUndoPageChangeMasterPage(SdrPage& rChangedPage);
+
+ };
+//==============================================================================
+} // rptui
+//==============================================================================
+
+#endif // REPORT_UNDOFACTORY_HXX_INCLUDED
+
diff --git a/reportdesign/source/core/inc/RptObjectListener.hxx b/reportdesign/source/core/inc/RptObjectListener.hxx
new file mode 100644
index 000000000000..0a781ee36c61
--- /dev/null
+++ b/reportdesign/source/core/inc/RptObjectListener.hxx
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * 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_RPTUILIST_HXX
+#define _REPORT_RPTUILIST_HXX
+
+#include <cppuhelper/implbase1.hxx>
+#include <com/sun/star/beans/XPropertyChangeListener.hpp>
+#include <com/sun/star/container/XContainerListener.hpp>
+
+namespace rptui
+{
+class OObjectBase;
+
+//============================================================================
+// OObjectListener
+//============================================================================
+
+typedef ::cppu::WeakImplHelper1< ::com::sun::star::beans::XPropertyChangeListener > TPropertyChangeListenerHelper;
+
+class OObjectListener: public TPropertyChangeListenerHelper
+{
+private:
+ OObjectBase* m_pObject;
+ OObjectListener(const OObjectListener&);
+ void operator =(const OObjectListener&);
+protected:
+ virtual ~OObjectListener();
+public:
+ OObjectListener(OObjectBase* _pObject);
+
+ // 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);
+};
+}
+#endif // _REPORT_RPTUILIST_HXX
diff --git a/reportdesign/source/core/inc/Section.hxx b/reportdesign/source/core/inc/Section.hxx
new file mode 100644
index 000000000000..3d3f0f205b06
--- /dev/null
+++ b/reportdesign/source/core/inc/Section.hxx
@@ -0,0 +1,208 @@
+/*************************************************************************
+ *
+ * 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_SECTION_HXX
+#define REPORTDESIGN_API_SECTION_HXX
+
+#include <com/sun/star/report/XSection.hpp>
+#include <cppuhelper/compbase3.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <comphelper/uno3.hxx>
+#include <comphelper/types.hxx>
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/drawing/XShapes.hpp>
+#include <com/sun/star/uno/XAggregation.hpp>
+#include <comphelper/stl_types.hxx>
+#include <comphelper/implementationreference.hxx>
+#include <com/sun/star/lang/XUnoTunnel.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+
+namespace reportdesign
+{
+ typedef ::cppu::WeakComponentImplHelper3< ::com::sun::star::report::XSection
+ , ::com::sun::star::lang::XServiceInfo
+ , ::com::sun::star::lang::XUnoTunnel> SectionBase;
+ typedef ::cppu::PropertySetMixin<com::sun::star::report::XSection> SectionPropertySet;
+
+ class OSection : public comphelper::OMutexAndBroadcastHelper,
+ public SectionBase,
+ public SectionPropertySet
+ {
+ ::cppu::OInterfaceContainerHelper m_aContainerListeners;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes > m_xDrawPage;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation > m_xProxy;
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::report::XGroup > m_xGroup;
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::report::XReportDefinition > m_xReportDefinition;
+ ::rtl::OUString m_sName;
+ ::rtl::OUString m_sConditionalPrintExpression;
+ ::sal_uInt32 m_nHeight;
+ ::sal_Int32 m_nBackgroundColor;
+ ::sal_Int16 m_nForceNewPage;
+ ::sal_Int16 m_nNewRowOrCol;
+ ::sal_Bool m_bKeepTogether;
+ ::sal_Bool m_bCanGrow;
+ ::sal_Bool m_bCanShrink;
+ ::sal_Bool m_bRepeatSection;
+ ::sal_Bool m_bVisible;
+ ::sal_Bool m_bBacktransparent;
+ bool m_bInRemoveNotify;
+ bool m_bInInsertNotify;
+
+ private:
+ OSection(const OSection&);
+ OSection& operator=(const OSection&);
+
+ template <typename T> void set( const ::rtl::OUString& _sProperty
+ ,const T& _Value
+ ,T& _member)
+ {
+ BoundListeners l;
+ {
+ ::osl::MutexGuard aGuard(m_aMutex);
+ if ( _member != _Value )
+ {
+ prepareSet(_sProperty, ::com::sun::star::uno::makeAny(_member), ::com::sun::star::uno::makeAny(_Value), &l);
+ _member = _Value;
+ }
+ }
+ l.notify();
+ }
+
+ /** checks if this section is eiter the page header or footer and if so it throws an UnknownPropertyException
+ *
+ */
+ void checkNotPageHeaderFooter();
+
+ void init();
+ protected:
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual ~OSection();
+
+ /** this function is called upon disposing the component
+ */
+ // TODO: VirtualFunctionFinder: This is virtual function!
+ //
+ virtual void SAL_CALL disposing();
+ public:
+ typedef ::comphelper::ImplementationReference< OSection ,::com::sun::star::report::XSection,::com::sun::star::uno::XWeak > TSection;
+
+ OSection(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition >& _xParent
+ ,const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& context,bool _bPageSection=false);
+ OSection(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup >& _xParent
+ ,const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& context,bool _bPageSection=false);
+
+ DECLARE_XINTERFACE( )
+
+ // ::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);
+
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void) 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);
+
+ // XSection
+ virtual ::sal_Bool SAL_CALL getVisible() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setVisible( ::sal_Bool _visible ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getName() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setName( const ::rtl::OUString& _name ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_uInt32 SAL_CALL getHeight() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setHeight( ::sal_uInt32 _height ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int32 SAL_CALL getBackColor() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setBackColor( ::sal_Int32 _backgroundcolor ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getBackTransparent() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setBackTransparent( ::sal_Bool _backtransparent ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getConditionalPrintExpression() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setConditionalPrintExpression( const ::rtl::OUString& _conditionalprintexpression ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int16 SAL_CALL getForceNewPage() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setForceNewPage( ::sal_Int16 _forcenewpage ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Int16 SAL_CALL getNewRowOrCol() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setNewRowOrCol( ::sal_Int16 _newroworcol ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getKeepTogether() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setKeepTogether( ::sal_Bool _keeptogether ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getCanGrow() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setCanGrow( ::sal_Bool _cangrow ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getCanShrink() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setCanShrink( ::sal_Bool _canshrink ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL getRepeatSection() throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setRepeatSection( ::sal_Bool _repeatsection ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XGroup > SAL_CALL getGroup() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportDefinition > SAL_CALL getReportDefinition() throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent > SAL_CALL createReportComponent( const ::rtl::OUString& _sReportComponentSpecifier ) throw (::com::sun::star::uno::Exception, ::com::sun::star::lang::IllegalArgumentException,::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getAvailableReportComponentNames( ) throw (::com::sun::star::uno::RuntimeException);
+ // 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);
+ // XContainer
+ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+ // XShapes
+ virtual void SAL_CALL add( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL remove( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape ) throw (::com::sun::star::uno::RuntimeException);
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ // XEnumerationAccess
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > SAL_CALL createEnumeration( ) 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);
+ }
+
+ // 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 OSection* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent );
+ static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
+
+ static void lcl_copySection(const ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSource
+ ,::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xDest);
+
+ void notifyElementAdded(const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape);
+ void notifyElementRemoved(const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& xShape);
+ };
+}
+#endif //REPORTDESIGN_API_SECTION_HXX
diff --git a/reportdesign/source/core/inc/Shape.hxx b/reportdesign/source/core/inc/Shape.hxx
new file mode 100644
index 000000000000..00a351f544b5
--- /dev/null
+++ b/reportdesign/source/core/inc/Shape.hxx
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * 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 RPT_SHAPE_HXX
+#define RPT_SHAPE_HXX
+
+#include <cppuhelper/propertysetmixin.hxx>
+#include <com/sun/star/report/XShape.hpp>
+#include "ReportControlModel.hxx"
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/broadcasthelper.hxx>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+#include "ReportHelperDefines.hxx"
+#include <comphelper/propagg.hxx>
+#include <memory>
+
+namespace reportdesign
+{
+ typedef ::cppu::PropertySetMixin< com::sun::star::report::XShape > ShapePropertySet;
+ typedef ::cppu::WeakComponentImplHelper2< com::sun::star::report::XShape
+ ,com::sun::star::lang::XServiceInfo > ShapeBase;
+
+ /** \class OShape Defines the implementation of a \interface com:::sun::star::report::XShape
+ * \ingroup reportdesign_api
+ *
+ */
+ class OShape : public comphelper::OBaseMutex,
+ public ShapeBase,
+ public ShapePropertySet
+ {
+ friend class OShapeHelper;
+ ::std::auto_ptr< ::comphelper::OPropertyArrayAggregationHelper> m_pAggHelper;
+ OReportControlModel m_aProps;
+ com::sun::star::drawing::HomogenMatrix3 m_Transformation;
+ ::sal_Int32 m_nZOrder;
+ ::sal_Bool m_bOpaque;
+
+ ::rtl::OUString m_sServiceName;
+ ::rtl::OUString m_CustomShapeEngine;
+ ::rtl::OUString m_CustomShapeData;
+ com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >
+ m_CustomShapeGeometry;
+
+ private:
+ OShape(const OShape&);
+ OShape& operator=(const OShape&);
+
+ 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();
+ }
+ void checkIndex(sal_Int32 _nIndex);
+ cppu::IPropertyArrayHelper& getInfoHelper();
+ protected:
+ virtual ~OShape();
+ public:
+ explicit OShape(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & _xContext);
+ explicit OShape(::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
+ ,const ::rtl::OUString& _sServiceName);
+
+ DECLARE_XINTERFACE( )
+ // ::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);
+
+ 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::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);
+
+ // XReportComponent
+ REPORTCOMPONENT_HEADER()
+
+ // XShape
+ SHAPE_HEADER()
+
+ virtual ::rtl::OUString SAL_CALL getCustomShapeEngine() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setCustomShapeEngine( const ::rtl::OUString& _customshapeengine ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getCustomShapeData() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setCustomShapeData( const ::rtl::OUString& _customshapedata ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getCustomShapeGeometry() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setCustomShapeGeometry( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _customshapegeometry ) throw (::com::sun::star::uno::RuntimeException);
+
+ virtual ::sal_Bool SAL_CALL getOpaque() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setOpaque( ::sal_Bool _opaque ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XShapeDescriptor
+ virtual ::rtl::OUString SAL_CALL getShapeType( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XReportControlModel
+ REPORTCONTROLMODEL_HEADER()
+
+ // XReportControlFormat
+ REPORTCONTROLFORMAT_HEADER()
+ // XShape
+ virtual ::sal_Int32 SAL_CALL getZOrder() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setZOrder( ::sal_Int32 _zorder ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::drawing::HomogenMatrix3 SAL_CALL getTransformation() throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setTransformation( const ::com::sun::star::drawing::HomogenMatrix3& _transformation ) 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);
+
+ // XContainer
+ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener >& xListener ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
+
+ // XIndexReplace
+ virtual void SAL_CALL replaceByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexContainer
+ virtual void SAL_CALL insertByIndex( ::sal_Int32 Index, const ::com::sun::star::uno::Any& Element ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+
+ // XIndexAccess
+ virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
+ };
+}
+#endif //RPT_SHAPE_HXX
+
diff --git a/reportdesign/source/core/inc/Tools.hxx b/reportdesign/source/core/inc/Tools.hxx
new file mode 100644
index 000000000000..e8753078bf97
--- /dev/null
+++ b/reportdesign/source/core/inc/Tools.hxx
@@ -0,0 +1,183 @@
+/*************************************************************************
+ *
+ * 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_TOOLS_HXX
+#define REPORTDESIGN_TOOLS_HXX
+
+#include <com/sun/star/report/XReportDefinition.hpp>
+#include <com/sun/star/report/XSection.hpp>
+#include <com/sun/star/awt/Point.hpp>
+#include <com/sun/star/awt/Size.hpp>
+#include <com/sun/star/container/XChild.hpp>
+#include <com/sun/star/uno/XComponentContext.hpp>
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#include <com/sun/star/report/XFixedText.hpp>
+#include <com/sun/star/report/XFormattedField.hpp>
+
+
+#include "Section.hxx"
+#include "corestrings.hrc"
+
+namespace reportdesign
+{
+ template <class T> void lcl_createSectionIfNeeded(sal_Bool _bOn,const T& _xParent,::com::sun::star::uno::Reference< ::com::sun::star::report::XSection>& _xSection/*in/out*/,bool _bPageSection = false)
+ {
+ if ( _bOn && !_xSection.is() )
+ _xSection = new OSection(_xParent,_xParent->getContext(),_bPageSection);
+ else if ( !_bOn )
+ //_xSection.clear();
+ ::comphelper::disposeComponent(_xSection);
+ }
+
+ /** gets the properties which should be removed form the property set implementation.
+ *
+ * \return A sequence of all properties which should be removed for none char able implementations.
+ */
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > lcl_getCharOptionals();
+
+ /** uses the XChild interface to get the section from any child of it.
+ *
+ * \param _xReportComponent A report component which is a child of the section.
+ * \return The sectin where this report component resists in.
+ */
+ ::com::sun::star::uno::Reference< ::com::sun::star::report::XSection> lcl_getSection(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& _xReportComponent);
+
+ /** throws an illegal argument exception. The message text is the resource RID_STR_ERROR_WRONG_ARGUMENT + the type as reference.
+ *
+ * \param _sTypeName The reference where to look for the correct values.
+ * \param ExceptionContext_ The exception context.
+ * \param ArgumentPosition_ The argument position.
+ * \param Context_ The context to get the factory service.
+ */
+ void throwIllegallArgumentException(const ::rtl::OUString& _sTypeName
+ ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& ExceptionContext_
+ ,const ::sal_Int16& ArgumentPosition_
+ ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& Context_);
+
+ /** clones the given object
+ *
+ * \param _xReportComponent the object to be cloned
+ * \param _xFactory the factory to create the clone
+ * \param _sServiceName the service of the to be cloned object
+ * \return the clone
+ */
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XCloneable > cloneObject(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportComponent>& _xReportComponent
+ ,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _xFactory
+ ,const ::rtl::OUString& _sServiceName);
+
+ class OShapeHelper
+ {
+ public:
+ template<typename T> static void setSize(const ::com::sun::star::awt::Size& aSize,T* _pShape)
+ {
+ OSL_ENSURE(aSize.Width >= 0 && aSize.Height >= 0,"Illegal with or height!");
+
+ ::osl::MutexGuard aGuard(_pShape->m_aMutex);
+ if ( _pShape->m_aProps.aComponent.m_xShape.is() )
+ {
+ ::com::sun::star::awt::Size aOldSize = _pShape->m_aProps.aComponent.m_xShape->getSize();
+ if ( aOldSize.Height != aSize.Height || aOldSize.Width != aSize.Width )
+ {
+ _pShape->m_aProps.aComponent.m_nWidth = aOldSize.Width;
+ _pShape->m_aProps.aComponent.m_nHeight = aOldSize.Height;
+ _pShape->m_aProps.aComponent.m_xShape->setSize(aSize);
+ }
+ }
+ _pShape->set(PROPERTY_WIDTH,aSize.Width,_pShape->m_aProps.aComponent.m_nWidth);
+ _pShape->set(PROPERTY_HEIGHT,aSize.Height,_pShape->m_aProps.aComponent.m_nHeight);
+ }
+ template<typename T> static ::com::sun::star::awt::Size getSize( T* _pShape )
+ {
+ ::osl::MutexGuard aGuard(_pShape->m_aMutex);
+ if ( _pShape->m_aProps.aComponent.m_xShape.is() )
+ {
+ ::com::sun::star::awt::Size aSize = _pShape->m_aProps.aComponent.m_xShape->getSize();
+ OSL_ENSURE(aSize.Width >= 0 && aSize.Height >= 0,"Illegal with or height!");
+ return aSize;
+ }
+ return ::com::sun::star::awt::Size(_pShape->m_aProps.aComponent.m_nWidth,_pShape->m_aProps.aComponent.m_nHeight);
+ }
+
+ template<typename T> static void setPosition( const ::com::sun::star::awt::Point& _aPosition ,T* _pShape)
+ {
+ // we know it is not allowed that the position in smaller 0, but in NbcMove() it will handled right.
+ // only at 'Undo' it is possible to short set the position smaller 0
+ // OSL_ENSURE(_aPosition.X >= 0 && _aPosition.Y >= 0,"set to Illegal position!");
+ ::osl::MutexGuard aGuard(_pShape->m_aMutex);
+ ::com::sun::star::awt::Point aOldPos;
+ aOldPos.X = _pShape->m_aProps.aComponent.m_nPosX;
+ aOldPos.Y = _pShape->m_aProps.aComponent.m_nPosY;
+
+ ::com::sun::star::awt::Point aPosition(_aPosition);
+ if ( _pShape->m_aProps.aComponent.m_xShape.is() )
+ {
+ aOldPos = _pShape->m_aProps.aComponent.m_xShape->getPosition();
+ if ( aOldPos.X != aPosition.X || aOldPos.Y != aPosition.Y )
+ {
+ _pShape->m_aProps.aComponent.m_nPosX = aOldPos.X;
+ _pShape->m_aProps.aComponent.m_nPosY = aOldPos.Y;
+ _pShape->m_aProps.aComponent.m_xShape->setPosition(aPosition);
+ }
+ }
+ _pShape->set(PROPERTY_POSITIONX,aPosition.X,aOldPos.X);
+ _pShape->set(PROPERTY_POSITIONY,aPosition.Y,aOldPos.Y);
+ }
+ template<typename T> static ::com::sun::star::awt::Point getPosition(T* _pShape)
+ {
+ ::osl::MutexGuard aGuard(_pShape->m_aMutex);
+ if ( _pShape->m_aProps.aComponent.m_xShape.is() )
+ {
+ ::com::sun::star::awt::Point aPosition = _pShape->m_aProps.aComponent.m_xShape->getPosition();
+// OSL_ENSURE(aPosition.X >= 0 && aPosition.Y >= 0,"Illegal position!");
+ return aPosition;
+ }
+ return ::com::sun::star::awt::Point(_pShape->m_aProps.aComponent.m_nPosX,_pShape->m_aProps.aComponent.m_nPosY);
+ }
+ template<typename T> static void setParent( const com::sun::star::uno::Reference< com::sun::star::uno::XInterface >& Parent, T* _pShape)
+ {
+ ::osl::MutexGuard aGuard(_pShape->m_aMutex);
+ _pShape->m_aProps.aComponent.m_xParent = ::com::sun::star::uno::Reference< ::com::sun::star::container::XChild >(Parent,::com::sun::star::uno::UNO_QUERY);
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XChild > xChild;
+ comphelper::query_aggregation(_pShape->m_aProps.aComponent.m_xProxy,xChild);
+ if ( xChild.is() )
+ xChild->setParent(Parent);
+ }
+ template<typename T> static com::sun::star::uno::Reference< com::sun::star::uno::XInterface > getParent( T* _pShape )
+ {
+ ::osl::MutexGuard aGuard(_pShape->m_aMutex);
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XChild > xChild;
+ comphelper::query_aggregation(_pShape->m_aProps.aComponent.m_xProxy,xChild);
+ if ( xChild.is() )
+ return xChild->getParent();
+ return _pShape->m_aProps.aComponent.m_xParent;
+ }
+ };
+// =============================================================================
+} // namespace reportdesign
+// =============================================================================
+#endif // REPORTDESIGN_TOOLS_HXX
+
diff --git a/reportdesign/source/core/inc/conditionupdater.hxx b/reportdesign/source/core/inc/conditionupdater.hxx
new file mode 100644
index 000000000000..6db89dcc6386
--- /dev/null
+++ b/reportdesign/source/core/inc/conditionupdater.hxx
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * 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 CONDITIONUPDATER_HXX
+#define CONDITIONUPDATER_HXX
+
+#include "conditionalexpression.hxx"
+
+/** === begin UNO includes === **/
+#include <com/sun/star/beans/PropertyChangeEvent.hpp>
+#include <com/sun/star/report/XReportControlModel.hpp>
+/** === end UNO includes === **/
+
+#include <boost/noncopyable.hpp>
+
+//........................................................................
+namespace rptui
+{
+//........................................................................
+
+ //====================================================================
+ //= ConditionUpdater
+ //====================================================================
+ class ConditionUpdater : public ::boost::noncopyable
+ {
+ public:
+ ConditionUpdater();
+ ~ConditionUpdater();
+
+ /// notifies the object about the change of a property value, somewhere in the report definition
+ void notifyPropertyChange( const ::com::sun::star::beans::PropertyChangeEvent& _rEvent );
+
+ private:
+ /// does late initializations, return whether or not successful
+ bool impl_lateInit_nothrow();
+
+ void impl_adjustFormatConditions_nothrow(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::report::XReportControlModel >& _rxRptControlModel,
+ const ::rtl::OUString& _rOldDataSource,
+ const ::rtl::OUString& _rNewDataSource
+ );
+
+ private:
+ ConditionalExpressions m_aConditionalExpressions;
+ };
+
+//........................................................................
+} // namespace rptui
+//........................................................................
+
+#endif // CONDITIONUPDATER_HXX
diff --git a/reportdesign/source/core/inc/core_resource.hrc b/reportdesign/source/core/inc/core_resource.hrc
new file mode 100644
index 000000000000..e565ddc9b9c5
--- /dev/null
+++ b/reportdesign/source/core/inc/core_resource.hrc
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * 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_CORE_RESOURCE_HRC_
+#define REPORTDESIGN_CORE_RESOURCE_HRC_
+
+#ifndef _SOLAR_HRC
+#include <svl/solar.hrc>
+#endif
+
+//------------------------------------------------------------------------------
+#define RID_CORE_STRINGS_START RID_RPT_START
+
+//------------------------------------------------------------------------------
+//- String-IDs
+#define RID_STR_DETAIL ( RID_CORE_STRINGS_START + 0 )
+#define RID_STR_PAGE_HEADER ( RID_CORE_STRINGS_START + 1 )
+#define RID_STR_PAGE_FOOTER ( RID_CORE_STRINGS_START + 2 )
+#define RID_STR_REPORT_HEADER ( RID_CORE_STRINGS_START + 3 )
+#define RID_STR_REPORT_FOOTER ( RID_CORE_STRINGS_START + 4 )
+#define RID_STR_PROPERTY_CHANGE_NOT_ALLOWED ( RID_CORE_STRINGS_START + 5 )
+#define RID_STR_ERROR_WRONG_ARGUMENT ( RID_CORE_STRINGS_START + 6 )
+#define RID_STR_ARGUMENT_IS_NULL ( RID_CORE_STRINGS_START + 7 )
+#define RID_STR_SHAPE ( RID_CORE_STRINGS_START + 8 )
+#define RID_STR_REPORT ( RID_CORE_STRINGS_START + 9 )
+#define RID_STR_IMAGECONTROL ( RID_CORE_STRINGS_START + 10 )
+#define RID_STR_FIXEDTEXT ( RID_CORE_STRINGS_START + 11 )
+#define RID_STR_FORMATTEDFIELD ( RID_CORE_STRINGS_START + 12 )
+#define RID_STR_GROUP_HEADER ( RID_CORE_STRINGS_START + 13 )
+#define RID_STR_GROUP_FOOTER ( RID_CORE_STRINGS_START + 14 )
+#define RID_STR_FIXEDLINE ( RID_CORE_STRINGS_START + 15 )
+
+
+#endif // REPORTDESIGN_CORE_RESOURCE_HRC_
+
diff --git a/reportdesign/source/core/inc/core_resource.hxx b/reportdesign/source/core/inc/core_resource.hxx
new file mode 100644
index 000000000000..36e3e3149404
--- /dev/null
+++ b/reportdesign/source/core/inc/core_resource.hxx
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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_CORE_RESOURCE_HXX_
+#define REPORTDESIGN_CORE_RESOURCE_HXX_
+
+
+#include <rtl/ustring.hxx>
+#include <com/sun/star/lang/XMultiComponentFactory.hpp>
+
+class SimpleResMgr;
+//.........................................................................
+namespace reportdesign
+{
+
+#define RPT_RESSTRING(id,_rM) ResourceManager::loadString(id,_rM)
+
+ //==================================================================
+ //= ResourceManager
+ //= handling ressources within the DBA-Core library
+ //==================================================================
+ class ResourceManager
+ {
+ static SimpleResMgr* m_pImpl;
+
+ private:
+ // no instantiation allowed
+ ResourceManager() { }
+ ~ResourceManager() { }
+
+ // we'll instantiate one static member of the following class, which, in it's dtor,
+ // ensures that m_pImpl will be deleted
+ class EnsureDelete
+ {
+ public:
+ EnsureDelete() { }
+ ~EnsureDelete();
+ };
+ friend class EnsureDelete;
+
+ protected:
+ static void ensureImplExists(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiComponentFactory >& _rM);
+
+ public:
+ /** loads the string with the specified resource id from the FormLayer resource file
+ */
+ static ::rtl::OUString loadString(sal_uInt16 _nResId,const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiComponentFactory >& _rM);
+ };
+
+//.........................................................................
+}
+//.........................................................................
+
+#endif // REPORTDESIGN_CORE_RESOURCE_HXX_
+