summaryrefslogtreecommitdiff
path: root/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
diff options
context:
space:
mode:
authorIngrid Halama <iha@openoffice.org>2010-04-09 10:24:13 +0200
committerIngrid Halama <iha@openoffice.org>2010-04-09 10:24:13 +0200
commitcba8a6f937aea45938401957dcca617172cb3d57 (patch)
treeada9ad0e9a7ef05a7c9db84110121602c13898f5 /chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
parent13d7655a877492f67814c1a269bcb52264f0e3e1 (diff)
parent6a30f2a3025a9db27d1230d9498570964cd74e3f (diff)
chart45: merge with DEV300_m76
Diffstat (limited to 'chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx')
-rw-r--r--chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx19
1 files changed, 17 insertions, 2 deletions
diff --git a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
index 67f537c49b98..14a20e133ff1 100644
--- a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
@@ -45,6 +45,8 @@
#include "DataSourceHelper.hxx"
#include "ChartModelHelper.hxx"
#include "ContainerHelper.hxx"
+#include "AxisHelper.hxx"
+#include "ThreeDHelper.hxx"
#include "TitleWrapper.hxx"
#include "ChartDataWrapper.hxx"
@@ -64,6 +66,8 @@
#include <svx/unoshcol.hxx>
// header for define DBG_ASSERT
#include <tools/debug.hxx>
+#include <vcl/svapp.hxx>
+
#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
@@ -1308,8 +1312,19 @@ uno::Reference< uno::XInterface > SAL_CALL ChartDocumentWrapper::createInstance(
if( xDia.is())
{
// /-- locked controllers
- ControllerLockGuard aCtrlLockGuard( Reference< frame::XModel >( xChartDoc, uno::UNO_QUERY ));
- xTemplate->changeDiagram( xDia );
+ Reference< frame::XModel > xModel( xChartDoc, uno::UNO_QUERY );
+ ControllerLockGuard aCtrlLockGuard( xModel );
+ Reference< chart2::XDiagram > xDiagram = ChartModelHelper::findDiagram( xModel );
+ ThreeDLookScheme e3DScheme = ThreeDHelper::detectScheme( xDiagram );
+ Reference< lang::XMultiServiceFactory > xTemplateManager( xChartDoc->getChartTypeManager(), uno::UNO_QUERY );
+ DiagramHelper::tTemplateWithServiceName aTemplateWithService(
+ DiagramHelper::getTemplateForDiagram( xDiagram, xTemplateManager ));
+ if( aTemplateWithService.first.is())
+ aTemplateWithService.first->resetStyles( xDiagram );//#i109371#
+ xTemplate->changeDiagram( xDiagram );
+ if( Application::GetSettings().GetLayoutRTL() )
+ AxisHelper::setRTLAxisLayout( AxisHelper::getCoordinateSystemByIndex( xDiagram, 0 ) );
+ ThreeDHelper::setScheme( xDiagram, e3DScheme );
// \-- locked controllers
}
else