use more concrete UNO types in reportdesign

Change-Id: I688cbfe44cebd95e2321d3b75a2ee397cc4aa4f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173410
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
Noel Grandin
2024-09-15 19:06:40 +02:00
parent 63cb8d9ddd
commit a4a2cfa1bf
4 changed files with 18 additions and 15 deletions

View File

@@ -450,6 +450,8 @@ uno::Sequence< uno::Any > SAL_CALL OStyle::getPropertyDefaults( const uno::Seque
return aRet; return aRet;
} }
namespace { class OStylesHelper; }
struct OReportDefinitionImpl struct OReportDefinitionImpl
{ {
uno::WeakReference< uno::XInterface > m_xParent; uno::WeakReference< uno::XInterface > m_xParent;
@@ -461,7 +463,7 @@ struct OReportDefinitionImpl
::std::vector< uno::Reference< frame::XController> > m_aControllers; ::std::vector< uno::Reference< frame::XController> > m_aControllers;
uno::Sequence< beans::PropertyValue > m_aArgs; uno::Sequence< beans::PropertyValue > m_aArgs;
uno::Reference< report::XGroups > m_xGroups; rtl::Reference< OGroups > m_xGroups;
uno::Reference< report::XSection> m_xReportHeader; uno::Reference< report::XSection> m_xReportHeader;
uno::Reference< report::XSection> m_xReportFooter; uno::Reference< report::XSection> m_xReportFooter;
uno::Reference< report::XSection> m_xPageHeader; uno::Reference< report::XSection> m_xPageHeader;
@@ -470,7 +472,7 @@ struct OReportDefinitionImpl
uno::Reference< embed::XStorage > m_xStorage; uno::Reference< embed::XStorage > m_xStorage;
uno::Reference< frame::XController > m_xCurrentController; uno::Reference< frame::XController > m_xCurrentController;
uno::Reference< container::XIndexAccess > m_xViewData; uno::Reference< container::XIndexAccess > m_xViewData;
uno::Reference< container::XNameAccess > m_xStyles; rtl::Reference< OStylesHelper > m_xStyles;
uno::Reference< container::XNameAccess> m_xXMLNamespaceMap; uno::Reference< container::XNameAccess> m_xXMLNamespaceMap;
uno::Reference< container::XNameAccess> m_xGradientTable; uno::Reference< container::XNameAccess> m_xGradientTable;
uno::Reference< container::XNameAccess> m_xHatchTable; uno::Reference< container::XNameAccess> m_xHatchTable;
@@ -478,12 +480,12 @@ struct OReportDefinitionImpl
uno::Reference< container::XNameAccess> m_xTransparencyGradientTable; uno::Reference< container::XNameAccess> m_xTransparencyGradientTable;
uno::Reference< container::XNameAccess> m_xDashTable; uno::Reference< container::XNameAccess> m_xDashTable;
uno::Reference< container::XNameAccess> m_xMarkerTable; uno::Reference< container::XNameAccess> m_xMarkerTable;
uno::Reference< report::XFunctions > m_xFunctions; rtl::Reference< OFunctions > m_xFunctions;
uno::Reference< ui::XUIConfigurationManager2> m_xUIConfigurationManager; uno::Reference< ui::XUIConfigurationManager2> m_xUIConfigurationManager;
uno::Reference< util::XNumberFormatsSupplier> m_xNumberFormatsSupplier; uno::Reference< util::XNumberFormatsSupplier> m_xNumberFormatsSupplier;
uno::Reference< sdbc::XConnection> m_xActiveConnection; uno::Reference< sdbc::XConnection> m_xActiveConnection;
uno::Reference< frame::XTitle > m_xTitleHelper; rtl::Reference< ::framework::TitleHelper > m_xTitleHelper;
uno::Reference< frame::XUntitledNumbers > m_xNumberedControllers; rtl::Reference< ::comphelper::NumberedCollection > m_xNumberedControllers;
uno::Reference< document::XDocumentProperties > m_xDocumentProperties; uno::Reference< document::XDocumentProperties > m_xDocumentProperties;
std::shared_ptr< ::comphelper::EmbeddedObjectContainer> std::shared_ptr< ::comphelper::EmbeddedObjectContainer>
@@ -2359,20 +2361,19 @@ uno::Reference< container::XNameAccess > SAL_CALL OReportDefinition::getStyleFam
if ( !m_pImpl->m_xStyles.is() ) if ( !m_pImpl->m_xStyles.is() )
{ {
m_pImpl->m_xStyles = new OStylesHelper(); m_pImpl->m_xStyles = new OStylesHelper();
uno::Reference< container::XNameContainer> xStyles(m_pImpl->m_xStyles,uno::UNO_QUERY);
uno::Reference< container::XNameContainer> xPageStyles = new OStylesHelper(cppu::UnoType<style::XStyle>::get()); uno::Reference< container::XNameContainer> xPageStyles = new OStylesHelper(cppu::UnoType<style::XStyle>::get());
xStyles->insertByName(u"PageStyles"_ustr,uno::Any(xPageStyles)); m_pImpl->m_xStyles->insertByName(u"PageStyles"_ustr,uno::Any(xPageStyles));
uno::Reference< style::XStyle> xPageStyle(createInstance(u"com.sun.star.style.PageStyle"_ustr),uno::UNO_QUERY); uno::Reference< style::XStyle> xPageStyle(createInstance(u"com.sun.star.style.PageStyle"_ustr),uno::UNO_QUERY);
xPageStyles->insertByName(xPageStyle->getName(),uno::Any(xPageStyle)); xPageStyles->insertByName(xPageStyle->getName(),uno::Any(xPageStyle));
uno::Reference< container::XNameContainer> xFrameStyles = new OStylesHelper(cppu::UnoType<style::XStyle>::get()); uno::Reference< container::XNameContainer> xFrameStyles = new OStylesHelper(cppu::UnoType<style::XStyle>::get());
xStyles->insertByName(u"FrameStyles"_ustr,uno::Any(xFrameStyles)); m_pImpl->m_xStyles->insertByName(u"FrameStyles"_ustr,uno::Any(xFrameStyles));
uno::Reference< style::XStyle> xFrameStyle(createInstance(u"com.sun.star.style.FrameStyle"_ustr),uno::UNO_QUERY); uno::Reference< style::XStyle> xFrameStyle(createInstance(u"com.sun.star.style.FrameStyle"_ustr),uno::UNO_QUERY);
xFrameStyles->insertByName(xFrameStyle->getName(),uno::Any(xFrameStyle)); xFrameStyles->insertByName(xFrameStyle->getName(),uno::Any(xFrameStyle));
uno::Reference< container::XNameContainer> xGraphicStyles = new OStylesHelper(cppu::UnoType<style::XStyle>::get()); uno::Reference< container::XNameContainer> xGraphicStyles = new OStylesHelper(cppu::UnoType<style::XStyle>::get());
xStyles->insertByName(u"graphics"_ustr,uno::Any(xGraphicStyles)); m_pImpl->m_xStyles->insertByName(u"graphics"_ustr,uno::Any(xGraphicStyles));
uno::Reference< style::XStyle> xGraphicStyle(createInstance(u"com.sun.star.style.GraphicStyle"_ustr),uno::UNO_QUERY); uno::Reference< style::XStyle> xGraphicStyle(createInstance(u"com.sun.star.style.GraphicStyle"_ustr),uno::UNO_QUERY);
xGraphicStyles->insertByName(xGraphicStyle->getName(),uno::Any(xGraphicStyle)); xGraphicStyles->insertByName(xGraphicStyle->getName(),uno::Any(xGraphicStyle));
} }

View File

@@ -27,9 +27,11 @@
#include <GroupProperties.hxx> #include <GroupProperties.hxx>
#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>
namespace reportdesign namespace reportdesign
{ {
class OFunctions;
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;
@@ -46,7 +48,7 @@ namespace reportdesign
css::uno::WeakReference< css::report::XGroups > m_xParent; css::uno::WeakReference< css::report::XGroups > 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;
css::uno::Reference< css::report::XFunctions > m_xFunctions; rtl::Reference< OFunctions > m_xFunctions;
::rptshared::GroupProperties m_aProps; ::rptshared::GroupProperties m_aProps;
private: private:

View File

@@ -32,12 +32,11 @@
#include <com/sun/star/report/XReportComponent.hpp> #include <com/sun/star/report/XReportComponent.hpp>
#include <com/sun/star/script/XTypeConverter.hpp> #include <com/sun/star/script/XTypeConverter.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/lang/XServiceInfo.hpp>
#include <rtl/ref.hxx>
namespace rptui namespace rptui
{ {
class OPropertyMediator;
class OPropertyInfoService; class OPropertyInfoService;
typedef ::cppu::WeakComponentImplHelper< css::inspection::XPropertyHandler typedef ::cppu::WeakComponentImplHelper< css::inspection::XPropertyHandler
@@ -101,7 +100,7 @@ namespace rptui
css::uno::Reference< css::uno::XInterface > m_xFormComponent; /// inspectee css::uno::Reference< css::uno::XInterface > m_xFormComponent; /// inspectee
css::uno::Reference< css::report::XReportComponent > m_xReportComponent; /// inspectee css::uno::Reference< css::report::XReportComponent > m_xReportComponent; /// inspectee
css::uno::Reference< css::chart2::XChartDocument> m_xChartModel; css::uno::Reference< css::chart2::XChartDocument> m_xChartModel;
css::uno::Reference< css::beans::XPropertyChangeListener > m_xMasterDetails; rtl::Reference< OPropertyMediator > m_xMasterDetails;
/// type converter, needed on various occasions /// type converter, needed on various occasions
css::uno::Reference< css::script::XTypeConverter > m_xTypeConverter; css::uno::Reference< css::script::XTypeConverter > m_xTypeConverter;
}; };

View File

@@ -61,6 +61,7 @@ namespace rptui
class OSectionView; class OSectionView;
class OAddFieldWindow; class OAddFieldWindow;
class OSectionWindow; class OSectionWindow;
class OPropertyMediator;
typedef ::dbaui::DBSubComponentController OReportController_BASE; typedef ::dbaui::DBSubComponentController OReportController_BASE;
typedef ::cppu::ImplHelper5 < css::container::XContainerListener typedef ::cppu::ImplHelper5 < css::container::XContainerListener
@@ -94,7 +95,7 @@ namespace rptui
css::uno::Reference< css::report::XReportEngine > m_xReportEngine; css::uno::Reference< css::report::XReportEngine > m_xReportEngine;
css::uno::Reference< css::frame::XDesktop2 > m_xFrameLoader; css::uno::Reference< css::frame::XDesktop2 > m_xFrameLoader;
css::uno::Reference< css::sdbc::XRowSet > m_xRowSet; css::uno::Reference< css::sdbc::XRowSet > m_xRowSet;
css::uno::Reference< css::beans::XPropertyChangeListener > m_xRowSetMediator; rtl::Reference< OPropertyMediator > m_xRowSetMediator;
css::uno::Reference< css::util::XNumberFormatter > m_xFormatter; // a number formatter working with the report's NumberFormatsSupplier css::uno::Reference< css::util::XNumberFormatter > m_xFormatter; // a number formatter working with the report's NumberFormatsSupplier
mutable css::uno::Reference< css::lang::XComponent > m_xHoldAlive; mutable css::uno::Reference< css::lang::XComponent > m_xHoldAlive;
mutable css::uno::Reference< css::container::XNameAccess > m_xColumns; mutable css::uno::Reference< css::container::XNameAccess > m_xColumns;