diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-10-08 02:10:04 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-11-19 13:47:34 +0100 |
commit | 11699eb826a6477d9d785a1e864469933ba95c14 (patch) | |
tree | 5f8851bc71e70357b7a26287f47ffc68f7f53b54 | |
parent | a66097b7f92cb91fdc07d3e04bd9eb0d4a821369 (diff) |
no createInstance calls any more in chart2/source/view creating shapes
Change-Id: I7978d607ecd9170fff37ff0be02cdfbec7ebb89b
-rw-r--r-- | chart2/source/view/inc/AbstractShapeFactory.hxx | 16 | ||||
-rw-r--r-- | chart2/source/view/inc/DummyShapeFactory.hxx | 9 | ||||
-rw-r--r-- | chart2/source/view/inc/ShapeFactory.hxx | 9 | ||||
-rw-r--r-- | chart2/source/view/main/DummyShapeFactory.cxx | 11 | ||||
-rw-r--r-- | chart2/source/view/main/ShapeFactory.cxx | 159 | ||||
-rw-r--r-- | chart2/source/view/main/VTitle.cxx | 177 |
6 files changed, 221 insertions, 160 deletions
diff --git a/chart2/source/view/inc/AbstractShapeFactory.hxx b/chart2/source/view/inc/AbstractShapeFactory.hxx index 03780eb3a9e4..5f915f032151 100644 --- a/chart2/source/view/inc/AbstractShapeFactory.hxx +++ b/chart2/source/view/inc/AbstractShapeFactory.hxx @@ -13,19 +13,22 @@ #include "PropertyMapper.hxx" #include "VLineProperties.hxx" #include "BaseGFXHelper.hxx" +#include <com/sun/star/awt/Size.hpp> +#include <com/sun/star/awt/Point.hpp> #include <com/sun/star/beans/XPropertySet.hpp> +#include <com/sun/star/chart2/XFormattedString.hpp> #include <com/sun/star/drawing/Direction3D.hpp> #include <com/sun/star/drawing/HomogenMatrix.hpp> #include <com/sun/star/drawing/PointSequenceSequence.hpp> #include <com/sun/star/drawing/PolyPolygonShape3D.hpp> #include <com/sun/star/drawing/Position3D.hpp> -#include <com/sun/star/awt/Size.hpp> -#include <com/sun/star/awt/Point.hpp> #include <com/sun/star/drawing/XDrawPage.hpp> #include <com/sun/star/drawing/XShapes.hpp> #include <com/sun/star/graphic/XGraphic.hpp> #include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <rtl/ustring.hxx> + namespace chart { @@ -190,6 +193,15 @@ public: ) = 0; virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > + createText( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget2D, + const com::sun::star::awt::Size& rSize, + const com::sun::star::awt::Point& rPosition, + com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::chart2::XFormattedString > > xFormattedString, + const com::sun::star::uno::Reference< + com::sun::star::beans::XPropertySet > xTextProperties, + double nRotation, const OUString& aName ) = 0; + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > createInvisibleRectangle( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget diff --git a/chart2/source/view/inc/DummyShapeFactory.hxx b/chart2/source/view/inc/DummyShapeFactory.hxx index 0cc7b908f528..e3731f8a2c96 100644 --- a/chart2/source/view/inc/DummyShapeFactory.hxx +++ b/chart2/source/view/inc/DummyShapeFactory.hxx @@ -146,6 +146,15 @@ public: ); virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > + createText( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget2D, + const com::sun::star::awt::Size& rSize, + const com::sun::star::awt::Point& rPosition, + com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::chart2::XFormattedString > > xFormattedString, + const com::sun::star::uno::Reference< + com::sun::star::beans::XPropertySet > xTextProperties, + double nRotation, const OUString& aName ); + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > createInvisibleRectangle( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget diff --git a/chart2/source/view/inc/ShapeFactory.hxx b/chart2/source/view/inc/ShapeFactory.hxx index fc4368356ad5..1cf87b417c5a 100644 --- a/chart2/source/view/inc/ShapeFactory.hxx +++ b/chart2/source/view/inc/ShapeFactory.hxx @@ -161,6 +161,15 @@ public: ); virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > + createText( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget2D, + const com::sun::star::awt::Size& rSize, + const com::sun::star::awt::Point& rPosition, + com::sun::star::uno::Sequence< com::sun::star::uno::Reference< com::sun::star::chart2::XFormattedString > > xFormattedString, + const com::sun::star::uno::Reference< + com::sun::star::beans::XPropertySet > xTextProperties, + double nRotation, const OUString& aName ); + + virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > createInvisibleRectangle( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >& xTarget diff --git a/chart2/source/view/main/DummyShapeFactory.cxx b/chart2/source/view/main/DummyShapeFactory.cxx index eb855356cafd..4eb6283e774b 100644 --- a/chart2/source/view/main/DummyShapeFactory.cxx +++ b/chart2/source/view/main/DummyShapeFactory.cxx @@ -269,6 +269,17 @@ uno::Reference< drawing::XShape > return new DummyXShape(); } + +uno::Reference< drawing::XShape > + DummyShapeFactory::createText( const uno::Reference< drawing::XShapes >& , + const awt::Size& , const awt::Point& , + uno::Sequence< uno::Reference< chart2::XFormattedString > > , + const uno::Reference< beans::XPropertySet > , + double , const OUString& ) +{ + return new DummyXShape(); +} + } //namespace dummy } //namespace chart diff --git a/chart2/source/view/main/ShapeFactory.cxx b/chart2/source/view/main/ShapeFactory.cxx index 5deac27ad5a9..a0abdafeb46f 100644 --- a/chart2/source/view/main/ShapeFactory.cxx +++ b/chart2/source/view/main/ShapeFactory.cxx @@ -22,6 +22,7 @@ #include "Stripe.hxx" #include "CommonConverters.hxx" #include "macros.hxx" +#include "RelativeSizeHelper.hxx" #include "PropertyMapper.hxx" #include <comphelper/InlineContainer.hxx> #include <com/sun/star/beans/XPropertySet.hpp> @@ -37,7 +38,9 @@ #include <com/sun/star/drawing/ProjectionMode.hpp> #include <com/sun/star/drawing/ShadeMode.hpp> #include <com/sun/star/drawing/TextFitToSizeType.hpp> +#include <com/sun/star/drawing/TextHorizontalAdjust.hpp> #include <com/sun/star/drawing/TextureProjectionMode.hpp> +#include <com/sun/star/drawing/TextVerticalAdjust.hpp> #include <com/sun/star/text/XText.hpp> #include <com/sun/star/uno/Any.hxx> @@ -2116,6 +2119,162 @@ uno::Reference< drawing::XShape > return xShape; } + +uno::Reference< drawing::XShape > + ShapeFactory::createText( const uno::Reference< drawing::XShapes >& xTarget, + const awt::Size& rSize, + const awt::Point& rPos, + uno::Sequence< uno::Reference< chart2::XFormattedString > > xFormattedString, + const uno::Reference< + beans::XPropertySet > xTextProperties, + double nRotation, const OUString& aName ) +{ + //create shape and add to page + uno::Reference< drawing::XShape > xShape( + m_xShapeFactory->createInstance( + "com.sun.star.drawing.TextShape" ), uno::UNO_QUERY ); + try + { + xTarget->add(xShape); + + //set text and text properties + uno::Reference< text::XText > xText( xShape, uno::UNO_QUERY ); + uno::Reference< text::XTextCursor > xTextCursor( xText->createTextCursor() ); + uno::Reference< text::XTextRange > xTextRange( xTextCursor, uno::UNO_QUERY ); + uno::Reference< beans::XPropertySet > xShapeProp( xShape, uno::UNO_QUERY ); + if( !xText.is() || !xTextRange.is() || !xTextCursor.is() || !xShapeProp.is() || !xTextProperties.is() ) + return xShape; + + tPropertyNameValueMap aValueMap; + //fill line-, fill- and paragraph-properties into the ValueMap + { + tMakePropertyNameMap aNameMap = PropertyMapper::getPropertyNameMapForParagraphProperties(); + aNameMap( PropertyMapper::getPropertyNameMapForFillAndLineProperties() ); + + PropertyMapper::getValueMap( aValueMap, aNameMap, xTextProperties ); + } + + //fill some more shape properties into the ValueMap + { + drawing::TextHorizontalAdjust eHorizontalAdjust = drawing::TextHorizontalAdjust_CENTER; + drawing::TextVerticalAdjust eVerticalAdjust = drawing::TextVerticalAdjust_CENTER; + + aValueMap.insert( tPropertyNameValueMap::value_type( "TextHorizontalAdjust", uno::makeAny(eHorizontalAdjust) ) ); // drawing::TextHorizontalAdjust + aValueMap.insert( tPropertyNameValueMap::value_type( "TextVerticalAdjust", uno::makeAny(eVerticalAdjust) ) ); //drawing::TextVerticalAdjust + aValueMap.insert( tPropertyNameValueMap::value_type( "TextAutoGrowHeight", uno::makeAny(sal_True) ) ); // sal_Bool + aValueMap.insert( tPropertyNameValueMap::value_type( "TextAutoGrowWidth", uno::makeAny(sal_True) ) ); // sal_Bool + + //set name/classified ObjectID (CID) + if( !aName.isEmpty() ) + aValueMap.insert( tPropertyNameValueMap::value_type( "Name", uno::makeAny( aName ) ) ); //CID OUString + } + + //set global title properties + { + tNameSequence aPropNames; + tAnySequence aPropValues; + PropertyMapper::getMultiPropertyListsFromValueMap( aPropNames, aPropValues, aValueMap ); + PropertyMapper::setMultiProperties( aPropNames, aPropValues, xShapeProp ); + } + + sal_Bool bStackCharacters(sal_False); + try + { + xTextProperties->getPropertyValue( "StackCharacters" ) >>= bStackCharacters; + } + catch( const uno::Exception& e ) + { + ASSERT_EXCEPTION( e ); + } + + if(bStackCharacters) + { + //if the characters should be stacked we use only the first character properties for code simplicity + if( xFormattedString.getLength()>0 ) + { + OUString aLabel; + for( sal_Int32 nN=0; nN<xFormattedString.getLength();nN++ ) + aLabel += xFormattedString[nN]->getString(); + aLabel = ShapeFactory::getStackedString( aLabel, bStackCharacters ); + + xTextCursor->gotoEnd(false); + xText->insertString( xTextRange, aLabel, false ); + xTextCursor->gotoEnd(true); + uno::Reference< beans::XPropertySet > xTargetProps( xShape, uno::UNO_QUERY ); + uno::Reference< beans::XPropertySet > xSourceProps( xFormattedString[0], uno::UNO_QUERY ); + + PropertyMapper::setMappedProperties( xTargetProps, xSourceProps + , PropertyMapper::getPropertyNameMapForCharacterProperties() ); + + // adapt font size according to page size + awt::Size aOldRefSize; + if( xTextProperties->getPropertyValue( "ReferencePageSize") >>= aOldRefSize ) + { + RelativeSizeHelper::adaptFontSizes( xTargetProps, aOldRefSize, rSize ); + } + } + } + else + { + uno::Sequence< uno::Reference< text::XTextCursor > > aCursorList( xFormattedString.getLength() ); + sal_Int32 nN = 0; + for( nN=0; nN<xFormattedString.getLength();nN++ ) + { + xTextCursor->gotoEnd(false); + xText->insertString( xTextRange, xFormattedString[nN]->getString(), false ); + xTextCursor->gotoEnd(true); + aCursorList[nN] = xText->createTextCursorByRange( uno::Reference< text::XTextRange >(xTextCursor,uno::UNO_QUERY) ); + } + awt::Size aOldRefSize; + bool bHasRefPageSize = + ( xTextProperties->getPropertyValue( "ReferencePageSize") >>= aOldRefSize ); + + if( xFormattedString.getLength()>0 ) + { + uno::Reference< beans::XPropertySet > xTargetProps( xShape, uno::UNO_QUERY ); + uno::Reference< beans::XPropertySet > xSourceProps( xFormattedString[0], uno::UNO_QUERY ); + PropertyMapper::setMappedProperties( xTargetProps, xSourceProps, PropertyMapper::getPropertyNameMapForCharacterProperties() ); + + // adapt font size according to page size + if( bHasRefPageSize ) + { + RelativeSizeHelper::adaptFontSizes( xTargetProps, aOldRefSize, rSize ); + } + } + } + + // #i109336# Improve auto positioning in chart + float fFontHeight = 0.0; + if ( xShapeProp.is() && ( xShapeProp->getPropertyValue( "CharHeight" ) >>= fFontHeight ) ) + { + fFontHeight *= ( 2540.0f / 72.0f ); // pt -> 1/100 mm + float fXFraction = 0.18f; + sal_Int32 nXDistance = static_cast< sal_Int32 >( ::rtl::math::round( fFontHeight * fXFraction ) ); + float fYFraction = 0.30f; + sal_Int32 nYDistance = static_cast< sal_Int32 >( ::rtl::math::round( fFontHeight * fYFraction ) ); + xShapeProp->setPropertyValue( "TextLeftDistance", uno::makeAny( nXDistance ) ); + xShapeProp->setPropertyValue( "TextRightDistance", uno::makeAny( nXDistance ) ); + xShapeProp->setPropertyValue( "TextUpperDistance", uno::makeAny( nYDistance ) ); + xShapeProp->setPropertyValue( "TextLowerDistance", uno::makeAny( nYDistance ) ); + } + sal_Int32 nXPos = rPos.X; + sal_Int32 nYPos = rPos.Y; + + //set position matrix + //the matrix needs to be set at the end behind autogrow and such position influencing properties + ::basegfx::B2DHomMatrix aM; + aM.rotate( -nRotation*F_PI/180.0 );//#i78696#->#i80521# + aM.translate( nXPos, nYPos ); + xShapeProp->setPropertyValue( "Transformation", uno::makeAny( B2DHomMatrixToHomogenMatrix3(aM) ) ); + } + catch( const uno::Exception& e ) + { + ASSERT_EXCEPTION( e ); + } + return xShape; +} + + } //namespace chart /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/view/main/VTitle.cxx b/chart2/source/view/main/VTitle.cxx index c95ff24b8c36..41d7eebeea23 100644 --- a/chart2/source/view/main/VTitle.cxx +++ b/chart2/source/view/main/VTitle.cxx @@ -21,13 +21,10 @@ #include "CommonConverters.hxx" #include "macros.hxx" #include "PropertyMapper.hxx" -#include "ShapeFactory.hxx" -#include "RelativeSizeHelper.hxx" +#include "AbstractShapeFactory.hxx" #include <com/sun/star/chart2/XFormattedString.hpp> #include <rtl/math.hxx> #include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/drawing/TextVerticalAdjust.hpp> -#include <com/sun/star/drawing/TextHorizontalAdjust.hpp> #include <com/sun/star/text/ControlCharacter.hpp> #include <com/sun/star/text/XText.hpp> #include <com/sun/star/text/XTextCursor.hpp> @@ -78,7 +75,7 @@ awt::Size VTitle::getUnrotatedSize() const //size before rotation awt::Size VTitle::getFinalSize() const //size after rotation { - return ShapeFactory::getSizeAfterRotation( + return AbstractShapeFactory::getSizeAfterRotation( m_xShape, m_fRotationAngleDegree ); } @@ -111,168 +108,32 @@ void VTitle::createShapes( const awt::Point& rPos , const awt::Size& rReferenceSize ) { - try - { - if(!m_xTitle.is()) - return; - - uno::Sequence< uno::Reference< XFormattedString > > aStringList = m_xTitle->getText(); - if(aStringList.getLength()<=0) - return; - - //create shape and add to page - uno::Reference< drawing::XShape > xShape( - m_xShapeFactory->createInstance( - "com.sun.star.drawing.TextShape" ), uno::UNO_QUERY ); - m_xTarget->add(xShape); - m_xShape = xShape; - - //set text and text properties - uno::Reference< text::XText > xText( xShape, uno::UNO_QUERY ); - uno::Reference< text::XTextCursor > xTextCursor( xText->createTextCursor() ); - uno::Reference< text::XTextRange > xTextRange( xTextCursor, uno::UNO_QUERY ); - uno::Reference< beans::XPropertySet > xShapeProp( xShape, uno::UNO_QUERY ); - uno::Reference< beans::XPropertySet > xTitleProperties( m_xTitle, uno::UNO_QUERY ); - if( !xText.is() || !xTextRange.is() || !xTextCursor.is() || !xShapeProp.is() || !xTitleProperties.is() ) - return; - - tPropertyNameValueMap aValueMap; - //fill line-, fill- and paragraph-properties into the ValueMap - { - tMakePropertyNameMap aNameMap = PropertyMapper::getPropertyNameMapForParagraphProperties(); - aNameMap( PropertyMapper::getPropertyNameMapForFillAndLineProperties() ); - - PropertyMapper::getValueMap( aValueMap, aNameMap, xTitleProperties ); - } - - //fill some more shape properties into the ValueMap - { - drawing::TextHorizontalAdjust eHorizontalAdjust = drawing::TextHorizontalAdjust_CENTER; - drawing::TextVerticalAdjust eVerticalAdjust = drawing::TextVerticalAdjust_CENTER; - - aValueMap.insert( tPropertyNameValueMap::value_type( "TextHorizontalAdjust", uno::makeAny(eHorizontalAdjust) ) ); // drawing::TextHorizontalAdjust - aValueMap.insert( tPropertyNameValueMap::value_type( "TextVerticalAdjust", uno::makeAny(eVerticalAdjust) ) ); //drawing::TextVerticalAdjust - aValueMap.insert( tPropertyNameValueMap::value_type( "TextAutoGrowHeight", uno::makeAny(sal_True) ) ); // sal_Bool - aValueMap.insert( tPropertyNameValueMap::value_type( "TextAutoGrowWidth", uno::makeAny(sal_True) ) ); // sal_Bool - - //set name/classified ObjectID (CID) - if( !m_aCID.isEmpty() ) - aValueMap.insert( tPropertyNameValueMap::value_type( "Name", uno::makeAny( m_aCID ) ) ); //CID OUString - } - - //set global title properties - { - tNameSequence aPropNames; - tAnySequence aPropValues; - PropertyMapper::getMultiPropertyListsFromValueMap( aPropNames, aPropValues, aValueMap ); - PropertyMapper::setMultiProperties( aPropNames, aPropValues, xShapeProp ); - } - - sal_Bool bStackCharacters(sal_False); - try - { - xTitleProperties->getPropertyValue( "StackCharacters" ) >>= bStackCharacters; - } - catch( const uno::Exception& e ) - { - ASSERT_EXCEPTION( e ); - } - - if(bStackCharacters) - { - //if the characters should be stacked we use only the first character properties for code simplicity - if( aStringList.getLength()>0 ) - { - OUString aLabel; - for( sal_Int32 nN=0; nN<aStringList.getLength();nN++ ) - aLabel += aStringList[nN]->getString(); - aLabel = ShapeFactory::getStackedString( aLabel, bStackCharacters ); - - xTextCursor->gotoEnd(false); - xText->insertString( xTextRange, aLabel, false ); - xTextCursor->gotoEnd(true); - uno::Reference< beans::XPropertySet > xTargetProps( xShape, uno::UNO_QUERY ); - uno::Reference< beans::XPropertySet > xSourceProps( aStringList[0], uno::UNO_QUERY ); - - PropertyMapper::setMappedProperties( xTargetProps, xSourceProps - , PropertyMapper::getPropertyNameMapForCharacterProperties() ); - - // adapt font size according to page size - awt::Size aOldRefSize; - if( xTitleProperties->getPropertyValue( "ReferencePageSize") >>= aOldRefSize ) - { - RelativeSizeHelper::adaptFontSizes( xTargetProps, aOldRefSize, rReferenceSize ); - } - } - } - else - { - uno::Sequence< uno::Reference< text::XTextCursor > > aCursorList( aStringList.getLength() ); - sal_Int32 nN = 0; - for( nN=0; nN<aStringList.getLength();nN++ ) - { - xTextCursor->gotoEnd(false); - xText->insertString( xTextRange, aStringList[nN]->getString(), false ); - xTextCursor->gotoEnd(true); - aCursorList[nN] = xText->createTextCursorByRange( uno::Reference< text::XTextRange >(xTextCursor,uno::UNO_QUERY) ); - } - awt::Size aOldRefSize; - bool bHasRefPageSize = - ( xTitleProperties->getPropertyValue( "ReferencePageSize") >>= aOldRefSize ); + if(!m_xTitle.is()) + return; - if( aStringList.getLength()>0 ) - { - uno::Reference< beans::XPropertySet > xTargetProps( xShape, uno::UNO_QUERY ); - uno::Reference< beans::XPropertySet > xSourceProps( aStringList[0], uno::UNO_QUERY ); - PropertyMapper::setMappedProperties( xTargetProps, xSourceProps, PropertyMapper::getPropertyNameMapForCharacterProperties() ); + uno::Sequence< uno::Reference< XFormattedString > > aStringList = m_xTitle->getText(); + if(aStringList.getLength()<=0) + return; - // adapt font size according to page size - if( bHasRefPageSize ) - { - RelativeSizeHelper::adaptFontSizes( xTargetProps, aOldRefSize, rReferenceSize ); - } - } - } + m_nXPos = rPos.X; + m_nYPos = rPos.Y; - // #i109336# Improve auto positioning in chart - float fFontHeight = 0.0; - if ( xShapeProp.is() && ( xShapeProp->getPropertyValue( "CharHeight" ) >>= fFontHeight ) ) - { - fFontHeight *= ( 2540.0f / 72.0f ); // pt -> 1/100 mm - float fXFraction = 0.18f; - sal_Int32 nXDistance = static_cast< sal_Int32 >( ::rtl::math::round( fFontHeight * fXFraction ) ); - float fYFraction = 0.30f; - sal_Int32 nYDistance = static_cast< sal_Int32 >( ::rtl::math::round( fFontHeight * fYFraction ) ); - xShapeProp->setPropertyValue( "TextLeftDistance", uno::makeAny( nXDistance ) ); - xShapeProp->setPropertyValue( "TextRightDistance", uno::makeAny( nXDistance ) ); - xShapeProp->setPropertyValue( "TextUpperDistance", uno::makeAny( nYDistance ) ); - xShapeProp->setPropertyValue( "TextLowerDistance", uno::makeAny( nYDistance ) ); - } + uno::Reference< beans::XPropertySet > xTitleProperties( m_xTitle, uno::UNO_QUERY ); - try - { - double fAngleDegree = 0; - xTitleProperties->getPropertyValue( "TextRotation" ) >>= fAngleDegree; - m_fRotationAngleDegree += fAngleDegree; - } - catch( const uno::Exception& e ) - { - ASSERT_EXCEPTION( e ); - } - m_nXPos = rPos.X; - m_nYPos = rPos.Y; - - //set position matrix - //the matrix needs to be set at the end behind autogrow and such position influencing properties - ::basegfx::B2DHomMatrix aM; - aM.rotate( -m_fRotationAngleDegree*F_PI/180.0 );//#i78696#->#i80521# - aM.translate( m_nXPos, m_nYPos ); - xShapeProp->setPropertyValue( "Transformation", uno::makeAny( B2DHomMatrixToHomogenMatrix3(aM) ) ); + try + { + double fAngleDegree = 0; + xTitleProperties->getPropertyValue( "TextRotation" ) >>= fAngleDegree; + m_fRotationAngleDegree += fAngleDegree; } catch( const uno::Exception& e ) { ASSERT_EXCEPTION( e ); } + + AbstractShapeFactory* pShapeFactory = AbstractShapeFactory::getOrCreateShapeFactory(m_xShapeFactory); + m_xShape =pShapeFactory->createText( m_xTarget, rReferenceSize, rPos, aStringList, + xTitleProperties, m_fRotationAngleDegree, m_aCID ); } } //namespace chart |