chart2/source/controller/dialogs/DataBrowserModel.cxx |   81 ++++++++----------
 chart2/source/controller/dialogs/DialogModel.cxx      |   36 ++------
 chart2/source/controller/dialogs/DialogModel.hxx      |    4 
 chart2/source/controller/dialogs/tp_DataSource.cxx    |    1 
 chart2/source/inc/OPropertySet.hxx                    |    3 
 5 files changed, 55 insertions(+), 70 deletions(-)

New commits:
commit 3c2192c840f8bc86a677dd1394e9e1b1b52f86f3
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Tue Feb 1 20:51:20 2022 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Fri Feb 4 08:40:49 2022 +0100

    use more concrete types in chart2, DataSeries
    
    Change-Id: I51a30d2a6a3c424dcdc29b6647aa2b67fa35884a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129455
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/chart2/source/controller/dialogs/DataBrowserModel.cxx 
b/chart2/source/controller/dialogs/DataBrowserModel.cxx
index c7f91e490dcf..a25af6ca5a9f 100644
--- a/chart2/source/controller/dialogs/DataBrowserModel.cxx
+++ b/chart2/source/controller/dialogs/DataBrowserModel.cxx
@@ -24,6 +24,7 @@
 #include <ChartTypeManager.hxx>
 #include <DiagramHelper.hxx>
 #include <Diagram.hxx>
+#include <DataSeries.hxx>
 #include <DataSeriesHelper.hxx>
 #include <ControllerLockGuard.hxx>
 #include <StatisticsHelper.hxx>
@@ -333,63 +334,57 @@ void DataBrowserModel::insertDataSeries( sal_Int32 
nAfterColumnIndex )
     // only share "values-x" sequences. (TODO: simplify this logic).
     lcl_tSharedSeqVec aSharedSequences = lcl_getSharedSequences( 
xChartType->getDataSeries());
 
-    Reference<chart2::XDataSeries> xNewSeries =
+    rtl::Reference<::chart::DataSeries> xNewSeries =
         m_apDialogModel->insertSeriesAfter(xSeries, xChartType, true);
 
     if (!xNewSeries.is())
         // Failed to insert new data series to the model. Bail out.
         return;
 
-    Reference< chart2::data::XDataSource > xSource( xNewSeries, uno::UNO_QUERY 
);
-    if (xSource.is())
+    Sequence<Reference<chart2::data::XLabeledDataSequence> > aLSequences = 
xNewSeries->getDataSequences();
+    sal_Int32 nSeqIdx = 0;
+    sal_Int32 nSeqSize = aLSequences.getLength();
+    for (sal_Int32 nIndex = nStartCol; nSeqIdx < nSeqSize; ++nSeqIdx)
     {
-        Sequence<Reference<chart2::data::XLabeledDataSequence> > aLSequences = 
xSource->getDataSequences();
-        sal_Int32 nSeqIdx = 0;
-        sal_Int32 nSeqSize = aLSequences.getLength();
-        for (sal_Int32 nIndex = nStartCol; nSeqIdx < nSeqSize; ++nSeqIdx)
-        {
-            lcl_tSharedSeqVec::const_iterator aSharedIt(
-                std::find_if( aSharedSequences.begin(), aSharedSequences.end(),
-                                lcl_RolesOfLSeqMatch( aLSequences[nSeqIdx] )));
+        lcl_tSharedSeqVec::const_iterator aSharedIt(
+            std::find_if( aSharedSequences.begin(), aSharedSequences.end(),
+                            lcl_RolesOfLSeqMatch( aLSequences[nSeqIdx] )));
 
-            if( aSharedIt != aSharedSequences.end())
-            {
-                // Shared sequence. Most likely "values-x" sequence.  Copy it 
from existing sequence.
-                aLSequences[nSeqIdx]->setValues( (*aSharedIt)->getValues());
-                aLSequences[nSeqIdx]->setLabel( (*aSharedIt)->getLabel());
-            }
-            else
-            {
-                // Insert a new column in the internal data for the new 
sequence.
-                xDataProvider->insertSequence( nIndex - 1 );
-
-                // values
-                Reference< chart2::data::XDataSequence > xNewSeq(
-                    xDataProvider->createDataSequenceByRangeRepresentation(
-                        OUString::number( nIndex )));
-                lcl_copyDataSequenceProperties(
-                    aLSequences[nSeqIdx]->getValues(), xNewSeq );
-                aLSequences[nSeqIdx]->setValues( xNewSeq );
-
-                // labels
-                Reference< chart2::data::XDataSequence > xNewLabelSeq(
-                    xDataProvider->createDataSequenceByRangeRepresentation(
-                        "label " +
-                        OUString::number( nIndex )));
-                lcl_copyDataSequenceProperties(
-                    aLSequences[nSeqIdx]->getLabel(), xNewLabelSeq );
-                aLSequences[nSeqIdx]->setLabel( xNewLabelSeq );
-                ++nIndex;
-            }
+        if( aSharedIt != aSharedSequences.end())
+        {
+            // Shared sequence. Most likely "values-x" sequence.  Copy it from 
existing sequence.
+            aLSequences[nSeqIdx]->setValues( (*aSharedIt)->getValues());
+            aLSequences[nSeqIdx]->setLabel( (*aSharedIt)->getLabel());
+        }
+        else
+        {
+            // Insert a new column in the internal data for the new sequence.
+            xDataProvider->insertSequence( nIndex - 1 );
+
+            // values
+            Reference< chart2::data::XDataSequence > xNewSeq(
+                xDataProvider->createDataSequenceByRangeRepresentation(
+                    OUString::number( nIndex )));
+            lcl_copyDataSequenceProperties(
+                aLSequences[nSeqIdx]->getValues(), xNewSeq );
+            aLSequences[nSeqIdx]->setValues( xNewSeq );
+
+            // labels
+            Reference< chart2::data::XDataSequence > xNewLabelSeq(
+                xDataProvider->createDataSequenceByRangeRepresentation(
+                    "label " +
+                    OUString::number( nIndex )));
+            lcl_copyDataSequenceProperties(
+                aLSequences[nSeqIdx]->getLabel(), xNewLabelSeq );
+            aLSequences[nSeqIdx]->setLabel( xNewLabelSeq );
+            ++nIndex;
         }
     }
 
     if( nSeriesNumberFormat != 0 )
     {
         //give the new series the same number format as the former series 
especially for bubble charts thus the bubble size values can be edited with 
same format immediately
-        Reference< beans::XPropertySet > xNewSeriesProps( xNewSeries, 
uno::UNO_QUERY );
-        if( xNewSeriesProps.is() )
-            xNewSeriesProps->setPropertyValue(CHART_UNONAME_NUMFMT , 
uno::Any(nSeriesNumberFormat));
+        xNewSeries->setPropertyValue(CHART_UNONAME_NUMFMT , 
uno::Any(nSeriesNumberFormat));
     }
 
     updateFromModel();
diff --git a/chart2/source/controller/dialogs/DialogModel.cxx 
b/chart2/source/controller/dialogs/DialogModel.cxx
index 94659adf1114..13c7571b4b17 100644
--- a/chart2/source/controller/dialogs/DialogModel.cxx
+++ b/chart2/source/controller/dialogs/DialogModel.cxx
@@ -229,8 +229,7 @@ Sequence< OUString > lcl_CopyExcludingValuesFirst(
     return aOutput;
 }
 
-Reference< XDataSeries > lcl_CreateNewSeries(
-    const Reference< uno::XComponentContext > & xContext,
+rtl::Reference< ::chart::DataSeries > lcl_CreateNewSeries(
     const rtl::Reference< ::chart::ChartType > & xChartType,
     sal_Int32 nNewSeriesIndex,
     sal_Int32 nTotalNumberOfSeriesInCTGroup,
@@ -239,21 +238,14 @@ Reference< XDataSeries > lcl_CreateNewSeries(
     bool bCreateDataCachedSequences )
 {
     // create plain series
-    Reference< XDataSeries > xResult(
-        xContext->getServiceManager()->createInstanceWithContext(
-            "com.sun.star.chart2.DataSeries" ,
-            xContext ), uno::UNO_QUERY );
+    rtl::Reference< ::chart::DataSeries > xResult = new ::chart::DataSeries();
     if( xTemplate.is())
     {
-        Reference< beans::XPropertySet > xResultProp( xResult, uno::UNO_QUERY 
);
-        if( xResultProp.is())
-        {
-            // @deprecated: correct default color should be found by view
-            // without setting it as hard attribute
-            Reference< XColorScheme > xColorScheme( 
xDiagram->getDefaultColorScheme());
-            if( xColorScheme.is())
-                xResultProp->setPropertyValue( "Color" , uno::Any( 
xColorScheme->getColorByIndex( nNewSeriesIndex )));
-        }
+        // @deprecated: correct default color should be found by view
+        // without setting it as hard attribute
+        Reference< XColorScheme > xColorScheme( 
xDiagram->getDefaultColorScheme());
+        if( xColorScheme.is())
+            xResult->setPropertyValue( "Color" , uno::Any( 
xColorScheme->getColorByIndex( nNewSeriesIndex )));
         sal_Int32 nGroupIndex=0;
         if( xChartType.is())
         {
@@ -271,8 +263,7 @@ Reference< XDataSeries > lcl_CreateNewSeries(
     if( bCreateDataCachedSequences )
     {
         // set chart type specific roles
-        Reference< data::XDataSink > xSink( xResult, uno::UNO_QUERY );
-        if( xChartType.is() && xSink.is())
+        if( xChartType.is() )
         {
             std::vector< Reference< data::XLabeledDataSequence > > 
aNewSequences;
             const OUString aRoleOfSeqForSeriesLabel = 
xChartType->getRoleOfSequenceForSeriesLabel();
@@ -327,7 +318,7 @@ Reference< XDataSeries > lcl_CreateNewSeries(
                 aNewSequences.push_back( 
::chart::DataSourceHelper::createLabeledDataSequence( xSeq ));
             }
 
-            xSink->setData( comphelper::containerToSequence( aNewSequences ));
+            xResult->setData( comphelper::containerToSequence( aNewSequences 
));
         }
     }
 
@@ -550,14 +541,14 @@ void DialogModel::moveSeries(
     DiagramHelper::moveSeries( xDiagram, xSeries, 
eDirection==MoveDirection::Down );
 }
 
-Reference< chart2::XDataSeries > DialogModel::insertSeriesAfter(
+rtl::Reference< ::chart::DataSeries > DialogModel::insertSeriesAfter(
     const Reference< XDataSeries > & xSeries,
     const rtl::Reference< ::chart::ChartType > & xChartType,
     bool bCreateDataCachedSequences /* = false */ )
 {
     m_aTimerTriggeredControllerLock.startTimer();
     ControllerLockGuardUNO aLockedControllers( m_xChartDocument );
-    Reference< XDataSeries > xNewSeries;
+    rtl::Reference< ::chart::DataSeries > xNewSeries;
 
     try
     {
@@ -572,15 +563,14 @@ Reference< chart2::XDataSeries > 
DialogModel::insertSeriesAfter(
         }
 
         // create new series
-        xNewSeries.set(
+        xNewSeries =
             lcl_CreateNewSeries(
-                m_xContext,
                 xChartType,
                 nTotalSeries, // new series' index
                 nSeriesInChartType,
                 xDiagram,
                 m_xTemplate,
-                bCreateDataCachedSequences ));
+                bCreateDataCachedSequences );
 
         // add new series to container
         if( xNewSeries.is())
diff --git a/chart2/source/controller/dialogs/DialogModel.hxx 
b/chart2/source/controller/dialogs/DialogModel.hxx
index 6e053f84b257..fd3ef59b1fd5 100644
--- a/chart2/source/controller/dialogs/DialogModel.hxx
+++ b/chart2/source/controller/dialogs/DialogModel.hxx
@@ -109,8 +109,8 @@ public:
                      MoveDirection eDirection );
 
     /// @return the newly inserted series
-    css::uno::Reference<
-            css::chart2::XDataSeries > insertSeriesAfter(
+    rtl::Reference<
+            ::chart::DataSeries > insertSeriesAfter(
                 const css::uno::Reference< css::chart2::XDataSeries > & 
xSeries,
                 const rtl::Reference< ::chart::ChartType > & xChartType,
                 bool bCreateDataCachedSequences = false );
diff --git a/chart2/source/controller/dialogs/tp_DataSource.cxx 
b/chart2/source/controller/dialogs/tp_DataSource.cxx
index 558994e03d4c..d9e19e8c5da4 100644
--- a/chart2/source/controller/dialogs/tp_DataSource.cxx
+++ b/chart2/source/controller/dialogs/tp_DataSource.cxx
@@ -25,6 +25,7 @@
 #include <ChartTypeTemplate.hxx>
 #include <ChartModel.hxx>
 #include <RangeSelectionHelper.hxx>
+#include <DataSeries.hxx>
 #include <DataSeriesHelper.hxx>
 #include <ControllerLockGuard.hxx>
 #include <DataSourceHelper.hxx>
diff --git a/chart2/source/inc/OPropertySet.hxx 
b/chart2/source/inc/OPropertySet.hxx
index 0a810fc6d2d8..bc603dbd977c 100644
--- a/chart2/source/inc/OPropertySet.hxx
+++ b/chart2/source/inc/OPropertySet.hxx
@@ -33,7 +33,7 @@
 namespace property
 {
 
-class SAL_DLLPUBLIC_RTTI OPropertySet :
+class OOO_DLLPUBLIC_CHARTTOOLS OPropertySet :
     public ::cppu::OBroadcastHelper,
     // includes beans::XPropertySet, XMultiPropertySet and XFastPropertySet
     public ::cppu::OPropertySetHelper,
@@ -161,7 +161,6 @@ public:
         getPropertyState( const OUString& PropertyName ) override;
     virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL
         getPropertyStates( const css::uno::Sequence< OUString >& aPropertyName 
) override;
-    OOO_DLLPUBLIC_CHARTTOOLS
     virtual void SAL_CALL
         setPropertyToDefault( const OUString& PropertyName ) override;
     virtual css::uno::Any SAL_CALL

Reply via email to