diff options
Diffstat (limited to 'sc/source/filter/inc')
-rw-r--r-- | sc/source/filter/inc/xechart.hxx | 17 | ||||
-rw-r--r-- | sc/source/filter/inc/xichart.hxx | 5 | ||||
-rwxr-xr-x | sc/source/filter/inc/xlchart.hxx | 35 | ||||
-rw-r--r-- | sc/source/filter/inc/xlroot.hxx | 2 |
4 files changed, 54 insertions, 5 deletions
diff --git a/sc/source/filter/inc/xechart.hxx b/sc/source/filter/inc/xechart.hxx index 5bb75e029210..5178d6d99968 100644 --- a/sc/source/filter/inc/xechart.hxx +++ b/sc/source/filter/inc/xechart.hxx @@ -47,6 +47,10 @@ namespace com { namespace sun { namespace star { { class XModel; } + namespace chart + { + class XAxis; + } namespace chart2 { struct ScaleData; @@ -1011,18 +1015,21 @@ public: explicit XclExpChLabelRange( const XclExpChRoot& rRoot ); /** Converts category axis scaling settings. */ - void Convert( const ::com::sun::star::chart2::ScaleData& rScaleData, bool bMirrorOrient ); + void Convert( const ::com::sun::star::chart2::ScaleData& rScaleData, + const ScfPropertySet& rChart1Axis, bool bMirrorOrient ); /** Converts position settings of a crossing axis at this axis. */ void ConvertAxisPosition( const ScfPropertySet& rPropSet ); /** Sets flag for tickmark position between categories or on categories. */ inline void SetTicksBetweenCateg( bool bTicksBetween ) - { ::set_flag( maData.mnFlags, EXC_CHLABELRANGE_BETWEEN, bTicksBetween ); } + { ::set_flag( maLabelData.mnFlags, EXC_CHLABELRANGE_BETWEEN, bTicksBetween ); } private: + virtual void Save( XclExpStream& rStrm ); virtual void WriteBody( XclExpStream& rStrm ); private: - XclChLabelRange maData; /// Contents of the CHLABELRANGE record. + XclChLabelRange maLabelData; /// Contents of the CHLABELRANGE record. + XclChDateRange maDateData; /// Contents of the CHDATERANGE record. }; typedef ScfRef< XclExpChLabelRange > XclExpChLabelRangeRef; @@ -1085,6 +1092,7 @@ class XclExpChAxis : public XclExpChGroupBase, public XclExpChFontBase public: typedef ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XDiagram > XDiagramRef; typedef ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XAxis > XAxisRef; + typedef ::com::sun::star::uno::Reference< ::com::sun::star::chart::XAxis > XChart1AxisRef; public: explicit XclExpChAxis( const XclExpChRoot& rRoot, sal_uInt16 nAxisType ); @@ -1095,7 +1103,8 @@ public: virtual void SetRotation( sal_uInt16 nRotation ); /** Converts formatting and scaling settings from the passed axis. */ - void Convert( XAxisRef xAxis, XAxisRef xCrossingAxis, const XclChExtTypeInfo& rTypeInfo ); + void Convert( XAxisRef xAxis, XAxisRef xCrossingAxis, + XChart1AxisRef xChart1Axis, const XclChExtTypeInfo& rTypeInfo ); /** Converts and writes 3D wall/floor properties from the passed diagram. */ void ConvertWall( XDiagramRef xDiagram ); diff --git a/sc/source/filter/inc/xichart.hxx b/sc/source/filter/inc/xichart.hxx index d8289b3b671b..0fbde9db0905 100644 --- a/sc/source/filter/inc/xichart.hxx +++ b/sc/source/filter/inc/xichart.hxx @@ -1134,13 +1134,16 @@ public: explicit XclImpChLabelRange( const XclImpChRoot& rRoot ); /** Reads the CHLABELRANGE record (category axis scaling properties). */ void ReadChLabelRange( XclImpStream& rStrm ); + /** Reads the CHDATERANGE record (date axis scaling properties). */ + void ReadChDateRange( XclImpStream& rStrm ); /** Converts category axis scaling settings. */ void Convert( ScfPropertySet& rPropSet, ScaleData& rScaleData, bool bMirrorOrient ) const; /** Converts position settings of this axis at a crossing axis. */ void ConvertAxisPosition( ScfPropertySet& rPropSet, bool b3dChart ) const; private: - XclChLabelRange maData; /// Contents of the CHLABELRANGE record. + XclChLabelRange maLabelData; /// Contents of the CHLABELRANGE record. + XclChDateRange maDateData; /// Contents of the CHDATERANGE record. }; typedef ScfRef< XclImpChLabelRange > XclImpChLabelRangeRef; diff --git a/sc/source/filter/inc/xlchart.hxx b/sc/source/filter/inc/xlchart.hxx index 13eda8619cc0..68186a238847 100755 --- a/sc/source/filter/inc/xlchart.hxx +++ b/sc/source/filter/inc/xlchart.hxx @@ -101,6 +101,7 @@ class XclRoot; #define EXC_CHPROP_ERRORBARX CREATE_OUSTRING( "ErrorBarX" ) #define EXC_CHPROP_ERRORBARY CREATE_OUSTRING( "ErrorBarY" ) #define EXC_CHPROP_EXPANSION CREATE_OUSTRING( "Expansion" ) +#define EXC_CHPROP_EXPTIMEINCREMENT CREATE_OUSTRING( "ExplicitTimeIncrement" ) #define EXC_CHPROP_FILLBITMAPMODE CREATE_OUSTRING( "FillBitmapMode" ) #define EXC_CHPROP_FILLSTYLE CREATE_OUSTRING( "FillStyle" ) #define EXC_CHPROP_GAPWIDTHSEQ CREATE_OUSTRING( "GapwidthSequence" ) @@ -721,6 +722,23 @@ const sal_uInt8 EXC_CH3DDATAFORMAT_TRUNC = 2; /// Shart top, trunc const sal_uInt16 EXC_ID_CHPIEEXT = 0x1061; +// (0x1062) CHDATERANGE ------------------------------------------------------- + +const sal_uInt16 EXC_ID_CHDATERANGE = 0x1062; + +const sal_uInt16 EXC_CHDATERANGE_AUTOMIN = 0x0001; +const sal_uInt16 EXC_CHDATERANGE_AUTOMAX = 0x0002; +const sal_uInt16 EXC_CHDATERANGE_AUTOMAJOR = 0x0004; +const sal_uInt16 EXC_CHDATERANGE_AUTOMINOR = 0x0008; +const sal_uInt16 EXC_CHDATERANGE_DATEAXIS = 0x0010; +const sal_uInt16 EXC_CHDATERANGE_AUTOBASE = 0x0020; +const sal_uInt16 EXC_CHDATERANGE_AUTOCROSS = 0x0040; /// Other axis crosses at own maximum. +const sal_uInt16 EXC_CHDATERANGE_AUTODATE = 0x0080; /// Recognize date/text automatically. + +const sal_uInt16 EXC_CHDATERANGE_DAYS = 0; +const sal_uInt16 EXC_CHDATERANGE_MONTHS = 1; +const sal_uInt16 EXC_CHDATERANGE_YEARS = 2; + // (0x1066) CHESCHERFORMAT ---------------------------------------------------- const sal_uInt16 EXC_ID_CHESCHERFORMAT = 0x1066; @@ -1054,6 +1072,23 @@ struct XclChLabelRange // ---------------------------------------------------------------------------- +struct XclChDateRange +{ + sal_uInt16 mnMinDate; /// Minimum value on axis. + sal_uInt16 mnMaxDate; /// Maximum value on axis. + sal_uInt16 mnMajorStep; /// Distance for major grid lines. + sal_uInt16 mnMajorUnit; /// Time unit for major step. + sal_uInt16 mnMinorStep; /// Distance for minor grid lines. + sal_uInt16 mnMinorUnit; /// Time unit for minor step. + sal_uInt16 mnBaseUnit; /// Time unit for axis values. + sal_uInt16 mnCross; /// Crossing position of other axis. + sal_uInt16 mnFlags; /// Additional flags. + + explicit XclChDateRange(); +}; + +// ---------------------------------------------------------------------------- + struct XclChValueRange { double mfMin; /// Minimum value on axis. diff --git a/sc/source/filter/inc/xlroot.hxx b/sc/source/filter/inc/xlroot.hxx index 44ded449cd76..af42efcdb426 100644 --- a/sc/source/filter/inc/xlroot.hxx +++ b/sc/source/filter/inc/xlroot.hxx @@ -239,6 +239,8 @@ public: SvNumberFormatter& GetFormatter() const; /** Returns the null date of the current number formatter. */ DateTime GetNullDate() const; + /** Returns the base year depending on the current null date (1900 or 1904). */ + sal_uInt16 GetBaseYear() const; /** Converts a date/time value to a floating-point value. */ double GetDoubleFromDateTime( const DateTime& rDateTime ) const; /** Converts a floating-point value to a date/time value. */ |