diff options
Diffstat (limited to 'oox/inc')
22 files changed, 243 insertions, 56 deletions
diff --git a/oox/inc/oox/drawingml/chart/axisconverter.hxx b/oox/inc/oox/drawingml/chart/axisconverter.hxx index 4e8f86279133..925fa1fe8b4f 100644 --- a/oox/inc/oox/drawingml/chart/axisconverter.hxx +++ b/oox/inc/oox/drawingml/chart/axisconverter.hxx @@ -41,15 +41,6 @@ namespace chart { // ============================================================================ -const sal_Int32 API_PRIM_AXESSET = 0; -const sal_Int32 API_SECN_AXESSET = 1; - -const sal_Int32 API_X_AXIS = 0; -const sal_Int32 API_Y_AXIS = 1; -const sal_Int32 API_Z_AXIS = 2; - -// ============================================================================ - struct AxisModel; class TypeGroupConverter; diff --git a/oox/inc/oox/drawingml/chart/chartcontextbase.hxx b/oox/inc/oox/drawingml/chart/chartcontextbase.hxx index 470596a5228e..f034b4b6e6bb 100644 --- a/oox/inc/oox/drawingml/chart/chartcontextbase.hxx +++ b/oox/inc/oox/drawingml/chart/chartcontextbase.hxx @@ -79,6 +79,21 @@ public: // ============================================================================ +struct LayoutModel; + +/** Handler for a chart layout context (c:layout element). + */ +class LayoutContext : public ContextBase< LayoutModel > +{ +public: + explicit LayoutContext( ::oox::core::ContextHandler2Helper& rParent, LayoutModel& rModel ); + virtual ~LayoutContext(); + + virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ); +}; + +// ============================================================================ + } // namespace chart } // namespace drawingml } // namespace oox diff --git a/oox/inc/oox/drawingml/chart/converterbase.hxx b/oox/inc/oox/drawingml/chart/converterbase.hxx index 23f5a5ff9266..c937c6e94900 100644 --- a/oox/inc/oox/drawingml/chart/converterbase.hxx +++ b/oox/inc/oox/drawingml/chart/converterbase.hxx @@ -32,9 +32,12 @@ #include "oox/drawingml/chart/objectformatter.hxx" namespace com { namespace sun { namespace star { + namespace awt { struct Rectangle; } namespace awt { struct Size; } namespace lang { class XMultiServiceFactory; } namespace chart2 { class XChartDocument; } + namespace chart2 { class XTitle; } + namespace drawing { class XShape; } } } } namespace oox { namespace core { @@ -45,13 +48,21 @@ namespace oox { namespace drawingml { namespace chart { -// ============================================================================ - class ChartConverter; -class ObjectFormatter; struct ChartSpaceModel; struct ConverterData; +// ============================================================================ + +const sal_Int32 API_PRIM_AXESSET = 0; +const sal_Int32 API_SECN_AXESSET = 1; + +const sal_Int32 API_X_AXIS = 0; +const sal_Int32 API_Y_AXIS = 1; +const sal_Int32 API_Z_AXIS = 2; + +// ============================================================================ + class ConverterRoot { public: @@ -63,12 +74,6 @@ public: const ::com::sun::star::awt::Size& rChartSize ); virtual ~ConverterRoot(); - /** Creates an instance for the passed service name, using the passed service factory. */ - static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > - createInstance( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rxFactory, - const ::rtl::OUString& rServiceName ); - /** Creates an instance for the passed service name, using the process service factory. */ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > createInstance( const ::rtl::OUString& rServiceName ) const; @@ -86,12 +91,24 @@ protected: /** Returns the object formatter. */ ObjectFormatter& getFormatter() const; + /** Registers a title object and its layout data, needed for conversion of + the title position using the old Chart1 API. */ + void registerTitleLayout( + const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XTitle >& rxTitle, + const ModelRef< LayoutModel >& rxLayout, ObjectType eObjType, + sal_Int32 nMainIdx = -1, sal_Int32 nSubIdx = -1 ); + /** Converts the positions of the main title and all axis titles. */ + void convertTitlePositions(); + private: ::boost::shared_ptr< ConverterData > mxData; }; // ============================================================================ +/** Base class of all converter classes. Holds a reference to a model structure + of the specified type. + */ template< typename ModelType > class ConverterBase : public ConverterRoot { @@ -109,6 +126,30 @@ protected: // ============================================================================ +/** A layout converter calculates positions and sizes for various chart objects. + */ +class LayoutConverter : public ConverterBase< LayoutModel > +{ +public: + explicit LayoutConverter( const ConverterRoot& rParent, LayoutModel& rModel ); + virtual ~LayoutConverter(); + + /** Tries to calculate the absolute position and size from the contained + OOXML layout model. Returns true, if returned rectangle is valid. */ + bool calcAbsRectangle( ::com::sun::star::awt::Rectangle& orRect ) const; + + /** Tries to set the position from the contained OOXML layout model. + Returns true, if a manual position could be calculated. */ + bool convertFromModel( PropertySet& rPropSet ); + /** Tries to set the position from the contained OOXML layout model. + Returns true, if a manual position could be calculated. */ + bool convertFromModel( + const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& rxShape, + double fRotationAngle ); +}; + +// ============================================================================ + } // namespace chart } // namespace drawingml } // namespace oox diff --git a/oox/inc/oox/drawingml/chart/modelbase.hxx b/oox/inc/oox/drawingml/chart/modelbase.hxx index 113d6f686fd1..d34970025abd 100644 --- a/oox/inc/oox/drawingml/chart/modelbase.hxx +++ b/oox/inc/oox/drawingml/chart/modelbase.hxx @@ -114,6 +114,25 @@ struct NumberFormat // ============================================================================ +struct LayoutModel +{ + double mfX; /// Left position of this object. + double mfY; /// Top position of this object. + double mfW; /// Width of this object. + double mfH; /// Height of this object. + sal_Int32 mnXMode; /// Mode for left position. + sal_Int32 mnYMode; /// Mode for top position. + sal_Int32 mnWMode; /// Mode for width. + sal_Int32 mnHMode; /// Mode for height. + sal_Int32 mnTarget; /// Layout target for plot area. + bool mbAutoLayout; /// True = automatic positioning. + + explicit LayoutModel(); + ~LayoutModel(); +}; + +// ============================================================================ + } // namespace chart } // namespace drawingml } // namespace oox diff --git a/oox/inc/oox/drawingml/chart/plotareaconverter.hxx b/oox/inc/oox/drawingml/chart/plotareaconverter.hxx index b2583b2e57a1..e35afb633b92 100644 --- a/oox/inc/oox/drawingml/chart/plotareaconverter.hxx +++ b/oox/inc/oox/drawingml/chart/plotareaconverter.hxx @@ -83,6 +83,8 @@ public: /** Converts the OOXML plot area model to a chart2 diagram. */ void convertFromModel( View3DModel& rView3DModel ); + /** Converts the manual plot area position and size, if set. */ + void convertPositionFromModel(); /** Returns the automatic chart title if the chart contains only one series. */ inline const ::rtl::OUString& getAutomaticTitle() const { return maAutoTitle; } @@ -95,6 +97,7 @@ private: ::rtl::OUString maAutoTitle; bool mb3dChart; bool mbWall3dChart; + bool mbPieChart; }; // ============================================================================ diff --git a/oox/inc/oox/drawingml/chart/plotareamodel.hxx b/oox/inc/oox/drawingml/chart/plotareamodel.hxx index 2dfe1c33f4e3..c5793717defc 100644 --- a/oox/inc/oox/drawingml/chart/plotareamodel.hxx +++ b/oox/inc/oox/drawingml/chart/plotareamodel.hxx @@ -31,7 +31,6 @@ #include "oox/drawingml/shape.hxx" #include "oox/drawingml/chart/axismodel.hxx" #include "oox/drawingml/chart/seriesmodel.hxx" -#include "oox/drawingml/chart/titlemodel.hxx" #include "oox/drawingml/chart/typegroupmodel.hxx" namespace oox { diff --git a/oox/inc/oox/drawingml/chart/seriesconverter.hxx b/oox/inc/oox/drawingml/chart/seriesconverter.hxx index 7f6a08655b17..fd3ca207d7c0 100644 --- a/oox/inc/oox/drawingml/chart/seriesconverter.hxx +++ b/oox/inc/oox/drawingml/chart/seriesconverter.hxx @@ -100,6 +100,18 @@ private: // ============================================================================ +class TrendlineLabelConverter : public ConverterBase< TrendlineLabelModel > +{ +public: + explicit TrendlineLabelConverter( const ConverterRoot& rParent, TrendlineLabelModel& rModel ); + virtual ~TrendlineLabelConverter(); + + /** Converts the OOXML trendline label. */ + void convertFromModel( PropertySet& rPropSet ); +}; + +// ============================================================================ + class TrendlineConverter : public ConverterBase< TrendlineModel > { public: diff --git a/oox/inc/oox/drawingml/chart/titlecontext.hxx b/oox/inc/oox/drawingml/chart/titlecontext.hxx index b5743cc78f42..b3fec5d93203 100644 --- a/oox/inc/oox/drawingml/chart/titlecontext.hxx +++ b/oox/inc/oox/drawingml/chart/titlecontext.hxx @@ -36,21 +36,6 @@ namespace chart { // ============================================================================ -struct LayoutModel; - -/** Handler for a chart layout context (c:layout element). - */ -class LayoutContext : public ContextBase< LayoutModel > -{ -public: - explicit LayoutContext( ::oox::core::ContextHandler2Helper& rParent, LayoutModel& rModel ); - virtual ~LayoutContext(); - - virtual ::oox::core::ContextHandlerRef onCreateContext( sal_Int32 nElement, const AttributeList& rAttribs ); -}; - -// ============================================================================ - struct TextModel; /** Handler for a chart text context (c:tx element). diff --git a/oox/inc/oox/drawingml/chart/titleconverter.hxx b/oox/inc/oox/drawingml/chart/titleconverter.hxx index d1fcfcfcfebc..d153e9f3e760 100644 --- a/oox/inc/oox/drawingml/chart/titleconverter.hxx +++ b/oox/inc/oox/drawingml/chart/titleconverter.hxx @@ -84,7 +84,8 @@ public: /** Creates a title text object and attaches it at the passed interface. */ void convertFromModel( const ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XTitled >& rxTitled, - const ::rtl::OUString& rAutoTitle, ObjectType eObjType ); + const ::rtl::OUString& rAutoTitle, ObjectType eObjType, + sal_Int32 nMainIdx = -1, sal_Int32 nSubIdx = -1 ); }; // ============================================================================ diff --git a/oox/inc/oox/drawingml/chart/titlemodel.hxx b/oox/inc/oox/drawingml/chart/titlemodel.hxx index f5d46957b450..f80837249809 100644 --- a/oox/inc/oox/drawingml/chart/titlemodel.hxx +++ b/oox/inc/oox/drawingml/chart/titlemodel.hxx @@ -37,24 +37,6 @@ namespace chart { // ============================================================================ -struct LayoutModel -{ - double mfX; /// Left position of this object. - double mfY; /// Top position of this object. - double mfW; /// Width of this object. - double mfH; /// Height of this object. - sal_Int32 mnXMode; /// Mode for left position. - sal_Int32 mnYMode; /// Mode for top position. - sal_Int32 mnWMode; /// Mode for width. - sal_Int32 mnHMode; /// Mode for height. - sal_Int32 mnTarget; /// Layout target for plot area. - - explicit LayoutModel(); - ~LayoutModel(); -}; - -// ============================================================================ - struct TextModel { typedef ModelRef< DataSequenceModel > DataSequenceRef; diff --git a/oox/inc/oox/drawingml/customshapeproperties.hxx b/oox/inc/oox/drawingml/customshapeproperties.hxx index 44e91d6e797b..171437095f03 100644 --- a/oox/inc/oox/drawingml/customshapeproperties.hxx +++ b/oox/inc/oox/drawingml/customshapeproperties.hxx @@ -30,8 +30,10 @@ #include "oox/helper/propertymap.hxx" #include "oox/drawingml/color.hxx" +#include "oox/core/xmlfilterbase.hxx" #include <com/sun/star/graphic/XGraphic.hpp> #include <boost/shared_ptr.hpp> +#include "oox/helper/helper.hxx" #include "tokens.hxx" #include <vector> #include <map> @@ -43,7 +45,9 @@ #include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp> #include <com/sun/star/drawing/EnhancedCustomShapeTextPathMode.hpp> +#ifndef __com_sun_star_beans_PropertyValues_hpp__ #include <com/sun/star/beans/PropertyValues.hpp> +#endif #include <com/sun/star/drawing/ProjectionMode.hpp> #include <com/sun/star/drawing/XShape.hpp> @@ -59,6 +63,55 @@ struct CustomShapeGuide rtl::OUString maFormula; }; +struct AdjustHandle +{ + sal_Bool polar; + com::sun::star::drawing::EnhancedCustomShapeParameterPair + pos; + + // depending to the type (polar or not): + OptValue< rtl::OUString > gdRef1; // gdRefX or gdRefR + OptValue< com::sun::star::drawing::EnhancedCustomShapeParameter > + min1; // minX or minR + OptValue< com::sun::star::drawing::EnhancedCustomShapeParameter > + max1; // maxX or maxR + OptValue< rtl::OUString > gdRef2; // gdRefY or gdRefAng + OptValue< com::sun::star::drawing::EnhancedCustomShapeParameter > + min2; // minX or minAng + OptValue< com::sun::star::drawing::EnhancedCustomShapeParameter > + max2; // maxY or maxAng + + AdjustHandle( sal_Bool bPolar ) : polar( bPolar ) {}; +}; + +struct ConnectionSite +{ + com::sun::star::drawing::EnhancedCustomShapeParameterPair + pos; + com::sun::star::drawing::EnhancedCustomShapeParameter + ang; +}; + +struct GeomRect +{ + com::sun::star::drawing::EnhancedCustomShapeParameter l; + com::sun::star::drawing::EnhancedCustomShapeParameter t; + com::sun::star::drawing::EnhancedCustomShapeParameter r; + com::sun::star::drawing::EnhancedCustomShapeParameter b; +}; + +struct Path2D +{ + sal_Int64 w; + sal_Int64 h; + sal_Int32 fill; + sal_Bool stroke; + sal_Bool extrusionOk; + std::vector< com::sun::star::drawing::EnhancedCustomShapeParameterPair > parameter; + + Path2D() : w( 0 ), h( 0 ), fill( XML_norm ), stroke( sal_True ), extrusionOk( sal_True ) {}; +}; + class CustomShapeProperties { public: @@ -67,18 +120,36 @@ public: virtual ~CustomShapeProperties(); void apply( const CustomShapePropertiesPtr& ); - void pushToPropSet( const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet, + void pushToPropSet( const ::oox::core::FilterBase& rFilterBase, + const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySet > & xPropSet, const ::com::sun::star::uno::Reference < ::com::sun::star::drawing::XShape > & xShape) const; void setShapePresetType( const rtl::OUString& rShapePresetType ){ maShapePresetType = rShapePresetType; }; - std::vector< CustomShapeGuide >& getAdjustmentValues(){ return maAdjustmentValues; }; + + std::vector< CustomShapeGuide >& getAdjustmentGuideList(){ return maAdjustmentGuideList; }; + std::vector< CustomShapeGuide >& getGuideList(){ return maGuideList; }; + std::vector< AdjustHandle >& getAdjustHandleList(){ return maAdjustHandleList; }; + std::vector< ConnectionSite >& getConnectionSiteList(){ return maConnectionSiteList; }; + OptValue< GeomRect >& getTextRect(){ return maTextRect; }; + std::vector< Path2D >& getPath2DList(){ return maPath2DList; }; + std::vector< com::sun::star::drawing::EnhancedCustomShapeSegment >& getSegments(){ return maSegments; }; double getValue( const std::vector< CustomShapeGuide >&, sal_uInt32 nIndex ) const; + static sal_Int32 SetCustomShapeGuideValue( std::vector< CustomShapeGuide >& rGuideList, const CustomShapeGuide& rGuide ); + static sal_Int32 GetCustomShapeGuideValue( const std::vector< CustomShapeGuide >& rGuideList, const rtl::OUString& rFormulaName ); private: rtl::OUString maShapePresetType; - std::vector< CustomShapeGuide > maAdjustmentValues; + std::vector< CustomShapeGuide > maAdjustmentGuideList; + std::vector< CustomShapeGuide > maGuideList; + std::vector< AdjustHandle > maAdjustHandleList; + std::vector< ConnectionSite > maConnectionSiteList; + OptValue< GeomRect > maTextRect; + std::vector< Path2D > maPath2DList; + + std::vector< com::sun::star::drawing::EnhancedCustomShapeSegment > + maSegments; }; } } diff --git a/oox/inc/oox/drawingml/drawingmltypes.hxx b/oox/inc/oox/drawingml/drawingmltypes.hxx index ed4367e63857..f8bb4c91b5d5 100644 --- a/oox/inc/oox/drawingml/drawingmltypes.hxx +++ b/oox/inc/oox/drawingml/drawingmltypes.hxx @@ -30,6 +30,7 @@ #include <boost/shared_ptr.hpp> #include <com/sun/star/style/TabAlign.hpp> +#include <com/sun/star/drawing/TextVerticalAdjust.hpp> #include <com/sun/star/geometry/IntegerRectangle2D.hpp> #include <com/sun/star/awt/Point.hpp> #include <com/sun/star/awt/Size.hpp> @@ -118,6 +119,9 @@ float GetTextSize( const ::rtl::OUString& rValue ); /** converts the ST_TextSpacingPoint to 1/100mm */ sal_Int32 GetTextSpacingPoint( const ::rtl::OUString& sValue ); +sal_Int32 GetTextSpacingPoint( const sal_Int32 nValue ); + +::com::sun::star::drawing::TextVerticalAdjust GetTextVerticalAdjust( sal_Int32 nToken ); /** */ ::com::sun::star::style::TabAlign GetTabAlign( ::sal_Int32 aToken ); diff --git a/oox/inc/oox/drawingml/shape.hxx b/oox/inc/oox/drawingml/shape.hxx index f4f5a5ee68fe..f4228ab24790 100644 --- a/oox/inc/oox/drawingml/shape.hxx +++ b/oox/inc/oox/drawingml/shape.hxx @@ -42,6 +42,9 @@ namespace oox { namespace drawingml { +class CustomShapeProperties; +typedef boost::shared_ptr< CustomShapeProperties > CustomShapePropertiesPtr; + typedef ::std::map< ::rtl::OUString, ShapePtr > ShapeIdMap; struct ShapeStyleRef @@ -123,6 +126,7 @@ public: void setName( const rtl::OUString& rName ) { msName = rName; } ::rtl::OUString getName( ) { return msName; } void setId( const rtl::OUString& rId ) { msId = rId; } + void setHidden( sal_Bool bHidden ) { mbHidden = bHidden; } void setSubType( sal_Int32 nSubType ) { mnSubType = nSubType; } sal_Int32 getSubType() const { return mnSubType; } void setSubTypeIndex( sal_uInt32 nSubTypeIndex ) { mnSubTypeIndex = nSubTypeIndex; } @@ -203,6 +207,7 @@ private: sal_Int32 mnRotation; sal_Bool mbFlipH; sal_Bool mbFlipV; + sal_Bool mbHidden; }; ::rtl::OUString GetShapeType( sal_Int32 nType ); diff --git a/oox/inc/oox/drawingml/textcharacterproperties.hxx b/oox/inc/oox/drawingml/textcharacterproperties.hxx index 81cd95dddff2..6f4282471227 100644 --- a/oox/inc/oox/drawingml/textcharacterproperties.hxx +++ b/oox/inc/oox/drawingml/textcharacterproperties.hxx @@ -52,6 +52,7 @@ struct TextCharacterProperties Color maHighlightColor; OptValue< ::rtl::OUString > moLang; OptValue< sal_Int32 > moHeight; + OptValue< sal_Int32 > moSpacing; OptValue< sal_Int32 > moUnderline; OptValue< sal_Int32 > moStrikeout; OptValue< sal_Int32 > moCaseMap; diff --git a/oox/inc/oox/drawingml/textliststyle.hxx b/oox/inc/oox/drawingml/textliststyle.hxx index 6ba4cdf1d62a..1a8fca45bf25 100644 --- a/oox/inc/oox/drawingml/textliststyle.hxx +++ b/oox/inc/oox/drawingml/textliststyle.hxx @@ -50,6 +50,10 @@ public: inline const TextParagraphPropertiesVector& getAggregationListStyle() const { return maAggregationListStyle; }; inline TextParagraphPropertiesVector& getAggregationListStyle() { return maAggregationListStyle; }; +#if OSL_DEBUG_LEVEL > 0 + void dump( int nLevels=9 ); +#endif + protected: TextParagraphPropertiesVector maListStyle; diff --git a/oox/inc/oox/drawingml/textparagraphproperties.hxx b/oox/inc/oox/drawingml/textparagraphproperties.hxx index ef80af2d1c11..310df83212a0 100644 --- a/oox/inc/oox/drawingml/textparagraphproperties.hxx +++ b/oox/inc/oox/drawingml/textparagraphproperties.hxx @@ -112,6 +112,10 @@ public: size can be zero and the default value is returned. */ float getCharHeightPoints( float fDefault ) const; +#if OSL_DEBUG_LEVEL > 0 + void dump() { maTextParagraphPropertyMap.dump(); OSL_TRACE("character height: %f", maTextCharacterProperties.getCharHeightPoints(-1)); } +#endif + protected: TextCharacterProperties maTextCharacterProperties; diff --git a/oox/inc/oox/dump/biffdumper.hxx b/oox/inc/oox/dump/biffdumper.hxx index e9016fdf0b2b..e3e712a52a25 100644 --- a/oox/inc/oox/dump/biffdumper.hxx +++ b/oox/inc/oox/dump/biffdumper.hxx @@ -32,6 +32,7 @@ #include "oox/dump/dffdumper.hxx" #include "oox/dump/oledumper.hxx" #include "oox/xls/richstring.hxx" +#include "oox/xls/biffinputstream.hxx" #if OOX_INCLUDE_DUMPER @@ -211,6 +212,10 @@ protected: void dumpRect( const String& rName, const NameListWrapper& rListWrp = NO_LIST, FormatType eFmtType = FORMATTYPE_DEC ); + template< typename Type > + void dumpRectWithGaps( const String& rName, sal_Int32 nGap, + const NameListWrapper& rListWrp = NO_LIST, + FormatType eFmtType = FORMATTYPE_DEC ); sal_uInt16 dumpRepeatedRecId(); void dumpFrHeader( bool bWithFlags, bool bWithRange ); @@ -259,6 +264,22 @@ void BiffObjectBase::dumpRect( const String& rName, writeRectItem( rName, nLeft, nTop, nWidth, nHeight, rListWrp, eFmtType ); } +template< typename Type > +void BiffObjectBase::dumpRectWithGaps( const String& rName, sal_Int32 nGap, + const NameListWrapper& rListWrp, FormatType eFmtType ) +{ + Type nLeft, nTop, nWidth, nHeight; + *mxBiffStrm >> nLeft; + mxBiffStrm->skip( nGap ); + *mxBiffStrm >> nTop; + mxBiffStrm->skip( nGap ); + *mxBiffStrm >> nWidth; + mxBiffStrm->skip( nGap ); + *mxBiffStrm >> nHeight; + mxBiffStrm->skip( nGap ); + writeRectItem( rName, nLeft, nTop, nWidth, nHeight, rListWrp, eFmtType ); +} + // ============================================================================ // ============================================================================ @@ -460,6 +481,11 @@ private: void dumpObjRecFmla( const String& rName, sal_uInt16 nFmlaSize ); void dumpObjRecPictFmla( sal_uInt16 nFmlaSize ); + typedef ::std::pair< sal_uInt8, ::rtl::OUString > ChFrExtPropInfo; + + void dumpChFrExtProps(); + ChFrExtPropInfo dumpChFrExtPropHeader(); + private: NameListRef mxColors; NameListRef mxBorderStyles; diff --git a/oox/inc/oox/helper/propertymap.hxx b/oox/inc/oox/helper/propertymap.hxx index 30df15d7e5c6..150f5c3d9364 100644 --- a/oox/inc/oox/helper/propertymap.hxx +++ b/oox/inc/oox/helper/propertymap.hxx @@ -89,6 +89,11 @@ public: ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > makePropertySet() const; +#if OSL_DEBUG_LEVEL > 0 + static void dump( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > rXPropSet); + void dump(); +#endif + private: const PropertyList* mpPropNames; }; diff --git a/oox/inc/oox/helper/propertyset.hxx b/oox/inc/oox/helper/propertyset.hxx index a1769374d959..8ddfaff44421 100644 --- a/oox/inc/oox/helper/propertyset.hxx +++ b/oox/inc/oox/helper/propertyset.hxx @@ -127,6 +127,10 @@ public: @param rPropertyMap The property map. */ void setProperties( const PropertyMap& rPropertyMap ); +#if OSL_DEBUG_LEVEL > 0 + void dump(); +#endif + // ------------------------------------------------------------------------ private: /** Gets the specified property from the property set. diff --git a/oox/inc/oox/ppt/pptshape.hxx b/oox/inc/oox/ppt/pptshape.hxx index 59f1beb39677..09c7830a96bb 100644 --- a/oox/inc/oox/ppt/pptshape.hxx +++ b/oox/inc/oox/ppt/pptshape.hxx @@ -61,9 +61,15 @@ public: ShapeLocation getShapeLocation() const { return meShapeLocation; }; sal_Bool isReferenced() const { return mbReferenced; }; void setReferenced( sal_Bool bReferenced ){ mbReferenced = bReferenced; }; + void setPlaceholder( oox::drawingml::ShapePtr pPlaceholder ) { mpPlaceholder = pPlaceholder; } + + static oox::drawingml::ShapePtr findPlaceholder( const sal_Int32 nMasterPlaceholder, std::vector< oox::drawingml::ShapePtr >& rShapes ); + static oox::drawingml::ShapePtr findPlaceholderByIndex( const sal_Int32 nIdx, std::vector< oox::drawingml::ShapePtr >& rShapes ); + static oox::drawingml::ShapePtr findPlaceholder( sal_Int32 nFirstPlaceholder, sal_Int32 nSecondPlaceholder, std::vector< oox::drawingml::ShapePtr >& rShapes ); protected: + oox::drawingml::ShapePtr mpPlaceholder; }; } } diff --git a/oox/inc/oox/ppt/slidetransition.hxx b/oox/inc/oox/ppt/slidetransition.hxx index 5427d90a5e35..df2eed4d6083 100644 --- a/oox/inc/oox/ppt/slidetransition.hxx +++ b/oox/inc/oox/ppt/slidetransition.hxx @@ -56,6 +56,8 @@ namespace oox { namespace ppt { static sal_Int16 ooxToOdpEightDirections( ::sal_Int32 nOoxType ); static sal_Int16 ooxToOdpCornerDirections( ::sal_Int32 nOoxType ); static sal_Int16 ooxToOdpBorderDirections( ::sal_Int32 nOoxType ); + static sal_Int16 ooxToOdpSideDirections( ::sal_Int32 nOoxType ); + static sal_Bool ooxToOdpSideDirectionsDirectionNormal( ::sal_Int32 nOoxType ); void setOoxTransitionType( ::sal_Int32 OoxType, ::sal_Int32 param1, ::sal_Int32 param2 ); diff --git a/oox/inc/oox/xls/biffhelper.hxx b/oox/inc/oox/xls/biffhelper.hxx index 8a3ee8d3ee16..ce43e44fb613 100644 --- a/oox/inc/oox/xls/biffhelper.hxx +++ b/oox/inc/oox/xls/biffhelper.hxx @@ -302,8 +302,15 @@ const sal_uInt16 BIFF_ID_CHFRAME = 0x1032; const sal_uInt16 BIFF_ID_CHFRAMEPOS = 0x104F; const sal_uInt16 BIFF_ID_CHFRBLOCKBEGIN = 0x0852; const sal_uInt16 BIFF_ID_CHFRBLOCKEND = 0x0853; +const sal_uInt16 BIFF_ID_CHFRCATEGORYPROPS = 0x0856; +const sal_uInt16 BIFF_ID_CHFREXTPROPS = 0x089E; +const sal_uInt16 BIFF_ID_CHFREXTPROPSCONT = 0x089F; const sal_uInt16 BIFF_ID_CHFRINFO = 0x0850; const sal_uInt16 BIFF_ID_CHFRLABELPROPS = 0x086B; +const sal_uInt16 BIFF_ID_CHFRLAYOUT = 0x089D; +const sal_uInt16 BIFF_ID_CHFRPLOTAREALAYOUT = 0x08A7; +const sal_uInt16 BIFF_ID_CHFRSHAPEPROPS = 0x08A4; +const sal_uInt16 BIFF_ID_CHFRTEXTPROPS = 0x08A5; const sal_uInt16 BIFF_ID_CHFRUNITPROPS = 0x0857; const sal_uInt16 BIFF_ID_CHFRWRAPPER = 0x0851; const sal_uInt16 BIFF_ID_CHLABELRANGE = 0x1020; |