[Libreoffice-commits] .: 6 commits - patches/dev300
Thorsten Behrens
thorsten at kemper.freedesktop.org
Tue Nov 22 03:23:08 PST 2011
patches/dev300/apply | 21
patches/dev300/dlopen-global-symbols.diff | 110
patches/dev300/framework-extra-job-config.diff | 334
patches/dev300/oox-smartart-import.diff | 6340 ----------------
patches/dev300/optional-outplace-ole.diff | 2452 ------
patches/dev300/sd-toolbar-advanced-shapes.diff | 38
patches/dev300/svx-honour-customshape-capabilities.diff | 23
patches/dev300/svx-shapes-default-word-wrap-enable.diff | 20
patches/dev300/vcl-permit-global-shortcuts.diff | 23
9 files changed, 9361 deletions(-)
New commits:
commit b373963d0fc030f7d31a7c6788af24f299fdf3a2
Author: Thorsten Behrens <tbehrens at novell.com>
Date: Tue Nov 22 12:21:19 2011 +0100
oox-smartart-import got committed to master, removing.
diff --git a/patches/dev300/apply b/patches/dev300/apply
index 1914688..3a154e7 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -1064,7 +1064,6 @@ oox-xlsx-import-fix-connector-shape.diff, n#549331, Fong
# oox-import-zoom-setting-with-tab-color.diff, n#494603, janneke
oox-drawingml-fix-apply-shape-reference-crash.diff, n#593611, rodo
-oox-smartart-import.diff, thorsten
[ PostgreSQL ]
sdbc-postgresql.diff
diff --git a/patches/dev300/oox-smartart-import.diff b/patches/dev300/oox-smartart-import.diff
deleted file mode 100644
index a47144d..0000000
--- a/patches/dev300/oox-smartart-import.diff
+++ /dev/null
@@ -1,6340 +0,0 @@
-OOXML smartart import (somewhat)
-
-From: Thorsten Behrens <thb at openoffice.org>
-
-
----
-
- oox/inc/oox/core/filterbase.hxx | 5
- oox/inc/oox/core/xmlfilterbase.hxx | 29 +
- oox/inc/oox/drawingml/chart/converterbase.hxx | 2
- oox/inc/oox/drawingml/customshapeproperties.hxx | 2
- oox/inc/oox/drawingml/diagram/datamodelcontext.hxx | 54 --
- oox/inc/oox/drawingml/diagram/diagram.hxx | 242 +------
- .../drawingml/diagram/diagramfragmenthandler.hxx | 100 ---
- .../oox/drawingml/diagram/diagramlayoutatoms.hxx | 209 ------
- oox/inc/oox/drawingml/drawingmltypes.hxx | 3
- oox/inc/oox/drawingml/graphicshapecontext.hxx | 5
- oox/inc/oox/drawingml/scene3dcontext.hxx | 56 ++
- oox/inc/oox/drawingml/shape.hxx | 34 +
- oox/inc/oox/drawingml/shape3dproperties.hxx | 135 ++++
- oox/inc/oox/drawingml/theme.hxx | 8
- oox/inc/oox/ppt/dgmimport.hxx | 71 ++
- oox/inc/oox/ppt/dgmlayout.hxx | 72 ++
- oox/inc/oox/ppt/pptimport.hxx | 2
- oox/inc/oox/xls/excelfilter.hxx | 2
- oox/inc/oox/xls/workbookhelper.hxx | 2
- oox/source/core/facreg.cxx | 6
- oox/source/core/filterbase.cxx | 9
- oox/source/core/xmlfilterbase.cxx | 164 ++++-
- oox/source/drawingml/chart/chartspaceconverter.cxx | 5
- oox/source/drawingml/chart/converterbase.cxx | 4
- oox/source/drawingml/chart/datasourceconverter.cxx | 13
- oox/source/drawingml/clrscheme.cxx | 2
- oox/source/drawingml/color.cxx | 1
- oox/source/drawingml/customshapegeometry.cxx | 6
- .../drawingml/diagram/constraintlistcontext.cxx | 102 +++
- .../drawingml/diagram/constraintlistcontext.hxx | 54 ++
- oox/source/drawingml/diagram/datamodelcontext.cxx | 232 +++++--
- oox/source/drawingml/diagram/datamodelcontext.hxx | 57 ++
- oox/source/drawingml/diagram/diagram.cxx | 498 ++++++++++++--
- oox/source/drawingml/diagram/diagram.hxx | 320 +++++++++
- .../drawingml/diagram/diagramdefinitioncontext.cxx | 13
- .../drawingml/diagram/diagramdefinitioncontext.hxx | 2
- .../drawingml/diagram/diagramfragmenthandler.cxx | 183 +++--
- .../drawingml/diagram/diagramfragmenthandler.hxx | 117 +++
- .../drawingml/diagram/diagramlayoutatoms.cxx | 689 +++++++++++++++++++-
- .../drawingml/diagram/diagramlayoutatoms.hxx | 318 +++++++++
- oox/source/drawingml/diagram/layoutnodecontext.cxx | 146 +++-
- oox/source/drawingml/diagram/layoutnodecontext.hxx | 3
- oox/source/drawingml/diagram/makefile.mk | 1
- oox/source/drawingml/drawingmltypes.cxx | 4
- oox/source/drawingml/fillproperties.cxx | 3
- oox/source/drawingml/graphicshapecontext.cxx | 58 --
- oox/source/drawingml/lineproperties.cxx | 5
- oox/source/drawingml/makefile.mk | 1
- oox/source/drawingml/scene3dcontext.cxx | 189 +++++
- oox/source/drawingml/shape.cxx | 42 +
- oox/source/drawingml/shape3dproperties.cxx | 67 ++
- oox/source/drawingml/shapepropertiescontext.cxx | 6
- oox/source/drawingml/textparagraph.cxx | 9
- oox/source/drawingml/textparagraphproperties.cxx | 1
- oox/source/helper/storagebase.cxx | 20 -
- oox/source/ppt/dgmimport.cxx | 135 ++++
- oox/source/ppt/dgmlayout.cxx | 193 ++++++
- oox/source/ppt/makefile.mk | 2
- oox/source/ppt/pptimport.cxx | 4
- oox/source/ppt/presentationfragmenthandler.cxx | 13
- oox/source/ppt/slidepersist.cxx | 11
- oox/source/shape/ShapeFilterBase.cxx | 4
- oox/source/shape/ShapeFilterBase.hxx | 2
- oox/source/xls/excelfilter.cxx | 2
- oox/source/xls/workbookhelper.cxx | 4
- sc/source/filter/excel/xestream.cxx | 5
- sc/source/filter/inc/xestream.hxx | 2
- sw/source/filter/ww8/docxexportfilter.hxx | 2
- 77 files changed, 5401 insertions(+), 992 deletions(-)
- delete mode 100644 oox/inc/oox/drawingml/diagram/datamodelcontext.hxx
- delete mode 100644 oox/inc/oox/drawingml/diagram/diagramfragmenthandler.hxx
- delete mode 100644 oox/inc/oox/drawingml/diagram/diagramlayoutatoms.hxx
- create mode 100644 oox/inc/oox/drawingml/scene3dcontext.hxx
- create mode 100644 oox/inc/oox/drawingml/shape3dproperties.hxx
- create mode 100644 oox/inc/oox/ppt/dgmimport.hxx
- create mode 100644 oox/inc/oox/ppt/dgmlayout.hxx
- create mode 100644 oox/source/drawingml/diagram/constraintlistcontext.cxx
- create mode 100644 oox/source/drawingml/diagram/constraintlistcontext.hxx
- create mode 100644 oox/source/drawingml/diagram/datamodelcontext.hxx
- create mode 100644 oox/source/drawingml/diagram/diagram.hxx
- create mode 100644 oox/source/drawingml/diagram/diagramfragmenthandler.hxx
- create mode 100644 oox/source/drawingml/diagram/diagramlayoutatoms.hxx
- create mode 100644 oox/source/drawingml/scene3dcontext.cxx
- create mode 100644 oox/source/drawingml/shape3dproperties.cxx
- create mode 100644 oox/source/ppt/dgmimport.cxx
- create mode 100644 oox/source/ppt/dgmlayout.cxx
-
-
-diff --git oox/inc/oox/core/filterbase.hxx oox/inc/oox/core/filterbase.hxx
-index d54c534..3dc372a 100644
---- oox/inc/oox/core/filterbase.hxx
-+++ oox/inc/oox/core/filterbase.hxx
-@@ -50,6 +50,7 @@ namespace com { namespace sun { namespace star {
- namespace task { class XStatusIndicator; }
- namespace task { class XInteractionHandler; }
- namespace frame { class XFrame; }
-+ namespace drawing { class XShape; }
- namespace io { class XInputStream; }
- namespace io { class XOutputStream; }
- namespace io { class XStream; }
-@@ -133,6 +134,10 @@ public:
- const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >&
- getTargetFrame() const;
-
-+ /// Returns the parent shape to load into (if any)
-+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >&
-+ getParentShape() const;
-+
- /** Returns the status indicator (may be null). */
- const ::com::sun::star::uno::Reference< ::com::sun::star::task::XStatusIndicator >&
- getStatusIndicator() const;
-diff --git oox/inc/oox/core/xmlfilterbase.hxx oox/inc/oox/core/xmlfilterbase.hxx
-index 0d747ef..8659ec1 100644
---- oox/inc/oox/core/xmlfilterbase.hxx
-+++ oox/inc/oox/core/xmlfilterbase.hxx
-@@ -42,8 +42,10 @@
- namespace com { namespace sun { namespace star {
- namespace container { class XNameContainer; }
- namespace document { class XDocumentProperties; }
-+ namespace xml { namespace dom { class XDocument; } }
- namespace xml { namespace sax { class XLocator; } }
- namespace xml { namespace sax { class XFastDocumentHandler; } }
-+ namespace xml { namespace sax { class XFastSAXSerializable; } }
- } } }
-
- namespace oox { namespace drawingml { class Theme; } }
-@@ -89,7 +91,7 @@ public:
-
- /** Has to be implemented by each filter, returns a filter-specific chart
- converter object, that should be global per imported document. */
-- virtual ::oox::drawingml::chart::ChartConverter& getChartConverter() = 0;
-+ virtual ::oox::drawingml::chart::ChartConverter* getChartConverter() = 0;
-
- /** Has to be implemented by each filter to return the table style list. */
- virtual const ::oox::drawingml::table::TableStyleListPtr getTableStyles() = 0;
-@@ -107,6 +109,31 @@ public:
- */
- bool importFragment( const ::rtl::Reference< FragmentHandler >& rxHandler );
-
-+ /** Imports a fragment into an xml::dom::XDocument.
-+
-+ @param rFragmentPath path to fragment
-+
-+ @return a non-empty reference to the XDocument, if the
-+ fragment could be imported.
-+ */
-+ ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::dom::XDocument> importFragment( const ::rtl::OUString& rFragmentPath );
-+
-+ /** Imports a fragment from an xml::dom::XDocument using the
-+ passed fragment handler
-+
-+ @param rxHandler fragment handler; path to fragment is
-+ ignored, input source is the rxSerializer
-+
-+ @param rxSerializer usually retrieved from a
-+ xml::dom::XDocument, will get serialized into rxHandler
-+
-+ @return true, if the fragment could be imported.
-+ */
-+ bool importFragment( const ::rtl::Reference< FragmentHandler >& rxHandler,
-+ const ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::sax::XFastSAXSerializable >& rxSerializer );
-+
- /** Imports the relations fragment associated with the specified fragment.
-
- @return The relations collection of the specified fragment.
-diff --git oox/inc/oox/drawingml/chart/converterbase.hxx oox/inc/oox/drawingml/chart/converterbase.hxx
-index 5c26d73..c1c8986 100644
---- oox/inc/oox/drawingml/chart/converterbase.hxx
-+++ oox/inc/oox/drawingml/chart/converterbase.hxx
-@@ -82,7 +82,7 @@ protected:
- /** Returns the filter object of the imported/exported document. */
- ::oox::core::XmlFilterBase& getFilter() const;
- /** Returns the chart converter. */
-- ChartConverter& getChartConverter() const;
-+ ChartConverter* getChartConverter() const;
- /** Returns the API chart document model. */
- ::com::sun::star::uno::Reference< ::com::sun::star::chart2::XChartDocument >
- getChartDocument() const;
-diff --git oox/inc/oox/drawingml/customshapeproperties.hxx oox/inc/oox/drawingml/customshapeproperties.hxx
-index 66c4c38..6b63352 100644
---- oox/inc/oox/drawingml/customshapeproperties.hxx
-+++ oox/inc/oox/drawingml/customshapeproperties.hxx
-@@ -124,6 +124,7 @@ public:
- 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;
-
-+ const rtl::OUString& getShapePresetType() const { return maShapePresetType; }
- void setShapePresetType( const rtl::OUString& rShapePresetType ){ maShapePresetType = rShapePresetType; };
-
- std::vector< CustomShapeGuide >& getAdjustmentGuideList(){ return maAdjustmentGuideList; };
-diff --git oox/inc/oox/drawingml/diagram/datamodelcontext.hxx oox/inc/oox/drawingml/diagram/datamodelcontext.hxx
-deleted file mode 100644
-index 6437482..0000000
---- oox/inc/oox/drawingml/diagram/datamodelcontext.hxx
-+++ /dev/null
-@@ -1,57 +0,0 @@
--/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
--/*************************************************************************
-- *
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * Copyright 2000, 2010 Oracle and/or its affiliates.
-- *
-- * OpenOffice.org - a multi-platform office productivity suite
-- *
-- * This file is part of OpenOffice.org.
-- *
-- * OpenOffice.org is free software: you can redistribute it and/or modify
-- * it under the terms of the GNU Lesser General Public License version 3
-- * only, as published by the Free Software Foundation.
-- *
-- * OpenOffice.org is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- * GNU Lesser General Public License version 3 for more details
-- * (a copy is included in the LICENSE file that accompanied this code).
-- *
-- * You should have received a copy of the GNU Lesser General Public License
-- * version 3 along with OpenOffice.org. If not, see
-- * <http://www.openoffice.org/license.html>
-- * for a copy of the LGPLv3 License.
-- *
-- ************************************************************************/
--
--
--#ifndef OOX_DRAWINGML_SHAPECONTEXT_HXX
--#define OOX_DRAWINGML_SHAPECONTEXT_HXX
--
--#include <com/sun/star/drawing/XShapes.hpp>
--
--#include "oox/core/contexthandler.hxx"
--#include "oox/drawingml/diagram/diagram.hxx"
--
--namespace oox { namespace drawingml {
--
--// CT_DataModel
--class DataModelContext : public ::oox::core::ContextHandler
--{
--public:
-- DataModelContext( ::oox::core::ContextHandler& rParent, const DiagramDataPtr & pDataModelPtr );
-- virtual ~DataModelContext();
--
-- virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
--
--protected:
-- DiagramDataPtr mpDataModel;
--};
--
--} }
--
--#endif // OOX_DRAWINGML_SHAPEGROUPCONTEXT_HXX
--
--/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git oox/inc/oox/drawingml/diagram/diagram.hxx oox/inc/oox/drawingml/diagram/diagram.hxx
-index ef60545..e81a216 100644
---- oox/inc/oox/drawingml/diagram/diagram.hxx
-+++ oox/inc/oox/drawingml/diagram/diagram.hxx
-@@ -25,232 +25,40 @@
- *
- ************************************************************************/
-
--
--
- #ifndef OOX_DRAWINGML_DIAGRAM_HXX
- #define OOX_DRAWINGML_DIAGRAM_HXX
-
--#include <vector>
--#include <boost/shared_ptr.hpp>
--#include <boost/enable_shared_from_this.hpp>
-+#include <rtl/ustring.hxx>
- #include "oox/drawingml/shape.hxx"
--#include "oox/drawingml/diagram/diagramlayoutatoms.hxx"
--
--namespace oox { namespace drawingml {
--
--namespace dgm {
-+#include "oox/core/xmlfilterbase.hxx"
-
--/** A Connection
-- */
--class Connection
--{
--public:
-- Connection()
-- : mnType( 0 )
-- , mnSourceOrder( 0 )
-- , mnDestOrder( 0 )
-- {
-- }
-+#include <com/sun/star/xml/dom/XDocument.hpp>
-
-- void dump();
--
-- sal_Int32 mnType;
-- ::rtl::OUString msModelId;
-- ::rtl::OUString msSourceId;
-- ::rtl::OUString msDestId;
-- ::rtl::OUString msParTransId;
-- ::rtl::OUString msPresId;
-- ::rtl::OUString msSibTransId;
-- sal_Int32 mnSourceOrder;
-- sal_Int32 mnDestOrder;
--
--};
--
--typedef boost::shared_ptr< Connection > ConnectionPtr;
--typedef std::vector< ConnectionPtr > Connections;
-+namespace oox { namespace drawingml {
-
--class Point;
-+/** load diagram data, and put resulting graphic into shape
-
--typedef boost::shared_ptr< Point > PointPtr;
--typedef std::vector< PointPtr > Points;
--/** A point
-+ This method loads the diagram data fragments from the given paths,
-+ generate and layout the shapes, and push it as children into the
-+ referenced shape.
- */
--class Point
--{
--public:
-- Point();
-- ShapePtr & getShape( )
-- { return mpShape; }
--
-- void setCnxId( const ::rtl::OUString & sCnxId )
-- { msCnxId = sCnxId; }
-- void setModelId( const ::rtl::OUString & sModelId );
-- const ::rtl::OUString & getModelId() const
-- { return msModelId; }
-- void setType( const sal_Int32 nType )
-- { mnType = nType; }
-- sal_Int32 getType() const
-- { return mnType; }
--
-- void dump();
--private:
-- ShapePtr mpShape;
-- ::rtl::OUString msCnxId;
-- ::rtl::OUString msModelId;
-- sal_Int32 mnType;
--};
--
--
--class PointsTree;
--typedef boost::shared_ptr< PointsTree > PointsTreePtr;
--
--/** a points tree node */
--class PointsTree
-- : public boost::enable_shared_from_this< PointsTree >
--{
--public:
-- typedef std::vector< PointsTreePtr > Childrens;
-- PointsTree()
-- {};
-- PointsTree( const PointPtr & pPoint )
-- : mpNode( pPoint )
-- { }
-- bool addChild( const PointsTreePtr & pChild );
-- const PointPtr & getPoint() const
-- { return mpNode; }
-- PointsTreePtr getParent() const;
-- Childrens::const_iterator beginChild() const
-- { return maChildrens.begin(); }
-- Childrens::const_iterator endChild() const
-- { return maChildrens.end(); }
--private:
-- PointPtr mpNode;
-- boost::weak_ptr< PointsTree > mpParent;
-- Childrens maChildrens;
--};
--
--}
--
--////////////////////
--
--class DiagramData
--{
--public:
--
-- DiagramData();
-- FillPropertiesPtr & getFillProperties()
-- { return mpFillProperties; }
-- dgm::Connections & getConnections()
-- { return maConnections; }
-- dgm::Points & getPoints()
-- { return maPoints; }
-- void dump();
--private:
-- FillPropertiesPtr mpFillProperties;
-- dgm::Connections maConnections;
-- dgm::Points maPoints;
--};
--
--typedef boost::shared_ptr< DiagramData > DiagramDataPtr;
--
--
--
--////////////////////
--
--class DiagramLayout
--{
--public:
-- void setDefStyle( const ::rtl::OUString & sDefStyle )
-- { msDefStyle = sDefStyle; }
-- void setMinVer( const ::rtl::OUString & sMinVer )
-- { msMinVer = sMinVer; }
-- void setUniqueId( const ::rtl::OUString & sUniqueId )
-- { msUniqueId = sUniqueId; }
-- const ::rtl::OUString & getUniqueId()
-- { return msUniqueId; }
-- void setTitle( const ::rtl::OUString & sTitle )
-- { msTitle = sTitle; }
-- void setDesc( const ::rtl::OUString & sDesc )
-- { msDesc = sDesc; }
--
-- LayoutNodePtr & getNode()
-- { return mpNode; }
-- const LayoutNodePtr & getNode() const
-- { return mpNode; }
-- DiagramDataPtr & getSampData()
-- { return mpSampData; }
-- const DiagramDataPtr & getSampData() const
-- { return mpSampData; }
-- DiagramDataPtr & getStyleData()
-- { return mpStyleData; }
-- const DiagramDataPtr & getStyleData() const
-- { return mpStyleData; }
--
-- void layout( const dgm::PointsTreePtr & pTree, const com::sun::star::awt::Point & pt );
--private:
-- ::rtl::OUString msDefStyle;
-- ::rtl::OUString msMinVer;
-- ::rtl::OUString msUniqueId;
--
-- ::rtl::OUString msTitle;
-- ::rtl::OUString msDesc;
-- LayoutNodePtr mpNode;
-- DiagramDataPtr mpSampData;
-- DiagramDataPtr mpStyleData;
-- // TODO
-- // catLst
-- // clrData
--};
--
--typedef boost::shared_ptr< DiagramLayout > DiagramLayoutPtr;
--
--///////////////////////
--
--class DiagramQStyles
--{
--
--};
--
--typedef boost::shared_ptr< DiagramQStyles > DiagramQStylesPtr;
--
--///////////////////////
--
--class DiagramColors
--{
--
--};
--
--typedef boost::shared_ptr< DiagramColors > DiagramColorsPtr;
--
--///////////////////////
--
--class Diagram
--{
--public:
-- void setData( const DiagramDataPtr & );
-- void setLayout( const DiagramLayoutPtr & );
-- DiagramLayoutPtr getLayout() const
-- {
-- return mpLayout;
-- }
-- void setQStyles( const DiagramQStylesPtr & );
-- void setColors( const DiagramColorsPtr & );
--
-- void addTo( const ShapePtr & pShape );
-- ::rtl::OUString getLayoutId() const;
--private:
-- void build( );
-- DiagramDataPtr mpData;
-- DiagramLayoutPtr mpLayout;
-- DiagramQStylesPtr mpQStyles;
-- DiagramColorsPtr mpColors;
-- std::map< ::rtl::OUString, ShapePtr > maShapeMap;
-- dgm::PointsTreePtr mpRoot;
--};
--
--
--typedef boost::shared_ptr< Diagram > DiagramPtr;
--
-+void loadDiagram( const ShapePtr& pShape,
-+ core::XmlFilterBase& rFilter,
-+ const ::rtl::OUString& rDataModelPath,
-+ const ::rtl::OUString& rLayoutPath,
-+ const ::rtl::OUString& rQStylePath,
-+ const ::rtl::OUString& rColorStylePath );
-+
-+void loadDiagram( const ShapePtr& pShape,
-+ core::XmlFilterBase& rFilter,
-+ const ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::dom::XDocument>& rXDataModelDom,
-+ const ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::dom::XDocument>& rXLayoutDom,
-+ const ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::dom::XDocument>& rXQStyleDom,
-+ const ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::dom::XDocument>& rXColorStyleDom );
- } }
-
- #endif
-diff --git oox/inc/oox/drawingml/diagram/diagramfragmenthandler.hxx oox/inc/oox/drawingml/diagram/diagramfragmenthandler.hxx
-deleted file mode 100644
-index 5a42a46..0000000
---- oox/inc/oox/drawingml/diagram/diagramfragmenthandler.hxx
-+++ /dev/null
-@@ -1,103 +0,0 @@
--/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
--/*************************************************************************
-- *
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * Copyright 2000, 2010 Oracle and/or its affiliates.
-- *
-- * OpenOffice.org - a multi-platform office productivity suite
-- *
-- * This file is part of OpenOffice.org.
-- *
-- * OpenOffice.org is free software: you can redistribute it and/or modify
-- * it under the terms of the GNU Lesser General Public License version 3
-- * only, as published by the Free Software Foundation.
-- *
-- * OpenOffice.org is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- * GNU Lesser General Public License version 3 for more details
-- * (a copy is included in the LICENSE file that accompanied this code).
-- *
-- * You should have received a copy of the GNU Lesser General Public License
-- * version 3 along with OpenOffice.org. If not, see
-- * <http://www.openoffice.org/license.html>
-- * for a copy of the LGPLv3 License.
-- *
-- ************************************************************************/
--
--
--#ifndef OOX_DRAWINGML_DIAGRAMFRAGMENTHANDLER
--#define OOX_DRAWINGML_DIAGRAMFRAGMENTHANDLER
--
--#include "oox/core/fragmenthandler.hxx"
--#include "oox/drawingml/diagram/diagram.hxx"
--
--namespace oox { namespace drawingml {
--
--
--class DiagramDataFragmentHandler : public ::oox::core::FragmentHandler
--{
--public:
-- DiagramDataFragmentHandler( oox::core::XmlFilterBase& rFilter, const ::rtl::OUString& rFragmentPath, const DiagramDataPtr pDataPtr ) throw();
-- virtual ~DiagramDataFragmentHandler() throw();
--
-- virtual void SAL_CALL endDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
-- virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
--
--private:
--
-- DiagramDataPtr mpDataPtr;
--};
--
--
--
--class DiagramLayoutFragmentHandler : public ::oox::core::FragmentHandler
--{
--public:
-- DiagramLayoutFragmentHandler( oox::core::XmlFilterBase& rFilter, const ::rtl::OUString& rFragmentPath, const DiagramLayoutPtr pDataPtr ) throw();
-- virtual ~DiagramLayoutFragmentHandler() throw();
--
-- virtual void SAL_CALL endDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
-- virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
--
--private:
--
-- DiagramLayoutPtr mpDataPtr;
--};
--
--class DiagramQStylesFragmentHandler : public ::oox::core::FragmentHandler
--{
--public:
-- DiagramQStylesFragmentHandler( oox::core::XmlFilterBase& rFilter, const ::rtl::OUString& rFragmentPath, const DiagramQStylesPtr pDataPtr ) throw();
-- virtual ~DiagramQStylesFragmentHandler() throw();
--
-- virtual void SAL_CALL endDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
-- virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
--
--private:
--
-- DiagramQStylesPtr mpDataPtr;
--};
--
--
--class DiagramColorsFragmentHandler : public ::oox::core::FragmentHandler
--{
--public:
-- DiagramColorsFragmentHandler( ::oox::core::XmlFilterBase& rFilter, const ::rtl::OUString& rFragmentPath, const DiagramColorsPtr pDataPtr ) throw();
-- virtual ~DiagramColorsFragmentHandler() throw();
--
-- virtual void SAL_CALL endDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
-- virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
--
--private:
--
-- DiagramColorsPtr mpDataPtr;
--};
--
--} }
--
--
--#endif
--
--/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git oox/inc/oox/drawingml/diagram/diagramlayoutatoms.hxx oox/inc/oox/drawingml/diagram/diagramlayoutatoms.hxx
-deleted file mode 100644
-index ae25085..0000000
---- oox/inc/oox/drawingml/diagram/diagramlayoutatoms.hxx
-+++ /dev/null
-@@ -1,212 +0,0 @@
--/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
--/*************************************************************************
-- *
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * Copyright 2000, 2010 Oracle and/or its affiliates.
-- *
-- * OpenOffice.org - a multi-platform office productivity suite
-- *
-- * This file is part of OpenOffice.org.
-- *
-- * OpenOffice.org is free software: you can redistribute it and/or modify
-- * it under the terms of the GNU Lesser General Public License version 3
-- * only, as published by the Free Software Foundation.
-- *
-- * OpenOffice.org is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- * GNU Lesser General Public License version 3 for more details
-- * (a copy is included in the LICENSE file that accompanied this code).
-- *
-- * You should have received a copy of the GNU Lesser General Public License
-- * version 3 along with OpenOffice.org. If not, see
-- * <http://www.openoffice.org/license.html>
-- * for a copy of the LGPLv3 License.
-- *
-- ************************************************************************/
--
--
--
--
--
--#ifndef OOX_DRAWINGML_DIAGRAMLAYOUTATOMS_HXX
--#define OOX_DRAWINGML_DIAGRAMLAYOUTATOMS_HXX
--
--#include <map>
--#include <string>
--
--#include <boost/shared_ptr.hpp>
--#include <boost/array.hpp>
--
--#include <com/sun/star/uno/Any.hxx>
--#include <com/sun/star/xml/sax/XFastAttributeList.hpp>
--
--#include "oox/drawingml/shape.hxx"
--
--
--namespace oox { namespace drawingml {
--
--
--// AG_IteratorAttributes
--class IteratorAttr
--{
--public:
-- IteratorAttr();
--
-- // not sure this belong here, but wth
-- void loadFromXAttr( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& xAttributes );
--
--private:
-- sal_Int32 mnAxis;
-- sal_Int32 mnCnt;
-- sal_Bool mbHideLastTrans;
-- sal_Int32 mnPtType;
-- sal_Int32 mnSt;
-- sal_Int32 mnStep;
--};
--
--class ConditionAttr
--{
--public:
-- ConditionAttr();
--
-- // not sure this belong here, but wth
-- void loadFromXAttr( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& xAttributes );
--
--private:
-- sal_Int32 mnFunc;
-- sal_Int32 mnArg;
-- sal_Int32 mnOp;
-- ::rtl::OUString msVal;
--};
--
--class LayoutAtom;
--
--typedef boost::shared_ptr< LayoutAtom > LayoutAtomPtr;
--
--/** abstract Atom for the layout */
--class LayoutAtom
--{
--public:
-- virtual ~LayoutAtom()
-- {}
-- // TODO change signature to the proper one
-- virtual void processAtom() = 0;
-- void setName( const ::rtl::OUString & sName )
-- { msName = sName; }
-- void addChild( const LayoutAtomPtr & pNode )
-- { mpChildNodes.push_back( pNode ); }
--
-- // dump for debug
-- virtual void dump(int level = 0);
--protected:
-- std::vector< LayoutAtomPtr > mpChildNodes;
-- ::rtl::OUString msName;
--};
--
--class AlgAtom
-- : public LayoutAtom
--{
--public:
-- virtual ~AlgAtom()
-- {}
-- typedef std::map< std::string, ::com::sun::star::uno::Any > ParamMap;
--
-- virtual void processAtom()
-- {}
--private:
-- ParamMap mParams;
--};
--
--
--class ForEachAtom
-- : public LayoutAtom
--{
--public:
-- virtual ~ForEachAtom()
-- {}
--
-- IteratorAttr & iterator()
-- { return maIter; }
-- virtual void processAtom();
--private:
-- IteratorAttr maIter;
--};
--
--typedef boost::shared_ptr< ForEachAtom > ForEachAtomPtr;
--
--
--class ConditionAtom
-- : public LayoutAtom
--{
--public:
-- ConditionAtom( bool bElse = false )
-- : LayoutAtom( )
-- , mbElse( bElse )
-- {}
-- virtual ~ConditionAtom()
-- {}
-- bool test();
-- virtual void processAtom()
-- {}
-- IteratorAttr & iterator()
-- { return maIter; }
-- ConditionAttr & cond()
-- { return maCond; }
--private:
-- bool mbElse;
-- IteratorAttr maIter;
-- ConditionAttr maCond;
--};
--
--typedef boost::shared_ptr< ConditionAtom > ConditionAtomPtr;
--
--
--/** "choose" statements. Atoms will be tested in order. */
--class ChooseAtom
-- : public LayoutAtom
--{
--public:
-- virtual ~ChooseAtom()
-- {}
-- virtual void processAtom();
--};
--
--class LayoutNode
-- : public LayoutAtom
--{
--public:
-- enum {
-- VAR_animLvl = 0,
-- VAR_animOne,
-- VAR_bulletEnabled,
-- VAR_chMax,
-- VAR_chPref,
-- VAR_dir,
-- VAR_hierBranch,
-- VAR_orgChart,
-- VAR_resizeHandles
-- };
-- // we know that the array is of fixed size
-- // the use of Any allow having empty values
-- typedef boost::array< ::com::sun::star::uno::Any, 9 > VarMap;
--
-- virtual ~LayoutNode()
-- {}
-- virtual void processAtom()
-- {}
-- VarMap & variables()
-- { return mVariables; }
--private:
-- VarMap mVariables;
-- std::vector< ShapePtr > mpShapes;
--};
--
--typedef boost::shared_ptr< LayoutNode > LayoutNodePtr;
--
--} }
--
--#endif
--
--/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git oox/inc/oox/drawingml/drawingmltypes.hxx oox/inc/oox/drawingml/drawingmltypes.hxx
-index c513446..b18414f 100644
---- oox/inc/oox/drawingml/drawingmltypes.hxx
-+++ oox/inc/oox/drawingml/drawingmltypes.hxx
-@@ -58,6 +58,9 @@ typedef ::boost::shared_ptr< FillProperties > FillPropertiesPtr;
- struct GraphicProperties;
- typedef ::boost::shared_ptr< GraphicProperties > GraphicPropertiesPtr;
-
-+struct Shape3DProperties;
-+typedef ::boost::shared_ptr< Shape3DProperties > Shape3DPropertiesPtr;
-+
- struct TextCharacterProperties;
- typedef ::boost::shared_ptr< TextCharacterProperties > TextCharacterPropertiesPtr;
-
-diff --git oox/inc/oox/drawingml/graphicshapecontext.hxx oox/inc/oox/drawingml/graphicshapecontext.hxx
-index c7239fc..ea49d47 100644
---- oox/inc/oox/drawingml/graphicshapecontext.hxx
-+++ oox/inc/oox/drawingml/graphicshapecontext.hxx
-@@ -30,7 +30,6 @@
-
- #include "oox/drawingml/shape.hxx"
- #include "oox/drawingml/shapecontext.hxx"
--#include "oox/drawingml/diagram/diagram.hxx"
-
- namespace oox { namespace vml { struct OleObjectInfo; } }
-
-@@ -73,6 +72,8 @@ private:
-
- // ====================================================================
-
-+class Diagram;
-+
- class DiagramGraphicDataContext
- : public ShapeContext
- {
-@@ -82,8 +83,6 @@ public:
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
-
- private:
-- DiagramPtr loadDiagram();
--
- ::rtl::OUString msDm;
- ::rtl::OUString msLo;
- ::rtl::OUString msQs;
-diff --git oox/inc/oox/drawingml/scene3dcontext.hxx oox/inc/oox/drawingml/scene3dcontext.hxx
-new file mode 100644
-index 0000000..c64bbf3
---- /dev/null
-+++ oox/inc/oox/drawingml/scene3dcontext.hxx
-@@ -0,0 +1,56 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: fillpropertiesgroupcontext.hxx,v $
-+ * $Revision: 1.6 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef OOX_DRAWINGML_SCENE3DPROPERTIESCONTEXT_HPP
-+#define OOX_DRAWINGML_SCENE3DPROPERTIESCONTEXT_HPP
-+
-+#include "oox/core/contexthandler.hxx"
-+
-+namespace oox { namespace drawingml {
-+
-+struct Shape3DProperties;
-+
-+// ---------------------------------------------------------------------
-+
-+class Scene3DPropertiesContext : public ::oox::core::ContextHandler
-+{
-+public:
-+ Scene3DPropertiesContext( ::oox::core::ContextHandler& rParent, Shape3DProperties& r3DProperties ) throw();
-+
-+ ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs )
-+ throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException );
-+
-+private:
-+ Shape3DProperties& mr3DProperties;
-+};
-+
-+} }
-+
-+#endif // OOX_DRAWINGML_SCENE3DPROPERTIESCONTEXT_HPP
-diff --git oox/inc/oox/drawingml/shape.hxx oox/inc/oox/drawingml/shape.hxx
-index 2780fcd..65380c2 100644
---- oox/inc/oox/drawingml/shape.hxx
-+++ oox/inc/oox/drawingml/shape.hxx
-@@ -32,6 +32,7 @@
- #include "oox/drawingml/drawingmltypes.hxx"
- #include "oox/drawingml/customshapeproperties.hxx"
- #include "oox/drawingml/textliststyle.hxx"
-+#include "oox/drawingml/shape3dproperties.hxx"
-
- #include <com/sun/star/frame/XModel.hpp>
- #include <com/sun/star/drawing/XDrawPage.hpp>
-@@ -95,7 +96,8 @@ class Shape
- {
- public:
-
-- Shape( const sal_Char* pServiceType = NULL );
-+ explicit Shape( const sal_Char* pServiceType = NULL );
-+ explicit Shape( const ShapePtr& pSourceShape );
- virtual ~Shape();
-
- rtl::OUString& getServiceName(){ return msServiceName; }
-@@ -114,13 +116,20 @@ public:
-
- CustomShapePropertiesPtr getCustomShapeProperties(){ return mpCustomShapePropertiesPtr; }
-
-+ Shape3DProperties& get3DProperties() { return *mp3DPropertiesPtr; }
-+ const Shape3DProperties& get3DProperties() const { return *mp3DPropertiesPtr; }
-+
- table::TablePropertiesPtr getTableProperties();
-
- void setChildPosition( com::sun::star::awt::Point nPosition ){ maChPosition = nPosition; }
- void setChildSize( com::sun::star::awt::Size aSize ){ maChSize = aSize; }
-
-- void setPosition( com::sun::star::awt::Point nPosition ){ maPosition = nPosition; }
-- void setSize( com::sun::star::awt::Size aSize ){ maSize = aSize; }
-+ void setPosition( com::sun::star::awt::Point nPosition ){ maPosition = nPosition; }
-+ const com::sun::star::awt::Point& getPosition() const { return maPosition; }
-+
-+ void setSize( com::sun::star::awt::Size aSize ){ maSize = aSize; }
-+ const com::sun::star::awt::Size& getSize() const { return maSize; }
-+
- void setRotation( sal_Int32 nRotation ) { mnRotation = nRotation; }
- void setFlip( sal_Bool bFlipH, sal_Bool bFlipV ) { mbFlipH = bFlipH; mbFlipV = bFlipV; }
- void addChild( const ShapePtr pChildPtr ) { maChildren.push_back( pChildPtr ); }
-@@ -155,6 +164,13 @@ public:
- const ::com::sun::star::awt::Rectangle* pShapeRect = 0,
- ShapeIdMap* pShapeMap = 0 );
-
-+ void addChildren(
-+ const ::oox::core::XmlFilterBase& rFilterBase,
-+ const Theme* pTheme,
-+ const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& rxShapes,
-+ const ::com::sun::star::awt::Rectangle* pShapeRect = 0,
-+ ShapeIdMap* pShapeMap = 0 );
-+
- void setXShape( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >& rXShape )
- { mxShape = rXShape; };
- const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > &
-@@ -193,6 +204,7 @@ protected:
- GraphicPropertiesPtr mpGraphicPropertiesPtr;
- CustomShapePropertiesPtr mpCustomShapePropertiesPtr;
- table::TablePropertiesPtr mpTablePropertiesPtr;
-+ Shape3DPropertiesPtr mp3DPropertiesPtr;
- PropertyMap maShapeProperties;
- PropertyMap maDefaultShapeProperties;
- TextListStylePtr mpMasterTextListStyle;
-@@ -216,7 +228,11 @@ private:
- sal_Bool mbHidden;
- };
-
--::rtl::OUString GetShapeType( sal_Int32 nType );
-+// ---------------------------------------------------------------------
-+
-+/** Get custom shape preset string from xml token id
-+ */
-+::rtl::OUString GetShapePresetType( sal_Int32 nType );
-
- } }
-
-diff --git oox/inc/oox/drawingml/shape3dproperties.hxx oox/inc/oox/drawingml/shape3dproperties.hxx
-new file mode 100644
-index 0000000..2fe82aa
---- /dev/null
-+++ oox/inc/oox/drawingml/shape3dproperties.hxx
-@@ -0,0 +1,135 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: fillproperties.hxx,v $
-+ * $Revision: 1.7 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef OOX_DRAWINGML_SHAPE3DPROPERTIES_HXX
-+#define OOX_DRAWINGML_SHAPE3DPROPERTIES_HXX
-+
-+#include <map>
-+#include <com/sun/star/graphic/XGraphic.hpp>
-+#include <com/sun/star/geometry/IntegerRectangle2D.hpp>
-+#include "oox/core/xmlfilterbase.hxx"
-+#include "oox/drawingml/color.hxx"
-+#include "oox/helper/helper.hxx"
-+
-+namespace oox { class PropertyMap; }
-+namespace oox { class PropertySet; }
-+namespace oox { namespace core { class ModelObjectContainer; } }
-+
-+namespace oox {
-+namespace drawingml {
-+
-+// ============================================================================
-+
-+struct Shape3DPropertyNames
-+{
-+ ::rtl::OUString maFillStyle;
-+ ::rtl::OUString maFillColor;
-+ ::rtl::OUString maFillTransparence;
-+ ::rtl::OUString maFillGradient;
-+ ::rtl::OUString maFillBitmap;
-+ ::rtl::OUString maFillBitmapMode;
-+ ::rtl::OUString maFillBitmapTile;
-+ ::rtl::OUString maFillBitmapStretch;
-+ ::rtl::OUString maFillBitmapLogicalSize;
-+ ::rtl::OUString maFillBitmapSizeX;
-+ ::rtl::OUString maFillBitmapSizeY;
-+ ::rtl::OUString maFillBitmapOffsetX;
-+ ::rtl::OUString maFillBitmapOffsetY;
-+ ::rtl::OUString maFillBitmapRectanglePoint;
-+ bool mbNamedFillGradient;
-+ bool mbNamedFillBitmap;
-+ bool mbTransformGraphic;
-+
-+ Shape3DPropertyNames();
-+};
-+
-+// ============================================================================
-+
-+struct Shape3DProperties
-+{
-+ typedef ::std::map< double, Color > GradientStopMap;
-+
-+ OptValue< sal_Int32 > moFillType; /// Fill type (OOXML token).
-+ OptValue< bool > moRotateWithShape; /// True = rotate gradient/bitmap with shape.
-+ Color maFillColor; /// Solid fill color and transparence.
-+ GradientStopMap maGradientStops; /// Gradient stops (colors/transparence).
-+ OptValue< sal_Int32 > moGradientPath; /// If set, gradient follows rectangle, circle, or shape.
-+ OptValue< sal_Int32 > moShadeAngle; /// Rotation angle of linear gradients.
-+ OptValue< bool > moShadeScaled;
-+ OptValue< sal_Int32 > moFlipModeToken;
-+ OptValue< com::sun::star::geometry::IntegerRectangle2D > moFillToRect;
-+ OptValue< com::sun::star::geometry::IntegerRectangle2D > moTileRect;
-+ OptValue< sal_Int32 > moPattPreset; /// Preset pattern type.
-+ Color maPattFgColor; /// Pattern foreground color.
-+ Color maPattBgColor; /// Pattern background color.
-+ ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > mxGraphic;
-+ Color maColorChangeFrom; /// Start color of color transformation.
-+ Color maColorChangeTo; /// Destination color of color transformation.
-+ OptValue< sal_Int32 > moBitmapMode; /// Bitmap tile or stretch.
-+ OptValue< sal_Int32 > moTileX; /// Width of bitmap tiles.
-+ OptValue< sal_Int32 > moTileY; /// Height of bitmap tiles.
-+ OptValue< sal_Int32 > moTileSX;
-+ OptValue< sal_Int32 > moTileSY;
-+ OptValue< sal_Int32 > moTileAlign; /// Anchor point inside bitmap.
-+
-+ static Shape3DPropertyNames DEFAULTNAMES; /// Default fill property names for shape fill.
-+ static Shape3DPropertyNames DEFAULTPICNAMES; /// Default fill property names for pictures.
-+
-+ /** Overwrites all members that are explicitly set in rSourceProps. */
-+ void assignUsed( const Shape3DProperties& rSourceProps );
-+
-+ /** Tries to resolve current settings to a solid color, e.g. returns the
-+ start color of a gradient. */
-+ Color getBestSolidColor() const;
-+
-+ /** Writes the properties to the passed property map. */
-+ void pushToPropMap(
-+ PropertyMap& rPropMap,
-+ const Shape3DPropertyNames& rPropNames,
-+ const ::oox::core::XmlFilterBase& rFilter,
-+ ::oox::core::ModelObjectContainer& rObjContainer,
-+ sal_Int32 nShapeRotation, sal_Int32 nPhClr ) const;
-+
-+ /** Writes the properties to the passed property set. */
-+ void pushToPropSet(
-+ PropertySet& rPropSet,
-+ const Shape3DPropertyNames& rPropNames,
-+ const ::oox::core::XmlFilterBase& rFilter,
-+ ::oox::core::ModelObjectContainer& rObjContainer,
-+ sal_Int32 nShapeRotation, sal_Int32 nPhClr ) const;
-+};
-+
-+// ============================================================================
-+
-+} // namespace drawingml
-+} // namespace oox
-+
-+#endif
-+
-diff --git oox/inc/oox/drawingml/theme.hxx oox/inc/oox/drawingml/theme.hxx
-index 30a6aa1..903ff1d 100644
---- oox/inc/oox/drawingml/theme.hxx
-+++ oox/inc/oox/drawingml/theme.hxx
-@@ -32,6 +32,7 @@
- #include "oox/drawingml/clrscheme.hxx"
- #include "oox/drawingml/shape.hxx"
- #include "oox/drawingml/textfont.hxx"
-+#include <com/sun/star/xml/dom/XDocument.hpp>
-
- namespace oox {
- namespace drawingml {
-@@ -94,6 +95,11 @@ public:
- inline Shape& getTxDef() { return maTxDef; }
- inline const Shape& getTxDef() const { return maTxDef; }
-
-+ void setFragment( const ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::dom::XDocument>& xRef ) { mxFragment=xRef; }
-+ const ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::dom::XDocument>& getFragment() const { return mxFragment; }
-+
- private:
- ::rtl::OUString maStyleName;
- ClrScheme maClrScheme;
-@@ -105,6 +111,8 @@ private:
- Shape maSpDef;
- Shape maLnDef;
- Shape maTxDef;
-+ ::com::sun::star::uno::Reference<
-+ ::com::sun::star::xml::dom::XDocument> mxFragment;
- };
-
- // ============================================================================
-diff --git oox/inc/oox/ppt/dgmimport.hxx oox/inc/oox/ppt/dgmimport.hxx
-new file mode 100644
-index 0000000..955b1fa
---- /dev/null
-+++ oox/inc/oox/ppt/dgmimport.hxx
-@@ -0,0 +1,71 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: pptimport.hxx,v $
-+ * $Revision: 1.6 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef OOX_POWERPOINT_QUICKDIAGRAMMINGIMPORT_HXX
-+#define OOX_POWERPOINT_QUICKDIAGRAMMINGIMPORT_HXX
-+
-+#include "oox/core/xmlfilterbase.hxx"
-+
-+#include <com/sun/star/animations/XAnimationNode.hpp>
-+#include <oox/drawingml/theme.hxx>
-+#include "oox/ppt/presentationfragmenthandler.hxx"
-+#include "oox/ppt/slidepersist.hxx"
-+#include "tokens.hxx"
-+#include <vector>
-+#include <map>
-+
-+namespace oox { namespace ppt {
-+
-+// ---------------------------------------------------------------------
-+
-+class QuickDiagrammingImport : public oox::core::XmlFilterBase
-+{
-+public:
-+
-+ QuickDiagrammingImport( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > & rSMgr );
-+
-+ // from FilterBase
-+ virtual bool importDocument() throw();
-+ virtual bool exportDocument() throw();
-+
-+ virtual const ::oox::drawingml::Theme* getCurrentTheme() const;
-+ virtual sal_Int32 getSchemeClr( sal_Int32 nColorSchemeToken ) const;
-+ virtual const oox::drawingml::table::TableStyleListPtr getTableStyles();
-+
-+ virtual oox::vml::Drawing* getVmlDrawing();
-+ virtual oox::drawingml::chart::ChartConverter* getChartConverter();
-+
-+private:
-+ virtual ::rtl::OUString implGetImplementationName() const;
-+};
-+
-+} }
-+
-+#endif // OOX_POWERPOINT_QUICKDIAGRAMMINGIMPORT_HXX
-diff --git oox/inc/oox/ppt/dgmlayout.hxx oox/inc/oox/ppt/dgmlayout.hxx
-new file mode 100644
-index 0000000..8e3847b
---- /dev/null
-+++ oox/inc/oox/ppt/dgmlayout.hxx
-@@ -0,0 +1,72 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: pptimport.hxx,v $
-+ * $Revision: 1.6 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef OOX_POWERPOINT_QUICKDIAGRAMMINGLAYOUT_HXX
-+#define OOX_POWERPOINT_QUICKDIAGRAMMINGLAYOUT_HXX
-+
-+#include "oox/core/xmlfilterbase.hxx"
-+
-+#include <com/sun/star/animations/XAnimationNode.hpp>
-+#include <oox/drawingml/theme.hxx>
-+#include "oox/ppt/presentationfragmenthandler.hxx"
-+#include "oox/ppt/slidepersist.hxx"
-+#include "tokens.hxx"
-+#include <vector>
-+#include <map>
-+
-+namespace oox { namespace ppt {
-+
-+// ---------------------------------------------------------------------
-+
-+class QuickDiagrammingLayout : public oox::core::XmlFilterBase
-+{
-+public:
-+
-+ QuickDiagrammingLayout( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > & rSMgr );
-+
-+ // from FilterBase
-+ virtual bool importDocument() throw();
-+ virtual bool exportDocument() throw();
-+
-+ virtual const ::oox::drawingml::Theme* getCurrentTheme() const;
-+ virtual sal_Int32 getSchemeClr( sal_Int32 nColorSchemeToken ) const;
-+ virtual const oox::drawingml::table::TableStyleListPtr getTableStyles();
-+
-+ virtual ::oox::vml::Drawing* getVmlDrawing();
-+ virtual ::oox::drawingml::chart::ChartConverter* getChartConverter();
-+
-+private:
-+ virtual ::rtl::OUString implGetImplementationName() const;
-+ drawingml::ThemePtr mpThemePtr;
-+};
-+
-+} }
-+
-+#endif // OOX_POWERPOINT_QUICKDIAGRAMMINGLAYOUT_HXX
-diff --git oox/inc/oox/ppt/pptimport.hxx oox/inc/oox/ppt/pptimport.hxx
-index 0ac93dd..dadfa1e 100644
---- oox/inc/oox/ppt/pptimport.hxx
-+++ oox/inc/oox/ppt/pptimport.hxx
-@@ -56,7 +56,7 @@ public:
- virtual const ::oox::drawingml::Theme* getCurrentTheme() const;
- virtual ::oox::vml::Drawing* getVmlDrawing();
- virtual const oox::drawingml::table::TableStyleListPtr getTableStyles();
-- virtual ::oox::drawingml::chart::ChartConverter& getChartConverter();
-+ virtual ::oox::drawingml::chart::ChartConverter* getChartConverter();
-
- void setActualSlidePersist( SlidePersistPtr pActualSlidePersist ){ mpActualSlidePersist = pActualSlidePersist; };
- std::map< rtl::OUString, oox::drawingml::ThemePtr >& getThemes(){ return maThemes; };
-diff --git oox/inc/oox/xls/excelfilter.hxx oox/inc/oox/xls/excelfilter.hxx
-index 49a0c85..3f72d7a 100644
---- oox/inc/oox/xls/excelfilter.hxx
-+++ oox/inc/oox/xls/excelfilter.hxx
-@@ -68,7 +68,7 @@ public:
- virtual const ::oox::drawingml::Theme* getCurrentTheme() const;
- virtual ::oox::vml::Drawing* getVmlDrawing();
- virtual const ::oox::drawingml::table::TableStyleListPtr getTableStyles();
-- virtual ::oox::drawingml::chart::ChartConverter& getChartConverter();
-+ virtual ::oox::drawingml::chart::ChartConverter* getChartConverter();
-
- virtual sal_Bool SAL_CALL filter( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& rDescriptor ) throw( ::com::sun::star::uno::RuntimeException );
-
-diff --git oox/inc/oox/xls/workbookhelper.hxx oox/inc/oox/xls/workbookhelper.hxx
-index 99857ea..65d89a2 100644
---- oox/inc/oox/xls/workbookhelper.hxx
-+++ oox/inc/oox/xls/workbookhelper.hxx
-@@ -253,7 +253,7 @@ public:
- /** Returns the converter for string to cell address/range conversion. */
- AddressConverter& getAddressConverter() const;
- /** Returns the chart object converter. */
-- ExcelChartConverter& getChartConverter() const;
-+ ExcelChartConverter* getChartConverter() const;
- /** Returns the page and print settings converter. */
- PageSettingsConverter& getPageSettingsConverter() const;
-
-diff --git oox/source/core/facreg.cxx oox/source/core/facreg.cxx
-index 50a2a54..f6c0427 100644
---- oox/source/core/facreg.cxx
-+++ oox/source/core/facreg.cxx
-@@ -57,6 +57,8 @@ extern uno::Reference< uno::XInterface > SAL_CALL className##_createInstance(
- namespace oox {
- namespace core { SERVICE( FilterDetect ); }
- namespace ppt { SERVICE( PowerPointImport ); }
-+ namespace ppt { SERVICE( QuickDiagrammingImport ); }
-+ namespace ppt { SERVICE( QuickDiagrammingLayout ); }
- namespace xls { SERVICE( BiffDetector ); }
- namespace xls { SERVICE( ExcelFilter ); }
- namespace xls { SERVICE( ExcelBiffFilter ); }
-@@ -100,6 +102,8 @@ OOX_DLLPUBLIC sal_Bool SAL_CALL component_writeInfo( void * , void * pRegistryKe
-
- WRITEINFO( ::oox::core::FilterDetect );
- WRITEINFO( ::oox::ppt::PowerPointImport );
-+ WRITEINFO( ::oox::ppt::QuickDiagrammingImport );
-+ WRITEINFO( ::oox::ppt::QuickDiagrammingLayout );
- WRITEINFO( ::oox::xls::BiffDetector );
- WRITEINFO( ::oox::xls::ExcelFilter );
- WRITEINFO( ::oox::xls::ExcelBiffFilter );
-@@ -148,6 +152,8 @@ OOX_DLLPUBLIC void * SAL_CALL component_getFactory( const sal_Char * pImplName,
-
- SINGLEFACTORY( ::oox::core::FilterDetect )
- else SINGLEFACTORY( oox::ppt::PowerPointImport )
-+ else SINGLEFACTORY( oox::ppt::QuickDiagrammingImport )
-+ else SINGLEFACTORY( oox::ppt::QuickDiagrammingLayout )
- else SINGLEFACTORY( ::oox::xls::BiffDetector )
- else SINGLEFACTORY( ::oox::xls::ExcelFilter )
- else SINGLEFACTORY( ::oox::xls::ExcelBiffFilter )
-diff --git oox/source/core/filterbase.cxx oox/source/core/filterbase.cxx
-index 46075bc..09d4764 100644
---- oox/source/core/filterbase.cxx
-+++ oox/source/core/filterbase.cxx
-@@ -31,6 +31,7 @@
- #include <com/sun/star/frame/XModel.hpp>
- #include <com/sun/star/task/XStatusIndicator.hpp>
- #include <com/sun/star/task/XInteractionHandler.hpp>
-+#include <com/sun/star/drawing/XShape.hpp>
- #include <osl/mutex.hxx>
- #include <rtl/instance.hxx>
- #include <rtl/uri.hxx>
-@@ -62,6 +63,7 @@ using ::com::sun::star::io::XInputStream;
- using ::com::sun::star::io::XOutputStream;
- using ::com::sun::star::io::XStream;
- using ::com::sun::star::task::XStatusIndicator;
-+using ::com::sun::star::drawing::XShape;
- using ::com::sun::star::task::XInteractionHandler;
- using ::com::sun::star::graphic::XGraphic;
- using ::com::sun::star::container::XNameAccess;
-@@ -155,6 +157,7 @@ struct FilterBaseImpl
- Reference< XStream > mxOutStream;
- Reference< XStatusIndicator > mxStatusIndicator;
- Reference< XInteractionHandler > mxInteractionHandler;
-+ Reference< XShape > mxParentShape;
-
- explicit FilterBaseImpl( const Reference< XMultiServiceFactory >& rxGlobalFactory );
-
-@@ -266,6 +269,11 @@ const Reference< XFrame >& FilterBase::getTargetFrame() const
- return mxImpl->mxTargetFrame;
- }
-
-+const Reference< XShape >& FilterBase::getParentShape() const
-+{
-+ return mxImpl->mxParentShape;
-+}
-+
- const Reference< XStatusIndicator >& FilterBase::getStatusIndicator() const
- {
- return mxImpl->mxStatusIndicator;
-@@ -560,6 +568,7 @@ void FilterBase::setMediaDescriptor( const Sequence< PropertyValue >& rMediaDesc
- mxImpl->mxTargetFrame = mxImpl->maMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_FRAME(), Reference< XFrame >() );
- mxImpl->mxStatusIndicator = mxImpl->maMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_STATUSINDICATOR(), Reference< XStatusIndicator >() );
- mxImpl->mxInteractionHandler = mxImpl->maMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_INTERACTIONHANDLER(), Reference< XInteractionHandler >() );
-+ mxImpl->mxParentShape = mxImpl->maMediaDesc.getUnpackedValueOrDefault( CREATE_OUSTRING( "ParentShape" ), mxImpl->mxParentShape );
-
- // Check for ISO OOXML
- OUString sFilterName = mxImpl->maMediaDesc.getUnpackedValueOrDefault( CREATE_OUSTRING( "FilterName" ), OUString() );
-diff --git oox/source/core/xmlfilterbase.cxx oox/source/core/xmlfilterbase.cxx
-index 5ee4052..615cc8f 100644
---- oox/source/core/xmlfilterbase.cxx
-+++ oox/source/core/xmlfilterbase.cxx
-@@ -31,10 +31,14 @@
-
- #include <rtl/strbuf.hxx>
- #include <rtl/ustrbuf.hxx>
-+#include <rtl/instance.hxx>
- #include <com/sun/star/container/XNameContainer.hpp>
- #include <com/sun/star/embed/XRelationshipAccess.hpp>
-+#include <com/sun/star/xml/dom/XDocument.hpp>
-+#include <com/sun/star/xml/dom/XDocumentBuilder.hpp>
- #include <com/sun/star/xml/sax/InputSource.hpp>
- #include <com/sun/star/xml/sax/XFastParser.hpp>
-+#include <com/sun/star/xml/sax/XFastSAXSerializable.hpp>
- #include <com/sun/star/document/XDocumentProperties.hpp>
- #include <comphelper/mediadescriptor.hxx>
- #include <sax/fshelper.hxx>
-@@ -54,6 +58,7 @@ using ::rtl::OStringBuffer;
- using ::rtl::OUString;
- using ::rtl::OUStringBuffer;
- using ::com::sun::star::beans::StringPair;
-+using ::com::sun::star::beans::Pair;
- using ::com::sun::star::uno::Reference;
- using ::com::sun::star::uno::Sequence;
- using ::com::sun::star::uno::Exception;
-@@ -74,11 +79,14 @@ using ::com::sun::star::xml::sax::XFastTokenHandler;
- using ::com::sun::star::xml::sax::XFastDocumentHandler;
- using ::com::sun::star::xml::sax::InputSource;
- using ::com::sun::star::xml::sax::SAXException;
-+using ::com::sun::star::xml::dom::XDocument;
-+using ::com::sun::star::xml::dom::XDocumentBuilder;
- using ::com::sun::star::document::XDocumentProperties;
- using ::com::sun::star::util::DateTime;
- using ::comphelper::MediaDescriptor;
- using ::sax_fastparser::FastSerializerHelper;
- using ::sax_fastparser::FSHelperPtr;
-+using namespace ::com::sun::star;
-
-
- #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
-@@ -118,6 +126,8 @@ struct XmlFilterBaseImpl
- typedef RefMap< OUString, Relations > RelationsMap;
-
- Reference< XFastParser > mxFastParser;
-+ Reference< XFastTokenHandler >
-+ mxTokenHandler;
- OUString maBinSuffix;
- OUString maVmlSuffix;
- RelationsMap maRelationsMap;
-@@ -151,6 +161,66 @@ static Reference< XComponentContext > lcl_getComponentContext(Reference< XMultiS
-
- // ============================================================================
-
-+namespace
-+{
-+ struct NamespaceIds: public rtl::StaticWithInit<
-+ Sequence< Pair< OUString, sal_Int32 > >,
-+ NamespaceIds>
-+ {
-+ Sequence< Pair< OUString, sal_Int32 > > operator()()
-+ {
-+ static const char* const namespaceURIs[] = {
-+ "http://www.w3.org/XML/1998/namespace",
-+ "http://schemas.openxmlformats.org/package/2006/relationships",
-+ "http://schemas.openxmlformats.org/officeDocument/2006/relationships",
-+ "http://schemas.openxmlformats.org/drawingml/2006/main",
-+ "http://schemas.openxmlformats.org/drawingml/2006/diagram",
-+ "http://schemas.openxmlformats.org/drawingml/2006/chart",
-+ "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing",
-+ "urn:schemas-microsoft-com:vml",
-+ "urn:schemas-microsoft-com:office:office",
-+ "urn:schemas-microsoft-com:office:word",
-+ "urn:schemas-microsoft-com:office:excel",
-+ "urn:schemas-microsoft-com:office:powerpoint",
-+ "http://schemas.microsoft.com/office/2006/activeX",
-+ "http://schemas.openxmlformats.org/spreadsheetml/2006/main",
-+ "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing",
-+ "http://schemas.microsoft.com/office/excel/2006/main",
-+ "http://schemas.openxmlformats.org/presentationml/2006/main"
-+ };
-+
-+ static const sal_Int32 namespaceIds[] = {
-+ NMSP_XML,
-+ NMSP_PACKAGE_RELATIONSHIPS,
-+ NMSP_RELATIONSHIPS,
-+ NMSP_DRAWINGML,
-+ NMSP_DIAGRAM,
-+ NMSP_CHART,
-+ NMSP_CDR,
-+ NMSP_VML,
-+ NMSP_OFFICE,
-+ NMSP_VML_DOC,
-+ NMSP_VML_XLS,
-+ NMSP_VML_PPT,
-+ NMSP_AX,
-+ NMSP_XLS,
-+ NMSP_XDR,
-+ NMSP_XM,
-+ NMSP_PPT
-+ };
-+
-+ Sequence< Pair< OUString, sal_Int32 > > aRet(STATIC_ARRAY_SIZE(namespaceIds));
-+ for( sal_Int32 i=0; i<aRet.getLength(); ++i )
-+ aRet[i] = beans::make_Pair(
-+ ::rtl::OUString::createFromAscii(namespaceURIs[i]),
-+ namespaceIds[i]);
-+ return aRet;
-+ }
-+ };
-+}
-+
-+// ============================================================================
-+
- XmlFilterBase::XmlFilterBase( const Reference< XMultiServiceFactory >& rxGlobalFactory ) :
- FilterBase( rxGlobalFactory ),
- mxImpl( new XmlFilterBaseImpl ),
-@@ -159,32 +228,18 @@ XmlFilterBase::XmlFilterBase( const Reference< XMultiServiceFactory >& rxGlobalF
- {
- try
- {
-+ // create the fast tokenhandler
-+ mxImpl->mxTokenHandler.set( new FastTokenHandler );
-+
- // create the fast parser
- mxImpl->mxFastParser.set( rxGlobalFactory->createInstance( CREATE_OUSTRING( "com.sun.star.xml.sax.FastParser" ) ), UNO_QUERY_THROW );
-- mxImpl->mxFastParser->setTokenHandler( new FastTokenHandler );
-+ mxImpl->mxFastParser->setTokenHandler( mxImpl->mxTokenHandler );
-
- // register XML namespaces
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://www.w3.org/XML/1998/namespace" ), NMSP_XML );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/package/2006/relationships" ), NMSP_PACKAGE_RELATIONSHIPS );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/officeDocument/2006/relationships" ), NMSP_RELATIONSHIPS );
--
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/main" ), NMSP_DRAWINGML );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/diagram" ), NMSP_DIAGRAM );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/chart" ), NMSP_CHART );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing" ), NMSP_CDR );
--
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:vml" ), NMSP_VML );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:office" ), NMSP_OFFICE );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:word" ), NMSP_VML_DOC );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:excel" ), NMSP_VML_XLS );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "urn:schemas-microsoft-com:office:powerpoint" ), NMSP_VML_PPT );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.microsoft.com/office/2006/activeX" ), NMSP_AX );
--
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/spreadsheetml/2006/main"), NMSP_XLS );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" ), NMSP_XDR );
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.microsoft.com/office/excel/2006/main" ), NMSP_XM );
--
-- mxImpl->mxFastParser->registerNamespace( CREATE_OUSTRING( "http://schemas.openxmlformats.org/presentationml/2006/main"), NMSP_PPT );
-+ const Sequence< Pair< OUString, sal_Int32 > > ids=
-+ NamespaceIds::get();
-+ for( sal_Int32 i=0; i<ids.getLength(); ++i )
-+ mxImpl->mxFastParser->registerNamespace( ids[i].First, ids[i].Second );
- }
- catch( Exception& )
- {
-@@ -297,6 +352,66 @@ bool XmlFilterBase::importFragment( const ::rtl::Reference< FragmentHandler >& r
- return false;
- }
-
-+Reference<XDocument> XmlFilterBase::importFragment( const ::rtl::OUString& aFragmentPath )
-+{
-+ Reference<XDocument> xRet;
-+
-+ // path to fragment stream valid?
-+ OSL_ENSURE( aFragmentPath.getLength() > 0, "XmlFilterBase::importFragment - empty fragment path" );
-+ if( aFragmentPath.getLength() == 0 )
-+ return xRet;
-+
-+ // try to open the fragment stream (this may fail - do not assert)
-+ Reference< XInputStream > xInStrm = openInputStream( aFragmentPath );
-+ if( !xInStrm.is() )
-+ return xRet;
-+
-+ // binary streams (fragment extension is '.bin') currently not supported
-+ sal_Int32 nBinSuffixPos = aFragmentPath.getLength() - mxImpl->maBinSuffix.getLength();
-+ if( (nBinSuffixPos >= 0) && aFragmentPath.match( mxImpl->maBinSuffix, nBinSuffixPos ) )
-+ return xRet;
-+
-+ // try to import XML stream
-+ try
-+ {
-+ // create the dom parser
-+ Reference<XDocumentBuilder> xDomBuilder(
-+ getGlobalFactory()->createInstance(
-+ CREATE_OUSTRING( "com.sun.star.xml.dom.DocumentBuilder" ) ),
-+ UNO_QUERY_THROW );
-+
-+ // create DOM from fragment
-+ xRet = xDomBuilder->parse(xInStrm);
-+ }
-+ catch( Exception& )
-+ {
-+ }
-+
-+ return xRet;
-+}
-+
-+bool XmlFilterBase::importFragment( const ::rtl::Reference< FragmentHandler >& rxHandler,
-+ const Reference< xml::sax::XFastSAXSerializable >& rxSerializer )
-+{
-+ Reference< XFastDocumentHandler > xDocHandler( rxHandler.get() );
-+ if( !xDocHandler.is() )
-+ return false;
-+
-+ // try to import XML stream
-+ try
-+ {
-+ rxSerializer->fastSerialize( xDocHandler,
-+ mxImpl->mxTokenHandler,
-+ uno::Sequence< beans::StringPair >(),
-+ NamespaceIds::get() );
-+ return true;
-+ }
-+ catch( Exception& )
-+ {}
-+
-+ return false;
-+}
-+
- RelationsRef XmlFilterBase::importRelations( const OUString& rFragmentPath )
- {
- // try to find cached relations
-@@ -564,6 +679,11 @@ XmlFilterBase& XmlFilterBase::exportDocumentProperties( Reference< XDocumentProp
- return *this;
- }
-
-+::oox::drawingml::chart::ChartConverter* XmlFilterBase::getChartConverter()
-+{
-+ return 0;
-+}
-+
- // protected ------------------------------------------------------------------
-
- Reference< XInputStream > XmlFilterBase::implGetInputStream( MediaDescriptor& rMediaDesc ) const
-diff --git oox/source/drawingml/chart/chartspaceconverter.cxx oox/source/drawingml/chart/chartspaceconverter.cxx
-index 591c556..bfeb136 100644
---- oox/source/drawingml/chart/chartspaceconverter.cxx
-+++ oox/source/drawingml/chart/chartspaceconverter.cxx
-@@ -70,9 +70,12 @@ ChartSpaceConverter::~ChartSpaceConverter()
-
- void ChartSpaceConverter::convertFromModel( const Reference< XShapes >& rxExternalPage, const Point& rChartPos )
- {
-+ if( !getChartConverter() )
-+ return;
-+
- /* create data provider (virtual function in the ChartConverter class,
- derived converters may create an external data provider) */
-- getChartConverter().createDataProvider( getChartDocument() );
-+ getChartConverter()->createDataProvider( getChartDocument() );
-
- // attach number formatter of container document to data receiver
- try
-diff --git oox/source/drawingml/chart/converterbase.cxx oox/source/drawingml/chart/converterbase.cxx
-index 0f6b3d5..97cdeb8 100644
---- oox/source/drawingml/chart/converterbase.cxx
-+++ oox/source/drawingml/chart/converterbase.cxx
-@@ -261,9 +261,9 @@ XmlFilterBase& ConverterRoot::getFilter() const
- return mxData->mrFilter;
- }
-
--ChartConverter& ConverterRoot::getChartConverter() const
-+ChartConverter* ConverterRoot::getChartConverter() const
- {
-- return mxData->mrConverter;
-+ return &mxData->mrConverter;
- }
-
- Reference< XChartDocument > ConverterRoot::getChartDocument() const
-diff --git oox/source/drawingml/chart/datasourceconverter.cxx oox/source/drawingml/chart/datasourceconverter.cxx
-index c874720..4c5edb6 100644
---- oox/source/drawingml/chart/datasourceconverter.cxx
-+++ oox/source/drawingml/chart/datasourceconverter.cxx
-@@ -53,12 +53,15 @@ DataSequenceConverter::~DataSequenceConverter()
- Reference< XDataSequence > DataSequenceConverter::createDataSequence( const OUString& rRole )
- {
- // create data sequence from data source model (virtual call at chart converter)
-- Reference< XDataSequence > xDataSeq = getChartConverter().createDataSequence( getChartDocument()->getDataProvider(), mrModel );
--
-- // set sequence role
-- PropertySet aSeqProp( xDataSeq );
-- aSeqProp.setProperty( PROP_Role, rRole );
-+ Reference< XDataSequence > xDataSeq;
-+ if( getChartConverter() )
-+ {
-+ xDataSeq = getChartConverter()->createDataSequence( getChartDocument()->getDataProvider(), mrModel );
-
-+ // set sequen ce role
-+ PropertySet aSeqProp( xDataSeq );
-+ aSeqProp.setProperty( PROP_Role, rRole );
-+ }
- return xDataSeq;
- }
-
-diff --git oox/source/drawingml/clrscheme.cxx oox/source/drawingml/clrscheme.cxx
-index b620cd0..b91ae63 100644
---- oox/source/drawingml/clrscheme.cxx
-+++ oox/source/drawingml/clrscheme.cxx
-@@ -25,6 +25,7 @@
- *
- ************************************************************************/
-
-+#include <osl/diagnose.h>
- #include "oox/drawingml/clrscheme.hxx"
- #include "tokens.hxx"
-
-@@ -61,6 +62,7 @@ ClrScheme::~ClrScheme()
-
- sal_Bool ClrScheme::getColor( sal_Int32 nSchemeClrToken, sal_Int32& rColor ) const
- {
-+ OSL_ASSERT((nSchemeClrToken & sal_Int32(0xFFFF0000))==0);
- switch( nSchemeClrToken )
- {
- case XML_bg1 : nSchemeClrToken = XML_lt1; break;
-diff --git oox/source/drawingml/color.cxx oox/source/drawingml/color.cxx
-index 964d171..a2d454e 100644
---- oox/source/drawingml/color.cxx
-+++ oox/source/drawingml/color.cxx
-@@ -381,6 +381,7 @@ sal_Int32 Color::getColor( const GraphicHelper& rGraphicHelper, sal_Int32 nPhClr
- {
- for( TransformVec::const_iterator aIt = maTransforms.begin(), aEnd = maTransforms.end(); aIt != aEnd; ++aIt )
- {
-+ OSL_ASSERT((aIt->mnToken & sal_Int32(0xFFFF0000))==0);
- switch( aIt->mnToken )
- {
- case XML_red: toCrgb(); lclSetValue( mnC1, aIt->mnValue ); break;
-diff --git oox/source/drawingml/customshapegeometry.cxx oox/source/drawingml/customshapegeometry.cxx
-index 9c1293d..baeb4ac 100644
---- oox/source/drawingml/customshapegeometry.cxx
-+++ oox/source/drawingml/customshapegeometry.cxx
-@@ -1171,8 +1171,9 @@ Path2DListContext::Path2DListContext( ContextHandler& rParent, CustomShapeProper
-
- // ---------------------------------------------------------------------
-
--OUString GetShapeType( sal_Int32 nType )
-+OUString GetShapePresetType( sal_Int32 nType )
- {
-+ OSL_ASSERT((nType & sal_Int32(0xFFFF0000))==0);
- OUString sType;
- switch( nType )
- {
-@@ -1800,6 +1801,7 @@ OUString GetShapeType( sal_Int32 nType )
-
- static OUString GetTextShapeType( sal_Int32 nType )
- {
-+ OSL_ASSERT((nType & sal_Int32(0xFFFF0000))==0);
- OUString sType;
- switch( nType )
- {
-@@ -2030,7 +2032,7 @@ PresetShapeGeometryContext::PresetShapeGeometryContext( ContextHandler& rParent,
- OUString sShapeType;
- sal_Int32 nShapeType = xAttribs->getOptionalValueToken( XML_prst, FastToken::DONTKNOW );
- if ( nShapeType != FastToken::DONTKNOW )
-- sShapeType = GetShapeType( nShapeType );
-+ sShapeType = GetShapePresetType( nShapeType );
- OSL_ENSURE( sShapeType.getLength(), "oox::drawingml::CustomShapeCustomGeometryContext::CustomShapeCustomGeometryContext(), unknown shape type" );
- mrCustomShapeProperties.setShapePresetType( sShapeType );
- }
-diff --git oox/source/drawingml/diagram/constraintlistcontext.cxx oox/source/drawingml/diagram/constraintlistcontext.cxx
-new file mode 100644
-index 0000000..0ca24f7
---- /dev/null
-+++ oox/source/drawingml/diagram/constraintlistcontext.cxx
-@@ -0,0 +1,102 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile$
-+ * $Revision$
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#include "constraintlistcontext.hxx"
-+#include "oox/helper/attributelist.hxx"
-+#include "oox/core/namespaces.hxx"
-+
-+using namespace ::oox::core;
-+using namespace ::com::sun::star::uno;
-+using namespace ::com::sun::star::xml::sax;
-+using ::rtl::OUString;
-+
-+namespace oox { namespace drawingml {
-+
-+// CT_ConstraintLists
-+ConstraintListContext::ConstraintListContext( ContextHandler& rParent,
-+ const Reference< XFastAttributeList >&,
-+ const LayoutAtomPtr &pNode )
-+ : ContextHandler( rParent )
-+ , mpNode( pNode )
-+{
-+ OSL_ENSURE( pNode, "Node must NOT be NULL" );
-+}
-+
-+
-+ConstraintListContext::~ConstraintListContext()
-+{
-+}
-+
-+void SAL_CALL ConstraintListContext::endFastElement( ::sal_Int32 )
-+ throw (SAXException, RuntimeException)
-+{
-+}
-+
-+Reference< XFastContextHandler > SAL_CALL
-+ConstraintListContext::createFastChildContext( ::sal_Int32 aElement,
-+ const Reference< XFastAttributeList >& xAttribs )
-+ throw (SAXException, RuntimeException)
-+{
-+ Reference< XFastContextHandler > xRet;
-+
-+ OUString aEmptyStr;
-+
-+ switch( aElement )
-+ {
-+ case NMSP_DIAGRAM|XML_constr:
-+ {
-+ ConstraintAtomPtr pNode( new ConstraintAtom() );
-+ mpNode->addChild( pNode );
-+
-+ AttributeList aAttribs( xAttribs );
-+ pNode->setFor( aAttribs.getToken( XML_for, XML_none ) );
-+ pNode->setForName( aAttribs.getString( XML_forName, aEmptyStr ) );
-+ pNode->setPointType( aAttribs.getToken( XML_ptType, XML_none ) );
-+ pNode->setType( aAttribs.getToken( XML_type, XML_none ) );
-+ pNode->setRefFor( aAttribs.getToken( XML_refFor, XML_none ) );
-+ pNode->setRefForName( aAttribs.getString( XML_refForName, aEmptyStr ) );
-+ pNode->setRefType( aAttribs.getToken( XML_refType, XML_none ) );
-+ pNode->setRefPointType( aAttribs.getToken( XML_refPtType, XML_none ) );
-+ pNode->setFactor( aAttribs.getDouble( XML_fact, 1.0 ) );
-+ pNode->setValue( aAttribs.getDouble( XML_val, 0.0 ) );
-+ pNode->setOperator( aAttribs.getToken( XML_op, XML_none ) );
-+ break;
-+ }
-+ default:
-+ break;
-+ }
-+ if( !xRet.is() )
-+ xRet.set(this);
-+
-+ return xRet;
-+}
-+
-+
-+} }
-diff --git oox/source/drawingml/diagram/constraintlistcontext.hxx oox/source/drawingml/diagram/constraintlistcontext.hxx
-new file mode 100644
-index 0000000..5766253
---- /dev/null
-+++ oox/source/drawingml/diagram/constraintlistcontext.hxx
-@@ -0,0 +1,54 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile$
-+ * $Revision$
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef OOX_DRAWINGML_CONSTRAINTLISTCONTEXT_HXX
-+#define OOX_DRAWINGML_CONSTRAINTLISTCONTEXT_HXX
-+
-+#include "oox/core/contexthandler.hxx"
-+#include "diagramlayoutatoms.hxx"
-+#include "diagram.hxx"
-+
-+namespace oox { namespace drawingml {
-+
-+class ConstraintListContext : public ::oox::core::ContextHandler
-+{
-+public:
-+ ConstraintListContext( ContextHandler& rParent, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& xAttributes, const LayoutAtomPtr &pNode );
-+ virtual ~ConstraintListContext();
-+
-+ virtual void SAL_CALL endFastElement( ::sal_Int32 Element ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
-+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( ::sal_Int32 Element, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XFastAttributeList >& Attribs ) throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
-+private:
-+ LayoutAtomPtr mpNode;
-+};
-+
-+} }
-+
-+#endif
-diff --git oox/source/drawingml/diagram/datamodelcontext.cxx oox/source/drawingml/diagram/datamodelcontext.cxx
-index 23e5e54..839b021 100644
---- oox/source/drawingml/diagram/datamodelcontext.cxx
-+++ oox/source/drawingml/diagram/datamodelcontext.cxx
-@@ -25,7 +25,7 @@
- *
- ************************************************************************/
-
--#include "oox/drawingml/diagram/datamodelcontext.hxx"
-+#include "datamodelcontext.hxx"
- #include "oox/helper/attributelist.hxx"
- #include "oox/core/namespaces.hxx"
- #include "oox/drawingml/fillpropertiesgroupcontext.hxx"
-@@ -41,40 +41,46 @@ namespace oox { namespace drawingml {
-
-
-
--// CL_Cxn
--class CxnContext
-+// CT_CxnList
-+class CxnListContext
- : public ContextHandler
- {
- public:
-- CxnContext( ContextHandler& rParent,
-- const Reference< XFastAttributeList >& xAttribs,
-- const dgm::ConnectionPtr & pConnection )
-+ CxnListContext( ContextHandler& rParent,
-+ dgm::Connections & aConnections )
- : ContextHandler( rParent )
-- , mpConnection( pConnection )
-+ , mrConnections( aConnections )
- {
-- sal_Int32 nType = xAttribs->getOptionalValueToken( XML_type, XML_parOf );
-- pConnection->mnType = nType;
-- pConnection->msModelId = xAttribs->getOptionalValue( XML_modelId );
-- pConnection->msSourceId = xAttribs->getOptionalValue( XML_srcId );
-- pConnection->msDestId = xAttribs->getOptionalValue( XML_destId );
-- pConnection->msPresId = xAttribs->getOptionalValue( XML_presId );
-- pConnection->msSibTransId = xAttribs->getOptionalValue( XML_sibTransId );
-- AttributeList attribs( xAttribs );
-- pConnection->mnSourceOrder = attribs.getInteger( XML_srcOrd, 0 );
-- pConnection->mnDestOrder = attribs.getInteger( XML_destOrd, 0 );
- }
--
- virtual Reference< XFastContextHandler > SAL_CALL
- createFastChildContext( sal_Int32 aElementToken,
-- const Reference< XFastAttributeList >& /*xAttribs*/ )
-+ const Reference< XFastAttributeList >& xAttribs )
- throw (SAXException, RuntimeException)
- {
- Reference< XFastContextHandler > xRet;
-
- switch( aElementToken )
- {
-- case NMSP_DIAGRAM|XML_extLst:
-+ case NMSP_DIAGRAM|XML_cxn:
-+ {
-+ mrConnections.push_back( dgm::Connection() );
-+ dgm::Connection& rConnection=mrConnections.back();
-+
-+ const sal_Int32 nType = xAttribs->getOptionalValueToken( XML_type, XML_parOf );
-+ rConnection.mnType = nType;
-+ rConnection.msModelId = xAttribs->getOptionalValue( XML_modelId );
-+ rConnection.msSourceId = xAttribs->getOptionalValue( XML_srcId );
-+ rConnection.msDestId = xAttribs->getOptionalValue( XML_destId );
-+ rConnection.msPresId = xAttribs->getOptionalValue( XML_presId );
-+ rConnection.msSibTransId = xAttribs->getOptionalValue( XML_sibTransId );
-+ rConnection.msParTransId = xAttribs->getOptionalValue( XML_parTransId );
-+ const AttributeList attribs( xAttribs );
-+ rConnection.mnSourceOrder = attribs.getInteger( XML_srcOrd, 0 );
-+ rConnection.mnDestOrder = attribs.getInteger( XML_destOrd, 0 );
-+
-+ // skip CT_extLst
- return xRet;
-+ }
- default:
- break;
- }
-@@ -82,37 +88,136 @@ public:
- xRet.set( this );
- return xRet;
- }
-+
- private:
-- dgm::ConnectionPtr mpConnection;
-+ dgm::Connections& mrConnections;
- };
-
-
--// CT_CxnList
--class CxnListContext
-+// CT_presLayoutVars
-+class PresLayoutVarsContext
- : public ContextHandler
- {
- public:
-- CxnListContext( ContextHandler& rParent, dgm::Connections & aConnections )
-- : ContextHandler( rParent )
-- , maConnections( aConnections )
-+ PresLayoutVarsContext( ContextHandler& rParent,
-+ dgm::Point & rPoint ) :
-+ ContextHandler( rParent ),
-+ mrPoint( rPoint )
-+ {
-+ }
-+ virtual Reference< XFastContextHandler > SAL_CALL
-+ createFastChildContext( sal_Int32 aElementToken,
-+ const Reference< XFastAttributeList >& xAttribs )
-+ throw (SAXException, RuntimeException)
- {
-+ Reference< XFastContextHandler > xRet;
-+ AttributeList aAttribs( xAttribs );
-+
-+ switch( aElementToken )
-+ {
-+ // TODO
-+ case NMSP_DIAGRAM|XML_animLvl:
-+ case NMSP_DIAGRAM|XML_animOne:
-+ break;
-+ case NMSP_DIAGRAM|XML_bulletEnabled:
-+ mrPoint.mbBulletEnabled = aAttribs.getBool( XML_val, false );
-+ break;
-+ case NMSP_DIAGRAM|XML_chMax:
-+ mrPoint.mnMaxChildren = aAttribs.getInteger( XML_val, -1 );
-+ break;
-+ case NMSP_DIAGRAM|XML_chPref:
-+ mrPoint.mnPreferredChildren = aAttribs.getInteger( XML_val, -1 );
-+ break;
-+ case NMSP_DIAGRAM|XML_dir:
-+ mrPoint.mnDirection = aAttribs.getToken( XML_val, XML_norm );
-+ break;
-+ case NMSP_DIAGRAM|XML_hierBranch:
-+ mrPoint.mnHierarchyBranch = aAttribs.getToken( XML_val, XML_std );
-+ break;
-+ case NMSP_DIAGRAM|XML_orgChart:
-+ mrPoint.mbOrgChartEnabled = aAttribs.getBool( XML_val, false );
-+ break;
-+ case NMSP_DIAGRAM|XML_resizeHandles:
-+ mrPoint.mnResizeHandles = aAttribs.getToken( XML_val, XML_rel );
-+ break;
-+ default:
-+ break;
-+ }
-+ if( !xRet.is() )
-+ xRet.set( this );
-+ return xRet;
- }
-+
-+private:
-+ dgm::Point& mrPoint;
-+};
-+
-+
-+// CT_prSet
-+class PropertiesContext
-+ : public ContextHandler
-+{
-+public:
-+ PropertiesContext( ContextHandler& rParent,
-+ dgm::Point & rPoint,
-+ const Reference< XFastAttributeList >& xAttribs ) :
-+ ContextHandler( rParent ),
-+ mrPoint( rPoint )
-+ {
-+ OUString aEmptyStr;
-+ AttributeList aAttribs( xAttribs );
-+
-+ mrPoint.msColorTransformCategoryId = aAttribs.getString( XML_csCatId, aEmptyStr );
-+ mrPoint.msColorTransformTypeId = aAttribs.getString( XML_csTypeId, aEmptyStr );
-+ mrPoint.msLayoutCategoryId = aAttribs.getString( XML_loCatId, aEmptyStr );
-+ mrPoint.msLayoutTypeId = aAttribs.getString( XML_loTypeId, aEmptyStr );
-+ mrPoint.msPlaceholderText = aAttribs.getString( XML_phldrT, aEmptyStr );
-+ mrPoint.msPresentationAssociationId = aAttribs.getString( XML_presAssocID, aEmptyStr );
-+ mrPoint.msPresentationLayoutName = aAttribs.getString( XML_presName, aEmptyStr );
-+ mrPoint.msPresentationLayoutStyleLabel = aAttribs.getString( XML_presStyleLbl, aEmptyStr );
-+ mrPoint.msQuickStyleCategoryId = aAttribs.getString( XML_qsCatId, aEmptyStr );
-+ mrPoint.msQuickStyleTypeId = aAttribs.getString( XML_qsTypeId, aEmptyStr );
-+
-+ mrPoint.mnCustomAngle = aAttribs.getInteger( XML_custAng, -1 );
-+ mrPoint.mnPercentageNeighbourWidth = aAttribs.getInteger( XML_custLinFactNeighborX, -1 );
-+ mrPoint.mnPercentageNeighbourHeight = aAttribs.getInteger( XML_custLinFactNeighborY, -1 );
-+ mrPoint.mnPercentageOwnWidth = aAttribs.getInteger( XML_custLinFactX, -1 );
-+ mrPoint.mnPercentageOwnHeight = aAttribs.getInteger( XML_custLinFactY, -1 );
-+ mrPoint.mnIncludeAngleScale = aAttribs.getInteger( XML_custRadScaleInc, -1 );
-+ mrPoint.mnRadiusScale = aAttribs.getInteger( XML_custRadScaleRad, -1 );
-+ mrPoint.mnWidthScale = aAttribs.getInteger( XML_custScaleX, -1 );
-+ mrPoint.mnHeightScale = aAttribs.getInteger( XML_custScaleY, -1 );
-+ mrPoint.mnWidthOverride = aAttribs.getInteger( XML_custSzX, -1 );
-+ mrPoint.mnHeightOverride = aAttribs.getInteger( XML_custSzY, -1 );
-+ mrPoint.mnLayoutStyleCount = aAttribs.getInteger( XML_presStyleCnt, -1 );
-+ mrPoint.mnLayoutStyleIndex = aAttribs.getInteger( XML_presStyleIdx, -1 );
-+
-+ mrPoint.mbCoherent3DOffset = aAttribs.getBool( XML_coherent3DOff, false );
-+ mrPoint.mbCustomHorizontalFlip = aAttribs.getBool( XML_custFlipHor, false );
-+ mrPoint.mbCustomVerticalFlip = aAttribs.getBool( XML_custFlipVert, false );
-+ mrPoint.mbCustomText = aAttribs.getBool( XML_custT, false );
-+ mrPoint.mbIsPlaceholder = aAttribs.getBool( XML_phldr, false );
-+ }
- virtual Reference< XFastContextHandler > SAL_CALL
- createFastChildContext( sal_Int32 aElementToken,
-- const Reference< XFastAttributeList >& xAttribs )
-+ const Reference< XFastAttributeList >& )
- throw (SAXException, RuntimeException)
- {
- Reference< XFastContextHandler > xRet;
-
- switch( aElementToken )
- {
-- case NMSP_DIAGRAM|XML_cxn:
-+ case NMSP_DIAGRAM|XML_presLayoutVars:
- {
-- dgm::ConnectionPtr pConnection( new dgm::Connection() );
-- maConnections.push_back( pConnection );
-- xRet.set( new CxnContext( *this, xAttribs, pConnection ) );
-+ xRet.set( new PresLayoutVarsContext( *this, mrPoint ) );
- break;
- }
-+ case NMSP_DIAGRAM|XML_style:
-+ {
-+ // TODO
-+ // skip CT_shapeStyle
-+ return xRet;
-+ }
- default:
- break;
- }
-@@ -122,11 +227,10 @@ public:
- }
-
- private:
-- dgm::Connections & maConnections;
-+ dgm::Point& mrPoint;
- };
-
-
--
- // CL_Pt
- class PtContext
- : public ContextHandler
-@@ -134,27 +238,25 @@ class PtContext
- public:
- PtContext( ContextHandler& rParent,
- const Reference< XFastAttributeList >& xAttribs,
-- const dgm::PointPtr & pPoint)
-- : ContextHandler( rParent )
-- , mpPoint( pPoint )
-- {
-- mpPoint->setModelId( xAttribs->getOptionalValue( XML_modelId ) );
-- //
-- // the default type is XML_node
-- sal_Int32 nType = xAttribs->getOptionalValueToken( XML_type, XML_node );
-- mpPoint->setType( nType );
--
-- // ignore the cxnId unless it is this type. See 5.15.3.1.3 in Primer
-- if( ( nType == XML_parTrans ) || ( nType == XML_sibTrans ) )
-- {
-- mpPoint->setCnxId( xAttribs->getOptionalValue( XML_cxnId ) );
-- }
-- }
-+ dgm::Point & rPoint):
-+ ContextHandler( rParent ),
-+ mrPoint( rPoint )
-+ {
-+ mrPoint.msModelId = xAttribs->getOptionalValue( XML_modelId );
-+
-+ // the default type is XML_node
-+ const sal_Int32 nType = xAttribs->getOptionalValueToken( XML_type, XML_node );
-+ mrPoint.mnType = nType;
-+
-+ // ignore the cxnId unless it is this type. See 5.15.3.1.3 in Primer
-+ if( ( nType == XML_parTrans ) || ( nType == XML_sibTrans ) )
-+ mrPoint.msCnxId = xAttribs->getOptionalValue( XML_cxnId );
-+ }
-
-
- virtual Reference< XFastContextHandler > SAL_CALL
- createFastChildContext( sal_Int32 aElementToken,
-- const Reference< XFastAttributeList >& /*xAttribs*/ )
-+ const Reference< XFastAttributeList >& xAttribs )
- throw (SAXException, RuntimeException)
- {
- Reference< XFastContextHandler > xRet;
-@@ -164,18 +266,22 @@ public:
- case NMSP_DIAGRAM|XML_extLst:
- return xRet;
- case NMSP_DIAGRAM|XML_prSet:
-- // TODO
-- // CT_ElemPropSet
-+ OSL_TRACE( "diagram property set for point");
-+ xRet = new PropertiesContext( *this, mrPoint, xAttribs );
- break;
- case NMSP_DIAGRAM|XML_spPr:
- OSL_TRACE( "shape props for point");
-- xRet = new ShapePropertiesContext( *this, *mpPoint->getShape() );
-+ if( !mrPoint.mpShape )
-+ mrPoint.mpShape.reset( new Shape() );
-+ xRet = new ShapePropertiesContext( *this, *(mrPoint.mpShape) );
- break;
- case NMSP_DIAGRAM|XML_t:
- {
- OSL_TRACE( "shape text body for point");
- TextBodyPtr xTextBody( new TextBody );
-- mpPoint->getShape()->setTextBody( xTextBody );
-+ if( !mrPoint.mpShape )
-+ mrPoint.mpShape.reset( new Shape() );
-+ mrPoint.mpShape->setTextBody( xTextBody );
- xRet = new TextBodyContext( *this, *xTextBody );
- break;
- }
-@@ -188,7 +294,7 @@ public:
- }
-
- private:
-- dgm::PointPtr mpPoint;
-+ dgm::Point& mrPoint;
- };
-
-
-@@ -198,11 +304,10 @@ class PtListContext
- : public ContextHandler
- {
- public:
-- PtListContext( ContextHandler& rParent, dgm::Points & aPoints)
-- : ContextHandler( rParent )
-- , maPoints( aPoints )
-- {
-- }
-+ PtListContext( ContextHandler& rParent, dgm::Points& rPoints) :
-+ ContextHandler( rParent ),
-+ mrPoints( rPoints )
-+ {}
- virtual Reference< XFastContextHandler > SAL_CALL
- createFastChildContext( sal_Int32 aElementToken,
- const Reference< XFastAttributeList >& xAttribs )
-@@ -215,9 +320,8 @@ public:
- case NMSP_DIAGRAM|XML_pt:
- {
- // CT_Pt
-- dgm::PointPtr pPoint( new dgm::Point() );
-- maPoints.push_back( pPoint );
-- xRet.set( new PtContext( *this, xAttribs, pPoint ) );
-+ mrPoints.push_back( dgm::Point() );
-+ xRet.set( new PtContext( *this, xAttribs, mrPoints.back() ) );
- break;
- }
- default:
-@@ -229,7 +333,7 @@ public:
- }
-
- private:
-- dgm::Points & maPoints;
-+ dgm::Points& mrPoints;
- };
-
- // CT_BackgroundFormatting
-diff --git oox/source/drawingml/diagram/datamodelcontext.hxx oox/source/drawingml/diagram/datamodelcontext.hxx
-new file mode 100644
-index 0000000..7ca50dd
---- /dev/null
-+++ oox/source/drawingml/diagram/datamodelcontext.hxx
-@@ -0,0 +1,57 @@
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2008 by Sun Microsystems, Inc.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * $RCSfile: datamodelcontext.hxx,v $
-+ * $Revision: 1.4 $
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+
-+#ifndef OOX_DRAWINGML_SHAPECONTEXT_HXX
-+#define OOX_DRAWINGML_SHAPECONTEXT_HXX
-+
-+#include <com/sun/star/drawing/XShapes.hpp>
-+
-+#include "oox/core/contexthandler.hxx"
-+#include "diagram.hxx"
-+
-+namespace oox { namespace drawingml {
-+
-+// CT_DataModel
-+class DataModelContext : public ::oox::core::ContextHandler
-+{
-+public:
-+ DataModelContext( ::oox::core::ContextHandler& rParent, const DiagramDataPtr & pDataModelPtr );
-+ virtual ~DataModelContext();
-+
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list