[Libreoffice-commits] core.git: Branch 'feature/polynomialregression' - 2 commits - include/xmloff xmloff/source

Tomaž Vajngerl quikee at gmail.com
Sun Jun 9 03:13:27 PDT 2013


 include/xmloff/xmltoken.hxx                  |   12 ++++++-
 xmloff/source/chart/PropertyMap.hxx          |   11 ++++++
 xmloff/source/chart/SchXMLExport.cxx         |   43 +++++++++------------------
 xmloff/source/chart/SchXMLSeries2Context.cxx |    9 +++--
 xmloff/source/core/xmltoken.cxx              |   13 +++++++-
 5 files changed, 54 insertions(+), 34 deletions(-)

New commits:
commit bda2f4d39aef63eeaaa0ba032f06c51296d39dd8
Author: Tomaž Vajngerl <quikee at gmail.com>
Date:   Sun Jun 9 12:07:16 2013 +0200

    Added new regression curve properties as ODT 1.2 extended.
    
    Added:
    - regression-extrapolate-forward
    - regression-extrapolate-backward
    - regression-max-degree
    - regression-min-degree
    - regression-moving-type
    - regression-period
    - regression-force-intercept
    - regression-intercept-value
    
    Not all of these are yet filled as they are not yet implemented.
    
    Change-Id: I7ac39c0df5b8b7fb7be6b32d301e33a7f49f2960

diff --git a/include/xmloff/xmltoken.hxx b/include/xmloff/xmltoken.hxx
index 9b01d0a..d7ac351 100644
--- a/include/xmloff/xmltoken.hxx
+++ b/include/xmloff/xmltoken.hxx
@@ -1474,7 +1474,6 @@ namespace xmloff { namespace token {
         XML_REGION_RIGHT,
         XML_REGISTER_TRUE,
         XML_REGISTER_TRUTH_REF_STYLE_NAME,
-        XML_REGRESSION_TYPE,
         XML_REJECTED,
         XML_REJECTING_CHANGE_ID,
         XML_REJECTION,
@@ -2143,6 +2142,16 @@ namespace xmloff { namespace token {
         XML_MARKED_INVALID,
 
         XML_REGRESSION_CURVE,
+        XML_REGRESSION_TYPE,
+        XML_REGRESSION_EXTRAPOLATE_FORWARD,
+        XML_REGRESSION_EXTRAPOLATE_BACKWARD,
+        XML_REGRESSION_MAX_DEGREE,
+        XML_REGRESSION_MIN_DEGREE,
+        XML_REGRESSION_MOVING_TYPE,
+        XML_REGRESSION_PERIOD,
+        XML_REGRESSION_FORCE_INTERCEPT,
+        XML_REGRESSION_INTERCEPT_VALUE,
+
         XML_ERROR_INDICATOR,
 
         XML_TABLE_TYPE,
@@ -3185,6 +3194,7 @@ namespace xmloff { namespace token {
         XML_VERTICAL_BAR,
 
         XML_ERROR_STANDARD_WEIGHT, // errorbar standard deviation error weight
+
         XML_TOKEN_END
     };
 
diff --git a/xmloff/source/chart/PropertyMap.hxx b/xmloff/source/chart/PropertyMap.hxx
index 0f48024..fb2a522 100644
--- a/xmloff/source/chart/PropertyMap.hxx
+++ b/xmloff/source/chart/PropertyMap.hxx
@@ -183,7 +183,18 @@ const XMLPropertyMapEntry aXMLChartPropMap[] =
     MAP_ENTRY( "ShowNegativeError", CHART, XML_ERROR_LOWER_INDICATOR, XML_TYPE_BOOL),
     MAP_ENTRY( "ErrorBarStyle", CHART, XML_ERROR_CATEGORY, XML_SCH_TYPE_ERROR_BAR_STYLE ),
     MAP_ENTRY( "PercentageError", CHART, XML_ERROR_PERCENTAGE, XML_TYPE_DOUBLE ),
+
+    // regression curve properties
     MAP_SPECIAL( "RegressionType", CHART, XML_REGRESSION_TYPE, XML_TYPE_STRING, XML_SCH_CONTEXT_SPECIAL_REGRESSION_TYPE ),
+
+    MAP_ENTRY_ODF_EXT( "PolynomialDegree", CHART, XML_REGRESSION_MAX_DEGREE, XML_TYPE_NUMBER ),
+    MAP_ENTRY_ODF_EXT( "MovingAveragePeriod", CHART, XML_REGRESSION_PERIOD, XML_TYPE_NUMBER ),
+    MAP_ENTRY_ODF_EXT( "MovingAverageType", CHART, XML_REGRESSION_MOVING_TYPE, XML_TYPE_STRING ),
+    MAP_ENTRY_ODF_EXT( "ExtrapolateForward", CHART, XML_REGRESSION_EXTRAPOLATE_FORWARD, XML_TYPE_DOUBLE ),
+    MAP_ENTRY_ODF_EXT( "ExtrapolateBackward", CHART, XML_REGRESSION_EXTRAPOLATE_BACKWARD, XML_TYPE_DOUBLE ),
+    MAP_ENTRY_ODF_EXT( "ForceIntercept", CHART, XML_REGRESSION_FORCE_INTERCEPT, XML_TYPE_BOOL ),
+    MAP_ENTRY_ODF_EXT( "InterceptValue", CHART, XML_REGRESSION_INTERCEPT_VALUE, XML_TYPE_DOUBLE ),
+
     MAP_SPECIAL_ODF12( "ErrorBarRangePositive", CHART, XML_ERROR_UPPER_RANGE, XML_TYPE_STRING, XML_SCH_CONTEXT_SPECIAL_ERRORBAR_RANGE ), // export only
     MAP_SPECIAL_ODF12( "ErrorBarRangeNegative", CHART, XML_ERROR_LOWER_RANGE, XML_TYPE_STRING, XML_SCH_CONTEXT_SPECIAL_ERRORBAR_RANGE ), // export only
 
diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
index e682ed5..6c697a1 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -227,12 +227,10 @@ public:
         const ::com::sun::star::uno::Reference<
             ::com::sun::star::chart2::XDiagram > & xDiagram,
         sal_Bool bExportContent );
+
     void exportRegressionCurve(
-        const ::com::sun::star::uno::Reference<
-            ::com::sun::star::chart2::XDataSeries > & xSeries,
-        const ::com::sun::star::uno::Reference<
-            ::com::sun::star::beans::XPropertySet > & xSeriesProp,
-        const ::com::sun::star::awt::Size & rPageSize,
+        const com::sun::star::uno::Reference<com::sun::star::chart2::XDataSeries>& xSeries,
+        const com::sun::star::awt::Size& rPageSize,
         sal_Bool bExportContent );
 
     void exportErrorBar (
@@ -2887,7 +2885,7 @@ void SchXMLExportHelper_Impl::exportSeries(
                     if( xPropSet.is() &&
                         mxExpPropMapper.is() )
                     {
-                        exportRegressionCurve( aSeriesSeq[nSeriesIdx], xPropSet, rPageSize, bExportContent );
+                        exportRegressionCurve( aSeriesSeq[nSeriesIdx], rPageSize, bExportContent );
                     }
 
                     exportErrorBar( xPropSet,false, bExportContent );   // X ErrorBar
@@ -2909,7 +2907,6 @@ void SchXMLExportHelper_Impl::exportSeries(
 
 void SchXMLExportHelper_Impl::exportRegressionCurve(
     const Reference< chart2::XDataSeries >& xSeries,
-    const Reference< beans::XPropertySet >& xSeriesProp,
     const awt::Size& rPageSize,
     sal_Bool bExportContent )
 {
diff --git a/xmloff/source/chart/SchXMLSeries2Context.cxx b/xmloff/source/chart/SchXMLSeries2Context.cxx
index 164f346..98deab5 100644
--- a/xmloff/source/chart/SchXMLSeries2Context.cxx
+++ b/xmloff/source/chart/SchXMLSeries2Context.cxx
@@ -905,6 +905,8 @@ void SchXMLSeries2Context::setStylesToRegressionCurves(
             {
                 Reference< lang::XMultiServiceFactory > xMSF( comphelper::getProcessServiceFactory(), uno::UNO_QUERY );
                 Reference< chart2::XRegressionCurve > xRegCurve( xMSF->createInstance( aServiceName ), uno::UNO_QUERY_THROW );
+                Reference< chart2::XRegressionCurveContainer > xRegCurveCont( iStyle->m_xSeries, uno::UNO_QUERY_THROW );
+
                 if( xRegCurve.is())
                 {
                     Reference< beans::XPropertySet > xCurveProperties( xRegCurve, uno::UNO_QUERY );
@@ -913,7 +915,6 @@ void SchXMLSeries2Context::setStylesToRegressionCurves(
                     xRegCurve->setEquationProperties( iStyle->m_xEquationProperties );
                 }
 
-                Reference< chart2::XRegressionCurveContainer > xRegCurveCont( iStyle->m_xSeries, uno::UNO_QUERY_THROW );
                 xRegCurveCont->addRegressionCurve( xRegCurve );
             }
         }
diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx
index 85e153e..44c611f 100644
--- a/xmloff/source/core/xmltoken.cxx
+++ b/xmloff/source/core/xmltoken.cxx
@@ -1480,7 +1480,6 @@ namespace xmloff { namespace token {
         TOKEN( "region-right",                    XML_REGION_RIGHT ),
         TOKEN( "register-true",                   XML_REGISTER_TRUE ),
         TOKEN( "register-truth-ref-style-name",       XML_REGISTER_TRUTH_REF_STYLE_NAME ),
-        TOKEN( "regression-type",                 XML_REGRESSION_TYPE ),
         TOKEN( "rejected",                        XML_REJECTED ),
         TOKEN( "rejecting-change-id",             XML_REJECTING_CHANGE_ID ),
         TOKEN( "rejection",                       XML_REJECTION ),
@@ -2151,7 +2150,19 @@ namespace xmloff { namespace token {
 
         TOKEN( "marked-invalid",                  XML_MARKED_INVALID ),
 
+        // Regression curve & properties
         TOKEN( "regression-curve",                XML_REGRESSION_CURVE ),
+        TOKEN( "regression-type",                 XML_REGRESSION_TYPE ),
+        // Extended regression curve properties - ODF 1.2 extended
+        TOKEN( "regression-extrapolate-forward",  XML_REGRESSION_EXTRAPOLATE_FORWARD ),
+        TOKEN( "regression-extrapolate-backward", XML_REGRESSION_EXTRAPOLATE_BACKWARD ),
+        TOKEN( "regression-max-degree",           XML_REGRESSION_MAX_DEGREE ),
+        TOKEN( "regression-min-degree",           XML_REGRESSION_MIN_DEGREE ),
+        TOKEN( "regression-moving-type",          XML_REGRESSION_MOVING_TYPE ),
+        TOKEN( "regression-period",               XML_REGRESSION_PERIOD ),
+        TOKEN( "regression-force-intercept",      XML_REGRESSION_FORCE_INTERCEPT ),
+        TOKEN( "regression-intercept-value",      XML_REGRESSION_INTERCEPT_VALUE ),
+
         TOKEN( "error-indicator",                 XML_ERROR_INDICATOR ),
 
         TOKEN( "table-type",                      XML_TABLE_TYPE ),
commit 0c40cab6fbcbd3660b44dc68fcd45e1114e7a4e6
Author: Tomaž Vajngerl <quikee at gmail.com>
Date:   Sat Jun 8 16:38:22 2013 +0200

    Little cleanup in ODT regression lines import/export
    
    Change-Id: Ie6cdfec1295e08cd5141056eeac39f248ee97766

diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
index a42c302..e682ed5 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -2933,17 +2933,19 @@ void SchXMLExportHelper_Impl::exportRegressionCurve(
             if (!xRegCurve.is())
                 continue;
 
-            bool bShowEquation = false;
-            bool bShowRSquared = false;
-            bool bExportEquation = false;
-
             Reference< beans::XPropertySet > xProperties( xRegCurve , uno::UNO_QUERY );
-
-            OUString aService;
+            if( !xProperties.is() )
+                continue;
 
             Reference< lang::XServiceName > xServiceName( xProperties, uno::UNO_QUERY );
             if( !xServiceName.is() )
                 continue;
+
+            bool bShowEquation = false;
+            bool bShowRSquared = false;
+            bool bExportEquation = false;
+
+            OUString aService;
             aService = xServiceName->getServiceName();
 
             aPropertyStates = mxExpPropMapper->Filter( xProperties );
@@ -2954,11 +2956,7 @@ void SchXMLExportHelper_Impl::exportRegressionCurve(
             aPropertyStates.push_back(property);
 
             Reference< beans::XPropertySet > xEquationProperties;
-            if( xRegCurve.is())
-            {
-                xEquationProperties.set( xRegCurve->getEquationProperties() );
-            }
-
+            xEquationProperties.set( xRegCurve->getEquationProperties() );
             if( xEquationProperties.is())
             {
                 xEquationProperties->getPropertyValue( OUString("ShowEquation")) >>= bShowEquation;
@@ -2997,16 +2995,8 @@ void SchXMLExportHelper_Impl::exportRegressionCurve(
                     SvXMLElementExport aRegressionExport( mrExport, XML_NAMESPACE_CHART, XML_REGRESSION_CURVE, sal_True, sal_True );
                     if( bExportEquation )
                     {
-                        // default is true
-                        if( !bShowEquation )
-                        {
-                            mrExport.AddAttribute( XML_NAMESPACE_CHART, XML_DISPLAY_EQUATION, XML_FALSE );
-                        }
-                        // default is false
-                        if( bShowRSquared )
-                        {
-                            mrExport.AddAttribute( XML_NAMESPACE_CHART, XML_DISPLAY_R_SQUARE, XML_TRUE );
-                        }
+                        mrExport.AddAttribute( XML_NAMESPACE_CHART, XML_DISPLAY_EQUATION, (bShowEquation ? XML_TRUE : XML_FALSE) );
+                        mrExport.AddAttribute( XML_NAMESPACE_CHART, XML_DISPLAY_R_SQUARE, (bShowRSquared ? XML_TRUE : XML_FALSE) );
 
                         // export position
                         chart2::RelativePosition aRelativePosition;
diff --git a/xmloff/source/chart/SchXMLSeries2Context.cxx b/xmloff/source/chart/SchXMLSeries2Context.cxx
index c13b5dd..164f346 100644
--- a/xmloff/source/chart/SchXMLSeries2Context.cxx
+++ b/xmloff/source/chart/SchXMLSeries2Context.cxx
@@ -241,7 +241,7 @@ Reference< chart2::data::XLabeledDataSequence2 > lcl_createAndAddSequenceToSerie
     return xLabeledSeq;
 }
 
-XMLPropStyleContext* lcl_GetStyleContext(
+XMLPropStyleContext* lcl_GetStylePropContext(
                         const SvXMLStylesContext* pStylesCtxt,
                         const SvXMLStyleContext*& rpStyle,
                         OUString& rStyleName )
@@ -875,7 +875,7 @@ void SchXMLSeries2Context::setStylesToRegressionCurves(
 
             if (!rCurrentStyleName.isEmpty())
             {
-                XMLPropStyleContext* pCurrent = lcl_GetStyleContext(pStylesCtxt, rpStyle, rCurrentStyleName);
+                XMLPropStyleContext* pCurrent = lcl_GetStylePropContext(pStylesCtxt, rpStyle, rCurrentStyleName);
                 if( pCurrent )
                 {
                     pPropStyleContext = pCurrent;
@@ -889,7 +889,7 @@ void SchXMLSeries2Context::setStylesToRegressionCurves(
 
             if (!iStyle->msStyleName.isEmpty())
             {
-                XMLPropStyleContext* pCurrent = lcl_GetStyleContext(pStylesCtxt, rpStyle, iStyle->msStyleName);
+                XMLPropStyleContext* pCurrent = lcl_GetStylePropContext(pStylesCtxt, rpStyle, iStyle->msStyleName);
                 if( pCurrent )
                 {
                     pPropStyleContext = pCurrent;


More information about the Libreoffice-commits mailing list