summaryrefslogtreecommitdiff
path: root/oox/source/shape
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2009-07-15 14:57:49 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2009-07-15 14:57:49 +0000
commit0851da4d8a0a557f1e9a31af652a530c615c2989 (patch)
tree4c630979f4764c52e84314e9bb16d22416a447b2 /oox/source/shape
parente49ca2777ba38f75b24a49d30f59c2f0d2be79e6 (diff)
CWS-TOOLING: integrate CWS dr68
2009-06-19 17:43:48 +0200 oc r273175 : #i102946# some lines for new dialog added 2009-06-19 14:17:45 +0200 oc r273158 : #i102946# three lines added 2009-05-19 11:56:14 +0200 dr r272065 : #i99677# wrong attribute name 2009-05-18 18:37:05 +0200 dr r272045 : #i10000# suncc warning 2009-05-05 16:46:13 +0200 dr r271536 : #i10000# adoptions after rebase to master containing dr67 2009-05-05 16:01:19 +0200 dr r271530 : #i10000# adoptions after rebase to master containing dr67 2009-05-04 14:20:39 +0200 dr r271453 : CWS-TOOLING: rebase CWS dr68 to trunk@271427 (milestone: DEV300:m47) 2009-04-28 17:01:14 +0200 dr r271332 : CWS-TOOLING: rebase CWS dr68 to trunk@270723 (milestone: DEV300:m46) 2009-04-23 12:21:40 +0200 dr r271149 : #i100688# missing checkins 2009-04-23 12:18:16 +0200 dr r271147 : #i100978# relations path handling 2009-04-22 19:25:45 +0200 nn r271136 : #i49491# show navigator for double click on document position status bar control 2009-04-22 11:28:36 +0200 nn r271085 : #i60401# small text change 2009-04-21 16:53:23 +0200 dr r271044 : #i10000# missing dtor 2009-04-20 13:39:25 +0200 nn r270977 : #i60401# add dialog to extend sort range (patch from maoyg) 2009-04-08 12:11:08 +0200 dr r270630 : #i100943# prevent assertion when loading chart with empty category ranges 2009-04-07 19:03:00 +0200 dr r270609 : #i100688# missing bits for OLE 2009-04-07 17:14:06 +0200 dr r270605 : ported fix for #i100710# 2009-04-07 17:12:50 +0200 dr r270604 : #i10000# wae 2009-04-07 15:31:55 +0200 dr r270598 : import system colors moved to FilterBase class, more rework on fill and color contexts 2009-04-06 15:00:03 +0200 dr r270552 : #i99677# prevent recursive loading of the current document 2009-04-03 18:28:42 +0200 dr r270515 : added import of brightness/contrast and mono/grayscale color effects for image shapes 2009-04-03 17:36:03 +0200 dr r270509 : cache already imported embedded graphics 2009-04-03 16:46:34 +0200 dr r270500 : more rework on bitmap fill and graphic object handling 2009-03-31 12:28:10 +0200 dr r270271 : #i10000# unxlngi6 wae 2009-03-31 09:04:10 +0200 dr r270261 : CWS-TOOLING: rebase CWS dr68 to trunk@270033 (milestone: DEV300:m45) 2009-03-30 17:42:05 +0200 dr r270249 : #i91122# add missing doc 2009-03-30 17:37:08 +0200 dr r270248 : #i91122# add missing doc 2009-03-30 16:59:15 +0200 dr r270241 : #i99677# add import of ActiveX scrollbar controls 2009-03-30 14:30:36 +0200 dr r270230 : #i91122# missing/wrong documentation 2009-03-30 13:03:38 +0200 dr r270220 : #i99677# add import of ActiveX combobox and spinbutton controls 2009-03-27 11:46:59 +0100 dr r270144 : #i99677# import ActiveX listbox controls (Forms.ListBox.1) 2009-03-26 19:58:00 +0100 dr r270104 : #i99677# move more OLE import code into ole submodule 2009-03-26 15:15:02 +0100 dr r270082 : #i100546# add import of chart bitmap fills, add import of X/Y offset in tiled bitmap fills of all shapes 2009-03-25 12:54:59 +0100 dr r270018 : #i99677# import ActiveX edit text control (Forms.TextBox.1) 2009-03-24 10:59:29 +0100 dr r269921 : #i99677# moved import of OLE StdHlink to 'ole' submodule, added string import helpers to BinaryStreamBase class, removed implementation of ST_XString import from docprop in favour of the implementation in class AttributeList 2009-03-24 10:40:18 +0100 dr r269919 : #i100502# implicit precedence of '&&' was intended 2009-03-24 10:18:29 +0100 dr r269917 : #i100502# missing parentheses 2009-03-23 15:17:48 +0100 dr r269876 : #i99677# more code reorg, added graphic helper and OLE helper object per filter, added OLE/control import to PPTX/XLSX filter, moved helpers from XmlFilterBase to FilterBase 2009-03-19 12:45:20 +0100 dr r269740 : #i99677# interface changes in oox 2009-03-18 15:51:50 +0100 dr r269683 : #i99677# improved relation handling (internal/external), added preprocessor for VML streams to eat MS specific instructions, added OCX ToggleButton/OptionButton import, added DIB import for BIFF (page background picture, lots of other minor improvements 2009-03-16 15:25:30 +0100 dr r269551 : #i99677# import excel form control client data (printable, cell link) 2009-03-13 18:37:17 +0100 dr r269494 : #i99677# import image controls and check boxes 2009-03-12 15:08:18 +0100 dr r269420 : #i10000# rebase problems 2009-03-12 14:43:09 +0100 dr r269418 : #i10000# rebase problems 2009-03-12 14:42:41 +0100 dr r269417 : #i10000# missing delivered header 2009-03-12 13:57:06 +0100 dr r269405 : #i10000# typos 2009-03-12 12:58:52 +0100 dr r269391 : CWS-TOOLING: rebase CWS dr68 to trunk@269297 (milestone: DEV300:m43) 2009-03-12 11:11:46 +0100 dr r269374 : #i99677# first step to import BIFF8 page background 2009-03-12 10:21:53 +0100 dr r269364 : #i99677# rework of graphic import in entire filter, added import of AX Label controls 2009-03-09 16:44:50 +0100 dr r269202 : #i99677# import some formatting attributes of command buttons 2009-03-05 15:31:46 +0100 dr r268911 : #i99677# use VML shape client data to import excel VML shape positions 2009-03-05 11:39:48 +0100 dr r268888 : #i99677# create UNO control shapes from VML control shapes 2009-03-05 11:38:59 +0100 dr r268886 : #i99677# change attribute Shapes to DrawPage for import of embedded form controls 2009-03-05 11:30:40 +0100 dr r268885 : #i99677# change attribute Shapes to DrawPage for import of embedded form controls 2009-03-04 18:46:05 +0100 dr r268860 : adapt namespace ids according to oox 2009-03-04 18:43:49 +0100 dr r268859 : #i99677# more VML import rework 2009-03-03 13:38:36 +0100 dr r268721 : #i99677# more cleanup for VML filter 2009-03-03 13:13:15 +0100 dr r268719 : #i99807# do not iterate beyond end of std::list 2009-03-02 11:55:49 +0100 dr r268644 : add ST_XString support (encoded characters in attribute values) 2009-02-26 17:07:18 +0100 dr r268542 : #i99677# first steps of ax control import: dummy AX base classes, reimplement VML import (hopefully without breaking anything), register embedded AX controls at VML drawing 2009-02-23 17:43:50 +0100 dr r268365 : #i99426# remaining work on scenario import 2009-02-19 16:56:25 +0100 dr r268295 : #i99426# base implementations for scenarios import
Diffstat (limited to 'oox/source/shape')
-rw-r--r--oox/source/shape/ShapeContextHandler.cxx38
-rw-r--r--oox/source/shape/ShapeContextHandler.hxx11
-rw-r--r--oox/source/shape/ShapeFilterBase.cxx4
-rw-r--r--oox/source/shape/ShapeFilterBase.hxx6
4 files changed, 29 insertions, 30 deletions
diff --git a/oox/source/shape/ShapeContextHandler.cxx b/oox/source/shape/ShapeContextHandler.cxx
index c2d98650776b..8f5165726710 100644
--- a/oox/source/shape/ShapeContextHandler.cxx
+++ b/oox/source/shape/ShapeContextHandler.cxx
@@ -29,7 +29,9 @@
************************************************************************/
#include "ShapeContextHandler.hxx"
-#include "oox/vml/drawingfragmenthandler.hxx"
+#include "oox/vml/vmldrawingfragment.hxx"
+#include "oox/vml/vmlshape.hxx"
+#include "oox/vml/vmlshapecontainer.hxx"
namespace oox { namespace shape {
@@ -90,11 +92,11 @@ ShapeContextHandler::getDrawingShapeContext()
{
if (!mxDrawingFragmentHandler.is())
{
- mpDrawing.reset( new oox::vml::Drawing() );
+ mpDrawing.reset( new oox::vml::Drawing( *mxFilterBase, mxDrawPage, oox::vml::VMLDRAWING_WORD ) );
mxDrawingFragmentHandler.set
- (dynamic_cast<ContextHandler *>
- (new oox::vml::DrawingFragmentHandler
- ( *mxFilterBase, msRelationFragmentPath, mpDrawing->getShapes(), mpDrawing->getShapeTypes() )));
+ (dynamic_cast<ContextHandler *>
+ (new oox::vml::DrawingFragment
+ ( *mxFilterBase, msRelationFragmentPath, *mpDrawing )));
}
return mxDrawingFragmentHandler;
@@ -217,21 +219,19 @@ uno::Reference< drawing::XShape > SAL_CALL
ShapeContextHandler::getShape() throw (uno::RuntimeException)
{
uno::Reference< drawing::XShape > xResult;
+ uno::Reference< drawing::XShapes > xShapes( mxDrawPage, uno::UNO_QUERY );
- if (mxFilterBase.is() && mxShapes.is())
+ if (mxFilterBase.is() && xShapes.is())
{
if (mpDrawing.get() != NULL)
{
- std::vector< oox::vml::ShapePtr >& rShapes = mpDrawing->getShapes();
- if ( rShapes.size() )
- {
- rShapes[ 0 ]->addShape( *mxFilterBase, *mpDrawing, mxShapes, NULL );
- xResult.set(rShapes[ 0 ]->getXShape());
- }
+ mpDrawing->finalizeFragmentImport();
+ if( const ::oox::vml::ShapeBase* pShape = mpDrawing->getShapes().getFirstShape() )
+ xResult = pShape->convertAndInsert( xShapes );
}
else if (mpShape.get() != NULL)
{
- mpShape->addShape(*mxFilterBase, mpThemePtr, mxShapes);
+ mpShape->addShape(*mxFilterBase, mpThemePtr, xShapes);
xResult.set(mpShape->getXShape());
}
}
@@ -239,17 +239,17 @@ ShapeContextHandler::getShape() throw (uno::RuntimeException)
return xResult;
}
-css::uno::Reference< css::drawing::XShapes > SAL_CALL
-ShapeContextHandler::getShapes() throw (css::uno::RuntimeException)
+css::uno::Reference< css::drawing::XDrawPage > SAL_CALL
+ShapeContextHandler::getDrawPage() throw (css::uno::RuntimeException)
{
- return mxShapes;
+ return mxDrawPage;
}
-void SAL_CALL ShapeContextHandler::setShapes
-(const css::uno::Reference< css::drawing::XShapes > & the_value)
+void SAL_CALL ShapeContextHandler::setDrawPage
+(const css::uno::Reference< css::drawing::XDrawPage > & the_value)
throw (css::uno::RuntimeException)
{
- mxShapes = the_value;
+ mxDrawPage = the_value;
}
css::uno::Reference< css::frame::XModel > SAL_CALL
diff --git a/oox/source/shape/ShapeContextHandler.hxx b/oox/source/shape/ShapeContextHandler.hxx
index 171640838502..47b2cf1951de 100644
--- a/oox/source/shape/ShapeContextHandler.hxx
+++ b/oox/source/shape/ShapeContextHandler.hxx
@@ -40,7 +40,6 @@
#include "oox/drawingml/theme.hxx"
#include "oox/core/fragmenthandler.hxx"
#include "oox/core/xmlfilterbase.hxx"
-#include "oox/vml/drawingfragmenthandler.hxx"
#include "ShapeFilterBase.hxx"
namespace css = ::com::sun::star;
@@ -134,11 +133,11 @@ public:
virtual css::uno::Reference< css::drawing::XShape > SAL_CALL getShape()
throw (css::uno::RuntimeException);
- virtual css::uno::Reference< css::drawing::XShapes > SAL_CALL getShapes()
+ virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL getDrawPage()
throw (css::uno::RuntimeException);
- virtual void SAL_CALL setShapes
- (const css::uno::Reference< css::drawing::XShapes > & the_value)
+ virtual void SAL_CALL setDrawPage
+ (const css::uno::Reference< css::drawing::XDrawPage > & the_value)
throw (css::uno::RuntimeException);
virtual css::uno::Reference< css::frame::XModel > SAL_CALL getModel()
@@ -172,7 +171,7 @@ private:
css::uno::Reference< css::uno::XComponentContext > m_xContext;
drawingml::ShapePtr mpShape;
- vml::DrawingPtr mpDrawing;
+ ::boost::shared_ptr< vml::Drawing > mpDrawing;
typedef boost::shared_ptr<drawingml::GraphicShapeContext>
GraphicShapeContextPtr;
@@ -181,7 +180,7 @@ private:
core::XmlFilterRef mxFilterBase;
drawingml::ThemePtr mpThemePtr;
- css::uno::Reference<css::drawing::XShapes> mxShapes;
+ css::uno::Reference<css::drawing::XDrawPage> mxDrawPage;
css::uno::Reference<css::io::XInputStream> mxInputStream;
::rtl::OUString msRelationFragmentPath;
diff --git a/oox/source/shape/ShapeFilterBase.cxx b/oox/source/shape/ShapeFilterBase.cxx
index c43eaddf363d..0933af28ffd5 100644
--- a/oox/source/shape/ShapeFilterBase.cxx
+++ b/oox/source/shape/ShapeFilterBase.cxx
@@ -58,9 +58,9 @@ sal_Int32 ShapeFilterBase::getSchemeClr(sal_Int32 /*nColorSchemeToken*/ ) const
return 0;
}
-const vml::DrawingPtr ShapeFilterBase::getDrawings()
+::oox::vml::Drawing* ShapeFilterBase::getVmlDrawing()
{
- return vml::DrawingPtr();
+ return 0;
}
const ::oox::drawingml::table::TableStyleListPtr ShapeFilterBase::getTableStyles()
diff --git a/oox/source/shape/ShapeFilterBase.hxx b/oox/source/shape/ShapeFilterBase.hxx
index 0657aea11c2e..d90904ed22cc 100644
--- a/oox/source/shape/ShapeFilterBase.hxx
+++ b/oox/source/shape/ShapeFilterBase.hxx
@@ -33,7 +33,7 @@
#include <boost/shared_ptr.hpp>
#include <rtl/ref.hxx>
-#include "oox/vml/drawing.hxx"
+#include "oox/vml/vmldrawing.hxx"
#include "oox/drawingml/table/tablestylelist.hxx"
#include "oox/core/xmlfilterbase.hxx"
@@ -58,8 +58,8 @@ public:
/** Has to be implemented by each filter to resolve scheme colors. */
virtual sal_Int32 getSchemeClr( sal_Int32 nColorSchemeToken ) const;
- /** Has to be implemented by each filter to return drawings collection. */
- virtual const ::oox::vml::DrawingPtr getDrawings();
+ /** Has to be implemented by each filter to return the collection of VML shapes. */
+ virtual ::oox::vml::Drawing* getVmlDrawing();
/** Has to be implemented by each filter to return TableStyles. */
virtual const ::oox::drawingml::table::TableStyleListPtr getTableStyles();