use more concrete UNO types in reportdesign
Change-Id: I30e391c1d5166ad24e129a20db1d7403644f8791 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174315 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
parent
d5c0b3f93d
commit
a9dcb13707
5 changed files with 41 additions and 26 deletions
|
@ -192,7 +192,6 @@ namespace reportdesign
|
||||||
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId();
|
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId();
|
||||||
UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) static std::shared_ptr<rptui::OReportModel> getSdrModel(const css::uno::Reference< css::report::XReportDefinition >& _xReportDefinition);
|
UNLESS_MERGELIBS_MORE(REPORTDESIGN_DLLPUBLIC) static std::shared_ptr<rptui::OReportModel> getSdrModel(const css::uno::Reference< css::report::XReportDefinition >& _xReportDefinition);
|
||||||
|
|
||||||
private:
|
|
||||||
DECLARE_XINTERFACE( )
|
DECLARE_XINTERFACE( )
|
||||||
DECLARE_XTYPEPROVIDER( )
|
DECLARE_XTYPEPROVIDER( )
|
||||||
// css::lang::XServiceInfo
|
// css::lang::XServiceInfo
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||||
*/
|
*/
|
||||||
#include <Group.hxx>
|
#include <Group.hxx>
|
||||||
|
#include <Groups.hxx>
|
||||||
#include <Section.hxx>
|
#include <Section.hxx>
|
||||||
#include <com/sun/star/lang/NoSupportException.hpp>
|
#include <com/sun/star/lang/NoSupportException.hpp>
|
||||||
#include <com/sun/star/report/GroupOn.hpp>
|
#include <com/sun/star/report/GroupOn.hpp>
|
||||||
|
@ -35,7 +36,7 @@ namespace reportdesign
|
||||||
|
|
||||||
using namespace com::sun::star;
|
using namespace com::sun::star;
|
||||||
|
|
||||||
OGroup::OGroup(const uno::Reference< report::XGroups >& _xParent
|
OGroup::OGroup(const rtl::Reference< OGroups >& _xParent
|
||||||
,const uno::Reference< uno::XComponentContext >& _xContext)
|
,const uno::Reference< uno::XComponentContext >& _xContext)
|
||||||
:GroupBase(m_aMutex)
|
:GroupBase(m_aMutex)
|
||||||
,GroupPropertySet(_xContext,IMPLEMENTS_PROPERTY_SET,uno::Sequence< OUString >())
|
,GroupPropertySet(_xContext,IMPLEMENTS_PROPERTY_SET,uno::Sequence< OUString >())
|
||||||
|
@ -205,7 +206,12 @@ void SAL_CALL OGroup::setKeepTogether( ::sal_Int16 _keeptogether )
|
||||||
|
|
||||||
uno::Reference< report::XGroups > SAL_CALL OGroup::getGroups()
|
uno::Reference< report::XGroups > SAL_CALL OGroup::getGroups()
|
||||||
{
|
{
|
||||||
return m_xParent;
|
return m_xParent.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
rtl::Reference< OGroups > OGroup::getOGroups() const
|
||||||
|
{
|
||||||
|
return m_xParent.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
OUString SAL_CALL OGroup::getExpression()
|
OUString SAL_CALL OGroup::getExpression()
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||||
*/
|
*/
|
||||||
#include <Section.hxx>
|
#include <Section.hxx>
|
||||||
|
#include <Group.hxx>
|
||||||
|
#include <Groups.hxx>
|
||||||
#include <comphelper/enumhelper.hxx>
|
#include <comphelper/enumhelper.hxx>
|
||||||
#include <comphelper/servicehelper.hxx>
|
#include <comphelper/servicehelper.hxx>
|
||||||
#include <cppuhelper/supportsservice.hxx>
|
#include <cppuhelper/supportsservice.hxx>
|
||||||
|
@ -74,7 +76,7 @@ static uno::Sequence< OUString> lcl_getAbsent(bool _bPageSection)
|
||||||
}
|
}
|
||||||
|
|
||||||
uno::Reference<report::XSection> OSection::createOSection(
|
uno::Reference<report::XSection> OSection::createOSection(
|
||||||
const uno::Reference< report::XReportDefinition >& xParentDef,
|
const rtl::Reference< OReportDefinition >& xParentDef,
|
||||||
const uno::Reference< uno::XComponentContext >& context,
|
const uno::Reference< uno::XComponentContext >& context,
|
||||||
bool const bPageSection)
|
bool const bPageSection)
|
||||||
{
|
{
|
||||||
|
@ -85,7 +87,7 @@ uno::Reference<report::XSection> OSection::createOSection(
|
||||||
}
|
}
|
||||||
|
|
||||||
uno::Reference<report::XSection> OSection::createOSection(
|
uno::Reference<report::XSection> OSection::createOSection(
|
||||||
const uno::Reference< report::XGroup >& xParentGroup,
|
const rtl::Reference< OGroup >& xParentGroup,
|
||||||
const uno::Reference< uno::XComponentContext >& context)
|
const uno::Reference< uno::XComponentContext >& context)
|
||||||
{
|
{
|
||||||
rtl::Reference<OSection> pNew =
|
rtl::Reference<OSection> pNew =
|
||||||
|
@ -95,8 +97,8 @@ uno::Reference<report::XSection> OSection::createOSection(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
OSection::OSection(const uno::Reference< report::XReportDefinition >& xParentDef
|
OSection::OSection(const rtl::Reference< OReportDefinition >& xParentDef
|
||||||
,const uno::Reference< report::XGroup >& xParentGroup
|
,const rtl::Reference< OGroup >& xParentGroup
|
||||||
,const uno::Reference< uno::XComponentContext >& context
|
,const uno::Reference< uno::XComponentContext >& context
|
||||||
,uno::Sequence< OUString> const& rStrings)
|
,uno::Sequence< OUString> const& rStrings)
|
||||||
:SectionBase(m_aMutex)
|
:SectionBase(m_aMutex)
|
||||||
|
@ -282,7 +284,7 @@ void SAL_CALL OSection::setConditionalPrintExpression( const OUString& _conditio
|
||||||
void OSection::checkNotPageHeaderFooter()
|
void OSection::checkNotPageHeaderFooter()
|
||||||
{
|
{
|
||||||
::osl::MutexGuard aGuard(m_aMutex);
|
::osl::MutexGuard aGuard(m_aMutex);
|
||||||
uno::Reference< report::XReportDefinition > xRet = m_xReportDefinition;
|
rtl::Reference< OReportDefinition > xRet = m_xReportDefinition;
|
||||||
if ( xRet.is() )
|
if ( xRet.is() )
|
||||||
{
|
{
|
||||||
if ( xRet->getPageHeaderOn() && xRet->getPageHeader() == *this )
|
if ( xRet->getPageHeaderOn() && xRet->getPageHeader() == *this )
|
||||||
|
@ -368,7 +370,7 @@ void SAL_CALL OSection::setCanShrink( sal_Bool /*_canshrink*/ )
|
||||||
sal_Bool SAL_CALL OSection::getRepeatSection()
|
sal_Bool SAL_CALL OSection::getRepeatSection()
|
||||||
{
|
{
|
||||||
::osl::MutexGuard aGuard(m_aMutex);
|
::osl::MutexGuard aGuard(m_aMutex);
|
||||||
uno::Reference< report::XGroup > xGroup = m_xGroup;
|
rtl::Reference< OGroup > xGroup = m_xGroup;
|
||||||
if ( !xGroup.is() )
|
if ( !xGroup.is() )
|
||||||
throw beans::UnknownPropertyException();
|
throw beans::UnknownPropertyException();
|
||||||
return m_bRepeatSection;
|
return m_bRepeatSection;
|
||||||
|
@ -378,7 +380,7 @@ void SAL_CALL OSection::setRepeatSection( sal_Bool _repeatsection )
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
::osl::MutexGuard aGuard(m_aMutex);
|
::osl::MutexGuard aGuard(m_aMutex);
|
||||||
uno::Reference< report::XGroup > xGroup = m_xGroup;
|
rtl::Reference< OGroup > xGroup = m_xGroup;
|
||||||
if ( !xGroup.is() )
|
if ( !xGroup.is() )
|
||||||
throw beans::UnknownPropertyException();
|
throw beans::UnknownPropertyException();
|
||||||
}
|
}
|
||||||
|
@ -388,22 +390,23 @@ void SAL_CALL OSection::setRepeatSection( sal_Bool _repeatsection )
|
||||||
uno::Reference< report::XGroup > SAL_CALL OSection::getGroup()
|
uno::Reference< report::XGroup > SAL_CALL OSection::getGroup()
|
||||||
{
|
{
|
||||||
::osl::MutexGuard aGuard(m_aMutex);
|
::osl::MutexGuard aGuard(m_aMutex);
|
||||||
return m_xGroup;
|
return m_xGroup.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
uno::Reference< report::XReportDefinition > SAL_CALL OSection::getReportDefinition()
|
uno::Reference< report::XReportDefinition > SAL_CALL OSection::getReportDefinition()
|
||||||
{
|
{
|
||||||
::osl::MutexGuard aGuard(m_aMutex);
|
::osl::MutexGuard aGuard(m_aMutex);
|
||||||
uno::Reference< report::XReportDefinition > xRet = m_xReportDefinition;
|
rtl::Reference< OReportDefinition > xRet = m_xReportDefinition;
|
||||||
uno::Reference< report::XGroup > xGroup = m_xGroup;
|
if (xRet.is())
|
||||||
if ( !xRet.is() && xGroup.is() )
|
|
||||||
{
|
|
||||||
uno::Reference< report::XGroups> xGroups(xGroup->getGroups());
|
|
||||||
if ( xGroups.is() )
|
|
||||||
xRet = xGroups->getReportDefinition();
|
|
||||||
}
|
|
||||||
|
|
||||||
return xRet;
|
return xRet;
|
||||||
|
rtl::Reference< OGroup > xGroup = m_xGroup;
|
||||||
|
if ( xGroup.is() )
|
||||||
|
{
|
||||||
|
rtl::Reference< OGroups> xGroups(xGroup->getOGroups());
|
||||||
|
if ( xGroups.is() )
|
||||||
|
return xGroups->getReportDefinition();
|
||||||
|
}
|
||||||
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
// XChild
|
// XChild
|
||||||
|
|
|
@ -28,10 +28,12 @@
|
||||||
#include <comphelper/uno3.hxx>
|
#include <comphelper/uno3.hxx>
|
||||||
#include <com/sun/star/lang/XServiceInfo.hpp>
|
#include <com/sun/star/lang/XServiceInfo.hpp>
|
||||||
#include <rtl/ref.hxx>
|
#include <rtl/ref.hxx>
|
||||||
|
#include <unotools/weakref.hxx>
|
||||||
|
|
||||||
namespace reportdesign
|
namespace reportdesign
|
||||||
{
|
{
|
||||||
class OFunctions;
|
class OFunctions;
|
||||||
|
class OGroups;
|
||||||
typedef ::cppu::WeakComponentImplHelper< css::report::XGroup
|
typedef ::cppu::WeakComponentImplHelper< css::report::XGroup
|
||||||
, css::lang::XServiceInfo> GroupBase;
|
, css::lang::XServiceInfo> GroupBase;
|
||||||
typedef ::cppu::PropertySetMixin< css::report::XGroup> GroupPropertySet;
|
typedef ::cppu::PropertySetMixin< css::report::XGroup> GroupPropertySet;
|
||||||
|
@ -45,7 +47,7 @@ namespace reportdesign
|
||||||
,public GroupPropertySet
|
,public GroupPropertySet
|
||||||
{
|
{
|
||||||
css::uno::Reference< css::uno::XComponentContext > m_xContext;
|
css::uno::Reference< css::uno::XComponentContext > m_xContext;
|
||||||
css::uno::WeakReference< css::report::XGroups > m_xParent;
|
unotools::WeakReference< OGroups > m_xParent;
|
||||||
css::uno::Reference< css::report::XSection> m_xHeader;
|
css::uno::Reference< css::report::XSection> m_xHeader;
|
||||||
css::uno::Reference< css::report::XSection> m_xFooter;
|
css::uno::Reference< css::report::XSection> m_xFooter;
|
||||||
rtl::Reference< OFunctions > m_xFunctions;
|
rtl::Reference< OFunctions > m_xFunctions;
|
||||||
|
@ -100,7 +102,7 @@ namespace reportdesign
|
||||||
|
|
||||||
virtual void SAL_CALL disposing() override;
|
virtual void SAL_CALL disposing() override;
|
||||||
public:
|
public:
|
||||||
OGroup(const css::uno::Reference< css::report::XGroups >& _xParent
|
OGroup(const rtl::Reference< OGroups >& _xParent
|
||||||
,const css::uno::Reference< css::uno::XComponentContext >& context);
|
,const css::uno::Reference< css::uno::XComponentContext >& context);
|
||||||
|
|
||||||
DECLARE_XINTERFACE( )
|
DECLARE_XINTERFACE( )
|
||||||
|
@ -161,6 +163,7 @@ namespace reportdesign
|
||||||
{
|
{
|
||||||
cppu::WeakComponentImplHelperBase::removeEventListener(aListener);
|
cppu::WeakComponentImplHelperBase::removeEventListener(aListener);
|
||||||
}
|
}
|
||||||
|
rtl::Reference< OGroups > getOGroups() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace reportdesign
|
} // namespace reportdesign
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include <comphelper/uno3.hxx>
|
#include <comphelper/uno3.hxx>
|
||||||
#include <cppuhelper/propertysetmixin.hxx>
|
#include <cppuhelper/propertysetmixin.hxx>
|
||||||
#include <comphelper/interfacecontainer3.hxx>
|
#include <comphelper/interfacecontainer3.hxx>
|
||||||
|
#include <unotools/weakref.hxx>
|
||||||
#include <com/sun/star/uno/XComponentContext.hpp>
|
#include <com/sun/star/uno/XComponentContext.hpp>
|
||||||
#include <com/sun/star/drawing/XDrawPage.hpp>
|
#include <com/sun/star/drawing/XDrawPage.hpp>
|
||||||
#include <com/sun/star/drawing/XShapeGrouper.hpp>
|
#include <com/sun/star/drawing/XShapeGrouper.hpp>
|
||||||
|
@ -35,6 +36,9 @@
|
||||||
|
|
||||||
namespace reportdesign
|
namespace reportdesign
|
||||||
{
|
{
|
||||||
|
class OGroup;
|
||||||
|
class OReportDefinition;
|
||||||
|
|
||||||
typedef ::cppu::WeakComponentImplHelper
|
typedef ::cppu::WeakComponentImplHelper
|
||||||
< css::report::XSection
|
< css::report::XSection
|
||||||
, css::lang::XServiceInfo
|
, css::lang::XServiceInfo
|
||||||
|
@ -55,8 +59,8 @@ namespace reportdesign
|
||||||
css::uno::Reference< css::drawing::XShapeGrouper > m_xDrawPage_ShapeGrouper;
|
css::uno::Reference< css::drawing::XShapeGrouper > m_xDrawPage_ShapeGrouper;
|
||||||
css::uno::Reference< css::form::XFormsSupplier2 > m_xDrawPage_FormSupplier;
|
css::uno::Reference< css::form::XFormsSupplier2 > m_xDrawPage_FormSupplier;
|
||||||
css::uno::Reference< css::lang::XUnoTunnel > m_xDrawPage_Tunnel;
|
css::uno::Reference< css::lang::XUnoTunnel > m_xDrawPage_Tunnel;
|
||||||
css::uno::WeakReference< css::report::XGroup > m_xGroup;
|
unotools::WeakReference< OGroup > m_xGroup;
|
||||||
css::uno::WeakReference< css::report::XReportDefinition > m_xReportDefinition;
|
unotools::WeakReference< OReportDefinition > m_xReportDefinition;
|
||||||
OUString m_sName;
|
OUString m_sName;
|
||||||
OUString m_sConditionalPrintExpression;
|
OUString m_sConditionalPrintExpression;
|
||||||
::sal_uInt32 m_nHeight;
|
::sal_uInt32 m_nHeight;
|
||||||
|
@ -122,16 +126,16 @@ namespace reportdesign
|
||||||
|
|
||||||
virtual void SAL_CALL disposing() override;
|
virtual void SAL_CALL disposing() override;
|
||||||
private:
|
private:
|
||||||
OSection(const css::uno::Reference< css::report::XReportDefinition >& xParentDef
|
OSection(const rtl::Reference< OReportDefinition >& xParentDef
|
||||||
,const css::uno::Reference< css::report::XGroup >& xParentGroup
|
,const rtl::Reference< OGroup >& xParentGroup
|
||||||
,const css::uno::Reference< css::uno::XComponentContext >& context,
|
,const css::uno::Reference< css::uno::XComponentContext >& context,
|
||||||
css::uno::Sequence< OUString> const&);
|
css::uno::Sequence< OUString> const&);
|
||||||
public:
|
public:
|
||||||
static css::uno::Reference< css::report::XSection>
|
static css::uno::Reference< css::report::XSection>
|
||||||
createOSection(const css::uno::Reference< css::report::XReportDefinition >& _xParent
|
createOSection(const rtl::Reference< OReportDefinition >& _xParent
|
||||||
,const css::uno::Reference< css::uno::XComponentContext >& context,bool _bPageSection=false);
|
,const css::uno::Reference< css::uno::XComponentContext >& context,bool _bPageSection=false);
|
||||||
static css::uno::Reference< css::report::XSection>
|
static css::uno::Reference< css::report::XSection>
|
||||||
createOSection(const css::uno::Reference< css::report::XGroup >& _xParent
|
createOSection(const rtl::Reference< OGroup >& _xParent
|
||||||
,const css::uno::Reference< css::uno::XComponentContext >& context);
|
,const css::uno::Reference< css::uno::XComponentContext >& context);
|
||||||
|
|
||||||
DECLARE_XINTERFACE( )
|
DECLARE_XINTERFACE( )
|
||||||
|
|
Loading…
Reference in a new issue