summaryrefslogtreecommitdiff
path: root/binfilter/bf_sch
diff options
context:
space:
mode:
Diffstat (limited to 'binfilter/bf_sch')
-rw-r--r--binfilter/bf_sch/source/core/makefile.mk100
-rw-r--r--binfilter/bf_sch/source/core/sch_ReBuildHint.cxx37
-rw-r--r--binfilter/bf_sch/source/core/sch_SchAddInCollection.cxx132
-rw-r--r--binfilter/bf_sch/source/core/sch_axisid.cxx97
-rw-r--r--binfilter/bf_sch/source/core/sch_axisobj.cxx59
-rw-r--r--binfilter/bf_sch/source/core/sch_calculat.cxx206
-rw-r--r--binfilter/bf_sch/source/core/sch_chartbar.cxx177
-rw-r--r--binfilter/bf_sch/source/core/sch_chartdoc.cxx455
-rw-r--r--binfilter/bf_sch/source/core/sch_charttyp.cxx807
-rw-r--r--binfilter/bf_sch/source/core/sch_chaxis.cxx2635
-rw-r--r--binfilter/bf_sch/source/core/sch_chdescr.cxx139
-rw-r--r--binfilter/bf_sch/source/core/sch_chtm3d2.cxx550
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmod2a.cxx1407
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmod3d.cxx2089
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode1.cxx1020
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode2.cxx2128
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode3.cxx1513
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode4.cxx1621
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode5.cxx383
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode6.cxx287
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode7.cxx563
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode8.cxx647
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmode9.cxx1955
-rw-r--r--binfilter/bf_sch/source/core/sch_chtmodel.cxx1274
-rw-r--r--binfilter/bf_sch/source/core/sch_chtscene.cxx265
-rw-r--r--binfilter/bf_sch/source/core/sch_datalog.cxx37
-rw-r--r--binfilter/bf_sch/source/core/sch_datapoin.cxx153
-rw-r--r--binfilter/bf_sch/source/core/sch_datarow.cxx141
-rw-r--r--binfilter/bf_sch/source/core/sch_glob.src507
-rw-r--r--binfilter/bf_sch/source/core/sch_globfunc.cxx1264
-rw-r--r--binfilter/bf_sch/source/core/sch_itempool.cxx486
-rw-r--r--binfilter/bf_sch/source/core/sch_memchrt.cxx1376
-rw-r--r--binfilter/bf_sch/source/core/sch_objadj.cxx126
-rw-r--r--binfilter/bf_sch/source/core/sch_objfac.cxx114
-rw-r--r--binfilter/bf_sch/source/core/sch_objid.cxx144
-rw-r--r--binfilter/bf_sch/source/core/sch_schgroup.cxx235
-rw-r--r--binfilter/bf_sch/source/core/sch_schiocmp.cxx61
-rw-r--r--binfilter/bf_sch/source/core/sch_stlpool.cxx86
-rw-r--r--binfilter/bf_sch/source/core/sch_stlsheet.cxx153
-rw-r--r--binfilter/bf_sch/source/filter/xml/makefile.mk44
-rw-r--r--binfilter/bf_sch/source/filter/xml/sch_SchXMLWrapper.cxx270
-rw-r--r--binfilter/bf_sch/source/makefile.mk66
-rw-r--r--binfilter/bf_sch/source/ui/app/makefile.mk90
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_app.src66
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_globopt.cxx111
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_menuids.src180
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_schdll.cxx303
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_schlib.cxx339
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_schmod.cxx142
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_schopt.cxx177
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_schresid.cxx55
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_strings.src1058
-rw-r--r--binfilter/bf_sch/source/ui/app/sch_typemap.cxx117
-rw-r--r--binfilter/bf_sch/source/ui/docshell/makefile.mk60
-rw-r--r--binfilter/bf_sch/source/ui/docshell/sch_docshel1.cxx192
-rw-r--r--binfilter/bf_sch/source/ui/docshell/sch_docshell.cxx685
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChXChartData.hxx167
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChXChartDataChangeEventListener.hxx72
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChXChartDrawPage.hxx105
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChXChartObject.hxx230
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChXDataPoint.hxx144
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChXDataRow.hxx138
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChXDiagram.hxx474
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChartArea.hxx65
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChartGrid.hxx65
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChartLegend.hxx65
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChartLine.hxx65
-rw-r--r--binfilter/bf_sch/source/ui/inc/ChartTitle.hxx70
-rw-r--r--binfilter/bf_sch/source/ui/inc/SchTransferable.hxx72
-rw-r--r--binfilter/bf_sch/source/ui/inc/dlgctrls.hxx57
-rw-r--r--binfilter/bf_sch/source/ui/inc/fudrarea.hxx52
-rw-r--r--binfilter/bf_sch/source/ui/inc/fudraw.hxx184
-rw-r--r--binfilter/bf_sch/source/ui/inc/fupoor.hxx106
-rw-r--r--binfilter/bf_sch/source/ui/inc/fuscale.hxx50
-rw-r--r--binfilter/bf_sch/source/ui/inc/fusel.hxx69
-rw-r--r--binfilter/bf_sch/source/ui/inc/fuzoom.hxx71
-rw-r--r--binfilter/bf_sch/source/ui/inc/globopt.hxx58
-rw-r--r--binfilter/bf_sch/source/ui/inc/guiutil.hxx45
-rw-r--r--binfilter/bf_sch/source/ui/inc/res_bmp.hrc54
-rw-r--r--binfilter/bf_sch/source/ui/inc/res_hc_bmp.hrc126
-rw-r--r--binfilter/bf_sch/source/ui/inc/schhids.h93
-rw-r--r--binfilter/bf_sch/source/ui/inc/sdvcbrw.hxx71
-rw-r--r--binfilter/bf_sch/source/ui/inc/tbx_ww.hxx61
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChXChartAxis.xml19
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChXChartData.xml16
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChXChartDataArray.xml17
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChXChartDocument.xml19
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChXChartView.xml18
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChXDataPoint.xml21
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChXDataRow.xml23
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChXDiagram.xml32
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChartArea.xml20
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChartGrid.xml19
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChartLegend.xml20
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChartLine.xml19
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/descr/ChartTitle.xml20
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/makefile.mk89
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXChartAxis.cxx901
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXChartData.cxx479
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDataChangeEventListener.cxx106
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDocument.cxx1680
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDrawPage.cxx252
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXChartObject.cxx1392
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXDataPoint.cxx876
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXDataRow.cxx811
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChXDiagram.cxx2069
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChartArea.cxx121
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChartGrid.cxx120
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChartLegend.cxx122
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChartLine.cxx119
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_ChartTitle.cxx184
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_mapprov.cxx415
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_register.cxx81
-rw-r--r--binfilter/bf_sch/source/ui/unoidl/sch_unodoc.cxx83
-rw-r--r--binfilter/bf_sch/util/bf_sch.component36
-rw-r--r--binfilter/bf_sch/util/bf_sch.map29
-rw-r--r--binfilter/bf_sch/util/makefile.mk111
-rw-r--r--binfilter/bf_sch/util/sch_hidother.src66
-rw-r--r--binfilter/bf_sch/util/sch_sch.cxx38
-rw-r--r--binfilter/bf_sch/util/verinfo.rc153
120 files changed, 0 insertions, 42809 deletions
diff --git a/binfilter/bf_sch/source/core/makefile.mk b/binfilter/bf_sch/source/core/makefile.mk
deleted file mode 100644
index 9abe998a0..000000000
--- a/binfilter/bf_sch/source/core/makefile.mk
+++ /dev/null
@@ -1,100 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..
-BFPRJ=..$/..
-
-PROJECTPCH=sch
-PROJECTPCHSOURCE=$(BFPRJ)$/util$/sch_sch
-
-PRJNAME=binfilter
-TARGET=sch_core
-
-NO_HIDS=TRUE
-
-# --- Settings -----------------------------------------------------
-.INCLUDE : settings.mk
-alllangiso=en-US
-INC+= -I$(PRJ)$/inc$/bf_sch
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES = sch_glob.src
-
-SLOFILES = \
- $(SLO)$/sch_chtscene.obj \
- $(SLO)$/sch_globfunc.obj \
- $(SLO)$/sch_chtmodel.obj \
- $(SLO)$/sch_chtmode1.obj \
- $(SLO)$/sch_chtmode2.obj \
- $(SLO)$/sch_chtmode3.obj \
- $(SLO)$/sch_chtmode4.obj \
- $(SLO)$/sch_chtmode5.obj \
- $(SLO)$/sch_chtmode6.obj \
- $(SLO)$/sch_chtmode7.obj \
- $(SLO)$/sch_chtmode8.obj \
- $(SLO)$/sch_charttyp.obj \
- $(SLO)$/sch_chtmode9.obj \
- $(SLO)$/sch_chartbar.obj \
- $(SLO)$/sch_chtmod2a.obj \
- $(SLO)$/sch_chtmod3d.obj \
- $(SLO)$/sch_chtm3d2.obj \
- $(SLO)$/sch_chartdoc.obj \
- $(SLO)$/sch_stlsheet.obj \
- $(SLO)$/sch_schgroup.obj \
- $(SLO)$/sch_stlpool.obj \
- $(SLO)$/sch_objfac.obj \
- $(SLO)$/sch_axisid.obj \
- $(SLO)$/sch_objid.obj \
- $(SLO)$/sch_objadj.obj \
- $(SLO)$/sch_datarow.obj \
- $(SLO)$/sch_datapoin.obj \
- $(SLO)$/sch_schiocmp.obj \
- $(SLO)$/sch_itempool.obj \
- $(SLO)$/sch_datalog.obj \
- $(SLO)$/sch_memchrt.obj \
- $(SLO)$/sch_chdescr.obj \
- $(SLO)$/sch_chaxis.obj \
- $(SLO)$/sch_calculat.obj \
- $(SLO)$/sch_axisobj.obj \
- $(SLO)$/sch_SchAddInCollection.obj \
- $(SLO)$/sch_ReBuildHint.obj
-
-.IF "$(GUI)" == "WIN"
-NOOPTFILES=\
- $(OBJ)$/sch_chtmode5.obj
-.ENDIF
-
-EXCEPTIONSFILES= \
- $(SLO)$/sch_chtmode4.obj \
- $(SLO)$/sch_chtmodel.obj \
- $(SLO)$/sch_SchAddInCollection.obj
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/binfilter/bf_sch/source/core/sch_ReBuildHint.cxx b/binfilter/bf_sch/source/core/sch_ReBuildHint.cxx
deleted file mode 100644
index e6c239a7c..000000000
--- a/binfilter/bf_sch/source/core/sch_ReBuildHint.cxx
+++ /dev/null
@@ -1,37 +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.
- *
- ************************************************************************/
-#include "ReBuildHint.hxx"
-namespace binfilter {
-
-/*N*/ TYPEINIT0( SchReBuildHint );
-
-/*N*/ SchReBuildHint::SchReBuildHint()
-/*N*/ {}
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_SchAddInCollection.cxx b/binfilter/bf_sch/source/core/sch_SchAddInCollection.cxx
deleted file mode 100644
index ead6dc8f0..000000000
--- a/binfilter/bf_sch/source/core/sch_SchAddInCollection.cxx
+++ /dev/null
@@ -1,132 +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.
- *
- ************************************************************************/
-
-#include "SchAddInCollection.hxx"
-
-#include <com/sun/star/uno/Reference.h>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/container/XContentEnumerationAccess.hpp>
-#include <com/sun/star/lang/XServiceName.hpp>
-#include <comphelper/processfactory.hxx>
-#include<tools/debug.hxx>
-#include <legacysmgr/legacy_binfilters_smgr.hxx>
-namespace binfilter {
-using namespace ::com::sun::star;
-
-/*N*/ SchAddInCollection::SchAddInCollection() :
-/*N*/ mbInitialized( sal_False )
-/*N*/ {
-/*N*/ }
-
-/*N*/ SchAddInCollection::~SchAddInCollection()
-/*N*/ {}
-
-/*N*/ void SchAddInCollection::Initialize()
-/*N*/ {
-/*N*/ // collect all service names of available AddIns
-/*N*/
-/*N*/ try
-/*N*/ {
-/*N*/ uno::Reference< lang::XMultiServiceFactory > xFactory = ::legacy_binfilters::getLegacyProcessServiceFactory();
-/*N*/ uno::Reference< container::XContentEnumerationAccess > xEnumAcc( xFactory, uno::UNO_QUERY );
-/*N*/ if( xEnumAcc.is())
-/*N*/ {
-/*N*/ uno::Reference< container::XEnumeration > xEnum =
-/*N*/ xEnumAcc->createContentEnumeration( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.Diagram" )));
-/*N*/ if( xEnum.is())
-/*N*/ {
-/*N*/ // clear possibly existing list
-/*N*/ if( mbInitialized )
-/*N*/ maServiceNames.realloc( 0 );
-/*N*/
-/*N*/ while( xEnum->hasMoreElements())
-/*N*/ {
-/*N*/ // create Instance to collect the service name of the addin
-/*N*/ uno::Any aFactoryAny = xEnum->nextElement();
-/*N*/ uno::Reference< uno::XInterface > xFactoryIntf;
-/*N*/ aFactoryAny >>= xFactoryIntf;
-/*N*/ if( xFactoryIntf.is())
-/*N*/ {
-/*N*/ uno::Reference< lang::XSingleServiceFactory > xAddInFactory( xFactoryIntf, uno::UNO_QUERY );
-/*N*/ if( xAddInFactory.is())
-/*N*/ {
-/*N*/ uno::Reference< lang::XServiceName > xServicName(
-/*N*/ xAddInFactory->createInstance(), uno::UNO_QUERY );
-/*N*/ if( xServicName.is())
-/*N*/ {
-/*N*/ sal_Int32 nIndex = maServiceNames.getLength();
-/*N*/ maServiceNames.realloc( nIndex + 1 );
-/*N*/ maServiceNames[ nIndex ] = xServicName->getServiceName();
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ mbInitialized = sal_True;
-/*N*/ }
-/*N*/ catch( const uno::Exception& aEx )
-/*N*/ {
-/*N*/ OSL_FAIL( ::rtl::OUStringToOString(
-/*N*/ ::rtl::OUString(
-/*N*/ RTL_CONSTASCII_USTRINGPARAM(
-/*N*/ "Couldn't initialize add-in collection: " )) +
-/*N*/ aEx.Message,
-/*N*/ RTL_TEXTENCODING_ASCII_US ).getStr() );
-/*N*/ }
-/*N*/ }
-
-/*N*/ uno::Reference< util::XRefreshable > SchAddInCollection::GetAddInByName( const ::rtl::OUString& rName )
-/*N*/ {
-/*N*/ if( ! mbInitialized )
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/
-/*N*/ const sal_Int32 nSize = maServiceNames.getLength();
-/*N*/ for( sal_Int32 i = 0; i < nSize; i++ )
-/*N*/ {
-/*N*/ if( rName.equalsIgnoreAsciiCase( maServiceNames[ i ] ))
-/*N*/ {
-/*N*/ uno::Reference< lang::XMultiServiceFactory > xFactory = ::legacy_binfilters::getLegacyProcessServiceFactory();
-/*N*/ return uno::Reference< util::XRefreshable >( xFactory->createInstance( rName ), uno::UNO_QUERY );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return uno::Reference< util::XRefreshable >();
-/*N*/ }
-
-/*N*/ uno::Sequence< ::rtl::OUString > SchAddInCollection::GetAddInNames()
-/*N*/ {
-/*N*/ if( ! mbInitialized )
-/*N*/ Initialize();
-/*N*/
-/*N*/ return maServiceNames;
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_axisid.cxx b/binfilter/bf_sch/source/core/sch_axisid.cxx
deleted file mode 100644
index 6d11f85a4..000000000
--- a/binfilter/bf_sch/source/core/sch_axisid.cxx
+++ /dev/null
@@ -1,97 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include "axisid.hxx"
-#include "glob.hxx"
-#include <tools/debug.hxx>
-namespace binfilter {
-/*************************************************************************
-|*
-|* Objekt-Id ermitteln;
-|* Liefert -1, wenn das Objekt keine Id hat
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchAxisId::SchAxisId () :
-/*N*/ SdrObjUserData (SchInventor, SCH_AXIS_ID, 0),
-/*N*/ nAxisId (0)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchAxisId::SchAxisId (long nId) :
-/*N*/ SdrObjUserData (SchInventor, SCH_AXIS_ID, 0),
-/*N*/ nAxisId (nId)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Kopie erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjUserData* SchAxisId::Clone(SdrObject *) const
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP"); return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Daten aus Stream lesen
-|*
-\************************************************************************/
-
-/*N*/ void SchAxisId::ReadData(SvStream& rIn)
-/*N*/ {
-/*N*/ SdrObjUserData::ReadData(rIn);
-/*N*/
-/*N*/ rIn >> nAxisId;
-/*N*/ }
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_axisobj.cxx b/binfilter/bf_sch/source/core/sch_axisobj.cxx
deleted file mode 100644
index ad7d8fc6e..000000000
--- a/binfilter/bf_sch/source/core/sch_axisobj.cxx
+++ /dev/null
@@ -1,59 +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.
- *
- ************************************************************************/
-
-// header for SdrObjListIter
-// header for SdrHdlList
-
-#include "axisobj.hxx"
-namespace binfilter {
-
-// ==================== SchAxisObj ====================
-
-/*N*/ TYPEINIT1( SchAxisObj, SchObjGroup );
-
-/*N*/ SchAxisObj::SchAxisObj( ChartModel *pInModel ) :
-/*N*/ SchObjGroup( pInModel )
-/*N*/ {
-/*N*/ }
-
-
-
-
-// ==================== Sch3dAxisObj ====================
-
-/*N*/ TYPEINIT1( Sch3dAxisObj, SchE3dObject );
-
-/*N*/ Sch3dAxisObj::Sch3dAxisObj()
-/*N*/ : SchE3dObject()
-/*N*/ {
-/*N*/ }
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_calculat.cxx b/binfilter/bf_sch/source/core/sch_calculat.cxx
deleted file mode 100644
index 398b1b78c..000000000
--- a/binfilter/bf_sch/source/core/sch_calculat.cxx
+++ /dev/null
@@ -1,206 +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.
- *
- ************************************************************************/
-
-// header for Point, Rectangle
-// header for Polygon
-// header for DBG_ASSERT
-// header for XPolygon, XPolyPolygon
-#include <bf_svx/xpoly.hxx>
-// header for Line
-#include <tools/line.hxx>
-// for performance measurement
-#include <rtl/logfile.hxx>
-
-// Note: Enable the following to skip points in the resulting spline
-// poly-polygon, if they have equal x-values rather than identical points.
-// Unitl now, I think there are situations where the output might differ, if you
-// do so, so it's not enabled by default.
-
-// #define SPLINE_OPTIMIZE_POINTS
-
-#include "calculat.hxx"
-
-#include <algorithm>
-#include <functional>
-namespace binfilter {
-
-using namespace ::std;
-
-
-/*N*/ void SchCalculationHelper::IntersectPolygonWithRectangle( const XPolygon& rPolygon, const Rectangle& rRectangle, XPolyPolygon& aResult )
-/*N*/ {
-/*N*/ RTL_LOGFILE_CONTEXT_AUTHOR( context, "sch", "bm93744", "SchCalculationHelper::IntersectPolygonWithRectangle");
-/*N*/
-/*N*/ aResult.Clear();
-/*N*/
-/*N*/ if( rRectangle.IsInside( rPolygon.GetBoundRect() ) )
-/*N*/ {
-/*N*/ aResult.Insert( rPolygon );
-/*N*/ OSL_TRACE( "IntersectPolygonWithRectangle: result has %d polygons", aResult.Count() );
-/*N*/ return;
-/*N*/ }
-/*N*/
-/*N*/ Point aFrom;
-/*N*/ Point aTo;
-/*N*/ USHORT nCount = rPolygon.GetPointCount();
-/*N*/
-/*N*/ // set last point to a position outside the rectangle, such that the first
-/*N*/ // time clip2d returns true, the comparison to last will always yield false
-/*N*/ Point aLast (rRectangle.TopLeft());
-/*N*/ aLast.Move (-1, -1);
-/*N*/ XPolygon aCurrentPoly;
-/*N*/ USHORT nIdx = 0;
-/*N*/
-/*N*/ for (USHORT i=1; i<nCount; i++)
-/*N*/ {
-/*N*/ aFrom = rPolygon[i-1];
-/*N*/ aTo = rPolygon[i];
-/*N*/ if (clip2d (aFrom, aTo, rRectangle))
-/*N*/ {
-/*N*/ // compose an XPolygon of as many consecutive points as possible
-/*N*/ if (aFrom == aLast)
-/*N*/ {
-/*N*/ if (aTo != aFrom)
-/*N*/ aCurrentPoly.Insert (nIdx++, aTo, XPOLY_NORMAL);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // create an XPolygon and put it into the XPolyPolygon
-/*N*/ if (aCurrentPoly.GetPointCount() > 0)
-/*N*/ aResult.Insert (aCurrentPoly, XPOLYPOLY_APPEND);
-/*N*/
-/*N*/ // start new sequence
-/*N*/ aCurrentPoly.SetPointCount (0);
-/*N*/ aCurrentPoly.Insert (0, aFrom, XPOLY_NORMAL);
-/*N*/ nIdx = 1;
-/*N*/ if (aTo != aFrom)
-/*N*/ aCurrentPoly.Insert (nIdx++, aTo, XPOLY_NORMAL);
-/*N*/ }
-/*N*/
-/*N*/ aLast = aTo;
-/*N*/ }
-/*N*/ }
-/*N*/ if (aCurrentPoly.GetPointCount() > 0)
-/*N*/ aResult.Insert (aCurrentPoly, XPOLYPOLY_APPEND);
-/*N*/
-/*N*/ OSL_TRACE( "IntersectPolygonWithRectangle: result has %d polygons", aResult.Count() );
-/*N*/ }
-
-
-
-
-
-/*N*/ BOOL SchCalculationHelper::clip2d (Point & rPoint0,
-/*N*/ Point & rPoint1,
-/*N*/ const Rectangle & rRectangle)
-/*N*/ {
-/*N*/ // Direction vector of the line.
-/*N*/ Point aD = rPoint1 - rPoint0;
-/*N*/
-/*N*/ if (aD.X()==0 && aD.Y()==0 && rRectangle.IsInside (rPoint0))
-/*N*/ {
-/*N*/ // Degenerate case of a zero length line.
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // Values of the line parameter where the line enters resp. leaves the rectangle.
-/*N*/ double fTE = 0,
-/*N*/ fTL = 1;
-/*N*/
-/*N*/ // Test wether at least a part lies in the four half-planes with respect to
-/*N*/ // the rectangles four edges.
-/*N*/ if (CLIPt (aD.X(), rRectangle.Left() - rPoint0.X(), fTE, fTL))
-/*N*/ if (CLIPt (-aD.X(), rPoint0.X() - rRectangle.Right(), fTE, fTL))
-/*N*/ if (CLIPt (aD.Y(), rRectangle.Top() - rPoint0.Y(), fTE, fTL))
-/*N*/ if (CLIPt (-aD.Y(), rPoint0.Y() - rRectangle.Bottom(), fTE, fTL))
-/*N*/ {
-/*N*/ // At least a part is visible.
-/*N*/ if (fTL < 1)
-/*N*/ {
-/*N*/ // ::com::pute the new end point.
-/*N*/ rPoint1.X() = (long)(rPoint0.X() + fTL * aD.X() + 0.5);
-/*N*/ rPoint1.Y() = (long)(rPoint0.Y() + fTL * aD.Y() + 0.5);
-/*N*/ }
-/*N*/ if (fTE > 0)
-/*N*/ {
-/*N*/ // ::com::pute the new starting point.
-/*N*/ rPoint0.X() = (long)(rPoint0.X() + fTE * aD.X() + 0.5);
-/*N*/ rPoint0.Y() = (long)(rPoint0.Y() + fTE * aD.Y() + 0.5);
-/*N*/ }
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/
-/*N*/ // Line is not visible.
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-
-
-
-/*N*/ BOOL SchCalculationHelper::CLIPt (double fDenom,
-/*N*/ double fNum,
-/*N*/ double & fTE,
-/*N*/ double & fTL)
-/*N*/ {
-/*N*/ double fT;
-/*N*/
-/*N*/ if (fDenom > 0) // Intersection enters: PE
-/*N*/ {
-/*N*/ fT = fNum / fDenom; // Parametric value at the intersection.
-/*N*/ if (fT > fTL) // fTE and fTL crossover
-/*N*/ return FALSE; // therefore reject the line.
-/*N*/ else if (fT > fTE) // A new fTE has been found.
-/*N*/ fTE = fT;
-/*N*/ }
-/*N*/ else if (fDenom < 0) // Intersection leaves: PL
-/*N*/ {
-/*N*/ fT = fNum / fDenom; // Parametric Value at the intersection.
-/*N*/ if (fT < fTE) // fTE and fTL crossover
-/*N*/ return FALSE; // therefore reject the line.
-/*N*/ else if (fT < fTL) // A new fTL has been found.
-/*N*/ fTL = fT;
-/*N*/ }
-/*N*/ else if (fNum > 0)
-/*N*/ return FALSE; // Line lies on the outside of the edge.
-/*N*/
-/*N*/ return TRUE;
-/*N*/ }
-
-
-// --------------------------------------------------------------------------------
-
-// Calculation of Splines
-
-
-// ----------------------------------------
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chartbar.cxx b/binfilter/bf_sch/source/core/sch_chartbar.cxx
deleted file mode 100644
index f8198acb9..000000000
--- a/binfilter/bf_sch/source/core/sch_chartbar.cxx
+++ /dev/null
@@ -1,177 +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.
- *
- ************************************************************************/
-
-#include "chtmodel.hxx"
-#include "chaxis.hxx"
-namespace binfilter {
-
-
-/*N*/ void ChartBarDescriptor::SetGap(long nPercent)
-/*N*/ {
-/*N*/ nGapPercent=nPercent;
-/*N*/ if(mpAxis && mpModel)
-/*N*/ {
-/*N*/ SfxItemSet aSet(mpModel->GetPool(),SCHATTR_BAR_GAPWIDTH,SCHATTR_BAR_GAPWIDTH);
-/*N*/ aSet.Put(SfxInt32Item(SCHATTR_BAR_GAPWIDTH,nPercent));
-/*N*/ mpAxis->GetItemSet()->Put(aSet);
-/*N*/ }
-/*N*/ }
-
-/*N*/ void ChartBarDescriptor::SetOverlap(long nPercent)
-/*N*/ {
-/*N*/ nOverlapPercent=nPercent;
-/*N*/ if(mpAxis && mpModel)
-/*N*/ {
-/*N*/ SfxItemSet aSet(mpModel->GetPool(),SCHATTR_BAR_OVERLAP,SCHATTR_BAR_OVERLAP);
-/*N*/ aSet.Put(SfxInt32Item(SCHATTR_BAR_OVERLAP,nPercent));
-/*N*/ mpAxis->GetItemSet()->Put(aSet);
-/*N*/ }
-/*N*/ }
-
-/*N*/ long ChartBarDescriptor::GetOverlap() const
-/*N*/ {
-/*N*/ if(mpAxis)
-/*N*/ {
-/*N*/ SfxItemSet* pSet=mpAxis->GetItemSet();
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/ if (pSet->GetItemState(SCHATTR_BAR_OVERLAP, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ ((ChartBarDescriptor*)this)->nOverlapPercent=((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/ }
-/*N*/ return nOverlapPercent;
-/*N*/ }
-
-/*N*/ long ChartBarDescriptor::GetGap() const
-/*N*/ {
-/*N*/ if(mpAxis)
-/*N*/ {
-/*N*/ SfxItemSet* pSet=mpAxis->GetItemSet();
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/ if (pSet->GetItemState(SCHATTR_BAR_GAPWIDTH, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ ((ChartBarDescriptor*)this)->nGapPercent=((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/ }
-/*N*/ return nGapPercent;
-/*N*/ }
-
-/*N*/ void ChartBarDescriptor::Create(const Rectangle& aRect,long nColCnt,long nRowCnt)
-/*N*/ {
-/*N*/ nPartWidth=0;
-/*N*/ nBarWidth=0;
-/*N*/ nGap=nOver=nBarWidth=nPartWidth=nLeft=nCurrent=0;
-/*N*/
-/*N*/ nOverlapPercent=GetOverlap();
-/*N*/ nGapPercent=GetGap();
-/*N*/
-/*N*/ if(!nColCnt||!nRowCnt)
-/*N*/ {
-/*?*/ OSL_TRACE("Chart :: Keine Daten!");
-/*?*/ return;
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ //gestapelt => alles übereinander, das entspricht im Prinzip dem Fall mit nur
-/*N*/ //einer Datenreihe (interpretiere nRowCnt als Anzahl NEBENEINANDERSTEHENDER Balken)
-/*N*/ if(mpModel->IsStacked())
-/*N*/ nRowCnt = 1;
-/*N*/
-/*N*/ //Dieser Platz steht uns zur Verfügung:
-/*N*/ BOOL bVerticalX = mpModel->IsXVertikal();
-/*N*/ nPartWidth = (bVerticalX ? aRect.GetHeight() : aRect.GetWidth()) / nColCnt;
-/*N*/
-/*N*/ //Es gilt (bei MS-Excel97, empirisch ermittelt) :
-/*N*/ //Barwidth = (Partwidth - Gapwidth) / (Rows - Overlap * (Rows -1) )
-/*N*/ //Gapwidth = Partwidth - GapPercent/100 * Barwidth
-/*N*/ // => Barwidth = Partwidth / (Rowfak + GapPercent/100)
-/*N*/
-/*N*/ double fGap = (double)nGapPercent/100.0;
-/*N*/ double fOverlap = (double)nOverlapPercent/100.0;
-/*N*/
-/*N*/ //sicher ist sicher.... sollte aber nie negativ eingegeben werden können
-/*N*/ if(fGap<0.0)
-/*N*/ fGap=0.0;
-/*N*/
-/*N*/ //Datenreihenüberlappfaktor, Range = [1,(2*nRow-1)]
-/*N*/ double fRowFak = (double)nRowCnt - fOverlap * (double)(nRowCnt - 1);
-/*N*/
-/*N*/ //jetzt kann die Balkendicke ermittelt werden:
-/*N*/ nBarWidth = (long) ((double)nPartWidth / (fRowFak + fGap));
-/*N*/ nGap = (long) (fGap * (double)nBarWidth);
-/*N*/
-/*N*/ //Position des jeweils folgenden Balkens einer Spalte
-/*N*/ nOver=(long)( (double)nBarWidth - fOverlap*(double)nBarWidth );
-/*N*/
-/*N*/ //jetzt nochmal nachsehen, ob die Berechnungen vernünftige Diagramme liefern:
-/*N*/ const long nMinBarWidth = 40;//hat mal irgendwer festgelegt, gab auch mal nen Max...
-/*N*/ if(nBarWidth < nMinBarWidth)
-/*N*/ {
-/*?*/ if(nRowCnt>1 && fOverlap < 0.0)
-/*?*/ {
-/*?*/ //dann erstmal den Überlapp vergrößern auf maximal kein Überlapp ;)
-/*?*/ double fMinlap = ( -((double)nPartWidth/(double)nMinBarWidth) + fGap + (double)nRowCnt )
-/*?*/ //--------------------------------------------------------------------------
-/*?*/ / (double)(nRowCnt-1);
-/*?*/ if(fMinlap < 0.0) //sollte noch negativ (= Lücke) sein
-/*?*/ {
-/*?*/ fOverlap=fMinlap;
-/*?*/ fRowFak = (double)nRowCnt - fOverlap * (double)(nRowCnt - 1);
-/*?*/ nBarWidth = (long) ((double)nPartWidth / (fRowFak + fGap));
-/*?*/ nGap = (long) (fGap * (double)nBarWidth);
-/*?*/ nOver=(long)( (double)nBarWidth - fOverlap*(double)nBarWidth );
-/*?*/ }
-/*?*/ else //hilft alles nix => erstmal ganz weg mit den Überlapp-Lücken
-/*?*/ { //bei negativem Überlapp
-/*?*/ nOver=0;
-/*?*/ nBarWidth = (long) ((double)nPartWidth / ((double)nRowCnt + fGap));
-/*?*/ nGap = (long) (fGap * (double)nBarWidth);
-/*?*/ }
-/*?*/ }
-/*?*/ if(nBarWidth < nMinBarWidth)//immer noch zu klein, dann reguläre Lücke verkleinern
-/*?*/ {
-/*?*/ double fMingap = (double)nPartWidth/(double)nMinBarWidth - fRowFak;
-/*?*/ if(fMingap > 0.0 ) //noch kleiner sollte es besser nicht werden ....
-/*?*/ {
-/*?*/ fGap=fMingap;
-/*?*/ fRowFak = (double)nRowCnt - fOverlap * (double)(nRowCnt - 1);
-/*?*/ nBarWidth = (long) ((double)nPartWidth / (fRowFak + fGap));
-/*?*/ nGap = (long) (fGap * (double)nBarWidth);
-/*?*/ nOver=(long)( (double)nBarWidth - fOverlap*(double)nBarWidth );
-/*?*/ }
-/*?*/ else
-/*?*/ { //mehr geht eh nicht, ausser vielleicht Überlapp -> 1.0
-/*?*/ nGap=0;
-/*?*/ nBarWidth=nPartWidth / nRowCnt;
-/*?*/ }
-/*?*/ }
-/*?*/ if( nBarWidth <= 0 )
-/*?*/ DBG_WARNING( "ChartBarDescriptor: cannot create bars with zero width" );
-/*N*/ }
-/*N*/
-/*N*/ nLeft = nCurrent = (bVerticalX ? aRect.Top() : aRect.Left()) + nGap/2;
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chartdoc.cxx b/binfilter/bf_sch/source/core/sch_chartdoc.cxx
deleted file mode 100644
index 7e009f080..000000000
--- a/binfilter/bf_sch/source/core/sch_chartdoc.cxx
+++ /dev/null
@@ -1,455 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-
-#include <bf_svx/eeitem.hxx>
-
-#ifndef _ZFORLIST_HXX
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#include <bf_svtools/zforlist.hxx>
-#endif
-
-
-
-#include <bf_sfx2/printer.hxx>
-
-#include "schattr.hxx"
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-#include <bf_svx/svxids.hrc>
-#include "stlpool.hxx"
-#include "schiocmp.hxx"
-#include "schresid.hxx"
-#include "docshell.hxx"
-
-#ifdef ITEMID_FONT
-#undef ITEMID_FONT
-#endif
-#define ITEMID_FONT EE_CHAR_FONTINFO
-
-#ifdef ITEMID_COLOR
-#undef ITEMID_COLOR
-#endif
-#define ITEMID_COLOR EE_CHAR_COLOR
-
-#ifdef ITEMID_FONTHEIGHT
-#undef ITEMID_FONTHEIGHT
-#endif
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-
-#include "glob.hrc"
-#include "globfunc.hxx"
-
-#include <bf_svx/fontitem.hxx>
-#include <bf_svx/fhgtitem.hxx>
-
-
-#include "chaxis.hxx"
-
-#include "memchrt.hxx"
-
-#include <bf_svtools/itempool.hxx>
-
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Diese Methode erzeugt ein neues Dokument (ChartModel) und gibt einen
-|* Zeiger darauf zurueck. Die Drawing Engine benutzt diese Methode um das
-|* Dokument oder Teile davon ins Clipboard/DragServer stellen zu koennen.
-|*
-|* this method works like a copy constructor. So make sure to copy all
-|* members inside this method !!!
-|*
-\************************************************************************/
-/*N*/ SdrModel* ChartModel::AllocModel() const
-/*N*/ {DBG_BF_ASSERT(0, "STRIP"); return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Diese Methode erzeugt eine neue Seite (SchPage) und gibt einen Zeiger
-|* darauf zurueck. Die Drawing Engine benutzt diese Methode beim Laden
-|* zur Erzeugung von Seiten (deren Typ sie ja nicht kennt, da es ABLEITUNGEN
-|* der SdrPage sind).
-|*
-\************************************************************************/
-
-/*N*/ SdrPage* ChartModel::AllocPage(bool bMasterPage)
-/*N*/ {
-/*N*/ return new SdrPage(*this, bMasterPage);
-/*N*/ }
-/*************************************************************************
-|*
-|* Inserter fuer SvStream zum Speichern
-|*
-\************************************************************************/
-/*N*/ SvStream& operator << (SvStream& rOut, const ChartModel& rDoc)
-/*N*/ {
-/*N*/ // die daemlichen blockklammern muessen erhalten bleiben, damit
-/*N*/ // im destruktor ~SchIOCompat dei korrekte blockgröße geschrieben
-/*N*/ // wird. ansonsten gibt es beim einlesen mit der 304 jede menge
-/*N*/ // aerger
-/*N*/ {
-/*N*/ SchIOCompat aIO(rOut, STREAM_WRITE, 1);
-/*N*/
-/*N*/ // AF: Don't write VCItemPool any longer (01/2001)
-/*N*/ rOut << (sal_uInt32)0L;
-/*N*/
- /**************************************************************************
- * Frueher (StarChart Version 3.0, File-Format Version 1) wurde hier das
- * JobSetup geschrieben, nun der Printer (binaer-kompatibel, daher wurde
- * die Version des File-Formats nicht geaendert)
- **************************************************************************/
-/*N*/ if (rDoc.pDocShell)
-/*N*/ {
-/*N*/ SfxPrinter* pPrinter =
-/*N*/ ((SchChartDocShell*)rDoc.pDocShell)->GetPrinter();
-/*N*/
-/*N*/
-/*N*/ if (pPrinter)
-/*N*/ {
-/*N*/ pPrinter->Store(rOut);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ // Es ist kein Printer vorhanden -> muss erzeugt werden
-/*?*/ SfxBoolItem aItem(SID_PRINTER_NOTFOUND_WARN, TRUE);
-/*?*/ SfxItemSet* pSet = new SfxItemSet(((ChartModel&) rDoc).GetPool(),
-/*?*/ SID_PRINTER_NOTFOUND_WARN,
-/*?*/ SID_PRINTER_NOTFOUND_WARN, 0);
-/*?*/ pSet->Put(aItem);
-/*?*/ SfxPrinter* pLclPrinter = new SfxPrinter(pSet);
-/*?*/
-/*?*/ MapMode aMapMode = pLclPrinter->GetMapMode();
-/*?*/ aMapMode.SetMapUnit(MAP_100TH_MM);
-/*?*/ pLclPrinter->SetMapMode(aMapMode);
-/*?*/
-/*?*/ pLclPrinter->Store(rOut);
-/*?*/ delete pLclPrinter;
-/*?*/ //delete pSet; bloss nicht! Killt der Printer gleich mit!
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ // Keine DocShell, daher wird ein JobSetup geschrieben
-/*?*/ JobSetup aJobSetup;
-/*?*/ rOut << aJobSetup;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ rOut << (SdrModel&) rDoc;
-/*N*/
-/*N*/ SchIOCompat aIO(rOut, STREAM_WRITE, 0);
-/*N*/
-/*N*/ rDoc.StoreAttributes(rOut);
-/*N*/ //<- ehemals Basisklasse
-/*N*/
-/*N*/
-/*N*/
-/*N*/ return rOut;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Extractor fuer SvStream zum Laden
-|*
-\************************************************************************/
-
-/*N*/ SvStream& operator >> (SvStream& rIn, ChartModel& rDoc)
-/*N*/ {
-/*N*/ // auch hier muessen die blockklammern erhalten bleiben,
-/*N*/ // um 304-er dokumente sauber lesen zu koennen.
-/*N*/ {
-/*N*/ SchIOCompat aIO(rIn, STREAM_READ);
-/*N*/
-/*N*/ sal_uInt32 n;
-/*N*/ rIn >> n;
-/*N*/ // must be 0 or 1. Otherwise we have an error
-/*N*/ // most probably a wrong password
-/*N*/ if( n == 1L )
-/*N*/ {
-/*N*/ // AF: Skip VCItemPool.
-/*N*/ rIn.SeekRel (74);
-/*N*/ }
-/*N*/ else if( n != 0L )
-/*N*/ {
-/*?*/ rIn.SetError( ERRCODE_IO_GENERAL );
-/*?*/ return rIn;
-/*N*/ }
-/*N*/
-/*N*/ if (aIO.GetVersion() >= 1)
-/*N*/ {
-
- /******************************************************************
- * Frueher (StarChart Version 3.0, File-Format Version 1) wurde hier
- * das JobSetup eingelesen, nun wird der Printer erzeugt
- * (binaer-kompatibel)
- *******************************************************************/
- // ItemSet mit speziellem Poolbereich anlegen
-/*N*/ SfxItemSet* pSet =
-/*N*/ new SfxItemSet(rDoc.GetPool(),
-/*N*/ SID_PRINTER_NOTFOUND_WARN,
-/*N*/ SID_PRINTER_NOTFOUND_WARN, 0);
-/*N*/ pSet->Put(SfxBoolItem(SID_PRINTER_NOTFOUND_WARN, TRUE));
-/*N*/
-/*N*/ SfxPrinter* pPrinter = SfxPrinter::Create(rIn, pSet);
-/*N*/
-/*N*/ MapMode aMM(pPrinter->GetMapMode());
-/*N*/ aMM.SetMapUnit(MAP_100TH_MM);
-/*N*/ pPrinter->SetMapMode(aMM);
-/*N*/
-/*N*/ if (rDoc.pDocShell->GetCreateMode() != SFX_CREATE_MODE_EMBEDDED)
-/*N*/ {
-/*N*/ ((SchChartDocShell*)rDoc.pDocShell)->SetPrinter( pPrinter, TRUE ); // will be deleted by DocShell
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ delete pPrinter;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // statt Basisklassenaufruf [ rIn >> (ChartModel&)rDoc;] direkt:
-/*N*/ rIn >> (SdrModel&)rDoc;
-/*N*/
-/*N*/ if (rIn.GetError() != SVSTREAM_FILEFORMAT_ERROR)
-/*N*/ {
-/*N*/ SchIOCompat aIO(rIn, STREAM_READ);
-/*N*/
-/*N*/ rDoc.LoadAttributes(rIn);
-/*N*/ }
-/*N*/ // <- Basisaufruf
-/*N*/
-/*N*/ rDoc.GetItemPool().LoadCompleted();
-/*N*/
-/*N*/ rDoc.ReadError () = FALSE;
-/*N*/
-/*N*/ // alle 3D-Objekte werden bei einem Paint erstmailg sortiert, damit wird auch
-/*N*/ // das Dokument als geaendert gekennzeichnet. Diese Variable wird in der
-/*N*/ // CHVIEWSH-Paint-Methode abgefragt und bei Bedarf wird der Modified-Status
-/*N*/ // des Dokuments zurueckgesetzt.
-/*N*/
-/*N*/ // no longer needed
-/*N*/ //- rDoc.FreshLoaded () = TRUE;
-/*N*/
-/*N*/ return rIn;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* SetChanged(), das Model wurde geaendert
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::SetChanged(bool bFlag)
-/*N*/ {
-/*N*/ if (pDocShell)
-/*N*/ {
-/*N*/ if (bNewOrLoadCompleted && pDocShell->IsEnableSetModified())
-/*N*/ {
-/*N*/ // weitergeben an Basisklasse
-/*N*/ //ChartModel
-/*N*/ SdrModel::SetChanged(bFlag);
-/*N*/
-/*N*/ // an ObjectShell weiterleiten
-/*N*/ pDocShell->SetModified(bFlag);
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ // weitergeben an Basisklasse
-/*?*/ //ChartModel
-/*?*/ SdrModel::SetChanged(bFlag);
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* NewOrLoadCompleted
-|*
-|* Wird gerufen, wenn das Dokument geladen wurde bzw. feststeht, dass es
-|* nicht mehr geladen wird.
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::NewOrLoadCompleted(USHORT eMode)
-/*N*/ {
-/*N*/ if (eMode == NEW_DOC)
-/*N*/ {
-/*N*/ // StyleSheets generieren
-/*N*/ Font aFont( OutputDevice::GetDefaultFont( DEFAULTFONT_SANS, GetLanguage( EE_CHAR_LANGUAGE ), DEFAULTFONT_FLAGS_ONLYONE ) );
-/*N*/ SvxFontItem aFontItem( aFont.GetFamily(), aFont.GetName(), aFont.GetStyleName(), aFont.GetPitch(),
-/*N*/ aFont.GetCharSet(), EE_CHAR_FONTINFO );
-/*N*/
-/*N*/ SfxStyleSheetBase* pSheet =
-/*N*/ &pStyleSheetPool->Make(String(SchResId(STR_STLSHEET_TITLE_MAIN)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(493));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_TITLE_SUB)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(423));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_TITLE_X_AXIS)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(352));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_TITLE_Y_AXIS)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(352));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_TITLE_Z_AXIS)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(352));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_DATAROWS)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(282));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_DATACOLS)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(282));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_DATAVALUES)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(282));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_DATADESCR)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO ) ));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(282));
-/*N*/
-/*N*/ pSheet = &pStyleSheetPool->
-/*N*/ Make(String(SchResId(STR_STLSHEET_LEGEND)),
-/*N*/ SFX_STYLE_FAMILY_PARA);
-/*N*/ pSheet->GetItemSet().Put(aFontItem);
-/*N*/ pSheet->GetItemSet().Put(SvxColorItem( Color( COL_AUTO )));
-/*N*/ pSheet->GetItemSet().Put(SvxFontHeightItem(282));
-/*N*/
-/*N*/ pAxisAttr->ClearItem( SCHATTR_AXIS_SHOWDESCR );
-/*N*/ }
-/*N*/ else if (eMode == DOC_LOADED)
-/*N*/ {
-/*N*/ // set intersection of all axis attributes used as axis
-/*N*/ // 'style' (that is an itemset for the 'all axes' dialog)
-/*N*/ GetFullAxisAttr( NULL, true ).ClearInvalidItems();
-/*N*/ pAxisAttr->ClearItem( SCHATTR_AXIS_SHOWDESCR );
-/*N*/
-/*N*/ // set 'all axis' attributes on all axes that are currently
-/*N*/ // disabled
-/*N*/ if( ! HasAxis( CHOBJID_DIAGRAM_X_AXIS ))
-/*?*/ pChartXAxis->SetAttributes( pAxisAttr );
-/*N*/ if( ! HasAxis( CHOBJID_DIAGRAM_Y_AXIS ))
-/*?*/ pChartYAxis->SetAttributes( pAxisAttr );
-/*N*/ if( ! HasAxis( CHOBJID_DIAGRAM_Z_AXIS ))
-/*N*/ pChartZAxis->SetAttributes( pAxisAttr );
-/*N*/ if( ! HasAxis( CHOBJID_DIAGRAM_A_AXIS ))
-/*N*/ pChartAAxis->SetAttributes( pAxisAttr );
-/*N*/ if( ! HasAxis( CHOBJID_DIAGRAM_B_AXIS ))
-/*N*/ pChartBAxis->SetAttributes( pAxisAttr );
-/*N*/ // #99528# change auto-font color according to diagram area
-/*N*/ PageColorChanged( *pDiagramAreaAttr );
-/*N*/
-/*N*/ // #101591# set precision of own number-formatter to 2 if we reside in a
-/*N*/ // calc or writer, which is assumed by checking the cell-range in the
-/*N*/ // MemChart.
-/*N*/ OSL_ASSERT( pChartData );
-/*N*/ const SchChartRange & rRange = pChartData->GetChartRange();
-/*N*/ if( rRange.maRanges.size() > 0 )
-/*N*/ {
-/*?*/ pOwnNumFormatter->ChangeStandardPrec( 2 );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ bNewOrLoadCompleted = TRUE;
-/*N*/ #ifdef DBG_UTIL
-/*N*/ if(pChartData && GetRowCount() && GetColCount())
-/*N*/ {
-/*N*/ CHART_TRACE1( "ChartModel::NewOrLoadCompleted debugging ChartItems Model %s ",
-/*N*/ (eMode==DOC_LOADED)? "was loaded": ((eMode==NEW_DOC)? "is new" : "don't know") );
-/*N*/ DBG_ITEMS((SfxItemSet&)GetDataRowAttr(0),this);
-/*N*/ DBG_ITEMS((SfxItemSet&)GetDataPointAttr(0,0),this);
-/*N*/ }
-/*N*/ #endif
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Setze den Modified-Status zurueck, wenn ein Dokument mit
-|* 3D-Objekten geladen und ausgegeben wurde
-|*
-\************************************************************************/
-
-// void ChartModel::ResetFreshLoaded ()
-// {
-// bFreshLoaded = FALSE;
-// SetChanged (FALSE);
-// }
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_charttyp.cxx b/binfilter/bf_sch/source/core/sch_charttyp.cxx
deleted file mode 100644
index ef4abe348..000000000
--- a/binfilter/bf_sch/source/core/sch_charttyp.cxx
+++ /dev/null
@@ -1,807 +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.
- *
- ************************************************************************/
-
-#include "charttyp.hxx"
-
-#include "schattr.hxx"
-namespace binfilter {
-
-/*------------------------------------------------------------------------
-
- Prioritätenliste:
- -----------------
-
-
- 3D > 2D
- >
- Symbols,Splines > no Symbols,no Splines
- >
- Lines > no Lines
- >
- Percent > Stacked > Normal
-
-
- Kompatiblitätsklassen:
-
- 1 XY-Chart Hat X-Werte-Spalte
- 2 Pie-Chart keine Achse
- 3 Line,Area,Bar Achse, Symbol,Linie,Splines, ... (fast alles!)
- 4 NetChart ???
-
- 3D Line Spline Symbols Stacked Percent Deep3D vertikal Errors
---------------------------------------------------------------------------
- 1 x X X X - (x?) - - x X
- 2 X - - - ? F - - -
- 3 x X ? x X X x x x
- 4 - F - X X X - - -?
-
-
- X = schaltbar,vorhanden
- x = schaltbar, nicht (vollst.) vrhanden
- F = immer
- ? = weiss noch nicht
- - = gibts nicht
-------------------------------------------------------------------------*/
-
-/*N*/ void ChartType::Init()
-/*N*/ {
-/*N*/ bHasLines = FALSE;
-/*N*/ bIsDonut = FALSE;
-/*N*/ bIsPercent = FALSE;
-/*N*/ bIs3D = FALSE;
-/*N*/ bIsDeep3D = FALSE;
-/*N*/ bIsVertical = FALSE;
-/*N*/ bIsStacked = FALSE;
-/*N*/ bHasVolume = FALSE;
-/*N*/ bHasUpDown = FALSE;
-/*N*/
-/*N*/ nSymbolType = -2;
-/*N*/ nShapeType = -1;
-/*N*/
-/*N*/ nSplineType = SPLINE_NONE;
-/*N*/ nSpecialType = 0;
-/*N*/
-/*N*/ nBaseType = CHSTYLE_2D_COLUMN;
-/*N*/ }
-
-/* ************************************************************************
-|*
-|* SetType initialisiert die ganze Klasse aus einem SvxChartStyle-enum
-|* ( = Konvertierung SvxChartStyle -> ChartType )
-|*
-\*********************************************************************** */
-/*N*/ void ChartType::SetType(const ChartModel* pModel)
-/*N*/ {
-/*N*/ SetType(pModel->ChartStyle());
-/*N*/ }
-/*N*/ void ChartType::SetType(const SfxItemSet *pAttr)
-/*N*/ {
-/*N*/
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_3D, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ bIs3D=((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_DEEP, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ bIsDeep3D=((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_VERTICAL, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ bIsVertical=((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_LINES, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ bHasLines=((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_PERCENT, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ bIsPercent=((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_STACKED, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ bIsStacked=((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_SPLINES, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ nSplineType=((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_SYMBOL, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ nSymbolType=((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STYLE_SHAPE, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ nShapeType=((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STOCK_VOLUME, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ bHasVolume=((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (pAttr->GetItemState(SCHATTR_STOCK_UPDOWN, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ bHasUpDown=((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/
-/*N*/ // handle special types
-/*N*/ // 4 : CHSTYLE_2D_LINE_COLUMN
-/*N*/ // 5 : CHSTYLE_2D_LINE_STACKEDCOLUMN
-/*N*/
-/*N*/ if( 4 == nSpecialType )
-/*N*/ {
-/*N*/ // CHSTYLE_2D_LINE_COLUMN
-/*N*/ if( bIsStacked )
-/*N*/ {
-/*N*/ // set to CHSTYLE_2D_LINE_STACKEDCOLUMN
-/*N*/ nSpecialType = 5;
-/*N*/ }
-/*N*/ }
-/*N*/ else if( 5 == nSpecialType )
-/*N*/ {
-/*N*/ // CHSTYLE_2D_LINE_STACKEDCOLUMN
-/*N*/ if( ! bIsStacked )
-/*N*/ {
-/*N*/ // set to CHSTYLE_2D_LINE_COLUMN
-/*N*/ nSpecialType = 4;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ //Todo: extend list (?)
-/*N*/ }
-
-/*N*/ void ChartType::GetAttrSet(SfxItemSet *pAttr)
-/*N*/ {
-/*N*/ pAttr->Put(SfxBoolItem(SCHATTR_STOCK_VOLUME ,bHasVolume));
-/*N*/ pAttr->Put(SfxBoolItem(SCHATTR_STOCK_UPDOWN ,bHasUpDown));
-/*N*/ pAttr->Put(SfxBoolItem(SCHATTR_STYLE_3D ,bIs3D));
-/*N*/ pAttr->Put(SfxBoolItem(SCHATTR_STYLE_DEEP ,bIsDeep3D));
-/*N*/ pAttr->Put(SfxBoolItem(SCHATTR_STYLE_VERTICAL ,bIsVertical));
-/*N*/ pAttr->Put(SfxBoolItem(SCHATTR_STYLE_LINES ,bHasLines));
-/*N*/ pAttr->Put(SfxBoolItem(SCHATTR_STYLE_PERCENT ,bIsPercent));
-/*N*/ pAttr->Put(SfxBoolItem(SCHATTR_STYLE_STACKED ,bIsStacked));
-/*N*/ pAttr->Put(SfxInt32Item(SCHATTR_STYLE_SPLINES ,nSplineType));
-/*N*/ pAttr->Put(SfxInt32Item(SCHATTR_STYLE_SYMBOL ,nSymbolType));
-/*N*/ if(nShapeType!=-1)
-/*N*/ pAttr->Put(SfxInt32Item(SCHATTR_STYLE_SHAPE ,nShapeType));
-/*N*/ //Todo: erweitern!
-/*N*/ }
-/*N*/ void ChartType::SetType(const SvxChartStyle eStyle)
-/*N*/ {
-/*N*/ nSymbolType = HasSymbols(eStyle) ? SVX_SYMBOLTYPE_AUTO : SVX_SYMBOLTYPE_NONE;
-/*N*/ bIs3D = Is3D(eStyle);
-/*N*/ bIsStacked = IsStacked(eStyle);
-/*N*/ bIsPercent = IsPercent(eStyle);
-/*N*/ nBaseType = GetBaseType(eStyle);
-/*N*/ bIsDeep3D = IsDeep3D(eStyle);
-/*N*/ bIsVertical = IsVertical(eStyle);
-/*N*/ nSplineType = GetSplineType(eStyle);
-/*N*/ bIsDonut = IsDonut(eStyle);
-/*N*/ bHasLines = HasLines(eStyle);
-/*N*/
-/*N*/
-/*N*/
-/*N*/ switch(eStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_PIE_SEGOF1:
-/*N*/ nSpecialType=1;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_PIE_SEGOFALL:
-/*N*/ nSpecialType=2;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_DONUT2:
-/*N*/ nSpecialType=3;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ nSpecialType=4;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ nSpecialType=5;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ bHasVolume=FALSE;
-/*N*/ bHasUpDown=FALSE;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/ bHasVolume=FALSE;
-/*N*/ bHasUpDown=TRUE;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ bHasVolume=TRUE;
-/*N*/ bHasUpDown=FALSE;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ bHasVolume=TRUE;
-/*N*/ bHasUpDown=TRUE;
-/*N*/ break;
-/*N*/ default:
-/*N*/ nSpecialType=0;
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* Konvertierung ChartType -> SvxChartStyle
-|*
-\************************************************************************/
-/*N*/ SvxChartStyle ChartType::GetChartStyle() const
-/*N*/ {
-/*N*/ SvxChartStyle aResult = CHSTYLE_2D_COLUMN; // in case of error return default
-/*N*/
-/*N*/ switch(nSpecialType)
-/*N*/ {
-/*N*/ case 1:
-/*N*/ return CHSTYLE_2D_PIE_SEGOF1;
-/*N*/ case 2:
-/*N*/ return CHSTYLE_2D_PIE_SEGOFALL;
-/*N*/ case 3:
-/*N*/ return CHSTYLE_2D_DONUT2;
-/*N*/ case 4:
-/*N*/ return CHSTYLE_2D_LINE_COLUMN;
-/*N*/ case 5 :
-/*N*/ return CHSTYLE_2D_LINE_STACKEDCOLUMN;
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ switch(nBaseType)
-/*N*/ {
-/*N*/ case CHTYPE_DONUT:
-/*N*/ return CHSTYLE_2D_DONUT1;
-/*N*/
-/*N*/ case CHTYPE_LINE:
-/*N*/ {
-/*N*/
-/*N*/ if(bIs3D)
-/*N*/ return CHSTYLE_3D_STRIPE; //default 3d
-/*N*/
-/*N*/ if (nSymbolType!=SVX_SYMBOLTYPE_NONE)
-/*N*/ {
-/*N*/
-/*N*/ if(nSplineType==SPLINE_CUBIC)
-/*N*/ return CHSTYLE_2D_CUBIC_SPLINE_SYMBOL;
-/*N*/
-/*N*/ if(nSplineType==SPLINE_B)
-/*N*/ return CHSTYLE_2D_B_SPLINE_SYMBOL; //default spline&symbol&line:
-/*N*/
-/*N*/ if(bIsPercent) //MUSS vor stacked, da percent auch stacked
-/*N*/ return CHSTYLE_2D_PERCENTLINESYM;
-/*N*/
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_2D_STACKEDLINESYM;
-/*N*/
-/*N*/ return CHSTYLE_2D_LINESYMBOLS; //default Line&Symbols
-/*N*/
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ if(nSplineType==SPLINE_CUBIC)
-/*N*/ return CHSTYLE_2D_CUBIC_SPLINE;
-/*N*/
-/*N*/ if(nSplineType==SPLINE_B)
-/*N*/ return CHSTYLE_2D_B_SPLINE;
-/*N*/
-/*N*/ if(bIsPercent) //MUSS vor stacked, da percent auch stacked
-/*N*/ return CHSTYLE_2D_PERCENTLINE;
-/*N*/
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_2D_STACKEDLINE;
-/*N*/
-/*N*/ return CHSTYLE_2D_LINE; //default Line
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHTYPE_AREA:
-/*N*/ {
-/*N*/ if(bIs3D)
-/*N*/ {
-/*N*/ if(bIsPercent)
-/*N*/ return CHSTYLE_3D_PERCENTAREA;
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_3D_STACKEDAREA;
-/*N*/
-/*N*/ return CHSTYLE_3D_AREA;
-/*N*/ }
-/*N*/
-/*N*/ if(bIsPercent)
-/*N*/ return CHSTYLE_2D_PERCENTAREA;
-/*N*/
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_2D_STACKEDAREA;
-/*N*/
-/*N*/ return CHSTYLE_2D_AREA;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHTYPE_CIRCLE:
-/*N*/ {
-/*N*/ if(bIs3D)
-/*N*/ return CHSTYLE_3D_PIE;
-/*N*/
-/*N*/ if(bIsDonut || bIsStacked)
-/*N*/ return CHSTYLE_2D_DONUT1;
-/*N*/ //case CHSTYLE_2D_PIE_SEGOF1:
-/*N*/ //case CHSTYLE_2D_PIE_SEGOFALL:
-/*N*/ //case CHSTYLE_2D_DONUT2:
-/*N*/ return CHSTYLE_2D_PIE;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHTYPE_XY:
-/*N*/ {
-/*N*/ if(nSymbolType!=SVX_SYMBOLTYPE_NONE)
-/*N*/ {
-/*N*/ if(nSplineType==SPLINE_CUBIC)
-/*N*/ return CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY;
-/*N*/
-/*N*/ if(nSplineType==SPLINE_B)
-/*N*/ return CHSTYLE_2D_B_SPLINE_SYMBOL_XY;
-/*N*/ }
-/*N*/
-/*N*/ if(nSplineType==SPLINE_CUBIC)
-/*N*/ return CHSTYLE_2D_CUBIC_SPLINE_XY;
-/*N*/
-/*N*/ if(nSplineType==SPLINE_B)
-/*N*/ return CHSTYLE_2D_B_SPLINE_XY;
-/*N*/
-/*N*/ if(bHasLines && (nSymbolType!=SVX_SYMBOLTYPE_NONE))//fehlte! XY=Symbol+Line
-/*N*/ return CHSTYLE_2D_XY;
-/*N*/
-/*N*/ if(bHasLines)
-/*N*/ return CHSTYLE_2D_XY_LINE;
-/*N*/
-/*N*/ if(nSymbolType!=SVX_SYMBOLTYPE_NONE)
-/*N*/ return CHSTYLE_2D_XYSYMBOLS;
-/*N*/
-/*N*/ OSL_FAIL( "Unknown chart type" );
-/*N*/
-/*N*/ return CHSTYLE_2D_XY;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHTYPE_NET:
-/*N*/ {
-/*N*/ if(nSymbolType!=SVX_SYMBOLTYPE_NONE)
-/*N*/ {
-/*N*/ if(bIsPercent)
-/*N*/ return CHSTYLE_2D_NET_SYMBOLS_PERCENT;
-/*N*/
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_2D_NET_SYMBOLS_STACK;
-/*N*/
-/*N*/ return CHSTYLE_2D_NET_SYMBOLS;
-/*N*/ }
-/*N*/
-/*N*/ if(bIsPercent)
-/*N*/ return CHSTYLE_2D_NET_PERCENT;
-/*N*/
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_2D_NET_STACK;
-/*N*/
-/*N*/ return CHSTYLE_2D_NET;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHTYPE_COLUMN: //==BAR
-/*N*/ case CHTYPE_BAR:
-/*N*/ {
-/*N*/ if(bIsVertical) //Bar = vertical Column
-/*N*/ {
-/*N*/ if(bIs3D)
-/*N*/ {
-/*N*/ if(bIsPercent)
-/*N*/ return CHSTYLE_3D_PERCENTFLATBAR;
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_3D_STACKEDFLATBAR;
-/*N*/ if(bIsDeep3D)
-/*N*/ return CHSTYLE_3D_BAR;
-/*N*/ return CHSTYLE_3D_FLATBAR;
-/*N*/ }
-/*N*/ if(bIsPercent)
-/*N*/ return CHSTYLE_2D_PERCENTBAR;
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_2D_STACKEDBAR;
-/*N*/
-/*N*/ return CHSTYLE_2D_BAR;
-/*N*/ }
-/*N*/ if(bIs3D)
-/*N*/ {
-/*N*/ if(bIsPercent)
-/*N*/ return CHSTYLE_3D_PERCENTFLATCOLUMN;
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_3D_STACKEDFLATCOLUMN;
-/*N*/ if(bIsDeep3D)
-/*N*/ return CHSTYLE_3D_COLUMN;
-/*N*/ return CHSTYLE_3D_FLATCOLUMN;
-/*N*/ }
-/*N*/
-/*N*/ if(bIsPercent)
-/*N*/ return CHSTYLE_2D_PERCENTCOLUMN;
-/*N*/ if(bIsStacked)
-/*N*/ return CHSTYLE_2D_STACKEDCOLUMN;
-/*N*/
-/*N*/ //case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ //case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/
-/*N*/ return CHSTYLE_2D_COLUMN;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHTYPE_STOCK:
-/*N*/ if( bHasVolume )
-/*N*/ aResult = bHasUpDown
-/*N*/ ? CHSTYLE_2D_STOCK_4
-/*N*/ : CHSTYLE_2D_STOCK_3;
-/*N*/ else
-/*N*/ aResult = bHasUpDown
-/*N*/ ? CHSTYLE_2D_STOCK_2
-/*N*/ : CHSTYLE_2D_STOCK_1;
-/*N*/ break;
-/*N*/
-/*N*/ case CHTYPE_ADDIN:
-/*N*/ aResult = CHSTYLE_ADDIN;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ OSL_FAIL( "ChartModel::GetBaseType: invalid type!" );
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ return aResult;
-/*N*/ }
-
-/*N*/ BOOL ChartType::HasLines(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ return
-/*N*/ ( GetBaseType( eChartStyle ) == CHTYPE_LINE ) ||
-/*N*/ ( ( GetBaseType( eChartStyle ) == CHTYPE_XY ) &&
-/*N*/ eChartStyle != CHSTYLE_2D_XYSYMBOLS );
-/*N*/ }
-/*************************************************************************
-|*
-|* Chart-Typ mit Symbolen
-|*
-\************************************************************************/
-/*N*/ BOOL ChartType::IsDeep3D(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_3D_COLUMN:
-/*N*/ case CHSTYLE_3D_BAR:
-/*?*/ return TRUE;
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-/*************************************************************************
-|*
-|* Chart-Typ mit Splines
-|*
-\************************************************************************/
-/*N*/ long ChartType::GetSplineType(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY :
-/*N*/ return SPLINE_CUBIC;
-/*N*/
-/*N*/ case CHSTYLE_2D_B_SPLINE :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL :
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY :
-/*N*/ return SPLINE_B;
-/*N*/
-/*N*/ default :
-/*N*/ return SPLINE_NONE;
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* Chart-Typ mit Symbolen
-|*
-\************************************************************************/
-/*N*/ BOOL ChartType::HasSymbols(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_LINESYMBOLS:
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_2D_XYSYMBOLS:
-/*N*/ case CHSTYLE_2D_XY://fehlte! XY=Symbol+Line
-/*N*/ case CHSTYLE_3D_XYZSYMBOLS:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY:
-/*N*/
-/*N*/ return TRUE;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-/*************************************************************************
-|*
-|* 3D-Chart-Typ
-|*
-\************************************************************************/
-/*N*/ BOOL ChartType::Is3D(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_3D_STRIPE:
-/*N*/ case CHSTYLE_3D_COLUMN:
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/ case CHSTYLE_3D_FLATCOLUMN:
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ case CHSTYLE_3D_AREA:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ case CHSTYLE_3D_SURFACE:
-/*N*/ case CHSTYLE_3D_PIE:
-/*N*/ //neu (aber bisher (380 Build 1502) nicht benutzt):
-/*N*/ case CHSTYLE_3D_XYZ:
-/*N*/ case CHSTYLE_3D_XYZSYMBOLS:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Stacked-Chart-Typ (vollstaendig, d.h. percent => stacked
-|*
-\************************************************************************/
-/*N*/ BOOL ChartType::IsStacked(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ if(IsPercent(eChartStyle)) //Percent ist immer Stacked!!!
-/*N*/ return TRUE;
-/*N*/
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_STACKEDLINE:
-/*N*/ case CHSTYLE_2D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ //neu, (siehe auch IsPercent()):
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_NET_STACK:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/
-/*N*/ return TRUE;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-/*************************************************************************
-|*
-|* Percent-Chart-Typ
-|*
-\************************************************************************/
-/*N*/ BOOL ChartType::IsPercent(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ // Neu:
-/*N*/ case CHSTYLE_2D_NET_PERCENT:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/
-/*N*/ return TRUE;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Basistyp ermitteln
-|*
-\************************************************************************/
-
-/*N*/ long ChartType::GetBaseType(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ long nResult = CHTYPE_INVALID;
-/*N*/
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_B_SPLINE:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_LINE:
-/*N*/ case CHSTYLE_2D_STACKEDLINE:
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_LINESYMBOLS:
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_3D_STRIPE:
-/*N*/ nResult = CHTYPE_LINE;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_AREA:
-/*N*/ case CHSTYLE_2D_STACKEDAREA:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/*N*/ case CHSTYLE_3D_AREA:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ nResult = CHTYPE_AREA;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_PIE:
-/*N*/ case CHSTYLE_2D_PIE_SEGOF1:
-/*N*/ case CHSTYLE_2D_PIE_SEGOFALL:
-/*N*/ case CHSTYLE_2D_DONUT1:
-/*N*/ case CHSTYLE_2D_DONUT2:
-/*N*/ case CHSTYLE_3D_PIE:
-/*N*/ nResult = CHTYPE_CIRCLE;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY:
-/*N*/ case CHSTYLE_2D_XY_LINE:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY:
-/*N*/ case CHSTYLE_2D_XYSYMBOLS:
-/*N*/ case CHSTYLE_2D_XY:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY:
-/*N*/ nResult = CHTYPE_XY;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_NET:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS:
-/*N*/ case CHSTYLE_2D_NET_STACK:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK:
-/*N*/ case CHSTYLE_2D_NET_PERCENT:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-/*N*/ nResult = CHTYPE_NET;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_COLUMN:
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_3D_COLUMN:
-/*N*/ case CHSTYLE_3D_FLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ nResult = CHTYPE_COLUMN;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_BAR:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ nResult = CHTYPE_BAR;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ nResult = CHTYPE_STOCK;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_ADDIN:
-/*N*/ nResult = CHTYPE_ADDIN;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ OSL_FAIL( "Invalid chart style given!" );
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ return nResult;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Vertikales Chart
-|*
-\************************************************************************/
-
-/*N*/ BOOL ChartType::IsVertical(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_BAR:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/
-/*N*/ return TRUE;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-
-
-
-
-/*N*/ BOOL ChartType::IsDonut(const SvxChartStyle eChartStyle) const
-/*N*/ {
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_DONUT1:
-/*N*/ case CHSTYLE_2D_DONUT2:
-/*N*/
-/*N*/ return TRUE;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-/*************************************************************************
-|*
-|* CleanUp sorgt nach dem Setzen bestimmter Eigenschaften dafuer, das
-|* alle übrigen Eigenschaften, die jetzt nicht mehr verfügbar sind,
-|* passend gesetzt werden. Beispiel:
-|* Type = Percent, stacked oder Typ = Column
-|* Percent wird auf FALSE gesetzt Typ auf Pie
-|* nach CleanUp ist auch Stacked = FALSE; Typ = Pie,Percent,Stacked
-|* Typ auf Column
-|* Type = Column,Percent,Stacked
-\************************************************************************/
-
-//Wie SetBaseType, jedoch werden alle Properties auf defaults gesetz
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chaxis.cxx b/binfilter/bf_sch/source/core/sch_chaxis.cxx
deleted file mode 100644
index 9f3d2ba64..000000000
--- a/binfilter/bf_sch/source/core/sch_chaxis.cxx
+++ /dev/null
@@ -1,2635 +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.
- *
- ************************************************************************/
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-
-
-#include <bf_svx/svdopath.hxx>
-
-
-
-
-#include <bf_svx/eeitem.hxx>
-#ifndef _ZFORLIST_HXX //autogen
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#include <bf_svtools/zforlist.hxx>
-#endif
-#include <rtl/math.hxx>
-#include <bf_svx/xlnclit.hxx>
-
-#include <bf_svx/xlnwtit.hxx>
-#include "schattr.hxx"
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-
-
-#endif
-
-#define ITEMID_FONT EE_CHAR_FONTINFO
-#define ITEMID_COLOR EE_CHAR_COLOR
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-
-#include <bf_svx/fontitem.hxx>
-#include <bf_svx/fhgtitem.hxx>
-#include <bf_svx/svxids.hrc>
-
-#include "float.h"
-#include "chaxis.hxx"
-#include "pairs.hxx"
-#include "glob.hrc"
-#include "axisobj.hxx"
-#include "globfunc.hxx"
-#include <algorithm>
-#include <limits>
-namespace binfilter {
-
-/*N*/ void ChartAxis::SetDefaults()
-/*N*/ {
-/*N*/ Font aLatinFont( OutputDevice::GetDefaultFont( DEFAULTFONT_LATIN_SPREADSHEET, mpModel->GetLanguage( EE_CHAR_LANGUAGE ), DEFAULTFONT_FLAGS_ONLYONE ) );
-/*N*/ SvxFontItem aSvxFontItem( aLatinFont.GetFamily(), aLatinFont.GetName(), aLatinFont.GetStyleName(), aLatinFont.GetPitch(),
-/*N*/ aLatinFont.GetCharSet(), EE_CHAR_FONTINFO );
-/*N*/
-/*N*/ Font aCJKFont( OutputDevice::GetDefaultFont( DEFAULTFONT_CJK_SPREADSHEET, mpModel->GetLanguage( EE_CHAR_LANGUAGE_CJK ), DEFAULTFONT_FLAGS_ONLYONE ) );
-/*N*/ SvxFontItem aSvxFontItemCJK( aCJKFont.GetFamily(), aCJKFont.GetName(), aCJKFont.GetStyleName(), aCJKFont.GetPitch(),
-/*N*/ aCJKFont.GetCharSet(), EE_CHAR_FONTINFO_CJK );
-/*N*/
-/*N*/ Font aCTLFont( OutputDevice::GetDefaultFont( DEFAULTFONT_CTL_SPREADSHEET, mpModel->GetLanguage( EE_CHAR_LANGUAGE_CTL ), DEFAULTFONT_FLAGS_ONLYONE ) );
-/*N*/ SvxFontItem aSvxFontItemCTL( aCTLFont.GetFamily(), aCTLFont.GetName(), aCTLFont.GetStyleName(), aCTLFont.GetPitch(),
-/*N*/ aCTLFont.GetCharSet(), EE_CHAR_FONTINFO_CTL );
-/*N*/
-/*N*/ // Attention! If the size of the three fonts below is changed from 7pt to
-/*N*/ // some other value, change also the font scaling in globfunc.cxx:ItemsToFont.
-/*N*/ mpAxisAttr->Put(aSvxFontItem);
-/*N*/ mpAxisAttr->Put(SvxFontHeightItem( 247, 100, EE_CHAR_FONTHEIGHT )); // 7pt
-/*N*/ mpAxisAttr->Put(aSvxFontItemCJK);
-/*N*/ mpAxisAttr->Put(SvxFontHeightItem( 247, 100, EE_CHAR_FONTHEIGHT_CJK )); // 7pt
-/*N*/ mpAxisAttr->Put(aSvxFontItemCTL);
-/*N*/ mpAxisAttr->Put(SvxFontHeightItem( 247, 100, EE_CHAR_FONTHEIGHT_CTL )); // 7pt
-/*N*/
-/*N*/ // the font color has 'automatic' as default that should not be overwritten
-/*N*/ // mpAxisAttr->Put(SvxColorItem(RGBColor(COL_BLACK)));
-/*N*/ mpAxisAttr->ClearItem( ITEMID_COLOR );
-/*N*/ mpAxisAttr->Put(XLineStyleItem(XLINE_SOLID));
-/*N*/ mpAxisAttr->Put(XLineWidthItem(0));
-/*N*/ mpAxisAttr->Put(XLineColorItem( String(), RGBColor(COL_BLACK)));
-/*N*/ mpAxisAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_TEXT_OVERLAP,FALSE));
-/*N*/
-/*N*/ mpAxisAttr->Put(SvxChartTextOrderItem(CHTXTORDER_SIDEBYSIDE));
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_AUTO_MIN, TRUE));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(0.0, SCHATTR_AXIS_MIN));
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_AUTO_MAX, TRUE));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(0.0, SCHATTR_AXIS_MAX));
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_AUTO_STEP_MAIN, TRUE));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(0.0, SCHATTR_AXIS_STEP_MAIN));
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_AUTO_STEP_HELP, TRUE));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(0.0, SCHATTR_AXIS_STEP_HELP));
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_LOGARITHM, FALSE));
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_AUTO_ORIGIN, (mnId==CHART_AXIS_Y)?FALSE:TRUE));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(0.0, SCHATTR_AXIS_ORIGIN));
-/*N*/ mpAxisAttr->Put(SfxInt32Item(SCHATTR_AXISTYPE, mnId));
-/*N*/ mpAxisAttr->Put(SfxInt32Item(SCHATTR_AXIS_TICKS, CHAXIS_MARK_OUTER));
-/*N*/ ShowAxis(TRUE);
-/*N*/ ShowDescr(TRUE);
-/*N*/
-/*N*/ }
-/*N*/ void ChartAxis::SetAttributes(const SfxItemSet &rAttr)
-/*N*/ {
-/*N*/ mpAxisAttr->Put(rAttr);
-/*N*/
-/*N*/ //Erst immer Auto-attr holen, damit evtl. berechnete Werte nicht überschrieben werden.
-/*N*/ ReadAutoAttr();
-/*N*/ ReadAttr();
-/*N*/ };
-/*N*/ void ChartAxis::SetAttributes(SfxItemSet *pSet)
-/*N*/ {
-/*N*/ if(pSet)
-/*N*/ SetAttributes(*pSet);
-/*N*/ };
-/*N*/ ChartAxis::~ChartAxis()
-/*N*/ {
-/*N*/ if(mpTotal)
-/*N*/ delete [] mpTotal;
-/*N*/
-/*N*/ if(mpColStack)
-/*N*/ delete [] mpColStack;
-/*N*/
-/*N*/ delete mpAxisAttr;
-/*N*/ mpAxisAttr=NULL;
-/*N*/ mpModel=NULL;
-/*N*/ if(mpTextAttr)
-/*N*/ delete mpTextAttr;
-/*N*/ }
-
-/*N*/ ChartAxis::ChartAxis(ChartModel* pModel,long nId,long nUId)
-/*N*/ : mbInnerPos(FALSE)
-/*N*/ , mnInnerPos(-1)
-/*N*/ , mbColText(FALSE)
-/*N*/ , mbCenterText(FALSE)
-/*N*/ , mnMaxTextWidth(-1)
-/*N*/ , mnAlternateId(0)
-/*N*/ , mbAlternativIdUsed(FALSE)
-/*N*/ , mbPercentCol(TRUE)
-/*N*/ , mpTotal(NULL)
-/*N*/ , mnTotalSize(0)
-/*N*/ , mbTotalActual(FALSE)
-/*N*/ , mbTotalAlloc(FALSE)
-/*N*/ , mpColStack(NULL)
-/*N*/ , mbColStackOK(FALSE)
-/*N*/ , mnUId(nUId)
-/*N*/ , mbShowDescr(FALSE)
-/*N*/ , mpNumFormatter(NULL)
-/*N*/ , mpAxisList(NULL)
-/*N*/ , mpAxisObj(NULL)
-/*N*/ , mpGridAttr(NULL)
-/*N*/ , mpTextAttr(NULL)
-/*N*/ , mnTicks(CHAXIS_MARK_OUTER)
-/*N*/ , mnHelpTicks(0)
-/*N*/ , mnTickLen(150)
-/*N*/ , mnHelpTickLen(100)
-/*N*/ , mbSecondary(FALSE)
-/*N*/ , mnId(nId)
-/*N*/ , mbFlippedXY(FALSE)
-/*N*/ , mnPosition(0)
-/*N*/ , mbRadial(FALSE)
-/*N*/ , maArea(0,0,0,0)
-/*N*/ , mbPercent(FALSE)
-/*N*/ , mpAxisAttr(NULL)
-/*N*/ , mpModel(pModel)
-/*N*/ , mfMin(0.0)
-/*N*/ , mfMax(0.0)
-/*N*/ , mfStep(0.0)
-/*N*/ , mfStepHelp(0.0)
-/*N*/ , mfOrigin(0.0)
-/*N*/ , mbAutoMin(FALSE)
-/*N*/ , mbAutoMax(FALSE)
-/*N*/ , mbAutoOrigin(FALSE)
-/*N*/ , mbAutoStep(FALSE)
-/*N*/ , mbAutoStepHelp(FALSE)
-/*N*/ , mbLogarithm(FALSE)
-/*N*/ , meTextOrient( CHTXTORIENT_AUTOMATIC )
-/*N*/ {
-/*N*/ mpAxisAttr=new SfxItemSet(mpModel->GetPool(),nAxisWhichPairs);
-/*N*/ SetDefaults(); //attribute fuellen
-/*N*/ ReadAutoAttr(); //automatik? aus ItemSet holen
-/*N*/ ReadAttr(); //evtl. defaults aus Itemset uebernehmen (etwas Overhead, aber sicher)
-/*N*/ }
-
-/*N*/ long ChartAxis::GetUpper(double fData,BOOL bConstrained)
-/*N*/ {
-/*N*/ long nData;
-/*N*/ if(fData < mfOrigin)
-/*?*/ nData = GetPos(mfOrigin);
-/*N*/ else
-/*N*/ nData = GetPos(fData);
-/*N*/
-/*N*/ if(!bConstrained)
-/*?*/ return nData;
-/*N*/
-/*N*/ if(IsVertical())
-/*N*/ return Max(maRefArea.Top(),nData);
-/*N*/ else
-/*N*/ return Min(maRefArea.Right(),nData);
-/*N*/ }
-/*N*/ long ChartAxis::GetLower(double fData,BOOL bConstrained)
-/*N*/ {
-/*N*/ long nData;
-/*N*/
-/*N*/ if(fData > mfOrigin)
-/*N*/ nData = GetPos(mfOrigin);
-/*N*/ else
-/*N*/ nData = GetPos(fData);
-/*N*/
-/*N*/ if(!bConstrained)
-/*?*/ return nData;
-/*N*/
-/*N*/ if(IsVertical())
-/*N*/ return Min(maRefArea.Bottom(),nData);
-/*N*/ else
-/*N*/ return Max(maRefArea.Left(),nData);
-/*N*/ }
-/*N*/ Pair ChartAxis::Stack(double fData,BOOL bConstrained)
-/*N*/ {
-/*N*/ double fTop,fBottom;
-/*N*/
-/*N*/ if (fData < 0.0)//mfOrigin
-/*N*/ {
-/*?*/ fTop = mfDataBottom;
-/*?*/ mfDataBottom += fData;
-/*?*/ fBottom = mfDataBottom;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if( fData == DBL_MIN )
-/*N*/ fData = 0;
-/*N*/ fBottom = mfDataTop;
-/*N*/ mfDataTop += fData;
-/*N*/ fTop = mfDataTop;
-/*N*/ }
-/*N*/
-/*N*/ if(bConstrained)
-/*N*/ {
-/*N*/ if(IsVertical())
-/*N*/ return Pair(Max(maRefArea.Top(),GetPos(fTop))
-/*N*/ , Min(maRefArea.Bottom(),GetPos(fBottom)) );
-/*N*/ else
-/*N*/ return Pair(Max(maRefArea.Left(),GetPos(fBottom))
-/*N*/ ,Min(maRefArea.Right(),GetPos(fTop)) );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ return Pair(GetPos(fTop),GetPos(fBottom));
-/*N*/ }
-/*N*/ }
-/*N*/ BOOL ChartAxis::IsVertical()
-/*N*/ {
-/*N*/ return( (mnId==CHART_AXIS_Y && !mbFlippedXY)
-/*N*/ ||(mnId==CHART_AXIS_X && mbFlippedXY));
-/*N*/ }
-
-
-/*N*/ void ChartAxis::ResizeTotal(long nSize)
-/*N*/ {
-/*N*/ if(nSize && !mbTotalAlloc)
-/*N*/ {
-/*N*/ if(nSize!=mnTotalSize)
-/*N*/ {
-/*N*/ if(mpTotal)
-/*N*/ delete [] mpTotal;
-/*N*/ mnTotalSize = nSize;
-/*N*/ mpTotal = new double[mnTotalSize];
-/*N*/ }
-/*N*/
-/*N*/ while(nSize--)
-/*N*/ mpTotal[nSize]=0.0;
-/*N*/ }
-/*N*/ mbTotalAlloc=TRUE;
-/*N*/ };
-/*N*/ double ChartAxis::Data2Percent(double fData,long nCol,long nRow)
-/*N*/ {
-/*N*/ double fTotal=GetTotal( mbPercentCol ? nCol : nRow);
-/*N*/
-/*N*/ return fTotal ? ( (fabs(fData) / fTotal) * 100.0 ) : DBL_MIN;
-/*N*/ }
-/*N*/ double ChartAxis::GetTotal(long n)
-/*N*/ {
-/*N*/ if(!mbTotalActual)
-/*N*/ CreateTotal();
-/*N*/
-/*N*/ return mpTotal[n];
-/*N*/ }
-/*N*/ void ChartAxis::CreateTotal()
-/*N*/ {
-/*N*/ if(mbTotalActual)
-/*?*/ return ;
-/*N*/
-/*N*/ double fData;
-/*N*/
-/*N*/ long nColCnt=mpModel->GetColCount();
-/*N*/ long nRowCnt=mpModel->GetRowCount();
-/*N*/
-/*N*/
-/*N*/ if(mbPercentCol) //Prozent auf Datenreihe beziehen!
-/*N*/ {
-/*N*/ ResizeTotal(nColCnt); //Array anlegen und auf 0.0 setzen
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ ResizeTotal(nRowCnt); //Array anlegen und auf 0.0 setzen
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ long nId,nCol;
-/*N*/ for(long nRow=0;nRow<nRowCnt;nRow++)
-/*N*/ {
-/*N*/ nId=((const SfxInt32Item &)(mpModel->GetDataRowAttr(nRow).Get(SCHATTR_AXIS))).GetValue();
-/*N*/ if(nId==mnUId)
-/*N*/ {
-/*N*/ for(nCol=0;nCol<nColCnt;nCol++)
-/*N*/ {
-/*N*/ fData=mpModel->GetData(nCol,nRow);
-/*N*/ mpTotal[ mbPercentCol ? nCol : nRow] += fabs(fData);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ mbTotalActual=TRUE; //einmal und nie wieder (während eines BuildChart zumindest)
-/*N*/ };
-
-/*N*/ BOOL ChartAxis::IsOriginInRange() const
-/*N*/ {
-/*N*/ return ((mfMin <= mfOrigin) && (mfOrigin <= mfMax));
-/*N*/ }
-
-// Stapeln der Werte je Col (für Liniencharts)
-/*N*/ void ChartAxis::InitColStacking(long nColCnt)
-/*N*/ {
-/*N*/
-/*N*/
-/*N*/ if(mpColStack)
-/*N*/ delete [] mpColStack;
-/*N*/ mpColStack=new double[nColCnt];
-/*N*/ while(nColCnt--)
-/*N*/ mpColStack[nColCnt]=0.0;//mfOrigin ????;
-/*N*/ }
-//Stapeln der Werte je Column (Stapeln bei LinienCharts)
-/*N*/ double ChartAxis::StackColData(double fData,long nCol,long nColCnt)
-/*N*/ {
-/*N*/ if(!mbColStackOK)
-/*N*/ InitColStacking(nColCnt);//falls noch nicht geschehen
-/*N*/ mbColStackOK=TRUE;//wird bei Initialise auf FALSE gesetzt
-/*N*/
-/*N*/ mpColStack[nCol]+=fData;
-/*N*/ return mpColStack[nCol];
-/*N*/ }
-//Dies Funktion wird u.A. von Initialise gerufen (sehr früh im Buildvorgang)
-//Attribute innerer Schleifen (CretaeMarks, etc.) können hier in Variablen
-//gewandelt werden
-/*N*/ void ChartAxis::ReadAttr()
-/*N*/ {
-/*N*/
-/*N*/ //Art der Markierungen (innen/aussen)
-/*N*/ mnTicks = ((const SfxInt32Item&)mpAxisAttr->Get(SCHATTR_AXIS_TICKS)).GetValue();
-/*N*/ mnHelpTicks = ((const SfxInt32Item&)mpAxisAttr->Get(SCHATTR_AXIS_HELPTICKS)).GetValue();
-/*N*/
-/*N*/ long nFak = IsVertical() ? -1 : 1;
-/*N*/ if(mbSecondary)
-/*N*/ nFak*=-1;
-/*N*/
-/*N*/ long nHelpFak=nFak;
-/*N*/
-/*N*/ mnTickLen=nFak*150;
-/*N*/ mnHelpTickLen=nHelpFak*100;
-/*N*/
-/*N*/ // WICHTIG! Diese Methode darf keine Member, die Automatisch sind, ueberschreiben!
-/*N*/ if (!mbAutoMin)
-/*?*/ if ((mbLogarithm && (((const SvxDoubleItem&) mpAxisAttr->Get(SCHATTR_AXIS_MIN)).GetValue() != 0.0)) || !mbLogarithm)
-/*?*/ mfMin =((const SvxDoubleItem&) mpAxisAttr->Get(SCHATTR_AXIS_MIN)).GetValue();
-/*N*/ if (!mbAutoMax)
-/*?*/ mfMax =((const SvxDoubleItem&) mpAxisAttr->Get(SCHATTR_AXIS_MAX)).GetValue();
-/*N*/ if (!mbAutoOrigin)
-/*N*/ mfOrigin=((const SvxDoubleItem&) mpAxisAttr->Get(SCHATTR_AXIS_ORIGIN)).GetValue();
-/*N*/ if(!mbAutoStep)
-/*?*/ mfStep =((const SvxDoubleItem&) mpAxisAttr->Get(SCHATTR_AXIS_STEP_MAIN)).GetValue();
-/*N*/ if(!mbAutoStepHelp)
-/*?*/ mfStepHelp=((const SvxDoubleItem&) mpAxisAttr->Get(SCHATTR_AXIS_STEP_HELP)).GetValue();
-/*N*/
-/*N*/ }
-
-/*N*/ void ChartAxis::ReadAutoAttr() //OK
-/*N*/ {
-/*N*/ mbLogarithm = ((const SfxBoolItem&) mpAxisAttr->Get(SCHATTR_AXIS_LOGARITHM)).GetValue();
-/*N*/ mbAutoStep = ((const SfxBoolItem&) mpAxisAttr->Get(SCHATTR_AXIS_AUTO_STEP_MAIN)).GetValue();
-/*N*/ mbAutoStepHelp = ((const SfxBoolItem&) mpAxisAttr->Get(SCHATTR_AXIS_AUTO_STEP_HELP)).GetValue();
-/*N*/ mbAutoMin = ((const SfxBoolItem&) mpAxisAttr->Get(SCHATTR_AXIS_AUTO_MIN)).GetValue();
-/*N*/ mbAutoMax = ((const SfxBoolItem&) mpAxisAttr->Get(SCHATTR_AXIS_AUTO_MAX)).GetValue();
-/*N*/ mbAutoOrigin = ((const SfxBoolItem&) mpAxisAttr->Get(SCHATTR_AXIS_AUTO_ORIGIN)).GetValue();
-/*N*/ }
-
-//ToDo: dies Fkt. ueberfluessig machen
-
-/* ************************************************************************
-|*
-|* Minimum und Maximum berechnen, Wertebereich
-|*
-|* ToDo: Dies Methode muss komplett auf Verbundcharts umgestellt werden,
- Damit faellt meStackMode weg, es muss fuer jede Reihe geprueft werden,
- wie diese gezeichnet werden soll!
-\*********************************************************************** */
-/*N*/ inline double ChartAxis::GetRowError(long nRow)
-/*N*/ {
-/*N*/ switch((SvxChartKindError)((const SfxInt32Item &)mpModel->GetDataRowAttr(nRow).Get(SCHATTR_STAT_KIND_ERROR)).GetValue())
-/*N*/ {
-/*N*/ case CHERROR_VARIANT :
-/*N*/ return mpModel->GetVariantY(nRow);
-/*N*/ break;
-/*N*/
-/*N*/ case CHERROR_SIGMA :
-/*N*/ return mpModel->GetSigmaY(nRow);
-/*N*/ break;
-/*N*/
-/*N*/ case CHERROR_BIGERROR :
-/*N*/ return mpModel->GetBigErrorY(nRow,
-/*N*/ ((const SvxDoubleItem &)mpModel->GetDataRowAttr(nRow).Get(SCHATTR_STAT_BIGERROR)).GetValue());
-/*N*/ break;
-/*N*/
-/*N*/ default :
-/*N*/ break;
-/*N*/ }
-/*N*/ return 0.0;
-/*N*/ }
-/*N*/ inline BOOL ChartAxis::IsDataOnAxis(long nRow)
-/*N*/ {
-/*N*/ return(mnUId == ((const SfxInt32Item &)mpModel->GetDataRowAttr(nRow)
-/*N*/ .Get(SCHATTR_AXIS)).GetValue()) ;
-/*N*/ }
-
-/*N*/ BOOL ChartAxis::GetMinMaxFromData()
-/*N*/ {
-/*N*/ BOOL bOK=FALSE;
-/*N*/
-/*N*/ long nColCnt = mpModel->GetColCount();
-/*N*/ long nRowCnt = mpModel->GetRowCount();
-/*N*/ long nCol,nRow;
-/*N*/
-/*N*/ BOOL bInitialise=TRUE; //statt dem nCol=0&&nRow=0-Unsinn, damit ungültige Daten berücksichtigt werden
-/*N*/
-/*N*/ double fMin = 0.0;
-/*N*/ double fMax = 0.0;
-/*N*/
-/*N*/ //Verbundchart Typ 2, letzte Reihe ist Linie, nach switch(meStackMode)
-/*N*/ //folgt dann die beruecksichtigung dieser Linie
-/*N*/ long nLines = Min((long)mpModel->GetNumLinesColChart(),(long)(nRowCnt-1));;//#50212#
-/*N*/
-/*N*/ if(mpModel->ChartStyle() == CHSTYLE_2D_LINE_STACKEDCOLUMN)
-/*N*/ nRowCnt-=nLines;
-/*N*/ else
-/*N*/ nLines=0;
-/*N*/
-/*N*/ switch (meStackMode)
-/*N*/ {
-/*N*/ //Min = Min(0,Summe aller negativen Daten)
-/*N*/ //Max = Max(0,Summe aller positiven Daten)
-/*N*/ case CHSTACK_MINMAX:
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fMinTotal = 0.0;
-/*N*/ double fMaxTotal = 0.0;
-/*N*/
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/
-/*N*/ if(IsDataOnAxis(nRow))
-/*N*/ {
-/*N*/ bOK=TRUE;
-/*N*/
-/*N*/ double fData = GetData(nCol, nRow);//mpModel->GetData(nCol, nRow, mbPercent);
-/*N*/
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ if (fData < 0.0)
-/*N*/ fMinTotal += fData;
-/*N*/ else if (fData > 0.0)
-/*N*/ fMaxTotal += fData;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (nCol == 0) //nicht gut, aber hier kann man sowas machen, irgendne Reihe hat Daten!
-/*N*/ {
-/*N*/ fMin = fMinTotal;
-/*N*/ fMax = fMaxTotal;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (fMin > fMinTotal)
-/*N*/ fMin = fMinTotal;
-/*N*/ if (fMax < fMaxTotal)
-/*N*/ fMax = fMaxTotal;
-/*N*/ }
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ //Min = Min(0,Min(Daten))
-/*N*/ //Max = Max(0,Summe aller Daten)
-/*N*/ case CHSTACK_OVERLAP:
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fTotal = 0.0;
-/*N*/
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ if(IsDataOnAxis(nRow))
-/*N*/ {
-/*N*/ bOK=TRUE;
-/*N*/
-/*N*/ double rTemp = GetData(nCol, nRow);//mpModel->GetData(nCol, nRow, mbPercent);
-/*N*/
-/*N*/ if (rTemp != DBL_MIN)
-/*N*/ {
-/*N*/ if(fMin > rTemp)
-/*N*/ fMin = rTemp;
-/*N*/ fTotal += rTemp;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(fMax < fTotal)
-/*N*/ fMax = fTotal;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ if (mpModel->IsXYChart ())
-/*N*/ {
-/*N*/ if(mnId == CHART_AXIS_X)
-/*N*/ {
-/*N*/ // here: x axis values are in row 0, so just iterate over col
-/*N*/ for( nCol = 0; nCol < nColCnt; nCol++ )
-/*N*/ {
-/*N*/ double fData = GetData( nCol, 0 );
-/*N*/
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ if (nCol == 0) //naja, so eigentlich nicht.... aber die X-Achse sollte eh vollständig sein
-/*N*/ {
-/*N*/ fMin = fData;
-/*N*/ fMax = fData;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ //if ((fMin > fData) && !mbLogarithm || (fData > 0.0) && mbLogarithm)
-/*N*/ if( (fMin > fData)
-/*N*/ && (!mbLogarithm || fData > 0.0) )
-/*N*/ fMin = fData;
-/*N*/
-/*N*/ if (fMax < fData)
-/*N*/ fMax = fData;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else // y axis
-/*N*/ {
-/*N*/ // #69912# use x axis range for determining the auto values for y axis
-/*N*/ ChartAxis* pXAxis = mpModel->GetAxisByUID( CHART_AXIS_PRIMARY_X );
-/*N*/ double fXMin = pXAxis->GetMin();
-/*N*/ double fXMax = pXAxis->GetMax();
-/*N*/
-/*N*/ // set min and max to 0/1 resp. in case the x range is empty
-/*N*/ fMin = 0.0;
-/*N*/ fMax = 1.0;
-/*N*/
-/*N*/ for (nRow = 1; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ //if(IsDataOnAxis(nRow)) //#63904#: 2,77%
-/*N*/ const SfxItemSet& rDataRowAttr = mpModel->GetDataRowAttr(nRow);
-/*N*/ if(mnUId == ((const SfxInt32Item &)rDataRowAttr.Get(SCHATTR_AXIS)).GetValue())
-/*N*/ {
-/*N*/ bOK=TRUE;
-/*N*/
-/*N*/ double fDiffUp = 0.0;
-/*N*/ double fDiffDown = 0.0;
-/*N*/ fDiffUp=fDiffDown=GetRowError(nRow); // rm1
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ // #69912#
-/*N*/ double xVal = GetData( nCol, 0 );
-/*N*/ if( fXMin <= xVal && xVal <= fXMax )
-/*N*/ {
-/*N*/ double fData = GetData( nCol, nRow );
-/*N*/
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ double fDataMin = fData;
-/*N*/ double fDataMax = fData;
-/*N*/
-/*N*/ //#63904#neu: (18.8 ms -> 7.28 ms )
-/*N*/ // SfxItemSet aDataPointAttr(rDataRowAttr);
-/*N*/ // mpModel->MergeDataPointAttr(aDataPointAttr,nCol, nRow);
-/*N*/ // SfxItemSet aDataPointAttr(mpModel->GetFullDataPointAttr(nCol, nRow));//#63904#71% 69,66%
-/*N*/ const SfxItemSet * pDataPointItemSet = mpModel->GetRawDataPointAttr (nCol,nRow);
-/*N*/ BOOL bDataPointItemSetValid = (pDataPointItemSet!=NULL);
-/*N*/
-/*N*/ const SfxPoolItem * pItem = sch::GetItem(
-/*N*/ SCHATTR_STAT_KIND_ERROR,
-/*N*/ rDataRowAttr,
-/*N*/ *pDataPointItemSet, bDataPointItemSetValid );
-/*N*/
-/*N*/ DBG_ASSERT( pItem != NULL, "Invalid Itemset" );
-/*N*/ if( pItem != NULL )
-/*N*/ {
-/*N*/ switch (static_cast<SvxChartKindError>(
-/*N*/ static_cast<const SfxInt32Item&>( *pItem ).GetValue ()))
-/*N*/ {
-/*?*/ case CHERROR_PERCENT :
-/*?*/ fDiffUp =
-/*?*/ fDiffDown = fData * static_cast<const SvxDoubleItem&>(*sch::GetItem(
-/*?*/ SCHATTR_STAT_PERCENT,
-/*?*/ rDataRowAttr,
-/*?*/ *pDataPointItemSet, bDataPointItemSetValid)).GetValue ()
-/*?*/ / 100.0;
-/*?*/ break;
-/*?*/
-/*?*/ case CHERROR_CONST :
-/*?*/ fDiffUp = fData + static_cast<const SvxDoubleItem&>(*sch::GetItem(
-/*?*/ SCHATTR_STAT_CONSTPLUS,
-/*?*/ rDataRowAttr,
-/*?*/ *pDataPointItemSet, bDataPointItemSetValid)).GetValue ();
-/*?*/ fDiffDown = fData + static_cast<const SvxDoubleItem&>(*sch::GetItem(
-/*?*/ SCHATTR_STAT_CONSTMINUS,
-/*?*/ rDataRowAttr,
-/*?*/ *pDataPointItemSet, bDataPointItemSetValid)).GetValue ();
-/*N*/ break;
-/*N*/
-/*N*/ default :
-/*N*/ ;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pItem = sch::GetItem(
-/*N*/ SCHATTR_STAT_INDICATE,
-/*N*/ rDataRowAttr,
-/*N*/ *pDataPointItemSet, bDataPointItemSetValid );
-/*N*/
-/*N*/ DBG_ASSERT( pItem != NULL, "Invalid Itemset" );
-/*N*/ if( pItem != NULL )
-/*N*/ {
-/*N*/ switch (static_cast<SvxChartIndicate>(
-/*N*/ static_cast<const SfxInt32Item&>( *pItem ).GetValue ()))
-/*N*/ {
-/*N*/ case CHINDICATE_BOTH :
-/*?*/ fDataMin -= fDiffDown;
-/*?*/ fDataMax += fDiffUp;
-/*?*/ break;
-/*?*/
-/*?*/ case CHINDICATE_UP :
-/*?*/ fDataMax += fDiffUp;
-/*?*/ break;
-/*?*/
-/*?*/ case CHINDICATE_DOWN :
-/*?*/ fDataMin -= fDiffDown;
-/*?*/ break;
-/*N*/
-/*N*/ case CHINDICATE_NONE :
-/*N*/ default :
-/*N*/ ;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ //if ((nCol == 0) && (nRow == 1)) //und wenn hier mal DBL_MIN steht????
-/*N*/ if(bInitialise)
-/*N*/ {
-/*N*/ bInitialise=FALSE;
-/*N*/ fMin = fDataMin;
-/*N*/ fMax = fDataMax;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if ( (fMin > fDataMin)
-/*N*/ && (!mbLogarithm || fDataMin > 0.0) )
-/*N*/ fMin = fDataMin;
-/*N*/
-/*N*/ if (fMax < fDataMax)
-/*N*/ fMax = fDataMax;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else // ! XY-Chart ... Hier landen auch die StockCharts
-/*N*/ {
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ //if(IsDataOnAxis(nRow)) //#63904#neu:
-/*N*/ const SfxItemSet& rDataRowAttr = mpModel->GetDataRowAttr(nRow);
-/*N*/ if(mnUId == ((const SfxInt32Item &)rDataRowAttr.Get(SCHATTR_AXIS)).GetValue())
-/*N*/ {
-/*N*/ bOK=TRUE;
-/*N*/
-/*N*/ double fDiffUp = 0.0;
-/*N*/ double fDiffDown = 0.0;
-/*N*/
-/*N*/ fDiffUp=fDiffDown=GetRowError(nRow);//rm3
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fData = GetData(nCol, nRow);
-/*N*/
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ double fDataMin = fData;
-/*N*/ double fDataMax = fData;
-/*N*/
-/*N*/ //#63904#
-/*N*/ // SfxItemSet aDataPointAttr(rDataRowAttr);
-/*N*/ // mpModel->MergeDataPointAttr(aDataPointAttr,nCol, nRow);
-/*N*/ //SfxItemSet aDataPointAttr(mpModel->GetFullDataPointAttr(nCol, nRow));
-/*N*/ const SfxItemSet * pDataPointItemSet = mpModel->GetRawDataPointAttr (nCol,nRow);
-/*N*/ BOOL bDataPointItemSetValid = (pDataPointItemSet!=NULL);
-/*N*/
-/*N*/ const SfxPoolItem * pItem = sch::GetItem(
-/*N*/ SCHATTR_STAT_KIND_ERROR,
-/*N*/ rDataRowAttr,
-/*N*/ *pDataPointItemSet, bDataPointItemSetValid);
-/*N*/
-/*N*/ DBG_ASSERT( pItem != NULL, "Invalid Itemset" );
-/*N*/ if( pItem != NULL )
-/*N*/ {
-/*N*/ switch (static_cast<SvxChartKindError>(
-/*N*/ static_cast<const SfxInt32Item&>( *pItem ).GetValue ()))
-/*N*/ {
-/*?*/ case CHERROR_PERCENT :
-/*?*/ fDiffUp =
-/*?*/ fDiffDown = fData * static_cast<const SvxDoubleItem&>(*sch::GetItem(
-/*?*/ SCHATTR_STAT_PERCENT,
-/*?*/ rDataRowAttr,
-/*?*/ *pDataPointItemSet, bDataPointItemSetValid)).GetValue ()
-/*?*/ / 100.0;
-/*?*/ break;
-/*?*/
-/*?*/ case CHERROR_CONST :
-/*?*/ fDiffUp = fData + static_cast<const SvxDoubleItem&>(*sch::GetItem(
-/*?*/ SCHATTR_STAT_CONSTPLUS,
-/*?*/ rDataRowAttr,
-/*?*/ *pDataPointItemSet, bDataPointItemSetValid)).GetValue ();
-/*?*/ fDiffDown = fData + static_cast<const SvxDoubleItem&>(*sch::GetItem(
-/*?*/ SCHATTR_STAT_CONSTMINUS,
-/*?*/ rDataRowAttr,
-/*?*/ *pDataPointItemSet, bDataPointItemSetValid)).GetValue ();
-/*?*/ break;
-/*N*/
-/*N*/ default :
-/*N*/ ;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ DBG_ASSERT( pItem != NULL, "Invalid Itemset" );
-/*N*/ pItem = sch::GetItem(
-/*N*/ SCHATTR_STAT_INDICATE,
-/*N*/ rDataRowAttr,
-/*N*/ *pDataPointItemSet, bDataPointItemSetValid );
-/*N*/
-/*N*/ if( pItem != NULL )
-/*N*/ {
-/*N*/ switch (static_cast<SvxChartIndicate>(
-/*N*/ static_cast<const SfxInt32Item&>( *pItem ).GetValue ()))
-/*N*/ {
-/*?*/ case CHINDICATE_BOTH :
-/*?*/ fDataMin -= fDiffDown;
-/*?*/ fDataMax += fDiffUp;
-/*?*/ break;
-/*?*/
-/*?*/ case CHINDICATE_UP :
-/*?*/ fDataMax += fDiffUp;
-/*?*/ break;
-/*?*/
-/*?*/ case CHINDICATE_DOWN :
-/*?*/ fDataMin -= fDiffDown;
-/*?*/ break;
-/*N*/
-/*N*/ case CHINDICATE_NONE :
-/*N*/ default :
-/*N*/ ;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ //if ((nCol == 0) && (nRow == 0))//und wenn hier mal DBL_MIN steht????
-/*N*/ if(bInitialise)
-/*N*/ {
-/*N*/ bInitialise=FALSE;
-/*N*/ fMin = fDataMin;
-/*N*/ fMax = fDataMax;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if ((fMin > fDataMin)
-/*N*/ && (!mbLogarithm ||(fDataMin > 0.0)))
-/*N*/ fMin = fDataMin;
-/*N*/ if (fMax < fDataMax)
-/*N*/ fMax = fDataMax;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ break;
-/*N*/ }//switch meStackMode
-/*N*/
-/*N*/
-/*N*/ // bei CHSTYLE_2D_LINE_STACKEDCOLUMN muessen die Linien nochmal extra berechnet
-/*N*/ // werden Letzte Linie = nRowCnt, da oben nRowCnt-=n #50212#
-/*N*/ long nIndex=nRowCnt;//ab hier liegen evtl. linien vor
-/*N*/ while(nLines) //nLines ist 0 wenn kein CHSTYLE_2D_LINE_STACKEDCOLUMN
-/*N*/ {
-/*?*/ if( IsDataOnAxis( nIndex ))
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*?*/ nLines--;
-/*?*/ nIndex++;
-/*N*/ }
-/*N*/ if (mbPercent)
-/*N*/ {
-/*N*/ fMin = 0.0;
-/*N*/ if (fMax > 100.0)
-/*N*/ fMax = 100.0;
-/*N*/ }
-/*N*/
-/*N*/ if( mbAutoMin )
-/*N*/ mfMin = fMin;
-/*N*/
-/*N*/ if( mbAutoMax )
-/*N*/ mfMax = fMax;
-/*N*/
-/*N*/ return bOK;
-/*N*/ }
-
-//Ab jetzt wird die Achse gebaut, die meisten Werte können nicht mehr geändert werden,
-//da wir uns im BuildChart (genauer: zumeist in Create<n>DBackplanes) befinden.
-//allerdings wird die Area noch verändert. Davn unabhängige Werte, z.B. Items können
-//in Variablen gebuffert werden
-/*N*/ void ChartAxis::Initialise(const Rectangle &rRect,BOOL bFlippedXY
-/*N*/ ,long eStackmode,BOOL bPercent
-/*N*/ ,BOOL bRadial,BOOL bPercentCol)
-/*N*/
-/*N*/ {
-/*N*/ mnMaxTextWidth=-1;
-/*N*/ mbInnerPos=FALSE;
-/*N*/ mbAlternativIdUsed=FALSE;
-/*N*/ mbTextOverlap= ((const SfxBoolItem&)mpAxisAttr->Get(SCHATTR_TEXT_OVERLAP)).GetValue();
-/*N*/ mbPercentCol=bPercentCol;
-/*N*/ mbPercent=bPercent;
-/*N*/ maArea=rRect;
-/*N*/ mbFlippedXY=bFlippedXY;
-/*N*/ meStackMode=eStackmode;
-/*N*/ mbRadial=bRadial;
-/*N*/ mbShowDescr=HasDescription();
-/*N*/
-/*N*/ mbColStackOK=FALSE; //noch nix gestapelt, noch nicht initialisiert
-/*N*/ mbTotalActual=FALSE; //anzahl cols/daten könnten verändert sein!
-/*N*/ mbTotalAlloc =FALSE; //anzahl cols/daten könnten verändert sein!
-/*N*/
-/*N*/ mpMainGridList=NULL;
-/*N*/ mpHelpGridList=NULL;
-/*N*/ mpAxisList=NULL;
-/*N*/
-/*N*/ //Atribute auslesen, etwas Overhead, ToDo: optimieren
-/*N*/ ReadAutoAttr();
-/*N*/ ReadAttr();
-/*N*/ // #84601# set Min/Max etc. at the local item set!
-/*N*/ if( mpAxisAttr )
-/*N*/ GetMembersAsAttr( *mpAxisAttr );
-/*N*/ };
-
-/*N*/ void ChartAxis::GetMembersAsAttr(SfxItemSet& rSet) const
-/*N*/ {
-/*N*/ rSet.Put(SfxUInt32Item(SID_ATTR_NUMBERFORMAT_VALUE,((ChartAxis*)this)->GetNumFormat()));
-/*N*/ rSet.Put(SvxDoubleItem(mfMin , SCHATTR_AXIS_MIN));
-/*N*/ rSet.Put(SvxDoubleItem(mfMax , SCHATTR_AXIS_MAX));
-/*N*/ rSet.Put(SvxDoubleItem(mfStep , SCHATTR_AXIS_STEP_MAIN));
-/*N*/ rSet.Put(SvxDoubleItem(mfStepHelp , SCHATTR_AXIS_STEP_HELP));
-/*N*/ rSet.Put(SvxDoubleItem(mfOrigin , SCHATTR_AXIS_ORIGIN));
-/*N*/ }
-
-/*N*/ void ChartAxis::CalcMinMaxValue()
-/*N*/ {
-/*N*/
-/*N*/ if (mbAutoMin || mbAutoMax) //Dann alle Werte generieren
-/*N*/ {
-/*N*/ if(!GetMinMaxFromData() && mnAlternateId && /*#63904#:*/(IsVisible()||HasDescription()))
-/*N*/ {
-/*?*/ long tmp=mnUId;
-/*?*/ mnUId=mnAlternateId;
-/*?*/ GetMinMaxFromData();
-/*?*/ mbAlternativIdUsed=TRUE;
-/*?*/ mnUId=tmp;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (mfMin > mfMax) //ToDo: Korrektur, sollte aber ueberfluessig sein
-/*N*/ {
-/*?*/ double fTemp = mfMin;
-/*?*/ mfMin=mfMax;
-/*?*/ mfMax=fTemp;
-/*N*/ }
-/*N*/
-/*N*/ ReadAttr(); //Alle nicht-automatischen Wertze werden jetzt geholt
-/*N*/
-/*N*/ if ((mfMin != DBL_MIN) || (mfMax != DBL_MIN))
-/*N*/ {
-/*N*/ if (mfMin > mfMax) //noch ne Korrektur, diese ist aber noetig!
-/*N*/ {
-/*?*/ if( mbAutoMax )
-/*?*/ mfMax = mfMin;
-/*?*/ else if( mbAutoMin )
-/*?*/ mfMin = mfMax;
-/*?*/ else
-/*?*/ {
-/*?*/ OSL_FAIL( "Minimum is greater than Maximum" );
-/*?*/ double fTemp = mfMin;
-/*?*/
-/*?*/ mfMin = mfMax;
-/*?*/ mfMax = fTemp;
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (mbLogarithm)
-/*N*/ {
-/*?*/ if (mbAutoMin)
-/*?*/ {
-/*?*/ if (mfMin > 1.0)
-/*?*/ {
-/*?*/ double fVal = 1.0;
-/*?*/
-/*?*/ while (fVal < mfMin)
-/*?*/ fVal *= 10.0;
-/*?*/
-/*?*/ if (fVal > mfMin) fVal /= 10.0;
-/*?*/ mfMin = fVal;
-/*?*/ }
-/*?*/ else if (mfMin > 0.0)
-/*?*/ {
-/*?*/ double fVal = 1.0;
-/*?*/
-/*?*/ while (fVal > mfMin)
-/*?*/ fVal /= 10.0;
-/*?*/
-/*?*/ mfMin = fVal;
-/*?*/ }
-/*?*/ else mfMin = 1.0;
-/*?*/ }
-/*?*/
-/*?*/ if (mbAutoMax)
-/*?*/ {
-/*?*/ if (mfMax > 1.0)
-/*?*/ {
-/*?*/ double fVal = 1.0;
-/*?*/
-/*?*/ while (fVal < mfMax)
-/*?*/ fVal *= 10.0;
-/*?*/
-/*?*/ mfMax = fVal;
-/*?*/ }
-/*?*/ else if (mfMax > 0.0)
-/*?*/ {
-/*?*/ double fVal = 1.0;
-/*?*/
-/*?*/ while (fVal > mfMax)
-/*?*/ fVal /= 10.0;
-/*?*/
-/*?*/ if (fVal < mfMax) fVal *= 10.0;
-/*?*/ mfMax = fVal;
-/*?*/ }
-/*?*/ else mfMax = 1.0;
-/*?*/ }
-/*?*/
-/*?*/ if (mfMax - mfMin == 0.0) mfMax = mfMin * 10.0;
-/*?*/ if (mfOrigin != mfMin) mfOrigin = mfMin;
-/*?*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if ((!mpModel->IsNegativeChart() && (mfMin < 0.0)) ||
-/*N*/ (mbAutoMin && (mfMin > 0.0))) mfMin = SizeBounds (mfMin, mfMax, FALSE);
-/*N*/ if (mbAutoMax && (mfMax < 0.0)) mfMax = SizeBounds (mfMin, mfMax, TRUE);
-/*N*/
-/*N*/ if (mfMax - mfMin == 0.0) mfMax = mfMin + 1.0;
-/*N*/
-/*N*/ if (mbAutoOrigin)
-/*N*/ {
-/*N*/ mfOrigin = 0.0;
-/*N*/ if (mfOrigin < mfMin) mfOrigin = mfMin;
-/*N*/ else if (mfOrigin > mfMax) mfOrigin = mfMax;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (mfOrigin < mfMin) mfMin = mfOrigin;
-/*N*/ if (mfOrigin > mfMax) mfMax = mfOrigin;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/* ************************************************************************
-|*
-|* Faktor fuer Koordinaten-Multiplikation berechnen
-|* abart der globalen Funktion mit den ChartAxis-Membervariablen
-|*
-\*********************************************************************** */
-/*N*/ void ChartAxis::LoadMemberCompat(SvStream& rIn)
-/*N*/ {
-/*N*/ rIn >> mfMin;
-/*N*/ rIn >> mfMax;
-/*N*/ rIn >> mfStep;
-/*N*/ rIn >> mfStepHelp;
-/*N*/ rIn >> mfOrigin;
-/*N*/
-/*N*/
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(mfMin , SCHATTR_AXIS_MIN));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(mfMax , SCHATTR_AXIS_MAX));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(mfStep , SCHATTR_AXIS_STEP_MAIN));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(mfStepHelp , SCHATTR_AXIS_STEP_HELP));
-/*N*/ mpAxisAttr->Put(SvxDoubleItem(mfOrigin , SCHATTR_AXIS_ORIGIN));
-/*N*/
-/*N*/ CHART_TRACE2( "ChartAxis::LoadMemberCompat min=%lf, max=%lf", mfMin, mfMax );
-/*N*/ CHART_TRACE3( "... step=%lf, help=%lf, origin=%lf", mfStep, mfStepHelp, mfOrigin );
-/*N*/ }
-
-/*N*/ void ChartAxis::StoreMemberCompat(SvStream& rOut) const
-/*N*/ {
-/*N*/ rOut << mfMin;
-/*N*/ rOut << mfMax;
-/*N*/ rOut << mfStep;
-/*N*/ rOut << mfStepHelp;
-/*N*/ rOut << mfOrigin;
-/*N*/ }
-//ToDo: nLen ist maArea.Width(),Height, oder das ganze bei NetChart /2 (vermutlich)
-/*N*/ long ChartAxis::GetLength() const
-/*N*/ {
-/*N*/ if(mbRadial)//&& Achse=Y (ist aber immer so bei NetCharts)
-/*N*/ return maArea.GetHeight () / 2;
-/*N*/
-/*N*/ switch(mnId)
-/*N*/ {
-/*N*/ case CHART_AXIS_X:
-/*N*/ return mbFlippedXY ? maArea.GetHeight() : maArea.GetWidth();
-/*N*/ break;
-/*N*/ case CHART_AXIS_Y:
-/*N*/ return mbFlippedXY ? maArea.GetWidth() : maArea.GetHeight();
-/*N*/ break;
-/*N*/ case CHART_AXIS_Z:
-/*N*/ return (maArea.GetWidth() * 4) / 6; //ToDo: Das hier ist doch quark... kein Flipped?:;
-/*N*/ break;
-/*N*/ }
-/*?*/ OSL_FAIL("ChartAxis::GetLenght() implementation error - ZAxis failure");
-/*?*/ return maArea.GetWidth();
-/*N*/ }
-
-
-
-
-/**
- @descr Calculate the size of the bounding box of a text string. The size
- is measured with respect to the coordinate axes.
-
- @param rTextAttr Attributes of the font to use.
- @param aString The "typical" description.
-
- @return Returns the size of the bounding box of the text.
-*/
-/*N*/ Size ChartAxis::CalcDescriptionSize (const SfxItemSet * rTextAttr,
-/*N*/ const String & aString)
-/*N*/ {
-/*N*/ // Get output device, store old page size and set paper size to
-/*N*/ // maximal size to inhibit line breaks.
-/*N*/ Outliner * pOutliner = mpModel->GetOutliner();
-/*N*/ pOutliner->SetUpdateMode (FALSE);
-/*N*/ Size aOldPaperSize (pOutliner->GetPaperSize());
-/*N*/ pOutliner->SetPaperSize (Size (100000,100000)); // Maximal paper size ?
-/*N*/
-/*N*/ // Save first paragraphs attributes, switch off hyphenation, and
-/*N*/ // set the font attributes.
-/*N*/ SfxItemSet aOldAttr (pOutliner->GetParaAttribs(0));
-/*N*/ SfxItemSet aNewAttr (aOldAttr);
-/*N*/ aNewAttr.Put (SfxBoolItem(EE_PARA_HYPHENATE, FALSE));
-/*N*/ aNewAttr.Put (*rTextAttr);
-/*N*/ mpModel->SetTextAttributes (aNewAttr);
-/*N*/
-/*N*/ // synchronize item with member
-/*N*/ meTextOrient = ((const SvxChartTextOrientItem&)
-/*N*/ mpAxisAttr->Get(SCHATTR_TEXT_ORIENT)).GetValue();
-/*N*/ // Determine the size of the texts bounding box.
-/*N*/ if (meTextOrient == CHTXTORIENT_STACKED)
-/*?*/ {DBG_BF_ASSERT(0, "STRIP"); }
-/*N*/ else
-/*N*/ pOutliner->SetText(aString, pOutliner->GetParagraph (0));
-/*N*/ pOutliner->SetUpdateMode (TRUE);
-/*N*/ Size aSize = pOutliner->CalcTextSize();
-/*N*/ // remove content and attributes
-/*N*/ pOutliner->Clear();
-/*N*/ pOutliner->SetUpdateMode (FALSE);
-/*N*/
-/*N*/ // Restore the old font and old paper size.
-/*N*/ mpModel->SetTextAttributes (aOldAttr);
-/*N*/ pOutliner->SetPaperSize (aOldPaperSize);
-/*N*/ pOutliner->SetUpdateMode (TRUE);
-/*N*/
-/*N*/ return (aSize);
-/*N*/ }
-
-
-
-
-/**
- @descr Calculate the expected size of a "typical" description. The size
- is measured along the axis. The axis orientation is taken into
- account.
- @precond CalcMinMaxValue() has to have been called already.
-
- @param rAttr Attributes of the font to use.
-
- @return Returns the size of the text projected onto the axis.
-*/
-/*N*/ long int ChartAxis::CalcTypicalDescriptionSize (const SfxItemSet * rAttr)
-/*N*/ {
-/*N*/ String aString;
-/*N*/ Color * pDummy = NULL;
-/*N*/ Size aSize,
-/*N*/ aMaxSize;
-/*N*/
-/*N*/ // As typical text we use the minimum and maximum and some randomly
-/*N*/ // chose value in between. This relies on a previous call to
-/*N*/ // CalcMinMaxValue().
-/*N*/ mpNumFormatter->GetOutputString (mfMin, GetNumFormat(), aString, &pDummy);
-/*N*/ aMaxSize = CalcDescriptionSize (rAttr, aString);
-/*N*/
-/*N*/ mpNumFormatter->GetOutputString (mfMax, GetNumFormat(), aString, &pDummy);
-/*N*/ aSize = CalcDescriptionSize (rAttr, aString);
-/*N*/ if (aSize.Width() > aMaxSize.Width())
-/*N*/ aMaxSize.Width() = aSize.Width();
-/*N*/ if (aSize.Height() > aMaxSize.Height())
-/*?*/ aMaxSize.Height() = aSize.Height();
-/*N*/
-/*N*/ double fPos = 0.53, // Arbitrary position between mfMin and mfMax.
-/*N*/ fValue = (1-fPos) * mfMin + fPos * mfMax;
-/*N*/ mpNumFormatter->GetOutputString (fValue, GetNumFormat(), aString, &pDummy);
-/*N*/ aSize = CalcDescriptionSize (rAttr, aString);
-/*N*/ if (aSize.Width() > aMaxSize.Width())
-/*N*/ aMaxSize.Width() = aSize.Width();
-/*N*/ if (aSize.Height() > aMaxSize.Height())
-/*?*/ aMaxSize.Height() = aSize.Height();
-/*N*/
-/*N*/ // Select the right coordinate and return it.
-/*N*/ if (IsVertical())
-/*N*/ return (aMaxSize.Height());
-/*N*/ else
-/*N*/ return (aMaxSize.Width());
-/*N*/ }
-
-
-/**
- @descr Calculate the intervall delimited by mfMin and mfMax for which
- tick marks are drawn, its origin (mfOrigin), which is either zero
- if inside the intervall or mfMin or mfMax otherwise. The
- distance between two adjacent tick marks of the main grid is
- stored into mfStep and the distance for the help grid into
- mfStepHelp.
-*/
-/*N*/ void ChartAxis::CalcValueSteps (void)
-/*N*/ {
-/*N*/ long nLen=GetLength();
-/*N*/
-/*N*/ ReadAutoAttr(); //mbAuto* aus mpAxisAttr lesen
-/*N*/
-/*N*/ CalcMinMaxValue(); //Min und Max bestimmen
-/*N*/
-/*N*/ if (mfMax == DBL_MIN)
-/*N*/ {
-/*N*/ mfMax =
-/*N*/ mfOrigin =
-/*N*/ mfMin =
-/*N*/ mfStep =
-/*N*/ mfStepHelp = 0.0;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ double fRange = mfMax-mfMin,
-/*N*/ fApproximateDescriptionSize
-/*N*/ = 2.5 * CalcTypicalDescriptionSize(mpAxisAttr);
-/*N*/ // former value: (mpModel->GetLineHeight(*mpAxisAttr) * 3)
-/*N*/ long nMaxSteps = (long int)(nLen / fApproximateDescriptionSize);
-/*N*/
-/*N*/ if (mbLogarithm)
-/*N*/ {
-/*N*/ if (mbAutoStep)
-/*N*/ mfStep = 10.0;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (mbAutoStep)
-/*N*/ {
-/*N*/ // Find smallest power of 10 lower than or equal to fRange,
-/*N*/ // that scales fFactor into the interval [1,10].
-/*N*/ double fFactor = pow ((double)10, floor (log10 (fRange)));
-/*N*/ fRange /= fFactor;
-/*N*/
-/*N*/ // Calculate mfStep so that the number of divisions (nSteps)
-/*N*/ // is 'not much' higher than nMaxSteps. The value of nSteps
-/*N*/ // is increased succesively to multiples of 2*10^k, 4*10^k,
-/*N*/ // 5*10^k, and 10*10^k, with k>=0.
-/*N*/ long nSteps = 1;
-/*N*/ mfStep = 10.0;
-/*N*/ if (nSteps < nMaxSteps)
-/*N*/ {
-/*N*/ short nDepth = 0;
-/*N*/
-/*N*/ do
-/*N*/ {
-/*N*/ if (nDepth % 4 == 2) mfStep = mfStep * 4.0 / 5.0;
-/*N*/ else mfStep /= 2.0;
-/*N*/
-/*N*/ nSteps = (long)(fRange / mfStep);
-/*N*/ nDepth++;
-/*N*/ }
-/*N*/ while (nSteps < nMaxSteps);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (mfStep > fRange)
-/*N*/ {
-/*N*/ short nDepth = 0;
-/*N*/ double fStep = mfStep;
-/*N*/
-/*N*/ do
-/*N*/ {
-/*N*/ if (nDepth % 4 == 2) fStep = fStep * 4.0 / 5.0;
-/*N*/ else fStep /= 2.0;
-/*N*/
-/*N*/ if (fStep >= fRange) mfStep = fStep;
-/*N*/
-/*N*/ nDepth++;
-/*N*/ }
-/*N*/ while (fStep > fRange);
-/*N*/ }
-/*N*/ }
-/*N*/ mfStep *= fFactor;
-/*N*/
-/*N*/ // Special treatment for dates and times.
-/*N*/ short int nNumberFormat = mpNumFormatter->GetType (
-/*N*/ GetNumFormat());
-/*N*/ BOOL bIsDate = (nNumberFormat & NUMBERFORMAT_DATE) != 0;
-/*N*/ BOOL bIsTime = (nNumberFormat & NUMBERFORMAT_TIME) != 0;
-/*N*/ // At the moment the only special case is this:
-/*N*/ // Dates without time are spaced whole days apart.
-/*N*/ if (bIsDate && ! bIsTime)
-/*N*/ {
-/*N*/ mfStep = ceil(mfStep);
-/*N*/ if (mfStep < 1)
-/*N*/ mfStep = 1;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // Make sure that the step width is positive and not equal to
-/*N*/ // zero.
-/*N*/ if ((mfStep<0) || (mfMin+mfStep==mfMin) || (mfMax+mfStep==mfMax))
-/*N*/ {
-/*N*/ OSL_FAIL( "Decrement of <= 0.0 not allowed" );
-/*N*/ mfStep = 1.0; // to prevent loop
-/*N*/ }
-/*N*/
-/*N*/ if (mbAutoMin)
-/*N*/ {
-/*N*/ double fMin = 0.0;
-/*N*/
-/*N*/ // Adjust mfMin to the largest value that is lower than or
-/*N*/ // equal to its current value and is an integer multiple of
-/*N*/ // mfSteps away of fMin.
-/*N*/ if (fMin > mfMin)
-/*N*/ mfMin = fMin - mfStep * ceil((fMin - mfMin) / mfStep);
-/*N*/ else if (fMin < mfMin)
-/*N*/ mfMin = fMin + mfStep * floor((mfMin - fMin) / mfStep);
-/*N*/
-/*N*/ if ((mfMin >= 0.0) && (mfMin < mfOrigin))
-/*N*/ mfOrigin = mfMin;
-/*N*/ }
-/*N*/
-/*N*/ if (mbAutoMax)
-/*N*/ {
-/*N*/ double fMax = 0.0;
-/*N*/
-/*N*/ // Adjust mfMax to the smallest value that is higher than or
-/*N*/ // equal to its current value and is an integer multiple of
-/*N*/ // mfSteps away of fMax.
-/*N*/ if (fMax < mfMax)
-/*N*/ mfMax = fMax + mfStep * ceil((mfMax - fMax) / mfStep);
-/*N*/ else if (fMax > mfMax)
-/*N*/ mfMax = fMax - mfStep * floor ((fMax - mfMax) / mfStep);
-/*N*/
-/*N*/ if ((mfMax <= 0.0) && (mfMax > mfOrigin))
-/*N*/ mfOrigin = mfMax;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(mbAutoStepHelp)
-/*N*/ {
-/*N*/ mfStepHelp = mbLogarithm ? (mfStep / 10) : (mfStep / 2);
-/*N*/ }
-/*N*/ VerifySteps();
-/*N*/ }
-/*N*/
-/* //NetCharts, nur absolutwerte (was passiert bei gemischt ?)
- //Sollte sowas nicht vor die Berechnung der Steps?
- if (mbRadial)
- {
- mfMin = std::max (mfMin, 0);
- mfMax = std::max (mfMax, 0);
- if (mfMin > mfMax)
- {
- double fTemp = mfMin;
-
- mfMin = mfMax;
- mfMax = fTemp;
- }
- }
-*/
-/*N*/ }
-
-
-/*N*/ void ChartAxis::VerifySteps()
-/*N*/ {
-/*N*/ //#38835# Sicherheitsueberpruefung der Werte, es werden beide Achsen gleichbehandelt
-/*N*/ //Es sollte nur mit Double gerechnet werden da bei Fehlern der Bereich nicht reicht
-/*N*/ //(deshalb double nVarName,
-/*N*/ //ToDo: GetLenght benutzen! Wir kennen ja in dieser Klasse mittlerweile die Laenge
-/*N*/
-/*N*/ double fRange=(mfMax - mfMin);
-/*N*/
-/*N*/ double nLimit=Max(maArea.GetWidth(),maArea.GetHeight());
-/*N*/
-/*N*/ if(nLimit < 0.0)
-/*N*/ {
-/*?*/ OSL_FAIL( "negative value for nLimit, check maArea!" );
-/*?*/ nLimit=1.0;
-/*N*/ }
-/*N*/ nLimit=nLimit/100.0; //Minimum 1 mm Abstand
-/*N*/
-/*N*/ if(nLimit && !mbLogarithm)
-/*N*/ {
-/*N*/ if(mfStep!=0.0 )
-/*N*/ {
-/*N*/ double fSteps=fRange/mfStep;
-/*N*/ while(fSteps>nLimit)
-/*N*/ {
-/*?*/ mfStep*=10;
-/*?*/ fSteps=fRange / mfStep;
-/*N*/ }
-/*N*/ }
-/*N*/ nLimit*=10; //Min fuer Hilfsticks: 0,1 mm bzw. 10 Hilfsticks immer moeglich
-/*N*/
-/*N*/ if(mfStepHelp!=0.0)
-/*N*/ {
-/*N*/ double fSteps=fRange/mfStepHelp;
-/*N*/ while(fSteps>nLimit)
-/*N*/ {
-/*?*/ mfStepHelp*=10;
-/*?*/ fSteps=fRange/mfStepHelp;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/*N*/ long ChartAxis::GetPos(double fData)
-/*N*/ {
-/*N*/ switch(mnId)
-/*N*/ {
-/*N*/ case CHART_AXIS_X:
-/*N*/ if(mbFlippedXY)
-/*N*/ return maRefArea.Bottom() - (long)(CalcFact(fData) * maRefArea.GetHeight());
-/*N*/ else
-/*N*/ return maRefArea.Left() + (long)(CalcFact(fData) * maRefArea.GetWidth());
-/*N*/
-/*N*/ case CHART_AXIS_Y:
-/*N*/ if(!mbFlippedXY)
-/*N*/ return maRefArea.Bottom() - (long)(CalcFact(fData) * maRefArea.GetHeight());
-/*N*/ else
-/*N*/ return maRefArea.Left() + (long)(CalcFact(fData) * maRefArea.GetWidth());
-/*N*/
-/*N*/ case CHART_AXIS_Z:
-/*?*/ OSL_FAIL("ChartAxis - no z pos");
-/*N*/ }
-/*N*/ return 0;
-/*N*/ }
-/*N*/ BOOL ChartAxis::SetArea(const Rectangle &rRect)
-/*N*/ {
-/*N*/ BOOL bRet=TRUE;
-/*N*/ if(rRect==maRefArea)
-/*N*/ bRet=FALSE;
-/*N*/ maRefArea=rRect;
-/*N*/
-/*N*/ SetPosition(mbSecondary ? CHAXIS_POS_B :CHAXIS_POS_A);
-/*N*/
-/*N*/ #ifdef DBG_UTIL
-/*N*/ if(maArea!=maRefArea)
-/*N*/ OSL_TRACE("ChartAxis:: maArea!=maRefArea!!!");
-/*N*/ #endif
-/*N*/ return bRet;
-/*N*/ }
-
-
-
-/* ************************************************************************
-|*
-|* Liefert die maximale Werte-Text-GrӇe
-|*
-\*********************************************************************** */
-/*N*/ Size ChartAxis::CalcMaxTextSize()
-/*N*/ {
-/*N*/ return CalcMaxTextSize(((const SvxChartTextOrientItem&)mpAxisAttr->Get(SCHATTR_TEXT_ORIENT)).GetValue());
-/*N*/ }
-
-/*N*/ Size ChartAxis::CalcMaxTextSize(SvxChartTextOrient eOrient)
-/*N*/ {
-/*N*/ meTextOrient = eOrient;
-/*N*/ maMaxTextSize=Size(0,0);
-/*N*/
-/*N*/ if(!mbShowDescr)
-/*N*/ return maMaxTextSize;
-/*N*/
-/*N*/ BOOL bStepIsValid = mbLogarithm ? (mfStep > 1.0) : (mfStep > 0.0);
-/*N*/
-/*N*/ if( mfMin != mfMax && bStepIsValid )
-/*N*/ {
-/*N*/ OutputDevice *pOut = mpModel->GetOutliner()->GetRefDevice();
-/*N*/ Font aNewFont;
-/*N*/ ItemsToFont(*mpAxisAttr,aNewFont);
-/*N*/ Font aOldFont(pOut->GetFont());
-/*N*/ pOut->SetFont(aNewFont);
-/*N*/
-/*N*/ double fAct = mfMin;
-/*N*/
-/*N*/ if( ::rtl::math::isInf( mfMax ) || ::rtl::math::isInf( mfMin ))
-/*N*/ {
-/*N*/ OSL_FAIL( "maximum or minumum is infinity" );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ while (fAct <= mfMax)
-/*N*/ {
-/*N*/ String aNumStr;
-/*N*/ Color* pDummy = NULL;
-/*N*/
-/*N*/ if(mbColText)
-/*N*/ {
-/*N*/ long nCol = long(fAct);
-/*N*/ if(nCol<mpModel->GetColCount())
-/*N*/ aNumStr=mpModel->ColText(nCol);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ mpNumFormatter->GetOutputString(mbPercent ? fAct / 100.0: fAct,
-/*N*/ GetNumFormat(), aNumStr, &pDummy);
-/*N*/ }
-/*N*/
-/*N*/ Size aSize;
-/*N*/ if (meTextOrient == CHTXTORIENT_STACKED)
-/*N*/ {
-/*?*/ aSize.Width() = pOut->GetTextWidth( ::binfilter::StackString( aNumStr ));
-/*?*/ aSize.Height() = pOut->GetTextHeight();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aSize.Width() = pOut->GetTextWidth( aNumStr );
-/*N*/ aSize.Height() = pOut->GetTextHeight();
-/*N*/ }
-/*N*/
-/*N*/ aSize.Height() += TEXTHEIGHT_OFS;
-/*N*/ aSize.Width () = (aSize.Width () * 6) / 5;
-/*N*/
-/*N*/ if (aSize.Width() > maMaxTextSize.Width())
-/*N*/ maMaxTextSize.Width() = aSize.Width();
-/*N*/ if (aSize.Height() > maMaxTextSize.Height())
-/*N*/ maMaxTextSize.Height() = aSize.Height();
-/*N*/
-/*N*/ IncValue(fAct, mfStep, mbLogarithm);
-/*N*/ }
-/*N*/ maMaxTextSize = GetRotatedTextSize( maMaxTextSize,
-/*N*/ GetTextRotation( *mpAxisAttr, meTextOrient ));
-/*N*/ }
-/*N*/
-/*N*/ //Evtl. muss hier noch ein Umbruch eingeplant werden!
-/*N*/
-/*N*/ pOut->SetFont(aOldFont);
-/*N*/ }
-/*N*/ RecalcTextPos();
-/*N*/ return maMaxTextSize;
-/*N*/ }
-
-/*N*/ void ChartAxis::RecalcTextPos()
-/*N*/ {
-/*N*/ //Textabstand:
-/*N*/ long nExtra = -100; //+1mm
-/*N*/ if((mbSecondary && IsVertical()) || (!mbSecondary && !IsVertical()))
-/*N*/ nExtra=100;
-/*N*/
-/*N*/ if(mnTicks&CHAXIS_MARK_OUTER)
-/*N*/ {
-/*N*/ mnTextPos = mnPos + nExtra + mnTickLen; //LONGMARKS;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ mnTextPos = mnPos + nExtra;
-/*?*/
-/*?*/ if(mnHelpTicks&CHAXIS_MARK_OUTER)
-/*?*/ mnTextPos +=mnHelpTickLen;
-/*N*/ }
-/*N*/ }
-
-/*N*/ void ChartAxis::SetPosition(long nPos)
-/*N*/ {
-/*N*/ mbSecondary=(BOOL)(nPos==CHAXIS_POS_B);
-/*N*/
-/*N*/ if(nPos<0)
-/*N*/ {
-/*N*/ if(IsVertical())
-/*N*/ {
-/*N*/ if(mbSecondary)
-/*N*/ mnPos=maRefArea.Right();
-/*N*/ else
-/*N*/ mnPos=maRefArea.Left();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if(mbSecondary)
-/*N*/ mnPos=maRefArea.Top();
-/*N*/ else
-/*N*/ mnPos=maRefArea.Bottom();
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ mnPos=nPos;
-/*N*/ }
-/*N*/
-/*N*/ RecalcTextPos();
-/*N*/ }
-
-//Wenn Ticks nach innen und/oder nach aussen gerichtet sind, wird ein SdrObject returned,
-//sollen in keine Richtung Ticks gezeichnet werden, gbts den Nullpointer zurück
-/*N*/ SdrObject *ChartAxis::CreateMarks(long nPosition,long nLen,long nWhichTicks)
-/*N*/ {
-/*N*/ XPolygon saLine(2);
-/*N*/
-/*N*/ long nLen2=(nWhichTicks&CHAXIS_MARK_INNER) ? nLen : 0;
-/*N*/
-/*N*/ if(!(nWhichTicks&CHAXIS_MARK_OUTER))
-/*N*/ nLen=0;
-/*N*/
-/*N*/ if(!nLen && !nLen2)
-/*N*/ return NULL;
-/*N*/
-/*N*/ if(IsVertical())
-/*N*/ {
-/*N*/ saLine[0].X() = mnPos + nLen;
-/*N*/ saLine[1].X() = mnPos - nLen2;
-/*N*/ saLine[0].Y() = saLine[1].Y() = nPosition;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ saLine[0].Y() = mnPos + nLen;
-/*N*/ saLine[1].Y() = mnPos - nLen2;
-/*N*/ saLine[0].X() = saLine[1].X() = nPosition;
-/*N*/ }
-/*N*/
-/*N*/ return SetObjectAttr (new SdrPathObj(OBJ_PLIN,saLine),CHOBJID_LINE,TRUE,TRUE,mpAxisAttr);
-/*N*/ }
-/*N*/ void ChartAxis::CreateMarkDescr(double fData,long nPosition)
-/*N*/ {
-/*N*/ String aNumStr;
-/*N*/ Color* pTextColor = NULL;
-/*N*/
-/*N*/ if(mbColText)
-/*N*/ {
-/*N*/ long nCol = long(fData);
-/*N*/ long nColCnt=mpModel->GetColCount();
-/*N*/ if(IsVertical())
-/*N*/ nCol=nColCnt-nCol; //andere Reihenfolge wegen Bildschirmkoordinaten
-/*N*/
-/*N*/ if(nCol<nColCnt && nCol>=0)
-/*N*/ CreateMarkDescr(mpModel->ColText(nCol) ,nPosition, pTextColor);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ mpNumFormatter->GetOutputString(mbPercent ? fData/100.0:fData,GetNumFormat()
-/*N*/ ,aNumStr,&pTextColor);
-/*N*/ CreateMarkDescr(aNumStr, nPosition, pTextColor);
-/*N*/ }
-/*N*/
-/*N*/ }
-
-// BM #60999# new parameter pTextColor, if using red text for negative numbers
-/*N*/ void ChartAxis::CreateMarkDescr(const String& rString, long nPosition, Color *pTextColor)
-/*N*/ {
-/*N*/ SvxColorItem* pOldTextColor = NULL;
-/*N*/
-/*N*/ if(!mpTextAttr)
-/*N*/ {
-/*?*/ OSL_FAIL("ChartAxis: description uninitialised!!!!");
-/*?*/ CreateTextAttr();
-/*N*/ }
-/*N*/
-/*N*/ if( pTextColor )
-/*N*/ {
-/*?*/ pOldTextColor = (SvxColorItem*)mpTextAttr->GetItem( EE_CHAR_COLOR );
-/*?*/ mpTextAttr->Put(SvxColorItem( *pTextColor ));
-/*N*/ }
-/*N*/
-/*N*/ //Bei z.B. Barcharts ist der Text verschoben (sozusagen unter der Hilfsmarkierung)
-/*N*/ long nTextOffset=0;
-/*N*/ if(!mbCenterText && mbColText)
-/*N*/ nTextOffset+=GetDescrWidth()/2;
-/*N*/
-/*N*/ ChartAdjust eAdj;
-/*N*/ SdrRectObj *pText=NULL;
-/*N*/ if(IsVertical())
-/*N*/ {
-/*N*/ Point aPos(mnTextPos,nPosition+nTextOffset);
-/*N*/ if(mbStepValue)
-/*N*/ {
-/*?*/ if(mbValueDown)
-/*?*/ {
-/*?*/ if(mbSecondary)
-/*?*/ aPos.X() += maMaxTextSize.Width();
-/*?*/ else
-/*?*/ aPos.X() -= maMaxTextSize.Width();
-/*?*/ }
-/*?*/ mbValueDown = !mbValueDown;
-/*N*/ }
-/*N*/ eAdj = mbSecondary ? CHADJUST_CENTER_LEFT : CHADJUST_CENTER_RIGHT;
-/*N*/ pText=mpModel->CreateTextObj(CHOBJID_TEXT,aPos,rString,*mpTextAttr,FALSE,eAdj,mnMaxTextWidth);
-/*N*/ }
-/*N*/ else //horizontal
-/*N*/ {
-/*N*/ Point aPos(nPosition+nTextOffset,mnTextPos);
-/*N*/ if (mbStepValue)
-/*N*/ {
-/*?*/ if(mbValueDown)
-/*?*/ {
-/*?*/ if(mbSecondary)
-/*?*/ aPos.Y() -= maMaxTextSize.Height();
-/*?*/ else
-/*?*/ aPos.Y() += maMaxTextSize.Height();
-/*?*/ }
-/*?*/ mbValueDown = !mbValueDown;
-/*N*/ }
-/*N*/ eAdj = mbSecondary ? CHADJUST_BOTTOM_CENTER : CHADJUST_TOP_CENTER;
-/*N*/ pText=mpModel->CreateTextObj(CHOBJID_TEXT,aPos,rString,*mpTextAttr,FALSE,eAdj,mnMaxTextWidth);
-/*N*/ }
-/*N*/
-/*N*/ if( pOldTextColor )
-/*N*/ {
-/*?*/ mpTextAttr->Put(*pOldTextColor);
-/*N*/ }
-/*N*/
-/*N*/ CreateMarkDescr(pText,nPosition);
-/*N*/ }
-/*N*/ void ChartAxis::CreateMarkDescr(SdrRectObj *pTextObj,long nPosition)
-/*N*/ {
-/*N*/ if(pTextObj && mpAxisList )
-/*N*/ {
-/*N*/ Rectangle aTextBoundRect(pTextObj->GetBoundRect());
-/*N*/ Rectangle aIntersect1(maRectA);
-/*N*/ Rectangle aIntersect2(maRectB);
-/*N*/
-/*N*/ if(!mbTextOverlap && ! (aIntersect1.Intersection(aTextBoundRect).IsEmpty() &&
-/*N*/ aIntersect2.Intersection(aTextBoundRect).IsEmpty()) )
-/*N*/ {
-/*?*/ delete pTextObj;
-/*?*/ pTextObj=NULL;
-/*N*/ }
-/*N*/
-/*N*/ if (pTextObj)
-/*N*/ {
-/*N*/ SdrObject *pObj=CreateMarks(nPosition,mnTickLen,mnTicks);
-/*N*/ SdrObjList* pList = mpAxisList;
-/*N*/ if(pObj)
-/*N*/ {
-/*N*/ pObj->SetMarkProtect( TRUE );
-/*N*/ pList->NbcInsertObject(pObj);
-/*N*/ }
-/*N*/
-/*N*/ pTextObj->SetMarkProtect( TRUE );
-/*N*/ pList->NbcInsertObject(pTextObj);
-/*N*/ maRectA = maRectB;
-/*N*/ maRectB = aTextBoundRect;
-/*N*/ return; //fertig -> Abbruch (die Marks muessen zuerst, dann die Texte)
-/*N*/ }
-/*N*/ }
-/*N*/ //kein Textobjekt oder der Text würde überlappen
-/*?*/ SdrObject *pObj=CreateMarks(nPosition,mnTickLen,mnTicks);
-/*?*/ if(pObj && mpAxisList)
-/*?*/ mpAxisList->NbcInsertObject(pObj);
-/*N*/ }
-/*N*/ void ChartAxis::InsertMark(long nPos,long nLen,long nWhichTicks)
-/*N*/ {
-/*N*/ SdrObject *pObj=CreateMarks(nPos,nLen,nWhichTicks);
-/*N*/ if(pObj && mpAxisList)
-/*N*/ mpAxisList->NbcInsertObject(pObj);
-/*N*/ }
-
-
-//Ähnlich zu SubtractDescrSize, jedoch wird der Umbruch sowie Änderungen am Rect bei
-//sehr langen spaltenunterschriften berücksichtigt.
-/*N*/ void ChartAxis::SubtractDescrSize_X(Rectangle& rRect,const Rectangle& rOldRect)
-/*N*/ {
-/*N*/ long nDescrWidth=GetDescrWidth();
-/*N*/ mnMaxTextWidth = (long) (nDescrWidth * 0.8);
-/*N*/
-/*N*/ //Breite des ersten und letzten Textes der Achse, war mal ChartModel::nWidthOfFirst(Last)XAxisText
-/*N*/ //A() = erster, B()=letzter
-/*N*/ Pair aFirstAndLastTextWidth;
-/*N*/
-/*N*/ Size aPageSize(mpModel->GetPage(0)->GetSize());
-/*N*/
-/*N*/ //unschön, SID_TEXTBREAK sollte ein SCHATTR_... werden!
-/*N*/ BOOL bTextBreak=mpModel->GetFormatXAxisTextInMultipleLinesIfNecessary();
-/*N*/ if(!bTextBreak) // Dann wird kein Umbruch erzeugt.
-/*N*/ mnMaxTextWidth = -1;
-/*N*/
-/*N*/ meTextOrient = ((const SvxChartTextOrientItem&)
-/*N*/ mpAxisAttr->Get(SCHATTR_TEXT_ORIENT)).GetValue();
-/*N*/
-/*N*/ BOOL bStepDescr;
-/*N*/
-/*N*/ // FG: Falls die X-Achsenbeschriftung aus Zahlen besteht, wird dies beruecksichtigt.
-/*N*/ UINT32 nNumberFormatXAxisDescr = GetNumFormat();//0;
-/*N*/
-/*N*/ // FG: Jetzt wird der Rand des Charts so eingestellt, dass die Beschriftung der X-Achse
-/*N*/ // garantiert nicht aus dme Chart heraus oder ins Diagramm hineinlaeuft. Hier
-/*N*/ // muessen alle Faelle der Textausrichtung beruecksichtigt werden.
-/*N*/ // Hier wird erstmal die maximale Textgroesse und die Textgroesse der ersten und letzten Spalte
-/*N*/ // berechnet (letzteres wird in CalcMaxDescrSize versteckt durchgezogen)
-/*N*/
-/*N*/
-/*N*/ if (HasDescription())//#47500#
-/*N*/ {
-/*N*/ if (IsVertical())
-/*N*/ {
-/*N*/ // FG: hier wird erstmal die urspruengliche Textgroesse berechnet, sie wird abhaengig
-/*N*/ // vom Ergebnis nachkorrigiert. Die Textbreite ab der umgebrochen wird darf nichts
-/*N*/ // mit der Spaltenbreite zu tun haben falls der Text links neben dem Chart steht
-/*N*/ // und von links nach rechts laeuft.
-/*N*/ maMaxTextSize = mpModel->CalcMaxDescrSize( FALSE, meTextOrient, mbPercent, mnUId, -1, &aFirstAndLastTextWidth );
-/*N*/ // FG: Falls man den Text umbrechen darf, so muss nur noch beachtet werden, in welche
-/*N*/ // Richtung der Text verlaufen soll (senkrecht, waagrecht) und ob die Groesse der
-/*N*/ // Beschriftung das restliche Chart zu klein machen wird. Die groesste Beschriftung
-/*N*/ // darf nicht mehr als 25% der Breite oder Hoehe einnehmen, je nach Ausrichtung des
-/*N*/ // Textes.
-/*N*/ if (bTextBreak)
-/*N*/ {
-/*N*/ if ( (meTextOrient == CHTXTORIENT_BOTTOMTOP)
-/*N*/ || (meTextOrient == CHTXTORIENT_TOPBOTTOM)
-/*N*/ || (meTextOrient == CHTXTORIENT_STACKED))
-/*N*/ {
-/*?*/ if ((aPageSize.Height() / 4) < maMaxTextSize.Width())
-/*?*/ {
-/*?*/ mnMaxTextWidth = aPageSize.Height() / 4;
-/*?*/ maMaxTextSize = mpModel->CalcMaxDescrSize( FALSE, meTextOrient, nNumberFormatXAxisDescr,
-/*?*/ mnUId, mnMaxTextWidth,
-/*?*/ &aFirstAndLastTextWidth );
-/*?*/ }
-/*?*/ // FG: sonst kann die erste Berechnung beibehalten werden.
-/*?*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if ((aPageSize.Width() / 4) < maMaxTextSize.Width()) // waagrechte Ausrichtung
-/*N*/ {
-/*N*/ // FG. Dann ist also der Platz fuer die Beschriftung groesser als 1/4 des Charts
-/*N*/ mnMaxTextWidth = aPageSize.Width() / 4;
-/*N*/ }
-/*?*/ maMaxTextSize = mpModel->CalcMaxDescrSize( FALSE, meTextOrient, nNumberFormatXAxisDescr,
-/*N*/ mnUId, mnMaxTextWidth,
-/*N*/ &aFirstAndLastTextWidth );
-/*N*/ }
-/*N*/ }
-/*N*/ else // FG: Falls der Umbruch nicht erlaubt ist, der Text aber breiter als 1/3 des Charts wird,
-/*N*/ { // wird trotzdem umgebrochen. Dann muss dei maximale Hoehe und Breite der groessten
-/*N*/ // uns insbesondere der 1. und letzten Beschriftung neu berechnet werden.
-/*N*/ // Das laesst sich sicher besser machen als nochmal ueber die gesamte Liste von Texten
-/*N*/ // zu iterieren.
-/*?*/ if ( ( (meTextOrient == CHTXTORIENT_BOTTOMTOP)
-/*?*/ || (meTextOrient == CHTXTORIENT_TOPBOTTOM)
-/*?*/ || (meTextOrient == CHTXTORIENT_STACKED) )
-/*?*/ && ((aPageSize.Height() / 3) < maMaxTextSize.Width()))
-/*?*/ {
-/*?*/ // FG. Dann ist also der Platz fuer die Beschriftung groesser als 1/4 des Charts
-/*?*/ mnMaxTextWidth = aPageSize.Height() / 3;
-/*?*/ maMaxTextSize = mpModel->CalcMaxDescrSize( FALSE, meTextOrient, nNumberFormatXAxisDescr,
-/*?*/ mnUId, mnMaxTextWidth,
-/*?*/ &aFirstAndLastTextWidth );
-/*?*/ }
-/*?*/ }
-/*N*/ }
-/*N*/ else // FG: Der Text steht also unter dem Chart.
-/*N*/ {
-/*N*/ // FG: Fuer den Fall dass die Beschriftung nicht unter jeden Datenpunkt gesetzt
-/*N*/ // wird, weil zu viele Daten vorhanden sind, eignet sich eine vertikale
-/*N*/ // Textausrichtung besser (im Falle dass die Ausrichtung automatisch
-/*N*/ // erfolgen soll.
-/*N*/ maMaxTextSize = mpModel->CalcMaxDescrSize( FALSE, meTextOrient, nNumberFormatXAxisDescr,
-/*N*/ mnUId, mnMaxTextWidth,
-/*N*/ &aFirstAndLastTextWidth );
-/*N*/
-/*N*/ if ( (meTextOrient == CHTXTORIENT_BOTTOMTOP)
-/*N*/ || (meTextOrient == CHTXTORIENT_TOPBOTTOM)
-/*N*/ || (meTextOrient == CHTXTORIENT_STACKED))
-/*N*/ {
-/*?*/ if ((aPageSize.Width() / 2) < maMaxTextSize.Height())
-/*?*/ {
-/*?*/ mnMaxTextWidth = aPageSize.Height() / 2;
-/*?*/ maMaxTextSize = mpModel->CalcMaxDescrSize( FALSE, meTextOrient, nNumberFormatXAxisDescr,
-/*?*/ mnUId, mnMaxTextWidth,
-/*?*/ &aFirstAndLastTextWidth );
-/*?*/ }
-/*?*/ if ( ( (aPageSize.Width() / 4) < maMaxTextSize.Height()) &&
-/*?*/ (bTextBreak))
-/*?*/ {
-/*?*/ mnMaxTextWidth = aPageSize.Height() / 4;
-/*?*/ maMaxTextSize = mpModel->CalcMaxDescrSize( FALSE, meTextOrient, nNumberFormatXAxisDescr,
-/*?*/ mnUId, mnMaxTextWidth,
-/*?*/ &aFirstAndLastTextWidth);
-/*?*/ }
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ SvxChartTextOrder eDescrOrder;
-/*N*/
-/*N*/ // FG: Einfachere Abfrage ob die Ausrichtung vom Programm vorgegeben wird oder vom Benutzer
-/*N*/ // #65364# (BM) text order is now independent from text orientation
-/* if (meTextOrient != CHTXTORIENT_AUTOMATIC)
- {
-*/
-/*N*/ eDescrOrder = ((const SvxChartTextOrderItem&)
-/*N*/ mpAxisAttr->Get(SCHATTR_TEXT_ORDER)).GetValue();
-/* }
- else
- {
- eDescrOrder = CHTXTORDER_SIDEBYSIDE;
- }
-*/
- // FG: Hier wird nur abgefragt, ob die Beschriftung der X-Achse (der Datenachse)
- // so erfolgen soll, dass Text abwechselnd hoch-tief gesetzt werden, oder nicht.
-/*N*/ long nMaxWidth = IsVertical() ? maMaxTextSize.Height() : maMaxTextSize.Width();
-/*N*/ BOOL bHelp = (nMaxWidth > nDescrWidth * 8.1 / 10);
-/*N*/ bStepDescr = ( bHelp &&
-/*N*/ (eDescrOrder == CHTXTORDER_AUTO) &&
-/*N*/ (meTextOrient == CHTXTORIENT_STANDARD)) ||
-/*N*/ (eDescrOrder == CHTXTORDER_UPDOWN) ||
-/*N*/ (eDescrOrder == CHTXTORDER_DOWNUP);
-
- // FG: Hier wird aufgrund der Beschriftung der obere und der untere Rand nachgeregelt.
- // und zwar nur hier.
-
-//BEGIN_RECT_CHANGES
-
-/*N*/ if (IsVertical())
-/*N*/ {
-/*N*/ if (! bTextBreak)
-/*N*/ {
-/*N*/ if ( (meTextOrient == CHTXTORIENT_BOTTOMTOP)
-/*N*/ || (meTextOrient == CHTXTORIENT_TOPBOTTOM)
-/*N*/ || (meTextOrient == CHTXTORIENT_STACKED))
-/*N*/ {
-/*N*/ // FG: In diesem Fall muss man nachregeln, der Text wird ohne Umruch formatiert
-/*?*/ if ((rRect.Bottom() - rOldRect.Bottom()) < (aFirstAndLastTextWidth.B() / 2))
-/*?*/ {
-/*?*/ rRect.Bottom() -= aFirstAndLastTextWidth.B() / 2;
-/*?*/ }
-/*?*/ if ((rRect.Top() - rOldRect.Top()) < (aFirstAndLastTextWidth.A() / 2))
-/*?*/ {
-/*?*/ rRect.Top() -= aFirstAndLastTextWidth.A() / 2;
-/*?*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // FG: Der Text steht unter dem Chart, egal ob er von links nach rechts oder von oben nach
-/*N*/ // unten verlaeuft aMaxDescrSize muss vorher richtig berechnet worden sein.
-/*N*/ if(mbSecondary)
-/*?*/ rRect.Top() += maMaxTextSize.Height() + mnTickLen + 100;
-/*?*/ else
-/*N*/ rRect.Bottom() -= maMaxTextSize.Height() + mnTickLen + 100;
-/*N*/ }
-/*N*/
-/*N*/ if (bStepDescr) // FG: Dann erfolgt die Beschriftung hoch- und tief abwechselnd (wie in der Dialogbox)
-/*N*/ {
-/*N*/ // dann hat man mehr Platz pro Zeile (eigentlich 2 mal soviel) aber der Platz zwischen den
-/*N*/ // Beschriftungen steht auch noch zur Verfuegung (jeweils 0,2 * nDescrWidth)
-// mnMaxTextWidth = 2 * mnMaxTextWidth + 0,4 * nDescrWidth;
-/*?*/ //cmc: I thought I'd leave ^^^ in for posterity, behold the , vs . :-)
-/*?*/ mnMaxTextWidth = 2 * mnMaxTextWidth + 0;
-/*?*/ // Man braucht auch 2 mal soviel Platz in unten am Chart.
-/*?*/ if(mbSecondary)
-/*?*/ rRect.Top() += maMaxTextSize.Height() + mnTickLen;
-/*?*/ else
-/*?*/ rRect.Bottom() -= maMaxTextSize.Height() + mnTickLen;
-/*N*/ }
-/*N*/ }
-/*N*/ // FG (14.2.97): Hier wird der linke Rand nachgeregelt, und zwar je nach Diagrammtyp unterschiedlich.
-/*N*/ if (mpModel->IsDescriptionCenteredUnderDataPoint())
-/*N*/ {
-/*N*/ // Nun jetzt weiss ich dass die Beschriftung zentriert unter einem Datenpunkt steht.
-/*N*/ // jetzt muss der linke Rand nachgeregelt werden: Genau die Haelfte des
-/*N*/ // Spaltentextes mit Nummer 0 muss nach links noch Platz sein.
-/*N*/ if (IsVertical())
-/*N*/ {
-/*N*/ if ((rRect.Left() - rOldRect.Left()) < maMaxTextSize.Width())
-/*N*/ {
-/*N*/ rRect.Left() += maMaxTextSize.Width();
-/*N*/ }
-/*N*/ // FG: Ein Nachregeln des rechten Randes ist nicht noetig, da die Beschriftung
-/*N*/ // nie rechts neben dem Chart stehen kann.
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if(! ( (meTextOrient == CHTXTORIENT_BOTTOMTOP)
-/*N*/ || (meTextOrient == CHTXTORIENT_TOPBOTTOM)
-/*N*/ || (meTextOrient == CHTXTORIENT_STACKED)) )
-/*N*/ {
-/*N*/ if ((rRect.Left() - rOldRect.Left()) < (aFirstAndLastTextWidth.A() / 2))
-/*N*/ {
-/*N*/ rRect.Left() += aFirstAndLastTextWidth.A() / 2;
-/*N*/ }
-/*N*/ if (mpModel->InitialSize().Width() - rRect.Right() < (aFirstAndLastTextWidth.B() / 2))
-/*N*/ {
-/*N*/ rRect.Right() -= aFirstAndLastTextWidth.B() / 2;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // FG: Im anderen Fall wird gerade so umgebrochen, dass kein zusaetzlicher Rand gelassen werden muss.
-/*N*/ // Es sei denn im Dialog wurde eingestellt, dass man keinen Umbruch wollte.
-/*N*/ if (!bTextBreak)
-/*N*/ {
-/*?*/ if ((rRect.Left() - rOldRect.Left()) < (aFirstAndLastTextWidth.A() / 2))
-/*?*/ {
-/*?*/ rRect.Left() += aFirstAndLastTextWidth.A() / 2;
-/*?*/ }
-/*?*/ if (mpModel->InitialSize().Width() - rRect.Right() < (aFirstAndLastTextWidth.B() / 2))
-/*?*/ {
-/*?*/ rRect.Right() -= aFirstAndLastTextWidth.B() / 2;
-/*?*/ }
-/*N*/ }
-/*N*/ }
-//END RECT_CHANGES ********************************************************************
-/*N*/ }
-
-
-
-
-/*N*/ void ChartAxis::SubtractDescrSize(Rectangle& rRect)
-/*N*/ {
-/*N*/ if(!mbShowDescr)
-/*N*/ return;
-
-/*N*/ long nLong = (mnTicks&CHAXIS_MARK_OUTER) ? 150 : (mnHelpTicks&CHAXIS_MARK_OUTER) ? 100 : 0;
-
-/*N*/ if(mbSecondary)
-/*N*/ {
-/*?*/ if(!IsVertical())
-/*?*/ {
-/*?*/ rRect.Top() += mbStepValue
-/*?*/ ? maMaxTextSize.Height() * 2
-/*?*/ : maMaxTextSize.Height();
-/*?*/ rRect.Top() += nLong;
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ rRect.Right() -= mbStepValue
-/*?*/ ? maMaxTextSize.Width() * 2
-/*?*/ : maMaxTextSize.Width();
-/*?*/ rRect.Right() -= nLong;
-/*?*/ }
-/*?*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if(!IsVertical())
-/*N*/ {
-/*N*/ rRect.Bottom() -= mbStepValue
-/*N*/ ? maMaxTextSize.Height() * 2
-/*N*/ : maMaxTextSize.Height();
-/*N*/ rRect.Bottom() -= nLong;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ rRect.Left() += mbStepValue
-/*N*/ ? maMaxTextSize.Width() * 2
-/*N*/ : maMaxTextSize.Width();
-/*N*/ rRect.Left() += nLong;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-//Bisher nur Y-Achse:
-/*N*/ void ChartAxis::InitDescr()
-/*N*/ {
-/*N*/ InitDescr(meTextOrient,mnMaxTextWidth);
-/*N*/ }
-/*N*/ void ChartAxis::InitDescr(SvxChartTextOrient &rValueOrient,long nMaxTextWidth)
-/*N*/ {
-/*N*/ mnMaxTextWidth=nMaxTextWidth;//-1;
-/*N*/
-/*N*/ BOOL bAutoValue = (rValueOrient == CHTXTORIENT_AUTOMATIC);
-/*N*/
-/*N*/ if(!mbShowDescr)
-/*N*/ return;
-/*N*/
-/*N*/ if (bAutoValue)
-/*N*/ rValueOrient = CHTXTORIENT_STANDARD;
-
- // #65364# (BM) text order is now independent from text orientation
-/*N*/ SvxChartTextOrder eValueOrder = /*( bAutoValue
- ||( mbFlippedXY && (rValueOrient != CHTXTORIENT_STANDARD))
- ||(!mbFlippedXY && (rValueOrient == CHTXTORIENT_STANDARD)))
- ? CHTXTORDER_SIDEBYSIDE
- :*/
-/*N*/ ((const SvxChartTextOrderItem&)mpAxisAttr->Get(SCHATTR_TEXT_ORDER)).GetValue();
-/*N*/
-/*N*/ mbStepValue = (eValueOrder != CHTXTORDER_SIDEBYSIDE);
-/*N*/ mbValueDown = (eValueOrder == CHTXTORDER_DOWNUP);
-/*N*/
-/*N*/ meTextOrient = rValueOrient;
-/*N*/
-/*N*/ CreateTextAttr();
-/*N*/ }
-/*N*/ void ChartAxis::InitDescr_X()
-/*N*/ {
-/*N*/ if(!mbShowDescr)
-/*N*/ return;
-/*N*/
-/*N*/ SvxChartTextOrder eValueOrder;
-
- // FG: Einfachere Abfrage ob die Ausrichtung vom Programm vorgegeben wird oder vom Benutzer
- // #65364# (BM) text order is now independent from text orientation
-/* if (meTextOrient != CHTXTORIENT_AUTOMATIC)
- {
-*/
-/*N*/ eValueOrder = ((const SvxChartTextOrderItem&)
-/*N*/ mpAxisAttr->Get(SCHATTR_TEXT_ORDER)).GetValue();
-/* }
- else
- {
- eValueOrder = CHTXTORDER_SIDEBYSIDE;
- }
-*/
- // FG: Hier wird nur abgefragt, ob die Beschriftung der X-Achse (der Datenachse)
- // so erfolgen soll, dass Text abwechselnd hoch-tief gesetzt werden, oder nicht.
-/*N*/ long nMaxWidth = IsVertical() ? maMaxTextSize.Height() : maMaxTextSize.Width();
-/*N*/ BOOL bHelp= (nMaxWidth > GetDescrWidth() * 8.1 / 10);
-/*N*/ mbStepValue = (bHelp &&
-/*N*/ (eValueOrder == CHTXTORDER_AUTO) &&
-/*N*/ (meTextOrient == CHTXTORIENT_STANDARD)) ||
-/*N*/ (eValueOrder == CHTXTORDER_UPDOWN) ||
-/*N*/ (eValueOrder == CHTXTORDER_DOWNUP);
-/*N*/
-/*N*/
-/*N*/ mbValueDown = (eValueOrder == CHTXTORDER_DOWNUP);
-// meTextOrient = rValueOrient;
-
-/*N*/ CreateTextAttr();
-/*N*/ }
-
-
-
-
-/*N*/ void ChartAxis::CreateTextAttr()
-/*N*/ {
-/*N*/ if(!mpTextAttr)
-/*N*/ mpTextAttr=new SfxItemSet((const SfxItemSet &)*mpAxisAttr);
-/*N*/ else
-/*N*/ mpTextAttr->Put(*mpAxisAttr); //Update
-/*N*/
-/*N*/ mpTextAttr->Put(SvxChartTextOrientItem(meTextOrient));
-/*N*/ mpTextAttr->Put(XLineStyleItem(XLINE_NONE));
-/*N*/ mpTextAttr->Put(XLineWidthItem(0));
-/*N*/ }
-
-/*N*/ void ChartAxis::CreateAxis(SdrObjList& rList,long nChObjId)
-/*N*/ {
-/*N*/ if(IsVisible() || HasDescription())
-/*N*/ {
-/*N*/ mpAxisObj = new SchAxisObj( mpModel );
-/*N*/ SetObjectAttr( mpAxisObj, USHORT(nChObjId), TRUE, TRUE, 0 );
-/*N*/ SetAxisList( mpAxisObj->GetSubList() );
-/*N*/
-/*N*/ rList.NbcInsertObject( mpAxisObj, CONTAINER_APPEND );
-/*N*/
-/*N*/ if( IsVisible())
-/*N*/ CreateAxis();
-/*N*/ }
-/*N*/ }
-
-/*N*/ void ChartAxis::CreateAxis(const long nPos,BOOL bBorderAxis,BOOL bInnerAxis)
-/*N*/ {
-/*N*/ //Position der X-Achse.... aber nicht der Ticks
-/*N*/ //(nicht ganz verständlich bei XY-Diagrammen)
-/*N*/ //was ist mit bShow?Descr ?
-/*N*/ mnInnerPos=nPos;
-/*N*/
-/*N*/ long nPos1 = 0;
-/*N*/ if(bBorderAxis)
-/*N*/ nPos1=CreateAxis();
-/*N*/ else
-/*N*/ {
-/*N*/ mbInnerPos=TRUE; //ungenutzt.... evtl. wegen SetArea(){...SetPosition()...}
-/*N*/ SetPosition(nPos);
-/*N*/ }
-/*N*/ mnInnerPos=nPos;
-/*N*/
-/*N*/ if(bInnerAxis &&(!bBorderAxis || nPos1!=nPos)) //nur eine Achse oder 2 Achsen an versch. Positionen
-/*N*/ {
-/*N*/
-/*N*/ XPolygon aLine(2);
-/*N*/ if (IsVertical())
-/*N*/ {
-/*N*/ aLine[0].X() = aLine[1].X() = nPos;
-/*N*/ aLine[0].Y() = maRefArea.Bottom();
-/*N*/ aLine[1].Y() = maRefArea.Top();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aLine[0].Y() = aLine[1].Y() = nPos;
-/*N*/ aLine[0].X() = maRefArea.Left();
-/*N*/ aLine[1].X() = maRefArea.Right();
-/*N*/ }
-/*N*/ if (mpAxisList)
-/*N*/ mpAxisList->NbcInsertObject(SetObjectAttr (new SdrPathObj(OBJ_PLIN, aLine),
-/*N*/ CHOBJID_LINE, TRUE, TRUE,mpAxisAttr));
-/*N*/ }
-/* alter Original-Source, siehe ###hier###
- if (bSwitchColRow)
- {
- VERTICAL_LINE;
- if ((nPos != rRect.Left()) && (bShowYDescr ))
- {
- aLine[0].X() = aLine[1].X() = rRect.Left ();
-
- rObjList.InsertObject(SetObjectAttr(new SdrPathObj(OBJ_PLIN, aLine),
- CHOBJID_DIAGRAM_X_AXIS,TRUE, TRUE, pXGridMainAttr));
- }
- aLine[0].X() = aLine[1].X() = nPos;
- }
- else //!bSwitchColRow
- {
- HORIZONTAL_LINE;
- if ((nPos != rRect.Bottom()) && (bShowXDescr))
- {
- if(pChartYAxis->GetMin() < 0.0)
- {
- //###hier### ist jetzt anders!
-
- aLine[0].Y()=aLine[1].Y()= (pChartYAxis->GetMax()>0.0)
- ? rRect.Bottom ()
- : rRect.Top ();
-
- }
- else
- aLine[0].Y()=aLine[1].Y()= rRect.Bottom ();
-
- HORIZONTAL_LINE;
- rObjList.InsertObject(SetObjectAttr (new SdrPathObj(OBJ_PLIN, aLine),
- CHOBJID_DIAGRAM_X_AXIS,TRUE, TRUE, pXGridMainAttr));
- }
- aLine[0].Y() = aLine[1].Y() = nPos;
- }
-*/
-/*N*/ }
-
-/*N*/ long ChartAxis::CreateAxis()
-/*N*/ {
-/*N*/ XPolygon aLine(2);
-/*N*/ long nPos;
-/*N*/
-/*N*/ if (IsVertical())
-/*N*/ {
-/*N*/ if(mbSecondary)
-/*N*/ {
-/*?*/ aLine[0].X() = aLine[1].X() = maRefArea.Right();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aLine[0].X() = aLine[1].X() = maRefArea.Left();
-/*N*/ }
-/*N*/ aLine[0].Y() = maRefArea.Bottom();
-/*N*/ aLine[1].Y() = maRefArea.Top();
-/*N*/ nPos=aLine[0].X();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if(mbSecondary)
-/*N*/ {
-/*?*/ aLine[0].Y() = aLine[1].Y() = maRefArea.Top();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aLine[0].Y() = aLine[1].Y() = maRefArea.Bottom();
-/*N*/ }
-/*N*/ aLine[0].X() = maRefArea.Left();
-/*N*/ aLine[1].X() = maRefArea.Right();
-/*N*/ nPos=aLine[0].Y();
-/*N*/ }
-/*N*/
-/*N*/ if (mpAxisList && IsVisible())
-/*N*/ mpAxisList->NbcInsertObject(SetObjectAttr (new SdrPathObj(OBJ_PLIN, aLine),
-/*N*/ CHOBJID_LINE, TRUE, TRUE,mpAxisAttr));
-/*N*/
-/*N*/ return nPos;
-/*N*/
-/*N*/ }
-/*N*/ void ChartAxis::SetMainGrid(SdrObjList* pList,SfxItemSet*pAttr)
-/*N*/ {
-/*N*/ mpMainGridList=pList;
-/*N*/ mpMainGridAttr=pAttr;
-/*N*/ switch(mnId)
-/*N*/ {
-/*N*/ case CHART_AXIS_X:
-/*N*/ mnIdMainGrid=CHOBJID_DIAGRAM_Y_GRID_MAIN;
-/*N*/ break;
-/*N*/ case CHART_AXIS_Y:
-/*N*/ mnIdMainGrid=CHOBJID_DIAGRAM_X_GRID_MAIN;
-/*N*/ break;
-/*N*/ case CHART_AXIS_Z:
-/*?*/ mnIdMainGrid=CHOBJID_DIAGRAM_Z_GRID_MAIN;
-/*?*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ void ChartAxis::SetHelpGrid(SdrObjList* pList,SfxItemSet*pAttr)
-/*N*/ {
-/*N*/ mpHelpGridList=pList;
-/*N*/ mpHelpGridAttr=pAttr;
-/*N*/ switch(mnId)
-/*N*/ {
-/*N*/ case CHART_AXIS_X:
-/*N*/ mnIdHelpGrid=CHOBJID_DIAGRAM_Y_GRID_HELP;
-/*N*/ break;
-/*N*/ case CHART_AXIS_Y:
-/*N*/ mnIdHelpGrid=CHOBJID_DIAGRAM_X_GRID_HELP;
-/*N*/ break;
-/*N*/ case CHART_AXIS_Z:
-/*?*/ mnIdHelpGrid=CHOBJID_DIAGRAM_Z_GRID_HELP;
-/*?*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ void ChartAxis::GridLine(XPolygon& aLine,long nPos)
-/*N*/ {
-/*N*/ if(IsVertical())
-/*N*/ {
-/*N*/ aLine[0].Y() = aLine[1].Y() = nPos;
-/*N*/ aLine[0].X() = maRefArea.Left();
-/*N*/ aLine[1].X() = maRefArea.Right();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aLine[0].X() = aLine[1].X() = nPos;
-/*N*/ aLine[0].Y() = maRefArea.Bottom();
-/*N*/ aLine[1].Y() = maRefArea.Top();
-/*N*/ }
-/*N*/ }
-
-/*N*/ void ChartAxis::ShowDescr(BOOL b)
-/*N*/ {
-/*N*/ mbShowDescr=b;
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_SHOWDESCR,b));
-/*N*/ }
-
-/*N*/ void ChartAxis::ShowAxis(BOOL b)
-/*N*/ {
-/*N*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_SHOWAXIS,b));
-/*N*/ }
-
-/*N*/ void ChartAxis::DrawGrids()
-/*N*/ {
-/*N*/ XPolygon aLine(2);
-/*N*/ long nPos;
-/*N*/
-/*N*/ if(!mpMainGridList && !mpHelpGridList && !mpAxisList)
-/*N*/ return ; //nothing to do
-/*N*/
-/*N*/
-/*N*/ // if the x-axis has no numbers as description, the meaning of main and help ticks might
-/*N*/ // be interpreted the other way round
-/*N*/ long nTicksBack =mnTicks;
-/*N*/ long nHelpTicksBack =mnHelpTicks;
-/*N*/ long nTickLenBack =mnTickLen;
-/*N*/ long nHelpTickLenBack =mnHelpTickLen;
-/*N*/
-/*N*/ // ...Back is for storing original values
-/*N*/ double fMinBack = mfMin;
-/*N*/ double fMaxBack = mfMax;
-/*N*/ double fStepBack = mfStep;
-/*N*/ double fStepHelpBack= mfStepHelp;
-/*N*/ BOOL bLogarithmBack = mbLogarithm;
-/*N*/
-/*N*/ if(mbColText) //... da hier modifiziert werden kann, aber die Werte nicht
-/*N*/ { //in den Attrset sollen (also nicht persistent). In wie weit das nötig ist, ist ne andere Frage...
-/*N*/ mfMin=0;
-/*N*/ mfStep=1;
-/*N*/ mbLogarithm = FALSE;
-/*N*/ mfMax=mpModel->GetColCount();
-/*N*/ if(mbCenterText && mfMax>1.0)
-/*N*/ {
-/*?*/ mfMax-=1;
-/*?*/
-/*?*/ //Die Markierungen sind bei Linien und Area-Charts verschoben
-/*?*/ //=> dies entspricht gewissermassem dem Swap von Help und MainTicks
-/*?*/ mnTicks=0;//nHelpTicksBack; //HelpTicks bzw. innen/aussen noch nicht per GUI zugänglich, daher fixe Werte
-/*?*/ mnHelpTicks=CHAXIS_MARK_OUTER;//nTicksBack;
-/*?*/ mnHelpTickLen=nTickLenBack;
-/*?*/ mnTickLen=nHelpTickLenBack;
-/*?*/
-/*?*/ // Now we have to copy with the case of to many tick marks.
-/*?*/ // The problem lies in the fact, that creating to many tick
-/*?*/ // marks results in an overrun of pool item reference counters.
-/*?*/ // Creating them without these items leaves them unchangeable.
-/*?*/ // The best solution is to generalize the data set, i.e.
-/*?*/ // to draw only a part of the tick marks (and draw only a part
-/*?*/ // of the data). The number of tick marks to draw should ideally
-/*?*/ // depend on the real window size measured in pixel. This is (at
-/*?*/ // the moment) not possible because we don't have access to the
-/*?*/ // view and therefore no access to it's output device.
-/*?*/ // Leaving a clean solution for the new chart for now we
-/*?*/ // set a fixed number as the maximal count of tick marks.
-/*?*/ // This solution has one advantage: output to the screen and to
-/*?*/ // the printer has the same number of tick marks.
-/*?*/ const double maximum_number_of_tick_marks = 1000.0;
-/*?*/ mfStep =(mfMax - mfMin) / ::std::min< double > (maximum_number_of_tick_marks, (mfMax - mfMin));
-/*?*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ mnHelpTicks=0; //nicht per Gui möglich, daher fixe Werte
-/*N*/ mnTicks=CHAXIS_MARK_OUTER;
-/*N*/ }
-/*N*/
-/*N*/ mfStepHelp = mfStep / 2;
-/*N*/ }
-/*N*/
-/*N*/ // #69810# prevent infinite loop if step wouldn't change the value of fAct
-/*N*/ BOOL bStepIsOK = mbLogarithm? (fabs(mfStep) > 1.0): (mfStep != 0.0);
-/*N*/
-/*N*/ // DBG_ASSERT( bStepIsOK, "Axis increment is ineffective and would cause loop" );
-/*N*/
-/*N*/ if( mfMax!=mfMin && ( bStepIsOK ) )
-/*N*/ {
-/*N*/ double fAct = mfMin;
-/*N*/ double fActHelp = mfMin;
-/*N*/
-/*N*/ // in the worst case the threshhold is 1/1000th of the height of the
-/*N*/ // diagram this is just done because of minor inaccuracies that may
-/*N*/ // occur, because in the following loop the current value is achieved by
-/*N*/ // repeatedly adding the main step value where small errors might
-/*N*/ // accumulate
-/*N*/ double fThreshold = ::std::min( mfMax, ::std::min( mfStep, mfStepHelp )) / 1000.0;
-/*N*/
-/*N*/ if( ::rtl::math::isInf( mfMax ) || ::rtl::math::isInf( mfMin ))
-/*N*/ {
-/*N*/ OSL_FAIL( "maximum or minumum is infinity" );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // #102339# iterate one major tick further and inhibit creating
-/*N*/ // ticks in case they are above the maximum (+threshold)
-/*N*/ double fUpperLimit = mfMax + fThreshold;
-/*N*/ double fIterationEnd = fUpperLimit + mfStep;
-/*N*/ while( fAct <= fIterationEnd )
-/*N*/ {
-/*N*/ long nMainPos = GetPos(fAct);
-/*N*/
-/*N*/ if( fAct <= fUpperLimit )
-/*N*/ {
-/*N*/ GridLine(aLine,nMainPos);
-/*N*/
-/*N*/ if (mpMainGridList)
-/*N*/ mpMainGridList->NbcInsertObject(SetObjectAttr(new SdrPathObj(OBJ_PLIN,aLine),
-/*N*/ USHORT(mnIdMainGrid),TRUE,TRUE,mpMainGridAttr));
-/*N*/ }
-/*N*/
-/*N*/ if(mpHelpGridList || (mpAxisList && mnHelpTicks) )
-/*N*/ {
-/*?*/ if(mbLogarithm)
-/*?*/ {
-/*?*/ fActHelp = mfStep / mfStepHelp * fAct;
-/*?*/
-/*?*/ double fNext = fAct;
-/*?*/ IncValue(fNext,mfStep,mbLogarithm);
-/*?*/
-/*?*/ while (fActHelp < fNext)
-/*?*/ {
-/*?*/ if(CalcFact(fActHelp) > 1.0)
-/*?*/ break;
-/*?*/
-/*?*/ if( fActHelp <= fUpperLimit )
-/*?*/ {
-/*?*/ GridLine(aLine,nPos=GetPos(fActHelp));
-/*?*/
-/*?*/ if(mpHelpGridList)
-/*?*/ mpHelpGridList->NbcInsertObject(SetObjectAttr(new SdrPathObj(OBJ_PLIN,aLine),
-/*?*/ USHORT(mnIdHelpGrid),TRUE,TRUE,mpHelpGridAttr));
-/*?*/
-/*?*/ InsertMark(nPos,mnHelpTickLen,mnHelpTicks);
-/*?*/ }
-/*?*/
-/*?*/ fActHelp+=mfStep/mfStepHelp*fAct;
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ while(fActHelp <= fAct)
-/*?*/ {
-/*?*/ if(CalcFact(fActHelp) > 1.0)
-/*?*/ break;
-/*?*/
-/*?*/ if( fActHelp <= fUpperLimit )
-/*?*/ {
-/*?*/ GridLine(aLine,nPos=GetPos(fActHelp));
-/*?*/
-/*?*/ if(mpHelpGridList)
-/*?*/ mpHelpGridList->NbcInsertObject(SetObjectAttr(new SdrPathObj(OBJ_PLIN, aLine),
-/*?*/ USHORT(mnIdHelpGrid),TRUE,TRUE,mpHelpGridAttr));
-/*?*/
-/*?*/ InsertMark(nPos,mnHelpTickLen,mnHelpTicks);
-/*?*/ }
-/*?*/
-/*?*/ fActHelp+=mfStepHelp;
-/*?*/ }
-/*?*/ // If the main grid is drawn then skip the coinciding help grid lines.
-/*?*/ if (((fActHelp == fAct) && mpMainGridList) || mbColText)
-/*?*/ fActHelp+=mfStepHelp;
-/*?*/ }
-/*?*/ }
-/*N*/
-/*N*/ if( mpAxisList && fAct < fUpperLimit )
-/*N*/ {
-/*N*/ if(mbShowDescr)
-/*N*/ CreateMarkDescr(fAct,nMainPos);
-/*N*/ else
-/*?*/ InsertMark(nMainPos,mnTickLen,mnTicks);
-/*N*/ }
-/*N*/ IncValue( fAct, mfStep, mbLogarithm );
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // restore original values. Might be obsolete
-/*N*/ mfMin = fMinBack;
-/*N*/ mfMax = fMaxBack;
-/*N*/ mfStep = fStepBack;
-/*N*/ mfStepHelp = fStepHelpBack;
-/*N*/
-/*N*/ mnTicks =nTicksBack;
-/*N*/ mnHelpTicks =nHelpTicksBack;
-/*N*/ mnTickLen =nTickLenBack;
-/*N*/ mnHelpTickLen =nHelpTickLenBack;
-/*N*/ mbLogarithm =bLogarithmBack;
-/*N*/ }
-
-/*?*/ inline double ChartAxis::GetData(long nCol,long nRow)
-/*?*/ {
-/*?*/ double fData=mpModel->GetData(nCol,nRow);
-/*?*/ if(mbPercent)
-/*?*/ fData=Data2Percent(fData,nCol,nRow);
-/*?*/ return fData;
-/*?*/ };
-// Falls es sich um eine gespiegelte Achse handelt, ist es nicht möglich,
-// einmal Logarithmus zu setzen, das andere mal nicht.
-// Die anderen Werte müssen evtl. (bei automatik) angepasst werden.
-// allerdings darf hier geändert werden, um z.B. links 0-10 Volt
-// und rechts 0-1000 mV an der Achse zu setzen. Das die Werte dann trotzdem
-// identisch sind, liegt in diesem Fall dann in der Verantwortung des Users.
-/*N*/ BOOL ChartAxis::AttachIfNoOwnData(const ChartAxis* pAxis)
-/*N*/ {
-/*N*/ if(!mbAlternativIdUsed) //Hat eigene Daten!
-/*N*/ return FALSE;
-
- //es macht keinen Sinn, unsichtbare Achsen zu kopieren:
-/*?*/ if(!pAxis->IsVisible() && !pAxis->HasDescription())
-/*?*/ return FALSE;
-/*?*/
-/*?*/ ReadAutoAttr();
-/*?*/
-/*?*/ mbLogarithm = pAxis->mbLogarithm;
-/*?*/ mpAxisAttr->Put(SfxBoolItem(SCHATTR_AXIS_LOGARITHM,mbLogarithm));
-/*?*/
-/*?*/ if(mbAutoStep)
-/*?*/ mfStep=pAxis->mfStep;
-/*?*/ if(mbAutoStepHelp)
-/*?*/ mfStepHelp=pAxis->mfStepHelp;
-/*?*/ if(mbAutoMin)
-/*?*/ mfMin=pAxis->mfMin;
-/*?*/ if(mbAutoMax)
-/*?*/ mfMax=pAxis->mfMax;
-/*?*/ if(mbAutoOrigin)
-/*?*/ mfOrigin=pAxis->mfOrigin;
-/*?*/
-/*?*/ FillItemSet();
-/*?*/
-/*?*/ return TRUE;
-/*?*/
-/*N*/ }
-/*N*/ double ChartAxis::NumStepsMain()
-/*N*/ {
-/*N*/ if( mbLogarithm )
-/*N*/ {
-/*?*/ DBG_ASSERT( mfStep > 1.0, "ChartAxis: argument of log must be greater than 1" );
-/*?*/ return log( mfMax - mfMin ) / log( mfStep );
-/*N*/ }
-/*N*/
-/*N*/ return (mfMax - mfMin) / mfStep;
-/*N*/ };
-
-/*N*/ long ChartAxis::GetDescrWidth()
-/*N*/ {
-/*N*/ double fAllTextLen = IsVertical() ? (double)maRefArea.GetHeight()
-/*N*/ : (double)maRefArea.GetWidth();
-/*N*/ long nDescrWidth=0;
-/*N*/
-/*N*/ if(!mbColText) //z.B. bei XY-Charts gelangt man hier hin!
-/*N*/ {
-/*N*/ if(mfStep!=0.0)
-/*N*/ {
-/*N*/ double fCnt = NumStepsMain();
-/*N*/ if (mbCenterText)
-/*N*/ fCnt -= 1.0;
-/*N*/
-/*N*/ nDescrWidth = (long) (fAllTextLen / fCnt);
-/*N*/ }
-/*N*/ }
-/*N*/ else //Area, Bar etc.
-/*N*/ {
-/*N*/ long nColCnt=mpModel->GetColCount();
-/*N*/
-/*N*/ if (mbCenterText && nColCnt > 1)
-/*N*/ nColCnt--;
-/*N*/
-/*N*/ nDescrWidth = (long) (fAllTextLen / (double)nColCnt);
-/*N*/ }
-/*N*/ return nDescrWidth;
-/*N*/ }
-
-/*N*/ UINT32 ChartAxis::GetNumFormat( BOOL bPercent )
-/*N*/ {
-/*N*/ return ((const SfxUInt32Item&)mpAxisAttr->Get(bPercent
-/*N*/ ? SCHATTR_AXIS_NUMFMTPERCENT : SCHATTR_AXIS_NUMFMT)).GetValue();
-/*N*/ }
-
-
-
-/*N*/ BOOL ChartAxis::TranslateMergedNumFormat( SvNumberFormatterIndexTable* /*pTransTable*/ )
-/*N*/ {
-/*N*/ ULONG nFmt, nMrgFmt;
-/*N*/ BOOL bRet =FALSE;
-/*N*/
-/*N*/ nFmt = GetNumFormat( mbPercent );
-/*N*/ nMrgFmt = mpNumFormatter->GetMergeFmtIndex( nFmt );
-/*N*/ if( nFmt != nMrgFmt )
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/
-/*N*/ nFmt = GetNumFormat( ! mbPercent );
-/*N*/ nMrgFmt = mpNumFormatter->GetMergeFmtIndex( nFmt );
-/*N*/ if( nFmt != nMrgFmt )
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/
-/*N*/ return bRet;
-/*N*/ }
-
-/*N*/ void ChartAxis::SetAxisList( SdrObjList *pList )
-/*N*/ {
-/*N*/ mpAxisList = pList;
-/*N*/ maRectA = maRectB = Rectangle();
-/*N*/ }
-
-/*N*/ long ChartAxis::GetUniqueIdByObjectId( long nObjectId )
-/*N*/ {
-/*N*/ long nResult = CHAXIS_AXIS_UNKNOWN;
-/*N*/
-/*N*/ switch( nObjectId )
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_X_AXIS:
-/*N*/ nResult = CHAXIS_AXIS_X;
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_Y_AXIS:
-/*N*/ nResult = CHAXIS_AXIS_Y;
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_Z_AXIS:
-/*N*/ nResult = CHAXIS_AXIS_Z;
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_A_AXIS:
-/*N*/ nResult = CHAXIS_AXIS_A;
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_B_AXIS:
-/*N*/ nResult = CHAXIS_AXIS_B;
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ return nResult;
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chdescr.cxx b/binfilter/bf_sch/source/core/sch_chdescr.cxx
deleted file mode 100644
index 1c4310e31..000000000
--- a/binfilter/bf_sch/source/core/sch_chdescr.cxx
+++ /dev/null
@@ -1,139 +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.
- *
- ************************************************************************/
-#include <bf_svtools/eitem.hxx>
-
-#include "chdescr.hxx"
-
-#include "float.h"
-#include "schgroup.hxx"
-#include "chtscene.hxx"
-namespace binfilter {
-
-/*N*/ ChartDataDescription::ChartDataDescription(long nCols, long nRows, SdrObjList *pList,
-/*N*/ ChartModel* pModel, BOOL bEnable) :
-/*N*/ mnRows(nRows),
-/*N*/ mnCols(nCols),
-/*N*/ mpModel(pModel),
-/*N*/ mpDescrLists(NULL),
-/*N*/ mpList(pList),
-/*N*/ mpDescrArray(NULL),
-/*N*/ mbEnable(bEnable),
-/*N*/ mpDescrGroups(NULL)
-/*N*/ {
-/*N*/ }
-
-/*N*/ void ChartDataDescription::Build( BOOL bRowDescr )
-/*N*/ {
-/*N*/ Dirty2D( bRowDescr );
-/*N*/ if(mpList && mpDescrGroups)
-/*N*/ {
-/*?*/ for( long nRow=0; nRow<mnRows; nRow++ )
-/*?*/ {
-/*?*/ if(mpDescrGroups[nRow])
-/*?*/ mpList->NbcInsertObject( mpDescrGroups[nRow] );
-/*?*/ }
-/*?*/ }
-/*N*/ }
-
-/*N*/ void ChartDataDescription::Build3D( ChartScene *pScene, Matrix4D* pMatrix )
-/*N*/ {
-/*N*/ if(pScene && mpDescrGroups)
-/*N*/ {
-/*?*/ for( long nRow=0; nRow<mnRows; nRow++ )
-/*?*/ {
-/*?*/ for( long nCol=0; nCol<mnCols; nCol++ )
-/*?*/ {
-/*?*/ long nIndex = nCol + nRow * mnCols;
-/*?*/ if( mpDescrArray[nIndex].fValue != DBL_MIN )
-/*?*/ {
-/*?*/ mpDescrArray[nIndex].pLabelObj->SetMarkProtect(TRUE);
-/*?*/ E3dLabelObj* pLabel=new E3dLabelObj(mpDescrArray[nIndex].aTextPos3D,
-/*?*/ mpDescrArray[nIndex].pLabelObj);
-/*?*/
-/*?*/ CHART_TRACE3( "Descr::Build3D TextPos = (%ld, %ld, %ld)",
-/*?*/ mpDescrArray[ nIndex ].aTextPos3D.X(),
-/*?*/ mpDescrArray[ nIndex ].aTextPos3D.Y(),
-/*?*/ mpDescrArray[ nIndex ].aTextPos3D.Z() );
-/*?*/
-/*?*/ pLabel->SetMarkProtect(TRUE);
-/*?*/ pScene->Insert3DObj(pLabel);
-/*?*/ if(pMatrix)
-/*?*/ pLabel->NbcSetTransform(*pMatrix);
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*N*/ }
-
-/*N*/ ChartDataDescription::~ChartDataDescription()
-/*N*/ {
-/*N*/ if(mpDescrLists)
-/*?*/ delete[] mpDescrLists;
-/*N*/ if(mpDescrGroups)
-/*?*/ delete[] mpDescrGroups;
-/*N*/ if(mpDescrArray)
-/*?*/ delete[] mpDescrArray;
-/*N*/ }
-
-
-/*N*/ DataDescription* ChartDataDescription::Insert( long /*nCol*/, long /*nRow*/, const SfxItemSet& rAttr, Point /*aPos*/,
-/*N*/ BOOL /*bPercent*/, ChartAdjust /*eAdjust*/, ChartAxis* /*pAxis*/ )
-/*N*/ {
-/*N*/ SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)rAttr.Get(SCHATTR_DATADESCR_DESCR)).GetValue();
-/*N*/
-/*N*/ if(mbEnable && eDescr != CHDESCR_NONE)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/ return NULL;
-/*N*/ }
-
-/*N*/ void ChartDataDescription::Dirty2D( BOOL /*bRowDescr*/ )
-/*N*/ {
-/*N*/
-/*N*/ if(mpDescrLists)
-/*N*/ {
-/*?*/ for( long nRow = 0; nRow < mnRows; nRow ++ )
-/*?*/ {
-/*?*/ if( mpDescrLists[nRow] )
-/*?*/ {
-/*?*/ for( long nCol = 0; nCol < mnCols; nCol++ )
-/*?*/ {
-/*?*/ long nIndex = nCol + nRow * mnCols;
-/*?*/ if (mpDescrArray[nIndex].fValue != DBL_MIN)
-/*?*/ if (mpDescrArray[nIndex].pLabelObj)
-/*?*/ mpDescrLists[nRow]->NbcInsertObject(mpDescrArray[nIndex].pLabelObj);
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*N*/ }
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtm3d2.cxx b/binfilter/bf_sch/source/core/sch_chtm3d2.cxx
deleted file mode 100644
index 83ad5dbf3..000000000
--- a/binfilter/bf_sch/source/core/sch_chtm3d2.cxx
+++ /dev/null
@@ -1,550 +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.
- *
- ************************************************************************/
-
-#include "chtscene.hxx"
-#include "datapoin.hxx"
-
-#include <bf_svx/svxids.hrc>
-
-#include "schattr.hxx"
-#include "objid.hxx"
-
-#include "axisobj.hxx"
-
-namespace binfilter {
-
-#define SCH_MIN(a, b) (((a) < (b))? (a): (b))
-
-/*N*/ long ChartModel::GetChartShapeType()
-/*N*/ {
-/*N*/ long nShape =CHART_SHAPE3D_IGNORE; // BM: ANY instead of IGNORE
-/*N*/ long nOldShape=CHART_SHAPE3D_IGNORE;
-/*N*/
-/*N*/ if( Is3DChart() &&
-/*N*/ ( GetBaseType() == CHTYPE_BAR ||
-/*N*/ GetBaseType() == CHTYPE_COLUMN ))
-/*N*/ {
-/*N*/ const SfxPoolItem *pPoolItem;
-/*N*/ long nRowCnt=GetRowCount();
-/*N*/ long nColCnt=GetColCount();
-/*N*/ for(long nRow=0;nRow<nRowCnt;nRow++)
-/*N*/ {
-/*N*/ for(long nCol=0;nCol<nColCnt;nCol++)
-/*N*/ {
-/*N*/ const SfxItemSet& rAttr=GetDataPointAttr(nCol,nRow);
-/*N*/ if(rAttr.GetItemState(SCHATTR_STYLE_SHAPE, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ nShape=((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ if(!GetDataPointObj(nCol,nRow))
-/*?*/ {
-/*?*/ nShape=nOldShape;
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ nShape=CHART_SHAPE3D_SQUARE;
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ if( (nShape!=nOldShape) && nOldShape!=CHART_SHAPE3D_IGNORE)
-/*?*/ return CHART_SHAPE3D_ANY;
-/*N*/
-/*N*/ nOldShape=nShape;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return nShape;
-/*N*/ }
-/*************************************************************************
-|* |
-|* 3D-Balken erzeugen; aPos: links, unten, hinten |__
-|* /
-\************************************************************************/
-/*N*/ E3dCompoundObject* ChartModel::Create3DBar(Vector3D aPos,
-/*N*/ Vector3D aSizeVec,
-/*N*/ long nCol,
-/*N*/ long nRow,
-/*N*/ SfxItemSet &rAttr,
-/*N*/ BOOL /*bIsSimple*/,
-/*N*/ double fMinPos,
-/*N*/ double fOriPos,
-/*N*/ double fMaxPos)
-/*N*/ {
-/*N*/ Matrix4D aTransMat;
-/*N*/
-/*N*/ long mode=CHART_SHAPE3D_SQUARE;
-/*N*/ double fHeight=fMaxPos-fMinPos;
-/*N*/ double a,b;
-/*N*/
-/*N*/
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/ if (rAttr.GetItemState(SCHATTR_STYLE_SHAPE, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ mode=((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/ if( (mode==CHART_SHAPE3D_ANY) ||
-/*N*/ (mode==CHART_SHAPE3D_IGNORE) // BM #66527# shouldn't happen but actually does :-(
-/*N*/ )
-/*N*/ mode=CHART_SHAPE3D_SQUARE;
-/*N*/
-/*N*/ CHART_TRACE1( "Create3DBar Mode=%ld", mode );
-/*N*/
-/*N*/ PolyPolygon aPolyPoly;
-/*N*/ Vector3D aDestCenter;
-/*N*/ E3dCompoundObject* pObj;
-/*N*/ E3dDefaultAttributes aDefltAttr3D;
-/*N*/
-/*N*/ long nSegs=32;
-/*N*/
-/*N*/ double fBase =
-/*N*/ ( IsBar()
-/*N*/ ? SCH_MIN( aSizeVec.Y(), aSizeVec.Z())
-/*N*/ : SCH_MIN( aSizeVec.X(), aSizeVec.Z()) )
-/*N*/ / 2.0 - 1.0;
-/*N*/
-/*N*/ aDestCenter = aPos + (aSizeVec / 2);
-/*N*/
-/*N*/ double fTmp = IsBar()
-/*N*/ ? aDestCenter.X()
-/*N*/ : aDestCenter.Y();
-/*N*/ BOOL bNegativ=(fTmp < fOriPos);
-/*N*/
-/*N*/ if(mode!=CHART_SHAPE3D_SQUARE && IsBar())
-/*N*/ {
-/*N*/ a=aPos.X()-fOriPos;
-/*N*/ b=aPos.X()+aSizeVec.X()-fOriPos;
-/*N*/
-/*N*/ double fLclTmp=aSizeVec.X();
-/*N*/ aSizeVec.X()=aSizeVec.Y();
-/*N*/ aSizeVec.Y()=fLclTmp;
-/*N*/ aSizeVec.Z()=-aSizeVec.Z(); //90Grad drehen
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ a=aPos.Y()-fOriPos;
-/*N*/ b=aPos.Y()+aSizeVec.Y()-fOriPos;
-/*N*/ }
-/*N*/
-/*N*/ const double fRelH =(double)( (bNegativ) ? fOriPos-fMaxPos : fMinPos-fOriPos);
-/*N*/
-/*N*/ a=fRelH-a;
-/*N*/ b=fRelH-b;
-/*N*/
-/*N*/ if(bNegativ)
-/*N*/ {
-/*N*/ double tmp=a;
-/*N*/ a=b;
-/*N*/ b=tmp;
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ if(mode==CHART_SHAPE3D_HANOI)
-/*N*/ {
-/*N*/ b=a;
-/*N*/ mode=CHART_SHAPE3D_CONE;
-/*N*/ }
-/*N*/
-/*N*/ // add extra points to extrusion-rectangle, to get a uniformly light-distribution
-/*N*/ // the distance of these offset points is dependent of the setting of "edge-rounding"
-/*N*/ double fRoundedEdge = 0.0;
-/*N*/
-/*N*/ fRoundedEdge = ((double)((const Svx3DPercentDiagonalItem&)
-/*N*/ rAttr.Get(SDRATTR_3DOBJ_PERCENT_DIAGONAL)).GetValue()) / 200.0;
-/*N*/
-/*N*/ // always use extra points, so set percent diagonal to 0.4 which is 0% in the UI
-/*N*/ if( fRoundedEdge == 0.0 )
-/*N*/ fRoundedEdge = 0.4 / 200.0;
-/*N*/
-/*N*/ switch( mode )
-/*N*/ {
-/*N*/ case CHART_SHAPE3D_CYLINDER:
-/*N*/ {
-/*N*/ double fOffset = (fBase * 2.0 * fRoundedEdge) * 1.05; // increase by 5% for safety
-/*N*/ short nPolySize;
-/*N*/
-/*N*/ aPos = Vector3D( 0.0, 0.0, 0.0 );
-/*N*/ if( 2.0 * fOffset < fBase &&
-/*N*/ 2.0 * fOffset < aSizeVec.Y() )
-/*N*/ {
-/*N*/ nPolySize = 8;
-/*N*/ Polygon aPoly( nPolySize );
-/*N*/ aPoly[0] = Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y()));
-/*N*/
-/*N*/ aPoly[1] = Point(static_cast<long>(aPos.X() + fBase - fOffset), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[2] = Point(static_cast<long>(aPos.X() + fBase), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[3] = Point(static_cast<long>(aPos.X() + fBase), static_cast<long>(aPos.Y() + fOffset));
-/*N*/
-/*N*/ aPoly[4] = Point(static_cast<long>(aPos.X() + fBase), static_cast<long>(aPos.Y() + aSizeVec.Y() - fOffset));
-/*N*/ aPoly[5] = Point(static_cast<long>(aPos.X() + fBase), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[6] = Point(static_cast<long>(aPos.X() + fBase - fOffset), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/
-/*N*/ aPoly[7] = Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/
-/*N*/ aPolyPoly.Insert( aPoly );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ nPolySize = 4;
-/*N*/ Polygon aPoly( nPolySize );
-/*N*/
-/*N*/ aPoly[0]=Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[1]=Point(static_cast<long>(aPos.X() + fBase), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[2]=Point(static_cast<long>(aPos.X() + fBase), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[3]=Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/
-/*N*/ aPolyPoly.Insert(aPoly);
-/*N*/ }
-/*N*/
-/*N*/ pObj = new SchE3dLatheObj(aDefltAttr3D, aPolyPoly);
-/*N*/ ((E3dLatheObj*)pObj)->SetItem( Svx3DHorizontalSegmentsItem( nSegs ));
-/*N*/
-/*N*/ SfxItemSet aSegmentAttr(*pItemPool,
-/*N*/ SDRATTR_3D_FIRST, SDRATTR_3D_LAST,
-/*N*/ SCHATTR_STYLE_START, SCHATTR_STYLE_END,
-/*N*/ 0, 0);
-/*N*/
-/*N*/ rAttr.Put( Svx3DHorizontalSegmentsItem( nSegs ));
-/*N*/
-/*N*/ aSegmentAttr.Put(rAttr);
-/*N*/ PutDataPointAttr(nCol, nRow, aSegmentAttr);
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/
-/*N*/ case CHART_SHAPE3D_PYRAMID:
-/*N*/ nSegs = 4;
-/*N*/ aTransMat.RotateY( F_PI / 4.0 ); // rotate edge to front
-/*N*/ // continue with same code as for cone
-/*N*/
-/*N*/ case CHART_SHAPE3D_CONE:
-/*N*/ {
-/*N*/ aPos = Vector3D( 0, 0, 0 );
-/*N*/ double fOffset = (fBase * fRoundedEdge) * 1.05; // increase by 5% for safety
-/*N*/
-/*N*/ BOOL bIsTip = (fRelH == 0.0 || fHeight == 0.0) || // nonstacked chart
-/*N*/ (fBase * b <= fOffset * fRelH); // tip of stacked chart
-/*N*/
-/*N*/ long nPolySize;
-/*N*/ double r1, r2;
-/*N*/ if( bIsTip )
-/*N*/ {
-/*N*/ r1 = 0.0;
-/*N*/ r2 = ( fRelH == 0.0 )? fBase : ( fBase * a ) / fRelH;
-/*N*/ nPolySize = 6;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ r1 = ( fBase * b ) / fRelH;
-/*N*/ r2 = ( fBase * a ) / fRelH;
-/*N*/ nPolySize = 8;
-/*N*/ }
-/*N*/ double fTemp = ((r2-r1) * (r2-r1)) / (aSizeVec.Y() * aSizeVec.Y());
-/*N*/ double fOffsetX = sqrt( fOffset * fOffset / (1.0 + 1.0/fTemp ));
-/*N*/ double fOffsetY = sqrt( fOffset * fOffset / (1.0 + fTemp ));
-/*N*/
-/*N*/ Polygon aPoly( nPolySize );
-/*N*/ short i=0;
-/*N*/
-/*N*/ if( ! bIsTip ) // skip these points for the tip
-/*N*/ {
-/*N*/ aPoly[i++] = Point( static_cast<long>(aPos.X()), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[i++] = Point( static_cast<long>(aPos.X() + r1 - fOffset), static_cast<long>(aPos.Y()));
-/*N*/ }
-/*N*/ aPoly[i++] = Point(static_cast<long>(aPos.X() + r1), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[i++] = Point(static_cast<long>(aPos.X() + r1 + fOffsetX), static_cast<long>(aPos.Y() + fOffsetY));
-/*N*/ aPoly[i++] = Point(static_cast<long>(aPos.X() + r2 - fOffsetX), static_cast<long>(aPos.Y() + aSizeVec.Y() - fOffsetY));
-/*N*/ aPoly[i++] = Point(static_cast<long>(aPos.X() + r2), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[i++] = Point(static_cast<long>(aPos.X() + r2 - fOffset), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[i++] = Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/
-/*N*/ aPolyPoly.Insert( aPoly );
-/*N*/
-/*N*/ pObj = new SchE3dLatheObj( aDefltAttr3D, aPolyPoly );
-/*N*/ ((E3dLatheObj*)pObj)->SetItem( Svx3DHorizontalSegmentsItem( nSegs ));
-/*N*/
-/*N*/ SfxItemSet aSegmentAttr(*pItemPool,
-/*N*/ SDRATTR_3D_FIRST, SDRATTR_3D_LAST,
-/*N*/ SCHATTR_STYLE_START, SCHATTR_STYLE_END,
-/*N*/ 0, 0);
-/*N*/
-/*N*/ rAttr.Put( Svx3DHorizontalSegmentsItem( nSegs ));
-/*N*/
-/*N*/ aSegmentAttr.Put(rAttr);
-/*N*/ PutDataPointAttr(nCol, nRow, aSegmentAttr);
-/*N*/ }
-/*N*/ break;
-/*N*/ default:
-/*N*/ case CHART_SHAPE3D_SQUARE:
-/*N*/ {
-/*N*/ double fOffset = (aSizeVec.Z() * fRoundedEdge) * 1.05; // increase by 5% for safety
-/*N*/
-/*N*/ if( 2.0 * fOffset < aSizeVec.X() &&
-/*N*/ 2.0 * fOffset < aSizeVec.Y() )
-/*N*/ {
-/*N*/ Polygon aPoly( 13 );
-/*N*/ aPoly[ 0] = Point(static_cast<long>(aPos.X() + fOffset), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[ 1] = Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[ 2] = Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y() + fOffset));
-/*N*/
-/*N*/ aPoly[ 3] = Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y() + aSizeVec.Y() - fOffset));
-/*N*/ aPoly[ 4] = Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[ 5] = Point(static_cast<long>(aPos.X() + fOffset), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/
-/*N*/ aPoly[ 6] = Point(static_cast<long>(aPos.X() + aSizeVec.X() - fOffset), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[ 7] = Point(static_cast<long>(aPos.X() + aSizeVec.X()), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[ 8] = Point(static_cast<long>(aPos.X() + aSizeVec.X()), static_cast<long>(aPos.Y() + aSizeVec.Y() - fOffset));
-/*N*/
-/*N*/ aPoly[ 9] = Point(static_cast<long>(aPos.X() + aSizeVec.X()), static_cast<long>(aPos.Y() + fOffset));
-/*N*/ aPoly[10] = Point(static_cast<long>(aPos.X() + aSizeVec.X()), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[11] = Point(static_cast<long>(aPos.X() + aSizeVec.X() - fOffset), static_cast<long>(aPos.Y()));
-/*N*/
-/*N*/ aPoly[12] = aPoly[ 0];
-/*N*/ aPolyPoly.Insert( aPoly );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ Polygon aPoly(5);
-/*N*/ aPoly[0]=Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[1]=Point(static_cast<long>(aPos.X()), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[2]=Point(static_cast<long>(aPos.X() + aSizeVec.X()), static_cast<long>(aPos.Y() + aSizeVec.Y()));
-/*N*/ aPoly[3]=Point(static_cast<long>(aPos.X() + aSizeVec.X()), static_cast<long>(aPos.Y()));
-/*N*/ aPoly[4]=aPoly[0];
-/*N*/
-/*N*/ aPolyPoly.Insert(aPoly);
-/*N*/ }
-/*N*/
-/*N*/ pObj = new SchE3dExtrudeObj(aDefltAttr3D, aPolyPoly, aSizeVec.Z());
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ Vector3D aOldCenter=pObj->GetCenter();
-/*N*/ if(mode!=CHART_SHAPE3D_SQUARE)
-/*N*/ {
-/*N*/ if(IsBar())
-/*N*/ {
-/*N*/ aTransMat.Translate(-aOldCenter);//Zentrum in Nullpunkt setzen
-/*N*/ aTransMat.RotateZ(-3.1415927/2.0);//Saeule umwerfen (90Grad nach rechts)
-/*N*/ if(bNegativ)
-/*N*/ aTransMat.RotateZ(3.1415927);//Spitze nach unten oder links(Kegel, etc.)
-/*N*/ aOldCenter=Vector3D(0,0,0);
-/*N*/ }
-/*N*/ else if(bNegativ)
-/*N*/ {
-/*N*/ aTransMat.Translate(-aOldCenter);//Zentrum in Nullpunkt setzen
-/*N*/ if(bNegativ)
-/*N*/ aTransMat.RotateZ(3.1415927);//Spitze nach unten oder links(Kegel, etc.)
-/*N*/ aOldCenter=Vector3D(0,0,0);
-/*N*/ }
-/*N*/ }
-/*N*/ aTransMat.Translate(aDestCenter - aOldCenter);//An die gewuenschte Position schieben
-/*N*/ pObj->NbcSetTransform(aTransMat);
-/*N*/
-/*N*/ pObj->SetModel (this);
- // #106658# the ChartModel has a different Pool default for the
- // Svx3DPercentDiagonalItem. The Geometry is created while using a global
- // pool (Model is not set). Ensure recreating the geometry with new Model
-/*N*/ pObj->DestroyGeometry();
-/*N*/
-/*N*/ pObj->InsertUserData(new SchObjectId(CHOBJID_DIAGRAM_DATA));
-/*N*/
-/*N*/ // the number vertical segments is always fixed
-/*N*/ rAttr.ClearItem( SDRATTR_3DOBJ_VERT_SEGS );
-/*N*/ pObj->SetItemSet(rAttr);
-/*N*/
-/*N*/ pObj->InsertUserData(new SchDataPoint(nCol, nRow));
-/*N*/
-/*N*/ return pObj;
-/*N*/ }
-/*************************************************************************
-|*
-|* Neues 3D-Object erzeugen
-|*
-\************************************************************************/
-/*N*/ E3dObject* ChartModel::Create3DObject (UINT16 ID)
-/*N*/ {
-/*N*/ E3dObject *pMyObject = new SchE3dObject;
-/*N*/ pMyObject->SetModel (this);
-/*N*/ pMyObject->InsertUserData(new SchObjectId(ID));
-/*N*/ return pMyObject;
-/*N*/ }
-
-/*N*/ E3dScene* ChartModel::Create3DScene (UINT16 ID)
-/*N*/ {
-/*N*/ E3dScene* pMyObject = new ChartScene( this );
-/*N*/ pMyObject->InsertUserData(new SchObjectId(ID));
-/*N*/ return pMyObject;
-/*N*/ }
-
-/*N*/ E3dObject* ChartModel::Create3DAxisObj( UINT16 nId )
-/*N*/ {
-/*N*/ E3dObject *pMyObject = new Sch3dAxisObj;
-/*N*/ pMyObject->SetModel( this );
-/*N*/ pMyObject->InsertUserData( new SchObjectId( nId ) );
-/*N*/ return pMyObject;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* 3D-Polygon erzeugen
-|*
-\************************************************************************/
-/*N*/ void ChartModel::Create3DPolyObject (const SfxItemSet *pAttr,
-/*N*/ E3dPolygonObj *pMyObject,
-/*N*/ UINT16 nID,
-/*N*/ E3dObject *pParent)
-/*N*/ {
-/*N*/ pMyObject->InsertUserData(new SchObjectId(nID));
-/*N*/ pParent->Insert3DObj (pMyObject);
-/*N*/ pMyObject->SetModel (this);
-/*N*/
-/*N*/ pMyObject->SetItemSet(*pAttr);
-/*N*/
-/*N*/ }
-
-
-/*N*/ void ChartModel::Create3DExtrudePolyObj(const SfxItemSet *pAttr,
-/*N*/ E3dExtrudeObj *pMyObject,
-/*N*/ UINT16 nID,
-/*N*/ E3dObject *pParent)
-/*N*/ {
-/*N*/ pMyObject->InsertUserData(new SchObjectId(nID));
-/*N*/ pParent->Insert3DObj (pMyObject);
-/*N*/ pMyObject->SetModel (this);
-/*N*/
-/*N*/ pMyObject->SetItemSet(*pAttr);
-/*N*/
-/*N*/ }
-
-/*************************************************************************
-|*
-|* 3D-Scene erzeugen
-|*
-\************************************************************************/
-
-/*N*/ ChartScene* ChartModel::CreateScene (const Rectangle &rRect,
-/*N*/ const Vector3D &/*aLightVec*/,
-/*N*/ double /*fSpotIntensity*/,
-/*N*/ Color& /*rSpotColor*/,
-/*N*/ double /*fAmbientIntensity*/,
-/*N*/ Color& /*rAmbientColor*/)
-/*N*/ {
-/*N*/ ChartScene *pMyScene = new ChartScene (this);
-/*N*/
-/*N*/ pMyScene->InsertUserData(new SchObjectId(CHOBJID_DIAGRAM));
-/*N*/ pMyScene->NbcSetSnapRect(rRect);
-/*N*/
-/*N*/ return pMyScene;
-/*N*/ }
-
-/*N*/ void SchRectObj::NbcSetOutlinerParaObject(OutlinerParaObject* pTextObject)
-/*N*/ {
-/*N*/ SdrRectObj::NbcSetOutlinerParaObject(pTextObject);
-/*N*/ ChartModel* pLclModel=(ChartModel*)GetModel();
-/*N*/ if(pLclModel)
-/*N*/ pLclModel->SetTextFromObject(this,pTextObject);
-/*N*/ }
-
-//////////////////////////////////////////////////////////////////////////////
-
-/*N*/ void ImpStoreObjcetsAttr(SdrObject *pObj)
-/*N*/ {
-/*N*/ ChartModel* pModel = (ChartModel*)pObj->GetModel();
-/*N*/ if(pModel)
-/*N*/ pModel->StoreObjectsAttributes(pObj, pObj->GetItemSet(), FALSE);
-/*N*/ }
-
-//////////////////////////////////////////////////////////////////////////////
-
-
-
-/*N*/ void SchRectObj::SetItemSet(const SfxItemSet& rSet)
-/*N*/ {
-/*N*/ SdrRectObj::SetItemSet(rSet);
-/*N*/ ImpStoreObjcetsAttr(this);
-/*N*/ }
-
-//////////////////////////////////////////////////////////////////////////////
-
-/*N*/ void SchE3dExtrudeObj::SetItem(const SfxPoolItem& rItem)
-/*N*/ {
-/*N*/ E3dExtrudeObj::SetItem(rItem);
-/*N*/ ImpStoreObjcetsAttr(this);
-/*N*/ }
-
-
-/*N*/ void SchE3dExtrudeObj::SetItemSet(const SfxItemSet& rSet)
-/*N*/ {
-/*N*/ E3dExtrudeObj::SetItemSet(rSet);
-/*N*/ ImpStoreObjcetsAttr(this);
-/*N*/ }
-
-//////////////////////////////////////////////////////////////////////////////
-
-/*N*/ void SchE3dPolygonObj::SetItem(const SfxPoolItem& rItem)
-/*N*/ {
-/*N*/ E3dPolygonObj::SetItem(rItem);
-/*N*/ ImpStoreObjcetsAttr(this);
-/*N*/ }
-
-
-/*N*/ void SchE3dPolygonObj::SetItemSet(const SfxItemSet& rSet)
-/*N*/ {
-/*N*/ E3dPolygonObj::SetItemSet(rSet);
-/*N*/ ImpStoreObjcetsAttr(this);
-/*N*/ }
-
-//////////////////////////////////////////////////////////////////////////////
-
-/*N*/ void SchE3dLatheObj::SetItem(const SfxPoolItem& rItem)
-/*N*/ {
-/*N*/ E3dLatheObj::SetItem(rItem);
-/*N*/ ImpStoreObjcetsAttr(this);
-/*N*/ }
-
-
-/*N*/ void SchE3dLatheObj::SetItemSet(const SfxItemSet& rSet)
-/*N*/ {
-/*N*/ E3dLatheObj::SetItemSet(rSet);
-/*N*/ ImpStoreObjcetsAttr(this);
-/*N*/ }
-
-//////////////////////////////////////////////////////////////////////////////
-
-/*N*/ void SchE3dObject::SetItemSet(const SfxItemSet& rSet)
-/*N*/ {
-/*N*/ E3dObject::SetItemSet(rSet);
-/*N*/ ImpStoreObjcetsAttr(this);
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmod2a.cxx b/binfilter/bf_sch/source/core/sch_chtmod2a.cxx
deleted file mode 100644
index 6a9576b4e..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmod2a.cxx
+++ /dev/null
@@ -1,1407 +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.
- *
- ************************************************************************/
-#include <bf_svx/eeitem.hxx>
-#ifndef _ZFORLIST_HXX //autogen
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#include <bf_svtools/zforlist.hxx>
-#endif
-
-#include <bf_svx/svdocirc.hxx>
-#include <bf_svx/svdopath.hxx>
-
-#include "schattr.hxx"
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#endif
-
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#define ITEMID_FONTWIDTH EE_CHAR_FONTWIDTH
-#include <bf_svx/fwdtitem.hxx>
-#include <bf_svx/fhgtitem.hxx>
-#include <bf_svx/svxids.hrc>
-#ifndef _CHTMODEL_HXX
-#endif
-
-#include "strings.hrc"
-#include "glob.hrc"
-#include <math.h>
-#include <float.h>
-
-#include "pairs.hxx"
-#include "globfunc.hxx"
-
-#include <bf_svx/xlineit.hxx>
-// header for Line
-
-#include "chaxis.hxx"
-#include "chdescr.hxx"
-#include "calculat.hxx"
-
-namespace binfilter {
-
-#define SCH_SIN(a) (sin((double)a * F_PI / 18000.0))
-#define SCH_COS(a) (cos((double)a * F_PI / 18000.0))
-
-/*************************************************************************
-|*
-|* Kreisdiagramm erzeugen
-|*
-\************************************************************************/
-/*N*/ SdrObjGroup* ChartModel::Create2DPieChart(Rectangle aRect)
-/*N*/ {
-/*N*/ SchObjGroup *pGroup;
-/*N*/ SdrObjList *pList;
-/*N*/
-/*N*/ CreateChartGroup (pGroup, pList);
-/*N*/
-/*N*/ // pie charts always have row number 0 for now
-/*N*/ const long nRow = 0;
-/*N*/
-/*N*/ double fTotal = 0.0;
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nSegOfsMax = 0;
-/*N*/
-/*N*/ SchObjGroup* pDescrGroup = NULL;
-/*N*/ SdrObjList *pDescrList = NULL;
-/*N*/ DataDescription* pDescription = NULL;
-/*N*/ long nCol;
-/*N*/ Size aDescrOfs;
-/*N*/
-/*N*/ // Pie charts may not have titles of axes.
-/*N*/ bShowXAxisTitle = FALSE;
-/*N*/ bShowYAxisTitle = FALSE;
-/*N*/ bShowZAxisTitle = FALSE;
-/*N*/
-/*N*/ // determine the space required by the chart. For this chart type
-/*N*/ // the labelling is also taken into the calculation
-/*N*/ pDescrList = 0;
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fData = GetData (nCol, nRow);
-/*N*/ if (fData != DBL_MIN) fTotal += fabs(fData);
-/*N*/ }
-/*N*/
-/*N*/ for( nCol = 0; nCol < nColCnt; nCol++ )
-/*N*/ {
-/*N*/ SfxItemSet aDataPointAttr( GetFullDataPointAttr( nCol, nRow ));
-/*N*/ /*double fData =*/ GetData( nCol, nRow );
-/*N*/
-/*N*/ nSegOfsMax = Max( PieSegOfs( nCol ), nSegOfsMax );
-/*N*/
-/*N*/ SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)aDataPointAttr.
-/*N*/ Get(SCHATTR_DATADESCR_DESCR)).GetValue();
-/*N*/
-/*N*/ if( (eDescr != CHDESCR_NONE) && bShowDataDescr )
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ // shrink rectangle if labels are printed beside the pies
-/*N*/ if (pDescription)
-/*N*/ {
-/*N*/ // shrink by size of description text plus a
-/*?*/ // percentage of the rect size as text offset
-/*?*/ long nShrinkX = aDescrOfs.Width() + (aRect.GetWidth() / 20);
-/*?*/ long nShrinkY = aDescrOfs.Height() + (aRect.GetHeight() / 20);
-/*?*/
-/*?*/ aRect.Left() += nShrinkX;
-/*?*/ aRect.Right() -= nShrinkX;
-/*?*/ aRect.Top() += nShrinkY;
-/*?*/ aRect.Bottom() -= nShrinkY;
-/*N*/ }
-/*N*/
-/*N*/ // make sure the pie rectangle is a square
-/*N*/ // shrink rect
-/*N*/ if (aRect.GetWidth() > aRect.GetHeight())
-/*N*/ {
-/*N*/ aRect.Left() += (aRect.GetWidth() - aRect.GetHeight()) / 2;
-/*N*/ aRect.Right() = aRect.Left() + aRect.GetHeight();
-/*N*/ }
-/*N*/ else if (aRect.GetHeight() > aRect.GetWidth())
-/*N*/ {
-/*?*/ aRect.Top() += (aRect.GetHeight() - aRect.GetWidth()) / 2;
-/*?*/ aRect.Bottom() = aRect.Top() + aRect.GetWidth();
-/*N*/ }
-/*N*/
-/*N*/ long nEndAng = 9000;
-/*N*/ long nSegOfs;
-/*N*/
-/*N*/ Rectangle aDefaultCircRect = aRect;
-/*N*/ Rectangle aCircRect;
-/*N*/
-/*N*/ // shrink default circle rectangle (square) to allow exploded pie segments
-/*N*/ if( nSegOfsMax )
-/*N*/ {
-/*?*/ double fRadius = (double)(aDefaultCircRect.GetWidth()) / 2.0;
-/*?*/ long nRadiusDiff = (long)(fRadius * (1.0 - (1.0 / (1.0 + ((double)nSegOfsMax / 100.0)))));
-/*?*/ aDefaultCircRect.Left() += nRadiusDiff;
-/*?*/ aDefaultCircRect.Right() -= nRadiusDiff;
-/*?*/
-/*?*/ aDefaultCircRect.Top() += nRadiusDiff;
-/*?*/ aDefaultCircRect.Bottom() -= nRadiusDiff;
-/*N*/ }
-/*N*/ nPieRadius = aDefaultCircRect.GetWidth() / 2; // member set to query radius of pie segments
-/*N*/
-/*N*/ // create all pie objects
-/*N*/ for( nCol = 0; nCol < nColCnt; nCol++ )
-/*N*/ {
-/*N*/ long nStartAng = nEndAng;
-/*N*/ SfxItemSet aDataPointAttr( GetFullDataPointAttr( nCol, nRow ));
-/*N*/ long nIndex = nCol + nRow * nColCnt;
-/*N*/ double fData = fabs( GetData( nCol, nRow ));
-/*N*/
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ if( nCol == nColCnt - 1 )
-/*N*/ {
-/*N*/ // ensure that the circle is closed even if we start at 90 degrees
-/*N*/ nEndAng = 9000 + 36000;
-/*N*/ }
-/*N*/ else if( fTotal != 0.0 )
-/*N*/ {
-/*?*/ nEndAng += (long)((fData / fTotal) * 36000);
-/*N*/ }
-/*N*/
-/*N*/ aCircRect = aDefaultCircRect;
-/*N*/
-/*N*/ nSegOfs = PieSegOfs(nCol);
-/*N*/ if( nSegOfs )
-/*N*/ {
-/*?*/ double fSegShift = (double)(nPieRadius * nSegOfs) / 100.0;
-/*?*/
-/*?*/ Point aCircPos = aCircRect.TopLeft();
-/*?*/
-/*?*/ long nAngleDiff;
-/*?*/
-/*?*/ // determine the bisector angle
-/*?*/ if (nStartAng > nEndAng)
-/*?*/ nAngleDiff = (nEndAng + 36000 - nStartAng) / 2;
-/*?*/ else
-/*?*/ nAngleDiff = (nEndAng - nStartAng) / 2;
-/*?*/
-/*?*/ // set the text position according to the position of the pie
-/*?*/ if (nStartAng < 9000)
-/*?*/ {
-/*?*/ long nAngle = nAngleDiff + nStartAng;
-/*?*/
-/*?*/ aCircPos.X() += (long) (SCH_COS( nAngle ) * fSegShift);
-/*?*/ aCircPos.Y() -= (long) (SCH_SIN( nAngle ) * fSegShift);
-/*?*/ }
-/*?*/ else if (nStartAng < 18000)
-/*?*/ {
-/*?*/ long nAngle = nAngleDiff + (nStartAng - 9000);
-/*?*/
-/*?*/ aCircPos.X() -= (long) (SCH_SIN( nAngle ) * fSegShift);
-/*?*/ aCircPos.Y() -= (long) (SCH_COS( nAngle ) * fSegShift);
-/*?*/ }
-/*?*/ else if (nStartAng < 27000)
-/*?*/ {
-/*?*/ long nAngle = nAngleDiff + (nStartAng - 18000);
-/*?*/
-/*?*/ aCircPos.X() -= (long) (SCH_COS( nAngle ) * fSegShift);
-/*?*/ aCircPos.Y() += (long) (SCH_SIN( nAngle ) * fSegShift);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ long nAngle = nAngleDiff + (nStartAng - 27000);
-/*?*/
-/*?*/ aCircPos.X() += (long) (SCH_SIN( nAngle ) * fSegShift);
-/*?*/ aCircPos.Y() += (long) (SCH_COS( nAngle ) * fSegShift);
-/*?*/ }
-/*?*/
-/*?*/ aCircRect.SetPos(aCircPos);
-/*?*/ }
-/*N*/
-/*N*/ // pies and description are not grouped
-/*N*/ if( fData > 0 )
-/*N*/ {
-/*N*/ SdrObject* pObj = CreatePieSegment( aDataPointAttr, aCircRect, nCol, nRow,
-/*N*/ nStartAng, nEndAng, GetColCount() );
-/*N*/ pObj->SetMoveProtect( FALSE ); // bm allow dragging pies
-/*N*/ pList->NbcInsertObject( pObj );
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/ else if( pDescription )
-/*N*/ {
-/*?*/ pDescription[ nIndex ].fValue = DBL_MIN;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(pDescrGroup)
-/*?*/ pList->NbcInsertObject(pDescrGroup);
-/*N*/
-/*N*/ pGroup->GetSubList ()->SetRectsDirty ();
-/*N*/
-/*N*/ // resize of pie charts is allowed proportionally only
-/*N*/ SdrObjTransformInfoRec aLclInfo;
-/*N*/ aLclInfo.bResizeFreeAllowed = FALSE;
-/*N*/ aLclInfo.bResizePropAllowed = TRUE;
-/*N*/ aLclInfo.bRotateFreeAllowed = FALSE;
-/*N*/ aLclInfo.bRotate90Allowed = FALSE;
-/*N*/ aLclInfo.bMirrorFreeAllowed = FALSE;
-/*N*/ aLclInfo.bMirror45Allowed = FALSE;
-/*N*/ aLclInfo.bMirror90Allowed = FALSE;
-/*N*/ aLclInfo.bShearAllowed = FALSE;
-/*N*/ pGroup->SetObjInfo(aLclInfo);
-/*N*/
-/*N*/ Dirty2D (1, nColCnt, &pDescrList, FALSE, pDescription);
-/*N*/
-/*N*/ delete[] pDescription;
-/*N*/
-/*N*/ return pGroup;
-/*N*/ }
-/*************************************************************************
-|*
-|* Donutdiagramm erzeugen
-|*
-\************************************************************************/
-/*N*/ SdrObjGroup* ChartModel::Create2DDonutChart(Rectangle aRect)
-/*N*/ {
-/*N*/ SchObjGroup *pGroup;
-/*N*/ SdrObjList *pList;
-/*N*/
-/*N*/ CreateChartGroup (pGroup, pList);
-/*N*/
-/*N*/ long nCol;
-/*N*/ long nRow;
-/*N*/
-/*N*/ long nColCnt = GetColCount() ;
-/*N*/ long nRowCnt = GetRowCount() ;
-/*N*/
-/*N*/ double *pTotal = new double [nColCnt];
-/*N*/ SdrObjList **pRowLists = new SdrObjList* [nRowCnt];
-/*N*/ SdrObjList **pDescrLists = new SdrObjList* [nRowCnt];
-/*N*/ DataDescription* pDescription = NULL;
-/*N*/ Size aDescrOfs;
-/*N*/
-/*N*/ // Donut charts may not have titles of axes.
-/*N*/ bShowXAxisTitle = FALSE;
-/*N*/ bShowYAxisTitle = FALSE;
-/*N*/ bShowZAxisTitle = FALSE;
-/*N*/
-/*N*/ SchObjGroup** pDescrGroups=new SchObjGroup*[nRowCnt];
-/*N*/ for(nRow=0;nRow<nRowCnt;nRow++)
-/*N*/ pDescrGroups[nRow]=NULL;
-/*N*/
-/*N*/ //Summiere ueber alle Elemente der gleichen Spalte (nicht Reihe!),
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ pTotal [nCol] = 0.0;
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ double fData = GetData (nCol, nRow);
-/*N*/ if (fData != DBL_MIN) pTotal [nCol] += fabs(fData);
-/*N*/ }
-/*N*/ }
-
- // FG: 22.3.97 Als erstes wird der Platzbedarf der Beschriftung berechnet.
- // Bei diesem Chart-Typ ist die Beschriftung mit in die Berechnung der
- // Chartgroesse einbezogen worden.
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ SchObjGroup *pRowGroup = (SchObjGroup*) CreateSimpleGroup (CHOBJID_DIAGRAM_ROWGROUP, TRUE, TRUE);
-/*N*/
-/*N*/ pRowGroup->InsertUserData(new SchDataRow((short)nRow));
-/*N*/ pList->NbcInsertObject(pRowGroup);
-/*N*/ pRowLists[nRow] = pRowGroup->GetSubList();
-/*N*/ pDescrLists[nRow] = 0;
-/*N*/
-/*N*/ // ******************** Data Descriptions erstellen ******************************
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ SfxItemSet aDataPointAttr(GetFullDataPointAttr(nCol, nRow));
-/*N*/ /*double fData =*/ GetData (nCol, nRow);
-/*N*/
-/*N*/ SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)aDataPointAttr.
-/*N*/ Get(SCHATTR_DATADESCR_DESCR)).GetValue();
-/*N*/
-/*N*/ if( (eDescr != CHDESCR_NONE) && bShowDataDescr)
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");
- /**************************************************************
- * DataDescription erforderlich
- **************************************************************/
-/*N*/ }
-/*N*/ } //*************************** END DESCRIPTIONS ***********************************
-/*N*/ }//End for nRow
-
- // Das Rechteck wird dann etwas kleiner, da Text ausgegeben wird
-/*N*/ if (pDescription)
-/*N*/ {
-/*?*/ aRect.Left() += aDescrOfs.Width();
-/*?*/ aRect.Top() += aDescrOfs.Height();
-/*?*/ aRect.Right() -= aDescrOfs.Width();
-/*?*/ aRect.Bottom() -= aDescrOfs.Height();
-/*?*/
-/*?*/ // prozentual verkleinern wir es noch etwas, um einen Offset zum Text zu bekommen
-/*?*/ long nWidth = (aRect.GetWidth () * 1) / 20;
-/*?*/ long nHeight = (aRect.GetHeight () * 1) / 20;
-/*?*/
-/*?*/ aRect.Left () += nWidth;
-/*?*/ aRect.Right () -= nWidth;
-/*?*/ aRect.Top () += nHeight;
-/*?*/ aRect.Bottom () -= nHeight;
-/*N*/ }
-
-/*N*/ SdrPage* pPage=GetPage(0);
-/*N*/ Size aPageSize = pPage->GetSize();
-/*N*/ if (GetDiagramHasBeenMovedOrResized() && (aInitialSize != aPageSize))
-/*N*/ { // in dem Fall hat ein Resize stattgefunden
-/*?*/ if (aInitialSize.Width() > aPageSize.Width())
-/*?*/ {
-/*?*/ if (aRect.GetWidth() > aRect.GetHeight())
-/*?*/ {
-/*?*/ aRect.Left() += (aRect.GetWidth() - aRect.GetHeight()) / 2;
-/*?*/ aRect.Right() = aRect.Left() + aRect.GetHeight();
-/*?*/ }
-/*?*/ else if (aRect.GetHeight() > aRect.GetWidth())
-/*?*/ {
-/*?*/ aRect.Top() += (aRect.GetHeight() - aRect.GetWidth()) / 2;
-/*?*/ aRect.Bottom() = aRect.Top() + aRect.GetWidth();
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ if (aInitialSize.Height() > aPageSize.Height())
-/*?*/ {
-/*?*/ if (aRect.GetWidth() > aRect.GetHeight())
-/*?*/ {
-/*?*/ aRect.Left() += (aRect.GetWidth() - aRect.GetHeight()) / 2;
-/*?*/ aRect.Right() = aRect.Left() + aRect.GetHeight();
-/*?*/ }
-/*?*/ else if (aRect.GetHeight() > aRect.GetWidth())
-/*?*/ {
-/*?*/ aRect.Top() += (aRect.GetHeight() - aRect.GetWidth()) / 2;
-/*?*/ aRect.Bottom() = aRect.Top() + aRect.GetWidth();
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ if (aRect.GetWidth() > aRect.GetHeight())
-/*?*/ {
-/*?*/ aRect.Top() += (aRect.GetHeight() - aRect.GetWidth()) / 2;
-/*?*/ aRect.Bottom() = aRect.Top() + aRect.GetWidth();
-/*?*/ }
-/*?*/ else if (aRect.GetHeight() > aRect.GetWidth())
-/*?*/ {
-/*?*/ aRect.Left() += (aRect.GetWidth() - aRect.GetHeight()) / 2;
-/*?*/ aRect.Right() = aRect.Left() + aRect.GetHeight();
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*N*/ }
-/*N*/ else // ************* nicht gemoved oder resized *****************************
-/*N*/ {
-/*N*/ // FG: Hier wird dafuer gesorgt, dass die Chart-Groesse immer ein Rechteck ist.
-/*N*/ if (aRect.GetWidth() > aRect.GetHeight())
-/*N*/ {
-/*N*/ aRect.Left() += (aRect.GetWidth() - aRect.GetHeight()) / 2;
-/*N*/ aRect.Right() = aRect.Left() + aRect.GetHeight();
-/*N*/ }
-/*N*/ else if (aRect.GetHeight() > aRect.GetWidth())
-/*N*/ {
-/*?*/ aRect.Top() += (aRect.GetHeight() - aRect.GetWidth()) / 2;
-/*?*/ aRect.Bottom() = aRect.Top() + aRect.GetWidth();
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ ULONG nSegWidth = (aRect.Right() - aRect.Left()) / (2 * (nColCnt + 1));
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++) //alle Ringe des Donuts
-/*N*/ {
-/*N*/ long nStartAng, nEndAng = 9000; //90 Grad
-/*N*/
-/*N*/ double fTotal = pTotal[nCol];
-/*N*/
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++) //Alle Datenreihen
-/*N*/ {
-/*N*/ nStartAng = nEndAng;
-/*N*/ SfxItemSet aDataPointAttr(GetFullDataPointAttr(nCol, nRow));
-/*N*/ long nIndex = nCol + nRow * nColCnt;// long nIndex = nRow + nRowCnt * nCol ;
-/*N*/
-/*N*/
-/*N*/ double fData = fabs(GetData(nCol, nRow));
-/*N*/
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ //letzte Datenreihe ?? (eigentlich Unsinn, nur wegen evtl. Rundungsfehler notwendig?
-/*N*/ if (nRow == nRowCnt - 1)
-/*N*/ {
-/*N*/ nEndAng = 9000;
-/*N*/ }
-/*N*/ else if (fTotal != 0.0)
-/*N*/ {
-/*N*/ nEndAng += (long)((fData / fTotal) * 36000);
-/*N*/ }
-/*N*/
-/*N*/ Rectangle aCircRect = aRect;
-/*N*/
-/*N*/ if( fData > 0.0 )
-/*N*/ // Die Segmente einer Reihe werden nicht gruppiert!
-/*N*/ // Diese Ausnahme besteht, da sonst eine Reihe Segmente anderer Reihen
-/*N*/ // verdeckt (Gruppenobjekte koennen nicht ineinnander greifen (Problem
-/*N*/ // des Drawinglayer), vorher: pRowLists[nRow]-> ...
-/*N*/ pList->NbcInsertObject( CreateDonutSegment( aDataPointAttr,
-/*N*/ aCircRect, nSegWidth,
-/*N*/ nCol, nRow,
-/*N*/ nStartAng, nEndAng, nRowCnt));
-/*N*/
-/*N*/ }
-/*N*/ else if (pDescription)
-/*N*/ {
-/*N*/ pDescription [nIndex].fValue = DBL_MIN;
-/*N*/ }
-/*N*/
-/*N*/ }//Alle Datenreihen
-/*N*/
-/*N*/ //Jetzt wird die Flaeche verkleinert, um den naechst-inneren Pie zu zeichnen,
-/*N*/ //Ein Donut ist nichts anderes als ein Tuerme-von-Hanoi artiger Pie-Stapel
-/*N*/ aRect.Left() += nSegWidth;
-/*N*/ aRect.Top() += nSegWidth;
-/*N*/ aRect.Right() -= nSegWidth;
-/*N*/ aRect.Bottom() -= nSegWidth;
-/*N*/ }//Alle Ringe
-/*N*/
-/*N*/ const XFillStyleItem &rFillStyleItem = (const XFillStyleItem &) pDiagramAreaAttr->Get (XATTR_FILLSTYLE);
-/*N*/ SfxItemSet aAreaAttr (*pDiagramAreaAttr);
-/*N*/
-/*N*/ if (rFillStyleItem.GetValue () == XFILL_NONE)
-/*N*/ {
-/*N*/ aAreaAttr.Put(XFillStyleItem(XFILL_SOLID));
-/*N*/ aAreaAttr.Put(XFillColorItem(String(), RGBColor(COL_WHITE)));
-/*N*/ }
-/*N*/
-/*N*/ aAreaAttr.Put(XLineStyleItem(XLINE_SOLID));
-/*N*/ aAreaAttr.Put(XLineWidthItem(0));
-/*N*/ aAreaAttr.Put(XLineColorItem(String(), RGBColor(COL_BLACK)));
-/*N*/
-/*N*/ SdrCircObj* pCirc = new SdrCircObj(OBJ_CIRC, aRect);
-/*N*/ pList->NbcInsertObject(SetObjectAttr( pCirc, CHOBJID_DIAGRAM_AREA, TRUE, TRUE, &aAreaAttr));
-/*N*/
-/*N*/ //Descriptions zuletzt, da sie sonst verdeckt sind!
-/*N*/ for(nRow=0;nRow<nRowCnt;nRow++)
-/*N*/ {
-/*N*/ if(pDescrGroups[nRow])
-/*N*/ {
-/*?*/ pList->NbcInsertObject(pDescrGroups[nRow]);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pGroup->GetSubList()->SetRectsDirty();
-/*N*/
-/*N*/ // Ein Kreisdiagramm soll man nur proportional Resizen koennen (vorerst)
-/*N*/ SdrObjTransformInfoRec aLclInfo;
-/*N*/ aLclInfo.bResizeFreeAllowed = FALSE;
-/*N*/ aLclInfo.bResizePropAllowed = TRUE;
-/*N*/ aLclInfo.bRotateFreeAllowed = FALSE;
-/*N*/ aLclInfo.bRotate90Allowed = FALSE;
-/*N*/ aLclInfo.bMirrorFreeAllowed = FALSE;
-/*N*/ aLclInfo.bMirror45Allowed = FALSE;
-/*N*/ aLclInfo.bMirror90Allowed = FALSE;
-/*N*/ aLclInfo.bShearAllowed = FALSE;
-/*N*/ pGroup->SetObjInfo(aLclInfo);
-/*N*/
-/*N*/ Dirty2D (nRowCnt, nColCnt, pDescrLists, TRUE, pDescription);
-/*N*/
-/*N*/ delete[] pTotal;
-/*N*/ delete[] pDescription;
-/*N*/ delete[] pDescrLists;
-/*N*/ delete[] pRowLists;
-/*N*/ delete[] pDescrGroups;
-/*N*/
-/*N*/
-/*N*/ return pGroup;
-/*N*/ }
-/*************************************************************************
-|*
-|* XY-Diagramm erzeugen
-|*
-\************************************************************************/
-/*N*/ SdrObjGroup* ChartModel::Create2DXYChart(Rectangle aRect)
-/*N*/ {
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/
-/*N*/ long nCol, nRow;
-/*N*/
-/*N*/ // ask for sorting
-/*N*/
-/*N*/ BOOL bRepaint = FALSE;
-
-/*N*/ if( IsXYChart() && ! ISFLAGSET( nChartStatus, CHS_USER_NOQUERY ) ) // in this case ask for sorting
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/
-/*N*/ SchObjGroup *pGroup;
-/*N*/ SdrObjList *pList;
-/*N*/ SdrObject *pObj;
-/*N*/ SdrPathObj *pLineObject = NULL;
-/*N*/
-/*N*/ CreateChartGroup (pGroup, pList);
-/*N*/
-/*N*/ SdrPage* pPage = GetPage(0);
-/*N*/
-/*N*/ Create2DBackplane(aRect, *pList, TRUE,CHSTACK_NONE);
-/*N*/
-/*N*/ SdrObjList ** pRowLists = new SdrObjList*[nRowCnt];
-/*N*/ SdrObjList ** pStatLists = new SdrObjList*[nRowCnt];
-/*N*/ Size aLegendSize (((SvxFontWidthItem &) pLegendAttr->Get (EE_CHAR_FONTWIDTH)).GetWidth (),
-/*N*/ ((SvxFontHeightItem &) pLegendAttr->Get (EE_CHAR_FONTHEIGHT)).GetHeight ());
-/*N*/
-/*N*/
-/*N*/ ChartDataDescription aDescr(nColCnt,nRowCnt,pList,this,bShowDataDescr);
-
- //#54884# Was soll das hier? //Create2DXYChart
-/*N*/ OutputDevice * pRefDev = GetRefDevice();
-/*N*/ if(pRefDev)
-/*N*/ aLegendSize = pRefDev->PixelToLogic (pRefDev->LogicToPixel (aLegendSize));
-/*N*/ else
-/*N*/ OSL_FAIL("ChartModel: no RefDevice");
-/*N*/
-/*N*/ long nLegendHeight = aLegendSize.Height () * 9 / 10;
-/*N*/
-/*N*/ pRowLists [0] =
-/*N*/ pStatLists [0] = 0;
-/*N*/
-/*N*/ XPolygon aPolygon ((unsigned short)nColCnt);
-/*N*/ ::std::vector< ::std::pair< double, double > > aSplinePoints;
-/*N*/ bool bIsSplineChart = ( IsSplineChart() != FALSE );
-/*N*/
-/*N*/ SfxItemSet aLineAttr(*pItemPool, XATTR_LINE_FIRST, XATTR_LINE_LAST, 0);
-/*N*/
-/*N*/ ChartAxis* pAxis=pChartYAxis;
-/*N*/ BOOL bLogarithmY = pAxis->IsLogarithm();
-/*N*/ BOOL bLogarithmX = pChartXAxis->IsLogarithm();
-/*N*/
-/*N*/ // for some reason the ChartRect is one pixel too small
-/*N*/ Rectangle aClipRect( aRect );
-/*N*/ aClipRect.Right() += 1;
-/*N*/ aClipRect.Top() -= 1;
-/*N*/
-/*N*/ // Iterate in reverse order over the data series so that the first one is displayed
-/*N*/ // in the front and the last one in the back.
-/*N*/ for( nRow = nRowCnt-1; nRow >= 1; nRow-- )
-/*N*/ {
-/*N*/ SchObjGroup* pRowGroup = (SchObjGroup*) CreateSimpleGroup (CHOBJID_DIAGRAM_ROWGROUP, TRUE, TRUE);
-/*N*/
-/*N*/ pRowGroup->InsertUserData(new SchDataRow((short)nRow));
-/*N*/ pList->NbcInsertObject(pRowGroup);
-/*N*/ pRowLists[nRow] = pRowGroup->GetSubList();
-/*N*/
-/*N*/ SchObjGroup* pStatGroup = (SchObjGroup*) CreateSimpleGroup (CHOBJID_DIAGRAM_STATISTICS_GROUP, TRUE, TRUE);
-/*N*/
-/*N*/ pStatGroup->InsertUserData(new SchDataRow((short)nRow));
-/*N*/ pList->NbcInsertObject(pStatGroup);
-/*N*/ pStatLists [nRow] = pStatGroup->GetSubList ();
-/*N*/
-/*N*/ const SfxItemSet& rDataRowAttr = GetDataRowAttr(nRow);
-/*N*/
-/*N*/ pAxis=GetAxisByUID(((const SfxInt32Item&)rDataRowAttr.Get(SCHATTR_AXIS)).GetValue());
-/*N*/ bLogarithmY = pAxis->IsLogarithm();
-/*N*/
-/*N*/ long nPoints = 0;
-/*N*/ pLineObject = NULL;
-/*N*/
- if( ((const SfxBoolItem &) rDataRowAttr.Get( SCHATTR_STAT_AVERAGE )).GetValue() )
- {DBG_BF_ASSERT(0, "STRIP"); }
-
-/*N*/ aSplinePoints.clear();
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ SfxItemSet aDataPointAttr(rDataRowAttr);//#63904#
-/*N*/ MergeDataPointAttr(aDataPointAttr,nCol,nRow);
-/*N*/
-/*N*/ Point aPoint;
-/*N*/ double fDataY = GetData(nCol, nRow, FALSE);
-/*N*/ double fDataX = GetData(nCol, 0, FALSE);
-/*N*/
-/*N*/ if (((fDataX != DBL_MIN) && (!bLogarithmX || (bLogarithmX && (fDataX > 0.0)))) &&
-/*N*/ ((fDataY != DBL_MIN) && (!bLogarithmY || (bLogarithmY && (fDataY > 0.0)))))
-/*N*/ {
-/*N*/ long nXPos = pChartXAxis->GetPos(fDataX);
-/*N*/ long nYPos = pAxis->GetPos(fDataY);
-/*N*/
-/*N*/ // expect nPoints to be 0 on first entry of the for loop
-/*N*/ // insert the empty polygon now, so that symbols are painted over the line
-/*N*/ if( nPoints == 0 &&
-/*N*/ IsLine( nRow ))
-/*N*/ {
-/*N*/ XPolyPolygon aSeriesPoly;
-/*N*/ pLineObject = new SdrPathObj( OBJ_PLIN, aSeriesPoly );
-/*N*/ pRowLists[ nRow ]->NbcInsertObject( pLineObject);
-/*N*/ }
-/*N*/ aPolygon [(USHORT) nPoints].X () = nXPos;
-/*N*/ aPolygon [(USHORT) nPoints].Y () = nYPos;
-/*N*/ if( bIsSplineChart )
-/*N*/ {
-/*N*/ aSplinePoints.push_back(
-/*N*/ ::std::pair< double, double >(
-/*N*/ static_cast< double >( nXPos ),
-/*N*/ static_cast< double >( nYPos )));
-/*N*/ }
-/*N*/ nPoints ++;
-/*N*/
-/*N*/ aPoint.X () = nXPos;
-/*N*/ aPoint.Y () = nYPos;
-/*N*/
-/*N*/ // draw symbols only if they are contained in the diagrams boundrect
-/*N*/ if( aClipRect.IsInside( aPoint ) )
-/*N*/ {
-/*N*/ if(HasSymbols(nRow))
-/*N*/ {
-/*N*/ pObj = CreateSymbol (aPoint, nRow, nCol, aDataPointAttr, nLegendHeight);
-/*N*/ if(pObj)
-/*N*/ {
-/*N*/ pObj->InsertUserData(new SchObjectId(CHOBJID_DIAGRAM_DATA));
-/*N*/ pRowLists[nRow]->NbcInsertObject(pObj);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if ((SvxChartKindError)
-/*?*/ ((const SfxInt32Item &) aDataPointAttr.Get (SCHATTR_STAT_KIND_ERROR)).GetValue () != CHERROR_NONE)
-/*?*/ {DBG_BF_ASSERT(0, "STRIP"); }
-/*N*/
-/*N*/ if(aDescr.Enabled())
-/*N*/ {
-/*N*/ Point aPos(aPolygon[(USHORT)nPoints-1]);
-/*N*/ aPos.Y () -= 150;
-/*N*/ aDescr.Insert(nCol,nRow,aDataPointAttr,aPos,FALSE,CHADJUST_BOTTOM_CENTER,pAxis);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(nPoints && IsLine(nRow))
-/*N*/ {
-/*N*/ aPolygon.SetPointCount( nPoints );
-/*N*/
-/*N*/ // clear old items from last loop pass
-/*N*/ aLineAttr.ClearItem();
-/*N*/ aLineAttr.Put(rDataRowAttr);
-/*N*/
-/*N*/ if( nPoints > 1 )
-/*N*/ {
-/*N*/ XPolyPolygon aSeriesPoly;
-/*N*/
-/*N*/ if( bIsSplineChart )
-/*N*/ {
-/*?*/ if ((eChartStyle == CHSTYLE_2D_CUBIC_SPLINE_XY) || (eChartStyle == CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY))
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ XPolygon aMeshPoly;
-/*?*/ approxMesh( nGranularity, aMeshPoly, aPolygon, nPoints - 1, nSplineDepth );
-/*?*/ SchCalculationHelper::IntersectPolygonWithRectangle(
-/*?*/ aMeshPoly, aClipRect, aSeriesPoly );
-/*?*/ }
-/*?*/
-/*?*/ if( pLineObject )
-/*?*/ pLineObject->NbcSetPathPoly( aSeriesPoly );
-/*?*/ else
-/*?*/ {
-/*?*/ pLineObject = new SdrPathObj( OBJ_PLIN, aSeriesPoly );
-/*?*/ pRowLists[ nRow ]->NbcInsertObject( pLineObject);
-/*?*/ }
-/*?*/ }
-/*N*/ else // series consits of lines
-/*N*/ {
-/*N*/ SchCalculationHelper::IntersectPolygonWithRectangle( aPolygon, aClipRect, aSeriesPoly );
-/*N*/
-/*N*/ if( pLineObject )
-/*N*/ pLineObject->NbcSetPathPoly( aSeriesPoly );
-/*N*/ else
-/*N*/ {
-/*?*/ pLineObject = new SdrPathObj( OBJ_PLIN, aSeriesPoly );
-/*?*/ pRowLists[ nRow ]->NbcInsertObject( pLineObject);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pLineObject->InsertUserData( new SchObjectId( CHOBJID_DIAGRAM_ROWSLINE ));
-/*N*/ pLineObject->InsertUserData( new SchDataRow( (short)nRow ));
-/*N*/
-/*N*/ pLineObject->SetItemSet( aLineAttr);
-/*N*/
-/*N*/ }
-/*N*/ }
-
- // insert regression curve if necessary
- // ------------------------------------
-/*N*/ if (((const SfxInt32Item &) rDataRowAttr.Get (SCHATTR_STAT_REGRESSTYPE)).GetValue () != CHREGRESS_NONE)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/ }
-
-/*N*/ aDescr.Build(TRUE);
-/*N*/
-/*N*/ if( bRepaint )
-/*?*/ pPage->SendRepaintBroadcast();
-/*N*/
-/*N*/ delete[] pRowLists;
-/*N*/ delete[] pStatLists;
-/*N*/ return pGroup;
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Netzdiagramm erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjGroup* ChartModel::Create2DNetChart(Rectangle aRect)
-/*N*/ {
-/*N*/ //vorlaeufiger Hack, bis logarithmus-Ueberpruefung eingebaut (autokorrektur):
-/*N*/ pChartXAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_LOGARITHM,FALSE));
-/*N*/ pChartYAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_LOGARITHM,FALSE));
-/*N*/
-/*N*/ //ToDo: vorlaeufig
-/*N*/ SfxItemSet* pYAxisAttr=&GetAttr(CHOBJID_DIAGRAM_Y_AXIS);
-/*N*/
-/*N*/ SchObjGroup *pGroup;
-/*N*/ SdrObjList *pList;
-/*N*/ SdrObject *pObj;
-/*N*/
-/*N*/ CreateChartGroup (pGroup, pList);
-/*N*/
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/ long nCol, nRow;
-/*N*/
-/*N*/ BOOL bPercent = IsPercent();
-/*N*/ BOOL bStacked = IsStacked();
-/*N*/
-/*N*/ // bPercent => bStacked ... ersetzt: (bPercent || bStacked) durch bStacked
-/*N*/ USHORT eStackMode = bStacked ? CHSTACK_MINMAX : CHSTACK_NONE;
-/*N*/
-/*N*/ Size aYDescrSize;
-/*N*/ SdrObjList ** pRowLists = new SdrObjList*[nRowCnt];
-/*N*/ SdrObjList ** pDescrLists = new SdrObjList*[nRowCnt];
-/*N*/ DataDescription* pDescription = NULL;
-/*N*/ SdrObjList *pYAxisList = pChartYAxis->IsVisible()
-/*N*/ ? CreateGroup (*pList, CHOBJID_DIAGRAM_Y_AXIS, 0)
-/*N*/ : NULL;
-/*N*/ SdrObjList *pXGridMainList = bShowXGridMain
-/*N*/ ? CreateGroup (*pList, CHOBJID_DIAGRAM_X_GRID_MAIN_GROUP, 0)
-/*N*/ : 0;
-/*N*/ SdrObjList *pXGridHelpList = bShowXGridHelp
-/*N*/ ? CreateGroup (*pList, CHOBJID_DIAGRAM_X_GRID_HELP_GROUP, 0)
-/*N*/ : 0;
-/*N*/
-/*N*/ XPolygon aDataLine (nColCnt + 1);
-/*N*/ SfxItemSet aLineAttr(*pItemPool, XATTR_LINE_FIRST, XATTR_LINE_LAST, 0);
-/*N*/ SfxItemSet aTextAttr(*pItemPool, nTextWhichPairs);
-/*N*/ aTextAttr.Put(*pYAxisAttr);
-/*N*/
-/*N*/ if (aRect.GetWidth() > aRect.GetHeight())
-/*N*/ {
-/*N*/ aRect.Left() += (aRect.GetWidth() - aRect.GetHeight()) / 2;
-/*N*/ aRect.Right() = aRect.Left() + aRect.GetHeight();
-/*N*/ }
-/*N*/ else if (aRect.GetHeight() > aRect.GetWidth())
-/*N*/ {
-/*?*/ aRect.Top() += (aRect.GetHeight() - aRect.GetWidth()) / 2;
-/*?*/ aRect.Bottom() = aRect.Top() + aRect.GetWidth();
-/*N*/ }
-
-/*N*/ if (pChartYAxis->HasDescription())
-/*N*/ {
-/*N*/ aYDescrSize = Size (((SvxFontWidthItem &) pYAxisTitleAttr->Get (EE_CHAR_FONTWIDTH)).GetWidth (),
-/*N*/ ((SvxFontHeightItem &) pYAxisTitleAttr->Get (EE_CHAR_FONTHEIGHT)).GetHeight ());
-/*N*/
-/*N*/ aRect.Bottom () -= (aYDescrSize.Height () * 12) / 5;
-/*N*/ aRect.Top () += (aYDescrSize.Height () * 12) / 5;
-/*N*/ }
-
-/*N*/ long nLength = aRect.GetHeight () / 2;
-/*N*/ long nOffsetX = aRect.Left () + aRect.GetWidth () / 2;
-/*N*/ long nOffsetY = aRect.Top () + aRect.GetHeight () / 2;
-/*N*/ double fAngleStep = F_PI * 2 / nColCnt;
-/*N*/ long aOldPos = 0;
-
-
-/*N*/ BOOL bSwitchColRow=IsDataSwitched();
-/*N*/ pChartYAxis->Initialise(aRect,bSwitchColRow,eStackMode,bPercent,TRUE);
-/*N*/ pChartYAxis->CalcValueSteps();
-/*N*/
-/*N*/ Size aMaxValueSizeY = pChartYAxis->CalcMaxTextSize(CHTXTORIENT_STANDARD);
-/*N*/ //nur zu test zwecken
-/*N*/
-/*N*/ XPolygon aLine (2);
-/*N*/ double fSteps = pChartYAxis->GetMax();
-/*N*/ double* fOldData = new double[nColCnt];
-/*N*/ double fAngle = F_PI / 2;
-/*N*/
-/*N*/ Size aLegendSize (((SvxFontWidthItem &) pLegendAttr->Get (EE_CHAR_FONTWIDTH)).GetWidth (),
-/*N*/ ((SvxFontHeightItem &) pLegendAttr->Get (EE_CHAR_FONTHEIGHT)).GetHeight ());
-/*N*/
-/*N*/ //#54884# Was soll das hier? Create2DNetChart
-/*N*/ OutputDevice * pRefDev = GetRefDevice();
-/*N*/ if(pRefDev)
-/*N*/ aLegendSize = pRefDev->PixelToLogic (pRefDev->LogicToPixel (aLegendSize));
-/*N*/ else
-/*?*/ OSL_FAIL("ChartModel: no RefDevice");
-/*N*/
-/*N*/ long nLegendHeight = aLegendSize.Height () * 9 / 10;
-/*N*/
-/*N*/ if (pChartYAxis->HasDescription())
-/*N*/ while (fSteps >= pChartYAxis->GetMin())
-/*N*/ {
-/*N*/ double fLength = nLength * pChartYAxis->CalcFact(fSteps);
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fCos = cos (fAngle);
-/*N*/ double fSin = sin (fAngle);
-/*N*/
-/*N*/ aLine [1].X () = (long) (nOffsetX + fLength * fCos + nMarkLen * fSin);
-/*N*/ aLine [1].Y () = (long) (nOffsetY - fLength * fSin + nMarkLen * fCos);
-/*N*/ aLine [0].X () = (long) (nOffsetX + fLength * fCos - nMarkLen * fSin);
-/*N*/ aLine [0].Y () = (long) (nOffsetY - fLength * fSin - nMarkLen * fCos);
-/*N*/
-/*N*/ pYAxisList->NbcInsertObject(SetObjectAttr (new SdrPathObj(OBJ_PLIN, aLine), CHOBJID_LINE,
-/*N*/ TRUE, TRUE, pAxisAttr));
-/*N*/
-/*N*/ if (fSteps == pChartYAxis->GetMax())
-/*N*/ {
-/*N*/ Point aTextPos ((long) (nOffsetX + nLength * fCos),
-/*N*/ (long) (nOffsetY - nLength * fSin));
-/*N*/ ChartAdjust eAdjust;
-/*N*/
-/*N*/ if (fAngle > 0 && fAngle < F_PI / 4)
-/*N*/ {
-/*?*/ eAdjust = CHADJUST_CENTER_LEFT;
-/*?*/ aTextPos.X () = (long) (nOffsetX + nLength * fCos + (aYDescrSize.Height () * 6) / 5);
-/*N*/ }
-/*N*/ else if (fAngle >= F_PI / 4 && fAngle <= 3 * F_PI / 4)
-/*N*/ {
-/*N*/ eAdjust = CHADJUST_BOTTOM_CENTER;
-/*N*/ aTextPos.Y () = (long) (nOffsetY - nLength * fSin - (aYDescrSize.Height () * 6) / 5);
-/*N*/ }
-/*N*/ else if (fAngle > 3 * F_PI / 4 && fAngle <= 5 * F_PI / 4)
-/*N*/ {
-/*N*/ eAdjust = CHADJUST_CENTER_RIGHT;
-/*N*/ aTextPos.X () = (long) (nOffsetX + nLength * fCos - (aYDescrSize.Height () * 6) / 5);
-/*N*/ }
-/*N*/ else if (fAngle > 5 * F_PI / 4 && fAngle <= 7 * F_PI / 4)
-/*N*/ {
-/*N*/ eAdjust = CHADJUST_TOP_CENTER;
-/*N*/ aTextPos.Y () = (long) (nOffsetY - nLength * fSin + (aYDescrSize.Height () * 6) / 5);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ eAdjust = CHADJUST_CENTER_LEFT;
-/*N*/ aTextPos.X () = (long) (nOffsetX + nLength * fCos + (aYDescrSize.Height () * 6) / 5);
-/*N*/ }
-/*N*/
-/*N*/ pYAxisList->NbcInsertObject(CreateTextObj(CHOBJID_TEXT, aTextPos,
-/*N*/ ColText(nCol),
-/*N*/ aTextAttr,
-/*N*/ FALSE, eAdjust));
-/*N*/ }
-/*N*/
-/*N*/ fAngle += fAngleStep;
-/*N*/ }
-/*N*/
-/*N*/ if (pChartYAxis->HasDescription())
-/*N*/ {
-/*N*/ Color* pDummy = NULL;
-/*N*/ String aNumStr;
-/*N*/ Point aPos;
-/*N*/
-/*N*/ pNumFormatter->GetOutputString((bPercent)?fSteps/100.0:fSteps,
-/*N*/ GetNumFmt(CHOBJID_DIAGRAM_Y_AXIS,bPercent),aNumStr,&pDummy);
-/*N*/
-/*N*/ aPos.X() = (long) (nOffsetX + nMarkLen);
-/*N*/ aPos.Y() = (long) (nOffsetY - fLength);
-/*N*/
-/*N*/ if (aPos.Y () - aMaxValueSizeY.Height () > aOldPos)
-/*N*/ {
-/*N*/ pYAxisList->NbcInsertObject(CreateTextObj(CHOBJID_TEXT, aPos, aNumStr,
-/*N*/ aTextAttr, FALSE, CHADJUST_CENTER_LEFT));
-/*N*/ aOldPos = aPos.Y ();
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (pXGridMainList)
-/*N*/ {
-/*N*/ Rectangle aCircRect ((long) (nOffsetX - fLength),
-/*N*/ (long) (nOffsetY - fLength),
-/*N*/ (long) (nOffsetX + fLength),
-/*N*/ (long) (nOffsetY + fLength));
-/*N*/
-/*N*/ SfxItemSet aCircAttr (*pItemPool,
-/*N*/ XATTR_LINE_FIRST, XATTR_LINE_LAST,
-/*N*/ XATTR_FILL_FIRST, XATTR_FILL_LAST,
-/*N*/ 0);
-/*N*/
-/*N*/ aCircAttr.Put (XLineColorItem (String (),
-/*N*/ ((XLineColorItem &) pXGridMainAttr->Get (XATTR_LINECOLOR)).GetValue ()));
-/*N*/ aCircAttr.Put (XFillColorItem (String (),
-/*N*/ ((XFillColorItem &) pXGridMainAttr->Get (XATTR_FILLCOLOR)).GetValue ()));
-/*N*/ aCircAttr.Put (XLineStyleItem (((XLineStyleItem &) pXGridMainAttr->Get (XATTR_LINESTYLE)).
-/*N*/ GetValue ()));
-/*N*/ aCircAttr.Put (XLineWidthItem (((XLineWidthItem &) pXGridMainAttr->Get (XATTR_LINEWIDTH)).
-/*N*/ GetValue ()));
-/*N*/ aCircAttr.Put (XFillStyleItem(XFILL_NONE));
-/*N*/ SdrCircObj* pCirc = new SdrCircObj( OBJ_CIRC, aCircRect );
-/*N*/ pCirc->SetModel( this );
-/*N*/ pXGridMainList->NbcInsertObject(SetObjectAttr( pCirc,
-/*N*/ CHOBJID_DIAGRAM_NET, TRUE, TRUE,
-/*N*/ &aCircAttr));
-/*N*/ }
-/*N*/
-/*N*/ DecValue(fSteps, pChartYAxis->GetStep(), FALSE);
-/*N*/
-/*N*/ if (pChartYAxis->GetStep() == 0.0) break;
-/*N*/ }
-/*N*/
-/*N*/ fSteps = pChartYAxis->GetMax();
-/*N*/
-/*N*/ if (pXGridHelpList)
-/*?*/ while (fSteps >= pChartYAxis->GetMin())
-/*?*/ {
-/*?*/ double fLength = nLength * pChartYAxis->CalcFact(fSteps);
-/*?*/
-/*?*/ Rectangle aCircRect ((long) (nOffsetX - fLength),
-/*?*/ (long) (nOffsetY - fLength),
-/*?*/ (long) (nOffsetX + fLength),
-/*?*/ (long) (nOffsetY + fLength));
-/*?*/
-/*?*/ SfxItemSet aCircAttr (*pItemPool,
-/*?*/ XATTR_LINE_FIRST, XATTR_LINE_LAST,
-/*?*/ XATTR_FILL_FIRST, XATTR_FILL_LAST,
-/*?*/ 0);
-/*?*/
-/*?*/ aCircAttr.Put (XLineColorItem (String (),
-/*?*/ ((XLineColorItem &) pXGridHelpAttr->Get (XATTR_LINECOLOR)).GetValue ()));
-/*?*/ aCircAttr.Put (XFillColorItem (String (),
-/*?*/ ((XFillColorItem &) pXGridHelpAttr->Get (XATTR_FILLCOLOR)).GetValue ()));
-/*?*/ aCircAttr.Put (XLineStyleItem (((XLineStyleItem &) pXGridHelpAttr->Get (XATTR_LINESTYLE)).
-/*?*/ GetValue ()));
-/*?*/ aCircAttr.Put (XLineWidthItem (((XLineWidthItem &) pXGridHelpAttr->Get (XATTR_LINEWIDTH)).
-/*?*/ GetValue ()));
-/*?*/ aCircAttr.Put (XFillStyleItem(XFILL_NONE));
-/*?*/
-/*?*/ SdrCircObj* pCirc = new SdrCircObj( OBJ_CIRC, aCircRect );
-/*?*/ pCirc->SetModel( this );
-/*?*/ pXGridHelpList->NbcInsertObject(SetObjectAttr( pCirc,
-/*?*/ CHOBJID_DIAGRAM_X_GRID_HELP, TRUE, TRUE,
-/*?*/ &aCircAttr));
-/*?*/
-/*?*/ DecValue(fSteps, pChartYAxis->GetStep(), FALSE);
-/*?*/
-/*?*/ if (pChartYAxis->GetStep() == 0.0) break;
-/*?*/ }
-/*N*/
-/*N*/ fSteps = pChartYAxis->GetMin();
-/*N*/
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ const SfxItemSet& rDataRowAttr = GetDataRowAttr(nRow);
-/*N*/ Point aFirstPoint;
-/*N*/ fAngle = F_PI / 2;
-/*N*/ long nPoints = 0;
-/*N*/
-/*N*/ SchObjGroup* pRowGroup = (SchObjGroup*) CreateSimpleGroup (CHOBJID_DIAGRAM_ROWGROUP, TRUE, TRUE);
-/*N*/
-/*N*/ pRowGroup->InsertUserData(new SchDataRow((short)nRow));
-/*N*/ pList->NbcInsertObject(pRowGroup);
-/*N*/ pRowLists[nRow] = pRowGroup->GetSubList();
-/*N*/ pDescrLists[nRow] = 0;
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ SfxItemSet aDataPointAttr(rDataRowAttr);//#63904#
-/*N*/ MergeDataPointAttr(aDataPointAttr,nCol,nRow);
-/*N*/
-/*N*/ long nIndex = nCol + nRow * nColCnt;
-/*N*/ double fData = GetData(nCol, nRow, bPercent);
-/*N*/
-/*N*/ if (pYAxisList)
-/*N*/ {
-/*N*/ if (!nRow)
-/*N*/ {
-/*N*/ aLine [0].X () = (long) (nOffsetX + nLength * cos (fAngle));
-/*N*/ aLine [0].Y () = (long) (nOffsetY - nLength * sin (fAngle));
-/*N*/ aLine [1].X () = nOffsetX;
-/*N*/ aLine [1].Y () = nOffsetY;
-/*N*/
-/*N*/ pYAxisList->NbcInsertObject(SetObjectAttr (new SdrPathObj(OBJ_PLIN, aLine),
-/*N*/ CHOBJID_LINE, TRUE, TRUE, pYAxisAttr));
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)aDataPointAttr.
-/*N*/ Get(SCHATTR_DATADESCR_DESCR)).GetValue();
-/*N*/
-/*N*/ if( (eDescr != CHDESCR_NONE) && bShowDataDescr)
-/*N*/ {
- /**************************************************************
- * DataDescription erforderlich
- **************************************************************/
-/*?*/ if (!pDescription)
-/*?*/ {
-/*?*/ // DataDescription noch nicht vorhanden -> erzeugen
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*?*/
-/*?*/ pDescription [nIndex].eDescr = eDescr;
-/*?*/ pDescription [nIndex].bSymbol = ((const SfxBoolItem&)aDataPointAttr.
-/*?*/ Get(SCHATTR_DATADESCR_SHOW_SYM)).GetValue();
-/*?*/
-/*?*/ if (!pDescrLists[nRow])
-/*?*/ {
-/*?*/ SchObjGroup* pDescrGroup = (SchObjGroup*) CreateSimpleGroup (CHOBJID_DIAGRAM_DESCRGROUP, TRUE, TRUE);
-/*?*/
-/*?*/ pDescrGroup->InsertUserData(new SchDataRow((short)nRow));
-/*?*/ pList->NbcInsertObject(pDescrGroup);
-/*?*/ pDescrLists[nRow] = pDescrGroup->GetSubList();
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (bStacked && !nRow) fOldData[nCol] = pChartYAxis->GetOrigin();
-/*N*/
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ if (bStacked && nRow) fData += fOldData[nCol];
-/*N*/
-/*N*/ double fLength = nLength * pChartYAxis->CalcFact(fData);
-/*N*/
-/*N*/ aDataLine [(USHORT) nPoints].X () = (long) (nOffsetX + fLength * cos (fAngle));
-/*N*/ aDataLine [(USHORT) nPoints].Y () = (long) (nOffsetY - fLength * sin (fAngle));
-/*N*/
-/*N*/ if (!nCol)
-/*N*/ {
-/*N*/ aFirstPoint.X () = aDataLine [(USHORT) nPoints].X();
-/*N*/ aFirstPoint.Y () = aDataLine [(USHORT) nPoints].Y();
-/*N*/ }
-/*N*/
-/*N*/ nPoints ++;
-/*N*/
-/*N*/ if(HasSymbols(nRow))
-/*N*/ {
-/*N*/ SdrObject *pNewObj = CreateSymbol (aDataLine[nPoints - 1], nRow, nCol,
-/*N*/ (SfxItemSet &) rDataRowAttr, nLegendHeight);
-/*N*/ if(pNewObj)
-/*N*/ {
-/*N*/ pNewObj->InsertUserData(new SchObjectId(CHOBJID_DIAGRAM_DATA));
-/*N*/ pRowLists[nRow]->NbcInsertObject(pNewObj);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ fOldData [nCol] = fData;
-/*N*/
-/*N*/ if (pDescription)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (nPoints)
-/*N*/ {
-/*?*/ for (long nFill = nPoints;nFill < nColCnt;nFill ++)
-/*?*/ aDataLine [(USHORT) nFill] = aDataLine [(USHORT) nPoints - 1];
-/*?*/
-/*?*/ aLineAttr.Put(rDataRowAttr);
-/*?*/
-/*?*/ pObj = new SdrPathObj(OBJ_PLIN, aDataLine);
-/*?*/ pObj->InsertUserData(new SchObjectId (CHOBJID_DIAGRAM_ROWSLINE));
-/*?*/ pObj->InsertUserData(new SchDataRow((short)nRow));
-/*?*/ pRowLists[nRow]->NbcInsertObject(pObj,0); //#54870# Linie nach hinten
-/*?*/
-/*?*/ pObj->SetItemSet(aLineAttr);
-/*?*/
-/*?*/ nPoints = 0;
-/*N*/ }
-/*N*/
-/*N*/ if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nIndex].fValue = DBL_MIN;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ fAngle += fAngleStep;
-/*N*/ if (fAngle > 2 * F_PI) fAngle -= 2 * F_PI;
-/*N*/ }
-/*N*/
-/*N*/ if (nPoints)
-/*N*/ {
-/*N*/ for (long nFill = nPoints;nFill < nColCnt;nFill ++)
-/*?*/ aDataLine [(USHORT) nFill] = aDataLine [(USHORT) nPoints - 1];
-/*N*/
-/*N*/ if (aFirstPoint.X () && aFirstPoint.Y ())
-/*N*/ {
-/*N*/ aDataLine [(unsigned short)nColCnt].X () = aFirstPoint.X ();
-/*N*/ aDataLine [(unsigned short)nColCnt].Y () = aFirstPoint.Y ();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ aDataLine [(unsigned short)nColCnt].X () = aDataLine [nColCnt - 1].X ();
-/*?*/ aDataLine [(unsigned short)nColCnt].Y () = aDataLine [nColCnt - 1].Y ();
-/*N*/ }
-/*N*/
-/*N*/ aLineAttr.Put(rDataRowAttr);
-/*N*/
-/*N*/ pObj = new SdrPathObj(OBJ_PLIN, aDataLine);
-/*N*/ pObj->InsertUserData(new SchObjectId (CHOBJID_DIAGRAM_ROWSLINE));
-/*N*/ pObj->InsertUserData(new SchDataRow((short)nRow));
-/*N*/ pRowLists[nRow]->NbcInsertObject(pObj,0);//#54870# hinter die Symbole mit der Linie
-/*N*/
-/*N*/ pObj->SetItemSet(aLineAttr);
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ IncValue(fSteps, pChartYAxis->GetStep(), FALSE);
-/*N*/
-/*N*/ if (pChartYAxis->GetStep() == 0.0) break;
-/*N*/ }
-/*N*/
-/*N*/ Dirty2D (nRowCnt, nColCnt, pDescrLists, TRUE/*FALSE*/, pDescription);
-/*N*/
-/*N*/ delete[] pDescription;
-/*N*/ delete[] pDescrLists;
-/*N*/ delete[] pRowLists;
-/*N*/ delete[] fOldData;
-/*N*/ return pGroup;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Frisiere die % auf 100%
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::Dirty2D (long nRowCnt,
-/*N*/ long nColCnt,
-/*N*/ SdrObjList **pDescrLists,
-/*N*/ BOOL bRowDescr,
-/*N*/ DataDescription *pDescription)
-/*N*/ {
-/*N*/ if (!pDescription)
-/*N*/ return;
-
-/*?*/ long nStart = IsXYChart() ? 1 : 0;
-/*?*/
-/*?*/ if (bRowDescr)
-/*?*/ {
-/*?*/ for (long nCols = 0;nCols < nColCnt;nCols ++)
-/*?*/ {
-/*?*/ double fTotal = 0.0;
-/*?*/ double fMax = 0.0;
- long nRows = 0;
-/*?*/
-/*?*/ // Calculate the total of all segements with percentage value
-/*?*/ for (nRows = nStart;nRows < nRowCnt;nRows ++)
-/*?*/ if (pDescrLists [nRows])
-/*?*/ {
-/*?*/ long nIndex= nCols + nRows * nColCnt;
-/*?*/ if ((pDescription [nIndex].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nIndex].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ {
-/*?*/ double fTemp = pDescription [nIndex].fValue;
-/*?*/
-/*?*/ if (fTemp != DBL_MIN)
-/*?*/ {
-/*?*/ fTotal += fTemp;
-/*?*/ if (fMax < fTemp)
-/*?*/ fMax = fTemp;
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*?*/
-/*?*/ BOOL bIsDirty = FALSE;
-/*?*/
-/*?*/ for (nRows = nStart;nRows < nRowCnt;nRows ++)
-/*?*/ if (pDescrLists[nRows])
-/*?*/ {
-/*?*/ long nIndex = nCols + nRows * nColCnt;// long nIndex = nRows + nCols * nRowCnt;
-/*?*/
-/*?*/ if (!bIsDirty)
-/*?*/ if ((pDescription [nIndex].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nIndex].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ if (fTotal > 100.0000001)
-/*?*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*?*/
-/*?*/ if (pDescription [nIndex].fValue != DBL_MIN)
-/*?*/ if( pDescription[nIndex].pLabelObj )
-/*?*/ pDescrLists[nRows]->NbcInsertObject( pDescription[nIndex].pLabelObj );
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ for (long nRows = nStart;nRows < nRowCnt; nRows ++)
-/*?*/ {
-/*?*/ if ( ! pDescrLists[nRows])
-/*?*/ continue;
-/*?*/
-/*?*/ double fTotal = 0.0;
-/*?*/ double fMax = 0.0;
- long nCols = 0;
-/*?*/
-/*?*/ // Calculate the total of all segements with a percentage value
-/*?*/ for (nCols = 0;nCols < nColCnt;nCols ++)
-/*?*/ {
-/*?*/ long nIndex = nCols + nRows * nColCnt;
-/*?*/ if ((pDescription [nIndex].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nIndex].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ {
-/*?*/ double fTemp = pDescription [nIndex].fValue;
-/*?*/
-/*?*/ if (fTemp != DBL_MIN)
-/*?*/ {
-/*?*/ fTotal += fTemp;
-/*?*/ if (fMax < fTemp)
-/*?*/ fMax = fTemp;
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*?*/
-/*?*/ BOOL bIsDirty = FALSE;
-/*?*/
-/*?*/ for (nCols = 0;nCols < nColCnt;nCols ++)
-/*?*/ {
-/*?*/ long nIndex = nCols + nRows * nColCnt;
-/*?*/
-/*?*/ if (!bIsDirty)
-/*?*/ if ((pDescription [nIndex].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nIndex].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ if (fTotal > 100.0000001)
-/*?*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*?*/
-/*?*/ if (pDescription[ nIndex ].fValue != DBL_MIN)
-/*?*/ if( pDescription[ nIndex ].pLabelObj )
-/*?*/ pDescrLists[nRows]->NbcInsertObject( pDescription[ nIndex ].pLabelObj );
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Erstelle Kreissegment
-|*
-\************************************************************************/
-/*N*/ SdrObject *ChartModel::CreatePieSegment(SfxItemSet &rAttr,
-/*N*/ Rectangle &rRect,
-/*N*/ long nCol,
-/*N*/ long nRow,
-/*N*/ long nStartAngle,
-/*N*/ long nEndAngle,
-/*N*/ long nCnt)
-/*N*/ {
-/*N*/ SdrObject *pObj;
-/*N*/
-/*N*/ // BM: Attention: Small angles are treated as equal, if they are equal
-/*N*/ // after divided by 10. That is because that is also done in the
-/*N*/ // drawing layer. Giving angles which differ by 1 causes the creation
-/*N*/ // of a full circle.
-/*N*/
-/*N*/ if( nCnt == 1 ) // only one datarow => whole circle
-/*N*/ {
-/*?*/ pObj = new SdrCircObj( OBJ_CIRC, rRect );
-/*?*/ pObj->SetModel( this );
-/*?*/ SetObjectAttr( pObj, CHOBJID_DIAGRAM_DATA, TRUE, TRUE, &rAttr);
-/*N*/ }
-/*N*/ else if( (nStartAngle/10) - (nEndAngle/10) ) // create pie segment
-/*N*/ {
-/*N*/ pObj = new SdrCircObj( OBJ_SECT, rRect, nStartAngle, nEndAngle );
-/*N*/ pObj->SetModel( this );
-/*N*/ SetObjectAttr( pObj, CHOBJID_DIAGRAM_DATA, TRUE, TRUE, &rAttr );
-/*N*/ }
-/*N*/ else // the segment is treated as line
-/*N*/ {
-/*?*/ pObj = new SdrCircObj( OBJ_SECT, rRect, nStartAngle, nStartAngle );
-/*?*/ pObj->SetModel( this );
-/*?*/ SetObjectAttr( pObj, CHOBJID_DIAGRAM_DATA, TRUE, TRUE, &rAttr );
-/*N*/ }
-/*N*/ pObj->InsertUserData(new SchDataPoint((short)nCol, (short)nRow));
-/*N*/ return pObj;
-/*N*/ }
-
-/*************************************************************
-|*
-|* create donut segment - same as circle segment for now
-|*
-\*************************************************************/
-/*N*/ SdrObject* ChartModel::CreateDonutSegment( SfxItemSet& aAttr,
-/*N*/ Rectangle& aRect, ULONG /*nWidth*/,
-/*N*/ long nCol, long nRow,
-/*N*/ long nStartAngle, long nEndAngle,
-/*N*/ long nCount)
-/*N*/ {
-/*N*/ SdrObject* pObj;
-/*N*/ if( nStartAngle > nEndAngle )
-/*N*/ nStartAngle += 36000;
-/*N*/
-/*N*/ if( nCount==1 || nStartAngle==nEndAngle ) // we have to paint complete ring
-/*N*/ {
-/*?*/ pObj = new SdrCircObj( OBJ_CIRC, aRect );
-/*?*/ pObj->SetModel( this );
-/*?*/ SetObjectAttr( pObj, CHOBJID_DIAGRAM_DATA, TRUE, TRUE, &aAttr );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ pObj = new SdrCircObj( OBJ_SECT, aRect, nStartAngle, nEndAngle );
-/*N*/ pObj->SetModel( this );
-/*N*/ SetObjectAttr( pObj, CHOBJID_DIAGRAM_DATA, TRUE, TRUE, &aAttr );
-/*N*/ }
-/*N*/ pObj->InsertUserData( new SchDataPoint( (short)nCol, (short)nRow ));
-/*N*/ return pObj;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Objektgruppe erzeugen
-|*
-\************************************************************************/
-/*N*/ SdrRectObj *ChartModel::CreateRect (Rectangle &rRect,long nCol,long nRow,SfxItemSet &rAttr)
-/*N*/ {
-/*N*/ SdrRectObj* pRectObj = new SdrRectObj( rRect );
-/*N*/ pRectObj->SetModel( this );
-/*N*/ SetObjectAttr( pRectObj, CHOBJID_DIAGRAM_DATA, TRUE, TRUE, &rAttr );
-/*N*/ pRectObj->InsertUserData(new SchDataPoint((short) nCol, (short) nRow));
-/*N*/ return pRectObj;
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmod3d.cxx b/binfilter/bf_sch/source/core/sch_chtmod3d.cxx
deleted file mode 100644
index 92b0b7a98..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmod3d.cxx
+++ /dev/null
@@ -1,2089 +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.
- *
- ************************************************************************/
-
-#define RAD2CDEG(fAngle) ( (long)(((fAngle)*18000.0/F_PI)+36000.0)%36000 )
-
-
-
-#include "schattr.hxx"
-#define ITEMID_ADJUST EE_PARA_JUST
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-
-#include <globfunc.hxx>
-#include "axisid.hxx"
-#include "chtscene.hxx"
-
-#undef ITEMID_COLOR // Defined in svx3ditems.hxx
-#define ITEMID_COLOR EE_CHAR_COLOR
-
-#include <bf_svx/svdocirc.hxx>
-#include "math.h"
-#include "glob.hrc"
-#include "float.h"
-
-#ifndef _ZFORLIST_HXX //autogen
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#include <bf_svtools/zforlist.hxx>
-#endif
-#include <bf_svx/svdopath.hxx>
-#include <bf_svx/xlnwtit.hxx>
-
-#include "pairs.hxx"
-#include "chmod3d.hxx"
-#include "chaxis.hxx"
-#include "chdescr.hxx"
-#define FIXED_SIZE_FOR_3D_CHART_VOLUME (10000)
-
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Erzeugt alle 3d-Achsentitel und setzt sie sofort ins Diagramm
-|* Positioniert werden sie von der Chartszene
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::CreateAndInsert3DAxesTitles (Rectangle &rRect, BOOL bSwitchColRow)
-/*N*/ {
-/*N*/ SdrTextObj *pXAxisTitleObj = NULL;
-/*N*/ SdrTextObj *pYAxisTitleObj = NULL;
-/*N*/ SdrTextObj *pZAxisTitleObj = NULL;
-/*N*/
-/*N*/ if (bShowXAxisTitle)
-/*N*/ {
-/*N*/ pXAxisTitleObj = CreateTitle (pXAxisTitleAttr, CHOBJID_DIAGRAM_TITLE_X_AXIS,
-/*N*/ bSwitchColRow,aXAxisTitle,
-/*N*/ FALSE, &eAdjustXAxesTitle);
-/*N*/ if (GetAdjustMarginsForXAxisTitle())
-/*N*/ {
-/*N*/ if (bSwitchColRow)
-/*N*/ rRect.Left() += GetOutputSize(*pXAxisTitleObj).Width() + 200;
-/*N*/ else
-/*N*/ rRect.Bottom() -= GetOutputSize(*pXAxisTitleObj).Height() + 200;
-/*N*/ }
-/*N*/ }
-/*N*/ if (bShowYAxisTitle)
-/*N*/ {
-/*N*/ pYAxisTitleObj = CreateTitle (pYAxisTitleAttr, CHOBJID_DIAGRAM_TITLE_Y_AXIS,
-/*N*/ bSwitchColRow, aYAxisTitle,
-/*N*/ TRUE, &eAdjustYAxesTitle);
-/*N*/ if (GetAdjustMarginsForYAxisTitle())
-/*N*/ {
-/*N*/ if (bSwitchColRow)
-/*N*/ rRect.Bottom() -= GetOutputSize(*pYAxisTitleObj).Height() + 200;
-/*N*/ else
-/*N*/ rRect.Left() += GetOutputSize(*pYAxisTitleObj).Width() + 200;
-/*N*/ }
-/*N*/ }
-/*N*/ if (bShowZAxisTitle)
-/*N*/ {
-/*N*/ pZAxisTitleObj = CreateTitle (pZAxisTitleAttr, CHOBJID_DIAGRAM_TITLE_Z_AXIS,
-/*N*/ bSwitchColRow,aZAxisTitle, FALSE, &eAdjustZAxesTitle);
-/*N*/ if( GetAdjustMarginsForZAxisTitle())
-/*N*/ {
-/*N*/ rRect.Right() -= GetOutputSize(*pZAxisTitleObj).Width() + 200;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ SdrPage* pPage=GetPage(0);
-/*N*/ if (pXAxisTitleObj) pPage->NbcInsertObject( pXAxisTitleObj );
-/*N*/ if (pYAxisTitleObj) pPage->NbcInsertObject( pYAxisTitleObj );
-/*N*/ if (pZAxisTitleObj) pPage->NbcInsertObject( pZAxisTitleObj );
-/*N*/
-/*N*/ // this should resize the scene according to the space needed
-/*N*/ // by the titles. However this results in strange effects like
-/*N*/ // constant resizing until the scene has 0 size and also the title
-/*N*/ // objects disappear when being moved (?).
-/*N*/ // GetScene()->NbcSetSnapRect( rRect );
-/*N*/ }
-
-/*************************************************************************
-|*
-|* 3D-Rueckwaende mit Unterteilung und Beschriftung erzeugen
-|*
-\************************************************************************/
-/*N*/ void ChartModel::Create3DBackplanes (Rectangle &rRect,
-/*N*/ Vector3D aPos,
-/*N*/ Vector3D aSizeVec,
-/*N*/ ChartScene &rScene,
-/*N*/ BOOL bPartDescr,
-/*N*/ BOOL bXLogarithm,
-/*N*/ BOOL bYLogarithm,
-/*N*/ BOOL bZLogarithm,
-/*N*/ USHORT eStackMode,
-/*N*/ BOOL bPercent,
-/*N*/ BOOL bFlatChart,
-/*N*/ BOOL bSwitchColRow)
-/*N*/ {
-/*N*/ //vorlaeufiger Hack, bis logarithmus-Ueberpruefung eingebaut (autokorrektur):
-/*N*/ pChartXAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_LOGARITHM,bXLogarithm));
-/*N*/ pChartYAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_LOGARITHM,bYLogarithm));
-/*N*/ pChartZAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_LOGARITHM,bZLogarithm));
-/*N*/
-/*N*/ String aNumStr;
-/*N*/
-/*N*/ E3dObject* pXGridMainGroup = bShowXGridMain
-/*N*/ ? Create3DObject (CHOBJID_DIAGRAM_X_GRID_MAIN_GROUP)
-/*N*/ : 0;
-/*N*/ E3dObject* pYGridMainGroup = bShowYGridMain
-/*N*/ ? Create3DObject (CHOBJID_DIAGRAM_Y_GRID_MAIN_GROUP)
-/*N*/ : 0;
-/*N*/ E3dObject* pZGridMainGroup = bShowZGridMain
-/*N*/ ? Create3DObject (CHOBJID_DIAGRAM_Z_GRID_MAIN_GROUP)
-/*N*/ : 0;
-/*N*/ E3dObject* pXGridHelpGroup = bShowXGridHelp
-/*N*/ ? Create3DObject (CHOBJID_DIAGRAM_X_GRID_HELP_GROUP)
-/*N*/ : 0;
-/*N*/ E3dObject* pYGridHelpGroup = bShowYGridHelp
-/*N*/ ? Create3DObject (CHOBJID_DIAGRAM_Y_GRID_HELP_GROUP)
-/*N*/ : 0;
-/*N*/ E3dObject* pZGridHelpGroup = bShowZGridHelp
-/*N*/ ? Create3DObject (CHOBJID_DIAGRAM_Z_GRID_HELP_GROUP)
-/*N*/ : 0;
-/*N*/ E3dObject* pXAxisGroup = pChartXAxis->IsVisible()|| pChartXAxis->HasDescription() //#47500#
-/*N*/ ? Create3DAxisObj( CHOBJID_DIAGRAM_X_AXIS )
-/*N*/ : 0;
-/*N*/ E3dObject* pYAxisGroup = pChartYAxis->IsVisible() || pChartYAxis->HasDescription() //#47500#
-/*N*/ ? Create3DAxisObj( CHOBJID_DIAGRAM_Y_AXIS )
-/*N*/ : 0;
-/*N*/ E3dObject* pZAxisGroup = pChartZAxis->IsVisible() || pChartZAxis->HasDescription() //#47500#
-/*N*/ ? Create3DAxisObj( CHOBJID_DIAGRAM_Z_AXIS )
-/*N*/ : 0;
-/*N*/ Polygon3D aRect3D;
-/*N*/
-/*N*/ pChartXAxis->Initialise(rRect,bSwitchColRow,eStackMode,bPercent,FALSE);
-/*N*/ pChartYAxis->Initialise(rRect,bSwitchColRow,eStackMode,bPercent,FALSE);
-/*N*/ pChartZAxis->Initialise(rRect,bSwitchColRow,eStackMode,bPercent,FALSE);
-/*N*/
-/*N*/ pChartXAxis->CalcValueSteps();
-/*N*/ pChartYAxis->CalcValueSteps();
-/*N*/ pChartZAxis->CalcValueSteps();
-/*N*/
-/*N*/ //Vorlaeufige Notloesung, entsprechende Stellen sollen noch geaendert werden, daher bitte kein Search&Repleace statt der #defs!
-/*N*/ #define fOriginY pChartYAxis->GetOrigin()
-/*N*/ #define fMinValueY pChartYAxis->GetMin()
-/*N*/ #define fMaxValueY pChartYAxis->GetMax()
-/*N*/ #define fValueStepMainY pChartYAxis->GetStep()
-/*N*/ #define fValueStepHelpY pChartYAxis->GetHelpStep()
-/*N*/
-/*N*/ //ToDo: vorlaeufig
-/*N*/ SfxItemSet* pXAxisAttr=&GetAttr(CHOBJID_DIAGRAM_X_AXIS);
-/*N*/ SfxItemSet* pYAxisAttr=&GetAttr(CHOBJID_DIAGRAM_Y_AXIS);
-/*N*/ SfxItemSet* pZAxisAttr=&GetAttr(CHOBJID_DIAGRAM_Z_AXIS);
-/*N*/
-/*N*/ SvxChartTextOrient eDescrOrient = ((const SvxChartTextOrientItem&)pXAxisAttr->Get(SCHATTR_TEXT_ORIENT)).GetValue();
-/*N*/ SvxChartTextOrient eValueOrient = ((const SvxChartTextOrientItem&)pYAxisAttr->Get(SCHATTR_TEXT_ORIENT)).GetValue();
-/*N*/
-/*N*/ pChartYAxis->CalcMaxTextSize(eValueOrient);
-/*N*/ pChartXAxis->CalcMaxTextSize(eDescrOrient);
-/*N*/
-/*N*/ CalcMaxDescrSize( TRUE, eValueOrient, bPercent, CHAXIS_AXIS_Y );
-/*N*/ CalcMaxDescrSize( FALSE, eDescrOrient, bPercent, CHAXIS_AXIS_X );
-/*N*/
-/*N*/ short nV, i;
-/*N*/
-/*N*/ long nRowCnt = bFlatChart
-/*N*/ ? 1
-/*N*/ : GetRowCount();
-/*N*/ long nBackColCnt = (bPartDescr || GetColCount() > 1)
-/*N*/ ? GetColCount()
-/*N*/ : GetColCount() + 1;
-/*N*/ long nColumnCnt = bPartDescr
-/*N*/ ? nBackColCnt
-/*N*/ : nBackColCnt - 1;
-/*N*/
-/*N*/
-/*N*/ // FG: Diese Variable ist ein reiner Zwischenspeicher damit in der Chartscene bei FitInSnapRect
-/*N*/ // die Achsentitel gemaess dieses Parameters gesetzt werden koennen.
-/*N*/ bSwitch3DColRow = bSwitchColRow;
-/*N*/
-/*N*/ aXDescrList.clear();
-/*N*/ aYDescrList.clear();
-/*N*/ aZDescrList.clear();
-/*N*/
-/*N*/ E3dDefaultAttributes aDefltAttr3D;
-/*N*/
-/*N*/ Matrix4D aShift;
-/*N*/ aShift.Translate(-(aSizeVec/500.0));//Wände etwas verschieben...
-/*N*/
-/*N*/ const double fFloorWidth = 100.0;
-/*N*/
-/*N*/ for (nV = 0; nV < 3; nV++)
-/*N*/ {
-/*N*/ switch (nV)
-/*N*/ {
-/*N*/ case 0: // X-Achse , XY-Ebene (WALL hinten)
-/*N*/ case 1: // Y-Achse , YZ-Ebene (WALL seitlich)
-/*N*/ {
-/*N*/ aRect3D[0] = aPos;
-/*N*/ aPos[nV] += aSizeVec[nV]; //nV=0: X(), sonst Y()
-/*N*/ aRect3D[1] = aPos;
-/*N*/ aPos[nV + 1] += aSizeVec[nV + 1]; //nV=0: Y(), sonst Z()
-/*N*/ aRect3D[2] = aPos;
-/*N*/ aPos[nV] -= aSizeVec[nV];
-/*N*/ aRect3D[3] = aPos;
-/*N*/ aPos[nV + 1] -= aSizeVec[nV + 1];
-/*N*/
-/*N*/ E3dPolygonObj *pWallObj = new SchE3dPolygonObj(aDefltAttr3D, aRect3D);
-/*N*/
-/*N*/ pWallObj->SetModel (this);
-/*N*/ pWallObj->InsertUserData(new SchObjectId(CHOBJID_DIAGRAM_WALL));
-/*N*/ rScene.Insert3DObj(pWallObj);
-/*N*/
-/*N*/ pWallObj->SetItemSet(*pDiagramWallAttr);
-/*N*/
-/*N*/ pWallObj->NbcSetTransform(aShift);
-/*N*/
-/*N*/ if (!nV)
-/*N*/ {
-/*N*/ // X-Achse zeichnen
-/*N*/ Vector3D aLine3D [2] = { aRect3D [0], aRect3D [1] };
-/*N*/
-/*N*/ //#47500#
-/*N*/ if (pXAxisGroup && pChartXAxis->IsVisible())
-/*N*/ {
-/*N*/ Create3DPolyObject (pXAxisAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*N*/ CHOBJID_LINE, pXAxisGroup);
-/*N*/ }
-/*N*/
-/*N*/ if( pYGridMainGroup || pYGridHelpGroup )
-/*N*/ {
-/*N*/ // Y-Anteile
-/*N*/ if (bSwitchColRow)
-/*N*/ {
-/*N*/ Vector3D aLclLine3D [2] = { aRect3D [0], aRect3D [1] };
-/*N*/ long nStepMainY = (long) aSizeVec.Y () / nColumnCnt;
-/*N*/ long nStepHelpY = nStepMainY / 2;
-/*N*/
-/*N*/ // hauptgitter auf der X-Ebene, parallel zur X-Achse
-/*N*/ for (i = 0; i <= nColumnCnt; i++)
-/*N*/ {
-/*N*/ aLclLine3D[0].Y() =
-/*N*/ aLclLine3D[1].Y() = aPos.Y() + nStepMainY * i;
-/*N*/ if( pYGridMainGroup )
-/*N*/ Create3DPolyObject (pYGridMainAttr, new SchE3dPolygonObj (aDefltAttr3D, aLclLine3D[0], aLclLine3D[1]),
-/*N*/ CHOBJID_DIAGRAM_Y_GRID_MAIN, pYGridMainGroup);
-/*N*/
-/*N*/ // hilfsgitter auf der X-Ebene, parallel zur X-Achse
-/*N*/ if (pYGridHelpGroup && (i < nColumnCnt))
-/*N*/ {
-/*?*/ aLclLine3D [0].Y () += nStepHelpY;
-/*?*/ aLclLine3D [1].Y () += nStepHelpY;
-/*?*/ Create3DPolyObject (pYGridHelpAttr, new SchE3dPolygonObj (aDefltAttr3D, aLclLine3D[0], aLclLine3D[1]),
-/*?*/ CHOBJID_DIAGRAM_Y_GRID_HELP, pYGridHelpGroup);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aLine3D [0] = aRect3D[0];
-/*N*/ aLine3D [1] = aRect3D[3];
-/*N*/
-/*N*/ long nStepMainX = (long) aSizeVec.X () / nColumnCnt;
-/*N*/ long nStepHelpX = nStepMainX / 2;
-/*N*/
-/*N*/ // hauptgitter auf der X-Ebene, parallel zur Y-Achse
-/*N*/ for (i = 0; i <= nColumnCnt; i++)
-/*N*/ {
-/*N*/ aLine3D[0].X() =
-/*N*/ aLine3D[1].X() = aPos.X() + nStepMainX * i;
-/*N*/ if( pYGridMainGroup )
-/*N*/ Create3DPolyObject (pYGridMainAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*N*/ CHOBJID_DIAGRAM_Y_GRID_MAIN, pYGridMainGroup);
-/*N*/
-/*N*/ // hilfsgitter auf der X-Ebene, parallel zur Y-Achse
-/*N*/ if (pYGridHelpGroup && (i < nColumnCnt))
-/*N*/ {
-/*?*/ aLine3D [0].X () += nStepHelpX;
-/*?*/ aLine3D [1].X () += nStepHelpX;
-/*?*/ Create3DPolyObject (pYGridHelpAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*?*/ CHOBJID_DIAGRAM_Y_GRID_HELP, pYGridHelpGroup);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // Y-Achse zeichnen
-/*N*/ Vector3D aLine3D [2] = { aRect3D [0], aRect3D [1] };
-/*N*/
-/*N*/ // Z-Anteile
-/*N*/ //#47500#
-/*N*/ if (pYAxisGroup && pChartYAxis->IsVisible()) Create3DPolyObject (pYAxisAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*N*/ CHOBJID_LINE, pYAxisGroup);
-/*N*/
-/*N*/ // hauptgitter auf der Z-Ebene, parallel zur Z-Achse
-/*N*/ if( pZGridMainGroup || pZGridHelpGroup )
-/*N*/ {
-/*N*/ Vector3D aLclLine3D [2] = { aRect3D[2], aRect3D[3] };
-/*N*/ long nStepMainZ = (long) aSizeVec.Z () / nRowCnt;
-/*N*/ long nStepHelpZ = nStepMainZ / 2;
-/*N*/
-/*N*/ BOOL bCreateGridLine = ( (aLclLine3D[ 0 ].X() != aLclLine3D[ 1 ].X()) ||
-/*N*/ (aLclLine3D[ 0 ].Y() != aLclLine3D[ 1 ].Y()) );
-/*N*/ // Z() values become equal in the for loop
-/*N*/ // => start and end points would be equal if !bCreateGridLine
-/*N*/
-/*N*/ for (i = 0; i <= nRowCnt; i++)
-/*N*/ {
-/*N*/ aLclLine3D[0].Z() =
-/*N*/ aLclLine3D[1].Z() = aPos.Z() + nStepMainZ * i;
-/*N*/ if( pZGridMainGroup && bCreateGridLine )
-/*N*/ Create3DPolyObject( pZGridMainAttr, new SchE3dPolygonObj( aDefltAttr3D, aLclLine3D[0], aLclLine3D[1] ),
-/*N*/ CHOBJID_DIAGRAM_Z_GRID_MAIN, pZGridMainGroup );
-/*N*/
-/*N*/ // hilfsgitter auf der Z-Ebene, parallel zur Z-Achse
-/*N*/ if (pZGridHelpGroup && (i < nRowCnt))
-/*N*/ {
-/*?*/ aLclLine3D[0].Z() += nStepHelpZ;
-/*?*/ aLclLine3D[1].Z() += nStepHelpZ;
-/*?*/ if( bCreateGridLine )
-/*?*/ Create3DPolyObject( pZGridHelpAttr, new SchE3dPolygonObj( aDefltAttr3D, aLclLine3D[0], aLclLine3D[1] ),
-/*?*/ CHOBJID_DIAGRAM_Z_GRID_HELP, pZGridHelpGroup );
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ Vector3D aLine3D [2] = { aRect3D[0], aRect3D[(nV || (!nV && bSwitchColRow))
-/*N*/ ? 3
-/*N*/ : 1] };
-/*N*/ double fAct = fMinValueY;
-/*N*/
-/*N*/ SfxItemSet aYTextAttr ((const SfxItemSet &) *pYAxisAttr);
-/*N*/ aYTextAttr.Put(XLineStyleItem (XLINE_NONE));
-/*N*/ aYTextAttr.Put(XLineWidthItem (0));
-/*N*/
-/*N*/ // create Y grid. Attention: Some variables are called XGrid...
-/*N*/ if (fMinValueY != fMaxValueY)
-/*N*/ while (fAct <= fMaxValueY)
-/*N*/ {
-/*N*/ double fFact = pChartYAxis->CalcFact(fAct);
-/*N*/
-/*N*/ if (bSwitchColRow)
-/*N*/ {
-/*N*/ // create major gridline
-/*N*/ aLine3D[0].X() = aLine3D[1].X() = fFact * aSizeVec.X();
-/*N*/
-/*N*/ if (pXGridMainGroup)
-/*N*/ Create3DPolyObject(pXGridMainAttr, new SchE3dPolygonObj(aDefltAttr3D,
-/*N*/ aLine3D[0], aLine3D[1]),CHOBJID_DIAGRAM_X_GRID_MAIN,pXGridMainGroup);
-/*N*/
-/*N*/ if (pYAxisGroup && pChartYAxis->HasDescription() && nV)
-/*N*/ {
-/*N*/ Color *pTextColor = NULL;
-/*N*/ SvxColorItem *pOldTextColor = NULL;
-/*N*/
-/*N*/ pNumFormatter->GetOutputString((bPercent)?fAct/100.0:fAct,
-/*N*/ GetNumFmt(CHOBJID_DIAGRAM_Y_AXIS,bPercent), aNumStr, &pTextColor);
-/*N*/
-/*N*/ if( pTextColor ) // BM #60999#
-/*N*/ {
-/*?*/ pOldTextColor = (SvxColorItem*)(aYTextAttr.GetItem( EE_CHAR_COLOR ));
-/*?*/ aYTextAttr.Put(SvxColorItem( *pTextColor ));
-/*N*/ }
-/*N*/
-/*N*/ SdrTextObj *pTextObj = CreateTextObj(CHOBJID_TEXT, Point (),aNumStr,
-/*N*/ aYTextAttr, FALSE,CHADJUST_TOP_RIGHT);
-/*N*/
-/*N*/ if( pOldTextColor )
-/*N*/ {
-/*?*/ aYTextAttr.Put( *pOldTextColor );
-/*N*/ }
-/*N*/
-/*N*/ E3dLabelObj *pE3DLabel = new E3dLabelObj(aLine3D[1],pTextObj);
-/*N*/ aYDescrList.push_back( pE3DLabel );
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // create major gridline
-/*N*/ aLine3D[0].Y() = aLine3D[1].Y() = fFact * aSizeVec.Y();
-/*N*/
-/*N*/ if(pXGridMainGroup)
-/*N*/ Create3DPolyObject(pXGridMainAttr,new SchE3dPolygonObj(aDefltAttr3D,
-/*N*/ aLine3D[0],aLine3D[1]),CHOBJID_DIAGRAM_X_GRID_MAIN, pXGridMainGroup);
-/*N*/ // Y-Achsenwerte
-/*N*/ if (pYAxisGroup && pChartYAxis->HasDescription() && nV)
-/*N*/ {
-/*N*/ Color *pTextColor = NULL;
-/*N*/ SvxColorItem *pOldTextColor = NULL;
-/*N*/
-/*N*/ pNumFormatter->GetOutputString((bPercent)?fAct/100.0:fAct,
-/*N*/ GetNumFmt(CHOBJID_DIAGRAM_Y_AXIS,bPercent), aNumStr, &pTextColor);
-/*N*/
-/*N*/ if( pTextColor ) // BM #60999#
-/*N*/ {
-/*?*/ pOldTextColor = (SvxColorItem*)(aYTextAttr.GetItem( EE_CHAR_COLOR ));
-/*?*/ aYTextAttr.Put(SvxColorItem( *pTextColor ));
-/*N*/ }
-/*N*/
-/*N*/ // erzeuge das 3D-textobjekt
-/*N*/ SdrTextObj *pTextObj = CreateTextObj(CHOBJID_TEXT, Point (),
-/*N*/ aNumStr,
-/*N*/ aYTextAttr, FALSE,CHADJUST_CENTER_RIGHT);
-/*N*/
-/*N*/ if( pOldTextColor )
-/*N*/ {
-/*?*/ aYTextAttr.Put( *pOldTextColor );
-/*N*/ }
-/*N*/
-/*N*/ E3dLabelObj *pE3DLabel = new E3dLabelObj(aLine3D [1],pTextObj);
-/*N*/ aYDescrList.push_back( pE3DLabel );
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ IncValue(fAct, fValueStepMainY, bYLogarithm);
-/*N*/ }
-/*N*/
-/*N*/ fAct = fMinValueY;
-/*N*/ double fActMain = fAct; // This is used for calculating the positions of main grid lines.
-/*N*/
-/*N*/ if (pXGridHelpGroup && (fMinValueY != fMaxValueY))
-/*N*/ {
-/*?*/ IncValue(fAct, fValueStepHelpY, FALSE);
-/*?*/ if (bSwitchColRow)
-/*?*/ {
-/*?*/ for (;;)
-/*?*/ {
-/*?*/ double fPos = pChartYAxis->CalcFact(fAct ) * aSizeVec.X();
-/*?*/ if (fPos > aSizeVec.X()) break;
-/*?*/
-/*?*/ // If there is a main grid then ommit creating help grid lines coinciding with main grid lines.
-/*?*/ if (pXGridMainGroup)
-/*?*/ {
-/*?*/ // Advance main raw y position to at least the raw help position.
-/*?*/ while (fActMain < fAct-EPSILON)
-/*?*/ IncValue(fActMain, fValueStepMainY, bYLogarithm);
-/*?*/ // If both positions fall together, then do not create the help line and try the next position.
-/*?*/ if (fabs(fAct - fActMain) < EPSILON)
-/*?*/ {
-/*?*/ IncValue(fAct, fValueStepHelpY, FALSE);
-/*?*/ continue;
-/*?*/ }
-/*?*/ }
-/*?*/
-/*?*/ aLine3D[0].X() =
-/*?*/ aLine3D[1].X() = fPos;
-/*?*/ Create3DPolyObject (pXGridHelpAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*?*/ CHOBJID_DIAGRAM_X_GRID_HELP, pXGridHelpGroup);
-/*?*/
-/*?*/ // In case of a help grid with a main grid, draw only every other line.
-/*?*/ IncValue(fAct, fValueStepHelpY, FALSE);
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ for (;;)
-/*?*/ {
-/*?*/ double fPos = pChartYAxis->CalcFact(fAct ) * aSizeVec.Y();
-/*?*/ if (fPos > aSizeVec.Y()) break;
-/*?*/
-/*?*/ // If there is a main grid then ommit creating help grid lines coinciding with main grid lines.
-/*?*/ if (pXGridMainGroup)
-/*?*/ {
-/*?*/ // Advance main raw y position to at least the raw help position.
-/*?*/ while (fActMain < fAct-EPSILON)
-/*?*/ IncValue(fActMain, fValueStepMainY, bYLogarithm);
-/*?*/ // If both positions fall together, then do not create the help line and try the next position.
-/*?*/ if (fabs(fAct - fActMain) < EPSILON)
-/*?*/ {
-/*?*/ IncValue(fAct, fValueStepHelpY, FALSE);
-/*?*/ continue;
-/*?*/ }
-/*?*/ }
-/*?*/
-/*?*/ aLine3D[0].Y() =
-/*?*/ aLine3D[1].Y() = fPos;
-/*?*/ Create3DPolyObject (pXGridHelpAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*?*/ CHOBJID_DIAGRAM_X_GRID_HELP, pXGridHelpGroup);
-/*?*/
-/*?*/ // In case of a help grid with a main grid, draw only every other line.
-/*?*/ IncValue(fAct, fValueStepHelpY, FALSE);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ case 2: // floor
-/*N*/ {
-/*N*/ // BM: create 'thick' floor
-/*N*/ Rectangle aRect( 0, 0, (long)aSizeVec.X(), (long)aSizeVec.Z() );
-/*N*/ PolyPolygon aPolyPolygon;
-/*N*/ Polygon aPoly( aRect );
-/*N*/ aPolyPolygon.Insert( aPoly );
-/*N*/
-/*N*/ E3dExtrudeObj* pFloorObj = new SchE3dExtrudeObj( aDefltAttr3D, aPolyPolygon, fFloorWidth );
-/*N*/ Matrix4D aMatrix;
-/*N*/ aMatrix.RotateX( 90.0 * F_PI180 );
-/*N*/ aMatrix.TranslateZ( aSizeVec.Z() );
-/*N*/ aMatrix.Translate( aPos );
-/*N*/
-/*N*/ pFloorObj->SetModel( this );
-/*N*/ pFloorObj->InsertUserData( new SchObjectId( CHOBJID_DIAGRAM_FLOOR ) );
-/*N*/ rScene.Insert3DObj( pFloorObj );
-/*N*/
-/*N*/ pFloorObj->SetItemSet(*pDiagramFloorAttr);
-/*N*/
-/*N*/ pFloorObj->NbcSetTransform( aMatrix * aShift );
-/*N*/
-/*N*/ Vector3D aEndPos( aPos );
-/*N*/ aEndPos.Z() += aSizeVec.Z();
-/*N*/
-/*N*/ Vector3D aLine3D [2] = { aPos, aEndPos };
-/*N*/
-/*N*/ SfxItemSet aXTextAttr ((const SfxItemSet &) *pXAxisAttr);
-/*N*/ aXTextAttr.Put(XLineStyleItem (XLINE_NONE));
-/*N*/ aXTextAttr.Put(XLineWidthItem (0));
-/*N*/
-/*N*/ //#47500#
-/*N*/ if (pZAxisGroup && pChartZAxis->IsVisible()) Create3DPolyObject( pZAxisAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*N*/ CHOBJID_LINE, pZAxisGroup );
-/*N*/
-/*N*/ if (bSwitchColRow)
-/*N*/ {
-/*N*/ long nStepMainY = (long) aSizeVec.Y () / nColumnCnt;
-/*N*/ long nStepHelpY = nStepMainY / 2;
-/*N*/
-/*N*/ for (i = 0; i <= nColumnCnt; i++)
-/*N*/ {
-/*N*/ // erzeuge hilfslinie
-/*N*/ aLine3D[0].Y() =
-/*N*/ aLine3D[1].Y() = aPos.Y() + nStepMainY * i;
-/*N*/
-/*N*/ if (pYGridMainGroup) Create3DPolyObject (pYGridMainAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*N*/ CHOBJID_DIAGRAM_Y_GRID_MAIN, pYGridMainGroup);
-/*N*/
-/*N*/ if ((i < nColumnCnt) && pXAxisGroup && pChartXAxis->HasDescription())
-/*N*/ {
-/*N*/ // bei tiefen diagrammtypen muessen die beschriftungen auf halbem abstand
-/*N*/ // untergebracht sein
-/*N*/ Vector3D aTextPos = aLine3D[1];
-/*N*/
-/*N*/ if (bPartDescr) aTextPos.Y() += nStepHelpY / 2;
-/*N*/
-/*N*/
-/*N*/ SdrTextObj *pTextObj = CreateTextObj(CHOBJID_TEXT,
-/*N*/ Point (),ColText(i),
-/*N*/ aXTextAttr, FALSE,CHADJUST_CENTER_RIGHT);
-/*N*/ E3dLabelObj *pE3DLabel = new E3dLabelObj
-/*N*/ (aTextPos,pTextObj );
-/*N*/ pE3DLabel->SetMarkProtect(TRUE);
-/*N*/ aXDescrList.push_back( pE3DLabel );
-/*N*/ }
-/*N*/
-/*N*/ // hilfslinien koennen mit erzeugt werden
-/*N*/ if (pYGridHelpGroup && (i < nColumnCnt))
-/*N*/ {
-/*?*/ aLine3D[0].Y() += nStepHelpY;
-/*?*/ aLine3D[1].Y() += nStepHelpY;
-/*?*/ Create3DPolyObject (pYGridHelpAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*?*/ CHOBJID_DIAGRAM_Y_GRID_HELP, pYGridHelpGroup);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ long nStepMainX = (long) aSizeVec.X () / nColumnCnt;
-/*N*/ long nStepHelpX = nStepMainX / 2;
-/*N*/
-/*N*/ for (i = 0; i <= nColumnCnt; i++)
-/*N*/ {
-/*N*/ // erzeuge hilfslinie
-/*N*/ aLine3D[0].X() =
-/*N*/ aLine3D[1].X() = aPos.X() + nStepMainX * i;
-/*N*/
-/*N*/ if (pYGridMainGroup) Create3DPolyObject (pYGridMainAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*N*/ CHOBJID_DIAGRAM_Y_GRID_MAIN, pYGridMainGroup);
-/*N*/
-/*N*/ if ((i < nColumnCnt) && pXAxisGroup && pChartXAxis->HasDescription())
-/*N*/ {
-/*N*/ // bei tiefen diagrammtypen muessen die beschriftungen auf halbem abstand
-/*N*/ // untergebracht sein
-/*N*/ Vector3D aTextPos = aLine3D[1];
-/*N*/
-/*N*/ if (bPartDescr) aTextPos.X() += nStepHelpX;
-/*N*/
-/*N*/
-/*N*/ SdrTextObj *pTextObj = CreateTextObj(CHOBJID_TEXT,
-/*N*/ Point (),ColText(i),
-/*N*/ aXTextAttr, FALSE,CHADJUST_TOP_RIGHT);
-/*N*/ E3dLabelObj *pE3DLabel = new E3dLabelObj (aTextPos,pTextObj );
-/*N*/ pE3DLabel->SetMarkProtect(TRUE);
-/*N*/ aXDescrList.push_back( pE3DLabel );
-/*N*/ }
-/*N*/
-/*N*/ // hilfslinien koennen mit erzeugt werden
-/*N*/ if (pYGridHelpGroup && (i < nColumnCnt))
-/*N*/ {
-/*?*/ aLine3D[0].X() += nStepHelpX;
-/*?*/ aLine3D[1].X() += nStepHelpX;
-/*?*/ Create3DPolyObject (pYGridHelpAttr, new SchE3dPolygonObj (aDefltAttr3D, aLine3D[0], aLine3D[1]),
-/*?*/ CHOBJID_DIAGRAM_Y_GRID_HELP, pYGridHelpGroup);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ aLine3D[ 0 ] =
-/*N*/ aLine3D[ 1 ] = aEndPos;
-/*N*/ aLine3D[ 1 ].X() += aSizeVec.X();
-/*N*/
-/*N*/ SfxItemSet aZTextAttr ((const SfxItemSet &) *pZAxisAttr);
-/*N*/ aZTextAttr.Put(XLineStyleItem (XLINE_NONE));
-/*N*/ aZTextAttr.Put(XLineWidthItem (0));
-/*N*/
-/*N*/ long nStepMainZ = (long) aSizeVec.Z () / nRowCnt;
-/*N*/ long nStepHelpZ = nStepMainZ / 2;
-/*N*/
-/*N*/ BOOL bCreateGridLine = ( (aLine3D[ 0 ].X() != aLine3D[ 1 ].X()) ||
-/*N*/ (aLine3D[ 0 ].Y() != aLine3D[ 1 ].Y()) );
-/*N*/ // Z() values become equal in the for loop
-/*N*/ // => start and end points would be equal
-/*N*/
-/*N*/ for (i = 0; i <= nRowCnt; i++)
-/*N*/ {
-/*N*/ // create main gridline
-/*N*/ aLine3D[0].Z() =
-/*N*/ aLine3D[1].Z() = aPos.Z() + nStepMainZ * i;
-/*N*/
-/*N*/ if( pZGridMainGroup && bCreateGridLine )
-/*N*/ Create3DPolyObject( pZGridMainAttr, new SchE3dPolygonObj( aDefltAttr3D, aLine3D[ 0 ], aLine3D[ 1 ] ),
-/*N*/ CHOBJID_DIAGRAM_Z_GRID_MAIN, pZGridMainGroup );
-/*N*/
-/*N*/ // bei tiefen diagrammtypen muessen die beschriftungen auf halbem abstand
-/*N*/ // untergebracht sein
-/*N*/ Vector3D aTextPos = aLine3D[1];
-/*N*/
-/*N*/ if (bPartDescr) aTextPos.Z () += nStepHelpZ;
-/*N*/
-/*N*/ if ((i < nRowCnt) && (nRowCnt > 1) && pZAxisGroup && pChartZAxis->HasDescription())
-/*N*/ {
-/*N*/
-/*N*/ SdrTextObj *pTextObj=CreateTextObj(CHOBJID_TEXT, Point (),
-/*N*/ RowText(nRowCnt - 1 - i), aZTextAttr,
-/*N*/ FALSE, CHADJUST_TOP_LEFT) ;
-/*N*/
-/*N*/ E3dLabelObj *pE3DLabel = new E3dLabelObj(aTextPos,pTextObj);
-/*N*/ pE3DLabel->SetMarkProtect(TRUE);
-/*N*/ aZDescrList.insert( aZDescrList.begin(), pE3DLabel );//ZListe umgekehrt füllen
-/*N*/ }
-/*N*/
-/*N*/ if (pZGridHelpGroup && (i < nRowCnt))
-/*N*/ {
-/*?*/ aLine3D[0].Z() += nStepHelpZ;
-/*?*/ aLine3D[1].Z() += nStepHelpZ;
-/*?*/ if( pZGridHelpGroup && bCreateGridLine )
-/*?*/ Create3DPolyObject( pZGridHelpAttr, new SchE3dPolygonObj( aDefltAttr3D, aLine3D[0], aLine3D[1] ),
-/*?*/ CHOBJID_DIAGRAM_Z_GRID_HELP, pZGridHelpGroup );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pScene->InsertAllTitleText (aXDescrList, pXAxisGroup,SCH_AXIS_ID_X);
-/*N*/ pScene->InsertAllTitleText (aYDescrList, pYAxisGroup,SCH_AXIS_ID_Y);
-/*N*/ pScene->InsertAllTitleText (aZDescrList, pZAxisGroup,SCH_AXIS_ID_Z);
-/*N*/
-/*N*/ if (pXGridHelpGroup) rScene.Insert3DObj(pXGridHelpGroup);
-/*N*/ if (pYGridHelpGroup) rScene.Insert3DObj(pYGridHelpGroup);
-/*N*/ if (pZGridHelpGroup) rScene.Insert3DObj(pZGridHelpGroup);
-/*N*/ if (pXGridMainGroup) rScene.Insert3DObj(pXGridMainGroup);
-/*N*/ if (pYGridMainGroup) rScene.Insert3DObj(pYGridMainGroup);
-/*N*/ if (pZGridMainGroup) rScene.Insert3DObj(pZGridMainGroup);
-/*N*/ if (pXAxisGroup) rScene.Insert3DObj(pXAxisGroup);
-/*N*/ if (pYAxisGroup) rScene.Insert3DObj(pYAxisGroup);
-/*N*/ if (pZAxisGroup) rScene.Insert3DObj(pZAxisGroup);
-/*N*/
-/*N*/ //TVM: aus FitInSnapRect
-/*N*/ //TVM: Bound statt Logic
-/*N*/ Position3DAxisTitles(rScene.GetBoundRect());
-/*N*/ }
-
-/*************************************************************************
-|*
-|* tiefes 3D-Diagramme erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjGroup* ChartModel::Create3DDeepChart(Rectangle &rRect)
-/*N*/ {
-/*N*/ const long nGapWidth = 10;
-/*N*/
-/*N*/ pScene = CreateScene (rRect, *aLightVec, fSpotIntensity, aSpotColor,
-/*N*/ fAmbientIntensity, aAmbientColor);
-/*N*/
-/*N*/ Vector3D aTextPos3D;
-/*N*/ Polygon3D aRect3D(4);
-/*N*/ Polygon3D aTriangle3D(3);
-/*N*/ Polygon3D aFrontSide;
-/*N*/ Polygon3D aBackSide;
-/*N*/ BOOL bSwitchColRow = IsBar();
-/*N*/ E3dDefaultAttributes aDefltAttr3D;
-/*N*/
-/*N*/ CreateAndInsert3DAxesTitles (rRect, bSwitchColRow);
-/*N*/
-/*N*/ long nX = 0;
-/*N*/ long nY = 0;
-/*N*/ long nW = FIXED_SIZE_FOR_3D_CHART_VOLUME;
-/*N*/ long nH = FIXED_SIZE_FOR_3D_CHART_VOLUME;
-/*N*/ long nZ = (FIXED_SIZE_FOR_3D_CHART_VOLUME * 4) / 6;
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/ short nCol, nRow;
-/*N*/
-/*N*/ Polygon aFrontExtrude(1+nColCnt*2);
-/*N*/
-/*N*/ long nGapX = nW * nGapWidth / 1000;
-/*N*/ long nGapY = nH * nGapWidth / 1000;
-/*N*/ long nGapZ = nZ * nGapWidth / 1000;
-/*N*/ long nPartDepth = nZ / nRowCnt;
-/*N*/ long nPartWidth;
-/*N*/ long nBarWidthX;
-/*N*/ long nBarWidthZ = nPartDepth - nGapZ * 2;
-/*N*/
-/*N*/ BOOL bLogarithm = ((const SfxBoolItem&) pChartYAxis->GetItemSet()->Get(SCHATTR_AXIS_LOGARITHM)).GetValue();
-/*N*/
-/*N*/ BOOL bPartDescr;
-/*N*/ long nDepth = ((eChartStyle == CHSTYLE_3D_BAR) ||
-/*N*/ (eChartStyle == CHSTYLE_3D_COLUMN) ||
-/*N*/ (eChartStyle == CHSTYLE_3D_STRIPE) ||
-/*N*/ (eChartStyle == CHSTYLE_3D_AREA))
-/*N*/ ? -nZ
-/*N*/ : nPartDepth;
-/*N*/
-/*N*/ nPartWidth = (eChartStyle == CHSTYLE_3D_BAR)
-/*N*/ ? nH / nColCnt
-/*N*/ : ((eChartStyle == CHSTYLE_3D_COLUMN)
-/*N*/ ? nW / nColCnt
-/*N*/ : ((nColCnt > 1)
-/*N*/ ? nW / (nColCnt - 1)
-/*N*/ : nW / nColCnt));
-/*N*/ nBarWidthX = (eChartStyle == CHSTYLE_3D_BAR)
-/*N*/ ? nPartWidth - nGapY * 2
-/*N*/ : nPartWidth - nGapX * 2;
-/*N*/ bPartDescr = TRUE;
-/*N*/
-/*N*/ Camera3D aCam(pScene->GetCamera());
-/*N*/ Vector3D aCamPos(nX + nW/2, nH/2, nW/2);
-/*N*/ Vector3D aLookAt(nX + nW/2, nH/2, nDepth/2);
-/*N*/ aCam.SetViewWindow(-nW/2, -nH/2, nW, nH);
-/*N*/ aCam.SetDefaults(aCamPos, aLookAt, 80, DEG2RAD(-(double)nZAngle / 10.0));
-/*N*/ aCam.Reset();
-/*N*/ aCam.SetProjection(eProjection);
-/*N*/ aCam.RotateAroundLookAt(DEG2RAD((double)nYAngle / 10.0), DEG2RAD((double)nXAngle / 10.0));
-/*N*/ aCam.SetAspectMapping(AS_HOLD_SIZE);
-/*N*/ pScene->SetCamera(aCam);
-/*N*/
-/*N*/ nY = 0;
-/*N*/
-/*N*/ Vector3D a3DPos(nX, nY, nDepth);
-/*N*/ Vector3D a3DSize(nW, nH, -nDepth);
-/*N*/
-/*N*/ Create3DBackplanes(rRect, a3DPos, a3DSize, *pScene,
-/*N*/ bPartDescr, FALSE, bLogarithm, FALSE, CHSTACK_NONE, FALSE, FALSE,
-/*N*/ bSwitchColRow);
-/*N*/
-/*N*/ nY = (long)(pChartYAxis->CalcFactOrigin() * nH);
-/*N*/ a3DPos = Vector3D(0, nY, nDepth - nBarWidthZ + nPartDepth - nGapZ);
-/*N*/
-/*N*/ DataDescription aDescription;
-/*N*/
-/*N*/ for (nRow = nRowCnt-1; nRow >= 0; nRow--)
-/*N*/ {
-/*N*/ E3dScene* pStripe = NULL;
-/*N*/
-/*N*/ // create row-groups. Insertion into main scene is done at the end of
-/*N*/ // the for loop (#109628#)
-/*N*/ E3dScene* pRowGroup = Create3DScene (CHOBJID_DIAGRAM_ROWGROUP);
-/*N*/ // #102789# some unset attributes may be propagated to the
-/*N*/ // top-level scene
-/*N*/ pRowGroup->SetItemSet( pScene->GetItemSet() );
-/*N*/ pRowGroup->InsertUserData(new SchDataRow(nRow));
-/*N*/
-/*N*/ if ( eChartStyle == CHSTYLE_3D_STRIPE )
-/*N*/ pStripe = pRowGroup;
-/*N*/
-/*N*/ a3DPos.X() = nX;
-/*N*/ a3DPos.Y() = nY;
-/*N*/
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_3D_COLUMN:
-/*N*/
-/*N*/ a3DPos.X() += nGapX;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/
-/*N*/ // #67333# the y axis of bar charts is not interrested in negative values
-/*N*/ a3DPos.Y() = nGapY; // += nGapY;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/
-/*?*/ aBackSide[0] = a3DPos;
-/*?*/ aFrontSide[0] = a3DPos;
-/*?*/ aFrontSide[0].Z() += nBarWidthZ;
-/*?*/
-/*?*/ aFrontExtrude[0] =Point((long)a3DPos.X(),(long)-a3DPos.Y());
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ Vector3D aLastValue;
-/*N*/ short nPoints = 0;
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fData = GetData(nCol, nRow);
-/*N*/
-/*N*/ SfxItemSet aDataPointAttr(GetFullDataPointAttr(nCol, nRow));
-/*N*/
-/*N*/ SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)aDataPointAttr.
-/*N*/ Get(SCHATTR_DATADESCR_DESCR)).GetValue();
-/*N*/
-/*N*/ BOOL bShowDataDescrLocal = (eDescr != CHDESCR_NONE) && bShowDataDescr && // bShowDataDescr is class member
-/*N*/ fData != DBL_MIN;
-/*N*/ if( bShowDataDescrLocal )
-/*N*/ {
- /**************************************************************
- * DataDescription erforderlich
- **************************************************************/
-/*N*/
-/*?*/ aDescription.eDescr = eDescr;
-/*?*/ aDescription.bSymbol = ((const SfxBoolItem&)aDataPointAttr.
-/*?*/ Get(SCHATTR_DATADESCR_SHOW_SYM)).GetValue();
-/*N*/ }
-/*N*/
-/*N*/ if (eChartStyle == CHSTYLE_3D_COLUMN)
-/*N*/ {
-/*N*/ double fTop, fBottom;
-/*N*/ if (fData < fOriginY)
-/*N*/ {
-/*?*/ fTop = fOriginY;
-/*?*/ fBottom = fData;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fTop = fData;
-/*N*/ fBottom = fOriginY;
-/*N*/ }
-/*N*/
-/*N*/ long nTop = Min((long)(pChartYAxis->CalcFact(fTop) * nH), nH);
-/*N*/ long nBottom = Max((long)(pChartYAxis->CalcFact(fBottom) * nH), 0L);
-/*N*/
-/*N*/ if( fData != DBL_MIN )
-/*N*/ {
-/*N*/ long nBarHeight = nTop - nBottom + 1;
-/*N*/ a3DPos.Y() = nBottom;
-/*N*/
-/*N*/ if( nTop > nBottom )
-/*N*/ pRowGroup->Insert3DObj(Create3DBar(a3DPos, Vector3D(nBarWidthX, nBarHeight, nBarWidthZ), nCol, nRow,
-/*N*/ aDataPointAttr, FALSE,0,pChartYAxis->CalcFactOrigin()*(double)nH,0));
-/*N*/
-/*N*/ if( bShowDataDescrLocal )
-/*N*/ {
-/*?*/ aDescription.aTextPos3D = a3DPos;
-/*?*/ aDescription.aTextPos3D.X() += nBarWidthX / 2;
-/*?*/ aDescription.aTextPos3D.Y() += (fData<0)? 0: nBarHeight;
-/*?*/ aDescription.aTextPos3D.Z() += nBarWidthZ / 2;
-/*?*/ aDescription.fValue = GetData(nCol, nRow, // #67378#
-/*?*/ ((aDescription.eDescr == CHDESCR_PERCENT) ||
-/*?*/ (aDescription.eDescr == CHDESCR_TEXTANDPERCENT)) );
-/*?*/ aDescription.eAdjust = CHADJUST_CENTER_CENTER;
-/*N*/ }
-/*N*/ }
-/*N*/ else if (bShowDataDescrLocal)
-/*N*/ {
-/*N*/ aDescription.fValue = DBL_MIN;
-/*N*/ }
-/*N*/ }
-/*N*/ else if (eChartStyle == CHSTYLE_3D_BAR)
-/*N*/ {
-/*N*/ double fRight, fLeft;
-/*N*/ if (fData < fOriginY)
-/*N*/ {
-/*?*/ fRight = fOriginY;
-/*?*/ fLeft = fData;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fRight = fData;
-/*N*/ fLeft = fOriginY;
-/*N*/ }
-/*N*/
-/*N*/ long nRight = Min((long)(pChartYAxis->CalcFact(fRight) * nW), nW);
-/*N*/ long nLeft = Max((long)(pChartYAxis->CalcFact(fLeft) * nW), 0L);
-/*N*/
-/*N*/ if( fData != DBL_MIN )
-/*N*/ {
-/*N*/ long nBarWidth = nRight - nLeft + 1;
-/*N*/ a3DPos.X() = nLeft;
-/*N*/
-/*N*/ if( nRight > nLeft )
-/*N*/ pRowGroup->Insert3DObj(Create3DBar(a3DPos, Vector3D(nBarWidth, nBarWidthX, nBarWidthZ), nCol, nRow,
-/*N*/ aDataPointAttr,FALSE,0,pChartYAxis->CalcFactOrigin()*(double)nW,0));
-/*N*/
-/*N*/ if (bShowDataDescrLocal)
-/*N*/ {
-/*?*/ aDescription.aTextPos3D = a3DPos;
-/*?*/
-/*?*/ // #67379# corrected orientation of description
-/*?*/ aDescription.aTextPos3D.X() += (fData<0)? 0: nBarWidth;
-/*?*/ aDescription.aTextPos3D.Y() += nBarWidthX / 2;
-/*?*/ aDescription.aTextPos3D.Z() += nBarWidthZ / 2;
-/*?*/
-/*?*/ aDescription.fValue = GetData(nCol, nRow, // #67378#
-/*?*/ ((aDescription.eDescr == CHDESCR_PERCENT) ||
-/*?*/ (aDescription.eDescr == CHDESCR_TEXTANDPERCENT)) );
-/*?*/ aDescription.eAdjust = CHADJUST_CENTER_CENTER;
-/*N*/ }
-/*N*/ }
-/*N*/ else if (bShowDataDescrLocal)
-/*N*/ {
-/*?*/ aDescription.fValue = DBL_MIN;
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ long nPos = (long)(pChartYAxis->CalcFact(fData ) * nH);
-/*?*/ if (nPos < 0L) nPos = 0L;
-/*?*/ else if (nPos > nH) nPos = nH;
-/*?*/
-/*?*/ const SfxItemSet& rDataRowAttr = GetDataRowAttr(nRow);
-/*?*/
-/*?*/ a3DPos.Y() = nPos;
-/*?*/
-/*?*/ switch (eChartStyle)
-/*?*/ {
-/*?*/ case CHSTYLE_3D_STRIPE:
-/*?*/ case CHSTYLE_3D_AREA:
-/*?*/ {
-/*?*/ UINT16 nRev = nColCnt + 1 - nPoints;
-/*?*/ BOOL bValidData = TRUE;
-/*?*/
-/*?*/ if ((eChartStyle == CHSTYLE_3D_AREA) && (fData == DBL_MIN))
-/*?*/ {
-/*?*/ fData = 0.0;
-/*?*/ bValidData = FALSE;
-/*?*/ }
-/*?*/
-/*?*/ if (fData != DBL_MIN)
-/*?*/ {
-/*?*/ //Stripes:
-/*?*/ aFrontSide[nRev] = a3DPos;
-/*?*/ aFrontSide[nRev].Z() += nBarWidthZ;
-/*?*/ aBackSide[nPoints] = a3DPos;
-/*?*/ //Area:
-/*?*/ aFrontExtrude[nRev] = Point((long)a3DPos.X(),(long)-a3DPos.Y());
-/*?*/
-/*?*/ if (!nPoints)
-/*?*/ {
-/*?*/ //Stripes:
-/*?*/ aFrontSide[0] = a3DPos;
-/*?*/ aFrontSide[0].Y() = 0;
-/*?*/ aFrontSide[0].Z() += nBarWidthZ;
-/*?*/ aBackSide[nColCnt + 1] = aFrontSide[0];
-/*?*/ //Area:
-/*?*/ aFrontExtrude[0].X() = (long)a3DPos.X();
-/*?*/ aFrontExtrude[0].Y() = 0;
-/*?*/ }
-/*?*/ else if(eChartStyle == CHSTYLE_3D_STRIPE)
-/*?*/ {
-/*?*/ if (nColCnt > 1)
-/*?*/ {
-/*?*/ // deckel
-/*?*/ aRect3D[0] = aBackSide[nPoints - 1];
-/*?*/ aRect3D[1] = aFrontSide[nRev + 1];
-/*?*/ aRect3D[2] = aFrontSide[nRev];
-/*?*/ aRect3D[3] = aBackSide[nPoints];
-/*?*/ E3dPolygonObj *pPolyObj=new SchE3dPolygonObj (aDefltAttr3D, aRect3D);
-/*?*/
-/*?*/ pPolyObj->SetItem(Svx3DDoubleSidedItem(TRUE)); //Neu 18.5.98
-/*?*/
-/*?*/ Create3DPolyObject (&rDataRowAttr,pPolyObj,CHOBJID_AREA, pStripe);
-/*?*/ }
-/*?*/ }
-/*?*/ nPoints ++;
-/*?*/ }
-/*?*/ else bValidData = FALSE;
-/*?*/
-/*?*/ if (nPoints && (eChartStyle==CHSTYLE_3D_AREA) && (nCol==nColCnt-1))
-/*?*/ {
-/*?*/ Vector3D aFill = (fData == DBL_MIN) ? aLastValue : a3DPos;
-/*?*/ for (short nFill = nPoints;nFill <= nColCnt;nFill ++)
-/*?*/ {
-/*?*/ //aFrontSide wird noch für die Beschriftung gebraucht
-/*?*/ aFrontSide[nColCnt+1-nFill]=aFill;
-/*?*/ aFrontSide[nColCnt+1-nFill].Y()=0;
-/*?*/ aFrontSide[nColCnt+1-nFill].Z() += nBarWidthZ;
-/*?*/ aFrontExtrude[nColCnt+1-nFill]=Point((long)aFill.X(),0);
-/*?*/ }
-/*?*/
-/*?*/ if (nColCnt > 1)
-/*?*/ {
-/*?*/ PolyPolygon aPolyPoly;
-/*?*/ aFrontExtrude[nColCnt*2]=aFrontExtrude[0];
-/*?*/ aPolyPoly.Insert(aFrontExtrude);
-/*?*/ E3dExtrudeObj* pExtrudeObj= new SchE3dExtrudeObj(aDefltAttr3D, aPolyPoly, nBarWidthZ);
-/*?*/ Matrix4D aMatrix;
-/*?*/ aMatrix.Translate(Vector3D(0,0,a3DPos.Z() )); //nDepth - nBarWidthZ + nPartDepth - nGapZ
-/*?*/ pExtrudeObj->NbcSetTransform(aMatrix);
-/*?*/ Create3DExtrudePolyObj(&rDataRowAttr,pExtrudeObj,CHOBJID_AREA,pRowGroup);
-/*?*/ }
-/*?*/ } //Area
-/*?*/
-/*?*/ if (fData == DBL_MIN) nPoints = 0;
-/*?*/
-/*?*/ if (bShowDataDescrLocal)
-/*?*/ {
-/*?*/ aDescription.aTextPos3D = aFrontSide[nRev];
-/*?*/
-/*?*/ if (bValidData)
-/*?*/ {
-/*?*/ if ((aDescription.eDescr == CHDESCR_PERCENT) ||
-/*?*/ (aDescription.eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ {
-/*?*/ aDescription.fValue = GetData (nCol, nRow, TRUE, TRUE);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ aDescription.fValue = GetData (nCol, nRow);
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ aDescription.fValue = DBL_MIN;
-/*?*/ }
-/*?*/
-/*?*/ aDescription.eAdjust = CHADJUST_CENTER_CENTER;
-/*?*/ }
-/*?*/
-/*?*/ break;
-/*?*/ }
-/*?*/
-/*?*/ case CHSTYLE_3D_SURFACE:
-/*?*/ if (nColCnt > 1)
-/*?*/ {
-/*?*/ aTriangle3D[0] = a3DPos;
-/*?*/ aTriangle3D[1] = a3DPos;
-/*?*/ aTriangle3D[1].Z() += nPartDepth;
-/*?*/ aTriangle3D[1].Y() =
-/*?*/ (long)(pChartYAxis->CalcFact(GetData(nCol, nRow-1)) * nH);
-/*?*/ aTriangle3D[2] = aTriangle3D[1];
-/*?*/ aTriangle3D[2].X() += nPartWidth;
-/*?*/ aTriangle3D[2].Y() =
-/*?*/ (long)(pChartYAxis->CalcFact(GetData(nCol+1, nRow-1)) * nH);
-/*?*/ aTriangle3D[3] = aTriangle3D[2];
-/*?*/ aTriangle3D[3].Z() -= nPartDepth;
-/*?*/ aTriangle3D[3].Y() =
-/*?*/ (long)(pChartYAxis->CalcFact(GetData(nCol+1, nRow)) * nH);
-/*?*/
-/*?*/ Create3DPolyObject (&rDataRowAttr, new SchE3dPolygonObj (aDefltAttr3D, aTriangle3D, TRUE, TRUE),
-/*?*/ CHOBJID_AREA, pRowGroup);
-/*?*/
-/*?*/ aTriangle3D[0] = aTriangle3D[1];
-/*?*/ aTriangle3D[1] = aTriangle3D[2];
-/*?*/ aTriangle3D[2] = a3DPos;
-/*?*/ Create3DPolyObject (&rDataRowAttr, new SchE3dPolygonObj (aDefltAttr3D, aTriangle3D, TRUE, TRUE),
-/*?*/ CHOBJID_AREA, pRowGroup);
-/*?*/ }
-/*?*/ break;
- default: break;
-/*?*/ }
-/*?*/ }
-/*N*/
-/*N*/ aLastValue = a3DPos;
-/*N*/ if (eChartStyle == CHSTYLE_3D_BAR) a3DPos.Y() += nPartWidth;
-/*N*/ else a3DPos.X() += nPartWidth;
-/*N*/
-/*N*/ if( pScene && bShowDataDescrLocal )
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/
-/*N*/ }// end for nCol
-/*N*/
-/*N*/ // #109628# insert row groups into main scene only if they contain data
-/*N*/ // points
-/*N*/ if( pRowGroup->GetSubList()->GetObjCount() > 0 )
-/*N*/ {
-/*?*/ pScene->Insert3DObj( pRowGroup );
-/*N*/ }
-
-/*N*/ a3DPos.Z() += nPartDepth;
-/*N*/ }//end for nRow
-/*N*/
-/*N*/ return (SdrObjGroup*) pScene;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* flache 3D-Diagramme erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjGroup* ChartModel::Create3DFlatChart(Rectangle &rRect)
-/*N*/ {
-/*N*/ const long nGapWidth = 10;
-/*N*/
-/*N*/ pScene = CreateScene (rRect, *aLightVec, fSpotIntensity, aSpotColor,
-/*N*/ fAmbientIntensity, aAmbientColor);
-/*N*/
-/*N*/ Vector3D aTextPos3D;
-/*N*/
-/*N*/ Polygon3D aFrontSide;
-/*N*/
-/*N*/ BOOL bSwitchColRow = IsBar();
-/*N*/ E3dDefaultAttributes aDefltAttr3D;
-/*N*/
-/*N*/ CreateAndInsert3DAxesTitles (rRect, bSwitchColRow);
-/*N*/
-/*N*/ BOOL bPercent = IsPercent();
-/*N*/
-/*N*/
-/*N*/ USHORT eStackMode;
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ eStackMode = CHSTACK_MINMAX;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ eStackMode = CHSTACK_OVERLAP;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ eStackMode = CHSTACK_NONE;
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ long nX = 0;
-/*N*/ long nY = 0;
-/*N*/ long nW = FIXED_SIZE_FOR_3D_CHART_VOLUME;
-/*N*/ long nH = FIXED_SIZE_FOR_3D_CHART_VOLUME;
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/ long nCol, nRow;
-/*N*/
-/*N*/ long nGapX = nW * nGapWidth / 1000;
-/*N*/ long nGapY = nH * nGapWidth / 1000;
-/*N*/ long nGapZ = nW * nGapWidth / 1000;
-/*N*/ long nPartDepth = nW / nRowCnt;
-/*N*/ long nPartWidth;
-/*N*/ long nColWidthX;
-/*N*/ long nBarWidthX;
-/*N*/ long nBarWidthZ = nPartDepth - nGapZ * 2;
-/*N*/ long nDepth = -nPartDepth;
-/*N*/
-/*N*/ SfxItemSet* pYAxisAttr = pChartYAxis->GetItemSet();
-/*N*/ BOOL bLogarithm = ((const SfxBoolItem&) pYAxisAttr->Get(SCHATTR_AXIS_LOGARITHM)).GetValue();
-/*N*/ BOOL bPartDescr;
-/*N*/
-/*N*/ Polygon aFrontExtrude(1+nColCnt*2);
-/*N*/
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ {
-/*N*/ aFrontSide.SetPointCount(nColCnt*2);
-/*N*/ nPartWidth = nW / ((nColCnt > 1) ? nColCnt - 1 : nColCnt);
-/*N*/ nColWidthX = 0;
-/*N*/ nBarWidthX = 0;
-/*N*/ bPartDescr = FALSE;
-/*N*/ break;
-/*N*/ }
-/*N*/ default:
-/*N*/ {
-/*N*/ nPartWidth = bSwitchColRow
-/*N*/ ? nH / nColCnt
-/*N*/ : nW / nColCnt;
-/*N*/ nColWidthX = bSwitchColRow
-/*N*/ ? nPartWidth - nGapY * 2
-/*N*/ : nPartWidth - nGapX * 2;
-/*N*/ nBarWidthX = ((eChartStyle == CHSTYLE_3D_FLATCOLUMN) || (eChartStyle == CHSTYLE_3D_FLATBAR))
-/*N*/ ? nColWidthX / nRowCnt
-/*N*/ : 0;
-/*N*/ bPartDescr = TRUE;
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ Camera3D aCam(pScene->GetCamera());
-/*N*/ Vector3D aCamPos(nX + nW/2, nH/2, nW/2);
-/*N*/ Vector3D aLookAt(nX + nW/2, nH/2, nDepth/2);
-/*N*/ aCam.SetViewWindow(-nW/2, -nH/2, nW, nH);
-/*N*/ aCam.SetDefaults(aCamPos, aLookAt, 80, DEG2RAD(-(double)nZAngle / 10.0));
-/*N*/ aCam.Reset();
-/*N*/ aCam.SetProjection(eProjection);
-/*N*/ aCam.RotateAroundLookAt(DEG2RAD((double)nYAngle / 10.0), DEG2RAD((double)nXAngle / 10.0));
-/*N*/ aCam.SetAspectMapping(AS_HOLD_SIZE);
-/*N*/ pScene->SetCamera(aCam);
-/*N*/
-/*N*/ nY = 0;
-/*N*/ Vector3D a3DPos(nX, nY, nDepth);
-/*N*/ Vector3D a3DSize(nW, nH, -nDepth);
-/*N*/
-/*N*/ Create3DBackplanes(rRect, a3DPos, a3DSize, *pScene,
-/*N*/ bPartDescr, FALSE, bLogarithm, FALSE, eStackMode, bPercent, TRUE,
-/*N*/ bSwitchColRow);
-/*N*/
-/*N*/ a3DPos = Vector3D(nX, nY, nDepth - nBarWidthZ + nPartDepth - nGapZ);
-/*N*/
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ {
-/*N*/ DataDescription* pDescription = NULL;
-/*N*/
-/*N*/ double* fOldData = new double[nColCnt];
-/*N*/ a3DPos.Z() += nBarWidthZ;
-/*N*/
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ E3dScene* pRowGroup = Create3DScene (CHOBJID_DIAGRAM_ROWGROUP);
-/*N*/ pScene->Insert3DObj(pRowGroup);
-/*N*/
-/*N*/ pRowGroup->InsertUserData(new SchDataRow((short)nRow));
-/*N*/
-/*N*/ const SfxItemSet& rDataRowAttr = GetDataRowAttr(nRow);
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fData = fabs(GetData(nCol, nRow, bPercent));
-/*N*/ SfxItemSet aDataPointAttr (GetFullDataPointAttr(nCol, nRow));
-/*N*/ BOOL bValidData;
-/*N*/
-/*N*/ if (fData == DBL_MIN)
-/*N*/ {
-/*?*/ fData = 0.0;
-/*?*/ bValidData = FALSE;
-/*N*/ }
-/*N*/ else bValidData = TRUE;
-/*N*/
-/*N*/ SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)aDataPointAttr.
-/*N*/ Get(SCHATTR_DATADESCR_DESCR)).GetValue();
-/*N*/
-/*N*/ if( (eDescr != CHDESCR_NONE) && bShowDataDescr)
-/*N*/ {
- /******************************************************
- * DataDescription erforderlich
- ******************************************************/
-/*?*/ if (!pDescription)
-/*?*/ {
-/*?*/ // DataDescription noch nicht vorhanden -> erzeugen
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*?*/
-/*?*/ pDescription [nCol].eDescr = eDescr;
-/*?*/ pDescription [nCol].bSymbol = ((const SfxBoolItem&)aDataPointAttr.
-/*?*/ Get(SCHATTR_DATADESCR_SHOW_SYM)).GetValue();
-/*N*/ }
-/*N*/
-/*N*/ long nRev = nColCnt * 2 - 1 - nCol;
-/*N*/
-/*N*/ if (!nRow)
-/*N*/ {
-/*N*/ a3DPos.Y() = Min((long)(pChartYAxis->CalcFact(fData) * nH), nH);
-/*N*/ aFrontSide[(UINT16)nRev] = a3DPos;
-/*N*/ aFrontSide[(UINT16)nCol] = a3DPos;
-/*N*/ aFrontSide[(UINT16)nCol].Y() = 0;
-/*N*/ aFrontExtrude[(UINT16)nRev] = Point((long)a3DPos.X(),(long)-a3DPos.Y());
-/*N*/ aFrontExtrude[(UINT16)nCol] = Point((long)a3DPos.X(),(long)-a3DPos.Y());
-/*N*/ aFrontExtrude[(UINT16)nCol].Y()= 0;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fData = fOldData[nCol] + fData;
-/*N*/ a3DPos.Y() = Min((long)(pChartYAxis->CalcFact(fData) * nH), nH);
-/*N*/ aFrontSide[(UINT16)nCol] = aFrontSide[(UINT16)nRev];
-/*N*/ aFrontSide[(UINT16)nRev] = a3DPos;
-/*N*/ aFrontExtrude[(UINT16)nCol] = aFrontExtrude[(UINT16)nRev];
-/*N*/ aFrontExtrude[(UINT16)nRev]=Point((long)a3DPos.X(),(long)-a3DPos.Y());
-/*N*/ }
-/*N*/
-/*N*/ fOldData[nCol] = fData;
-/*N*/
-/*N*/ if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nCol].aTextPos3D = aFrontSide[(UINT16)nRev];
-/*?*/ pDescription [nCol].aTextPos3D.Y() -= (aFrontSide[(UINT16)nRev].Y() - aFrontSide[(UINT16)nCol].Y()) / 2;
-/*?*/
-/*?*/ if (bValidData)
-/*?*/ {
-/*?*/ if ((pDescription [nCol].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nCol].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ {
-/*?*/ pDescription [nCol].fValue = GetData (nCol, nRow, TRUE, TRUE);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pDescription [nCol].fValue = GetData(nCol,nRow,FALSE);//#55586# fData;
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pDescription [nCol].fValue = DBL_MIN;
-/*?*/ }
-/*?*/
-/*?*/ pDescription [nCol].eAdjust = CHADJUST_CENTER_CENTER;
-/*?*/
-/*?*/ if( eDescr != CHDESCR_NONE && bValidData )
-/*?*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ a3DPos.X() += nPartWidth;
-/*N*/ } //end for nCol
-/*N*/
-/*N*/ if (nColCnt > 1)
-/*N*/ {
-/*N*/
-/*N*/ PolyPolygon aPolyPoly;
-/*N*/ aFrontExtrude[nColCnt*2]=aFrontExtrude[0];//.SetClosed(TRUE);
-/*N*/ aPolyPoly.Insert(aFrontExtrude);
-/*N*/
-/*N*/ E3dExtrudeObj* pExtrudeObj= new SchE3dExtrudeObj(aDefltAttr3D, aPolyPoly,nBarWidthZ);
-/*N*/ Matrix4D aMatrix;
-/*N*/ aMatrix.Translate(Vector3D(0,0,nDepth - nBarWidthZ + nPartDepth - nGapZ )); //-(double)nBarWidthZ
-/*N*/ pExtrudeObj->NbcSetTransform(aMatrix);
-/*N*/ //#54870# falsche ID:CHOBJID_DIAGRAM_AREA
-/*N*/ Create3DExtrudePolyObj(&rDataRowAttr,pExtrudeObj,CHOBJID_AREA,pRowGroup);
-/*N*/ }
-/*N*/ a3DPos.X() = nX;
-/*N*/ }//end for nRow
-/*N*/
-/*N*/ delete[] fOldData;
-/*N*/ delete[] pDescription;
-/*N*/ break;
-/*N*/ } // end case Area's
-/*N*/
-/*N*/ default:
-/*N*/ {
-/*N*/ DataDescription* pDescription = NULL;
-/*N*/
-/*N*/ if (bSwitchColRow) a3DPos.Y() += nGapY;
-/*N*/ else a3DPos.X() += nGapX;
-/*N*/
-/*N*/ // #100288# same structure as all other charts (no stacked and special groups)
-/*N*/ // create groups for all series
-/*N*/ E3dScene ** pDataGroup = new E3dScene * [ nRowCnt ];
-/*N*/
-/*N*/ // create 3d sub-scenes for each data series. Insertion into the
-/*N*/ // main scene is done at the end of the for loop (#109628#)
-/*N*/ for( nRow = 0; nRow < nRowCnt; nRow++ )
-/*N*/ {
-/*N*/ pDataGroup[ nRow ] = Create3DScene( CHOBJID_DIAGRAM_ROWGROUP );
-/*N*/ pDataGroup[ nRow ]->InsertUserData( new SchDataRow( static_cast< short >( nRow ) ));
-/*N*/ }
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fDataTop = fOriginY;
-/*N*/ double fDataBottom = fOriginY;
-/*N*/
-/*N*/ //Vor-Berechnung des Maximalen/Minimalen Zeichenpunktes
-/*N*/ double fPreBottom=fOriginY;
-/*N*/ double fPreTop =fOriginY;
-/*N*/ double fPreTopPos,fPreBottomPos,fPreOriPos;
-/*N*/ double fTop=0.0,fBottom=0.0,fMin=0.0,fMax=0.0,fMin2,fMax2;
-/*N*/ fMin2=fMax2=fOriginY;
-/*N*/
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ double fData=GetData(nCol, nRow, bPercent);
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ if (fData < fOriginY)
-/*N*/ {
-/*?*/ fTop = fPreBottom;
-/*?*/ if (fTop == fOriginY)
-/*?*/ fPreBottom = fData;
-/*?*/ else
-/*?*/ fPreBottom += fData;
-/*?*/ fBottom = fPreBottom;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fBottom = fPreTop;
-/*N*/ if (fBottom == fOriginY)
-/*N*/ fPreTop = fData;
-/*N*/ else
-/*N*/ fPreTop += fData;
-/*N*/ fTop = fPreTop;
-/*N*/ }
-/*N*/ }
-/*N*/ if(nRow)
-/*N*/ {
-/*N*/ if(fTop<fMin)
-/*N*/ fMin=fTop;
-/*N*/ if(fBottom>fMax)
-/*N*/ fMax=fBottom;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fMin=fTop;
-/*N*/ fMax=fBottom;
-/*N*/ }
-/*N*/ if(fData<fOriginY)
-/*N*/ fMin2-=fData; //top,left
-/*N*/ else
-/*N*/ fMax2+=fData; //right,bottom
-/*N*/ }
-/*N*/
-/*N*/ double fR = (double)( IsBar()? nW: nH );
-/*N*/ fPreTopPos = pChartYAxis->CalcFact( fMin2 ) * fR;
-/*N*/ if( fR < fPreTopPos )
-/*N*/ fPreTopPos = fR;
-/*N*/ fPreBottomPos = pChartYAxis->CalcFact( fMax2 ) * fR;
-/*N*/ if( fPreBottomPos < 0.0 )
-/*N*/ fPreBottomPos = 0.0;
-/*N*/ fPreOriPos = pChartYAxis->CalcFactOrigin() * fR;
-/*N*/
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ double fData = GetData(nCol, nRow, bPercent);
-/*N*/ SfxItemSet aDataPointAttr(GetFullDataPointAttr(nCol, nRow));
-/*N*/
-/*N*/ SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)aDataPointAttr.
-/*N*/ Get(SCHATTR_DATADESCR_DESCR)).GetValue();
-/*N*/
-/*N*/ if( (eDescr != CHDESCR_NONE) && bShowDataDescr)
-/*N*/ {
- /******************************************************
- * DataDescription erforderlich
- ******************************************************/
-/*?*/ if (!pDescription)
-/*?*/ {
-/*?*/ // DataDescription noch nicht vorhanden -> erzeugen
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*?*/
-/*?*/ pDescription [nRow].eDescr = eDescr;
-/*?*/ pDescription [nRow].bSymbol = ((const SfxBoolItem&)aDataPointAttr.
-/*N*/ Get(SCHATTR_DATADESCR_SHOW_SYM)).GetValue();
-/*N*/ }
-/*N*/
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_3D_FLATCOLUMN:
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ double fLclTop;
-/*N*/ double fLclBottom;
-/*N*/
-/*N*/ if (fData < fOriginY)
-/*N*/ {
-/*?*/ fLclTop = fOriginY;
-/*?*/ fLclBottom = fData;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fLclTop = fData;
-/*N*/ fLclBottom = fOriginY;
-/*N*/ }
-/*N*/
-/*N*/ long nBottom = Max ((long) (pChartYAxis->CalcFact(fLclBottom) * nH),0L);
-/*N*/ long nTop = Min ((long) (pChartYAxis->CalcFact(fLclTop) * nH),nH);
-/*N*/
-/*N*/ {
-/*N*/ long nBarHeight = nTop - nBottom + 1;
-/*N*/ a3DPos.Y() = nBottom;
-/*N*/
-/*N*/ if (nTop > nBottom)
-/*N*/ pDataGroup[ nRow ]->Insert3DObj(Create3DBar(a3DPos, Vector3D(nBarWidthX, nBarHeight, nBarWidthZ), nCol, nRow,
-/*N*/ aDataPointAttr,TRUE,0,fPreOriPos,0));
-/*N*/
-/*N*/ if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nRow].aTextPos3D = a3DPos;
-/*?*/ pDescription [nRow].aTextPos3D.X() += nBarWidthX / 2;
-/*?*/ pDescription [nRow].aTextPos3D.Y() += (fData<0)? 0: nBarHeight;
-/*?*/ pDescription [nRow].aTextPos3D.Z() += nBarWidthZ;
-/*?*/
-/*?*/ if ((pDescription [nRow].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nRow].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ {
-/*?*/ pDescription [nRow].fValue = GetData (nCol, nRow, TRUE, TRUE);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pDescription [nRow].fValue = GetData(nCol,nRow,FALSE);//#55586# fData;
-/*?*/ }
-/*?*/
-/*?*/ pDescription [nRow].eAdjust = CHADJUST_CENTER_CENTER;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nRow].fValue = DBL_MIN;
-/*N*/ }
-/*N*/
-/*N*/ a3DPos.X() += nBarWidthX;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ double fRight;
-/*N*/ double fLeft;
-/*N*/
-/*N*/ if (fData < fOriginY)
-/*N*/ {
-/*?*/ fRight = fOriginY;
-/*?*/ fLeft = fData;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fLeft = fOriginY;
-/*N*/ fRight = fData;
-/*N*/ }
-/*N*/
-/*N*/ long nLeft = Max ((long) (pChartYAxis->CalcFact(fLeft) * nW),0L);
-/*N*/ long nRight = Min ((long)(pChartYAxis->CalcFact(fRight) * nW),nW);
-/*N*/
-/*N*/ {
-/*N*/ long nBarWidth = nRight - nLeft + 1;
-/*N*/ a3DPos.X() = nLeft;
-/*N*/
-/*N*/ if (nRight > nLeft)
-/*N*/ pDataGroup[ nRow ]->Insert3DObj(Create3DBar(a3DPos, Vector3D(nBarWidth, nBarWidthX, nBarWidthZ), nCol, nRow,
-/*N*/ aDataPointAttr,TRUE,0,fPreOriPos,0));
-/*N*/
-/*N*/ if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nRow].aTextPos3D = a3DPos;
-/*?*/ pDescription [nRow].aTextPos3D.X() += (fData<0)? 0: nBarWidth;
-/*?*/ pDescription [nRow].aTextPos3D.Y() += nBarWidthX / 2;
-/*?*/ pDescription [nRow].aTextPos3D.Z() += nBarWidthZ;
-/*?*/
-/*?*/ if ((pDescription [nRow].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nRow].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ {
-/*?*/ pDescription [nRow].fValue = GetData (nCol, nRow, TRUE, TRUE);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pDescription [nRow].fValue = GetData(nCol,nRow,FALSE);//#55586# fData;
-/*?*/ }
-/*?*/
-/*?*/ pDescription [nRow].eAdjust = CHADJUST_CENTER_CENTER;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nRow].fValue = DBL_MIN;
-/*N*/ }
-/*N*/
-/*N*/ a3DPos.Y() += nBarWidthX;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*?*/ double fLclTop;
-/*?*/ double fLclBottom;
-/*?*/
-/*?*/ if (fData < fOriginY)
-/*?*/ {
-/*?*/ fLclTop = fDataBottom;
-/*?*/ if (fLclTop == fOriginY) fDataBottom = fData;
-/*?*/ else fDataBottom += fData;
-/*?*/ fLclBottom = fDataBottom;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fLclBottom = fDataTop;
-/*N*/ if (fLclBottom == fOriginY) fDataTop = fData;
-/*N*/ else fDataTop += fData;
-/*N*/ fLclTop = fDataTop;
-/*N*/ }
-/*N*/
-/*N*/ long nTop = Min((long)(pChartYAxis->CalcFact(fLclTop) * nH), nH);
-/*N*/ long nBottom = Max((long)(pChartYAxis->CalcFact(fLclBottom) * nH),0L);
-/*N*/
-/*N*/ {
-/*N*/ long nBarHeight = nTop - nBottom + 1;
-/*N*/ a3DPos.Y() = nBottom;
-/*N*/
-/*N*/ if (nTop > nBottom)
-/*N*/ pDataGroup[ nRow ]->Insert3DObj(Create3DBar(a3DPos, Vector3D(nColWidthX, nBarHeight, nBarWidthZ), nCol, nRow,
-/*N*/ aDataPointAttr,TRUE,fPreBottomPos,fPreOriPos,fPreTopPos));
-/*N*/
-/*N*/ if (pDescription)
-/*?*/ {
-/*?*/ pDescription [nRow].aTextPos3D = a3DPos;
-/*?*/ pDescription [nRow].aTextPos3D.X() += nColWidthX / 2;
-/*?*/ pDescription [nRow].aTextPos3D.Y() += nBarHeight / 2;
-/*?*/ pDescription [nRow].aTextPos3D.Z() += nBarWidthZ;
-/*?*/
-/*?*/ if ((pDescription [nRow].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nRow].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ {
-/*?*/ pDescription [nRow].fValue = GetData (nCol, nRow, TRUE, TRUE);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pDescription [nRow].fValue = GetData(nCol,nRow,FALSE);//#55586# fData;
-/*?*/ }
-/*?*/
-/*?*/ pDescription [nRow].eAdjust = CHADJUST_CENTER_CENTER;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nRow].fValue = DBL_MIN;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ if (fData != DBL_MIN)
-/*N*/ {
-/*N*/ double fRight;
-/*N*/ double fLeft;
-/*N*/
-/*N*/ if (fData < fOriginY)
-/*N*/ {
-/*?*/ fRight = fDataBottom;
-/*?*/ if (fRight == fOriginY) fDataBottom = fData;
-/*?*/ else fDataBottom += fData;
-/*?*/ fLeft = fDataBottom;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fLeft = fDataTop;
-/*N*/ if (fLeft == fOriginY) fDataTop = fData;
-/*N*/ else fDataTop += fData;
-/*N*/ fRight = fDataTop;
-/*N*/ }
-/*N*/
-/*N*/ long nRight = Min((long)(pChartYAxis->CalcFact(fRight) * nW), nW);
-/*N*/ long nLeft = Max((long) (pChartYAxis->CalcFact(fLeft ) * nW), 0L);
-/*N*/
-/*N*/ {
-/*N*/ long nBarWidth = nRight - nLeft + 1;
-/*N*/ a3DPos.X() = nLeft;
-/*N*/
-/*N*/ if (nRight > nLeft)
-/*N*/ pDataGroup[ nRow ]->Insert3DObj(Create3DBar(a3DPos, Vector3D(nBarWidth, nColWidthX, nBarWidthZ), nCol, nRow,
-/*N*/ aDataPointAttr,TRUE,fPreBottomPos,fPreOriPos,fPreTopPos));
-/*N*/
-/*N*/ if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nRow].aTextPos3D = a3DPos;
-/*?*/ pDescription [nRow].aTextPos3D.X() += nBarWidth / 2;
-/*?*/ pDescription [nRow].aTextPos3D.Y() += nColWidthX / 2;
-/*?*/ pDescription [nRow].aTextPos3D.Z() += nBarWidthZ;
-/*?*/
-/*?*/ if ((pDescription [nRow].eDescr == CHDESCR_PERCENT) ||
-/*?*/ (pDescription [nRow].eDescr == CHDESCR_TEXTANDPERCENT))
-/*?*/ {
-/*?*/ pDescription [nRow].fValue = GetData (nCol, nRow, TRUE, TRUE);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pDescription [nRow].fValue = GetData(nCol,nRow,FALSE);//#55586# fData;
-/*?*/ }
-/*?*/
-/*?*/ pDescription [nRow].eAdjust = CHADJUST_CENTER_CENTER;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else if (pDescription)
-/*N*/ {
-/*?*/ pDescription [nRow].fValue = DBL_MIN;
-/*N*/ }
-/*N*/ break;
- default: break;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // BM: moved here from Dirty3D.
-/*N*/ if( pDescription )
-/*N*/ {
-/*?*/ for (nRow = 0; nRow < nRowCnt; nRow ++)
-/*?*/ {
-/*?*/ if (pScene && pDescription[nRow].fValue != DBL_MIN)
-/*?*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (bSwitchColRow)
-/*N*/ {
-/*N*/ a3DPos.Y() += nBarWidthX ? nGapY * 2 : nPartWidth;
-/*N*/ a3DPos.X() = 0;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ a3DPos.X() += nBarWidthX ? nGapX * 2 : nPartWidth;
-/*N*/ a3DPos.Y() = 0;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // insert the data series sub-scenes if they contain any data points
-/*N*/ // (inserting empty scenes may corrupt the camera parameters of the
-/*N*/ // main scene. See #109628#)
-/*N*/ for( nRow = 0; nRow < nRowCnt; nRow++ )
-/*N*/ {
-/*?*/ // sublist always exists
-/*?*/ if( pDataGroup[ nRow ]->GetSubList()->GetObjCount() > 0 )
-/*?*/ pScene->Insert3DObj( pDataGroup[ nRow ] );
-/*N*/ }
-/*N*/
-/*N*/ delete[] pDescription;
-/*N*/ delete[] pDataGroup;
-/*N*/
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return (SdrObjGroup*) pScene;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* 3D-Kreisdiagramm erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjGroup* ChartModel::Create3DNewPieChart(Rectangle &rRect)
-/*N*/ {
-/*N*/ SdrObjList *pList=NULL;
-/*N*/
-/*N*/ pChartYAxis->SetPercentMode( FALSE ); // percent is calculated using the row rather than the column
-/*N*/
-/*N*/ pScene = CreateScene (rRect, *aLightVec, fSpotIntensity, aSpotColor,
-/*N*/ fAmbientIntensity, aAmbientColor);
-/*N*/ const long nSize=FIXED_SIZE_FOR_3D_CHART_VOLUME;
-/*N*/
-/*N*/ long nW = nSize;
-/*N*/ long nH = nSize;
-/*N*/ long nZ = nSize;//(nSize * 4) / 6;
-/*N*/
-/*N*/ //erweiterung auf Donuts emöglichen!
-/*N*/ long nColCnt = GetColCount();
-/*N*/ const short nRowCnt=1;// long nRowCnt = GetRowCount();
-/*N*/ const short nRow=0;
-/*N*/ short nCol;//, nRow;
-/*N*/
-/*N*/ long nZExtrude=nZ/3;
-/*N*/
-/*N*/ Camera3D aCam(pScene->GetCamera());
-/*N*/ const long nDepth=-nZ;
-/*N*/
-/*N*/ Vector3D aCamPos(0,0,nW/2);
-/*N*/ Vector3D aLookAt(0,0,nDepth/2);
-/*N*/ aCam.SetViewWindow(-nW/2, -nH/2, nW, nH);
-/*N*/ aCam.SetDefaults(aCamPos, aLookAt, 80, DEG2RAD(-(double)nZAngle / 10.0));
-/*N*/ aCam.Reset();
-/*N*/ aCam.SetProjection(eProjection);
-/*N*/
-/*N*/ aCam.SetAspectMapping(AS_HOLD_SIZE);
-/*N*/ pScene->SetCamera(aCam);
-/*N*/ pScene->SetTransform(aSceneMatrix);
-/*N*/
-/*N*/ // Pie charts may not have titles of axes.
-/*N*/ bShowXAxisTitle = FALSE;
-/*N*/ bShowYAxisTitle = FALSE;
-/*N*/ bShowZAxisTitle = FALSE;
-/*N*/
-/*N*/ // Max. bestimmen
-/*N*/ double fTotal=0.0;
-/*N*/ long nSegments=0;
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fTemp = fabs(GetData(nCol,nRow));
-/*N*/ if (fTemp != DBL_MIN && fTemp>0)
-/*N*/ {
-/*N*/ fTotal += fTemp;
-/*N*/ nSegments++;
-/*N*/ }
-/*N*/ }
-/*N*/ if(!nSegments || fTotal == 0.0)
-/*N*/ return (SdrObjGroup*) pScene;
-/*N*/
-/*N*/ Rectangle aPieRect;
-/*N*/ aPieRect=Rectangle(Point(-nW/2,-nH/2),Size(nW,nH)); // rect in which the pie is drawn
-/*N*/
-/*N*/ const long nMaxAngle=36000;
-/*N*/ long nPos=0;
-/*N*/ E3dDefaultAttributes aDefltAttr3D;
-/*N*/
-/*N*/ long nEndAngle=0;
-/*N*/ long nStartAngle=0;
-/*N*/
-/*N*/ ChartDataDescription aDescr(nColCnt,nRowCnt,pList,this,bShowDataDescr);
-/*N*/
-/*N*/ Point aCenter = aPieRect.Center();
-/*N*/ Size aPieRectSize = aPieRect.GetSize();
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ double fValue = fabs(GetData( nCol,nRow));
-/*N*/ if(fValue!=DBL_MIN && fValue>0.0)
-/*N*/ {
-/*N*/ nPos++;
-/*N*/ SfxItemSet aDataPointAttr(GetFullDataPointAttr(nCol,nRow));
-/*N*/ nStartAngle=nEndAngle;
-/*N*/ nEndAngle+=(long)((fValue/fTotal)*nMaxAngle);
-/*N*/
-/*N*/ // for last segment use exact value to avoid accumulated errors
-/*N*/ if( nPos == nSegments )
-/*N*/ nEndAngle = 36000;
-/*N*/
-/*N*/ if(nEndAngle>nMaxAngle)
-/*N*/ nEndAngle-=nMaxAngle;
-/*N*/
-/*N*/ XPolyPolygon aPolyPolygon;
-/*N*/
-/*N*/ // if the angle of the sector is too small the conversion method produces an error
-/*N*/ // especially as angles are rounded to integers / 10
-/*N*/ if( nEndAngle - nStartAngle < 10 ) // approximate as triangle
-/*N*/ {
-/*?*/ XPolygon aPoly( 4 );
-/*?*/ double fAngleStart = (double)(nStartAngle) * F_PI / 18000.0,
-/*?*/ fAngleEnd = (double)(nEndAngle) * F_PI / 18000.0,
-/*?*/ fRadiusX = (double)(aPieRectSize.Width()) / 2.0,
-/*?*/ fRadiusY = (double)(aPieRectSize.Height()) / 2.0;
-/*?*/
-/*?*/ aPoly[ 0 ] = aCenter;
-/*?*/ aPoly[ 1 ] = Point( (long)(aCenter.X() + fRadiusX * cos( fAngleStart )), (long)(aCenter.Y() - fRadiusY * sin( fAngleStart )) );
-/*?*/ aPoly[ 2 ] = Point( (long)(aCenter.X() + fRadiusX * cos( fAngleEnd )), (long)(aCenter.Y() - fRadiusY * sin( fAngleEnd )) );
-/*?*/ aPoly[ 3 ] = aCenter;
-/*?*/
-/*?*/ aPolyPolygon.Insert( aPoly );
-/*N*/ }
-/*N*/ else // create a polygon
-/*N*/ {
-/*N*/ SdrCircObj aSegment( OBJ_SECT, aPieRect, nStartAngle, nEndAngle);
-/*N*/ GetPage(0)->NbcInsertObject( &aSegment, 0 );
-/*N*/ SdrPathObj* pTmp = (SdrPathObj*)aSegment.ConvertToPolyObj( FALSE, FALSE );
-/*N*/
-/*N*/ // Add two extra points near the end of the arc so that
-/*N*/ // the lighting of the 3d object is smoothed
-/*N*/ XPolygon aPoly( pTmp->GetPathPoly().GetObject(0) );
-/*N*/
-/*N*/ long nEnd = aPoly.GetPointCount();
-/*N*/ if( nEnd > 3 )
-/*N*/ {
-/*N*/ Point aP2b( aPoly[ nEnd-3 ] );
-/*N*/ Point aP1b( aPoly[ 2 ] );
-/*N*/ Point aP2( aPoly[ nEnd-2] ) ;
-/*N*/ Point aP1( aPoly[ 1 ] );
-/*N*/ aP1 += (aP1b-aP1) / 100;
-/*N*/ aP2 += (aP2b-aP2) / 100;
-/*N*/ aPoly.Insert( nEnd - 2, aP2, XPOLY_NORMAL);
-/*N*/ aPoly.Insert( 2, aP1, XPOLY_NORMAL );
-/*N*/ }
-/*N*/ aPolyPolygon.Insert( aPoly );
-/*N*/
-/*N*/ GetPage( 0 )->RemoveObject( 0 );
-/*N*/ }
-/*N*/
-/*N*/ SchE3dExtrudeObj* pObj=new SchE3dExtrudeObj(aDefltAttr3D,
-/*N*/ aPolyPolygon,nZExtrude);
-/*N*/
-/*N*/ DBG_ASSERT( pObj, "couldn't create extrude object" );
-/*N*/
-/*N*/ // default attributes reset the texture projection items so set them explicitly
-/*N*/ // use object specific projection in y direction
-/*N*/ pObj->SetItem( Svx3DTextureProjectionYItem( 0 ));
-/*N*/ pObj->SetItem( Svx3DDoubleSidedItem( TRUE ));
-/*N*/
-/*N*/ pScene->Insert3DObj(pObj);
-/*N*/ pObj->InsertUserData(new SchDataPoint(nCol, nRow));
-/*N*/ pObj->InsertUserData (new SchObjectId (CHOBJID_DIAGRAM_DATA));
-/*N*/ pObj->SetMoveProtect(TRUE);
-/*N*/ pObj->SetResizeProtect(TRUE);
-/*N*/ pObj->SetModel(this);
-/*N*/
-/*N*/ pObj->SetItemSet(aDataPointAttr);
-/*N*/
-/*N*/
-/*N*/ Matrix4D aMatrix;
-/*N*/ aMatrix.TranslateZ(-nZExtrude/2);
-/*N*/ pObj->NbcSetTransform(aMatrix);
-/*N*/
-/*N*/
-/*N*/ if(aDescr.Enabled())
-/*N*/ {
-/*N*/ DataDescription* pDescr=aDescr.Insert(nCol,nRow,aDataPointAttr,Point(0,0),FALSE,CHADJUST_BOTTOM_CENTER,pChartYAxis);
-/*N*/ if(pDescr)
-/*?*/ {DBG_BF_ASSERT(0, "STRIP"); }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ aDescr.Build3D(pScene);
-/*N*/
-/*N*/ return (SdrObjGroup*) pScene;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Positioniere die Achsentitel um das Rectangle der Scene
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::Position3DAxisTitles(const Rectangle& rSceneRect)
-/*N*/ {
-/*N*/ SdrPage *pPage = GetPage (0);
-/*N*/ Size aPageSize = pPage->GetSize();
-/*N*/
-/*N*/ if (bShowXAxisTitle)
-/*N*/ {
-/*N*/ SdrObject *pXAxisTitleObj = GetObjWithId(CHOBJID_DIAGRAM_TITLE_X_AXIS, *pPage);
-/*N*/ if (pXAxisTitleObj != NULL)
-/*N*/ {
-/*N*/ Rectangle aXAxisOutRect = pXAxisTitleObj->GetBoundRect();
-/*N*/
-/*N*/ Point aXAxesTitlePosition (rSceneRect.Left () + (int) (rSceneRect.GetWidth () / 2),
-/*N*/ Min ((long) aChartRect.Bottom(),
-/*N*/ (long) (rSceneRect.Bottom () + aXAxisOutRect.GetHeight()) ));
-/*N*/
-/*N*/ if (GetXAxisTitleHasBeenMoved() && GetUseRelativePositions() &&
-/*N*/ (aXAxesTitlePosition.X() > 0) && (aXAxesTitlePosition.Y() > 0))
-/*N*/ {
-/*N*/ // FG: Das ist eine Variable die in BuildChart gesetzt wird, kutz bevor
-/*N*/ // das Objekt zerstoert wird.
-/*?*/ double fRelativeXPosition = ((double) aTitleXAxisPosition.X()) / aInitialSizefor3d.Width();
-/*?*/ double fRelativeYPosition = ((double) aTitleXAxisPosition.Y()) / aInitialSizefor3d.Height();
-/*?*/ aXAxesTitlePosition.X() = (long)(aPageSize.Width() * fRelativeXPosition);
-/*?*/ aXAxesTitlePosition.Y() = (long)(aPageSize.Height() * fRelativeYPosition);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (bSwitch3DColRow)
-/*N*/ {
-/*N*/ aXAxesTitlePosition.X() = Max (0l, (long) (rSceneRect.Left () - 2 * aXAxisOutRect.GetWidth ()));
-/*N*/ aXAxesTitlePosition.Y() = Max (0l, (long) (rSceneRect.Top () + rSceneRect.GetHeight () / 2));
-/*N*/ }
-/*N*/ }
-/*N*/ SetTextPos((SdrTextObj &) *pXAxisTitleObj, aXAxesTitlePosition,pXAxisTitleAttr);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (bShowYAxisTitle)
-/*N*/ {
-/*N*/ SdrObject *pYAxisTitleObj = GetObjWithId(CHOBJID_DIAGRAM_TITLE_Y_AXIS, *pPage);
-/*N*/ if (pYAxisTitleObj != NULL)
-/*N*/ {
-/*N*/ Rectangle aYAxisOutRect = pYAxisTitleObj->GetBoundRect();
-/*N*/
-/*N*/ Point aYAxesTitlePosition (Max (1l, (long) (rSceneRect.Left () - 2 * aYAxisOutRect.GetWidth ())),
-/*N*/ Max (1l, (long) (rSceneRect.Top () + rSceneRect.GetHeight () / 2)));
-/*N*/
-/*N*/ if (GetYAxisTitleHasBeenMoved() && GetUseRelativePositions() &&
-/*N*/ (aYAxesTitlePosition.X() >= 0) && (aYAxesTitlePosition.Y() > 0))
-/*N*/ {
-/*N*/ // FG: Das ist eine Variable die in BuildChart gesetzt wird, kutz bevor
-/*N*/ // das Objekt zerstoert wird.
-/*N*/ double fRelativeXPosition = ((double) aTitleYAxisPosition.X()) / aInitialSizefor3d.Width();
-/*N*/ double fRelativeYPosition = ((double) aTitleYAxisPosition.Y()) / aInitialSizefor3d.Height();
-/*N*/ aYAxesTitlePosition.X() = (long)(aPageSize.Width() * fRelativeXPosition);
-/*N*/ aYAxesTitlePosition.Y() = (long)(aPageSize.Height() * fRelativeYPosition);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (bSwitch3DColRow)
-/*N*/ {
-/*N*/ aYAxesTitlePosition.X() = rSceneRect.Left () + (int) (rSceneRect.GetWidth () / 2 + 0.5);
-/*N*/ aYAxesTitlePosition.Y() = Min ((long) aChartRect.Bottom(),
-/*N*/ (long) (rSceneRect.Bottom () + aYAxisOutRect.GetHeight()) );
-/*N*/ }
-/*N*/ }
-/*N*/ SetTextPos((SdrTextObj &) *pYAxisTitleObj, aYAxesTitlePosition,pYAxisTitleAttr);
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ if (bShowZAxisTitle)
-/*N*/ {
-/*N*/ SdrObject *pZAxisTitleObj = GetObjWithId(CHOBJID_DIAGRAM_TITLE_Z_AXIS, *pPage);
-/*N*/ if (pZAxisTitleObj != NULL)
-/*N*/ {
-/*N*/ Rectangle aZAxisOutRect = pZAxisTitleObj->GetBoundRect();
-/*N*/
-/*N*/
-/*N*/ Point aZAxesTitlePosition( (long)(0.95 * rSceneRect.Right()),
-/*N*/ (long)Min ((long) aChartRect.Bottom(),
-/*N*/ (long) (rSceneRect.Bottom () - aZAxisOutRect.GetHeight())));
-/*N*/
-/*N*/
-/*N*/ if (GetZAxisTitleHasBeenMoved() && GetUseRelativePositions() &&
-/*N*/ (aZAxesTitlePosition.X() > 0) && (aZAxesTitlePosition.Y() > 0))
-/*N*/ {
-/*N*/ // FG: Das ist eine Variable die in BuildChart gesetzt wird, kutz bevor
-/*N*/ // das Objekt zerstoert wird.
-/*N*/ double fRelativeXPosition = ((double) aTitleZAxisPosition.X()) / aInitialSizefor3d.Width();
-/*N*/ double fRelativeYPosition = ((double) aTitleZAxisPosition.Y()) / aInitialSizefor3d.Height();
-/*N*/ aZAxesTitlePosition.X() = (long)(aPageSize.Width() * fRelativeXPosition);
-/*N*/ aZAxesTitlePosition.Y() = (long)(aPageSize.Height() * fRelativeYPosition);
-/*N*/ }
-/*N*/ else if(aZAxesTitlePosition.Y()<aZAxisOutRect.GetHeight()/2)
-/*N*/ {
-/*?*/ aZAxesTitlePosition.Y()=aZAxisOutRect.GetHeight();
-/*N*/ }
-/*N*/ SetTextPos((SdrTextObj &) *pZAxisTitleObj, aZAxesTitlePosition,pZAxisTitleAttr);
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ aInitialSizefor3d = aInitialSize;
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode1.cxx b/binfilter/bf_sch/source/core/sch_chtmode1.cxx
deleted file mode 100644
index b3464cfd4..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode1.cxx
+++ /dev/null
@@ -1,1020 +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.
- *
- ************************************************************************/
-
-#include <bf_svx/svxids.hrc>
-#include <bf_svx/xlntrit.hxx>
-#include <bf_svx/svdviter.hxx>
-#include <bf_svx/svdview.hxx>
-#ifndef _ZFORLIST_HXX //autogen
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#include <bf_svtools/zforlist.hxx>
-#endif
-
-#include "schattr.hxx"
-#define ITEMID_ADJUST EE_PARA_JUST
-#include <bf_svx/adjitem.hxx>
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#endif
-
-#define ITEMID_FONT EE_CHAR_FONTINFO
-#define ITEMID_COLOR EE_CHAR_COLOR
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#include "globfunc.hxx"
-#include <bf_svx/svxids.hrc>
-#include "schresid.hxx"
-
-#include "glob.hrc"
-#include <bf_svx/dialogs.hrc>
-#include "math.h"
-
-#include <bf_svx/xlnedcit.hxx>
-#include <bf_svx/xlnstcit.hxx>
-#include <bf_svx/xlnedwit.hxx>
-#include <bf_svx/xlnstwit.hxx>
-#include <bf_svx/xlnedit.hxx>
-#include <bf_svx/xlnstit.hxx>
-#include <bf_svx/xlndsit.hxx>
-#include <bf_svx/xlnclit.hxx>
-#include <bf_svx/xlnwtit.hxx>
-
-#include "pairs.hxx"
-#include "datalog.hxx"
-#include "chaxis.hxx"
-#include "chmod3d.hxx"
-#include "schmod.hxx"
-
-namespace binfilter {
-
-/************************************************************************/
-
-/*N*/ const double fDefaultArr[DEFAULT_ROWCNT][DEFAULT_COLCNT] =
-/*N*/ {
-/*N*/ { 9.1, 3.2, 4.54 },
-/*N*/ { 2.4, 8.8, 9.65 },
-/*N*/ { 3.1, 1.5, 3.7 },
-/*N*/ { 4.3, 9.02, 6.2 }
-/*N*/ };
-
-/*************************************************************************
-|*
-|* delete top-level object (called by BuildChart to create shape newly)
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::DeleteObject( SdrObject* pObj )
-/*N*/ {
-/*N*/ if( pObj )
-/*N*/ {
-/*N*/ // unmark object in all views
-/*N*/ SdrViewIter aIter( pObj );
-/*N*/ SdrView* pView = aIter.FirstView();
-/*N*/
-/*N*/ while( pView )
-/*N*/ {
-/*N*/ // important: leave group so that SdrPageView's object list is always
-/*N*/ // the same as the object list of the page
-/*N*/ pView->LeaveAllGroup();
-/*N*/ pView->UnmarkAll();
-/*N*/
-/*N*/ pView = aIter.NextView();
-/*N*/ }
-/*N*/
-/*N*/ #if OSL_DEBUG_LEVEL > 1
-/*N*/ SdrObject* pDelObj = pObj->GetObjList()->RemoveObject( pObj->GetOrdNum());
-/*N*/ DBG_ASSERT( pDelObj == pObj , "Wrong object removed!" );
-/*N*/ #else
-/*N*/ pObj->GetObjList()->RemoveObject( pObj->GetOrdNum());
-/*N*/ #endif
-/*N*/
-/*N*/ delete pObj;
-/*N*/ }
-/*N*/ else
-/*N*/ OSL_FAIL( "DeleteObject: Invalid object" );
-/*N*/ }
-
-/*N*/ const USHORT nExchangeTitleWhichPairs[] =
-/*N*/ { //approx.:
-/*N*/ SCHATTR_TEXT_ORIENT, SCHATTR_TEXT_ORIENT, // 1
-/*N*/ SCHATTR_TEXT_DEGREES,SCHATTR_TEXT_DEGREES, //
-/*N*/ XATTR_LINE_FIRST, XATTR_LINE_LAST, // 1000
-/*N*/ XATTR_FILL_FIRST, XATTR_FILL_LAST, // 1020
-/*N*/ SDRATTR_START, SDRATTR_END, //here changed to all SdrAttr
-/*N*/ EE_ITEMS_START, EE_ITEMS_END, // 4000
-/*N*/ 0
-/*N*/ };
-
-/*************************************************************************
-|*
-|* Create text object for diagrams
-|* FG: The parameter MaximumWidth is only used if >0. In that case lines are
-|* are wrapped if necessary. MaximumWidth has to passed to CalcMaxDescrSize
-|* too, otherwise the formatting is wrong.
-|*
-|* At a maximum 2 lines of that width are created. The rest is cut off.
-|*
-|* That should be reimplemented because:
-|* 1) The text is put into an outline object gepackt, in order to be
-|* able to process stacked text.
-|* 2) based on that object the size and the width are calculated
-|* 3) then this size is taken to create a SdrTextObj with the same
-|* attributes as the outline object.
-|*
-\************************************************************************/
-
-/*N*/ SdrRectObj* ChartModel::CreateTextObj(UINT16 nId,
-/*N*/ const Point &rPos,
-/*N*/ const String &rText,
-/*N*/ const SfxItemSet &rAttr,
-/*N*/ BOOL bIsTitle,
-/*N*/ ChartAdjust eAdjust,
-/*N*/ const long nMaximumWidth)
-/*N*/ {
-/*N*/ const SfxPoolItem* pPoolItem = NULL;
-/*N*/ SvxChartTextOrient eOrient;
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_TEXT_ORIENT, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ eOrient = ((const SvxChartTextOrientItem*)pPoolItem)->GetValue();
-/*N*/ else
-/*N*/ eOrient = CHTXTORIENT_STANDARD;
-/*N*/
-/*N*/ SfxItemSet aTextAttr(*pItemPool, nTextWhichPairs);
-/*N*/ aTextAttr.Put(rAttr);
-/*N*/
-/*N*/ if (bIsTitle)
-/*N*/ aTextAttr.Put(SvxAdjustItem(SVX_ADJUST_CENTER));
-/*N*/ else
-/*N*/ aTextAttr.Put(SvxAdjustItem((eOrient == CHTXTORIENT_BOTTOMTOP)
-/*N*/ ? SVX_ADJUST_RIGHT
-/*N*/ : SVX_ADJUST_LEFT));
-/*N*/
-/*N*/ // clear old outliner content
-/*N*/ pOutliner->Clear();
-/*N*/
-/*N*/ if (eOrient == CHTXTORIENT_STACKED)
-/*?*/ pOutliner->SetText(StackString(rText), pOutliner->GetParagraph( 0 ));
-/*N*/ else
-/*N*/ pOutliner->SetText(rText, pOutliner->GetParagraph( 0 ));
-/*N*/
-/*N*/ // FG: This routine actually calculates if the text has to be
- // wrapped
-/*N*/ Size aSize = CalcTextSizeOfOneText (eOrient, aTextAttr, pOutliner, nMaximumWidth,FALSE);
-/*N*/
-/*N*/ // FG: What is the purpose of this statement?
-/*N*/ OutlinerParaObject* pPara = pOutliner->CreateParaObject();
-/*N*/
-/*N*/ // FG: Now the text created and formatted by the statements above
- // is destroyed.
-/*N*/ pOutliner->Clear();
-/*N*/
-/*N*/ //rPos=position in ChartRect, is passed as arg
-/*N*/ //size results from CalcTextOf... (see above)
-/*N*/ Rectangle aRect(rPos, aSize);
-/*N*/ SdrRectObj* pObj;
-/*N*/
-/*N*/ AdjustRect(aRect, eAdjust);
-/*N*/
-/*N*/ switch(nId)
-/*N*/ {
-/*N*/ //All titles are responsible for their attributes
-/*N*/ case CHOBJID_DIAGRAM_TITLE_X_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Y_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Z_AXIS:
-/*N*/ case CHOBJID_TITLE_MAIN:
-/*N*/ case CHOBJID_TITLE_SUB:
-/*N*/ pObj = new SchRectObj(OBJ_TEXT, aRect);
-/*N*/ break;
-/*N*/ default:
-/*N*/ pObj = new SdrRectObj(OBJ_TEXT, aRect);
-/*N*/ break;
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ // Since 4/1998 text can be rotated by an arbitrary angle: SCHATTR_TEXT_DEGREES
-/*N*/ long nDegrees=GetTextRotation((SfxItemSet&)rAttr,eOrient);
-/*N*/ if(nDegrees)
-/*N*/ {
-/*N*/ Rectangle aOldBoundRect=pObj->GetBoundRect();
-/*N*/ double fVal=nDegrees * nPi180;
-/*N*/ pObj->Rotate(pObj->GetSnapRect().Center(), nDegrees, sin(fVal), cos(fVal));
-/*N*/ pObj->NbcMove( AdjustRotatedRect(aOldBoundRect, eAdjust,pObj->GetBoundRect()));
-/*N*/ }
-/*N*/
-/*N*/ //ToDo: appending of ,*(pItemPool->GetFrozenIdRanges()) ???, preliminaryly with these Whichpairs
-/*N*/ SfxItemSet aAreaAttr(*pItemPool,nExchangeTitleWhichPairs);
-/*N*/
-/*N*/ //Neu: #52009#
-/*N*/ aAreaAttr.Put(SdrTextAutoGrowHeightItem( bIsTitle ));
-/*N*/ aAreaAttr.Put(SdrTextAutoGrowWidthItem( bIsTitle ));
-/*N*/ aAreaAttr.Put(rAttr);
-/*N*/
-/*N*/ pObj->SetItemSet(aAreaAttr);//#63904# 10%
-/*N*/
-/*N*/ pObj->InsertUserData(new SchObjectId(nId));
-/*N*/ pObj->InsertUserData(new SchObjectAdjust(eAdjust, eOrient));
-/*N*/ pObj->NbcSetOutlinerParaObject(pPara);
-/*N*/
-/*N*/ return pObj;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Set text of diagram-text objects
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Set attributes of diagram-text objects
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::SetTextAttr(SdrTextObj& rTextObj,
-/*N*/ const SfxItemSet& rAttr,
-/*N*/ const long /*nMaximumWidth*/)
-/*N*/ {
-/*N*/ rTextObj.SetItemSetAndBroadcast( rAttr );
-/*N*/
-/*N*/ if ( rTextObj.GetOutlinerParaObject())
-/*N*/ {
-/*N*/ SfxItemSet aTextAttr(*pItemPool, nTextWhichPairs);
-/*N*/ aTextAttr.Put(rAttr);
-/*N*/ aTextAttr.Put(SvxAdjustItem());
-/*N*/
-/*N*/ pOutliner->SetText(*rTextObj.GetOutlinerParaObject());
-/*N*/
-/*N*/ SetTextAttributes (aTextAttr);
-/*N*/
-/*N*/ if(IsAttrChangeNeedsBuildChart(rAttr))
-/*N*/ {
-/*N*/ // in this case a text resize/reorg might be necessary
-/*N*/
-/*N*/ Size aSize = pOutliner->CalcTextSize();
-/*N*/ aSize.Height() += TEXTHEIGHT_OFS;
-/*N*/ aSize.Width () = (aSize.Width () * 6) / 5;
-/*N*/
-/*N*/ OutlinerParaObject* pPara = pOutliner->CreateParaObject();
-/*N*/
-/*N*/ pOutliner->Clear();
-/*N*/
-/*N*/ rTextObj.SetOutlinerParaObject(pPara);
-/*N*/ AdjustTextSize(rTextObj, aSize);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* Liefert die maximale Beschriftungs-Text-Groesse
-|* FG: Hier wird der groesste Text berechnet und die Groesse des ersten
-|* und letzten (je nach Chart-Typ braucht man einen oder alle 3 Werte
-|* nNumberFormat ist der Index fuer ein Zahlenformat, dies kann noetig
-|* sin um die wahre Textbreite und Hoehe auszurechnen
-|* nMaximumWidth ist die Breite ab der der Text umgebrochen wird
-|*
-\************************************************************************/
-
-/*N*/ Size ChartModel::CalcMaxDescrSize(BOOL bRowDescr,
-/*N*/ SvxChartTextOrient eOrient,
-/*N*/ const UINT32 nNumberFormat,
-/*N*/ long nAxisUId,
-/*N*/ const long MaximumWidth,
-/*N*/ Pair* pFirstAndLast )
-/*N*/ {
-/*N*/ ChartAxis *pCurrentXAxis = (nAxisUId == CHAXIS_AXIS_A)? pChartAAxis: pChartXAxis;
-/*N*/
-/*N*/ BOOL bLogarithm = pCurrentXAxis->IsLogarithm();
-/*N*/ short nCnt;
-/*N*/ SfxItemSet* pLclAxisAttr;
-/*N*/ if (bRowDescr)
-/*N*/ {
-/*N*/ nCnt = GetRowCount();
-/*N*/ pLclAxisAttr = &GetAttr(CHOBJID_DIAGRAM_Z_AXIS);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ nCnt = GetColCount();
-/*N*/ pLclAxisAttr = &GetAttr(CHOBJID_DIAGRAM_X_AXIS);
-/*N*/ }
-/*N*/
-/*N*/ pOutliner->SetUpdateMode (FALSE);
-/*N*/
-/*N*/ Size aMaxSize(0, 0);
-/*N*/
-/*N*/ if (IsXYChart())
-/*N*/ {
- /**********************************************************************
- * XY-Chart oder Zeilen muessen zusammengefasst werden
- **********************************************************************/
-/*N*/ if (/*IsXYChart() && */pCurrentXAxis->GetMin() == pCurrentXAxis->GetMax())//#55400#
-/*N*/ {
-/*?*/ return Size (0, 0);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/
-/*N*/ // #55400#
-/*N*/ // #67961#
-/*N*/ double fMinX = pCurrentXAxis->GetMin();
-/*N*/ double fMaxX = pCurrentXAxis->GetMax();
-/*N*/ double fStepX = pCurrentXAxis->GetStep();
-/*N*/
-/*N*/ // Collect the items which control the text appearence and set them to
-/*N*/ // the outliner.
-/*N*/ SfxItemSet aTextAttr(*pItemPool, nTextOrientWhichPairs);
-/*N*/ aTextAttr.Put(GetAttr(CHOBJID_DIAGRAM_X_AXIS));
-/*N*/
-/*N*/ double fAct = fMinX;
-/*N*/
-/*N*/ while (fAct <= fMaxX)
-/*N*/ {
-/*N*/ String aNumStr;
-/*N*/ Color* pDummy = NULL;
-/*N*/
-/*N*/ pNumFormatter->GetOutputString(fAct, nNumberFormat, aNumStr, &pDummy);
-/*N*/
-/*N*/ if (eOrient == CHTXTORIENT_STACKED)
-/*?*/ pOutliner->SetText(StackString(aNumStr), pOutliner->GetParagraph( 0 ));
-/*N*/ else
-/*N*/ pOutliner->SetText(aNumStr, pOutliner->GetParagraph( 0 ));
-/*N*/
-/*N*/ // FG: Hier wird wirklich berechnet wie groß der Textbereich werden soll. Insbesondere
-/*N*/ // wird hier entschieden, ob der Text umgebrochen werden soll oder nicht!
-/*N*/ SetTextAttributes (aTextAttr);
-/*N*/ Size aSize = CalcTextSizeOfOneText (eOrient, aTextAttr, pOutliner, MaximumWidth,
-/*N*/ TRUE, FALSE);
-/*N*/ pOutliner->SetUpdateMode (FALSE);
-/*N*/
-/*N*/ pOutliner->Clear();
-/*N*/
-/*N*/ if (aSize.Width() > aMaxSize.Width())
-/*N*/ aMaxSize.Width() = aSize.Width();
-/*N*/ if (aSize.Height() > aMaxSize.Height())
-/*N*/ aMaxSize.Height() = aSize.Height();
-/*N*/
-/*N*/ // FG: Die Berechnung erfolgt hier, damit die Raender in Create2DBackplane
-/*N*/ if (fAct <= fMinX)
-/*N*/ {
-/*N*/ nWidthOfFirstXAxisText = aSize.Width();
-/*N*/ if(pFirstAndLast)
-/*N*/ pFirstAndLast->A()=nWidthOfFirstXAxisText;
-/*N*/
-/*N*/ }
-/*N*/ IncValue(fAct, fStepX, bLogarithm);
-/*N*/ // FG: Die Berechnung erfolgt hier, damit die Raender in Create2DBackplane
-/*N*/ if (fAct >= fMaxX)
-/*N*/ {
-/*N*/ nWidthOfLastXAxisText = aSize.Width();
-/*N*/ if(pFirstAndLast)
-/*N*/ pFirstAndLast->B()=nWidthOfLastXAxisText;
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // Collect the items which control the text appearence and set them to
-/*N*/ // the outliner.
-/*N*/ SfxItemSet aTextAttr(*pItemPool, nTextOrientWhichPairs);
-/*N*/ aTextAttr.Put(*pLclAxisAttr);
-/*N*/
-/*N*/ for (short i = 0; i < nCnt; i++)
-/*N*/ {
-/*N*/ String aDescrStr = bRowDescr ? RowText(i) : ColText(i);
-/*N*/
-/*N*/ if (eOrient == CHTXTORIENT_STACKED)
-/*?*/ pOutliner->SetText(StackString(aDescrStr), pOutliner->GetParagraph( 0 ));
-/*N*/ else
-/*N*/ pOutliner->SetText(aDescrStr, pOutliner->GetParagraph( 0 ));
-/*N*/
-/*N*/ // FG: Hier wird wirklich berechnet wie groß der Textbereich werden soll. Insbesondere wird
-/*N*/ // hier entschieden, ob der Text umgebrochen werden soll oder nicht!
-/*N*/ SetTextAttributes (aTextAttr);
-/*N*/ Size aSize = CalcTextSizeOfOneText (eOrient, aTextAttr, pOutliner, MaximumWidth,TRUE,
-/*N*/ FALSE);
-/*N*/ pOutliner->SetUpdateMode (FALSE);
-/*N*/ pOutliner->Clear();
-/*N*/
-/*N*/ if (aSize.Width() > aMaxSize.Width())
-/*N*/ aMaxSize.Width() = aSize.Width();
-/*N*/ if (aSize.Height() > aMaxSize.Height())
-/*N*/ aMaxSize.Height() = aSize.Height();
-/*N*/ // FG: Die Berechnung erfolgt hier, damit die Raender in Create2DBackplane
-/*N*/ // richtig berechnet werden koennen.
-/*N*/ if (i == 0)
-/*N*/ {
-/*N*/ nWidthOfFirstXAxisText = aSize.Width();
-/*N*/ if(pFirstAndLast)
-/*N*/ pFirstAndLast->A()=nWidthOfFirstXAxisText;
-/*N*/ }
-/*N*/ if (i == nCnt-1)
-/*N*/ {
-/*N*/ nWidthOfLastXAxisText = aSize.Width();
-/*N*/ if(pFirstAndLast)
-/*N*/ pFirstAndLast->B()=nWidthOfLastXAxisText;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pOutliner->SetUpdateMode (TRUE);
-/*N*/
-/*N*/ return aMaxSize;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Datenzeilen-Attributsets initialisieren
-|*
-\************************************************************************/
-
-//
-// schneller machen, es muß nicht alles neu gebaut werden
-//
-
-/*N*/ void ChartModel::InitDataAttrs()
-/*N*/ {
-/*N*/ CHART_TRACE( "ChartModel::InitDataAttrs" );
-/*N*/
-/*N*/ DBG_ASSERT( pChartData, "ChartModel::InitDataAttrs: No ChartData-Object available!" );
-/*N*/
-/*N*/ short nDataColCnt = pChartData->GetColCount();
-/*N*/ short nDataRowCnt = pChartData->GetRowCount();
-
- /* For pie charts we need the maximum of both dimensions, because the pie interprets data a bit
- * odd: only the first series (data-row) is used for the pie. Each segment is a data point of
- * this single series. However to get the correct colors the array containing series attributes
- * is used instead of the data point attributes. Thus for a 1x10 data we need 10 series
- * attributes although we have only one series. However for 20x10 data we need 20 series
- * attributes, because we actually have 20 series although just the first one is visible. But
- * we need those attributes in case the chart type is switched.
- */
-/*N*/ short nCnt = IsPieChart()
-/*N*/ ? ::std::max( GetColCount(), GetRowCount())
-/*N*/ : GetRowCount();
-/*N*/
-/*N*/ short i;
-/*N*/
-/*N*/ if (nCnt != nPieSegCount)
-/*N*/ {
-/*N*/ long *pOfs = new long[nCnt];
-/*N*/
-/*N*/ if (nPieSegCount > nCnt)
-/*N*/ for (i = 0; i < nCnt; i++)
-/*N*/ pOfs[i] = pPieSegOfs[i];
-/*N*/ else
-/*N*/ {
-/*N*/ for (i = 0; i < nPieSegCount; i++)
-/*N*/ pOfs[i] = pPieSegOfs[i];
-/*N*/ for (; i < nCnt; i++)
-/*N*/ pOfs[i] = 0;
-/*N*/ }
-/*N*/
-/*N*/ delete[] pPieSegOfs;
-/*N*/ pPieSegOfs = pOfs;
-/*N*/ nPieSegCount = nCnt;
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ long nRowListCnt ;
-/*N*/ //regressattr
-/*N*/ nRowListCnt = aRegressAttrList.size();
-/*N*/
-/*N*/ DBG_ASSERT( pDefaultColors, "invalid default colors" );
-/*N*/ size_t nNumDefCol = pDefaultColors->size();
-/*N*/ DBG_ASSERT( nNumDefCol, "Empty Default Color List" );
-/*N*/
-/*N*/ if (nCnt != nRowListCnt)
-/*N*/ {
-/*N*/ if (nRowListCnt > nCnt)
-/*N*/ {
- for ( i = nCnt; i < nRowListCnt; ++i )
- {
- ItemSetList::iterator it = aRegressAttrList.begin();
- ::std::advance( it, nCnt );
- delete *it;
- aRegressAttrList.erase( it );
- }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ for (i = nRowListCnt; i < nCnt; i++)
-/*N*/ {
-/*N*/ SfxItemSet* pRegressAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ aRegressAttrList.push_back( pRegressAttr );
-/*N*/
-/*N*/ pRegressAttr->Put(XLineStyleItem(XLINE_SOLID));
-/*N*/ pRegressAttr->Put(XLineWidthItem(100));
-/*N*/ if( nNumDefCol != 0 )
-/*N*/ {
-/*N*/ XColorEntry* pEntry = (*pDefaultColors)[ i % nNumDefCol ];
-/*N*/ pRegressAttr->Put(XLineColorItem(pEntry->GetName(),
-/*N*/ pEntry->GetColor()));
-/*N*/ }
-/*N*/ pRegressAttr->Put(XLineDashItem());
-/*N*/ pRegressAttr->Put(XLineStartItem());
-/*N*/ pRegressAttr->Put(XLineEndItem());
-/*N*/ pRegressAttr->Put(XLineStartWidthItem());
-/*N*/ pRegressAttr->Put(XLineEndWidthItem());
-/*N*/ pRegressAttr->Put(XLineStartCenterItem());
-/*N*/ pRegressAttr->Put(XLineEndCenterItem());
-/*N*/ pRegressAttr->Put(XLineTransparenceItem());
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ //average attr
-/*N*/ nRowListCnt = aAverageAttrList.size();
-/*N*/ if (nCnt != nRowListCnt)
-/*N*/ {
-/*N*/ if (nRowListCnt > nCnt)
-/*N*/ {
- for ( i = nCnt; i < nRowListCnt; ++i )
- {
- ItemSetList::iterator it = aAverageAttrList.begin();
- ::std::advance( it, nCnt );
- delete *it;
- aAverageAttrList.erase( it );
- }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ for (i = nRowListCnt; i < nCnt; i++)
-/*N*/ {
-/*N*/ SfxItemSet* pAverageAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ aAverageAttrList.push_back( pAverageAttr );
-/*N*/
-/*N*/ pAverageAttr->Put(XLineStyleItem(XLINE_SOLID));
-/*N*/ pAverageAttr->Put(XLineWidthItem(0));
-/*N*/ if( nNumDefCol != 0 )
-/*N*/ {
-/*N*/ XColorEntry* pEntry = (*pDefaultColors)[ i % nNumDefCol ];
-/*N*/ pAverageAttr->Put(XLineColorItem(pEntry->GetName(),
-/*N*/ pEntry->GetColor()));
-/*N*/ }
-/*N*/ pAverageAttr->Put(XLineDashItem());
-/*N*/ pAverageAttr->Put(XLineStartItem());
-/*N*/ pAverageAttr->Put(XLineEndItem());
-/*N*/ pAverageAttr->Put(XLineStartWidthItem());
-/*N*/ pAverageAttr->Put(XLineEndWidthItem());
-/*N*/ pAverageAttr->Put(XLineStartCenterItem());
-/*N*/ pAverageAttr->Put(XLineEndCenterItem());
-/*N*/ pAverageAttr->Put(XLineTransparenceItem());
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ //error attr
-/*N*/ nRowListCnt = (short)aErrorAttrList.size();
-/*N*/ if (nCnt != nRowListCnt)
-/*N*/ {
-/*N*/ if (nRowListCnt > nCnt)
-/*N*/ {
- for ( i = nCnt; i < nRowListCnt; ++i )
- {
- ItemSetList::iterator it = aErrorAttrList.begin();
- ::std::advance( it, nCnt );
- delete *it;
- aErrorAttrList.erase( it );
- }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ for (i = nRowListCnt; i < nCnt; i++)
-/*N*/ {
-/*N*/ SfxItemSet* pErrorAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ aErrorAttrList.push_back( pErrorAttr );
-/*N*/
-/*N*/ pErrorAttr->Put(XLineStyleItem(XLINE_SOLID));
-/*N*/ pErrorAttr->Put(XLineWidthItem(0));
-/*N*/ pErrorAttr->Put(XLineColorItem(String(), RGBColor(COL_BLACK)));
-/*N*/ pErrorAttr->Put(XLineDashItem());
-/*N*/ pErrorAttr->Put(XLineStartItem());
-/*N*/ pErrorAttr->Put(XLineEndItem());
-/*N*/ pErrorAttr->Put(XLineStartWidthItem());
-/*N*/ pErrorAttr->Put(XLineEndWidthItem());
-/*N*/ pErrorAttr->Put(XLineStartCenterItem());
-/*N*/ pErrorAttr->Put(XLineEndCenterItem());
-/*N*/ pErrorAttr->Put(XLineTransparenceItem());
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // Point-Attr
-/*N*/ long nPointCnt = nDataColCnt * nDataRowCnt;
-/*N*/ long nPointListCnt = aDataPointAttrList.size();
-/*N*/ if (nPointCnt != nPointListCnt)
-/*N*/ {
-/*N*/ if (nPointListCnt > nPointCnt)
-/*N*/ {
-/*N*/ while (nPointListCnt-- > nPointCnt)
-/*N*/ {
- ItemSetList::iterator it = aDataPointAttrList.begin();
- ::std::advance( it, nPointCnt );
- delete *it;
- aDataPointAttrList.erase( it );
-/*N*/ }
-/*N*/ }
-/*N*/ else for (long ii = nPointListCnt; ii < nPointCnt; ii++)
-/*N*/ aDataPointAttrList.push_back( NULL );
-/*N*/ }
-/*N*/
-/*N*/ // Switch-Point-Attr
-/*N*/ nPointListCnt = aSwitchDataPointAttrList.size();
-/*N*/ if (nPointCnt != nPointListCnt)
-/*N*/ {
-/*N*/ if (nPointListCnt > nPointCnt)
-/*N*/ {
-/*N*/ while (nPointListCnt-- > nPointCnt)
-/*N*/ {
- ItemSetList::iterator it = aSwitchDataPointAttrList.begin();
- ::std::advance( it, nPointCnt );
- delete *it;
- aSwitchDataPointAttrList.erase( it );
-/*N*/ }
-/*N*/ }
-/*N*/ else for (long iii = nPointListCnt; iii < nPointCnt; iii++)
-/*N*/ aSwitchDataPointAttrList.push_back( NULL );
-/*N*/ }
-/*N*/
-/*N*/ //row attr
-/*N*/ nRowListCnt = (short)aDataRowAttrList.size();
-/*N*/ if (nCnt != nRowListCnt)
-/*N*/ {
-/*N*/ if (nRowListCnt > nCnt)
-/*N*/ {
-/*N*/ //bevor attribute geloescht werden, wird reorganisiert
-/*N*/ LogBookAttrData();
-/*N*/
-/*N*/ //Jetzt darf erst der Ueberhang geloescht werden:
- for ( i = nCnt; i < nRowListCnt; ++i )
- {
- ItemSetList::iterator it = aDataRowAttrList.begin();
- ::std::advance( it, nCnt );
- delete *it;
- aDataRowAttrList.erase( it );
- }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ bool bIsCombiChart =
-/*N*/ ( CHSTYLE_2D_LINE_COLUMN == eChartStyle ) ||
-/*N*/ ( CHSTYLE_2D_LINE_STACKEDCOLUMN == eChartStyle );
-/*N*/
-/*N*/ for (i = nRowListCnt; i < nCnt; i++)
-/*N*/ {
-/*N*/ SfxItemSet* pDataRowAttr = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/ aDataRowAttrList.push_back( pDataRowAttr );
-/*N*/ SetDefAttrRow(pDataRowAttr,i);
-/*N*/
-/*N*/ // Change the defaults for lines in mixed line-column charts.
-/*N*/ if( bIsCombiChart && IsLine( i ) )
-/*N*/ {
-/*N*/ pDataRowAttr->ClearItem (SCHATTR_STYLE_SYMBOL);
-/*N*/ pDataRowAttr->Put (XLineStyleItem (XLINE_SOLID));
-/*N*/ pDataRowAttr->Put (XLineWidthItem (0));
-/*N*/ }
-/*N*/ }
-/*N*/ if( ! bIsCombiChart )
-/*N*/ SetupLineColors( SETLINES_FILLCOLOR, nRowListCnt );
-/*N*/ }
-/*N*/ }
-/*N*/ LogBookAttrData();
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* ggf. Attribute neu Organisieren erzeugen
-|*
-\************************************************************************/
-/*N*/ void ChartModel::LogBookAttrData()
-/*N*/ {
-/*N*/ CHART_TRACE( "ChartModel::LogBookAttrData" );
-/*N*/
-/*N*/ if(pLogBook)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* RowAttr neu setzen:
-|*
-\************************************************************************/
-/*N*/ void ChartModel::SetDefAttrRow(SfxItemSet* pDataRowAttr,const long i)
-/*N*/ {
-/*N*/ DBG_ASSERT( pDefaultColors, "Invalid default color list" );
-/*N*/ if( ! pDefaultColors )
-/*N*/ return;
-/*N*/
-/*N*/ CHART_TRACE1( "ChartModel::SetDefAttrRow - Row #%ld", i );
-/*N*/
-/*N*/ size_t nNumDefCol = pDefaultColors->size();
-/*N*/ DBG_ASSERT( nNumDefCol, "invalid default colors" );
-/*N*/
-/*N*/ pDataRowAttr->Put(*pDummyAttr);
-/*N*/ if( nNumDefCol != 0 )
-/*N*/ {
-/*N*/ XColorEntry* pEntry = (*pDefaultColors)[ i % nNumDefCol ];
-/*N*/ pDataRowAttr->Put(XFillColorItem(pEntry->GetName(),
-/*N*/ pEntry->GetColor()));
-/*N*/
-/*N*/ if(IsLine(i)) //#54870# bei Linien defaultfarbe der Linie=FillColor
-/*N*/ {
-/*N*/ pDataRowAttr->Put(XLineColorItem(pEntry->GetName(),
-/*N*/ pEntry->GetColor()));
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ pDataRowAttr->Put(XLineColorItem(String(), RGBColor(COL_BLACK)));
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* ggf. Demo-Chart erzeugen
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::InitChartData(BOOL bNewTitles)
-/*N*/ {
-/*N*/ if (!pChartData)
-/*N*/ {
-/*N*/ SchMemChart* pMemChart = new SchMemChart(DEFAULT_COLCNT, DEFAULT_ROWCNT);
-/*N*/
-/*N*/ pMemChart->SetMainTitle(String(SchResId(STR_TITLE_MAIN)));
-/*N*/ pMemChart->SetSubTitle(String(SchResId(STR_TITLE_SUB)));
-/*N*/ pMemChart->SetXAxisTitle(String(SchResId(STR_DIAGRAM_TITLE_X_AXIS)));
-/*N*/ pMemChart->SetYAxisTitle(String(SchResId(STR_DIAGRAM_TITLE_Y_AXIS)));
-/*N*/ pMemChart->SetZAxisTitle(String(SchResId(STR_DIAGRAM_TITLE_Z_AXIS)));
-/*N*/
-/*N*/ for( short nCol = 0; nCol < DEFAULT_COLCNT; nCol++ )
-/*N*/ {
-/*N*/ pMemChart->SetColText( nCol, pMemChart->GetDefaultColumnText( nCol ));
-/*N*/
-/*N*/ for( short nRow = 0; nRow < DEFAULT_ROWCNT; nRow++ )
-/*N*/ {
-/*N*/ pMemChart->SetData( nCol, nRow, fDefaultArr[ nRow ][ nCol ] );
-/*N*/ pMemChart->SetRowText( nRow, pMemChart->GetDefaultRowText( nRow ));
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ SetChartData(*pMemChart, bNewTitles);
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Defaultfarben erstellen
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::CreateDefaultColors ()
-/*N*/ {
-/*N*/ SchOptions* pOptions = SCH_MOD1()->GetSchOptions();
-/*N*/ size_t nCount;
-/*N*/ ColorData* pDefaultCol = NULL;
-/*N*/
-/*N*/ if( pOptions )
-/*N*/ {
-/*N*/ const SchColorTable& aDefCols = pOptions->GetDefaultColors();
-/*N*/ nCount = aDefCols.Count();
-/*N*/ pDefaultCol = new ColorData[ nCount ];
-/*N*/ DBG_ASSERT( nCount == ROW_COLOR_COUNT, "Chart: dynamic default color array size not supported yet" );
-/*N*/
-/*N*/ for( size_t i=0; i<nCount; i++ )
-/*N*/ {
-/*N*/ pDefaultCol[ i ] = aDefCols.GetColorData( i );
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ nCount = ROW_COLOR_COUNT;
-/*?*/ pDefaultCol = new ColorData[ nCount ];
-/*?*/
-/*?*/ pDefaultCol[ 0 ] = RGB_COLORDATA( 0x99, 0x99, 0xff );
-/*?*/ pDefaultCol[ 1 ] = RGB_COLORDATA( 0x99, 0x33, 0x66 );
-/*?*/ pDefaultCol[ 2 ] = RGB_COLORDATA( 0xff, 0xff, 0xcc );
-/*?*/ pDefaultCol[ 3 ] = RGB_COLORDATA( 0xcc, 0xff, 0xff );
-/*?*/ pDefaultCol[ 4 ] = RGB_COLORDATA( 0x66, 0x00, 0x66 );
-/*?*/ pDefaultCol[ 5 ] = RGB_COLORDATA( 0xff, 0x80, 0x80 );
-/*?*/ pDefaultCol[ 6 ] = RGB_COLORDATA( 0x00, 0x66, 0xcc );
-/*?*/ pDefaultCol[ 7 ] = RGB_COLORDATA( 0xcc, 0xcc, 0xff );
-/*?*/ pDefaultCol[ 8 ] = RGB_COLORDATA( 0x00, 0x00, 0x80 );
-/*?*/ pDefaultCol[ 9 ] = RGB_COLORDATA( 0xff, 0x00, 0xff );
-/*?*/ pDefaultCol[ 10 ] = RGB_COLORDATA( 0x00, 0xff, 0xff );
-/*?*/ pDefaultCol[ 11 ] = RGB_COLORDATA( 0xff, 0xff, 0x00 );
-/*N*/ }
-/*N*/
-/*N*/ // create colors from table if they exist otherwise copy default colors
-/*N*/ pDefaultColors = new XColorEntryList;
-/*N*/ Color aCol;
-/*N*/
-/*N*/ for( size_t i = 0; i < nCount; i++ )
-/*N*/ {
-/*N*/ aCol.SetColor( pDefaultCol[ i ] );
-/*N*/ pDefaultColors->push_back( new XColorEntry( aCol, String() ) );
-/*N*/ }
-/*N*/
-/*N*/ delete[] pDefaultCol;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Defaultfarben loeschen
-|*
-\************************************************************************/
-
-void ChartModel::DestroyDefaultColors ()
-{
- if (pDefaultColors)
- {
- for( size_t i = 0, n = pDefaultColors->size(); i < n; ++i )
- delete (*pDefaultColors)[ i ];
- pDefaultColors->clear();
- delete pDefaultColors;
- }
- pDefaultColors = 0;
-}
-
-/*************************************************************************
-|*
-|* Berechnung der Breite und der Hoehe eines Textes
-|*
-|* Derzeit ist diese funktion totaler Muell: Im wesentlichen werden die Werte direkt gesetzt
-|* Hoehe = 2 * Texthoehe, Breite hoechstens MaximumWidth
-|*
-|* FG: Damit dies Funktioniert muss per SetText im Outliner (pOutliner)
-|* der Text schon gesetzt sein!
-|*
-\************************************************************************/
-#define MAXLEGENDLINES 3 //#49908# #NACHTRAG#
-#define CDEG2RAD(fAngle) ( (double)(fAngle)*F_PI/18000.0 )
-
-
-/*N*/ void ChartModel::SetTextAttributes (SfxItemSet & rTextAttributes)
-/*N*/ {
-/*N*/ ULONG nParagraphCount = pOutliner->GetParagraphCount();
-/*N*/ for (ULONG i=0; i<nParagraphCount; i++)
-/*N*/ pOutliner->SetParaAttribs(i, rTextAttributes);
-/*N*/ }
-
-
-// bGetRotated sollte TRUE sein, wenn der verbrauchte Platz des Textes gemessen werden soll,
-// und False, falls das TextRect berechnet und dann gedreht wird (sonst doppelte Drehung)
-// The flag bSetTextAttributes tells the method wether to set the given attributes to the
-// outliner.
-/*N*/ Size ChartModel::CalcTextSizeOfOneText (SvxChartTextOrient eOrient,
-/*N*/ SfxItemSet &rTextAttr,
-/*N*/ SdrOutliner *pInOutliner,
-/*N*/ long MaxW,
-/*N*/ BOOL bGetRotated/*=FALSE*/,
-/*N*/ BOOL bUseTextAttributes)
-/*N*/ {
-/*N*/ long MaximumWidth=MaxW;
-/*N*/
-/*N*/ pInOutliner->SetUpdateMode (FALSE);
-/*N*/ ULONG nParaCnt = pInOutliner->GetParagraphCount();
-/*N*/
-/*N*/ // FG: Jeder Absatz muss die Text-Attribute einzeln zugewiesen bekommen. (jedenfalls scheint es so)
-/*N*/ // Besser waere es dass fuer alle Absaetze auf einmal setzen zu koennen.
-/*N*/ if (bUseTextAttributes)
-/*N*/ SetTextAttributes (rTextAttr);
-/*N*/
-/*N*/ Size OldPaperSize = pInOutliner->GetPaperSize();
-/*N*/
-/*N*/ long nDegrees=GetTextRotation((SfxItemSet&)rTextAttr,eOrient);//#62531#
-/*N*/ double fDeg(0.0), fSin(0.0),
-/*N*/ fCos = 1; // BM: Initialize Cos for if statement after if(nDegrees)-Block
-/*N*/ BOOL bBreakOK=TRUE; //s.u.
-/*N*/ if(nDegrees)
-/*N*/ {
-/*N*/ //TVM: In einigen Bereichen macht Umbruch keinen Sinn, da die Breite steigt (90 bzw.
-/*N*/ //270 Grad ist der triviale Fall!) Der genaue Bereich ist hier nicht festgelegt,
-/*N*/ //denn jeder andere Fall ist leider nicht trivial! (Abhängig davon, wieviele Zeichen
-/*N*/ //und welche umgebrochen werden, 2 Beispiele:
-/*N*/ // 1. nur ein 'i' wird umgebrochen => Text wird fast immer breiter (ausser bei ~ 0 Grad)
-/*N*/ // 2. der halbe Text wird umgebrochen => fast immer sinnvoll
-/*N*/ //Die genaue Berechnung erfordert einen Test und ein Undo, wenn es breiter wird
-/*N*/ //Im folgenden wird einfach die Mitte genommen -> 90% - Lösung
-/*N*/ bBreakOK =!( ((nDegrees > 4500) && (nDegrees < 13500))
-/*N*/ || ((nDegrees >22500) && (nDegrees < 31500)));
-/*N*/
-/*N*/ fDeg=CDEG2RAD(nDegrees);
-/*N*/ fSin=fabs(sin(fDeg));
-/*N*/ fCos=fabs(cos(fDeg));
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ if( MaximumWidth > 0 && fCos!=0) //Kein Umbruch bei 90 und 270 Grad oder Max<=0
-/*N*/ pInOutliner->SetPaperSize( Size( MaximumWidth, 0 ) );
-/*N*/
-/*N*/
-/*N*/ pInOutliner->SetUpdateMode (TRUE);
-/*N*/ Size aSize = pInOutliner->CalcTextSize();
-/*N*/ pInOutliner->SetUpdateMode (FALSE);
-/*N*/ Size aRot(aSize);
-/*N*/ if(nDegrees)
-/*N*/ {
-/*N*/ aRot.Width() = (long)( (double)aSize.Width()*fCos + (double)aSize.Height()*fSin );
-/*N*/ aRot.Height()= (long)( (double)aSize.Width()*fSin + (double)aSize.Height()*fCos );
-/*N*/ }
-/*N*/
-/*N*/ // FG: Diese Groesse wird nun veraendert, falls MaximumWidth > 0 und
-/*N*/ // aSize.Width() > MaximumWidth, dann wird umgebrochen, genau einmal.
-/*N*/ // Es kommen also hoechstens 2 Zeilen raus, der Rest wird dann abgeschnitten.
-/*N*/ // An dieser Stelle werden aber nur die Attribute berechnet.
-/*N*/
-/*N*/ if ((MaximumWidth > 0) && (eOrient != CHTXTORIENT_STACKED))
-/*N*/ {
-/*N*/ #ifdef DBG_UTIL
-/*N*/ if(!(aRot.Width() <= MaximumWidth))
-/*N*/ DBG_WARNING("ChartModel::CalcTextSizeOfOneText:Doch breiter?" );
-/*N*/ #endif
-/*N*/ ULONG nLines = 0;
-/*N*/ for( USHORT n = 0; n < pInOutliner->GetParagraphCount(); n++ )
-/*N*/ {
-/*N*/ nLines += pInOutliner->GetLineCount( n );
-/*N*/ }
-/*N*/
-/*N*/ // Silbentrennung nur bei >MAXLEGENDLINES Zeilen oder einem zu langen wort...
-/*N*/ if ( bBreakOK
-/*N*/ && ( ( nLines > MAXLEGENDLINES )
-/*N*/ || ( ( nLines >= 2 )
-/*N*/ && ( nParaCnt == 1 )
-/*N*/ && ( pInOutliner->GetText( pInOutliner->GetParagraph( 0 ) ).Search( ' ' )
-/*N*/ == STRING_NOTFOUND )
-/*N*/ )
-/*N*/ )
-/*N*/ )
-/*N*/ {
-/*?*/ if ( nLines > MAXLEGENDLINES )
-/*?*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*?*/
-/*?*/ ULONG nLclParaCnt = pInOutliner->GetParagraphCount();
-/*?*/
-/*?*/ for (ULONG i = 0; i < nLclParaCnt; i++)
-/*?*/ {
-/*?*/ // Stets Silbentrennung
-/*?*/ SfxItemSet aAttr(pInOutliner->GetParaAttribs(i));
-/*?*/ aAttr.Put( SfxBoolItem(EE_PARA_HYPHENATE, TRUE) );
-/*?*/ pInOutliner->SetParaAttribs(i, aAttr);
-/*?*/ }
-/*?*/
-/*?*/ //#50395# durch Bindestriche vergrößert worden->
-/*?*/ //statt 2 werden jetzt 3 Zeilen benötigt
-/*?*/ ULONG nActLines = 0;
-/*?*/ for( USHORT n = 0; n < pInOutliner->GetParagraphCount(); n++ )
-/*?*/ {
-/*?*/ nActLines += pInOutliner->GetLineCount( n );
-/*?*/ }
-/*?*/ if(nActLines>nLines)
-/*?*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pInOutliner->SetPaperSize(OldPaperSize);
-/*N*/ pInOutliner->SetUpdateMode (TRUE);
-/*N*/
-/*N*/ return (bGetRotated && nDegrees) ? aRot : aSize;
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode2.cxx b/binfilter/bf_sch/source/core/sch_chtmode2.cxx
deleted file mode 100644
index e0411f231..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode2.cxx
+++ /dev/null
@@ -1,2128 +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.
- *
- ************************************************************************/
-
-#include "schattr.hxx"
-#include "memchrt.hxx"
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-
-#include <bf_svtools/itempool.hxx>
-
-
-#include <bf_svx/svdopath.hxx>
-
-
-#include <bf_svx/xlnclit.hxx>
-#include <bf_svx/xlnwtit.hxx>
-#ifndef _ZFORLIST_HXX //autogen
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#endif
-#include <bf_svx/eeitem.hxx>
-#include <bf_svtools/zformat.hxx>
-// header for getProcessServiceFactory
-
-#include "chmod3d.hxx" //SchRectObj
-
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#define ITEMID_FONTWIDTH EE_CHAR_FONTWIDTH
-#define ITEMID_FONT EE_CHAR_FONTINFO
-#include "globfunc.hxx"
-#include <bf_svx/svxids.hrc>
-#include "schresid.hxx"
-#include "schiocmp.hxx"
-
-#include "strings.hrc"
-#include "glob.hrc"
-
-#include <bf_svx/fhgtitem.hxx>
-#include <bf_svx/fontitem.hxx>
-
-#include <tools/tenccvt.hxx>
-
-#include "pairs.hxx"
-#include "chaxis.hxx"
-
-
-#include <legacysmgr/legacy_binfilters_smgr.hxx>
-namespace binfilter {
-
-
-/************************************************************************/
-const USHORT nCompatAxisWhichPairs[] =
-{
- SCHATTR_TEXT_START, SCHATTR_TEXT_END,
- SCHATTR_Y_AXIS_START, SCHATTR_Z_AXIS_END, //X-Z!
- SCHATTR_AXISTYPE, SCHATTR_AXISTYPE,
- SCHATTR_TEXT_DEGREES,SCHATTR_TEXT_DEGREES,
- SCHATTR_TEXT_OVERLAP, SCHATTR_TEXT_OVERLAP,
- SCHATTR_AXIS_START,SCHATTR_AXIS_END,
- XATTR_LINE_FIRST, XATTR_LINE_LAST,
- EE_ITEMS_START, EE_ITEMS_END,
- SID_TEXTBREAK, SID_TEXTBREAK,
- SID_ATTR_NUMBERFORMAT_VALUE, SID_ATTR_NUMBERFORMAT_VALUE, //10.585
- 0
-};
-/************************************************************************/
-
-enum ChartStyleV0
-{
- CHART2D_LINE,
- CHART2D_STACKEDLINE,
- CHART2D_BAR,
- CHART2D_STACKEDBAR,
- CHART2D_COLUMN,
- CHART2D_STACKEDCOLUMN,
- CHART2D_AREA,
- CHART2D_STACKEDAREA,
- CHART2D_PIE,
- CHART3D_STRIPE,
- CHART3D_BAR,
- CHART3D_FLATBAR,
- CHART3D_STACKEDFLATBAR,
- CHART3D_AREA,
- CHART3D_STACKEDAREA,
- CHART3D_SURFACE,
- CHART3D_PIE
-};
-
-/*************************************************************************
-|*
-|* Datenbeschriftung erzeugen
-|*
-\************************************************************************/
-
-//SdrObject*
-
-/*N*/ USHORT ChartModel::GetRegressStrId( long nRow )
-/*N*/ {
-/*N*/
-/*N*/ const SfxItemSet& aDataRowAttr = GetDataRowAttr( nRow );
-/*N*/ USHORT nStringID = 0;
-/*N*/
-/*N*/ switch (((const SfxInt32Item &) aDataRowAttr.Get (SCHATTR_STAT_REGRESSTYPE)).GetValue ())
-/*N*/ {
-/*N*/ case CHREGRESS_NONE :
-/*N*/ break;
-/*N*/
-/*N*/ case CHREGRESS_LINEAR :
-/*?*/ nStringID = STR_REGRESSION_LINEAR;
-/*?*/ break;
-/*N*/
-/*?*/ case CHREGRESS_LOG :
-/*?*/ nStringID = STR_REGRESSION_LOG;
-/*?*/ break;
-/*?*/
-/*?*/ case CHREGRESS_EXP :
-/*?*/ nStringID = STR_REGRESSION_EXP;
-/*?*/ break;
-/*?*/
-/*?*/ case CHREGRESS_POWER :
-/*?*/ nStringID = STR_REGRESSION_POWER;
-/*?*/
-/*N*/ }
-/*N*/ return nStringID;
-/*N*/ }
-/*************************************************************************
-|*
-|* Diagrammlegende erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjGroup* ChartModel::CreateLegend(const Rectangle &aRect)
-/*N*/ {
-/*N*/ // Default ist, dass die Legende nicht breiter als 20% der gesamten Seitenbreite
-/*N*/ // verwenden darf, unter der Bedingung, dass sie links oder rechts vom Chart steht.
-/*N*/ // wenn sie ueber oder unter dem Chart steht, dann ist die Seitenbreite das Maximum
-/*N*/
-/*N*/ //TVM: obiges ist nicht richtig, CreateLegend wurde stets ohne 2.Argument
-/*N*/ //aufgerufen, daher galt immer fMax...=0.2, ausserdem bezieht sich die maximale
-/*N*/ //Breite auf den Text in der Legende, nicht auf die Legende selbst
-/*N*/ //(Test: 1-Zeiliges Chart mit langem Text!)
-/*N*/ //Obiges klngt aber durchaus plausibel, also sollte man es mal bei Gelegenheit
-/*N*/ //einbauen (ToDo:-Liste)
-/*N*/ const double fMaximumWidth=0.2;
-/*N*/
-/*N*/ SvxChartLegendPos eLegendPos = ((const SvxChartLegendPosItem&) pLegendAttr->Get(SCHATTR_LEGEND_POS)).
-/*N*/ GetValue();
-/*N*/ BOOL bWide = (eLegendPos == CHLEGEND_TOP || eLegendPos == CHLEGEND_BOTTOM);
-/*N*/ BOOL bRowLegend = !IsPieChart();
-/*N*/ BOOL bReverse = !bWide && IsStackedChart();
-/*N*/ BOOL bForceSolidLine = FALSE;
-/*N*/
-/*N*/ SchObjGroup* pGroup = NULL;
-/*N*/
-/*N*/ if (bLegendVisible)
-/*N*/ {
-/*N*/
-/*N*/ List aTextList;
-/*N*/ long i;
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/ // FG: nCnt ist die Anzahl Texte!
-/*N*/ long nCnt = bRowLegend ? nRowCnt : GetColCount();
-/*N*/ long nMaxX = 0;
-/*N*/ long nMaxY = 0;
-/*N*/
-/*N*/ long nLineMaxY = 0; //#50082#
-/*N*/
-/*N*/ long* pHeightOfEntry = new long[nCnt*2]; // FG: Wirkliche Hoehe der Zeilen
-/*N*/ long* pWidthOfEntry = new long[nCnt*2]; // FG: Wirkliche Breite der Zeilen
-/*N*/ long nLines = 0; // Anzahl Zeilen
-/*N*/ long nActualColumn = 1; // FG: Zaehlt die Anzahl Spalten
-/*N*/
-/*N*/ long* pRegressNr = new long [nCnt];
-/*N*/ memset (pRegressNr, 0, sizeof (long) * nCnt);
-/*N*/
-/*N*/ SfxItemSet aTextAttr(*pItemPool, nTextWhichPairs);
-/*N*/
-/*N*/ aTextAttr.Put(*pLegendAttr);
-/*N*/
-/*N*/ // FG: Hier wird einmal die Liste aller Texte durchgegangen um die maximale Hoehe und
-/*N*/ // die maximale Breite zu bestimmen. Bei der Gelegenheit merkt man sich auch die
-/*N*/ // Ausmasse der einzelnen Eintraege.
-/*N*/ for (i = 0; i < nCnt; i++)
-/*N*/ {
-/*N*/ // FG: Mehr als fMaximumWidth des Charts soll die Legende nie einnehmen
-/*N*/ SdrObject *pText = CreateTextObj(CHOBJID_TEXT, Point (),
-/*N*/ bRowLegend ? RowText(i) : ColText(i),
-/*N*/ aTextAttr,
-/*N*/ FALSE,
-/*N*/ CHADJUST_TOP_LEFT, //FG: wie der Default
-/*N*/ static_cast<long>(GetPage(0)->GetSize().Width() * fMaximumWidth));
-/*N*/
-/*N*/ // FG: Das hier soll verhindern dass der Text in der Legende markiert werden kann
-/*N*/ // dazu gibt es ja kein gueltiges Kontextmenue
-/*N*/ pText->SetMarkProtect(TRUE);
-/*N*/ aTextList.Insert(pText, LIST_APPEND);
-/*N*/
-/*N*/ pWidthOfEntry[i] = pText->GetLogicRect().GetWidth();
-/*N*/ pHeightOfEntry[i] = pText->GetLogicRect().GetHeight();
-/*N*/ nMaxX = Max (nMaxX, pWidthOfEntry[i]);
-/*N*/ nMaxY = Max (nMaxY, pHeightOfEntry[i]);
-/*N*/ }
-/*N*/
-/*N*/ if (IsXYChart())
-/*N*/ {
-/*N*/ USHORT nStringID;
-/*N*/ for( i = 1; i < nCnt; i++ )
-/*N*/ {
-/*N*/ nStringID = GetRegressStrId( i );
-/*N*/ if( nStringID )
-/*N*/ {
-/*?*/ SchResId aRegId = SchResId( nStringID );
-/*?*/ String aRegressStr( aRegId );
-/*?*/ String aSeriesName( bRowLegend
-/*?*/ ? RowText( i )
-/*?*/ : ColText( i ));
-/*?*/ String aLegendText( SchResId( STR_STATISTICS_IN_LEGEND ));
-/*?*/
-/*?*/ aLegendText.SearchAndReplaceAscii( "$(STATTYP)", aRegressStr );
-/*?*/ aLegendText.SearchAndReplaceAscii( "$(ROWNAME)", aSeriesName );
-/*?*/
-/*?*/ SdrObject *pText = CreateTextObj( CHOBJID_TEXT, Point(), aLegendText,
-/*?*/ aTextAttr, FALSE,
-/*?*/ CHADJUST_TOP_LEFT,
-/*?*/ static_cast<long>(GetPage( 0 )->GetSize().Width() * fMaximumWidth));
-/*?*/
-/*?*/ pText->SetMarkProtect( TRUE );
-/*?*/ aTextList.Insert(pText, LIST_APPEND);
-/*?*/
-/*?*/ pWidthOfEntry[nLines+nCnt] = pText->GetLogicRect().GetWidth();
-/*?*/ pHeightOfEntry[nLines+nCnt] = pText->GetLogicRect().GetHeight();
-/*?*/ nMaxX = Max (nMaxX, pWidthOfEntry[nLines+nCnt]);
-/*?*/ nMaxY = Max (nMaxY, pHeightOfEntry[nLines+nCnt]);
-/*?*/
-/*?*/ pRegressNr [nLines] = i;
-/*?*/ nLines ++;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (IsXYChart ()) nCnt --;
-/*N*/ nLines += nCnt;
-/*N*/
-/*N*/ long nTextRows = 0;
-/*N*/ long nTextCols = 0;
-/*N*/ long nShows = 0;
-/*N*/
-/*N*/ long nLegendHeight = ((SvxFontHeightItem &) pLegendAttr->Get (EE_CHAR_FONTHEIGHT)).GetHeight();
-/*N*/ long nLittleSpace = nLegendHeight / 3;
-/*N*/
-/*N*/ // FG: Hier wird berechnet wieviele Spalten und Zeilen die Legende haben soll
-/*N*/ if (!bWide) // dann ist die Legende mit den Zeilen untereinander links oder rechts
-/*N*/ {
-/*N*/ // FG: Die Legende darf maximal 90% der Blatthoehe einnehmen und maximal 50% der Blattbreite
-/*N*/ if (nLines * (nMaxY + nLittleSpace) < (aRect.GetHeight() - 0.1 * aRect.GetHeight()))
-/*N*/ {
-/*N*/ nTextRows = nLines;
-/*N*/ nTextCols = 1; // Also eine Spalte
-/*N*/ }
-/*N*/ else // Es gibt also mehrere Spalten
-/*N*/ {
-/*?*/ nTextRows = (long) ((aRect.GetHeight() - 0.1 * aRect.GetHeight()) / (nMaxY + nLittleSpace));
-/*?*/ if(!nTextRows)
-/*?*/ nTextRows=1;
-/*?*/ nTextCols = (long) ((nLines % nTextRows) ? nLines / nTextRows + 1 : nLines / nTextRows);
-/*?*/ // FG: Falls die Legende zu breit (mehr als 50% der Chart-Breite) wird muss man nachregeln
-/*?*/ if (nTextCols * (nMaxX + nLittleSpace) > aRect.GetWidth())
-/*?*/ {
-/*?*/ nTextCols = (long) (aRect.GetWidth() * 0.5 / (nMaxX + nLittleSpace));
-/*?*/ }
-/*?*/ }
-/*N*/ }
-/*N*/ else // die Legende befindet sich also unter oder ueber dem Chart (die wird noch beliebig gross)
-/*N*/ {
-/*?*/ nTextCols = (nLines * (nMaxX + 2*nLittleSpace + nLegendHeight) + nLittleSpace < aRect.GetWidth())
-/*?*/ ? nLines : (aRect.GetWidth() - nLittleSpace) / (nMaxX + 2*nLittleSpace + nLegendHeight);
-/*?*/ nTextRows = nTextCols
-/*?*/ ? ((nLines % nTextCols) ? nLines / nTextCols + 1 : nLines / nTextCols) : 0;
-/*N*/ }
-
-/*N*/ if (nTextRows > 0 && nTextCols > 0)
-/*N*/ {
-/*N*/ pGroup = new SchObjGroup;
-/*N*/ pGroup->InsertUserData(new SchObjectId(CHOBJID_LEGEND));
-/*N*/ SdrObject* pObj;
-/*N*/ SdrObjList* pObjList = pGroup->GetSubList();
-/*N*/
-/*N*/ Point aTextPos (nLittleSpace, nLegendHeight / 4);
-/*N*/
-/*N*/ for (i = 0, nShows = 0;
-/*N*/ i < nLines;
-/*N*/ i++, nShows ++)
-/*N*/ {
-/*N*/ // FG: bReverse ist fuer gestapelte Diagramme gedacht, damit die Legendensymbole
-/*N*/ // optisch der Reihenfolge des stapelns entsprechen.
-/*N*/ long nIndex = (IsXYChart())
-/*N*/ ? i+1
-/*N*/ : (bReverse)
-/*N*/ ? nCnt - 1 - i
-/*N*/ : i;
-/*N*/
-/*N*/ if (i < nCnt)
-/*N*/ {
-/*N*/ BOOL bIsLine = FALSE;
-/*N*/ if(HasSymbols(nIndex))
-/*N*/ {
-/*N*/ pObj = CreateSymbol (Point (aTextPos.X () + nLegendHeight / 2,
-/*N*/ aTextPos.Y () + nLegendHeight / 2 + nLittleSpace / 3),
-/*N*/ nIndex, 0, (SfxItemSet &) GetDataRowAttr(nIndex), nLegendHeight, FALSE);
-/*N*/ if(pObj)
-/*N*/ {
-/*N*/ Rectangle aLclRect(pObj->GetSnapRect());
-/*N*/ if((aLclRect.GetHeight() > nLegendHeight) && nLegendHeight)
-/*N*/ {
-/*?*/ Fraction aFract(nLegendHeight,aLclRect.GetHeight());
-/*?*/ pObj->NbcResize(aLclRect.Center(),aFract,aFract);
-/*N*/ }
-/*N*/ }
-/*N*/ else //dann Linie als Legendensymbol, sonst geht evtl. garnix mehr
-/*N*/ {
-/*?*/ XPolygon aLine(2);
-/*?*/ aLine [0] =
-/*?*/ aLine [1] = aTextPos;
-/*?*/ aLine [1].X() += nLegendHeight;
-/*?*/ aLine [1].Y() += nLegendHeight;
-/*?*/ bIsLine = TRUE;
-/*?*/ pObj = new SdrPathObj(OBJ_PLIN, aLine);
-/*N*/ }
-/*N*/ }
-/*N*/ else if (IsLine(nIndex))
-/*N*/ {
-/*N*/ XPolygon aLine(2);
-/*N*/
-/*N*/ aLine [0] =
-/*N*/ aLine [1] = aTextPos;
-/*N*/ aLine [1].X() += nLegendHeight;
-/*N*/ aLine [1].Y() += nLegendHeight;
-/*N*/
-/*N*/ bIsLine = TRUE;
-/*N*/ pObj = new SdrPathObj(OBJ_PLIN, aLine);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // create rectangular shape as legend symbol
-/*N*/ pObj = new SdrRectObj(Rectangle(Point (aTextPos.X(),
-/*N*/ aTextPos.Y() + nLittleSpace / 3),
-/*N*/ Size(nLegendHeight, nLegendHeight)));
-/*N*/ bForceSolidLine = TRUE;
-/*N*/ }
-/*N*/ // FG: setzen des Symbols neben dem Legendentext
-/*N*/
-/*N*/ SfxItemSet *pSymbolAttr;
-/*N*/
-/*N*/ if( bRowLegend )
-/*N*/ {
-/*N*/ pSymbolAttr = new SfxItemSet( GetDataRowAttr( nIndex ) );
-/*N*/ if( ! bIsLine && pSymbolAttr )
-/*N*/ GenerateSymbolAttr( *pSymbolAttr, nIndex, SYMBOLMODE_LEGEND );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ pSymbolAttr = new SfxItemSet( GetFullDataPointAttr( nIndex, 0 ) );
-/*N*/ if( ! bIsLine && pSymbolAttr )
-/*N*/ GenerateSymbolAttr( *pSymbolAttr, 0, SYMBOLMODE_LEGEND );
-/*N*/ }
-/*N*/
-/*N*/ if( bForceSolidLine )
-/*N*/ {
-/*N*/ XLineStyle eLineStyle =
-/*N*/ SAL_STATIC_CAST( const XLineStyleItem *, &(pSymbolAttr->Get( XATTR_LINESTYLE )) )->GetValue(); // bug in Win-C++ compiler: casting to pointer
-/*N*/
-/*N*/ if( eLineStyle == XLINE_NONE )
-/*N*/ {
-/*N*/ pSymbolAttr->ClearItem( XATTR_LINESTYLE );
-/*N*/ pSymbolAttr->ClearItem( XATTR_LINEWIDTH );
-/*N*/ pSymbolAttr->ClearItem( XATTR_LINECOLOR );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pObj->SetItemSet(*pSymbolAttr);
-/*N*/
-/*N*/
-/*N*/ if(bRowLegend)
-/*N*/ {
-/*N*/ pObj->InsertUserData(new SchObjectId(CHOBJID_LEGEND_SYMBOL_ROW));
-/*N*/ pObj->InsertUserData(new SchDataRow(nIndex));
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ pObj->InsertUserData(new SchObjectId(CHOBJID_LEGEND_SYMBOL_COL));
-/*N*/ pObj->InsertUserData(new SchDataPoint(nIndex, 0));
-/*N*/ }
-/*N*/
-/*N*/ pObj->SetMoveProtect(TRUE);
-/*N*/ pObj->SetResizeProtect(TRUE);
-/*N*/ pObjList->NbcInsertObject(pObj);
-/*N*/
-/*N*/ SdrObject *pText = (SdrObject*)aTextList.GetObject(nIndex);
-/*N*/
-/*N*/ pText->NbcMove(Size(aTextPos.X() + nLittleSpace + nLegendHeight, aTextPos.Y()));
-/*N*/ pObjList->NbcInsertObject(pText);
-/*N*/
-/*N*/ delete pSymbolAttr;
-/*N*/ }
-/*N*/ else //i >= nCnt
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/
-/*N*/ // FG: Jetzt wird aTextPos fuer den naechsten Legendeneintrag gesetzt
-/*N*/ if (bWide)
-/*N*/ {
-/*?*/ if (nShows >= nTextCols - 1)
-/*?*/ {
-/*?*/ nLineMaxY = Max(nLineMaxY,pHeightOfEntry[i]);//#50082# #NACHTRAG#
-/*?*/ aTextPos.Y () += nLineMaxY + nLittleSpace;//#50082#
-/*?*/ aTextPos.X () = nLittleSpace;//nLegendHeight / 6;//SP3: #49906#
-/*?*/ nLineMaxY = 0; //#50082# #NACHTRAG#
-/*?*/ nShows = -1;
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ nLineMaxY = Max(nLineMaxY,pHeightOfEntry[i]);//#50082#
-/*?*/ aTextPos.X () += nMaxX + 2 * nLittleSpace + nLegendHeight;
-/*?*/ }
-/*N*/ }
-/*N*/ else if (nShows >= nTextRows - 1) // FG: Die Legende wird in mehrere Spalten umgebrochen
-/*N*/ { // also den Spaltenabstand setzen
-/*N*/ aTextPos.X () += nMaxX + nLittleSpace + nLegendHeight + 2*nLittleSpace;
-/*N*/ aTextPos.Y () = nLegendHeight / 4;
-/*N*/ nShows = -1;
-/*N*/ if (nActualColumn >= nTextCols) // FG: Dann wird die Legende zu breit!
-/*N*/ {
-/*N*/ break; // aus der for-Schleife raus,
-/*N*/ // es muessen noch Felder deleted werden.
-/*N*/ }
-/*?*/ nActualColumn++;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/
-/*N*/ aTextPos.Y() += pHeightOfEntry[nIndex] + nLittleSpace;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ //FG: Jetzt wird das umschliessende Rechteck berechnet. Man fraegt erst das
-/*N*/ // BoundingRect des Legenden-Gruppenobjektes ab und addiert an den Raendern ein
-/*N*/ // wenig Platz dazu.
-/*N*/ Rectangle aLogRect = pGroup->GetLogicRect();
-/*N*/ aLogRect.Left() -= nLittleSpace;
-/*N*/ aLogRect.Right() += nLittleSpace;
-/*N*/ aLogRect.Top() -= nLittleSpace;
-/*N*/ aLogRect.Bottom() += nLittleSpace;
-/*N*/ SdrRectObj* pRectObj = new SchRectObj(aLogRect);
-/*N*/ // FG: Das hier soll verhindern dass das Rechteck um die Legende markiert werden kann
-/*N*/ pRectObj->SetMarkProtect(TRUE);
-/*N*/ pRectObj->SetModel( this );
-/*N*/ pObjList->NbcInsertObject(SetObjectAttr(pRectObj, CHOBJID_LEGEND_BACK,
-/*N*/ TRUE, TRUE, pLegendAttr), 0);
-/*N*/ }
-/*N*/
-/*N*/ delete[] pRegressNr;
-/*N*/ delete[] pHeightOfEntry;
-/*N*/ delete[] pWidthOfEntry;
-/*N*/ }
-/*N*/
-/*N*/ return pGroup;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Diagramm erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjGroup* ChartModel::CreateChart(const Rectangle &rRect)
-/*N*/ {
-/*N*/ if( pDocShell )
-/*N*/ pDocShell->SetWaitCursor( TRUE );
-/*N*/
-/*N*/ Rectangle aRect( rRect );
-/*N*/ SdrObjGroup* pGroup;
-/*N*/
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_AREA:
-/*N*/ case CHSTYLE_2D_STACKEDAREA:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/*N*/ pGroup = Create2DRowLineChart(aRect);//neu, test!
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_LINE:
-/*N*/ case CHSTYLE_2D_STACKEDLINE:
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_LINESYMBOLS :
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM :
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL :
-/*N*/ case CHSTYLE_2D_B_SPLINE :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL :
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ pGroup = Create2DRowLineChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_COLUMN:
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_BAR:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ pGroup = Create2DColChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_PIE_SEGOF1:
-/*N*/ {
-/*N*/ for (short i = 1; i < nPieSegCount; i++)
-/*N*/ SetPieSegOfs(i, 0);
-/*N*/ SetPieSegOfs( 0, 10 );
-/*N*/ pGroup = Create2DPieChart(aRect);
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ case CHSTYLE_2D_PIE_SEGOFALL:
-/*N*/ {
-/*N*/ for (short i = 0; i < nPieSegCount; i++)
-/*N*/ SetPieSegOfs( i, 10 );
-/*N*/ }
-/*N*/
-/*N*/ case CHSTYLE_2D_PIE:
-/*N*/ pGroup = Create2DPieChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_DONUT1: //DonutCharts haben jetzt eigenes Create
-/*N*/ case CHSTYLE_2D_DONUT2:
-/*N*/ pGroup = Create2DDonutChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_XYSYMBOLS :
-/*N*/ case CHSTYLE_2D_XY_LINE :
-/*N*/ case CHSTYLE_2D_XY :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY :
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY :
-/*N*/ pGroup = Create2DXYChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_NET:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS:
-/*N*/ case CHSTYLE_2D_NET_STACK:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK:
-/*N*/ case CHSTYLE_2D_NET_PERCENT:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-/*N*/ pGroup = Create2DNetChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_3D_COLUMN:
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/ case CHSTYLE_3D_STRIPE:
-/*N*/ case CHSTYLE_3D_AREA:
-/*N*/ case CHSTYLE_3D_SURFACE:
-/*N*/ pGroup = Create3DDeepChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_3D_FLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ pGroup = Create3DFlatChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_3D_PIE:
-/*N*/ pGroup = Create3DNewPieChart(aRect);
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*?*/ eChartStyle = CHSTYLE_2D_COLUMN;
-/*?*/ pGroup = Create2DColChart(aRect);
-/*?*/ break;
-/*N*/ }
-/*N*/
-/*N*/ if( pDocShell )
-/*N*/ pDocShell->SetWaitCursor( FALSE );
-/*N*/
-/*N*/ SdrPage* pPage=GetPage( 0 );
-/*N*/ SdrObject* pObj = GetObjWithId( CHOBJID_DIAGRAM_AREA, *pPage );
-/*N*/ if( pObj )
-/*N*/ pObj->SetMoveProtect( TRUE );
-/*N*/
-/*N*/ return pGroup;
-/*N*/ }
-
-/*N*/ void ChartModel::StoreAttributes(SvStream& rOut) const
-/*N*/ {
-/*N*/ #ifdef DBG_UTIL
-/*N*/ ByteString aBStr( aMainTitle, RTL_TEXTENCODING_ASCII_US );
-/*N*/ CHART_TRACE1( "ChartModel::StoreAttributes (%s)", aBStr.GetBuffer() );
-/*N*/ #endif
-/*N*/
-/*N*/ rtl_TextEncoding eSysSet = ::GetSOStoreTextEncoding( gsl_getSystemTextEncoding());
-/*N*/ rOut.SetStreamCharSet( eSysSet );
-/*N*/
-/*N*/ SchIOCompat aIO(rOut, STREAM_WRITE, 17);
-/*N*/ long nFileFormat = rOut.GetVersion ();
-/*N*/
-/*N*/ //12: ChartAchsen
-/*N*/ //13 Nachtrag: X-AchsenAttr-default bei XY-Charts (store unveraendert)
-/*N*/ //14 Overlap , Gapwith der 2 Y-Achsen
-/*N*/ //15 Neues 3D-Pie
-/*N*/ //16 Items fuer Achse SCHATTR_AXIS_SHOWDESCR,SCHATTR_AXIS_SHOWAXIS aktiviert,
-/*N*/ // bisher nur von pChartBAxis genutzt!
-/*N*/
-/*N*/ // 12 - Umbruch ja/ein pro Achse hinzu
-/*N*/ // 13 - Alle Variablen mit Tag 13:
-/*N*/ // 14 - aSpotColor & aAmbientColor FG + TextausPositionen
-/*N*/ // 15 - Textausrichtung
-/*N*/ // 16 NumberFormatter
-/*N*/
-/*N*/ //TODO: konvertieren der Attribute pChartAttr in eChartStyle (Fileversion >=10)
-/*N*/
-/*N*/ UINT32 nMoreData = 16;
-/*N*/
-/*N*/ short i, nCount;
-/*N*/
-/*N*/ rOut << aLightVec->X ();
-/*N*/ rOut << aLightVec->Y ();
-/*N*/ rOut << aLightVec->Z ();
-/*N*/
-/*N*/ if (pChartData)
-/*N*/ {
-/*N*/ INT16 ID = CHDATAID_MEMCHART; // damit aeltere versionen damit fertig werden
-/*N*/ rOut << (INT16) ID;
-/*N*/ rOut << *(SchMemChart*)pChartData;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ INT16 nInt16 = (INT16)CHDATAID_NONE; rOut << nInt16;
-/*N*/ }
-/*N*/
-/*N*/ rOut << bIsCopied;
-/*N*/ rOut << fMinData;
-/*N*/ rOut << (INT16)eChartStyle;
-/*N*/
-/*N*/ for (i = 0; i < LINE_POINT_COUNT; i++)
-/*N*/ rOut << (INT16)eChartLinePoints[i];
-/*N*/
-/*N*/
-/*N*/ // Das ehemalige Member aRowColors[]. Es wird hier simuliert, damit
-/*N*/ // alte Codeversionen mit der hier geschriebenen Datei arbeiten koennen.
-/*N*/ Color aRowColors[ROW_COLOR_COUNT];
-/*N*/
-/*N*/ aRowColors[0] = Color( 0, 153, 255);
-/*N*/ aRowColors[1] = Color(255, 51, 102);
-/*N*/ aRowColors[2] = Color(102, 102, 102);
-/*N*/ aRowColors[3] = Color( 51, 204, 102);
-/*N*/ aRowColors[4] = Color(153, 102, 204);
-/*N*/ aRowColors[5] = Color(255, 153, 102);
-/*N*/ aRowColors[6] = Color(255, 204, 153);
-/*N*/ aRowColors[7] = Color(153, 204, 255);
-/*N*/ aRowColors[8] = Color( 0, 204, 204);
-/*N*/ aRowColors[9] = Color(153, 0, 153);
-/*N*/ aRowColors[10] = Color(255, 51, 51);
-/*N*/
-/*N*/ aRowColors[11] = RGBColor(COL_WHITE);
-/*N*/ for (i = 0; i < ROW_COLOR_COUNT; i++)
-/*N*/ rOut << aRowColors[i];
-/*N*/
-/*N*/ const long nGapWidth = 10;
-/*N*/ const long nOverlap = 0;
-/*N*/ rOut << (INT32)nGapWidth;
-/*N*/ rOut << (INT32)nOverlap;
-/*N*/ rOut << (INT32)nMarkLen; //entfaellt demnaechst! -> ChartAxis
-/*N*/ rOut << aChartRect;
-/*N*/ rOut << (INT32)nPieHeight;
-/*N*/
-/*N*/ rOut << (INT16)nPieSegCount;
-/*N*/ for (i = 0; i < nPieSegCount; i++)
-/*N*/ rOut << (INT32)pPieSegOfs[i];
-/*N*/
-/*N*/ INT16 nXA=nXAngle;
-/*N*/ INT16 nYA=nYAngle;
-/*N*/ INT16 nZA=nZAngle;
-/*N*/ if(IsReal3D() && IsPieChart())
-/*N*/ {
-/*N*/ Vector3D aVRot,aVTrans,aVShear,aVScale;
-/*N*/ aSceneMatrix.Decompose(aVScale,aVTrans,aVRot,aVShear);
-/*N*/ long nAngle= (long)(aVRot.Z() * 1800.0 / F_PI);
-/*N*/ nAngle -= 900;
-/*N*/ nAngle += 3600;
-/*N*/ nAngle %= 3600;
-/*N*/ nYA = (INT16)nAngle;
-/*N*/ }
-/*N*/
-/*N*/ rOut << (INT16)nXA;//anle;
-/*N*/ rOut << (INT16)nYA;//ngle;
-/*N*/ rOut << (INT16)nZA;//ngle;
-/*N*/
-/*N*/
-/*N*/ //neu wegen Achsenrestrukturierung
-/*N*/ BOOL bShowXAxis =pChartXAxis->IsVisible();
-/*N*/ BOOL bShowXDescr=pChartXAxis->HasDescription();
-/*N*/ BOOL bShowYAxis =pChartYAxis->IsVisible();
-/*N*/ BOOL bShowYDescr=pChartYAxis->HasDescription();
-/*N*/ BOOL bShowZAxis =pChartZAxis->IsVisible();
-/*N*/ BOOL bShowZDescr=pChartZAxis->HasDescription();
-/*N*/
-/*N*/
-/*N*/ // save unicode strings as ascii-strings for old binary format
-/*N*/ rOut << (INT16)eSysSet;
-/*N*/
-/*N*/ rOut << bShowMainTitle;
-/*N*/ rOut.WriteByteString( aMainTitle );
-/*N*/ rOut << bShowSubTitle;
-/*N*/ rOut.WriteByteString( aSubTitle );
-/*N*/ rOut << bShowXAxisTitle;
-/*N*/ rOut.WriteByteString( aXAxisTitle );
-/*N*/ rOut << bShowYAxisTitle;
-/*N*/ rOut.WriteByteString( aYAxisTitle );
-/*N*/ rOut << bShowZAxisTitle;
-/*N*/ rOut.WriteByteString( aZAxisTitle );
-/*N*/ rOut << bShowXAxis;
-/*N*/ rOut << bShowXGridMain;
-/*N*/ rOut << bShowXGridHelp;
-/*N*/ rOut << bShowXDescr;
-/*N*/ rOut << bShowYAxis;
-/*N*/ rOut << bShowYGridMain;
-/*N*/ rOut << bShowYGridHelp;
-/*N*/ rOut << bShowYDescr;
-/*N*/ rOut << bShowZAxis;
-/*N*/ rOut << bShowZGridMain;
-/*N*/ rOut << bShowZGridHelp;
-/*N*/ rOut << bShowZDescr;
-/*N*/
-/*N*/ // In diesem Set koennten ungueltige Items vorhanden sein, da es
-/*N*/ // das Set der allgemeinen TitleAttribute (aller Titel) ist
-/*N*/ pTitleAttr->ClearInvalidItems();
-/*N*/ pTitleAttr->Store(rOut);
-/*N*/
-/*N*/ pMainTitleAttr->Store(rOut);
-/*N*/ pSubTitleAttr->Store(rOut);
-/*N*/ pXAxisTitleAttr->Store(rOut);
-/*N*/ pYAxisTitleAttr->Store(rOut);
-/*N*/ pZAxisTitleAttr->Store(rOut);
-/*N*/
-/*N*/ pAxisAttr->ClearInvalidItems();
-/*N*/
-/*N*/ pAxisAttr->Store(rOut);
-/*N*/
-/*N*/
-/*N*/
-/*N*/
-/*N*/
-/*N*/ //Abwaertskompatibel speichern
-/*N*/ pTmpXItems->Store(rOut);
-/*N*/ pTmpYItems->Store(rOut);
-/*N*/ pTmpZItems->Store(rOut);
-/*N*/
-/*N*/ pGridAttr->ClearInvalidItems();
-/*N*/ pGridAttr->Store(rOut);
-/*N*/ pXGridMainAttr->Store(rOut);
-/*N*/ pYGridMainAttr->Store(rOut);
-/*N*/ pZGridMainAttr->Store(rOut);
-/*N*/ pXGridHelpAttr->Store(rOut);
-/*N*/ pYGridHelpAttr->Store(rOut);
-/*N*/ pZGridHelpAttr->Store(rOut);
-/*N*/ pDiagramAreaAttr->Store(rOut);
-/*N*/ pDiagramWallAttr->Store(rOut);
-/*N*/ pDiagramFloorAttr->Store(rOut);
-/*N*/ pLegendAttr->Store(rOut);
-/*N*/
-/*N*/
-/*N*/
-/*N*/ if (nFileFormat == SOFFICE_FILEFORMAT_31)
-/*N*/ {
-/*N*/
-/*N*/ SfxItemSet aStoreAttr (*pItemPool, XATTR_LINE_FIRST, XATTR_LINE_LAST,
-/*N*/ XATTR_FILL_FIRST, XATTR_FILL_LAST,
-/*N*/ SCHATTR_DATADESCR_START, SCHATTR_DATADESCR_END, 0),
-/*N*/ aPoolItemSet (*pItemPool, nRowWhichPairs),
-/*N*/ *pItemSet;
-/*N*/
-/*N*/ // FG: 25.2.97 Das Schreiben im 3.1 Format geht schief wenn man
-/*N*/ // in globfunc.cxx die Routine CopyAttributesFrom40to31 verwendet.
-/*N*/ // Dort wurden die items per Invalidate und Set einzeln kopiert. (falsch)
-/*N*/ nCount = (short)aDataRowAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ SfxItemSet* pSet = aStoreAttr.Clone();
-/*N*/ pSet->Put( *aDataRowAttrList[ i ], TRUE );
-/*N*/ pSet->Store( rOut );
-/*N*/ delete pSet;
-/*N*/ }
-/*N*/
-/*N*/ nCount = (short)aDataPointAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ SfxItemSet* pSet = aStoreAttr.Clone();
-/*N*/ pItemSet = aDataPointAttrList[ i ];
-/*N*/ if (pItemSet != NULL)
-/*N*/ pSet->Put (*pItemSet, TRUE );
-/*N*/ else
-/*N*/ pSet->Put (aPoolItemSet, TRUE);
-/*N*/ pSet->Store(rOut);
-/*N*/ delete pSet;
-/*N*/ }
-/*N*/
-/*N*/ nCount = (short)aSwitchDataPointAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ SfxItemSet* pSet = aStoreAttr.Clone();
-/*N*/ pItemSet = aSwitchDataPointAttrList[ i ];
-/*N*/ if (pItemSet != NULL)
-/*N*/ pSet->Put (*pItemSet, TRUE );
-/*N*/ else
-/*N*/ pSet->Put (aPoolItemSet, TRUE);
-/*N*/ pSet->Store(rOut);
-/*N*/ delete pSet;
-/*N*/ }
-/*N*/ }
-/*N*/ else if(nFileFormat <= SOFFICE_FILEFORMAT_40 && IsReal3D()) //siehe auch DocShell, Save,SaveAs!!!!!
-/*N*/ {
-/*N*/
-/*N*/ nCount = (short)aTmpDataRowAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ aTmpDataRowAttrList[ i ]->Store(rOut);
-/*N*/
-/*N*/ nCount = (short)aTmpDataPointAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ aTmpDataPointAttrList[ i ]->Store(rOut);
-/*N*/
-/*N*/ nCount = (short)aTmpSwitchDataPointAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ aTmpSwitchDataPointAttrList[ i ]->Store(rOut);
-/*N*/
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ SfxItemSet aPoolItemSet (*pItemPool, nRowWhichPairs),
-/*N*/ * pItemSet;
-/*N*/
-/*N*/ nCount = (short)aDataRowAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ aDataRowAttrList[ i ]->Store(rOut);
-/*N*/
-/*N*/ nCount = (short)aDataPointAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ pItemSet = aDataPointAttrList[ i ];
-/*N*/ if (pItemSet != NULL)
-/*N*/ pItemSet->Store(rOut);
-/*N*/ else
-/*N*/ aPoolItemSet.Store(rOut);
-/*N*/ }
-/*N*/
-/*N*/ nCount = (short)aSwitchDataPointAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ pItemSet = aSwitchDataPointAttrList[ i ];
-/*N*/ if (pItemSet != NULL)
-/*N*/ pItemSet->Store(rOut);
-/*N*/ else
-/*N*/ aPoolItemSet.Store(rOut);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ rOut << (INT16)eDataDescr;
-/*N*/ rOut << bShowSym;
-/*N*/ rOut << bSwitchData;
-/*N*/
-/*N*/ UINT32 nTmp;
-/*N*/
-/*N*/ nTmp=((ChartModel*)this)->GetNumFmt(CHOBJID_DIAGRAM_Y_AXIS,FALSE);
-/*N*/ rOut << nTmp;//nValFormat;
-/*N*/ nTmp=((ChartModel*)this)->GetNumFmt(CHOBJID_DIAGRAM_Y_AXIS,TRUE);
-/*N*/ rOut << nTmp;//nPercentValFormat;
-/*N*/ nTmp=((ChartModel*)this)->GetNumFmt(CHOBJID_DIAGRAM_X_AXIS,FALSE);
-/*N*/ rOut << nTmp;//nDescrFormat;
-/*N*/ nTmp=((ChartModel*)this)->GetNumFmt(CHOBJID_DIAGRAM_X_AXIS,TRUE);
-/*N*/ rOut << nTmp;//nPercentDescrFormat;
-/*N*/
-/*N*/ // Achtung : Gravierende Aenderungen an der Datei gegenueber der Auslieferungsversion
-/*N*/ // es werden mehr Daten geschrieben : Die alte Version muss (!) das aber auch verkraften
-/*N*/ // Die Reihenfolge muss (!!!!) eingehalten werden
-/*N*/ pChartYAxis->StoreMemberCompat(rOut);
-/*N*/ pChartXAxis->StoreMemberCompat(rOut);
-/*N*/ pChartZAxis->StoreMemberCompat(rOut);
-/*N*/
-/*N*/ rOut << fMaxData;
-/*N*/
-/*N*/ rOut << nMoreData;
-/*N*/
-/*N*/ if (nMoreData >= 2)
-/*N*/ {
-/*N*/ if (pChartData)
-/*N*/ {
-/*N*/ rOut.WriteByteString( pChartData->SomeData1() );
-/*N*/ rOut.WriteByteString( pChartData->SomeData2() );
-/*N*/ rOut.WriteByteString( pChartData->SomeData3() );
-/*N*/ rOut.WriteByteString( pChartData->SomeData4() );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ String aEmpty;
-/*?*/
-/*?*/ rOut.WriteByteString( aEmpty );
-/*?*/ rOut.WriteByteString( aEmpty );
-/*?*/ rOut.WriteByteString( aEmpty );
-/*?*/ rOut.WriteByteString( aEmpty );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 3) rOut << fSpotIntensity;
-/*N*/
-/*N*/ if (nMoreData >= 4)
-/*N*/ {
-/*N*/ BOOL bDummy = TRUE; // war frueher bIsRegression
-/*N*/
-/*N*/ rOut << bShowAverage;
-/*N*/ rOut << (INT16)eErrorKind;
-/*N*/ rOut << bDummy;
-/*N*/ rOut << (INT16)eIndicate;
-/*N*/ rOut << fIndicatePercent;
-/*N*/ rOut << fIndicateBigError;
-/*N*/ rOut << fIndicatePlus;
-/*N*/ rOut << fIndicateMinus;
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 5) rOut << (INT16) eRegression;
-/*N*/
-/*N*/ if (nMoreData >= 6)
-/*N*/ {
-/*N*/ rOut << (INT32) nSplineDepth;
-/*N*/ rOut << (INT32) nGranularity;
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 7)
-/*N*/ {
-/*N*/ rOut << bLegendVisible;
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 8)
-/*N*/ {
-/*N*/ nCount = (short)aRegressAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ aRegressAttrList[ i ]->Store(rOut);
-/*N*/
-/*N*/ nCount = (short)aAverageAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ aAverageAttrList[ i ]->Store(rOut);
-/*N*/
-/*N*/ nCount = (short)aErrorAttrList.size();
-/*N*/ rOut << (INT16)nCount;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ aErrorAttrList[ i ]->Store(rOut);
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 9) rOut << fAmbientIntensity;
-/*N*/ if (nMoreData >= 10) rOut << bTextScalable;
-/*N*/ if (nMoreData >= 11) rOut << aInitialSize;
-/*N*/ if (nMoreData >= 12) // Zusaetze wegen des Umruchs von Achsentext und Legendentext
-/*N*/ {
-/*N*/ // Vielleicht etwas viel Speicher fuer BOOL, aber es macht nur 8 Byte pro Chart
-/*N*/ rOut << (INT16) bFormatXAxisTextInMultipleLinesIfNecessary;
-/*N*/ rOut << (INT16) bFormatYAxisTextInMultipleLinesIfNecessary;
-/*N*/ rOut << (INT16) bFormatZAxisTextInMultipleLinesIfNecessary;
-/*N*/ rOut << (INT16) bFormatLegendTextInMultipleLinesIfNecessary;
-/*N*/ }
-/*N*/ if (nMoreData >= 13) // Zusaetze wegen einer freien Positionierung und einem freien
-/*N*/ { // Resize von Gruppenobjekten im Chart.
-/*N*/ rOut << (INT16) nXAxisTextMaximumNumberOfLines;
-/*N*/ rOut << (INT16) nYAxisTextMaximumNumberOfLines;
-/*N*/ rOut << (INT16) nZAxisTextMaximumNumberOfLines;
-/*N*/ rOut << (INT32) nWidthOfFirstXAxisText;
-/*N*/ rOut << (INT32) nWidthOfLastXAxisText;
-/*N*/ rOut << aTitleTopCenter;
-/*N*/ rOut << aSubTitleTopCenter;
-/*N*/ rOut << aDiagramRectangle;
-/*N*/ rOut << aLegendTopLeft;
-/*N*/ rOut << aTitleXAxisPosition;
-/*N*/ rOut << aTitleYAxisPosition;
-/*N*/ rOut << aTitleZAxisPosition;
-/*N*/ rOut << (INT16) bUseRelativePositionsForChartGroups;
-/*N*/ rOut << (INT16) bAdjustMarginsForLegend;
-/*N*/ rOut << (INT16) bAdjustMarginsForMainTitle;
-/*N*/ rOut << (INT16) bAdjustMarginsForSubTitle;
-/*N*/ rOut << (INT16) bAdjustMarginsForXAxisTitle;
-/*N*/ rOut << (INT16) bAdjustMarginsForYAxisTitle;
-/*N*/ rOut << (INT16) bAdjustMarginsForZAxisTitle;
-/*N*/ }
-/*N*/ if (nMoreData >= 14)
-/*N*/ {
-/*N*/ rOut << aSpotColor; // FG: Von DL, um sich die Farbeinstellungen der 3d-Lichter
-/*N*/ rOut << aAmbientColor; // bei 3d-Charts merken zu koennen.
-/*N*/
-/*N*/ BOOL bTmp=bDiagramHasBeenMovedOrResized; //neu -> alt: dann immer rearrange
-/*N*/ if(IsReal3D() && IsPieChart())
-/*N*/ bTmp=FALSE;
-/*N*/
-/*N*/ rOut << bTmp; // FG: 12.3.97, Falls das Chart gespeichert wird
-/*N*/ rOut << bMainTitleHasBeenMoved; // soll es immer noch die relativen Positionen
-/*N*/ rOut << bSubTitleHasBeenMoved; // der Objektgruppen beachten, falls eine
-/*N*/ rOut << bLegendHasBeenMoved; // dieser Gruppen bewegt worden ist.
-/*N*/ rOut << bXAxisTitleHasBeenMoved;
-/*N*/ rOut << bYAxisTitleHasBeenMoved;
-/*N*/ rOut << bZAxisTitleHasBeenMoved;
-/*N*/ }
-/*N*/ if (nMoreData >= 15) // FG: 14.3.97 Damit bei einem angefassten Text die Position sinnvoll gesetzt werden
-/*N*/ { // auch nach einer Schriftgroessenaenderung muss man sich merken wie die Ausrichtung war
-/*N*/ rOut << (INT16) eAdjustXAxesTitle;
-/*N*/ rOut << (INT16) eAdjustYAxesTitle;
-/*N*/ rOut << (INT16) eAdjustZAxesTitle;
-/*N*/ }
-/*N*/ if (nMoreData >= 16) // NumberFormater waren bisher nicht persistent
-/*N*/ {
-/*N*/ pNumFormatter->Save( rOut );
-/*N*/ pNumFormatter->Save( rOut );
-/*N*/ pNumFormatter->Save( rOut );
-/*N*/ }
-/*N*/
-/*N*/ rOut << (INT16) nBarPercentWidth; //#50116# ist ein long, aber Range von 0..100
-/*N*/ rOut << (INT32) m_nDefaultColorSet;//#50149#
-/*N*/
-/*N*/ rOut << (INT32) nNumLinesInColChart;//#50212#
-/*N*/
-/*N*/ // #74536# BM use these three former -1 dummies for
-/*N*/ // numberformat last set by CALC
-/*N*/ rOut << (INT32) nXLastNumFmt;
-/*N*/ rOut << (INT32) nYLastNumFmt;
-/*N*/ rOut << (INT32) nBLastNumFmt;
-/*N*/
-/*N*/ rOut << (INT32)(-1); // dummy
-/*N*/
-/*N*/ //IOVer 11
-/*N*/ pStockLineAttr->Store(rOut);
-/*N*/ pStockLossAttr->Store(rOut);
-/*N*/ pStockPlusAttr->Store(rOut);
-/*N*/
-/*N*/
-/*N*/ //IOVer12:
-/*N*/ //nAxisId ist die zu ladene/speichernde Achse,
-/*N*/ //festgelegt sind in V12 nur 1=X, 2=Y,3=Z und 4=2.Y-Achse (B)
-/*N*/ //neu: 5 = 2. X-Achse
-/*N*/ //-1 bedeutet KEINE WEITEREN ACHSEN!
-/*N*/ //Es MUSS keine Achse gestreamt werden (siehe Lade-Routine)
-/*N*/ //Die Reihenfolge ist eigentlich auch egal, jedoch gilt beim Laden:
-/*N*/ //erst die primaere und dann die sekundaere (X, bzw. evtl auch Y) Achse
-/*N*/ //(um defaults aus der primaeren Achse heraus zu erzeugen)
-/*N*/
-/*N*/ INT32 nAxisId=CHART_AXIS_PRIMARY_X;
-/*N*/ rOut << nAxisId;
-/*N*/ GetAttr(CHOBJID_DIAGRAM_X_AXIS).Store(rOut);
-/*N*/
-/*N*/ nAxisId=CHART_AXIS_PRIMARY_Y;
-/*N*/ rOut << nAxisId;
-/*N*/ GetAttr(CHOBJID_DIAGRAM_Y_AXIS).Store(rOut);
-/*N*/
-/*N*/ nAxisId=CHART_AXIS_PRIMARY_Z;
-/*N*/ rOut << nAxisId;
-/*N*/ GetAttr(CHOBJID_DIAGRAM_Z_AXIS).Store(rOut);
-/*N*/
-/*N*/ nAxisId=CHART_AXIS_SECONDARY_Y;
-/*N*/ rOut << nAxisId;
-/*N*/ GetAttr(CHOBJID_DIAGRAM_B_AXIS).Store(rOut);
-/*N*/
-/*N*/ nAxisId=CHART_AXIS_SECONDARY_X;
-/*N*/ rOut << nAxisId;
-/*N*/ GetAttr(CHOBJID_DIAGRAM_A_AXIS).Store(rOut);
-/*N*/
-/*N*/ //Elementar wichtig! Diesen Wert zu streamen ist absolutes Minimum
-/*N*/ //die obigen derzeit 4 Achsen kann man dagegen getrost reduzieren oder aufstocken
-/*N*/ //ohne dass die Abwaertskompatiblitaet leidet! Genauso lassen sich beliebige
-/*N*/ //Achsen mit einer Id>4 dazwischen haengen. In alten Versionen wird bei
-/*N*/ //unbekannter id einfach ein Dummy geladen (und weggeschmissen)
-/*N*/ nAxisId=-1;
-/*N*/ rOut << nAxisId;
-/*N*/ //Ende IOVersion 12
-/*N*/
-/*N*/ nTmp = aBarY1.GetGap();
-/*N*/ rOut << nTmp;
-/*N*/ nTmp = aBarY1.GetOverlap();
-/*N*/ rOut << nTmp;
-/*N*/ nTmp = aBarY2.GetGap();
-/*N*/ rOut << nTmp;
-/*N*/ nTmp = aBarY2.GetOverlap();
-/*N*/ rOut << nTmp;
-/*N*/
-/*N*/
-/*N*/ // IOVersion 15
-/*N*/ rOut << bDiagramHasBeenMovedOrResized; // FG: 12.3.97, Falls das Chart gespeichert wird
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Chart-Attribute laden
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::LoadAttributes(SvStream& rIn)
-/*N*/ {
-/*N*/ #ifdef DBG_UTIL
-/*N*/ ByteString aBStr( aMainTitle, RTL_TEXTENCODING_ASCII_US );
-/*N*/ CHART_TRACE1( "ChartModel::LoadAttributes (%s)", aBStr.GetBuffer() );
-/*N*/ #endif
-/*N*/
-/*N*/ // aInfo is a member of SdrModel
-/*N*/ // the SdrModel was read before this, so the value is set
-/*N*/ rtl_TextEncoding eSysSet = ::GetSOLoadTextEncoding( aInfo.eLastReadCharSet, rIn.GetVersion());
-/*N*/ rIn.SetStreamCharSet( eSysSet );
-/*N*/ // Note: The CharSet is stored in the MemChart and later set again at the stream !
-/*N*/
-/*N*/ SchIOCompat aIO(rIn, STREAM_READ);
-/*N*/
-/*N*/ short i, nCount;
-/*N*/ INT16 nInt16, nCharSet;
-/*N*/ INT32 nInt32;
-/*N*/ SfxItemSet* pAttr;
-/*N*/ BOOL bNoMore = FALSE;
-/*N*/ int nVersion = aIO.GetVersion();
-/*N*/
-/*N*/ rIn >> aLightVec->X ();
-/*N*/ rIn >> aLightVec->Y ();
-/*N*/ rIn >> aLightVec->Z ();
-/*N*/
-/*N*/ if (nVersion >= 3)
-/*N*/ {
-/*N*/ rIn >> nInt16;
-/*N*/
-/*N*/ // fuer den fall, dass initial das diagrammfenster generiert wurde
-/*N*/ delete pChartData;
-/*N*/
-/*N*/ // Note: The CharSet is stored in the MemChart and set there at the stream !
-/*N*/ switch ((ChartDataId)nInt16)
-/*N*/ {
-/*N*/ case CHDATAID_MEMCHART_PLUS :
-/*?*/ pChartData = new SchMemChart (CHDATAID_MEMCHART_PLUS);
-/*?*/ rIn >> *(SchMemChart*)pChartData;
-/*?*/ pChartData->IncreaseRefCount();
-/*?*/ break;
-/*?*/
-/*?*/ case CHDATAID_DYNCHART:
-/*N*/ case CHDATAID_MEMCHART:
-/*N*/ pChartData = new SchMemChart (CHDATAID_MEMCHART);
-/*N*/ rIn >> *(SchMemChart*)pChartData;
-/*N*/ pChartData->IncreaseRefCount();
-/*N*/ break;
-/*N*/
-/*N*/ default :
-/*N*/ bNoMore = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if (nVersion >= 5) rIn >> bIsCopied;
-/*N*/
-/*N*/ if (nVersion >= 8) rIn >> fMinData;
-/*N*/ else if (pChartData)
-/*N*/ {
-/*?*/ long nColCnt = GetColCount();
-/*?*/ long nRowCnt = GetRowCount();
-/*?*/
-/*?*/ for (short nCol = 0; nCol < nColCnt; nCol++)
-/*?*/ for (short nRow = 0; nRow < nRowCnt; nRow++)
-/*?*/ {
-/*?*/ double fData = GetData(nCol, nRow);
-/*?*/
-/*?*/ if ((nCol == 0) && (nRow == 0))
-/*?*/ {
-/*?*/ pChartYAxis->SetMin(fData);
-/*?*/ pChartYAxis->SetMax(fData);
-/*?*/ }
-/*?*/ if (fData < pChartYAxis->GetMin())
-/*?*/ pChartYAxis->SetMin(fData);
-/*?*/ if (fData > pChartYAxis->GetMax())
-/*?*/ pChartYAxis->SetMax(fData);
-/*?*/ }
-/*?*/
-/*?*/ bNoMore = TRUE;
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ rIn >> nInt16;
-/*N*/ if (nVersion < 1)
-/*N*/ {
-/*N*/ switch ((ChartStyleV0)nInt16)
-/*N*/ {
-/*?*/ case CHART2D_LINE:
-/*?*/ eChartStyle = CHSTYLE_2D_LINE;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART2D_STACKEDLINE:
-/*?*/ eChartStyle = CHSTYLE_2D_STACKEDLINE;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART2D_BAR:
-/*?*/ eChartStyle = CHSTYLE_2D_COLUMN;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART2D_STACKEDBAR:
-/*?*/ eChartStyle = CHSTYLE_2D_STACKEDCOLUMN;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART2D_COLUMN:
-/*?*/ eChartStyle = CHSTYLE_2D_BAR;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART2D_STACKEDCOLUMN:
-/*?*/ eChartStyle = CHSTYLE_2D_STACKEDBAR;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART2D_AREA:
-/*?*/ eChartStyle = CHSTYLE_2D_AREA;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART2D_STACKEDAREA:
-/*?*/ eChartStyle = CHSTYLE_2D_STACKEDAREA;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART2D_PIE:
-/*?*/ eChartStyle = CHSTYLE_2D_PIE;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART3D_STRIPE:
-/*?*/ eChartStyle = CHSTYLE_3D_STRIPE;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART3D_BAR:
-/*?*/ eChartStyle = CHSTYLE_3D_COLUMN;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART3D_FLATBAR:
-/*?*/ eChartStyle = CHSTYLE_3D_FLATCOLUMN;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART3D_STACKEDFLATBAR:
-/*?*/ eChartStyle = CHSTYLE_3D_STACKEDFLATCOLUMN;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART3D_AREA:
-/*?*/ eChartStyle = CHSTYLE_3D_AREA;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART3D_STACKEDAREA:
-/*?*/ eChartStyle = CHSTYLE_3D_STACKEDAREA;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART3D_SURFACE:
-/*?*/ eChartStyle = CHSTYLE_3D_SURFACE;
-/*?*/ break;
-/*?*/
-/*?*/ case CHART3D_PIE:
-/*?*/ eChartStyle = CHSTYLE_3D_PIE;
-/*?*/ break;
-/*?*/
-/*?*/ default :
-/*?*/ eChartStyle = CHSTYLE_2D_COLUMN;
-/*?*/ break;
-/*?*/ }
-/*?*/
-/*?*/ bNoMore = TRUE;
-/*?*/ }
-/*N*/ else
-/*N*/ eChartStyle = (SvxChartStyle)nInt16;
-/*N*/
-/*N*/ for (i = 0; i < LINE_POINT_COUNT; i++)
-/*N*/ {
-/*N*/ rIn >> nInt16; eChartLinePoints[i] = nInt16;
-/*N*/ }
-/*N*/
-/*N*/ // Das ehemalige Member aRowColors[] wird eingelesen.
-/*N*/ Color aDummyColor;
-/*N*/ for (i = 0; i < ROW_COLOR_COUNT; i++)
-/*N*/ rIn >> aDummyColor;
-/*N*/
-/*N*/ rIn >> nInt32; //nGapWidth = (long)nInt32;
-/*N*/ rIn >> nInt32; //nOverlap = (long)nInt32;
-/*N*/ rIn >> nInt32;
-/*N*/ DBG_ASSERT( nInt32 == 100, "LoadAttributes: nMarkLen's value differs from 100 in this stream" );
-/*N*/
-/*N*/ rIn >> aChartRect;
-/*N*/ rIn >> nInt32; nPieHeight = (long)nInt32;
-/*N*/
-/*N*/ if (nVersion >= 6)
-/*N*/ {
-/*N*/ rIn >> nInt16; nPieSegCount = (short)nInt16;
-/*N*/ pPieSegOfs = new long[nPieSegCount];
-/*N*/
-/*N*/ BOOL bNullify = (nVersion < 17) && eChartStyle == CHSTYLE_2D_PIE;
-/*N*/
-/*N*/ for( i = 0; i < nPieSegCount; i++ )
-/*N*/ {
-/*N*/ rIn >> nInt32;
-/*N*/ pPieSegOfs[ i ] = bNullify? 0: (long)nInt32;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ rIn >> nInt16; nXAngle = (short)nInt16;
-/*N*/ rIn >> nInt16; nYAngle = (short)nInt16;
-/*N*/ rIn >> nInt16; nZAngle = (short)nInt16;
-/*N*/
-/*N*/ rIn >> nCharSet;
-
- /**************************************************************************
- * So machts der Writer, und so muessen es alle machen:
- * Bug 9714: Der CharSet an den Fonts muss geaendert werden, wenn
- * es der globale CharSet ist (MT)
- **************************************************************************/
-/*N*/ SfxItemPool& rPool = GetItemPool();
-/*N*/ USHORT nMaxItems = rPool.GetItemCount(EE_CHAR_FONTINFO);
-/*N*/ SvxFontItem* pItem;
-/*N*/
-/*N*/ for (USHORT n = 0; n < nMaxItems; ++n)
-/*N*/ {
-/*N*/ pItem = (SvxFontItem*) rPool.GetItem(EE_CHAR_FONTINFO, n);
-/*N*/ if (pItem && pItem->GetCharSet() == nCharSet)
-/*N*/ {
-/*N*/ pItem->GetCharSet() = eSysSet;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ BOOL bShowXAxis;
-/*N*/ BOOL bShowXDescr;
-/*N*/ BOOL bShowYAxis;
-/*N*/ BOOL bShowYDescr;
-/*N*/ BOOL bShowZAxis;
-/*N*/ BOOL bShowZDescr;
-/*N*/
-/*N*/ rIn >> bShowMainTitle;
-/*N*/ rIn.ReadByteString( aMainTitle );
-/*N*/ rIn >> bShowSubTitle;
-/*N*/ rIn.ReadByteString( aSubTitle );
-/*N*/ rIn >> bShowXAxisTitle;
-/*N*/ rIn.ReadByteString( aXAxisTitle );
-/*N*/ rIn >> bShowYAxisTitle;
-/*N*/ rIn.ReadByteString( aYAxisTitle );
-/*N*/ rIn >> bShowZAxisTitle;
-/*N*/ rIn.ReadByteString( aZAxisTitle );
-/*N*/ rIn >> bShowXAxis;
-/*N*/ rIn >> bShowXGridMain;
-/*N*/ rIn >> bShowXGridHelp;
-/*N*/ rIn >> bShowXDescr;
-/*N*/ rIn >> bShowYAxis;
-/*N*/ rIn >> bShowYGridMain;
-/*N*/ rIn >> bShowYGridHelp;
-/*N*/ rIn >> bShowYDescr;
-/*N*/ rIn >> bShowZAxis;
-/*N*/ rIn >> bShowZGridMain;
-/*N*/ rIn >> bShowZGridHelp;
-/*N*/ rIn >> bShowZDescr;
-/*N*/
- /**************************************************************************
- * Nun werden die Attribut-ItemSets geladen
- * Die etwas umstaendliche Art und Weise ist notwendig, da fruehere Charts
- * nicht alle Items weggeschrieben haben. Daher wird in ein leeres ItemSet
- * gestreamt und dieses in das Default-ItemSet geputtet (damit keine
- * Pool-Defaults zum Tragen kommen).
- **************************************************************************/
-
-/*N*/ SfxItemSet aTitleAttr(*pItemPool, nTitleWhichPairs);
-/*N*/ aTitleAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pTitleAttr, aTitleAttr );
-/*N*/
-/*N*/ SfxItemSet aMainTitleAttr(*pItemPool, nTitleWhichPairs);
-/*N*/ aMainTitleAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pMainTitleAttr, aMainTitleAttr );
-/*N*/
-/*N*/ SfxItemSet aSubTitleAttr(*pItemPool, nTitleWhichPairs);
-/*N*/ aSubTitleAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pSubTitleAttr, aSubTitleAttr );
-/*N*/
-/*N*/ SfxItemSet aXAxisTitleAttr(*pItemPool, nTitleWhichPairs);
-/*N*/ aXAxisTitleAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pXAxisTitleAttr, aXAxisTitleAttr );
-/*N*/
-/*N*/ SfxItemSet aYAxisTitleAttr(*pItemPool, nTitleWhichPairs);
-/*N*/ aYAxisTitleAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pYAxisTitleAttr, aYAxisTitleAttr );
-/*N*/
-/*N*/ SfxItemSet aZAxisTitleAttr(*pItemPool, nTitleWhichPairs);
-/*N*/ aZAxisTitleAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pZAxisTitleAttr, aZAxisTitleAttr );
-/*N*/
-/*N*/ SfxItemSet aAxisAttr(*pItemPool, nAllAxisWhichPairs);
-/*N*/ aAxisAttr.Load(rIn);
-/*N*/ pAxisAttr->Put(aAxisAttr);
-/*N*/
-/*N*/ CHART_TRACE( "LoadAttributes: Debugging load of old axis attr BEFORE conversion" );
-/*N*/ SfxItemSet aXAxisAttr(*pItemPool, nCompatAxisWhichPairs);//nXAxisWhich....
-/*N*/ aXAxisAttr.Load(rIn);
-/*N*/ DBG_ITEMS(aXAxisAttr,(ChartModel*)this);
-/*N*/ SfxItemSet aYAxisAttr(*pItemPool, nCompatAxisWhichPairs);
-/*N*/ aYAxisAttr.Load(rIn);
-/*N*/ DBG_ITEMS(aYAxisAttr,(ChartModel*)this);
-/*N*/ SfxItemSet aZAxisAttr(*pItemPool, nCompatAxisWhichPairs);
-/*N*/ aZAxisAttr.Load(rIn);
-/*N*/ DBG_ITEMS(aZAxisAttr,(ChartModel*)this);
-/*N*/
-/*N*/ if(nVersion < 12) //sonst wirds eh uebergebuegelt:
-/*N*/ {
-/*N*/ //konvertieren:
-/*N*/ AxisAttrOld2New(aXAxisAttr,TRUE,CHOBJID_DIAGRAM_X_AXIS);
-/*N*/ AxisAttrOld2New(aYAxisAttr,TRUE,CHOBJID_DIAGRAM_Y_AXIS);
-/*N*/ AxisAttrOld2New(aZAxisAttr,TRUE,CHOBJID_DIAGRAM_Z_AXIS);
-/*N*/ pChartXAxis->SetAttributes(aXAxisAttr);
-/*N*/ pChartYAxis->SetAttributes(aYAxisAttr);
-/*N*/ pChartZAxis->SetAttributes(aZAxisAttr);
-/*N*/ CHART_TRACE( "LoadAttributes: Debugging AFTER conversion" );
-/*N*/ DBG_ITEMS(aXAxisAttr,(ChartModel*)this);
-/*N*/ DBG_ITEMS(aYAxisAttr,(ChartModel*)this);
-/*N*/ DBG_ITEMS(aZAxisAttr,(ChartModel*)this);
-/*N*/ }
-/*N*/
-/*N*/ SfxItemSet aGridAttr(*pItemPool, nGridWhichPairs);
-/*N*/ aGridAttr.Load(rIn);
-/*N*/ pGridAttr->Put(aGridAttr);
-/*N*/
-/*N*/ SfxItemSet aXGridMainAttr(*pItemPool, nGridWhichPairs);
-/*N*/ aXGridMainAttr.Load(rIn);
-/*N*/ pXGridMainAttr->Put(aXGridMainAttr);
-/*N*/
-/*N*/ SfxItemSet aYGridMainAttr(*pItemPool, nGridWhichPairs);
-/*N*/ aYGridMainAttr.Load(rIn);
-/*N*/ pYGridMainAttr->Put(aYGridMainAttr);
-/*N*/
-/*N*/ SfxItemSet aZGridMainAttr(*pItemPool, nGridWhichPairs);
-/*N*/ aZGridMainAttr.Load(rIn);
-/*N*/ pZGridMainAttr->Put(aZGridMainAttr);
-/*N*/
-/*N*/ SfxItemSet aXGridHelpAttr(*pItemPool, nGridWhichPairs);
-/*N*/ aXGridHelpAttr.Load(rIn);
-/*N*/ pXGridHelpAttr->Put(aXGridHelpAttr);
-/*N*/
-/*N*/ SfxItemSet aYGridHelpAttr(*pItemPool, nGridWhichPairs);
-/*N*/ aYGridHelpAttr.Load(rIn);
-/*N*/ pYGridHelpAttr->Put(aYGridHelpAttr);
-/*N*/
-/*N*/ SfxItemSet aZGridHelpAttr(*pItemPool, nGridWhichPairs);
-/*N*/ aZGridHelpAttr.Load(rIn);
-/*N*/ pZGridHelpAttr->Put(aZGridHelpAttr);
-/*N*/
-/*N*/ SfxItemSet aDiagramAreaAttr(*pItemPool, nDiagramAreaWhichPairs);
-/*N*/ aDiagramAreaAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pDiagramAreaAttr, aDiagramAreaAttr );
-/*N*/
-/*N*/ SfxItemSet aDiagramWallAttr(*pItemPool, nDiagramAreaWhichPairs);
-/*N*/ aDiagramWallAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pDiagramWallAttr, aDiagramWallAttr );
-/*N*/
-/*N*/ SfxItemSet aDiagramFloorAttr(*pItemPool, nDiagramAreaWhichPairs);
-/*N*/ aDiagramFloorAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pDiagramFloorAttr, aDiagramFloorAttr );
-/*N*/
-/*N*/ SfxItemSet aLegendAttr(*pItemPool, nLegendWhichPairs);
-/*N*/ aLegendAttr.Load(rIn);
-/*N*/ PutItemSetWithNameCreation( *pLegendAttr, aLegendAttr );
-/*N*/
-/*N*/ if (nVersion < 2)
-/*N*/ {
-/*?*/ pTitleAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ pMainTitleAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ pSubTitleAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ pXAxisTitleAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ pYAxisTitleAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ pZAxisTitleAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ pAxisAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/
-/*?*/ //Achsen auch fuer V12+ OK, (ToDo: Hier ist recht viel Overhead! )
-/*?*/ aXAxisAttr.ClearItem();
-/*?*/ aYAxisAttr.ClearItem();
-/*?*/ aZAxisAttr.ClearItem();
-/*?*/ aXAxisAttr.Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ aXAxisAttr.Put(SvxChartTextOrderItem(CHTXTORDER_SIDEBYSIDE));
-/*?*/ aYAxisAttr.Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ aYAxisAttr.Put(SvxChartTextOrderItem(CHTXTORDER_SIDEBYSIDE));
-/*?*/ aZAxisAttr.Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*?*/ pChartXAxis->SetAttributes(aXAxisAttr);
-/*?*/ pChartYAxis->SetAttributes(aYAxisAttr);
-/*?*/ pChartZAxis->SetAttributes(aZAxisAttr);
-/*?*/
-/*?*/ bNoMore = TRUE;
-/*?*/ }
-/*N*/
-/*N*/ if (nVersion < 7)
-/*N*/ {
-/*?*/ GetAttr(CHOBJID_DIAGRAM_Y_AXIS).Put(SfxBoolItem(SCHATTR_AXIS_AUTO_ORIGIN, TRUE));
-/*?*/ GetAttr(CHOBJID_DIAGRAM_Y_AXIS).Put(SvxDoubleItem(0.0, SCHATTR_AXIS_ORIGIN));
-/*?*/
-/*?*/ bNoMore = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ rIn >> nInt16; nCount = (short)nInt16;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ pAttr = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/
-/*N*/ pAttr->Load(rIn);
-/*N*/ aDataRowAttrList.push_back( pAttr );
-/*N*/ }
-/*N*/
-/*N*/ rIn >> nInt16; nCount = (short)nInt16;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ pAttr = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/
-/*N*/ pAttr->Load(rIn);
-/*N*/ if (pAttr->Count() == 0)
-/*N*/ {
-/*N*/ delete pAttr;
-/*N*/ pAttr = NULL;
-/*N*/ }
-/*N*/ aDataPointAttrList.push_back( pAttr );
-/*N*/ }
-/*N*/
-/*N*/ if (nVersion < 4)
-/*N*/ {
-/*?*/ for (i = 0; i < nCount; i++)
-/*?*/ {
-/*?*/ aSwitchDataPointAttrList.push_back( NULL );
-/*?*/ }
-/*?*/
-/*?*/ bNoMore = TRUE;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ rIn >> nInt16; nCount = (short)nInt16;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ pAttr = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/
-/*N*/ pAttr->Load(rIn);
-/*N*/ if (pAttr->Count() == 0)
-/*N*/ {
-/*N*/ delete pAttr;
-/*N*/ pAttr = NULL;
-/*N*/ }
-/*N*/ aSwitchDataPointAttrList.push_back( pAttr );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ rIn >> nInt16; eDataDescr = (SvxChartDataDescr)nInt16;
-/*N*/ rIn >> bShowSym;
-/*N*/ rIn >> bSwitchData;
-/*N*/
-/*N*/ if (nVersion < 1)
-/*N*/ {
-/*?*/ BOOL bDataPercent;
-/*?*/ rIn >> bDataPercent;
-/*?*/
-/*?*/ switch (eChartStyle)
-/*?*/ {
-/*?*/ case CHSTYLE_2D_LINE:
-/*?*/ eChartStyle = CHSTYLE_2D_PERCENTLINE;
-/*?*/ break;
-/*?*/
-/*?*/ case CHSTYLE_2D_COLUMN:
-/*?*/ eChartStyle = CHSTYLE_2D_PERCENTCOLUMN;
-/*?*/ break;
-/*?*/
-/*?*/ case CHSTYLE_2D_BAR:
-/*?*/ eChartStyle = CHSTYLE_2D_PERCENTBAR;
-/*?*/ break;
-/*?*/
-/*?*/ case CHSTYLE_2D_AREA:
-/*?*/ eChartStyle = CHSTYLE_2D_PERCENTAREA;
-/*?*/ break;
-/*?*/
-/*?*/ case CHSTYLE_3D_FLATCOLUMN:
-/*?*/ eChartStyle = CHSTYLE_3D_PERCENTFLATCOLUMN;
-/*?*/ break;
-/*?*/
-/*?*/ case CHSTYLE_3D_AREA:
-/*?*/ eChartStyle = CHSTYLE_3D_PERCENTAREA;
-/*?*/ break;
- default: break;
-/*?*/ }
-/*?*/
-/*?*/ bNoMore = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ UINT32 nTmp,nDescrFormat,nDescrPercentFormat;
-/*N*/ rIn >> nTmp;//nValFo rmat;
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_Y_AXIS,nTmp,FALSE);
-/*N*/ rIn >> nTmp;//nPerce ntValFormat;
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_Y_AXIS,nTmp,TRUE);
-/*N*/ rIn >> nDescrFormat;
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_X_AXIS,nDescrFormat,FALSE);
-/*N*/ rIn >> nDescrPercentFormat;
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_X_AXIS,nDescrPercentFormat,TRUE);
-/*N*/
-/*N*/ // Achtung : Gravierende Aenderungen an der Datei gegenueber der Auslieferungsversion
-/*N*/ // es werden mehr Daten geschrieben : Die alte Version muss (!) das aber auch verkraften
-/*N*/ // Die Reihenfolge muss (!!!!) eingehalten werden
-/*N*/ pChartYAxis->LoadMemberCompat(rIn);
-/*N*/ pChartXAxis->LoadMemberCompat(rIn);
-/*N*/ pChartZAxis->LoadMemberCompat(rIn);
-/*N*/
-/*N*/ rIn >> fMaxData;
-/*N*/
-/*N*/ if (!bNoMore)
-/*N*/ {
-/*N*/ UINT32 nMoreData = 0;
-/*N*/ rIn >> nMoreData;
-/*N*/
-/*N*/ // nMoreData soll als Weiche fuer zukuenftige Versionen dienen,
-/*N*/ // insbesondere fuer den Fall, dass weitere Daten geschrieben werden
-/*N*/ // muessen. Die Pools duerfen ab dem 19.01.1996 auf gar keinen Fall
-/*N*/ // mehr modifiziert oder aufgebohrt werden !!!!
-/*N*/ // ...
-/*N*/ // nMoreData = 12 (Vobis-Version 4.0)
-/*N*/ // nMoreData = 13 Cebit-Version
-/*N*/ // .... siehe Text unten
-/*N*/ // nMoreData = 15 V4.0 nach Cebit >= 358
-/*N*/ if (nMoreData > 1)
-/*N*/ {
-/*N*/ ByteString aReadString;
-/*N*/
-/*N*/ rIn.ReadByteString( pChartData->SomeData1() );
-/*N*/ rIn.ReadByteString( pChartData->SomeData2() );
-/*N*/ rIn.ReadByteString( pChartData->SomeData3() );
-/*N*/ rIn.ReadByteString( pChartData->SomeData4() );
-/*N*/
-/*N*/ if (nMoreData >= 3) rIn >> fSpotIntensity;
-/*N*/ if (nMoreData <= 8) fAmbientIntensity = fSpotIntensity;
-/*N*/
-/*N*/ if (nMoreData >= 4)
-/*N*/ {
-/*N*/ BOOL bDummy;
-/*N*/
-/*N*/ rIn >> bShowAverage;
-/*N*/ rIn >> nInt16; eErrorKind = (SvxChartKindError) nInt16;
-/*N*/ rIn >> bDummy;
-/*N*/ rIn >> nInt16; eIndicate = (SvxChartIndicate) nInt16;
-/*N*/ rIn >> fIndicatePercent;
-/*N*/ rIn >> fIndicateBigError;
-/*N*/ rIn >> fIndicatePlus;
-/*N*/ rIn >> fIndicateMinus;
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 5)
-/*N*/ {
-/*N*/ rIn >> nInt16; eRegression = (SvxChartRegress) nInt16;
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 6)
-/*N*/ {
-/*N*/ INT32 nLclInt32;
-/*N*/ rIn >> nLclInt32; nSplineDepth = nLclInt32;
-/*N*/ rIn >> nLclInt32; nGranularity = nLclInt32;
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 7)
-/*N*/ {
-/*N*/ rIn >> bLegendVisible;
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 8)
-/*N*/ {
-/*N*/ rIn >> nInt16; nCount = (short)nInt16;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ pAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/
-/*N*/ pAttr->Load(rIn);
-/*N*/ aRegressAttrList.push_back( pAttr );
-/*N*/ }
-/*N*/
-/*N*/ rIn >> nInt16; nCount = (short)nInt16;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ pAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/
-/*N*/ pAttr->Load(rIn);
-/*N*/ aAverageAttrList.push_back( pAttr );
-/*N*/ }
-/*N*/
-/*N*/ rIn >> nInt16; nCount = (short)nInt16;
-/*N*/ for (i = 0; i < nCount; i++)
-/*N*/ {
-/*N*/ pAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/
-/*N*/ pAttr->Load(rIn);
-/*N*/ aErrorAttrList.push_back( pAttr );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (nMoreData >= 9) rIn >> fAmbientIntensity;
-/*N*/ if (nMoreData >= 10) rIn >> bTextScalable;
-/*N*/ if (nMoreData >= 11) rIn >> aInitialSize;
-/*N*/ if (nMoreData >= 12) //FG: 20.2.1997
-/*N*/ {
-/*N*/ // FG: Vielleicht etwas viel Speicher fuer BOOL, aber es macht nur 16 Byte pro Chart
-/*N*/ rIn >> nInt16; bFormatXAxisTextInMultipleLinesIfNecessary = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bFormatYAxisTextInMultipleLinesIfNecessary = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bFormatZAxisTextInMultipleLinesIfNecessary = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bFormatLegendTextInMultipleLinesIfNecessary = (BOOL) nInt16;
-/*N*/ }
-/*N*/ if (nMoreData >= 13) // FG: 9.3.1997 Zusaetze wegen einer freien Positionierung und einem freien
-/*N*/ { // Resize von Gruppenobjekten im Chart.
-/*N*/ rIn >> nInt16; nXAxisTextMaximumNumberOfLines = nInt16;
-/*N*/ rIn >> nInt16; nYAxisTextMaximumNumberOfLines = nInt16;
-/*N*/ rIn >> nInt16; nZAxisTextMaximumNumberOfLines = nInt16;
-/*N*/ rIn >> nInt32; nWidthOfFirstXAxisText = nInt32;
-/*N*/ rIn >> nInt32; nWidthOfLastXAxisText = nInt32;
-/*N*/ rIn >> aTitleTopCenter;
-/*N*/ rIn >> aSubTitleTopCenter;
-/*N*/ rIn >> aDiagramRectangle;
-/*N*/ rIn >> aLegendTopLeft;
-/*N*/ rIn >> aTitleXAxisPosition; // FG: welcher Punkt da jeweils gemeint ist findet
-/*N*/ rIn >> aTitleYAxisPosition; // bei nMoreData = 15
-/*N*/ rIn >> aTitleZAxisPosition;
-/*N*/ rIn >> nInt16; bUseRelativePositionsForChartGroups = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bAdjustMarginsForLegend = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bAdjustMarginsForMainTitle = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bAdjustMarginsForSubTitle = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bAdjustMarginsForXAxisTitle = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bAdjustMarginsForYAxisTitle = (BOOL) nInt16;
-/*N*/ rIn >> nInt16; bAdjustMarginsForZAxisTitle = (BOOL) nInt16;
-/*N*/ }
-/*N*/ if (nMoreData >= 14)
-/*N*/ {
-/*N*/ rIn >> aSpotColor; // FG: Aenderung von DL damit sich das 3d-Chart die
-/*N*/ rIn >> aAmbientColor; // Farbfilter-Einstellungen merkt.
-/*N*/
-/*N*/ rIn >> bDiagramHasBeenMovedOrResized; // FG: 12.3.97, Falls das Chart gespeichert wird
-/*N*/ rIn >> bMainTitleHasBeenMoved; // soll es immer noch die relativen Positionen
-/*N*/ rIn >> bSubTitleHasBeenMoved; // der Objektgruppen beachten, falls eine
-/*N*/ rIn >> bLegendHasBeenMoved; // dieser Gruppen bewegt worden ist.
-/*N*/ rIn >> bXAxisTitleHasBeenMoved;
-/*N*/ rIn >> bYAxisTitleHasBeenMoved;
-/*N*/ rIn >> bZAxisTitleHasBeenMoved;
-/*N*/ }
-/*N*/ if (nMoreData >= 15) // FG: 14.3.97 Es braucht noch die Information der Ausrichtung
-/*N*/ { // damit beim Resize die Texte richtig plaziert werden
-/*N*/ rIn >> nInt16; eAdjustXAxesTitle = (ChartAdjust) nInt16;
-/*N*/ rIn >> nInt16; eAdjustYAxesTitle = (ChartAdjust) nInt16;
-/*N*/ rIn >> nInt16; eAdjustZAxesTitle = (ChartAdjust) nInt16;
-/*N*/ }
-/*N*/ if (nMoreData >= 16)
-/*N*/ {
-/*N*/ BOOL bNeedMerge=FALSE;
-/*N*/ String aFmtStr;
-/*N*/ sal_uInt32 nId;
-/*N*/ if(nVersion <= 11)//ab V 12 X=Y=Z-Numberformatter!
-/*N*/ {
-/*?*/ SvNumberFormatter *pTmp = new SvNumberFormatter( ::legacy_binfilters::getLegacyProcessServiceFactory(),
-/*?*/ LANGUAGE_SYSTEM );
-/*?*/ pTmp->Load(rIn);
-/*?*/ nId = IsPercentChart() ? nDescrPercentFormat : nDescrFormat;
-/*?*/ const SvNumberformat* pFmt=pTmp->GetEntry(nId);
-/*?*/
-/*?*/ if(pFmt && (pFmt->GetType() & NUMBERFORMAT_DEFINED))
-/*?*/ {
-/*?*/ aFmtStr = pFmt->GetFormatstring();
-/*?*/ bNeedMerge=TRUE;
-/*?*/ }
-/*?*/ delete pTmp;
-/*?*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ pNumFormatter->SkipNumberFormatterInStream( rIn ); //Skip x
-/*N*/ }
-/*N*/ pOwnNumFormatter->Load( rIn ); // if not skipped load the own formatter ...
-/*N*/ pNumFormatter = pOwnNumFormatter; // ... and use it
-/*N*/
-/*N*/ // merge user formats of x axis formatter
-/*N*/ if(bNeedMerge)
-/*N*/ {
-/*?*/ xub_StrLen nChk;
-/*?*/ short nType;
-/*?*/ pNumFormatter->PutEntry(aFmtStr,nChk,nType,nId,LANGUAGE_SYSTEM);
-/*?*/ DBG_ASSERT(nChk==0,"Chart:: Converting X-Axis Numformat failed");
-/*?*/ SetNumFmt(CHOBJID_DIAGRAM_X_AXIS,nId,IsPercentChart());
-/*N*/ }
-/*N*/
-/*N*/ pNumFormatter->SkipNumberFormatterInStream(rIn);//aTmp.Load( rIn );//pNumFormatterZ //immer wegschmeissen, hatte nie userdef. formats
-/*N*/ }
-/*N*/ }
-/*N*/ aLastDiagramRectangle = aDiagramRectangle; // #68131# (#67459#)
-/*N*/ }
-/*N*/
-/*N*/ // FG: Das ist notwendig damit in SchChartDocShell::Draw das Chart Initialisiert
-/*N*/ // wird, es also die wirkliche Groesse mitbekommt. Zum jetzigen Zeitpunkt nach dem
-/*N*/ // Laden gibt es ja noch kein Fenster. Ein Aufruf von BuildChart an dieser Stelle
-/*N*/ // geht also nicht. Bei einem Repaint wird in der oben genannten Methode abgefragt
-/*N*/ // ob das Chart bereits existiert (bNoBuildChart), falls nicht wird es neu angelegt.
-/*N*/ //
-/*N*/ // bei den Versionen 4.0 oder hoeher wird die Initialisierung richtig gemacht
-/*N*/ // bei Charts die Inplace aus Versionen 3.1 verwendet werden passiert das schon
-/*N*/ // richtig.
-/*N*/ //
-/*N*/ // Dies betrifft nur 3D-Charts, die im Format der Version 3.1 geschrieben wurden.
-/*N*/ //
-/*N*/ // 21.4. Aenderung: Das Chart kann ja aus allen gespeicheten Daten erzeugt werden.
-/*N*/ // um das File klein zu halten und da die Neuberechnung sehr viel schneller
-/*N*/ // geworden ist.
-/*N*/ if (((rIn.GetVersion() <= SOFFICE_FILEFORMAT_31) && (Is3DChart())) ||
-/*N*/ bUseRelativePositionsForChartGroups || (rIn.GetVersion() > SOFFICE_FILEFORMAT_31))
-/*N*/ {
-/*N*/ bNoBuildChart = TRUE;
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/
-/*N*/ if (nVersion >= 9)//#50116# Saeulenbreite
-/*N*/ {
-/*N*/ rIn >> nInt16; SetBarPercentWidth((long)nInt16);
-/*N*/
-/*N*/ rIn >> nInt32; m_nDefaultColorSet=nInt32;//#50149#
-/*N*/
-/*N*/ rIn >> nInt32;
-/*N*/ // #78911# always set to 0 if charttype doesn't support lines
-/*N*/ SetNumLinesColChart( ( eChartStyle == CHSTYLE_2D_LINE_COLUMN )? nInt32: 0 );
-/*N*/
-/*N*/ // #74536# BM use these three former -1 dummies for
-/*N*/ // numberformat last set by CALC
-/*N*/ rIn >> nXLastNumFmt;
-/*N*/ rIn >> nYLastNumFmt;
-/*N*/ rIn >> nBLastNumFmt;
-/*N*/ rIn >> nInt32; // still dummy (-1)
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ if(nVersion >= 11)//10 existiert nicht (pChartAttr)
-/*N*/ {
-/*N*/
-/*N*/ SfxItemSet aAttr(*pItemPool, nRowWhichPairs);
-/*N*/ aAttr.Load(rIn);
-/*N*/ pStockLineAttr->Put(aAttr);
-/*N*/
-/*N*/ aAttr.ClearItem();
-/*N*/ aAttr.Load(rIn);
-/*N*/ pStockLossAttr->Put(aAttr);
-/*N*/
-/*N*/ aAttr.ClearItem();
-/*N*/ aAttr.Load(rIn);
-/*N*/ pStockPlusAttr->Put(aAttr);
-/*N*/ }
-/*N*/
-/*N*/ InitChartData(FALSE); //weia, beeinflusst die Achsen....also erst ab hier:
-/*N*/
-/*N*/
-/*N*/ if(nVersion >= 12)
-/*N*/ {
-/*N*/ //Achse wird nur noch auf Attr-Basis gestreamt!
-/*N*/
-/*N*/ //nAxisId ist die zu ladene/speichernde Achse,
-/*N*/ //festgelegt sind in V12 nur 1=X, 2=Y,3=Z und 4=B (2.Y-Achse)
-/*N*/ //-1 bedeutet KEINE WEITEREN ACHSEN !!!!!!!!!!!
-/*N*/ //Es MUSS keine Achse gestreamt werden (siehe Lade-Routine)
-/*N*/ INT32 nAxisId=0;
-/*N*/ SfxItemSet aAxisSet(*pItemPool,nAxisWhichPairs);
-/*N*/ while(nAxisId != -1)//hier koennen beliebig viele, auch unbekannte Achsen kommen
-/*N*/ {
-/*N*/ aAxisSet.ClearItem();
-/*N*/ rIn >> nAxisId;
-/*N*/
-/*N*/ switch(nAxisId)
-/*N*/ {
-/*N*/ case CHART_AXIS_PRIMARY_X:
-/*N*/ aAxisSet.Load(rIn);
-/*N*/ SetAttributes(CHOBJID_DIAGRAM_X_AXIS,aAxisSet,FALSE);
-/*N*/ SetAttributes(CHOBJID_DIAGRAM_A_AXIS,aAxisSet,FALSE);//falls nicht spaeter geladen wird, hier neue defaults setzen
-/*N*/ pChartAAxis->ShowAxis(FALSE); //default aus
-/*N*/ pChartAAxis->ShowDescr(FALSE);
-/*N*/ pChartXAxis->Update(); //Ab V12 kann jetzt der ganze LoadMemberCompat...Kram uebergebuegelt werden, in den Attr war alles drin!
-/*N*/ pChartAAxis->Update();
-/*N*/ break;
-/*N*/ case CHART_AXIS_PRIMARY_Y:
-/*N*/ aAxisSet.Load(rIn);
-/*N*/ SetAttributes(CHOBJID_DIAGRAM_Y_AXIS,aAxisSet,FALSE);
-/*N*/ pChartYAxis->Update();
-/*N*/ break;
-/*N*/ case CHART_AXIS_PRIMARY_Z:
-/*N*/ aAxisSet.Load(rIn);
-/*N*/ SetAttributes(CHOBJID_DIAGRAM_Z_AXIS,aAxisSet,FALSE);
-/*N*/ pChartZAxis->Update();
-/*N*/ break;
-/*N*/ case CHART_AXIS_SECONDARY_Y:
-/*N*/ aAxisSet.Load(rIn);
-/*N*/ SetAttributes(CHOBJID_DIAGRAM_B_AXIS,aAxisSet,FALSE);
-/*N*/ pChartBAxis->Update();
-/*N*/ break;
-/*N*/ case CHART_AXIS_SECONDARY_X:
-/*N*/ aAxisSet.Load(rIn);
-/*N*/ SetAttributes(CHOBJID_DIAGRAM_A_AXIS,aAxisSet,FALSE);
-/*N*/ pChartAAxis->Update();
-/*N*/ break;
-/*N*/ case -1: //Ende der Achsen!
-/*N*/ break;
-/*N*/ default: //Attrset kommt aus der Zukunft! Laden und vernichten:
-/*N*/ {
-/*?*/ aAxisSet.Load(rIn);
-/*N*/ }
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else //defaults ergaenzen
-/*N*/ {
-/*?*/ SfxItemSet aSet(*pItemPool,nAxisWhichPairs);
-/*?*/ aSet.Put(SfxInt32Item(SCHATTR_AXIS_TICKS,CHAXIS_MARK_OUTER));
-/*?*/ SetAttributes(CHOBJID_DIAGRAM_X_AXIS,aSet);
-/*?*/ SetAttributes(CHOBJID_DIAGRAM_Y_AXIS,aSet);
-/*N*/ }
-/*N*/ //Ende IOVersion 12
-/*N*/
-
-/*N*/ if(nVersion >= 14)
-/*N*/ {
-/*N*/ rIn >> nTmp;
-/*N*/ aBarY1.SetGap(nTmp);
-/*N*/ rIn >> nTmp;
-/*N*/ aBarY1.SetOverlap(nTmp);
-/*N*/ rIn >> nTmp;
-/*N*/ aBarY2.SetGap(nTmp);
-/*N*/ rIn >> nTmp;
-/*N*/ aBarY2.SetOverlap(nTmp);
-/*N*/ }
-/*N*/
-/*N*/ if(nVersion >= 15)
-/*N*/ {
-/*N*/ SfxItemSet * pAttributes;
-/*N*/ bResizePie=FALSE;
-/*N*/ rIn >> bDiagramHasBeenMovedOrResized; // FG: 12.3.97, Falls das Chart gespeichert wird
-/*N*/
-/*N*/ if(IsReal3D() && (IsPieChart()||IsLine())) //Hack wegen #62363#, double-sided neu defaulten
-/*N*/ {
-/*N*/ long nMax;
-/*N*/ nMax=aDataRowAttrList.size();
-/*N*/ for(i=0;i<nMax;i++)
-/*N*/ aDataRowAttrList[ i ]->Put(Svx3DDoubleSidedItem(TRUE));
-/*N*/ nMax=aDataPointAttrList.size();
-/*N*/ for(i=0;i<nMax;i++)
-/*N*/ {
-/*N*/ pAttributes = aDataPointAttrList[ i ];
-/*N*/ if (pAttributes != NULL)
-/*?*/ pAttributes->Put(Svx3DDoubleSidedItem(TRUE));
-/*N*/ }
-/*N*/ nMax=aSwitchDataPointAttrList.size();
-/*N*/ for(i=0;i<nMax;i++)
-/*N*/ {
-/*N*/ pAttributes = aSwitchDataPointAttrList[ i ];
-/*N*/ if (pAttributes != NULL)
-/*N*/ pAttributes->Put(Svx3DDoubleSidedItem(TRUE));
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ //altes 3D-Pie?
-/*?*/ bResizePie=TRUE;
-/*?*/ if(IsReal3D() && IsPieChart())
-/*?*/ {
-/*?*/ Matrix4D aTmp; //Matrix auf default
-/*?*/
-/*?*/ aTmp.RotateZ((900 + nYAngle) * F_PI / 1800); //??? !!!
-/*?*/ aTmp.RotateX(-F_PI/3);
-/*?*/
-/*?*/ aSceneMatrix=aTmp;
-/*?*/ }
-/*?*/
-/*?*/ if(IsReal3D()) //#61923#
-/*?*/ {
-/*?*/ long nMax;
-/*?*/ nMax=aDataRowAttrList.size();
-/*?*/ SfxItemSet * pAttributes;
-/*?*/
-/*?*/ for(i=0;i<nMax;i++)
-/*?*/ {
-/*?*/ if(IsPieChart()||IsLine())
-/*?*/ aDataRowAttrList[ i ]->Put(Svx3DDoubleSidedItem(TRUE));
-/*?*/ aDataRowAttrList[ i ]->Put(XLineStyleItem(XLINE_NONE));
-/*?*/ }
-/*?*/
-/*?*/ nMax=aDataPointAttrList.size();
-/*?*/ for(i=0;i<nMax;i++)
-/*?*/ {
-/*?*/ pAttributes = aDataPointAttrList[ i ];
-/*?*/ if (pAttributes == NULL)
-/*?*/ continue;
-/*?*/ if(IsPieChart()||IsLine())
-/*?*/ aDataPointAttrList[ i ]->Put(Svx3DDoubleSidedItem(TRUE));
-/*?*/ aDataPointAttrList[ i ]->Put(XLineStyleItem(XLINE_NONE));
-/*?*/ }
-/*?*/
-/*?*/
-/*?*/ nMax=aSwitchDataPointAttrList.size();
-/*?*/ for(i=0;i<nMax;i++)
-/*?*/ {
-/*?*/ pAttributes = aSwitchDataPointAttrList[ i ];
-/*?*/ if (pAttributes == NULL)
-/*?*/ continue;
-/*?*/ if(IsPieChart()||IsLine())
-/*?*/ aSwitchDataPointAttrList[ i ]->Put(Svx3DDoubleSidedItem(TRUE));
-/*?*/ aSwitchDataPointAttrList[ i ]->Put(XLineStyleItem(XLINE_NONE));
-/*?*/ }
-/*N*/ }
-/*N*/ }
-
- // ******************** LAST READ ********************
-
-
- // ############# defaults erstellen, falls alte Fileversion ####################
-
-/*N*/ if(nVersion < 13)
-/*N*/ {
-/*?*/ if(IsXYChart())
-/*?*/ aDataRowAttrList[ 0 ]->Put(SfxInt32Item(SCHATTR_AXIS,CHART_AXIS_PRIMARY_X));
-/*N*/ }
- //#54870# restaurieren der line-attribute
-/*N*/ if( nVersion < 10)
-/*N*/ {
-/*?*/ SetupLineColors(SETLINES_COMPAT);
-/*N*/ }
-/*N*/ if( nVersion < 16) //Automatische 2.YAchse in Items umsetzten
-/*N*/ {
-/*?*/ const SfxPoolItem* pPoolItem=NULL;
-/*?*/ for(long n=0;n<GetRowCount();n++)
-/*?*/ if(GetDataRowAttr(n).GetItemState(SCHATTR_AXIS,TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*?*/ if(((const SfxInt32Item*)pPoolItem)->GetValue()==CHART_AXIS_SECONDARY_Y)
-/*?*/ {
-/*?*/ n=GetRowCount();//abbruch
-/*?*/ pChartBAxis->ShowDescr(TRUE);
-/*?*/ pChartBAxis->ShowAxis(TRUE);
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ //dies ist immer moeglich (IoVersion<=16), in Zukunft sollten nur noch die Attr unterstuetzt werden, dann kann hier evtl. mit IOVersion geklammert werden!
-/*N*/ pChartXAxis->ShowDescr(bShowXDescr);
-/*N*/ pChartXAxis->ShowAxis(bShowXAxis);
-/*N*/ pChartYAxis->ShowDescr(bShowYDescr);
-/*N*/ pChartYAxis->ShowAxis(bShowYAxis);
-/*N*/ pChartZAxis->ShowDescr(bShowZDescr);
-/*N*/ pChartZAxis->ShowAxis(bShowZAxis);
-/*N*/
-/*N*/
-/*N*/ //Bei unsortierten Charts machts keinen Sinn, nachdem Laden nochmal zu fragen
-/*N*/ if( IsXYChart() )
-/*N*/ SETFLAG( nChartStatus, CHS_USER_NOQUERY );
-/*N*/ else
-/*N*/ RESETFLAG( nChartStatus, CHS_USER_NOQUERY );
-/*N*/
-/*N*/ CHART_TRACE( "ChartModel::LoadAttributes END" );
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Zeigt Legende an bzw. loescht sie.
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::SetShowLegend(BOOL bShow)
-/*N*/ {
-/*N*/ pLegendAttr->Put(SvxChartLegendPosItem(bShow
-/*N*/ ? CHLEGEND_RIGHT
-/*N*/ : CHLEGEND_NONE));
-/*N*/ bLegendVisible = bShow;
-/*N*/ }
-/*************************************************************************
-|*
-|* Legenden-Attribute ermitteln
-|*
-\************************************************************************/
-
-/*N*/ SfxItemSet ChartModel::GetFullLegendAttr() const
-/*N*/ {
-/*N*/ SfxItemSet aAttr(*pItemPool, nLegendWhichPairs);
-/*N*/ aAttr.Put(*pLegendAttr);
-/*N*/ return aAttr;
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode3.cxx b/binfilter/bf_sch/source/core/sch_chtmode3.cxx
deleted file mode 100644
index 9b2e2a9f5..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode3.cxx
+++ /dev/null
@@ -1,1513 +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.
- *
- ************************************************************************/
-
-#include <bf_svx/tabline.hxx>
-#include <bf_svx/svdograf.hxx>
-#include <bf_svx/svdopath.hxx>
-#include <bf_svtools/whiter.hxx>
-#include <bf_svx/xbtmpit.hxx>
-
-#include <bf_svx/eeitem.hxx>
-#ifndef _SVX_COLRITEM_HXX //autogen
-#define ITEMID_COLOR EE_CHAR_COLOR
-#endif
-#include <bf_svx/xflftrit.hxx>
-#include <bf_svx/xflhtit.hxx>
-#include <bf_svx/xtable.hxx>
-#include "schattr.hxx"
-
-// header for SvxChartTextOrientItem
-#ifndef _SVX_CHRTITEM_HXX
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-
-
-#endif
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#include <globfunc.hxx>
-#include <bf_svx/svxids.hrc>
-
-
-
-#include "schattr.hxx"
-#ifndef _SVX_BRSHITEM_HXX //autogen
-#define ITEMID_BRUSH SCHATTR_SYMBOL_BRUSH
-#include <bf_svx/brshitem.hxx>
-#endif
-#ifndef _SVX_SIZEITEM_HXX //autogen
-#define ITEMID_SIZE 0
-#include <bf_svx/sizeitem.hxx>
-#endif
-// header for SAL_STATIC_CAST
-#include <sal/types.h>
-
-#include <bf_svx/xlnedit.hxx>
-#include <bf_svx/xlnstit.hxx>
-#include <bf_svx/xlndsit.hxx>
-#include <bf_svx/xlnclit.hxx>
-#include <bf_svx/xlnwtit.hxx>
-
-#include "glob.hrc"
-
-#include "chtscene.hxx"
-#include "pairs.hxx"
-
-#include "chaxis.hxx"
-
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Entscheidung, ob BuildChart notwendig
-|*
-\************************************************************************/
-/*N*/ BOOL ChartModel::IsAttrChangeNeedsBuildChart(const SfxItemSet&)
-/*N*/ {
-/*N*/ // BM #60999# rebuild for all EE_CHAR attributes because of possibly red color for negative numbers. sorry :-(
-/*N*/ return TRUE;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Achsen-Attribute ermitteln
-|*
-\************************************************************************/
-/*N*/ ChartAxis* ChartModel::GetAxis(long nId)
-/*N*/ {
-/*N*/ switch(nId)
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_X_AXIS:
-/*N*/ return pChartXAxis;
-/*N*/ case CHOBJID_DIAGRAM_Y_AXIS:
-/*N*/ return pChartYAxis;
-/*N*/ case CHOBJID_DIAGRAM_Z_AXIS:
-/*N*/ return pChartZAxis;
-/*N*/ case CHOBJID_DIAGRAM_B_AXIS:
-/*N*/ return pChartBAxis;
-/*?*/ case CHOBJID_DIAGRAM_A_AXIS:
-/*?*/ return pChartAAxis;
-/*N*/ }
-/*?*/ OSL_FAIL("ChartModel::GetAxis() illegal argument (nId=CHOBJID_)");
-/*?*/ return pChartYAxis;
-/*N*/ }
-
-
-
-/*
- Get axis attributes.
- If pAxisObj is NULL then the intersection of the attributes of all five
- axes is taken, regardless of wether the axes are visible or not.
-*/
-/*N*/ SfxItemSet ChartModel::GetFullAxisAttr( const SdrObjGroup* pAxisObj, bool bOnlyInserted ) const
-/*N*/ {
-/*N*/ if (pAxisObj)
-/*N*/ {
-/*?*/ SchObjectId* pObjId = GetObjectId(*pAxisObj);
-/*?*/
-/*?*/ if (pObjId)
-/*?*/ {
-/*?*/ long nId=pObjId->GetObjId();
-/*?*/
-/*?*/ SfxItemSet aAttr(*pItemPool,nAxisWhichPairs);
-/*?*/ aAttr.Put(GetAttr(nId));
-/*?*/ ((ChartModel*)this)->GetAxis(nId)->GetMembersAsAttr(aAttr);
-/*?*/ return aAttr;
-/*?*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // clear member item set for all axes
-/*N*/ pAxisAttr->ClearItem();
-/*N*/ bool bIsFirst = true;
-/*N*/
-/*N*/ if( ! bOnlyInserted || HasAxis( CHOBJID_DIAGRAM_X_AXIS ))
-/*N*/ {
-/*N*/ if( bIsFirst )
-/*N*/ {
-/*N*/ pAxisAttr->Set( GetAttr( CHOBJID_DIAGRAM_X_AXIS ));
-/*N*/ bIsFirst = false;
-/*N*/ }
-/*N*/ else
-/*?*/ IntersectSets( GetAttr( CHOBJID_DIAGRAM_X_AXIS ), *pAxisAttr );
-/*N*/ }
-/*N*/
-/*N*/ if( ! bOnlyInserted || HasAxis( CHOBJID_DIAGRAM_Y_AXIS ))
-/*N*/ {
-/*N*/ if( bIsFirst )
-/*N*/ {
-/*?*/ pAxisAttr->Set( GetAttr( CHOBJID_DIAGRAM_Y_AXIS ));
-/*?*/ bIsFirst = false;
-/*N*/ }
-/*N*/ else
-/*N*/ IntersectSets( GetAttr( CHOBJID_DIAGRAM_Y_AXIS ), *pAxisAttr );
-/*N*/ }
-/*N*/
-/*N*/ if( ! bOnlyInserted || (Is3DChart() && HasAxis( CHOBJID_DIAGRAM_Z_AXIS )))
-/*N*/ {
-/*N*/ if( bIsFirst )
-/*N*/ {
-/*?*/ pAxisAttr->Set( GetAttr( CHOBJID_DIAGRAM_Z_AXIS ));
-/*?*/ bIsFirst = false;
-/*N*/ }
-/*N*/ else
-/*N*/ IntersectSets( GetAttr( CHOBJID_DIAGRAM_Z_AXIS ), *pAxisAttr );
-/*N*/ }
-/*N*/
-/*N*/ if( ! bOnlyInserted || HasAxis( CHOBJID_DIAGRAM_A_AXIS ))
-/*N*/ {
-/*?*/ if( bIsFirst )
-/*?*/ {
-/*?*/ pAxisAttr->Set( GetAttr( CHOBJID_DIAGRAM_A_AXIS ));
-/*?*/ bIsFirst = false;
-/*?*/ }
-/*?*/ else
-/*?*/ IntersectSets( GetAttr( CHOBJID_DIAGRAM_A_AXIS ), *pAxisAttr );
-/*N*/ }
-/*N*/
-/*N*/ if( ! bOnlyInserted || HasAxis( CHOBJID_DIAGRAM_B_AXIS ))
-/*N*/ {
-/*?*/ if( bIsFirst )
-/*?*/ {
-/*?*/ pAxisAttr->Set( GetAttr( CHOBJID_DIAGRAM_B_AXIS ));
-/*?*/ bIsFirst = false;
-/*?*/ }
-/*?*/ else
-/*?*/ IntersectSets( GetAttr( CHOBJID_DIAGRAM_B_AXIS ), *pAxisAttr );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return *pAxisAttr;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Achsen-Attribute aendern;
-|* Liefert bei geaenderten Attributen TRUE.
-|*
-\************************************************************************/
-
-/*N*/ BOOL ChartModel::ChangeAxisAttr(const SfxItemSet &rAttr,SdrObjGroup *pAxisObj,BOOL bMerge)
-/*N*/ {
-/*N*/ if (pAxisObj)
-/*N*/ {
-/*N*/ SchObjectId *pObjId = GetObjectId(*pAxisObj);
-/*N*/
-/*N*/ if (! pObjId) return FALSE;
-/*N*/ else
-/*N*/ {
-/*N*/ SfxItemSet aSet(*pItemPool,nAxisWhichPairs);
-/*N*/ aSet.Put(rAttr);
-/*N*/
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/
-/*N*/ if(rAttr.GetItemState(SID_ATTR_NUMBERFORMAT_VALUE,TRUE,&pPoolItem)==SFX_ITEM_SET)
-/*N*/ {
-/*N*/ UINT32 nTmp=((const SfxUInt32Item*)pPoolItem)->GetValue();
-/*N*/ aSet.Put(SfxUInt32Item(IsPercentChart()
-/*N*/ ? SCHATTR_AXIS_NUMFMTPERCENT : SCHATTR_AXIS_NUMFMT , nTmp));
-/*N*/ }
-/*N*/
-/*N*/ long nId=pObjId->GetObjId();
-/*N*/ SetAttributes( nId, aSet, bMerge ); // at the model
-/*N*/ SetAxisAttributes( &GetAttr( nId ), pAxisObj ); // at the drawing object
-/*N*/
-/*N*/ // at the axis itself!
-/*N*/ long nAxisUId = ChartAxis::GetUniqueIdByObjectId( nId );
-/*N*/ if( nAxisUId != CHAXIS_AXIS_UNKNOWN )
-/*N*/ {
-/*N*/ // this method always returns a valid pointer
-/*N*/ GetAxisByUID( nAxisUId )->SetAttributes( rAttr );
-/*N*/ }
-/*N*/ else
-/*N*/ OSL_FAIL( "ChartAxis not found for Object" );
-/*N*/
-/*N*/ if(IsAttrChangeNeedsBuildChart(aSet))
-/*N*/ BuildChart(FALSE,nId); //z.B. auch Texte skalieren!
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
- return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Datenreihen-Attribute setzen
-|*
-\************************************************************************/
-/*N*/ void ChartModel::PutDataRowAttrAll(const SfxItemSet& rAttr,BOOL bMerge,BOOL bClearPoints)
-/*N*/ {
-/*N*/ long nCnt=aDataRowAttrList.size();
-/*N*/ while(nCnt--)
-/*N*/ PutDataRowAttr(nCnt,rAttr,bMerge,bClearPoints);
-/*N*/ }
-
-/*N*/ void ChartModel::PutDataRowAttr(long nRow, const SfxItemSet& rAttr,BOOL bMerge,BOOL bClearPoints)
-/*N*/ {
-/*N*/
-/*N*/ CHART_TRACE1( "ChartModel::PutDataRowAttr %smerge", bMerge? "": "NO " );
-/*N*/ // DBG_ITEMS((SfxItemSet&)rAttr,this);
-/*N*/
-/*N*/ if( aDataRowAttrList.size() <= (unsigned long)nRow )
-/*N*/ {
-/*?*/ OSL_FAIL( "Invalid index to array requested" );
-/*?*/ return;
-/*N*/ }
-/*N*/
-/*N*/ if(!bMerge)
-/*?*/ aDataRowAttrList[ nRow ]->ClearItem();
-/*N*/
-/*N*/ PutItemSetWithNameCreation( *aDataRowAttrList[ nRow ], rAttr );
-/*N*/
-/*N*/ if(bClearPoints && (nRow < GetRowCount()))
-/*N*/ {
-/*N*/ long nCol,nColCnt=GetColCount();
-/*N*/ for(nCol=0;nCol<nColCnt;nCol++)
-/*N*/ {
-/*N*/ ClearDataPointAttr(nCol,nRow,rAttr);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* Datenreihen-Attribute ermitteln
-|*
-\************************************************************************/
-
-/*N*/ const SfxItemSet& ChartModel::GetDataRowAttr( long nRow ) const
-/*N*/ {
-/*N*/ if( nRow < (long)aDataRowAttrList.size() )
-/*N*/ {
-/*N*/ SfxItemSet* pSet = aDataRowAttrList[ nRow ];
-/*N*/ DBG_ASSERT( pSet, "Invalid ItemSet" );
-/*N*/ return *pSet;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ OSL_FAIL( "Requested data row attribute is unavailable" );
-/*N*/
-/*N*/ // return something
-/*?*/ DBG_ASSERT( pChartAttr, "Invalid Chart-ItemSet" );
-/*?*/ return *pChartAttr;
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Erstelle Symbole fuer Diagrammtypen mit Symbolen
-|*
-\************************************************************************/
-
-/*N*/ SdrObject* ChartModel::CreateSymbol (Point aPoint,
-/*N*/ int nRow,
-/*N*/ int nColumn,
-/*N*/ SfxItemSet &aDataAttr,
-/*N*/ long nSymbolSize,
-/*N*/ BOOL bInsert)
-/*N*/ {
-/*N*/ long nWhatSymbol=SVX_SYMBOLTYPE_AUTO;
-/*N*/ SdrObject* pObj=NULL;
-/*N*/ long nHalfSymbolSizeX = nSymbolSize / 4;
-/*N*/ long nHalfSymbolSizeY = nSymbolSize / 4;
-/*N*/ Size aSize(1,1);
-/*N*/ long n1Pixel=pRefOutDev ? pRefOutDev->PixelToLogic(aSize).Width() : nHalfSymbolSizeY/2;
-/*N*/
-/*N*/ if(!bInsert)
-/*N*/ n1Pixel=nHalfSymbolSizeY/2; //für Legende vergrößern
-/*N*/
-/*N*/ const SfxPoolItem* pPoolItem;
-/*N*/ if(aDataAttr.GetItemState(SCHATTR_STYLE_SYMBOL, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ nWhatSymbol = ((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/ }
-/*N*/ if(nWhatSymbol<0)
-/*N*/ {
-/*N*/ BOOL bStock=FALSE;
-/*N*/ switch(nWhatSymbol)
-/*N*/ {
-/*N*/ case SVX_SYMBOLTYPE_NONE:
-/*N*/ {
-/*N*/ // Create a square as symbol. Its fill and line style is
-/*N*/ // later to invisible. This does not show the symbol but
-/*N*/ // leaves the data point selectable.
-/*N*/ XPolygon aPolygon (5);
-/*N*/ aPolygon[0].X() = aPoint.X() - nHalfSymbolSizeX;
-/*N*/ aPolygon[0].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*N*/ aPolygon[1].X() = aPoint.X() - nHalfSymbolSizeX;
-/*N*/ aPolygon[1].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*N*/ aPolygon[2].X() = aPoint.X() + nHalfSymbolSizeX;
-/*N*/ aPolygon[2].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*N*/ aPolygon[3].X() = aPoint.X() + nHalfSymbolSizeX;
-/*N*/ aPolygon[3].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*N*/ aPolygon[4].X() = aPolygon[0].X();
-/*N*/ aPolygon[4].Y() = aPolygon[0].Y();
-/*N*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*N*/ break;
-/*N*/ }
-/*N*/ case SVX_SYMBOLTYPE_UNKNOWN:
-/*N*/ case SVX_SYMBOLTYPE_AUTO:
-/*N*/ CHART_TRACE( "creating SVX_SYMBOLTYPE_AUTO" );
-/*N*/
-/*N*/
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ default:
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ bStock=TRUE;
-/*N*/ nHalfSymbolSizeX=n1Pixel;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ bStock=TRUE;
-/*N*/ if(nRow!=2)
-/*N*/ nHalfSymbolSizeX=n1Pixel;
-/*N*/ break;
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*?*/ bStock=TRUE;
-/*?*/ if(nRow!=3)
-/*?*/ nHalfSymbolSizeX=n1Pixel;
-/*N*/ break;
-/*N*/ }
-/*N*/ if(bStock)
-/*N*/ {
-/*N*/ XPolygon aPolygon(2);
-/*N*/
-/*N*/ aPolygon[0].X() = aPoint.X();
-/*N*/ aPolygon[0].Y() = aPoint.Y();
-/*N*/ aPolygon[1].X() = aPoint.X() + nHalfSymbolSizeX;
-/*N*/ aPolygon[1].Y() = aPoint.Y();
-/*N*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*N*/ break;
-/*N*/ }
-/*N*/ nWhatSymbol=nRow;
-/*N*/ aDataAttr.ClearItem(SCHATTR_SYMBOL_BRUSH);//Größe gegebenenfalls löschen
-/*N*/ aDataAttr.ClearItem(SCHATTR_SYMBOL_SIZE);//Größe gegebenenfalls löschen
-/*N*/ break;
-/*N*/
-/*N*/ case SVX_SYMBOLTYPE_BRUSHITEM:
-/*N*/ {
-/*?*/ if(aDataAttr.GetItemState(SCHATTR_SYMBOL_BRUSH,TRUE,&pPoolItem)==SFX_ITEM_SET)
-/*?*/ {
-/*?*/ CHART_TRACE( "creating SVX_SYMBOLTYPE_BRUSHITEM" );
-/*?*/ const Graphic* pGraphic = ((const SvxBrushItem *)pPoolItem)->GetGraphic();
-/*?*/ Size aLclSize;
-/*?*/
-/*?*/ if( pGraphic )
-/*?*/ {
-/*?*/ if(!pObj && aDataAttr.GetItemState(SCHATTR_SYMBOL_SIZE,TRUE,&pPoolItem)==SFX_ITEM_SET)
-/*?*/ {
-/*?*/ CHART_TRACE( "Size by Item" );
-/*?*/ aLclSize=((const SvxSizeItem*)pPoolItem)->GetSize();
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ CHART_TRACE( "Size by Graphic" );
-/*?*/ if( pGraphic )
-/*?*/ aLclSize = ( OutputDevice::LogicToLogic( pGraphic->GetPrefSize(),
-/*?*/ pGraphic->GetPrefMapMode(),
-/*?*/ MAP_100TH_MM ));
-/*?*/ }
-/*?*/
-/*?*/ Rectangle aRect(aPoint.X()-aLclSize.Width()/2,aPoint.Y()-aLclSize.Height()/2
-/*?*/ ,aPoint.X()+aLclSize.Width()/2,aPoint.Y()+aLclSize.Height()/2);
-/*?*/ pObj = new SdrGrafObj(*pGraphic);
-/*?*/ GetPage(0)->NbcInsertObject(pObj,0);
-/*?*/ pObj->NbcSetSnapRect(aRect);
-/*?*/ GetPage(0)->RemoveObject(0);
-/*?*/ }
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ CHART_TRACE( "failed in SVX_SYMBOLTYPE_BRUSHITEM" );
-/*?*/ nWhatSymbol=nRow;
-/*?*/ }
-/*N*/ }
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ CHART_TRACE1( "creating SVX_SYMBOLTYPE = %d", nWhatSymbol );
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ if(!pObj && aDataAttr.GetItemState(SCHATTR_SYMBOL_SIZE,TRUE,&pPoolItem)==SFX_ITEM_SET)
-/*N*/ {
-/*?*/ Size aLclSize=((const SvxSizeItem*)pPoolItem)->GetSize();
-/*?*/ nHalfSymbolSizeX = aLclSize.Width() / 2;
-/*?*/ nHalfSymbolSizeY = aLclSize.Height() / 2;
-/*?*/ CHART_TRACE2( "reading SCHATTR_SYMBOL_SIZE -> Size = (%ld, %ld)", aLclSize.Width(), aLclSize.Height() );
-/*N*/ }
-/*N*/
-/*N*/ if(!pObj) //dann default generieren
-/*N*/ {
-/*N*/ switch (nWhatSymbol % 8)
-/*N*/ {
-/*N*/ case 0 :
-/*N*/ {
-/*N*/ XPolygon aPolygon (5);
-/*N*/
-/*N*/ aPolygon[0].X() = aPoint.X() - nHalfSymbolSizeX;
-/*N*/ aPolygon[0].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*N*/ aPolygon[1].X() = aPoint.X() - nHalfSymbolSizeX;
-/*N*/ aPolygon[1].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*N*/ aPolygon[2].X() = aPoint.X() + nHalfSymbolSizeX;
-/*N*/ aPolygon[2].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*N*/ aPolygon[3].X() = aPoint.X() + nHalfSymbolSizeX;
-/*N*/ aPolygon[3].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*N*/ aPolygon[4].X() = aPolygon[0].X();
-/*N*/ aPolygon[4].Y() = aPolygon[0].Y();
-/*N*/
-/*N*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ case 1 :
-/*N*/ {
-/*N*/ XPolygon aPolygon (5);
-/*N*/
-/*N*/ aPolygon[0].X() = aPoint.X();
-/*N*/ aPolygon[0].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*N*/ aPolygon[1].X() = aPoint.X() + nHalfSymbolSizeX;
-/*N*/ aPolygon[1].Y() = aPoint.Y();
-/*N*/ aPolygon[2].X() = aPoint.X();
-/*N*/ aPolygon[2].Y() = aPoint.Y() + nHalfSymbolSizeY;;
-/*N*/ aPolygon[3].X() = aPoint.X() - nHalfSymbolSizeX;
-/*N*/ aPolygon[3].Y() = aPoint.Y();
-/*N*/ aPolygon[4].X() = aPolygon[0].X();
-/*N*/ aPolygon[4].Y() = aPolygon[0].Y();
-/*N*/
-/*N*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ case 2 :
-/*N*/ {
-/*N*/ XPolygon aPolygon (4);
-/*N*/
-/*N*/ aPolygon[0].X() = aPoint.X() - nHalfSymbolSizeX;
-/*N*/ aPolygon[0].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*N*/ aPolygon[1].X() = aPoint.X() + nHalfSymbolSizeX;
-/*N*/ aPolygon[1].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*N*/ aPolygon[2].X() = aPoint.X();
-/*N*/ aPolygon[2].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*N*/ aPolygon[3].X() = aPolygon[0].X();
-/*N*/ aPolygon[3].Y() = aPolygon[0].Y();
-/*N*/
-/*N*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ case 3 :
-/*N*/ {
-/*N*/ XPolygon aPolygon (4);
-/*N*/
-/*N*/ aPolygon[0].X() = aPoint.X() - nHalfSymbolSizeX;
-/*N*/ aPolygon[0].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*N*/ aPolygon[1].X() = aPoint.X() + nHalfSymbolSizeX;
-/*N*/ aPolygon[1].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*N*/ aPolygon[2].X() = aPoint.X();
-/*N*/ aPolygon[2].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*N*/ aPolygon[3].X() = aPolygon[0].X();
-/*N*/ aPolygon[3].Y() = aPolygon[0].Y();
-/*N*/
-/*N*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ case 4 :
-/*N*/ {
-/*?*/ XPolygon aPolygon (4);
-/*?*/
-/*?*/ aPolygon[0].X() = aPoint.X() - nHalfSymbolSizeX;
-/*?*/ aPolygon[0].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*?*/ aPolygon[1].X() = aPoint.X() + nHalfSymbolSizeX;
-/*?*/ aPolygon[1].Y() = aPoint.Y();
-/*?*/ aPolygon[2].X() = aPoint.X() - nHalfSymbolSizeX;
-/*?*/ aPolygon[2].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*?*/ aPolygon[3].X() = aPolygon[0].X();
-/*?*/ aPolygon[3].Y() = aPolygon[0].Y();
-/*?*/
-/*?*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*?*/ break;
-/*?*/ }
-/*?*/
-/*?*/ case 5 :
-/*?*/ {
-/*?*/ XPolygon aPolygon (4);
-/*?*/
-/*?*/ aPolygon[0].X() = aPoint.X() + nHalfSymbolSizeX;
-/*?*/ aPolygon[0].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*?*/ aPolygon[1].X() = aPoint.X() - nHalfSymbolSizeX;
-/*?*/ aPolygon[1].Y() = aPoint.Y();
-/*?*/ aPolygon[2].X() = aPoint.X() + nHalfSymbolSizeX;
-/*?*/ aPolygon[2].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*?*/ aPolygon[3].X() = aPolygon[0].X();
-/*?*/ aPolygon[3].Y() = aPolygon[0].Y();
-/*?*/
-/*?*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*?*/ break;
-/*?*/ }
-/*?*/
-/*?*/ case 6 :
-/*?*/ {
-/*?*/ XPolygon aPolygon (5);
-/*?*/
-/*?*/ aPolygon[0].X() = aPoint.X() - nHalfSymbolSizeX;
-/*?*/ aPolygon[0].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*?*/ aPolygon[1].X() = aPoint.X() + nHalfSymbolSizeX;
-/*?*/ aPolygon[1].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*?*/ aPolygon[2].X() = aPoint.X() + nHalfSymbolSizeX;
-/*?*/ aPolygon[2].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*?*/ aPolygon[3].X() = aPoint.X() - nHalfSymbolSizeX;
-/*?*/ aPolygon[3].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*?*/ aPolygon[4].X() = aPolygon[0].X();
-/*?*/ aPolygon[4].Y() = aPolygon[0].Y();
-/*?*/
-/*?*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*?*/ break;
-/*?*/ }
-/*?*/
-/*?*/ case 7 :
-/*?*/ {
-/*?*/ XPolygon aPolygon (5);
-/*?*/
-/*?*/ aPolygon[0].X() = aPoint.X() - nHalfSymbolSizeX;
-/*?*/ aPolygon[0].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*?*/ aPolygon[1].X() = aPoint.X() + nHalfSymbolSizeX;
-/*?*/ aPolygon[1].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*?*/ aPolygon[2].X() = aPoint.X() - nHalfSymbolSizeX;
-/*?*/ aPolygon[2].Y() = aPoint.Y() + nHalfSymbolSizeY;
-/*?*/ aPolygon[3].X() = aPoint.X() + nHalfSymbolSizeX;
-/*?*/ aPolygon[3].Y() = aPoint.Y() - nHalfSymbolSizeY;
-/*?*/ aPolygon[4].X() = aPolygon[0].X();
-/*?*/ aPolygon[4].Y() = aPolygon[0].Y();
-/*?*/
-/*?*/ pObj = new SdrPathObj(OBJ_POLY, XPolyPolygon(aPolygon));
-/*?*/ break;
-/*?*/ }
-/*?*/
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (bInsert) //nur in CreateLegend FALSE!
-/*N*/ {
-/*N*/ SfxItemSet aSymbolAttr(aDataAttr);
-/*N*/ GenerateSymbolAttr(aSymbolAttr,nRow,SYMBOLMODE_ROW);
-/*N*/ if (nWhatSymbol == SVX_SYMBOLTYPE_NONE)
-/*N*/ {
-/*N*/ // Don´t show the symbol. It is only needed for selection of the
-/*N*/ // data point.
-/*N*/ aSymbolAttr.Put(XFillStyleItem (XFILL_NONE));
-/*N*/ aSymbolAttr.Put(XLineStyleItem (XLINE_NONE));
-/*N*/ }
- if( pObj )
- {
-/*N*/ pObj->SetModel( this );
-/*N*/ pObj = SetObjectAttr (pObj, CHOBJID_DIAGRAM_DATA, TRUE, TRUE, &aSymbolAttr);
-/*N*/ pObj->InsertUserData(new SchDataPoint(nColumn, nRow));
- }
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ return pObj;
-/*N*/ }
-
-/*N*/ void ChartModel::GenerateSymbolAttr(/*const SfxItemSet& rAttr,*/SfxItemSet& rSymbolAttr,const long nRow,const long nMode)
-/*N*/ {
-/*N*/ // Symbole immer gleiche Umrandung und Füllfarbe = Linienfarbe, wenn es sich um ein "echtes"
-/*N*/ // Symbol handelt (d.h. nicht ein Symbol für Bars/Säulen,Pies etc.)
-/*N*/
-/*N*/ switch(nMode)
-/*N*/ {
-/*N*/ case SYMBOLMODE_LEGEND:
-/*N*/ case SYMBOLMODE_ROW:
-/*N*/
-/*N*/ if(HasSymbols(nRow) && IsLine(nRow)) //Symbol und Linie => ein echtes Symbol wird angezeigt :)
-/*N*/ {
-/*N*/ rSymbolAttr.Put(XFillColorItem(String(),
-/*N*/ ((XLineColorItem &)rSymbolAttr.Get(XATTR_LINECOLOR)).GetValue()));
-/*N*/
-/*N*/ rSymbolAttr.Put(XLineStyleItem(XLINE_SOLID));
-/*N*/ rSymbolAttr.Put(XLineColorItem(String(),RGBColor(COL_BLACK)));
-/*N*/ rSymbolAttr.Put(XLineWidthItem (0));
-/*N*/
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case SYMBOLMODE_DESCRIPTION:
-/*?*/ if(IsLine(nRow))
-/*?*/ {
-/*?*/ rSymbolAttr.Put(XFillColorItem(String(),
-/*?*/ ((XLineColorItem &)rSymbolAttr.Get(XATTR_LINECOLOR)).GetValue()));
-/*?*/
-/*?*/ rSymbolAttr.Put(XLineStyleItem(XLINE_SOLID));
-/*?*/ rSymbolAttr.Put(XLineColorItem(String(),RGBColor(COL_BLACK)));
-/*?*/ rSymbolAttr.Put(XLineWidthItem (0));
-/*?*/ }
-/*?*/ else // rectangle with border, if linesytle is NONE
-/*?*/ {
-/*?*/ XLineStyle eLineStyle =
-/*?*/ SAL_STATIC_CAST( const XLineStyleItem *, &(rSymbolAttr.Get( XATTR_LINESTYLE )) )->GetValue(); // bug in Win-C++ compiler: casting to pointer
-/*?*/
-/*?*/ if( eLineStyle == XLINE_NONE ) // clear items for defaults to take effect
-/*?*/ {
-/*?*/ rSymbolAttr.ClearItem( XATTR_LINESTYLE );
-/*?*/ rSymbolAttr.ClearItem( XATTR_LINEWIDTH );
-/*?*/ rSymbolAttr.ClearItem( XATTR_LINECOLOR );
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ break;
-/*N*/ case SYMBOLMODE_LINE:
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Datenpunkt-Attribute loeschen, die im Itemset (Argument) vorhanden sind
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::ClearDataPointAttr( long nCol, long nRow, const SfxItemSet& /*rAttr*/ )
-/*N*/ {
-/*N*/
-/*N*/ CHART_TRACE( "ChartModel::ClearDataPointAttr" );
-/*N*/
-/*N*/ ItemSetList* pAttrList = IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? &aSwitchDataPointAttrList
-/*N*/ : &aDataPointAttrList;
-/*N*/
-/*N*/ SfxItemSet* pItemSet = (*pAttrList)[ nCol * GetRowCount() + nRow ];
-/*N*/ if (pItemSet != NULL)
-/*?*/ {DBG_BF_ASSERT(0, "STRIP"); }
-/*N*/ }
-/*************************************************************************
-|*
-|* Datenpunkt-Attribute setzen
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::PutDataPointAttr( long nCol, long nRow,const SfxItemSet& rAttr, BOOL bMerge /*=TRUE*/)
-/*N*/ {
-/*N*/ CHART_TRACE( "ChartModel::PutDataPointAttr" );
-/*N*/ DBG_ITEMS((SfxItemSet&)rAttr,this);
-/*N*/
-/*N*/ ItemSetList* pAttrList = IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? &aSwitchDataPointAttrList
-/*N*/ : &aDataPointAttrList;
-/*N*/
-/*N*/ SfxItemSet* pItemSet = (*pAttrList)[ nCol * GetRowCount() + nRow ];
-/*N*/ if (pItemSet == NULL)
-/*N*/ {
-/*N*/ pItemSet = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/ (*pAttrList)[nCol * GetRowCount() + nRow] = pItemSet;
-/*N*/ }
-/*N*/ if(!bMerge)
-/*?*/ pItemSet->ClearItem();
-/*N*/ PutItemSetWithNameCreation( *pItemSet, rAttr );
-/*N*/ }
-
-// this method exists in analogy to GetFullDataPointAttr
-// it is necessary for API (=>XML) and pie charts
-
-/*************************************************************************
-|*
-|* Datenpunkt-Attribute ermitteln
-|*
-\************************************************************************/
-
-/*N*/ const SfxItemSet& ChartModel::GetDataPointAttr( long nCol, long nRow) const
-/*N*/ {
-/*N*/ long nIdx = nCol * GetRowCount() + nRow;
-/*N*/ const ItemSetList* aAttrList = IsDataSwitched()
-/*N*/ ? &aSwitchDataPointAttrList
-/*N*/ : &aDataPointAttrList;
-/*N*/
-/*N*/ if( nIdx < (long)aAttrList->size() )
-/*N*/ {
-/*N*/ SfxItemSet* pSet = (*aAttrList)[ nIdx ];
-/*N*/ if (pSet == NULL)
-/*N*/ return (GetDataRowAttr(nRow));
-/*N*/ else
-/*N*/ return *pSet;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ OSL_FAIL( "Requested data point attribute is unavailable" );
-/*?*/
-/*?*/ // return something
-/*?*/ DBG_ASSERT( pChartAttr, "Invalid Chart-ItemSet" );
-/*?*/ return *pChartAttr;
-/*N*/ }
-/*N*/ }
-
-
-/*N*/ const SfxItemSet * ChartModel::GetRawDataPointAttr (long nCol,long nRow) const
-/*N*/ {
-/*N*/ long nIndex = nCol * GetRowCount() + nRow;
-/*N*/ const ItemSetList* aAttrList = IsDataSwitched()
-/*N*/ ? &aSwitchDataPointAttrList
-/*N*/ : &aDataPointAttrList;
-/*N*/
-/*N*/ if (nIndex < (long)aAttrList->size())
-/*N*/ return (*aAttrList)[ nIndex ];
-/*N*/ else
-/*N*/ return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Datenpunkt-Attribute ermitteln
-|*
-\************************************************************************/
-
-/*N*/ SfxItemSet ChartModel::GetFullDataPointAttr( long nCol, long nRow ) const
-/*N*/ {
-/*N*/ const ItemSetList* pAttrList = IsDataSwitched()
-/*N*/ ? &aSwitchDataPointAttrList
-/*N*/ : &aDataPointAttrList;
-/*N*/
-/*N*/ if( !IsPieChart())
-/*N*/ {
-/*N*/ // get series' attributes and merge with data-point attributes if available
-/*N*/ SfxItemSet aAttr( GetDataRowAttr( nRow ));
-/*N*/ SfxItemSet *pObj= (*pAttrList)[ nCol * GetRowCount() + nRow ];
-/*N*/ if( pObj )
-/*N*/ aAttr.Put( *pObj );
-/*N*/ return aAttr;
-/*N*/ }
-
- /* the following code is for pie charts only
-
- data description attributes (SCHATTR_DATADESCR_DESCR and
- SCHATTR_DATADESCR_SHOW_SYM) are contained in data point item set while
- all other (graphical) attributes are contained in data series (data row)
- item set */
-
- // get data description attributes
-/*N*/ SfxItemSet aDescrAttrib( *pItemPool, SCHATTR_DATADESCR_START, SCHATTR_DATADESCR_END );
-/*N*/ aDescrAttrib.Put( GetDataRowAttr( 0 )); // a pie chart always has only one series
-/*N*/
-/*N*/ // the different pies use series attributes rather than data-point attributes
-/*N*/ long nPieCount = GetColCount();
-/*N*/ long nSecondDimension = GetRowCount(); // pie has only one series, but the data may contain more
-/*N*/
-/*N*/ SfxItemSet aAttr( GetDataRowAttr( nCol % nPieCount ));
-/*N*/
-/*N*/ if( ( nCol >= nPieCount ) &&
-/*N*/ pDefaultColors )
-/*N*/ {
-/*?*/ XColorEntry* pColEntry = (*pDefaultColors)[ nCol % pDefaultColors->size() ];
-/*?*/ aAttr.Put( XFillColorItem( pColEntry->GetName(), pColEntry->GetColor()));
-/*N*/ }
-/*N*/
-/*N*/ // add description attributes of series
-/*N*/ aAttr.ClearItem( SCHATTR_DATADESCR_DESCR );
-/*N*/ aAttr.ClearItem( SCHATTR_DATADESCR_SHOW_SYM );
-/*N*/ aAttr.Put( aDescrAttrib );
-/*N*/
-/*N*/ SfxItemSet* pAttr = (*pAttrList)[ nCol * nSecondDimension ];
-/*N*/ if( ( pAttr != NULL ) && pAttr->Count() )
-/*N*/ aAttr.Put( *pAttr );
-/*N*/
-/*N*/ return aAttr;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Datenpunkt-Attribute ermitteln
-|*
-\************************************************************************/
-
-/*N*/ SfxItemSet& ChartModel::MergeDataPointAttr( SfxItemSet& rAttr, long nCol, long nRow ) const
-/*N*/ {
-/*N*/ CHART_TRACE2( "ChartModel::MergeDataPointAttr nCol=%ld, nRow=%ld", nCol, nRow );
-/*N*/ const ItemSetList* pAttrList = IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? &aSwitchDataPointAttrList
-/*N*/ : &aDataPointAttrList;
-/*N*/
-/*N*/ SfxItemSet *pObj = (*pAttrList)[ nCol * GetRowCount() + nRow ];
-/*N*/ if(pObj)
-/*?*/ rAttr.Put(*pObj);
-/*N*/ return rAttr;
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::IsDataPointAttrSet (long nCol, long nRow) const
-/*N*/ {
-/*N*/ UINT32 nIndex = nCol * GetRowCount() + nRow;
-/*N*/ const ItemSetList* aAttrList = IsDataSwitched()
-/*N*/ ? &aSwitchDataPointAttrList
-/*N*/ : &aDataPointAttrList;
-/*N*/
-/*N*/ if (nIndex < static_cast<UINT32>(aAttrList->size()))
-/*N*/ return (*aAttrList)[ nIndex ] != NULL;
-/*N*/ else
-/*N*/ // Specified data point does not exist. Therefore an item set does not exist also.
-/*?*/ return false;
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Aendere die Attribute einer Achse
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::SetAxisAttributes (const SfxItemSet* pAttr,const SdrObjGroup* pAxisObj)
-/*N*/ {
-/*N*/ if (pAttr && pAxisObj)
-/*N*/ {
-/*N*/ SfxItemSet aTextAttr(*pItemPool, nTextWhichPairs);
-/*N*/
-/*N*/ aTextAttr.Put(*pAttr);
-/*N*/
-/*N*/ SdrObjListIter aIterator(*pAxisObj->GetSubList(), IM_FLAT);
-/*N*/ while (aIterator.IsMore())
-/*N*/ {
-/*N*/ SdrObject *pObj = aIterator.Next();
-/*N*/ SchObjectId *pObjId = GetObjectId(*pObj);
-/*N*/
-/*N*/ if (pObjId)
-/*N*/ switch (pObjId->GetObjId())
-/*N*/ {
-/*N*/ case CHOBJID_LINE :
-/*N*/ pObj->SetItemSetAndBroadcast(*pAttr);
-/*N*/ break;
-/*N*/
-/*N*/ case CHOBJID_TEXT :
-/*?*/ SetTextAttr(*(SdrTextObj*)pObj, aTextAttr);
-/*N*/
-/*N*/ default :
-/*N*/ ;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Aendere die Attribute einer Achse
-|*
-\************************************************************************/
-
-
-/*N*/ void ChartModel::SetTextFromObject( SdrTextObj* pObj,OutlinerParaObject* pTextObject )
-/*N*/ {
-/*N*/ DBG_ASSERT( pObj, "ChartModel::SetTextFromObject: Object is NULL" );
-/*N*/ if( (!bAttrAutoStorage && pTextObject) // not during BuildChart
-/*N*/ || !pObj )
-/*N*/ return;
-/*N*/
-/*N*/ CHART_TRACE( "ChartModel::SetTextFromObject" );
-/*N*/
-/*N*/ SchObjectId* pObjId = GetObjectId( *pObj );
-/*N*/
-/*N*/ SfxItemSet *pItemSet = NULL;
-/*N*/ String* pStrToChange = NULL;
-/*N*/
-/*N*/ if( pTextObject )
-/*N*/ {
-/*N*/ if( pObjId )
-/*N*/ {
-/*N*/ pOutliner->SetText( *pTextObject );
-/*N*/ String aTitle = pOutliner->GetText( pOutliner->GetParagraph( 0 ), pOutliner->GetParagraphCount() );
-/*N*/ pOutliner->Clear();
-/*N*/
-/*N*/ long nId = pObjId->GetObjId();
-/*N*/ switch( nId )
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_TITLE_X_AXIS:
-/*N*/ pItemSet = pXAxisTitleAttr;
-/*N*/ pStrToChange = &aXAxisTitle;
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Y_AXIS:
-/*N*/ pItemSet = pYAxisTitleAttr;
-/*N*/ pStrToChange = &aYAxisTitle;
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Z_AXIS:
-/*N*/ pItemSet = pZAxisTitleAttr;
-/*N*/ pStrToChange = &aZAxisTitle;
-/*N*/ break;
-/*N*/ case CHOBJID_TITLE_MAIN:
-/*N*/ pItemSet = pMainTitleAttr;
-/*N*/ pStrToChange = &aMainTitle;
-/*N*/ break;
-/*N*/ case CHOBJID_TITLE_SUB:
-/*N*/ pItemSet = pSubTitleAttr;
-/*N*/ pStrToChange = &aSubTitle;
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ // if stacked is set the string contains linefeeds which have to be removed
-/*N*/ const SfxPoolItem* pPoolItem = NULL;
-/*N*/ if( pItemSet &&
-/*N*/ pItemSet->GetItemState( SCHATTR_TEXT_ORIENT, FALSE, &pPoolItem ) == SFX_ITEM_SET &&
-/*N*/ SAL_STATIC_CAST( const SvxChartTextOrientItem*, pPoolItem )->GetValue() == CHTXTORIENT_STACKED )
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/
-/*N*/ if( pStrToChange )
-/*N*/ *(pStrToChange) = aTitle;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ //Achtung! diese Funktion sollte nur für 3-D-Objekte ausgeführt werden,
-/*N*/ //bei z.B. Legendensymbolen führt der Aufruf zu einer Endlos-Schleife !!!!!!!!!!!!!
-/*N*/ //Im BuildChart wird ueber bAttrAutoStorage=FALSE doppelte Ausfuehrung unterbunden
-/*N*/ void ChartModel::StoreObjectsAttributes(SdrObject* pObj,const SfxItemSet& rAttr, bool bReplaceAll)
-/*N*/ {//#52277#
-/*N*/ if(!bAttrAutoStorage)
-/*N*/ return;
-/*N*/ bAttrAutoStorage=FALSE; //Rekursionen verhindern
-/*N*/
-/*N*/ DBG_ITEMS(((SfxItemSet&)rAttr),this);
-/*N*/
-/*N*/ SchObjectId* pObjId = GetObjectId(*pObj);
-/*N*/ if(!pObjId)
-/*N*/ {
-/*?*/ OSL_FAIL("ChartModel::StoreObjectsAttributes failed, no ObjId");
-/*N*/ }
-/*N*/ long nId=pObjId->GetObjId();
-/*N*/
-/*N*/ switch(nId)
-/*N*/ {
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_SPECIAL_GROUP:
-/*N*/ case CHOBJID_DIAGRAM_ROWGROUP:
-/*N*/ case CHOBJID_LEGEND_SYMBOL_ROW:
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*?*/ break;
-/*?*/
-/*?*/ case CHOBJID_DIAGRAM_DATA:
-/*?*/ case CHOBJID_LEGEND_SYMBOL_COL:
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*?*/ break;
-/*?*/
-/*?*/ case CHOBJID_DIAGRAM_STATISTICS_GROUP :
-/*?*/ case CHOBJID_DIAGRAM_AVERAGEVALUE :
-/*?*/ case CHOBJID_DIAGRAM_REGRESSION :
-/*?*/ {DBG_BF_ASSERT(0, "STRIP"); }
-/*?*/ break;
-/*?*/
-/*N*/ case CHOBJID_DIAGRAM_WALL:
-/*N*/ {
-/*N*/ //Spezialfall, 2.Wand suchen
-/*N*/ ChartScene* pLclScene=GetScene();
-/*N*/ if(pLclScene)
-/*N*/ {
-/*N*/ SdrObjListIter aIterator(*pLclScene->GetSubList(), IM_FLAT);
-/*N*/ while (aIterator.IsMore())
-/*N*/ {
-/*N*/ SdrObject *pO = aIterator.Next();
-/*N*/ SchObjectId *pI = GetObjectId(*pO);
-/*N*/ if(pI && pI->GetObjId()==CHOBJID_DIAGRAM_WALL && pO!=pObj)
-/*N*/ pO->SetItemSetAndBroadcast(rAttr);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ if(bReplaceAll)
-/*?*/ GetAttr(nId).ClearItem();
-/*N*/ GetAttr(nId).Put(rAttr,TRUE);
-/*N*/ break;
-/*N*/ default:
-/*N*/ if(bReplaceAll)
-/*?*/ GetAttr(nId).ClearItem();
-/*N*/ GetAttr(nId).Put(rAttr,TRUE);
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ bAttrAutoStorage=TRUE;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Aendere die Attribute bestimmter Objekte in der Page und im Model, bzw.
-|* lokalisiere bestimmte Objekte anhand der Id.
-|* Wird derzeit nur fuer UNO verwendet, koennte aber allgemeiner und sollte vor
-|* allem vollständiger werden
-|*
-|* ACHTUNG: es gibt weitere Methoden gleichen/ähnlichen Namens und anderen Argumenten,
-|* die ähnlich wie diese Funktionen arbeiten!
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::SetTitle(const long nId, const String& rTitle)
-/*N*/ {
-/*N*/ switch(nId)
-/*N*/ {
-/*N*/
-/*N*/ case CHOBJID_TITLE_MAIN:
-/*N*/ MainTitle()=rTitle;
-/*N*/ // Replace the current text object with a new one with the given text.
-/*N*/ {
-/*N*/ SdrObject * pGroupObject = GetObjWithId( CHOBJID_TITLE_MAIN, *GetPage(0) );
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ aTitleTopCenter = pGroupObject->GetBoundRect().TopCenter();
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/ SdrTextObj * pObj = CreateTextObj(CHOBJID_TITLE_MAIN, aTitleTopCenter,
-/*N*/ aMainTitle, *pMainTitleAttr, TRUE, CHADJUST_TOP_CENTER);
-/*N*/ pObj->SetResizeProtect(TRUE);
-/*N*/ GetPage(0)->NbcInsertObject(pObj);
-/*N*/ }
-/*N*/ break;
-/*N*/ case CHOBJID_TITLE_SUB:
-/*N*/ SubTitle()=rTitle;
-/*N*/ // Replace the current text object with a new one with the given text.
-/*N*/ {
-/*N*/
-/*N*/ SdrObject * pGroupObject = GetObjWithId( CHOBJID_TITLE_SUB, *GetPage(0) );
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ aSubTitleTopCenter = pGroupObject->GetBoundRect().TopCenter();
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/ SdrTextObj * pObj = CreateTextObj(CHOBJID_TITLE_SUB, aSubTitleTopCenter,
-/*N*/ aSubTitle, *pSubTitleAttr, TRUE, CHADJUST_TOP_CENTER);
-/*N*/ pObj->SetResizeProtect(TRUE);
-/*N*/ GetPage(0)->NbcInsertObject(pObj);
-/*N*/ }
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_X_AXIS:
-/*N*/ XAxisTitle()=rTitle;
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Y_AXIS:
-/*N*/ YAxisTitle()=rTitle;
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Z_AXIS:
-/*N*/ ZAxisTitle()=rTitle;
-/*N*/ break;
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-
-/*N*/ String ChartModel::GetTitle( const long nId )
-/*N*/ {
-/*N*/ switch(nId)
-/*N*/ {
-/*N*/ case CHOBJID_TITLE_MAIN:
-/*N*/ return MainTitle();
-/*N*/ case CHOBJID_TITLE_SUB:
-/*N*/ return SubTitle();
-/*N*/ case CHOBJID_DIAGRAM_TITLE_X_AXIS:
-/*N*/ return XAxisTitle();
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Y_AXIS:
-/*N*/ return YAxisTitle();
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Z_AXIS:
-/*N*/ return ZAxisTitle();
-/*N*/ default:
-/*?*/ return String();
-/*N*/ }
-/*N*/ }
-
-/*N*/ void ChartModel::SetHasBeenMoved(const long nId,BOOL bMoved)
-/*N*/ {
-/*N*/ switch(nId)
-/*N*/ {
-/*N*/
-/*N*/ case CHOBJID_TITLE_MAIN:
-/*N*/ SetMainTitleHasBeenMoved(bMoved);
-/*N*/ break;
-/*N*/ case CHOBJID_TITLE_SUB:
-/*N*/ SetSubTitleHasBeenMoved(bMoved);
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_X_AXIS:
-/*N*/ SetXAxisTitleHasBeenMoved(bMoved);
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Y_AXIS:
-/*N*/ SetYAxisTitleHasBeenMoved(bMoved);
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Z_AXIS:
-/*N*/ SetZAxisTitleHasBeenMoved(bMoved);
-/*N*/ break;
-/*N*/ case CHOBJID_LEGEND:
-/*N*/ SetLegendHasBeenMoved(bMoved);
-/*N*/ break;
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-
-/*N*/ SdrObject* ChartModel::GetObjectWithId(const long nId,const long /*nCol*/,const long /*nRow*/)
-/*N*/ {
-/*N*/ //ToDo: Das hier könnte man auch schöner machen (kein DEEP!)
-/*N*/ SdrObject* pObj=(GetObjWithId ((USHORT)nId,*GetPage(0),0,IM_DEEPWITHGROUPS));
-/*N*/ return pObj;
-/*N*/ }
-
-/*N*/ void ChartModel::SetAttributes(const long nId,const SfxItemSet& rAttr,BOOL bMerge)
-/*N*/ {
-/*N*/ CHART_TRACE( "ChartModel::SetAttributes" );
-/*N*/ SfxItemSet& rItemSet=GetAttr(nId);
-/*N*/
-/*N*/ if(!bMerge)
-/*N*/ rItemSet.ClearItem();
-
-/*N*/ rItemSet.Put(rAttr);
-/*N*/ }
-/*N*/ SfxItemSet& ChartModel::GetAttr(const long nObjId,const long nIndex1/*=-1*/) const
-/*N*/ {
-/*N*/ CHART_TRACE( "ChartModel::GetAttr(const long nObjId)" );
-/*N*/
-/*N*/ switch(nObjId)
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_STOCKLINE_GROUP:
-/*?*/ return *pStockLineAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_STOCKPLUS_GROUP:
-/*N*/ return *pStockPlusAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_STOCKLOSS_GROUP:
-/*N*/ return *pStockLossAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_X_GRID_MAIN_GROUP:
-/*N*/ return *pXGridMainAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_Y_GRID_MAIN_GROUP:
-/*N*/ return *pYGridMainAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_Z_GRID_MAIN_GROUP:
-/*N*/ return *pZGridMainAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_X_GRID_HELP_GROUP:
-/*?*/ return *pXGridHelpAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_Y_GRID_HELP_GROUP:
-/*?*/ return *pYGridHelpAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_Z_GRID_HELP_GROUP:
-/*?*/ return *pZGridHelpAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_AREA:
-/*N*/ return *pDiagramAreaAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM: //Leider mmehrfache bedeutung, im 2D ist das wohl das selbe
-/*N*/ case CHOBJID_DIAGRAM_WALL:
-/*N*/ return *pDiagramWallAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_FLOOR:
-/*N*/ return *pDiagramFloorAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_TITLE_X_AXIS:
-/*N*/ return *pXAxisTitleAttr;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Y_AXIS:
-/*N*/ return *pYAxisTitleAttr;
-/*N*/ case CHOBJID_DIAGRAM_TITLE_Z_AXIS:
-/*N*/ return *pZAxisTitleAttr;
-/*N*/
-/*N*/ case CHOBJID_TITLE_MAIN:
-/*N*/ return *pMainTitleAttr;
-/*N*/ case CHOBJID_TITLE_SUB:
-/*N*/ return *pSubTitleAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_X_AXIS:
-/*N*/ return *pChartXAxis->GetItemSet();
-/*N*/ case CHOBJID_DIAGRAM_Y_AXIS:
-/*N*/ return *pChartYAxis->GetItemSet();
-/*N*/ case CHOBJID_DIAGRAM_Z_AXIS:
-/*N*/ return *pChartZAxis->GetItemSet();
-/*N*/ case CHOBJID_DIAGRAM_B_AXIS:
-/*N*/ return *pChartBAxis->GetItemSet();
-/*N*/ case CHOBJID_DIAGRAM_A_AXIS:
-/*N*/ return *pChartAAxis->GetItemSet();
-/*N*/
-/*N*/ case CHOBJID_LEGEND_BACK: //Achtung, dies ist nur das Drawing-Objekt, normalerweise erhält man die andere ID für das Gruppenobjekt
-/*N*/ case CHOBJID_LEGEND:
-/*N*/ return *pLegendAttr;
-/*N*/
-/*N*/ case CHOBJID_DIAGRAM_REGRESSION:
-/*?*/ return *aRegressAttrList[ nIndex1 ];
-/*N*/ case CHOBJID_DIAGRAM_ERROR:
-/*?*/ return *aErrorAttrList[ nIndex1 ];
-/*N*/ case CHOBJID_DIAGRAM_AVERAGEVALUE:
-/*?*/ return *aAverageAttrList[ nIndex1 ];
-/*N*/
-/*N*/ default:
-/*N*/ CHART_TRACE1( "GetAttr illegal Object Id (%ld), returning dummy", nObjId );
-/*N*/ return *pDummyAttr;
-/*N*/ }
-/*N*/ }
-
-
-// This method fills rAttr with the items stored at the object specified
-// by nObjId. Effectively calls GetAttr(long,long) but handles diagram
-// axes as special case.
-// The item set of the graphical object representation is not merged in
-// anymore.
-/*N*/ void ChartModel::GetAttr( const long nObjId, SfxItemSet& rAttr, const long nIndex1 /*=-1*/ )
-/*N*/ {
-/*N*/ CHART_TRACE( "ChartModel::GetAttr( long nObjId, SfxItemSet& rAttr)" );
-/*N*/
-/*N*/ // items at model (and axis object)
-/*N*/ switch( nObjId )
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_X_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_Y_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_A_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_B_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_Z_AXIS:
-/*N*/ {
-/*N*/ // general item set
-/*N*/ rAttr.Put( *pAxisAttr );
-/*N*/
-/*N*/ // specialized item set and members
-/*N*/ ChartAxis* pAxis = GetAxis( nObjId );
-/*N*/ if( pAxis )
-/*N*/ {
-/*N*/ rAttr.Put( *(pAxis->GetItemSet()));
-/*N*/ pAxis->GetMembersAsAttr( rAttr );
-/*N*/ }
-/*N*/ // ChartModel members for axes
-/*N*/ GetTextRotation( rAttr );
-/*N*/ switch( nObjId )
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_X_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_A_AXIS:
-/*N*/ rAttr.Put( SfxBoolItem( SID_TEXTBREAK, GetFormatXAxisTextInMultipleLinesIfNecessary() ) );
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_Y_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_B_AXIS:
-/*N*/ rAttr.Put( SfxBoolItem( SID_TEXTBREAK, GetFormatYAxisTextInMultipleLinesIfNecessary() ) );
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_Z_AXIS:
-/*N*/ rAttr.Put( SfxBoolItem( SID_TEXTBREAK, GetFormatZAxisTextInMultipleLinesIfNecessary() ) );
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ rAttr.Put( GetAttr( nObjId, nIndex1 ));
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::ChangeAttr(const SfxItemSet& rAttr,const long nId,const long nIndex1/*=-1*/)
-/*N*/ {
-/*N*/ BOOL bNeedChanges=TRUE; //noch ungenutzt, zur evtl. Optimierung
-/*N*/
-/*N*/ //ToDo: optimieren! klappt wegen XChartView so nicht:
-/*N*/ //BOOL bForceBuild=FALSE;
-/*N*/ BOOL bForceBuild=TRUE;
-/*N*/
-/*N*/
-/*N*/ SdrObject* pObj=NULL;
-/*N*/ //Objektattribute am Objekt setzen, falls nicht indiziert
-/*N*/ if(nIndex1==-1)
-/*N*/ {
-/*N*/ pObj=(GetObjWithId ((USHORT)nId,*GetPage(0),0,IM_DEEPWITHGROUPS));
-/*N*/ if(pObj)
-/*N*/ pObj->SetItemSetAndBroadcast(rAttr);
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ //und auch am Model
-/*N*/ switch(nId)
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_X_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_Y_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_A_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_B_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_Z_AXIS:
-/*N*/ {
-/*N*/ if(pObj)
-/*N*/ {
-/*N*/ ChangeAxisAttr(rAttr,(SdrObjGroup*)pObj);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ const SfxPoolItem* pPoolItem=NULL;
-/*N*/ if(rAttr.GetItemState(SID_ATTR_NUMBERFORMAT_VALUE,TRUE,&pPoolItem)==SFX_ITEM_SET)
-/*N*/ {
-/*N*/ SfxItemSet aSet(rAttr);
-/*N*/ UINT32 nTmp=((const SfxUInt32Item*)pPoolItem)->GetValue();
-/*N*/ aSet.Put(SfxUInt32Item(IsPercentChart()
-/*N*/ ? SCHATTR_AXIS_NUMFMTPERCENT : SCHATTR_AXIS_NUMFMT , nTmp));
-/*N*/ SetAttributes(nId,aSet); //im Model
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ SetAttributes(nId,rAttr); //im Model
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ const SfxPoolItem *pPoolItem;
-/*N*/ if( SFX_ITEM_SET == rAttr.GetItemState( SID_TEXTBREAK, TRUE, &pPoolItem ) )
-/*N*/ {
-/*N*/ switch(nId)
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_X_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_A_AXIS:
-/*N*/ SetFormatXAxisTextInMultipleLinesIfNecessary(((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_Y_AXIS:
-/*N*/ case CHOBJID_DIAGRAM_B_AXIS:
-/*N*/ SetFormatYAxisTextInMultipleLinesIfNecessary(((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/ break;
-/*N*/ case CHOBJID_DIAGRAM_Z_AXIS:
-/*N*/ SetFormatZAxisTextInMultipleLinesIfNecessary(((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ break;
-/*N*/ case CHOBJID_AREA:
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*?*/ break;
-/*N*/ default:
-/*N*/ GetAttr(nId,nIndex1).Put(rAttr,TRUE);
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ // calculate result here because BuildChart will delete pObj (dangling pointer)
-/*N*/ BOOL bResult = ( pObj != NULL || nIndex1 != -1 );
-/*N*/
-/*N*/ if(bForceBuild || nIndex1!=-1)
-/*N*/ BuildChart(FALSE);
-/*N*/ else if(bNeedChanges && IsAttrChangeNeedsBuildChart(rAttr))
-/*?*/ BuildChart(FALSE);
-/*N*/
-/*N*/ return bResult;
-/*N*/ }
-
-/*N*/ UINT32 ChartModel::GetNumFmt(long nObjId,BOOL bPercent)
-/*N*/ {
-/*N*/ return ((const SfxUInt32Item&)GetAttr(nObjId).Get(bPercent
-/*N*/ ? SCHATTR_AXIS_NUMFMTPERCENT:SCHATTR_AXIS_NUMFMT)).GetValue();
-/*N*/ }
-/*N*/ void ChartModel::SetNumFmt(long nObjId,UINT32 nFmt,BOOL bPercent)
-/*N*/ {
-/*N*/ SfxItemSet aSet(*pItemPool,SCHATTR_AXIS_NUMFMT,SCHATTR_AXIS_NUMFMTPERCENT);
-/*N*/ aSet.Put(SfxUInt32Item(bPercent? SCHATTR_AXIS_NUMFMTPERCENT:SCHATTR_AXIS_NUMFMT,nFmt));
-/*N*/ SetAttributes(nObjId,aSet);
-/*N*/ }
-
-
-// Prerequisite: rOutAttributes is empty but can hold all interesting attributes
-// Result: All Items that are contained in all data row item sets are set
-// (using the Intersect method of the SfxItemSet)
-/*N*/ void ChartModel::GetDataRowAttrAll( SfxItemSet& rOutAttributes )
-/*N*/ {
-/*N*/ long nListSize = aDataRowAttrList.size();
-/*N*/
-/*N*/ // no itemsets => result stays empty
-/*N*/ if( nListSize == 0 )
-/*N*/ return;
-/*N*/
-/*N*/ // set items of first data row and then intersect with all remaining
-/*N*/ rOutAttributes.Put( *aDataRowAttrList[ 0 ] );
-/*N*/ for( long nRow = 1; nRow < nListSize; nRow++ )
-/*N*/ rOutAttributes.Intersect( *aDataRowAttrList[ nRow ] );
-/*N*/ }
-
-/*N*/ void ChartModel::SetItemWithNameCreation( SfxItemSet& rDestItemSet, const SfxPoolItem* pNewItem )
-/*N*/ {
-/*N*/ if( pNewItem == NULL )
-/*N*/ return;
-/*N*/
-/*N*/ const SfxPoolItem* pItemToSet = pNewItem;
-/*N*/
-/*N*/ // this code comes from bf_svx/source/svdraw/svdoattr.cxx: SdrAttrObj::ItemChange()
-/*N*/ switch( pItemToSet->Which())
-/*N*/ {
-/*N*/ case XATTR_FILLBITMAP:
-/*N*/ pItemToSet = ((XFillBitmapItem*)pItemToSet)->checkForUniqueItem( this );
-/*N*/ break;
-/*N*/ case XATTR_LINEDASH:
-/*N*/ pItemToSet = ((XLineDashItem*)pItemToSet)->checkForUniqueItem( this );
-/*N*/ break;
-/*N*/ case XATTR_LINESTART:
-/*N*/ pItemToSet = ((XLineStartItem*)pItemToSet)->checkForUniqueItem( this );
-/*N*/ break;
-/*N*/ case XATTR_LINEEND:
-/*N*/ pItemToSet = ((XLineEndItem*)pItemToSet)->checkForUniqueItem( this );
-/*N*/ break;
-/*N*/ case XATTR_FILLGRADIENT:
-/*N*/ pItemToSet = ((XFillGradientItem*)pItemToSet)->checkForUniqueItem( this );
-/*N*/ break;
-/*N*/ case XATTR_FILLFLOATTRANSPARENCE:
-/*N*/ pItemToSet = ((XFillFloatTransparenceItem*)pItemToSet)->checkForUniqueItem( this );
-/*N*/ break;
-/*N*/ case XATTR_FILLHATCH:
-/*N*/ pItemToSet = ((XFillHatchItem*)pItemToSet)->checkForUniqueItem( this );
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ if( pItemToSet )
-/*N*/ rDestItemSet.Put( *pItemToSet );
-/*N*/
-/*N*/ // delete item if it was a generated one
-/*N*/ if( pNewItem != pItemToSet )
-/*N*/ delete pItemToSet;
-/*N*/ }
-
-/*N*/ void ChartModel::PutItemSetWithNameCreation( SfxItemSet& rDestItemSet, const SfxItemSet& rNewItemSet )
-/*N*/ {
-/*N*/ // copy all attributes
-/*N*/ rDestItemSet.Put( rNewItemSet );
-/*N*/
-/*N*/ // check for items that need name creation
-/*N*/ SfxWhichIter aIter( rNewItemSet );
-/*N*/ sal_uInt16 nWhich = aIter.FirstWhich();
-/*N*/ const SfxPoolItem* pPoolItem = NULL;
-/*N*/
-/*N*/ while( nWhich )
-/*N*/ {
-/*N*/ switch( nWhich )
-/*N*/ {
-/*N*/ case XATTR_FILLBITMAP:
-/*N*/ case XATTR_LINEDASH:
-/*N*/ case XATTR_LINESTART:
-/*N*/ case XATTR_LINEEND:
-/*N*/ case XATTR_FILLGRADIENT:
-/*N*/ case XATTR_FILLFLOATTRANSPARENCE:
-/*N*/ case XATTR_FILLHATCH:
-/*N*/ if( SFX_ITEM_SET == rNewItemSet.GetItemState( nWhich, TRUE, &pPoolItem ))
-/*N*/ SetItemWithNameCreation( rDestItemSet, pPoolItem );
-/*N*/ }
-/*N*/ nWhich = aIter.NextWhich();
-/*N*/ }
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode4.cxx b/binfilter/bf_sch/source/core/sch_chtmode4.cxx
deleted file mode 100644
index 481ccec9b..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode4.cxx
+++ /dev/null
@@ -1,1621 +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.
- *
- ************************************************************************/
-
-#include "pairs.hxx"
-
-#include <bf_svx/eeitem.hxx>
-#include <bf_sfx2/sfxsids.hrc>
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-#include <bf_svx/svdopath.hxx>
-#include <vcl/msgbox.hxx>
-#include <bf_svtools/itempool.hxx>
-#include <bf_svx/svdorect.hxx>
-#include <bf_sfx2/printer.hxx>
-
-#include <bf_svx/editdata.hxx>
-#include "schattr.hxx"
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#define ITEMID_CHARTSTYLE CHATTR_DIAGRAM_STYLE
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-
-#include <bf_svtools/eitem.hxx>
-
-#include <bf_svx/chrtitem.hxx>
-#endif
-
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#define ITEMID_FONTWIDTH EE_CHAR_FONTWIDTH
-#include <bf_svx/fhgtitem.hxx>
-#include <bf_svx/fwdtitem.hxx>
-#ifndef _CHTMODEL_HXX
-#include <globfunc.hxx>
-#include <chtmodel.hxx>
-#endif
-#include <bf_svx/svdoutl.hxx> // wg. SdrOutliner
-#include <bf_svx/svdpage.hxx>
-#include "objadj.hxx"
-#include "schresid.hxx"
-#include "objid.hxx"
-#include "datarow.hxx"
-#include <bf_svx/dlgutil.hxx>
-
-#include "chtscene.hxx"
-#include "glob.hrc"
-#include <math.h>
-#include <float.h>
-
-#include "chmod3d.hxx"
-#include "docshell.hxx"
-
-#include <bf_sfx2/app.hxx>
-#include <vcl/virdev.hxx>
-
-#include <rtl/logfile.hxx>
-
-#include "chaxis.hxx"
-#include "ChXChartDocument.hxx"
-
-#include "ReBuildHint.hxx"
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Datenbeschriftung aendern;
-|* FG: 24.4.97 nRow ist ein Parameter der ermoeglicht die Datenbeschriftung
-|* einer einzigen Reihe zu aendern, falls er -1 ist werden alle
-|* Datenreihen mit dem uebergebenen Attributen belegt. (default ist alle)
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::ChangeDataDescr(SvxChartDataDescr eDescr, BOOL bSym,
-/*N*/ long nRowToChange, BOOL bBuildChart)
-/*N*/ {
-/*N*/ if( nRowToChange == -1 ||
-/*N*/ IsPieChart())
-/*N*/ {
-/*N*/ // change setting globally
-/*N*/ eDataDescr = eDescr;
-/*N*/ bShowSym = bSym;
-/*N*/
-/*N*/ // clear individual settings
-/*N*/ long nEndRow = GetRowCount();
-/*N*/ for( long nRow = 0; nRow < nEndRow; nRow++ )
-/*N*/ {
-/*N*/ SfxItemSet &rAttr = SAL_CONST_CAST( SfxItemSet&, GetDataRowAttr( (short)nRow ));
-/*N*/
-/*N*/ rAttr.Put( SvxChartDataDescrItem( eDescr ));
-/*N*/ rAttr.Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_SYM, bSym ));
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ SfxItemSet &rAttr = SAL_CONST_CAST( SfxItemSet&, GetDataRowAttr( (short)nRowToChange ));
-/*N*/
-/*N*/ rAttr.Put( SvxChartDataDescrItem( eDescr ));
-/*N*/ rAttr.Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_SYM, bSym ));
-/*N*/ }
-/*N*/
-/*N*/ if( bBuildChart )
-/*?*/ BuildChart( FALSE );
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Seitengroesse aendern;
-|* Liefert bei Aenderung TRUE.
-|*
-\************************************************************************/
-
-/*N*/ BOOL ChartModel::ResizePage(const Size& rNewSize)
-/*N*/ {
-/*N*/ SdrPage* pPage = GetPage(0);
-/*N*/
-/*N*/ if (!pPage || pPage->GetSize() == rNewSize) return FALSE;
-/*N*/ else
-/*N*/ {
-/*N*/ BOOL bWasChanged = IsChanged();
-/*N*/
-/*N*/ pPage->SetSize(rNewSize);
-/*N*/ eOldChartStyle = eChartStyle;
-/*N*/ if (rNewSize.Width () != 0 && rNewSize.Height () != 0) BuildChart(FALSE);
-/*N*/
-/*N*/ if (!bWasChanged) SetChanged(FALSE);
-/*N*/
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-
-
-/************************************************************************
-|*
-|* skaliere Texte neu um
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::ResizeText (SfxItemSet *pTextAttr, Size aPageSize, BOOL bResizePage )
-/*N*/ {
-/*N*/ double fRatio;
-/*N*/ if( bResizePage )
-/*N*/ fRatio = (double)aPageSize.Height() / (double)aInitialSize.Height();
-/*N*/ else
-/*?*/ fRatio = (double)aDiagramRectangle.GetHeight() / (double)aLastDiagramRectangle.GetHeight();
-/*N*/
-/*N*/ // resize all three fonts
-/*N*/ static const USHORT nWhichIds[ 3 ] = {
-/*N*/ EE_CHAR_FONTHEIGHT,
-/*N*/ EE_CHAR_FONTHEIGHT_CJK,
-/*N*/ EE_CHAR_FONTHEIGHT_CTL
-/*N*/ };
-/*N*/
-/*N*/ for( int i=0; i < 3; i++ )
-/*N*/ {
-/*N*/ long nHeight = ((SvxFontHeightItem &)pTextAttr->Get( nWhichIds[ i ] )).GetHeight();
-/*N*/
-/*N*/ // Scale and round height.
-/*N*/ nHeight = (long)( fRatio * (double)nHeight + 0.5 );
-/*N*/
-/*N*/ float fPoints = (float)CalcToPoint( nHeight, SFX_MAPUNIT_100TH_MM, 10 );
-/*N*/ if( fPoints < 2.0 ) fPoints = 2.0;
-/*N*/
-/*N*/ pTextAttr->Put( SvxFontHeightItem( CalcToUnit( fPoints / (float)10.0, SFX_MAPUNIT_100TH_MM ),
-/*N*/ 100, nWhichIds[ i ] ));
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Attribute lesen
-|*
-\************************************************************************/
-
-//SfxItemSet ChartModel::GetAttr() const
-/*N*/ void ChartModel::GetAttr(SfxItemSet& rAttr)
-/*N*/ {
-/*N*/ CHART_TRACE( "ChartModel::GetAttr(SfxItemSet& rAttr)" );
-/*N*/
-/*N*/ rAttr.Put(SvxChartStyleItem(ChartStyle()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_TITLE_SHOW_MAIN, ShowMainTitle()));
-/*N*/ rAttr.Put(SfxStringItem(CHATTR_TITLE_MAIN, MainTitle()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_TITLE_SHOW_SUB, ShowSubTitle()));
-/*N*/ rAttr.Put(SfxStringItem(CHATTR_TITLE_SUB, SubTitle()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_TITLE_SHOW_X_AXIS, ShowXAxisTitle()));
-/*N*/ rAttr.Put(SfxStringItem(CHATTR_TITLE_X_AXIS, XAxisTitle()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_TITLE_SHOW_Y_AXIS, ShowYAxisTitle()));
-/*N*/ rAttr.Put(SfxStringItem(CHATTR_TITLE_Y_AXIS, YAxisTitle()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_TITLE_SHOW_Z_AXIS, ShowZAxisTitle()));
-/*N*/ rAttr.Put(SfxStringItem(CHATTR_TITLE_Z_AXIS, ZAxisTitle()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_X_AXIS, ShowXAxis()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_X_MAIN, ShowXGridMain()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_X_HELP, ShowXGridHelp()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_X_DESCR, ShowXDescr()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_Y_AXIS, ShowYAxis()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_Y_MAIN, ShowYGridMain()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_Y_HELP, ShowYGridHelp()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_Y_DESCR, ShowYDescr()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_Z_AXIS, ShowZAxis()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_Z_MAIN, ShowZGridMain()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_Z_HELP, ShowZGridHelp()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_Z_DESCR, ShowZDescr()));
-/*N*/
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_2Y_AXIS, GetAxisByUID(CHART_AXIS_SECONDARY_Y)->IsVisible()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_2Y_DESCR, GetAxisByUID(CHART_AXIS_SECONDARY_Y)->HasDescription()));
-/*N*/
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_2X_AXIS, GetAxisByUID(CHART_AXIS_SECONDARY_X)->IsVisible()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_AXISGRID_SHOW_2X_DESCR, GetAxisByUID(CHART_AXIS_SECONDARY_X)->HasDescription()));
-/*N*/
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/ if (pLegendAttr->GetItemState(SCHATTR_LEGEND_POS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ rAttr.Put(SvxChartLegendPosItem
-/*N*/ (((const SvxChartLegendPosItem*)pPoolItem)->GetValue(),
-/*N*/ pItemPool->GetSlotId(SCHATTR_LEGEND_POS)));
-/*N*/
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_DATA_SWITCH, IsSwitchData()));
-/*N*/
-/*N*/
-/*N*/ rAttr.Put (SfxBoolItem (SCHATTR_STAT_AVERAGE,bShowAverage));
-/*N*/ rAttr.Put (SfxInt32Item (SCHATTR_STAT_KIND_ERROR, (INT32) eErrorKind));
-/*N*/ rAttr.Put (SfxInt32Item (SCHATTR_STAT_INDICATE, (INT32) eIndicate));
-/*N*/ rAttr.Put (SvxDoubleItem (fIndicatePercent, SCHATTR_STAT_PERCENT));
-/*N*/ rAttr.Put (SvxDoubleItem (fIndicateBigError, SCHATTR_STAT_BIGERROR));
-/*N*/ rAttr.Put (SvxDoubleItem (fIndicatePlus, SCHATTR_STAT_CONSTPLUS));
-/*N*/ rAttr.Put (SvxDoubleItem (fIndicateMinus, SCHATTR_STAT_CONSTMINUS));
-/*N*/ rAttr.Put (SfxInt32Item (SCHATTR_STAT_REGRESSTYPE, (INT32) eRegression));
-/*N*/
-/*N*/ //Datenbeschriftung
-/*N*/ rAttr.Put(SfxBoolItem(SCHATTR_DATADESCR_SHOW_SYM,bShowSym));
-/*N*/ rAttr.Put(SvxChartDataDescrItem(eDataDescr));
-/*N*/
-/*N*/ rAttr.Put(SfxInt32Item(CHATTR_BARWIDTH,GetBarPercentWidth()));
-/*N*/ rAttr.Put(SfxBoolItem(CHATTR_BARCONNECT, (BOOL)(m_nDefaultColorSet&CHSPECIAL_TRACELINES)));
-/*N*/
-/*N*/ if (pChartAttr->GetItemState(SCHATTR_STYLE_SHAPE, TRUE, &pPoolItem)== SFX_ITEM_SET)
-/*N*/ {
-/*?*/ long nTmp= (long)((const SfxInt32Item*)pPoolItem)->GetValue();
-/*?*/ rAttr.Put(SfxInt32Item(SCHATTR_STYLE_SHAPE,nTmp));
-/*N*/ }
-/*N*/
-/*N*/ ChartScene *pLclScene=GetScene();
-/*N*/ if(pLclScene)
-/*N*/ rAttr.Put(pLclScene->GetItemSet());
-/*N*/
-/*N*/ if( pChartAttr->GetItemState( SCHATTR_USER_DEFINED_ATTR, TRUE, &pPoolItem ) == SFX_ITEM_SET )
-/*N*/ {
-/*?*/ rAttr.Put( *pPoolItem );
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Attribute setzen
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::PutAttr(const SfxItemSet& rAttr)
-/*N*/ {
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_SHOW_MAIN, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowMainTitle () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_MAIN, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ MainTitle () = ((const SfxStringItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_SHOW_SUB, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowSubTitle () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_SUB, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ SubTitle () = ((const SfxStringItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_SHOW_X_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowXAxisTitle () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_X_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ XAxisTitle () = ((const SfxStringItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_SHOW_Y_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowYAxisTitle () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_Y_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ YAxisTitle () = ((const SfxStringItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_SHOW_Z_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowZAxisTitle () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_TITLE_Z_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ ZAxisTitle () = ((const SfxStringItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_X_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowXAxis (((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_X_MAIN, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowXGridMain () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_X_HELP, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ ShowXGridHelp () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_X_DESCR, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowXDescr (((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_Y_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowYAxis (((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_Y_MAIN, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowYGridMain () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_Y_HELP, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ ShowYGridHelp () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_Y_DESCR, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowYDescr (((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_Z_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowZAxis (((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_Z_MAIN, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ ShowZGridMain () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_Z_HELP, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ ShowZGridHelp () = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_Z_DESCR, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ ShowZDescr (((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/
-/*N*/
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_2Y_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ BOOL b = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/ pChartBAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_SHOWAXIS,b));
-/*N*/ }
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_2Y_DESCR, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ BOOL b = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/ pChartBAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_SHOWDESCR,b));
-/*N*/ }
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_2X_AXIS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ BOOL b = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/ pChartAAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_SHOWAXIS,b));
-/*N*/ }
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_AXISGRID_SHOW_2X_DESCR, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ BOOL b = ((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/ pChartAAxis->GetItemSet()->Put(SfxBoolItem(SCHATTR_AXIS_SHOWDESCR,b));
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_LEGEND_POS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ pLegendAttr->Put(SvxChartLegendPosItem
-/*N*/ (((const SvxChartLegendPosItem*)pPoolItem)->GetValue(),
-/*?*/ pItemPool->GetWhich(CHATTR_LEGEND_POS)));
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_DATA_SWITCH, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ ChangeSwitchData(((const SfxBoolItem*)pPoolItem)->GetValue());
-/*N*/
-/*N*/
-/*N*/
-/*N*/ //Statistik
-/*N*/ if (rAttr.GetItemState(SCHATTR_STAT_CONSTPLUS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ fIndicatePlus=((const SvxDoubleItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_STAT_BIGERROR, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ fIndicateBigError=((const SvxDoubleItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_STAT_PERCENT, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ fIndicatePercent=((const SvxDoubleItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_STAT_INDICATE, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ eIndicate=(SvxChartIndicate)((const SfxInt32Item*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_STAT_KIND_ERROR, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ eErrorKind=(SvxChartKindError)((const SfxInt32Item*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_STAT_AVERAGE, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ bShowAverage=((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_STAT_CONSTMINUS, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ fIndicateMinus=((const SvxDoubleItem*)pPoolItem)->GetValue();
-/*N*/ if (rAttr.GetItemState(SCHATTR_STAT_REGRESSTYPE, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ eRegression=(SvxChartRegress)((const SfxInt32Item*)pPoolItem)->GetValue();
-/*N*/
-/*N*/
-/*N*/ //Datenbeschriftung
-/*N*/ SvxChartDataDescr eNewDataDescr,eOldDataDescr;
-/*N*/ BOOL bNewShowSym, bOldShowSym;
-/*N*/
-/*N*/ eNewDataDescr = eOldDataDescr = eDataDescr;
-/*N*/ bNewShowSym = bOldShowSym = bShowSym;
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_DATADESCR_DESCR, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ eNewDataDescr=(SvxChartDataDescr)((const SvxChartDataDescrItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_DATADESCR_SHOW_SYM, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ bNewShowSym=((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/
-/*N*/ if( bOldShowSym != bNewShowSym || eOldDataDescr != eNewDataDescr )
-/*N*/ {
-/*?*/ ChangeDataDescr(eNewDataDescr,bNewShowSym);
-/*N*/ }
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_BARWIDTH, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ SetBarPercentWidth((long)((const SfxInt32Item*)pPoolItem)->GetValue());
-/*N*/
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_BARCONNECT, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ BOOL bTmp=((const SfxBoolItem*)pPoolItem)->GetValue();
-/*N*/ m_nDefaultColorSet=(bTmp)
-/*N*/ ?(m_nDefaultColorSet|CHSPECIAL_TRACELINES)
-/*N*/ :(m_nDefaultColorSet|CHSPECIAL_TRACELINES)-CHSPECIAL_TRACELINES;
-/*N*/ }
-/*N*/
-/*N*/ if (rAttr.GetItemState(SCHATTR_STYLE_SHAPE, TRUE, &pPoolItem)== SFX_ITEM_SET)
-/*N*/ {
-/*N*/ long nTmp= (long)((const SfxInt32Item*)pPoolItem)->GetValue();
-/*N*/ SfxItemSet aS(*pItemPool,SCHATTR_STYLE_SHAPE,SCHATTR_STYLE_SHAPE,0);
-/*N*/ aS.Put(SfxInt32Item(SCHATTR_STYLE_SHAPE,nTmp));
-/*N*/ PutDataRowAttrAll(aS);
-/*N*/ }
-/*N*/
-/*N*/ // Autopilot mit CHATTR_
-/*N*/ if (rAttr.GetItemState(CHATTR_STYLE_SHAPE, TRUE, &pPoolItem)== SFX_ITEM_SET)
-/*N*/ {
-/*?*/ long nTmp= (long)((const SfxInt32Item*)pPoolItem)->GetValue();
-/*?*/ SfxItemSet aS(*pItemPool,SCHATTR_STYLE_SHAPE,SCHATTR_STYLE_SHAPE,0);
-/*?*/ aS.Put(SfxInt32Item(SCHATTR_STYLE_SHAPE,nTmp));
-/*?*/ PutDataRowAttrAll(aS);
-/*N*/ }
-/*N*/ if( rAttr.GetItemState(CHATTR_AXIS_AUTO_ORIGIN, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*?*/ BOOL bTmp= (BOOL)((const SfxBoolItem*)pPoolItem)->GetValue();
-/*?*/ SfxItemSet aS( *pItemPool, SCHATTR_AXIS_AUTO_ORIGIN, SCHATTR_AXIS_AUTO_ORIGIN);
-/*?*/ aS.Put( SfxBoolItem( SCHATTR_AXIS_AUTO_ORIGIN, bTmp ));
-/*?*/ if( pChartYAxis )
-/*?*/ {
-/*?*/ pChartYAxis->SetAttributes( aS );
-/*?*/ }
-/*?*/ if( pChartBAxis )
-/*?*/ {
-/*?*/ pChartBAxis->SetAttributes( aS );
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ ChartScene *pLclScene=GetScene();
-/*N*/ if(pLclScene) //ToDo: Ist das hier nötig??? warum nicht direkt rAttr? #63904#
-/*N*/ {
-/*N*/ SfxItemSet aSceneSet(*pItemPool,nRowWhichPairs);
-/*N*/ aSceneSet.Put(rAttr);
-/*N*/
-/*N*/ pLclScene->SetItemSet(aSceneSet);
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ if( rAttr.GetItemState( SCHATTR_USER_DEFINED_ATTR, TRUE, &pPoolItem ) == SFX_ITEM_SET )
-/*N*/ {
-/*?*/ pChartAttr->Put( *pPoolItem );
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ if (rAttr.GetItemState(CHATTR_DIAGRAM_STYLE, TRUE, &pPoolItem)
-/*N*/ == SFX_ITEM_SET)
-/*?*/ ChangeChart( ((const SvxChartStyleItem*)pPoolItem)->GetValue());
-/*N*/ }
-
-/*N*/ long ChartModel::GetAxisUID(long nRow)
-/*N*/ {
-/*N*/ return ((const SfxInt32Item &)GetDataRowAttr(nRow).Get(SCHATTR_AXIS)).GetValue();
-/*N*/ };
-
-
-/*************************************************************************
-|*
-|* gesamte Grafik initialisieren
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::Initialize()
-/*N*/ {
-/*N*/ mbIsInitialized = TRUE;
-/*N*/
-/*N*/ if (!(aInitialSize.Height () && aInitialSize.Width ()))
-/*N*/ {
-/*?*/ SdrPage* pPage = GetPage(0);
-/*?*/ if (pPage) aInitialSize = pPage->GetSize();
-/*?*/
-/*?*/ if (!(aInitialSize.Height () && aInitialSize.Width ())) aInitialSize = Size (7000, 8000);
-/*?*/ // 13000, 8666
-/*N*/ }
-/*N*/
-/*N*/ ScaleText( 0, aInitialSize );
-/*N*/
-/*N*/ if( bShouldBuildChart )
-/*N*/ {
-/*N*/ // Force build chart. If it has been loaded from an XML file, than that is
-/*N*/ // done by unlocking it.
-/*N*/ bNoBuildChart = FALSE;
-/*N*/
-/*N*/ if( pDocShell &&
-/*N*/ pDocShell->IsEnableSetModified())
-/*N*/ {
-/*?*/ pDocShell->EnableSetModified( FALSE );
-/*?*/ if (IsLockedBuild())
-/*?*/ UnlockBuild();
-/*?*/ else
-/*?*/ BuildChart( FALSE );
-/*?*/ pDocShell->EnableSetModified( TRUE );
-/*N*/ }
-/*N*/ else
-/*N*/ if (IsLockedBuild())
-/*?*/ UnlockBuild();
-/*N*/ else
-/*N*/ BuildChart( FALSE );
-/*N*/ }
-/*N*/
-/*N*/ SetDiagramRectangle( GetChartRect() );
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart()
-|*
-\************************************************************************/
-/*N*/ void ChartModel::ScaleText( long nTitle, const Size& rPageSize )
-/*N*/ {
-/*N*/ // #67459#
-/*N*/ // if the page size is unchanged ...
-/*N*/ if( aInitialSize == rPageSize )
-/*N*/ {
-/*N*/ // ... and the diagram (possibly) has been resized
-/*N*/ if( GetDiagramHasBeenMovedOrResized() && (aLastDiagramRectangle != aDiagramRectangle) )
-/*N*/ {
-/*?*/ if( nTitle != CHOBJID_DIAGRAM_X_AXIS )
-/*?*/ ResizeText( &GetAttr(CHOBJID_DIAGRAM_X_AXIS), rPageSize, FALSE );
-/*?*/ if( nTitle != CHOBJID_DIAGRAM_Y_AXIS )
-/*?*/ ResizeText( &GetAttr(CHOBJID_DIAGRAM_Y_AXIS), rPageSize, FALSE );
-/*?*/ if( nTitle != CHOBJID_DIAGRAM_A_AXIS )
-/*?*/ ResizeText( &GetAttr(CHOBJID_DIAGRAM_A_AXIS), rPageSize, FALSE );
-/*?*/ if( nTitle != CHOBJID_DIAGRAM_B_AXIS )
-/*?*/ ResizeText( &GetAttr(CHOBJID_DIAGRAM_B_AXIS), rPageSize, FALSE );
-/*?*/ if( nTitle != CHOBJID_DIAGRAM_Z_AXIS )
-/*?*/ ResizeText( &GetAttr(CHOBJID_DIAGRAM_Z_AXIS), rPageSize, FALSE );
-/*?*/
-/*?*/ for( size_t i = 0; i < aDataRowAttrList.size(); i++ )
-/*?*/ ResizeText( aDataRowAttrList[ i ], rPageSize, FALSE );
-/*?*/ ResizeText(pDummyAttr,rPageSize); // also resize crash test dummy to normal for next test ?
-/*N*/ }
-/*N*/ }
-/*N*/ else // page size has changed
-/*N*/ {
-/*N*/ if(nTitle != CHOBJID_TITLE_MAIN)
-/*N*/ ResizeText (pMainTitleAttr ,rPageSize);
-/*N*/ if(nTitle != CHOBJID_TITLE_SUB)
-/*N*/ ResizeText (pSubTitleAttr ,rPageSize);
-/*N*/ if(nTitle != CHOBJID_DIAGRAM_TITLE_X_AXIS)
-/*N*/ ResizeText (pXAxisTitleAttr,rPageSize);
-/*N*/ if(nTitle != CHOBJID_DIAGRAM_TITLE_Y_AXIS)
-/*N*/ ResizeText (pYAxisTitleAttr,rPageSize);
-/*N*/ if(nTitle != CHOBJID_DIAGRAM_TITLE_Z_AXIS)
-/*N*/ ResizeText (pZAxisTitleAttr,rPageSize);
-/*N*/
-/*N*/ if(nTitle != CHOBJID_DIAGRAM_X_AXIS)
-/*N*/ ResizeText(&GetAttr(CHOBJID_DIAGRAM_X_AXIS),rPageSize);
-/*N*/ if(nTitle != CHOBJID_DIAGRAM_Y_AXIS)
-/*N*/ ResizeText(&GetAttr(CHOBJID_DIAGRAM_Y_AXIS),rPageSize);
-/*N*/ if(nTitle != CHOBJID_DIAGRAM_A_AXIS)
-/*N*/ ResizeText(&GetAttr(CHOBJID_DIAGRAM_A_AXIS),rPageSize);
-/*N*/ if(nTitle != CHOBJID_DIAGRAM_B_AXIS)
-/*N*/ ResizeText(&GetAttr(CHOBJID_DIAGRAM_B_AXIS),rPageSize);
-/*N*/ if(nTitle != CHOBJID_DIAGRAM_Z_AXIS)
-/*N*/ ResizeText(&GetAttr(CHOBJID_DIAGRAM_Z_AXIS),rPageSize);
-/*N*/ if(nTitle != CHOBJID_LEGEND)
-/*N*/ ResizeText(pLegendAttr, rPageSize);
-/*N*/ for( size_t i = 0; i < aDataRowAttrList.size(); i++ )
-/*N*/ ResizeText( aDataRowAttrList[ i ], rPageSize );
-/*N*/ ResizeText(pDummyAttr,rPageSize); // also resize crash test dummy to normal for next test ?
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart(), Anzeige des Haupttitels
-|*
-\************************************************************************/
-/*N*/ void ChartModel::DoShowMainTitle(USHORT& rIndex,const long nYOfs)
-/*N*/ {
-/*N*/ SdrPage* pPage=GetPage(0);
-/*N*/ const Size& rPageSize=pPage->GetSize();
-/*N*/
-/*N*/ Point aTitlePosition;
-/*N*/ if (bUseRelativePositionsForChartGroups && (aTitleTopCenter.X() >= 0) &&
-/*N*/ (aTitleTopCenter.Y() >= 0) && GetMainTitleHasBeenMoved())
-/*N*/ {
-/*N*/ double fRelativXPosition = ((double) aTitleTopCenter.X()) / aInitialSize.Width();
-/*N*/ double fRelativYPosition = ((double) aTitleTopCenter.Y()) / aInitialSize.Height();
-/*N*/ aTitlePosition.X() = (long)((double)rPageSize.Width() * fRelativXPosition );
-/*N*/ aTitlePosition.Y() = (long)((double)rPageSize.Height() * fRelativYPosition );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aTitlePosition.X() = aChartRect.Left() + aChartRect.GetWidth() / 2;
-/*N*/ aTitlePosition.Y() = aChartRect.Top();
-/*N*/ }
-/*N*/
-/*N*/ SdrTextObj *pObj = CreateTextObj(CHOBJID_TITLE_MAIN, aTitlePosition,
-/*N*/ aMainTitle,
-/*N*/ *pMainTitleAttr, TRUE, CHADJUST_TOP_CENTER);
-/*N*/
-/*N*/ aChartRect.Top() += GetOutputSize(*pObj).Height() + nYOfs;
-/*N*/ pObj->SetResizeProtect(TRUE);
-/*N*/ pPage->NbcInsertObject(pObj, rIndex++);
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart(), man koennte vermutlich DoShowMainTitle und
-|* DoShowSubTitle zu DoShowTitle zusammenfassen
-|*
-\************************************************************************/
-/*N*/ void ChartModel::DoShowSubTitle(USHORT& rIndex,const long nYOfs)
-/*N*/ {
-/*N*/ SdrPage* pPage=GetPage(0);
-/*N*/ const Size& rPageSize=pPage->GetSize();
-/*N*/
-/*N*/ Point aSubTitlePosition;
-/*N*/ if (bUseRelativePositionsForChartGroups && (aSubTitleTopCenter.X() >= 0) &&
-/*N*/ (aSubTitleTopCenter.Y() >= 0) && GetSubTitleHasBeenMoved())
-/*N*/ {
-/*N*/ double fRelativeXPosition = ((double) aSubTitleTopCenter.X()) / aInitialSize.Width();
-/*N*/ double fRelativeYPosition = ((double) aSubTitleTopCenter.Y()) / aInitialSize.Height();
-/*N*/ aSubTitlePosition.X() = (long)((double)rPageSize.Width() * fRelativeXPosition );
-/*N*/ aSubTitlePosition.Y() = (long)((double)rPageSize.Height() * fRelativeYPosition );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aSubTitlePosition.X() = aChartRect.Left() + aChartRect.GetWidth() / 2;
-/*N*/ aSubTitlePosition.Y() = aChartRect.Top();
-/*N*/ }
-/*N*/ SdrTextObj *pObj = CreateTextObj(CHOBJID_TITLE_SUB, aSubTitlePosition,
-/*N*/ aSubTitle,
-/*N*/ *pSubTitleAttr, TRUE, CHADJUST_TOP_CENTER);
-/*N*/
-/*N*/ aChartRect.Top() += GetOutputSize(*pObj).Height() + nYOfs;
-/*N*/ pObj->SetResizeProtect(TRUE);
-/*N*/ pPage->NbcInsertObject(pObj, rIndex++);
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart(), Anzeige der Legende
-|*
-\************************************************************************/
-/*N*/ void ChartModel::DoShowLegend(const Rectangle& rWholeRect,
-/*N*/ const long nXOfs,const long nYOfs,USHORT& rIndex)
-/*N*/ {
-/*N*/ SdrPage* pPage=GetPage(0);
-/*N*/ const Size& rPageSize=pPage->GetSize();
-/*N*/
-/*N*/ SvxChartLegendPos eLegendPos = ((const SvxChartLegendPosItem&) pLegendAttr->Get(SCHATTR_LEGEND_POS)).
-/*N*/ GetValue();
-/*N*/
-/*N*/ if (eLegendPos != CHLEGEND_NONE)
-/*N*/ {
-/*N*/ SdrObject *pObj = CreateLegend(rWholeRect);
-/*N*/
-/*N*/ if (pObj)
-/*N*/ {
-/*N*/ Rectangle aRect = pObj->GetLogicRect();
-/*N*/ ChartAdjust eAdjust(CHADJUST_TOP_LEFT);
-/*N*/
-/*N*/ Point aLegendPosition;
-/*N*/ if (bUseRelativePositionsForChartGroups && (aLegendTopLeft.X() >= 0) &&
-/*N*/ (aLegendTopLeft.Y() >= 0) && GetLegendHasBeenMoved())
-/*N*/ {
-/*N*/ double fRatioX =
-/*N*/ static_cast< double >( rPageSize.Width() ) /
-/*N*/ static_cast< double >( aInitialSize.Width() );
-/*N*/ double fRatioY =
-/*N*/ static_cast< double >( rPageSize.Height() ) /
-/*N*/ static_cast< double >( aInitialSize.Height() );
-/*N*/
-/*N*/ aLegendPosition.X() = static_cast< long >(
-/*N*/ static_cast< double >( aLegendTopLeft.X() ) * fRatioX );
-/*N*/ aLegendPosition.Y() = static_cast< long >(
-/*N*/ static_cast< double >( aLegendTopLeft.Y() ) * fRatioY );
-/*N*/
-/*N*/ if( bAdjustMarginsForLegend )
-/*N*/ {
-/*N*/ switch (eLegendPos)
-/*N*/ {
-/*N*/ case CHLEGEND_LEFT:
-/*?*/ eAdjust = CHADJUST_TOP_LEFT;
-/*?*/ aChartRect.Left() += aRect.GetWidth() + nXOfs;
-/*?*/ break;
-/*?*/
-/*?*/ case CHLEGEND_TOP:
-/*?*/ eAdjust = CHADJUST_TOP_LEFT;
-/*?*/ aChartRect.Top() += aRect.GetHeight() + nYOfs;
-/*?*/ break;
-/*N*/
-/*N*/ case CHLEGEND_RIGHT:
-/*N*/ eAdjust = CHADJUST_TOP_LEFT;
-/*N*/ aChartRect.Right() -= aRect.GetWidth() + nXOfs;
-/*N*/ break;
-/*N*/
-/*?*/ case CHLEGEND_BOTTOM:
-/*?*/ eAdjust = CHADJUST_TOP_LEFT;
-/*?*/ aChartRect.Bottom() -= aRect.GetHeight() + nYOfs;
-/*?*/ break;
-/*?*/ default:
-/*?*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ // #96418# why shifting the legend nXOfs/nYOfs away from the
-/*N*/ // edge, if it moved manually; it may well reach the edge in
-/*N*/ // that case. So just check if it laps out of the edge. Apart
-/*N*/ // from that the default position did not satisfy this condition
-/*N*/ // and was therefore always shifted inside
-/*N*/ if (aLegendPosition.X() + aRect.GetWidth() > rPageSize.Width())
-/*N*/ {
-/*?*/ aLegendPosition.X() = rPageSize.Width() - aRect.GetWidth();
-/*N*/ }
-/*N*/ if (aLegendPosition.Y() + aRect.GetHeight() > rPageSize.Height())
-/*N*/ {
-/*?*/ aLegendPosition.Y() = rPageSize.Height() - aRect.GetHeight();
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ switch (eLegendPos)
-/*N*/ {
-/*N*/ case CHLEGEND_LEFT:
-/*?*/ aLegendPosition.X() = rWholeRect.Left();
-/*?*/ aLegendPosition.Y() = rWholeRect.Top() + rWholeRect.GetHeight() / 2;
-/*?*/ eAdjust = CHADJUST_CENTER_LEFT;
-/*?*/ aChartRect.Left() += aRect.GetWidth() + nXOfs;
-/*?*/ break;
-/*?*/
-/*?*/ case CHLEGEND_TOP:
-/*?*/ aLegendPosition.X() = rWholeRect.Left() + rWholeRect.GetWidth() / 2;
-/*?*/ aLegendPosition.Y() = aChartRect.Top();
-/*?*/ eAdjust = CHADJUST_TOP_CENTER;
-/*?*/ aChartRect.Top() += aRect.GetHeight() + nYOfs;
-/*?*/ break;
-/*N*/
-/*N*/ case CHLEGEND_RIGHT:
-/*N*/ aLegendPosition.X() = rWholeRect.Right();
-/*N*/ aLegendPosition.Y() = rWholeRect.Top() + rWholeRect.GetHeight() / 2;
-/*N*/ eAdjust = CHADJUST_CENTER_RIGHT;
-/*N*/ aChartRect.Right() -= aRect.GetWidth() + nXOfs;
-/*N*/ break;
-/*N*/
-/*N*/ case CHLEGEND_BOTTOM:
-/*?*/ aLegendPosition.X() = rWholeRect.Left() + rWholeRect.GetWidth() / 2;
-/*?*/ aLegendPosition.Y() = rWholeRect.Bottom();
-/*?*/ eAdjust = CHADJUST_BOTTOM_CENTER;
-/*?*/ aChartRect.Bottom() -= aRect.GetHeight() + nYOfs;
-/*?*/ break;
-/*N*/ default:
-/*?*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // For 3D pie charts that whose position and size have not been altered
-/*N*/ // manually, the calculated size in aChartRect is
-/*N*/ // set to aDiagramRectangle after a possible adaption to half
-/*N*/ // it's height. This adaption mimics the behaviour from BuildChart
-/*N*/ // and takes place only if the diagram is not more than twice as wide
-/*N*/ // as it is high.
-/*N*/ if (IsPieChart() && IsReal3D() && ! GetDiagramHasBeenMovedOrResized())
-/*N*/ {
-/*N*/ long nWidth=aChartRect.GetWidth();
-/*N*/ long nHeight=aChartRect.GetHeight();
-/*N*/ if( ((double)nHeight/(double)nWidth) > 0.5 )
-/*N*/ {
-/*N*/ aChartRect.Top()+=nHeight/4;
-/*N*/ aChartRect.Bottom()-=nHeight/4;
-/*N*/ }
-/*N*/ SetDiagramRectangle (aChartRect);
-/*N*/ }
-/*N*/
-/*N*/ aRect.SetPos(aLegendPosition);
-/*N*/ AdjustRect(aRect, eAdjust);
-/*N*/ pObj->NbcSetLogicRect(aRect);
-/*N*/ pObj->SetResizeProtect(TRUE);
-/*N*/ if (pObj->ISA(SchObjGroup))
-/*N*/ {
-/*N*/ ((SchObjGroup *)pObj)->SetGroupType(SchObjGroup::LEGEND);
-/*N*/ ((SchObjGroup *)pObj)->SetModel(this);
-/*N*/ }
-/*N*/ pPage->InsertObject(pObj, rIndex);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-//Übertragung der Page-Objekt-Attribute in die Modeleigenen AttrSets
-/*N*/ void ChartModel::Rescue3DObjAttr(SdrObjList* pList)//#52277#
-/*N*/ {
-/*N*/ CHART_TRACE( "ChartModel::Rescue3DObjAttr" );
-/*N*/ if(pList)
-/*N*/ {
-/*N*/ SdrObject* pObj;
-/*N*/ long nRow, nCol;
-/*N*/ SfxItemSet aSet( *pItemPool, SDRATTR_3D_FIRST, SDRATTR_3D_LAST);
-/*N*/ aSet.ClearItem();
-/*N*/
-/*N*/ SdrObjListIter aIterator( *pList, IM_DEEPWITHGROUPS );
-/*N*/
-/*N*/ while( aIterator.IsMore() )
-/*N*/ {
-/*N*/ pObj = aIterator.Next();
-/*N*/ SchDataRow* pDataRow = GetDataRow( *pObj );
-/*N*/ SchDataPoint* pDataPoint = GetDataPoint( *pObj );
-/*N*/ if( pDataRow )
-/*N*/ {
-/*N*/ nRow = pDataRow->GetRow();
-/*N*/ aSet.Put(pObj->GetItemSet());
-/*N*/
-/*N*/ aSet.ClearInvalidItems();
-/*N*/ aDataRowAttrList[ nRow ]->Put( aSet );
-/*N*/ aSet.ClearItem();
-/*N*/ }
-/*N*/ else if( pDataPoint )
-/*N*/ {
-/*N*/ nCol = pDataPoint->GetCol();
-/*N*/ nRow = pDataPoint->GetRow();
-/*N*/ aSet.Put(pObj->GetItemSet());
-/*N*/
-/*N*/ aSet.ClearInvalidItems();
-/*N*/ PutDataPointAttr( nCol, nRow, aSet );
-/*N*/ aSet.ClearItem();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ SchObjectId *pId = GetObjectId( *pObj );
-/*N*/ if( pId )
-/*N*/ {
-/*N*/ long nId = pId->GetObjId();
-/*N*/ aSet.Put(pObj->GetItemSet());
-/*N*/ if( aSet.Count() )
-/*N*/ {
-/*N*/ aSet.ClearInvalidItems();
-/*N*/ GetAttr( nId ).Put( aSet, TRUE );
-/*N*/ aSet.ClearItem();
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart(), Loeschen aller Chartobjecte
-|*
-\************************************************************************/
-/*N*/ void ChartModel::DeleteChartObjects()
-/*N*/ {
-/*N*/ SdrPage* pPage=GetPage(0);
-/*N*/ /*BOOL bResize = (aInitialSize != */pPage->GetSize()/*)*/;
-/*N*/
-/*N*/ // FG: Bevor die Objekte geloescht und neu aufgebaut werden, merkt man sich deren
-/*N*/ // Position. Da in InitalSize die urspruengliche Seitengroesse steht, kann
-/*N*/ // man nun die relative Position auf der Seite bestimmen.
-/*N*/ // Diese relative Position bleibt bei einem Resize erhalten,
-/*N*/ // falls der Schalter "bUseRelativePositionsForChartGroups" auf TRUE steht.
-/*N*/
-/*N*/ SdrObject* pGroupObject = GetObjWithId( CHOBJID_DIAGRAM_AREA, *pPage );
-/*N*/ if( pGroupObject != NULL )
-/*N*/ DeleteObject( pGroupObject );
-/*N*/
-/*N*/ pGroupObject = GetObjWithId( CHOBJID_TITLE_MAIN, *pPage );
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ aTitleTopCenter = pGroupObject->GetBoundRect().TopCenter();
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/
-/*N*/ pGroupObject = GetObjWithId(CHOBJID_TITLE_SUB, *pPage);
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ aSubTitleTopCenter = pGroupObject->GetBoundRect().TopCenter();
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/
-/*N*/ pGroupObject = GetObjWithId(CHOBJID_DIAGRAM, *pPage);
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ // FG: 11.3.97 Wenn die Grenzen des Objekts woanders gesetzt worden sind, duerfen sie hier
-/*N*/ // nicht mehr gesetzt werden.
-/*N*/ if (pGroupObject->ISA(SchObjGroup))
-/*N*/ {
-/*N*/ if (GetDiagramHasBeenMovedOrResized() &&
-/*N*/ ((SchObjGroup *) pGroupObject)->GetAskForLogicRect())
-/*N*/ {
-/*N*/ // FG: So leider nicht das Chart-Rect ist fehlerhafterweise nicht das Bounding-Rectangle
-/*N*/ // aDiagramRectangle = pGroupObject->GetLogicRect();
-/*N*/ SetDiagramRectangle( GetChartRect() );
-/*N*/ }
-/*N*/ }
-/*N*/ else if (pGroupObject->ISA(ChartScene))
-/*N*/ {
-/*N*/ if (GetDiagramHasBeenMovedOrResized() &&
-/*N*/ ((ChartScene *) pGroupObject)->GetAskForLogicRect())
-/*N*/ {
-/*N*/ // FG: So leider nicht das Chart-Rect ist fehlerhafterweise nicht das Bounding-Rectangle
-/*N*/ // aDiagramRectangle = pGroupObject->GetLogicRect();
-/*N*/ SetDiagramRectangle( GetChartRect() );
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ if( pGroupObject == pScene )
-/*N*/ pScene = NULL;
-/*N*/ }
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/
-/*N*/ pGroupObject = GetObjWithId(CHOBJID_LEGEND, *pPage);
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ // FG: 11.3.97 Wenn die Grenzen des Objekts woanders gesetzt worden sind, duerfen sie hier
-/*N*/ // nicht mehr gesetzt werden.
-/*N*/ if (GetLegendHasBeenMoved()&&
-/*N*/ ((SchObjGroup *) pGroupObject)->GetAskForLogicRect() )
-/*N*/ // #107305# I don't see where aLegendTopLeft should have changed at
-/*N*/ // another place, if not via resizing. Besides, why should it for
-/*N*/ // the legend and not the titles?
-/*N*/ // && ! bResize )
-/*N*/ {
-/*N*/ aLegendTopLeft = pGroupObject->GetLogicRect().TopLeft();
-/*N*/ }
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/
-/*N*/ pGroupObject = GetObjWithId(CHOBJID_DIAGRAM_TITLE_X_AXIS, *pPage);
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ aTitleXAxisPosition = SetPointOfRectangle(pGroupObject->GetBoundRect(), eAdjustXAxesTitle);
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/
-/*N*/ pGroupObject = GetObjWithId(CHOBJID_DIAGRAM_TITLE_Y_AXIS, *pPage);
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ pGroupObject->GetBoundRect();
-/*N*/ pGroupObject->GetSnapRect();
-/*N*/ aTitleYAxisPosition = SetPointOfRectangle(pGroupObject->GetBoundRect(), eAdjustYAxesTitle);
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/
-/*N*/ pGroupObject = GetObjWithId(CHOBJID_DIAGRAM_TITLE_Z_AXIS, *pPage);
-/*N*/ if (pGroupObject != NULL)
-/*N*/ {
-/*N*/ aTitleZAxisPosition = SetPointOfRectangle(pGroupObject->GetBoundRect(), eAdjustXAxesTitle);
-/*N*/ DeleteObject(pGroupObject);
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart(), Wertebereichueberpruefung mit MsgBox
-|*
-\************************************************************************/
-/*N*/ BOOL ChartModel::CheckRanges(BOOL bCheckAlways)
-/*N*/ {
-/*N*/ //ToDo:CHOBJID_DIAGRAM_B_AXIS
-/*N*/ BOOL bOK=TRUE;
-/*N*/ if ((eChartStyle != eOldChartStyle) || (bCheckAlways))
-/*N*/ {
-/*N*/ if ((pChartYAxis->GetMin() < 0.0) && (pChartYAxis->GetMax() > 0.0) && (!IsSignedChart()))
-/*N*/ {
-/*?*/ // FG: Falls ein Pointer auf ein Fenster uebergeben wird ist die Dialogbox nicht-modal
-/*?*/ // Nutzt man dies fuer Veraenderungen am Chart aus, stuertzt das Programm ab.
-/*?*/ // InfoBox aInfoBox(SFX_APP()->GetAppWindow(), String(SchResId(STR_ONLY_ABS_VALUES)));
-/*?*/ InfoBox aInfoBox(NULL, String(SchResId(STR_ONLY_ABS_VALUES)));
-/*?*/ aInfoBox.Execute();
-/*?*/ eOldChartStyle = eChartStyle;
-/*?*/ bOK=FALSE;
-/*N*/ }
-/*N*/ else if ((pChartYAxis->GetMin() < 0.0) && (!IsNegativeChart ()))
-/*N*/ {
-/*N*/ // FG: Falls ein Pointer auf ein Fenster uebergeben wird ist die Dialogbox nicht-modal
-/*N*/ // Nutzt man dies fuer Veraenderungen am Chart aus, stuertzt das Programm ab.
-/*N*/ // InfoBox aInfoBox(SFX_APP()->GetAppWindow(), String(SchResId(STR_NO_MIN_VALUES)));
-/*?*/ InfoBox aInfoBox(NULL, String(SchResId(STR_NO_MIN_VALUES)));
-/*?*/ aInfoBox.Execute();
-/*?*/ eOldChartStyle = eChartStyle;
-/*?*/ bOK=FALSE;
-/*N*/ }
-/*N*/ }
-/*N*/ return bOK;
-/*N*/ }
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart(), Chart-ReSizing
-|*
-\************************************************************************/
-/*N*/ void ChartModel::ResizeChart(const Size& rPageSize)
-/*N*/ {
-/*N*/ if (GetUseRelativePositions() && GetDiagramHasBeenMovedOrResized())
-/*N*/ {
-/*N*/ if ((rPageSize.Width() == aInitialSize.Width()) && (rPageSize.Height() == aInitialSize.Height()))
-/*N*/ { // Es war also ein Resize nur des Diagramms (also nur der Grafik und nicht der Seite)
-/*N*/ aChartRect= aDiagramRectangle;
-/*N*/ }
-/*N*/ else // Dann war es ein Resize des gesamten Charts
-/*N*/ {
- // The whole chart has been resized.
- // The old size aDiagramRectangle of the diagram has to fullfill the constraint
- // the it has to have a positive extent both in the horizontal and the vertical
- // direction.
- //
- // Previously the constraints to fullfill have been tighter:
- // All four border lines had to lie inside the chart rectangle.
-/*N*/ if ( (aDiagramRectangle.nLeft < aDiagramRectangle.nRight)
-/*N*/ && (aDiagramRectangle.nTop < aDiagramRectangle.nBottom) )
-/*N*/ {
-/*?*/ double fRelativeXPosition = ((double) aDiagramRectangle.Left()) / aInitialSize.Width();
-/*?*/ double fRelativeYPosition = ((double) aDiagramRectangle.Top()) / aInitialSize.Height();
-/*?*/ aChartRect.nLeft = (long)((double)rPageSize.Width() * fRelativeXPosition );
-/*?*/ aChartRect.nTop = (long)((double)rPageSize.Height() * fRelativeYPosition );
-/*?*/ fRelativeXPosition = ((double) aDiagramRectangle.Right()) / aInitialSize.Width();
-/*?*/ fRelativeYPosition = ((double) aDiagramRectangle.Bottom()) / aInitialSize.Height();
-/*?*/ aChartRect.nRight = (long)((double)rPageSize.Width() * fRelativeXPosition );
-/*?*/ aChartRect.nBottom = (long)((double)rPageSize.Height() * fRelativeYPosition );
-/*?*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ }
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart(),
-|*
-|* FG: Hier wird der Platz berechnet, den man als oberen Rand freilassen
-|* soll,falls keine Titel dargestellt werden.
-|*
-\************************************************************************/
-/*N*/ void ChartModel::CalculateUpperBorder()
-/*N*/ {
-/*N*/ if ((!bShowMainTitle && !bShowSubTitle))
-/*N*/ {
-/*N*/ BOOL bSwitchColRow = eChartStyle == CHSTYLE_2D_BAR ||
-/*N*/ eChartStyle == CHSTYLE_2D_STACKEDBAR ||
-/*N*/ eChartStyle == CHSTYLE_2D_PERCENTBAR ||
-/*N*/ eChartStyle == CHSTYLE_3D_BAR ||
-/*N*/ eChartStyle == CHSTYLE_3D_FLATBAR ||
-/*N*/ eChartStyle == CHSTYLE_3D_STACKEDFLATBAR ||
-/*N*/ eChartStyle == CHSTYLE_3D_PERCENTFLATBAR;
-/*N*/
-/*N*/ SfxItemSet aTextAttr((const SfxItemSet &)GetAttr(
-/*N*/ bSwitchColRow ?
-/*N*/ CHOBJID_DIAGRAM_X_AXIS
-/*N*/ : CHOBJID_DIAGRAM_Y_AXIS));
-/*N*/
-/*N*/ Size aTextSize (((SvxFontWidthItem &) aTextAttr.Get (EE_CHAR_FONTWIDTH)).GetWidth (),
-/*N*/ ((SvxFontHeightItem &) aTextAttr.Get (EE_CHAR_FONTHEIGHT)).GetHeight ());
-/*N*/
-/*N*/ aChartRect.Top () += aTextSize.Height () / 2;
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* Sub-Methode von BuildChart(), Chart-ReSizing
-|*
-\************************************************************************/
-/*N*/ void ChartModel::CreateRectsAndTitles(long whatTitle)
-/*N*/ {
-/*N*/ // FG: Abhaengig von der Groesse der Page, also der Ausgabe
-/*N*/ // werden die Raender erst mal auf 2% der jeweiligen Richtungsausdehnung gesetzt
-/*N*/ // abgespeichert wird das im ChartModel. Sollte ein Text uber den den linken
-/*N*/ // Rand zu weit hinausragen, also linker Rand OuterRect(SdrTextObj) < 0,
-/*N*/ // So wird entweder der Offset neu berechnet oder der Text veraendert.
-/*N*/ // Im Moment ist es nur moeglich den linken Rand nachzuregeln.
-/*N*/ SdrPage* pPage=GetPage(0);
-/*N*/ const Size& rPageSize=pPage->GetSize();
-/*N*/
-/*N*/ long nYOfs = (rPageSize.Height() / 100) * 2;
-/*N*/ long nXOfs = (rPageSize.Width() /100) * 2;
-/*N*/ USHORT nIndex = 0;
-/*N*/
-/*N*/ // #97159# the chart rect was set one unit too large in either direction
-/*N*/ aChartRect.SetPos( Point( 0, 0 ) );
-/*N*/ aChartRect.SetSize( rPageSize );
-/*N*/
-/*N*/ SchRectObj* pRect = new SchRectObj(aChartRect);
-/*N*/ pRect->SetModel( this );
-/*N*/ pPage->InsertObject(SetObjectAttr( pRect, CHOBJID_DIAGRAM_AREA,
-/*N*/ FALSE, TRUE, pDiagramAreaAttr), nIndex++);
-/*N*/
-/*N*/ aChartRect.Left() += nXOfs; // FG: Dies ist das Rechteck in das das Chart (also die Balken ...)
-/*N*/ aChartRect.Top() += nYOfs; // rein muss. Erst ist es maximal gross und dann wird immer
-/*N*/ aChartRect.Right() -= nXOfs; // mehr abgezwackt.
-/*N*/ aChartRect.Bottom() -= nYOfs;
-/*N*/
-/*N*/ Rectangle aWholeRect (aChartRect);
-/*N*/
-/*N*/ // Falls aInitialSize Null ist dann wird es auf die Seitengroesse gesetzt
-/*N*/ if( !aInitialSize.Width ()) aInitialSize.Width () = rPageSize.Width ();
-/*N*/ if( !aInitialSize.Height ()) aInitialSize.Height () = rPageSize.Height ();
-/*N*/
-/*N*/ // FG: Dieser Offset wird bei der Legende und den Diagrammtiteln gebraucht.
-/*N*/ // Er wird aus aesthetischen Gruenden verdoppelt.
-/*N*/ // Also ab jetzt oberer Rand nYOfs + Titel + 2*nYOfs + Unteritel + 2*nYOfs + Diagramm
-/*N*/ // Fuer die Legende gilt das fuer den X-Abstand.
-/*N*/ nXOfs *= 2; nYOfs *=2;
-/*N*/
-/*N*/ if (bTextScalable)
-/*N*/ ScaleText(whatTitle,rPageSize);
-/*N*/
-/*N*/ if (bShowMainTitle)
-/*N*/ DoShowMainTitle(nIndex,nYOfs);
-/*N*/
-/*N*/ if (bShowSubTitle)
-/*N*/ DoShowSubTitle(nIndex,nYOfs);
-/*N*/
-/*N*/ CalculateUpperBorder();
-/*N*/ DoShowLegend(aWholeRect,nXOfs,nYOfs,nIndex);
-/*N*/ ResizeChart(rPageSize);
-/*N*/ }
-/*************************************************************************
-|*
-|* gesamte Grafik erzeugen
-|*
-\************************************************************************/
-
-namespace
-{
-class lcl_MapModeResetGuard
-{
-public:
- lcl_MapModeResetGuard( OutputDevice * pOutDev ) :
- m_pOutDev( pOutDev ),
- m_aMapMode( pOutDev ? pOutDev->GetMapMode() : MapMode() )
- {}
-
- ~lcl_MapModeResetGuard()
- {
- if( m_pOutDev )
- m_pOutDev->SetMapMode( m_aMapMode );
- }
-
-private:
- OutputDevice * m_pOutDev;
- MapMode m_aMapMode;
-};
-
-}
-
-/*N*/ void ChartModel::BuildChart(BOOL bCheckRanges,long whatTitle)
-/*N*/ {
-/*N*/ RTL_LOGFILE_CONTEXT_AUTHOR (context, "sch", "af119097", "::ChartModel::BuildChart");
-/*N*/
-/*N*/ #ifdef DBG_UTIL
-/*N*/ ByteString aBStr( aMainTitle, RTL_TEXTENCODING_ASCII_US );
-/*N*/ CHART_TRACE1( "ChartModel::BuildChart (%s)", aBStr.GetBuffer());
-/*N*/ #endif
-/*N*/
-/*N*/ //kein setzen der p*Attr durch die Objekte
-/*N*/ SetAttrAutoStorage(FALSE);
-/*N*/
-/*N*/ if (bNoBuildChart)
-/*N*/ {
-/*N*/ bShouldBuildChart = TRUE;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ RTL_LOGFILE_CONTEXT_AUTHOR (context2,
-/*N*/ "sch", "af119097", "::ChartModel::BuildChart not locked");
-/*N*/ //nicht ganz so schön, aber vorteilhaft. Hiermit wird ein Itemset mit
-/*N*/ //Attributen gefüllt, die beim Einfügen etc. als default benutzt werden
-/*N*/ //(SetDefAttrRow). Da an dieser Stelle ein Defaultset erstellt wird, sind
-/*N*/ //auch Chart-globale Items gleich gesetzt (Shape3D, Fehlerbalken,Datenbeschriftung)
-/*N*/ //lediglich die Linien oder Flächenfarbe muss generiert werden!
-/*N*/ //Alternative: nur in ChangeChart defaults erstellen
-/*N*/ if( pChartData )
-/*N*/ {
-/*N*/ // in scatter charts the first series is for x values
-/*N*/ // so use first 'y-series' to copy attributes to new series
-/*N*/ if( IsXYChart())
-/*N*/ {
-/*N*/ if( GetRowCount() > 1 )
-/*N*/ pDummyAttr->Put( GetDataRowAttr( 1 ));
-/*N*/ }
-/*N*/ else
-/*N*/ if( GetRowCount() > 0 )
-/*N*/ pDummyAttr->Put( GetDataRowAttr( 0 ));
-/*N*/ }
-/*N*/
-/*N*/ //Hotfix für OLE-Charts #54884# Die Wurzel des Übels liegt möglicherweise irgendwo anders!
-/*N*/ if(!pRefOutDev)
-/*N*/ {
-/*?*/ if(pChartRefOutDev)
-/*?*/ {
-/*?*/ OSL_FAIL("ChartModel::BuildChart: restoring lost pRefOutDev... something strange happend!");
-/*?*/ SetRefDevice(pChartRefOutDev);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ CHART_TRACE( "ChartModel::BuildChart no pRefOutDev!" );
-/*?*/ if( pDocShell )
-/*?*/ {
-/*?*/ // this is a valid upcast, because we 'know' that the
-/*?*/ // pDocShell member is always a SchChartDocShell
-/*?*/ OutputDevice * pOutDev = static_cast< SchChartDocShell * >( pDocShell )->GetRefDevice();
-/*?*/ SetRefDevice( pOutDev );
-/*?*/ GetOutliner()->SetRefDevice( pOutDev );
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ OutputDevice* pOut = Application::GetDefaultDevice();
-/*?*/ // this is no error: if a ChartModel is copied via clipboard there is no docshell
-/*?*/ // OSL_FAIL("ChartModel::BuildChart : no Docshell! (OutputDevice)");
-/*?*/ pChartRefOutDev = new VirtualDevice( *pOut );
-/*?*/ MapMode aMapMode = pChartRefOutDev->GetMapMode();
-/*?*/ aMapMode.SetMapUnit(MAP_100TH_MM);
-/*?*/ pChartRefOutDev->SetMapMode(aMapMode);
-/*?*/ SetRefDevice(pChartRefOutDev);
-/*?*/ GetOutliner()->SetRefDevice(pChartRefOutDev);
-/*?*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ CheckRanges(bCheckRanges);
-/*N*/
-/*N*/ if( !pChartData ) // create default chart if no chart exists so far
-/*N*/ InitChartData();
-/*N*/
-/*N*/ if (GetColCount() && GetRowCount())
-/*N*/ {
-/*N*/ SdrPage* pPage = GetPage(0);
-/*N*/ if (pPage)
-/*N*/ {
-/*N*/ //#61431# MapMode speichern, am Ende BuildCharts restaurieren
-/*N*/
-/*N*/ // remember the MapMode of the Printer and restore it at the end
-/*N*/ // of the current block, because it may be changed later in this
-/*N*/ // method (AdjustPrinter)
-/*N*/ lcl_MapModeResetGuard aPrinterMapModeGuard(
-/*N*/ static_cast< SchChartDocShell * >( GetObjectShell() )->GetPrinter() );
-/*N*/
-/*N*/ AdjustPrinter();
-/*N*/
-/*N*/ // FG : DAs hier braucht es weil bei 3D-Charts der Bildchsimraufbau von der ChartScene
-/*N*/ // erst beim ersten Paint initiiert wird. Erst dann werden die Achsentitel ausgegeben
-/*N*/ // da ist aber BuildChart, aInitialSize=aPageSize setzt schon gelaufen. Deshalb diese
-/*N*/ // "Chart-Globale" Variable;
-/*N*/ aInitialSizefor3d = aInitialSize;
-/*N*/
-/*N*/ // ItemSet mit entspr. Bereich anlegen
-/*N*/ SfxItemSet aSet( GetItemPool(),
-/*N*/ SDRATTR_3DSCENE_FIRST, SDRATTR_3DSCENE_LAST);
-/*N*/ BOOL bItemSetUsed = FALSE;
-/*N*/
-/*N*/ if( pScene )
-/*N*/ {
-/*N*/ aSet.Put(pScene->GetItemSet());
-/*N*/ bItemSetUsed = TRUE;
-/*N*/ aSceneMatrix = pScene->GetTransform();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ SdrObject* pLoadedScene = GetObjWithId(CHOBJID_DIAGRAM, *pPage);
-/*N*/ if (pLoadedScene && pLoadedScene->ISA(E3dPolyScene))
-/*N*/ {
-/*N*/ aSet.Put(pLoadedScene->GetItemSet());
-/*N*/ bItemSetUsed = TRUE;
-/*N*/ aSceneMatrix = ((E3dPolyScene*) pLoadedScene)->GetTransform();
-/*N*/ Rescue3DObjAttr(pLoadedScene->GetSubList()); //#52277#
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ DeleteChartObjects();
-/*N*/ Size aPageSize = pPage->GetSize();
-/*N*/
-/*N*/ SdrObjGroup *pObj = NULL;
-/*N*/ BOOL bNeedSetDiagram=FALSE;
-/*N*/
-/*N*/ // if type addin is set the core CreateChart shoudln't be called
-/*N*/ // if an addin is used together with a base diagram type the base
-/*N*/ // type should be set as chart type here (!= CHSTYLE_ADDIN)
-/*N*/ if( eChartStyle != CHSTYLE_ADDIN )
-/*N*/ {
-/*N*/ // core CreateChart
-/*N*/ CreateRectsAndTitles(whatTitle);
-/*N*/
-/*N*/ if(bResizePie && IsPieChart() && IsReal3D())
-/*N*/ {
-/*N*/ long nWidth=aChartRect.GetWidth();
-/*N*/ long nHeight=aChartRect.GetHeight();
-/*N*/ if( ((double)nHeight/(double)nWidth) > 0.5 )
-/*N*/ {
-/*?*/ bNeedSetDiagram=TRUE;
-/*?*/ aChartRect.Top()+=nHeight/4;
-/*?*/ aChartRect.Bottom()-=nHeight/4;
-/*?*/ SetDiagramHasBeenMovedOrResized(TRUE);
-/*?*/ SetUseRelativePositions(TRUE);
-/*?*/ bResizePie=FALSE;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pObj = CreateChart(aChartRect);
-/*N*/
-/*N*/ if (pObj->ISA(SchObjGroup))
-/*N*/ {
-/*N*/ ((SchObjGroup *)pObj)->SetModel(this);
-/*N*/ ((SchObjGroup *)pObj)->SetGroupIsChart();
-/*N*/ }
-/*N*/
-/*N*/ pPage->NbcInsertObject(pObj, 1);
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ // ====================
-/*N*/ // call AddIn if required
-/*N*/ // ====================
-/*N*/ if( mbIsInitialized &&
-/*N*/ mxChartAddIn.is())
-/*N*/ {
-/*?*/ // avoid recursion
-/*?*/ if( ! GetChartStatusFlag( CHS_NO_ADDIN_REFRESH ))
-/*?*/ {
-/*?*/ SetChartStatusFlag( CHS_NO_ADDIN_REFRESH );
-/*?*/ try
-/*?*/ {
-/*?*/ mxChartAddIn->refresh();
-/*?*/ }
-/*?*/ catch( ::com::sun::star::uno::Exception aEx )
-/*?*/ {
-/*?*/ #ifdef DBG_UTIL
-/*?*/ // convert ::rtl::OUString => tools String => ByteString
-/*?*/ String aStr( aEx.Message );
-/*?*/ ByteString aTmpBStr( aStr, RTL_TEXTENCODING_ASCII_US );
-/*?*/ OSL_TRACE( "AddIn threw exception during refresh(): %s", aTmpBStr.GetBuffer());
-/*?*/ #endif
-/*?*/ }
-/*?*/ ResetChartStatusFlag( CHS_NO_ADDIN_REFRESH );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ aInitialSize = aPageSize;
-/*N*/
-/*N*/ if(pScene && IsReal3D() )
-/*N*/ {
-/*N*/
-/*N*/ #ifndef NO_56798_FIX //#56798# QuickFix 5.0-Final
-/*N*/
-/*N*/ if(bClearDepth)
-/*N*/ {
-/*N*/ aSet.ClearItem(SDRATTR_3DOBJ_DEPTH);
-/*N*/ bClearDepth=FALSE;
-/*N*/ }
-/*N*/ #endif
-/*N*/
-/*?*/ aSet.ClearItem(SDRATTR_3DOBJ_DOUBLE_SIDED); //#56941#
-/*?*/ aSet.ClearItem(SDRATTR_3DOBJ_HORZ_SEGS);
-/*N*/
-/*N*/ if(bItemSetUsed)
-/*N*/ {
-/*N*/ //funktioniert nur, wenn nicht durch vorherigen Aufruf (CheckRanges) eine MsgBox entstand
-/*N*/ if(eChartStyle != eOldChartStyle)
-/*N*/ {
-/*N*/ // Falls sich der ChartStyle aendert, die Extrude-Tiefe
-/*N*/ // auf unfueltig setzen
-/*N*/ const SfxPoolItem* pPoolItem = NULL;
-/*N*/ SfxItemState eState = aSet.GetItemState(SDRATTR_3DOBJ_DEPTH, FALSE, &pPoolItem);
-/*N*/ if(eState == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ // Ist gesetzt, invalidiere
-/*N*/ aSet.InvalidateItem(SDRATTR_3DOBJ_DEPTH);
-/*N*/ CHART_TRACE( "Chart: Invalidating saveable item ..." );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // Attribute an neuer Szene setzen
-/*N*/ pScene->SetItemSet(aSet);
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ pScene->NbcSetTransform(aSceneMatrix);
-/*N*/
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/ if(!IsPieChart())
-/*N*/ {
-/*N*/ if(pChartXAxis->HasDescription())
-/*N*/ {
-/*N*/ if(GetAttr(CHOBJID_DIAGRAM_X_AXIS).GetItemState( SCHATTR_TEXT_OVERLAP, FALSE, &pPoolItem ) >= SFX_ITEM_AVAILABLE )
-/*N*/ {
-/*N*/ if(!( (const SfxBoolItem*) pPoolItem)->GetValue())
-/*N*/ pScene->ReduceDescrList(aXDescrList);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(pChartYAxis->HasDescription())
-/*N*/ {
-/*N*/ if(GetAttr(CHOBJID_DIAGRAM_Y_AXIS).GetItemState( SCHATTR_TEXT_OVERLAP, FALSE, &pPoolItem ) >= SFX_ITEM_AVAILABLE )
-/*N*/ {
-/*N*/ if(!( (const SfxBoolItem*) pPoolItem)->GetValue())
-/*N*/ pScene->ReduceDescrList(aYDescrList);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(pChartZAxis->HasDescription())
-/*N*/ {
-/*N*/ if(GetAttr(CHOBJID_DIAGRAM_Z_AXIS).GetItemState( SCHATTR_TEXT_OVERLAP, FALSE, &pPoolItem ) >= SFX_ITEM_AVAILABLE )
-/*N*/ {
-/*N*/ if(!( (const SfxBoolItem*) pPoolItem)->GetValue())
-/*N*/ pScene->ReduceDescrList(aZDescrList);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ if(bNeedSetDiagram && pScene)
-/*N*/ {
-/*?*/ Rectangle aRectangle;
-/*?*/ aRectangle = pScene->GetSnapRect();
-/*?*/ ((ChartScene *)pObj)->SetAskForLogicRect(FALSE);
-/*?*/ SetDiagramRectangle(aRectangle);
-/*?*/ SetDiagramHasBeenMovedOrResized(TRUE);
-/*N*/ }
-/*N*/
-/*N*/ //#61431# MapMode speichern, am Ende BuildCharts restaurieren
-/*N*/
-/*N*/ // the MapMode of the RefDevice is restored by the
-/*N*/ // lcl_MapModeResetGuard
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ //Jetzt sollen sich die Objekte wieder drum kümmern, da?das Model die Attribute erhält
-/*N*/ SetAttrAutoStorage(TRUE);
-/*N*/ SetDiagramRectangle( aChartRect );
-/*N*/ eOldChartStyle = eChartStyle;
-/*N*/
-/*N*/ // notify build to listeners
-/*N*/ Broadcast( SchReBuildHint());
-/*N*/ }
-
-
-
-/*N*/ void ChartModel::SetUseRelativePositions (BOOL value)
-/*N*/ {
-/*N*/ if (value == FALSE)
-/*N*/ {
-/*N*/ SetDiagramHasBeenMovedOrResized(FALSE);
-/*N*/ SetMainTitleHasBeenMoved(FALSE);
-/*N*/ SetSubTitleHasBeenMoved(FALSE);
-/*N*/ SetLegendHasBeenMoved(FALSE);
-/*N*/ SetXAxisTitleHasBeenMoved(FALSE);
-/*N*/ SetYAxisTitleHasBeenMoved(FALSE);
-/*N*/ SetZAxisTitleHasBeenMoved(FALSE);
-/*N*/ if((IsReal3D() && IsPieChart()))
-/*N*/ {
-/*?*/ Matrix4D aMatrix; //Reset der Matrix.... könnte man auch grundsätzlich machen?
-/*?*/ aMatrix.RotateX(-F_PI/3);
-/*?*/ aSceneMatrix=aMatrix;
-/*?*/ if(pScene)
-/*?*/ pScene->NbcSetTransform(aSceneMatrix);
-/*?*/ bResizePie=TRUE;
-/*N*/ }
-/*N*/ }
-/*N*/ bUseRelativePositionsForChartGroups = value;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* bestimme Varianz
-|*
-\************************************************************************/
-
-
-/*N*/ double ChartModel::GetVariantY (long nRow)
-/*N*/ {
-/*N*/ long nColCnt = GetColCount();
-/*N*/
-/*N*/ if (nColCnt)
-/*N*/ {
-/*N*/ double fSum = 0.0;
-/*N*/ double fQuadSum = 0.0;
-/*N*/ long nValidCols = nColCnt;
-/*N*/
-/*N*/ for (long nCol = 0;
-/*N*/ nCol < nColCnt;
-/*N*/ nCol ++)
-/*N*/ {
-/*N*/ double fData = GetData ((short) nCol, (short) nRow, FALSE);
-/*N*/
-/*N*/ if( fData == DBL_MIN )
-/*N*/ {
-/*N*/ nValidCols--;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ fSum += fData;
-/*N*/ fQuadSum += fData * fData;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return nValidCols? (fQuadSum - fSum*fSum / (double)nValidCols) / (double)nValidCols: DBL_MIN;
-/*N*/ }
-/*N*/ else return 0;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* bestimme Varianz
-|*
-\************************************************************************/
-
-
-/*N*/ double ChartModel::GetSigmaY (long nRow)
-/*N*/ {
-/*N*/ return sqrt (GetVariantY (nRow));
-/*N*/ }
-
-/*************************************************************************
-|*
-|* bestimme Fehler des groessten Wertes
-|*
-\************************************************************************/
-
-
-/*N*/ double ChartModel::GetBigErrorY (long nRow,
-/*N*/ double fError)
-/*N*/ {
-/*N*/ double fMax = 0.0;
-/*N*/ long nColCnt = GetColCount();
-/*N*/
-/*N*/ for (long nCol = 0;
-/*N*/ nCol < nColCnt;
-/*N*/ nCol ++)
-/*N*/ {
-/*N*/ double fData = GetData ((short) nCol, (short) nRow, FALSE);
-/*N*/
-/*N*/ if (fData != DBL_MIN)
-/*N*/ if (fData > fMax) fMax = fData;
-/*N*/ }
-/*N*/
-/*N*/ return fMax * fError / 100.0;
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode5.cxx b/binfilter/bf_sch/source/core/sch_chtmode5.cxx
deleted file mode 100644
index 022360fc8..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode5.cxx
+++ /dev/null
@@ -1,383 +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.
- *
- ************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-
-#include <bf_svx/svdorect.hxx>
-
-#include "schattr.hxx"
-#include "memchrt.hxx"
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-
-
-#endif
-
-#ifndef _CHTMODEL_HXX
-#endif
-#include <bf_svx/svxids.hrc>
-#include <math.h>
-#include <float.h>
-#include "glob.hrc"
-
-#include "globfunc.hxx"
-#include "pairs.hxx"
-
-#ifndef _ZFORLIST_HXX
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#include <bf_svtools/zforlist.hxx>
-#endif
-namespace binfilter {
-
-
-/*************************************************************************
-|*
-|* Chart-Objekt ermitteln;
-|* Es koennen nur Objekte ermittelt werden, von denen es jeweils
-|* EIN Exemplar gibt.
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Chartdaten auslesen //Angepasst an Umsortierunng
-|*
-\************************************************************************/
-
-/*N*/ double ChartModel::GetData(long nCol,long nRow,BOOL bPercent,BOOL bRowData) const
-/*N*/ {
-/*N*/ double fData = IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? pChartData->GetTransData(nRow, nCol)
-/*N*/ : pChartData->GetTransData(nCol, nRow);
-/*N*/
-/*N*/ if ((fData == DBL_MIN) || !bPercent) return fData;
-/*N*/ else
-/*N*/ {
-/*N*/ return IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? pChartData->GetTransDataInPercent(nRow,nCol,!bRowData)
-/*N*/ : pChartData->GetTransDataInPercent(nCol,nRow,bRowData);
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Datenpunkt-Objekt ermitteln
-|*
-\************************************************************************/
-
-/*N*/ SdrObject* ChartModel::GetDataPointObj(long nCol, long nRow)
-/*N*/ {
-/*?*/ SdrPage* pPage = GetPage(0);
-/*?*/ DBG_ASSERT(pPage, "ChartModel::GetDataPointObj:Keine Seite vorhanden!");
-/*?*/
-/*?*/ SdrObjGroup* pDiagram =
-/*?*/ (SdrObjGroup*)GetObjWithId(CHOBJID_DIAGRAM, *pPage);
-/*?*/ DBG_ASSERT(pDiagram, "ChartModel::GetDataPointObj:Kein Diagramm-Objekt vorhanden!");
-/*?*/
-/*?*/ SdrObject* pObj =
-/*?*/ GetObjWithColRow(nCol, nRow, *pDiagram->GetSubList());
-/*?*/
-/*?*/ if (!pObj)
-/*?*/ {
-/*?*/ SdrObjGroup* pDataRow =
-/*?*/ (SdrObjGroup*)GetObjWithRow(nRow, *pDiagram->GetSubList());
-/*?*/
-/*?*/ if(pDataRow)
-/*?*/ pObj = GetObjWithColRow(nCol, nRow, *pDataRow->GetSubList());
-/*?*/ else
-/*?*/ OSL_TRACE("ChartModel::GetDataPointObj:Datenreihen-Objekt nicht gefunden!");
-/*?*/ }
-/*?*/
-/*?*/ return pObj;
-/*N*/ }
-/*************************************************************************
-|*
-|* für SP2 #66110# bzw. #61907#
-|*
-\************************************************************************/
-/*N*/ void ChartModel::SetChartDataBuffered(SchMemChart& rData, BOOL bNewTitles)
-/*N*/ {
-/*N*/ if( pChartDataBuffered )
-/*N*/ delete pChartDataBuffered;
-/*N*/
-/*N*/ pChartDataBuffered = NULL;
-/*N*/
-/*N*/ SetChartData(*new SchMemChart(rData), bNewTitles);
-/*N*/ BuildChart (TRUE);
-/*N*/ }
-
-
-
-/*************************************************************************
-|*
-|* neue Chart-Datenstruktur setzen; bisherige wird ggf. geloescht
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::SetChartData(SchMemChart& rData, BOOL bNewTitles)
-/*N*/ {
-/*N*/ if (pChartData != &rData)
-/*N*/ {
-/*N*/ BOOL bWasData;
-/*N*/ long nOldRowCount = 0;
-/*N*/ long nOldColumnCount = 0;
-/*N*/
-/*N*/ if (pChartData)
-/*N*/ {
-/*N*/ nOldRowCount = pChartData->GetRowCount();
-/*N*/ nOldColumnCount = pChartData->GetColCount();
-/*N*/ if(pChartData->DecreaseRefCount())
-/*N*/ delete pChartData;
-/*N*/
-/*N*/ bWasData = TRUE;
-/*N*/ }
-/*N*/ else
-/*N*/ bWasData = FALSE;
-/*N*/
-/*N*/ pChartData = &rData;
-/*N*/ pChartData->IncreaseRefCount();
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/
-/*N*/ if (!bWasData || bNewTitles)
-/*N*/ {
-/*N*/ aMainTitle = pChartData->GetMainTitle();
-/*N*/ aSubTitle = pChartData->GetSubTitle();
-/*N*/ aXAxisTitle = pChartData->GetXAxisTitle();
-/*N*/ aYAxisTitle = pChartData->GetYAxisTitle();
-/*N*/ aZAxisTitle = pChartData->GetZAxisTitle();
-/*N*/ }
-/*N*/
-/*N*/ InitDataAttrs();
-/*N*/
-/*N*/ if( rData.GetNumberFormatter() )
-/*N*/ {
-/*N*/ SvNumberFormatter* pNewFormatter = rData.GetNumberFormatter();
-/*N*/ if( pNewFormatter != pNumFormatter )
-/*N*/ {
-/*N*/ // merge numberformatters:
-/*N*/ // merge old one to new one and set new one as member
-/*N*/ if( pNewFormatter && pNumFormatter )
-/*N*/ {
-/*N*/ SvNumberFormatterIndexTable* pTransTable =
-/*N*/ pNewFormatter->MergeFormatter( *pNumFormatter );
-/*N*/
-/*N*/ SetNumberFormatter( pNewFormatter );
-/*N*/
-/*N*/ if( pTransTable && pTransTable->Count() )
-/*N*/ {
-/*N*/ TranslateAllNumFormatIds( pTransTable );
-/*N*/ }
-/*N*/ }
-/*N*/ else if( pNewFormatter )
-/*N*/ {
-/*?*/ SetNumberFormatter( pNewFormatter );
-/*N*/ }
-/*N*/ }
-/*N*/ CheckForNewAxisNumFormat();
-/*N*/ }
-/*N*/
-/*N*/ if( (nOldRowCount != nRowCnt) ||
-/*N*/ (nOldColumnCount != nColCnt ))
-/*N*/ {
-/*N*/ DataRangeChanged( nOldRowCount, nOldColumnCount );
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* Erstelle Diagrammtitel
-|*
-\************************************************************************/
-
-/*N*/ SdrTextObj *ChartModel::CreateTitle (SfxItemSet *pInTitleAttr,
-/*N*/ short nID,
-/*N*/ BOOL bSwitchColRow,
-/*N*/ const String &rText,
-/*N*/ BOOL bVert,
-/*N*/ ChartAdjust *pTextDirection)
-/*N*/ {
-/*N*/ DBG_ASSERT (pTextDirection, "ChartModel::CreateTitle:Titel-Erzeugung ohne Text-Ausrichtungsinformation");
-/*N*/ if (pTextDirection == NULL) return NULL; //FG: sonst Absturz
-/*N*/
-/*N*/ SfxItemSet aTextAttr(*pItemPool, nTitleWhichPairs);
-/*N*/ SvxChartTextOrient eOrient = ((const SvxChartTextOrientItem&)pInTitleAttr->Get(SCHATTR_TEXT_ORIENT)).GetValue();
-/*N*/
-/*N*/ if (bVert)
-/*N*/ {
-/*N*/ if (bSwitchColRow)
-/*N*/ {
-/*N*/ *pTextDirection = CHADJUST_BOTTOM_CENTER;
-/*N*/ if (eOrient == CHTXTORIENT_AUTOMATIC) eOrient = CHTXTORIENT_STANDARD;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ *pTextDirection= CHADJUST_CENTER_LEFT;
-/*N*/ if (eOrient == CHTXTORIENT_AUTOMATIC) eOrient = CHTXTORIENT_BOTTOMTOP;
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ *pTextDirection = bSwitchColRow ? CHADJUST_CENTER_LEFT : CHADJUST_BOTTOM_CENTER;
-/*N*/ if (eOrient == CHTXTORIENT_AUTOMATIC)
-/*N*/ {
-/*N*/ eOrient = bSwitchColRow ? CHTXTORIENT_BOTTOMTOP : CHTXTORIENT_STANDARD;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ aTextAttr.Put(*pInTitleAttr);
-/*N*/ aTextAttr.Put(SvxChartTextOrientItem(eOrient));
-/*N*/
-/*N*/ // Seit 4/1998 koennen Texte frei gedreht werden: SCHATTR_TEXT_DEGREES
-/*N*/ // Hier wird ein Wert nachgetragen, falls CHTXTORIENT_AUTOMATIC
-/*N*/ // im Attribut stehen sollte und noch kein Winkel gesetzt wurde
-/*N*/ // ... bisher ohne auswirkung ...? ... evtl. an dieser Stelle unnoetig
-/*N*/ GetTextRotation(aTextAttr,eOrient);
-/*N*/
-/*N*/ return CreateTextObj (nID, Point(), rText,
-/*N*/ aTextAttr, TRUE, *pTextDirection);
-/*N*/ }
-/*************************************************************************
-|*
-|* Extractor fuer SvStream zum Laden
-|*
-\************************************************************************/
-
-/*N*/ BOOL ChartModel::ChangeStatistics (const SfxItemSet &rInAttrs)
-/*N*/ {
-/*N*/ long nRowCnt = IsPieChart()
-/*N*/ ? GetColCount()
-/*N*/ : GetRowCount();
-/*N*/
-/*N*/ for( long nRow = 0;
-/*N*/ nRow < nRowCnt;
-/*N*/ nRow++ )
-/*N*/ PutDataRowAttr( nRow, rInAttrs );
-/*N*/
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/ BOOL bLclChanged = FALSE;
-/*N*/
-/*N*/ if (rInAttrs.GetItemState(SCHATTR_STAT_AVERAGE, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ bShowAverage = ((const SfxBoolItem*) pPoolItem)->GetValue();
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if (rInAttrs.GetItemState(SCHATTR_STAT_KIND_ERROR, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ eErrorKind = (SvxChartKindError) ((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if (rInAttrs.GetItemState(SCHATTR_STAT_PERCENT, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ fIndicatePercent = ((const SvxDoubleItem*) pPoolItem)->GetValue();
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if (rInAttrs.GetItemState(SCHATTR_STAT_BIGERROR, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ fIndicateBigError = ((const SvxDoubleItem*) pPoolItem)->GetValue();
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if (rInAttrs.GetItemState(SCHATTR_STAT_CONSTPLUS, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ fIndicatePlus = ((const SvxDoubleItem*) pPoolItem)->GetValue();
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if (rInAttrs.GetItemState(SCHATTR_STAT_CONSTMINUS, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ fIndicateMinus = ((const SvxDoubleItem*) pPoolItem)->GetValue();
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if (rInAttrs.GetItemState(SCHATTR_STAT_INDICATE, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*?*/ eIndicate = (SvxChartIndicate) ((const SfxInt32Item*) pPoolItem)->GetValue();
-/*?*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if (rInAttrs.GetItemState(SCHATTR_STAT_REGRESSTYPE, TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ {
-/*N*/ eRegression = (SvxChartRegress) ((const SfxInt32Item*) pPoolItem)->GetValue();
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if( bLclChanged )
-/*N*/ {
-/*N*/ BuildChart( FALSE );
-/*N*/ }
-/*N*/
-/*N*/ return bLclChanged;
-/*N*/ }
-
-/*N*/ void ChartModel::DataRangeChanged( long /*_nOldRowCnt*/ , long /*_nOldColCnt*/ )
-/*N*/ {
-/*N*/ if( Is3DChart() )
-/*N*/ {
-/*N*/ // delete depth-attributes for 3d charts
-/*N*/ size_t i, nCount = aDataRowAttrList.size();
-/*N*/ SfxItemSet* pAttributes;
-/*N*/
-/*N*/ for( i=0; i<nCount; i++ )
-/*N*/ aDataRowAttrList[ i ]->ClearItem(SDRATTR_3DOBJ_DEPTH);
-/*N*/
-/*N*/ nCount = aDataPointAttrList.size();
-/*N*/ for( i=0; i < nCount; i++ )
-/*N*/ {
-/*N*/ pAttributes = aDataPointAttrList[ i ];
-/*N*/ if (pAttributes != NULL)
-/*?*/ pAttributes->ClearItem(SDRATTR_3DOBJ_DEPTH);
-/*N*/ }
-/*N*/
-/*N*/ nCount = aSwitchDataPointAttrList.size();
-/*N*/ for( i=0; i < nCount; i++ )
-/*N*/ {
-/*N*/ pAttributes = aSwitchDataPointAttrList[ i ];
-/*N*/ if (pAttributes != NULL)
-/*?*/ pAttributes->ClearItem(SDRATTR_3DOBJ_DEPTH);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode6.cxx b/binfilter/bf_sch/source/core/sch_chtmode6.cxx
deleted file mode 100644
index bbc7b747d..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode6.cxx
+++ /dev/null
@@ -1,287 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <bf_svx/eeitem.hxx>
-//svdraw.hxx
-#define _SDR_NOITEMS
-#define _SDR_NOTOUCH
-#define _SDR_NOTRANSFORM
-//#define _SDR_NOOBJECTS
-//#define _SDR_NOVIEWS ***
-
-//#define SI_NOITEMS
-//#define SI_NODRW
-#define _SI_NOSBXCONTROLS
-#define _SI_NOOTHERFORMS
-#define _SI_NOCONTROL
-#define _SI_NOSBXCONTROLS
-
-#include <bf_svx/xdef.hxx>
-
-#ifndef _SV_MENU_HXX //autogen
-#endif
-
-#include "schattr.hxx"
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-
-#define ITEMID_FONT EE_CHAR_FONTINFO
-#define ITEMID_COLOR EE_CHAR_COLOR
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-
-#include <string.h> // memset
-
-#include <bf_svx/dialogs.hrc>
-
-#ifndef _CHTMODEL_HXX
-#endif
-
-#include "docshell.hxx"
-
-
-
-
-
-
-#include <bf_sfx2/printer.hxx>
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* MapMode des Printers auf Seitengroesse einstellen
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::AdjustPrinter()
-/*N*/ {
-/*N*/ SchChartDocShell* pDocSh = (SchChartDocShell*) pDocShell;
-/*N*/
-/*N*/ if (!pDocSh)
-/*N*/ {
-/*?*/ pDocSh = PTR_CAST(SchChartDocShell, SfxObjectShell::Current());
-/*N*/ }
-/*N*/
-/*N*/ if (pDocSh)
-/*N*/ {
-/*N*/ SfxPrinter* pPrinter = pDocSh->GetPrinter();
-/*N*/
-/*N*/ if (pPrinter && pPrinter->IsValid())
-/*N*/ {
-/*N*/ MapMode aOldMap = pPrinter->GetMapMode();
-/*N*/ MapMode aMap(aOldMap);
-/*N*/ aMap.SetMapUnit(MAP_100TH_MM);
-/*N*/ aMap.SetScaleX(Fraction(1,1));
-/*N*/ aMap.SetScaleY(Fraction(1,1));
-/*N*/ pPrinter->SetMapMode(aMap);
-/*N*/ Size aPrintSize = pPrinter->GetOutputSize();
-/*N*/
-/*N*/ SdrPage* pPage = GetPage( 0 );
-/*N*/ DBG_ASSERT( pPage, "Invalid Page!" );
-/*N*/
-/*N*/ Size aPageSize( 0, 0 );
-/*N*/ long nPageWidth = 0,
-/*N*/ nPageHeight = 0;
-/*N*/
-/*N*/ if( pPage )
-/*N*/ {
-/*N*/ aPageSize = pPage->GetSize();
-/*N*/ nPageWidth = aPageSize.Width();
-/*N*/ nPageHeight = aPageSize.Height();
-/*N*/ }
-/*N*/
-/*N*/ const long nPrintWidth = aPrintSize.Width();
-/*N*/ const long nPrintHeight= aPrintSize.Height();
-/*N*/
-/*N*/ if( nPageHeight > 0 &&
-/*N*/ nPageWidth > 0 &&
-/*N*/ nPrintHeight > 0 &&
-/*N*/ nPrintWidth > 0 )
-/*N*/ {
-/*N*/ // landscape mode
-/*N*/ if( pPrinter->GetOrientation() == ORIENTATION_LANDSCAPE )
-/*N*/ {
-/*?*/ double fVert = (double)nPrintWidth / (double)nPageWidth;
-/*?*/ double fHorz = (double)nPrintHeight / (double)nPageHeight;
-/*?*/ BOOL bVert;
-/*?*/
-/*?*/ // bestimmung, welche richtung das hauptgewicht der skalierung hat. dazu werden
-/*?*/ // papier- und seitengroesse verglichen und nach der richtung mit der geringeren
-/*?*/ // abweichung (1:1) wird die skalierung bestimmt.
-/*?*/ // bVert bestimmt nachfolgend die einpassung in das papier, je nachdem, ob das
-/*?*/ // chart im hochformat oder quer ausgerichtet (nicht gedruckt !) ist.
-/*?*/ //
-/*?*/ if (fHorz < 1.0)
-/*?*/ if (fVert < 1.0)
-/*?*/ {
-/*?*/ // wird in jede richtung vergroessert
-/*?*/ bVert = fHorz < fVert;
-/*?*/ Fraction aFract = bVert
-/*?*/ ? Fraction( nPrintWidth, nPageWidth )
-/*?*/ : Fraction( nPrintHeight,nPageHeight );
-/*?*/
-/*?*/ aMap.SetScaleX(aFract);
-/*?*/ aMap.SetScaleY(aFract);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ // horizontal verkleinert, vertikal vergroessert
-/*?*/ bVert = (fVert - 1.0) < (1.0 - fHorz);
-/*?*/ Fraction aFract = bVert
-/*?*/ ? Fraction( nPrintWidth, nPageWidth )
-/*?*/ : Fraction( nPrintHeight,nPageHeight );
-/*?*/
-/*?*/ aMap.SetScaleX(aFract);
-/*?*/ aMap.SetScaleY(aFract);
-/*?*/ }
-/*?*/ else if (fVert < 1.0)
-/*?*/ {
-/*?*/ // vertikal verkleinert, horizontal vergroessert
-/*?*/ bVert = (1.0 - fVert) < (fHorz - 1.0);//TEST2
-/*?*/ Fraction aFract = bVert
-/*?*/ ? Fraction( nPrintWidth, nPageWidth )
-/*?*/ : Fraction( nPrintHeight,nPageHeight );
-/*?*/
-/*?*/ aMap.SetScaleX(aFract);
-/*?*/ aMap.SetScaleY(aFract);
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ // wird in jede richtung verkleinert
-/*?*/ bVert = fVert < fHorz;
-/*?*/ Fraction aFract = bVert
-/*?*/ ? Fraction( nPrintWidth, nPageWidth )
-/*?*/ : Fraction( nPrintHeight,nPageHeight );
-/*?*/
-/*?*/ aMap.SetScaleX(aFract);
-/*?*/ aMap.SetScaleY(aFract);
-/*?*/ }
-/*?*/
-/*?*/ if (bVert)
-/*?*/ {
-/*?*/ Fraction aYFract = aMap.GetScaleY ();//TEST1,2
-/*?*/
-/*?*/ aMap.SetOrigin(Point(0, (aPrintSize.Height () - aPageSize.Height () * aYFract.GetNumerator () / aYFract.GetDenominator ()) /
-/*?*/ 2 * aYFract.GetDenominator () / aYFract.GetNumerator ()));
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ Fraction aXFract = aMap.GetScaleX ();
-/*?*/
-/*?*/ aMap.SetOrigin(Point((aPrintSize.Width () - aPageSize.Width () * aXFract.GetNumerator () / aXFract.GetDenominator ()) /
-/*?*/ 2 * aXFract.GetDenominator () / aXFract.GetNumerator (), 0));
-/*?*/ }
-/*?*/ }
-/*N*/ // portrait mode
-/*N*/ else
-/*N*/ {
-/*N*/ double fHorz = (double)nPrintWidth / (double)nPageWidth;
-/*N*/ double fVert = (double)nPrintHeight / (double)nPageHeight;
-/*N*/ BOOL bHorz;
-/*N*/
-/*N*/ if (fHorz < 1.0)
-/*N*/ if (fVert < 1.0)
-/*N*/ {
-/*?*/ bHorz = fVert < fHorz;
-/*?*/ Fraction aFract = bHorz
-/*?*/ ? Fraction( nPrintWidth, nPageWidth )
-/*?*/ : Fraction( nPrintHeight, nPageHeight );
-/*?*/
-/*?*/ aMap.SetScaleX(aFract);
-/*?*/ aMap.SetScaleY(aFract);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ bHorz = (1.0 - fHorz) < (fVert - 1.0);
-/*?*/ Fraction aFract = bHorz
-/*?*/ ? Fraction( nPrintWidth, nPageWidth)
-/*?*/ : Fraction( nPrintHeight, nPageHeight);
-/*?*/
-/*?*/ aMap.SetScaleX(aFract);
-/*?*/ aMap.SetScaleY(aFract);
-/*N*/ }
-/*N*/ else if (fVert < 1.0)
-/*N*/ {
-/*?*/ bHorz = (fHorz - 1.0) < (1.0 - fVert);
-/*?*/ Fraction aFract = bHorz
-/*?*/ ? Fraction( nPrintWidth, nPageWidth)
-/*?*/ : Fraction( nPrintHeight, nPageHeight);
-/*?*/
-/*?*/ aMap.SetScaleX(aFract);
-/*?*/ aMap.SetScaleY(aFract);
-/*?*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ bHorz = (fHorz < fVert);
-/*N*/ Fraction aFract = bHorz
-/*N*/ ? Fraction( nPrintWidth, nPageWidth )
-/*N*/ : Fraction( nPrintHeight, nPageHeight );
-/*N*/
-/*N*/ aMap.SetScaleX(aFract);
-/*N*/ aMap.SetScaleY(aFract);
-/*N*/ }
-/*N*/
-/*N*/ if (bHorz)
-/*N*/ {
-/*N*/ Fraction aYFract = aMap.GetScaleY ();
-/*N*/
-/*N*/ aMap.SetOrigin(Point(0, (aPrintSize.Height () - aPageSize.Height () * aYFract.GetNumerator () / aYFract.GetDenominator ()) /
-/*N*/ 2 * aYFract.GetDenominator () / aYFract.GetNumerator ()));
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ Fraction aXFract = aMap.GetScaleX ();
-/*?*/
-/*?*/ aMap.SetOrigin(Point((aPrintSize.Width () - aPageSize.Width () * aXFract.GetNumerator () / aXFract.GetDenominator ()) /
-/*?*/ 2 * aXFract.GetDenominator () / aXFract.GetNumerator (), 0));
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pPrinter->SetMapMode(aMap);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode7.cxx b/binfilter/bf_sch/source/core/sch_chtmode7.cxx
deleted file mode 100644
index 66cc30921..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode7.cxx
+++ /dev/null
@@ -1,563 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma optimize("",off)
-#endif
-
-#include "schattr.hxx"
-#include "memchrt.hxx"
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-
-
-#include <bf_svx/eeitem.hxx>
-
-#define ITEMID_FONT EE_CHAR_FONTINFO
-#define ITEMID_COLOR EE_CHAR_COLOR
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#include <bf_svx/svxids.hrc>
-#include <globfunc.hxx>
-
-
-
-
-
-#include "chaxis.hxx"
-namespace binfilter {
-
-// Hier abhaengig von der Reihe den Style zurückgeben, vorerst ist nur aufsplitten der
-// Verbundcharts von nöten:
-//TVM: bitte nicht benutzen! renovierungsbedürftig!
-
-
-/*N*/ SchMemChart* ChartModel::GetChartData() const
-/*N*/ {
-/*N*/ return pChartData;
-/*N*/ }
-
-
-/*N*/ long ChartModel::GetColCount() const
-/*N*/ {
-/*N*/ if( !pChartData ) return 0; // GPF via GetMenuState
-/*N*/
-/*N*/ return IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? pChartData->GetRowCount()
-/*N*/ : pChartData->GetColCount();
-/*N*/ }
-
-
-/*N*/ long ChartModel::GetRowCount() const
-/*N*/ {
-/*N*/ if( !pChartData ) return 0; // GPF via GetMenuState
-/*N*/
-/*N*/ return IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? pChartData->GetColCount()
-/*N*/ : pChartData->GetRowCount();
-/*N*/ }
-
-
-
-
-
-
-/*N*/ SvxChartStyle ChartModel::ChartStyle () const
-/*N*/ {
-/*N*/ return eChartStyle;
-/*N*/ }
-
-
-/*N*/ SvxChartStyle &ChartModel::ChartStyle()
-/*N*/ {
-/*N*/ return eChartStyle;
-/*N*/ }
-
-
-
-/*N*/ long ChartModel::PieSegOfs( long nCol ) const
-/*N*/ {
-/*N*/ DBG_ASSERT( nCol < nPieSegCount, "pie segment requested is out of bounds" );
-/*N*/
-/*N*/ if( IsPieChart() &&
-/*N*/ nCol < nPieSegCount )
-/*N*/ {
-/*N*/ return pPieSegOfs[ nCol ];
-/*N*/ }
-/*N*/
-/*N*/ return 0;
-/*N*/ }
-
-
-
-/*N*/ BOOL& ChartModel::ShowMainTitle ()
-/*N*/ {
-/*N*/ return bShowMainTitle;
-/*N*/ }
-
-
-
-
-/*N*/ String& ChartModel::MainTitle ()
-/*N*/ {
-/*N*/ return aMainTitle;
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowSubTitle()
-/*N*/ {
-/*N*/ return bShowSubTitle;
-/*N*/ }
-
-
-
-
-/*N*/ String& ChartModel::SubTitle ()
-/*N*/ {
-/*N*/ return aSubTitle;
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowXAxisTitle ()
-/*N*/ {
-/*N*/ return bShowXAxisTitle;
-/*N*/ }
-
-
-/*N*/ String& ChartModel::XAxisTitle ()
-/*N*/ {
-/*N*/ return aXAxisTitle;
-/*N*/ }
-
-
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowYAxisTitle ()
-/*N*/ {
-/*N*/ return bShowYAxisTitle;
-/*N*/ }
-/*N*/
-
-
-
-/*N*/ String& ChartModel::YAxisTitle ()
-/*N*/ {
-/*N*/ return aYAxisTitle;
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowZAxisTitle ()
-/*N*/ {
-/*N*/ return bShowZAxisTitle;
-/*N*/ }
-
-
-
-
-/*N*/ String& ChartModel::ZAxisTitle()
-/*N*/ {
-/*N*/ return aZAxisTitle;
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::ShowXAxis () const
-/*N*/ {
-/*N*/ return pChartXAxis->IsVisible();
-/*N*/ }
-
-
-/*N*/ void ChartModel::ShowXAxis (BOOL b)
-/*N*/ {
-/*N*/ pChartXAxis->ShowAxis(b);
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowXGridMain ()
-/*N*/ {
-/*N*/ return bShowXGridMain;
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowXGridHelp ()
-/*N*/ {
-/*N*/ return bShowXGridHelp;
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::ShowXDescr () const
-/*N*/ {
-/*N*/ return pChartXAxis->HasDescription();
-/*N*/ }
-
-
-/*N*/ void ChartModel::ShowXDescr(BOOL b)
-/*N*/ {
-/*N*/ pChartXAxis->ShowDescr(b);
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::ShowYAxis () const
-/*N*/ {
-/*N*/ return pChartYAxis->IsVisible();
-/*N*/ }
-/*N*/ void ChartModel::ShowYAxis (BOOL b)
-/*N*/ {
-/*N*/ pChartYAxis->ShowAxis(b);
-/*N*/ }
-
-
-
-/*N*/ BOOL& ChartModel::ShowYGridMain ()
-/*N*/ {
-/*N*/ return bShowYGridMain;
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowYGridHelp ()
-/*N*/ {
-/*N*/ return bShowYGridHelp;
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::ShowYDescr () const
-/*N*/ {
-/*N*/ return pChartYAxis->HasDescription();
-/*N*/ }
-
-
-/*N*/ void ChartModel::ShowYDescr( BOOL b)
-/*N*/ {
-/*N*/ pChartYAxis->ShowDescr(b);
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::ShowZAxis () const
-/*N*/ {
-/*N*/ return pChartZAxis->IsVisible();
-/*N*/ }
-
-
-/*N*/ void ChartModel::ShowZAxis(BOOL b)
-/*N*/ {
-/*N*/ pChartZAxis->ShowAxis(b);
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowZGridMain ()
-/*N*/ {
-/*N*/ return bShowZGridMain;
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ShowZGridHelp ()
-/*N*/ {
-/*N*/ return bShowZGridHelp;
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::ShowZDescr () const
-/*N*/ {
-/*N*/ return pChartZAxis->HasDescription();
-/*N*/ }
-
-
-/*N*/ void ChartModel::ShowZDescr (BOOL b)
-/*N*/ {
-/*N*/ pChartZAxis->ShowDescr(b);
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::HasAxis( long nObjectId ) const
-/*N*/ {
-/*N*/ if( CHOBJID_ANY == nObjectId )
-/*N*/ return IsAxisChart() &&
-/*N*/ ( pChartXAxis->IsVisible() ||
-/*N*/ pChartYAxis->IsVisible() ||
-/*N*/ pChartAAxis->IsVisible() ||
-/*N*/ pChartBAxis->IsVisible() ||
-/*N*/ (Is3DChart() && pChartZAxis->IsVisible()) );
-/*N*/
-/*N*/ switch( nObjectId )
-/*N*/ {
-/*N*/ case CHOBJID_DIAGRAM_X_AXIS:
-/*N*/ return pChartXAxis->IsVisible();
-/*N*/ case CHOBJID_DIAGRAM_Y_AXIS:
-/*N*/ return pChartYAxis->IsVisible();
-/*N*/ case CHOBJID_DIAGRAM_Z_AXIS:
-/*N*/ return (Is3DChart() && pChartZAxis->IsVisible());
-/*N*/ case CHOBJID_DIAGRAM_A_AXIS:
-/*N*/ return pChartAAxis->IsVisible();
-/*N*/ case CHOBJID_DIAGRAM_B_AXIS:
-/*N*/ return pChartBAxis->IsVisible();
-/*N*/ }
-/*N*/
-/*N*/ return FALSE;
-/*N*/ }
-
-
-/*N*/ const SfxItemSet& ChartModel::GetLegendAttr() const
-/*N*/ {
-/*N*/ return *pLegendAttr;
-/*N*/ }
-
-
-
-
-
-
-
-
-
-//ToDo: diese Fkt. überflüssig machen (Problem: Austausch der Achseneigenschaften nicht NUR über Attr (??? stimmt das ???)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*N*/ SdrOutliner* ChartModel::GetOutliner() const
-/*N*/ {
-/*N*/ return pOutliner;
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsInitialized() const
-/*N*/ {
-/*N*/ return mbIsInitialized;
-/*N*/ }
-
-
-
-
-/*N*/ BOOL& ChartModel::ReadError ()
-/*N*/ {
-/*N*/ return bReadError;
-/*N*/ }
-
-
-/*N*/ ChartScene* ChartModel::GetScene()
-/*N*/ {
-/*N*/ return pScene;
-/*N*/ }
-
-/*N*/ SvNumberFormatter* ChartModel::GetNumFormatter() const
-/*N*/ {
-/*N*/ return pNumFormatter;
-/*N*/ }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*N*/ int& ChartModel::Granularity ()
-/*N*/ {
-/*N*/ return nGranularity;
-/*N*/ }
-
-
-
-
-/*N*/ Size& ChartModel::InitialSize ()
-/*N*/ {
-/*N*/ return aInitialSize;
-/*N*/ }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-/*N*/ void ChartModel::SetPieSegOfs( long nCol, long nOfs )
-/*N*/ {
-/*N*/ DBG_ASSERT( pPieSegOfs, "Invalid Array" );
-/*N*/ DBG_ASSERT( nCol < nPieSegCount, "trying to set pie offset out of bounds" );
-/*N*/
-/*N*/ if( nCol < nPieSegCount )
-/*N*/ pPieSegOfs[ nCol ] = nOfs;
-/*N*/ }
-
-
-/*N*/ String& ChartModel::ColText( long nCol )
-/*N*/ {
-/*N*/ return IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? (String&) pChartData->GetTransRowText(nCol)
-/*N*/ : (String&) pChartData->GetTransColText(nCol);
-/*N*/ }
-
-
-/*N*/ String& ChartModel::RowText( long nRow )
-/*N*/ {
-/*N*/ return IsDataSwitched() //abhaengig vom Charttyp - statt bSwitchData
-/*N*/ ? (String&) pChartData->GetTransColText(nRow)
-/*N*/ : (String&) pChartData->GetTransRowText(nRow);
-/*N*/ }
-
-
-
-
-// FG: Ist eine Abfrage ob die Beschriftung eines Charts Zentriert unter einem Datenpunkt (Regelfall) steht
-// oder zentriert zwischen 2 Marken.
-/*N*/ BOOL ChartModel::IsDescriptionCenteredUnderDataPoint ()
-/*N*/ {
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN :
-/*N*/ case CHSTYLE_2D_COLUMN :
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN :
-/*N*/ return FALSE;
-
-/*N*/ default :
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-/*N*/ void ChartModel::LockBuild()
-/*N*/ {
-/*N*/ bNoBuildChart=TRUE;
-/*N*/ }
-/*N*/ void ChartModel::UnlockBuild()
-/*N*/ {
-/*N*/ bNoBuildChart=FALSE;
-/*N*/ if(bShouldBuildChart)
-/*N*/ BuildChart(FALSE); //evtl. TRUE, um Ranges zu prüfen???
-/*N*/
-/*N*/ // force broadcast SFX_HINT_DOCCHANGED
-/*N*/ SfxObjectShell* pObjSh = GetObjectShell();
-/*N*/ if( pObjSh )
-/*N*/ {
-/*N*/ pObjSh->SetModified( pObjSh->IsModified());
-/*N*/ }
-/*N*/ }
-/*N*/ BOOL ChartModel::IsLockedBuild()
-/*N*/ {
-/*N*/ return bNoBuildChart;
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode8.cxx b/binfilter/bf_sch/source/core/sch_chtmode8.cxx
deleted file mode 100644
index d7e680334..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode8.cxx
+++ /dev/null
@@ -1,647 +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.
- *
- ************************************************************************/
-
-#include "chtmodel.hxx"
-namespace binfilter {
-
-/*
- ------------------------------------------------------------
- Some Information about chart types. This may be used as a
- basis for creating some chart classes (!) with
- corresponding members.
- ------------------------------------------------------------
-
- Styles Basic: Perc Stack Bar 3D Symbols Net Axis sign neg. spline XY Stat.
-
-CHSTYLE_2D_LINE, Line - - - - - - - x x - - x
-CHSTYLE_2D_STACKEDLINE, Line - x - - - - - x x - - -
-CHSTYLE_2D_PERCENTLINE, Line x x - - - - - - x - - -
-CHSTYLE_2D_COLUMN, Column - - - - - - - x x - - x
-CHSTYLE_2D_STACKEDCOLUMN, Column - x - - - - - x x - - -
-CHSTYLE_2D_PERCENTCOLUMN, Column x x - - - - - - x - - -
-CHSTYLE_2D_BAR, *Column - - x - - - - x x - - x
-CHSTYLE_2D_STACKEDBAR, *Column - x x - - - - x x - - -
-CHSTYLE_2D_PERCENTBAR, *Column x x x - - - - - x - - -
-CHSTYLE_2D_AREA, Area - - - - - - - x x - - -
-CHSTYLE_2D_STACKEDAREA, Area - x - - - - - x x - - -
-CHSTYLE_2D_PERCENTAREA, Area x x - - - - x - x - - -
-CHSTYLE_2D_PIE, Pie x x - - - - - - x - - -
-CHSTYLE_3D_STRIPE, Stripe? - - - x - - - x x - - -
-CHSTYLE_3D_COLUMN, Column - - - x - - - x x - - -
-CHSTYLE_3D_FLATCOLUMN, Column? - - - x - - - x x - - -
-CHSTYLE_3D_STACKEDFLATCOLUMN Column - x - x - - - x x - - -
-CHSTYLE_3D_PERCENTFLATCOLUMN Column x x - x - - - - x - - -
-CHSTYLE_3D_AREA, Area - - - x - - - x x - - -
-CHSTYLE_3D_STACKEDAREA, Area - x - x - - - x x - - -
-CHSTYLE_3D_PERCENTAREA, Area x x - x - - - - - - - -
-CHSTYLE_3D_SURFACE, Surface - - - x - - - x x - - -
-CHSTYLE_3D_PIE, Pie x x ? x - - x - x - - -
-CHSTYLE_2D_XY, XYZ - - - - - - - x x - x x
-CHSTYLE_3D_XYZ, XYZ - - - x - - - x x - x -
-CHSTYLE_2D_LINESYMBOLS, Line - - - - x - - x x - - x
-CHSTYLE_2D_STACKEDLINESYM, Line - x - - x - - x x - - -
-CHSTYLE_2D_PERCENTLINESYM, Line x x - - x - - - x - - -
-CHSTYLE_2D_XYSYMBOLS, XYZ - - - - x - - x x - x x
-CHSTYLE_3D_XYZSYMBOLS, XYZ - - - x x - - x x - x -
-CHSTYLE_2D_DONUT1, *PIE ? ? ? - - - x - x - - -
-CHSTYLE_2D_DONUT2, *PIE ? ? ? - - - x - x - - -
-CHSTYLE_3D_BAR, *Column - - x x - - - x x - - -
-CHSTYLE_3D_FLATBAR, *Column - - x x - - - x x - - -
-CHSTYLE_3D_STACKEDFLATBAR, *Column - x x x - - - x x - - -
-CHSTYLE_3D_PERCENTFLATBAR, *Column x x x x - - - - x - - -
-CHSTYLE_2D_PIE_SEGOF1, PIE x x ? - - - x - x - - -
-CHSTYLE_2D_PIE_SEGOFALL, PIE x x ? - - - x - x - - -
-CHSTYLE_2D_NET, Net - - - - - x - x x - - -
-CHSTYLE_2D_NET_SYMBOLS, Net - - - - x x - x x - - -
-CHSTYLE_2D_NET_STACK, Net - x - - - x - x x - - -
-CHSTYLE_2D_NET_SYMBOLS_STACK, Net - x - - x x - x x - - -
-CHSTYLE_2D_NET_PERCENT, Net x x - - - x - - x - - -
-CHSTYLE_2D_NET_SYMBOLS_PERCENT, Net x x - - x x - - x - - -
-CHSTYLE_2D_CUBIC_SPLINE, SplineC - - - - - - - x x C - x
-CHSTYLE_2D_CUBIC_SPLINE_SYMBOL, SplineC - - - - x - - x x C - x
-CHSTYLE_2D_B_SPLINE, SplineB - - - - - - - x x B - x
-CHSTYLE_2D_B_SPLINE_SYMBOL, SplineB - - - - x - - x x B - x
-CHSTYLE_2D_CUBIC_SPLINE_XY, SplineC - - - - - - - x x C x x
-CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY, SplineC - - - - x - - x x C x x
-CHSTYLE_2D_B_SPLINE_XY, SplineB - - - - - - - x x B x x
-CHSTYLE_2D_B_SPLINE_SYMBOL_XY, SplineB - - - - x - - x x B x x
-CHSTYLE_2D_XY_LINE, Line_&_XYZ - - - - - - - x x - x -
-CHSTYLE_2D_LINE_COLUMN, Column+1_Line - - - - - - - x x - - -
-CHSTYLE_2D_LINE_STACKEDCOLUMN Column+1_Line - x - - - - - x x - - - */
-
-// meaning supports symbols
-/*N*/ BOOL ChartModel::HasSymbols(const long nRow) const
-/*N*/ {
-/*N*/
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/
-/*N*/
-/*N*/
-/*N*/ case CHSTYLE_2D_XY :
-/*N*/ OSL_TRACE("ChartModel::HasSymbols:Achtung, neuer Typ, ungetestet");
-/*N*/
-/*N*/ case CHSTYLE_2D_LINESYMBOLS:
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_2D_XYSYMBOLS:
-/*N*/ case CHSTYLE_3D_XYZSYMBOLS:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY:
-/*N*/ return TRUE;
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*?*/ return (nRow!=0);
-/*N*/
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ if(nRow >= (GetRowCount() - nNumLinesInColChart))
-/*N*/ return TRUE;
-/*N*/ return FALSE;
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsLine(const long nRow) const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*?*/ return nRow ? TRUE : FALSE;
-/*N*/
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/
-/*N*/ // lines and symbol types
-/*N*/ case CHSTYLE_2D_XY :
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK :
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS :
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT :
-/*N*/ case CHSTYLE_2D_LINESYMBOLS:
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY:
-/*N*/
-/*N*/ // lines only
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_LINE :
-/*N*/ case CHSTYLE_2D_STACKEDLINE :
-/*N*/ case CHSTYLE_2D_PERCENTLINE :
-/*N*/ case CHSTYLE_2D_NET :
-/*N*/ case CHSTYLE_2D_NET_STACK :
-/*N*/ case CHSTYLE_2D_NET_PERCENT :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE :
-/*N*/ case CHSTYLE_2D_B_SPLINE :
-/*N*/ case CHSTYLE_2D_XY_LINE :
-/*N*/ return TRUE;
-/*N*/
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ if( nRow >= (GetRowCount() - nNumLinesInColChart))
-/*N*/ return ( GetRowCount() > 1 ); // only one series => must be a bar
-/*N*/ return FALSE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-// for all types which return TRUE here it is assumed
-// that toggling bSwitchColRow is allowed
-/*N*/ BOOL ChartModel::IsBar() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_BAR:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-/*N*/ BOOL ChartModel::IsCol(long nRow) const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_COLUMN:
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_3D_COLUMN:
-/*N*/ case CHSTYLE_3D_FLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*?*/ return nRow ? FALSE : TRUE ;
-/*N*/
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ return ! (nRow >= (GetRowCount() - nNumLinesInColChart));
-/*N*/
-/*N*/ default:
-/*?*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::Is3DChart() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_3D_STRIPE:
-/*N*/ case CHSTYLE_3D_COLUMN:
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/ case CHSTYLE_3D_FLATCOLUMN:
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ case CHSTYLE_3D_AREA:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ case CHSTYLE_3D_SURFACE:
-/*N*/ case CHSTYLE_3D_PIE:
-/*N*/ // new since 380 Build 1502, but still not supported
-/*N*/ case CHSTYLE_3D_XYZ:
-/*N*/ case CHSTYLE_3D_XYZSYMBOLS:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsStackedChart() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STACKEDLINE:
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_STACKEDAREA:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsStacked() const
-/*N*/ {
-/*N*/ if( IsPercent() ) // percent => stacked
-/*N*/ return TRUE;
-/*N*/
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_STACKEDLINE:
-/*N*/ case CHSTYLE_2D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_NET_STACK:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsPercentChart() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsPercent() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ case CHSTYLE_2D_NET_PERCENT:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsArea(long /*nRow*/)
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_AREA:
-/*N*/ case CHSTYLE_2D_STACKEDAREA:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/*N*/ case CHSTYLE_3D_AREA:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsAxisChart() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_DONUT1:
-/*N*/ case CHSTYLE_2D_DONUT2:
-/*N*/ case CHSTYLE_2D_PIE:
-/*N*/ case CHSTYLE_2D_PIE_SEGOF1:
-/*N*/ case CHSTYLE_2D_PIE_SEGOFALL:
-/*N*/ case CHSTYLE_3D_PIE:
-/*N*/ return FALSE;
-/*N*/
-/*N*/ default:
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsNegativeChart( SvxChartStyle* pStyle ) const
-/*N*/ {
-/*N*/ switch( pStyle? *pStyle: eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ return FALSE;
-/*N*/
-/*N*/ default:
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsSignedChart( SvxChartStyle* pStyle ) const
-/*N*/ {
-/*N*/ switch( pStyle? *pStyle: eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_3D_PIE :
-/*N*/ case CHSTYLE_2D_PIE :
-/*N*/ case CHSTYLE_2D_PIE_SEGOF1:
-/*N*/ case CHSTYLE_2D_PIE_SEGOFALL:
-/*N*/ case CHSTYLE_2D_DONUT1:
-/*N*/ case CHSTYLE_2D_DONUT2:
-/*N*/ case CHSTYLE_2D_PERCENTLINE :
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN :
-/*N*/ case CHSTYLE_2D_PERCENTAREA :
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN :
-/*N*/ case CHSTYLE_3D_PERCENTAREA :
-/*N*/ case CHSTYLE_2D_PERCENTBAR :
-/*N*/ return FALSE;
-/*N*/
-/*N*/ default :
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::IsPieChart() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_3D_PIE :
-/*N*/ case CHSTYLE_2D_PIE :
-/*N*/ case CHSTYLE_2D_PIE_SEGOF1:
-/*N*/ case CHSTYLE_2D_PIE_SEGOFALL:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsXYChart( SvxChartStyle* pStyle ) const
-/*N*/ {
-/*N*/ // if pStyle == NULL (default) the current style of 'this' is used
-/*N*/
-/*N*/ switch( pStyle? *pStyle: eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_XY :
-/*N*/ case CHSTYLE_3D_XYZ :
-/*N*/ case CHSTYLE_2D_XYSYMBOLS :
-/*N*/ case CHSTYLE_3D_XYZSYMBOLS :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY :
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY :
-/*N*/ case CHSTYLE_2D_XY_LINE :
-/*N*/ return TRUE;
-/*N*/
-/*N*/ case CHSTYLE_ADDIN:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default :
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::IsSplineChart () const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL :
-/*N*/ case CHSTYLE_2D_B_SPLINE :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY :
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY :
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default :
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::IsNetChart() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_NET :
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS :
-/*N*/ case CHSTYLE_2D_NET_STACK :
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK :
-/*N*/ case CHSTYLE_2D_NET_PERCENT :
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT :
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default :
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-
-// ========================================
-// return base type
-// ========================================
-
-/*N*/ long ChartModel::GetBaseType() const
-/*N*/ {
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_B_SPLINE :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL :
-/*N*/ case CHSTYLE_2D_LINE:
-/*N*/ case CHSTYLE_2D_STACKEDLINE:
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_LINESYMBOLS:
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL :
-/*N*/ case CHSTYLE_3D_STRIPE:
-/*N*/ return CHTYPE_LINE;
-/*N*/
-/*N*/ case CHSTYLE_2D_AREA:
-/*N*/ case CHSTYLE_2D_STACKEDAREA:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/*N*/ case CHSTYLE_3D_AREA:
-/*N*/ case CHSTYLE_3D_STACKEDAREA:
-/*N*/ case CHSTYLE_3D_PERCENTAREA:
-/*N*/ return CHTYPE_AREA;
-/*N*/
-/*N*/ case CHSTYLE_2D_PIE:
-/*N*/ case CHSTYLE_2D_PIE_SEGOF1:
-/*N*/ case CHSTYLE_2D_PIE_SEGOFALL:
-/*N*/ case CHSTYLE_3D_PIE:
-/*N*/ return CHTYPE_CIRCLE;
-/*N*/
-/*N*/ case CHSTYLE_2D_DONUT1:
-/*N*/ case CHSTYLE_2D_DONUT2:
-/*?*/ return CHTYPE_DONUT;
-/*N*/
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_XY_LINE :
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY :
-/*N*/ case CHSTYLE_2D_XYSYMBOLS:
-/*N*/ case CHSTYLE_2D_XY:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY :
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY :
-/*N*/ return CHTYPE_XY;
-/*N*/
-/*N*/ case CHSTYLE_2D_NET:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS:
-/*N*/ case CHSTYLE_2D_NET_STACK:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK:
-/*N*/ case CHSTYLE_2D_NET_PERCENT:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-/*N*/ return CHTYPE_NET;
-/*N*/
-/*N*/ case CHSTYLE_2D_COLUMN:
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_3D_COLUMN:
-/*N*/ case CHSTYLE_3D_FLATCOLUMN:
-/*N*/ case CHSTYLE_3D_STACKEDFLATCOLUMN:
-/*N*/ case CHSTYLE_3D_PERCENTFLATCOLUMN:
-/*N*/ return CHTYPE_COLUMN;
-/*N*/
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ return CHTYPE_STOCK;
-/*N*/
-/*N*/ case CHSTYLE_2D_BAR:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/*N*/ return CHTYPE_BAR;
-/*N*/
-/*N*/ case CHSTYLE_ADDIN:
-/*?*/ return CHTYPE_ADDIN;
-/*N*/
-/*N*/ default:
-/*?*/ OSL_FAIL( "Invalid Chart style given!" );
-/*?*/ return CHTYPE_INVALID;
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::SetBaseType(long nBaseType)
-/*N*/ {
-/*N*/ // setting the basetype currently sets the default type in the base category
-/*N*/ // returns TRUE, iff chart type has been changed
-/*N*/
-/*N*/ SvxChartStyle eNewStyle = eChartStyle;
-/*N*/
-/*N*/ switch( nBaseType )
-/*N*/ {
-/*N*/ case CHTYPE_LINE:
-/*N*/ eNewStyle = CHSTYLE_2D_LINE;
-/*N*/ break;
-/*N*/ case CHTYPE_AREA:
-/*N*/ eNewStyle = CHSTYLE_2D_AREA;
-/*N*/ break;
-/*N*/ case CHTYPE_DONUT:
-/*?*/ eNewStyle = CHSTYLE_2D_DONUT1;
-/*?*/ break;
-/*N*/ case CHTYPE_CIRCLE:
-/*N*/ eNewStyle = CHSTYLE_2D_PIE;
-/*N*/ break;
-/*N*/ case CHTYPE_XY:
-/*N*/ eNewStyle = CHSTYLE_2D_XY;
-/*N*/ break;
-/*N*/ case CHTYPE_NET:
-/*N*/ eNewStyle = CHSTYLE_2D_NET;
-/*N*/ break;
-/*N*/ case CHTYPE_COLUMN: // == BAR
-/*N*/ case CHTYPE_BAR:
-/*N*/ eNewStyle = CHSTYLE_2D_COLUMN;
-/*N*/ break;
-/*N*/ case CHTYPE_STOCK:
-/*N*/ eNewStyle = CHSTYLE_2D_STOCK_1;
-/*N*/ break;
-/*N*/ case CHTYPE_ADDIN:
-/*?*/ eNewStyle = CHSTYLE_ADDIN;
-/*?*/ break;
-/*?*/ default:
-/*?*/ OSL_FAIL( "ChartModel::SetBaseType: Invalid Type!" );
-/*?*/ break;
-/*N*/ }
-/*N*/
-/*N*/ if( eChartStyle != eNewStyle )
-/*N*/ {
-/*N*/ ChangeChart( eNewStyle );
-/*N*/ BuildChart( FALSE );
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/
-/*N*/ return FALSE;
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmode9.cxx b/binfilter/bf_sch/source/core/sch_chtmode9.cxx
deleted file mode 100644
index b976a06ed..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmode9.cxx
+++ /dev/null
@@ -1,1955 +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.
- *
- ************************************************************************/
-#ifdef _MSC_VER
-#pragma optimize("",off)
-
-#pragma hdrstop
-#endif
-#include <bf_svx/svdorect.hxx>
-
-#include <bf_svx/svdopath.hxx>
-
-
-#include <bf_svx/xlnclit.hxx>
-
-#ifndef _ZFORLIST_HXX //autogen
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#endif
-
-
-#include <list>
-
-#include <bf_svx/eeitem.hxx>
-
-#include "schattr.hxx"
-#include "memchrt.hxx"
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-
-
-#endif
-
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#define ITEMID_FONTWIDTH EE_CHAR_FONTWIDTH
-#include <bf_svx/fhgtitem.hxx>
-#include <bf_svx/fwdtitem.hxx>
-
-// header for class SdrOutliner
-// header for GetDraftFillColor()
-#include <bf_svx/svdetc.hxx>
-
-#include "globfunc.hxx"
-
-#include "ChXChartDocument.hxx"
-
-#include <float.h>
-#include "glob.hrc"
-
-#include "chaxis.hxx"
-#include "chdescr.hxx"
-#include "calculat.hxx"
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Koordinatenachsen und Rueckwand mit Unterteilung und Beschriftung
-|* erzeugen; Liefert die Einfuege-Position fuer die Chart-Datenobjekte.
-|*
-\************************************************************************/
-/*N*/ void ChartModel::Create2DXYTitles(Rectangle& rRect,BOOL bSwitchColRow)
-/*N*/ {
-/*N*/ SdrPage* pPage=GetPage(0);
-/*N*/
-/*N*/ SdrTextObj *pXAxisTitleObj = NULL;
-/*N*/ SdrTextObj *pYAxisTitleObj = NULL;
-/*N*/
-/*N*/ if (bShowXAxisTitle)
-/*N*/ {
-/*N*/ pXAxisTitleObj = CreateTitle (pXAxisTitleAttr, CHOBJID_DIAGRAM_TITLE_X_AXIS,
-/*N*/ bSwitchColRow,aXAxisTitle, FALSE, &eAdjustXAxesTitle);
-/*N*/
-/*N*/ if (GetAdjustMarginsForXAxisTitle())
-/*N*/ {
-/*N*/ if (bSwitchColRow)
-/*N*/ rRect.Left() += GetOutputSize(*pXAxisTitleObj).Width() + 200;
-/*N*/ else
-/*N*/ rRect.Bottom() -= GetOutputSize(*pXAxisTitleObj).Height() + 200;
-/*N*/ }
-/*N*/ }
-/*N*/ if (bShowYAxisTitle)
-/*N*/ {
-/*N*/ pYAxisTitleObj = CreateTitle (pYAxisTitleAttr, CHOBJID_DIAGRAM_TITLE_Y_AXIS,
-/*N*/ bSwitchColRow,aYAxisTitle, TRUE, &eAdjustYAxesTitle);
-/*N*/ if (GetAdjustMarginsForYAxisTitle())
-/*N*/ {
-/*N*/ if (bSwitchColRow)
-/*N*/ rRect.Bottom() -= GetOutputSize(*pYAxisTitleObj).Height() + 200;
-/*N*/ else
-/*N*/ rRect.Left() += GetOutputSize(*pYAxisTitleObj).Width() + 200;
-/*N*/ }
-/*N*/ }
-/*N*/ if (pXAxisTitleObj)
-/*N*/ pPage->NbcInsertObject(pXAxisTitleObj);
-/*N*/ if (pYAxisTitleObj)
-/*N*/ pPage->NbcInsertObject(pYAxisTitleObj);
-/*N*/ }
-
-
-/*N*/ BOOL ChartModel::CanAxis(long nAxisId) const
-/*N*/ {
-/*N*/ switch(nAxisId)
-/*N*/ {
-/*N*/ case CHART_AXIS_PRIMARY_X:
-/*?*/ return ( ! ( IsPieChart() || IsDonutChart() || IsNetChart() ));
-/*N*/ case CHART_AXIS_PRIMARY_Y:
-/*?*/ return ( ! ( IsPieChart() || IsDonutChart() ));
-/*N*/ case CHART_AXIS_SECONDARY_X:
-/*N*/ case CHART_AXIS_SECONDARY_Y:
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_LINE:
-/*N*/ case CHSTYLE_2D_STACKEDLINE:
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_COLUMN:
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_BAR:
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ case CHSTYLE_2D_AREA:
-/*N*/ case CHSTYLE_2D_STACKEDAREA:
-/*N*/ case CHSTYLE_2D_PERCENTAREA:
-/* case CHSTYLE_2D_PIE:
- case CHSTYLE_3D_STRIPE:
- case CHSTYLE_3D_COLUMN:
- case CHSTYLE_3D_FLATCOLUMN:
- case CHSTYLE_3D_STACKEDFLATCOLUMN:
- case CHSTYLE_3D_PERCENTFLATCOLUMN:
- case CHSTYLE_3D_AREA:
- case CHSTYLE_3D_STACKEDAREA:
- case CHSTYLE_3D_PERCENTAREA:
- case CHSTYLE_3D_SURFACE:
- case CHSTYLE_3D_PIE:
-*/ case CHSTYLE_2D_XY:
-/*N*/ // case CHSTYLE_3D_XYZ:
-/*N*/ case CHSTYLE_2D_LINESYMBOLS:
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_2D_XYSYMBOLS:
-/*N*/ case CHSTYLE_3D_XYZSYMBOLS:
-/*N*/ // case CHSTYLE_2D_DONUT1:
-/*N*/ // case CHSTYLE_2D_DONUT2:
-/*N*/ case CHSTYLE_3D_BAR:
-/*N*/ case CHSTYLE_3D_FLATBAR:
-/*N*/ case CHSTYLE_3D_STACKEDFLATBAR:
-/*N*/ case CHSTYLE_3D_PERCENTFLATBAR:
-/* case CHSTYLE_2D_PIE_SEGOF1:
- case CHSTYLE_2D_PIE_SEGOFALL:
- case CHSTYLE_2D_NET:
- case CHSTYLE_2D_NET_SYMBOLS:
- case CHSTYLE_2D_NET_STACK:
- case CHSTYLE_2D_NET_SYMBOLS_STACK:
- case CHSTYLE_2D_NET_PERCENT:
- case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-*/ case CHSTYLE_2D_CUBIC_SPLINE:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ case CHSTYLE_2D_B_SPLINE:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY:
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY:
-/*N*/ case CHSTYLE_2D_XY_LINE:
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ case CHSTYLE_ADDIN:
-/*N*/ return TRUE;
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/
-/*N*/ default:
-/*?*/ return FALSE;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ BOOL ChartModel::HasSecondYAxis() const
-/*N*/ {
-/*N*/ switch(eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
- default: break;
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ if(!CanAxis(CHART_AXIS_SECONDARY_Y))
-/*N*/ return FALSE;
-/*N*/
-/*N*/ if(pChartBAxis->IsVisible())
-/*N*/ return TRUE;
-/*N*/
-/*N*/
-/*N*/ const SfxPoolItem *pPoolItem = NULL;
-/*N*/
-/*N*/ for(long n=0;n<GetRowCount();n++)
-/*N*/ if(GetDataRowAttr(n).GetItemState(SCHATTR_AXIS,TRUE, &pPoolItem) == SFX_ITEM_SET)
-/*N*/ if(((const SfxInt32Item*)pPoolItem)->GetValue()==CHART_AXIS_SECONDARY_Y)
-/*N*/ return TRUE;
-/*N*/
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ void ChartModel::Create2DBackplane(Rectangle &rRect,SdrObjList &rObjList,BOOL bPartDescr,USHORT eStackMode)
-/*N*/ {
-/*N*/ BOOL bPercent=IsPercent();
-/*N*/ BOOL bSwitchColRow=IsXVertikal();//IsBar()
-/*N*/
-/*N*/ //Initialisieren:
-/*N*/ pChartXAxis->Initialise(rRect,bSwitchColRow,eStackMode,bPercent,FALSE);
-/*N*/ pChartYAxis->Initialise(rRect,bSwitchColRow,eStackMode,bPercent,FALSE);
-/*N*/ pChartBAxis->Initialise(rRect,bSwitchColRow,eStackMode,bPercent,FALSE);
-/*N*/ pChartAAxis->Initialise(rRect,bSwitchColRow,eStackMode,bPercent,FALSE);
-/*N*/
-/*N*/ //Position setzen (kann man eigentlich auch im ctor des Model machen?)
-/*N*/ pChartAAxis->SetPosition(CHAXIS_POS_B); //A,B sind sekund?e Achsen => oben und rechts
-/*N*/ pChartBAxis->SetPosition(CHAXIS_POS_B);
-/*N*/ pChartXAxis->SetPosition(CHAXIS_POS_A); //prim?e Positionen=links, unten
-/*N*/ pChartYAxis->SetPosition(CHAXIS_POS_A);
-/*N*/
-/*N*/ pChartXAxis->CalcValueSteps();
-/*N*/ pChartYAxis->CalcValueSteps();//#63904# 12%
-/*N*/ pChartAAxis->CalcValueSteps();
-/*N*/ pChartBAxis->CalcValueSteps();//#63904# 11%
-/*N*/
-/*N*/ pChartBAxis->AttachIfNoOwnData(pChartYAxis); //skalierung transferieren, falls Y keine automatische Skalierung benutzt und B keine Daten besitzt!
-/*N*/ pChartYAxis->AttachIfNoOwnData(pChartBAxis); // und umgekehrt
-/*N*/
-/*N*/ //Falls einer der beiden Y-Daten keine Reihen zugeordnet sind, soll diese die andere kopieren
-/*N*/
-/*N*/ long nTitleBottom = rRect.Bottom();
-/*N*/ long nTitleLeft = rRect.Left();
-/*N*/
-/*N*/ // ******* RECT_CHANGES **** Ab hier wird am rRect rumgeschraubt ******************
-/*N*/
-/*N*/ Create2DXYTitles(rRect,bSwitchColRow); //abziehen der Achsen-Titel-Fl?he
-/*N*/
-/*N*/ // FG: Ich merke mir vor jeglicher Aenderung des linken oder rechten Randes wo der Seitenrand
-/*N*/ // gewesen ist. Das braucht man um nun zu entscheiden ob der linke Rand wegen eines
-/*N*/ // ?erstehenden Textes nachgeregelt werden soll.
-/*N*/ const Rectangle aOldRect(rRect);
-/*N*/
-/*N*/ //Zusammenfassen ???
-/*N*/ pChartYAxis->CalcMaxTextSize();//#63904# 14%, aber Aufruf nur wenn n?ig
-/*N*/ pChartYAxis->InitDescr();
-/*N*/ pChartYAxis->SubtractDescrSize(rRect);//Gr?e der Beschriftung vom Rechteck abziehen
-/*N*/ pChartBAxis->CalcMaxTextSize();//#63904# s.o. 0% wenn nicht benutzt!
-/*N*/ pChartBAxis->InitDescr();
-/*N*/ pChartBAxis->SubtractDescrSize(rRect);
-/*N*/
-/*N*/ pChartXAxis->SetArea(rRect); //Die X-Achsenl?ge ist bereits bekannt! wichtig f? nDescrWidth
-/*N*/ pChartAAxis->SetArea(rRect); //Die Y-L?gen werden nachfolgend korrigiert
-/*N*/
-/*N*/ pChartAAxis->SetColTextMode(!IsXYChart(),!bPartDescr);
-/*N*/ pChartXAxis->SetColTextMode(!IsXYChart(),!bPartDescr);
-/*N*/
-/*N*/ //f? die X-Achse gibt es ein paar sonderregel, insbesondere wird
-/*N*/ //das Rect auch in der X-Breite ge?dert, wenn die Spaltenunterschriften sehr lang sind
-/*N*/ //hinzu kommt noch Umbruch (an Y-Achse nicht vorgesehen), daher mu?hier eine
-/*N*/ //Sonderbehandlung erfolgen, auch das InitDescr erfolgt hier nachtr?lich!
-/*N*/ pChartXAxis->SubtractDescrSize_X(rRect,aOldRect);
-/*N*/
-/*N*/ pChartAAxis->SetArea(rRect);
-/*N*/
-/*N*/ pChartAAxis->SubtractDescrSize_X(rRect,aOldRect); //noch falsch!
-/*N*/
-/*N*/ pChartXAxis->SetArea(rRect); //jetzt sind x und y l?ge bekannt
-/*N*/ pChartYAxis->SetArea(rRect);
-/*N*/ pChartAAxis->SetArea(rRect);
-/*N*/ pChartBAxis->SetArea(rRect);
-/*N*/
-/*N*/ // ******* END RECT_CHANGES ********************************************************************
-/*N*/
-/*N*/ rRect.Justify();
-/*N*/
-/*N*/ pChartXAxis->SetArea(rRect); //jetzt sind x und y l?ge bekannt
-/*N*/ pChartYAxis->SetArea(rRect);
-/*N*/ pChartAAxis->SetArea(rRect);
-/*N*/ pChartBAxis->SetArea(rRect);
-/*N*/
-/*N*/ /*long nStepPartWidth=*/pChartXAxis->GetDescrWidth(); //Warum nochmal? sollte noch immer identisch nDescrWidth sein!
-/*N*/
-/*N*/ Position2DAxisTitles(rRect,bSwitchColRow,nTitleLeft,nTitleBottom);
-/*N*/
-/*N*/ // Diagrammwand
-/*N*/ SdrRectObj* pWallObj = new SdrRectObj( rRect );
-/*N*/ pWallObj->SetModel( this );
-/*N*/ rObjList.NbcInsertObject( SetObjectAttr( pWallObj, CHOBJID_DIAGRAM_WALL,
-/*N*/ TRUE, TRUE, pDiagramWallAttr));
-/*N*/
-/*N*/ //********* Erzeugung der Achsen und Gitter *****************************
-/*N*/
-/*N*/ SdrObjList* pXGridMainList = NULL;
-/*N*/ SdrObjList* pYGridMainList = NULL;
-/*N*/ SdrObjList* pXGridHelpList = NULL;
-/*N*/ SdrObjList* pYGridHelpList = NULL;
-/*N*/
-/*N*/
-/*N*/ BOOL bXAxis = (pChartXAxis->IsVisible() && pChartYAxis->IsOriginInRange());
-/*N*/ BOOL bYAxis = (pChartYAxis->IsVisible() &&
-/*N*/ (!IsXYChart() || (IsXYChart() && pChartXAxis->IsOriginInRange())));
-/*N*/
-/*N*/ if(bShowXGridMain)
-/*N*/ pXGridMainList = CreateGroup (rObjList, CHOBJID_DIAGRAM_X_GRID_MAIN_GROUP);
-/*N*/ if(bShowYGridMain)
-/*N*/ pYGridMainList = CreateGroup (rObjList, CHOBJID_DIAGRAM_Y_GRID_MAIN_GROUP);
-/*N*/ if(bShowXGridHelp)
-/*?*/ pXGridHelpList = CreateGroup (rObjList, CHOBJID_DIAGRAM_X_GRID_HELP_GROUP);
-/*N*/ if(bShowYGridHelp)
-/*?*/ pYGridHelpList = CreateGroup (rObjList, CHOBJID_DIAGRAM_Y_GRID_HELP_GROUP);
-/*N*/
-/*N*/ pChartXAxis->CreateAxis( rObjList, CHOBJID_DIAGRAM_X_AXIS );
-/*N*/ pChartYAxis->CreateAxis( rObjList, CHOBJID_DIAGRAM_Y_AXIS );
-/*N*/
-/*N*/ pChartXAxis->ShowAxis(bXAxis);
-/*N*/ pChartYAxis->ShowAxis(bYAxis);
-/*N*/
-/*N*/ pChartXAxis->SetMainGrid(pYGridMainList,pYGridMainAttr);
-/*N*/ pChartXAxis->SetHelpGrid(pYGridHelpList,pYGridHelpAttr);
-/*N*/
-/*N*/ pChartYAxis->SetHelpGrid(pXGridHelpList,pXGridHelpAttr);
-/*N*/ pChartYAxis->SetMainGrid(pXGridMainList,pXGridMainAttr);
-/*N*/
-/*N*/ pChartAAxis->CreateAxis(rObjList,CHOBJID_DIAGRAM_A_AXIS);
-/*N*/ pChartBAxis->CreateAxis(rObjList,CHOBJID_DIAGRAM_B_AXIS);
-/*N*/
-/*N*/ //sek. Achsen haben nie ein Gitter
-/*N*/ pChartAAxis->SetHelpGrid(NULL,NULL);
-/*N*/ pChartAAxis->SetMainGrid(NULL,NULL);
-/*N*/ pChartBAxis->SetHelpGrid(NULL,NULL);
-/*N*/ pChartBAxis->SetMainGrid(NULL,NULL);
-/*N*/
-/*N*/ pChartXAxis->CreateAxis(pChartYAxis->GetPosOrigin(),pChartXAxis->HasDescription(),bXAxis);
-/*N*/
-/*N*/ if (IsXYChart())
-/*N*/ {
-/*N*/ pChartYAxis->CreateAxis(pChartXAxis->GetPosOrigin(),pChartYAxis->HasDescription(),bYAxis);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if(bYAxis)
-/*N*/ pChartYAxis->CreateAxis();
-/*N*/ }
-/*N*/
-/*N*/ pChartYAxis->DrawGrids();
-/*N*/ pChartBAxis->DrawGrids();//eigentlich kein Grid, nur die Ticks!
-/*N*/
-/*N*/ if(IsXYChart())
-/*N*/ { //Achtung! Die X-Achse unterst?zt Umbruch (nColumnTextWidth)!
-/*N*/ pChartXAxis->InitDescr();
-/*N*/ pChartAAxis->InitDescr();
-/*N*/ }
-/*N*/ else //Hier wird der ColText genutzt -> Beschr?kung auf maMaxTextSize!
-/*N*/ {
-/*N*/ pChartXAxis->InitDescr_X();
-/*N*/ pChartAAxis->InitDescr_X();
-/*N*/ }
-/*N*/ pChartAAxis->DrawGrids();
-/*N*/ pChartXAxis->DrawGrids();
-/*N*/ }
-/*N*/ void ChartModel::Position2DAxisTitles(const Rectangle& rRect,BOOL bSwitchColRow,long nTitleLeft,long nTitleBottom)
-/*N*/ {
-/*N*/ SdrPage *pPage = GetPage(0);
-/*N*/ Size aPageSize = pPage->GetSize();
-/*N*/
-/*N*/ if(bShowXAxisTitle)
-/*N*/ {
-/*N*/ SdrObject *pXAxisTitleObj = GetObjWithId(CHOBJID_DIAGRAM_TITLE_X_AXIS,*pPage);
-/*N*/
-/*N*/ if (pXAxisTitleObj)
-/*N*/ {
-/*N*/
-/*N*/
-/*N*/ Point aXAxesTitlePosition (rRect.Left() + (int) (rRect.GetWidth() / 2),nTitleBottom);
-/*N*/
-/*N*/ if (GetXAxisTitleHasBeenMoved() && GetUseRelativePositions() &&
-/*N*/ (aXAxesTitlePosition.X() > 0) && (aXAxesTitlePosition.Y() > 0))
-/*N*/ {
-/*N*/ // FG: Das ist eine Variable die in BuildChart gesetzt wird, kurz bevor
-/*N*/ // das Objekt zerstoert wird.
-/*N*/ double fRelativeXPosition = ((double) aTitleXAxisPosition.X()) / aInitialSize.Width();
-/*N*/ double fRelativeYPosition = ((double) aTitleXAxisPosition.Y()) / aInitialSize.Height();
-/*N*/ aXAxesTitlePosition.X() = (int) (aPageSize.Width() * fRelativeXPosition + 0.5);
-/*N*/ aXAxesTitlePosition.Y() = (int) (aPageSize.Height() * fRelativeYPosition + 0.5);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (bSwitchColRow)
-/*N*/ {
-/*N*/ aXAxesTitlePosition.X() = nTitleLeft;
-/*N*/ aXAxesTitlePosition.Y() = (long)(rRect.Top() + rRect.GetHeight() / 2);
-/*N*/ }
-/*N*/ }
-/*N*/ SetTextPos((SdrTextObj &) *pXAxisTitleObj, aXAxesTitlePosition,pXAxisTitleAttr);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(bShowYAxisTitle)
-/*N*/ {
-/*N*/ SdrObject *pYAxisTitleObj = GetObjWithId(CHOBJID_DIAGRAM_TITLE_Y_AXIS,*pPage);
-/*N*/
-/*N*/ if (pYAxisTitleObj)
-/*N*/ {
-/*N*/ Point aYAxesTitlePosition (Max(0L,nTitleLeft),
-/*N*/ Max(0L,(long) (rRect.Top() + (int) (rRect.GetHeight() / 2))));
-/*N*/
-/*N*/ if (GetYAxisTitleHasBeenMoved() && GetUseRelativePositions() &&
-/*N*/ (aYAxesTitlePosition.X() >= 0) && (aYAxesTitlePosition.Y() >= 0))
-/*N*/ {
-/*N*/ // FG: Das ist eine Variable die in BuildChart gesetzt wird, kurz bevor
-/*N*/ // das Objekt zerstoert wird.
-/*N*/ double fRelativeXPosition = ((double) aTitleYAxisPosition.X()) / aInitialSize.Width();
-/*N*/ double fRelativeYPosition = ((double) aTitleYAxisPosition.Y()) / aInitialSize.Height();
-/*N*/ aYAxesTitlePosition.X() = (int) (aPageSize.Width() * fRelativeXPosition + 0.5);
-/*N*/ aYAxesTitlePosition.Y() = (int) (aPageSize.Height() * fRelativeYPosition + 0.5);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if (bSwitchColRow)
-/*N*/ {
-/*N*/ aYAxesTitlePosition.X() = rRect.Left() + (int) (rRect.GetWidth() / 2);
-/*N*/ aYAxesTitlePosition.Y() = nTitleBottom;
-/*N*/ }
-/*N*/ }
-/*N*/ SetTextPos((SdrTextObj &)*pYAxisTitleObj, aYAxesTitlePosition,pYAxisTitleAttr);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*************************************************************************
-|*
-|* create 2d column charts
-|*
-\************************************************************************/
-
-/*N*/ SdrObjGroup* ChartModel::Create2DColChart(Rectangle aRect)
-/*N*/ {
-/*N*/
-/*N*/ // Background
-/*N*/ SchObjGroup* pGroup;
-/*N*/ SdrObjList* pList;
-/*N*/ CreateChartGroup (pGroup, pList);
-/*N*/ Create2DBackplane(aRect, *pList, TRUE,IsStacked() ? CHSTACK_MINMAX : CHSTACK_NONE);
-/*N*/
-/*N*/ Rectangle aClipRect( aRect );
-/*N*/ aClipRect.Right() += 1;
-/*N*/ aClipRect.Top() -= 1;
-/*N*/
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/
-/*N*/ ULONG nInsert,nInsStat;
-/*N*/ ULONG nAxisBPos=CONTAINER_APPEND;
-/*N*/ ULONG nAxisYPos=pList->GetObjCount()-1;
-/*N*/
-/*N*/ //VerbundChart, Symbol der Linie, dynamische Gr?e:
-/*N*/ Size aLegendSize (((SvxFontWidthItem &) pLegendAttr->Get (EE_CHAR_FONTWIDTH)).GetWidth (),
-/*N*/ ((SvxFontHeightItem &) pLegendAttr->Get (EE_CHAR_FONTHEIGHT)).GetHeight ());
-/*N*/ OutputDevice * pRefDev = GetRefDevice();
-/*N*/ if(pRefDev)
-/*N*/ aLegendSize = pRefDev->PixelToLogic (pRefDev->LogicToPixel (aLegendSize));
-/*N*/ else
-/*N*/ OSL_FAIL("ChartModel: no RefDevice");
-/*N*/ long nLegendHeight = aLegendSize.Height () * 9 / 10;
-/*N*/
-/*N*/ SdrObject *pObj;
-/*N*/ ChartAxis* pAxis=pChartYAxis;
-/*N*/ short nCol, nRow;
-/*N*/ BOOL bPercent = IsPercent();
-/*N*/
-/*N*/ long nLines = Min((long)GetNumLinesColChart(),(long)(nRowCnt));;//#50212#
-/*N*/ long nLineStart = nRowCnt-nLines; //#50212# Ab hier werden Linien gezeichnet
-/*N*/
-/*N*/ //BarDescriptoren erzeugen
-/*N*/ long nR1=0,nR2=0;
-/*N*/ if(IsStacked())//Reihenzahl in diesem Fall egal
-/*N*/ {
-/*N*/ nR1=nR2=1;
-/*N*/ }
-/*N*/ else //sonst Datenreihen mit Balken je Achse z?len: (Lines fallen weg)
-/*N*/ {
-/*N*/ for(nRow=0;nRow<nRowCnt;nRow++)
-/*N*/ {
-/*N*/ long nAxisUID=((const SfxInt32Item&)GetDataRowAttr(nRow).Get(SCHATTR_AXIS)).GetValue();
-/*N*/ if(IsBar()||IsCol(nRow))
-/*N*/ {
-/*N*/ if(nAxisUID == CHART_AXIS_SECONDARY_Y)
-/*N*/ nR2++;
-/*N*/ else
-/*N*/ nR1++;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(!nR1) //Verbundcharts, Lines werden oben nicht ber?ksichtigt,
-/*N*/ nR1=1; //aber nRn=0 macht keinen Sinn -> Korrektur
-/*N*/ if(!nR2)
-/*N*/ nR2=1;
-/*N*/ aBarY1.Create(aRect,nColCnt,nR1);
-/*N*/ aBarY2.Create(aRect,nColCnt,nR2);
-/*N*/ ChartBarDescriptor* pBar=&aBarY1;
-/*N*/
-/*N*/ SdrObjList **pRowLists = new SdrObjList*[nRowCnt];
-/*N*/ SdrObjList **pStatLists = new SdrObjList*[nRowCnt];
-/*N*/
-/*N*/ ChartDataDescription aDescr(nColCnt,nRowCnt,pList,this,bShowDataDescr);
-/*N*/
-/*N*/ Point *pTracePoint=0;
-/*N*/ if(m_nDefaultColorSet&CHSPECIAL_TRACELINES)
-/*N*/ {
-/*?*/ pTracePoint = new Point[nRowCnt];//#50149#
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ XPolygon *pLine = new XPolygon[nLines]; //#50149#
-/*N*/ BOOL bStartPointIsValid(FALSE); // Indicates wether the first point of a line
-/*N*/ // segment is valid.
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ Point aTextPos;
-/*N*/
-/*N*/ for (nRow = 0; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ const SfxItemSet& rDataRowAttr = GetDataRowAttr(nRow);
-/*N*/ SfxItemSet aDataPointAttr(rDataRowAttr);
-/*N*/ MergeDataPointAttr(aDataPointAttr,nCol,nRow); //#63904#
-/*N*/
-/*N*/ //Achse und Bardescriptor w?len, Insertreihenfolge festlegen ->
-/*N*/ long nAxisUID=((const SfxInt32Item&)rDataRowAttr.Get(SCHATTR_AXIS)).GetValue();
-/*N*/ pAxis=GetAxisByUID(nAxisUID);
-/*N*/ if(nAxisUID==CHART_AXIS_SECONDARY_Y)
-/*N*/ {
-/*?*/ pBar=&aBarY2;
-/*?*/ nInsert=nAxisBPos;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ pBar=&aBarY1;
-/*N*/ nInsert=nAxisYPos;//Insert-Reihenfolge festlegen
-/*N*/ }
-/*N*/ BOOL bIsLine=IsLine(nRow);
-/*N*/ if(bIsLine)
-/*N*/ nInsert=CONTAINER_APPEND;
-/*N*/
-/*N*/ nInsStat = (nInsert==CONTAINER_APPEND) ? nInsert : nInsert+1;//Statistik immer hinter den Reihenobjekten, sonst wird sie verdeckt
-/*N*/ //<- Achse und Bardescriptor w?len, Insertreihenfolge festlegen
-/*N*/
-/*N*/ if(!nRow)
-/*N*/ {
-/*N*/ pChartBAxis->InitStacking();
-/*N*/ pChartYAxis->InitStacking();
-/*N*/ }
-/*N*/
-/*N*/ if (!nCol)
-/*N*/ {
-/*N*/ SchObjGroup* pRowGroup = (SchObjGroup*) CreateSimpleGroup (CHOBJID_DIAGRAM_ROWGROUP, TRUE, TRUE);
-/*N*/
-/*N*/ pRowGroup->InsertUserData(new SchDataRow(nRow));
-/*N*/ pList->NbcInsertObject(pRowGroup,nInsert);
-/*N*/ pRowLists[nRow] = pRowGroup->GetSubList();
-/*N*/
-/*N*/ SchObjGroup* pStatGroup = (SchObjGroup*) CreateSimpleGroup (CHOBJID_DIAGRAM_STATISTICS_GROUP, TRUE, TRUE);
-/*N*/
-/*N*/ pStatGroup->InsertUserData(new SchDataRow(nRow));
-/*N*/ pList->NbcInsertObject(pStatGroup,nInsStat);
-/*N*/ pStatLists [nRow] = pStatGroup->GetSubList ();
-/*N*/ }
-/*N*/
-/*N*/ double fData = GetData(nCol, nRow, bPercent);
-/*N*/
-/*N*/ BOOL bLogarithm = pAxis->IsLogarithm();
-/*N*/ switch (eChartStyle)
-/*N*/ {
-/*N*/ case CHSTYLE_2D_COLUMN:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ {
-/*N*/ Point aTopLeft(pBar->BarLeft(),pAxis->GetUpper(fData,TRUE));
-/*N*/ Point aBottomRight(pBar->BarRight(),pAxis->GetLower(fData,TRUE));
-/*N*/
-/*N*/ Rectangle aObjRect(aTopLeft, aBottomRight);
-/*N*/
-/*N*/ BOOL bShow = (aObjRect.Bottom() >= aObjRect.Top());
-/*N*/ aObjRect.Justify();
-/*N*/
-/*N*/ if (!nCol && ((const SfxBoolItem &) rDataRowAttr.Get (SCHATTR_STAT_AVERAGE)).GetValue ())
- {DBG_BF_ASSERT(0, "STRIP"); }
-/*N*/
-/*N*/ if (bShow && ((!bLogarithm && (fData != DBL_MIN)) ||
-/*N*/ (bLogarithm && (fData != DBL_MIN) && (fData > 0.0))))
-/*N*/ {
-/*N*/ if(bIsLine) //#50212#
-/*N*/ {
-/*N*/ // Verbund-Chart
-/*N*/ // Letzte "Datenreihe" als Linie ausgeben
-/*N*/ pLine[nRow-nLineStart][1] =
-/*N*/ Point(pBar->Middle(),pAxis->GetPos(fData));
-/*N*/
-/*N*/ if (nCol == 0)
-/*N*/ {
-/*N*/ // Beim ersten Datenpunkt: Anfangspunkt = EndPunkt
-/*N*/ pLine[nRow-nLineStart][0] = pLine[nRow-nLineStart][1];//#50212#
-/*N*/ bStartPointIsValid = TRUE;
-/*N*/ }
-/*N*/ // Symbol einfuegen
-/*N*/ Point& rInsert = pLine[ nRow - nLineStart ][ 1 ];
-/*N*/
-/*N*/ if( aClipRect.IsInside( rInsert ) )
-/*N*/ {
-/*N*/ SdrObject* pNewObj = CreateSymbol( rInsert, nRow, nCol,
-/*N*/ (SfxItemSet &)aDataPointAttr,
-/*N*/ nLegendHeight ); //#50212#
-/*N*/ if(pNewObj)
-/*N*/ {
-/*N*/ pNewObj->InsertUserData(new SchObjectId(CHOBJID_DIAGRAM_DATA));
-/*N*/ pRowLists[nRow]->NbcInsertObject(pNewObj);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // Insert the line segment only if its starting point has a valid
-/*N*/ // value.
-/*N*/ if (bStartPointIsValid)
-/*N*/ {
-/*N*/ // Insert line.
-/*N*/ XPolyPolygon aResult;
-/*N*/ SchCalculationHelper::IntersectPolygonWithRectangle( pLine[ nRow - nLineStart ],
-/*N*/ aClipRect,
-/*N*/ aResult );
-/*N*/ if( aResult.Count())
-/*N*/ {
-/*N*/ SdrPathObj* pLclObj = new SdrPathObj( OBJ_PLIN, aResult );
-/*N*/ pLclObj->InsertUserData( new SchObjectId( CHOBJID_DIAGRAM_ROWSLINE ));
-/*N*/ pLclObj->InsertUserData( new SchDataRow( nRow ));
-/*N*/ pRowLists[ nRow ]->NbcInsertObject( pLclObj, 0 );
-/*N*/
-/*N*/ // Set the line's attributes.
-/*N*/ pLclObj->SetItemSet( rDataRowAttr );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // Anfangspunkt des naechsten Datenpunkts =
-/*N*/ // Endpunkt des aktuellen Datenpunkts
-/*N*/ pLine[nRow-nLineStart][0] = pLine[nRow-nLineStart][1];//#50212#
-/*N*/ bStartPointIsValid = TRUE;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ pRowLists[nRow]->NbcInsertObject(CreateRect (aObjRect, nCol, nRow, aDataPointAttr));
-/*N*/ }
-/*N*/
-/*N*/ if ((SvxChartKindError)
-/*N*/ ((const SfxInt32Item &) aDataPointAttr.Get (SCHATTR_STAT_KIND_ERROR)).GetValue () !=
-/*N*/ CHERROR_NONE)
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/
-/*N*/ if(aDescr.Enabled())
-/*N*/ {
-/*N*/ Point aPos(bIsLine ? pLine[nRow-nLineStart][1] : aObjRect.TopCenter() );
-/*N*/ aDescr.Insert(nCol,nRow,aDataPointAttr,aPos,FALSE,CHADJUST_BOTTOM_CENTER,pAxis);
-/*N*/ }
-/*N*/ }
-/*N*/ else if (bIsLine)
-/*N*/ {
-/*N*/ // Remember that the current point may not be inserted.
-/*?*/ bStartPointIsValid = FALSE;
-/*N*/ }
-/*N*/
-/*N*/ pBar->NextBar();
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ {
-/*N*/ Pair aTopBottom(pAxis->Stack(fData,TRUE));
-/*N*/ Point aTopLeft(pBar->BarLeft(),aTopBottom.A());
-/*N*/ Point aBottomRight(pBar->BarRight(),aTopBottom.B());
-/*N*/
-/*N*/
-/*N*/ Rectangle aObjRect(aTopLeft, aBottomRight);
-/*N*/
-/*N*/ BOOL bShow = (aObjRect.Bottom() >= aObjRect.Top());
-/*N*/
-/*N*/ //Stackedline-Chart benutzt dieses ObjectRect nicht => Bug #48970#
-/*N*/ if (bIsLine)
-/*?*/ bShow=TRUE;//#50212#
-/*N*/
-/*N*/ if(fData==DBL_MIN)
-/*N*/ {
-/*?*/ bShow=FALSE;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // bShow includes Top == Bottom and that may be ok, if there is no data in the chart
-/*N*/ // and > might also happen (difference 1 from rounding errors)
-/*N*/ // AND if bShow is TRUE the following part fixes the problem
-/*N*/ // so ASSERT => TRACE
-/*N*/ CHART_TRACE1( "Create2DColChart bShow = %s", bShow? "True" : "False" );
-/*N*/ }
-/*N*/ if(bLogarithm && (fData <= 0.0) )
-/*?*/ bShow=FALSE;
-/*N*/
-/*N*/ if (bShow)
-/*N*/ {
-/*N*/ aObjRect.Justify();
-/*N*/
-/*N*/ if (bIsLine)//#50212#
-/*N*/ {
-/*?*/ pLine[nRow-nLineStart][1] = Point(pBar->Middle()//MIDPOS//zu umst?dlich: nPos + nPartWidth/2 - nGap
-/*?*/ ,pAxis->GetPos(fData));//#50212#
-/*?*/
-/*?*/ if (nCol == 0)
-/*?*/ {
-/*?*/ // Beim ersten Datenpunkt: Anfangspunkt = EndPunkt
-/*?*/ pLine[nRow-nLineStart][0] = pLine[nRow-nLineStart][1];//#50212#
-/*?*/ }
-/*?*/ Point& rInsert = pLine[ nRow - nLineStart ][ 1 ];
-/*?*/
-/*?*/ if( aClipRect.IsInside( rInsert ))
-/*?*/ {
-/*?*/ SdrObject* pNewObj = CreateSymbol( rInsert, nRow, nCol,
-/*?*/ (SfxItemSet &) aDataPointAttr,
-/*?*/ nLegendHeight ); //#50212#
-/*?*/ if(pNewObj)
-/*?*/ {
-/*?*/ pNewObj->InsertUserData(new SchObjectId(CHOBJID_DIAGRAM_DATA));
-/*?*/ pRowLists[nRow]->NbcInsertObject(pNewObj);
-/*?*/ }
-/*?*/ }
-/*?*/
-/*?*/ // Insert line.
-/*?*/ XPolyPolygon aResult;
-/*?*/ SchCalculationHelper::IntersectPolygonWithRectangle( pLine[ nRow - nLineStart ],
-/*?*/ aClipRect,
-/*?*/ aResult );
-/*?*/ if( aResult.Count())
-/*?*/ {
-/*?*/ SdrPathObj* pLclObj = new SdrPathObj( OBJ_PLIN, aResult );
-/*?*/ pLclObj->InsertUserData( new SchObjectId( CHOBJID_DIAGRAM_ROWSLINE ));
-/*?*/ pLclObj->InsertUserData( new SchDataRow( nRow ));
-/*?*/ pRowLists[ nRow ]->NbcInsertObject( pLclObj, 0 );
-/*?*/
-/*?*/ // Set the line's attributes.
-/*?*/ pLclObj->SetItemSet( rDataRowAttr );
-/*?*/ }
-/*?*/
-/*?*/ // Anfangspunkt des naechsten Datenpunkts =
-/*?*/ // Endpunkt des aktuellen Datenpunkts
-/*?*/ pLine[nRow-nLineStart][0] = pLine[nRow-nLineStart][1];//#50212#
-/*N*/ }
-/*N*/ else
-/*N*/ { //#50116#
-/*N*/ Rectangle aBarRect(aObjRect);
-/*N*/ if(nBarPercentWidth<100 && nBarPercentWidth>0)
-/*N*/ {
-/*?*/ double fWidth=aBarRect.GetWidth();
-/*?*/ fWidth=fWidth*((double)nBarPercentWidth/100.0);
-/*?*/ long nWidth=Round(fWidth);
-/*?*/ long nDiff=(aBarRect.GetWidth()-nWidth);
-/*?*/
-/*?*/ Size aSize=aBarRect.GetSize();
-/*?*/ aSize.Width()-=nDiff;
-/*?*/ aBarRect.SetSize(aSize);
-/*?*/ aBarRect.Move(nDiff/2,0);
-/*N*/ }
-/*N*/ pRowLists[nRow]->NbcInsertObject(CreateRect (aBarRect, nCol, nRow, aDataPointAttr));
-/*N*/
-/*N*/ BOOL bIsDownward=(BOOL)(fData < 0.0);//FALSE;//#51471#
-/*N*/
-/*N*/ if(pTracePoint) //#50149#
-/*N*/ {
-/*?*/ if(nCol != 0)
-/*?*/ {
-/*?*/ Point aEndPoint=bIsDownward ? aBarRect.BottomLeft() : aBarRect.TopLeft();//#51471#
-/*?*/ SdrPathObj* pLclObj = new SdrPathObj(pTracePoint[nRow],aEndPoint);
-/*?*/ pLclObj->InsertUserData(new SchObjectId (0));
-/*?*/ pList->NbcInsertObject(pLclObj);//immer vorne, egal welche Achse
-/*?*/ // Linie attributieren
-/*?*/
-/*?*/ pLclObj->SetItemSet(rDataRowAttr);
-/*?*/
-/*?*/ }
-/*?*/ pTracePoint[nRow]=bIsDownward ? aBarRect.BottomRight() :aBarRect.TopRight();//#51471#
-/*N*/ }
-/*N*/ }
-/*N*/ if(aDescr.Enabled())
-/*N*/ {
-/*N*/ if(bIsLine)
-/*?*/ aDescr.Insert(nCol,nRow,aDataPointAttr,pLine[nRow-nLineStart][1],FALSE,CHADJUST_BOTTOM_CENTER,pAxis);
-/*N*/ else
-/*N*/ aDescr.Insert(nCol,nRow,aDataPointAttr,aObjRect.Center(),FALSE,CHADJUST_CENTER_CENTER,pAxis);
-/*N*/ }
-/*N*/ }
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ case CHSTYLE_2D_BAR:
-/*N*/ {
-/*N*/ Point aTopLeft( pAxis->GetLower(fData),pBar->BarTop() );
-/*N*/ Point aRightBottom( pAxis->GetUpper(fData),pBar->BarBottom() );
-/*N*/ Rectangle aObjRect(aTopLeft,aRightBottom);
-/*N*/
-/*N*/ BOOL bShow = (aObjRect.Right() >= aObjRect.Left());
-/*N*/ aObjRect.Justify();
-/*N*/
-/*N*/ if (!nCol && ((const SfxBoolItem &) rDataRowAttr.Get (SCHATTR_STAT_AVERAGE)).GetValue ())
-/*?*/ {DBG_BF_ASSERT(0, "STRIP"); }
-/*N*/
-/*N*/ if ((bShow) && ((!bLogarithm && (fData != DBL_MIN)) ||
-/*N*/ (bLogarithm && (fData != DBL_MIN) && (fData > 0.0))))
-/*N*/ {
-/*N*/ pRowLists[nRow]->NbcInsertObject(CreateRect (aObjRect, nCol, nRow, aDataPointAttr));
-/*N*/
-/*N*/ if ((SvxChartKindError)
-/*N*/ ((const SfxInt32Item &) aDataPointAttr.Get (SCHATTR_STAT_KIND_ERROR)).GetValue () !=
-/*N*/ CHERROR_NONE)
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/
-/*N*/ if(aDescr.Enabled())
-/*N*/ {
-/*N*/ Point aPos(aObjRect.TopRight());
-/*N*/ aPos.Y()+=aObjRect.GetHeight() / 2;
-/*N*/ aPos.X()+=500;
-/*N*/ aDescr.Insert(nCol,nRow,aDataPointAttr,aPos,FALSE,CHADJUST_CENTER_LEFT,pAxis);
-/*N*/ }
-/*N*/ }
-/*N*/ pBar->NextBar();
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHSTYLE_2D_STACKEDBAR:
-/*N*/ case CHSTYLE_2D_PERCENTBAR:
-/*N*/ {
-/*N*/ Pair aLeftRight(pAxis->Stack(fData,TRUE));
-/*N*/ Point aTopLeft(aLeftRight.A(),pBar->BarBottom());
-/*N*/ Point aBottomRight(aLeftRight.B(),pBar->BarTop());
-/*N*/
-/*N*/ Rectangle aObjRect(aTopLeft,aBottomRight);
-/*N*/
-/*N*/
-/*N*/ if ((aObjRect.Right() >= aObjRect.Left()) &&
-/*N*/ ((!bLogarithm && (fData != DBL_MIN)) ||
-/*N*/ (bLogarithm && (fData != DBL_MIN) && (fData > 0.0))))
-/*N*/ {
-/*N*/ aObjRect.Justify();
-/*N*/
-/*N*/ pObj = new SdrRectObj( aObjRect );
-/*N*/ pObj->SetModel( this );
-/*N*/ pObj = SetObjectAttr( pObj, CHOBJID_DIAGRAM_DATA, TRUE, TRUE, &aDataPointAttr );
-/*N*/ pObj->InsertUserData(new SchDataPoint(nCol, nRow));
-/*N*/ pRowLists[nRow]->NbcInsertObject(pObj);
-/*N*/
-/*N*/ if(aDescr.Enabled())
-/*N*/ aDescr.Insert(nCol,nRow,aDataPointAttr,aObjRect.Center(),FALSE,CHADJUST_CENTER_CENTER,pAxis);
-/*N*/ }
-/*N*/ break;
-/*N*/ }
- default: break;
-/*N*/ }
-/*N*/ } //for nRow
-/*N*/ aBarY1.NextCol();
-/*N*/ aBarY2.NextCol();
-/*N*/ }//for nCol
-/*N*/
-/*N*/ aDescr.Build(TRUE);
-/*N*/ delete[] pTracePoint;//#50149#
-/*N*/ delete[] pLine;//#50212#
-/*N*/ delete[] pRowLists;
-/*N*/ delete[] pStatLists;
-/*N*/ return pGroup;
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Fl?chendiagramm erzeugen
-|* case CHSTYLE_2D_LINE:
-|* case CHSTYLE_2D_STACKEDLINE:
-|* case CHSTYLE_2D_PERCENTLINE:
-|* case CHSTYLE_2D_LINESYMBOLS :
-|* case CHSTYLE_2D_STACKEDLINESYM :
-|* case CHSTYLE_2D_PERCENTLINESYM :
-|* case CHSTYLE_2D_CUBIC_SPLINE :
-|* case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL :
-|* case CHSTYLE_2D_B_SPLINE :
-|* case CHSTYLE_2D_B_SPLINE_SYMBOL :
-|*
-\************************************************************************/
-/*N*/ BOOL ChartModel::HasStockLines( SvxChartStyle* pStyle )
-/*N*/ {
-/*N*/ switch( pStyle? *pStyle: eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STOCK_1:
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ return TRUE;
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-/*N*/ BOOL ChartModel::HasStockRects( SvxChartStyle* pStyle )
-/*N*/ {
-/*N*/ switch( pStyle? *pStyle: eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STOCK_2:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ return TRUE;
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-/*N*/ BOOL ChartModel::HasStockBars( SvxChartStyle* pStyle )
-/*N*/ {
-/*N*/ switch( pStyle? *pStyle: eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_STOCK_3:
-/*N*/ case CHSTYLE_2D_STOCK_4:
-/*N*/ return TRUE;
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ }
-/*N*/ ChartAxis* ChartModel::GetAxisByUID(long nUId)
-/*N*/ {
-/*N*/ switch(nUId)
-/*N*/ {
-/*N*/ case CHART_AXIS_PRIMARY_X:
-/*N*/ return pChartXAxis;
-/*N*/ case CHART_AXIS_PRIMARY_Y:
-/*N*/ return pChartYAxis;
-/*N*/ case CHART_AXIS_PRIMARY_Z:
-/*N*/ return pChartZAxis;
-/*N*/ case CHART_AXIS_SECONDARY_Y:
-/*N*/ return pChartBAxis;
-/*N*/ case CHART_AXIS_SECONDARY_X:
-/*N*/ return pChartAAxis;
-/*N*/ }
-/*N*/ OSL_TRACE( "ChartAxis not found: id=%ld", nUId );
-/*N*/ return pChartYAxis;
-/*N*/ }
-/*N*/ #define SchDataCol(a) SchDataRow(a) //erst mal testen..... (wird eh ne geklonte Klasse)
-
-/*N*/ void ChartModel::DrawStockLines( SdrObjList* pList, const Rectangle& rRect )
-/*N*/ { //und fuer Stock-Charts
-/*N*/
-/*N*/ long nStart=HasStockBars() ? 1:0;
-/*N*/ if(HasStockLines())
-/*N*/ {
-/*N*/
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/ long nCol, nRow;
-/*N*/
-/*N*/ SdrObject *pObj;
-/*N*/ SdrObjList *pLineList,*pLossList=NULL,*pPlusList=NULL;
-/*N*/ SchObjGroup *pLineGroup,*pLossGroup=NULL,*pPlusGroup=NULL;
-/*N*/
-/*N*/
-/*N*/ ChartBarDescriptor* pBar(0);
-/*N*/ aBarY2.Create(rRect,nColCnt,1);
-/*N*/ aBarY1.Create(rRect,nColCnt,1);
-/*N*/
-/*N*/ pLineGroup =(SchObjGroup*)CreateSimpleGroup(CHOBJID_DIAGRAM_STOCKLINE_GROUP,TRUE, TRUE);
-/*N*/ pList->NbcInsertObject(pLineGroup);
-/*N*/ pLineList = pLineGroup->GetSubList();
-/*N*/
-/*N*/ XPolygon aPolyStock(2);
-/*N*/
-/*N*/ //StockRects:
-/*N*/ long nLow,nHi;
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ BOOL bOK=FALSE;
-/*N*/ nLow=nHi=0;
-/*N*/ for (nRow = nStart; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ if(GetAxisUID(nRow)==CHART_AXIS_SECONDARY_Y)
-/*?*/ pBar=&aBarY2;
-/*N*/ else
-/*N*/ pBar=&aBarY1;
-/*N*/
-/*N*/ ChartAxis *pAxis=GetAxisByUID(((const SfxInt32Item &)GetDataRowAttr(nRow).Get(SCHATTR_AXIS)).GetValue());
-/*N*/ double fData = GetData(nCol,nRow,FALSE);
-/*N*/ if(fData != DBL_MIN)
-/*N*/ {
-/*N*/ bOK=TRUE;
-/*N*/ long nYPos = pAxis->GetPos(fData);
-/*N*/
-/*N*/ aPolyStock[0].X()=aPolyStock[1].X()=(USHORT)pBar->Middle();
-/*N*/ if(nRow==nStart)//geht auch sch?er: bInitialise (ToDo:)
-/*N*/ {
-/*N*/ aPolyStock[0].Y()=aPolyStock[1].Y()=(USHORT) nYPos;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if((USHORT)nYPos > aPolyStock[0].Y())
-/*N*/ aPolyStock[0].Y()=(USHORT)nYPos;
-/*N*/ if((USHORT)nYPos < aPolyStock[1].Y())
-/*N*/ aPolyStock[1].Y()=(USHORT)nYPos;
-/*N*/ }
-/*N*/ switch(nRow-nStart)//StockRects
-/*N*/ {
-/*N*/ case 0:
-/*N*/ nLow=nYPos;
-/*N*/ break;
-/*N*/ case 3:
-/*N*/ nHi=nYPos;
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ if(bOK)
-/*N*/ {
-/*N*/ pObj = new SdrPathObj(OBJ_PLIN, aPolyStock);
-/*N*/ pObj->InsertUserData(new SchObjectId (CHOBJID_DIAGRAM_STOCKLINE));
-/*N*/ pObj->InsertUserData(new SchDataCol((short)nCol));
-/*N*/ pLineList->NbcInsertObject(pObj,LIST_APPEND);
-/*N*/
-/*N*/ pObj->SetItemSet(*pStockLineAttr);
-/*N*/
-/*N*/ if(HasStockRects()&&nRowCnt>3)
-/*N*/ {
-/*N*/ BOOL bLoss=TRUE;
-/*N*/ if(nLow>nHi)
-/*N*/ {
-/*N*/ long nTmp=nLow;
-/*N*/ nLow=nHi;
-/*N*/ nHi=nTmp;
-/*N*/ bLoss=FALSE;
-/*N*/ }
-/*N*/
-/*N*/ if(!pLossList&&bLoss)
-/*N*/ {
-/*N*/ pLossGroup =(SchObjGroup*)CreateSimpleGroup(CHOBJID_DIAGRAM_STOCKLOSS_GROUP,TRUE, TRUE);
-/*N*/ pList->NbcInsertObject(pLossGroup);
-/*N*/ pLossList = pLossGroup->GetSubList();
-/*N*/ }
-/*N*/ if(!pPlusList && !bLoss)
-/*N*/ {
-/*N*/ pPlusGroup =(SchObjGroup*)CreateSimpleGroup(CHOBJID_DIAGRAM_STOCKPLUS_GROUP,TRUE, TRUE);
-/*N*/ pList->NbcInsertObject(pPlusGroup);
-/*N*/ pPlusList = pPlusGroup->GetSubList();
-/*N*/ }
-/*N*/ pObj = new SdrRectObj(Rectangle(Point(pBar->BarLeft(),nLow),Size(pBar->BarWidth(),nHi-nLow)));
-/*N*/ pObj->InsertUserData(new SchObjectId (CHOBJID_DIAGRAM_STOCKRECT));
-/*N*/ pObj->InsertUserData(new SchDataCol((short)nCol));
-/*N*/ if(bLoss)
-/*N*/ {
-/*N*/ pLossList->NbcInsertObject(pObj,LIST_APPEND);
-/*N*/
-/*N*/ pObj->SetItemSet(*pStockLossAttr);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ pPlusList->NbcInsertObject(pObj,LIST_APPEND);
-/*N*/
-/*N*/ pObj->SetItemSet(*pStockPlusAttr);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ aBarY1.NextCol();
-/*N*/ aBarY2.NextCol();
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ void ChartModel::DrawStockBars(SdrObjList* pList,const Rectangle& aRect)
-/*N*/ {
-/*N*/ const long nRow = 0;
-/*N*/
-/*N*/ const SfxItemSet& rDataRowAttr = GetDataRowAttr(nRow);
-/*N*/
-/*N*/ long nColCnt = GetColCount();
-/*N*/
-/*N*/ ChartBarDescriptor* pBar;
-/*N*/ long nAxisUID=GetAxisUID(nRow);
-/*N*/ switch(nAxisUID)
-/*N*/ {
-/*N*/ case CHART_AXIS_SECONDARY_Y:
-/*N*/ aBarY2.Create(aRect,nColCnt,1);
-/*N*/ pBar=&aBarY2;
-/*N*/ break;
-/*N*/ default:
-/*N*/ aBarY1.Create(aRect,nColCnt,1);
-/*N*/ pBar=&aBarY1;
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ if(GetRowCount()&&HasStockBars())
-/*N*/ {
-/*N*/ ChartAxis *pAxis=GetAxisByUID(((const SfxInt32Item &)rDataRowAttr.Get(SCHATTR_AXIS)).GetValue());
-/*N*/ long nCol;
-/*N*/
-/*N*/ SdrObjList *pBarList;
-/*N*/
-/*N*/ SchObjGroup *pBarGroup;
-/*N*/
-/*N*/ pBarGroup =(SchObjGroup*)CreateSimpleGroup(CHOBJID_DIAGRAM_ROWGROUP,TRUE, TRUE);
-/*N*/ pBarGroup->InsertUserData(new SchDataRow(nRow));
-/*N*/
-/*N*/ pList->NbcInsertObject(pBarGroup);
-/*N*/ pBarList = pBarGroup->GetSubList();
-/*N*/
-/*N*/ //Statistik:
-/*N*/ if ( ((const SfxBoolItem &) rDataRowAttr.Get (SCHATTR_STAT_AVERAGE)).GetValue ())
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ SfxItemSet aDataPointAttr(GetFullDataPointAttr(nCol,nRow));
-/*N*/
-/*N*/
-/*N*/ double fData = GetData(nCol,nRow,FALSE);
-/*N*/ long nHi = pAxis->GetPos(fData);
-/*N*/ long nLow= pAxis->GetPosOrigin();
-/*N*/
-/*N*/ if(fData != DBL_MIN)
-/*N*/ {
-/*N*/ Rectangle aObjRect(Point(pBar->BarLeft(),nLow),Size(pBar->BarWidth(),nHi-nLow));
-/*N*/
-/*N*/ pBarList->NbcInsertObject(CreateRect(aObjRect,nCol,nRow,aDataPointAttr));
-/*N*/
-/*N*/ if ((SvxChartKindError)
-/*N*/ ((const SfxInt32Item &) aDataPointAttr.Get (SCHATTR_STAT_KIND_ERROR)).GetValue () !=
-/*N*/ CHERROR_NONE)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ // ***************************** Description *****************************
-/*N*/ SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)aDataPointAttr.
-/*N*/ Get(SCHATTR_DATADESCR_DESCR)).GetValue();
-/*N*/
-/*N*/ if((eDescr!=CHDESCR_NONE)&&bShowDataDescr)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-/*N*/ // ************************* end description *******************************
-/*N*/ }
-/*N*/ pBar->NextCol();
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-
-/*N*/ SdrObjGroup* ChartModel::Create2DRowLineChart(Rectangle aRect)
-/*N*/ {
-/*N*/ BOOL bPartDescr=FALSE;
-/*N*/ if(HasStockLines())
-/*N*/ bPartDescr=TRUE;
-/*N*/
-/*N*/ SchObjGroup *pGroup;
-/*N*/ SdrObjList *pList;
-/*N*/ CreateChartGroup (pGroup, pList);
-/*N*/ BOOL bStacked = IsStacked();
-/*N*/ USHORT eStackMode = bStacked ? CHSTACK_OVERLAP : CHSTACK_NONE;
-/*N*/ Create2DBackplane(aRect, *pList, bPartDescr, eStackMode);
-/*N*/
-/*N*/ Rectangle aClipRect( aRect );
-/*N*/ aClipRect.Right() += 1;
-/*N*/ aClipRect.Top() -= 1;
-/*N*/
-/*N*/ SdrObject *pObj;
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/ long nCol, nRow;
-/*N*/
-/*N*/ BOOL bPercent = IsPercent();
-/*N*/
-/*N*/ //ToDo: XAchse-Logarithmus auf FALSE erzwingen (???)
-/*N*/
-/*N*/ long nBackColCnt = (bPartDescr) ? nColCnt +1: nColCnt ;
-/*N*/
-/*N*/ if (nColCnt > 1)
-/*N*/ {
-/*N*/ nBackColCnt--;
-/*N*/ }
-/*N*/
-/*N*/ long nPartWidth = aRect.GetWidth() / nBackColCnt;
-/*N*/ double fPartWidth = ((double) aRect.GetWidth() / (double) nBackColCnt);
-/*N*/
-/*N*/ SdrObjList** pRowLists = new SdrObjList*[nRowCnt];
-/*N*/ SdrObjList** pStatLists = new SdrObjList*[nRowCnt];
-/*N*/
-/*N*/ ChartDataDescription aDescr(nColCnt,nRowCnt,pList,this,bShowDataDescr);
-/*N*/
-/*N*/ //Berechnung von nLegendHeigth:
-/*N*/ Size aLegendSize (((SvxFontWidthItem &) pLegendAttr->Get(EE_CHAR_FONTWIDTH)).GetWidth(),
-/*N*/ ((SvxFontHeightItem &) pLegendAttr->Get(EE_CHAR_FONTHEIGHT)).GetHeight());
-/*N*/
-/*N*/ //#54884# Was soll das hier? Create2DRowLineChart
-/*N*/ OutputDevice * pRefDev = GetRefDevice();
-/*N*/ if(pRefDev)
-/*N*/ aLegendSize = pRefDev->PixelToLogic (pRefDev->LogicToPixel (aLegendSize));
-/*N*/ else
-/*N*/ OSL_FAIL("ChartModel: no RefDevice");
-/*N*/
-/*N*/ long nLegendHeight = aLegendSize.Height () * 9 / 10;
-/*N*/
-/*N*/ Polygon aPolygon( nColCnt + 16 ); // +4 -> +16: let some more points be possible. Is set to exact size later
-/*N*/
-/*N*/ //Ab hier speziell fuer (Sp)Line-Charts:
-/*N*/ XPolygon *pSpline = new XPolygon(nColCnt * nGranularity);
-/*N*/
-/*N*/ long nStartX=aRect.Left();
-/*N*/ if(bPartDescr)
-/*N*/ nStartX+=nPartWidth/2;
-/*N*/
-/*N*/ if(HasStockBars())
-/*N*/ DrawStockBars( pList, aRect );
-/*N*/ if(HasStockLines())
-/*N*/ DrawStockLines( pList, aRect );
-/*N*/
-/*N*/ long nStart=HasStockBars() ? 1: 0;
-/*N*/
-/*N*/ long nAllObjects = pList->GetObjCount () - 1;
-/*N*/
-/*N*/ for (nRow = nStart; nRow < nRowCnt; nRow++)
-/*N*/ {
-/*N*/ BOOL bArea=IsArea(nRow);
-/*N*/ const SfxItemSet &rDataRowAttr = GetDataRowAttr(nRow);
-/*N*/ long nAxisUId = ((const SfxInt32Item &)rDataRowAttr.Get(SCHATTR_AXIS)).GetValue();
-/*N*/ ChartAxis *pAxis=GetAxisByUID(nAxisUId);
-/*N*/
-/*N*/ long nPos = nStartX;
-/*N*/ double fPos = nStartX;
-/*N*/ USHORT nPoints = 0;
-/*N*/
-/*N*/ SchObjGroup *pRowGroup =(SchObjGroup*)CreateSimpleGroup(CHOBJID_DIAGRAM_ROWGROUP,TRUE, TRUE);
-/*N*/ SchObjGroup *pStatGroup=(SchObjGroup*)CreateSimpleGroup(CHOBJID_DIAGRAM_STATISTICS_GROUP,TRUE,TRUE);
-/*N*/
-/*N*/ pRowGroup->InsertUserData(new SchDataRow((short)nRow));
-/*N*/
-/*N*/ if(bArea)
-/*N*/ pList->NbcInsertObject(pRowGroup, nAllObjects);
-/*N*/ else
-/*N*/ pList->NbcInsertObject(pRowGroup);
-/*N*/
-/*N*/ pRowLists[nRow] = pRowGroup->GetSubList();
-/*N*/
-/*N*/ pStatGroup->InsertUserData(new SchDataRow((short)nRow));
-/*N*/ pList->NbcInsertObject(pStatGroup);
-/*N*/ pStatLists [nRow] = pStatGroup->GetSubList();
-/*N*/
-/*N*/ if( ! bStacked )
-/*N*/ {
-/*N*/ if (((const SfxBoolItem &) rDataRowAttr.Get (SCHATTR_STAT_AVERAGE)).GetValue ())
-/*?*/ {DBG_BF_ASSERT(0, "STRIP"); }
-/*N*/ }
-/*N*/
-/*N*/ for (nCol = 0; nCol < nColCnt; nCol++)
-/*N*/ {
-/*N*/ SfxItemSet aDataPointAttr(rDataRowAttr);//#63904#
-/*N*/ MergeDataPointAttr(aDataPointAttr,nCol,nRow);
-/*N*/
-/*N*/ double fData = GetData(nCol, nRow, bPercent);
-/*N*/
-/*N*/ BOOL bLogarithm = pAxis->IsLogarithm();
-/*N*/ BOOL bValidData=((fData!=DBL_MIN)&&(!bLogarithm||(bLogarithm&&(fData>0.0))));
-/*N*/
-/*N*/ if(!bValidData && bStacked)
-/*N*/ {
-/*N*/ fData = 0.0;
-/*N*/ bValidData = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ // *****************************end Data Valid? ***************************
-/*N*/
-/*N*/ if (bValidData)
-/*N*/ {
-/*N*/ if(eStackMode != CHSTACK_NONE)
-/*N*/ fData = pAxis->StackColData(fData,nCol,nColCnt);
-/*N*/
-/*N*/ long nYPos = pAxis->GetPos(fData);
-/*N*/
-/*N*/ aPolygon[nPoints].X() = nPos;
-/*N*/ aPolygon[nPoints].Y() = nYPos;
-/*N*/
-/*N*/ nPoints++;
-/*N*/
-/*N*/ if (HasSymbols(nRow))
-/*N*/ {
-/*N*/
-/*N*/ Point& rInsert = aPolygon[nPoints - 1];
-/*N*/
-/*N*/ if( aClipRect.IsInside( rInsert ) )
-/*N*/ {
-/*N*/ SdrObject *pNewObj = CreateSymbol( rInsert, nRow, nCol,
-/*N*/ (SfxItemSet &) aDataPointAttr, nLegendHeight );
-/*N*/ if(pNewObj)
-/*N*/ {
-/*N*/ pNewObj->InsertUserData(new SchObjectId(CHOBJID_DIAGRAM_DATA));
-/*N*/ pRowLists[nRow]->NbcInsertObject(pNewObj);
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if (!bStacked)
-/*N*/ {
-/*N*/ if ((SvxChartKindError)
-/*N*/ ((const SfxInt32Item &)aDataPointAttr.Get(SCHATTR_STAT_KIND_ERROR)).GetValue () != CHERROR_NONE)
-/*?*/ {DBG_BF_ASSERT(0, "STRIP"); }
-/*N*/ }
-/*N*/
-/*N*/ if(aDescr.Enabled())
-/*N*/ {
-/*N*/ Point aPos(aPolygon[nPoints-1]);
-/*N*/ if(aPos.X() == aRect.Left())
-/*N*/ {
-/*N*/ aPos.X()+=50;
-/*N*/ aDescr.Insert(nCol,nRow,aDataPointAttr,aPos,FALSE,CHADJUST_BOTTOM_LEFT,pAxis);
-/*N*/ }
-/*N*/ else
-/*N*/ aDescr.Insert(nCol,nRow,aDataPointAttr,aPos,FALSE,CHADJUST_BOTTOM_CENTER,pAxis);
-/*N*/ }
-/*N*/ // ************************* end description *******************************
-/*N*/ }
-/*N*/ else if( bArea ) // invalid data, area
-/*N*/ {
-/*?*/ if(eStackMode != CHSTACK_NONE)
-/*?*/ fData = pAxis->StackColData(fData,nCol,nColCnt);
-/*?*/ long nYPos = pAxis->GetPos(0.0);
-/*?*/ //fehlende Werte werden hier als 0 interpretiert - weglassen des BlockInhalts w?e Interpolation!
-/*?*/ aPolygon[nPoints].X() = nPos;
-/*?*/ aPolygon[nPoints].Y() = nYPos;
-/*?*/ nPoints++;
-/*N*/ }
-/*N*/ else // invalid data, no area
-/*N*/ {
-/*?*/ if( nPoints )
-/*?*/ {
-/*?*/ if( nPoints > 1 )
-/*?*/ {
-/*?*/ if( IsSplineChart() )
-/*?*/ {
-/*?*/ Polygon aNewPoly( nPoints );
-/*?*/ for( USHORT i = 0; i < nPoints; i++ )
-/*?*/ aNewPoly[ i ] = aPolygon[ i ];
-/*?*/
-/*?*/ XPolygon aXPoly( aNewPoly );
-/*?*/ if ((eChartStyle == CHSTYLE_2D_CUBIC_SPLINE) ||
-/*?*/ (eChartStyle == CHSTYLE_2D_CUBIC_SPLINE_SYMBOL))
-/*?*/ {
-/*?*/ CubicSpline( aXPoly, nPoints - 1, nGranularity, *pSpline );
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ approxMesh( nGranularity, *pSpline, aXPoly, nPoints - 1, nSplineDepth );
-/*?*/ }
-/*?*/
-/*?*/ XPolygon aSplinePoly( *pSpline );
-/*?*/ aSplinePoly.SetSize( (nPoints - 1) * nGranularity );
-/*?*/
-/*?*/ // #67488# crop polygon
-/*?*/ XPolyPolygon aResult;
-/*?*/ SchCalculationHelper::IntersectPolygonWithRectangle( aSplinePoly, aClipRect, aResult );
-/*?*/ pObj = new SdrPathObj( OBJ_PLIN, aResult );
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ Polygon aNewPoly( nPoints );
-/*?*/ for( USHORT i = 0; i < nPoints; i++ )
-/*?*/ aNewPoly[ i ] = aPolygon[ i ];
-/*?*/
-/*?*/ // #67488# crop polygon
-/*?*/ XPolyPolygon aResult;
-/*?*/ XPolygon aXPoly( aNewPoly );
-/*?*/
-/*?*/ SchCalculationHelper::IntersectPolygonWithRectangle( aXPoly, aClipRect, aResult );
-/*?*/ pObj = new SdrPathObj( OBJ_PLIN, aResult );
-/*?*/ }
-/*?*/
-/*?*/ pObj->InsertUserData( new SchObjectId( CHOBJID_DIAGRAM_ROWSLINE ));
-/*?*/ pObj->InsertUserData( new SchDataRow( (short)nRow ));
-/*?*/ pRowLists[ nRow ]->NbcInsertObject( pObj, 0 ); //#54870# put line to background, so symbol is in front
-/*?*/
-/*?*/ pObj->SetItemSet( rDataRowAttr);
-/*?*/
-/*?*/ }
-/*?*/ }
-/*?*/ nPoints = 0;
-/*N*/ }
-/*N*/
-/*N*/ fPos += fPartWidth;
-/*N*/ nPos = long(fPos);
-/*N*/ } //for nCol
-/*N*/
-/*N*/ if( nPoints )
-/*N*/ {
-/*N*/ pObj = NULL;
-/*N*/
-/*N*/ if( IsSplineChart() )
-/*N*/ {
-/*N*/ if( nPoints > 1 )
-/*N*/ {
-/*N*/ Polygon aNewPoly( nPoints );
-/*N*/ for( USHORT i = 0; i < nPoints; i++ )
-/*N*/ aNewPoly[ i ] = aPolygon[ i ];
-/*N*/
-/*N*/ XPolygon aXPoly( aNewPoly );
-/*N*/ if ((eChartStyle == CHSTYLE_2D_CUBIC_SPLINE) ||
-/*N*/ (eChartStyle == CHSTYLE_2D_CUBIC_SPLINE_SYMBOL))
-/*N*/ {
-/*N*/ CubicSpline( aXPoly, nPoints - 1,nGranularity, *pSpline );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ approxMesh( nGranularity, *pSpline, aXPoly, nPoints - 1, nSplineDepth );
-/*N*/ }
-/*N*/
-/*N*/ XPolygon aSplinePoly( *pSpline );
-/*N*/ aSplinePoly.SetSize( (nPoints - 1) * nGranularity );
-/*N*/
-/*N*/ // #67488# crop polygon
-/*N*/ XPolyPolygon aResult;
-/*N*/ SchCalculationHelper::IntersectPolygonWithRectangle( aSplinePoly, aClipRect, aResult );
-/*N*/ pObj = new SdrPathObj( OBJ_PLIN, aResult );
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if( bArea )
-/*N*/ {
-/*N*/ Polygon aNewPoly( nPoints + 3 );
-/*N*/ for( USHORT i = 0; i < nPoints + 3; i++ )
-/*N*/ aNewPoly[ i ] = aPolygon[ i ];
-/*N*/ XPolygon aBase( 2 );
-/*N*/
-/*N*/ pAxis->GridLine( aBase, pAxis->GetPosOrigin() );
-/*N*/ aNewPoly[ nPoints ] = aBase[ 1 ];
-/*N*/ aNewPoly[ nPoints + 1 ] = aBase[ 0 ];
-/*N*/ aNewPoly[ nPoints + 2 ] = aNewPoly[ 0 ];
-/*N*/
-/*N*/ // #67488# crop polygon
-/*N*/ aNewPoly.Clip( aClipRect );
-/*N*/ XPolygon aXPoly( aNewPoly );
-/*N*/
-/*N*/ pObj = new SdrPathObj( OBJ_POLY, aXPoly );
-/*N*/ pObj->SetModel( this );
-/*N*/ SetObjectAttr( pObj,CHOBJID_DIAGRAM_ROWS, TRUE, TRUE, (SfxItemSet *)&rDataRowAttr );
-/*N*/ }
-/*N*/ else if( nPoints > 1 ) // line
-/*N*/ {
-/*N*/ // #67488# crop polygon
-/*N*/ Polygon aNewPoly( nPoints );
-/*N*/ for( USHORT i = 0; i < nPoints; i++ )
-/*N*/ aNewPoly[ i ] = aPolygon[ i ];
-/*N*/
-/*N*/ XPolyPolygon aResult;
-/*N*/ XPolygon aXPoly( aNewPoly );
-/*N*/
-/*N*/ SchCalculationHelper::IntersectPolygonWithRectangle( aXPoly, aClipRect, aResult );
-/*N*/ pObj = new SdrPathObj( OBJ_PLIN, aResult );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if( pObj )
-/*N*/ {
-/*N*/ pObj->InsertUserData( new SchObjectId( CHOBJID_DIAGRAM_ROWSLINE ));
-/*N*/
-/*N*/ pObj->SetItemSet( rDataRowAttr);
-/*N*/
-/*N*/ pObj->InsertUserData( new SchDataRow( (short)nRow ));
-/*N*/
-/*N*/ if( ! bArea || (bArea && IsStacked()) )
-/*N*/ pRowLists[ nRow ]->NbcInsertObject( pObj, 0 );
-/*N*/ else
-/*N*/ pRowLists[ nRow ]->NbcInsertObject( pObj );
-/*N*/ }
-/*N*/ } // if( nPoints )
-/*N*/ } //for nRow
-/*N*/
-/*N*/ delete pSpline;
-/*N*/
-/*N*/ //Ab hier wieder wie in Create2DRow(Area)Chart:
-/*N*/
-/*N*/ aDescr.Build(TRUE);
-/*N*/ delete[] pRowLists;
-/*N*/ delete[] pStatLists;
-/*N*/ return pGroup;
-/*N*/ }
-
-/*N*/ bool ChartModel::UsesSourceFormat( long nAxisUID, SfxItemSet** pItemSetPointer /* = NULL */ )
-/*N*/ {
-/*N*/ const SfxPoolItem* pPoolItem = NULL;
-/*N*/ ChartAxis* pAxis = NULL;
-/*N*/ SfxItemSet* pItemSet = NULL;
-/*N*/
-/*N*/ if( ( pAxis = GetAxisByUID( nAxisUID )) &&
-/*N*/ ( pItemSet = pAxis->GetItemSet()))
-/*N*/ {
-/*N*/ if( pItemSetPointer )
-/*N*/ *pItemSetPointer = pItemSet;
-/*N*/
-/*N*/ // return true if item is not set (default) or it is set to TRUE
-/*N*/ return ( ( SFX_ITEM_SET !=
-/*N*/ pItemSet->GetItemState( SID_ATTR_NUMBERFORMAT_SOURCE, FALSE, &pPoolItem )) ||
-/*N*/ ( SAL_STATIC_CAST( const SfxBoolItem*, pPoolItem )->GetValue() == TRUE ));
-/*N*/ }
-/*N*/
-/*N*/ return false;
-/*N*/ }
-
-// checks if the numberformat was set in MemChart (by Calc/Writer)
-// if this is the case the axis attributes are overwritten and TRUE is returned
-/*N*/ BOOL ChartModel::CheckForNewAxisNumFormat()
-/*N*/ {
-/*N*/ // Don't set the numberformater for a percent chart.
-/*N*/ // or when formats are not set from the outside
-/*N*/ if ( IsPercentChart() ||
-/*N*/ UsesOwnNumberFormatter() )
-/*N*/ return FALSE;
-/*N*/
-/*N*/ // if source format is used, update
-/*N*/ const SfxPoolItem* pPoolItem = NULL;
-/*N*/ SfxItemSet* pItemSet = NULL;
-/*N*/ SfxItemSet* pItemSetA = NULL;
-/*N*/ bool bRet = false;
-/*N*/ long nRow = 0;
-/*N*/ INT32 nFmt = -1;
-/*N*/ USHORT nSchattr = IsPercentChart()
-/*N*/ ? SCHATTR_AXIS_NUMFMTPERCENT
-/*N*/ : SCHATTR_AXIS_NUMFMT;
-/*N*/
-/*N*/ // x axis
-/*N*/ if( IsXYChart())
-/*N*/ {
-/*N*/ bool bXUsesSrcFmt = UsesSourceFormat( CHAXIS_AXIS_X, &pItemSet );
-/*N*/ bool bAUsesSrcFmt = UsesSourceFormat( CHAXIS_AXIS_A, &pItemSetA );
-/*N*/ if( bXUsesSrcFmt || bAUsesSrcFmt )
-/*N*/ {
-/*N*/ // use source format for x-axis
-/*N*/ nFmt = IsDataSwitched()
-/*N*/ ? pChartData->GetTransNumFormatIdCol( nRow )
-/*N*/ : pChartData->GetTransNumFormatIdRow( nRow );
-/*N*/ }
-/*N*/
-/*N*/ if( bXUsesSrcFmt && pItemSet && nFmt != -1 )
-/*N*/ {
-/*N*/ pItemSet->Put( SfxUInt32Item( nSchattr, nFmt ));
-/*N*/ bRet = true;
-/*N*/ nXLastNumFmt = nFmt; // for binary file format only
-/*N*/ }
-/*N*/ if( bAUsesSrcFmt && pItemSetA && nFmt != -1 )
-/*N*/ {
-/*N*/ pItemSetA->Put( SfxUInt32Item( nSchattr, nFmt ));
-/*N*/ bRet = true;
-/*N*/ nXLastNumFmt = nFmt;
-/*N*/ }
-/*N*/ nRow++;
-/*N*/ }
-/*N*/
-/*N*/ if( HasSecondYAxis() ) // check both y axes
-/*N*/ {
-/*N*/ // seek first series using second axis
-/*N*/ bool bYAxisFound = false;
-/*N*/ bool bBAxisFound = false;
-/*N*/ long nMaxRow = GetRowCount();
-/*N*/
-/*N*/ for( ; nRow < nMaxRow; nRow++ )
-/*N*/ {
-/*N*/ if( ! bBAxisFound &&
-/*N*/ SFX_ITEM_SET ==
-/*N*/ GetDataRowAttr( nRow ).GetItemState( SCHATTR_AXIS, FALSE, &pPoolItem ) &&
-/*N*/ SAL_STATIC_CAST( const SfxInt32Item*, pPoolItem )->GetValue() == CHART_AXIS_SECONDARY_Y )
-/*N*/ {
-/*N*/ if( UsesSourceFormat( CHAXIS_AXIS_B, &pItemSet ) &&
-/*N*/ pItemSet )
-/*N*/ {
-/*N*/ // use source format for secondary y-axis
-/*N*/ nFmt = IsDataSwitched()
-/*N*/ ? pChartData->GetTransNumFormatIdCol( nRow )
-/*N*/ : pChartData->GetTransNumFormatIdRow( nRow );
-/*N*/
-/*N*/ if( nFmt != -1 )
-/*N*/ {
-/*N*/ pItemSet->Put( SfxUInt32Item( nSchattr, nFmt ));
-/*N*/ bRet = true;
-/*N*/ nBLastNumFmt = nFmt; // for binary file format only
-/*N*/ }
-/*N*/ }
-/*N*/ bBAxisFound = true;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ if( ! bYAxisFound &&
-/*N*/ UsesSourceFormat( CHAXIS_AXIS_Y, &pItemSet ) &&
-/*N*/ pItemSet )
-/*N*/ {
-/*N*/ // use source format for primary y-axis
-/*N*/ nFmt = IsDataSwitched()
-/*N*/ ? pChartData->GetTransNumFormatIdCol( nRow )
-/*N*/ : pChartData->GetTransNumFormatIdRow( nRow );
-/*N*/
-/*N*/ if( nFmt != -1 )
-/*N*/ {
-/*N*/ pItemSet->Put( SfxUInt32Item( nSchattr, nFmt ));
-/*N*/ bRet = true;
-/*N*/ nYLastNumFmt = nFmt; // for binary file format only
-/*N*/ }
-/*N*/ }
-/*N*/ bYAxisFound = true;
-/*N*/ }
-/*N*/
-/*N*/ if( bYAxisFound && bBAxisFound )
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // get first setting
-/*N*/ if( nRow < GetRowCount() &&
-/*N*/ UsesSourceFormat( CHAXIS_AXIS_Y, &pItemSet ) &&
-/*N*/ pItemSet )
-/*N*/ {
-/*N*/ nFmt = IsDataSwitched()
-/*N*/ ? pChartData->GetTransNumFormatIdCol( nRow )
-/*N*/ : pChartData->GetTransNumFormatIdRow( nRow );
-/*N*/
-/*N*/ if( nFmt != -1 )
-/*N*/ {
-/*N*/ pItemSet->Put( SfxUInt32Item( nSchattr, nFmt ));
-/*N*/ bRet = true;
-/*N*/ nYLastNumFmt = nFmt; // for binary file format only
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return bRet;
-/*N*/ }
-
-/*N*/ BOOL ChartModel::HasDefaultGrayArea( SvxChartStyle* pStyle ) const
-/*N*/ {
-/*N*/ SvxChartStyle eStyle = pStyle? *pStyle: eChartStyle;
-/*N*/
-/*N*/ switch( eStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_NET:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS:
-/*N*/ case CHSTYLE_2D_NET_STACK:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_STACK:
-/*N*/ case CHSTYLE_2D_NET_PERCENT:
-/*N*/ case CHSTYLE_2D_NET_SYMBOLS_PERCENT:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/
-/*N*/ return FALSE;
-/*N*/ }
-
-/*N*/ BOOL ChartModel::HasDefaultGrayWall( SvxChartStyle* pStyle ) const
-/*N*/ {
-/*N*/ SvxChartStyle eStyle = pStyle? *pStyle: eChartStyle;
-/*N*/
-/*N*/ switch( eStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_LINE:
-/*N*/ case CHSTYLE_2D_STACKEDLINE:
-/*N*/ case CHSTYLE_2D_PERCENTLINE:
-/*N*/ case CHSTYLE_2D_XY:
-/*N*/ case CHSTYLE_2D_LINESYMBOLS:
-/*N*/ case CHSTYLE_2D_STACKEDLINESYM:
-/*N*/ case CHSTYLE_2D_PERCENTLINESYM:
-/*N*/ case CHSTYLE_2D_XYSYMBOLS:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_B_SPLINE:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_XY:
-/*N*/ case CHSTYLE_2D_CUBIC_SPLINE_SYMBOL_XY:
-/*N*/ case CHSTYLE_2D_B_SPLINE_XY:
-/*N*/ case CHSTYLE_2D_B_SPLINE_SYMBOL_XY:
-/*N*/ case CHSTYLE_2D_XY_LINE:
-/*N*/ return TRUE;
-/*N*/
-/*N*/ default:
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/
-/*N*/ return FALSE;
-/*N*/ }
-
-/*N*/ using namespace ::com::sun::star;
-
-/*N*/ void ChartModel::SetNumberFormatter( SvNumberFormatter* pFormatter )
-/*N*/ {
-/*N*/ pNumFormatter = pFormatter;
-/*N*/
-/*N*/ pChartXAxis->SetNumberFormatter( pNumFormatter );
-/*N*/ pChartYAxis->SetNumberFormatter( pNumFormatter );
-/*N*/ pChartZAxis->SetNumberFormatter( pNumFormatter );
-/*N*/ pChartAAxis->SetNumberFormatter( pNumFormatter );
-/*N*/ pChartBAxis->SetNumberFormatter( pNumFormatter );
-/*N*/
-/*N*/ // update UNO Numberformatter Wrapper
-/*N*/ SfxObjectShell* pMyDocShell = GetObjectShell();
-/*N*/ if( pMyDocShell != NULL )
-/*N*/ {
-/*N*/ ChXChartDocument* pUnoDoc = ChXChartDocument::getImplementation( pMyDocShell->GetModel());
-/*N*/ DBG_ASSERT( pUnoDoc, "Couldn't get XModel implementation" );
-/*N*/ if( pUnoDoc != NULL )
-/*N*/ {
-/*N*/ // invalidate old number formatter
-/*N*/ pUnoDoc->ClearNumberFormatter();
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/*N*/ void ChartModel::TranslateAllNumFormatIds( SvNumberFormatterIndexTable* pTransTable )
-/*N*/ {
-/*N*/ if( pChartXAxis->TranslateMergedNumFormat( pTransTable ) &&
-/*N*/ nXLastNumFmt >= 0 )
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/
-/*N*/ if( pChartYAxis->TranslateMergedNumFormat( pTransTable ) &&
-/*N*/ nYLastNumFmt >= 0 )
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/
-/*N*/ pChartZAxis->TranslateMergedNumFormat( pTransTable );
-/*N*/ pChartAAxis->TranslateMergedNumFormat( pTransTable );
-/*N*/
-/*N*/ if( pChartBAxis->TranslateMergedNumFormat( pTransTable ) &&
-/*N*/ nBLastNumFmt >= 0 )
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/ }
-
-/*N*/ void ChartModel::SetNumLinesColChart(const long nSet, BOOL bForceStyleChange)
-/*N*/ {
-/*N*/ const long nOldNumLines = nNumLinesInColChart;
-/*N*/ const long nLastSeries = GetRowCount() - 1;
-/*N*/
-/*N*/ switch( eChartStyle )
-/*N*/ {
-/*N*/ case CHSTYLE_2D_COLUMN: // only types supporting mixing with lines
-/*N*/ case CHSTYLE_2D_STACKEDCOLUMN:
-/*N*/ case CHSTYLE_2D_PERCENTCOLUMN:
-/*N*/ case CHSTYLE_2D_LINE_COLUMN:
-/*N*/ case CHSTYLE_2D_LINE_STACKEDCOLUMN:
-/*N*/ if( bForceStyleChange )
-/*N*/ {
-/*N*/ if( nSet <= 0 )
-/*N*/ {
-/*N*/ nNumLinesInColChart = 0;
-/*N*/ if( eChartStyle == CHSTYLE_2D_LINE_COLUMN )
-/*?*/ eChartStyle = CHSTYLE_2D_COLUMN;
-/*N*/ else if( eChartStyle == CHSTYLE_2D_LINE_STACKEDCOLUMN )
-/*?*/ eChartStyle = CHSTYLE_2D_STACKEDCOLUMN;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ nNumLinesInColChart = nSet;
-/*N*/
-/*N*/ if( eChartStyle == CHSTYLE_2D_COLUMN )
-/*N*/ eChartStyle = CHSTYLE_2D_LINE_COLUMN;
-/*N*/ else if( eChartStyle == CHSTYLE_2D_STACKEDCOLUMN )
-/*?*/ eChartStyle = CHSTYLE_2D_LINE_STACKEDCOLUMN;
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ nNumLinesInColChart = nSet > 0 ? nSet : 0;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ nNumLinesInColChart = nSet > 0 ? nSet : 0;
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ // #101164# map fill-/line colors
-/*N*/ if( nNumLinesInColChart > nOldNumLines )
-/*N*/ {
-/*N*/ for( int i = nOldNumLines ;
-/*N*/ i < nNumLinesInColChart && i < nLastSeries ;
-/*N*/ ++i )
-/*N*/ {
-/*N*/ SfxItemSet * pSet = aDataRowAttrList[ nLastSeries - i ];
-/*N*/ OSL_ASSERT( pSet );
-/*N*/ pSet->Put( XLineColorItem(
-/*N*/ String(),
-/*N*/ static_cast< const XFillColorItem & >(
-/*N*/ pSet->Get( XATTR_FILLCOLOR )).GetValue() ));
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ for( int i = nNumLinesInColChart ;
-/*N*/ i < nOldNumLines && i < nLastSeries ;
-/*N*/ ++i )
-/*N*/ {
-/*?*/ SfxItemSet * pSet = aDataRowAttrList[ nLastSeries - i ];
-/*?*/ OSL_ASSERT( pSet );
-/*?*/ pSet->Put( XFillColorItem(
-/*?*/ String(),
-/*?*/ static_cast< const XLineColorItem & >(
-/*?*/ pSet->Get( XATTR_LINECOLOR )).GetValue() ));
-/*?*/ pSet->Put( XLineColorItem( String(), RGBColor( COL_BLACK ) ));
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/*N*/ BOOL ChartModel::SetObjectShell( SfxObjectShell* pDocSh )
-/*N*/ {
-/*N*/ if( ! pDocShell )
-/*N*/ {
-/*N*/ pDocShell = pDocSh;
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-
-/*N*/ using namespace ::com::sun::star;
-
-/*N*/ void ChartModel::SetChartAddIn( uno::Reference< util::XRefreshable >& xChartAddIn )
-/*N*/ {
-/*N*/ if( xChartAddIn.is())
-/*N*/ {
-/*N*/ // acquire add-in
-/*?*/ mxChartAddIn = xChartAddIn;
-/*?*/ ChangeChart( CHSTYLE_ADDIN );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // release add-in
-/*N*/ mxChartAddIn = NULL;
-/*N*/ // if base type was not set, use default
-/*N*/ if( eChartStyle == CHSTYLE_ADDIN )
-/*?*/ ChangeChart( CHSTYLE_2D_BAR );
-/*N*/ }
-/*N*/ }
-
-
-/*N*/ void ChartModel::HandsOff()
-/*N*/ {
-/*N*/ mxPictureStorage = SotStorageRef();
-/*N*/ mpDocStor = NULL;
-/*N*/ }
-
-
-/*N*/ uno::Sequence< uno::Sequence< sal_Int32 > > ChartModel::GetSetDataPointList()
-/*N*/ {
-/*N*/ const ItemSetList & rAttrList = IsDataSwitched()
-/*N*/ ? aSwitchDataPointAttrList
-/*N*/ : aDataPointAttrList;
-/*N*/ const long nSize = rAttrList.size();
-/*N*/ long nRow, nCol;
-/*N*/ long nColCnt = GetColCount();
-/*N*/ long nRowCnt = GetRowCount();
-/*N*/
-/*N*/ DBG_ASSERT( nSize == ( nRowCnt * nColCnt ), "Data-Point list has invalid size!" );
-/*N*/ (void)nSize;
-/*N*/
-/*N*/ // the 'outer' sequence contains one sequence for each series
-/*N*/ uno::Sequence< uno::Sequence< sal_Int32 > > aResult( nRowCnt );
-/*N*/
-/*N*/ // here we need again a special treatment for pie charts as a single pie
-/*N*/ // uses merged data point and data row attributes the data points are also
-/*N*/ // set if data row attributes are set, which is always the case
-/*N*/ if( IsPieChart())
-/*N*/ {
-/*N*/ aResult[ 0 ].realloc( nColCnt );
-/*N*/ sal_Int32 * pArray = aResult[ 0 ].getArray();
-/*N*/
-/*N*/ for( nCol = 0; nCol < nColCnt; ++nCol )
-/*N*/ pArray[ nCol ] = nCol;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // use a vector for quick dynamic resizing
-/*N*/ ::std::list< sal_Int32 > aList;
-/*N*/
-/*N*/ for( nRow = 0; nRow < nRowCnt; ++nRow )
-/*N*/ {
-/*N*/ for( nCol = 0; nCol < nColCnt; ++nCol )
-/*N*/ {
-/*N*/ if( rAttrList[ nCol * nRowCnt + nRow ] != NULL )
-/*N*/ aList.push_back( nCol );
-/*N*/ }
-/*N*/
-/*N*/ if( aList.size() > 0 )
-/*N*/ {
-/*N*/ // copy list to 'inner' sequence
-/*N*/ aResult[ nRow ].realloc( aList.size());
-/*N*/ sal_Int32 * pArray = aResult[ nRow ].getArray();
-/*N*/ sal_Int32 i = 0;
-/*N*/ ::std::list< sal_Int32 >::iterator aIter;
-/*N*/ for( aIter = aList.begin(); aIter != aList.end(); ++aIter )
-/*N*/ {
-/*N*/ pArray[ i++ ] = (*aIter);
-/*N*/ }
-/*N*/ aList.clear();
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return aResult;
-/*N*/ }
-
-/*N*/ void ChartModel::PageColorChanged( const SfxItemSet& rItems )
-/*N*/ {
-/*N*/ Color aColor;
-/*N*/
-/*N*/ // GetDraftFillColor is defined in bf_svx/svdetc.hxx
-/*N*/ if( GetDraftFillColor( rItems, aColor ))
-/*N*/ {
-/*N*/ SdrOutliner * pOut = GetOutliner();
-/*N*/ if( pOut )
-/*N*/ pOut->SetBackgroundColor( aColor );
-/*N*/ GetDrawOutliner().SetBackgroundColor( aColor );
-/*N*/ }
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtmodel.cxx b/binfilter/bf_sch/source/core/sch_chtmodel.cxx
deleted file mode 100644
index 5c6bedd0f..000000000
--- a/binfilter/bf_sch/source/core/sch_chtmodel.cxx
+++ /dev/null
@@ -1,1274 +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.
- *
- ************************************************************************/
-#ifdef _MSC_VER
-#pragma optimize("e",off)
-
-#pragma hdrstop
-#endif
-
-class SbxArray;
-
-#include <bf_svx/svdoutl.hxx>
-
-#include "itempool.hxx"
-
-#include <bf_svx/svdpage.hxx>
-
-#include <bf_svx/svdetc.hxx>
-
-#include <bf_svx/eeitem.hxx>
-#include <bf_sfx2/app.hxx>
-#ifndef _ZFORLIST_HXX
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#include <bf_svtools/zforlist.hxx>
-#endif
-#include <bf_svx/svdorect.hxx>
-#include <bf_svx/xlnclit.hxx>
-#include <bf_svx/xlnwtit.hxx>
-#include <bf_svx/xflclit.hxx>
-#include "schattr.hxx"
-#include "memchrt.hxx"
-
-#ifndef _SVX_CHRTITEM_HXX
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#define ITEMID_LANGUAGE EE_CHAR_LANGUAGE
-
-#include <bf_svtools/eitem.hxx>
-
-#include <bf_svx/chrtitem.hxx>
-#endif
-
-#define ITEMID_FONT EE_CHAR_FONTINFO
-#define ITEMID_COLOR EE_CHAR_COLOR
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#include <bf_svx/fontitem.hxx>
-#include <bf_svx/fhgtitem.hxx>
-#include <bf_svx/colritem.hxx>
-#include <bf_svx/svxids.hrc>
-#include <i18npool/lang.h>
-
-#include <bf_svx/xlineit0.hxx>
-
-// header for LinguMgr
-#include <bf_svx/unolingu.hxx>
-// header for class SvtLinguConfig
-#include <bf_svtools/lingucfg.hxx>
-// header for getProcessServiceFactory
-#include <comphelper/processfactory.hxx>
-
-#ifndef _CHTMODEL_HXX
-#include <chtmodel.hxx>
-#include <globfunc.hxx>
-#endif
-#include "schattr.hxx"
-#include "charttyp.hxx"
-
-#include "float.h"
-
-
-#include "pairs.hxx"
-#include "stlpool.hxx"
-#include "schresid.hxx"
-#include "glob.hrc"
-
-#include "datalog.hxx"
-#include "chaxis.hxx"
-
-#include "chtscene.hxx"
-#include "bf_svx/def3d.hxx"
-
-#include "docshell.hxx"
-#include <com/sun/star/chart/ChartDataChangeEvent.hpp>
-#include <bf_svx/unolingu.hxx>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/linguistic2/XLinguServiceManager.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <bf_svx/langitem.hxx>
-#include <bf_svtools/undo.hxx>
-
-#include <legacysmgr/legacy_binfilters_smgr.hxx>
-namespace binfilter {
-
-using ::rtl::OUString;
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::linguistic2;
-
-#define LINGUPROP_DEFLOCALE "DefaultLocale"
-#define LINGUPROP_CJKLOCALE "DefaultLocale_CJK"
-#define LINGUPROP_CTLLOCALE "DefaultLocale_CTL"
-
-
-/************************************************************************/
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-using namespace ::com::sun::star;
-
-/*N*/ ChartModel::ChartModel( const String& rPalettePath, SfxObjectShell* pDocSh ) :
-/*N*/ SdrModel( rPalettePath, NULL, SAL_STATIC_CAST( SvPersist*, pDocSh )),
-/*N*/ bClearDepth(FALSE),
-/*N*/ bNewOrLoadCompleted(FALSE),//aus SchChartDocument::
-/*N*/ pDocShell(pDocSh), //aus SchChartDocument::
-/*N*/ bAttrAutoStorage(FALSE),
-/*N*/ pChartDataBuffered(NULL),
-/*N*/ pChartRefOutDev(NULL),
-/*N*/ nChartStatus( CHS_USER_QUERY ),
-/*N*/ pAutoPilot(NULL),//#46895#
-/*N*/ pSdrObjList(NULL),
-/*N*/ bResizePie(TRUE),
-/*N*/ nPieRadius(0),
-/*N*/ pOwnNumFormatter(FALSE),
-/*N*/ pNumFormatter(NULL),
-/*N*/ nBarPercentWidth(100), //#50116#
-/*N*/ nNumLinesInColChart(0), //#50212#
-/*N*/ m_nDefaultColorSet(0), //#50037#
-/*N*/ pLogBook(NULL),
-/*N*/ aChartRect (Rectangle ()),
-/*N*/ aInitialSize (Size ()),
-/*N*/ pChItemPool (new SchItemPool),
-/*N*/ pScene (0),
-/*N*/ aLightVec (new Vector3D (1, 1, 1)), // old: aLightVec (new Vector3D (0, 0, 1)),
-/*N*/ pChartData (0),
-/*N*/ fMinData (0.0),
-/*N*/ fMaxData (0.0),
-/*N*/ fAmbientIntensity(0.6),
-/*N*/ aAmbientColor(RGBColor(COL_WHITE)),
-/*N*/ fSpotIntensity (0.6),
-/*N*/ aSpotColor(RGBColor(COL_WHITE)),
-/*N*/ eChartStyle (CHSTYLE_2D_COLUMN),
-/*N*/ eOldChartStyle (CHSTYLE_3D_XYZSYMBOLS),
-/*N*/ pDefaultColors (0),
-/*N*/ bTextScalable (TRUE),
-/*N*/ bIsCopied (FALSE),
-/*N*/ bLegendVisible (TRUE),
-/*N*/ bShowAverage (FALSE),
-/*N*/ eErrorKind (CHERROR_NONE),
-/*N*/ eIndicate (CHINDICATE_NONE),
-/*N*/ eRegression (CHREGRESS_NONE),
-/*N*/ fIndicatePercent (0.0),
-/*N*/ fIndicateBigError (0.0),
-/*N*/ fIndicatePlus (0.0),
-/*N*/ fIndicateMinus (0.0),
-/*N*/ nSplineDepth (3),
-/*N*/ nGranularity (20),
-/*N*/ bSwitch3DColRow (FALSE), // FG: reiner Zwischenspeicher, damit die ChartScene das nicht als Parameter bekommt
-/*N*/ // ist immer gleich bSwitchRowCol, das aber wird durchs Chart als Parameter
-/*N*/ // durchgereicht.
-/*N*/ nMarkLen (100),
-/*N*/ nPieHeight (20),
-/*N*/ pPieSegOfs (0),
-/*N*/ nPieSegCount (0),
-/*N*/ nXAngle (100), // old: nXAngle (200),
-/*N*/ nYAngle (250), // old: nYAngle (350),
-/*N*/ nZAngle (0),
-/*N*/ bCanRebuild (TRUE),
-/*N*/ bShowMainTitle (TRUE),
-/*N*/ bShowSubTitle (FALSE),
-/*N*/ bShowXAxisTitle (FALSE),
-/*N*/ bShowYAxisTitle (FALSE),
-/*N*/ bShowZAxisTitle (FALSE),
-/*N*/ aMainTitle (String ()),
-/*N*/ aSubTitle (String ()),
-/*N*/ aXAxisTitle (String ()),
-/*N*/ aYAxisTitle (String ()),
-/*N*/ aZAxisTitle (String ()),
-/*N*/ bShowXGridMain (TRUE),
-/*N*/ bShowXGridHelp (FALSE),
-/*N*/ bShowYGridMain (FALSE),
-/*N*/ bShowYGridHelp (FALSE),
-/*N*/ bShowZGridMain (FALSE),
-/*N*/ bShowZGridHelp (FALSE),
-/*N*/ bShowDataDescr(TRUE),
-/*N*/ pChartXAxis(NULL),
-/*N*/ pChartYAxis(NULL),
-/*N*/ pChartZAxis(NULL),
-/*N*/ pChartAAxis(NULL),
-/*N*/ pChartBAxis(NULL),
-/*N*/ pTmpXItems(NULL),
-/*N*/ pTmpYItems(NULL),
-/*N*/ pTmpZItems(NULL),
-/*N*/ eDataDescr (CHDESCR_NONE),
-/*N*/ bShowSym (FALSE),
-/*N*/ bSwitchData (TRUE),
-/*N*/ bNoBuildChart( FALSE ),
-/*N*/ bShouldBuildChart( TRUE ),
-/*N*/ bReadError (FALSE),
-/*N*/ mbIsInitialized(FALSE),
-/*N*/ pOutliner(NULL),
-/*N*/ // FG: nMoreData >=12
-/*N*/ bFormatXAxisTextInMultipleLinesIfNecessary (TRUE),
-/*N*/ bFormatYAxisTextInMultipleLinesIfNecessary (FALSE),
-/*N*/ bFormatZAxisTextInMultipleLinesIfNecessary (FALSE),
-/*N*/ bFormatLegendTextInMultipleLinesIfNecessary (TRUE),
-/*N*/ // FG: nMoreData >=13
-/*N*/ nXAxisTextMaximumNumberOfLines(2),
-/*N*/ nYAxisTextMaximumNumberOfLines(1),
-/*N*/ nZAxisTextMaximumNumberOfLines(1),
-/*N*/ nWidthOfFirstXAxisText (0),
-/*N*/ nWidthOfLastXAxisText (0),
-/*N*/ aTitleTopCenter(-1,-1),
-/*N*/ aSubTitleTopCenter(-1,-1),
-/*N*/ aDiagramRectangle(-1,-1,-1,-1),
-/*N*/ aLastDiagramRectangle(-1,-1,-1,-1),
-/*N*/ aLegendTopLeft(-1,-1),
-/*N*/ aTitleXAxisPosition (-1,-1),
-/*N*/ aTitleYAxisPosition(-1,-1),
-/*N*/ aTitleZAxisPosition (-1,-1),
-/*N*/ eAdjustXAxesTitle(CHADJUST_TOP_CENTER),
-/*N*/ eAdjustYAxesTitle(CHADJUST_TOP_CENTER),
-/*N*/ eAdjustZAxesTitle(CHADJUST_TOP_CENTER),
-/*N*/ bUseRelativePositionsForChartGroups(FALSE),
-/*N*/ bAdjustMarginsForLegend(TRUE),
-/*N*/ bAdjustMarginsForMainTitle(TRUE),
-/*N*/ bAdjustMarginsForSubTitle(TRUE),
-/*N*/ bAdjustMarginsForXAxisTitle(TRUE),
-/*N*/ bAdjustMarginsForYAxisTitle(TRUE),
-/*N*/ bAdjustMarginsForZAxisTitle(TRUE),
-/*N*/ bDiagramHasBeenMovedOrResized(FALSE),
-/*N*/ bMainTitleHasBeenMoved(FALSE),
-/*N*/ bSubTitleHasBeenMoved(FALSE),
-/*N*/ bLegendHasBeenMoved(FALSE),
-/*N*/ bXAxisTitleHasBeenMoved(FALSE),
-/*N*/ bYAxisTitleHasBeenMoved(FALSE),
-/*N*/ bZAxisTitleHasBeenMoved(FALSE),
-/*N*/ aInitialSizefor3d (-1,-1), // FG: Zwischenspeicher fuer InitalSize (siehe chtmod3d.cxx, Position3DAxisTitles
-/*N*/ pTestTextObj(NULL), // FG: fuer GetHeightOfnRows, ein Dummy-Textpointer
-/*N*/ nXLastNumFmt(-1),
-/*N*/ nYLastNumFmt(-1),
-/*N*/ nBLastNumFmt(-1),
-/*N*/ eLanguage( LANGUAGE_SYSTEM ),
-/*N*/ eLanguageCJK( LANGUAGE_SYSTEM ),
-/*N*/ eLanguageCTL( LANGUAGE_SYSTEM ),
-/*N*/ eProjection(PR_PERSPECTIVE),
-/*N*/ mpDocStor( NULL ),
-/*N*/ m_pUndoActionFromDraw(NULL),
-/*N*/ m_bDeleteUndoActionNotificationFromDraw(TRUE)
-/*N*/ {
-/*N*/ SdrModel::SetNotifyUndoActionHdl(LINK( this, ChartModel, NotifyUndoActionHdl ));
-/*N*/
-/*N*/ if( pDocSh != NULL )
-/*N*/ {
-/*N*/ // enable swapping of metafiles and bitmaps that
-/*N*/ // might be in a chart as additional objects
-/*N*/ SetSwapGraphics( TRUE );
-/*N*/ }
-/*N*/
-/*N*/ aLightVec->Normalize ();
-/*N*/
-/*N*/ SetScaleUnit(MAP_100TH_MM);
-/*N*/ SetScaleFraction(Fraction(1, 1));
-/*N*/ SetDefaultFontHeight(847); // 24pt
-/*N*/
-/*N*/ SfxItemPool* pPool = &GetItemPool();
-/*N*/ pPool->SetDefaultMetric(SFX_MAPUNIT_100TH_MM);
-/*N*/ pPool->SetPoolDefaultItem( SfxBoolItem(EE_PARA_HYPHENATE, TRUE) );
-/*N*/ pPool->SetPoolDefaultItem(Svx3DPercentDiagonalItem (5));
-/*N*/
-/*N*/ pOwnNumFormatter = new SvNumberFormatter( ::legacy_binfilters::getLegacyProcessServiceFactory(),
-/*N*/ LANGUAGE_SYSTEM );
-/*N*/ pOwnNumFormatter->ChangeStandardPrec( 15 );
-/*N*/
-/*N*/ // append pool to end of pool chain
-/*N*/ for (;;)
-/*N*/ {
-/*N*/ SfxItemPool* pSecondary = pPool->GetSecondaryPool();
-/*N*/ if (!pSecondary)
-/*N*/ break;
-/*N*/
-/*N*/ pPool = pSecondary;
-/*N*/ }
-/*N*/
-/*N*/ pPool->SetSecondaryPool(pChItemPool);
-/*N*/
-/*N*/ SfxItemPool* pMasterPool = &GetItemPool();
-/*N*/ pMasterPool->FreezeIdRanges();
-/*N*/
-/*N*/ // get current language
-/*N*/ pOutliner = SdrMakeOutliner( OUTLINERMODE_TEXTOBJECT, this);
-/*N*/ GetDrawOutliner();
-/*N*/
-/*N*/ try
-/*N*/ {
-/*N*/ // set language properties
-/*N*/ SvtLinguConfig aLinguConfig;
-/*N*/ SvtLinguOptions aLinguOptions;
-/*N*/
-/*N*/ if( aLinguConfig.GetOptions( aLinguOptions ) )
-/*N*/ {
-/*N*/ SetLanguage( aLinguOptions.nDefaultLanguage, EE_CHAR_LANGUAGE );
-/*N*/ SetLanguage( aLinguOptions.nDefaultLanguage_CJK, EE_CHAR_LANGUAGE_CJK );
-/*N*/ SetLanguage( aLinguOptions.nDefaultLanguage_CTL, EE_CHAR_LANGUAGE_CTL );
-/*N*/ }
-/*N*/ }
-/*N*/ catch( uno::Exception aEx )
-/*N*/ {
-/*N*/ #if OSL_DEBUG_LEVEL > 1
-/*N*/ // convert ::rtl::OUString => tools String => ByteString
-/*N*/ String aStr( aEx.Message );
-/*N*/ ByteString aBStr( aStr, RTL_TEXTENCODING_ASCII_US );
-/*N*/ OSL_TRACE( "LinguProperties threw exception: %s", aBStr.GetBuffer());
-/*N*/ #endif
-/*N*/ }
-/*N*/
-/*N*/ // init item sets for chart objects
-/*N*/ pTitleAttr = new SfxItemSet(*pItemPool, nTitleWhichPairs);
-/*N*/ pMainTitleAttr = new SfxItemSet(*pItemPool, nTitleWhichPairs);
-/*N*/ pSubTitleAttr = new SfxItemSet(*pItemPool, nTitleWhichPairs);
-/*N*/ pXAxisTitleAttr = new SfxItemSet(*pItemPool, nTitleWhichPairs);
-/*N*/ pYAxisTitleAttr = new SfxItemSet(*pItemPool, nTitleWhichPairs);
-/*N*/ pZAxisTitleAttr = new SfxItemSet(*pItemPool, nTitleWhichPairs);
-/*N*/ pAxisAttr = new SfxItemSet(*pItemPool, nAllAxisWhichPairs);
-/*N*/ pGridAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ pXGridMainAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ pYGridMainAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ pZGridMainAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ pXGridHelpAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ pYGridHelpAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ pZGridHelpAttr = new SfxItemSet(*pItemPool, nGridWhichPairs);
-/*N*/ pDiagramAreaAttr = new SfxItemSet(*pItemPool, nDiagramAreaWhichPairs);
-/*N*/ pDiagramWallAttr = new SfxItemSet(*pItemPool, nDiagramAreaWhichPairs);
-/*N*/ pDiagramFloorAttr = new SfxItemSet(*pItemPool, nDiagramAreaWhichPairs);
-/*N*/ pLegendAttr = new SfxItemSet(*pItemPool, nLegendWhichPairs);
-/*N*/ pChartAttr = new SfxItemSet(*pItemPool, nChartWhichPairs);
-/*N*/ pDummyAttr = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/
-/*N*/ pStockLineAttr = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/ pStockLossAttr = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/ pStockPlusAttr = new SfxItemSet(*pItemPool, nRowWhichPairs);
-/*N*/
-/*N*/ SdrPage* pPage = GetPage(0);
-/*N*/ if (pPage) aInitialSize = pPage->GetSize();
-/*N*/
-/*N*/ CreateDefaultColors ();
-/*N*/ eChartLinePoints[0] =
-/*N*/ eChartLinePoints[1] =
-/*N*/ eChartLinePoints[2] =
-/*N*/ eChartLinePoints[3] =
-/*N*/ eChartLinePoints[4] =
-/*N*/ eChartLinePoints[5] =
-/*N*/ eChartLinePoints[6] =
-/*N*/ eChartLinePoints[7] =
-/*N*/ eChartLinePoints[8] = 0;
-/*N*/
-/*N*/ Font aLatinFont( OutputDevice::GetDefaultFont( DEFAULTFONT_LATIN_SPREADSHEET, GetLanguage( EE_CHAR_LANGUAGE ), DEFAULTFONT_FLAGS_ONLYONE ) );
-/*N*/ SvxFontItem aSvxFontItem( aLatinFont.GetFamily(), aLatinFont.GetName(), aLatinFont.GetStyleName(), aLatinFont.GetPitch(),
-/*N*/ aLatinFont.GetCharSet(), EE_CHAR_FONTINFO );
-/*N*/
-/*N*/ Font aCJKFont( OutputDevice::GetDefaultFont( DEFAULTFONT_CJK_SPREADSHEET, GetLanguage( EE_CHAR_LANGUAGE_CJK ), DEFAULTFONT_FLAGS_ONLYONE ) );
-/*N*/ SvxFontItem aSvxFontItemCJK( aCJKFont.GetFamily(), aCJKFont.GetName(), aCJKFont.GetStyleName(), aCJKFont.GetPitch(),
-/*N*/ aCJKFont.GetCharSet(), EE_CHAR_FONTINFO_CJK );
-/*N*/
-/*N*/ Font aCTLFont( OutputDevice::GetDefaultFont( DEFAULTFONT_CTL_SPREADSHEET, GetLanguage( EE_CHAR_LANGUAGE_CTL ), DEFAULTFONT_FLAGS_ONLYONE ) );
-/*N*/ SvxFontItem aSvxFontItemCTL( aCTLFont.GetFamily(), aCTLFont.GetName(), aCTLFont.GetStyleName(), aCTLFont.GetPitch(),
-/*N*/ aCTLFont.GetCharSet(), EE_CHAR_FONTINFO_CTL );
-/*N*/
-/*N*/ // main title
-/*N*/ pTitleAttr->Put(aSvxFontItem);
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 459, 100, EE_CHAR_FONTHEIGHT )); // 13pt
-/*N*/ pTitleAttr->Put(aSvxFontItemCJK);
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 459, 100, EE_CHAR_FONTHEIGHT_CJK )); // 13pt
-/*N*/ pTitleAttr->Put(aSvxFontItemCTL);
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 459, 100, EE_CHAR_FONTHEIGHT_CTL )); // 13pt
-/*N*/ pTitleAttr->Put(XLineStyleItem(XLINE_NONE));
-/*N*/ pTitleAttr->Put(XFillStyleItem(XFILL_NONE));
-/*N*/ pTitleAttr->Put(SvxChartTextOrientItem(CHTXTORIENT_AUTOMATIC));
-/*N*/ pMainTitleAttr->Put(*pTitleAttr);
-/*N*/
-/*N*/ // sub title
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 388, 100, EE_CHAR_FONTHEIGHT )); // 11pt
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 388, 100, EE_CHAR_FONTHEIGHT_CJK )); // 11pt
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 388, 100, EE_CHAR_FONTHEIGHT_CTL )); // 11pt
-/*N*/ pSubTitleAttr->Put(*pTitleAttr);
-/*N*/
-/*N*/ // axis titles
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 318, 100, EE_CHAR_FONTHEIGHT )); // 9pt
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 318, 100, EE_CHAR_FONTHEIGHT_CJK )); // 9pt
-/*N*/ pTitleAttr->Put(SvxFontHeightItem( 318, 100, EE_CHAR_FONTHEIGHT_CTL )); // 9pt
-/*N*/ pXAxisTitleAttr->Put(*pTitleAttr);
-/*N*/ pYAxisTitleAttr->Put(*pTitleAttr);
-/*N*/ pZAxisTitleAttr->Put(*pTitleAttr);
-/*N*/
-/*N*/ // general axis attributies: are also set in class ChartAxis()
-/*N*/ // (BM) => deprecated and therefore removed here
-/*N*/
-/*N*/ Color aAreaBackColor( RGBColor( COL_WHITE ));
-/*N*/ pDiagramAreaAttr->Put(XLineStyleItem(XLINE_NONE));
-/*N*/ pDiagramAreaAttr->Put(XFillColorItem(String(), aAreaBackColor));
-/*N*/
-/*N*/ // set the page color (in a chart this is the color of the area)
-/*N*/ // at the outliner
-/*N*/ if( pOutliner )
-/*N*/ pOutliner->SetBackgroundColor( aAreaBackColor );
-/*N*/
-/*N*/ pDiagramWallAttr->Put(XLineStyleItem(XLINE_NONE));
-/*N*/ pDiagramWallAttr->Put(XFillStyleItem(XFILL_NONE));
-/*N*/
-/*N*/ pDiagramFloorAttr->Put(XLineStyleItem(XLINE_NONE));
-/*N*/ pDiagramFloorAttr->Put(XFillColorItem(String(), Color(153, 153, 153)));
-/*N*/
-/*N*/ pLegendAttr->Put(aSvxFontItem);
-/*N*/ pLegendAttr->Put(aSvxFontItemCJK);
-/*N*/ pLegendAttr->Put(aSvxFontItemCTL);
-/*N*/ pLegendAttr->Put(SvxFontHeightItem( 212, 100, EE_CHAR_FONTHEIGHT )); // 6pt #72012#
-/*N*/ pLegendAttr->Put(SvxFontHeightItem( 212, 100, EE_CHAR_FONTHEIGHT_CJK )); // 6pt #72012#
-/*N*/ pLegendAttr->Put(SvxFontHeightItem( 212, 100, EE_CHAR_FONTHEIGHT_CTL )); // 6pt #72012#
-/*N*/ pLegendAttr->Put(XFillStyleItem(XFILL_NONE));
-/*N*/
-/*N*/ //Todo: ueberpruefen, ob noch korekkt, es wird der default-ChartTyp erzeugt und der
-/*N*/ //AttrSet in pChartAttr gesetzt
-/*N*/ ChartType aTyp((SvxChartStyle) CHSTYLE_2D_COLUMN);
-/*N*/ aTyp.GetAttrSet(pChartAttr);
-/*N*/
-/*N*/ // the dummy attribute is (mainly!) used for data row defaults
-/*N*/ // so avoid setting (pool) default values here as fixed
-/*N*/ pDummyAttr->Put( aSvxFontItem );
-/*N*/ pDummyAttr->Put( aSvxFontItemCJK );
-/*N*/ pDummyAttr->Put( aSvxFontItemCTL );
-/*N*/ pDummyAttr->Put(SvxFontHeightItem( 212, 100, EE_CHAR_FONTHEIGHT )); // 6pt #72012#
-/*N*/ pDummyAttr->Put(SvxFontHeightItem( 212, 100, EE_CHAR_FONTHEIGHT_CJK )); // 6pt #72012#
-/*N*/ pDummyAttr->Put(SvxFontHeightItem( 212, 100, EE_CHAR_FONTHEIGHT_CTL )); // 6pt #72012#
-/*N*/
-/*N*/ // what are these needed for?
-/*N*/ pDummyAttr->Put (SfxInt32Item (SCHATTR_DUMMY0, (INT32) eChartStyle));
-/*N*/ pDummyAttr->Put (SfxInt32Item (SCHATTR_DUMMY1, 0));
-/*N*/
-/*N*/ pStockLossAttr->Put(XFillColorItem(String(), RGBColor(COL_BLACK)));
-/*N*/ pStockPlusAttr->Put(XFillColorItem(String(), RGBColor(COL_WHITE)));
-/*N*/
-/*N*/ // this test object is for calculating the text height in GetHeightOfnRows
-/*N*/ // (chtmode1.cxx) without creating a new object for each call.
-/*N*/ pTestTextObj = new SdrRectObj (OBJ_TEXT, Rectangle(0, 0, 10, 10) /*, aTestStr*/);
-/*N*/
-/*N*/ //Aus SchChartDocument::
-/*N*/ SetStyleSheetPool(new SchStyleSheetPool(*pItemPool));
-/*N*/ ((SdrOutliner*)pDrawOutliner)->SetStyleSheetPool((SfxStyleSheetPool*)pStyleSheetPool);
-/*N*/ pOutliner->SetStyleSheetPool((SfxStyleSheetPool*)pStyleSheetPool);
-/*N*/
-/*N*/ // Layer anlegen
-/*N*/
-/*N*/ SdrLayerAdmin& rLayerAdmin = GetLayerAdmin();
-/*N*/ rLayerAdmin.NewLayer( String( SchResId( STR_LAYOUT )));
-/*N*/ rLayerAdmin.NewLayer( String( SchResId( STR_CONTROLS )));
-/*N*/
-/*N*/
-/*N*/ //Wichtig! die Achsen muessen jetzt erstellt werden, dies darf erst nach dem
-/*N*/ //anlegen des ItemPools und der Defaults passieren!
-/*N*/ pChartXAxis = new ChartAxis( this, CHART_AXIS_X, CHAXIS_AXIS_X );
-/*N*/ pChartYAxis = new ChartAxis( this, CHART_AXIS_Y, CHAXIS_AXIS_Y );
-/*N*/ pChartZAxis = new ChartAxis( this, CHART_AXIS_Z, CHAXIS_AXIS_Z );
-/*N*/ pChartBAxis = new ChartAxis( this, CHART_AXIS_Y, CHAXIS_AXIS_B );
-/*N*/ pChartAAxis = new ChartAxis( this, CHART_AXIS_X, CHAXIS_AXIS_A );
-/*N*/
-/*N*/ pChartYAxis->IfNoDataLookAt( CHAXIS_AXIS_B ); //Falls Achse nur ein Spiegelbild ist....
-/*N*/ pChartBAxis->IfNoDataLookAt( CHAXIS_AXIS_Y ); //d.h. keine eigenen Datenreihen besitzt
-/*N*/
-/*N*/ aBarY1.Assign(this,pChartYAxis);
-/*N*/ aBarY2.Assign(this,pChartBAxis);
-/*N*/
-/*N*/ pChartXAxis->SetAllAxisAttr(pAxisAttr);
-/*N*/ pChartYAxis->SetAllAxisAttr(pAxisAttr);
-/*N*/ pChartZAxis->SetAllAxisAttr(pAxisAttr);
-/*N*/ pChartAAxis->SetAllAxisAttr(pAxisAttr);
-/*N*/ pChartBAxis->SetAllAxisAttr(pAxisAttr);
-/*N*/
-/*N*/ pChartXAxis->SetGridAttrList(pYGridMainAttr);//XGrid->YAchse :( (u.U.)
-/*N*/ pChartYAxis->SetGridAttrList(pXGridMainAttr);
-/*N*/
-/*N*/ SetNumberFormatter( pOwnNumFormatter ); // sets number formatter also for all axes
-/*N*/
-/*N*/ long nTmp=pNumFormatter->GetStandardFormat(NUMBERFORMAT_NUMBER, LANGUAGE_SYSTEM);
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_X_AXIS,nTmp,FALSE);
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_Y_AXIS,nTmp,FALSE);
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_Z_AXIS,nTmp,FALSE);
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_A_AXIS,nTmp,FALSE);
-/*N*/ SetNumFmt(CHOBJID_DIAGRAM_B_AXIS,nTmp,FALSE);
-/*N*/
-/*N*/ pChartBAxis->ShowAxis(FALSE);
-/*N*/ pChartBAxis->ShowDescr(FALSE);
-/*N*/ pChartAAxis->ShowAxis(FALSE);
-/*N*/ pChartAAxis->ShowDescr(FALSE);
-/*N*/
-/*N*/ pSdrObjList=new SdrObjList(this,NULL);
-/*N*/
-/*N*/ // #99528# change auto-font color according to default diagram area
-/*N*/ PageColorChanged( *pDiagramAreaAttr );
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Destruktor
-|*
-\************************************************************************/
-void ChartModel::ClearItemSetLists()
-{
- for (size_t i = 0, nCount = aDataRowAttrList.size(); i < nCount; i++)
- delete aDataRowAttrList[ i ];
- aDataRowAttrList.clear();
-
- for (size_t i = 0, nCount = aRegressAttrList.size(); i < nCount; i++)
- delete aRegressAttrList[ i ];
- aRegressAttrList.clear();
-
- for (size_t i = 0, nCount = aDataPointAttrList.size(); i < nCount; i++)
- delete aDataPointAttrList[ i ];
- aDataPointAttrList.clear();
-
- for (size_t i = 0, nCount = aSwitchDataPointAttrList.size(); i < nCount; i++)
- delete aSwitchDataPointAttrList[ i ];
- aSwitchDataPointAttrList.clear();
-
- for (size_t i = 0, nCount = aAverageAttrList.size(); i < nCount; i++)
- delete aAverageAttrList[ i ];
- aAverageAttrList.clear();
-
- for (size_t i = 0, nCount = aErrorAttrList.size(); i < nCount; i++)
- delete aErrorAttrList[ i ];
- aErrorAttrList.clear();
-
-}
-
-/*N*/ ChartModel::~ChartModel()
-/*N*/ {
-/*N*/ if(pTmpXItems)
-/*N*/ delete pTmpXItems;
-/*N*/ if(pTmpYItems)
-/*N*/ delete pTmpYItems;
-/*N*/ if(pTmpZItems)
-/*N*/ delete pTmpZItems;
-/*N*/
-/*N*/ if(pChartRefOutDev)
-/*?*/ delete pChartRefOutDev;
-/*N*/
-/*N*/ Clear();//aus SchChartDocument::
-/*N*/
-/*N*/ delete pTitleAttr;
-/*N*/ delete pMainTitleAttr;
-/*N*/ delete pSubTitleAttr;
-/*N*/ delete pXAxisTitleAttr;
-/*N*/ delete pYAxisTitleAttr;
-/*N*/ delete pZAxisTitleAttr;
-/*N*/ delete pAxisAttr;
-/*N*/
-/*N*/ delete pChartXAxis;
-/*N*/ delete pChartYAxis;
-/*N*/ delete pChartZAxis;
-/*N*/ delete pChartAAxis;
-/*N*/ delete pChartBAxis;
-/*N*/
-/*N*/ delete pGridAttr;
-/*N*/ delete pXGridMainAttr;
-/*N*/ delete pYGridMainAttr;
-/*N*/ delete pZGridMainAttr;
-/*N*/ delete pXGridHelpAttr;
-/*N*/ delete pYGridHelpAttr;
-/*N*/ delete pZGridHelpAttr;
-/*N*/ delete pDiagramAreaAttr;
-/*N*/ delete pDiagramWallAttr;
-/*N*/ delete pDiagramFloorAttr;
-/*N*/ delete pLegendAttr;
-/*N*/ delete pChartAttr;
-/*N*/ delete pDummyAttr;
-/*N*/ delete aLightVec;
-/*N*/
-/*N*/ delete pStockLineAttr;
-/*N*/ delete pStockLossAttr;
-/*N*/ delete pStockPlusAttr;
-/*N*/
-/*N*/ DestroyDefaultColors();
-/*N*/ delete pOutliner;
-/*N*/ ClearItemSetLists();
-/*N*/
-/*N*/ // suche nach dem ChartPool in der Poolkette, loesche alle verbindungen
-/*N*/ // und vernichte den pool. vorgehen ist unabhaengig von der anzahl
-/*N*/ // der vorangehendem pools. [RB]
-/*N*/ SfxItemPool* pPool = &GetItemPool();
-/*N*/
-/*N*/ for (;;)
-/*N*/ {
-/*N*/ SfxItemPool* pSecondary = pPool->GetSecondaryPool();
-/*N*/ if (pSecondary == pChItemPool)
-/*N*/ {
-/*N*/ pPool->SetSecondaryPool (NULL);
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ pPool = pSecondary;
-/*N*/ }
-/*N*/
-/*N*/ delete pChItemPool;
-/*N*/
-/*N*/ delete pOwnNumFormatter;
-/*N*/
-/*N*/ delete[] pPieSegOfs;
-/*N*/
-/*N*/ if(pChartData)
-/*N*/ {
-/*N*/ if(pChartData->DecreaseRefCount())
-/*N*/ delete pChartData;
-/*N*/ pChartData=NULL;
-/*N*/ }
-/*N*/
-/*N*/ if (pTestTextObj != NULL) delete pTestTextObj;
-/*N*/ if (pLogBook) delete pLogBook;
-/*N*/
-/*N*/
-/*N*/
-/*N*/ SdrObject *pObj;
-/*N*/ while(pSdrObjList->GetObjCount())
-/*?*/ if((pObj=pSdrObjList->RemoveObject(0)))
-/*?*/ delete pObj;
-/*N*/ delete pSdrObjList;
-/*N*/
-/*N*/ if(m_pUndoActionFromDraw) delete m_pUndoActionFromDraw;
-/*N*/ }
-/*************************************************************************
-|*
-|* Das Logbuch dient zur ReAttributierung, nachdem die DataBrowseBox
-|* aufgerufen und Daten hinzugefuegt wurden. Die BrowseBox setzt
-|* eine
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Chart-Datenstruktur auswechseln; bisherige wird ggf. geloescht;
-|* Liefert TRUE, wenn die Chart-Datenstruktur gewechselt wurde.
-|*
-\************************************************************************/
-
-/*N*/ BOOL ChartModel::ChangeChartData(SchMemChart& rData, BOOL bNewTitles,BOOL bDontBuild)
-/*N*/ {
-/*N*/ if (pChartData == &rData) return FALSE;
-/*N*/ else
-/*N*/ {
-/*N*/ SetChartData(rData, bNewTitles);
-/*N*/
-/*N*/ if( pDocShell &&
-/*N*/ pDocShell->ISA( SchChartDocShell ))
-/*N*/ {
-/*N*/ chart::ChartDataChangeEvent aEvent;
-/*N*/ aEvent.Type = chart::ChartDataChangeType_ALL;
-/*N*/ aEvent.StartColumn = 0;
-/*N*/ aEvent.EndColumn = 0;
-/*N*/ aEvent.StartRow = 0;
-/*N*/ aEvent.EndRow = 0;
-/*N*/ SAL_STATIC_CAST( SchChartDocShell*, pDocShell )->DataModified( aEvent );
-/*N*/ }
-/*N*/
-/*N*/ if(!bDontBuild)
-/*N*/ BuildChart(FALSE);
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Datenzeilen in Reihen/Spalten umschalten;
-|* Liefert bei Umschaltung TRUE
-|*
-\************************************************************************/
-
-/*N*/ BOOL ChartModel::ChangeSwitchData(BOOL bSwitch)
-/*N*/ {
-/*N*/ if (bSwitchData == bSwitch) return FALSE;
-/*N*/ else
-/*N*/ {
-/*N*/ bSwitchData = bSwitch;
-/*N*/
-/*N*/ #ifndef NO_56798_FIX //#56798# QuickFix 5.0-Final
-/*N*/ if( IsReal3D() )
-/*N*/ {
-/*?*/ bClearDepth=TRUE;
-/*?*/ for( size_t i = 0, nORow = aDataRowAttrList.size(); i < nORow; i++ )
-/*?*/ aDataRowAttrList[ i ]->ClearItem(SDRATTR_3DOBJ_DEPTH);
-/*?*/ SfxItemSet* pAttributes;
-
-/*?*/ for( size_t i = 0, nORow = aDataPointAttrList.size(); i < nORow; i++ )
-/*?*/ {
-/*?*/ pAttributes = aDataPointAttrList[ i ];
-/*?*/ if (pAttributes != NULL)
-/*?*/ pAttributes->ClearItem(SDRATTR_3DOBJ_DEPTH);
-/*?*/ }
-
-/*?*/ for( size_t i = 0, nORow = aSwitchDataPointAttrList.size(); i < nORow; i++ )
-/*?*/ {
-/*?*/ pAttributes = aSwitchDataPointAttrList[ i ];
-/*?*/ if (pAttributes != NULL)
-/*?*/ pAttributes->ClearItem(SDRATTR_3DOBJ_DEPTH);
-/*?*/ }
-/*N*/ }
-/*N*/ #endif
-/*N*/
-/*N*/ // the number of series may change, so the attribute list
-/*N*/ // must be adapted
-/*N*/ InitDataAttrs();
-/*N*/
-/*N*/ // BM: #68764#
-/*N*/ // if global data descriptions are on transfer them to new rows
-/*N*/ if( eDataDescr != CHDESCR_NONE )
-/*N*/ {
-/*?*/ ChangeDataDescr( eDataDescr, bShowSym, -1, FALSE );
-/*N*/ }
-/*N*/
-/*N*/ BuildChart(FALSE);
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-
-
-
-
-/** @descr Set up the line attributes of every data row. This includes
- the line style, width, and color. Style is set to solid, width to
- the minimal width (if the given mode is not SETLINES_COMPAT).
- The color depends on the given mode.
- If the chart is a stock chart then all the lines are simply switched
- off (by setting line style XLINE_NONE). No other attributes are
- modified.
- @param nMode Specifies the line color of each data row.
- SETLINES_COMPAT and SETLINES_FILLCOLOR set the line color
- to the fill color. SETLINES_COMPAT does not change line
- style nor width.
- SETLINES_REVERSE sets the fill color to the line color.
- SETLINES_BLACK sets the line color to black.
-*/
-/*N*/ void ChartModel::SetupLineColors( const long nMode, long nStartIndex ) //#54870#
-/*N*/ {
-/*N*/ long nRow,
-/*N*/ nRowCnt;
-/*N*/
-/*N*/ // The Row count depends (again) on wether the data set is transposed
-/*N*/ // (switched) or not. Because this returns the wrong value in case of
-/*N*/ // a pie chart, then we access the raw row count without regarding the
-/*N*/ // transpose switch.
-/*N*/ if (IsPieChart())
-/*N*/ nRowCnt = GetColCount(); // ChartData()->GetRowCount();
-/*N*/ else
-/*N*/ nRowCnt = GetRowCount();
-/*N*/
-/*N*/ long nUpperIndex = ::std::min( static_cast< ULONG >( nRowCnt ), static_cast <ULONG > (aDataRowAttrList.size() ) );
-/*N*/
-/*N*/ if( nStartIndex < nUpperIndex )
-/*N*/ {
-/*N*/ if (HasStockLines())
-/*N*/ {
-/*N*/ // Switch off lines for stock charts.
-/*N*/ for( nRow = nStartIndex; nRow < nUpperIndex; nRow++ )
-/*N*/ aDataRowAttrList[ nRow ]->Put(XLineStyleItem(XLINE_NONE));
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // Initialize the item set that will be set to all data rows.
-/*N*/ // If nMode==SETLINES_COMPAT initialization is skipped and only
-/*N*/ // the line colors are set to the fill colors.
-/*N*/ SfxItemSet rAttr(GetItemPool(),XATTR_START,XATTR_END);
-/*N*/ if(nMode != SETLINES_COMPAT)
-/*N*/ {
-/*N*/ // Default values represent a solid black line of minimal width.
-/*N*/ rAttr.Put(XLineStyleItem(XLINE_SOLID));
-/*N*/ rAttr.Put(XLineColorItem(String(),RGBColor(COL_BLACK)));
-/*N*/ rAttr.Put(XLineWidthItem (0));
-/*N*/ }
-/*N*/
-/*N*/ // Set the itemset rAttr to all data rows. Depending on nMode it is first
-/*N*/ // modified so that the line color is set to the fill color or the other
-/*N*/ // way round.
-/*N*/ // The for loop and switch statement changed places in order to not
-/*N*/ // having to execute the switch statement in every iteration.
-/*N*/ switch(nMode)
-/*N*/ {
-/*N*/ case SETLINES_COMPAT:
-/*N*/ case SETLINES_FILLCOLOR:
-/*N*/ // Set the line colors to the former fill colors.
-/*N*/ for( nRow = nStartIndex; nRow < nUpperIndex; nRow++ )
-/*N*/ if(IsLine(nRow))
-/*N*/ {
-/*N*/ rAttr.Put(XLineColorItem(String(),
-/*N*/ ((XFillColorItem &)GetDataRowAttr(nRow).Get(XATTR_FILLCOLOR)).
-/*N*/ GetValue()));
-/*N*/ aDataRowAttrList[ nRow ]->Put(rAttr);
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case SETLINES_REVERSE:
-/*N*/ // Set the fill colors to the former line colors.
-/*?*/ for( nRow = nStartIndex; nRow < nUpperIndex; nRow++ )
-/*?*/ if(IsLine(nRow))
-/*?*/ {
-/*?*/ rAttr.Put(XFillColorItem(String(),
-/*?*/ ((XLineColorItem &)GetDataRowAttr(nRow).Get(XATTR_LINECOLOR)).
-/*?*/ GetValue()));
-/*?*/ aDataRowAttrList[ nRow ]->Put(rAttr);
-/*?*/ }
-/*?*/ break;
-/*N*/
-/*N*/ case SETLINES_BLACK:
-/*N*/ // Set the default values to all data rows.
-/*N*/ for( nRow = nStartIndex; nRow < nUpperIndex; nRow++ )
-/*N*/ {
-/*N*/ aDataRowAttrList[ nRow ]->Put(rAttr);
-/*N*/ }
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Charttyp aendern;
-|* Liefert bei neuem Charttyp TRUE.
-|*
-\************************************************************************/
-// BM: src566b: ChangeChart doesn't execute BuildChart any more!
-/*N*/ BOOL ChartModel::ChangeChart( SvxChartStyle eStyle, bool bSetDefaultAttr /* = true */ )
-/*N*/ {
-/*N*/ if( eStyle == CHSTYLE_ADDIN )
-/*N*/ {
-/*?*/ eChartStyle = eStyle;
-/*?*/ return FALSE;
-/*N*/ }
-/*N*/ else if( eStyle == eChartStyle )
-/*N*/ {
-/*N*/ return FALSE;
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // if chart style is reset disable addin
-/*N*/ if( ! GetChartStatusFlag( CHS_KEEP_ADDIN ))
-/*N*/ {
-/*N*/ mxChartAddIn = NULL;
-/*N*/ }
-/*N*/
-/*N*/ bResizePie=TRUE;
-/*N*/
-/*N*/ // OldChartStyle merken
-/*N*/ eOldChartStyle = eChartStyle;
-/*N*/
-/*N*/ //########### Ab hier werden defaultwerte umgesetzt:######### :
-/*N*/
-/*N*/ //Wenn Linien, aber nicht 3D, dann muss evtl. bei
-/*N*/ //Typwechsel die Linienfarbe neu defaultet werden!
-/*N*/
-/*N*/ long nRefLine=0;//Bei StockChart 3,4 ist die erste Zeile keine Linie
-/*N*/ if(GetRowCount()>1)
-/*N*/ nRefLine=1;
-/*N*/
-/*N*/ // #101164# a combi chart may contain lines for all but the first series
-/*N*/ if( eOldChartStyle == CHSTYLE_2D_LINE_COLUMN ||
-/*N*/ eOldChartStyle == CHSTYLE_2D_LINE_STACKEDCOLUMN )
-/*N*/ nRefLine = 0;
-/*N*/
-/*N*/ BOOL bOldIsLine=IsLine(nRefLine)&& !Is3DChart();//#54870#//Verbund-Charts OK???
-/*N*/ BOOL bOldIsStock=HasStockLines();
-/*N*/ BOOL bOldIs3D=IsReal3D();
-/*N*/ BOOL bOldHadStockBars=HasStockBars();
-/*N*/ BOOL bOldXY = IsXYChart();
-/*N*/ IsNetChart();
-/*N*/ BOOL bOldPie = IsPieChart();
-/*N*/ BOOL bOldDonut = IsDonutChart();
-/*N*/
-/*N*/ eChartStyle = eStyle;
-/*N*/
-/*N*/ BOOL bNewIsLine=IsLine(nRefLine) && !Is3DChart();//#54870#
-/*N*/ BOOL bNewIs3D=IsReal3D();
-/*N*/
-/*N*/ // data row attributes are used for data points in a piechart
-/*N*/ // therefore these need to be initialized correctly
-/*N*/ BOOL bMustInitDataAttrs = (bOldPie || IsPieChart() || IsDonutChart() || bOldDonut);
-/*N*/
-/*N*/ if( eStyle == CHSTYLE_3D_PIE )
-/*N*/ {
-/*?*/ for( short i = 0; i < nPieSegCount; i++ )
-/*?*/ SetPieSegOfs( i, 0 );
-/*N*/ }
-
-/*N*/ if( bSetDefaultAttr )
-/*?*/ {
-/*?*/ // BM: use gray (15%) background (wall) for some charts
-/*?*/ if( HasDefaultGrayWall() != HasDefaultGrayWall( &eOldChartStyle ) )
-/*?*/ {
-/*?*/ if( HasDefaultGrayWall() )
-/*?*/ {
-/*?*/ pDiagramWallAttr->Put( XFillStyleItem( XFILL_SOLID ));
-/*?*/ pDiagramWallAttr->Put( XFillColorItem( String(), RGBColor( RGB_COLORDATA( 0xd9, 0xd9, 0xd9 ) )) );
-/*?*/
-/*?*/ pLegendAttr->Put( XFillStyleItem( XFILL_SOLID ));
-/*?*/ pLegendAttr->Put( XFillColorItem( String(), RGBColor( RGB_COLORDATA( 0xd9, 0xd9, 0xd9 ) )) );
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pDiagramWallAttr->Put( XFillStyleItem( XFILL_NONE ));
-/*?*/ pDiagramWallAttr->Put( XFillColorItem( String(), RGBColor( COL_WHITE )) );
-/*?*/
-/*?*/ pLegendAttr->Put( XFillStyleItem( XFILL_NONE ));
-/*?*/ pLegendAttr->Put( XFillColorItem( String(), RGBColor( COL_WHITE )) );
-/*?*/ }
-/*?*/ }
-/*?*/
-/*?*/ // BM: use gray (15%) background (area) for some charts
-/*?*/ if( HasDefaultGrayArea() != HasDefaultGrayArea( &eOldChartStyle ) )
-/*?*/ {
-/*?*/ if( HasDefaultGrayArea() )
-/*?*/ {
-/*?*/ pDiagramAreaAttr->Put( XFillStyleItem( XFILL_SOLID ));
-/*?*/ pDiagramAreaAttr->Put( XFillColorItem( String(), RGBColor( RGB_COLORDATA( 0xd9, 0xd9, 0xd9 ) )) );
-/*?*/
-/*?*/ pLegendAttr->Put( XFillStyleItem( XFILL_SOLID ));
-/*?*/ pLegendAttr->Put( XFillColorItem( String(), RGBColor( RGB_COLORDATA( 0xd9, 0xd9, 0xd9 ) )) );
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ pDiagramAreaAttr->Put( XFillColorItem( String(), RGBColor( COL_WHITE )) );
-/*?*/
-/*?*/ pLegendAttr->Put( XFillStyleItem( XFILL_NONE ));
-/*?*/ pLegendAttr->Put( XFillColorItem( String(), RGBColor( COL_WHITE )) );
-/*?*/ }
-/*?*/ }
-/*?*/ }
-/*?*/
-/*N*/ if(bNewIsLine != bOldIsLine)
-/*N*/ {
-/*?*/ // map old line colors to new fill colors
-/*?*/ if( bNewIsLine )
-/*?*/ {
-/*?*/ if( bOldPie )
-/*?*/ {
-/*?*/ InitDataAttrs();
-/*?*/ bMustInitDataAttrs = FALSE;
-/*?*/ }
-/*?*/ SetupLineColors( SETLINES_COMPAT );
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ if( IsPieChart() )
-/*?*/ {
-/*?*/ InitDataAttrs();
-/*?*/ bMustInitDataAttrs = FALSE;
-/*?*/ }
-/*?*/ SetupLineColors( SETLINES_BLACK );
-/*?*/ }
-/*?*/
-/*?*/ }
-
-/*N*/ if( bMustInitDataAttrs )
-/*N*/ {
-/*?*/ InitDataAttrs();
-/*?*/ bMustInitDataAttrs = FALSE;
-/*N*/ }
-/*N*/
-/*N*/ if(bOldXY!=IsXYChart())
-/*N*/ {
-/*?*/ if(bOldXY)
-/*?*/ aDataRowAttrList[ 0 ]->Put(SfxInt32Item(SCHATTR_AXIS,CHART_AXIS_PRIMARY_Y));//wird evtl. unten ge?dert, s.u. StockCharts
-/*?*/ else
-/*?*/ aDataRowAttrList[ 0 ]->Put(SfxInt32Item(SCHATTR_AXIS,CHART_AXIS_PRIMARY_X));
-/*?*/
-/*?*/ CheckForNewAxisNumFormat(); // BM #59532#
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ long nRowCnt = aDataRowAttrList.size();
-/*N*/ if( (bOldIsStock && !HasStockLines()) || (bOldIs3D && !bNewIs3D) )
-/*N*/ {
- long n=0;
-/*?*/ for(n=0;n<nRowCnt;n++)
-/*?*/ aDataRowAttrList[ n ]->Put(XLineStyleItem(XLINE_SOLID));
-
-/*?*/ long nColCnt=aDataPointAttrList.size();
-/*?*/ SfxItemSet* pAttributes;
-/*?*/ for(n=0;n<nColCnt;n++)
-/*?*/ {
-/*?*/ pAttributes = aDataPointAttrList[ n ];
-/*?*/ if (pAttributes != NULL)
-/*?*/ pAttributes->ClearItem(XATTR_LINESTYLE);
-/*?*/ }
-
-/*?*/ nColCnt=aSwitchDataPointAttrList.size();
-/*?*/ for(n=0;n<nColCnt;n++)
-/*?*/ {
-/*?*/ pAttributes = aSwitchDataPointAttrList[ n ];
-/*?*/ if (pAttributes != NULL)
-/*?*/ pAttributes->ClearItem(XATTR_LINESTYLE);
-/*?*/ }
-/*?*/ }
-/*N*/ if( (!bOldIsStock && HasStockLines()) || (!bOldIs3D && bNewIs3D) )
-/*N*/ {
- long n=0;
-/*N*/ for(n=0;n<nRowCnt;n++)
-/*N*/ aDataRowAttrList[ n ]->Put(XLineStyleItem(XLINE_NONE));
-
-/*N*/ long nColCnt=aDataPointAttrList.size();
-/*N*/ SfxItemSet* pAttributes;
-/*N*/ for(n=0;n<nColCnt;n++)
-/*N*/ {
-/*N*/ pAttributes = aDataPointAttrList[ n ];
-/*N*/ if (pAttributes != NULL)
-/*?*/ pAttributes->ClearItem(XATTR_LINESTYLE);
-/*N*/ }
-
-/*N*/ nColCnt=aSwitchDataPointAttrList.size();
-/*N*/ for(n=0;n<nColCnt;n++)
-/*N*/ {
-/*N*/ pAttributes = aSwitchDataPointAttrList[ n ];
-/*N*/ if (pAttributes != NULL)
-/*?*/ pAttributes->ClearItem(XATTR_LINESTYLE);
-/*N*/ }
-/*N*/ }
-/*N*/ if( HasStockBars() )//Hat Balken im Hintergrund (ab jetzt oder Typ 3 <-> 4, #65070#)
-/*N*/ {
-/*?*/ if(nRowCnt)
-/*?*/ {
-/*?*/ aDataRowAttrList[ 0 ]->Put(SfxInt32Item(SCHATTR_AXIS,CHART_AXIS_PRIMARY_Y));
-/*?*/ aDataRowAttrList[ 0 ]->Put(XLineStyleItem(XLINE_SOLID));
-/*?*/ }
-/*?*/ for(long n=1;n<nRowCnt;n++)
-/*?*/ aDataRowAttrList[ n ]->Put(SfxInt32Item(SCHATTR_AXIS,CHART_AXIS_SECONDARY_Y));
-/*?*/ pChartBAxis->ShowAxis(TRUE);
-/*?*/ pChartBAxis->ShowDescr(TRUE);
-/*?*/ SfxItemSet aSet(*pItemPool,SCHATTR_AXIS_AUTO_ORIGIN,SCHATTR_AXIS_AUTO_ORIGIN);
-/*?*/ aSet.Put(SfxBoolItem(SCHATTR_AXIS_AUTO_ORIGIN,TRUE));
-/*?*/ pChartBAxis->SetAttributes(aSet);
-/*?*/
-/*?*/ // #100923#
-/*?*/ SfxItemSet aSet2( *pItemPool, SCHATTR_AXIS_AUTO_ORIGIN, SCHATTR_AXIS_ORIGIN );
-/*?*/ aSet2.Put( SfxBoolItem( SCHATTR_AXIS_AUTO_ORIGIN, FALSE ));
-/*?*/ aSet2.Put( SvxDoubleItem( 0.0, SCHATTR_Y_AXIS_ORIGIN ));
-/*?*/ pChartYAxis->SetAttributes( aSet2 );
-/*?*/ }
-/*?*/
-/*N*/ if(bOldHadStockBars && !HasStockBars())//hat jetzt keine Balken mehr
-/*?*/ {
-/*?*/ for(long n=0;n<nRowCnt;n++)
-/*?*/ aDataRowAttrList[ n ]->Put(SfxInt32Item(SCHATTR_AXIS,CHART_AXIS_PRIMARY_Y));
-/*?*/ if(IsXYChart())
-/*?*/ aDataRowAttrList[ 0 ]->Put(SfxInt32Item(SCHATTR_AXIS,CHART_AXIS_PRIMARY_X));
-/*?*/ pChartBAxis->ShowAxis(FALSE);
-/*?*/ pChartBAxis->ShowDescr(FALSE);
-/*?*/ }
-
- // use default position if base type changed
-/*N*/ ChartType aOldType( eOldChartStyle );
-/*N*/ ChartType aNewType( eChartStyle );
-/*N*/
-/*N*/ if( aOldType.GetBaseType() !=
-/*N*/ aNewType.GetBaseType() )
-/*N*/ {
-/*?*/ SetUseRelativePositions( FALSE );
-/*N*/ }
-/*N*/
-/*N*/ Matrix4D aTmp;
-/*N*/ aSceneMatrix = aTmp;
-/*N*/ if(IsPieChart() && IsReal3D() )
-/*N*/ {
-/*?*/ aSceneMatrix.RotateX(-F_PI/3);
-/*?*/ if(pScene)
-/*?*/ pScene->NbcSetTransform(aSceneMatrix);
-/*N*/ }
-/*N*/ else if(pScene)
-/*?*/ pScene->NbcSetTransform(aSceneMatrix);
-/*N*/
-/*N*/
-/*N*/ if( IsReal3D()) //#56798# QuickFix 5.0-Final
-/*N*/ {
-/*N*/ bClearDepth=TRUE;
-/*N*/ size_t i, nORow=aDataRowAttrList.size();
-/*N*/ for(i=0;i<nORow;i++)
-/*N*/ {
-/*N*/ aDataRowAttrList[ i ]->ClearItem( SDRATTR_3DOBJ_DEPTH );
-/*N*/ aDataRowAttrList[ i ]->Put( Svx3DDoubleSidedItem( TRUE ));
-/*N*/ }
-/*N*/ nORow=aDataPointAttrList.size();
-/*N*/ SfxItemSet* pAttributes;
-/*N*/ for(i=0;i<nORow;i++)
-/*N*/ {
-/*N*/ pAttributes = aDataPointAttrList[ i ];
-/*N*/ if (pAttributes != NULL)
-/*N*/ {
-/*?*/ pAttributes->ClearItem( SDRATTR_3DOBJ_DEPTH );
-/*?*/ pAttributes->ClearItem( SDRATTR_3DOBJ_DOUBLE_SIDED );
-/*N*/ }
-/*N*/ }
-/*N*/ nORow=aSwitchDataPointAttrList.size();
-/*N*/ for(i=0;i<nORow;i++)
-/*N*/ {
-/*N*/ pAttributes = aSwitchDataPointAttrList[ i ];
-/*N*/ if (pAttributes != NULL)
-/*N*/ {
-/*?*/ pAttributes->ClearItem( SDRATTR_3DOBJ_DEPTH );
-/*?*/ pAttributes->ClearItem( SDRATTR_3DOBJ_DOUBLE_SIDED );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // switch off rounded edges for:
-/*N*/ // area charts
-/*N*/ Svx3DPercentDiagonalItem aItem(
-/*N*/ (eStyle == CHSTYLE_3D_AREA || eStyle == CHSTYLE_3D_STACKEDAREA || eStyle == CHSTYLE_3D_PERCENTAREA ||
-/*N*/ eStyle == CHSTYLE_3D_PIE )
-/*N*/ ? 0 : 5 );
-/*N*/
-/*N*/ // item-set for whole chart used if item in series is not set
-/*N*/ pDummyAttr->Put( aItem );
-/*N*/
-/*N*/ for( i = 0; i < aDataRowAttrList.size(); i++ )
-/*N*/ {
-/*N*/ aDataRowAttrList[ i ]->Put( aItem );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // If set to xy-chart or certain stock chart variants then turn on
-/*N*/ // automatic calculation of the origin for all y-axes as default.
-/*N*/ // This affects the second y-axis even if it is not (yet) visible.
-/*N*/ // This was previously done in the autopilot but belongs here
-/*N*/ // because XML loading calls this method but not the autopilot.
-/*N*/ if ( IsXYChart()
-/*N*/ || (eChartStyle == CHSTYLE_2D_STOCK_1)
-/*N*/ || (eChartStyle == CHSTYLE_2D_STOCK_2))
-/*N*/ {
-/*?*/ SfxItemSet aAutoOrigin (*pItemPool, SCHATTR_AXIS_AUTO_ORIGIN, SCHATTR_AXIS_AUTO_ORIGIN);
-/*?*/ aAutoOrigin.Put (SfxBoolItem (SCHATTR_AXIS_AUTO_ORIGIN, TRUE));
-/*?*/ pChartYAxis->SetAttributes (aAutoOrigin);
-/*?*/ // The second y-axis exists (pChartBAxis!=NULL) even if it is not
-/*?*/ // visible.
-/*?*/ pChartBAxis->SetAttributes (aAutoOrigin);
-/*N*/ }
-/*N*/
-/*N*/ SetUseRelativePositions(TRUE);// New arrangement (see SID_NEW_ARRANGEMENT)
-/*N*/ eOldChartStyle = eChartStyle;
-/*N*/
-/*N*/ // Set the number of data series that are displayed as lines to a fixed value.
-/*N*/ // This is one for the combined chart types of columns/stacked columns and lines
-/*N*/ // and zero for all other chart types.
-/*N*/
-/*N*/ // #104525# however the default for a combi-chart is one line. So if
-/*N*/ // the setting is on 0, we have to change it to 1.
-/*N*/ if( ( eStyle == CHSTYLE_2D_LINE_COLUMN
-/*N*/ || eStyle == CHSTYLE_2D_LINE_STACKEDCOLUMN )
-/*N*/ && GetNumLinesColChart() == 0 )
-/*N*/ {
-/*?*/ SetNumLinesColChart( 1 );
-/*N*/ }
-/*N*/
-/*N*/ // broadcast UIFeature chang
-/*N*/ // #85069# introduced because the 3d effect flyer has to be disabled for 2d charts
-/*N*/ Broadcast( SfxSimpleHint( SFX_HINT_MODECHANGED ));
-/*N*/
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-\************************************************************************/
-
-
-
-/*************************************************************************
-|*
-|* Language setzen
-|*
-\************************************************************************/
-
-/*N*/ void ChartModel::SetLanguage( const LanguageType eLang, const USHORT nId )
-/*N*/ {
-/*N*/ BOOL bLclChanged = FALSE;
-/*N*/
-/*N*/ if( nId == EE_CHAR_LANGUAGE && eLanguage != eLang )
-/*N*/ {
-/*N*/ eLanguage = eLang;
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/ else if( nId == EE_CHAR_LANGUAGE_CJK && eLanguageCJK != eLang )
-/*N*/ {
-/*N*/ eLanguageCJK = eLang;
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/ else if( nId == EE_CHAR_LANGUAGE_CTL && eLanguageCTL != eLang )
-/*N*/ {
-/*N*/ eLanguageCTL = eLang;
-/*N*/ bLclChanged = TRUE;
-/*N*/ }
-/*N*/
-/*N*/ if( bLclChanged )
-/*N*/ {
-/*N*/ GetDrawOutliner().SetDefaultLanguage( eLang );
-/*N*/ pOutliner->SetDefaultLanguage( eLang );
-/*N*/ pItemPool->SetPoolDefaultItem( SvxLanguageItem( eLang, nId ) );
-/*N*/ SetChanged( bLclChanged );
-/*N*/ }
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Return language
-|*
-\************************************************************************/
-
-/*N*/ LanguageType ChartModel::GetLanguage( const USHORT nId ) const
-/*N*/ {
-/*N*/ LanguageType eLangType = eLanguage;
-/*N*/
-/*N*/ if( nId == EE_CHAR_LANGUAGE_CJK )
-/*N*/ eLangType = eLanguageCJK;
-/*N*/ else if( nId == EE_CHAR_LANGUAGE_CTL )
-/*N*/ eLangType = eLanguageCTL;
-/*N*/
-/*N*/ return eLangType;
-/*N*/ }
-
-IMPL_LINK( ChartModel, NotifyUndoActionHdl, SfxUndoAction*, pUndo )
-{
- DBG_ASSERT(!m_pUndoActionFromDraw, "New UndoAction from Draw received while elder is not handled yet");
- if(m_bDeleteUndoActionNotificationFromDraw)
- {
- if(pUndo)
- delete pUndo;
- }
- else
- {
- m_pUndoActionFromDraw = pUndo;
- }
- return 1;
-}}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_chtscene.cxx b/binfilter/bf_sch/source/core/sch_chtscene.cxx
deleted file mode 100644
index 2f7eacfe0..000000000
--- a/binfilter/bf_sch/source/core/sch_chtscene.cxx
+++ /dev/null
@@ -1,265 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-
-
-#include "axisid.hxx"
-#include "chtscene.hxx"
-namespace binfilter {
-
-#ifdef _MSC_VER
-#pragma optimize ("",off)
-#endif
-
-
-/*N*/ TYPEINIT1(ChartScene, E3dPolyScene);
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ ChartScene::ChartScene(ChartModel* pDocument) :
-/*N*/ E3dPolyScene(),
-/*N*/ pDoc(pDocument),
-/*N*/ bAskForLogicRect(TRUE)
-/*N*/ {
-/*N*/ nSortingMode = E3D_SORT_LOOKUP_FIELD | E3D_SORT_NON_POLYOBJ | E3D_SORT_TEST_LENGTH;
-/*N*/ Initialize();
-/*N*/ SetModel( pDocument );
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Destruktor
-|*
-\************************************************************************/
-
-/*N*/ ChartScene::~ChartScene ()
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Einpassen der Projektion aller Szenenobjekte in das
-|* umschliessende Rechteck
-|*
-\************************************************************************/
-
-/*N*/ Volume3D ChartScene::FitInSnapRect()
-/*N*/ {
-/*N*/ // untransformiertes BoundVolume holen und parent rufen
-/*N*/ Volume3D aNewVol = E3dScene::FitInSnapRect();
-/*N*/
-/*N*/ // Groesse etwas anpassen, umPlatz am Rand des Charts fu schaffen
-/*N*/ aNewVol.MinVec () = Vector3D (
-/*N*/ aNewVol.MinVec ().X () * 1.2,
-/*N*/ aNewVol.MinVec ().Y () * 1.2,
-/*N*/ aNewVol.MinVec ().Z ());
-/*N*/ aNewVol.MaxVec () = Vector3D (
-/*N*/ aNewVol.MaxVec ().X () * 1.2,
-/*N*/ aNewVol.MaxVec ().Y () * 1.2,
-/*N*/ aNewVol.MaxVec ().Z ());
-/*N*/
-/*N*/ SetRectsDirty(FALSE);
-/*N*/ return aNewVol;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Erstelle die 3D-Achsenbeschriftung //war mal in globfunc.cxx
-|*
-\************************************************************************/
-
-/*N*/ void ChartScene::InsertAllTitleText (DescrList &rList,
-/*N*/ E3dObject * /*pGroup*/,
-/*N*/ long nAxisId)
-/*N*/ {
-/*N*/ Rectangle aOldRect;
-/*N*/
- for ( size_t i = 0, n = rList.size(); i < n; ++i )
- {
- E3dLabelObj *pLabel = rList[ i ];
-/*N*/ Insert3DObj(pLabel);
-/*N*/ pLabel->InsertUserData (new SchAxisId (nAxisId));
-/*N*/ }
-/*N*/ }
-/*N*/ Rectangle ChartScene::Get3DDescrRect(E3dLabelObj *p3DObj,B3dCamera& rCamSet )
-/*N*/ {
-/*N*/ const SdrObject* pObj = p3DObj->Get2DLabelObj();
-/*N*/ // View- Abmessungen des Labels holen
-/*N*/ Rectangle aRect = pObj->GetLogicRect();
-/*N*/
-/*N*/ // Position des Objektes in Weltkoordinaten ermitteln
-/*N*/ Vector3D aObjPos = p3DObj->GetFullTransform() * p3DObj->GetPosition();
-/*N*/ aObjPos = rCamSet.WorldToViewCoor(aObjPos);
-/*N*/ Point aPoint((long)(aObjPos.X() + 0.5), (long)(aObjPos.Y() + 0.5));
-/*N*/
-/*N*/ // Relative Position des Labels in View-Koordinaten
-/*N*/ Point aRelPosOne = pObj->GetRelativePos();
-/*N*/ aRelPosOne += aPoint;
-/*N*/
-/*N*/ aRect.SetPos(aRelPosOne);
-/*N*/ return aRect;
-/*N*/ }
-
-/*N*/ void ChartScene::ReduceDescrList(DescrList & aList)
-/*N*/ {
-/*N*/
-/*N*/ Rectangle aIntersect(0,0,0,0);
-/*N*/ Rectangle aPrevRect(0,0,0,0);
-/*N*/ Rectangle aNextRect(0,0,0,0);
-/*N*/
-/*N*/ //Transformation berechnen, die sp?er im Paint ausgef?rt wird,
-/*N*/ //(Derzeit sind die Labelobject-Positionen unbekannt)
-/*N*/ Rectangle aBound(GetSnapRect());
-/*N*/ Volume3D aVolume = FitInSnapRect();
-/*N*/ B3dCamera& rSet = GetCameraSet();
-/*N*/ rSet.SetDeviceRectangle(aVolume.MinVec().X(), aVolume.MaxVec().X(),
-/*N*/ aVolume.MinVec().Y(), aVolume.MaxVec().Y(), FALSE);
-/*N*/ rSet.SetFrontClippingPlane(aVolume.MinVec().Z());
-/*N*/ rSet.SetBackClippingPlane(aVolume.MaxVec().Z());
-/*N*/ rSet.SetViewportRectangle(aBound);
-/*N*/
- size_t i = 0;
-/*N*/ E3dLabelObj *p3DObj = aList.empty() ? NULL : aList[ 0 ];
-/*N*/ E3dLabelObj *pOld3DObj=p3DObj;
-/*N*/ BOOL bGetCurrent=FALSE;
-/*N*/
-/*N*/ if(p3DObj)
-/*N*/ {
-/*N*/ const SdrTextObj* pObj = (const SdrTextObj*)p3DObj->Get2DLabelObj();
-/*N*/
-/*N*/ //Es reicht, die Rotation des ersten Elements zu ermitteln,
-/*N*/ //alle in der Liste sind gleicherma?n gedreht
-/*N*/ //GetRotateAngle() gibt 100tel, gebraucht werden 10tel Grad.
-/*N*/ long nAngle = pObj->GetRotateAngle()/10;
-/*N*/
-/*N*/ aPrevRect=Get3DDescrRect(p3DObj,rSet);
-/*N*/ if(nAngle!=0)
-/*N*/ {
-/*?*/ //Um TopLeft drehen, so wie es sp?er gezeichnet wird
-/*?*/ XPolygon aPoly(aPrevRect);
-/*?*/ aPoly.Rotate(aPrevRect.TopLeft(),(USHORT)nAngle);
-/*?*/ //und um den Koordinaten-Ursprung herum zur?kdrehen
-/*?*/ //um wieder Rectangles zu erhalten (f? Intersect)
-/*?*/ aPoly.Rotate(Point(0,0),(USHORT)(3600 - nAngle));
-/*?*/ aPrevRect=aPoly.GetBoundRect();
-/*N*/ }
-/*N*/
-/*N*/ while(p3DObj)
-/*N*/ {
-/*N*/ //n?hstes Objekt holen, abh?gig davon, ob das zuletzt behandelte
-/*N*/ //entfernt wurde oder nicht (bGetCurrent)
-/*N*/ if(bGetCurrent)
-/*N*/ {
-/*?*/ p3DObj = aList[ i ];
-/*N*/ }
-/*N*/ else
-/*N*/ {
- ++i;
- p3DObj = ( i < aList.size() ) ? aList[ i ] : NULL;
-/*N*/ }
-/*N*/ bGetCurrent=FALSE;
-/*N*/
-/*N*/ //Da insbesondere bei Remove() des letzten Objects sowohl Next()
-/*N*/ //als auch GetCurObject() den alten Pointer zur?kgeben,
-/*N*/ //wird getestet, ob tats?hlich verschiedene Objekte vorliegen
-/*N*/ DBG_ASSERT(p3DObj!=pOld3DObj,"Chart: pointers equal in Scene:reduce...");
-/*N*/ if(p3DObj && p3DObj!=pOld3DObj)
-/*N*/ {
-/*N*/ pOld3DObj=p3DObj;
-/*N*/
-/*N*/ aNextRect=Get3DDescrRect(p3DObj,rSet);
-/*N*/
-/*N*/ if(nAngle!=0)
-/*N*/ {
-/*?*/ //Um TopLeft drehen (wie oben):
-/*?*/ XPolygon aPoly(aNextRect);
-/*?*/ aPoly.Rotate(aNextRect.TopLeft(),(USHORT)nAngle);
-/*?*/ //und um den Ursprung herum zur?kdrehen
-/*?*/ aPoly.Rotate(Point(0,0),(USHORT)(3600 - nAngle));
-/*?*/ aNextRect=aPoly.GetBoundRect();
-/*N*/ }
-/*N*/
-/*N*/ aIntersect=aNextRect.GetIntersection(aPrevRect);
-/*N*/ if( ! (aIntersect.IsEmpty())
-/*N*/ && ( (aIntersect.GetHeight()>aNextRect.GetHeight()/100)
-/*N*/ ||(aIntersect.GetWidth() >aNextRect.GetHeight()/100)//2% Deckung maximal bezogen auf die Fonth?e
-/*N*/ )
-/*N*/ )
-/*N*/ {
-/*N*/ E3dObject* pParent=p3DObj->GetParentObj();
-/*N*/ if(pParent)
-/*N*/ {
-/*N*/ //aus der Page streichen
-/*N*/ pParent->Remove3DObj(p3DObj);
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ OSL_TRACE("Chart:: Object has no parent (Scene)");
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aPrevRect=aNextRect;
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ }
-
-/*N*/ void ChartScene::Initialize()
-/*N*/ {
-/*N*/ // #66930# BM activate second light source and deactivate first one
-/*N*/ // reason: the first light source is in contrast to the other seven
-/*N*/ // lightsources specular by default
-/*N*/
-/*N*/ // Note: Use items at the scene instead of methods at the subobjects
-/*N*/ // otherwise settings get overwritten later
-/*N*/
-/*N*/ // copy lightsource 1 (Base3DLight0) to lightsource 2
-/*N*/ // color
-/*N*/ SetItem( Svx3DLightcolor2Item( GetLightGroup().GetIntensity( Base3DMaterialDiffuse, Base3DLight0 )));
-/*N*/ // direction
-/*N*/ SetItem( Svx3DLightDirection2Item( GetLightGroup().GetDirection( Base3DLight0 )));
-/*N*/
-/*N*/ // enable light source 2
-/*N*/ SetItem( Svx3DLightOnOff2Item( TRUE ));
-/*N*/ // disable light source 1
-/*N*/ SetItem( Svx3DLightOnOff1Item( FALSE ));
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_datalog.cxx b/binfilter/bf_sch/source/core/sch_datalog.cxx
deleted file mode 100644
index 7b893d8aa..000000000
--- a/binfilter/bf_sch/source/core/sch_datalog.cxx
+++ /dev/null
@@ -1,37 +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.
- *
- ************************************************************************/
-#include "datalog.hxx"
-namespace binfilter {
-
-/*N*/ SchDataLogBook::~SchDataLogBook()
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_datapoin.cxx b/binfilter/bf_sch/source/core/sch_datapoin.cxx
deleted file mode 100644
index a09e82139..000000000
--- a/binfilter/bf_sch/source/core/sch_datapoin.cxx
+++ /dev/null
@@ -1,153 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <bf_svx/svditer.hxx>
-
-#include "datapoin.hxx"
-#include "glob.hxx"
-#include <tools/debug.hxx>
-namespace binfilter {
-/*************************************************************************
-|*
-|* Datenpunkt ermitteln
-|*
-\************************************************************************/
-
-/*N*/ SchDataPoint* GetDataPoint(const SdrObject& rObj)
-/*N*/ {//#63904 2x Schleife (15%), 50% pData, 18% id
-/*N*/ USHORT i=rObj.GetUserDataCount();
-/*N*/ while(i--)
-/*N*/ {
-/*N*/ SdrObjUserData *pData = rObj.GetUserData(i);
-/*N*/ if (pData && pData->GetId() == SCH_DATAPOINT_ID)
-/*N*/ return (SchDataPoint*)pData;
-/*N*/ }
-/*N*/
-/*N*/ return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Objekt mit Datenpunkt-Indizes suchen;
-|* liefert NULL, wenn kein Objekt gefunden wurde.
-|*
-\************************************************************************/
-
-/*N*/ SdrObject* GetObjWithColRow(short nCol, short nRow,
-/*N*/ const SdrObjList& rObjList, ULONG* pIndex)
-/*N*/ {
-/*N*/ ULONG nIndex = 0;
-/*N*/
-/*N*/ SdrObjListIter aIterator(rObjList, IM_FLAT);
-/*N*/ while (aIterator.IsMore())
-/*N*/ {
-/*N*/ SdrObject* pObj = aIterator.Next();
-/*N*/ SchDataPoint* pDataPoint = GetDataPoint(*pObj);
-/*N*/ if (pDataPoint && pDataPoint->GetCol() == nCol &&
-/*N*/ pDataPoint->GetRow() == nRow)
-/*N*/ {
-/*N*/ if (pIndex)
-/*N*/ *pIndex = nIndex;
-/*N*/ return pObj;
-/*N*/ }
-/*N*/
-/*N*/ nIndex++;
-/*N*/ }
-/*N*/
-/*N*/ return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchDataPoint::SchDataPoint() :
-/*N*/ SdrObjUserData(SchInventor, SCH_DATAPOINT_ID, 0),
-/*N*/ nCol(0),
-/*N*/ nRow(0)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchDataPoint::SchDataPoint(short nC, short nR) :
-/*N*/ SdrObjUserData(SchInventor, SCH_DATAPOINT_ID, 0),
-/*N*/ nCol(nC),
-/*N*/ nRow(nR)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Kopier-Konstruktor
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Kopie erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjUserData* SchDataPoint::Clone(SdrObject *) const
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP"); return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Daten aus Stream lesen
-|*
-\************************************************************************/
-
-/*N*/ void SchDataPoint::ReadData(SvStream& rIn)
-/*N*/ {
-/*N*/ SdrObjUserData::ReadData(rIn);
-/*N*/
-/*N*/ INT16 nInt16;
-/*N*/
-/*N*/ rIn >> nInt16; nCol = (short)nInt16;
-/*N*/ rIn >> nInt16; nRow = (short)nInt16;
-/*N*/ }
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_datarow.cxx b/binfilter/bf_sch/source/core/sch_datarow.cxx
deleted file mode 100644
index b59817437..000000000
--- a/binfilter/bf_sch/source/core/sch_datarow.cxx
+++ /dev/null
@@ -1,141 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-#include <bf_svx/svditer.hxx>
-
-#include "datarow.hxx"
-#include "glob.hxx"
-#include <tools/debug.hxx>
-namespace binfilter {
-/*************************************************************************
-|*
-|* Datenreihen-Index ermitteln
-|*
-\************************************************************************/
-
-/*N*/ SchDataRow* GetDataRow(const SdrObject& rObj)
-/*N*/ {
-/*N*/ USHORT i=rObj.GetUserDataCount();//#63904 2x Schleife (15%), 50% pData, 18% id
-/*N*/ while(i--)
-/*N*/ {
-/*N*/ SdrObjUserData *pData = rObj.GetUserData(i);
-/*N*/ if (pData && pData->GetId() == SCH_DATAROW_ID)
-/*N*/ return (SchDataRow*)pData;
-/*N*/ }
-/*N*/
-/*N*/ return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Objekt mit Datenreihen-Index suchen;
-|* liefert NULL, wenn kein Objekt gefunden wurde.
-|*
-\************************************************************************/
-
-/*N*/ SdrObject* GetObjWithRow(short nRow, const SdrObjList& rObjList,
-/*N*/ ULONG* pIndex)
-/*N*/ {
-/*N*/ ULONG nIndex = 0;
-/*N*/
-/*N*/ SdrObjListIter aIterator(rObjList, IM_FLAT);
-/*N*/ while (aIterator.IsMore())
-/*N*/ {
-/*N*/ SdrObject* pObj = aIterator.Next();
-/*N*/ SchDataRow* pDataRow = GetDataRow(*pObj);
-/*N*/ if (pDataRow && pDataRow->GetRow() == nRow)
-/*N*/ {
-/*N*/ if (pIndex)
-/*N*/ *pIndex = nIndex;
-/*N*/ return pObj;
-/*N*/ }
-/*N*/
-/*N*/ nIndex++;
-/*N*/ }
-/*N*/
-/*N*/ return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchDataRow::SchDataRow() :
-/*N*/ SdrObjUserData(SchInventor, SCH_DATAROW_ID, 0),
-/*N*/ nRow(0)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchDataRow::SchDataRow(short nR) :
-/*N*/ SdrObjUserData(SchInventor, SCH_DATAROW_ID, 0),
-/*N*/ nRow(nR)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Kopie erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjUserData* SchDataRow::Clone(SdrObject *) const
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP"); return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Daten aus Stream lesen
-|*
-\************************************************************************/
-
-/*N*/ void SchDataRow::ReadData(SvStream& rIn)
-/*N*/ {
-/*N*/ SdrObjUserData::ReadData(rIn);
-/*N*/
-/*N*/ INT16 nInt16;
-/*N*/
-/*N*/ rIn >> nInt16; nRow = (short)nInt16;
-/*N*/ }
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_glob.src b/binfilter/bf_sch/source/core/sch_glob.src
deleted file mode 100644
index 1b8c35c49..000000000
--- a/binfilter/bf_sch/source/core/sch_glob.src
+++ /dev/null
@@ -1,507 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#define NO_LOCALIZE_EXPORT
-
-#include "glob.hrc"
-String STR_LAYOUT
-{
- Text [ de ] = "Layout" ;
- Text [ en-US ] = "Layout" ;
- Text[ pt ] = "Configuração";
- Text[ ru ] = "Разметка";
- Text[ el ] = "Διάταξη";
- Text[ nl ] = "Lay-out";
- Text[ fr ] = "Mise en page";
- Text[ es ] = "Diseño";
- Text[ fi ] = "Asettelu";
- Text[ ca ] = "Format";
- Text[ it ] = "Layout";
- Text[ da ] = "Layout";
- Text[ sv ] = "Layout";
- Text[ pl ] = "Układ";
- Text[ pt-BR ] = "Layout";
- Text[ th ] = "เค้าโครง";
- Text[ ja ] = "レイアウト";
- Text[ ko ] = "ë ˆì´ì•„웃";
- Text[ zh-CN ] = "版å¼";
- Text[ zh-TW ] = "版å¼";
- Text[ tr ] = "Sayfa düzeni";
- Text[ hi-IN ] = "अभिनà¥à¤¯à¤¾à¤¸";
- Text[ ar ] = "تخطيط";
- Text[ he ] = "‮פריסה‬";
-};
-String STR_CONTROLS
-{
- Text [ de ] = "Controls" ;
- Text [ en-US ] = "Controls" ;
- Text[ pt ] = "Controlos";
- Text[ ru ] = "Элементы управлениÑ";
- Text[ el ] = "Στοιχεία ελέγχου";
- Text[ nl ] = "Controls";
- Text[ fr ] = "Contrôles";
- Text[ es ] = "Controles";
- Text[ fi ] = "Ohjausobjektit";
- Text[ ca ] = "Controls";
- Text[ it ] = "Campi di controllo";
- Text[ da ] = "Kontrolelementer";
- Text[ sv ] = "Controls";
- Text[ pl ] = "Formanty";
- Text[ pt-BR ] = "Controles";
- Text[ th ] = "ตัวควบคุม";
- Text[ ja ] = "コントロール";
- Text[ ko ] = "컨트롤";
- Text[ zh-CN ] = "控件";
- Text[ zh-TW ] = "控制項";
- Text[ tr ] = "Komut alanları";
- Text[ hi-IN ] = "नियंतà¥à¤°à¤£";
- Text[ ar ] = "عناصر تحكم";
- Text[ he ] = "‮פקדי×‬";
-};
-String STR_CHARTVIEWSHELL
-{
- Text [ de ] = "Diagrammmodus" ;
- Text [ en-US ] = "Chart mode" ;
- Text[ pt ] = "Modo Gráfico";
- Text[ ru ] = "Режим диаграммы";
- Text[ el ] = "Κατάσταση διαγÏάμματος";
- Text[ nl ] = "Diagrammodus";
- Text[ fr ] = "Mode Diagramme";
- Text[ es ] = "Modo diagrama";
- Text[ fi ] = "Kaaviotila";
- Text[ ca ] = "Mode del diagrama";
- Text[ it ] = "Modo diagramma";
- Text[ da ] = "Diagrammodus";
- Text[ sv ] = "Diagramläge";
- Text[ pl ] = "Tryb wykresu";
- Text[ pt-BR ] = "Modo Gráfico";
- Text[ th ] = "โหมดà¹à¸œà¸™à¸ à¸¹à¸¡à¸´";
- Text[ ja ] = "グラフ モード";
- Text[ ko ] = "차트 모드";
- Text[ zh-CN ] = "图表模å¼";
- Text[ zh-TW ] = "圖表模å¼";
- Text[ tr ] = "Åžema kipi";
- Text[ hi-IN ] = "चारà¥à¤Ÿ पà¥à¤°à¤•à¤¾à¤°";
- Text[ ar ] = "وضع الرسم البياني";
- Text[ he ] = "‮תרשי×‬";
-};
-String STR_STDOBJECTBARSHELL
-{
- Text [ de ] = "Diagrammleiste" ;
- Text [ en-US ] = "Chart Bar" ;
- Text[ pt ] = "Barra de gráficos";
- Text[ ru ] = "Панель диаграммы";
- Text[ el ] = "ΓÏαμμή διαγÏάμματος";
- Text[ nl ] = "Diagrammenbalk";
- Text[ fr ] = "Barre de diagramme";
- Text[ es ] = "Barra de diagramas";
- Text[ fi ] = "Kaaviopalkki";
- Text[ ca ] = "Barra del diagrama";
- Text[ it ] = "Barra dei diagrammi";
- Text[ da ] = "Diagramlinje";
- Text[ sv ] = "Diagramlist";
- Text[ pl ] = "SÅ‚upek na wykresie";
- Text[ pt-BR ] = "Barra de Gráficos";
- Text[ th ] = "à¹à¸–บà¹à¸œà¸™à¸ à¸¹à¸¡à¸´";
- Text[ ja ] = "グラフãƒãƒ¼";
- Text[ ko ] = "차트 모ìŒ";
- Text[ zh-CN ] = "图表æ ";
- Text[ zh-TW ] = "圖表工具列";
- Text[ tr ] = "Şema çubuğu";
- Text[ hi-IN ] = "चारà¥à¤Ÿ पटà¥à¤Ÿà¥€";
- Text[ ar ] = "شريط الرسم البياني";
- Text[ he ] = "â€®×ª×¨×©×™× ×¤×¡×™×‬";
-};
-String STR_APPLICATIONOBJECTBAR
-{
- Text [ de ] = "Funktionsleiste" ;
- Text [ en-US ] = "Function Bar" ;
- Text[ pt ] = "Barra de funções";
- Text[ ru ] = "Панель функций";
- Text[ el ] = "ΓÏαμμή λειτουÏγιών";
- Text[ nl ] = "Werkbalk";
- Text[ fr ] = "Barre de fonctions";
- Text[ es ] = "Barra de funciones";
- Text[ fi ] = "Toimintorivi";
- Text[ ca ] = "Barra de funcions";
- Text[ it ] = "Barra delle funzioni";
- Text[ da ] = "Funktionslinje";
- Text[ sv ] = "Funktionslist";
- Text[ pl ] = "Pasek funkcji";
- Text[ pt-BR ] = "Barra de Funções";
- Text[ th ] = "à¹à¸–บฟังà¸à¹Œà¸Šà¸±à¹ˆà¸™";
- Text[ ja ] = "ファンクションãƒãƒ¼";
- Text[ ko ] = "기능 모ìŒ";
- Text[ zh-CN ] = "功能æ ";
- Text[ zh-TW ] = "工具列";
- Text[ tr ] = "İşlev çubuğu";
- Text[ hi-IN ] = "फंकà¥à¤¶à¤¨à¥ पटà¥à¤Ÿà¥€";
- Text[ ar ] = "شريط المهام";
- Text[ he ] = "‮סרגל פעולות נפוצות‬";
-};
-String STR_TITLE_MAIN
-{
- Text [ de ] = "Haupttitel" ;
- Text [ en-US ] = "Main title" ;
- Text[ pt ] = "Título principal";
- Text[ ru ] = "Главный заголовок";
- Text[ el ] = "ΚÏÏιος τίτλος";
- Text[ nl ] = "Hoofdtitel";
- Text[ fr ] = "Titre principal";
- Text[ es ] = "Título principal";
- Text[ fi ] = "Pääotsikko";
- Text[ ca ] = "Títol principal";
- Text[ it ] = "Titolo principale";
- Text[ da ] = "Overskrift";
- Text[ sv ] = "Huvudrubrik";
- Text[ pl ] = "Tytuł główny";
- Text[ pt-BR ] = "Título principal";
- Text[ th ] = "ชื่อหลัà¸";
- Text[ ja ] = "メインタイトル";
- Text[ ko ] = "주 제목";
- Text[ zh-CN ] = "主标题";
- Text[ zh-TW ] = "主標題";
- Text[ tr ] = "Ana başlık";
- Text[ hi-IN ] = "मà¥à¤–à¥à¤¯ शीरà¥à¤·à¤•";
- Text[ ar ] = "العنوان الرئيسي";
- Text[ he ] = "‮כותרת ר×שית‬";
-};
-String STR_TITLE_SUB
-{
- Text [ de ] = "Untertitel" ;
- Text [ en-US ] = "Subtitle" ;
- Text[ pt ] = "Subtítulo";
- Text[ ru ] = "Подзаголовок";
- Text[ el ] = "Υπότιτλος";
- Text[ nl ] = "Subtitel";
- Text[ fr ] = "Sous-titre ";
- Text[ es ] = "Subtítulo";
- Text[ fi ] = "Alaotsikko";
- Text[ ca ] = "Subtítol";
- Text[ it ] = "Sottotitolo";
- Text[ da ] = "Undertitel";
- Text[ sv ] = "Underrubrik";
- Text[ pl ] = "Podtytuł";
- Text[ pt-BR ] = "Subtítulo";
- Text[ th ] = "ชื่อรอง";
- Text[ ja ] = "サブタイトル";
- Text[ ko ] = "부제";
- Text[ zh-CN ] = "分标题";
- Text[ zh-TW ] = "分標題";
- Text[ tr ] = "Alt başlık";
- Text[ hi-IN ] = "अधीन शीरà¥à¤·à¤•";
- Text[ ar ] = "العنوان الÙرعي";
- Text[ he ] = "‮תת כותרת‬";
-};
-String STR_DIAGRAM_TITLE_X_AXIS
-{
- Text [ de ] = "X-Achsentitel" ;
- Text [ en-US ] = "X axis title" ;
- Text[ pt ] = "Título do eixo X";
- Text[ ru ] = "Заголовок оÑи X";
- Text[ el ] = "Τίτλος άξονα Χ";
- Text[ nl ] = "Titel X-as";
- Text[ fr ] = "Titre de l'axe X";
- Text[ es ] = "Título del eje X";
- Text[ fi ] = "X-akselin otsikko";
- Text[ ca ] = "Títol de l'eix X";
- Text[ it ] = "Titolo asse X";
- Text[ da ] = "X-aksetitel";
- Text[ sv ] = "X-axelrubrik";
- Text[ pl ] = "Tytuł osi X";
- Text[ pt-BR ] = "Título do eixo X";
- Text[ th ] = "ชื่อà¹à¸à¸™ X ";
- Text[ ja ] = "X軸タイトル";
- Text[ ko ] = "X 축 제목";
- Text[ zh-CN ] = "X 轴标题";
- Text[ zh-TW ] = "X-軸標題";
- Text[ tr ] = "X ekseni başlığı";
- Text[ hi-IN ] = "X अकà¥à¤·à¤°à¥‡à¤–ा शीरà¥à¤·à¤•";
- Text[ ar ] = "عنوان المحور س";
- Text[ he ] = "‮כותרת ציר X‬";
-};
-String STR_DIAGRAM_TITLE_Y_AXIS
-{
- Text [ de ] = "Y-Achsentitel" ;
- Text [ en-US ] = "Y axis title" ;
- Text[ pt ] = "Título do eixo Y";
- Text[ ru ] = "Заголовок оÑи Y";
- Text[ el ] = "Τίτλος άξονα Y";
- Text[ nl ] = "Titel Y-as";
- Text[ fr ] = "Titre de l'axe Y";
- Text[ es ] = "Título del eje Y";
- Text[ fi ] = "Y-akselin otsikko";
- Text[ ca ] = "Títol de l'eix Y";
- Text[ it ] = "Titolo asse Y";
- Text[ da ] = "Y-aksetitel";
- Text[ sv ] = "Y-axelrubrik";
- Text[ pl ] = "Tytuł osi Y";
- Text[ pt-BR ] = "Título do eixo Y";
- Text[ th ] = "ชื่อà¹à¸à¸™ Y ";
- Text[ ja ] = "Y軸タイトル";
- Text[ ko ] = "Y축 제목";
- Text[ zh-CN ] = "Y 轴标题";
- Text[ zh-TW ] = "Y-軸標題";
- Text[ tr ] = "Y ekseni başlığı";
- Text[ hi-IN ] = "Y axis title";
- Text[ ar ] = "عنوان المحور ص";
- Text[ he ] = "‮כותרת ציר Y‬";
-};
-String STR_DIAGRAM_TITLE_Z_AXIS
-{
- Text [ de ] = "Z-Achsentitel" ;
- Text [ en-US ] = "Z axis title" ;
- Text[ pt ] = "Título do eixo Z";
- Text[ ru ] = "Заголовок оÑи Z";
- Text[ el ] = "Τίτλος άξονα Z";
- Text[ nl ] = "Titel Z-as";
- Text[ fr ] = "Titre de l'axe Z";
- Text[ es ] = "Título del eje Z";
- Text[ fi ] = "Z-akselin otsikko";
- Text[ ca ] = "Títol de l'eix Z";
- Text[ it ] = "Titolo asse Z";
- Text[ da ] = "Z-aksetitel";
- Text[ sv ] = "Z-axelrubrik";
- Text[ pl ] = "Tytuł osi Z";
- Text[ pt-BR ] = "Título do eixo Z";
- Text[ th ] = "ชื่อà¹à¸à¸™ Z ";
- Text[ ja ] = "Z軸タイトル";
- Text[ ko ] = "Z축 제목";
- Text[ zh-CN ] = "Z 轴标题";
- Text[ zh-TW ] = "Z-軸標題";
- Text[ tr ] = "Z ekseni başlığı";
- Text[ hi-IN ] = "Z अकà¥à¤·à¤°à¥‡à¤–ा शीरà¥à¤·à¤•";
- Text[ ar ] = "عنوان المحور ع";
- Text[ he ] = "‮כותרת ציר Z‬";
-};
-String STR_COLUMN
-{
- Text [ de ] = "Spalte $(N)" ;
- Text [ x-comment ] = "the parameter $(N) is replaced by the number of a column";
- Text [ en-US ] = "Column $(N) " ;
- Text[ pt ] = "Coluna $(N)";
- Text[ ru ] = "Столбец $(N)";
- Text[ el ] = "Στήλη $(N)";
- Text[ nl ] = "Kolom $(N)";
- Text[ fr ] = "Colonne $(N)";
- Text[ es ] = "Columna $(N)";
- Text[ fi ] = "Sarake $(N) ";
- Text[ ca ] = "Columna $(N) ";
- Text[ it ] = "Colonna $(N)";
- Text[ da ] = "Kolonne $(N)";
- Text[ sv ] = "Kolumn $(N)";
- Text[ pl ] = "Kolumna $(N)";
- Text[ pt-BR ] = "Coluna $(N) ";
- Text[ th ] = "คอลัมน์ $(N) ";
- Text[ ja ] = "列 $(N)";
- Text[ ko ] = "ì—´ $(N)";
- Text[ zh-CN ] = "列 $(N)";
- Text[ zh-TW ] = "欄 $(N)";
- Text[ tr ] = "Sütun $(N)";
- Text[ hi-IN ] = "सà¥à¤¤à¤‚भ $(N)";
- Text[ ar ] = "العمود $(N)";
- Text[ he ] = "‮עמודה $(N) ‬";
-};
-String STR_ROW
-{
- Text [ de ] = "Zeile $(N)" ;
- Text [ x-comment ] = "the parameter $(N) is replaced by the number of a row";
- Text [ en-US ] = "Row $(N)" ;
- Text[ pt ] = "Linha $(N)";
- Text[ ru ] = "Строка $(N)";
- Text[ el ] = "ΓÏαμμή $(N)";
- Text[ nl ] = "Rij $(N)";
- Text[ fr ] = "Ligne $(N)";
- Text[ es ] = "Fila $(N)";
- Text[ fi ] = "Rivi $(N)";
- Text[ ca ] = "Fila $(N)";
- Text[ it ] = "Riga $(N)";
- Text[ da ] = "Række $(N)";
- Text[ sv ] = "Rad $(N)";
- Text[ pl ] = "Wiersz $(N)";
- Text[ pt-BR ] = "Linha $(N) ";
- Text[ th ] = "à¹à¸–ว $(N)";
- Text[ ja ] = "行 $(N)";
- Text[ ko ] = "í–‰$(N)";
- Text[ zh-CN ] = "行 $(N)";
- Text[ zh-TW ] = "列 $(N)";
- Text[ tr ] = "Satır $(N)";
- Text[ hi-IN ] = "Row $(N)";
- Text[ ar ] = "الص٠$(N)";
- Text[ he ] = "‮ שורה $(N)‬";
-};
-String STR_STLSHEET_TITLE_MAIN
-{
- Text = "Haupttitel" ;
-};
-String STR_STLSHEET_TITLE_SUB
-{
- Text = "Untertitel" ;
-};
-String STR_STLSHEET_TITLE_X_AXIS
-{
- Text = "X-Achsentitel" ;
-};
-String STR_STLSHEET_TITLE_Y_AXIS
-{
- Text = "Y-Achsentitel" ;
-};
-String STR_STLSHEET_TITLE_Z_AXIS
-{
- Text = "Z-Achsentitel" ;
-};
-String STR_STLSHEET_DATAROWS
-{
- Text = "Datenzeilen" ;
-};
-String STR_STLSHEET_DATACOLS
-{
- Text = "Datenspalten" ;
-};
-String STR_STLSHEET_DATAVALUES
-{
- Text = "Datenwerte" ;
-};
-String STR_STLSHEET_DATADESCR
-{
- Text = "Datenbeschriftung" ;
-};
-String STR_STLSHEET_LEGEND
-{
- Text = "Legende" ;
-};
-String STR_NO_LOGARITHMIC_MIN_VALUES
-{
- Text [ de ] = "Negative und Null-Werte können nicht logarithmisch dargestellt werden." ;
- Text [ en-US ] = "Negative and zero values cannot be logarithmicaly portrayed." ;
- Text[ pt ] = "Valores zero e negativos não podem ser representados de forma logarítmica.";
- Text[ ru ] = "Ðевозможно предÑтавить логарифмичеÑки отрицательные и нулевые значениÑ.";
- Text[ el ] = "Δεν είναι δυνατόν να γίνει λογαÏιθμητική παÏάσταση αÏνητικών και μηδενικών τιμών.";
- Text[ nl ] = "Negatieve waarden en nul-waarden kunnen niet logaritmisch worden weergegeven.";
- Text[ fr ] = "Valeurs négatives et valeurs zéro ne peuvent être affichées sous forme de logarithme";
- Text[ es ] = "No es posible representar logarítmicamente valores cero o valores negativos.";
- Text[ fi ] = "Negatiivisia arvoja ja nollaa ei voi kuvata logaritmisesti.";
- Text[ ca ] = "No és possible representar logarítmicament valors zero o valors negatius.";
- Text[ it ] = "Valori nulli e negativi non possono essere rappresentati logaritmamente.";
- Text[ da ] = "Negative værdier og nulværdier kan ikke vises logaritmisk.";
- Text[ sv ] = "Negativa värden och nollvärden kan inte visas logaritmiskt.";
- Text[ pl ] = "Wartości ujemne i zerowe nie mogą zostać przedstawione logarytmicznie.";
- Text[ pt-BR ] = "Valores nulos e negativos não podem ser apresentados de forma logarítmica.";
- Text[ th ] = "ไม่สามารถอธิบายทางลอà¸à¸²à¸£à¸´à¸˜à¸¶à¸¡à¸„่าลบà¹à¸¥à¸°à¸¨à¸¹à¸™à¸¢à¹Œà¹„ด้";
- Text[ ja ] = "マイナス値ã¨ã‚¼ãƒ­ã¯å¯¾æ•°è¡¨ç¤ºã§ãã¾ã›ã‚“。";
- Text[ ko ] = "(ï¼) ë˜ëŠ” 0 ê°’ì€ ë¡œê·¸ë¡œ í‘œí˜„ë  ìˆ˜ 없습니다.";
- Text[ zh-CN ] = "负数和零无法以对数的形å¼è¡¨ç¤ºã€‚";
- Text[ zh-TW ] = "負數和零無法以å°æ•¸çš„å½¢å¼è¡¨ç¤ºã€‚";
- Text[ tr ] = "Negatif ve sıfır değerleri, logaritmik olarak görüntülenemez.";
- Text[ hi-IN ] = "ऋणातà¥à¤®à¤• सखà¥à¤¯à¤¾à¤à¤“ à¤à¤µà¤‚ शà¥à¤¨à¥à¤¯ का लघà¥à¤—णक नहीं होता है।";
- Text[ ar ] = "لا يمكن عرض القيم السلبية وقيم الصÙر لوغاريتمياً.";
- Text[ he ] = "â€®×œ× × ×™×ª×Ÿ להציג ×¢×¨×›×™× ×©×œ×™×œ×™×™× ×ו ×פס ×‘×ª×¨×©×™× ×œ×•×’×¨×™×ª×ž×™.‬";
-};
-String STR_NO_MIN_VALUES
-{
- Text [ de ] = "Der Diagrammtyp kann keine negativen Werte darstellen." ;
- Text [ en-US ] = "The selected chart type cannot portay negative values." ;
- Text[ pt ] = "O tipo de gráfico não pode apresentar valor negativos.";
- Text[ ru ] = "Выбранный тип диаграммы не может предÑтавить отрицательные значениÑ.";
- Text[ el ] = "Ο Ï„Ïπος διαγÏάμματος δεν έχει δυνατότητα εμφάνισης αÏνητικών τιμών.";
- Text[ nl ] = "In dit diagramtype kunnen geen negatieve waarden worden weergeven.";
- Text[ fr ] = "Ce type de diagramme ne peut représenter des valeurs négatives.";
- Text[ es ] = "Este tipo de diagrama no puede representar valores negativos.";
- Text[ fi ] = "Valittu kaaviotyyppi ei voi kuvata negatiivisia arvoja.";
- Text[ ca ] = "El tipus de diagrama seleccionat no pot representar valors negatius.";
- Text[ it ] = "Il tipo di diagramma non può rappresentare valori negativi.";
- Text[ da ] = "Denne diagramtype kan ikke vise negative værdier.";
- Text[ sv ] = "Diagramtypen kan inte visa negativa värden.";
- Text[ pl ] = "Wybrany typ wykresu nie może przedstawiać wartości ujemnych.";
- Text[ pt-BR ] = "O tipo de gráfico selecionado não pode apresentar valores negativos.";
- Text[ th ] = "ชนิดของà¹à¸œà¸™à¸ à¸¹à¸¡à¸´à¸—ี่เลือà¸à¹„ม่สามารถอธิบายค่าลบได้";
- Text[ ja ] = "ã“ã®ã‚°ãƒ©ãƒ•ã®ç¨®é¡žã¯ãƒžã‚¤ãƒŠã‚¹å€¤ã‚’表ã™ã“ã¨ãŒã§ãã¾ã›ã‚“。";
- Text[ ko ] = "ì„ íƒëœ ì°¨íŠ¸ì˜ ìœ í˜•ì€ (ï¼ï¼‰ê°’ì„ í‘œí˜„í•  수 없습니다.";
- Text[ zh-CN ] = "此类图表ä¸èƒ½æ˜¾ç¤ºè´Ÿæ•°å€¼ã€‚";
- Text[ zh-TW ] = "此類圖表ä¸èƒ½é¡¯ç¤ºè² æ•¸å€¼ã€‚";
- Text[ tr ] = "Bu şema tipi, negatif değerleri görüntüleyemiyor.";
- Text[ hi-IN ] = "चà¥à¤¨à¤¾ हà¥à¤† चारà¥à¤Ÿ वरà¥à¤— कà¥à¤·à¤¯à¤°à¤¾à¤¶à¤¿ मूलà¥à¤¯à¥‹à¤‚ को वरà¥à¤£à¤¨ नहीं कर सकता है ।";
- Text[ ar ] = "هذا النوع من الرسوم البيانية لا يمكنه عرض القيم السلبية.";
- Text[ he ] = "‮סוג ×”×ª×¨×©×™× ×”× ×‘×—×¨ ×ינו מסוגל להציג ×¢×¨×›×™× ×©×œ×™×œ×™×™×.‬";
-};
-String STR_ONLY_ABS_VALUES
-{
- Text [ de ] = "Der Diagrammtyp kann keinen Wertebereich mit unterschiedlichem Vorzeichen darstellen.\nEs werden Absolutwerte angenommen." ;
- Text [ en-US ] = "This chart type cannot portray value areas with different signs.\nThe values will be shown as absolutes without signs." ;
- Text[ pt ] = "Este tipo de gráfico não pode apresentar áreas de valor com sinais diferentes.\n São aceites valores absolutos.";
- Text[ ru ] = "Этот тип диаграммы не может предÑтавить облаÑÑ‚ÑŒ значений Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ знаками.\nПоÑтому будут показаны абÑолютные значениÑ.";
- Text[ el ] = "Ο Ï„Ïπος διαγÏάμματος δεν έχει δυνατότητα εμφάνισης πεÏιοχής τιμών με διαφοÏετικά Ï€Ïόσημα.\nΘα αναγνωÏιστοÏν ως απόλυτες τιμές.";
- Text[ nl ] = "In dit diagramtype kan geen waardenbereik met verschillende voortekens worden weergeven.\nEr worden absolute waarden aangenomen.";
- Text[ fr ] = "Ce type de diagramme ne peut représenter des plages valeurs de signes différents.\nLes valeurs absolues seront acceptées.";
- Text[ es ] = "Este tipo de diagrama no puede representar una gama de valores con signos diferentes.\nSe aceptan valores absolutos.";
- Text[ fi ] = "Tässä kaaviotyypissä ei voi kuvata arvoalueita, joissa on sekä negatiivisia että positiivisia arvoja.\nArvot kuvataan itseisarvoina ilman etumerkkejä.";
- Text[ ca ] = "Aquest tipus de diagrama no pot representar una gamma de valors amb signes diferents.\nS'accepten valors absoluts.";
- Text[ it ] = "Il tipo di diagramma non può visualizzare aree di dati con diversi segni.\nVengono accettati solo valori assoluti.";
- Text[ da ] = "Denne diagramtype kan ikke vise et værdiområde med forskelligt fortegn.\nVærdierne bliver vist som absolutværdier, dvs. uden hensyntagen til fortegn.";
- Text[ sv ] = "Diagramtypen kan inte visa värdeområden med olika förtecken.\nAbsolutvärden visas.";
- Text[ pl ] = "Ten typ wykresu nie może przedstawiać obszarów wartości o różnych znakach.\nZostaną pokazane wartości absolutne (bez znaków).";
- Text[ pt-BR ] = "Este tipo de gráfico não pode apresentar valores de área com sinais diferentes.\n Os valores serão mostrados como valores absolutos sem sinal.";
- Text[ th ] = "ชนิดà¹à¸œà¸™à¸ à¸¹à¸¡à¸´à¸™à¸µà¹‰à¹„ม่สามารถพื้นที่ของค่าด้วยสัà¸à¸¥à¸±à¸à¸©à¸“์ที่ต่างà¸à¸±à¸™à¹„ด้\nค่าจะถูà¸à¹à¸ªà¸”งเป็นค่าสัมบูรณ์โดยไม่มีสัà¸à¸¥à¸±à¸à¸©à¸“์";
- Text[ ja ] = "ã“ã®ã‚°ãƒ©ãƒ•ã®ç¨®é¡žã¯ç•°ãªã‚‹ç¬¦å·ã®ä»˜ã数値ã®ç¯„囲を表示ã§ãã¾ã›ã‚“。\n絶対値ãŒæŽ¡ç”¨ã•ã‚Œã¾ã™ã€‚";
- Text[ ko ] = "ì„ íƒëœ ì°¨íŠ¸ì˜ ìœ í˜•ì€ ì—¬ëŸ¬ê°€ì§€ 부호가 ë¶™ì€ ê°’ êµ¬ì—­ì„ í‘œí˜„í•  수 없습니다.\n절대값으로 간주ë©ë‹ˆë‹¤.";
- Text[ zh-CN ] = "此图表类型无法显示å«æœ‰ä¸åŒæ­£è´Ÿå·çš„数值区域。\nåªèƒ½å¤Ÿå¤„ç†ç»å¯¹å€¼ã€‚";
- Text[ zh-TW ] = "此圖表類型無法顯示å«æœ‰ä¸åŒæ­£è² è™Ÿçš„數值å€åŸŸã€‚\nåªæŽ¥å—絕å°å€¼ã€‚";
- Text[ tr ] = "Bu şema tipi, farklı işaretleri olan değer aralıklarını görüntüleyemiyor.\nMutlak değerler görüntülenecek.";
- Text[ hi-IN ] = "चà¥à¤¨à¤¾ हà¥à¤† चारà¥à¤Ÿà¥ वरà¥à¤— मूलà¥à¤¯ वीसà¥à¤¤à¥€à¤°à¥à¤£à¥‹à¤‚ को अलग-अलग चिनà¥à¤¹ से वरà¥à¤£à¤¨ नहीं कर सकता है ।\nमूलà¥à¤¯ को चिनà¥à¤¹ रहित निशà¥à¤šà¤¿à¤¤ रूप से दिखाया जाà¤à¤—ा ।";
- Text[ ar ] = "لا يمكن لنمط الرسم البياني هذا إظهار نطاق قيم بعلامات مختلÙØ©.\nسو٠يتم قبول القيم المطلقة.";
- Text[ he ] = "‮סוג ×”×ª×¨×©×™× ×”×–×” ×ינו מסוגל להציג ×¢×¨×›×™× ×‘×¢×œ×™ ×¡×™×ž× ×™× ×”×¤×•×›×™×.\nולכן ×”×¢×¨×›×™× ×™×•×¦×’×• ×›×¢×¨×›×™× ×ž×•×—×œ×˜×™× ×œ×œ× ×¡×™×ž× ×™×.‬";
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/binfilter/bf_sch/source/core/sch_globfunc.cxx b/binfilter/bf_sch/source/core/sch_globfunc.cxx
deleted file mode 100644
index b5d298172..000000000
--- a/binfilter/bf_sch/source/core/sch_globfunc.cxx
+++ /dev/null
@@ -1,1264 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma optimize("e",off)
-#pragma hdrstop
-#endif
-
-#define ITEMID_FONTLIST 0
-#define ITEMID_POSTURE 0
-#define ITEMID_WEIGHT 0
-#define ITEMID_UNDERLINE 0
-#define ITEMID_CROSSEDOUT 0
-#define ITEMID_SHADOWED 0
-#define ITEMID_AUTOKERN 0
-#define ITEMID_WORDLINEMODE 0
-#define ITEMID_CONTOUR 0
-#define ITEMID_PROPSIZE 0
-#define ITEMID_CHARSETCOLOR 0
-#define ITEMID_KERNING 0
-#define ITEMID_CASEMAP 0
-#define ITEMID_ESCAPEMENT 0
-#define ITEMID_LANGUAGE 0
-#define ITEMID_NOLINEBREAK 0
-#define ITEMID_NOHYPHENHERE 0
-#define ITEMID_BLINK 0
-
-#define ITEMID_FONT EE_CHAR_FONTINFO
-#define ITEMID_COLOR EE_CHAR_COLOR
-#define ITEMID_FONTHEIGHT EE_CHAR_FONTHEIGHT
-#define ITEMID_FONTWIDTH EE_CHAR_FONTWIDTH
-
-#include <bf_svtools/whiter.hxx>
-#include <bf_svx/eeitem.hxx>
-
-#include "schattr.hxx"
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-
-#include <bf_svtools/eitem.hxx>
-#endif
-
-#include <bf_svx/fhgtitem.hxx>
-#include <bf_svx/svxids.hrc>
-#include <globfunc.hxx>
-
-#include "math.h"
-#include "float.h"
-
-#include <bf_svx/fontitem.hxx>
-#include <bf_svx/wghtitem.hxx>
-#include <bf_svx/udlnitem.hxx>
-#include <bf_svx/crsditem.hxx>
-#include <bf_svx/postitem.hxx>
-#include <bf_svx/cntritem.hxx>
-#include <bf_svx/shdditem.hxx>
-#include <bf_svx/akrnitem.hxx>
-#include <bf_svx/wrlmitem.hxx>
-
-#include <algorithm>
-#include <functional>
-
-/*************************************************************************
-|*
-|* Objekt attributieren
-|*
-\************************************************************************/
-namespace binfilter {
-/*N*/ SdrObject *SetObjectAttr (SdrObject *pObj,
-/*N*/ UINT16 nID,
-/*N*/ BOOL bProtect,
-/*N*/ BOOL bResize,
-/*N*/ SfxItemSet *pAttr)
-/*N*/ {
-/*N*/ pObj->InsertUserData (new SchObjectId (nID));
-/*N*/ pObj->SetMoveProtect (bProtect);
-/*N*/ pObj->SetResizeProtect (bResize);
-/*N*/ if (pAttr)
-/*N*/ pObj->SetItemSet(*pAttr);
-/*N*/
-/*N*/ return pObj;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Objektgruppe erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjList *CreateGroup (SdrObjList &rObjList,
-/*N*/ UINT16 nID,
-/*N*/ ULONG nIndex)
-/*N*/ {
-/*N*/ SdrObjGroup *pGroup = (SdrObjGroup *) SetObjectAttr (new SchObjGroup, nID, TRUE, TRUE, 0);
-/*N*/
-/*N*/ rObjList.NbcInsertObject((SdrObject *) pGroup, nIndex);
-/*N*/ return pGroup->GetSubList();
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Objektgruppe erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SchObjGroup *CreateSimpleGroup (UINT16 nID,
-/*N*/ BOOL bProtect,
-/*N*/ BOOL bResize)
-/*N*/ {
-/*N*/ return (SchObjGroup *) SetObjectAttr (new SchObjGroup, nID, bProtect, bResize, 0);
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Berechne kub. Spline
-|*
-\************************************************************************/
-
-/*N*/ void CubicSpline (XPolygon &pKnownPoints,
-/*N*/ int n,
-/*N*/ int splineSize,
-/*N*/ XPolygon &pSplines)
-/*N*/ {
-/*N*/ double *h = new double [n + 1];
-/*N*/ double *m = new double [n + 1];
-/*N*/ double *q = new double [n + 1];
-/*N*/ double *u = new double [n + 1];
-/*N*/
-/*N*/ for (int k = 1;
-/*N*/ k <= n;
-/*N*/ k ++)
-/*N*/ h [k] = pKnownPoints [k].X () - pKnownPoints [k - 1].X ();
-/*N*/
-/*N*/ double p;
-/*N*/ double lambda = 0.0;
-/*N*/ double d = 0.0;
-/*N*/ double mue;
-/*N*/
-/*N*/ q [0] = -lambda / 2.0;
-/*N*/ u [0] = d / 2.0;
-/*N*/
-/*N*/ int j;
-/*N*/ for (j = 1;
-/*N*/ j <= n;
-/*N*/ j ++)
-/*N*/ {
-/*N*/ mue = (j < n)
-/*N*/ ? h[j] / (h [j] + h [j + 1])
-/*N*/ : 0.0;
-/*N*/ p = mue * q [j - 1] + 2.0;
-/*N*/ lambda = 1.0 - mue;
-/*N*/ q [j] = -lambda / p;
-/*N*/ d = (j < n)
-/*N*/ ? 6.0 * ((pKnownPoints [j + 1].Y () - pKnownPoints [j].Y ()) / h [j + 1] -
-/*N*/ (pKnownPoints [j].Y () - pKnownPoints [j - 1].Y ()) / h [j]) / (h [j] + h [j + 1])
-/*N*/ : 0.0;
-/*N*/ u [j] = (d - mue * u [j - 1]) / p;
-/*N*/ }
-/*N*/
-/*N*/ m [n] = u [n];
-/*N*/
-/*N*/ for (j = n - 1;
-/*N*/ j >= 0;
-/*N*/ j --)
-/*N*/ m [j] = q [j] * m [j + 1] + u [j];
-/*N*/
-/*N*/ for (j = 0;
-/*N*/ j < n;
-/*N*/ j ++)
-/*N*/ {
-/*N*/ double xStep = (pKnownPoints [j + 1].X () - pKnownPoints [j].X ()) / splineSize;
-/*N*/ double x = pKnownPoints [j].X ();
-/*N*/
-/*N*/ double alpha = pKnownPoints [j].Y ();
-/*N*/ double gamma = m [j] / 2;
-/*N*/ double beta = (pKnownPoints [j + 1].Y () - pKnownPoints [j].Y ()) / h [j + 1] -
-/*N*/ ((2 * m [j] + m [j + 1]) * h [j + 1]) / 6;
-/*N*/ double delta = (m [j + 1] - m [j]) / (6 * h [j + 1]);
-/*N*/
-/*N*/ for (int i = 0;
-/*N*/ i < splineSize;
-/*N*/ i ++)
-/*N*/ {
-/*N*/ double xdiff = (x - pKnownPoints [j].X ());
-/*N*/ int index = j * splineSize + i;
-/*N*/
-/*N*/ pSplines [(short) index].Y () = long(alpha + xdiff * (beta + xdiff * (gamma + xdiff * delta)));
-/*N*/ pSplines [(short) index].X () = long(x);
-/*N*/ x += xStep;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ pSplines [n * splineSize].Y () = pKnownPoints [n].Y ();
-/*N*/ pSplines [n * splineSize].X () = pKnownPoints [n].X ();
-/*N*/
-/*N*/ delete[] h;
-/*N*/ delete[] m;
-/*N*/ delete[] q;
-/*N*/ delete[] u;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Bestimme Knotenvektor fuer B-Spline
-|*
-\************************************************************************/
-
-/*N*/ void TVector (int n,
-/*N*/ int k,
-/*N*/ double *t)
-/*N*/ {
-/*N*/ for (int i = 0;
-/*N*/ i <= n + k;
-/*N*/ i ++)
-/*N*/ {
-/*N*/ if (i < k) t [i] = 0;
-/*N*/ else if (i <= n) t [i] = i - k + 1;
-/*N*/ else t [i] = n - k + 2;
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Berechne linken Knotenvektor
-|*
-\************************************************************************/
-
-/*N*/ double TLeft (double x,
-/*N*/ int i,
-/*N*/ int k,
-/*N*/ double *t)
-/*N*/ {
-/*N*/ double deltaT = t [i + k - 1] - t [i];
-/*N*/
-/*N*/ return (deltaT == 0.0)
-/*N*/ ? 0.0
-/*N*/ : (x - t [i]) / deltaT;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Berechne rechten Knotenvektor
-|*
-\************************************************************************/
-
-/*N*/ double TRight (double x,
-/*N*/ int i,
-/*N*/ int k,
-/*N*/ double *t)
-/*N*/ {
-/*N*/ double deltaT = t [i + k] - t [i + 1];
-/*N*/
-/*N*/ return (deltaT == 0.0)
-/*N*/ ? 0.0
-/*N*/ : (t [i + k] - x) / deltaT;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Berechne Gewichtungsvektor
-|*
-\************************************************************************/
-
-/*N*/ void BVector (double x,
-/*N*/ int n,
-/*N*/ int k,
-/*N*/ double *b,
-/*N*/ double *t)
-/*N*/ {
-/*N*/ for (int i = 0;
-/*N*/ i <= n + k;
-/*N*/ i ++)
-/*N*/ b [i] = 0;
-/*N*/
-/*N*/ int i0 = (int) floor (x) + k - 1;
-/*N*/ b [i0] = 1;
-/*N*/
-/*N*/ for (int j = 2;
-/*N*/ j <= k;
-/*N*/ j ++)
-/*N*/ for (int i = 0;
-/*N*/ i <= i0;
-/*N*/ i ++)
-/*N*/ b [i] = TLeft (x, i, j, t) * b [i] + TRight (x, i, j, t) * b [i + 1];
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Berechne einzelnen Punkt
-|*
-\************************************************************************/
-
-/*N*/ void BSPoint (int n,
-/*N*/ Point &p1,
-/*N*/ Point &p2,
-/*N*/ XPolygon &pKnownPoints,
-/*N*/ double *b)
-/*N*/ {
-/*N*/ for (int i = 0;
-/*N*/ i <= n;
-/*N*/ i ++)
-/*N*/ {
-/*N*/ p1.Y () = long(p1.Y () + b [i] * pKnownPoints [i].Y ());
-/*N*/ p2.Y () = long(p2.Y () + b [n - i] * pKnownPoints [i].Y ());
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Berechne B-Spline
-|*
-\************************************************************************/
-
-/*N*/ void approxMesh (int splineSize,
-/*N*/ XPolygon &pSplines,
-/*N*/ XPolygon &pKnownPoints,
-/*N*/ int n,
-/*N*/ int k)
-/*N*/ {
-/*N*/ int pCount = splineSize * n;
-/*N*/ double *b = new double [n + k + 1];
-/*N*/ double *t = new double [n + k + 2];
-/*N*/ double xStep = ((double) n - (double) k + 2.0) / (double) pCount;
-/*N*/ double dStep = ((double) pKnownPoints [n].X () - (double) pKnownPoints [0].X ()) / (double) pCount;
-/*N*/ double dXUp = pKnownPoints [0].X ();
-/*N*/ double dXDown = pKnownPoints [n].X ();
-/*N*/ double x = 0.0;
-/*N*/ int nEnd = pCount / 2 + 1;
-/*N*/
-/*N*/ TVector (n, k, t);
-/*N*/
-/*N*/ for (int j = 0;
-/*N*/ j <= nEnd;
-/*N*/ j ++)
-/*N*/ {
-/*N*/ Point aPoint1;
-/*N*/ Point aPoint2;
-/*N*/
-/*N*/ BVector (x, n, k, b, t);
-/*N*/ BSPoint (n, aPoint1, aPoint2, pKnownPoints, b);
-/*N*/
-/*N*/ pSplines [j].X () = (int)(floor(dXUp)+0.5);
-/*N*/ pSplines [j].Y () = aPoint1.Y ();
-/*N*/ pSplines [pCount - j].X () = (int)(floor(dXDown)+0.5);
-/*N*/ pSplines [pCount - j].Y () = aPoint2.Y ();
-/*N*/
-/*N*/ x += xStep;
-/*N*/ dXUp += dStep;
-/*N*/ dXDown -= dStep;
-/*N*/ }
-/*N*/
-/*N*/ delete[] t;
-/*N*/ delete[] b;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Passe untere Grenze an den Wertebereich an
-|*
-\************************************************************************/
-
-/*N*/ double SizeBounds (double dMinValue,
-/*N*/ double dMaxValue,
-/*N*/ BOOL bIsMax)
-/*N*/ {
-/*N*/ if( (dMinValue == DBL_MIN) ||
-/*N*/ (dMaxValue == DBL_MIN) ||
-/*N*/ (dMinValue == dMaxValue) ||
-/*N*/ (dMinValue == 0.0) )
-/*?*/ return 0.0;
-/*N*/
-/*N*/ return bIsMax? dMaxValue : dMinValue;
-/*N*/
-/*N*/ // BM: I removed some very strange code here. It
-/*N*/ // calculated a kind of log10 but the charts didn't
-/*N*/ // really use the value calculated.
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Erhoehe einen Wert mit Log.
-|*
-\************************************************************************/
-
-/*N*/ void IncValue(double &rValue,
-/*N*/ double fInc,
-/*N*/ BOOL bLogarithm)
-/*N*/ {
-/*N*/ if (bLogarithm)
-/*?*/ rValue *= fInc;
-/*N*/ else
-/*N*/ rValue += fInc;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Vermindere einen Wert mit Log.
-|*
-\************************************************************************/
-
-/*N*/ void DecValue(double &rValue,
-/*N*/ double fInc,
-/*N*/ BOOL bLogarithm)
-/*N*/ {
-/*N*/ if (bLogarithm) rValue /= fInc;
-/*N*/ else rValue -= fInc;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konvertiert in echte RGB-Farben.
-|*
-\************************************************************************/
-
-/*N*/ Color RGBColor(ColorData nColorName)
-/*N*/ {
-/*N*/ Color aColor(nColorName);
-/*N*/
-/*N*/ return Color(aColor.GetRed(), aColor.GetGreen(), aColor.GetBlue());
-/*N*/ }
-
-/*************************************************************************
-|*
-|* "Stapelt" den angegebenen String.
-|*
-\************************************************************************/
-
-/*N*/ String StackString( const String& aString )
-/*N*/ {
-/*N*/ String aStackStr;
-/*N*/ xub_StrLen nLen = aString.Len();
-/*N*/
-/*N*/ if( nLen )
-/*N*/ {
-/*N*/ // '\n' is interpreted as newline by the outliner
-/*N*/ aStackStr.Fill( nLen * 2 - 1, (sal_Unicode)('\n') );
-/*N*/
-/*N*/ for( xub_StrLen posSrc=0, posDest=0;
-/*N*/ posSrc < nLen;
-/*N*/ posSrc++, posDest += 2 )
-/*N*/ aStackStr.SetChar( posDest, aString.GetChar( posSrc ));
-/*N*/ }
-/*N*/
-/*N*/ return aStackStr;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Position des ungedrehten Rechtecks entsprechend der Ausrichtung anpassen
-|*
-\************************************************************************/
-
-/*N*/ void AdjustRect(Rectangle &rRect,
-/*N*/ ChartAdjust eAdjust)
-/*N*/ {
-/*N*/ Point aPos = rRect.TopLeft();
-/*N*/ Size aSize = rRect.GetSize();
-/*N*/
-/*N*/ switch (eAdjust)
-/*N*/ {
-/*N*/ case CHADJUST_TOP_LEFT:
-/*N*/
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_TOP_CENTER:
-/*N*/
-/*N*/ aPos.X() -= aSize.Width() / 2;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_TOP_RIGHT:
-/*N*/
-/*N*/ aPos.X() -= aSize.Width();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_LEFT:
-/*N*/
-/*N*/ aPos.Y() -= aSize.Height() / 2;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_CENTER:
-/*N*/
-/*?*/ aPos.X() -= aSize.Width() / 2;
-/*?*/ aPos.Y() -= aSize.Height() / 2;
-/*?*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_RIGHT:
-/*N*/
-/*N*/ aPos.X() -= aSize.Width();
-/*N*/ aPos.Y() -= aSize.Height() / 2;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_LEFT:
-/*N*/
-/*?*/ aPos.Y() -= aSize.Height();
-/*?*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_CENTER:
-/*N*/
-/*N*/ aPos.X() -= aSize.Width() / 2;
-/*N*/ aPos.Y() -= aSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_RIGHT:
-/*?*/ aPos.X() -= aSize.Width();
-/*?*/ aPos.Y() -= aSize.Height();
-/*N*/
-/*N*/ }
-/*N*/
-/*N*/ rRect.SetPos(aPos);
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Position des gedrehten Rechtecks entsprechend der Ausrichtung anpassen
-|*
-\************************************************************************/
-
-/*N*/ Size AdjustRotatedRect(const Rectangle &rOldRect,
-/*N*/ ChartAdjust eAdjust,
-/*N*/ const Rectangle &rNewRect)
-/*N*/ {
-/*N*/
-/*N*/ Size aMovement;
-/*N*/ Point aOld;
-/*N*/ Point aNew;
-/*N*/ Point aDifference;
-/*N*/
-/*N*/ switch (eAdjust)
-/*N*/ {
-/*?*/ case CHADJUST_TOP_LEFT:
-/*?*/
-/*?*/ aOld = rOldRect.TopLeft();
-/*?*/ aNew = rNewRect.TopLeft();
-/*?*/ break;
-/*?*/
-/*?*/ case CHADJUST_TOP_CENTER:
-/*?*/
-/*?*/ aOld = rOldRect.TopCenter();
-/*?*/ aNew = rNewRect.TopCenter();
-/*?*/ break;
-/*?*/
-/*?*/ case CHADJUST_TOP_RIGHT:
-/*?*/
-/*?*/ aOld = rOldRect.TopRight();
-/*?*/ aNew = rNewRect.TopRight();
-/*?*/ break;
-/*?*/
-/*?*/ case CHADJUST_CENTER_LEFT:
-/*?*/
-/*N*/ aOld = rOldRect.LeftCenter();
-/*N*/ aNew = rNewRect.LeftCenter();
-/*N*/ break;
-/*?*/
-/*?*/ case CHADJUST_CENTER_CENTER:
-/*?*/
-/*?*/ aOld = rOldRect.Center();
-/*?*/ aNew = rNewRect.Center();
-/*?*/ break;
-/*?*/
-/*?*/ case CHADJUST_CENTER_RIGHT:
-/*?*/
-/*?*/ aOld = rOldRect.RightCenter();
-/*?*/ aNew = rNewRect.RightCenter();
-/*?*/ break;
-/*?*/
-/*?*/ case CHADJUST_BOTTOM_LEFT:
-/*?*/
-/*?*/ aOld = rOldRect.BottomLeft();
-/*?*/ aNew = rNewRect.BottomLeft();
-/*?*/ break;
-/*?*/
-/*?*/ case CHADJUST_BOTTOM_CENTER:
-/*?*/
-/*?*/ aOld = rOldRect.BottomCenter();
-/*?*/ aNew = rNewRect.BottomCenter();
-/*?*/ break;
-/*?*/
-/*?*/ case CHADJUST_BOTTOM_RIGHT:
-/*?*/
-/*?*/ aOld = rOldRect.BottomRight();
-/*?*/ aNew = rNewRect.BottomRight();
-/*?*/ break;
-/*N*/ }
-/*N*/
-/*N*/ aDifference = ( aOld - aNew);
-/*N*/ aMovement = Size(aDifference.X(),aDifference.Y());
-/*N*/
-/*N*/ return aMovement;
-/*N*/ }
-//Umrechnung Textgröße in Größe des BoundRects rotierter Texte
-/*N*/ Size GetRotatedTextSize(const Size& rSize,const long nDegrees)
-/*N*/ {
-/*N*/ if(nDegrees)
-/*N*/ {
-/*?*/ double fDeg,fSin,fCos;
-/*?*/ fDeg=CDEG2RAD(nDegrees);
-/*?*/ fSin=fabs(sin(fDeg));
-/*?*/ fCos=fabs(cos(fDeg));
-/*?*/ Size aRetSize(
-/*?*/ (long)( (double)rSize.Width()*fCos + (double)rSize.Height()*fSin ),
-/*?*/ (long)( (double)rSize.Width()*fSin + (double)rSize.Height()*fCos )
-/*?*/ );
-/*?*/ return aRetSize;
-/*N*/ }
-/*N*/ Size aRetSize(rSize);
-/*N*/ return aRetSize;
-/*N*/ }
-/*************************************************************************
-|*
-|* die Rotation des Textes in Grad zurueckgeben, falls kein DEGREE-item
-|* vorhanden, (z.B. 4.0-Chart) so wird das Item ergaenzt
-|*
-\************************************************************************/
-/*N*/ long GetTextRotation(SfxItemSet &rAttr) //Wrapper, falls eOrient noch nicht ermittelt
-/*N*/ {
-/*N*/ SvxChartTextOrient eOrient
-/*N*/ = ((const SvxChartTextOrientItem&)rAttr.Get(SCHATTR_TEXT_ORIENT)).GetValue();
-/*N*/ return GetTextRotation(rAttr,eOrient);
-/*N*/ }
-
-/*N*/ long GetTextRotation(SfxItemSet &rAttr,SvxChartTextOrient eOrient)
-/*N*/ {
-/*N*/
-/*N*/ const SfxPoolItem* pPoolItem = NULL;
-/*N*/ long nDegrees = 0;
-/*N*/
-/*N*/ // the attribute is set: use it
-/*N*/ if( rAttr.GetItemState( SCHATTR_TEXT_DEGREES, TRUE, &pPoolItem ) == SFX_ITEM_SET )
-/*N*/ {
-/*?*/ nDegrees = ((const SfxInt32Item*)pPoolItem)->GetValue();
-/*?*/ return nDegrees;
-/*N*/ }
-/*N*/
-/*N*/ // otherwise use orientation to set default rotation
-/*N*/ switch( eOrient )
-/*N*/ {
-/*N*/ case CHTXTORIENT_BOTTOMTOP:
-/*N*/ nDegrees = 9000; // 90 deg
-/*N*/ break;
-/*N*/
-/*N*/ case CHTXTORIENT_TOPBOTTOM:
-/*?*/ nDegrees = 27000; // 270 deg
-/*?*/ break;
-/*N*/
-/*N*/ case CHTXTORIENT_STANDARD:
-/*N*/ case CHTXTORIENT_STACKED:
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ return nDegrees;
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Ausrichtung entsprechend der Orientierung anpassen
-|*
-\************************************************************************/
-
-/*N*/ void SetAdjust(ChartAdjust &rAdjust,
-/*N*/ SvxChartTextOrient eOrient)
-/*N*/ {
-/*N*/ switch (eOrient)
-/*N*/ {
-/*N*/ case CHTXTORIENT_BOTTOMTOP:
-/*N*/ switch (rAdjust)
-/*N*/ {
-/*N*/ case CHADJUST_TOP_LEFT:
-/*N*/ rAdjust = CHADJUST_TOP_RIGHT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_TOP_CENTER:
-/*N*/ rAdjust = CHADJUST_CENTER_RIGHT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_TOP_RIGHT:
-/*N*/ rAdjust = CHADJUST_BOTTOM_RIGHT;
-/*N*/
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_LEFT:
-/*N*/ rAdjust = CHADJUST_TOP_CENTER;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_RIGHT:
-/*N*/ rAdjust = CHADJUST_BOTTOM_CENTER;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_LEFT:
-/*N*/ rAdjust = CHADJUST_TOP_LEFT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_CENTER:
-/*N*/ rAdjust = CHADJUST_CENTER_LEFT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_RIGHT:
-/*N*/ rAdjust = CHADJUST_BOTTOM_LEFT;
-/*N*/ break;
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case CHTXTORIENT_TOPBOTTOM:
-/*N*/ switch (rAdjust)
-/*N*/ {
-/*N*/ case CHADJUST_TOP_LEFT:
-/*N*/ rAdjust = CHADJUST_BOTTOM_LEFT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_TOP_CENTER:
-/*N*/ rAdjust = CHADJUST_CENTER_LEFT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_TOP_RIGHT:
-/*N*/ rAdjust = CHADJUST_TOP_LEFT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_LEFT:
-/*N*/ rAdjust = CHADJUST_BOTTOM_CENTER;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_RIGHT:
-/*N*/ rAdjust = CHADJUST_TOP_CENTER;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_LEFT:
-/*N*/ rAdjust = CHADJUST_BOTTOM_RIGHT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_CENTER:
-/*N*/ rAdjust = CHADJUST_CENTER_RIGHT;
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_RIGHT:
-/*N*/ rAdjust = CHADJUST_TOP_RIGHT;
-/*N*/ break;
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ break;
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Textobjekt positionieren
-|*
-\************************************************************************/
-/*N*/ void SetTextPos(SdrTextObj &rTextObj,
-/*N*/ const Point &rPos,SfxItemSet* pAttr)
-/*N*/ {
-/*N*/ SchObjectAdjust *pObjAdjust = GetObjectAdjust(rTextObj);
-/*N*/ ChartAdjust eAdjust = pObjAdjust->GetAdjust();
-/*N*/ double fVal;
-/*N*/ SvxChartTextOrient eOrient = pObjAdjust->GetOrient();
-/*N*/
-/*N*/ switch (eOrient)
-/*N*/ {
-/*N*/ case CHTXTORIENT_BOTTOMTOP:
-/*N*/ case CHTXTORIENT_TOPBOTTOM:
-/*N*/ {
-/*N*/ long nAng = 36000 - rTextObj.GetRotateAngle();
-/*N*/ fVal = nAng * nPi180;
-/*N*/ rTextObj.NbcRotate(rPos, nAng, sin(fVal), cos(fVal));
-/*N*/ break;
-/*N*/ }
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ Rectangle aRect = rTextObj.GetLogicRect();
-/*N*/ aRect.SetPos(rPos);
-/*N*/ AdjustRect(aRect, eAdjust);
-/*N*/ rTextObj.NbcSetLogicRect(aRect);
-/*N*/
-/*N*/ switch (eOrient)
-/*N*/ {
-/*N*/ case CHTXTORIENT_BOTTOMTOP:
-/*N*/ case CHTXTORIENT_TOPBOTTOM:
-/*N*/ {
-/*N*/ long nDegrees = GetTextRotation(*pAttr,eOrient);
-/*N*/ Rectangle aOldBoundRect=rTextObj.GetBoundRect();
-/*N*/ fVal = nDegrees * nPi180;
-/*N*/ rTextObj.NbcRotate(rPos, nDegrees, sin(fVal), cos(fVal));
-/*N*/ Rectangle aNewBoundRect=rTextObj.GetBoundRect();
-/*N*/ rTextObj.NbcMove( AdjustRotatedRect(aOldBoundRect, eAdjust, aNewBoundRect));
-/*N*/ }
-/*N*/ default:
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Textobjekt-Groesse entsprechend der Ausrichtung anpassen
-|*
-\************************************************************************/
-
-/*N*/ void AdjustTextSize(SdrTextObj &rTextObj,
-/*N*/ const Size &rTextSize)
-/*N*/ {
-/*N*/ Rectangle aRect = rTextObj.GetLogicRect();
-/*N*/
-/*N*/ if (aRect.GetSize() != rTextSize)
-/*N*/ {
-/*N*/ SchObjectAdjust *pObjAdjust = GetObjectAdjust(rTextObj);
-/*N*/ ChartAdjust eAdjust = pObjAdjust->GetAdjust();
-/*N*/ SvxChartTextOrient eOrient = pObjAdjust->GetOrient();
-/*N*/
-/*N*/ SetAdjust(eAdjust, eOrient);
-/*N*/
-/*N*/ Point aOldPos = aRect.TopLeft();
-/*N*/
-/*N*/ switch (eAdjust)
-/*N*/ {
-/*N*/ case CHADJUST_TOP_CENTER:
-/*N*/ aRect.Left() = aRect.Left() + aRect.GetWidth() / 2 - rTextSize.Width() / 2;
-/*N*/ aRect.Right() = aRect.Left() + rTextSize.Width();
-/*N*/ aRect.Bottom() = aRect.Top() + rTextSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_TOP_RIGHT:
-/*N*/ aRect.Left() = aRect.Right() - rTextSize.Width();
-/*N*/ aRect.Bottom() = aRect.Top() + rTextSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_LEFT:
-/*N*/ aRect.Right() = aRect.Left() + rTextSize.Width();
-/*N*/ aRect.Top() = aRect.Top() + aRect.GetHeight() / 2 - rTextSize.Height() / 2;
-/*N*/ aRect.Bottom() = aRect.Top() + rTextSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_CENTER:
-/*N*/ aRect.Left() = aRect.Left() + aRect.GetWidth() / 2 - rTextSize.Width() / 2;
-/*N*/ aRect.Right() = aRect.Left() + rTextSize.Width();
-/*N*/ aRect.Top() = aRect.Top() + aRect.GetHeight() / 2 - rTextSize.Height() / 2;
-/*N*/ aRect.Bottom() = aRect.Top() + rTextSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_CENTER_RIGHT:
-/*N*/ aRect.Left() = aRect.Right() - rTextSize.Width();
-/*N*/ aRect.Top() = aRect.Top() + aRect.GetHeight() / 2 - rTextSize.Height() / 2;
-/*N*/ aRect.Bottom() = aRect.Top() + rTextSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_LEFT:
-/*N*/ aRect.Right() = aRect.Left() + rTextSize.Width();
-/*N*/ aRect.Top() = aRect.Bottom() - rTextSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_CENTER:
-/*N*/ aRect.Left() = aRect.Left() + aRect.GetWidth() / 2 - rTextSize.Width() / 2;
-/*N*/ aRect.Right() = aRect.Left() + rTextSize.Width();
-/*N*/ aRect.Top() = aRect.Bottom() - rTextSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ case CHADJUST_BOTTOM_RIGHT:
-/*N*/ aRect.Left() = aRect.Right() - rTextSize.Width();
-/*N*/ aRect.Top() = aRect.Bottom() - rTextSize.Height();
-/*N*/ break;
-/*N*/
-/*N*/ default:
-/*N*/ aRect.Right() = aRect.Left() + rTextSize.Width();
-/*N*/ aRect.Bottom() = aRect.Top() + rTextSize.Height();
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ Point aNewPos = aRect.TopLeft();
-/*N*/
-/*N*/ if (aNewPos != aOldPos)
-/*N*/ {
-/*N*/ long nArc = rTextObj.GetRotateAngle();
-/*N*/
-/*N*/ if (nArc)
-/*N*/ {
-/*N*/ double fVal = nArc * nPi180;
-/*N*/ RotatePoint(aNewPos, aOldPos, sin(fVal), cos(fVal));
-/*N*/ aRect.SetPos(aNewPos);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ rTextObj.SetLogicRect(aRect);
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Ausgabegroesse ermitteln
-|*
-\************************************************************************/
-
-/*N*/ Size GetOutputSize(SdrTextObj& rTextObj)
-/*N*/ {
-/*N*/ return (rTextObj.GetBoundRect().GetSize());
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Erstelle eine Gruppe und die Sublist fuer ein Chart
-|*
-\************************************************************************/
-
-/*N*/ void CreateChartGroup( SchObjGroup* &pGroup,
-/*N*/ SdrObjList* &pList )
-/*N*/ {
-/*N*/ pGroup = new SchObjGroup;
-/*N*/ pList = pGroup->GetSubList();
-/*N*/ pGroup->InsertUserData( new SchObjectId( CHOBJID_DIAGRAM ));
-/*N*/ }
-
-
-
-/*************************************************************************
-|*
-|* Beseitige alle Statistikattrs
-|*
-\************************************************************************/
-
-
-/*N*/ const long nOffX = SCHATTR_AXIS_AUTO_MIN - SCHATTR_X_AXIS_AUTO_MIN;
-/*N*/ const long nOffY = SCHATTR_AXIS_AUTO_MIN - SCHATTR_Y_AXIS_AUTO_MIN;
-/*N*/ const long nOffZ = SCHATTR_AXIS_AUTO_MIN - SCHATTR_Z_AXIS_AUTO_MIN;
-
-//alte in neue Achsenattr konvertieren
-/*N*/ void AxisAttrOld2New(SfxItemSet &rDestSet,BOOL bClear,long nId)
-/*N*/ {
-/*N*/
-/*N*/ double f;
-/*N*/ BOOL b;
-/*N*/ SfxItemSet aSet(rDestSet); //Kopie
-/*N*/
-/*N*/ SfxWhichIter aIter (aSet);
-/*N*/ USHORT nWhich = aIter.FirstWhich ();
-/*N*/
-/*N*/ while (nWhich)
-/*N*/ {
-/*N*/ switch(nWhich)
-/*N*/ {
-/*N*/ case SCHATTR_X_AXIS_AUTO_MIN:
-/*N*/ case SCHATTR_X_AXIS_AUTO_MAX:
-/*N*/ case SCHATTR_X_AXIS_AUTO_STEP_MAIN:
-/*N*/ case SCHATTR_X_AXIS_AUTO_STEP_HELP:
-/*N*/ case SCHATTR_X_AXIS_LOGARITHM:
-/*N*/ case SCHATTR_X_AXIS_AUTO_ORIGIN:
-/*N*/
-/*N*/ if(nId==CHOBJID_DIAGRAM_X_AXIS)
-/*N*/ {
-/*N*/ b=((const SfxBoolItem&)rDestSet.Get(nWhich)).GetValue();
-/*N*/ rDestSet.Put(SfxBoolItem(nWhich+USHORT(nOffX),b));
-/*N*/ if(bClear)
-/*N*/ rDestSet.ClearItem(nWhich);
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case SCHATTR_X_AXIS_MIN:
-/*N*/ case SCHATTR_X_AXIS_MAX:
-/*N*/ case SCHATTR_X_AXIS_STEP_MAIN:
-/*N*/ case SCHATTR_X_AXIS_STEP_HELP:
-/*N*/ case SCHATTR_X_AXIS_ORIGIN:
-/*N*/
-/*N*/ if(nId==CHOBJID_DIAGRAM_X_AXIS)
-/*N*/ {
-/*N*/ f=((const SvxDoubleItem&)rDestSet.Get(nWhich)).GetValue();
-/*N*/ rDestSet.Put(SvxDoubleItem(f,nWhich+USHORT(nOffX)));
-/*N*/ if(bClear)
-/*N*/ rDestSet.ClearItem(nWhich);
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case SCHATTR_Y_AXIS_AUTO_MIN:
-/*N*/ case SCHATTR_Y_AXIS_AUTO_MAX:
-/*N*/ case SCHATTR_Y_AXIS_AUTO_STEP_MAIN:
-/*N*/ case SCHATTR_Y_AXIS_AUTO_STEP_HELP:
-/*N*/ case SCHATTR_Y_AXIS_LOGARITHM:
-/*N*/ case SCHATTR_Y_AXIS_AUTO_ORIGIN:
-/*N*/
-/*N*/ if(nId==CHOBJID_DIAGRAM_Y_AXIS)
-/*N*/ {
-/*N*/ b=((const SfxBoolItem&)rDestSet.Get(nWhich)).GetValue();
-/*N*/ rDestSet.Put(SfxBoolItem(nWhich+USHORT(nOffY),b));
-/*N*/ if(bClear)
-/*N*/ rDestSet.ClearItem(nWhich);
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case SCHATTR_Y_AXIS_MIN:
-/*N*/ case SCHATTR_Y_AXIS_MAX:
-/*N*/ case SCHATTR_Y_AXIS_STEP_MAIN:
-/*N*/ case SCHATTR_Y_AXIS_STEP_HELP:
-/*N*/ case SCHATTR_Y_AXIS_ORIGIN:
-/*N*/
-/*N*/ if(nId==CHOBJID_DIAGRAM_Y_AXIS)
-/*N*/ {
-/*N*/ f=((const SvxDoubleItem&)rDestSet.Get(nWhich)).GetValue();
-/*N*/ rDestSet.Put(SvxDoubleItem(f,nWhich+USHORT(nOffY)));
-/*N*/ if(bClear)
-/*N*/ rDestSet.ClearItem(nWhich);
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case SCHATTR_Z_AXIS_AUTO_MIN:
-/*N*/ case SCHATTR_Z_AXIS_AUTO_MAX:
-/*N*/ case SCHATTR_Z_AXIS_AUTO_STEP_MAIN:
-/*N*/ case SCHATTR_Z_AXIS_AUTO_STEP_HELP:
-/*N*/ case SCHATTR_Z_AXIS_LOGARITHM:
-/*N*/ case SCHATTR_Z_AXIS_AUTO_ORIGIN:
-/*N*/
-/*N*/ if(nId==CHOBJID_DIAGRAM_Z_AXIS)
-/*N*/ {
-/*N*/ b=((const SfxBoolItem&)rDestSet.Get(nWhich)).GetValue();
-/*N*/ rDestSet.Put(SfxBoolItem(nWhich+USHORT(nOffZ),b));
-/*N*/ if(bClear)
-/*N*/ rDestSet.ClearItem(nWhich);
-/*N*/ }
-/*N*/ break;
-/*N*/
-/*N*/ case SCHATTR_Z_AXIS_MIN:
-/*N*/ case SCHATTR_Z_AXIS_MAX:
-/*N*/ case SCHATTR_Z_AXIS_STEP_MAIN:
-/*N*/ case SCHATTR_Z_AXIS_STEP_HELP:
-/*N*/ case SCHATTR_Z_AXIS_ORIGIN:
-/*N*/
-/*N*/ if(nId==CHOBJID_DIAGRAM_Z_AXIS)
-/*N*/ {
-/*N*/ f=((const SvxDoubleItem&)rDestSet.Get(nWhich)).GetValue();
-/*N*/ rDestSet.Put(SvxDoubleItem(f,nWhich+USHORT(nOffZ)));
-/*N*/ if(bClear)
-/*N*/ rDestSet.ClearItem(nWhich);
-/*N*/ }
-/*N*/ break;
-/*N*/ }
-/*N*/ nWhich = aIter.NextWhich();
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Pruefe zwei ItemSets und vernichte paarweise verschiedene Items
-|*
-\************************************************************************/
-
-
-/*N*/ void IntersectSets( const SfxItemSet & rSource, SfxItemSet & rDest )
-/*N*/ {
-/*N*/ SfxWhichIter aIter( rSource );
-/*N*/ SfxItemState aSrcState;
-/*N*/
-/*N*/ for( USHORT nWhich = aIter.FirstWhich(); nWhich != 0; nWhich = aIter.NextWhich() )
-/*N*/ {
-/*N*/ aSrcState = rSource.GetItemState( nWhich );
-/*N*/
-/*N*/ if( // one item is (may be) set but the other one isn't
-/*N*/ ( aSrcState != rDest.GetItemState( nWhich ) )
-/*N*/ ||
-/*N*/ // both items are set, but their content differs
-/*N*/ // (if aSrcState is set it follows that also aDestState is set)
-/*N*/ ( ( aSrcState == SFX_ITEM_SET )
-/*N*/ &&
-/*N*/ ( rSource.Get( nWhich ) != rDest.Get( nWhich ) ) ) )
-/*N*/ {
-/*N*/ rDest.InvalidateItem( nWhich );
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Setze je nach Ausrichtungsinformation den Punkt um den ausgerichtet wird
-|*
-|* Das wird hauptsaechlich von chtmode4 aufgerufen um zu wissen welche
-|* Position des Textes man sich merken muss, um dne wird dann mit moeglicherweise
-|* veraenderter Schriftgroesse ausgegeben.
-|*
-\************************************************************************/
-
-/*N*/ Point SetPointOfRectangle (const Rectangle& rRect, ChartAdjust eAdjust)
-/*N*/ {
-/*N*/ switch (eAdjust)
-/*N*/ {
-/*?*/ case CHADJUST_TOP_LEFT:
-/*?*/ return (rRect.TopLeft());
-/*?*/ case CHADJUST_TOP_RIGHT:
-/*?*/ return (rRect.TopRight());
-/*N*/ case CHADJUST_TOP_CENTER:
-/*N*/ return (rRect.TopCenter());
-/*N*/ case CHADJUST_CENTER_LEFT:
-/*N*/ return (rRect.LeftCenter());
-/*?*/ case CHADJUST_CENTER_RIGHT:
-/*?*/ return (rRect.RightCenter());
-/*?*/ case CHADJUST_CENTER_CENTER:
-/*?*/ return (rRect.Center());
-/*?*/ case CHADJUST_BOTTOM_LEFT:
-/*?*/ return (rRect.BottomLeft());
-/*?*/ case CHADJUST_BOTTOM_CENTER:
-/*N*/ return (rRect.BottomCenter());
-/*?*/ case CHADJUST_BOTTOM_RIGHT:
-/*?*/ return (rRect.BottomRight());
-/*?*/ default:
-/*?*/ ;
-/*?*/ }
-/*?*/ Point aPoint(-1,-1);
-/*?*/ return aPoint; // Das ist das Default für die Plazierungsinformation von Chart-Texten
-/*N*/ }
-
-//!!! Es werden NICHT ALLE Attr ausgewertet, nur Größen-relevante!
-/*N*/ void ItemsToFont(const SfxItemSet& rSet,Font& rFont)
-/*N*/ {
-/*N*/ const SfxPoolItem* pItem = NULL;
-/*N*/ if( rSet.GetItemState( EE_CHAR_FONTINFO, TRUE, &pItem ))
-/*N*/ {
-/*N*/ SvxFontItem* pFontItem = (SvxFontItem*)pItem;
-/*N*/
-/*N*/ rFont.SetStyleName(pFontItem->GetStyleName() );
-/*N*/ rFont.SetName( pFontItem->GetFamilyName());
-/*N*/ rFont.SetCharSet( pFontItem->GetCharSet());
-/*N*/ rFont.SetFamily( pFontItem->GetFamily());
-/*N*/ rFont.SetPitch( pFontItem->GetPitch());
-/*N*/ }
-/*N*/
-/*N*/ // Scale the font's horizontal size like the vertical size. Assume that the original size is
-/*N*/ // 7pt. The scaling is done here because the item EE_CHAR_FONTWIDTH holds a horizontal scaling
-/*N*/ // factor. The horizontal size can therefore not be stored there. But as the font is scaled
-/*N*/ // uniformly, the horizontal size depends uniquely on the vertical size.
-/*N*/ long nFontHeight = static_cast<const SvxFontHeightItem&>(rSet.Get(EE_CHAR_FONTHEIGHT)).GetHeight();
-/*N*/ long nFontWidth = 0; // #89001# use default font width
-/*N*/ rFont.SetSize (Size (nFontWidth, nFontHeight));
-/*N*/
-/*N*/ rFont.SetWeight( ((const SvxWeightItem&)rSet.Get( EE_CHAR_WEIGHT )).GetWeight() );
-/*N*/ rFont.SetUnderline( ((const SvxUnderlineItem&)rSet.Get( EE_CHAR_UNDERLINE )).GetUnderline() );
-/*N*/ rFont.SetStrikeout( ((const SvxCrossedOutItem&)rSet.Get( EE_CHAR_STRIKEOUT )).GetStrikeout() );
-/*N*/ rFont.SetItalic( ((const SvxPostureItem&)rSet.Get( EE_CHAR_ITALIC )).GetPosture() );
-/*N*/ rFont.SetOutline( ((const SvxContourItem&)rSet.Get( EE_CHAR_OUTLINE )).GetValue() );
-/*N*/ rFont.SetShadow( ((const SvxShadowedItem&)rSet.Get( EE_CHAR_SHADOW )).GetValue() );
-/*N*/ rFont.SetKerning( ((const SvxAutoKernItem&)rSet.Get( EE_CHAR_PAIRKERNING )).GetValue() );
-/*N*/ rFont.SetWordLineMode( ((const SvxWordLineModeItem&)rSet.Get( EE_CHAR_WLM )).GetValue() );
-/*N*/ }
-
-
-} //namespace binfilter
-#ifdef DBG_UTIL
-
-// ==================== DEBUG SfxItemSets ====================
-
-#include <bf_svtools/itempool.hxx>
-#include <bf_svtools/itemiter.hxx>
-
-#include <cstdio> // for snprintf
-#include <cstring> // for strncat
-namespace binfilter {
-/*N*/ void Dbg_DebugItems( SfxItemSet& rSet, ChartModel* pModel )
-/*N*/ {
-/*N*/ SfxItemPool *pItemPool=&( pModel->GetItemPool() );
-/*N*/
-/*N*/ char pBuf[ 512 ] = "";
-/*N*/ char pSmallBuf[ 128 ] = "";
-/*N*/
-/*N*/ const USHORT* pRanges = rSet.GetRanges();
-/*N*/ for( long n = 0; pRanges[ n ] && n<32; n+=2 )
-/*N*/ {
-/*N*/ snprintf( pSmallBuf, sizeof(pSmallBuf), "[%"SAL_PRIdINT32"; %"SAL_PRIdINT32"] ", (sal_uInt32)pRanges[ n ], (sal_uInt32)pRanges[ n+1 ] );
-/*N*/ strncat( pBuf, pSmallBuf, sizeof(pBuf) - strlen(pBuf) - 1 );
-/*N*/ }
-/*N*/
-/*N*/ OSL_TRACE( "SCH:ItemDBG - Ranges: %s", pBuf );
-/*N*/
-/*N*/ pBuf[ 0 ] = '\0';
-/*N*/
-/*N*/ long nInv = 0, nCnt = 0, nCnv = 0, nCns = 0;
-/*N*/ SfxItemIter aIterator( rSet );
-/*N*/
-/*N*/ const SfxPoolItem* pItem;
-/*N*/ USHORT nWhich, nNewWhich;
-/*N*/
-/*N*/ pItem = aIterator.FirstItem();
-/*N*/ while( pItem )
-/*N*/ {
-/*N*/ if( ! IsInvalidItem( pItem ) )
-/*N*/ {
-/*N*/ nWhich= pItem->Which();
-/*N*/
-/*N*/ nCnt++;
-/*N*/ if( nWhich < SCHATTR_END )
-/*N*/ nCns++;
-/*N*/ if( nCnt < 100 )
-/*N*/ {
-/*N*/ snprintf( pSmallBuf, sizeof(pSmallBuf), "%"SAL_PRIdINT32", ", (sal_uInt32) nWhich );
-/*N*/ strncat( pBuf, pSmallBuf, sizeof(pBuf) - strlen(pBuf) - 1 );
-/*N*/ }
-/*N*/
-/*N*/ nNewWhich = pItemPool->GetWhich( nWhich );
-/*N*/ if( nWhich != nNewWhich )
-/*?*/ nCnv++;
-/*N*/ }
-/*N*/ else
-/*?*/ nInv++;
-/*N*/
-/*N*/ pItem = aIterator.NextItem();
-/*N*/ }
-/*N*/
-/*N*/ OSL_TRACE( "SCH:ItemDBG - List: %s", pBuf );
-/*N*/
-/*N*/ long nColor = -1;
-/*N*/ long nMat = -1;
-/*N*/ const SfxPoolItem *pPoolItem;
-/*N*/
-/*N*/ if( SFX_ITEM_SET == rSet.GetItemState(XATTR_FILLCOLOR,TRUE,&pPoolItem ) )
-/*N*/ {
-/*N*/ Color aColor( ( ( const XFillColorItem* ) pPoolItem )->GetValue() );
-/*N*/ nColor=aColor.GetRGBColor();
-/*N*/ }
-/*N*/ if( SFX_ITEM_SET == rSet.GetItemState( SDRATTR_3DOBJ_MAT_COLOR, TRUE, &pPoolItem ) )
-/*N*/ {
-/*N*/ Color aNew( ((const SvxColorItem*) pPoolItem )->GetValue() );
-/*N*/ nMat=aNew.GetRGBColor();
-/*N*/ }
-/*N*/
-/*N*/
-/*N*/ long r=COLORDATA_RED(nColor),g=COLORDATA_GREEN(nColor),b=COLORDATA_BLUE(nColor);
-/*N*/
-/*N*/ OSL_TRACE( "SCH:ItemDBG - Info: this=%lx, #=%ld, WID-able=%ld, invalid=%ld", (long)pModel, nCnt, nCnv, nInv );
-/*N*/ OSL_TRACE( "... Chart=%ld, RGB=(%d, %d, %d), Mat=%ld", nCns, r, g, b, nMat );
-/*N*/ }
-} //namespace binfilter
-#endif
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_itempool.cxx b/binfilter/bf_sch/source/core/sch_itempool.cxx
deleted file mode 100644
index d23dcb87a..000000000
--- a/binfilter/bf_sch/source/core/sch_itempool.cxx
+++ /dev/null
@@ -1,486 +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.
- *
- ************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <bf_sfx2/sfxsids.hrc>
-#include "schattr.hxx"
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTINDICATE SCHATTR_STAT_INDICATE
-#define ITEMID_CHARTKINDERROR SCHATTR_STAT_KIND_ERROR
-#define ITEMID_CHARTREGRESSION SCHATTR_STAT_REGRESSTYPE
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-
-// header for class SvXMLAttrContainerItem
-#include <bf_svx/xmlcnitm.hxx>
-
-#ifndef _SVX_BRSHITEM_HXX //autogen
-#define ITEMID_BRUSH SCHATTR_SYMBOL_BRUSH
-#include <bf_svx/brshitem.hxx>
-#endif
-#ifndef _SVX_SIZEITEM_HXX //autogen
-#define ITEMID_SIZE 0
-#include <bf_svx/sizeitem.hxx>
-#endif
-
-#include "itempool.hxx"
-#include "chaxis.hxx"
-namespace binfilter {
-
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchItemPool::SchItemPool():
-/*N*/ SfxItemPool( String( RTL_CONSTASCII_USTRINGPARAM( "SchItemPool" )), SCHATTR_START, SCHATTR_END, NULL, NULL )
-/*N*/ {
- /**************************************************************************
- * PoolDefaults
- **************************************************************************/
-/*N*/ ppPoolDefaults = new SfxPoolItem*[SCHATTR_END - SCHATTR_START + 1];
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_DATADESCR_DESCR - SCHATTR_START] = new SvxChartDataDescrItem;
-/*N*/ ppPoolDefaults[SCHATTR_DATADESCR_SHOW_SYM - SCHATTR_START] = new SfxBoolItem(SCHATTR_DATADESCR_SHOW_SYM);
-/*N*/ ppPoolDefaults[SCHATTR_LEGEND_POS - SCHATTR_START] = new SvxChartLegendPosItem( CHLEGEND_RIGHT );
-/*N*/ ppPoolDefaults[SCHATTR_TEXT_ORIENT - SCHATTR_START] = new SvxChartTextOrientItem;
-/*N*/ ppPoolDefaults[SCHATTR_TEXT_ORDER - SCHATTR_START] = new SvxChartTextOrderItem;
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_MIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_Y_AXIS_AUTO_MIN);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_MIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Y_AXIS_MIN);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_MAX - SCHATTR_START] = new SfxBoolItem(SCHATTR_Y_AXIS_AUTO_MAX);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_MAX - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Y_AXIS_MAX);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_STEP_MAIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_Y_AXIS_AUTO_STEP_MAIN);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_STEP_MAIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Y_AXIS_STEP_MAIN);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_STEP_HELP - SCHATTR_START] = new SfxBoolItem(SCHATTR_Y_AXIS_AUTO_STEP_HELP);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_STEP_HELP - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Y_AXIS_STEP_HELP);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_LOGARITHM - SCHATTR_START] = new SfxBoolItem(SCHATTR_Y_AXIS_LOGARITHM);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_ORIGIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_Y_AXIS_AUTO_ORIGIN);
-/*N*/ ppPoolDefaults[SCHATTR_Y_AXIS_ORIGIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Y_AXIS_ORIGIN);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_AUTO_MIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_X_AXIS_AUTO_MIN);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_MIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_X_AXIS_MIN);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_AUTO_MAX - SCHATTR_START] = new SfxBoolItem(SCHATTR_X_AXIS_AUTO_MAX);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_MAX - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_X_AXIS_MAX);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_AUTO_STEP_MAIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_X_AXIS_AUTO_STEP_MAIN);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_STEP_MAIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_X_AXIS_STEP_MAIN);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_AUTO_STEP_HELP - SCHATTR_START] = new SfxBoolItem(SCHATTR_X_AXIS_AUTO_STEP_HELP);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_STEP_HELP - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_X_AXIS_STEP_HELP);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_LOGARITHM - SCHATTR_START] = new SfxBoolItem(SCHATTR_X_AXIS_LOGARITHM);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_AUTO_ORIGIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_X_AXIS_AUTO_ORIGIN);
-/*N*/ ppPoolDefaults[SCHATTR_X_AXIS_ORIGIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_X_AXIS_ORIGIN);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_MIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_Z_AXIS_AUTO_MIN);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_MIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Z_AXIS_MIN);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_MAX - SCHATTR_START] = new SfxBoolItem(SCHATTR_Z_AXIS_AUTO_MAX);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_MAX - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Z_AXIS_MAX);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_STEP_MAIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_Z_AXIS_AUTO_STEP_MAIN);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_STEP_MAIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Z_AXIS_STEP_MAIN);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_STEP_HELP - SCHATTR_START] = new SfxBoolItem(SCHATTR_Z_AXIS_AUTO_STEP_HELP);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_STEP_HELP - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Z_AXIS_STEP_HELP);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_LOGARITHM - SCHATTR_START] = new SfxBoolItem(SCHATTR_Z_AXIS_LOGARITHM);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_ORIGIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_Z_AXIS_AUTO_ORIGIN);
-/*N*/ ppPoolDefaults[SCHATTR_Z_AXIS_ORIGIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_Z_AXIS_ORIGIN);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_AXISTYPE - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXISTYPE, CHART_AXIS_X);
-/*N*/ ppPoolDefaults[SCHATTR_DUMMY0 - SCHATTR_START] = new SfxInt32Item(SCHATTR_DUMMY0, 0);
-/*N*/ ppPoolDefaults[SCHATTR_DUMMY1 - SCHATTR_START] = new SfxInt32Item(SCHATTR_DUMMY1, 0);
-/*N*/ ppPoolDefaults[SCHATTR_DUMMY2 - SCHATTR_START] = new SfxInt32Item(SCHATTR_DUMMY2, 0);
-/*N*/ ppPoolDefaults[SCHATTR_DUMMY3 - SCHATTR_START] = new SfxInt32Item(SCHATTR_DUMMY3, 0);
-/*N*/ ppPoolDefaults[SCHATTR_DUMMY_END - SCHATTR_START] = new SfxInt32Item(SCHATTR_DUMMY_END, 0);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_STAT_AVERAGE - SCHATTR_START] = new SfxBoolItem (SCHATTR_STAT_AVERAGE);
-/*N*/ ppPoolDefaults[SCHATTR_STAT_KIND_ERROR - SCHATTR_START] = new SfxInt32Item (SCHATTR_STAT_KIND_ERROR, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STAT_PERCENT - SCHATTR_START] = new SvxDoubleItem (0.0, SCHATTR_STAT_PERCENT);
-/*N*/ ppPoolDefaults[SCHATTR_STAT_BIGERROR - SCHATTR_START] = new SvxDoubleItem (0.0, SCHATTR_STAT_BIGERROR);
-/*N*/ ppPoolDefaults[SCHATTR_STAT_CONSTPLUS - SCHATTR_START] = new SvxDoubleItem (0.0, SCHATTR_STAT_CONSTPLUS);
-/*N*/ ppPoolDefaults[SCHATTR_STAT_CONSTMINUS - SCHATTR_START] = new SvxDoubleItem (0.0, SCHATTR_STAT_CONSTMINUS);
-/*N*/ ppPoolDefaults[SCHATTR_STAT_REGRESSTYPE - SCHATTR_START] = new SfxInt32Item (SCHATTR_STAT_REGRESSTYPE, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STAT_INDICATE - SCHATTR_START] = new SfxInt32Item (SCHATTR_STAT_INDICATE, 0);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_TEXT_DEGREES - SCHATTR_START] = new SfxInt32Item(SCHATTR_TEXT_DEGREES, 0);
-/*N*/ ppPoolDefaults[SCHATTR_TEXT_OVERLAP - SCHATTR_START] = new SfxBoolItem(SCHATTR_TEXT_OVERLAP,FALSE);
-/*N*/ ppPoolDefaults[SCHATTR_TEXT_DUMMY0 - SCHATTR_START] = new SfxInt32Item(SCHATTR_TEXT_DUMMY0, 0);
-/*N*/ ppPoolDefaults[SCHATTR_TEXT_DUMMY1 - SCHATTR_START] = new SfxInt32Item(SCHATTR_TEXT_DUMMY1, 0);
-/*N*/ ppPoolDefaults[SCHATTR_TEXT_DUMMY2 - SCHATTR_START] = new SfxInt32Item(SCHATTR_TEXT_DUMMY2, 0);
-/*N*/ ppPoolDefaults[SCHATTR_TEXT_DUMMY3 - SCHATTR_START] = new SfxInt32Item(SCHATTR_TEXT_DUMMY3, 0);
-/*N*/
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_DEEP - SCHATTR_START] = new SfxBoolItem (SCHATTR_STYLE_DEEP, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_3D - SCHATTR_START] = new SfxBoolItem (SCHATTR_STYLE_3D, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_VERTICAL - SCHATTR_START] = new SfxBoolItem (SCHATTR_STYLE_VERTICAL, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_BASETYPE - SCHATTR_START] = new SfxInt32Item(SCHATTR_STYLE_BASETYPE, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_LINES - SCHATTR_START] = new SfxBoolItem (SCHATTR_STYLE_LINES, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_PERCENT - SCHATTR_START] = new SfxBoolItem (SCHATTR_STYLE_PERCENT, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_STACKED - SCHATTR_START] = new SfxBoolItem (SCHATTR_STYLE_STACKED, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_SPLINES - SCHATTR_START] = new SfxInt32Item (SCHATTR_STYLE_SPLINES, 0); //Bug: war Bool! ->Fileformat testen (betrifft nur 5er)
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_SYMBOL - SCHATTR_START] = new SfxInt32Item (SCHATTR_STYLE_SYMBOL, 0);
-/*N*/ ppPoolDefaults[SCHATTR_STYLE_SHAPE - SCHATTR_START] = new SfxInt32Item (SCHATTR_STYLE_SHAPE, 0);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_AXIS - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXIS,2); //2 = Y-Achse!!!
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_AUTO_MIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_AUTO_MIN);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_MIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_AXIS_MIN);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_AUTO_MAX - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_AUTO_MAX);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_MAX - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_AXIS_MAX);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_AUTO_STEP_MAIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_AUTO_STEP_MAIN);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_STEP_MAIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_AXIS_STEP_MAIN);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_AUTO_STEP_HELP - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_AUTO_STEP_HELP);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_STEP_HELP - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_AXIS_STEP_HELP);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_LOGARITHM - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_LOGARITHM);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_AUTO_ORIGIN - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_AUTO_ORIGIN);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_ORIGIN - SCHATTR_START] = new SvxDoubleItem(0.0, SCHATTR_AXIS_ORIGIN);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_TICKS - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXIS_TICKS,CHAXIS_MARK_OUTER);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_HELPTICKS - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXIS_HELPTICKS,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_NUMFMT - SCHATTR_START] = new SfxUInt32Item(SCHATTR_AXIS_NUMFMT,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_NUMFMTPERCENT - SCHATTR_START] = new SfxUInt32Item(SCHATTR_AXIS_NUMFMTPERCENT,11);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_SHOWAXIS - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_SHOWAXIS,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_SHOWDESCR - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_SHOWDESCR,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_SHOWMAINGRID - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_SHOWMAINGRID,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_SHOWHELPGRID - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_SHOWHELPGRID,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_TOPDOWN - SCHATTR_START] = new SfxBoolItem(SCHATTR_AXIS_TOPDOWN,0);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_DUMMY0 - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXIS_DUMMY0,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_DUMMY1 - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXIS_DUMMY1,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_DUMMY2 - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXIS_DUMMY2,0);
-/*N*/ ppPoolDefaults[SCHATTR_AXIS_DUMMY3 - SCHATTR_START] = new SfxInt32Item(SCHATTR_AXIS_DUMMY3,0);
-/*N*/ ppPoolDefaults[SCHATTR_BAR_OVERLAP - SCHATTR_START] = new SfxInt32Item(SCHATTR_BAR_OVERLAP,0);
-/*N*/ ppPoolDefaults[SCHATTR_BAR_GAPWIDTH - SCHATTR_START] = new SfxInt32Item(SCHATTR_BAR_GAPWIDTH,0);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_SYMBOL_BRUSH - SCHATTR_START] = new SvxBrushItem(SCHATTR_SYMBOL_BRUSH);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_STOCK_VOLUME - SCHATTR_START] = new SfxBoolItem(SCHATTR_STOCK_VOLUME,0);
-/*N*/ ppPoolDefaults[SCHATTR_STOCK_UPDOWN - SCHATTR_START] = new SfxBoolItem(SCHATTR_STOCK_UPDOWN,0);
-/*N*/
-/*N*/ ppPoolDefaults[SCHATTR_SYMBOL_SIZE - SCHATTR_START] = new SvxSizeItem(SCHATTR_SYMBOL_SIZE,Size(0,0));
-/*N*/ ppPoolDefaults[SCHATTR_USER_DEFINED_ATTR - SCHATTR_START] = new SvXMLAttrContainerItem( SCHATTR_USER_DEFINED_ATTR );
-/*N*/
- /**************************************************************************
- * ItemInfos
- **************************************************************************/
-/*N*/ pItemInfos = new SfxItemInfo[SCHATTR_END - SCHATTR_START + 1];
-/*N*/
-/*N*/ USHORT i;
-/*N*/ for( i = SCHATTR_START; i <= SCHATTR_END; i++ )
-/*N*/ {
-/*N*/ pItemInfos[i - SCHATTR_START]._nSID = 0;
-/*N*/ pItemInfos[i - SCHATTR_START]._nFlags = SFX_ITEM_POOLABLE;
-/*N*/ }
-/*N*/
-/*N*/ // non-persistent items
-/*N*/ for( i = SCHATTR_NONPERSISTENT_START; i <= SCHATTR_NONPERSISTENT_END; i++ )
-/*N*/ {
-/*N*/ pItemInfos[ i - SCHATTR_START ]._nFlags = 0;
-/*N*/ }
-/*N*/
-/*N*/ // slot ids differing from which ids
-/*N*/ pItemInfos[SCHATTR_LEGEND_POS - SCHATTR_START]._nSID = CHATTR_LEGEND_POS;
-/*N*/ pItemInfos[SCHATTR_SYMBOL_BRUSH - SCHATTR_START]._nSID = SID_ATTR_BRUSH;
-/*N*/ pItemInfos[SCHATTR_STYLE_SYMBOL - SCHATTR_START]._nSID = SID_ATTR_SYMBOLTYPE;
-/*N*/ pItemInfos[SCHATTR_SYMBOL_SIZE - SCHATTR_START]._nSID = SID_ATTR_SYMBOLSIZE;
-/*N*/
-/*N*/ SetDefaults(ppPoolDefaults);
-/*N*/ SetItemInfos(pItemInfos);
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Kopier-Konstruktor, sorgt dafuer, dass die static defaults geclont
-|* werden (Parameter 2 = TRUE)
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Destruktor
-|*
-\************************************************************************/
-
-/*N*/ SchItemPool::~SchItemPool()
-/*N*/ {
-/*N*/ Delete();
-/*N*/
-/*N*/ delete[] pItemInfos;
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_DATADESCR_DESCR - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_DATADESCR_DESCR - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_DATADESCR_SHOW_SYM - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_DATADESCR_SHOW_SYM - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_LEGEND_POS - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_LEGEND_POS - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_TEXT_ORIENT - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_TEXT_ORIENT - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_TEXT_ORDER - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_TEXT_ORDER - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_TEXT_DEGREES - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_TEXT_DEGREES - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_TEXT_OVERLAP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_TEXT_OVERLAP - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_MIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_MIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_MIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_MIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_MAX - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_MAX - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_MAX - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_MAX - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_STEP_MAIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_STEP_MAIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_STEP_MAIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_STEP_MAIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_STEP_HELP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_STEP_HELP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_STEP_HELP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_STEP_HELP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_LOGARITHM - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_LOGARITHM - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_ORIGIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_AUTO_ORIGIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Y_AXIS_ORIGIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Y_AXIS_ORIGIN - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_AUTO_MIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_AUTO_MIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_MIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_MIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_AUTO_MAX - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_AUTO_MAX - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_MAX - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_MAX - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_AUTO_STEP_MAIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_AUTO_STEP_MAIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_STEP_MAIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_STEP_MAIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_AUTO_STEP_HELP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_AUTO_STEP_HELP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_STEP_HELP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_STEP_HELP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_LOGARITHM - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_LOGARITHM - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_AUTO_ORIGIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_AUTO_ORIGIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_X_AXIS_ORIGIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_X_AXIS_ORIGIN - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_MIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_MIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_MIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_MIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_MAX - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_MAX - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_MAX - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_MAX - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_STEP_MAIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_STEP_MAIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_STEP_MAIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_STEP_MAIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_STEP_HELP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_STEP_HELP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_STEP_HELP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_STEP_HELP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_LOGARITHM - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_LOGARITHM - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_ORIGIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_AUTO_ORIGIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_Z_AXIS_ORIGIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_Z_AXIS_ORIGIN - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXISTYPE - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXISTYPE - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_DUMMY0 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_DUMMY0 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_DUMMY1 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_DUMMY1 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_DUMMY2 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_DUMMY2 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_DUMMY3 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_DUMMY3 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_DUMMY_END - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_DUMMY_END - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STAT_AVERAGE - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STAT_AVERAGE - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STAT_KIND_ERROR - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STAT_KIND_ERROR - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STAT_PERCENT - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STAT_PERCENT - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STAT_BIGERROR - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STAT_BIGERROR - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STAT_CONSTPLUS - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STAT_CONSTPLUS - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STAT_CONSTMINUS - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STAT_CONSTMINUS - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STAT_INDICATE - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STAT_INDICATE - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STAT_REGRESSTYPE - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STAT_REGRESSTYPE - SCHATTR_START];
-/*N*/
-/*N*/
-/*N*/
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_DEEP - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_3D - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_VERTICAL - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_BASETYPE - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_LINES - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_PERCENT - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_STACKED - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_SPLINES - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_SYMBOL - SCHATTR_START],0);
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STYLE_SHAPE - SCHATTR_START],0);
-/*N*/
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_DEEP - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_3D - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_VERTICAL - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_BASETYPE - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_LINES - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_PERCENT - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_STACKED - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_SPLINES - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_SYMBOL - SCHATTR_START];
-/*N*/ delete ppPoolDefaults[SCHATTR_STYLE_SHAPE - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_TEXT_DUMMY0 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_TEXT_DUMMY0 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_TEXT_DUMMY1 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_TEXT_DUMMY1 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_TEXT_DUMMY2 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_TEXT_DUMMY2 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_TEXT_DUMMY3 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_TEXT_DUMMY3 - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_AUTO_MIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_AUTO_MIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_MIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_MIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_AUTO_MAX - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_AUTO_MAX - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_MAX - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_MAX - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_AUTO_STEP_MAIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_AUTO_STEP_MAIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_STEP_MAIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_STEP_MAIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_AUTO_STEP_HELP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_AUTO_STEP_HELP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_STEP_HELP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_STEP_HELP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_LOGARITHM - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_LOGARITHM - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_AUTO_ORIGIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_AUTO_ORIGIN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_ORIGIN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_ORIGIN - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_TICKS - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_TICKS - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_HELPTICKS - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_HELPTICKS - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_NUMFMT - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_NUMFMT - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_NUMFMTPERCENT - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_NUMFMTPERCENT - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_SHOWAXIS - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_SHOWAXIS - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_SHOWDESCR - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_SHOWDESCR - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_SHOWMAINGRID - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_SHOWMAINGRID - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_SHOWHELPGRID - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_SHOWHELPGRID - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_TOPDOWN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_TOPDOWN - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_DUMMY0 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_DUMMY0 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_DUMMY1 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_DUMMY1 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_DUMMY2 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_DUMMY2 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_AXIS_DUMMY3 - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_AXIS_DUMMY3 - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_BAR_OVERLAP - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_BAR_OVERLAP - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_BAR_GAPWIDTH - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_BAR_GAPWIDTH - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_SYMBOL_BRUSH - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_SYMBOL_BRUSH - SCHATTR_START];
-/*N*/
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STOCK_UPDOWN - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STOCK_UPDOWN - SCHATTR_START];
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_STOCK_VOLUME - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_STOCK_VOLUME - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_SYMBOL_SIZE - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_SYMBOL_SIZE - SCHATTR_START];
-/*N*/
-/*N*/ SetRefCount(*ppPoolDefaults[SCHATTR_USER_DEFINED_ATTR - SCHATTR_START], 0);
-/*N*/ delete ppPoolDefaults[SCHATTR_USER_DEFINED_ATTR - SCHATTR_START];
-/*N*/
-/*N*/ delete[] ppPoolDefaults;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Clone()
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Liefert fuer alle Which-Ids 100TH_MM als MapUnit
-|*
-\************************************************************************/
-
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_memchrt.cxx b/binfilter/bf_sch/source/core/sch_memchrt.cxx
deleted file mode 100644
index 953e5ae9a..000000000
--- a/binfilter/bf_sch/source/core/sch_memchrt.cxx
+++ /dev/null
@@ -1,1376 +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 _STREAM_HXX
-// enable stream operators >>/<< for UniString (8 Bit !)
-//#ifndef ENABLE_STRING_STREAM_OPERATORS
-//#define ENABLE_STRING_STREAM_OPERATORS
-//#endif
-#endif
-
-#ifndef _ZFORLIST_HXX //autogen
-#ifndef _ZFORLIST_DECLARE_TABLE
-#define _ZFORLIST_DECLARE_TABLE
-#endif
-#include <bf_svtools/zforlist.hxx>
-#endif
-
-#include <tools/tenccvt.hxx>
-
-#include <float.h>
-#include <math.h>
-#include "schiocmp.hxx"
-#include "memchrt.hxx"
-
-#include "schresid.hxx"
-#include "glob.hrc"
-
-#include <functional>
-#include <algorithm>
-namespace binfilter {
-
-// ========================================
-// Helper objects
-// ========================================
-
-/** unary function that escapes backslashes and single quotes in a sal_Unicode
- array (which you can get from an OUString with getStr()) and puts the result
- into the OUStringBuffer given in the CTOR
- */
-/*N*/ class lcl_Escape : public ::std::unary_function< sal_Unicode, void >
-/*N*/ {
-/*N*/ public:
-/*N*/ lcl_Escape( ::rtl::OUStringBuffer & aResultBuffer ) : m_aResultBuffer( aResultBuffer ) {}
-/*N*/ void operator() ( sal_Unicode aChar )
-/*N*/ {
-/*N*/ static const sal_Unicode m_aQuote( '\'' );
-/*N*/ static const sal_Unicode m_aBackslash( '\\' );
-/*N*/
-/*N*/ if( aChar == m_aQuote ||
-/*N*/ aChar == m_aBackslash )
-/*N*/ m_aResultBuffer.append( m_aBackslash );
-/*N*/ m_aResultBuffer.append( aChar );
-/*N*/ }
-/*N*/
-/*N*/ private:
-/*N*/ ::rtl::OUStringBuffer & m_aResultBuffer;
-/*N*/ };
-
-/** unary function that removes backslash escapes in a sal_Unicode array (which
- you can get from an OUString with getStr()) and puts the result into the
- OUStringBuffer given in the CTOR
- */
-/*N*/ class lcl_UnEscape : public ::std::unary_function< sal_Unicode, void >
-/*N*/ {
-/*N*/ public:
-/*N*/ lcl_UnEscape( ::rtl::OUStringBuffer & aResultBuffer ) : m_aResultBuffer( aResultBuffer ) {}
-/*N*/ void operator() ( sal_Unicode aChar )
-/*N*/ {
-/*N*/ static const sal_Unicode m_aBackslash( '\\' );
-/*N*/
-/*N*/ if( aChar != m_aBackslash )
-/*N*/ m_aResultBuffer.append( aChar );
-/*N*/ }
-/*N*/
-/*N*/ private:
-/*N*/ ::rtl::OUStringBuffer & m_aResultBuffer;
-/*N*/ };
-
-
-
-#define MIN(a,b) ( ((a)<(b))? (a) : (b) )
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchMemChart::SchMemChart(ChartDataId nMyID) :
-/*N*/ nLastSelInfoReturn(0),
-/*N*/ nRefCount (0),
-/*N*/ mpColNameBuffer(NULL),
-/*N*/ mpRowNameBuffer(NULL),
-/*N*/ nTranslated(TRANS_NONE),
-/*N*/ nRowCnt (0),
-/*N*/ nColCnt (0),
-/*N*/ eDataType(NUMBERFORMAT_NUMBER),
-/*N*/ pData (0),
-/*N*/ pColText (0),
-/*N*/ pRowText (0),
-/*N*/ myID (nMyID),
-/*N*/ mpNumFormatter(NULL),
-/*N*/ pRowNumFmtId(NULL),
-/*N*/ pColNumFmtId(NULL),
-/*N*/ pRowTable(NULL),
-/*N*/ pColTable(NULL),
-/*N*/ bReadOnly(FALSE)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchMemChart::SchMemChart(short nCols, short nRows) :
-/*N*/ nLastSelInfoReturn(0),
-/*N*/ nRefCount (0),
-/*N*/ mpColNameBuffer(NULL),
-/*N*/ mpRowNameBuffer(NULL),
-/*N*/ nTranslated(TRANS_NONE),
-/*N*/ eDataType(NUMBERFORMAT_NUMBER),
-/*N*/ pData (0),
-/*N*/ pColText (0),
-/*N*/ pRowText (0),
-/*N*/ myID (CHDATAID_MEMCHART_PLUS),
-/*N*/ mpNumFormatter(NULL),
-/*N*/ pRowNumFmtId(NULL),
-/*N*/ pColNumFmtId(NULL),
-/*N*/ pRowTable(NULL),
-/*N*/ pColTable(NULL),
-/*N*/ bReadOnly(FALSE)
-/*N*/ {
-/*N*/ nRowCnt = nRows;
-/*N*/ nColCnt = nCols;
-/*N*/ pData = new double[nColCnt * nRowCnt];
-/*N*/
-/*N*/ pRowNumFmtId= new sal_Int32 [nRowCnt];
-/*N*/ pColNumFmtId= new sal_Int32 [nColCnt];
-/*N*/ InitNumFmt();
-/*N*/
-/*N*/ pRowTable = new sal_Int32 [nRowCnt];
-/*N*/ pColTable = new sal_Int32 [nColCnt];
-/*N*/ ResetTranslation(pRowTable,nRowCnt);
-/*N*/ ResetTranslation(pColTable,nColCnt);
-/*N*/
-/*N*/ if (pData)
-/*N*/ {
-/*N*/ double *pFill = pData;
-/*N*/
-/*N*/ for (short i = 0; i < nColCnt; i++)
-/*N*/ for (short j = 0; j < nRowCnt; j++)
-/*N*/ *(pFill ++) = 0.0;
-/*N*/ }
-/*N*/
-/*N*/ pColText = new String[nColCnt];
-/*N*/ pRowText = new String[nRowCnt];
-/*N*/ }
-/*************************************************************************
-|*
-|* Kopiere alles ausser den numerischen Daten (d.h. Texte!)
-|*
-\************************************************************************/
-/*N*/ void SchMemChart::SetNonNumericData(const SchMemChart &rMemChart)
-/*N*/ {
-/*N*/ aMainTitle = rMemChart.aMainTitle;
-/*N*/ aSubTitle = rMemChart.aSubTitle;
-/*N*/ aXAxisTitle = rMemChart.aXAxisTitle;
-/*N*/ aYAxisTitle = rMemChart.aYAxisTitle;
-/*N*/ aZAxisTitle = rMemChart.aZAxisTitle;
-/*N*/ eDataType = rMemChart.eDataType;
-/*N*/ aSomeData1 = ((SchMemChart&) rMemChart).SomeData1 ();
-/*N*/ aSomeData2 = ((SchMemChart&) rMemChart).SomeData2 ();
-/*N*/ aSomeData3 = ((SchMemChart&) rMemChart).SomeData3 ();
-/*N*/ aSomeData4 = ((SchMemChart&) rMemChart).SomeData4 ();
-/*N*/
-/*N*/ long nCols=MIN(nColCnt,rMemChart.nColCnt);
-/*N*/ long nRows=MIN(nRowCnt,rMemChart.nRowCnt);
-/*N*/
-/*N*/ short i;
-/*N*/ for (i = 0; i < nCols; i++)
-/*N*/ pColText[i] = rMemChart.pColText[i];
-/*N*/ for (i = 0; i < nRows; i++)
-/*N*/ pRowText[i] = rMemChart.pRowText[i];
-/*N*/
-/*N*/ // copy chart range
-/*N*/ SetChartRange( rMemChart.GetChartRange());
-/*N*/ }
-/*************************************************************************
-|*
-|* Kopier-Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchMemChart::SchMemChart(const SchMemChart& rMemChart) :
-/*N*/ nRefCount (0),
-/*N*/ mpColNameBuffer(NULL),
-/*N*/ mpRowNameBuffer(NULL),
-/*N*/ nTranslated(TRANS_NONE),
-/*N*/ myID (CHDATAID_MEMCHART_PLUS),
-/*N*/ mpNumFormatter(NULL),
-/*N*/ pRowNumFmtId(NULL),
-/*N*/ pColNumFmtId(NULL),
-/*N*/ pRowTable(NULL),
-/*N*/ pColTable(NULL)
-/*N*/ {
-/*N*/ nColCnt = rMemChart.nColCnt;
-/*N*/ nRowCnt = rMemChart.nRowCnt;
-/*N*/ aMainTitle = rMemChart.aMainTitle;
-/*N*/ aSubTitle = rMemChart.aSubTitle;
-/*N*/ aXAxisTitle = rMemChart.aXAxisTitle;
-/*N*/ aYAxisTitle = rMemChart.aYAxisTitle;
-/*N*/ aZAxisTitle = rMemChart.aZAxisTitle;
-/*N*/ eDataType = rMemChart.eDataType;
-/*N*/ aSomeData1 = ((SchMemChart&) rMemChart).SomeData1 ();
-/*N*/ aSomeData2 = ((SchMemChart&) rMemChart).SomeData2 ();
-/*N*/ aSomeData3 = ((SchMemChart&) rMemChart).SomeData3 ();
-/*N*/ aSomeData4 = ((SchMemChart&) rMemChart).SomeData4 ();
-/*N*/ pData = new double[nColCnt * nRowCnt];
-/*N*/
-/*N*/ pRowNumFmtId= new sal_Int32 [nRowCnt];
-/*N*/ pColNumFmtId= new sal_Int32 [nColCnt];
-/*N*/ pRowTable = new sal_Int32 [nRowCnt];
-/*N*/ pColTable = new sal_Int32 [nColCnt];
-/*N*/
-/*N*/ aAppLink = rMemChart.aAppLink;
-/*N*/ nLastSelInfoReturn = rMemChart.nLastSelInfoReturn;
-/*N*/
-/*N*/ nTranslated = rMemChart.nTranslated;
-/*N*/ for(long i=0;i<nColCnt;i++)
-/*N*/ {
-/*N*/ pColTable[i] = rMemChart.pColTable[i];
-/*N*/ pColNumFmtId[i] = rMemChart.pColNumFmtId[i];
-/*N*/ }
-/*N*/ for(long i=0;i<nRowCnt;i++)
-/*N*/ {
-/*N*/ pRowTable[i] = rMemChart.pRowTable[i];
-/*N*/ pRowNumFmtId[i] = rMemChart.pRowNumFmtId[i];
-/*N*/ }
-/*N*/ mpNumFormatter=rMemChart.mpNumFormatter;
-/*N*/
-/*N*/ if (pData)
-/*N*/ {
-/*N*/ double *pDest = pData;
-/*N*/ double *pSource = rMemChart.pData;
-/*N*/
-/*N*/ for (short i = 0; i < nColCnt; i++)
-/*N*/ for (short j = 0; j < nRowCnt; j++)
-/*N*/ *(pDest ++) = *(pSource ++);
-/*N*/ }
-/*N*/
-/*N*/ pColText = new String[nColCnt];
-/*N*/
-/*N*/ for (long i = 0; i < nColCnt; i++)
-/*N*/ pColText[i] = rMemChart.pColText[i];
-/*N*/
-/*N*/ pRowText = new String[nRowCnt];
-/*N*/
-/*N*/ for (long i = 0; i < nRowCnt; i++)
-/*N*/ pRowText[i] = rMemChart.pRowText[i];
-/*N*/
-/*N*/ bReadOnly = rMemChart.bReadOnly; // bm #69410#
-/*N*/
-/*N*/ // copy address members
-/*N*/ maCategoriesRangeAddress = rMemChart.maCategoriesRangeAddress;
-/*N*/ maSeriesAddresses = rMemChart.maSeriesAddresses;
-/*N*/
-/*N*/ // copy chart range
-/*N*/ SetChartRange( rMemChart.GetChartRange());
-/*N*/ }
-
-//Überprüft, ob die Umordnung/Translation OK ist, Fehlerfall, wenn :
-// a) Spaltenumordnung aber Reihen vertauscht (FALSE,TRANS_ERROR)
-// b) Reihenumordnung aber Spalten vertauscht (FALSE,TRANS_ERROR)
-// c) keine Umordnung, Reihen oder Spalten vertauscht (FALSE,TRANS_ERROR)
-// d) Umordnungsflag gesetzt (auf TRANS_ROW,TRANS_COL oder TRANS_ERROR) aber
-// keine Umordnung (mehr) vorhanden (FALSE,TRANS_NONE)
-// sonst wird TRUE zurückgegeben
-
-#if OSL_DEBUG_LEVEL > 0
-/*N*/ BOOL SchMemChart::VerifyTranslation()
-/*N*/ {
-/*N*/ //Fehler ?
-/*N*/ if(nTranslated!=TRANS_COL)
-/*N*/ {
-/*N*/ for(long nCol=0;nCol<nColCnt;nCol++)
-/*N*/ {
-/*N*/ if(pColTable[nCol]!=nCol)
-/*N*/ {
-/*?*/ //nTranslated=TRANS_ERROR;
-/*?*/ if(nTranslated==TRANS_NONE)
-/*?*/ {
-/*?*/ OSL_FAIL("SchMemChart::Correcting Translationmode");
-/*?*/ nTranslated=TRANS_COL;
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ OSL_FAIL("fatal error in SchMemChart-translation");
-/*?*/ return FALSE;
-/*?*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ if(nTranslated!=TRANS_ROW)
-/*N*/ {
-/*N*/ for(long nRow=0;nRow<nRowCnt;nRow++)
-/*N*/ {
-/*N*/ if(pRowTable[nRow]!=nRow)
-/*N*/ {
-/*?*/ //nTranslated=TRANS_ERROR;
-/*?*/ if(nTranslated==TRANS_NONE)
-/*?*/ {
-/*?*/ OSL_FAIL("SchMemChart::Correcting Translationmode");
-/*?*/ nTranslated=TRANS_ROW;
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ OSL_FAIL("fatal error in SchMemChart-translation");
-/*?*/ return FALSE;
-/*?*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ // Sortierung besteht noch ?
-/*N*/ if(nTranslated==TRANS_ROW)
-/*N*/ {
-/*?*/ for(long nRow=0;nRow<nRowCnt;nRow++)
-/*?*/ {
-/*?*/ if(pRowTable[nRow]!=nRow)
-/*?*/ return TRUE;
-/*?*/ }
-/*N*/ }
-/*N*/ if(nTranslated==TRANS_COL)
-/*N*/ {
-/*?*/ for(long nCol=0;nCol<nColCnt;nCol++)
-/*?*/ {
-/*?*/ if(pColTable[nCol]!=nCol)
-/*?*/ return TRUE;
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ if(nTranslated!=TRANS_NONE)
-/*N*/ {
-/*?*/ nTranslated=TRANS_NONE;
-/*?*/ return FALSE;
-/*N*/ }
-/*N*/ return TRUE;
-/*N*/
-/*N*/ }
-#endif
-
-/*N*/ double SchMemChart::GetTransData(long nCol,long nRow)
-/*N*/ {
-/*N*/ DBG_ASSERT(VerifyTranslation(), "Translation table corrupted in MemChart");
-/*N*/ return GetData( (short)pColTable[nCol], (short)pRowTable[nRow]);
-/*N*/ }
-/*N*/ double SchMemChart::GetTransDataInPercent(long nCol, long nRow, BOOL bRowData) const
-/*N*/ {
-/*N*/ DBG_ASSERT(((SchMemChart*)this)->VerifyTranslation(), "Translation table corrupted in MemChart");
-/*N*/ return GetDataInPercent( (short)pColTable[nCol], (short)pRowTable[nRow], bRowData);
-/*N*/ }
-/*N*/ const String& SchMemChart::GetTransColText(long nCol) const
-/*N*/ {
-/*N*/ DBG_ASSERT(((SchMemChart*)this)->VerifyTranslation(), "Translation table corrupted in MemChart");
-/*N*/ return GetColText( (short)pColTable[nCol] );
-/*N*/ }
-/*N*/ const String& SchMemChart::GetTransRowText(long nRow) const
-/*N*/ {
-/*N*/ DBG_ASSERT(((SchMemChart*)this)->VerifyTranslation(), "Translation table corrupted in MemChart");
-/*N*/ return GetRowText( (short)pRowTable[nRow] );
-/*N*/ }
-/*N*/ long SchMemChart::GetTransNumFormatIdRow(const long nRow) const
-/*N*/ {
-/*N*/ DBG_ASSERT(((SchMemChart*)this)->VerifyTranslation(), "Translation table corrupted in MemChart");
-/*N*/ return ( nTranslated == TRANS_ROW )? pRowNumFmtId[ pRowTable[ nRow ]]: pRowNumFmtId[ nRow ];
-/*N*/ }
-/*N*/ long SchMemChart::GetTransNumFormatIdCol(const long nCol) const
-/*N*/ {
-/*N*/ DBG_ASSERT(((SchMemChart*)this)->VerifyTranslation(), "Translation table corrupted in MemChart");
-/*N*/ return ( nTranslated == TRANS_COL ) ? pColNumFmtId[ pColTable[ nCol ]]: pColNumFmtId[ nCol ];
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Wie GetData, aber in Prozentwerten
-|* Optimierungsvorschlag: fTotal fuer jede Zeile und Spalte buffern,
-|* dazu muessen alle Schnittstellen bekannt sein,
-|* die Daten am MemChart veraendern koennen.
-|*
-\************************************************************************/
-/*N*/ double SchMemChart::GetDataInPercent(const short nCol , const short nRow, const BOOL bRowData) const
-/*N*/ {
-/*N*/ double fTotal=0.0,fTemp,fData;
-/*N*/ short i;
-/*N*/
-/*N*/ fData = GetData(nCol,nRow);
-/*N*/
-/*N*/ if(bRowData)
-/*N*/ {
-/*N*/ for(i=0;i<nRowCnt;i++)
-/*N*/ {
-/*N*/ fTemp=GetData(nCol,i);
-/*N*/
-/*N*/ if(fTemp != DBL_MIN) fTotal += fabs(fTemp);
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ for(i=0;i<nColCnt;i++)
-/*N*/ {
-/*N*/ fTemp=GetData(i,nRow);
-/*N*/
-/*N*/ if(fTemp != DBL_MIN) fTotal += fabs(fTemp);
-/*N*/ }
-/*N*/
-/*N*/ }
-/*N*/ return fTotal ? ( (fabs(fData) / fTotal) * 100.0 ) : DBL_MIN;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Inserter fuer SvStream zum Speichern
-|*
-\************************************************************************/
-
-/*N*/ SvStream& operator << (SvStream& rOut, const SchMemChart& rMemChart)
-/*N*/ {
-/*N*/ CharSet aSysCharSet = static_cast< CharSet >( ::GetSOStoreTextEncoding( gsl_getSystemTextEncoding(),
-/*N*/ (USHORT)rOut.GetVersion()) );
-/*N*/ rOut.SetStreamCharSet( aSysCharSet );
-/*N*/
-/*N*/ //Version 1: Abspeichern der pRow,pColTable (long-array)
-/*N*/ SchIOCompat aIO(rOut, STREAM_WRITE, 2);
-/*N*/
-/*N*/ rOut << (INT16)rMemChart.nColCnt;
-/*N*/ rOut << (INT16)rMemChart.nRowCnt;
-/*N*/
-/*N*/ double *pOut = rMemChart.pData;
-/*N*/
-/*N*/ short i;
-/*N*/ for (i = 0; i < rMemChart.nColCnt; i++)
-/*N*/ for (short j = 0; j < rMemChart.nRowCnt; j++)
-/*N*/ rOut << *(pOut ++);
-/*N*/
-/*N*/ rOut << (INT16)aSysCharSet;
-/*N*/ rOut.WriteByteString( rMemChart.aMainTitle );
-/*N*/ rOut.WriteByteString( rMemChart.aSubTitle );
-/*N*/ rOut.WriteByteString( rMemChart.aXAxisTitle );
-/*N*/ rOut.WriteByteString( rMemChart.aYAxisTitle );
-/*N*/ rOut.WriteByteString( rMemChart.aZAxisTitle );
-/*N*/
-/*N*/ for (i = 0; i < rMemChart.nColCnt; i++)
-/*N*/ rOut.WriteByteString( rMemChart.pColText[ i ] );
-/*N*/
-/*N*/ for (i = 0; i < rMemChart.nRowCnt; i++)
-/*N*/ rOut.WriteByteString( rMemChart.pRowText[ i ] );
-/*N*/
-/*N*/ rOut << (INT16)rMemChart.eDataType;
-/*N*/
-/*N*/ //IOVersion = 1
-/*N*/ long nIndex;
-/*N*/ for (nIndex = 0; nIndex < rMemChart.nColCnt; nIndex++)
-/*N*/ rOut << rMemChart.pColTable[nIndex];
-/*N*/
-/*N*/ for (nIndex = 0; nIndex < rMemChart.nRowCnt; nIndex++)
-/*N*/ rOut << rMemChart.pRowTable[nIndex];
-/*N*/
-/*N*/ //IOVersion = 2
-/*N*/ rOut << rMemChart.nTranslated;
-/*N*/
-/*N*/
-/*N*/ return rOut;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Extractor fuer SvStream zum Laden
-|*
-\************************************************************************/
-
-/*N*/ SvStream& operator >> (SvStream& rIn, SchMemChart& rMemChart)
-/*N*/ {
-/*N*/ INT16 nInt16;
-/*N*/
-/*N*/ SchIOCompat aIO(rIn, STREAM_READ);
-/*N*/
-/*N*/ rIn >> nInt16; rMemChart.nColCnt = (short)nInt16;
-/*N*/ rIn >> nInt16; rMemChart.nRowCnt = (short)nInt16;
-/*N*/
-/*N*/ rMemChart.pData = new double[rMemChart.nColCnt * rMemChart.nRowCnt];
-/*N*/
-/*N*/ double *pIn = rMemChart.pData;
-/*N*/
-/*N*/ for (short i = 0; i < rMemChart.nColCnt; i++)
-/*N*/ for (short j = 0; j < rMemChart.nRowCnt; j++)
-/*N*/ rIn >> *(pIn ++);
-/*N*/
-/*N*/ INT16 nCharSet;
-/*N*/ rIn >> nCharSet;
-/*N*/
-/*N*/ rtl_TextEncoding aCharSet = ::GetSOLoadTextEncoding( static_cast< rtl_TextEncoding >( nCharSet ),
-/*N*/ (USHORT)rIn.GetVersion());
-/*N*/ rIn.SetStreamCharSet( aCharSet );
-/*N*/
-/*N*/ rIn.ReadByteString( rMemChart.aMainTitle );
-/*N*/ rIn.ReadByteString( rMemChart.aSubTitle );
-/*N*/ rIn.ReadByteString( rMemChart.aXAxisTitle );
-/*N*/ rIn.ReadByteString( rMemChart.aYAxisTitle );
-/*N*/ rIn.ReadByteString( rMemChart.aZAxisTitle );
-/*N*/
-/*N*/ rMemChart.pColText = new String[rMemChart.nColCnt];
-/*N*/
-/*N*/ for (short i = 0; i < rMemChart.nColCnt; i++)
-/*N*/ {
-/*N*/ rIn.ReadByteString( rMemChart.pColText[ i ] );
-/*N*/ }
-/*N*/
-/*N*/ rMemChart.pRowText = new String[rMemChart.nRowCnt];
-/*N*/
-/*N*/ for (short i = 0; i < rMemChart.nRowCnt; i++)
-/*N*/ {
-/*N*/ rIn.ReadByteString( rMemChart.pRowText[ i ] );
-/*N*/ }
-/*N*/
-/*N*/ rIn >> nInt16; rMemChart.eDataType = (short)nInt16;
-/*N*/
-/*N*/ rMemChart.pRowNumFmtId = new sal_Int32 [rMemChart.nRowCnt];
-/*N*/ rMemChart.pColNumFmtId = new sal_Int32 [rMemChart.nColCnt];
-/*N*/ rMemChart.pRowTable = new sal_Int32 [rMemChart.nRowCnt];
-/*N*/ rMemChart.pColTable = new sal_Int32 [rMemChart.nColCnt];
-/*N*/
-/*N*/ if(aIO.GetVersion()>=1)
-/*N*/ {
-/*N*/ for (long i = 0; i < rMemChart.nColCnt; i++)
-/*N*/ rIn >> rMemChart.pColTable[i];
-/*N*/
-/*N*/ for (long i = 0; i < rMemChart.nRowCnt; i++)
-/*N*/ rIn >> rMemChart.pRowTable[i];
-/*N*/
-/*N*/ if(aIO.GetVersion()>=2)
-/*N*/ rIn >> rMemChart.nTranslated;
-/*N*/
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ rMemChart.ResetTranslation(rMemChart.pRowTable,rMemChart.nRowCnt);
-/*?*/ rMemChart.ResetTranslation(rMemChart.pColTable,rMemChart.nColCnt);
-/*N*/ }
-/*N*/
-/*N*/ rMemChart.InitNumFmt(); //ab IOVersion 2 (ToDo:)
-/*N*/
-/*N*/ return rIn;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* QuickSort ueber Spalten
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* QuickSort ueber Zeilen
-|*
-\************************************************************************/
-
-
-/*N*/ void SchMemChart::InitNumFmt()
-/*N*/ {
-/*N*/ long i;
-/*N*/ for(i=0;i<nColCnt;i++)
-/*N*/ pColNumFmtId[i]=-1; //uninitialised!
-/*N*/
-/*N*/ for(i=0;i<nRowCnt;i++)
-/*N*/ pRowNumFmtId[i]=-1;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* QuickSort ueber Spalten
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* QuickSort ueber Zeilen
-|*
-\************************************************************************/
-
-
-/*N*/ String SchMemChart::GetDefaultColumnText( sal_Int32 nCol ) const
-/*N*/ {
-/*N*/ if( !mpColNameBuffer )
-/*N*/ {
-/*N*/ // initialize resource string
-/*N*/ mpColNameBuffer = new String[ 2 ];
-/*N*/ DBG_ASSERT( mpColNameBuffer, "couldn't create two strings!" );
-/*N*/ String aResStr( SchResId( STR_COLUMN ));
-/*N*/ xub_StrLen nPos = aResStr.SearchAscii( "$(N)" );
-/*N*/ if( nPos != STRING_NOTFOUND )
-/*N*/ {
-/*N*/ mpColNameBuffer[ 0 ] = String( aResStr, 0, nPos );
-/*N*/ mpColNameBuffer[ 1 ] = String( aResStr, nPos + sizeof( "$(N)" ) - 1, STRING_LEN );
-/*N*/ }
-/*N*/ else
-/*?*/ mpColNameBuffer[ 0 ] = aResStr;
-/*N*/ }
-/*N*/
-/*N*/ if( mpColNameBuffer )
-/*N*/ {
-/*N*/ String aResult( mpColNameBuffer[ 0 ] );
-/*N*/ aResult.Append( String::CreateFromInt32( nCol + 1 ));
-/*N*/ aResult.Append( mpColNameBuffer[ 1 ] );
-/*N*/ return aResult;
-/*N*/ }
-/*N*/ else
-/*?*/ return String();
-/*N*/ }
-
-/*N*/ String SchMemChart::GetDefaultRowText( sal_Int32 nRow ) const
-/*N*/ {
-/*N*/ if( !mpRowNameBuffer )
-/*N*/ {
-/*N*/ // initialize resource string
-/*N*/ mpRowNameBuffer = new String[ 2 ];
-/*N*/ DBG_ASSERT( mpRowNameBuffer, "couldn't create two strings!" );
-/*N*/ String aResStr( SchResId( STR_ROW ));
-/*N*/ xub_StrLen nPos = aResStr.SearchAscii( "$(N)" );
-/*N*/ if( nPos != STRING_NOTFOUND )
-/*N*/ {
-/*N*/ mpRowNameBuffer[ 0 ] = String( aResStr, 0, nPos );
-/*N*/ mpRowNameBuffer[ 1 ] = String( aResStr, nPos + sizeof( "$(N)" ) - 1, STRING_LEN );
-/*N*/ }
-/*N*/ else
-/*?*/ mpRowNameBuffer[ 0 ] = aResStr;
-/*N*/ }
-/*N*/
-/*N*/ if( mpRowNameBuffer )
-/*N*/ {
-/*N*/ String aResult( mpRowNameBuffer[ 0 ] );
-/*N*/ aResult.Append( String::CreateFromInt32( nRow + 1 ));
-/*N*/ aResult.Append( mpRowNameBuffer[ 1 ] );
-/*N*/ return aResult;
-/*N*/ }
-/*N*/ else
-/*?*/ return String();
-/*N*/ }
-
-using namespace ::com::sun::star;
-
-// ========================================
-
-/*N*/ ::rtl::OUStringBuffer SchMemChart::getXMLStringForCellAddress( const SchCellAddress& rCell )
-/*N*/ {
-/*N*/ ::rtl::OUStringBuffer aBuffer;
-/*N*/ ::std::vector< SchSingleCell >::const_iterator aIter;
-/*N*/ const ::std::vector< SchSingleCell >::const_iterator aEndIter = rCell.maCells.end();
-/*N*/
-/*N*/ for( aIter = rCell.maCells.begin(); aIter != aEndIter; aIter++ )
-/*N*/ {
-/*N*/ sal_Int32 nCol = aIter->mnColumn;
-/*N*/ aBuffer.append( (sal_Unicode)'.' );
-/*N*/ if( ! aIter->mbRelativeColumn )
-/*N*/ aBuffer.append( (sal_Unicode)'$' );
-/*N*/
-/*N*/ // get A, B, C, ..., AA, AB, ... representation of column number
-/*N*/ if( nCol < 26 )
-/*N*/ aBuffer.append( (sal_Unicode)('A' + nCol) );
-/*N*/ else if( nCol < 702 )
-/*N*/ {
-/*?*/ aBuffer.append( (sal_Unicode)('A' + nCol / 26 - 1 ));
-/*?*/ aBuffer.append( (sal_Unicode)('A' + nCol % 26) );
-/*N*/ }
-/*N*/ else // works for nCol <= 18,278
-/*N*/ {
-/*?*/ aBuffer.append( (sal_Unicode)('A' + nCol / 702 - 1 ));
-/*?*/ aBuffer.append( (sal_Unicode)('A' + (nCol % 702) / 26 ));
-/*?*/ aBuffer.append( (sal_Unicode)('A' + nCol % 26) );
-/*N*/ }
-/*N*/
-/*N*/ // write row number as number
-/*N*/ if( ! aIter->mbRelativeRow )
-/*N*/ aBuffer.append( (sal_Unicode)'$' );
-/*N*/ aBuffer.append( aIter->mnRow + (sal_Int32)1 );
-/*N*/ }
-/*N*/
-/*N*/ return aBuffer;
-/*N*/ }
-
-/*N*/ void SchMemChart::getSingleCellAddressFromXMLString(
-/*N*/ const ::rtl::OUString& rXMLString,
-/*N*/ sal_Int32 nStartPos, sal_Int32 nEndPos,
-/*N*/ SchSingleCell& rSingleCell )
-/*N*/ {
-/*N*/ // expect "\$?[a-zA-Z]+\$?[1-9][0-9]*"
-/*N*/ static const sal_Unicode aDollar( '$' );
-/*N*/ static const sal_Unicode aLetterA( 'A' );
-/*N*/
-/*N*/ ::rtl::OUString aCellStr = rXMLString.copy( nStartPos, nEndPos - nStartPos + 1 ).toAsciiUpperCase();
-/*N*/ const sal_Unicode* pStrArray = aCellStr.getStr();
-/*N*/ sal_Int32 nLength = aCellStr.getLength();
-/*N*/ sal_Int32 i = nLength - 1, nColumn = 0;
-/*N*/
-/*N*/ // parse number for row
-/*N*/ while( CharClass::isAsciiDigit( pStrArray[ i ] ) && i >= 0 )
-/*N*/ i--;
-/*N*/ rSingleCell.mnRow = (aCellStr.copy( i + 1 )).toInt32() - 1;
-/*N*/ // a dollar in XML means absolute (whereas in UI it means relative)
-/*N*/ if( pStrArray[ i ] == aDollar )
-/*N*/ {
-/*N*/ i--;
-/*N*/ rSingleCell.mbRelativeRow = sal_False;
-/*N*/ }
-/*N*/ else
-/*N*/ rSingleCell.mbRelativeRow = sal_True;
-/*N*/
-/*N*/ // parse rest for column
-/*N*/ sal_Int32 nPower = 1;
-/*N*/ while( CharClass::isAsciiAlpha( pStrArray[ i ] ))
-/*N*/ {
-/*N*/ nColumn += (pStrArray[ i ] - aLetterA + 1) * nPower;
-/*N*/ i--;
-/*N*/ nPower *= 26;
-/*N*/ }
-/*N*/ rSingleCell.mnColumn = nColumn - 1;
-/*N*/
-/*N*/ rSingleCell.mbRelativeColumn = sal_True;
-/*N*/ if( i >= 0 &&
-/*N*/ pStrArray[ i ] == aDollar )
-/*N*/ rSingleCell.mbRelativeColumn = sal_False;
-/*N*/ }
-
-/*N*/ bool SchMemChart::getCellAddressFromXMLString(
-/*N*/ const ::rtl::OUString& rXMLString,
-/*N*/ sal_Int32 nStartPos, sal_Int32 nEndPos,
-/*N*/ SchCellAddress& rOutCell,
-/*N*/ ::rtl::OUString& rOutTableName )
-/*N*/ {
-/*N*/ static const sal_Unicode aDot( '.' );
-/*N*/ static const sal_Unicode aQuote( '\'' );
-/*N*/ static const sal_Unicode aBackslash( '\\' );
-/*N*/
-/*N*/ sal_Int32 nNextDelimiterPos = nStartPos;
-/*N*/
-/*N*/ sal_Int32 nDelimiterPos = nStartPos;
-/*N*/ bool bInQuotation = false;
-/*N*/ // parse table name
-/*N*/ while( nDelimiterPos < nEndPos &&
-/*N*/ ( bInQuotation || rXMLString[ nDelimiterPos ] != aDot ))
-/*N*/ {
-/*N*/ // skip escaped characters (with backslash)
-/*N*/ if( rXMLString[ nDelimiterPos ] == aBackslash )
-/*N*/ ++nDelimiterPos;
-/*N*/ // toggle quotation mode when finding single quotes
-/*N*/ else if( rXMLString[ nDelimiterPos ] == aQuote )
-/*N*/ bInQuotation = ! bInQuotation;
-/*N*/
-/*N*/ ++nDelimiterPos;
-/*N*/ }
-/*N*/
-/*N*/ if( nDelimiterPos == -1 ||
-/*N*/ nDelimiterPos >= nEndPos )
-/*N*/ {
-/*N*/ #if OSL_DEBUG_LEVEL > 1
-/*N*/ String aStr( rXMLString.copy( nStartPos, nEndPos - nStartPos + 1 ));
-/*N*/ ByteString aBstr( aStr, RTL_TEXTENCODING_ASCII_US );
-/*N*/ OSL_TRACE( "Invalid Cell Address <%s> found in XML file", aBstr.GetBuffer());
-/*N*/ #endif
-/*N*/ return false;
-/*N*/ }
-/*N*/ if( nDelimiterPos > nStartPos )
-/*N*/ {
-/*N*/ // there is a table name before the address
-/*N*/
-/*N*/ ::rtl::OUStringBuffer aTableNameBuffer;
-/*N*/ const sal_Unicode * pTableName = rXMLString.getStr();
-/*N*/
-/*N*/ // remove escapes from table name
-/*N*/ ::std::for_each( pTableName + nStartPos,
-/*N*/ pTableName + nDelimiterPos,
-/*N*/ lcl_UnEscape( aTableNameBuffer ));
-/*N*/
-/*N*/ // unquote quoted table name
-/*N*/ const sal_Unicode * pBuf = aTableNameBuffer.getStr();
-/*N*/ if( pBuf[ 0 ] == aQuote &&
-/*N*/ pBuf[ aTableNameBuffer.getLength() - 1 ] == aQuote )
-/*N*/ {
-/*N*/ ::rtl::OUString aName = aTableNameBuffer.makeStringAndClear();
-/*N*/ rOutTableName = aName.copy( 1, aName.getLength() - 2 );
-/*N*/ }
-/*N*/ else
-/*N*/ rOutTableName = aTableNameBuffer.makeStringAndClear();
-/*N*/ }
-/*N*/
-/*N*/ for( sal_Int32 i = 0;
-/*N*/ nNextDelimiterPos < nEndPos;
-/*N*/ nDelimiterPos = nNextDelimiterPos, i++ )
-/*N*/ {
-/*N*/ nNextDelimiterPos = rXMLString.indexOf( aDot, nDelimiterPos + 1 );
-/*N*/ if( nNextDelimiterPos == -1 ||
-/*N*/ nNextDelimiterPos > nEndPos )
-/*N*/ nNextDelimiterPos = nEndPos + 1;
-/*N*/
-/*N*/ rOutCell.maCells.resize( i + 1 );
-/*N*/ getSingleCellAddressFromXMLString( rXMLString,
-/*N*/ nDelimiterPos + 1, nNextDelimiterPos - 1,
-/*N*/ rOutCell.maCells[ i ] );
-/*N*/ }
-/*N*/
-/*N*/ return true;
-/*N*/ }
-
-/*N*/ bool SchMemChart::getCellRangeAddressFromXMLString(
-/*N*/ const ::rtl::OUString& rXMLString,
-/*N*/ sal_Int32 nStartPos, sal_Int32 nEndPos,
-/*N*/ SchCellRangeAddress& rOutRange )
-/*N*/ {
-/*N*/ bool bResult = true;
-/*N*/ static const sal_Unicode aColon( ':' );
-/*N*/ static const sal_Unicode aQuote( '\'' );
-/*N*/ static const sal_Unicode aBackslash( '\\' );
-/*N*/
-/*N*/ sal_Int32 nDelimiterPos = nStartPos;
-/*N*/ bool bInQuotation = false;
-/*N*/ // parse table name
-/*N*/ while( nDelimiterPos < nEndPos &&
-/*N*/ ( bInQuotation || rXMLString[ nDelimiterPos ] != aColon ))
-/*N*/ {
-/*N*/ // skip escaped characters (with backslash)
-/*N*/ if( rXMLString[ nDelimiterPos ] == aBackslash )
-/*N*/ ++nDelimiterPos;
-/*N*/ // toggle quotation mode when finding single quotes
-/*N*/ else if( rXMLString[ nDelimiterPos ] == aQuote )
-/*N*/ bInQuotation = ! bInQuotation;
-/*N*/
-/*N*/ ++nDelimiterPos;
-/*N*/ }
-/*N*/
-/*N*/ if( nDelimiterPos <= nStartPos || // includes == and 'not found' (==-1)
-/*N*/ nDelimiterPos >= nEndPos )
-/*N*/ {
-/*N*/ #if OSL_DEBUG_LEVEL > 0
-/*N*/ String aStr( rXMLString.copy( nStartPos, nEndPos - nStartPos + 1 ));
-/*N*/ ByteString aBstr( aStr, RTL_TEXTENCODING_ASCII_US );
-/*N*/ OSL_TRACE( "Invalid Cell Range <%s> found in XML file", aBstr.GetBuffer());
-/*N*/ #endif
-/*N*/ return false;
-/*N*/ }
-/*N*/ bResult = getCellAddressFromXMLString( rXMLString, nStartPos, nDelimiterPos - 1,
-/*N*/ rOutRange.maUpperLeft,
-/*N*/ rOutRange.msTableName );
-/*N*/ ::rtl::OUString sTableSecondName;
-/*N*/ if( bResult )
-/*N*/ {
-/*N*/ bResult = getCellAddressFromXMLString( rXMLString, nDelimiterPos + 1, nEndPos,
-/*N*/ rOutRange.maLowerRight,
-/*N*/ sTableSecondName );
-/*N*/ }
-/*N*/ DBG_ASSERT( sTableSecondName.getLength() == 0 ||
-/*N*/ sTableSecondName.equals( rOutRange.msTableName ),
-/*N*/ "Cell Range must be inside the same sheet" );
-/*N*/ return bResult;
-/*N*/ }
-
-/// interpret maChartRange and fill XML string with that
-/*N*/ ::rtl::OUString SchMemChart::getXMLStringForChartRange()
-/*N*/ {
-/*N*/ static const sal_Unicode aSpace( ' ' );
-/*N*/ static const sal_Unicode aQuote( '\'' );
-/*N*/
-/*N*/ ::rtl::OUStringBuffer aBuffer;
-/*N*/ ::std::vector< SchCellRangeAddress >::iterator aIter;
-/*N*/ const ::std::vector< SchCellRangeAddress >::iterator aEndIter = maChartRange.maRanges.end();
-/*N*/
-/*N*/ for( aIter = maChartRange.maRanges.begin(); aIter != aEndIter; /* increment done in body */ )
-/*N*/ {
-/*?*/ if( (aIter->msTableName).getLength())
-/*?*/ {
-/*?*/ bool bNeedsEscaping = ( aIter->msTableName.indexOf( aQuote ) > -1 );
-/*?*/ bool bNeedsQuoting = bNeedsEscaping || ( aIter->msTableName.indexOf( aSpace ) > -1 );
-/*?*/
-/*?*/ // quote table name if it contains spaces or quotes
-/*?*/ if( bNeedsQuoting )
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");
-/*?*/ }
-/*?*/ else
-/*?*/ aBuffer.append( aIter->msTableName );
-/*?*/ }
-/*?*/ aBuffer.append( getXMLStringForCellAddress( aIter->maUpperLeft ));
-/*?*/
-/*?*/ if( aIter->maLowerRight.maCells.size())
-/*?*/ {
-/*?*/ // we have a range (not a single cell)
-/*?*/ aBuffer.append( sal_Unicode( ':' ));
-/*?*/ aBuffer.append( getXMLStringForCellAddress( aIter->maLowerRight ));
-/*?*/ }
-/*?*/
-/*?*/ aIter++;
-/*?*/ // separator for more than one range
-/*?*/ if( aIter != aEndIter )
-/*?*/ aBuffer.append( sal_Unicode( ' ' ));
-/*N*/ }
-/*N*/
-/*N*/ return aBuffer.makeStringAndClear();
-/*N*/ }
-
-/// parse String and put results into maChartRange
-/*N*/ void SchMemChart::getChartRangeForXMLString( const ::rtl::OUString& rXMLString )
-/*N*/ {
-/*N*/ static const sal_Unicode aSpace( ' ' );
-/*N*/ static const sal_Unicode aQuote( '\'' );
-/*N*/ static const sal_Unicode aDollar( '$' );
-/*N*/ static const sal_Unicode aBackslash( '\\' );
-/*N*/
-/*N*/ sal_Int32 nStartPos = 0;
-/*N*/ sal_Int32 nEndPos = nStartPos;
-/*N*/ const sal_Int32 nLength = rXMLString.getLength();
-/*N*/
-/*N*/ // reset
-/*N*/ maChartRange.maRanges.clear();
-/*N*/
-/*N*/ // iterate over different ranges
-/*N*/ for( sal_Int32 i = 0;
-/*N*/ nEndPos < nLength;
-/*N*/ nStartPos = ++nEndPos, i++ )
-/*N*/ {
-/*N*/ // find start point of next range
-/*N*/
-/*N*/ // ignore leading '$'
-/*N*/ if( rXMLString[ nEndPos ] == aDollar)
-/*N*/ nEndPos++;
-/*N*/
-/*N*/ bool bInQuotation = false;
-/*N*/ // parse range
-/*N*/ while( nEndPos < nLength &&
-/*N*/ ( bInQuotation || rXMLString[ nEndPos ] != aSpace ))
-/*N*/ {
-/*N*/ // skip escaped characters (with backslash)
-/*N*/ if( rXMLString[ nEndPos ] == aBackslash )
-/*N*/ ++nEndPos;
-/*N*/ // toggle quotation mode when finding single quotes
-/*N*/ else if( rXMLString[ nEndPos ] == aQuote )
-/*N*/ bInQuotation = ! bInQuotation;
-/*N*/
-/*N*/ ++nEndPos;
-/*N*/ }
-/*N*/
-/*N*/ maChartRange.maRanges.resize( i + 1 );
-/*N*/ if( ! getCellRangeAddressFromXMLString(
-/*N*/ rXMLString,
-/*N*/ nStartPos, nEndPos - 1,
-/*N*/ maChartRange.maRanges[ i ] ))
-/*N*/ {
-/*N*/ // if an error occurred, bail out
-/*N*/ maChartRange.maRanges.clear();
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ #if OSL_DEBUG_LEVEL > 0
-/*N*/ // output result
-/*N*/ OSL_TRACE(
-/*N*/ ::rtl::OUStringToOString(
-/*N*/ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Ranges retrieved from XML-String: \"" )) +
-/*N*/ rXMLString +
-/*N*/ ::rtl::OUString( sal_Unicode( '\"' )),
-/*N*/ RTL_TEXTENCODING_ASCII_US ).getStr() );
-/*N*/ OSL_TRACE( "Size: %d", maChartRange.maRanges.size() );
-/*N*/ for( ::std::vector< SchCellRangeAddress >::const_iterator aIter = maChartRange.maRanges.begin();
-/*N*/ aIter != maChartRange.maRanges.end();
-/*N*/ ++aIter )
-/*N*/ {
-/*N*/ OSL_TRACE( " Cell Address found:" );
-/*N*/ OSL_TRACE( " Upper-Left: " );
-/*N*/ for( ::std::vector< SchSingleCell >::const_iterator aIter2 = (*aIter).maUpperLeft.maCells.begin();
-/*N*/ aIter2 != (*aIter).maUpperLeft.maCells.end();
-/*N*/ ++aIter2 )
-/*N*/ {
-/*N*/ OSL_TRACE( " Column: %d, Row: %d, Rel-Col: %s, Rel-Row: %s",
-/*N*/ (*aIter2).mnColumn, (*aIter2).mnRow,
-/*N*/ (*aIter2).mbRelativeColumn ? "true" : "false",
-/*N*/ (*aIter2).mbRelativeRow ? "true" : "false" );
-/*N*/ }
-/*N*/ OSL_TRACE( " Lower-Right: " );
-/*N*/ for( ::std::vector< SchSingleCell >::const_iterator aIter3 = (*aIter).maLowerRight.maCells.begin();
-/*N*/ aIter3 != (*aIter).maLowerRight.maCells.end();
-/*N*/ ++aIter3 )
-/*N*/ {
-/*N*/ OSL_TRACE( " Column: %d, Row: %d, Rel-Col: %s, Rel-Row: %s",
-/*N*/ (*aIter3).mnColumn, (*aIter3).mnRow,
-/*N*/ (*aIter3).mbRelativeColumn ? "true" : "false",
-/*N*/ (*aIter3).mbRelativeRow ? "true" : "false" );
-/*N*/ }
-/*N*/ OSL_TRACE(
-/*N*/ ::rtl::OUStringToOString(
-/*N*/ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( " Table-Name: \"" )) +
-/*N*/ (*aIter).msTableName +
-/*N*/ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "\", Number: " )) +
-/*N*/ ::rtl::OUString::valueOf( (*aIter).mnTableNumber ),
-/*N*/ RTL_TEXTENCODING_ASCII_US ).getStr() );
-/*N*/ }
-/*N*/ #endif
-/*N*/ }
-
-/** this is needed for export of charts embedded in calc
- for saving an XML document in old binary format
-*/
-/*N*/ ::rtl::OUString SchMemChart::createTableNumberList()
-/*N*/ {
-/*N*/ ::rtl::OUStringBuffer aBuffer;
-/*N*/ ::std::vector< SchCellRangeAddress >::iterator aIter;
-/*N*/ const ::std::vector< SchCellRangeAddress >::iterator aEndIter = maChartRange.maRanges.end();
-/*N*/ sal_Bool bStarted = sal_False;
-/*N*/
-/*N*/ for( aIter = maChartRange.maRanges.begin(); aIter != aEndIter; aIter++ )
-/*N*/ {
-/*N*/ if( aIter->mnTableNumber != -1 )
-/*N*/ {
-/*N*/ if( bStarted )
-/*?*/ aBuffer.append( (sal_Unicode)' ' );
-/*N*/ else
-/*N*/ bStarted = sal_True;
-/*N*/
-/*N*/ aBuffer.append( aIter->mnTableNumber );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return aBuffer.makeStringAndClear();
-/*N*/ }
-
-// prerequisite: maChartRange must be set and have the correct dimension
-// for all table numbers to fit in
-/*N*/ void SchMemChart::parseTableNumberList( const ::rtl::OUString& aList )
-/*N*/ {
-/*N*/ static const sal_Unicode aSpace( ' ' );
-/*N*/ sal_Int32 nChartRangeSize = maChartRange.maRanges.size();
-/*N*/ sal_Int32 nStartPos = 0, nEndPos;
-/*N*/ sal_Int32 nLength = aList.getLength();
-/*N*/ sal_Int32 nRangeNumber = 0;
-/*N*/
-/*N*/ while( nStartPos < nLength )
-/*N*/ {
-/*N*/ nEndPos = aList.indexOf( aSpace, nStartPos );
-/*N*/ if( nEndPos == -1 )
-/*N*/ nEndPos = nLength;
-/*N*/
-/*N*/ if( nStartPos != nEndPos ) // there were more than one space
-/*N*/ {
-/*N*/ if( nRangeNumber < nChartRangeSize )
-/*N*/ {
-/*N*/ maChartRange.maRanges[ nRangeNumber++ ].mnTableNumber =
-/*N*/ aList.copy( nStartPos, (nEndPos - nStartPos)).toInt32();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ OSL_FAIL( "SchMemChart::parseTableNumberList: Too many table numbers for chart range" );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ nStartPos = nEndPos + 1;
-/*N*/ }
-/*N*/ }
-
-
-// methods to modify SchChartRange
-// -------------------------------
-
-/*N*/ static sal_Int32 lcl_GetWriterBoxNum( String& rStr, BOOL bInFirst )
-/*N*/ {
-/*N*/ sal_Int32 nRet = 0;
-/*N*/ xub_StrLen nPos = 0;
-/*N*/ if( bInFirst )
-/*N*/ {
-/*N*/ // the first box starts with a letter
-/*N*/ sal_Unicode cChar;
-/*N*/ BOOL bFirst = TRUE;
-/*N*/ while( 0 != ( cChar = rStr.GetChar( nPos )) &&
-/*N*/ ( (cChar >= 'A' && cChar <= 'Z') ||
-/*N*/ (cChar >= 'a' && cChar <= 'z') ) )
-/*N*/ {
-/*N*/ if( (cChar -= 'A') >= 26 )
-/*N*/ cChar -= 'a' - '[';
-/*N*/ if( bFirst )
-/*N*/ bFirst = FALSE;
-/*N*/ else
-/*N*/ ++nRet;
-/*N*/ nRet = nRet * 52 + cChar;
-/*N*/ ++nPos;
-/*N*/ }
-/*N*/ rStr.Erase( 0, nPos ); // remove the read characters
-/*N*/ }
-/*N*/ else if( STRING_NOTFOUND == ( nPos = rStr.Search( ':' ) ))
-/*N*/ {
-/*N*/ nRet = rStr.ToInt32();
-/*N*/ rStr.Erase();
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ nRet = rStr.Copy( 0, nPos ).ToInt32();
-/*N*/ rStr.Erase( 0, nPos+1 );
-/*N*/ }
-/*N*/ return nRet;
-/*N*/ }
-
-/*N*/ static void lcl_GetWriterTblBox( const String& rStr,
-/*N*/ SchCellAddress& rToFill )
-/*N*/ {
-/*N*/ BOOL bFirst = TRUE;
-/*N*/ String sNm( rStr );
-/*N*/ while( sNm.Len() )
-/*N*/ {
-/*N*/ SchSingleCell aCell;
-/*N*/ aCell.mnColumn = ::binfilter::lcl_GetWriterBoxNum( sNm, bFirst );
-/*N*/ bFirst = FALSE;
-/*N*/ aCell.mnRow = ::binfilter::lcl_GetWriterBoxNum( sNm, bFirst );
-/*N*/ rToFill.maCells.push_back( aCell );
-/*N*/ }
-/*N*/ }
-
-/*N*/ String lcl_GetWriterBoxName( const SchCellAddress& rCell )
-/*N*/ {
-/*N*/ String sNm;
-/*N*/
-/*N*/ ::std::vector< SchSingleCell >::const_iterator aIter = rCell.maCells.begin();
-/*N*/ const ::std::vector< SchSingleCell >::const_iterator aEnd = rCell.maCells.end();
-/*N*/ BOOL bFirst = TRUE;
-/*N*/ for( ; aIter != aEnd; aIter++ )
-/*N*/ {
-/*N*/ String sTmp( String::CreateFromInt32( aIter->mnRow ));
-/*N*/ if( sNm.Len() )
-/*N*/ sNm.Insert( '.', 0 ).Insert( sTmp, 0 );
-/*N*/ else
-/*N*/ sNm = sTmp;
-/*N*/
-/*N*/ if( bFirst )
-/*N*/ {
-/*N*/ const sal_Int32 coDiff = 52; // 'A'-'Z' 'a' - 'z'
-/*N*/ register sal_Int32 nCalc, nCol = aIter->mnColumn;
-/*N*/
-/*N*/ do {
-/*N*/ nCalc = nCol % coDiff;
-/*N*/ if( nCalc >= 26 )
-/*N*/ sNm.Insert( sal_Unicode('a' - 26 + nCalc ), 0 );
-/*N*/ else
-/*N*/ sNm.Insert( sal_Unicode('A' + nCalc ), 0 );
-/*N*/
-/*N*/ if( !(nCol -= nCalc) )
-/*N*/ break;
-/*N*/ nCol /= coDiff;
-/*N*/ --nCol;
-/*N*/ } while( 1 );
-/*N*/ bFirst = FALSE;
-/*N*/ }
-/*N*/ else
-/*N*/ sNm.Insert( '.', 0 ).Insert(
-/*N*/ String::CreateFromInt32( aIter->mnColumn ), 0 );
-/*N*/ }
-/*N*/ return sNm;
-/*N*/ }
-
-
-/// convert SomeData string(s) to SchChartRange and vice versa for Writer
-/*N*/ bool SchMemChart::ConvertChartRangeForWriter( BOOL bOldToNew )
-/*N*/ {
-/*N*/ if( bOldToNew ) // convert SomeData1 to SchChartRange
-/*N*/ {
-/*N*/ SchChartRange aRange;
-/*N*/ if( 2 < aSomeData1.Len() )
-/*N*/ {
-/*N*/ // spitze Klammern am Anfang & Ende enfernen
-/*N*/ String sBox( aSomeData1 );
-/*N*/ if( '<' == sBox.GetChar( 0 ) ) sBox.Erase( 0, 1 );
-/*N*/ if( '>' == sBox.GetChar( sBox.Len()-1 ) ) sBox.Erase( sBox.Len()-1 );
-/*N*/
-/*N*/ xub_StrLen nTrenner = sBox.Search( ':' );
- if( STRING_NOTFOUND == nTrenner )
- return false;
-
-/*N*/ // DBG_ASSERT( STRING_NOTFOUND != nTrenner, "no valid selection" );
-/*N*/
-/*N*/ SchCellRangeAddress aCRA;
-/*N*/ ::binfilter::lcl_GetWriterTblBox( sBox.Copy( 0, nTrenner ), aCRA.maUpperLeft );
-/*N*/ ::binfilter::lcl_GetWriterTblBox( sBox.Copy( nTrenner+1 ), aCRA.maLowerRight );
-/*N*/ aRange.maRanges.push_back( aCRA );
-/*N*/ }
-/*N*/ if( aSomeData2.Len() )
-/*N*/ {
-/*N*/ aRange.mbFirstRowContainsLabels = '1' == aSomeData2.GetChar(0);
-/*N*/ aRange.mbFirstColumnContainsLabels = '1' == aSomeData2.GetChar(1);
-/*N*/ }
-/*N*/ SetChartRange( aRange );
-/*N*/ }
-/*N*/ else // convert SchChartRange to SomeData1
-/*N*/ {
-/*N*/ String sData1, sData2;
-/*N*/ const SchChartRange& rRg = GetChartRange();
-/*N*/ if( rRg.maRanges.size() )
-/*N*/ {
-/*N*/ ::std::vector< SchCellRangeAddress >::const_iterator
-/*N*/ aIter = rRg.maRanges.begin();
-/*N*/ sData1.Assign( '<' )
-/*N*/ .Append( ::binfilter::lcl_GetWriterBoxName( aIter->maUpperLeft ))
-/*N*/ .Append( ':' )
-/*N*/ .Append( ::binfilter::lcl_GetWriterBoxName( aIter->maLowerRight ))
-/*N*/ .Append( '>' );
-/*N*/
-/*N*/ sData2.Assign( rRg.mbFirstRowContainsLabels ? '1' : '0' )
-/*N*/ .Append( rRg.mbFirstColumnContainsLabels ? '1' : '0' );
-/*N*/ }
-/*N*/ aSomeData1 = sData1;
-/*N*/ aSomeData2 = sData2;
-/*N*/ }
- return true;
-/*N*/ }
-
-/// convert SomeData string(s) to SchChartRange and vice versa for Calc
-/*N*/ bool SchMemChart::ConvertChartRangeForCalc( BOOL bOldToNew )
-/*N*/ {
-/*N*/ if( bOldToNew )
-/*N*/ { // convert SomeData1/2/3 to SchChartRange
- if( ! SomeData1().Len() || ! SomeData2().Len() || ! SomeData3().Len())
- return false;
-/*N*/ // DBG_ASSERT( SomeData1().Len() && SomeData2().Len() && SomeData3().Len(),
-/*N*/ // "ConvertChartRangeForCalc: can't convert old to new" );
-/*N*/ SchChartRange aChartRange;
-/*N*/ const sal_Unicode cTok = ';';
-/*N*/ xub_StrLen nToken;
-/*N*/ String aPos = SomeData1();
-/*N*/ if ( (nToken = aPos.GetTokenCount( cTok )) >= 5)
-/*N*/ {
-/*N*/ aChartRange.mbKeepCopyOfData = sal_False;
-/*N*/ String aOpt = SomeData2();
-/*N*/ xub_StrLen nOptToken = aOpt.GetTokenCount( cTok );
-/*N*/ BOOL bNewChart = (nOptToken >= 4); // as of 341/342
-/*N*/ DBG_ASSERT( SomeData3().Len(), "ConvertChartRangeForCalc: no sheet names" );
-/*N*/ String aSheetNames = SomeData3(); // as of 638m
-/*N*/ USHORT nCol1, nRow1, nTab1, nCol2, nRow2, nTab2;
-/*N*/ xub_StrLen nInd = 0;
-/*N*/ xub_StrLen nSheetInd = 0;
-/*N*/ for ( xub_StrLen j=0; j < nToken; j+=5 )
-/*N*/ {
-/*N*/ xub_StrLen nInd2 = nInd;
- // #i73906#, #144135# if table number is -1 avoid conversion to 65535
- {
- sal_Int32 nTableNum = aPos.GetToken( 0, cTok, nInd ).ToInt32();
- nTab1 = (nTableNum<0 ? 0: static_cast< USHORT >( nTableNum ));
- }
-/*N*/ // To make old versions (<341/342) skip it, the token separator
-/*N*/ // is a ','
-/*N*/ if ( bNewChart )
- {
- // #i73906#, #144135# if table number is -1 avoid conversion to 65535
- sal_Int32 nTableNum = aPos.GetToken( 1, ',', nInd2 ).ToInt32();
- nTab2 = (nTableNum<0 ? 0: static_cast< USHORT >( nTableNum ));
- }
-/*N*/ else
-/*N*/ nTab2 = nTab1;
-/*N*/ nCol1 = (USHORT) aPos.GetToken( 0, cTok, nInd ).ToInt32();
-/*N*/ nRow1 = (USHORT) aPos.GetToken( 0, cTok, nInd ).ToInt32();
-/*N*/ nCol2 = (USHORT) aPos.GetToken( 0, cTok, nInd ).ToInt32();
-/*N*/ nRow2 = (USHORT) aPos.GetToken( 0, cTok, nInd ).ToInt32();
-/*N*/ for ( USHORT nTab = nTab1; nTab <= nTab2; ++nTab )
-/*N*/ {
-/*N*/ SchCellRangeAddress aCellRangeAddress;
-/*N*/ SchSingleCell aCell;
-/*N*/ aCell.mnColumn = nCol1;
-/*N*/ aCell.mnRow = nRow1;
-/*N*/ aCellRangeAddress.maUpperLeft.maCells.push_back( aCell );
-/*N*/ aCell.mnColumn = nCol2;
-/*N*/ aCell.mnRow = nRow2;
-/*N*/ aCellRangeAddress.maLowerRight.maCells.push_back( aCell );
-/*N*/ aCellRangeAddress.mnTableNumber = nTab;
-/*N*/ String aName( aSheetNames.GetToken( 0, cTok, nSheetInd ) );
-/*N*/ aCellRangeAddress.msTableName = aName;
-/*N*/ aChartRange.maRanges.push_back( aCellRangeAddress );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ if ( aOpt.Len() >= 2 )
-/*N*/ {
-/*N*/ aChartRange.mbFirstRowContainsLabels = ( aOpt.GetChar(0) != '0' );
-/*N*/ aChartRange.mbFirstColumnContainsLabels = ( aOpt.GetChar(1) != '0' );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aChartRange.mbFirstColumnContainsLabels = sal_False;
-/*N*/ aChartRange.mbFirstRowContainsLabels = sal_False;
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ aChartRange.mbFirstColumnContainsLabels = sal_False;
-/*N*/ aChartRange.mbFirstRowContainsLabels = sal_False;
-/*N*/ aChartRange.mbKeepCopyOfData = sal_True;
-/*N*/ }
-/*N*/ SetChartRange( aChartRange );
-/*N*/ }
-/*N*/ else
-/*N*/ { // convert SchChartRange to SomeData1/2/3
-/*N*/ const sal_Unicode cTok = ';';
-/*N*/ String aRef, aSheetNames;
-/*N*/ const SchChartRange& rChartRange = GetChartRange();
-/*N*/ ::std::vector< SchCellRangeAddress >::const_iterator iRange =
-/*N*/ rChartRange.maRanges.begin();
-/*N*/ DBG_ASSERT( iRange != rChartRange.maRanges.end(),
-/*N*/ "ConvertChartRangeForCalc: no SchCellRangeAddress vector" );
-/*N*/ for ( ; iRange != rChartRange.maRanges.end(); ++iRange )
-/*N*/ {
-/*N*/ const SchSingleCell& rAddr1 = iRange->maUpperLeft.maCells[0];
-/*N*/ const SchSingleCell& rAddr2 = iRange->maLowerRight.maCells[0];
-/*N*/ sal_Int32 nTab = iRange->mnTableNumber;
- // #i73906#, #144135# do not export -1 as table number
- if( nTab < 0 )
- nTab = 0;
-/*N*/ if ( aRef.Len() )
-/*N*/ aRef += cTok;
-/*N*/ aRef += String::CreateFromInt32( nTab );
-/*N*/ // here ',' as TokenSep so old versions (<341/342) will ignore it
-/*N*/ aRef += ','; aRef += String::CreateFromInt32( nTab );
-/*N*/ aRef += cTok; aRef += String::CreateFromInt32( rAddr1.mnColumn );
-/*N*/ aRef += cTok; aRef += String::CreateFromInt32( rAddr1.mnRow );
-/*N*/ aRef += cTok; aRef += String::CreateFromInt32( rAddr2.mnColumn );
-/*N*/ aRef += cTok; aRef += String::CreateFromInt32( rAddr2.mnRow );
-/*N*/ if ( aSheetNames.Len() )
-/*N*/ aSheetNames += cTok;
-/*N*/ aSheetNames += String( iRange->msTableName );
-/*N*/ }
-/*N*/
-/*N*/ String aFlags = rChartRange.mbFirstRowContainsLabels ? '1' : '0';
-/*N*/ aFlags += rChartRange.mbFirstColumnContainsLabels ? '1' : '0';
-/*N*/
-/*N*/ SomeData1() = aRef;
-/*N*/ SomeData2() = aFlags;
-/*N*/ SomeData3() = aSheetNames;
-/*N*/ }
- return true;
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_objadj.cxx b/binfilter/bf_sch/source/core/sch_objadj.cxx
deleted file mode 100644
index 31a6eeedb..000000000
--- a/binfilter/bf_sch/source/core/sch_objadj.cxx
+++ /dev/null
@@ -1,126 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include "objadj.hxx"
-#include "glob.hxx"
-
-#include <tools/debug.hxx>
-
-namespace binfilter {
-
-
-
-
-/*************************************************************************
-|*
-|* Objekt-Ausrichting ermitteln
-|*
-\************************************************************************/
-
-/*N*/ SchObjectAdjust* GetObjectAdjust(const SdrObject& rObj)
-/*N*/ {
-/*N*/ for (USHORT i = 0; i < rObj.GetUserDataCount(); i++)
-/*N*/ {
-/*N*/ SdrObjUserData *pData = rObj.GetUserData(i);
-/*N*/ if (pData && pData->GetId() == SCH_OBJECTADJUST_ID)
-/*N*/ return (SchObjectAdjust*)pData;
-/*N*/ }
-/*N*/
-/*?*/ return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchObjectAdjust::SchObjectAdjust() :
-/*N*/ SdrObjUserData(SchInventor, SCH_OBJECTADJUST_ID, 1),
-/*N*/ eAdjust(CHADJUST_TOP_LEFT),
-/*N*/ eOrient(CHTXTORIENT_STANDARD)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchObjectAdjust::SchObjectAdjust(ChartAdjust eAdj,
-/*N*/ SvxChartTextOrient eOr) :
-/*N*/ SdrObjUserData(SchInventor, SCH_OBJECTADJUST_ID, 1),
-/*N*/ eAdjust(eAdj),
-/*N*/ eOrient(eOr)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Kopie erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjUserData* SchObjectAdjust::Clone(SdrObject *) const
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP"); return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Daten aus Stream lesen
-|*
-\************************************************************************/
-
-/*N*/ void SchObjectAdjust::ReadData(SvStream& rIn)
-/*N*/ {
-/*N*/ SdrObjUserData::ReadData(rIn);
-/*N*/
-/*N*/ INT16 nInt16;
-/*N*/
-/*N*/ rIn >> nInt16; eAdjust = (ChartAdjust)nInt16;
-/*N*/
-/*N*/ if (nVersion < 1)
-/*?*/ eOrient = CHTXTORIENT_STANDARD;
-/*N*/ else
-/*N*/ {
-/*N*/ rIn >> nInt16; eOrient = (SvxChartTextOrient)nInt16;
-/*N*/ }
-/*N*/
-/*N*/ }
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_objfac.cxx b/binfilter/bf_sch/source/core/sch_objfac.cxx
deleted file mode 100644
index 756f5ec50..000000000
--- a/binfilter/bf_sch/source/core/sch_objfac.cxx
+++ /dev/null
@@ -1,114 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include "axisid.hxx"
-#include "schgroup.hxx"
-#include "objfac.hxx"
-#include "objid.hxx"
-#include "objadj.hxx"
-#include "datarow.hxx"
-#include "datapoin.hxx"
-#include "glob.hxx"
-namespace binfilter {
-
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchObjFactory::SchObjFactory() :
-/*N*/ bInserted(FALSE)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Chart-interne Objekte erzeugen
-|*
-\************************************************************************/
-
-/*N*/ IMPL_LINK( SchObjFactory, MakeObject, SdrObjFactory*, pObjFactory)
-/*N*/ {
-/*N*/ if (pObjFactory->nInventor == SchInventor &&
-/*N*/ pObjFactory->nIdentifier == SCH_OBJGROUP_ID)
-/*N*/ pObjFactory->pNewObj = new SchObjGroup;
-/*N*/
-/*N*/ return 0;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Chart-Userdata erzeugen
-|*
-\************************************************************************/
-
-/*N*/ IMPL_LINK( SchObjFactory, MakeUserData, SdrObjFactory* ,pObjFactory)
-/*N*/ {
-/*N*/ if (pObjFactory->nInventor == SchInventor)
-/*N*/ switch (pObjFactory->nIdentifier)
-/*N*/ {
-/*N*/ case SCH_OBJECTID_ID:
-/*N*/ pObjFactory->pNewData = new SchObjectId;
-/*N*/ break;
-/*N*/
-/*N*/ case SCH_OBJECTADJUST_ID:
-/*N*/ pObjFactory->pNewData = new SchObjectAdjust;
-/*N*/ break;
-/*N*/
-/*N*/ case SCH_DATAROW_ID:
-/*N*/ pObjFactory->pNewData = new SchDataRow;
-/*N*/ break;
-/*N*/
-/*N*/ case SCH_DATAPOINT_ID:
-/*N*/ pObjFactory->pNewData = new SchDataPoint;
-/*N*/ break;
-/*N*/
-/*N*/ case SCH_LIGHTFACTOR_ID:
-/*?*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*?*/ OSL_FAIL("SCH_LIGHTFACTOR_ID no longer available");
-/*?*/ break;
-/*N*/
-/*N*/ case SCH_AXIS_ID :
-/*N*/ pObjFactory->pNewData = new SchAxisId;
-/*N*/ break;
-/*N*/ }
-/*N*/
-/*N*/ return 0;
-/*N*/ }
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_objid.cxx b/binfilter/bf_sch/source/core/sch_objid.cxx
deleted file mode 100644
index ff0aaa1b4..000000000
--- a/binfilter/bf_sch/source/core/sch_objid.cxx
+++ /dev/null
@@ -1,144 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include "objid.hxx"
-#include "glob.hxx"
-
-#include "defines.hxx"
-
-#include <tools/debug.hxx>
-namespace binfilter {
-/*************************************************************************
-|*
-|* Objekt-Id ermitteln;
-|* Liefert -1, wenn das Objekt keine Id hat
-|*
-\************************************************************************/
-
-/*N*/ SchObjectId* GetObjectId(const SdrObject& rObj)
-/*N*/ {
-/*N*/ for (USHORT i = 0; i < rObj.GetUserDataCount(); i++)
-/*N*/ {
-/*N*/ SdrObjUserData *pData = rObj.GetUserData(i);
-/*N*/ if (pData && pData->GetId() == SCH_OBJECTID_ID)
-/*N*/ return (SchObjectId*)pData;
-/*N*/ }
-/*N*/
-/*N*/ return NULL;
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Objekt mit Id suchen;
-|* liefert NULL, wenn kein Objekt gefunden wurde.
-|*
-\************************************************************************/
-
-/*N*/ SdrObject* GetObjWithId(UINT16 nObjId, const SdrObjList& rObjList,
-/*N*/ ULONG* pIndex, SdrIterMode eMode)
-/*N*/ {
-/*N*/ ULONG nIndex = 0;
-/*N*/
-/*N*/ SdrObjListIter aIterator(rObjList, eMode);
-/*N*/ while (aIterator.IsMore())
-/*N*/ {
-/*N*/ SdrObject* pObj = aIterator.Next();
-/*N*/ SchObjectId* pObjId = GetObjectId(*pObj);
-/*N*/ if (pObjId && pObjId->GetObjId() == nObjId)
-/*N*/ {
-/*N*/ if (pIndex)
-/*?*/ *pIndex = nIndex;
-/*N*/ return pObj;
-/*N*/ }
-/*N*/
-/*N*/ nIndex++;
-/*N*/ }
-/*N*/
-/*N*/ return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Alle Objekt mit Id=nObjId Attributieren,
-|*
-\************************************************************************/
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchObjectId::SchObjectId() :
-/*N*/ SdrObjUserData(SchInventor, SCH_OBJECTID_ID, 0),
-/*N*/ nObjId(0)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchObjectId::SchObjectId(UINT16 nId) :
-/*N*/ SdrObjUserData(SchInventor, SCH_OBJECTID_ID, 0),
-/*N*/ nObjId(nId)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Kopie erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SdrObjUserData* SchObjectId::Clone(SdrObject *) const
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP"); return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Daten aus Stream lesen
-|*
-\************************************************************************/
-
-/*N*/ void SchObjectId::ReadData(SvStream& rIn)
-/*N*/ {
-/*N*/ SdrObjUserData::ReadData(rIn);
-/*N*/
-/*N*/ rIn >> nObjId;
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_schgroup.cxx b/binfilter/bf_sch/source/core/sch_schgroup.cxx
deleted file mode 100644
index a5657f099..000000000
--- a/binfilter/bf_sch/source/core/sch_schgroup.cxx
+++ /dev/null
@@ -1,235 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-
-#include "glob.hxx"
-#include "schgroup.hxx"
-#include <math.h>
-namespace binfilter {
-
-/*N*/ TYPEINIT1(SchObjGroup, SdrObjGroup);
-
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*N*/ SchObjGroup::SchObjGroup(ChartModel *pChmodel) :
-/*N*/ SdrObjGroup(),
-/*N*/ bAskForLogicRect(TRUE),
-/*N*/ mbUseChartInventor( true )
-/*N*/ {
-/*N*/ // FG: Damit soll es Objekten im chart ermoeglicht werden sich wie ein
-/*N*/ // Objekt im Draw zu verhalten falls gewünscht. Nicht alles was
-/*N*/ // prinzipiell geht soll man auch koennen.
-/*N*/ aInfo.bResizeFreeAllowed = TRUE;
-/*N*/ aInfo.bResizePropAllowed = TRUE;
-/*N*/ aInfo.bRotateFreeAllowed = TRUE;
-/*N*/ aInfo.bRotate90Allowed = TRUE;
-/*N*/ aInfo.bMirrorFreeAllowed = FALSE;
-/*N*/ aInfo.bMirror45Allowed = FALSE;
-/*N*/ aInfo.bMirror90Allowed = FALSE;
-/*N*/ aInfo.bShearAllowed = TRUE;
-/*N*/
-/*N*/ eChartGroupType = NOTHING;
-/*N*/ pChartmodel = pChmodel;
-/*N*/ SetModel( pChartmodel );
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Destruktor
-|*
-\************************************************************************/
-
-/*N*/ SchObjGroup::~SchObjGroup()
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Identifier zurueckgeben
-|*
-\************************************************************************/
-
-/*N*/ UINT32 SchObjGroup::GetObjInventor() const
-/*N*/ {
-/*N*/ if( mbUseChartInventor )
-/*N*/ return SchInventor;
-/*N*/ else
-/*?*/ return SdrInventor;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Identifier zurueckgeben
-|*
-\************************************************************************/
-
-/*N*/ UINT16 SchObjGroup::GetObjIdentifier() const
-/*N*/ {
-/*N*/ return SCH_OBJGROUP_ID;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Handle-Anzahl bestimmen
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Handle erzeugen
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Handle-Liste fuellen
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Identifier zurueckgeben
-|*
-\************************************************************************/
-
-
-
-/*************************************************************************
-|*
-|* Faehigkeiten der Chart-Gruppe feststellen
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Faehigkeiten der Chart-Gruppe zuweisen
-|*
-\************************************************************************/
-
-/*N*/ void SchObjGroup::SetObjInfo(SdrObjTransformInfoRec aMyInfo)
-/*N*/ {
-/*N*/ // FG: Damit soll es Objekten im chart ermoeglicht werden sich wie ein
-/*N*/ // Objekt im Draw zu verhalten falls gewünscht.
-/*N*/ aInfo.bResizeFreeAllowed = aMyInfo.bResizeFreeAllowed;
-/*N*/ aInfo.bResizePropAllowed = aMyInfo.bResizePropAllowed;
-/*N*/ aInfo.bRotateFreeAllowed = aMyInfo.bRotateFreeAllowed;
-/*N*/ aInfo.bRotate90Allowed = aMyInfo.bRotate90Allowed;
-/*N*/ aInfo.bMirrorFreeAllowed = aMyInfo.bMirrorFreeAllowed;
-/*N*/ aInfo.bMirror45Allowed = aMyInfo.bMirror45Allowed;
-/*N*/ aInfo.bMirror90Allowed = aMyInfo.bMirror90Allowed;
-/*N*/ aInfo.bShearAllowed = aMyInfo.bShearAllowed;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Wirkliches Resize einer Chart-Gruppe (ohne Broadcast)
-|* Bei manchen Chart-Gruppen ist eine Neuberechnung bei einem Resize
-|* besser als ein hartes Resize.
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Um das Verhalten bei einem Resize in Abhaehngigkeit des selektierten
-|* Objektes zu ernoeglichen. Bei Diagramme werden nicht die Teilobjekte
-|* Resized sondern das Chart in den neuen Grenzen aufgebaut.
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Um mitzubekommen welche Objekte bewegt werden. Leider wird das
-|* nicht nur vom Benutzer verursacht.
-|*
-\************************************************************************/
-
-/*N*/ void SchObjGroup::Move(const Size& rSiz)
-/*N*/ {
-/*N*/
-/*N*/ if (eChartGroupType == DIAGRAM)
-/*N*/ {
-/*?*/ DBG_ASSERT( pChartmodel, "No Model" );
-/*?*/ if (pChartmodel != NULL)
-/*?*/ {
-/*?*/ Rectangle aRectChart = pChartmodel->GetChartRect();
-/*?*/ Rectangle aRect = GetBoundRect();
-/*?*/ Point aPointBottomLeftRectChart = aRectChart.BottomLeft();
-/*?*/ Point aPointBottomLeftBoundRect = aRect.BottomLeft();
-/*?*/ Point aPointTopRightRectChart = aRectChart.TopRight();
-/*?*/ Point aPointTopRightBoundRect = aRect.TopRight();
-/*?*/ Point aDifferenceLeftBottom = aPointBottomLeftRectChart - aPointBottomLeftBoundRect;
-/*?*/ Point aDifferenceTopRight = aPointTopRightRectChart - aPointTopRightBoundRect;
-/*?*/ aRect.Left() += rSiz.Width();
-/*?*/ aRect.Right() += rSiz.Width();
-/*?*/ aRect.Top() += rSiz.Height();
-/*?*/ aRect.Bottom() += rSiz.Height();
-/*?*/ bAskForLogicRect = FALSE;
-/*?*/ aRect.Left() += aDifferenceLeftBottom.X();
-/*?*/ aRect.Bottom() += aDifferenceLeftBottom.Y();
-/*?*/ aRect.Right() += aDifferenceTopRight.X();
-/*?*/ aRect.Top() += aDifferenceTopRight.Y();
-/*?*/ pChartmodel->SetDiagramRectangle(aRect);
-/*?*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ SdrObjGroup::Move(rSiz);
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Um mitzubekommen welche Objekte bewegt werden. Leider wird das
-|* nicht nur vom Benutzer verursacht.
-|*
-\************************************************************************/
-
-
-/*N*/ void SchObjGroup::SetUseChartInventor( bool bUseChartInventor )
-/*N*/ {
-/*N*/ mbUseChartInventor = bUseChartInventor;
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_schiocmp.cxx b/binfilter/bf_sch/source/core/sch_schiocmp.cxx
deleted file mode 100644
index df97d183b..000000000
--- a/binfilter/bf_sch/source/core/sch_schiocmp.cxx
+++ /dev/null
@@ -1,61 +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.
- *
- ************************************************************************/
-
-#include <tools/debug.hxx>
-#include "schiocmp.hxx"
-namespace binfilter {
-
-
-// CTOR: writes/reads version number
-
-/*N*/ SchIOCompat::SchIOCompat( SvStream& rNewStream, USHORT nNewMode,
-/*N*/ UINT16 nVer ) :
-/*N*/ SdrDownCompat( rNewStream, nNewMode, TRUE ),
-/*N*/ nVersion( nVer )
-/*N*/ {
-/*N*/ switch( nNewMode )
-/*N*/ {
-/*N*/ case STREAM_WRITE:
-/*N*/ DBG_ASSERT( nVer != SCHIOCOMPAT_VERSIONDONTKNOW,
-/*N*/ "Requesting writing of unknown File Version" );
-/*N*/ rNewStream << nVersion;
-/*N*/ break;
-/*N*/
-/*N*/ case STREAM_READ:
-/*N*/ DBG_ASSERT( nVer == SCHIOCOMPAT_VERSIONDONTKNOW,
-/*N*/ "Requesting reading of unknown File Version" );
-/*N*/ rNewStream >> nVersion;
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_stlpool.cxx b/binfilter/bf_sch/source/core/sch_stlpool.cxx
deleted file mode 100644
index a784bcd81..000000000
--- a/binfilter/bf_sch/source/core/sch_stlpool.cxx
+++ /dev/null
@@ -1,86 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-
-#include "stlpool.hxx"
-#include "stlsheet.hxx"
-namespace binfilter {
-
-
-/*************************************************************************
-|*
-|* Ctor
-|*
-\************************************************************************/
-
-/*N*/ SchStyleSheetPool::SchStyleSheetPool(SfxItemPool& rInPool) :
-/*N*/ SfxStyleSheetPool(rInPool),
-/*N*/ pActualStyleSheet(NULL)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Dtor
-|*
-\************************************************************************/
-
-/*N*/ SchStyleSheetPool::~SchStyleSheetPool()
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Vorlage erzeugen
-|*
-\************************************************************************/
-
-/*N*/ SfxStyleSheetBase* SchStyleSheetPool::Create(const String& rName,
-/*N*/ SfxStyleFamily eFamily,
-/*N*/ USHORT nInMask )
-/*N*/ {
-/*N*/ return new SchStyleSheet(rName, *this, eFamily, nInMask);
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Vorlage nach Vorbild erzeugen
-|*
-\************************************************************************/
-
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/core/sch_stlsheet.cxx b/binfilter/bf_sch/source/core/sch_stlsheet.cxx
deleted file mode 100644
index a628162ff..000000000
--- a/binfilter/bf_sch/source/core/sch_stlsheet.cxx
+++ /dev/null
@@ -1,153 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <bf_svx/eeitem.hxx>
-
-#include <bf_svx/xdef.hxx>
-
-
-#include <bf_svtools/itemset.hxx>
-
-#include <bf_svtools/smplhint.hxx>
-
-#include "stlsheet.hxx"
-namespace binfilter {
-
-/*N*/ TYPEINIT1(SchStyleSheet, SfxStyleSheet);
-
-
-/*************************************************************************
-|*
-|* Ctor
-|*
-\************************************************************************/
-
-/*N*/ SchStyleSheet::SchStyleSheet(const String& rName, SfxStyleSheetBasePool& rInPool,
-/*N*/ SfxStyleFamily eFamily, USHORT nInMask) :
-/*N*/ SfxStyleSheet(rName, rInPool, eFamily, nInMask)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Dtor
-|*
-\************************************************************************/
-
-/*N*/ SchStyleSheet::~SchStyleSheet()
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Load
-|*
-\************************************************************************/
-
-/*N*/ void SchStyleSheet::Load (SvStream&, USHORT)
-/*N*/ {
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Parent setzen
-|*
-\************************************************************************/
-
-/*N*/ BOOL SchStyleSheet::SetParent(const String& rParentName)
-/*N*/ {
-/*N*/ if (SfxStyleSheet::SetParent(rParentName))
-/*N*/ {
-/*N*/ SfxStyleSheetBase* pStyle = rPool.Find(rParentName, nFamily);
-/*N*/
-/*N*/ if (pStyle)
-/*N*/ {
-/*?*/ SfxItemSet& rParentSet = pStyle->GetItemSet();
-/*?*/ GetItemSet().SetParent(&rParentSet);
-/*?*/ Broadcast(SfxSimpleHint(SFX_HINT_DATACHANGED));
-/*?*/
-/*?*/ return TRUE;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return FALSE;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* ItemSet ggfs. erzeugen und herausreichen
-|*
-\************************************************************************/
-
-/*N*/ SfxItemSet& SchStyleSheet::GetItemSet()
-/*N*/ {
-/*N*/ if (!pSet)
-/*N*/ {
-/*N*/ USHORT nWhichPairTable[] = { XATTR_LINE_FIRST, XATTR_LINE_LAST,
-/*N*/ XATTR_FILL_FIRST, XATTR_FILL_LAST,
-/*N*/ EE_PARA_START, EE_CHAR_END,
-/*N*/ (USHORT)0 };
-/*N*/
-/*N*/ pSet = new SfxItemSet(GetPool().GetPool(), nWhichPairTable);
-/*N*/ bMySet = TRUE; //Eigentum erklaeren, damit der DTor der Basisklasse den
-/*N*/ //Set wieder abraeumt.
-/*N*/ }
-/*N*/
-/*N*/ return *pSet;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* IsUsed(), wird an Listeners erkannt
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/filter/xml/makefile.mk b/binfilter/bf_sch/source/filter/xml/makefile.mk
deleted file mode 100644
index c81f6d048..000000000
--- a/binfilter/bf_sch/source/filter/xml/makefile.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ = ..$/..$/..$/..
-BFPRJ = ..$/..$/..
-PRJNAME = binfilter
-TARGET = sch_xml
-ENABLE_EXCEPTIONS = TRUE
-
-# --- Settings -----------------------------------------------------
-.INCLUDE : settings.mk
-INC+= -I$(PRJ)$/inc$/bf_sch
-# --- Files --------------------------------------------------------
-
-SLOFILES = $(SLO)$/sch_SchXMLWrapper.obj
-
-# --- Targets --------------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/binfilter/bf_sch/source/filter/xml/sch_SchXMLWrapper.cxx b/binfilter/bf_sch/source/filter/xml/sch_SchXMLWrapper.cxx
deleted file mode 100644
index 727a87426..000000000
--- a/binfilter/bf_sch/source/filter/xml/sch_SchXMLWrapper.cxx
+++ /dev/null
@@ -1,270 +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.
- *
- ************************************************************************/
-
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/task/XStatusIndicatorSupplier.hpp>
-#include <com/sun/star/document/XImporter.hpp>
-#include <com/sun/star/document/XFilter.hpp>
-#include <com/sun/star/document/XExporter.hpp>
-
-#include <bf_sfx2/docfile.hxx>
-#include <bf_svtools/sfxecode.hxx>
-
-#include "SchXMLWrapper.hxx"
-
-#include <unotools/streamwrap.hxx>
-#include <bf_svx/xmlgrhlp.hxx>
-#include <tools/debug.hxx>
-
-#include <comphelper/genericpropertyset.hxx>
-
-#include <bf_svtools/saveopt.hxx>
-
-#include <com/sun/star/xml/sax/XParser.hpp>
-#include <com/sun/star/io/XActiveDataSource.hpp>
-#include <com/sun/star/xml/sax/SAXParseException.hpp>
-#include <com/sun/star/packages/zip/ZipIOException.hpp>
-
-#include <legacysmgr/legacy_binfilters_smgr.hxx>
-namespace binfilter {
-
-#define XML_STRING(i, x) sal_Char const i[sizeof(x)] = x
-#define MAP_LEN(x) x, sizeof(x) - 1
-
-XML_STRING( sXML_metaStreamName, "meta.xml");
-XML_STRING( sXML_styleStreamName, "styles.xml" );
-XML_STRING( sXML_contentStreamName, "content.xml" );
-XML_STRING( sXML_oldContentStreamName, "Content.xml" );
-
-XML_STRING( sXML_export_chart_meta_service, "com.sun.star.comp.Chart.XMLMetaExporter" );
-XML_STRING( sXML_export_chart_styles_service, "com.sun.star.comp.Chart.XMLStylesExporter" );
-XML_STRING( sXML_export_chart_content_service, "com.sun.star.comp.Chart.XMLContentExporter" );
-XML_STRING( sXML_export_chart_old_content_service, "com.sun.star.office.sax.exporter.Chart" );
-
-XML_STRING( sXML_import_chart_meta_service, "com.sun.star.comp.Chart.XMLMetaImporter" );
-XML_STRING( sXML_import_chart_styles_service, "com.sun.star.comp.Chart.XMLStylesImporter" );
-XML_STRING( sXML_import_chart_content_service, "com.sun.star.comp.Chart.XMLContentImporter" );
-XML_STRING( sXML_import_chart_old_content_service, "com.sun.star.office.sax.importer.Chart" );
-
-using namespace ::com::sun::star;
-using namespace ::rtl;
-using namespace comphelper;
-
-/*N*/ SchXMLWrapper::SchXMLWrapper( uno::Reference< frame::XModel >& xModel,
-/*N*/ SvStorage& rStorage,
-/*N*/ sal_Bool bShowProgress ) :
-/*N*/ mxModel( xModel ),
-/*N*/ mrStorage( rStorage ),
-/*N*/ mbShowProgress( bShowProgress )
-/*N*/ {}
-
-// -----------------------------------------------------------------------------
-
-/*N*/ sal_Bool SchXMLWrapper::ExportStream(
-/*N*/ const ::rtl::OUString& rsStreamName,
-/*N*/ const ::rtl::OUString& rsServiceName,
-/*N*/ uno::Reference< io::XActiveDataSource >& xDataSource,
-/*N*/ uno::Reference< lang::XMultiServiceFactory>& xServiceFactory,
-/*N*/ uno::Sequence< uno::Any >& aArgs )
-/*N*/ {
-/*N*/ sal_Bool bRet = sal_False;
-/*N*/
-/*N*/ try
-/*N*/ {
-/*N*/ // create output stream
-/*N*/ SvStorageStreamRef rOutputStream( mrStorage.OpenStream(
-/*N*/ String( rsStreamName ), STREAM_WRITE | STREAM_SHARE_DENYWRITE | STREAM_TRUNC ));
-/*N*/
-/*N*/ ::rtl::OUString sMIMEType( RTL_CONSTASCII_USTRINGPARAM( "text/xml" ) );
-/*N*/ uno::Any aAny;
-/*N*/ aAny <<= sMIMEType;
-/*N*/ rOutputStream->SetProperty( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MediaType" )), aAny );
-/*N*/
-/*N*/ // "Encrypted" means "Encryptable". Has to be set for all but the meta stream (which doesn't exist in charts)
-/*N*/ aAny <<= (sal_Bool)(sal_True);
-/*N*/ rOutputStream->SetProperty( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Encrypted" )), aAny );
-/*N*/
-/*N*/ rOutputStream->SetBufferSize( 0x4000 ); // 16*1024
-/*N*/
-/*N*/ if( xDataSource.is())
-/*N*/ xDataSource->setOutputStream( new ::utl::OOutputStreamWrapper( *rOutputStream ));
-/*N*/
-/*N*/ uno::Reference< document::XFilter > xFilter(
-/*N*/ xServiceFactory->createInstanceWithArguments( rsServiceName, aArgs ),
-/*N*/ uno::UNO_QUERY );
-/*N*/
-/*N*/ if( xFilter.is())
-/*N*/ {
-/*N*/ uno::Reference< document::XExporter > xExporter( xFilter, uno::UNO_QUERY );
-/*N*/ if( xExporter.is())
-/*N*/ {
-/*N*/ uno::Reference< lang::XComponent > xModelComponent( mxModel, uno::UNO_QUERY );
-/*N*/ xExporter->setSourceDocument( xModelComponent );
-/*N*/ }
-/*N*/
-/*N*/ // empty Descriptior (formerly FileName was given)
-/*N*/ uno::Sequence< beans::PropertyValue > aEmptyDescriptor( 0 );
-/*N*/ bRet = xFilter->filter( aEmptyDescriptor );
-/*N*/
-/*N*/ if( bRet && rOutputStream.Is())
-/*N*/ rOutputStream->Commit();
-/*N*/ }
-/*N*/ }
-/*N*/ catch( uno::Exception aEx )
-/*N*/ {
-/*N*/ #if OSL_DEBUG_LEVEL > 1
-/*N*/ // convert ::rtl::OUString => tools String => ByteString
-/*?*/ String aStr( aEx.Message );
-/*?*/ ByteString aBStr( aStr, RTL_TEXTENCODING_ASCII_US );
-/*?*/ ByteString aBStrStreamName = ByteString( String( rsStreamName ), RTL_TEXTENCODING_ASCII_US );
-/*?*/ OSL_TRACE( "Exception caught during Export of \"%s\" stream(): %s",
-/*?*/ aBStrStreamName.GetBuffer(),
-/*?*/ aBStr.GetBuffer());
-/*N*/ #endif
-/*N*/ }
-/*N*/
-/*N*/ return bRet;
-/*N*/ }
-
-/*N*/ sal_Bool SchXMLWrapper::Export()
-/*N*/ {
-/*N*/ sal_Bool bRet = sal_False;
-/*N*/
-/*N*/ try
-/*N*/ {
-/*N*/ if( !mxModel.is() )
-/*N*/ {
-/*N*/ OSL_FAIL("Got NO Model in XMLExport");
-/*N*/ return sal_False;
-/*N*/ }
-/*N*/
-/*N*/ uno::Reference< lang::XServiceInfo > xServiceInfo( mxModel, uno::UNO_QUERY );
-/*N*/
-/*N*/ if( ! xServiceInfo.is() || !xServiceInfo->supportsService(
-/*N*/ OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartDocument" ) ) ) )
-/*N*/ {
-/*N*/ OSL_FAIL( "Model is no ChartDocument in XMLExport" );
-/*N*/ return sal_False;
-/*N*/ }
-/*N*/
-/*N*/ uno::Reference< lang::XMultiServiceFactory> xServiceFactory( ::legacy_binfilters::getLegacyProcessServiceFactory() );
-/*N*/
-/*N*/ if( !xServiceFactory.is() )
-/*N*/ {
-/*N*/ OSL_FAIL( "got no service manager" );
-/*N*/ return sal_False;
-/*N*/ }
-/*N*/
-/*N*/ uno::Reference< uno::XInterface > xWriter( xServiceFactory->createInstance(
-/*N*/ OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.sax.Writer" ) ) ) );
-/*N*/
-/*N*/ if( !xWriter.is() )
-/*N*/ {
-/*N*/ OSL_FAIL( "com.sun.star.xml.sax.Writer service missing" );
-/*N*/ return sal_False;
-/*N*/ }
-/*N*/ uno::Reference<xml::sax::XDocumentHandler > xHandler( xWriter, uno::UNO_QUERY );
-/*N*/ uno::Sequence< beans::PropertyValue > aEmptyDescriptor( 0 );
-/*N*/
-/*N*/
-/*N*/ /** property map for export info set */
-/*N*/ PropertyMapEntry aExportInfoMap[] =
-/*N*/ {
-/*N*/ { MAP_LEN( "UsePrettyPrinting"),0, &::getBooleanCppuType(), ::com::sun::star::beans::PropertyAttribute::MAYBEVOID, 0},
-/*N*/ { NULL, 0, 0, NULL, 0, 0 }
-/*N*/ };
-/*N*/
-/*N*/ uno::Reference< beans::XPropertySet > xInfoSet( GenericPropertySet_CreateInstance( new PropertySetInfo( aExportInfoMap ) ) );
-/*N*/
-/*N*/ SvtSaveOptions aSaveOpt;
-/*N*/ OUString sUsePrettyPrinting(RTL_CONSTASCII_USTRINGPARAM("UsePrettyPrinting"));
-/*N*/ sal_Bool bUsePrettyPrinting( aSaveOpt.IsPrettyPrinting() );
-/*N*/ xInfoSet->setPropertyValue( sUsePrettyPrinting, uno::makeAny( bUsePrettyPrinting ) );
-/*N*/
-/*N*/
-/*N*/ SvXMLGraphicHelper* pGraphicHelper = SvXMLGraphicHelper::Create( mrStorage, GRAPHICHELPER_MODE_WRITE, sal_False );
-/*N*/ uno::Reference< document::XGraphicObjectResolver > xGraphObjResolver( pGraphicHelper );
-/*N*/ uno::Reference< io::XActiveDataSource > xDataSource( xWriter, uno::UNO_QUERY );
-/*N*/
-/*N*/ // there is no meta info needed in charts - they are always OLE objects
-/*N*/ // export meta
-/*N*/ // uno::Sequence< uno::Any > aMetaArgs( 1 );
-/*N*/ // aMetaArgs[ 0 ] <<= xHandler;
-/*N*/ // bRet = ExportStream(
-/*N*/ // ::rtl::OUString::createFromAscii( sXML_metaStreamName ),
-/*N*/ // ::rtl::OUString::createFromAscii( sXML_export_chart_meta_service ),
-/*N*/ // xDataSource, xServiceFactory, aMetaArgs );
-/*N*/
-/*N*/ // prepare arguments: document handler / status indicator and graphics resolver
-/*N*/ sal_Int32 nArgs = 2;
-/*N*/ if( mxStatusIndicator.is())
-/*N*/ nArgs++;
-/*N*/ if( xGraphObjResolver.is())
-/*N*/ nArgs++;
-/*N*/
-/*N*/ uno::Sequence< uno::Any > aArgs( nArgs );
-/*N*/
-/*N*/ nArgs = 0;
-/*N*/ aArgs[ nArgs++ ] <<= xHandler;
-/*N*/ aArgs[ nArgs++ ] <<= xInfoSet;
-/*N*/
-/*N*/ if( mxStatusIndicator.is())
-/*?*/ aArgs[ nArgs++ ] <<= mxStatusIndicator;
-/*N*/ if( xGraphObjResolver.is())
-/*N*/ aArgs[ nArgs++ ] <<= xGraphObjResolver;
-/*N*/
-/*N*/ // styles export
-/*N*/ bRet = ExportStream(
-/*N*/ ::rtl::OUString::createFromAscii( sXML_styleStreamName ),
-/*N*/ ::rtl::OUString::createFromAscii( sXML_export_chart_styles_service ),
-/*N*/ xDataSource, xServiceFactory, aArgs );
-/*N*/
-/*N*/ // content export
-/*N*/ bRet = ExportStream(
-/*N*/ ::rtl::OUString::createFromAscii( sXML_contentStreamName ),
-/*N*/ ::rtl::OUString::createFromAscii( sXML_export_chart_content_service ),
-/*N*/ xDataSource, xServiceFactory, aArgs );
-/*N*/
-/*N*/ // graphics resolver has to be destroyed this way!
-/*N*/ SvXMLGraphicHelper::Destroy( pGraphicHelper );
-/*N*/ }
-/*N*/ catch( uno::Exception aEx )
-/*N*/ {
-/*N*/ #if OSL_DEBUG_LEVEL > 1
-/*?*/ // convert ::rtl::OUString => tools String => ByteString
-/*?*/ String aStr( aEx.Message );
-/*?*/ ByteString aBStr( aStr, RTL_TEXTENCODING_ASCII_US );
-/*?*/ OSL_TRACE( "Exception caught during Export of : %s", aBStr.GetBuffer());
-/*N*/ #endif
-/*N*/ }
-/*N*/
-/*N*/ return bRet;
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/makefile.mk b/binfilter/bf_sch/source/makefile.mk
deleted file mode 100644
index 6a5a65b73..000000000
--- a/binfilter/bf_sch/source/makefile.mk
+++ /dev/null
@@ -1,66 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..
-BFPRJ=..
-
-PROJECTPCH=sch
-PROJECTPCHSOURCE=$(BFPRJ)$/util\sch_sch
-
-PRJNAME=binfilter
-TARGET=sch
-
-NO_HIDS=TRUE
-
-LIBTARGET=NO
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-INC+= -I$(PRJ)$/inc$/bf_sch
-.IF "$(GUI)$(COM)" == "WINMSC"
-LIBFLAGS+=/PAGE:128
-.ENDIF
-
-
-# --- Files --------------------------------------------------------
-
-# --- ui Lib
-
-LIB1TARGET= $(SLB)$/ui.lib
-LIB1FILES= \
- $(SLB)$/app.lib \
- $(SLB)$/dlg.lib \
- $(SLB)$/docshell.lib \
- $(SLB)$/func.lib \
- $(SLB)$/view.lib \
- $(SLB)$/chxchart.lib
-
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/binfilter/bf_sch/source/ui/app/makefile.mk b/binfilter/bf_sch/source/ui/app/makefile.mk
deleted file mode 100644
index 6d91f93fe..000000000
--- a/binfilter/bf_sch/source/ui/app/makefile.mk
+++ /dev/null
@@ -1,90 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..$/..
-BFPRJ=..$/..$/..
-
-PROJECTPCH=sch
-PROJECTPCHSOURCE=$(BFPRJ)$/util$/sch_sch
-
-PRJNAME=binfilter
-TARGET=sch_app
-
-NO_HIDS=TRUE
-
-BMP_OUT=$(RES)
-BMP_IN =$(BFPRJ)$/res
-
-# --- Settings -----------------------------------------------------
-.INCLUDE : settings.mk
-alllangiso=en-US
-INC+= -I$(PRJ)$/inc$/bf_sch
-# --- Files --------------------------------------------------------
-
-SRS1NAME=$(TARGET)
-SRC1FILES = sch_app.src \
- sch_strings.src
-
-DEPOBJFILES = \
- $(SLO)$/sch_schlib.obj
-
-SLOFILES = \
- $(SLO)$/sch_schdll.obj \
- $(SLO)$/sch_schmod.obj \
- $(SLO)$/sch_schresid.obj \
- $(SLO)$/sch_schopt.obj \
- $(SLO)$/sch_globopt.obj
-
-LIB2TARGET = $(SLB)$/bf_ysch.lib
-LIB2ARCHIV = $(LB)$/libbf_ysch.a
-LIB2OBJFILES = $(SLO)$/sch_schlib.obj
-
-
-.IF "$(GUI)" == "WNT"
-NOOPTFILES=\
- $(SLO)$/sch_schdll.obj
-.ENDIF
-
-
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
-$(INCCOM)$/schlib.hxx: makefile.mk
-.IF "$(GUI)"=="UNX"
- $(RM) $@
- echo \#define DLL_NAME \"libbf_sch$(DLLPOSTFIX)$(DLLPOST)\" >$@
-.ELSE
- echo $(EMQ)#define DLL_NAME $(EMQ)"bf_sch$(DLLPOSTFIX)$(DLLPOST)$(EMQ)" >$@
-.ENDIF
-
-$(SRS)$/sch_app.srs: $(PRJ)$/inc$/bf_svx$/globlmn.hrc
-
-$(SLO)$/sch_schlib.obj : $(INCCOM)$/schlib.hxx
-
-
diff --git a/binfilter/bf_sch/source/ui/app/sch_app.src b/binfilter/bf_sch/source/ui/app/sch_app.src
deleted file mode 100644
index d4e41a082..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_app.src
+++ /dev/null
@@ -1,66 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#define NO_LOCALIZE_EXPORT
-
-
-/* StarView ressource file */
-
-#include <bf_svx/globlmn.hrc>
-#include "app.hrc"
-#include "res_bmp.hrc"
-#include "bf_svx/dialogs.hrc"
-#include "schhids.h"
-String RID_DRAW_TOOLBOX
-{
- Text [ de ] = "Werkzeugleiste" ;
- Text [ en-US ] = "Main Toolbar" ;
- Text [ x-comment ] = " ";
- Text[ pt ] = "Barra de ferramentas";
- Text[ ru ] = "Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ инÑтрументов";
- Text[ el ] = "ΓÏαμμή εÏγαλείων";
- Text[ nl ] = "Werktuigbalk";
- Text[ fr ] = "Barre d'instruments";
- Text[ es ] = "Barra de herramientas";
- Text[ fi ] = "Päätyökalurivi";
- Text[ ca ] = "Barra d'eines principal";
- Text[ it ] = "Barra degli strumenti";
- Text[ da ] = "Værktøjslinje";
- Text[ sv ] = "Verktygslist";
- Text[ pl ] = "Główny pasek narzędzi";
- Text[ pt-BR ] = "Barra de Ferramentas Principal";
- Text[ th ] = "à¹à¸–บเครื่องมือหลัà¸";
- Text[ ja ] = "標準ツールãƒãƒ¼";
- Text[ ko ] = "주 ë„구 모ìŒ";
- Text[ zh-CN ] = "主工具æ ";
- Text[ zh-TW ] = "主工具列";
- Text[ tr ] = "Ana araç çubuğu";
- Text[ hi-IN ] = "पà¥à¤°à¤§à¤¾à¤¨ औज़ार पटà¥à¤Ÿà¥€";
- Text[ ar ] = "شريط الأدوات";
- Text[ he ] = "‮סרגל ר×שי‬";
-};
-
-
diff --git a/binfilter/bf_sch/source/ui/app/sch_globopt.cxx b/binfilter/bf_sch/source/ui/app/sch_globopt.cxx
deleted file mode 100644
index 80559247b..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_globopt.cxx
+++ /dev/null
@@ -1,111 +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.
- *
- ************************************************************************/
-#include "globopt.hxx"
-
-#include <stdio.h>
-
-#include <bf_svtools/syslocale.hxx>
-#include <unotools/configitem.hxx>
-namespace binfilter {
-
-// ================================================================================
-
-/*N*/ namespace
-/*N*/ {
-/*N*/
-/*N*/ bool IsMetric()
-/*N*/ {
-/*N*/ SvtSysLocale aSysLocale;
-/*N*/ const LocaleDataWrapper* pLocWrapper = aSysLocale.GetLocaleDataPtr();
-/*N*/ MeasurementSystem eSys = pLocWrapper->getMeasurementSystemEnum();
-/*N*/
-/*N*/ return ( eSys == MEASURE_METRIC );
-/*N*/ }
-
-// ----------------------------------------
-
-/*N*/ class CalcConfigItem : public ::utl::ConfigItem
-/*N*/ {
-/*N*/ public:
-/*N*/ CalcConfigItem() :
-/*N*/ ConfigItem( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Office.Calc/Layout" )))
-/*N*/ {}
-/*N*/
-/*N*/ FieldUnit GetMeasureUnit();
- void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
- void Commit();
-/*N*/ };
-
-/*N*/ FieldUnit CalcConfigItem::GetMeasureUnit()
-/*N*/ {
-/*N*/ FieldUnit eResult( FUNIT_CM );
-/*N*/
-/*N*/ ::com::sun::star::uno::Sequence< ::rtl::OUString > aNames( 1 );
-/*N*/ if( IsMetric() )
-/*N*/ aNames[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Other/MeasureUnit/Metric" ));
-/*N*/ else
-/*N*/ aNames[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Other/MeasureUnit/NonMetric" ));
-/*N*/
-/*N*/ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > aResult(
-/*N*/ GetProperties( aNames ));
-/*N*/
-/*N*/ if( aResult[ 0 ].hasValue() )
-/*N*/ {
-/*N*/ sal_Int32 nValue(0);
-/*N*/ aResult[ 0 ] >>= nValue;
-/*N*/ eResult = static_cast< FieldUnit >( nValue );
-/*N*/ }
-/*N*/
-/*N*/ return eResult;
-/*N*/ }
-
-void CalcConfigItem::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& /*rPropertyNames*/ ) {}
-void CalcConfigItem::Commit() {}
-
-
-} // anonymous namespace
-
-// ================================================================================
-
-namespace sch
-{
-
-namespace util
-{
-
-/*N*/ FieldUnit GetMeasureUnit()
-/*N*/ {
-/*N*/ static CalcConfigItem aCfgItem;
-/*N*/ return aCfgItem.GetMeasureUnit();
-/*N*/ }
-
-} // namespace util
-} // namespace sch
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/app/sch_menuids.src b/binfilter/bf_sch/source/ui/app/sch_menuids.src
deleted file mode 100644
index ed5744277..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_menuids.src
+++ /dev/null
@@ -1,180 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#define NO_LOCALIZE_EXPORT
-
-
-#include "app.hrc"
-
-
-#define MN_ROW_POSITION \
-MenuItem\
-{\
- Identifier = SID_ROW_POSITION ; \
- HelpID = SID_ROW_POSITION;\
- Text [ de ] = "A~nordnung" ; \
- Text [ en-US ] = "A~rrangement" ; \
- Text[ pt ] = "~Disposição";\
- Text[ ru ] = "РаÑположение";\
- Text[ el ] = "Τακτοποίηση";\
- Text[ nl ] = "~Rangschikking";\
- Text[ fr ] = "~Disposition";\
- Text[ es ] = "~Disposición";\
- Text[ fi ] = "J~ärjestys";\
- Text[ ca ] = "~Organitza";\
- Text[ it ] = "~Disponi";\
- Text[ da ] = "Placering";\
- Text[ sv ] = "~Placering";\
- Text[ pl ] = "~Rozmieszczenie";\
- Text[ pt-BR ] = "Dis~posição";\
- Text[ th ] = "จั~ดเรียง";\
- Text[ ja ] = "é…ç½®(~R)";\
- Text[ ko ] = "배치(~R)";\
- Text[ zh-CN ] = "排åº(~R)";\
- Text[ zh-TW ] = "排åº(~R)";\
- Text[ tr ] = "Düzenleme";\
- Text[ hi-IN ] = "A~rrangement";\
- Text[ ar ] = "الترتيب";\
- Text[ he ] = "A~nordnung";\
- SubMenu = Menu\
- {\
- ItemList = \
- {\
- MenuItem\
- {\
- Identifier = SID_ROW_MOREFRONT ; \
- HelpID = SID_ROW_MOREFRONT;\
- Text [ de ] = "W~eiter nach vorn" ; \
- Text [ en-US ] = "Bring ~Forward" ; \
- Text [ x-comment ] = " ";\
- Text[ pt ] = "~Mais para a frente";\
- Text[ ru ] = "ПеремеÑтить ~вперед";\
- Text[ el ] = "Îœ~εταφοÏά ένα επίπεδο εμπÏός";\
- Text[ nl ] = "Naar v~oren";\
- Text[ fr ] = "V~ers l'avant";\
- Text[ es ] = "Traer ~adelante";\
- Text[ fi ] = "Siirrä ~eteenpäin";\
- Text[ ca ] = "Porta al ~davant";\
- Text[ it ] = "Porta più avanti";\
- Text[ da ] = "Længere ~fremad";\
- Text[ sv ] = "Längre fra~m";\
- Text[ pl ] = "P~rzesuń do przodu";\
- Text[ pt-BR ] = "A~vançar";\
- Text[ th ] = "นำไป~ข้างหน้า";\
- Text[ ja ] = "å‰æ–¹ã«ç§»å‹•(~F)";\
- Text[ ko ] = "앞으로 ì´ë™(~F)";\
- Text[ zh-CN ] = "上移一层(~F)";\
- Text[ zh-TW ] = "上移一層(~F)";\
- Text[ tr ] = "~Bir öne getir";\
- Text[ hi-IN ] = "~आगे पà¥à¤°à¤¸à¥à¤¤à¥à¤¤ करना";\
- Text[ ar ] = "إحضار أماماً";\
- Text[ he ] = "W~eiter nach vorn";\
- };\
- MenuItem\
- {\
- Identifier = SID_ROW_MOREBACK ; \
- HelpID = SID_ROW_MOREBACK;\
- Text [ de ] = "Weiter ~nach hinten" ; \
- Text [ en-US ] = "Send Back~ward" ; \
- Text [ x-comment ] = " ";\
- Text[ pt ] = "Mais para o f~undo";\
- Text[ ru ] = "ПеремеÑтить ~назад";\
- Text[ el ] = "~ΜεταφοÏά πίσω";\
- Text[ nl ] = "Naar a~chteren";\
- Text[ fr ] = "~Vers l'arrière";\
- Text[ es ] = "Enviar a~trás";\
- Text[ fi ] = "Siirrä taakse~päin";\
- Text[ ca ] = "Envia cap ~enrere";\
- Text[ it ] = "Porta più i~ndietro";\
- Text[ da ] = "Længere ~tilbage";\
- Text[ sv ] = "Längre ba~k";\
- Text[ pl ] = "Pr~zesuń do tyłu";\
- Text[ pt-BR ] = "Rec~uar";\
- Text[ th ] = "ส่งà¸à¸¥à¸±à¸šà¸‚้าง~หลัง";\
- Text[ ja ] = "後方ã«ç§»å‹•(~W)";\
- Text[ ko ] = "뒤로 ì´ë™(~W)";\
- Text[ zh-CN ] = "下移一层(~W)";\
- Text[ zh-TW ] = "下移一層(~W)";\
- Text[ tr ] = "Bir alta gönder";\
- Text[ hi-IN ] = "पिछली ~ओर भेजो";\
- Text[ ar ] = "إرسال خلÙاً";\
- Text[ he ] = "Weiter ~nach hinten";\
- };\
- };\
- };\
-}
- \
-
-#define MN_TRANSFORM \
- MenuItem\
- {\
- Identifier = SID_ATTR_TRANSFORM ; \
- HelpID = SID_ATTR_TRANSFORM ; \
- Text [ de ] = "P~osition und Größe..." ; \
- Text [ en-US ] = "Position and Si~ze..." ; \
- Text [ x-comment ] = " ";\
- Text[ pt ] = "P~osição e tamanho...";\
- Text[ ru ] = "~ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ Ð¸ размер...";\
- Text[ el ] = "Θέση και μέγεθ~ος...";\
- Text[ nl ] = "~Positie en grootte...";\
- Text[ fr ] = "P~osition et taille...";\
- Text[ es ] = "P~osición y tamaño...";\
- Text[ fi ] = "Sijainti ja ko~ko";\
- Text[ ca ] = "Position and Si~ze...";\
- Text[ it ] = "P~osizione e dimensione...";\
- Text[ da ] = "Pla~cering og størrelse...";\
- Text[ sv ] = "P~osition och storlek...";\
- Text[ pl ] = "~Pozycja i rozmiar...";\
- Text[ pt-BR ] = "P~osi??o e Tamanho...";\
- Text[ th ] = "ตำà¹à¸«à¸™à¹ˆà¸‡à¹à¸¥à¸°à¸‚~นาด...";\
- Text[ ja ] = "ä½ç½®ã¨ã‚µã‚¤ã‚º(~Z)...";\
- Text[ ko ] = "위치 ë° í¬ê¸°(~Z)...";\
- Text[ zh-CN ] = "ä½ç½®å’Œå¤§å°(~Z)...";\
- Text[ zh-TW ] = "ä½ç½®å’Œå¤§å°(~Z)...";\
- Text[ tr ] = "Konum ve ~Boyut";\
- Text[ hi-IN ] = "Position and Si~ze...";\
- Text[ ar ] = "...الموضع والحجم~";\
- Text[ he ] = "P~osition und Größe...";\
- }
-
-// EOF
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/binfilter/bf_sch/source/ui/app/sch_schdll.cxx b/binfilter/bf_sch/source/ui/app/sch_schdll.cxx
deleted file mode 100644
index 3caa2225c..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_schdll.cxx
+++ /dev/null
@@ -1,303 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <bf_svx/svxids.hrc>
-
-#include "docshell.hxx"
-#include "schmod.hxx"
-#include "app.hrc"
-#include "schresid.hxx"
-#include "memchrt.hxx"
-#include "res_bmp.hrc" // contains define for RID_MENU, RID_ACCEL
-
-#include "globopt.hxx"
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Initialisierung aus SfxApplicaton::Init()
-|*
-\************************************************************************/
-
-/*N*/ void SchDLL::Init()
-/*N*/ {
-/*N*/ // called directly after loading the DLL
-/*N*/ // do whatever you want, you may use Sd-DLL too
-/*N*/
-/*N*/ // the SchModule must be created (may loaded by doc-fac or direct)
-/*N*/ SchModuleDummy** ppShlPtr = (SchModuleDummy**) GetAppData(BF_SHL_SCH);
-/*N*/ if ( (*ppShlPtr)->IsLoaded() ) return;
-/*N*/
-/*N*/ SvFactory* pFact = PTR_CAST(SvFactory,(*ppShlPtr)->pSchChartDocShellFactory);
-/*N*/
-/*N*/ delete (*ppShlPtr);
-/*N*/ (*ppShlPtr) = new SchModule(pFact);
-/*N*/
-/*N*/ SfxModule* pMod = SCH_MOD();
-/*N*/
-/*N*/ pMod->PutItem( SfxUInt16Item( SID_ATTR_METRIC, ::binfilter::sch::util::GetMeasureUnit() ));
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Deinitialisierung
-|*
-\************************************************************************/
-
-/*N*/ void SchDLL::Exit()
-/*N*/ {
-/*N*/ // the SchModule must be destroyed
-/*N*/ SchModuleDummy** ppShlPtr = (SchModuleDummy**) GetAppData(BF_SHL_SCH);
-/*N*/ delete (*ppShlPtr);
-/*N*/ (*ppShlPtr) = NULL;
-/*N*/ }
-
-
-/*N*/ extern_c void __LOADONCALLAPI SchSetTransparent( SvInPlaceObjectRef, BOOL )
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ extern_c void __LOADONCALLAPI SchUpdate( SvInPlaceObjectRef aIPObj,
-/*N*/ SchMemChart* pData, OutputDevice* /*pOut*/ )
-/*N*/ {
-/*N*/ SchChartDocShellRef aSchChartDocShellRef = &aIPObj;
-/*N*/
-/*N*/ if( aSchChartDocShellRef.Is() )
-/*N*/ {
-/*N*/ #ifdef DBG_UTIL
-/*N*/ if( !pData )
-/*N*/ OSL_TRACE( "SchUpdate was called without MemChart" );
-/*N*/ #endif
-/*N*/ ChartModel& rDoc = aSchChartDocShellRef->GetDoc();
-/*N*/
-/*N*/ if( pData )
-/*N*/ {
-/*N*/ rDoc.SetChartDataBuffered( *pData, FALSE ); // don't update titles. This can't be done via SchUpdate
-/*N*/ rDoc.CheckForNewAxisNumFormat();
-/*N*/ rDoc.SetChanged(); // #72576#
-/*N*/
-/*N*/ ::com::sun::star::chart::ChartDataChangeEvent aEvent;
-/*N*/ aEvent.Type = ::com::sun::star::chart::ChartDataChangeType_ALL;
-/*N*/ aEvent.StartColumn = 0;
-/*N*/ aEvent.EndColumn = 0;
-/*N*/ aEvent.StartRow = 0;
-/*N*/ aEvent.EndRow = 0;
-/*N*/
-/*N*/ aSchChartDocShellRef->DataModified( aEvent );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ rDoc.BuildChart( FALSE );
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ aIPObj->SendViewChanged();
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ extern_c void __LOADONCALLAPI SchUpdateAttr( SvInPlaceObjectRef aIPObj,
-/*N*/ SchMemChart* pData,
-/*N*/ const SfxItemSet& rAttr,
-/*N*/ OutputDevice* pOut )
-/*N*/ {
-/*N*/ DBG_ASSERT(pData, "Kein Chart-Datenobjekt angegeben!");
-/*N*/ if(!pData)return;
-/*N*/
-/*N*/ SchChartDocShellRef aSchChartDocShellRef = &aIPObj;
-/*N*/
-/*N*/ if (aSchChartDocShellRef.Is())
-/*N*/ {
-/*N*/
-/*N*/ ChartModel& rDoc = aSchChartDocShellRef->GetDoc();
-/*N*/
-/*N*/ rDoc.SetChartData(*new SchMemChart(*pData));
-/*N*/ rDoc.PutAttr(rAttr);
-/*N*/
-/*N*/ if( pOut )
-/*N*/ {DBG_BF_ASSERT(0, "STRIP");}
-/*N*/ else
-/*N*/ rDoc.BuildChart(TRUE);
-/*N*/ }
-/*N*/
-/*N*/ aIPObj->SendViewChanged();
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ extern_c SchMemChart* __LOADONCALLAPI SchGetChartData (SvInPlaceObjectRef aIPObj)
-/*N*/ {
-/*N*/ SchChartDocShellRef aSchChartDocShellRef = &aIPObj;
-/*N*/
-/*N*/ if (aSchChartDocShellRef.Is())
-/*N*/ {
-/*N*/ ChartModel& rDoc = aSchChartDocShellRef->GetDoc();
-/*N*/ SchMemChart* pMemChart = rDoc.GetChartData ();
-/*N*/
-/*N*/ if (pMemChart)
-/*N*/ {
-/*N*/ pMemChart->SetMainTitle(rDoc.MainTitle());
-/*N*/ pMemChart->SetSubTitle(rDoc.SubTitle());
-/*N*/ pMemChart->SetXAxisTitle(rDoc.XAxisTitle());
-/*N*/ pMemChart->SetYAxisTitle(rDoc.YAxisTitle());
-/*N*/ pMemChart->SetZAxisTitle(rDoc.ZAxisTitle());
-/*N*/ }
-/*N*/
-/*N*/ return pMemChart;
-/*N*/ }
-/*N*/ else return 0;
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ extern_c SchMemChart* __LOADONCALLAPI SchNewMemChartNone ()
-/*N*/ {
-/*N*/ DBG_BF_ASSERT(0, "STRIP");return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ extern_c SchMemChart* __LOADONCALLAPI SchNewMemChartXY (short nCols, short nRows)
-/*N*/ {
-/*N*/ return new SchMemChart (nCols, nRows);
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ extern_c SchMemChart* __LOADONCALLAPI SchNewMemChartCopy (const SchMemChart &)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP"); return NULL;
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ extern_c ChartModel* __LOADONCALLAPI SchGetModel (SvInPlaceObjectRef)
-/*N*/ {DBG_BF_ASSERT(0, "STRIP"); return 0;
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchGetDefaultForColumnText(
-/*N*/ const SchMemChart& rMemChart, sal_Int32 nCol, String& aResult )
-/*N*/ {
-/*N*/ aResult = rMemChart.GetDefaultColumnText( nCol );
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchGetDefaultForRowText(
-/*N*/ const SchMemChart& rMemChart, sal_Int32 nRow, String& aResult )
-/*N*/ {
-/*N*/ aResult = rMemChart.GetDefaultRowText( nRow );
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchConvertChartRangeForWriter(
-/*N*/ SchMemChart& rMemChart, BOOL bOldToNew )
-/*N*/ {
-/*N*/ rMemChart.ConvertChartRangeForWriter( bOldToNew );
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchConvertChartRangeForCalc( SchMemChart&, BOOL )
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchMemChartResetTranslation( SchMemChart&, long *,long )
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchMemChartUpdateTranslation( SchMemChart&, long *, long )
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchMemChartInsertCols( SchMemChart& rMemChart,
-/*N*/ short nAtCol, short nCount)
-/*N*/ {
-/*N*/ rMemChart.InsertCols( nAtCol, nCount );
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchMemChartRemoveCols( SchMemChart&, short, short)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchMemChartInsertRows( SchMemChart& rMemChart, short nAtRow, short nCount)
-/*N*/ {
-/*N*/ rMemChart.InsertRows( nAtRow, nCount );
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchMemChartRemoveRows( SchMemChart&, short, short)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchMemChartSwapCols( SchMemChart&, int, int)
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-/*N*/ extern_c void __LOADONCALLAPI SchMemChartSwapRows( SchMemChart&, int, int )
-/*N*/ {
-/*?*/ DBG_BF_ASSERT(0, "STRIP");
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/app/sch_schlib.cxx b/binfilter/bf_sch/source/ui/app/sch_schlib.cxx
deleted file mode 100644
index 97c04de77..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_schlib.cxx
+++ /dev/null
@@ -1,339 +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.
- *
- ************************************************************************/
-
-#ifdef _MSC_VER
-#pragma optimize("",off)
-#endif
-
-
-#include <bf_sfx2/docfilt.hxx>
-
-#include <bf_sfx2/app.hxx>
-
-#include <comphelper/classids.hxx>
-
-#include <sot/formats.hxx>
-#include "schmod.hxx"
-#include "docshell.hxx"
-#include "schlib.hxx"
-
-class ValueSet;
-
-#include "res_bmp.hrc"
-namespace binfilter {
-
-#define SCH_FORMAT_STR_50_FORMAT String( RTL_CONSTASCII_USTRINGPARAM( "StarChart 5.0" ))
-
-/*?*/ TYPEINIT1( SchModuleDummy, SfxModule );
-
-extern "C" { static void SAL_CALL thisModule() {} }
-
-/*?*/ SFX_IMPL_OBJECTFACTORY_LIB( SchChartDocShell, SFXOBJECTSHELL_STD_NORMAL, schart,
- SvGlobalName(BF_SO3_SCH_CLASSID), Sch, String( RTL_CONSTASCII_USTRINGPARAM( DLL_NAME )) )
-// from macro: void SchChartDocShell::InitFactory()
-/*?*/ {
-/*?*/ SfxObjectFactory& rFactory = (SfxObjectFactory&)Factory();
-/*?*/ rFactory.SetDocumentServiceName(String::CreateFromAscii("com.sun.star.chart.ChartDocument"));
-/*?*/ }
-
-/*************************************************************************
-|*
-|* Konstruktor
-|*
-\************************************************************************/
-
-/*?*/ SchDLL::SchDLL()
-/*?*/ {
-/*?*/ }
-
-/*************************************************************************
-|*
-|* Destruktor
-|*
-\************************************************************************/
-
-/*?*/ SchDLL::~SchDLL()
-/*?*/ {
-/*?*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-
-/*?*/ void SchDLL::LibInit()
-/*?*/ {
-/*?*/ // Das Anlegen des ResMgr ist nur fuer die obige Filter-Registierung
-/*?*/ // notwendig. Sobald dort kein SdResId mehr notwendig ist, kann das
-/*?*/ // Anlegen entfallen
-/*?*/ SchChartDocShell::RegisterFactory(SDT_SCH_DOCFACTPRIO);
-/*?*/
-/*?*/ SCH_MOD() = (SchModule *) new SchModuleDummy(NULL, TRUE, &SchChartDocShell::Factory() );
-/*?*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-
-/*?*/ void SchDLL::LibExit()
-/*?*/ {
-/*?*/ FreeLibSch();
-/*?*/
-/*?*/ // destroy the dummy-module with Object-Factory-Pointer
-/*?*/ DELETEZ( SCH_MOD() );
-/*?*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-
-/*N*/ void SchDLL::Update( SvInPlaceObjectRef aIPObj, SchMemChart* pData, OutputDevice* pOut )
-/*N*/ {
-/*N*/ void (__LOADONCALLAPI*fp)(SvInPlaceObjectRef, SchMemChart*, OutputDevice*);
-/*N*/
-/*N*/ fp = (void (__LOADONCALLAPI*)(SvInPlaceObjectRef, SchMemChart*, OutputDevice*))GetFuncSch("SchUpdate");
-/*N*/
-/*N*/ if (fp)
-/*N*/ {
-/*N*/ fp(aIPObj, pData, pOut);
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-
-/*N*/ SchMemChart* SchDLL::GetChartData (SvInPlaceObjectRef aIPObj)
-/*N*/ {
-/*N*/ SchMemChart* (__LOADONCALLAPI*fp)(SvInPlaceObjectRef);
-/*N*/
-/*N*/ fp = (SchMemChart* (__LOADONCALLAPI*)(SvInPlaceObjectRef aIPObj))GetFuncSch("SchGetChartData");
-/*N*/
-/*N*/ return fp
-/*N*/ ? fp (aIPObj)
-/*N*/ : 0;
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ SchMemChart* SchDLL::NewMemChart (short nCols, short nRows)
-/*N*/ {
-/*N*/ SchMemChart* (__LOADONCALLAPI*fp)(short, short);
-/*N*/
-/*N*/ fp = (SchMemChart* (__LOADONCALLAPI*)(short, short))GetFuncSch("SchNewMemChartXY");
-/*N*/
-/*N*/ if (fp)
-/*N*/ {
-/*N*/ return fp(nCols, nRows);
-/*N*/ }
-/*N*/ else return 0;
-/*N*/ }
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ void SchDLL::GetDefaultForColumnText( const SchMemChart& rMemChart, sal_Int32 nCol, String& aResult )
-/*N*/ {
-/*N*/ void (__LOADONCALLAPI*fp)( const SchMemChart&, sal_Int32, String& );
-/*N*/
-/*N*/ fp = (void (__LOADONCALLAPI*)( const SchMemChart&, sal_Int32, String& ))GetFuncSch("SchGetDefaultForColumnText");
-/*N*/
-/*N*/ if( fp )
-/*N*/ {
-/*N*/ fp( rMemChart, nCol, aResult );
-/*N*/ }
-/*N*/ }
-
-/*N*/ void SchDLL::GetDefaultForRowText( const SchMemChart& rMemChart, sal_Int32 nRow, String& aResult )
-/*N*/ {
-/*N*/ void (__LOADONCALLAPI*fp)( const SchMemChart&, sal_Int32, String& );
-/*N*/
-/*N*/ fp = (void (__LOADONCALLAPI*)( const SchMemChart&, sal_Int32, String& ))GetFuncSch("SchGetDefaultForRowText");
-/*N*/
-/*N*/ if( fp )
-/*N*/ {
-/*N*/ fp( rMemChart, nRow, aResult );
-/*N*/ }
-/*N*/ }
-
-/*N*/ void SchDLL::ConvertChartRangeForWriter( SchMemChart& rMemChart,
-/*N*/ BOOL bOldToNew )
-/*N*/ {
-/*N*/ void (__LOADONCALLAPI* fp )( SchMemChart&, BOOL )
-/*N*/ = (void (__LOADONCALLAPI*)( SchMemChart&, BOOL ))
-/*N*/ GetFuncSch("SchConvertChartRangeForWriter");
-/*N*/ if( fp )
-/*N*/ fp( rMemChart, bOldToNew );
-/*N*/ }
-
-/*N*/ void SchDLL::MemChartInsertCols( SchMemChart& rMemChart,
-/*N*/ short nAtCol, short nCount)
-/*N*/ {
-/*N*/ void (__LOADONCALLAPI* fp )( SchMemChart&, short, short )
-/*N*/ = (void (__LOADONCALLAPI*)( SchMemChart&, short, short ))
-/*N*/ GetFuncSch("SchMemChartInsertCols");
-/*N*/ if( fp )
-/*N*/ fp( rMemChart, nAtCol, nCount );
-/*N*/ }
-/*?*/ void SchDLL::MemChartRemoveCols( SchMemChart& rMemChart,
-/*?*/ short nAtCol, short nCount)
-/*?*/ {
-/*?*/ void (__LOADONCALLAPI* fp )( SchMemChart&, short, short )
-/*?*/ = (void (__LOADONCALLAPI*)( SchMemChart&, short, short ))
-/*?*/ GetFuncSch("SchMemChartRemoveCols");
-/*?*/ if( fp )
-/*?*/ fp( rMemChart, nAtCol, nCount );
-/*?*/ }
-
-/*N*/ void SchDLL::MemChartInsertRows( SchMemChart& rMemChart,
-/*N*/ short nAtRow, short nCount )
-/*N*/ {
-/*N*/ void (__LOADONCALLAPI* fp )( SchMemChart&, short, short )
-/*N*/ = (void (__LOADONCALLAPI*)( SchMemChart&, short, short ))
-/*N*/ GetFuncSch("SchMemChartInsertRows");
-/*N*/ if( fp )
-/*N*/ fp( rMemChart, nAtRow, nCount );
-/*N*/ }
-/*?*/ void SchDLL::MemChartRemoveRows( SchMemChart& rMemChart,
-/*?*/ short nAtRow, short nCount )
-/*?*/ {
-/*?*/ void (__LOADONCALLAPI* fp )( SchMemChart&, short, short )
-/*?*/ = (void (__LOADONCALLAPI*)( SchMemChart&, short, short ))
-/*?*/ GetFuncSch("SchMemChartRemoveRows");
-/*?*/ if( fp )
-/*?*/ fp( rMemChart, nAtRow, nCount );
-/*?*/ }
-
-/*************************************************************************
-|*
-|* Lade Module von aussen
-|*
-\************************************************************************/
-
-/*?*/ SfxModule *SchModuleDummy::Load()
-/*?*/ {
-/*?*/ return (LoadLibSch() ? SCH_MOD() : NULL);
-/*?*/ }
-
-/*************************************************************************
-|*
-|* Bestimme die GUID abh. von der Version
-|*
-\************************************************************************/
-
-/*?*/ const SvGlobalName SchModuleDummy::GetID (USHORT nFileFormat)
-/*?*/ {
-/*?*/ SvGlobalName aName;
-/*?*/
-/*?*/ switch (nFileFormat)
-/*?*/ {
-/*?*/ case SOFFICE_FILEFORMAT_60:
-/*?*/ {
-/*?*/ aName = SvGlobalName(BF_SO3_SCH_CLASSID_60);
-/*?*/ }
-/*?*/ break;
-/*?*/
-/*?*/ case SOFFICE_FILEFORMAT_50:
-/*?*/ {
-/*?*/ aName = SvGlobalName(BF_SO3_SCH_CLASSID_50);
-/*?*/ }
-/*?*/ break;
-/*?*/
-/*?*/ case SOFFICE_FILEFORMAT_40:
-/*?*/ {
-/*?*/ aName = SvGlobalName(BF_SO3_SCH_CLASSID_40);
-/*?*/ }
-/*?*/ break;
-/*?*/
-/*?*/ case SOFFICE_FILEFORMAT_31:
-/*?*/ {
-/*?*/ aName = SvGlobalName(BF_SO3_SCH_CLASSID_30);
-/*?*/ }
-/*?*/ break;
-/*?*/
-/*?*/ default:
-/*?*/ {
-/*?*/ OSL_FAIL( "Unknown file format" );
-/*?*/ }
-/*?*/ break;
-/*?*/ }
-/*?*/
-/*?*/ return aName;
-/*?*/ }
-
-/*************************************************************************
-|*
-|* Bestimme die Version aus der GUID
-|*
-\************************************************************************/
-
-/*?*/ USHORT SchModuleDummy::HasID (const SvGlobalName &rName)
-/*?*/ {
-/*?*/ USHORT nRet = 0;
-/*?*/
-/*?*/ if (GetID(SOFFICE_FILEFORMAT_31) == rName)
-/*?*/ {
-/*?*/ nRet = SOFFICE_FILEFORMAT_31;
-/*?*/ }
-/*?*/ else if (GetID(SOFFICE_FILEFORMAT_40) == rName)
-/*?*/ {
-/*?*/ nRet = SOFFICE_FILEFORMAT_40;
-/*?*/ }
-/*?*/ else if (GetID(SOFFICE_FILEFORMAT_50) == rName)
-/*?*/ {
-/*?*/ nRet = SOFFICE_FILEFORMAT_50;
-/*?*/ }
-/*?*/ else if (GetID(SOFFICE_FILEFORMAT_60) == rName)
-/*?*/ {
-/*?*/ nRet = SOFFICE_FILEFORMAT_60;
-/*?*/ }
-/*?*/
-/*?*/ return(nRet);
-/*?*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/app/sch_schmod.cxx b/binfilter/bf_sch/source/ui/app/sch_schmod.cxx
deleted file mode 100644
index d1572ab9e..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_schmod.cxx
+++ /dev/null
@@ -1,142 +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.
- *
- ************************************************************************/
-
-#define ITEMID_SEARCH SID_SEARCH_ITEM
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-
-#include <bf_svx/svxids.hrc>
-#include <bf_sfx2/app.hxx>
-#include <vcl/status.hxx>
-#include <bf_svx/svdobj.hxx>
-
-#define _SCH_DLL // fuer SD_MOD()
-#include "schmod.hxx"
-#include "schresid.hxx"
-
-#include "app.hrc"
-#include "glob.hrc"
-#include "strings.hrc"
-#include "res_bmp.hrc"
-
-namespace binfilter {
-
-/*N*/ TYPEINIT1( SchModuleDummy, SfxModule );
-/*N*/ TYPEINIT1( SchModule, SchModuleDummy );
-
-/*************************************************************************
-|*
-|* Ctor
-|*
-\************************************************************************/
-
-/*N*/ SchModule::SchModule(SvFactory* pObjFact) :
-/*N*/ SchModuleDummy(SFX_APP()->CreateResManager("bf_sch"), FALSE, pObjFact),
-/*N*/ pXOutDevPool( NULL ),
-/*N*/ pDragData( NULL ),
-/*N*/ pClipboardData( NULL ),
-/*N*/ mpTransferDragDrop( NULL ),
-/*N*/ mpTransferClipboard( NULL ),
-/*N*/ mpTransferSelectionClipbd( NULL ),
-/*N*/ pChartOptions( NULL )
-/*N*/ {
-/*N*/ pSchObjFactory = new SchObjFactory();
-/*N*/
-/*N*/ if (!pSchObjFactory->GetInserted())
-/*N*/ {
-/*N*/ SdrObjFactory::InsertMakeObjectHdl(LINK(pSchObjFactory, SchObjFactory, MakeObject));
-/*N*/ SdrObjFactory::InsertMakeUserDataHdl(LINK(pSchObjFactory, SchObjFactory, MakeUserData));
-/*N*/
-/*N*/ pSchObjFactory->SetInserted(TRUE);
-/*N*/ }
-/*N*/
-/*N*/ // #62493# this factory exists already
-/*N*/ //pE3dFactory = new E3dObjFactory();
-/*N*/ //SdrObjFactory::InsertMakeObjectHdl(LINK(pE3dFactory, E3dObjFactory, MakeObject));
-/*N*/
-/*N*/ SetName( String( RTL_CONSTASCII_USTRINGPARAM( "StarChart" )) );
-/*N*/
-/*N*/ // establish listener, so that the module is informed
-/*N*/ // right before the application is going to be shut down
-/*N*/ StartListening( *SFX_APP() );
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Dtor
-|*
-\************************************************************************/
-
-/*N*/ SchModule::~SchModule()
-/*N*/ {
-/*N*/ if (pSchObjFactory)
-/*N*/ {
-/*N*/ if (pSchObjFactory->GetInserted())
-/*N*/ {
-/*N*/ SdrObjFactory::RemoveMakeObjectHdl(LINK(pSchObjFactory, SchObjFactory, MakeObject));
-/*N*/ SdrObjFactory::RemoveMakeUserDataHdl(LINK(pSchObjFactory, SchObjFactory, MakeUserData));
-/*N*/ }
-/*N*/
-/*N*/ delete pSchObjFactory;
-/*N*/ }
-/*N*/ }
-
-
-/*?*/ SfxModule *SchModuleDummy::Load()
-/*?*/ {
-/*?*/ return NULL;
-/*?*/ }
-
-/*N*/ SchOptions* SchModule::GetSchOptions()
-/*N*/ {
-/*N*/ if( ! pChartOptions )
-/*N*/ pChartOptions = new SchOptions();
-/*N*/
-/*N*/ return pChartOptions;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* get notifications
-|*
-\************************************************************************/
-
-/*N*/ void SchModule::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
-/*N*/ {
-/*N*/ if( rHint.ISA( SfxSimpleHint ) &&
-/*N*/ ( (SfxSimpleHint&) rHint ).GetId() == SFX_HINT_DEINITIALIZING )
-/*N*/ {
-/*N*/ delete pChartOptions, pChartOptions = NULL;
-/*N*/ }
-/*N*/ }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/app/sch_schopt.cxx b/binfilter/bf_sch/source/ui/app/sch_schopt.cxx
deleted file mode 100644
index a0cf0952a..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_schopt.cxx
+++ /dev/null
@@ -1,177 +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.
- *
- ************************************************************************/
-
-#include <com/sun/star/uno/Sequence.hxx>
-// header for SvStream
-// header for SAL_STATIC_CAST
-#include <sal/types.h>
-
-#include "schopt.hxx"
-
-#include "schresid.hxx"
-#include "strings.hrc"
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-#define SCH_OPTIONS_VERSION_001 USHORT( 1 )
-
-
-// --------------------
-// class SchColorTable
-// --------------------
-/*N*/ SchColorTable::SchColorTable()
-/*N*/ {
-/*N*/ }
-
-
-/*N*/ BOOL SchColorTable::Insert( ULONG nKey, XColorEntry* pEntry )
-/*N*/ {
-/*N*/ return Table::Insert( nKey, (void*)pEntry );
-/*N*/ }
-
-
-
-/*N*/ void SchColorTable::ClearAndDestroy()
-/*N*/ {
-/*N*/ for( ULONG i = Count(); i; )
-/*N*/ delete Get( --i );
-/*N*/ Clear();
-/*N*/ }
-
-/*N*/ XColorEntry* SchColorTable::Get( ULONG nKey ) const
-/*N*/ {
-/*N*/ return SAL_STATIC_CAST( XColorEntry*, Table::Get( nKey ) );
-/*N*/ }
-
-/*N*/ Color SchColorTable::GetColor( ULONG nKey ) const
-/*N*/ {
-/*N*/ XColorEntry* pEntry = Get( nKey );
-/*N*/ if( pEntry )
-/*N*/ return pEntry->GetColor();
-/*N*/
-/*N*/ return COL_BLACK;
-/*N*/ }
-
-/*N*/ ColorData SchColorTable::GetColorData( ULONG nKey ) const
-/*N*/ {
-/*N*/ return GetColor( nKey ).GetRGBColor();
-/*N*/ }
-
-
-// ====================
-// class SchOptions
-// ====================
-
-/*N*/ SchOptions::SchOptions() :
-/*N*/ ::utl::ConfigItem( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Office.Chart" ))),
-/*N*/ mbIsInitialized( FALSE )
-/*N*/ {
-/*N*/ maPropertyNames.realloc( 1 );
-/*N*/ maPropertyNames[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultColor/Series" ));
-/*N*/ }
-
-/*N*/ SchOptions::~SchOptions()
-/*N*/ {
-/*N*/ maDefColors.ClearAndDestroy();
-/*N*/ }
-
-/*N*/ const SchColorTable& SchOptions::GetDefaultColors()
-/*N*/ {
-/*N*/ if( ! mbIsInitialized )
-/*N*/ {
-/*N*/ mbIsInitialized = RetrieveOptions();
-/*N*/ }
-/*N*/
-/*N*/ return maDefColors;
-/*N*/ }
-
-
-/*N*/ BOOL SchOptions::RetrieveOptions()
-/*N*/ {
-/*N*/ // get sequence containing all properties
-/*N*/
-/*N*/ uno::Sequence< ::rtl::OUString > aNames = GetPropertyNames();
-/*N*/ uno::Sequence< uno::Any > aProperties( aNames.getLength());
-/*N*/ aProperties = GetProperties( aNames );
-/*N*/
-/*N*/ if( aProperties.getLength() == aNames.getLength())
-/*N*/ {
-/*N*/ // 1. default colors for series
-/*N*/ maDefColors.ClearAndDestroy();
-/*N*/ uno::Sequence< sal_Int64 > aColorSeq;
-/*N*/ aProperties[ 0 ] >>= aColorSeq;
-/*N*/
-/*N*/ sal_Int32 nCount = aColorSeq.getLength();
-/*N*/ Color aCol;
-/*N*/
-/*N*/ // create strings for entry names
-/*N*/ String aResName( SchResId( STR_DIAGRAM_ROW ));
-/*N*/ String aPrefix, aPostfix, aName;
-/*N*/ xub_StrLen nPos = aResName.SearchAscii( "$(ROW)" );
-/*N*/ if( nPos != STRING_NOTFOUND )
-/*N*/ {
-/*N*/ aPrefix = String( aResName, 0, nPos );
-/*N*/ aPostfix = String( aResName, nPos + sizeof( "$(ROW)" ) - 1, STRING_LEN );
-/*N*/ }
-/*N*/ else
-/*?*/ aPrefix = aResName;
-/*N*/
-/*N*/ // set color values
-/*N*/ for( sal_Int32 i=0; i < nCount; i++ )
-/*N*/ {
-/*N*/ aCol.SetColor( SAL_STATIC_CAST( ColorData, aColorSeq[ i ] ));
-/*N*/
-/*N*/ aName = aPrefix;
-/*N*/ aName.Append( String::CreateFromInt32( i + 1 ));
-/*N*/ aName.Append( aPostfix );
-/*N*/
-/*N*/ maDefColors.Insert( i, new XColorEntry( aCol, aName ) );
-/*N*/ }
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/ return FALSE;
-/*N*/ }
-
-void SchOptions::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& /*rPropertyNames*/ ) {}
-void SchOptions::Commit() {}
-
-
-// --------------------
-// class SchColorTableItem
-// --------------------
-
-
-
-
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/app/sch_schresid.cxx b/binfilter/bf_sch/source/ui/app/sch_schresid.cxx
deleted file mode 100644
index 5a5e038e7..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_schresid.cxx
+++ /dev/null
@@ -1,55 +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.
- *
- ************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include "schmod.hxx"
-#include "schresid.hxx"
-namespace binfilter {
-
-
-/*************************************************************************
-|*
-|* Funktionsbeschreibung
-|*
-\************************************************************************/
-
-/*N*/ SchResId::SchResId(USHORT nId) :
-/*N*/ ResId( nId, *SCH_MOD1()->GetResMgr() )
-/*N*/ {
-/*N*/ }
-
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/app/sch_strings.src b/binfilter/bf_sch/source/ui/app/sch_strings.src
deleted file mode 100644
index 67946f8ee..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_strings.src
+++ /dev/null
@@ -1,1058 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#define NO_LOCALIZE_EXPORT
-
-#include "strings.hrc"
-String RID_BUILDVERSION
-{
- Text [ de ] = UPDVER ;
- Text [ en-US ] = UPDVER ;
-};
-String STR_AREA
-{
- Text [ de ] = "Fläche" ;
- Text [ en-US ] = "Area" ;
- Text[ pt ] = "Preenchimento";
- Text[ ru ] = "ОблаÑÑ‚ÑŒ";
- Text[ el ] = "Επιφάνεια";
- Text[ nl ] = "Vlak";
- Text[ fr ] = "Remplissage";
- Text[ es ] = "Ãrea";
- Text[ fi ] = "Alue";
- Text[ ca ] = "Àrea";
- Text[ it ] = "Area";
- Text[ da ] = "Område";
- Text[ sv ] = "Yta";
- Text[ pl ] = "Obszar";
- Text[ pt-BR ] = "Ãrea";
- Text[ th ] = "พื้นที่";
- Text[ ja ] = "エリア";
- Text[ ko ] = "ì˜ì—­";
- Text[ zh-CN ] = "å……å¡«å¹³é¢";
- Text[ zh-TW ] = "å……å¡«å¹³é¢";
- Text[ tr ] = "Yüzey";
- Text[ hi-IN ] = "विसà¥à¤¤à¥€à¤°à¥à¤£";
- Text[ ar ] = "تعبئة الكائن";
- Text[ he ] = "Fläche";
-};
-String STR_LINE
-{
- Text [ de ] = "Linie" ;
- Text [ en-US ] = "Line" ;
- Text[ pt ] = "Linha";
- Text[ ru ] = "ЛиниÑ";
- Text[ el ] = "ΓÏαμμή";
- Text[ nl ] = "Lijn";
- Text[ fr ] = "Ligne";
- Text[ es ] = "Línea";
- Text[ fi ] = "Viiva";
- Text[ ca ] = "Línia";
- Text[ it ] = "Linea";
- Text[ da ] = "Linje";
- Text[ sv ] = "Linje";
- Text[ pl ] = "Linia";
- Text[ pt-BR ] = "Linha";
- Text[ th ] = "บรรทัด";
- Text[ ja ] = "折れ線";
- Text[ ko ] = "ì„ ";
- Text[ zh-CN ] = "线æ¡";
- Text[ zh-TW ] = "ç·šæ¢";
- Text[ tr ] = "Çizgi";
- Text[ hi-IN ] = "Line";
- Text[ ar ] = "خط";
- Text[ he ] = "Linie";
-};
-String STR_LINES
-{
- Text [ de ] = "Linien" ;
- Text [ en-US ] = "Lines" ;
- Text[ pt ] = "Linhas";
- Text[ ru ] = "Линии";
- Text[ el ] = "ΓÏαμμές";
- Text[ nl ] = "Lijnen";
- Text[ fr ] = "Lignes";
- Text[ es ] = "Líneas";
- Text[ fi ] = "Rivit";
- Text[ ca ] = "Línies";
- Text[ it ] = "Linee";
- Text[ da ] = "Linjer";
- Text[ sv ] = "Linjer";
- Text[ pl ] = "Linie";
- Text[ pt-BR ] = "Linhas";
- Text[ th ] = "บรรทัด";
- Text[ ja ] = "折れ線";
- Text[ ko ] = "ì„ ";
- Text[ zh-CN ] = "线æ¡";
- Text[ zh-TW ] = "ç·šæ¢";
- Text[ tr ] = "Çizgi";
- Text[ hi-IN ] = "Lines";
- Text[ ar ] = "خطوط";
- Text[ he ] = "Linien";
-};
-String STR_COLUMNS
-{
- Text [ de ] = "Säulen" ;
- Text [ en-US ] = "Columns" ;
- Text[ pt ] = "Barras";
- Text[ ru ] = "ГиÑтограмма";
- Text[ el ] = "Στήλες";
- Text[ nl ] = "kolommen";
- Text[ fr ] = "Colonnes";
- Text[ es ] = "Columnas";
- Text[ fi ] = "Pylväs";
- Text[ ca ] = "Columnes";
- Text[ it ] = "Colonne";
- Text[ da ] = "Søjler";
- Text[ sv ] = "Staplar";
- Text[ pl ] = "Kolumny";
- Text[ pt-BR ] = "Colunas";
- Text[ th ] = "คอลัมน์์";
- Text[ ja ] = "縦棒";
- Text[ ko ] = "단";
- Text[ zh-CN ] = "柱";
- Text[ zh-TW ] = "柱";
- Text[ tr ] = "Sütun";
- Text[ hi-IN ] = "सà¥à¤¤à¤‚भ";
- Text[ ar ] = "أعمدة";
- Text[ he ] = "‮טורי×‬";
-};
-String STR_BARS
-{
- Text [ de ] = "Balken" ;
- Text [ en-US ] = "Bars" ;
- Text [ x-comment ] = "èëè: Ïîëîñû - -";
- Text[ pt ] = "Barras";
- Text[ ru ] = "ЛинейчатаÑ";
- Text[ el ] = "Ράβδοι";
- Text[ nl ] = "balken";
- Text[ fr ] = "Barres";
- Text[ es ] = "Barras";
- Text[ fi ] = "Palkit";
- Text[ ca ] = "Barres";
- Text[ it ] = "Barre";
- Text[ da ] = "Liggende søjler";
- Text[ sv ] = "Liggande staplar";
- Text[ pl ] = "SÅ‚upki";
- Text[ pt-BR ] = "Barras";
- Text[ th ] = "à¹à¸–บ";
- Text[ ja ] = "横棒";
- Text[ ko ] = "ë°”";
- Text[ zh-CN ] = "æ¡";
- Text[ zh-TW ] = "æ¢";
- Text[ tr ] = "Çubuk";
- Text[ hi-IN ] = "पटà¥à¤Ÿà¥€";
- Text[ ar ] = "أعمدة";
- Text[ he ] = "Balken";
-};
-String STR_AREAS
-{
- Text [ de ] = "Flächen" ;
- Text [ en-US ] = "Areas" ;
- Text[ pt ] = "Ãreas";
- Text[ ru ] = "ОблаÑти";
- Text[ el ] = "Επιφάνειες";
- Text[ nl ] = "vlakken";
- Text[ fr ] = "Zones";
- Text[ es ] = "Ãreas";
- Text[ fi ] = "Alueet";
- Text[ ca ] = "Àrees";
- Text[ it ] = "Aree";
- Text[ da ] = "Områder";
- Text[ sv ] = "Ytor";
- Text[ pl ] = "Obszary";
- Text[ pt-BR ] = "Ãreas";
- Text[ th ] = "พื้นที่";
- Text[ ja ] = "エリア";
- Text[ ko ] = "ë©´";
- Text[ zh-CN ] = "å¹³é¢";
- Text[ zh-TW ] = "å¹³é¢";
- Text[ tr ] = "Yüzey";
- Text[ hi-IN ] = "विसà¥à¤¤à¥€à¤°à¥à¤£";
- Text[ ar ] = "مناطق";
- Text[ he ] = "Flächen";
-};
-String STR_CIRCLES
-{
- Text [ de ] = "Kreise" ;
- Text [ en-US ] = "Pies" ;
- Text[ pt ] = "Sectores";
- Text[ ru ] = "КруговаÑ";
- Text[ el ] = "ΚÏκλοι";
- Text[ nl ] = "cirkels";
- Text[ fr ] = "Secteurs";
- Text[ es ] = "Círculos";
- Text[ fi ] = "Ympyräkaaviot";
- Text[ ca ] = "Diagrames de sectors";
- Text[ it ] = "Torta";
- Text[ da ] = "Cirkler";
- Text[ sv ] = "Cirklar";
- Text[ pl ] = "Koła";
- Text[ pt-BR ] = "Pizzas";
- Text[ th ] = "พาย";
- Text[ ja ] = "円";
- Text[ ko ] = "ì›í˜•";
- Text[ zh-CN ] = "圆";
- Text[ zh-TW ] = "圓";
- Text[ tr ] = "Daire";
- Text[ hi-IN ] = "वृतखणà¥à¤¡";
- Text[ ar ] = "دوائر";
- Text[ he ] = "Kreise";
-};
-String STR_XY
-{
- Text [ de ] = "XY-Diagramm" ;
- Text [ en-US ] = "XY Chart" ;
- Text[ pt ] = "Gráfico XY";
- Text[ ru ] = "Диаграмма XY";
- Text[ el ] = "ΔιάγÏαμμα XY";
- Text[ nl ] = "XY-diagram";
- Text[ fr ] = "Diagramme XY";
- Text[ es ] = "Diagrama XY";
- Text[ fi ] = "XY-kaavio";
- Text[ ca ] = "Diagrama XY";
- Text[ it ] = "Diagramma XY";
- Text[ da ] = "XY-diagram";
- Text[ sv ] = "XY-diagram";
- Text[ pl ] = "Wykres XY";
- Text[ pt-BR ] = "Gráfico XY";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´XY ";
- Text[ ja ] = "散布図";
- Text[ ko ] = "XY 차트";
- Text[ zh-CN ] = "XY 图表";
- Text[ zh-TW ] = "XY-圖表";
- Text[ tr ] = "XY şeması";
- Text[ hi-IN ] = "XY चारà¥à¤Ÿ";
- Text[ ar ] = "رسم بياني س ص";
- Text[ he ] = "XY-Diagramm";
-};
-String STR_XYZ
-{
- Text [ de ] = "XYZ-Diagramm" ;
- Text [ en-US ] = "XYZ Chart" ;
- Text[ pt ] = "Gráfico XYZ";
- Text[ ru ] = "Диаграмма XYZ";
- Text[ el ] = "ΔιάγÏαμμα XYZ";
- Text[ nl ] = "XYZ-diagram";
- Text[ fr ] = "Diagramme XYZ";
- Text[ es ] = "Diagrama XYZ";
- Text[ fi ] = "XYZ-kaavio";
- Text[ ca ] = "Diagrama XYZ";
- Text[ it ] = "Diagramma XYZ";
- Text[ da ] = "XYZ-diagram";
- Text[ sv ] = "XYZ-diagram";
- Text[ pl ] = "Wykres XYZ";
- Text[ pt-BR ] = "Gráfico XYZ";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´XYZ ";
- Text[ ja ] = "XYZ軸図表";
- Text[ ko ] = "XYZ 차트";
- Text[ zh-CN ] = "XYZ 图表";
- Text[ zh-TW ] = "XYZ-圖表";
- Text[ tr ] = "XYZ şeması";
- Text[ hi-IN ] = "XYZ चारà¥à¤Ÿ ";
- Text[ ar ] = "رسم بياني س ص ع";
- Text[ he ] = "XYZ-Diagramm";
-};
-String STR_NORMAL
-{
- Text [ de ] = "Normal" ;
- Text [ en-US ] = "Normal" ;
- Text[ pt ] = "Normal";
- Text[ ru ] = "ОбычнаÑ";
- Text[ el ] = "Κανονικά";
- Text[ nl ] = "Normaal";
- Text[ fr ] = "Normal";
- Text[ es ] = "Normal";
- Text[ fi ] = "Normaali";
- Text[ ca ] = "Normal";
- Text[ it ] = "Normale";
- Text[ da ] = "Normal";
- Text[ sv ] = "Normal";
- Text[ pl ] = "Zwykły";
- Text[ pt-BR ] = "Normal";
- Text[ th ] = "ปà¸à¸•à¸´";
- Text[ ja ] = "標準";
- Text[ ko ] = "표준";
- Text[ zh-CN ] = "一般";
- Text[ zh-TW ] = "一般";
- Text[ tr ] = "Normal";
- Text[ hi-IN ] = "नॉरà¥à¤®à¤²à¥";
- Text[ ar ] = "عادية";
- Text[ he ] = "Normal";
-};
-String STR_STACKED
-{
- Text [ de ] = "Gestapelt" ;
- Text [ en-US ] = "Stacked" ;
- Text[ pt ] = "Empilhado";
- Text[ ru ] = "С накоплением";
- Text[ el ] = "Σε στοίβα";
- Text[ nl ] = "Gestapeld";
- Text[ fr ] = "Empilé";
- Text[ es ] = "En pilas";
- Text[ fi ] = "Pinottuna";
- Text[ ca ] = "Apilat";
- Text[ it ] = "Sovrapposto";
- Text[ da ] = "Stablet";
- Text[ sv ] = "Staplat";
- Text[ pl ] = "Skumulowany";
- Text[ pt-BR ] = "Empilhado";
- Text[ th ] = "à¸à¸­à¸‡à¸‹à¹‰à¸­à¸™";
- Text[ ja ] = "ç©ã¿ä¸Šã’";
- Text[ ko ] = "누ì ëœ";
- Text[ zh-CN ] = "é‡å ";
- Text[ zh-TW ] = "é‡ç–Š";
- Text[ tr ] = "Yığılmış";
- Text[ hi-IN ] = "Stacked";
- Text[ ar ] = "متراكمة";
- Text[ he ] = "Gestapelt";
-};
-String STR_PERCENT
-{
- Text [ de ] = "Prozent" ;
- Text [ en-US ] = "Percent" ;
- Text[ pt ] = "Percentual";
- Text[ ru ] = "ПроцентнаÑ";
- Text[ el ] = "Ποσοστό (%)";
- Text[ nl ] = "Procent";
- Text[ fr ] = "Pourcentage";
- Text[ es ] = "Porcentaje";
- Text[ fi ] = "Prosenttia";
- Text[ ca ] = "Percentatge";
- Text[ it ] = "Percentuale";
- Text[ da ] = "Procent";
- Text[ sv ] = "Procent";
- Text[ pl ] = "Procent";
- Text[ pt-BR ] = "Percentual";
- Text[ th ] = "เปอร์เซ็นต์";
- Text[ ja ] = "パーセント";
- Text[ ko ] = "백분율";
- Text[ zh-CN ] = "百分比";
- Text[ zh-TW ] = "百分比";
- Text[ tr ] = "Yüzde";
- Text[ hi-IN ] = "पà¥à¤°à¤¤à¤¿à¤¶à¤¤";
- Text[ ar ] = "النسبة المئوية";
- Text[ he ] = "Prozent";
-};
-
-String STR_DEEP
-{
- Text [ de ] = "Tief" ;
- Text [ en-US ] = "Deep" ;
- Text[ pt ] = "Fundo";
- Text[ ru ] = "Глубина";
- Text[ el ] = "Σε βάθος";
- Text[ nl ] = "met diepte";
- Text[ fr ] = "Profond";
- Text[ es ] = "Profundidad";
- Text[ fi ] = "Syvyys";
- Text[ ca ] = "Profund";
- Text[ it ] = "In profondità";
- Text[ da ] = "Dyb";
- Text[ sv ] = "Djup";
- Text[ pl ] = "Głęboki";
- Text[ pt-BR ] = "Profundo";
- Text[ th ] = "ลึà¸";
- Text[ ja ] = "奥行ãã‚ã‚Š";
- Text[ ko ] = "깊ì´";
- Text[ zh-CN ] = "深度";
- Text[ zh-TW ] = "深度";
- Text[ tr ] = "Derin";
- Text[ hi-IN ] = "गहरा";
- Text[ ar ] = "عميقة";
- Text[ he ] = "Tief";
-};
-
-String STR_2D
-{
- Text [ de ] = "2D-" ;
- Text [ en-US ] = "2D " ;
- Text[ pt ] = "2D-";
- Text[ ru ] = "ДвумернаÑ";
- Text[ el ] = "2Δ-";
- Text[ nl ] = "2D-";
- Text[ fr ] = "2D-";
- Text[ es ] = "2D-";
- Text[ fi ] = "Kaksiulotteinen ";
- Text[ ca ] = "2D ";
- Text[ it ] = "2D-";
- Text[ da ] = "2D-";
- Text[ sv ] = "2D-";
- Text[ pl ] = "2D";
- Text[ pt-BR ] = "2D-";
- Text[ th ] = "2มิติ ";
- Text[ ja ] = "2D";
- Text[ ko ] = "2D";
- Text[ zh-CN ] = "2 ç»´";
- Text[ zh-TW ] = "å¹³é¢";
- Text[ tr ] = "2B-";
- Text[ hi-IN ] = "2D ";
- Text[ ar ] = "ثنائي الأبعاد";
- Text[ he ] = "2D-";
-};
-String STR_3D
-{
- Text [ de ] = "3D-" ;
- Text [ en-US ] = "3D " ;
- Text[ pt ] = "3D-";
- Text[ ru ] = "ТрехмернаÑ";
- Text[ el ] = "3Δ-";
- Text[ nl ] = "3D-";
- Text[ fr ] = "3D-";
- Text[ es ] = "3D-";
- Text[ fi ] = "Kolmiulotteisuus ";
- Text[ ca ] = "3D ";
- Text[ it ] = "3D-";
- Text[ da ] = "3D-";
- Text[ sv ] = "3D-";
- Text[ pl ] = "3D";
- Text[ pt-BR ] = "3D-";
- Text[ th ] = "3มิติ ";
- Text[ ja ] = "3D";
- Text[ ko ] = "3D";
- Text[ zh-CN ] = "3 ç»´";
- Text[ zh-TW ] = "3D";
- Text[ tr ] = "3B-";
- Text[ hi-IN ] = "3D ";
- Text[ ar ] = "ثلاثي الأبعاد";
- Text[ he ] = "3D-";
-};
-String STR_DIAGRAM
-{
- Text [ de ] = "Diagramm" ;
- Text [ en-US ] = "Chart" ;
- Text[ pt ] = "Gráfico";
- Text[ ru ] = "Диаграмма";
- Text[ el ] = "ΔιάγÏαμμα";
- Text[ nl ] = "Diagram";
- Text[ fr ] = "Diagramme";
- Text[ es ] = "Diagrama";
- Text[ fi ] = "Kaavio";
- Text[ ca ] = "Diagrama";
- Text[ it ] = "Diagramma";
- Text[ da ] = "Diagram";
- Text[ sv ] = "Diagram";
- Text[ pl ] = "Wykres";
- Text[ pt-BR ] = "Gráfico";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´";
- Text[ ja ] = "グラフ";
- Text[ ko ] = "차트";
- Text[ zh-CN ] = "图表";
- Text[ zh-TW ] = "圖表";
- Text[ tr ] = "Åžema";
- Text[ hi-IN ] = "चारà¥à¤Ÿ ";
- Text[ ar ] = "رسم بياني";
- Text[ he ] = "‮תרשי×‬";
-};
-String STR_DIAGRAM_ROW
-{
- // $(ROW) can be a number or the caption of the row in quotes
- Text [ de ] = "Datenreihe $(ROW)" ;
- Text [ en-US ] = "Data Series $(ROW)" ;
- Text[ pt ] = "Série de dados $(ROW)";
- Text[ ru ] = "РÑд данных $(ROW)";
- Text[ el ] = "ΓÏαμμή δεδομένων $(ROW)";
- Text[ nl ] = "Gegevensreeks $(ROW)";
- Text[ fr ] = "Série de données $(ROW)";
- Text[ es ] = "Serie de datos $(ROW)";
- Text[ fi ] = "Tietojoukot $(ROW)";
- Text[ ca ] = "Sèrie de dades $(ROW)";
- Text[ it ] = "Serie di dati $(ROW)";
- Text[ da ] = "Dataserie $(ROW)";
- Text[ sv ] = "Dataserie $(ROW)";
- Text[ pl ] = "Seria danych $(ROW)";
- Text[ pt-BR ] = "Série de Dados $(ROW)";
- Text[ th ] = "ชุดข้อมูล $(ROW)";
- Text[ ja ] = "系列$(ROW)";
- Text[ ko ] = "ì—°ì† ë°ì´í„° $(ROW)";
- Text[ zh-CN ] = "æ•°æ®ç»„ $(ROW)";
- Text[ zh-TW ] = "資料欄 $(ROW)";
- Text[ tr ] = "Veri dizisi $(ROW)";
- Text[ hi-IN ] = "ड़ॉटा शà¥à¤°à¥ƒà¤‚खला $(पकà¥à¤¤à¤¿à¤‚)";
- Text[ ar ] = "ص٠البيانات $(ROW)";
- Text[ he ] = "Datenreihe $(ROW)";
-};
-
-
-
-String STR_DEFAULTVIEW
-{
- Text [ de ] = "Default" ;
- Text [ en-US ] = "Default" ;
- Text[ pt ] = "Padrão";
- Text[ ru ] = "Стандарт";
- Text[ el ] = "ΠÏοεπιλογή";
- Text[ nl ] = "Standaard";
- Text[ fr ] = "Défaut";
- Text[ es ] = "Predeterminado";
- Text[ fi ] = "Oletus";
- Text[ ca ] = "Per defecte";
- Text[ it ] = "Predefinito";
- Text[ da ] = "Standard";
- Text[ sv ] = "Standard";
- Text[ pl ] = "Domyślnie";
- Text[ pt-BR ] = "Padrão";
- Text[ th ] = "ค่าเริ่มต้น";
- Text[ ja ] = "標準";
- Text[ ko ] = "기본값";
- Text[ zh-CN ] = "默认";
- Text[ zh-TW ] = "默èª";
- Text[ tr ] = "Standart";
- Text[ hi-IN ] = "अनà¥à¤ªà¤¸à¥à¤¥à¤¿à¤¤à¤¿";
- Text[ ar ] = "اÙتراضي";
- Text[ he ] = "‮ברירת מחדל‬";
-};
-
-String STR_OPEN_DOCUMENT
-{
- Text [ de ] = "Dokument laden" ;
- Text [ en-US ] = "Load document" ;
- Text[ pt ] = "Carregar documento";
- Text[ ru ] = "Загрузить документ";
- Text[ el ] = "ΦόÏτωση εγγÏάφου";
- Text[ nl ] = "Document laden";
- Text[ fr ] = "Charger un document";
- Text[ es ] = "Cargar documento";
- Text[ fi ] = "Lataa asiakirja";
- Text[ ca ] = "Carrega el document";
- Text[ it ] = "Apri documento";
- Text[ da ] = "Indlæs dokument";
- Text[ sv ] = "Ladda dokument";
- Text[ pl ] = "Åaduj dokument";
- Text[ pt-BR ] = "Carregar documento";
- Text[ th ] = "โหลดเอà¸à¸ªà¸²à¸£";
- Text[ ja ] = "ドキュメントを読ã¿è¾¼ã‚€";
- Text[ ko ] = "문서 로드";
- Text[ zh-CN ] = "装入文档";
- Text[ zh-TW ] = "載入文件";
- Text[ tr ] = "Belge yükle";
- Text[ hi-IN ] = "Load document";
- Text[ ar ] = "تحميل المستند";
- Text[ he ] = "‮טעינת מסמך‬";
-};
-String STR_SAVE_DOCUMENT
-{
- Text [ en-US ] = "Save document";
- Text [ de ] = "Dokument speichern" ;
- Text [ en-US ] = "Save document" ;
- Text [ de ] = "Dokument speichern" ;
- Text[ pt ] = "Guardar documento";
- Text[ ru ] = "Сохранить документ";
- Text[ el ] = "Αποθήκευση εγγÏάφου";
- Text[ nl ] = "Document opslaan";
- Text[ fr ] = "Enregistrer le document";
- Text[ es ] = "Guardar documento";
- Text[ fi ] = "Tallenna asiakirja";
- Text[ ca ] = "Desa el document";
- Text[ it ] = "Salva documento";
- Text[ da ] = "Gem dokument";
- Text[ sv ] = "Spara dokument";
- Text[ pl ] = "Zapisz dokument";
- Text[ pt-BR ] = "Salvar documento";
- Text[ th ] = "บันทึà¸à¹€à¸­à¸à¸ªà¸²à¸£";
- Text[ ja ] = "ドキュメントã®ä¿å­˜";
- Text[ ko ] = "문서 저장";
- Text[ zh-CN ] = "存盘文档";
- Text[ zh-TW ] = "儲存文件";
- Text[ tr ] = "Belgeyi kaydet";
- Text[ hi-IN ] = "लेखपतà¥à¤° संचित करो";
- Text[ ar ] = "Ø­Ùظ المستند";
- Text[ he ] = "Dokument speichern";
-};
-String STR_GRAPHIC
-{
- Text [ de ] = "Chart" ;
- Text [ en-US ] = "Chart" ;
- Text[ pt ] = "Chart";
- Text[ ru ] = "Диаграмма";
- Text[ el ] = "ΔιάγÏαμμα";
- Text[ nl ] = "Chart";
- Text[ fr ] = "Diagramme";
- Text[ es ] = "Diagrama";
- Text[ fi ] = "Kaavio";
- Text[ ca ] = "Diagrama";
- Text[ it ] = "Diagramma";
- Text[ da ] = "Diagram";
- Text[ sv ] = "Chart";
- Text[ pl ] = "Wykres";
- Text[ pt-BR ] = "Gráfico";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´";
- Text[ ja ] = "グラフ";
- Text[ ko ] = "차트";
- Text[ zh-CN ] = "图表";
- Text[ zh-TW ] = "圖表";
- Text[ tr ] = "Åžema";
- Text[ hi-IN ] = "चारà¥à¤Ÿ";
- Text[ ar ] = "رسم بياني";
- Text[ he ] = "‮תרשי×‬";
-};
-String STR_CHART_DOCUMENT
-{
- Text [ de ] = "Diagramm" ;
- Text [ en-US ] = "Chart" ;
- Text[ pt ] = "Gráfico";
- Text[ ru ] = "Диаграмма";
- Text[ el ] = "ΔιάγÏαμμα";
- Text[ nl ] = "Diagram";
- Text[ fr ] = "Diagramme";
- Text[ es ] = "Diagrama";
- Text[ fi ] = "Kaavio";
- Text[ ca ] = "Diagrama";
- Text[ it ] = "Diagramma";
- Text[ da ] = "Diagram";
- Text[ sv ] = "Diagram";
- Text[ pl ] = "Wykres";
- Text[ pt-BR ] = "Gráfico";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´";
- Text[ ja ] = "グラフ";
- Text[ ko ] = "차트";
- Text[ zh-CN ] = "图表";
- Text[ zh-TW ] = "圖表";
- Text[ tr ] = "Åžema";
- Text[ hi-IN ] = "चारà¥à¤Ÿ";
- Text[ ar ] = "رسم بياني";
- Text[ he ] = "‮תרשי×‬";
-};
-String STR_CHART_DOCUMENT_FULLTYPE_60
-{
- Text [ de ] = "%PRODUCTNAME 6.0 Diagramm" ;
- Text [ en-US ] = "%PRODUCTNAME 6.0 Chart" ;
- Text[ pt ] = "%PRODUCTNAME 6.0 Gráfico";
- Text[ ru ] = "Диаграмма %PRODUCTNAME 6.0";
- Text[ el ] = "%PRODUCTNAME 6.0 ΔιάγÏαμμα";
- Text[ nl ] = "%PRODUCTNAME 6.0 Diagram";
- Text[ fr ] = "%PRODUCTNAME 6.0 Diagramme";
- Text[ es ] = "%PRODUCTNAME 6.0 - Diagrama";
- Text[ fi ] = "%PRODUCTNAME 6.0 Chart";
- Text[ ca ] = "%PRODUCTNAME 6.0 Diagrama";
- Text[ it ] = "%PRODUCTNAME 6.0 Diagramma";
- Text[ da ] = "%PRODUCTNAME 6.0-diagram";
- Text[ sv ] = "%PRODUCTNAME 6.0 Diagram";
- Text[ pl ] = "%PRODUCTNAME 6.0 Chart";
- Text[ pt-BR ] = "%PRODUCTNAME 6.0 Chart";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´%PRODUCTNAME 6.0 ";
- Text[ ja ] = "%PRODUCTNAME 6.0 グラフ";
- Text[ ko ] = "%PRODUCTNAME 6.0 차트";
- Text[ zh-CN ] = "%PRODUCTNAME 6.0 图表";
- Text[ zh-TW ] = "%PRODUCTNAME 6.0 圖表";
- Text[ tr ] = "%PRODUCTNAME 6.0 Çizelgesi";
- Text[ hi-IN ] = "%PRODUCTNAME 6.0 चारà¥à¤Ÿ";
- Text[ ar ] = "رسم بياني %PRODUCTNAME 6.0";
- Text[ he ] = "%PRODUCTNAME 6.0 Diagramm";
-};
-String STR_CHART_DOCUMENT_FULLTYPE_50
-{
- Text [ de ] = "%PRODUCTNAME 5.0 Diagramm" ;
- Text [ en-US ] = "%PRODUCTNAME 5.0 Chart" ;
- Text[ pt ] = "Gráfico (%PRODUCTNAME 5.0)";
- Text[ ru ] = "Диаграмма %PRODUCTNAME 5.0";
- Text[ el ] = "ΔιάγÏαμμα (%PRODUCTNAME 5.0)";
- Text[ nl ] = "%PRODUCTNAME 5.0 diagram";
- Text[ fr ] = "%PRODUCTNAME 5.0 Diagramme";
- Text[ es ] = "%PRODUCTNAME 5.0 - Diagrama";
- Text[ fi ] = "%PRODUCTNAME 5.0 Chart";
- Text[ ca ] = "%PRODUCTNAME 5.0 Diagrama";
- Text[ it ] = "Diagramma %PRODUCTNAME 5.0";
- Text[ da ] = "%PRODUCTNAME 5.0 diagram";
- Text[ sv ] = "%PRODUCTNAME 5.0 Diagram";
- Text[ pl ] = "%PRODUCTNAME 5.0 Chart";
- Text[ pt-BR ] = "%PRODUCTNAME 5.0 Chart";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´%PRODUCTNAME 5.0 ";
- Text[ ja ] = "%PRODUCTNAME 5.0 グラフ";
- Text[ ko ] = "%PRODUCTNAME 5.0 차트";
- Text[ zh-CN ] = "%PRODUCTNAME 5.0 图表";
- Text[ zh-TW ] = "%PRODUCTNAME 5.0 圖表";
- Text[ tr ] = "%PRODUCTNAME 5.0 şeması";
- Text[ hi-IN ] = "%PRODUCTNAME 5.0 चारà¥à¤Ÿ";
- Text[ ar ] = "رسم بياني %PRODUCTNAME 5.0";
- Text[ he ] = "%PRODUCTNAME 5.0 Diagramm";
-};
-String STR_CHART_DOCUMENT_FULLTYPE_40
-{
- Text [ de ] = "%PRODUCTNAME 4.0 Diagramm" ;
- Text [ en-US ] = "%PRODUCTNAME 4.0 Chart" ;
- Text[ pt ] = "Gráfico (%PRODUCTNAME 4.0)";
- Text[ ru ] = "Диаграмма %PRODUCTNAME 4.0";
- Text[ el ] = "ΔιάγÏαμμα (%PRODUCTNAME 4.0)";
- Text[ nl ] = "%PRODUCTNAME 4.0 diagram";
- Text[ fr ] = "%PRODUCTNAME 4.0 Diagramme";
- Text[ es ] = "%PRODUCTNAME 4.0 - Diagrama";
- Text[ fi ] = "%PRODUCTNAME 4.0 Chart";
- Text[ ca ] = "%PRODUCTNAME 4.0 Diagrama";
- Text[ it ] = "Diagramma %PRODUCTNAME 4.0";
- Text[ da ] = "%PRODUCTNAME 4.0 diagram";
- Text[ sv ] = "%PRODUCTNAME 4.0 Diagram";
- Text[ pl ] = "%PRODUCTNAME 4.0 Chart";
- Text[ pt-BR ] = "%PRODUCTNAME 4.0 Chart";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´%PRODUCTNAME 4.0 ";
- Text[ ja ] = "%PRODUCTNAME 4.0 グラフ";
- Text[ ko ] = "%PRODUCTNAME 4.0 차트";
- Text[ zh-CN ] = "%PRODUCTNAME 4.0 图表";
- Text[ zh-TW ] = "%PRODUCTNAME 4.0 圖表";
- Text[ tr ] = "%PRODUCTNAME 4.0 şeması";
- Text[ hi-IN ] = "%PRODUCTNAME 4.0 चारà¥à¤Ÿ";
- Text[ ar ] = "رسم بياني %PRODUCTNAME 4.0";
- Text[ he ] = "%PRODUCTNAME 4.0 Diagramm";
-};
-String STR_CHART_DOCUMENT_FULLTYPE_31
-{
- Text [ de ] = "%PRODUCTNAME 3.0 Diagramm" ;
- Text [ en-US ] = "%PRODUCTNAME 3.0 Chart" ;
- Text[ pt ] = "Gráfico (%PRODUCTNAME 3.0)";
- Text[ ru ] = "Диаграмма %PRODUCTNAME 3.0";
- Text[ el ] = "ΔιάγÏαμμα (%PRODUCTNAME 3.0)";
- Text[ nl ] = "%PRODUCTNAME 3.0 diagram";
- Text[ fr ] = "%PRODUCTNAME 3.0 Diagramme";
- Text[ es ] = "%PRODUCTNAME 3.0 - Diagrama";
- Text[ fi ] = "%PRODUCTNAME 3.0 Chart";
- Text[ ca ] = "%PRODUCTNAME 3.0 Diagrama";
- Text[ it ] = "Diagramma %PRODUCTNAME 3.0";
- Text[ da ] = "%PRODUCTNAME 3.0 diagram";
- Text[ sv ] = "%PRODUCTNAME 3.0 Diagram";
- Text[ pl ] = "%PRODUCTNAME 3.0 Chart";
- Text[ pt-BR ] = "%PRODUCTNAME 3.0 Chart";
- Text[ th ] = "à¹à¸œà¸™à¸ à¸¹à¸¡à¸´%PRODUCTNAME 3.0 ";
- Text[ ja ] = "%PRODUCTNAME 3.0 グラフ";
- Text[ ko ] = "%PRODUCTNAME 3.0 차트";
- Text[ zh-CN ] = "%PRODUCTNAME 3.0 图表";
- Text[ zh-TW ] = "%PRODUCTNAME 3.0 圖表";
- Text[ tr ] = "%PRODUCTNAME 3.0 şeması";
- Text[ hi-IN ] = "%PRODUCTNAME 3.0 चारà¥à¤Ÿ";
- Text[ ar ] = "رسم بياني %PRODUCTNAME 3.0";
- Text[ he ] = "%PRODUCTNAME 3.0 Diagramm";
-};
-String STR_BAD_PASSWORD_OR_FILE_CORRUPTED
-{
- Text [ de ] = "Das Kennwort ist falsch oder die Datei beschädigt." ;
- Text [ en-US ] = "The password is incorrect or the file is damaged." ;
- Text[ pt ] = "Ou a senha está incorrecta ou o ficheiro danificado.";
- Text[ ru ] = "Ðеправильный пароль или файл поврежден.";
- Text[ el ] = "Ο κωδικός Ï€Ïόσβασης είναι εσφαλμένος ή το αÏχείο ελαττωματικό.";
- Text[ nl ] = "Het wachtwoord is niet juist of het bestand is beschadigd";
- Text[ fr ] = "Le mot de passe est incorrect ou le fichier est défectueux.";
- Text[ es ] = "La contraseña no es válida o el archivo está dañado.";
- Text[ fi ] = "Salasana on virheellinen tai tiedosto on vahingoittunut.";
- Text[ ca ] = "La contrasenya no és correcta o el fitxer està danyat.";
- Text[ it ] = "La password è errata o il file è danneggiato.";
- Text[ da ] = "Adgangskoden er forkert eller filen er beskadiget.";
- Text[ sv ] = "Lösenordet är felaktigt eller filen skadad.";
- Text[ pl ] = "Nieprawidłowe hasło lub uszkodzony plik.";
- Text[ pt-BR ] = "A senha é invalida ou o arquivo está corrompido.";
- Text[ th ] = "รหัสผ่านไม่ถูà¸à¸•à¹‰à¸­à¸‡à¸«à¸£à¸·à¸­à¹à¸Ÿà¹‰à¸¡à¹€à¸ªà¸µà¸¢à¸«à¸²à¸¢";
- Text[ ja ] = "パスワードãŒé–“é•ã£ã¦ã„ã‚‹ã‹ã€ã¾ãŸã¯ãƒ•ã‚¡ã‚¤ãƒ«ã«å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚";
- Text[ ko ] = "암호가 틀리거나 파ì¼ì´ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤.";
- Text[ zh-CN ] = "无效的密ç æˆ–文件已ç»è¢«æŸå。";
- Text[ zh-TW ] = "無效的密碼或檔案已經被æ壞。";
- Text[ tr ] = "Şifre yanlış veya dosya zarar görmüş.";
- Text[ hi-IN ] = "The password is incorrect or the file is damaged.";
- Text[ ar ] = "إما أن كلمة السر غير صحيحة أو أن المل٠تالÙ.";
- Text[ he ] = "Das Kennwort ist falsch oder die Datei beschädigt.";
-};
-
-
-String STR_REGRESSION_LINEAR
-{
- Text [ de ] = "Lineare Regression" ;
- Text [ en-US ] = "Linear regression" ;
- Text[ pt ] = "Regressão linear";
- Text[ ru ] = "Ð›Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ Ñ€ÐµÐ³Ñ€ÐµÑÑиÑ";
- Text[ el ] = "ΓÏαμμική παλινδÏόμηση";
- Text[ nl ] = "Lineaire regressie";
- Text[ fr ] = "Régression linéaire";
- Text[ es ] = "Regresión lineal";
- Text[ fi ] = "Lineaarinen regressio";
- Text[ ca ] = "Regressió lineal";
- Text[ it ] = "Regressione lineare";
- Text[ da ] = "Lineær regression";
- Text[ sv ] = "Linjär regression";
- Text[ pl ] = "Regresja liniowa";
- Text[ pt-BR ] = "Regressão linear";
- Text[ th ] = "ถดถอยà¹à¸šà¸šà¹€à¸ªà¹‰à¸™à¸•à¸£à¸‡";
- Text[ ja ] = "線形回帰";
- Text[ ko ] = "선 회귀선";
- Text[ zh-CN ] = "等差回归";
- Text[ zh-TW ] = "等差回歸";
- Text[ tr ] = "DoÄŸrusal regresyon";
- Text[ hi-IN ] = "Linear regression";
- Text[ ar ] = "انحدار خطي";
- Text[ he ] = "Lineare Regression";
-};
-String STR_REGRESSION_LOG
-{
- Text [ de ] = "Logarithmische Regression" ;
- Text [ en-US ] = "Logarithm regression" ;
- Text[ pt ] = "Regressão logarítmica";
- Text[ ru ] = "ЛогарифмичеÑÐºÐ°Ñ Ñ€ÐµÐ³Ñ€ÐµÑÑиÑ";
- Text[ el ] = "ΛογαÏιθμική παλινδÏόμηση";
- Text[ nl ] = "Logaritmische regressie";
- Text[ fr ] = "Régression logarithmique";
- Text[ es ] = "Regresión logarítmica";
- Text[ fi ] = "Logaritminen regressio";
- Text[ ca ] = "Regressió logarítmica";
- Text[ it ] = "Regressione logaritmica";
- Text[ da ] = "Logaritmisk regression";
- Text[ sv ] = "Logaritmisk regression";
- Text[ pl ] = "Regresja logarytmiczna";
- Text[ pt-BR ] = "Regressão logarítmica";
- Text[ th ] = "ถดถอยà¹à¸šà¸šà¸¥à¸­à¸à¸²à¸£à¸´à¸˜à¸¶à¸¡";
- Text[ ja ] = "対数ã®å›žå¸°";
- Text[ ko ] = "로그 회귀선";
- Text[ zh-CN ] = "对数回归";
- Text[ zh-TW ] = "å°æ•¸å›žæ­¸";
- Text[ tr ] = "Logaritmik regresyon";
- Text[ hi-IN ] = "लघà¥à¤—णक रिगà¥à¤°à¥‡à¤¶à¥à¤¯à¤¨";
- Text[ ar ] = "انحدار لوغاريتمي";
- Text[ he ] = "Logarithmische Regression";
-};
-String STR_REGRESSION_EXP
-{
- Text [ de ] = "Exponentielle Regression" ;
- Text [ en-US ] = "Exponential Regression" ;
- Text[ pt ] = "Regressão exponencial";
- Text[ ru ] = "ЭкÑÐ¿Ð¾Ð½ÐµÐ½Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñ€ÐµÐ³Ñ€ÐµÑÑиÑ";
- Text[ el ] = "Εκθετική παλινδÏόμηση";
- Text[ nl ] = "Exponentiële regressie";
- Text[ fr ] = "Régression exponentielle";
- Text[ es ] = "Regresión exponencial";
- Text[ fi ] = "Eksponentiaalinen regressio";
- Text[ ca ] = "Regressió exponencial";
- Text[ it ] = "Regressione esponenziale";
- Text[ da ] = "Eksponentiel regression";
- Text[ sv ] = "Exponentiell regression";
- Text[ pl ] = "Regresja wykładnicza";
- Text[ pt-BR ] = "Regressão exponencial";
- Text[ th ] = "ถดถอยà¹à¸šà¸šà¹€à¸­à¹‡à¸à¸‹à¹Œà¹‚ปเนนเชียล";
- Text[ ja ] = "指数ã®å›žå¸°";
- Text[ ko ] = "지수 회귀선";
- Text[ zh-CN ] = "指数回归";
- Text[ zh-TW ] = "指數回歸";
- Text[ tr ] = "Ãœstel regresyon";
- Text[ hi-IN ] = "Exponential Regression";
- Text[ ar ] = "انحدار أسي";
- Text[ he ] = "Exponentielle Regression";
-};
-String STR_REGRESSION_POWER
-{
- Text [ de ] = "Potenzielle Regression" ;
- Text [ en-US ] = "Power regression" ;
- Text[ pt ] = "Regressão potencial";
- Text[ ru ] = "ÐŸÐ¾Ñ‚ÐµÐ½Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñ€ÐµÐ³Ñ€ÐµÑÑиÑ";
- Text[ el ] = "Δυναμική παλινδÏόμηση";
- Text[ nl ] = "Potentiële regressie";
- Text[ fr ] = "Régression potentielle";
- Text[ es ] = "Regresión potencial";
- Text[ fi ] = "Polynomiregressio";
- Text[ ca ] = "Regressió potencial";
- Text[ it ] = "Regressione potenziale";
- Text[ da ] = "Potentiel regression";
- Text[ sv ] = "Potentiell regression";
- Text[ pl ] = "Regresja potęgowa";
- Text[ pt-BR ] = "Regressão de potência";
- Text[ th ] = "à¸à¸³à¸¥à¸±à¸‡à¸à¸²à¸£à¸–ดถอย";
- Text[ ja ] = "乗羃ã®å›žå¸°";
- Text[ ko ] = "í¼í…셜회귀선";
- Text[ zh-CN ] = "ä½èƒ½å›žå½’";
- Text[ zh-TW ] = "指數回歸";
- Text[ tr ] = "Kuvvet regresyonu";
- Text[ hi-IN ] = "पवर रिगà¥à¤°à¥‡à¤¶à¥à¤¯à¤¨";
- Text[ ar ] = "انحدار القدرة";
- Text[ he ] = "Potenzielle Regression";
-};
-
-String STR_STATISTICS_IN_LEGEND
-{
- // comment
- Text [ x-comment ] = "BM: This determines how a statistics string (STR_REGRESSION_...) appears in the legend, e.g. in german \"Lineare Regression, Spalte 3\" will appear for \"$(STATTYP), $(ROWNAME)\"";
- // comment
- Text [ de ] = "$(STATTYP), $(ROWNAME)";
- Text [ en-US ] = "$(STATTYP), $(ROWNAME) " ;
- Text[ pt ] = "$(STATTYP), $(ROWNAME)";
- Text[ ru ] = "$(STATTYP), $(ROWNAME)";
- Text[ el ] = "$(STATTYP), $(ROWNAME)";
- Text[ nl ] = "$(STATTYP), $(ROWNAME)";
- Text[ fr ] = "$(STATTYP), $(ROWNAME)";
- Text[ es ] = "$(STATTYP), $(ROWNAME)";
- Text[ fi ] = "$(STATTYP), $(ROWNAME) ";
- Text[ ca ] = "$(STATTYP), $(ROWNAME) ";
- Text[ it ] = "$(STATTYP), $(ROWNAME)";
- Text[ da ] = "$(STATTYP), $(ROWNAME)";
- Text[ sv ] = "$(STATTYP), $(ROWNAME)";
- Text[ pl ] = "$(STATTYP), $(ROWNAME)";
- Text[ pt-BR ] = "$(STATTYP), $(ROWNAME)";
- Text[ th ] = "$(STATTYP), $(ROWNAME) ";
- Text[ ja ] = "$(STATTYP)ã€$(ROWNAME)";
- Text[ ko ] = "$(STATTYP), $(ROWNAME)";
- Text[ zh-CN ] = "$(STATTYP), $(ROWNAME)";
- Text[ zh-TW ] = "$(STATTYP), $(ROWNAME)";
- Text[ tr ] = "$(STATTYP), $(ROWNAME)";
- Text[ hi-IN ] = "$(STATTYP), $(ROWNAME) ";
- Text[ ar ] = "$(STATTYP), $(ROWNAME)";
- Text[ he ] = "$(STATTYP), $(ROWNAME) ";
-};
-
-
-
-
-
-//-----------------------------------
-
-//-----------------------------------
-
-//-----------------------------------
-
-//-----------------------------------
-//-----------------------------------
-//-----------------------------------
-
-
-// some strings merged using arguments now
-
-
-
-
-// some more strings for QuickHelp
-
-
-
-
-
-
-
-
-
-
-
-//-----------------------------------
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/binfilter/bf_sch/source/ui/app/sch_typemap.cxx b/binfilter/bf_sch/source/ui/app/sch_typemap.cxx
deleted file mode 100644
index 2d2aa2174..000000000
--- a/binfilter/bf_sch/source/ui/app/sch_typemap.cxx
+++ /dev/null
@@ -1,117 +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.
- *
- ************************************************************************/
-
-
-#ifdef _MSC_VER
-#pragma hdrstop
-#endif
-
-#include <bf_svx/eeitem.hxx>
-
-#include "eetext.hxx"
-#include <bf_svx/fontitem.hxx>
-#include <bf_svx/postitem.hxx>
-#include <bf_svx/wghtitem.hxx>
-#include <bf_svx/shdditem.hxx>
-#include <bf_svx/cntritem.hxx>
-#include <bf_svx/crsditem.hxx>
-#include <bf_svx/udlnitem.hxx>
-#include <bf_svx/fhgtitem.hxx>
-#include <bf_svx/colritem.hxx>
-
-#include <bf_svx/svxids.hrc>
-
-#define ITEMID_FMTSPLIT 0
-#define ITEMID_PAGEMODEL 0
-#include "eetext.hxx"
-
-#define ITEMID_LINE 0
-#define ITEMID_BRUSH 0
-#define ITEMID_FMTBREAK 0
-#define ITEMID_FMTKEEP 0
-#define ITEMID_SIZE 0
-#include <bf_svx/sizeitem.hxx>
-
-#define ITEMID_PAGE 0
-
-
-#include <bf_svtools/stritem.hxx>
-
-#define ITEMID_AUTHOR 0
-#define ITEMID_DATE 0
-#define ITEMID_TEXT 0
-
-#define ITEMID_SEARCH 0
-
-#define ITEMID_HORJUSTIFY 0
-#define ITEMID_VERJUSTIFY 0
-#define ITEMID_ORIENTATION 0
-
-#include <bf_svx/zoomitem.hxx>
-
-#define ITEMID_CHARTSTYLE 0
-#include <bf_svx/chrtitem.hxx>
-
-#include <bf_sfx2/msg.hxx>
-
-namespace binfilter {
-
-/*?*/ typedef SfxVoidItem CharSetItem;
-/*?*/ typedef SfxVoidItem FontFamilyItem;
-/*?*/ typedef SfxVoidItem FontPitchItem;
-/*?*/ typedef SfxVoidItem FontAlignItem;
-/*?*/ typedef SfxVoidItem FontWeightItem;
-/*?*/ typedef SfxVoidItem FontUnderlineItem;
-/*?*/ typedef SfxVoidItem FontStrikeoutItem;
-/*?*/ typedef SfxVoidItem FontItalicItem;
-/*?*/ typedef SfxVoidItem SvxDbTypeItem;
-/*?*/ typedef SfxVoidItem SvxLineSpaceItem;
-/*?*/ typedef SfxVoidItem SvxInterLineSpaceItem;
-/*?*/ typedef SfxVoidItem SvxBreakItem;
-/*?*/ typedef SfxVoidItem BrushStyleItem;
-/*?*/ typedef SfxVoidItem SvxNumTypeItem;
-/*?*/ typedef SfxVoidItem SvxShadowLocationItem;
-/*?*/ typedef SfxVoidItem SvxChooseControlEnumItem;
-/*?*/ typedef SfxVoidItem SvxDrawToolEnumItem;
-/*?*/ typedef SfxVoidItem SvxChooseControlItem;
-/*?*/ typedef SfxVoidItem SvxDrawToolItem;
-/*?*/ typedef SfxVoidItem SvxCellHorJustifyEnumItem;
-/*?*/ typedef SfxVoidItem SvxCellVerJustifyEnumItem;
-/*?*/ typedef SfxVoidItem SvxCellOrientationEnumItem;
-/*?*/ typedef SfxEnumItem SvxStyleTypeItem;
-
-#define SFX_TYPEMAP
-#include "schslots.hxx"
-
-
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/docshell/makefile.mk b/binfilter/bf_sch/source/ui/docshell/makefile.mk
deleted file mode 100644
index f16c08b0a..000000000
--- a/binfilter/bf_sch/source/ui/docshell/makefile.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..$/..
-BFPRJ=..$/..$/..
-
-PROJECTPCH=sch
-PROJECTPCHSOURCE=$(BFPRJ)$/util$/sch_sch
-
-PRJNAME=binfilter
-TARGET=sch_docshell
-
-NO_HIDS=TRUE
-
-ENABLE_EXCEPTIONS = TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-INC+= -I$(PRJ)$/inc$/bf_sch
-
-# --- Files --------------------------------------------------------
-
-CXXFILES = $(BFPRJ)$/util$/sch_sch.cxx \
- sch_docshell.cxx \
- sch_docshel1.cxx
-
-SLOFILES = \
- $(SLO)$/sch_docshell.obj \
- $(SLO)$/sch_docshel1.obj
-
-
-# --- Targets -------------------------------------------------------
-
-.INCLUDE : target.mk
-
diff --git a/binfilter/bf_sch/source/ui/docshell/sch_docshel1.cxx b/binfilter/bf_sch/source/ui/docshell/sch_docshel1.cxx
deleted file mode 100644
index 9109aef33..000000000
--- a/binfilter/bf_sch/source/ui/docshell/sch_docshel1.cxx
+++ /dev/null
@@ -1,192 +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 _SVX_SVXIDS_HRC
-#define ITEMID_FONTLIST SID_ATTR_CHAR_FONTLIST
-#define ITEMID_NUMBERINFO SID_ATTR_NUMBERFORMAT_INFO
-#define ITEMID_COLOR_TABLE SID_COLOR_TABLE
-#define ITEMID_GRADIENT_LIST SID_GRADIENT_LIST
-#define ITEMID_HATCH_LIST SID_HATCH_LIST
-#define ITEMID_BITMAP_LIST SID_BITMAP_LIST
-#define ITEMID_DASH_LIST SID_DASH_LIST
-#define ITEMID_LINEEND_LIST SID_LINEEND_LIST
-#include <bf_svx/svxids.hrc>
-#endif
-
-#include <bf_sfx2/app.hxx>
-
-#include "app.hrc"
-#include "strings.hrc"
-#include "res_bmp.hrc"
-#include "docshell.hxx"
-
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Zeichnen der DocShell (mittels der Hilfsklasse SchViewSpecial)
-|*
-\************************************************************************/
-
-
-
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Bitmap der StyleFamily zurueckgeben (zunaechst Dummy)
-|*
-\************************************************************************/
-
-/*N*/ SfxStyleSheetBasePool* SchChartDocShell::GetStyleSheetPool() throw()
-/*N*/ {
-/*N*/ return (SfxStyleSheetBasePool*)pChDoc->GetStyleSheetPool();
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Vorlage einfuegen (zunaechst nur Dummy)
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Vorlage entfernen (zunaechst nur Dummy)
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|* Chart updaten
-|*
-\************************************************************************/
-
-
-/*************************************************************************
-|*
-|*
-|*
-\************************************************************************/
-
-/*N*/ Rectangle SchChartDocShell::GetVisArea(USHORT nAspect) const throw()
-/*N*/ {
-/*N*/ return SfxInPlaceObject::GetVisArea((nAspect == ASPECT_THUMBNAIL) ?
-/*N*/ ASPECT_CONTENT : nAspect);
-/*N*/ }
-
-/*************************************************************************
-|*
-|* VisArea fuer InPlace setzen
-|*
-\************************************************************************/
-
-/*N*/ void SchChartDocShell::SetVisArea(const Rectangle& rRect) throw()
-/*N*/ {
-/*N*/ Rectangle aRect(rRect);
-/*N*/ aRect.SetPos(Point(0, 0));
-/*N*/
-/*N*/ if( GetCreateMode() == SFX_CREATE_MODE_EMBEDDED )
-/*N*/ {
-/*N*/ // sets the modified flag
-/*N*/ SfxInPlaceObject::SetVisArea( rRect );
-/*N*/
-/*N*/ // #107434# propagate modified status to changed status at model
-/*N*/ if( pChDoc && IsModified() )
-/*N*/ pChDoc->SetChanged( TRUE );
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ // does not set the modified flag
-/*?*/ SvEmbeddedObject::SetVisArea( rRect );
-/*N*/ }
-/*N*/
-/*N*/ if( GetCreateMode() != SFX_CREATE_MODE_INTERNAL )
-/*N*/ {
-/*N*/ Size aSize;
-/*N*/
-/*N*/ if (rRect.IsEmpty ())
-/*N*/ aSize = Size ();
-/*N*/ else
-/*N*/ aSize = GetVisArea(ASPECT_CONTENT).GetSize();
-/*N*/
-/*N*/ SdrPage* pPage = pChDoc->GetPage(0);
-/*N*/
-/*N*/ if(aSize.Width() > 0 && aSize.Height() > 0)
-/*N*/ {
-/*N*/ if( !pPage || aSize != pPage->GetSize() )
-/*N*/ {
-/*N*/ pChDoc->ResizePage(aSize);
-/*N*/
-/*N*/ // notify the controller
-/*N*/ // note: the controller is only available in in-place
-/*N*/ // Broadcast( SchVisAreaChangedHint( rRect ) );
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/*************************************************************************
-|*
-|* OLE-Status
-|*
-\************************************************************************/
-
-/*N*/ ULONG SchChartDocShell::GetMiscStatus() const throw()
-/*N*/ {
-/*N*/ // Chart soll stets selber resizen
-/*N*/ ULONG nStatus = SfxInPlaceObject::GetMiscStatus() |
-/*N*/ SVOBJ_MISCSTATUS_SERVERRESIZE |
-/*N*/ SVOBJ_MISCSTATUS_RESIZEONPRINTERCHANGE;
-/*N*/
-/*N*/ return nStatus;
-/*N*/ }
-
-/*N*/ void SchChartDocShell::SetModified( BOOL bModified ) throw()
-/*N*/ {
-/*N*/ if( IsEnableSetModified() )
-/*N*/ {
-/*N*/ SfxInPlaceObject::SetModified( bModified );
-/*N*/ DBG_ASSERT( pChDoc, "Invalid ChartModel" );
-/*N*/ if( ! pChDoc->IsLockedBuild())
-/*N*/ Broadcast( SfxSimpleHint( SFX_HINT_DOCCHANGED ) );
-/*N*/ }
-/*N*/ }
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/docshell/sch_docshell.cxx b/binfilter/bf_sch/source/ui/docshell/sch_docshell.cxx
deleted file mode 100644
index d0116264e..000000000
--- a/binfilter/bf_sch/source/ui/docshell/sch_docshell.cxx
+++ /dev/null
@@ -1,685 +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.
- *
- ************************************************************************/
-
-#define ITEMID_FONTLIST SID_ATTR_CHAR_FONTLIST
-#define ITEMID_NUMBERINFO SID_ATTR_NUMBERFORMAT_INFO
-#define ITEMID_COLOR_TABLE SID_COLOR_TABLE
-#define ITEMID_GRADIENT_LIST SID_GRADIENT_LIST
-#define ITEMID_HATCH_LIST SID_HATCH_LIST
-#define ITEMID_BITMAP_LIST SID_BITMAP_LIST
-#define ITEMID_DASH_LIST SID_DASH_LIST
-#define ITEMID_LINEEND_LIST SID_LINEEND_LIST
-
-#include <sot/formats.hxx>
-#include <bf_sfx2/app.hxx>
-#include <bf_svx/svxids.hrc>
-#include <comphelper/classids.hxx>
-#include <bf_sfx2/printer.hxx>
-#include <bf_svtools/ctrltool.hxx>
-#include <bf_sfx2/progress.hxx>
-#include <bf_svtools/sfxecode.hxx>
-#include <bf_svx/drawitem.hxx>
-#include <bf_svtools/style.hxx>
-#include <bf_svtools/saveopt.hxx>
-#include <bf_svtools/pathoptions.hxx>
-#include <bf_svx/svxids.hrc>
-#include <rtl/logfile.hxx>
-
-#include "app.hrc"
-#include "strings.hrc"
-#include "res_bmp.hrc"
-#include "schresid.hxx"
-#include "schview.hxx"
-#include "schmod.hxx"
-
-#include "ChXChartDocument.hxx"
-#include "ChXChartData.hxx"
-#include "SchXMLWrapper.hxx"
-#include "memchrt.hxx"
-
-namespace binfilter {
-
-#define POOL_BUFFER_SIZE (USHORT)32768
-#define BASIC_BUFFER_SIZE (USHORT)8192
-#define DOCUMENT_BUFFER_SIZE (USHORT)32768
-
-#define SCH_STYLE_SHEET_NAME String( RTL_CONSTASCII_USTRINGPARAM( "SfxStyleSheets" ))
-
-#define SCH_DEFAULT_CHART_SIZE_WIDTH 8000
-#define SCH_DEFAULT_CHART_SIZE_HEIGHT 7000
-
-using namespace ::com::sun::star::uno;
-
-
-// STATIC DATA -----------------------------------------------------------
-
-static const String aStarChartDoc = String( RTL_CONSTASCII_USTRINGPARAM( "StarChartDocument" ));
-
-//----------------------------------------------------------------------
-
-/*************************************************************************
-|*
-|* SFX-Slotmaps und -Definitionen
-|*
-\************************************************************************/
-
-
-namespace
-{
-
-/** This class sets EnableSetModified( TRUE ) in the CTOR, and
- EnableSetModified( FALSE ) in the DTOR. Thus, this can be used to safeld do
- changes at the model without resulting in a modification.
- */
-class lcl_NoModificationGuard
-{
-public:
- lcl_NoModificationGuard( SvPersist * pPersist ) :
- m_pPersist( pPersist ),
- m_bModifyingWasEnabled( pPersist ? pPersist->IsEnableSetModified() : FALSE )
- {
- if( m_bModifyingWasEnabled &&
- m_pPersist )
- m_pPersist->EnableSetModified( FALSE );
- }
-
- ~lcl_NoModificationGuard()
- {
- if( m_bModifyingWasEnabled &&
- m_pPersist )
- m_pPersist->EnableSetModified( TRUE );
- }
-
-private:
- SvPersist * m_pPersist;
- BOOL m_bModifyingWasEnabled;
-};
-}
-
-using namespace ::com::sun::star;
-
-/*N*/ SFX_IMPL_OBJECTFACTORY_DLL(SchChartDocShell, schart,
-/*N*/ SvGlobalName(BF_SO3_SCH_CLASSID), Sch)
-
-/*N*/ TYPEINIT1(SchChartDocShell, SfxObjectShell);
-
-/*************************************************************************
-|*
-|* shared construction - used by internal CTOR and InitNew
-|*
-\************************************************************************/
-
-/*N*/ void SchChartDocShell::Construct() throw()
-/*N*/ {
-/*N*/ DBG_ASSERT( pChDoc, "SchChartDocShell::Construct() called with no valid model!" );
-/*N*/ //Wird fuer die ModelCollection benoetigt
-/*N*/ SetPool(&pChDoc->GetItemPool());
-/*N*/ if( pUndoManager )
-/*?*/ delete pUndoManager;
-/*N*/ pUndoManager = new SfxUndoManager;
-/*N*/
-/*N*/ // Listen, bzw. Tables im ItemSet der DocShell anlegen
-/*N*/ UpdateTablePointers();
-/*N*/
-/*N*/ if (pChDoc->GetPageCount() == 0L)
-/*N*/ {
-/*N*/ // Seite einfuegen
-/*N*/ SdrPage* pPage = pChDoc->AllocPage(FALSE);
-/*N*/ pPage->SetSize(GetVisArea(ASPECT_CONTENT).GetSize());
-/*N*/ pChDoc->InsertPage(pPage);
-/*N*/ }
-/*N*/
-/*N*/ // #i2914# remove menu item for 'Save Copy as...'
-/*N*/ SvVerbList * pVerbList = new SvVerbList( GetVerbList() );
-/*N*/
-/*N*/ ULONG nCount = pVerbList->Count();
-/*N*/ ULONG i = 0;
-/*N*/ for( ; i < nCount; ++i )
-/*N*/ {
-/*N*/ // The Id 3 is the verb for 'Save Copy as...'
-/*N*/ if( pVerbList->GetObject( i ).GetId() == 3 )
-/*N*/ {
-/*N*/ pVerbList->Remove( i );
-/*N*/ break;
-/*N*/ }
-/*N*/ }
-/*N*/ SetVerbList( pVerbList, TRUE );
-/*N*/
-/*N*/ }
-
-/*N*/ void SchChartDocShell::DataModified( chart::ChartDataChangeEvent& aEvent ) throw()
-/*N*/ {
-/*N*/ uno::Reference< chart::XChartDocument > xChartDoc( GetModel(), uno::UNO_QUERY );
-/*N*/ if( xChartDoc.is() )
-/*N*/ {
-/*N*/ uno::Reference< chart::XChartData > xData = xChartDoc->getData();
-/*N*/ if( xData.is() )
-/*N*/ {
-/*N*/ ChXChartData* pChXData = ChXChartData::getImplementation( xData );
-/*N*/ if( pChXData )
-/*N*/ {
-/*N*/ pChXData->DataModified( aEvent );
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* Default CTOR - this one is called by the factory from SFX
-|*
-\************************************************************************/
-
-/*N*/ SchChartDocShell::SchChartDocShell(SfxObjectCreateMode eMode) throw() :
-/*N*/ SfxObjectShell(eMode),
-/*N*/ pChDoc(NULL),
-/*N*/ pUndoManager(NULL),
-/*N*/ pPrinter(NULL),
-/*N*/ pFontList(NULL),
-/*N*/ bInitNewNoNewDoc(FALSE),
-/*N*/ bOwnPrinter(FALSE),
-/*N*/ mbClipboardExport( FALSE )
-/*N*/ {
-/*N*/ CHART_TRACE( "SchChartDocShell::SchChartDocShell(SfxObjectCreateMode)" );
-/*N*/ SetShell(this);
-/*N*/ SetModel( new ChXChartDocument( this ));
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Destruktor
-|*
-\************************************************************************/
-
-/*N*/ SchChartDocShell::~SchChartDocShell() throw()
-/*N*/ {
-/*N*/ CHART_TRACE( "SchChartDocShell::~SchChartDocShell" );
-/*N*/
-/*N*/ delete pFontList;
-/*N*/
-/*N*/ delete pUndoManager;
-/*N*/
-/*N*/ if( pChDoc )
-/*N*/ {
-/*N*/ pChDoc->ClearUndoBuffer(); // clear draw undo actions
-/*N*/ pChDoc->SetMaxUndoActionCount( 1 ); // don't add further undo actions
-/*N*/ }
-/*N*/
-/*N*/ if(bOwnPrinter)
-/*N*/ delete pPrinter;
-/*N*/
-/*N*/ delete pChDoc;
-/*N*/ }
-
-/*N*/ SfxUndoManager* SchChartDocShell::GetUndoManager() throw()
-/*N*/ {
-/*N*/ return pUndoManager;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* SfxPrinter ggf. erzeugen und zurueckgeben
-|*
-\************************************************************************/
-/*N*/ SfxPrinter* SchChartDocShell::GetPrinter() throw()
-/*N*/ {
-/*N*/ if (!pPrinter)
-/*N*/ {
-/*N*/ SfxBoolItem aItem(SID_PRINTER_NOTFOUND_WARN, TRUE);
-/*N*/ // ItemSet mit speziellem Poolbereich anlegen
-/*N*/ SfxItemSet* pSet = new SfxItemSet(GetPool(),
-/*N*/ SID_PRINTER_NOTFOUND_WARN,
-/*N*/ SID_PRINTER_NOTFOUND_WARN, 0);
-/*N*/ pSet->Put(aItem);
-/*N*/ pPrinter = new SfxPrinter(pSet);
-/*N*/ bOwnPrinter = TRUE;
-/*N*/
-/*N*/ MapMode aMapMode = pPrinter->GetMapMode();
-/*N*/ aMapMode.SetMapUnit(MAP_100TH_MM);
-/*N*/ pPrinter->SetMapMode(aMapMode);
-/*N*/
-/*N*/ if (pChDoc)
-/*N*/ {
-/*N*/ if (pPrinter != pChDoc->GetRefDevice())
-/*N*/ pChDoc->SetRefDevice(pPrinter);
-/*N*/
-/*N*/ if (pPrinter != pChDoc->GetOutliner()->GetRefDevice())
-/*N*/ pChDoc->GetOutliner()->SetRefDevice(pPrinter);
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return pPrinter;
-/*N*/ }
-
-
-/*************************************************************************
-|*
-|* neuen SfxPrinter setzen
-|*
-\************************************************************************/
-/*N*/ void SchChartDocShell::SetPrinter( SfxPrinter* pNewPrinter, BOOL bIsDeletedHere ) throw()
-/*N*/ {
-/*N*/ bool bFirstTimeSettingPrinter = ( pPrinter == NULL );
-/*N*/
-/*N*/ // Printer may only be used, if the MapUnit is correct
-/*N*/ if( pNewPrinter &&
-/*N*/ pNewPrinter->GetMapMode().GetMapUnit() == MAP_100TH_MM )
-/*N*/ {
-/*N*/ if (pPrinter && bOwnPrinter && (pPrinter != pNewPrinter))
-/*N*/ {
-/*?*/ delete pPrinter;
-/*?*/ bOwnPrinter = FALSE;
-/*N*/ }
-/*N*/
-/*N*/ bOwnPrinter = bIsDeletedHere;
-/*N*/
-/*N*/ pPrinter = pNewPrinter;
-/*N*/ if(pFontList)delete pFontList;
-/*N*/ OutputDevice* pOut = Application::GetDefaultDevice(); // #67730#
-/*N*/ pFontList = new FontList( pPrinter, pOut, FALSE );
-/*N*/ PutItem(SvxFontListItem(pFontList));
-/*N*/ }
-/*N*/ else
-/*?*/ if( bIsDeletedHere )
-/*?*/ delete pNewPrinter;
-/*N*/
-/*N*/ OutputDevice * pRefDev = GetRefDevice();
-/*N*/ if( pChDoc &&
-/*N*/ pRefDev &&
-/*N*/ pRefDev->GetMapMode().GetMapUnit() == MAP_100TH_MM )
-/*N*/ {
-/*N*/ // set ref device at document at its outliner as well
-/*N*/ OutputDevice * pLclRefDev = GetRefDevice();
-/*N*/ if( pLclRefDev && pLclRefDev->GetMapMode().GetMapUnit() == MAP_100TH_MM )
-/*N*/ {
-/*N*/ pChDoc->SetRefDevice( pLclRefDev );
-/*N*/ pChDoc->GetOutliner()->SetRefDevice( pLclRefDev );
-/*N*/
-/*N*/ // re-render chart with new ref-device
-/*N*/
-/*N*/ // call EnableSetModified( FALSE ) temporarily and safely
-/*N*/ lcl_NoModificationGuard aNoModGuard( this );
-/*N*/
-/*N*/ if( ! bFirstTimeSettingPrinter &&
-/*N*/ pChDoc->IsInitialized() )
-/*N*/ {
-/*?*/ pChDoc->BuildChart( FALSE );
-/*N*/ }
-/*N*/ }
-/*N*/ }
-/*N*/ }
-
-/************************************************************************/
-/*N*/ void SchChartDocShell::OnDocumentPrinterChanged(Printer* pNewPrinter) throw()
-/*N*/ {
-/*N*/ // we have no rtti, thus assert that we have an SfxPrinter
-/*N*/ SetPrinter( reinterpret_cast< SfxPrinter * >( pNewPrinter ) );
-/*N*/ }
-
-/*N*/ OutputDevice * SchChartDocShell::GetRefDevice()
-/*N*/ {
-/*N*/ if ( GetProtocol().IsInPlaceActive() ||
-/*N*/ SFX_CREATE_MODE_EMBEDDED == GetCreateMode() )
-/*N*/ {
-/*N*/ OutputDevice* pOutDev = GetDocumentRefDev();
-/*N*/ if ( pOutDev )
-/*N*/ return pOutDev;
-/*N*/ }
-/*N*/
-/*N*/ return GetPrinter();
-/*N*/ }
-
-/*************************************************************************
-|*
-|* InitNew, (Dokument wird neu erzeugt): Streams oeffnen
-|*
-\************************************************************************/
-
-/*N*/ BOOL SchChartDocShell::InitNew( SvStorage * pStor ) throw()
-/*N*/ {
-/*N*/ CHART_TRACE1( "SchChartDocShell::InitNew pModel=%lx", (long)pChDoc );
-/*N*/
-/*N*/ if( SfxInPlaceObject::InitNew( pStor ))
-/*N*/ {
-/*N*/ if(!pChDoc)
-/*N*/ {
-/*N*/ pChDoc = new ChartModel( SvtPathOptions().GetPalettePath(), this );
-/*N*/ // set new model at ChXChartDocument
-/*N*/ ChXChartDocument* pImpl = ChXChartDocument::getImplementation( GetModel() );
-/*N*/ if( pImpl )
-/*N*/ pImpl->SetChartModel( pChDoc );
-/*N*/ Construct();
-/*N*/ }
-/*N*/ if( pChDoc )
-/*N*/ {
-/*N*/ if(bInitNewNoNewDoc)
-/*?*/ pChDoc->NewOrLoadCompleted(DOC_LOADED);
-/*N*/ else
-/*N*/ pChDoc->NewOrLoadCompleted(NEW_DOC);
-/*N*/ }
-/*N*/
-/*N*/ SetVisArea(Rectangle(Point(0, 0), Size( SCH_DEFAULT_CHART_SIZE_WIDTH, SCH_DEFAULT_CHART_SIZE_HEIGHT )));
-/*N*/
-/*N*/ return TRUE;
-/*N*/ }
-/*N*/
-/*N*/ return FALSE;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Load: Pools und Dokument laden
-|*
-\************************************************************************/
-
-/*N*/ BOOL SchChartDocShell::Load(SvStorage * pStor) throw()
-/*N*/ {
-/*N*/ RTL_LOGFILE_CONTEXT_AUTHOR (context, "sch", "af119097", "::SchChartDocShell::Load");
-/*N*/
-/*N*/ CHART_TRACE( "SchChartDocShell::Load" );
-/*N*/
-/*N*/ BOOL bRet = FALSE;
-/*N*/
-/*N*/ pChDoc = new ChartModel( SvtPathOptions().GetPalettePath(), this );
-/*N*/ SetPool( &pChDoc->GetItemPool());
-/*N*/ ChXChartDocument* pImpl = ChXChartDocument::getImplementation( GetModel() );
-/*N*/ if( pImpl )
-/*?*/ pImpl->SetChartModel( pChDoc );
-/*N*/
-/*N*/ sal_Bool bIsXML = pStor->GetVersion() >= SOFFICE_FILEFORMAT_60;
-/*N*/
-/*N*/ if( bIsXML )
-/*N*/ {
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ ULONG nStorFmt = pStor->GetFormat();
-/*N*/ RTL_LOGFILE_CONTEXT_TRACE1 (context, "binary format %lu", nStorFmt);
-/*N*/
-/*N*/ // do some initializations
-/*N*/ Construct();
-/*N*/
-/*N*/ pProgress = NULL;
-/*N*/
-/*N*/ if ( nStorFmt == SOT_FORMATSTR_ID_STARCHART_50 ||
-/*N*/ nStorFmt == SOT_FORMATSTR_ID_STARCHART_40 ||
-/*N*/ nStorFmt == SOT_FORMATSTR_ID_STARCHART ||
-/*N*/ nStorFmt == SOT_FORMATSTR_ID_STARCHARTDOCUMENT_50
-/*N*/ )
-/*N*/ {
-/*N*/ if( GetCreateMode() != SFX_CREATE_MODE_EMBEDDED )
-/*N*/ pProgress = new SfxProgress( this, String( SchResId( STR_OPEN_DOCUMENT )), 100 );
-/*N*/
-/*N*/ if( pProgress )
-/*N*/ pProgress->SetState( 0, 100 );
-/*N*/
-/*N*/ bRet = SfxInPlaceObject::Load( pStor );
-/*N*/
-/*N*/ if( pProgress )
-/*N*/ pProgress->SetState( 30 );
-/*N*/
-/*N*/ if( bRet )
-/*N*/ {
-/*N*/ SetWaitCursor( TRUE );
-/*N*/
-/*N*/ // Pool und StyleSheet Pool laden
-/*N*/ String aStyleSheetsStr( SCH_STYLE_SHEET_NAME );
-/*N*/
-/*N*/ if (pStor->IsStream(aStyleSheetsStr))
-/*N*/ {
-/*N*/ ULONG nError;
-/*N*/ SvStorageStreamRef rPoolStream = pStor->OpenStream( aStyleSheetsStr );
-/*N*/ rPoolStream->SetVersion( pStor->GetVersion());
-/*N*/ if( ! rPoolStream->GetError())
-/*N*/ {
-/*N*/ rPoolStream->SetBufferSize( POOL_BUFFER_SIZE );
-/*N*/ nError = rPoolStream->GetError();
-/*N*/ GetPool().SetFileFormatVersion( (USHORT)pStor->GetVersion ());
-/*N*/ GetPool().Load( *rPoolStream );
-/*N*/ nError = rPoolStream->GetError();
-/*N*/ if( nError )
-/*N*/ {
-/*?*/ OSL_TRACE( "Errorcode 0x%x loading Pool", nError );
-/*?*/ rPoolStream->ResetError();
-/*?*/ SetError( ERRCODE_WARNING_MASK | nError );
-/*N*/ }
-/*N*/ GetStyleSheetPool()->Load( *rPoolStream );
-/*N*/ nError = rPoolStream->GetError();
-/*N*/ if( nError )
-/*N*/ {
-/*?*/ OSL_TRACE( "Errorcode 0x%x loading StyleSheet-Pool", nError );
-/*?*/ rPoolStream->ResetError();
-/*?*/ SetError( ERRCODE_WARNING_MASK | nError );
-/*N*/ }
-/*N*/ rPoolStream->SetBufferSize( 0 );
-/*N*/ }
-/*N*/ else bRet = FALSE;
-/*N*/ }
-/*N*/ else bRet = FALSE;
-/*N*/
-/*N*/ if( pProgress )
-/*N*/ pProgress->SetState( 70 );
-/*N*/
-/*N*/ // wenn gewuenscht, das Dokument laden
-/*N*/ if (bRet && (GetCreateMode() != SFX_CREATE_MODE_ORGANIZER))
-/*N*/ {
-/*N*/ // Model der Drawing Engine laden
-/*N*/ if (pStor->IsStream( aStarChartDoc ))
-/*N*/ {
-/*N*/ SvStorageStreamRef rDocumentStream = pStor->OpenStream( aStarChartDoc );
-/*N*/ rDocumentStream->SetVersion( pStor->GetVersion());
-/*N*/ GetPool().SetFileFormatVersion ( (USHORT)pStor->GetVersion());
-/*N*/ if( ! rDocumentStream->GetError())
-/*N*/ {
-/*N*/ rDocumentStream->SetBufferSize( DOCUMENT_BUFFER_SIZE );
-/*N*/ rDocumentStream->SetCryptMaskKey( pStor->GetKey()); // set password
-/*N*/
-/*N*/ // read ChartModel
-/*N*/ *rDocumentStream >> *pChDoc;
-/*N*/
-/*N*/ bRet = ( rDocumentStream->GetError() == 0 );
-/*N*/
-/*N*/ // garbled with password?
-/*N*/ if( ! bRet )
-/*N*/ {
-/*?*/ if( pStor->GetKey().Len() == 0 )
-/*?*/ {
-/*?*/ // no password set => cannot load
-/*?*/ SetError( ERRCODE_SFX_DOLOADFAILED );
-/*?*/ }
-/*?*/ else
-/*?*/ {
-/*?*/ // password was set, but obviously wrong
-/*?*/ SetError( ERRCODE_SFX_WRONGPASSWORD );
-/*?*/ }
-/*N*/ }
-/*N*/
-/*N*/ rDocumentStream->SetBufferSize( 0 );
-/*N*/ }
-/*N*/ else bRet = FALSE;
-/*N*/ }
-/*N*/ else bRet = FALSE;
-/*N*/ }
-/*N*/
-/*N*/ if( pProgress )
-/*N*/ pProgress->SetState( 100 );
-/*N*/
-/*N*/ // (noch) keine ungesicherten Aenderungen im Model
-/*N*/ if (bRet)
-/*N*/ {
-
- // #i39672# convert range strings to new XML compatible format
-
- // Note: Formerly, the parent storage was queried to
- // find out whether it is a Writer or a Calc. This
- // worked, because it was done in SaveAs(). It is
- // better to do the conversion right after loading,
- // however here we have no parent. So both conversions
- // are called. This works, because the things written
- // to the SomeData strings is so different, that both
- // routines won't convert the data for the wrong
- // format. (Note: only the conversion from old to new,
- // i.e. the call with parameter TRUE, work like this, as
- // the new format is the same for both)
-
- // try Writer
- bool bConverted =
- pChDoc->GetChartData()->ConvertChartRangeForWriter( TRUE );
-
- // try Calc
- if( ! bConverted )
- {
- SchMemChart* pData = pChDoc->GetChartData();
- if( pData &&
- pData->SomeData3().Len() > 0 &&
- (pData->GetChartRange().maRanges.size() == 0) )
- bConverted = pData->ConvertChartRangeForCalc( TRUE );
- }
-
-/*N*/ pChDoc->SetChanged( FALSE );
-/*N*/ pChDoc->NewOrLoadCompleted( DOC_LOADED );
-/*N*/ }
-/*N*/
-/*N*/ SetWaitCursor( FALSE );
-/*N*/ }
-/*N*/
-/*N*/ if( pProgress )
-/*N*/ pProgress->SetState( 100 );
-/*N*/
-/*N*/ if (bRet)
-/*N*/ {
-/*N*/ UpdateTablePointers();
-/*N*/ FinishedLoading( SFX_LOADED_ALL );
-/*N*/ }
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*?*/ pStor->SetError( SVSTREAM_WRONGVERSION );
-/*N*/ }
-/*N*/
-/*N*/ if( pProgress )
-/*N*/ {
-/*N*/ delete pProgress;
-/*N*/ pProgress = NULL;
-/*N*/ }
-/*N*/ }
-/*N*/
-/*N*/ return bRet;
-/*N*/ }
-
-/*************************************************************************
-|*
-|* Tabellenzeiger auffrischen
-|*
-\************************************************************************/
-/*N*/ void SchChartDocShell::UpdateTablePointers() throw()
-/*N*/ {
-/*N*/ PutItem(SvxColorTableItem(pChDoc->GetColorTable()));
-/*N*/ PutItem(SvxGradientListItem(pChDoc->GetGradientList()));
-/*N*/ PutItem(SvxHatchListItem(pChDoc->GetHatchList()));
-/*N*/ PutItem(SvxBitmapListItem(pChDoc->GetBitmapList()));
-/*N*/ PutItem(SvxDashListItem(pChDoc->GetDashList()));
-/*N*/ PutItem(SvxLineEndListItem(pChDoc->GetLineEndList()));
-/*N*/
-/*N*/ if(pFontList)delete pFontList;
-/*N*/
-/*N*/ if ( GetCreateMode() == SFX_CREATE_MODE_EMBEDDED && !pPrinter )
-/*N*/ {
-/*N*/ // OLE-Objekt: kein Printer anlegen
-/*?*/ pFontList = new FontList( Application::GetDefaultDevice(), NULL, FALSE ); // #67730#
-/*N*/ }
-/*N*/ else
-/*N*/ {
-/*N*/ pFontList = new FontList(GetPrinter(), NULL, FALSE);
-/*N*/ }
-/*N*/
-/*N*/ SvxFontListItem aFontListItem(pFontList);
-/*N*/ PutItem(aFontListItem);
-/*N*/
-/*N*/ // PutItem(SvxNumberInfoItem(pChDoc->GetNumFormatter()));
-/*N*/ }
-
-/*************************************************************************
-|*
-|* FillClass
-|*
-\************************************************************************/
-
-/*N*/ void SchChartDocShell::FillClass(SvGlobalName* pClassName,
-/*N*/ ULONG* pFormat,
-/*N*/ String* pAppName,
-/*N*/ String* pFullTypeName,
-/*N*/ String* pShortTypeName,
-/*N*/ long nFileFormat) const throw()
-/*N*/ {
-/*N*/ SfxInPlaceObject::FillClass(pClassName, pFormat, pAppName, pFullTypeName,
-/*N*/ pShortTypeName, nFileFormat);
-/*N*/
-/*N*/ if (nFileFormat == SOFFICE_FILEFORMAT_31)
-/*N*/ {
-/*N*/ *pClassName = SvGlobalName(BF_SO3_SCH_CLASSID_30);
-/*N*/ *pFormat = SOT_FORMATSTR_ID_STARCHART;
-/*N*/ (*pAppName).AssignAscii( RTL_CONSTASCII_STRINGPARAM( "Schart 3.1" ));
-/*N*/ *pFullTypeName = String(SchResId(STR_CHART_DOCUMENT_FULLTYPE_31));
-/*N*/ *pShortTypeName = String(SchResId(STR_CHART_DOCUMENT));
-/*N*/ }
-/*N*/ else if (nFileFormat == SOFFICE_FILEFORMAT_40)
-/*N*/ {
-/*N*/ *pClassName = SvGlobalName(BF_SO3_SCH_CLASSID_40);
-/*N*/ *pFormat = SOT_FORMATSTR_ID_STARCHART_40;
-/*N*/ *pFullTypeName = String(SchResId(STR_CHART_DOCUMENT_FULLTYPE_40));
-/*N*/ *pShortTypeName = String(SchResId(STR_CHART_DOCUMENT));
-/*N*/ }
-/*N*/ else if (nFileFormat == SOFFICE_FILEFORMAT_50)
-/*N*/ {
-/*N*/ *pClassName = SvGlobalName(BF_SO3_SCH_CLASSID_50);
-
- // for binfilter, we need the FormatIDs to be set. Not setting them
- // has always been an error (!)
- *pFormat = SOT_FORMATSTR_ID_STARCHART_50;
-
-/*N*/ *pFullTypeName = String(SchResId(STR_CHART_DOCUMENT_FULLTYPE_50));
-/*N*/ *pShortTypeName = String(SchResId(STR_CHART_DOCUMENT));
-/*N*/ }
-/*N*/ else if (nFileFormat == SOFFICE_FILEFORMAT_60)
-/*N*/ {
-/*N*/ *pClassName = SvGlobalName(BF_SO3_SCH_CLASSID_60);
-
- // for binfilter, we need the FormatIDs to be set. Not setting them
- // has always been an error (!)
- *pFormat = SOT_FORMATSTR_ID_STARCHART_60;
-
-/*N*/ *pFullTypeName = String(SchResId(STR_CHART_DOCUMENT_FULLTYPE_60));
-/*N*/ *pShortTypeName = String(SchResId(STR_CHART_DOCUMENT));
-/*N*/ }
-/*N*/ }
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChXChartData.hxx b/binfilter/bf_sch/source/ui/inc/ChXChartData.hxx
deleted file mode 100644
index 586ccb1c4..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChXChartData.hxx
+++ /dev/null
@@ -1,167 +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 _CHART_DATA_HXX
-#define _CHART_DATA_HXX
-
-#include <cppuhelper/implbase4.hxx>
-// header for OInterfaceContainerHelper
-#include <cppuhelper/interfacecontainer.hxx>
-
-#include <com/sun/star/chart/XChartDataArray.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XUnoTunnel.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-namespace binfilter {
-
-class ChartModel;
-
-// ----------------------------------------
-// ChXChartData
-// ----------------------------------------
-
-class ChXChartData : public cppu::WeakImplHelper4<
- ::com::sun::star::chart::XChartData,
- ::com::sun::star::lang::XServiceInfo,
- ::com::sun::star::lang::XEventListener,
- ::com::sun::star::lang::XUnoTunnel >
-{
-private:
- ::osl::Mutex maMutex;
- cppu::OInterfaceContainerHelper maListeners;
-
-protected:
- ChartModel* mpModel;
-
-public:
- // the model is used for listening for the 'death' of the ChartModel
- ChXChartData( ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > xModel,
- ChartModel* pModel );
- virtual ~ChXChartData();
-
- ::osl::Mutex& GetMutex() { return maMutex; }
-
- virtual void DataModified( ::com::sun::star::chart::ChartDataChangeEvent& );
-
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
- static ChXChartData* getImplementation( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > ) throw();
-
- // XChartData
- virtual void SAL_CALL addChartDataChangeEventListener(
- const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XChartDataChangeEventListener >& aListener )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeChartDataChangeEventListener(
- const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XChartDataChangeEventListener >& aListener )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual double SAL_CALL getNotANumber() throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL isNotANumber( double nNumber ) throw( ::com::sun::star::uno::RuntimeException );
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XEventListener listens to disposing of XModel
- virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source )
- throw( ::com::sun::star::uno::RuntimeException );
-};
-
-
-// ----------------------------------------
-// ChXChartDataArray
-// ----------------------------------------
-
-class ChXChartDataArray :
- public ChXChartData,
- public ::com::sun::star::chart::XChartDataArray
-{
-private:
- static ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > maTypeSequence;
-
-public:
- // the model is used for listening for the 'death' of the ChartModel
- ChXChartDataArray( ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > xModel,
- ChartModel* pModel );
- virtual ~ChXChartDataArray();
-
- // XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XChartDataArray
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< double > > SAL_CALL getData()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setData( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< double > >& aData )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getRowDescriptions()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setRowDescriptions( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aRowDescriptions )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getColumnDescriptions()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setColumnDescriptions( const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aColumnDescriptions )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XChartData ( ::XChartDataArray )
- virtual void SAL_CALL addChartDataChangeEventListener(
- const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XChartDataChangeEventListener >& aListener )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeChartDataChangeEventListener(
- const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XChartDataChangeEventListener >& aListener )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual double SAL_CALL getNotANumber() throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL isNotANumber( double nNumber ) throw( ::com::sun::star::uno::RuntimeException );
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-};
-
-} //namespace binfilter
-#endif // _CHART_DATA_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChXChartDataChangeEventListener.hxx b/binfilter/bf_sch/source/ui/inc/ChXChartDataChangeEventListener.hxx
deleted file mode 100644
index a07d44ec1..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChXChartDataChangeEventListener.hxx
+++ /dev/null
@@ -1,72 +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 _CHXCHARTDATACHANGEEVENTLISTENER_HXX
-#define _CHXCHARTDATACHANGEEVENTLISTENER_HXX
-
-#include <cppuhelper/implbase1.hxx> // helper for implementations
-
-#include <com/sun/star/chart/XChartDataChangeEventListener.hpp>
-namespace binfilter {
-
-class ChXChartDocument;
-
-class ChXChartDataChangeEventListener :
- public cppu::WeakImplHelper1< ::com::sun::star::chart::XChartDataChangeEventListener >
-{
-private:
- ChXChartDocument *mpXDoc;
-
-public:
- ChXChartDataChangeEventListener();
- virtual ~ChXChartDataChangeEventListener(){};
-
- void Reset() throw();
- void SetOwner( ChXChartDocument* pXDoc ) throw();
-
- // XChartDataChangeEventListener
- virtual void SAL_CALL chartDataChanged( const ::com::sun::star::chart::ChartDataChangeEvent& aEvent )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XEventListener
- virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-};
-
-} //namespace binfilter
-#endif // _CHXCHARTDATACHANGEEVENTLISTENER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChXChartDrawPage.hxx b/binfilter/bf_sch/source/ui/inc/ChXChartDrawPage.hxx
deleted file mode 100644
index e7147e03e..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChXChartDrawPage.hxx
+++ /dev/null
@@ -1,105 +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 _CHXCHARTDRAWPAGE_HXX_
-#define _CHXCHARTDRAWPAGE_HXX_
-
-#include <bf_svx/unopage.hxx>
-#include <com/sun/star/beans/XPropertySet.hpp>
-
-// header for SvxItemPropertySet
-#include <bf_svx/unoprov.hxx>
-namespace binfilter {
-
-class ChartModel;
-
-class ChXChartDrawPage :
- public ::com::sun::star::beans::XPropertySet,
- public SvxDrawPage
-{
-private:
- ChartModel* mpModel;
- SvxItemPropertySet maPropSet;
-
- ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > maTypeSequence;
-
-public:
- ChXChartDrawPage( ChartModel* pModel );
- virtual ~ChXChartDrawPage() throw();
-
- // XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL acquire() throw();
- virtual void SAL_CALL release() throw();
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XPropertySet
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Any& aValue )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::beans::PropertyVetoException,
- ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-};
-
-} //namespace binfilter
-#endif // _CHXCHARTDRAWPAGE_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChXChartObject.hxx b/binfilter/bf_sch/source/ui/inc/ChXChartObject.hxx
deleted file mode 100644
index 8ecb5d5dc..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChXChartObject.hxx
+++ /dev/null
@@ -1,230 +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 _CHXCHART_OBJECT_HXX
-#define _CHXCHART_OBJECT_HXX
-
-#include <cppuhelper/implbase8.hxx>
-
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/XMultiPropertySet.hpp>
-#include <com/sun/star/beans/XPropertyState.hpp>
-#include <com/sun/star/beans/XMultiPropertyStates.hpp>
-#include <com/sun/star/drawing/XShape.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/lang/XUnoTunnel.hpp>
-#include <cppuhelper/interfacecontainer.hxx>
-
-// header for SvxServiceInfoHelper, SvxItemPropertySet
-#include <bf_svx/unoprov.hxx>
-namespace binfilter {
-
-class ChartModel;
-class SdrObject;
-
-class ChXChartObject : public cppu::WeakImplHelper8<
- ::com::sun::star::beans::XPropertySet,
- ::com::sun::star::beans::XMultiPropertySet,
- ::com::sun::star::beans::XPropertyState,
- ::com::sun::star::beans::XMultiPropertyStates,
- ::com::sun::star::drawing::XShape,
- ::com::sun::star::lang::XComponent,
- ::com::sun::star::lang::XServiceInfo,
- ::com::sun::star::lang::XUnoTunnel >
-{
-protected:
- SvxItemPropertySet maPropSet;
- ChartModel* mpModel;
- long mnWhichId;
- long mnIndex; // typically a data row index
-
-public:
- ChXChartObject( long _MapId, ChartModel* _Model, long _WhichId, long _Index = -1 );
- virtual ~ChXChartObject();
-
- virtual long GetId() const;
- SdrObject* GetCurrentSdrObject() const;
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
-
- // XPropertySet
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Any& aValue )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::beans::PropertyVetoException,
- ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-
- // XMultiPropertySet
- virtual void SAL_CALL setPropertyValues (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames,
- const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues )
- throw ( ::com::sun::star::beans::PropertyVetoException,
- ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw ( ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL addPropertiesChangeListener (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
- throw ( ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removePropertiesChangeListener (
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
- throw ( ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL firePropertiesChangeEvent (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
- throw ( ::com::sun::star::uno::RuntimeException);
-
-
- // XPropertyState
- virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates(
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-
- // XMultiPropertyStates
-/* virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName )
- throw ( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException);
-*/ virtual void SAL_CALL setAllPropertiesToDefault (void)
- throw ( ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setPropertiesToDefault (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw ( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyDefaults (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw ( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException);
-
- // XShape
- virtual ::com::sun::star::awt::Point SAL_CALL getPosition() throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& aPosition )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::awt::Size SAL_CALL getSize() throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& aSize )
- throw( ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException );
-
- // XComponent
- virtual void SAL_CALL dispose() throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XServiceInfo
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-
-
-protected:
- /** @descr In an array of SfxItemPropertyMap entries advance from the position pointed to
- by pProperty to that property that has the name given by pPropertyName. If the
- property list does not contain such an entry an UnknownPropertyException is thrown.
- @param pProperty Pointer into an array of properties. It is modified such that after
- the methods returns it points to a property with the same name as pPropertyName.
- @param pPropertyName Name of the property that is searched for.
- */
- void AdvanceToName (const SfxItemPropertyMap *& pProperty,
- const ::rtl::OUString * pPropertyName);
-
- /** @descr Creates an item set and fill it with the models default values.
- If derived classes need other than the default which ranges, the have to overload
- this method.
- @return Returns a pointer to an item set. The caller is responsible for deleting it.
- */
- virtual SfxItemSet * CreateItemSet (void);
-
- /** @descr Retrieve the value of the property specified by rProperty from the item set given
- by rAttributes and put it into rValue.
- @param rProperty Specifies the property in question.
- @param rValue The property's value is stored into this argument.
- @param rAttributes The item set that contains all relevant items from which the property
- value is extracted.
- */
- virtual void GetPropertyValue (const SfxItemPropertyMap & rProperty,
- ::com::sun::star::uno::Any & rValue,
- SfxItemSet & rAttributes);
-
-private:
- /// List of listeners for the XComponent interface.
- ::cppu::OInterfaceContainerHelper maListenerList;
-
- /// Mutex used by the interface container.
- ::osl::Mutex maMutex;
-};
-
-} //namespace binfilter
-#endif // _CHXCHART_OBJECT_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChXDataPoint.hxx b/binfilter/bf_sch/source/ui/inc/ChXDataPoint.hxx
deleted file mode 100644
index 85bb2232d..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChXDataPoint.hxx
+++ /dev/null
@@ -1,144 +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 _SCH_DATA_POINT_HXX
-#define _SCH_DATA_POINT_HXX
-
-#include <cppuhelper/implbase5.hxx>
-
-#include <com/sun/star/drawing/XShapeDescriptor.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/XPropertyState.hpp>
-#include <com/sun/star/lang/XUnoTunnel.hpp>
-
-// header for SvxItemPropertySet
-#include <bf_svx/unoprov.hxx>
-namespace binfilter {
-
-class ChartModel;
-
-class ChXDataPoint : public cppu::WeakImplHelper5<
- ::com::sun::star::beans::XPropertySet,
- ::com::sun::star::beans::XPropertyState,
- ::com::sun::star::drawing::XShapeDescriptor,
- ::com::sun::star::lang::XServiceInfo,
- ::com::sun::star::lang::XUnoTunnel >
-{
-private:
- SvxItemPropertySet maPropSet;
- ChartModel* mpModel;
-
- sal_Int32 mnCol, mnRow;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > getStatisticsProperties( const sal_Int32 nId ) const;
- void AddDataPointAttr( SfxItemSet& rOutAttributes );
-
-public:
- ChXDataPoint( sal_Int32 _Col, sal_Int32 _Row, ChartModel* _Model = NULL );
- virtual ~ChXDataPoint();
-
- sal_Int32 GetCol() const { return mnCol; }
- sal_Int32 GetRow() const { return mnRow; }
-
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XPropertySet
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Any& aValue )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::beans::PropertyVetoException,
- ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-
- // XPropertyState
- virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates(
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-
- // XShapeDescriptor
- virtual ::rtl::OUString SAL_CALL getShapeType() throw( ::com::sun::star::uno::RuntimeException );
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-};
-
-} //namespace binfilter
-#endif // _SCH_DATA_POINT_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChXDataRow.hxx b/binfilter/bf_sch/source/ui/inc/ChXDataRow.hxx
deleted file mode 100644
index d31fa7a0b..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChXDataRow.hxx
+++ /dev/null
@@ -1,138 +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 _SCH_DATA_ROW_HXX
-#define _SCH_DATA_ROW_HXX
-
-#include <cppuhelper/implbase5.hxx>
-
-#include <com/sun/star/drawing/XShapeDescriptor.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/XPropertyState.hpp>
-#include <com/sun/star/lang/XUnoTunnel.hpp>
-
-// header for SvxItemPropertySet
-#include <bf_svx/unoprov.hxx>
-namespace binfilter {
-
-class ChartModel;
-
-class ChXDataRow : public cppu::WeakImplHelper5<
- ::com::sun::star::beans::XPropertySet,
- ::com::sun::star::beans::XPropertyState,
- ::com::sun::star::drawing::XShapeDescriptor,
- ::com::sun::star::lang::XServiceInfo,
- ::com::sun::star::lang::XUnoTunnel >
-{
-private:
- SvxItemPropertySet maPropSet;
- ChartModel* mpModel;
-
- sal_Int32 mnRow;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > getStatisticsProperties( sal_Int32 nId ) const;
-
-public:
- ChXDataRow( sal_Int32 _Row, ChartModel* _Model = NULL );
- virtual ~ChXDataRow();
-
- sal_Int32 GetRow() const { return mnRow; }
-
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
-
- // XPropertySet
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Any& aValue )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::beans::PropertyVetoException,
- ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-
- // XPropertyState
- virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates(
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-
- // XShapeDescriptor
- virtual ::rtl::OUString SAL_CALL getShapeType() throw( ::com::sun::star::uno::RuntimeException );
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-};
-
-} //namespace binfilter
-#endif // _SCH_DATA_ROW_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChXDiagram.hxx b/binfilter/bf_sch/source/ui/inc/ChXDiagram.hxx
deleted file mode 100644
index b24bde785..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChXDiagram.hxx
+++ /dev/null
@@ -1,474 +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 _CHART_DIAGRAM_HXX
-#define _CHART_DIAGRAM_HXX
-
-#include <cppuhelper/implbase.hxx>
-
-#include <com/sun/star/chart/XDiagram.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/chart/XTwoAxisXSupplier.hpp>
-#include <com/sun/star/chart/XTwoAxisYSupplier.hpp>
-#include <com/sun/star/chart/XAxisZSupplier.hpp>
-#include <com/sun/star/chart/XStatisticDisplay.hpp>
-#include <com/sun/star/chart/X3DDisplay.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/XMultiPropertySet.hpp>
-#include <com/sun/star/beans/XPropertyState.hpp>
-#include <com/sun/star/beans/XMultiPropertyStates.hpp>
-#include <com/sun/star/lang/XUnoTunnel.hpp>
-#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/lang/XEventListener.hpp>
-#include <cppuhelper/interfacecontainer.hxx>
-
-// header for class SvxItemPropertySet
-#include <bf_svx/unoipset.hxx>
-namespace binfilter {
-
-class ChartModel;
-class SchChartDocShell;
-} //namespace binfilter
-// GrP gcc 2.95.2 on Mac OS X chokes on this huge template class.
-// Expand the template by hand.
-//#if ! (defined(MACOSX) && ( __GNUC__ < 3 ))
-#if 1
-
-// Construct a WeakImplHelper14 with the emphasis on 14.
-// Fourteen interfaces are two to many to use the newer template definition
-// of WeakImplHelper.
-#define __IFC14 Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10,\
- Ifc11, Ifc12, Ifc13, Ifc14
-#define __CLASS_IFC14 class Ifc1, class Ifc2, class Ifc3, class Ifc4, \
- class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10,\
- class Ifc11, class Ifc12, class Ifc13, class Ifc14
-#define __PUBLIC_IFC14 public Ifc1, public Ifc2, public Ifc3, public Ifc4,\
- public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9,\
- public Ifc10, public Ifc11, public Ifc12, public Ifc13, public Ifc14
-
-__DEF_IMPLHELPER_PRE(14)
- __IFC_WRITEOFFSET(1) __IFC_WRITEOFFSET(2) __IFC_WRITEOFFSET(3)\
- __IFC_WRITEOFFSET(4) __IFC_WRITEOFFSET(5) __IFC_WRITEOFFSET(6)\
- __IFC_WRITEOFFSET(7) __IFC_WRITEOFFSET(8) __IFC_WRITEOFFSET(9)\
- __IFC_WRITEOFFSET(10) __IFC_WRITEOFFSET(11) __IFC_WRITEOFFSET(12)\
- __IFC_WRITEOFFSET(13) __IFC_WRITEOFFSET(14)
-__DEF_IMPLHELPER_POST(14)
-
-// !defined(MACOSX)
-#else
-// defined(MACOSX) && (__GNUC__ < 3 )
-
-namespace cppu {
- struct ClassData14 : public ClassDataBase
- {
- Type_Offset arType2Offset[ 14 ];
- ClassData14( ) SAL_THROW( () )
- : ClassDataBase( 14 )
- {}
- };
-
- class SAL_NO_VTABLE ImplHelperBase14
- : public ::com::sun::star::lang::XTypeProvider
- , public ::com::sun::star::chart::XDiagram,
- public ::com::sun::star::chart::XAxisZSupplier,
- public ::com::sun::star::chart::XTwoAxisXSupplier,
- public ::com::sun::star::chart::XTwoAxisYSupplier,
- public ::com::sun::star::chart::XStatisticDisplay,
- public ::com::sun::star::chart::X3DDisplay,
- public ::com::sun::star::beans::XPropertySet,
- public ::com::sun::star::beans::XMultiPropertySet,
- public ::com::sun::star::beans::XPropertyState,
- public ::com::sun::star::beans::XMultiPropertyStates,
- public ::com::sun::star::lang::XServiceInfo,
- public ::com::sun::star::lang::XUnoTunnel,
- public ::com::sun::star::lang::XComponent,
- public ::com::sun::star::lang::XEventListener
- {
- protected:
- ClassData & SAL_CALL getClassData( ClassDataBase & s_aCD ) SAL_THROW( () )
- {
- ClassData & rCD = * static_cast< ClassData * >( &s_aCD );
- if (! rCD.bOffsetsInit)
- {
- ::osl::MutexGuard aGuard( getImplHelperInitMutex() );
- if (! rCD.bOffsetsInit)
- {
- char * pBase = (char *)this;
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XDiagram > *)0 ),
- (char *)(::com::sun::star::chart::XDiagram *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XAxisZSupplier > *)0 ),
- (char *)(::com::sun::star::chart::XAxisZSupplier *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XTwoAxisXSupplier > *)0 ),
- (char *)(::com::sun::star::chart::XTwoAxisXSupplier *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XTwoAxisYSupplier > *)0 ),
- (char *)(::com::sun::star::chart::XTwoAxisYSupplier *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::chart::XStatisticDisplay > *)0 ),
- (char *)(::com::sun::star::chart::XStatisticDisplay *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::chart::X3DDisplay > *)0 ),
- (char *)(::com::sun::star::chart::X3DDisplay *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > *)0 ),
- (char *)(::com::sun::star::beans::XPropertySet *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertySet > *)0 ),
- (char *)(::com::sun::star::beans::XMultiPropertySet *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyState > *)0 ),
- (char *)(::com::sun::star::beans::XPropertyState *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XMultiPropertyStates > *)0 ),
- (char *)(::com::sun::star::beans::XMultiPropertyStates *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XServiceInfo > *)0 ),
- (char *)(::com::sun::star::lang::XServiceInfo *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XUnoTunnel > *)0 ),
- (char *)(::com::sun::star::lang::XUnoTunnel *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent > *)0 ),
- (char *)(::com::sun::star::lang::XComponent *)this - pBase );
- rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > *)0 ),
- (char *)(::com::sun::star::lang::XEventListener *)this - pBase );
- rCD.bOffsetsInit = sal_True;
- }
- }
- return rCD;
- }
- };
-
-
- class SAL_NO_VTABLE ImplHelper14
- : public ImplHelperBase14
- {
- static ClassData14 s_aCD;
- public:
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw (::com::sun::star::uno::RuntimeException)
- { return getClassData( s_aCD ).query( rType, (ImplHelperBase14 *)this ); }
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException)
- { return getClassData( s_aCD ).getTypes(); }
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException)
- { return getClassData( s_aCD ).getImplementationId(); }
- };
-
-
- class SAL_NO_VTABLE WeakImplHelper14
- : public ::cppu::OWeakObject
- , public ImplHelperBase14
- {
- static ClassData14 s_aCD;
- public:
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw (::com::sun::star::uno::RuntimeException)
- {
- ::com::sun::star::uno::Any aRet( getClassData( s_aCD ).query( rType, (ImplHelperBase14 *)this ) );
- return (aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ));
- }
- virtual void SAL_CALL acquire() throw ()
- { OWeakObject::acquire(); }
- virtual void SAL_CALL release() throw ()
- { OWeakObject::release(); }
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException)
- { return getClassData( s_aCD ).getTypes(); }
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException)
- { return getClassData( s_aCD ).getImplementationId(); }
- };
-
- // namespace ::cppu
-}
-
-#endif
-namespace binfilter {
- class ChXDiagram : public ::cppu::WeakImplHelper14
- <
- ::com::sun::star::chart::XDiagram,
- ::com::sun::star::chart::XAxisZSupplier,
- ::com::sun::star::chart::XTwoAxisXSupplier, // : XAxisXSupplier
- ::com::sun::star::chart::XTwoAxisYSupplier, // : XAxisYSupplier
- ::com::sun::star::chart::XStatisticDisplay,
- ::com::sun::star::chart::X3DDisplay,
- ::com::sun::star::beans::XPropertySet,
- ::com::sun::star::beans::XMultiPropertySet,
- ::com::sun::star::beans::XPropertyState,
- ::com::sun::star::beans::XMultiPropertyStates,
- ::com::sun::star::lang::XServiceInfo,
- ::com::sun::star::lang::XUnoTunnel,
- ::com::sun::star::lang::XComponent,
- ::com::sun::star::lang::XEventListener
- >
-{
-private:
- ::rtl::OUString maServiceName;
- sal_Int32 mnBaseType;
- ChartModel* mpModel;
- SvxItemPropertySet maPropSet;
-
- // some shape references (ChXChartObjects)
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mxXAxisTitle;
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mxYAxisTitle;
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > mxZAxisTitle;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxXAxis;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxYAxis;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxZAxis;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxSecXAxis;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxSecYAxis;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxMajorGridX;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxMajorGridY;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxMajorGridZ;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxMinorGridX;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxMinorGridY;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxMinorGridZ;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxMinMaxLine;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxUpBar;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxDownBar;
-
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxWall;
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > mxFloor;
-
-
- ::com::sun::star::uno::Any GetAnyByItem( SfxItemSet& aSet, const SfxItemPropertyMap* pMap );
-
-public:
- ChXDiagram( SchChartDocShell* pShell, sal_Bool bPreInit = sal_True );
- virtual ~ChXDiagram();
-
- void SetServiceName( const ::rtl::OUString& u ) throw() { maServiceName = u; }
- const ::rtl::OUString& getServiceName() throw() { return maServiceName; }
- sal_Bool SetDocShell( SchChartDocShell* pDocShell, sal_Bool bKeepModel = sal_False ) throw();
-
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
- static ChXDiagram* getImplementation( ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > ) throw();
-
- // XDiagram
- virtual ::rtl::OUString SAL_CALL getDiagramType() throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getDataRowProperties( sal_Int32 Row )
- throw( ::com::sun::star::uno::RuntimeException,
- ::com::sun::star::lang::IndexOutOfBoundsException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getDataPointProperties( sal_Int32 Column, sal_Int32 Row )
- throw( ::com::sun::star::uno::RuntimeException,
- ::com::sun::star::lang::IndexOutOfBoundsException );
-
- // XShape ( ::XDiagram )
- virtual ::com::sun::star::awt::Size SAL_CALL getSize()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setSize( const ::com::sun::star::awt::Size& )
- throw( ::com::sun::star::beans::PropertyVetoException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::awt::Point SAL_CALL getPosition()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPosition( const ::com::sun::star::awt::Point& )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XShapeDescriptor ( ::XShape ::XDiagram )
- virtual ::rtl::OUString SAL_CALL getShapeType() throw( ::com::sun::star::uno::RuntimeException );
-
-
- // XAxisXSupplier, XAxisYSupplier, XAxisZSupplier,
- // XTwoAxisXSupplier, XTwoAxisYSupplier
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > SAL_CALL getXAxisTitle()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > SAL_CALL getYAxisTitle()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > SAL_CALL getZAxisTitle()
- throw( ::com::sun::star::uno::RuntimeException );
-
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getXAxis()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getYAxis()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getZAxis()
- throw( ::com::sun::star::uno::RuntimeException );
-
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getSecondaryXAxis()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getSecondaryYAxis()
- throw( ::com::sun::star::uno::RuntimeException );
-
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getXMainGrid()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getYMainGrid()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getZMainGrid()
- throw( ::com::sun::star::uno::RuntimeException );
-
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getXHelpGrid()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getYHelpGrid()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getZHelpGrid()
- throw( ::com::sun::star::uno::RuntimeException );
-
-
- // XStatisticDisplay
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getMinMaxLine()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getUpBar()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getDownBar()
- throw( ::com::sun::star::uno::RuntimeException );
-
-
- // X3DDisplay
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getWall()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > SAL_CALL getFloor()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XPropertySet
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Any& aValue )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::beans::PropertyVetoException,
- ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addPropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& xListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removePropertyChangeListener( const ::rtl::OUString& aPropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeVetoableChangeListener( const ::rtl::OUString& PropertyName,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-
- // XMultiPropertySet
- virtual void SAL_CALL setPropertyValues (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames,
- const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aValues )
- throw (::com::sun::star::beans::PropertyVetoException,
- ::com::sun::star::lang::IllegalArgumentException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL addPropertiesChangeListener (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
- throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removePropertiesChangeListener (
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
- throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL firePropertiesChangeEvent (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames,
- const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& xListener )
- throw (::com::sun::star::uno::RuntimeException);
-
- // XPropertyState
- virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyState > SAL_CALL getPropertyStates(
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyToDefault( const ::rtl::OUString& PropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyDefault( const ::rtl::OUString& aPropertyName )
- throw( ::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException );
-
- // XMultiPropertyStates
- // getPropertyStates already part of interface XPropertyState
- virtual void SAL_CALL setAllPropertiesToDefault (void)
- throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setPropertiesToDefault (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw (::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyDefaults (
- const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw (::com::sun::star::beans::UnknownPropertyException,
- ::com::sun::star::lang::WrappedTargetException,
- ::com::sun::star::uno::RuntimeException);
-
- // XServiceInfo
- // supportsService is handled by SvxServiceInfoHelper
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XComponent
- virtual void SAL_CALL dispose() throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& xListener )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeEventListener( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener )
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XEventListener
- virtual void SAL_CALL disposing (const ::com::sun::star::lang::EventObject & Source)
- throw (::com::sun::star::uno::RuntimeException);
-
-protected:
- /** @descr In an array of SfxItemPropertyMap entries advance from the position pointed to
- by pProperty to that property that has the name given by pPropertyName. If the
- property list does not contain such an entry an UnknownPropertyException is thrown.
- @param pProperty Pointer into an array of properties. It is modified such that after
- the methods returns it points to a property with the same name as pPropertyName.
- @param pPropertyName Name of the property that is searched for.
- */
- void AdvanceToName (const SfxItemPropertyMap *& pProperty,
- const ::rtl::OUString * pPropertyName)
- throw (::com::sun::star::beans::UnknownPropertyException);
-
-private:
- /// Mutex used by the interface container.
- ::osl::Mutex maMutex;
-
- /// List of listeners for the XComponent interface.
- ::cppu::OInterfaceContainerHelper maListenerList;
-};
-
-} //namespace binfilter
-#endif // _CHART_DIAGRAM_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChartArea.hxx b/binfilter/bf_sch/source/ui/inc/ChartArea.hxx
deleted file mode 100644
index 49ff1c541..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChartArea.hxx
+++ /dev/null
@@ -1,65 +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 _CHARTAREA_HXX_
-#define _CHARTAREA_HXX_
-
-#include "ChXChartObject.hxx"
-namespace binfilter {
-
-class ChartArea : public ChXChartObject
-{
-public:
- ChartArea( ChartModel* pModel, sal_Int32 nObjectId );
- virtual ~ChartArea();
-
- // helpers for XUnoTunnel
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XShapeDescriptor
- virtual ::rtl::OUString SAL_CALL getShapeType() throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-
-};
-
-} //namespace binfilter
-#endif // _CHARTAREA_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChartGrid.hxx b/binfilter/bf_sch/source/ui/inc/ChartGrid.hxx
deleted file mode 100644
index 6f1b31bdf..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChartGrid.hxx
+++ /dev/null
@@ -1,65 +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 _CHARTGRID_HXX_
-#define _CHARTGRID_HXX_
-
-#include "ChXChartObject.hxx"
-namespace binfilter {
-
-class ChartGrid : public ChXChartObject
-{
-public:
- ChartGrid( ChartModel* pModel, sal_Int32 nObjectId );
- virtual ~ChartGrid();
-
- // helpers for XUnoTunnel
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XShapeDescriptor
- virtual ::rtl::OUString SAL_CALL getShapeType() throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-
-};
-
-} //namespace binfilter
-#endif // _CHARTGRID_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChartLegend.hxx b/binfilter/bf_sch/source/ui/inc/ChartLegend.hxx
deleted file mode 100644
index e6f6bff55..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChartLegend.hxx
+++ /dev/null
@@ -1,65 +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 _CHARTLEGEND_HXX_
-#define _CHARTLEGEND_HXX_
-
-#include "ChXChartObject.hxx"
-namespace binfilter {
-
-class ChartLegend : public ChXChartObject
-{
-public:
- ChartLegend( ChartModel* pModel );
- virtual ~ChartLegend();
-
- // helpers for XUnoTunnel
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XShapeDescriptor
- virtual ::rtl::OUString SAL_CALL getShapeType() throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-
-};
-
-} //namespace binfilter
-#endif // _CHARTLEGEND_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChartLine.hxx b/binfilter/bf_sch/source/ui/inc/ChartLine.hxx
deleted file mode 100644
index babbd6646..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChartLine.hxx
+++ /dev/null
@@ -1,65 +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 _CHARTLINE_HXX_
-#define _CHARTLINE_HXX_
-
-#include "ChXChartObject.hxx"
-namespace binfilter {
-
-class ChartLine : public ChXChartObject
-{
-public:
- ChartLine( ChartModel* pModel, sal_Int32 nObjectId, sal_Int32 nIndex = -1 );
- virtual ~ChartLine();
-
- // helpers for XUnoTunnel
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XShapeDescriptor
- virtual ::rtl::OUString SAL_CALL getShapeType() throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-
-};
-
-} //namespace binfilter
-#endif // _CHARTLINE_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/ChartTitle.hxx b/binfilter/bf_sch/source/ui/inc/ChartTitle.hxx
deleted file mode 100644
index 3f51b107a..000000000
--- a/binfilter/bf_sch/source/ui/inc/ChartTitle.hxx
+++ /dev/null
@@ -1,70 +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 _CHARTTITLE_HXX_
-#define _CHARTTITLE_HXX_
-
-#include "ChXChartObject.hxx"
-namespace binfilter {
-
-class ChartTitle : public ChXChartObject
-{
-public:
- ChartTitle( ChartModel* pModel, sal_Int32 nObjectId );
- virtual ~ChartTitle();
-
- // helpers for XUnoTunnel
- static const ::com::sun::star::uno::Sequence< sal_Int8 > & getUnoTunnelId() throw();
-
- /// special handling of title specific properties. Sub of getPropertyValues()
- void GetPropertyValue( const SfxItemPropertyMap & rProperty,
- ::com::sun::star::uno::Any & rValue,
- SfxItemSet & rAttributes );
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId()
- throw( ::com::sun::star::uno::RuntimeException );
-
- // XShapeDescriptor
- virtual ::rtl::OUString SAL_CALL getShapeType() throw( ::com::sun::star::uno::RuntimeException );
-
- // XUnoTunnel
- virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier )
- throw( ::com::sun::star::uno::RuntimeException );
-
-};
-
-} //namespace binfilter
-#endif // _CHARTTITLE_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/SchTransferable.hxx b/binfilter/bf_sch/source/ui/inc/SchTransferable.hxx
deleted file mode 100644
index 0587bcd0e..000000000
--- a/binfilter/bf_sch/source/ui/inc/SchTransferable.hxx
+++ /dev/null
@@ -1,72 +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 _SCH_TRANSFERABLE_HXX_
-#define _SCH_TRANSFERABLE_HXX_
-
-#include <bf_svtools/transfer.hxx>
-
-/*N*/ #include <tools/debug.hxx> //for stripping
-class Graphic;
-class VirtualDevice;
-namespace binfilter {
-class SdrModel;
-class SdrExchangeView;
-
-class SchTransferable :
- public TransferableHelper
-{
-private:
- SdrExchangeView * mpSourceView;
-
-protected:
-
- // implementation of TransferableHelper methods
-
-public:
-
- /** CTOR for clipboard, drag and drop and selection clipboard
- @param pObjModel the model containing all objects for the clipboard.
- The transferable becomes the owner of this model.
- @param pSrcView the view for drag and drop and the selection clipboard
- The transferable does not care about destruction of this view
- @param rObjDesc A descriptor object that holds properties like the starting
- position of a drag action
- @param bLateInit If true, the actual data is created in GetData (on paste),
- else data is created on construction
- */
- SchTransferable( SdrModel* pObjModel,
- SdrExchangeView* pSrcView,
- const TransferableObjectDescriptor& rObjDesc,
- sal_Bool bLateInit = sal_False );
- const SdrExchangeView* GetView() throw() { return mpSourceView; }
-};
-
-} //namespace binfilter
-#endif // _SCH_TRANSFERABLE_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/dlgctrls.hxx b/binfilter/bf_sch/source/ui/inc/dlgctrls.hxx
deleted file mode 100644
index be1d70797..000000000
--- a/binfilter/bf_sch/source/ui/inc/dlgctrls.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 SD_DLGCTRLS_HXX
-#define SD_DLGCTRLS_HXX
-
-#include <vcl/lstbox.hxx>
-#include <vcl/window.hxx>
-
-#include "schresid.hxx"
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* FadeEffectLB
-|*
-\************************************************************************/
-class FadeEffectLB : public ListBox
-{
-
-public:
- FadeEffectLB( Window* pParent, SchResId Id ) : ListBox( pParent, Id ) {}
- FadeEffectLB( Window* pParent, WinBits aWB ) : ListBox( pParent, aWB ) {}
-
- virtual void Fill();
-};
-
-} //namespace binfilter
-#endif // SD_DLGCTRLS_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/fudrarea.hxx b/binfilter/bf_sch/source/ui/inc/fudrarea.hxx
deleted file mode 100644
index 3b5ea2d2c..000000000
--- a/binfilter/bf_sch/source/ui/inc/fudrarea.hxx
+++ /dev/null
@@ -1,52 +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 _SCH_FUDRAREA_HXX
-#define _SCH_FUDRAREA_HXX
-
-#include "fupoor.hxx"
-namespace binfilter {
-
-class SchFuDrawingArea : public SchFuPoor
-{
- public:
- SchFuDrawingArea(SchViewShell* pViewSh, SchWindow* pWin,
- SchView* pView, ChartModel* pDoc,
- SfxRequest& rReq);
-
- virtual ~SchFuDrawingArea();
-
- virtual void Activate() {}
- virtual void Deactivate() {}
-};
-
-} //namespace binfilter
-#endif // _SCH_FUDRAREA_HXX
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/fudraw.hxx b/binfilter/bf_sch/source/ui/inc/fudraw.hxx
deleted file mode 100644
index 18d12f2fb..000000000
--- a/binfilter/bf_sch/source/ui/inc/fudraw.hxx
+++ /dev/null
@@ -1,184 +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 _SCH_FUDRAW_HXX
-#define _SCH_FUDRAW_HXX
-
-#include "fupoor.hxx"
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Basisklasse fuer alle Drawmodul-spezifischen Funktionen
-|*
-\************************************************************************/
-
-class SdrObject;
-
-class SchFuDraw : public SchFuPoor
-{
-protected:
- Pointer aNewPointer;
- Pointer aOldPointer;
- BOOL bMBDown;
-
- /** possible directions in which to select objects
- */
- enum lcl_Selection_Direction
- {
- lcl_SELECT_PREVIOUS,
- lcl_SELECT_NEXT,
- lcl_SELECT_FIRST,
- lcl_SELECT_LAST
- };
-
- /** possible directions in which to move an object
- */
- enum lcl_Movement_Direction
- {
- lcl_MOVE_LEFT,
- lcl_MOVE_RIGHT,
- lcl_MOVE_UP,
- lcl_MOVE_DOWN
- };
-
- /** marks the next/previous/first or last object in the current
- group of chart objects.
-
- @param eDirection determines in which direction to travel
-
- @param nDepth is to prevent a loop in recursion. When
- selecting a new object, this may be invalid. In this
- case the method tries the next object. If the last
- object is reached without success, the first is
- selected using a recursive call. If no valid objects
- are available at all this parameter avoids a loop
- (which should normally never occur).
-
- @param bEnterDiagram determines if during navigation the
- diagram should be ignored as group and its content
- rather be treated as top-level objects. This parameter
- is especially needed so that the diagram can still be
- selected (without entering).
-
- @returns TRUE, if an object could be marked
- */
-
- /** moves an object in one of the four directions given in
- lcl_Movement_Direction. This is only possible for top-level
- chart objects, i.e., titles, legend and diagram
-
- @param eDirection the direction in which to move. If an
- object is too close to the edge, the object is not
- moved.
-
- @param nAmount the amount of units to be moved about. The
- unit can be 100th of a mm or pixels depending on what
- bPixel is set to.
-
- @param bPixel If true, the amount nAmount is treated as pixels
- in the current window, otherwise the current logical
- unit is used, which in a chart is always 100th of a mm.
-
- @returns TRUE, if the object could be moved
- */
-
- /** resizes an object by the amount given into the larger of width
- and height. In the smaller extent the amount is calculated
- such that the resize is proportional.
-
- @param nAmount the amount by which the object will be resized.
- The amount will be added to the larger extent (width or
- height). The resize is proportional in the other
- direction.
-
- @param bPixel If true, the amount nAmount is treated as pixels
- in the current window for the larger of width and
- height. Otherwise the current logical unit is used,
- which in a chart is always 100th of a mm.
-
- @returns TRUE, if the object could be resized
- */
-
- /** moves a pie segment by the given amount in percent
-
- @param bOut if true increases the offset, otherwise decreases
- the offset. The offset stays always between 0 and 100.
-
- @param nAmount the amount of percent by which the pie segment
- is dragged.
-
- @returns TRUE, if the object was a pie and could be moved
- */
-
- /** determines if the object currently selected is valid, i.e. it
- may be selected in the UI for making changes.
-
- @returns true, if a valid object is selected.
- */
-
- /** For some objects only the 8 green handles of the group are
- shown, for others a special handling is required, e.g. bars in
- a bar chart. This is done here for the currently selected
- object.
- */
-
- /** Some groups in a chart may not be entered, e.g. an axis
- object. Otherwise you would be able to select all tick-mark
- objects or labels.
-
- @returns true, if the currently selected object is a group
- that may be entered, e.g. a data series object.
- */
-
- /** get the object which is currently selected in the UI. In the
- chart this can only be one object at a time.
- */
-
- /** after move or resize there have to be some things set at chart
- objects and the model. It is called by MoveMarkedObject.
- */
-
-public:
-
- SchFuDraw(SchViewShell* pViewSh, SchWindow* pWin, SchView* pView,
- ChartModel* pDoc, SfxRequest& rReq);
- virtual ~SchFuDraw();
-
-
- virtual void Activate();
-
- virtual void ForcePointer(const MouseEvent* pMEvt = NULL);
-
-};
-
-} //namespace binfilter
-#endif // _SCH_FUDRAW_HXX
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/fupoor.hxx b/binfilter/bf_sch/source/ui/inc/fupoor.hxx
deleted file mode 100644
index 5cd79ac58..000000000
--- a/binfilter/bf_sch/source/ui/inc/fupoor.hxx
+++ /dev/null
@@ -1,106 +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 _SCH_FUPOOR_HXX
-#define _SCH_FUPOOR_HXX
-//------------------------------------------------------------------
-//
-// dieses Define dient nur zum Testen und darf auf keinen Fall aktiv bleiben
-// Bei Umstellungen alle Files nach SIG_CHARTMODELDEFSCHDOC durchsuchen
-// #define ChartModel SchChartDocument
-//------------------------------------------------------------------
-
-#include <vcl/dialog.hxx>
-
-#include "objid.hxx"
-namespace binfilter {
-
-class SchView;
-class SchViewShell;
-class SchWindow;
-class ChartModel;
-class SfxRequest;
-
-#define HITPIX 2 // Hit-Toleranz in Pixel
-#define DRGPIX 2 // Drag MinMove in Pixel
-
-
-/*************************************************************************
-|*
-|* Basisklasse fuer alle Funktionen
-|*
-\************************************************************************/
-
-class SchFuPoor
-{
-protected:
- SchView* pView;
- SchViewShell* pViewShell;
- SchWindow* pWindow;
- ChartModel* pChDoc;
-
- USHORT nSlotId;
- USHORT nSlotValue;
-
- Dialog* pDialog;
-
- Timer aDragTimer; // fuer Drag&Drop
- DECL_LINK(DragHdl, Timer*);
- BOOL bIsInDragMode;
- Point aMDPos; // Position von MouseButtonDown
-
- SdrObject *pMarkedObj;
- SchObjectId *pMarkedObjId;
- UINT16 nMarkedID;
-
- BOOL bFirstMouseMove;
-
-
-public:
-
- SchFuPoor(SchViewShell* pViewSh, SchWindow* pWin, SchView* pView,
- ChartModel* pDoc, SfxRequest& rReq);
- virtual ~SchFuPoor();
-
-
- // Mouse- & Key-Events; Returnwert=TRUE: Event wurde bearbeitet
-
- virtual void Activate(); // Function aktivieren
- virtual void Deactivate(); // Function deaktivieren
-
-
-
- USHORT GetSlotID() const { return( nSlotId ); }
-
-};
-
-} //namespace binfilter
-#endif // _SCH_FUPOOR_HXX
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/fuscale.hxx b/binfilter/bf_sch/source/ui/inc/fuscale.hxx
deleted file mode 100644
index 1bcaa52fc..000000000
--- a/binfilter/bf_sch/source/ui/inc/fuscale.hxx
+++ /dev/null
@@ -1,50 +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 _SCH_FUSCALE_HXX
-#define _SCH_FUSCALE_HXX
-
-#include "fupoor.hxx"
-namespace binfilter {
-
-class SchFuScale : public SchFuPoor
-{
- public:
- SchFuScale(SchViewShell* pViewSh, SchWindow* pWin, SchView* pView,
- ChartModel* pDoc, SfxRequest& rReq);
- virtual ~SchFuScale();
-
- virtual void Activate(); // Function aktivieren
- virtual void Deactivate(); // Function deaktivieren
-};
-
-} //namespace binfilter
-#endif // _SCH_FUSCALE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/fusel.hxx b/binfilter/bf_sch/source/ui/inc/fusel.hxx
deleted file mode 100644
index 44b85d68b..000000000
--- a/binfilter/bf_sch/source/ui/inc/fusel.hxx
+++ /dev/null
@@ -1,69 +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 _SCH_FUSEL_HXX
-#define _SCH_FUSEL_HXX
-
-
-#include "fudraw.hxx"
-namespace binfilter {
-
-class SdrDragMethod;
-class SdrCircObj;
-
-/*************************************************************************
-|*
-|* Basisklasse fuer alle Funktionen
-|*
-\************************************************************************/
-
-class SchFuSelection : public SchFuDraw
-{
-protected:
- BOOL bWasSelected;
- BOOL bVCAction;
- SdrDragMethod* pDragMethod;
-
-
-public:
-
- SchFuSelection(SchViewShell* pViewSh, SchWindow* pWin, SchView* pView,
- ChartModel* pDoc, SfxRequest& rReq);
-
- virtual ~SchFuSelection();
-
-
- virtual void Activate();
- virtual void Deactivate();
-};
-
-} //namespace binfilter
-#endif // _SCH_FUSEL_HXX
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/fuzoom.hxx b/binfilter/bf_sch/source/ui/inc/fuzoom.hxx
deleted file mode 100644
index ac998999c..000000000
--- a/binfilter/bf_sch/source/ui/inc/fuzoom.hxx
+++ /dev/null
@@ -1,71 +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 _SCH_FUZOOM_HXX
-#define _SCH_FUZOOM_HXX
-
-
-#include "fupoor.hxx"
-namespace binfilter {
-
-/*************************************************************************
-|*
-|* Funktion Zoom
-|*
-\************************************************************************/
-
-class SchFuZoom : public SchFuPoor
-{
- protected:
- Point aBeginPos;
- Rectangle aZoomRect;
- BOOL bVisible;
- BOOL bStartDrag;
- Pointer aPtr;
-
- public:
- SchFuZoom(SchViewShell* pViewSh, SchWindow* pWin, SchView* pView,
- ChartModel* pDoc, SfxRequest& rReq);
-
- virtual ~SchFuZoom();
- // Mouse- & Key-Events
- virtual BOOL KeyInput(const KeyEvent& rKEvt);
- virtual BOOL MouseMove(const MouseEvent& rMEvt);
- virtual BOOL MouseButtonUp(const MouseEvent& rMEvt);
- virtual BOOL MouseButtonDown(const MouseEvent& rMEvt);
-
- virtual void Activate(); // Function aktivieren
- virtual void Deactivate(); // Function deaktivieren
-};
-
-
-
-} //namespace binfilter
-#endif // _SCH_FUZOOM_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/globopt.hxx b/binfilter/bf_sch/source/ui/inc/globopt.hxx
deleted file mode 100644
index 9319a3a17..000000000
--- a/binfilter/bf_sch/source/ui/inc/globopt.hxx
+++ /dev/null
@@ -1,58 +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 _SCH_GLOBOPT_HXX
-#define _SCH_GLOBOPT_HXX
-
-#include <tools/fldunit.hxx>
-namespace binfilter {
-
-namespace sch
-{
-
-namespace util
-{
-
-/** @descr Retrieve the FieldUnit to be used for the UI. This unit is retrieved
- from the registry settings of the Calc application.
-
- If this setting can not be found there is a fallback to cm which is the most
- common setting worldwide (or not?)
-
- @return the FieldUnit enum. See <vcl/fldunit.hxx> for definition
- */
-FieldUnit GetMeasureUnit();
-
-} // namespace util
-} // namespace sch
-
-
-// _SCH_GLOBOPT_HXX
-} //namespace binfilter
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/guiutil.hxx b/binfilter/bf_sch/source/ui/inc/guiutil.hxx
deleted file mode 100644
index 89621557f..000000000
--- a/binfilter/bf_sch/source/ui/inc/guiutil.hxx
+++ /dev/null
@@ -1,45 +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 _SCH_GUI_UTIL_HXX
-#define _SCH_GUI_UTIL_HXX
-
-#include <bf_svtools/bf_solar.h>
-namespace binfilter {
-class ChartModel;
-
-class GuiUtilities
-{
-public:
- static USHORT GetObjectNameResId(UINT16 nObjId, ChartModel& rDoc);
-};
-
-} //namespace binfilter
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/res_bmp.hrc b/binfilter/bf_sch/source/ui/inc/res_bmp.hrc
deleted file mode 100644
index ddd968c8d..000000000
--- a/binfilter/bf_sch/source/ui/inc/res_bmp.hrc
+++ /dev/null
@@ -1,54 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#include <bf_sfx2/sfx.hrc>
-
-
-//#define RID_APP_START 30000
-#define RID_DRAW_TOOLBOX (RID_SCH_START + 1)
-#define RID_STATUSBAR (RID_APP_START + 10002)
-//#define RID_ALIGNMENT (RID_APP_START + 3)
-//#define RID_ZOOM (RID_APP_START + 4)
-//#define RID_CONTROLS (RID_APP_START + 5)
-//#define RID_TEXT_TOOLBOX (RID_APP_START + 6)
-
-
-
-
-
-#define RID_ACCEL (RID_APP_START + 80)
-#define RID_MENU (RID_APP_START + 81)
-#define RID_PORTAL_MENU (RID_APP_START + 82)
-
-
-
-
-
-
-// Popup-Menus
-
-
-//***
diff --git a/binfilter/bf_sch/source/ui/inc/res_hc_bmp.hrc b/binfilter/bf_sch/source/ui/inc/res_hc_bmp.hrc
deleted file mode 100644
index fdb4a0146..000000000
--- a/binfilter/bf_sch/source/ui/inc/res_hc_bmp.hrc
+++ /dev/null
@@ -1,126 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#include <bf_svtools/solar.hrc>
-
-// RID_SCH_START is 30512 (see svtools/solar.hrc)
-
-// chart types
-
-#define BMP_AREAS_2D_HC ( RID_SCH_START + 0 )
-#define BMP_AREAS_2D_1_HC ( RID_SCH_START + 1 )
-#define BMP_AREAS_2D_3_HC ( RID_SCH_START + 2 )
-#define BMP_AREAS_3D_HC ( RID_SCH_START + 3 )
-#define BMP_AREAS_3D_1_HC ( RID_SCH_START + 4 )
-#define BMP_AREAS_3D_2_HC ( RID_SCH_START + 5 )
-#define BMP_BARS_2D_HC ( RID_SCH_START + 6 )
-#define BMP_BARS_2D_1_HC ( RID_SCH_START + 7 )
-#define BMP_BARS_2D_2_HC ( RID_SCH_START + 8 )
-#define BMP_BARS_2D_3_HC ( RID_SCH_START + 9 )
-#define BMP_BARS_3D_HC ( RID_SCH_START + 10 )
-#define BMP_BARS_3D_1_HC ( RID_SCH_START + 11 )
-#define BMP_BARS_3D_2_HC ( RID_SCH_START + 12 )
-#define BMP_BARS_3D_3_HC ( RID_SCH_START + 13 )
-#define BMP_CIRCLES_2D_HC ( RID_SCH_START + 14 )
-#define BMP_CIRCLES_2D_1_HC ( RID_SCH_START + 15 )
-#define BMP_CIRCLES_2D_2_HC ( RID_SCH_START + 16 )
-#define BMP_CIRCLES_3D_HC ( RID_SCH_START + 17 )
-#define BMP_COLUMNS_2D_HC ( RID_SCH_START + 18 )
-#define BMP_COLUMNS_2D_1_HC ( RID_SCH_START + 19 )
-#define BMP_COLUMNS_2D_2_HC ( RID_SCH_START + 20 )
-#define BMP_COLUMNS_2D_3_HC ( RID_SCH_START + 21 )
-#define BMP_COLUMNS_2D_4_HC ( RID_SCH_START + 22 )
-#define BMP_COLUMNS_3D_HC ( RID_SCH_START + 23 )
-#define BMP_COLUMNS_3D_1_HC ( RID_SCH_START + 24 )
-#define BMP_COLUMNS_3D_2_HC ( RID_SCH_START + 25 )
-#define BMP_COLUMNS_3D_3_HC ( RID_SCH_START + 26 )
-#define BMP_DONUT1_2D_HC ( RID_SCH_START + 27 )
-#define BMP_KEGELQ_3D_1_HC ( RID_SCH_START + 28 )
-#define BMP_KEGELQ_3D_2_HC ( RID_SCH_START + 29 )
-#define BMP_KEGELQ_3D_3_HC ( RID_SCH_START + 30 )
-#define BMP_KEGELQ_3D_4_HC ( RID_SCH_START + 31 )
-#define BMP_KEGEL_3D_1_HC ( RID_SCH_START + 32 )
-#define BMP_KEGEL_3D_2_HC ( RID_SCH_START + 33 )
-#define BMP_KEGEL_3D_3_HC ( RID_SCH_START + 34 )
-#define BMP_KEGEL_3D_4_HC ( RID_SCH_START + 35 )
-#define BMP_LINESYMB_2D_HC ( RID_SCH_START + 36 )
-#define BMP_LINESYMB_2D_1_HC ( RID_SCH_START + 37 )
-#define BMP_LINESYMB_2D_2_HC ( RID_SCH_START + 38 )
-#define BMP_LINESYMB_2D_3_HC ( RID_SCH_START + 39 )
-#define BMP_LINES_2D_HC ( RID_SCH_START + 40 )
-#define BMP_LINES_2D_1_HC ( RID_SCH_START + 41 )
-#define BMP_LINES_2D_2_HC ( RID_SCH_START + 42 )
-#define BMP_LINES_2D_3_HC ( RID_SCH_START + 43 )
-#define BMP_LINES_3D_HC ( RID_SCH_START + 44 )
-#define BMP_NETSYMB_2D_HC ( RID_SCH_START + 45 )
-#define BMP_NETSYMB_2D_PERCENT_HC ( RID_SCH_START + 46 )
-#define BMP_NETSYMB_2D_STACK_HC ( RID_SCH_START + 47 )
-#define BMP_NET_2D_HC ( RID_SCH_START + 48 )
-#define BMP_NET_2D_PERCENT_HC ( RID_SCH_START + 49 )
-#define BMP_NET_2D_STACK_HC ( RID_SCH_START + 50 )
-#define BMP_PYRAMIDQ_3D_1_HC ( RID_SCH_START + 51 )
-#define BMP_PYRAMIDQ_3D_2_HC ( RID_SCH_START + 52 )
-#define BMP_PYRAMIDQ_3D_3_HC ( RID_SCH_START + 53 )
-#define BMP_PYRAMIDQ_3D_4_HC ( RID_SCH_START + 54 )
-#define BMP_PYRAMID_3D_1_HC ( RID_SCH_START + 55 )
-#define BMP_PYRAMID_3D_2_HC ( RID_SCH_START + 56 )
-#define BMP_PYRAMID_3D_3_HC ( RID_SCH_START + 57 )
-#define BMP_PYRAMID_3D_4_HC ( RID_SCH_START + 58 )
-#define BMP_ROEHRE_3D_1_HC ( RID_SCH_START + 59 )
-#define BMP_ROEHRE_3D_2_HC ( RID_SCH_START + 60 )
-#define BMP_ROEHRE_3D_3_HC ( RID_SCH_START + 61 )
-#define BMP_ROEHRE_3D_4_HC ( RID_SCH_START + 62 )
-#define BMP_SAEULE_3D_1_HC ( RID_SCH_START + 63 )
-#define BMP_SAEULE_3D_2_HC ( RID_SCH_START + 64 )
-#define BMP_SAEULE_3D_3_HC ( RID_SCH_START + 65 )
-#define BMP_SAEULE_3D_4_HC ( RID_SCH_START + 66 )
-#define BMP_SPLINE_B_HC ( RID_SCH_START + 67 )
-#define BMP_SPLINE_B_SYMBOL_HC ( RID_SCH_START + 68 )
-#define BMP_SPLINE_CUBIC_HC ( RID_SCH_START + 69 )
-#define BMP_SPLINE_CUBIC_SYMBOL_HC ( RID_SCH_START + 70 )
-#define BMP_STOCK_1_HC ( RID_SCH_START + 71 )
-#define BMP_STOCK_2_HC ( RID_SCH_START + 72 )
-#define BMP_STOCK_3_HC ( RID_SCH_START + 73 )
-#define BMP_STOCK_4_HC ( RID_SCH_START + 74 )
-#define BMP_SURF_3D_HC ( RID_SCH_START + 75 )
-#define BMP_XYSYMB_2D_HC ( RID_SCH_START + 76 )
-#define BMP_XYZSYMB_3D_HC ( RID_SCH_START + 77 )
-#define BMP_XYZ_3D_HC ( RID_SCH_START + 78 )
-#define BMP_XY_2D_HC ( RID_SCH_START + 79 )
-#define BMP_COLUMNS_2D_5_HC ( RID_SCH_START + 80 )
-
-// statistics
-
-#define BMP_INDICATE_NONE_HC ( RID_SCH_START + 81 )
-#define BMP_INDICATE_BOTH_HC ( RID_SCH_START + 82 )
-#define BMP_INDICATE_UP_HC ( RID_SCH_START + 83 )
-#define BMP_INDICATE_DOWN_HC ( RID_SCH_START + 84 )
-
-#define BMP_REGRESSION_NONE_HC ( RID_SCH_START + 85 )
-#define BMP_REGRESSION_LINEAR_HC ( RID_SCH_START + 86 )
-#define BMP_REGRESSION_LOG_HC ( RID_SCH_START + 87 )
-#define BMP_REGRESSION_EXP_HC ( RID_SCH_START + 88 )
-#define BMP_REGRESSION_POWER_HC ( RID_SCH_START + 89 )
diff --git a/binfilter/bf_sch/source/ui/inc/schhids.h b/binfilter/bf_sch/source/ui/inc/schhids.h
deleted file mode 100644
index d24b7712f..000000000
--- a/binfilter/bf_sch/source/ui/inc/schhids.h
+++ /dev/null
@@ -1,93 +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.
- *
- ************************************************************************/
-
-
-
-#include <bf_svtools/solar.hrc>
-
-#define HID_SCH_DATA_ROW (HID_SCH_START + 0)
-#define HID_SCH_DATA_LINE (HID_SCH_START + 1)
-#define HID_SCH_DATA_POINT (HID_SCH_START + 2)
-#define HID_SCH_DIAGRAM_X_AXIS (HID_SCH_START + 3)
-
-#define HID_SCH_ALIGNMENT (HID_SCH_START + 4)
-#define HID_SCH_LEGEND_POS (HID_SCH_START + 5)
-#define HID_SCH_DATA_DESCR (HID_SCH_START + 6)
-#define HID_SCH_SCALE_Y (HID_SCH_START + 7)
-#define HID_SCH_STAT (HID_SCH_START + 8)
-#define HID_SCH_WIN_DOCUMENT (HID_SCH_START + 9)
-#define HID_SCH_CTL_DATA (HID_SCH_START + 10)
-#define HID_SCH_CT_INDICATE (HID_SCH_START + 11)
-#define HID_SCH_CT_REGRESS (HID_SCH_START + 12)
-#define HID_SCH_CT_1_CHARTTYPE (HID_SCH_START + 13)
-#define HID_SCH_CT_2_CHARTVARIANT (HID_SCH_START + 14)
-#define HID_SCH_CTL_TYPE (HID_SCH_START + 15)
-#define HID_SCH_CTL_VARIANT (HID_SCH_START + 16)
-#define HID_SCH_CTL_LIGHT (HID_SCH_START + 17)
-#define HID_SCH_CT_INDICATE2 (HID_SCH_START + 18)
-#define HID_SCH_CT_REGRESS2 (HID_SCH_START + 19)
-#define HID_SCH_TBI_EDIT_CANCEL (HID_SCH_START + 20)
-#define HID_SCH_TBI_EDIT_ACCEPT (HID_SCH_START + 21)
-#define HID_SCH_TBI_DATA_TRANSFER (HID_SCH_START + 22)
-#define HID_SCH_TBI_DATA_INSERT_ROW (HID_SCH_START + 23)
-#define HID_SCH_TBI_DATA_INSERT_COL (HID_SCH_START + 24)
-#define HID_SCH_TBI_DATA_DELETE_ROW (HID_SCH_START + 25)
-#define HID_SCH_TBI_DATA_DELETE_COL (HID_SCH_START + 26)
-#define HID_SCH_TBI_DATA_SWAP_COL (HID_SCH_START + 27)
-#define HID_SCH_TBI_DATA_SWAP_ROW (HID_SCH_START + 28)
-#define HID_SCH_TBI_DATA_SORT_ROW (HID_SCH_START + 29)
-#define HID_SCH_TBI_DATA_SORT_COL (HID_SCH_START + 30)
-#define HID_SCH_TBI_DATA_SORT_TABLE_ROW (HID_SCH_START + 31)
-#define HID_SCH_TBI_DATA_SORT_TABLE_COL (HID_SCH_START + 32)
-
-#define HID_SCH_TBX_EDIT (HID_SCH_START + 33)
-#define HID_SCH_TBX_DATA (HID_SCH_START + 34)
-
-
-#define HID_SCH_ALIGNMENT_CTR_DIAL (HID_SCH_START + 35)
-#define HID_SCH_ALIGNMENT_STACKED (HID_SCH_START + 36)
-#define HID_SCH_ALIGNMENT_DEGREES (HID_SCH_START + 37)
-
-#define HID_SCH_LAYOUT (HID_SCH_START + 38)
-
-#define HID_SCH_TBX_EDIT_FIELD (HID_SCH_START + 39)
-#define HID_SCH_DIAGRAM_Y_AXIS (HID_SCH_START + 40)//war mal 3
-
-#define HID_SCH_DEF_COLOR (HID_SCH_START + 41)
-#define HID_SCH_TP_AXIS_LABEL (HID_SCH_START + 42)
-
-#define HID_SCH_NUM_OF_LINES (HID_SCH_START + 43)
-
-#define HID_SCH_CHART_AUTO_FORMAT (HID_SCH_START + 44)
-
-// HID_SCH_START should be 63280 (checked 25.Nov 2002)
-
-// 453 == SCH_IF_CHARTVIEWSHELL, da SFX_INTERFACE_LIB kein
-// Define sondern neuerdings ein Enum ist
-#define HID_SCH_VIEWSHELL_DOCUMENT (453)
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/sdvcbrw.hxx b/binfilter/bf_sch/source/ui/inc/sdvcbrw.hxx
deleted file mode 100644
index 209cc45e6..000000000
--- a/binfilter/bf_sch/source/ui/inc/sdvcbrw.hxx
+++ /dev/null
@@ -1,71 +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 _SDVCBRW_HXX
-#define _SDVCBRW_HXX
-/*
-#include <bf_svx/vcbrw.hxx>
-*/
-#include <bf_svtools/brdcst.hxx>
-
-#include <bf_svtools/lstner.hxx>
-namespace binfilter {
-
-class SdrView;
-
-/*************************************************************************
-|*
-|* Klasse fuer Browser
-|*
-\************************************************************************/
-class SdVCBrowser : public VCBrowser //, public SfxListener, public SfxBroadcaster
-{
-protected:
- SdrView* pView;
- BOOL bUpdate;
-
- BOOL Close();
-
- virtual void SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId& rBCType,
- const SfxHint& rHint, const TypeId& rHintType );
- void Modify();
-
-
-public:
- SdVCBrowser( Window* pParent );
-
- void Update( SdrView* pView );
-};
-
-
-
-
-} //namespace binfilter
-#endif // _SDVCBRW_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/inc/tbx_ww.hxx b/binfilter/bf_sch/source/ui/inc/tbx_ww.hxx
deleted file mode 100644
index c5e9c6c59..000000000
--- a/binfilter/bf_sch/source/ui/inc/tbx_ww.hxx
+++ /dev/null
@@ -1,61 +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 _SCH_TBX_WW_HXX
-#define _SCH_TBX_WW_HXX
-
-#include <vcl/toolbox.hxx>
-#include <bf_sfx2/tbxctrl.hxx>
-
-
-#include "schresid.hxx"
-namespace binfilter {
-
-//------------------------------------------------------------------------
-
-class SchPopupWindowTbx : public SfxPopupWindow
-{
-private:
- ToolBox aTbx;
-
-public:
- SchPopupWindowTbx( USHORT nId, SfxToolBoxControl* pTbxCtl,
- SchResId aRIdWin, SchResId aRIdTbx,
- SfxBindings& rBindings );
- ~SchPopupWindowTbx() {}
-
- void StartSelection() { aTbx.StartSelection(); }
- void SelectHdl( void* p );
-};
-
-} //namespace binfilter
-#endif // _SCH_TBX_WW_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartAxis.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartAxis.xml
deleted file mode 100644
index 83090d61c..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartAxis.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChXChartAxis</name>
- <description>
- This component provides access to axis objects of a chart
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartAxis</supported-service>
- <supported-service>com.sun.star.drawing.LineProperties</supported-service>
- <supported-service>com.sun.star.style.CharacterProperties</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartData.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartData.xml
deleted file mode 100644
index ca50925fa..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartData.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChXChartData</name>
- <description>
- This component yields access to the data of a chart
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartData</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartDataArray.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartDataArray.xml
deleted file mode 100644
index 431a44fc5..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartDataArray.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChXChartDataArray</name>
- <description>
- With this component you can retrieve or alter the data of a chart
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartData</supported-service>
- <supported-service>com.sun.star.chart.ChartDataArray</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartDocument.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartDocument.xml
deleted file mode 100644
index 08ae9a42f..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartDocument.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChXChartDocument</name>
- <description>
- This component represents the document (XModel) that
- contains a chart
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartDocument</supported-service>
- <supported-service>com.sun.star.chart.ChartTableAddressSupplier</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartView.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartView.xml
deleted file mode 100644
index 79a9d9c1a..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChXChartView.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChXChartView</name>
- <description>
- This component provides access to the view of a chart document.
- It can be used to select objects inside the chart as if clicked
- using the mouse.
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.view.OfficeDocumentView</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChXDataPoint.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChXDataPoint.xml
deleted file mode 100644
index 69b167ea5..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChXDataPoint.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChXDataPoint</name>
- <description>
- This component bears properties for data point objects of
- a chart
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartDataPointProperties</supported-service>
- <supported-service>com.sun.star.drawing.LineProperties</supported-service>
- <supported-service>com.sun.star.drawing.FillProperties</supported-service>
- <supported-service>com.sun.star.style.CharacterProperties</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChXDataRow.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChXDataRow.xml
deleted file mode 100644
index 18487050d..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChXDataRow.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChXDataRow</name>
- <description>
- This component provides properties for a series of a chart,
- i.e. a group of corresponding data points
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartDataPointProperties</supported-service>
- <supported-service>com.sun.star.chart.ChartDataRowProperties</supported-service>
- <supported-service>com.sun.star.chart.ChartStatistics</supported-service>
- <supported-service>com.sun.star.drawing.LineProperties</supported-service>
- <supported-service>com.sun.star.drawing.FillProperties</supported-service>
- <supported-service>com.sun.star.style.CharacterProperties</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChXDiagram.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChXDiagram.xml
deleted file mode 100644
index e567ffeb8..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChXDiagram.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChXDiagram</name>
- <description>
- This component provides access to the plotting area of the chart,
- i.e. the object where the chart data is represented graphically.
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.Diagram</supported-service>
- <supported-service>com.sun.star.chart.LineDiagram</supported-service>
- <supported-service>com.sun.star.chart.ChartAxisXSupplier</supported-service>
- <supported-service>com.sun.star.chart.ChartAxisYSupplier</supported-service>
- <supported-service>com.sun.star.chart.ChartTwoAxisXSupplier</supported-service>
- <supported-service>com.sun.star.chart.ChartTwoAxisYSupplier</supported-service>
- <supported-service>com.sun.star.chart.StackableDiagram</supported-service>
- <supported-service>com.sun.star.chart.Dim3DDiagram</supported-service>
- <supported-service>com.sun.star.chart.AreaDiagram</supported-service>
- <supported-service>com.sun.star.chart.BarDiagram</supported-service>
- <supported-service>com.sun.star.chart.PieDiagram</supported-service>
- <supported-service>com.sun.star.chart.DonutDiagram</supported-service>
- <supported-service>com.sun.star.chart.XYDiagram</supported-service>
- <supported-service>com.sun.star.chart.NetDiagram</supported-service>
- <supported-service>com.sun.star.chart.StockDiagram</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChartArea.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChartArea.xml
deleted file mode 100644
index 285472f67..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChartArea.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChartArea</name>
- <description>
- This component represents the background object of the entire
- chart region.
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartArea</supported-service>
- <supported-service>com.sun.star.drawing.FillProperties</supported-service>
- <supported-service>com.sun.star.drawing.LineProperties</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChartGrid.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChartGrid.xml
deleted file mode 100644
index 0652b89f6..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChartGrid.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChartGrid</name>
- <description>
- This component provides access to the line objects representing
- grids inside the plot area of a chart
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartGrid</supported-service>
- <supported-service>com.sun.star.drawing.LineProperties</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChartLegend.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChartLegend.xml
deleted file mode 100644
index de8c69cf8..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChartLegend.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChartLegend</name>
- <description>
- This component provides access to the legend object of a chart
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartLegend</supported-service>
- <supported-service>com.sun.star.style.CharacterProperties</supported-service>
- <supported-service>com.sun.star.drawing.FillProperties</supported-service>
- <supported-service>com.sun.star.drawing.LineProperties</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChartLine.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChartLine.xml
deleted file mode 100644
index 4e03597f6..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChartLine.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChartLine</name>
- <description>
- This component provides line properties of several linear objects
- in a chart like a mean-value-line or a regression curve
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartLine</supported-service>
- <supported-service>com.sun.star.drawing.LineProperties</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/descr/ChartTitle.xml b/binfilter/bf_sch/source/ui/unoidl/descr/ChartTitle.xml
deleted file mode 100644
index 8972f3c97..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/descr/ChartTitle.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name>sch</module-name>
- <component-description>
- <author>Bjoern Milcke</author>
- <name>com.sun.star.comp.office.ChartTitle</name>
- <description>
- This component provides main-/subtitle of the chart and
- titles of axis objects
-</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="final"/>
- <supported-service>com.sun.star.chart.ChartTitle</supported-service>
- <supported-service>com.sun.star.drawing.Shape</supported-service>
- <supported-service>com.sun.star.style.CharacterProperties</supported-service>
- <supported-service>com.sun.star.xml.UserDefinedAttributeSupplier</supported-service>
- </component-description>
-</module-description>
diff --git a/binfilter/bf_sch/source/ui/unoidl/makefile.mk b/binfilter/bf_sch/source/ui/unoidl/makefile.mk
deleted file mode 100644
index 98fa1ce94..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/makefile.mk
+++ /dev/null
@@ -1,89 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..$/..$/..
-BFPRJ=..$/..$/..
-
-PRJNAME = binfilter
-PROJECTPCH = sch
-PROJECTPCHSOURCE = $(BFPRJ)$/util$/sch_sch
-TARGET = sch_chxchart
-ENABLE_EXCEPTIONS = TRUE
-BOOTSTRAP_SERVICE = FALSE
-
-# --- Settings -----------------------------------------------------
-.INCLUDE : settings.mk
-INC+= -I$(PRJ)$/inc$/bf_sch
-
-.IF "$(GUI)" == "WNT"
-CFLAGS+=-Zm500
-.ENDIF
-
-# --- Files --------------------------------------------------------
-
-CXXFILES = \
- sch_ChXChartAxis.cxx \
- sch_ChXChartData.cxx \
- sch_ChXChartDataChangeEventListener.cxx \
- sch_ChXChartDocument.cxx \
- sch_ChXChartObject.cxx \
- sch_ChXDataPoint.cxx \
- sch_ChXDataRow.cxx \
- sch_ChXDiagram.cxx \
- sch_mapprov.cxx \
- sch_ChXChartDrawPage.cxx \
- sch_ChartLegend.cxx \
- sch_ChartTitle.cxx \
- sch_ChartLegend.cxx \
- sch_ChartArea.cxx \
- sch_ChartLine.cxx \
- sch_ChartGrid.cxx \
- sch_register.cxx \
- sch_unodoc.cxx
-
-SLOFILES = \
- $(SLO)$/sch_ChXChartAxis.obj \
- $(SLO)$/sch_ChXChartData.obj \
- $(SLO)$/sch_ChXChartDataChangeEventListener.obj \
- $(SLO)$/sch_ChXChartDocument.obj \
- $(SLO)$/sch_ChXChartObject.obj \
- $(SLO)$/sch_ChXDataPoint.obj \
- $(SLO)$/sch_ChXDataRow.obj \
- $(SLO)$/sch_ChXDiagram.obj \
- $(SLO)$/sch_mapprov.obj \
- $(SLO)$/sch_ChXChartDrawPage.obj \
- $(SLO)$/sch_ChartLegend.obj \
- $(SLO)$/sch_ChartTitle.obj \
- $(SLO)$/sch_ChartArea.obj \
- $(SLO)$/sch_ChartLine.obj \
- $(SLO)$/sch_ChartGrid.obj \
- $(SLO)$/sch_register.obj \
- $(SLO)$/sch_unodoc.obj
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartAxis.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartAxis.cxx
deleted file mode 100644
index afdce0077..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartAxis.cxx
+++ /dev/null
@@ -1,901 +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.
- *
- ************************************************************************/
-
-#include "ChXChartAxis.hxx"
-#include "schattr.hxx"
-
-// header for class OGuard
-// header for class Application
-#include <vcl/svapp.hxx>
-#include <rtl/uuid.h>
-#include <rtl/memory.h>
-#include <rtl/ustring.h>
-
-// header for SvxDoubleItem
-#ifndef _SVX_CHRTITEM_HXX
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-#include "charttyp.hxx"
-// header for SvxUnoTextRangeBase
-// for OWN_ATTR_...
-#include <bf_svx/unoshprp.hxx>
-// for SID_ATTR_...
-#include <bf_svx/svxids.hrc>
-#include <bf_svx/unoshape.hxx>
-
-#include <com/sun/star/chart/ChartAxisArrangeOrderType.hpp>
-
-#include "chaxis.hxx"
-#include "mapprov.hxx"
-#include "pairs.hxx"
-
-#include "unonames.hxx"
-
-namespace binfilter {
-
-using namespace ::rtl;
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-
-
-ChXChartAxis::ChXChartAxis( ChartModel* _Model, long _WhichId ) :
- ChXChartObject( CHMAP_AXIS, _Model, _WhichId )
-{
-}
-
-ChXChartAxis::~ChXChartAxis()
-{}
-
-
-::rtl::OUString SAL_CALL ChXChartAxis::getImplementationName()
-throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "ChXChartAxis" );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXChartAxis::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Sequence< ::rtl::OUString > aSeq( 4 );
- aSeq[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartAxis" ));
- aSeq[ 1 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.LineProperties" ));
- aSeq[ 2 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.style.CharacterProperties" ));
- aSeq[ 3 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.UserDefinedAttributeSupplier" ));
-
- return aSeq;
-}
-
-// generate a unique Id
-const uno::Sequence< sal_Int8 > & ChXChartAxis::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-void ChXChartAxis::InitNumberFormatter() throw( uno::RuntimeException )
-{
- if( ! rNumberFormatter.is())
- {
- if( mpModel )
- rNumberFormatter = new SvNumberFormatsSupplierObj( mpModel->GetNumFormatter() );
- else
- rNumberFormatter = new SvNumberFormatsSupplierObj();
- }
-
- if( ! rNumberFormatter.is())
- throw uno::RuntimeException();
-}
-
-// XNumberFormatsSupplier
-uno::Reference< beans::XPropertySet > SAL_CALL ChXChartAxis::getNumberFormatSettings() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- InitNumberFormatter();
-
- return rNumberFormatter.get()->getNumberFormatSettings();
-}
-
-uno::Reference< util::XNumberFormats > SAL_CALL ChXChartAxis::getNumberFormats() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- InitNumberFormatter();
-
- return rNumberFormatter.get()->getNumberFormats();
-}
-
-// XInterface
-uno::Any SAL_CALL ChXChartAxis::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aAny = ChXChartObject::queryInterface( rType );
-
- if( ! aAny.hasValue() )
- {
- InitNumberFormatter();
- aAny = rNumberFormatter.get()->queryInterface( rType );
- }
-
- return aAny;
-}
-
-void SAL_CALL ChXChartAxis::acquire() throw()
-{
- ChXChartObject::acquire();
-}
-
-void SAL_CALL ChXChartAxis::release() throw()
-{
- ChXChartObject::release();
-}
-
-// XTypeProvider
-uno::Sequence< uno::Type > SAL_CALL ChXChartAxis::getTypes() throw( uno::RuntimeException )
-{
- if( maTypeSequence.getLength() == 0 )
- {
- const uno::Sequence< uno::Type > aBaseTypes( ChXChartObject::getTypes() );
- const sal_Int32 nBaseTypes = aBaseTypes.getLength();
- const uno::Type* pBaseTypes = aBaseTypes.getConstArray();
-
- maTypeSequence.realloc( nBaseTypes + 1 ); // Note: Keep the size updated !!
- uno::Type* pTypes = maTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType((const uno::Reference< util::XNumberFormatsSupplier >*)0);
-
- for( sal_Int32 nType = 0; nType < nBaseTypes; nType++ )
- *pTypes++ = *pBaseTypes++;
- }
-
- return maTypeSequence;
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL ChXChartAxis::getImplementationId() throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-// XShapeDescriptor
-::rtl::OUString SAL_CALL ChXChartAxis::getShapeType()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartAxis" ));
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChXChartAxis::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return 0;
-}
-
-// XPropertySet
-uno::Any SAL_CALL ChXChartAxis::getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- if( mpModel )
- {
- uno::Any aAny;
- if( PropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( UNONAME_TEXT_ORDER )))
- {
- SfxItemSet aSet( mpModel->GetItemPool(), SCHATTR_TEXT_ORDER, SCHATTR_TEXT_ORDER );
- mpModel->GetAttr( mnWhichId, aSet );
-
- chart::ChartAxisArrangeOrderType eArrOrder;
- SvxChartTextOrder eTextOrder =
- ((const SvxChartTextOrderItem&)(aSet.Get( SCHATTR_TEXT_ORDER ))).GetValue();
-
- switch( eTextOrder )
- {
- case CHTXTORDER_SIDEBYSIDE:
- eArrOrder = chart::ChartAxisArrangeOrderType_SIDE_BY_SIDE; break;
- case CHTXTORDER_DOWNUP:
- eArrOrder = chart::ChartAxisArrangeOrderType_STAGGER_EVEN; break;
- case CHTXTORDER_UPDOWN:
- eArrOrder = chart::ChartAxisArrangeOrderType_STAGGER_ODD; break;
- case CHTXTORDER_AUTO:
- default:
- eArrOrder = chart::ChartAxisArrangeOrderType_AUTO; break;
- }
- aAny <<= eArrOrder;
- return aAny;
- }
- else if( PropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( UNONAME_NUMBERFORMAT )))
- {
- // if we have a percent chart use the correct number format item
- ChartType aType( mpModel );
- if( aType.IsPercent())
- {
- SfxItemSet aSet( mpModel->GetItemPool(), SCHATTR_AXIS_NUMFMTPERCENT, SCHATTR_AXIS_NUMFMTPERCENT );
- mpModel->GetAttr( mnWhichId, aSet );
-
- aAny <<= (sal_Int32)(((const SfxUInt32Item&)(aSet.Get( SCHATTR_AXIS_NUMFMTPERCENT ))).GetValue());
- return aAny;
- }
- }
- }
-
- return ChXChartObject::getPropertyValue( PropertyName );
-}
-
-void SAL_CALL ChXChartAxis::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue )
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- if( mpModel && mnWhichId != CHOBJID_ANY )
- {
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( pMap && pMap->nWID )
- {
- if( pMap->nFlags & beans::PropertyAttribute::READONLY )
- throw beans::PropertyVetoException();
-
- USHORT nWID = pMap->nWID;
-
- // create item set that contains nWID and maybe more
- USHORT nAutoWid = 0;
- SfxItemSet* pSet = NULL;
- switch( nWID )
- {
- // min/max/stepmain/stephelp/origin need to disable the auto-settings
- case SCHATTR_AXIS_MIN:
- nAutoWid = SCHATTR_AXIS_AUTO_MIN;
- break;
- case SCHATTR_AXIS_MAX:
- nAutoWid = SCHATTR_AXIS_AUTO_MAX;
- break;
- case SCHATTR_AXIS_STEP_MAIN:
- nAutoWid = SCHATTR_AXIS_AUTO_STEP_MAIN;
- break;
- case SCHATTR_AXIS_STEP_HELP:
- nAutoWid = SCHATTR_AXIS_AUTO_STEP_HELP;
- break;
- case SCHATTR_AXIS_ORIGIN:
- nAutoWid = SCHATTR_AXIS_AUTO_ORIGIN;
- break;
-
- case SCHATTR_AXIS_LOGARITHM:
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID,
- SCHATTR_AXIS_AUTO_STEP_MAIN, SCHATTR_AXIS_AUTO_STEP_MAIN,
- SCHATTR_AXIS_MIN, SCHATTR_AXIS_MIN,
- SCHATTR_AXIS_MAX, SCHATTR_AXIS_MAX, 0 );
- break;
- case SCHATTR_AXIS_AUTO_STEP_MAIN:
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID,
- SCHATTR_AXIS_STEP_MAIN, SCHATTR_AXIS_STEP_MAIN, 0 );
- break;
- case SCHATTR_AXIS_AUTO_STEP_HELP:
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID,
- SCHATTR_AXIS_STEP_HELP, SCHATTR_AXIS_STEP_HELP, 0 );
- break;
-
- case XATTR_LINEEND:
- case XATTR_LINESTART:
- case XATTR_LINEDASH:
- // there is a special handling done in the base class for this
- ChXChartObject::setPropertyValue( aPropertyName, aValue );
- return; // RETURN !
-
- case SCHATTR_AXIS_NUMFMT:
- {
- ChartType aType( mpModel );
- if( aType.IsPercent())
- {
- nWID = SCHATTR_AXIS_NUMFMTPERCENT;
- }
- }
- // intentionally not breaking ! (nWID just changed)
- default:
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID );
- }
- if( nAutoWid )
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID,
- nAutoWid, nAutoWid, 0 );
- DBG_ASSERT( pSet, "ItemSet was not created!" );
-
- mpModel->GetAttr( mnWhichId, *pSet );
-
- if( pSet->GetItemState( nWID ) != SFX_ITEM_SET )
- {
- // get default from ItemPool
- if( mpModel->GetItemPool().IsWhich( nWID ))
- {
- pSet->Put( mpModel->GetItemPool().GetDefaultItem( nWID ));
- }
- else if( nWID != SID_ATTR_NUMBERFORMAT_SOURCE )
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( aPropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "ChartAxis: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
-
- // special treatment for some properties
- switch( nWID )
- {
- case SCHATTR_TEXT_ORDER:
- {
- SvxChartTextOrder eTextOrder;
- chart::ChartAxisArrangeOrderType eArrOrder;
- if( ! ( aValue >>= eArrOrder ))
- {
- // basic might give us an int instead of the enum type
- sal_Int32 nIntVal = 0;
- if( aValue >>= nIntVal )
- {
- eArrOrder = SAL_STATIC_CAST( chart::ChartAxisArrangeOrderType, nIntVal );
- }
- }
- switch( eArrOrder )
- {
- case chart::ChartAxisArrangeOrderType_SIDE_BY_SIDE:
- eTextOrder = CHTXTORDER_SIDEBYSIDE; break;
- case chart::ChartAxisArrangeOrderType_STAGGER_EVEN:
- eTextOrder = CHTXTORDER_DOWNUP; break;
- case chart::ChartAxisArrangeOrderType_STAGGER_ODD:
- eTextOrder = CHTXTORDER_UPDOWN; break;
- case chart::ChartAxisArrangeOrderType_AUTO:
- default:
- eTextOrder = CHTXTORDER_AUTO; break;
- }
- pSet->Put( SvxChartTextOrderItem( eTextOrder ));
- }
- break;
- case SCHATTR_TEXT_ORIENT:
- {
- sal_Bool bVal = sal_False;
- if( aValue >>= bVal )
- {
- pSet->Put( SvxChartTextOrientItem(
- bVal
- ? CHTXTORIENT_STACKED
- : CHTXTORIENT_AUTOMATIC ));
- }
- }
- break;
- case SCHATTR_AXIS_AUTO_STEP_MAIN:
- case SCHATTR_AXIS_AUTO_STEP_HELP:
- {
- sal_Bool bVal(sal_False);
- aValue >>= bVal;
- if( ! bVal )
- {
- USHORT nStepWID = ( (nWID == SCHATTR_AXIS_AUTO_STEP_MAIN) ?
- SCHATTR_AXIS_STEP_MAIN :
- SCHATTR_AXIS_STEP_HELP );
-
- BOOL bLog = FALSE;
- ChartAxis* pAxis = mpModel->GetAxis( mnWhichId );
- if( pAxis )
- bLog = pAxis->IsLogarithm();
- const SfxPoolItem* pPoolItem = NULL;
- if( pSet->GetItemState( nStepWID, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- {
- double fOld = ((const SvxDoubleItem*)pPoolItem)->GetValue();
- if( fOld <= (bLog? 1.0: 0.0) )
- pSet->Put( SvxDoubleItem( bLog? 10.0 : 1.0, nStepWID ) );
- }
- }
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- }
- break;
- case SCHATTR_AXIS_LOGARITHM:
- {
- sal_Bool bVal(sal_False);
- aValue >>= bVal;
- if( bVal )
- {
- // for logarithmic scale always use automatic steps
- pSet->Put( SfxBoolItem( SCHATTR_AXIS_AUTO_STEP_MAIN, TRUE ) );
-
- const SfxPoolItem* pPoolItem = NULL;
- double fMin = 0.0;
- if( pSet->GetItemState( SCHATTR_AXIS_MIN, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- {
- fMin = ((const SvxDoubleItem*)pPoolItem)->GetValue();
- if( fMin <= 0.0 )
- pSet->Put( SvxDoubleItem( 1.0, SCHATTR_AXIS_MIN ) );
- }
- if( pSet->GetItemState( SCHATTR_AXIS_MAX, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- {
- if( ((const SvxDoubleItem*)pPoolItem)->GetValue() <= fMin )
- pSet->Put( SvxDoubleItem( fMin * 10.0, SCHATTR_AXIS_MAX ));
- }
- }
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- }
- break;
-
- case SCHATTR_AXIS_STEP_MAIN:
- case SCHATTR_AXIS_STEP_HELP:
- {
- BOOL bLog = FALSE;
- ChartAxis* pAxis = mpModel->GetAxis( mnWhichId );
- if( pAxis )
- bLog = pAxis->IsLogarithm();
- double fVal(0.0);
- aValue >>= fVal;
- if( fVal <= bLog? 1.0: 0.0 )
- throw lang::IllegalArgumentException();
-
- pSet->Put( SfxBoolItem( nAutoWid, FALSE ));
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- }
- break;
-
- case SCHATTR_AXIS_MIN:
- case SCHATTR_AXIS_MAX:
- {
- ChartAxis* pAxis = mpModel->GetAxis( mnWhichId );
- double fVal(0.0);
- aValue >>= fVal;
- if( pAxis &&
- pAxis->IsLogarithm() && fVal <= 0.0 )
- throw lang::IllegalArgumentException();
-
- pSet->Put( SfxBoolItem( nAutoWid, FALSE ));
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- }
- break;
-
- case SCHATTR_AXIS_ORIGIN:
- pSet->Put( SfxBoolItem( nAutoWid, FALSE ));
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- break;
-
- case SCHATTR_AXIS_NUMFMTPERCENT:
- // was mapped from SCHATTR_AXIS_NUMFMT, so don't use standard mechanism
- {
- sal_Int32 nFmt(0);
- aValue >>= nFmt;
- pSet->Put( SfxUInt32Item( nWID, nFmt ));
- }
- break;
-
- case SID_ATTR_NUMBERFORMAT_SOURCE:
- // this is not a which id (>4999)
- {
- sal_Bool bUseSource = sal_False;
- aValue >>= bUseSource;
- pSet->Put( SfxBoolItem( nWID, bUseSource ));
- }
- break;
-
- default:
- // CL: convert special character properties
- if( !SvxUnoTextRangeBase::SetPropertyValueHelper( *pSet, pMap, aValue, *pSet ))
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- break;
- }
-
- if( pSet->Count() )
- mpModel->ChangeAttr( *pSet, mnWhichId );
- else
- throw beans::UnknownPropertyException();
-
- delete pSet;
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- }
-}
-
-
-
-/*
- In contrast to calling the method setPropertyValue (singular) for every given property name
- the implementation of this method exploits the following properties:
- 1: Both the given sequence of property names and the member property map are sorted according
- to the property names.
- 2: The item set which gathers all items changed by setting the properties is created only once.
- 3: The solar mutex is acquired only once.
-*/
-void SAL_CALL ChXChartAxis::setPropertyValues (
- const Sequence<OUString > & aPropertyNames,
- const Sequence<Any > & aValues )
- throw ( beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException)
-{
- SolarMutexGuard aGuard;
-
- if (mpModel == NULL || mnWhichId == CHOBJID_ANY)
- return;
-
- // Get pointers to first elements of lists.
- const SfxItemPropertyMap * pProperty = maPropSet.getPropertyMap ();
- const OUString * pPropertyName = aPropertyNames.getConstArray ();
- const Any * pValue = aValues.getConstArray ();
-
- USHORT nWID, nAutoWID;
-
- // Create the item which collects all items modified by setting a property.
- SfxItemSet aAttributes (mpModel->GetItemPool(), nAxisWhichPairs);
- mpModel->GetAttr (mnWhichId, aAttributes);
-
- // Iterate over all the given property names.
- sal_Int32 nCounter = aPropertyNames.getLength();
- while (nCounter-- > 0)
- {
- AdvanceToName (pProperty, pPropertyName);
-
- nWID = pProperty->nWID;
-
- if (pProperty == NULL || pProperty->nWID == 0)
- {
- OUString sMessage = OUString (RTL_CONSTASCII_USTRINGPARAM ( "ChXChartAxis::setPropertyValues: unknown property "));
- sMessage += *pPropertyName;
- throw UnknownPropertyException (sMessage, (::cppu::OWeakObject*)this);
- }
-
- // If the item that internally represents the property is not set, then get it's
- // default value.
- if (aAttributes.GetItemState(nWID) != SFX_ITEM_SET)
- {
- // Get default from the model's item pool.
- if (mpModel->GetItemPool().IsWhich (nWID))
- aAttributes.Put (mpModel->GetItemPool().GetDefaultItem(nWID));
-#if OSL_DEBUG_LEVEL > 1
- else if (nWID != SID_ATTR_NUMBERFORMAT_SOURCE)
- {
- String aTmpString (*pPropertyName);
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "ChartAxis: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
- }
-#endif
- }
-
- // Set the property's new value and handle some special cases.
- switch (nWID)
- {
- case SCHATTR_TEXT_ORDER:
- {
- SvxChartTextOrder eTextOrder;
- chart::ChartAxisArrangeOrderType eArrOrder;
- if ( ! ( *pValue >>= eArrOrder ))
- {
- // basic might give us an int instead of the enum type
- sal_Int32 nIntVal = 0;
- if( *pValue >>= nIntVal )
- eArrOrder = SAL_STATIC_CAST (chart::ChartAxisArrangeOrderType, nIntVal);
- }
- switch( eArrOrder )
- {
- case chart::ChartAxisArrangeOrderType_SIDE_BY_SIDE:
- eTextOrder = CHTXTORDER_SIDEBYSIDE;
- break;
- case chart::ChartAxisArrangeOrderType_STAGGER_EVEN:
- eTextOrder = CHTXTORDER_DOWNUP;
- break;
- case chart::ChartAxisArrangeOrderType_STAGGER_ODD:
- eTextOrder = CHTXTORDER_UPDOWN;
- break;
- case chart::ChartAxisArrangeOrderType_AUTO:
- default:
- eTextOrder = CHTXTORDER_AUTO;
- break;
- }
- aAttributes.Put (SvxChartTextOrderItem( eTextOrder));
- }
- break;
-
- case SCHATTR_TEXT_ORIENT:
- {
- sal_Bool bVal = sal_False;
- if( *pValue >>= bVal )
- {
- aAttributes.Put( SvxChartTextOrientItem(
- bVal
- ? CHTXTORIENT_STACKED
- : CHTXTORIENT_AUTOMATIC ));
- }
- }
- break;
-
- case SCHATTR_AXIS_AUTO_STEP_MAIN:
- case SCHATTR_AXIS_AUTO_STEP_HELP:
- {
- sal_Bool bVal(sal_False);
- *pValue >>= bVal;
- if( ! bVal )
- {
- USHORT nStepWID = ( (nWID == SCHATTR_AXIS_AUTO_STEP_MAIN) ?
- SCHATTR_AXIS_STEP_MAIN :
- SCHATTR_AXIS_STEP_HELP );
-
- BOOL bLog = FALSE;
- ChartAxis* pAxis = mpModel->GetAxis( mnWhichId );
- if( pAxis )
- bLog = pAxis->IsLogarithm();
- const SfxPoolItem* pPoolItem = NULL;
- if( aAttributes.GetItemState( nStepWID, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- {
- double fOld = ((const SvxDoubleItem*)pPoolItem)->GetValue();
- if( fOld <= (bLog? 1.0: 0.0) )
- aAttributes.Put( SvxDoubleItem( bLog? 10.0 : 1.0, nStepWID ) );
- }
- }
- maPropSet.setPropertyValue( pProperty, *pValue, aAttributes );
- }
- break;
-
- case SCHATTR_AXIS_LOGARITHM:
- {
- sal_Bool bVal(sal_False);
- *pValue >>= bVal;
- if( bVal )
- {
- // for logarithmic scale always use automatic steps
- aAttributes.Put( SfxBoolItem( SCHATTR_AXIS_AUTO_STEP_MAIN, TRUE ) );
-
- const SfxPoolItem* pPoolItem = NULL;
- double fMin = 0.0;
- if( aAttributes.GetItemState( SCHATTR_AXIS_MIN, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- {
- fMin = ((const SvxDoubleItem*)pPoolItem)->GetValue();
- if( fMin <= 0.0 )
- aAttributes.Put( SvxDoubleItem( 1.0, SCHATTR_AXIS_MIN ) );
- }
- if( aAttributes.GetItemState( SCHATTR_AXIS_MAX, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- {
- if( ((const SvxDoubleItem*)pPoolItem)->GetValue() <= fMin )
- aAttributes.Put( SvxDoubleItem( fMin * 10.0, SCHATTR_AXIS_MAX ));
- }
- }
- maPropSet.setPropertyValue( pProperty, *pValue, aAttributes );
- }
- break;
-
- case SCHATTR_AXIS_STEP_MAIN:
- case SCHATTR_AXIS_STEP_HELP:
- {
- BOOL bLog = FALSE;
- ChartAxis* pAxis = mpModel->GetAxis( mnWhichId );
- if( pAxis )
- bLog = pAxis->IsLogarithm();
- double fVal(0.0);
- *pValue >>= fVal;
- if( fVal <= bLog? 1.0: 0.0 )
- throw lang::IllegalArgumentException();
-
- if (nWID == SCHATTR_AXIS_STEP_MAIN)
- nAutoWID = SCHATTR_AXIS_AUTO_STEP_MAIN;
- else
- nAutoWID = SCHATTR_AXIS_AUTO_STEP_HELP;
- aAttributes.Put( SfxBoolItem( nAutoWID, FALSE ));
- maPropSet.setPropertyValue( pProperty, *pValue, aAttributes );
- }
- break;
-
- case SCHATTR_AXIS_MIN:
- case SCHATTR_AXIS_MAX:
- {
- ChartAxis* pAxis = mpModel->GetAxis( mnWhichId );
- double fVal(0.0);
- *pValue >>= fVal;
- if ( pAxis
- && pAxis->IsLogarithm()
- && fVal <= 0.0)
- throw lang::IllegalArgumentException();
- if (nWID == SCHATTR_AXIS_MIN)
- nAutoWID = SCHATTR_AXIS_AUTO_MIN;
- else
- nAutoWID = SCHATTR_AXIS_AUTO_MAX;
-
- aAttributes.Put( SfxBoolItem( nAutoWID, FALSE ));
- maPropSet.setPropertyValue (pProperty, *pValue, aAttributes);
- }
- break;
-
- case SCHATTR_AXIS_ORIGIN:
- aAttributes.Put (SfxBoolItem (SCHATTR_AXIS_AUTO_ORIGIN, FALSE));
- maPropSet.setPropertyValue (pProperty, *pValue, aAttributes);
- break;
-
- case SCHATTR_AXIS_NUMFMTPERCENT:
- // was mapped from SCHATTR_AXIS_NUMFMT, so don't use standard mechanism
- {
- sal_Int32 nFmt(0);
- *pValue >>= nFmt;
- aAttributes.Put( SfxUInt32Item( nWID, nFmt ));
- }
- break;
-
- case SID_ATTR_NUMBERFORMAT_SOURCE:
- // this is not a which id (>4999)
- {
- sal_Bool bUseSource = sal_False;
- *pValue >>= bUseSource;
- aAttributes.Put (SfxBoolItem( nWID, bUseSource));
- }
- break;
-
- case XATTR_LINEEND:
- case XATTR_LINESTART:
- case XATTR_LINEDASH:
- if (pProperty->nMemberId == MID_NAME )
- {
- ::rtl::OUString aString;
- if (*pValue >>= aString)
- SvxShape::SetFillAttribute (nWID, aString, aAttributes, mpModel);
- break;
- }
- // note: this fall-through is intended
-
- default:
- // CL: convert special character properties
- if( !SvxUnoTextRangeBase::SetPropertyValueHelper (
- aAttributes, pProperty, *pValue, aAttributes))
- maPropSet.setPropertyValue (pProperty, *pValue, aAttributes);
- break;
- }
-
- // Advance to the next property, property name and value.
- pPropertyName++;
- pValue++;
- }
-
- // Finally set the modified item set to the axis.
- mpModel->ChangeAttr (aAttributes, mnWhichId);
-}
-
-
-
-
-/*
-Sequence<PropertyState > SAL_CALL ChXChartAxis::getPropertyStates(
- const Sequence<OUString > & aPropertyNames)
- throw( UnknownPropertyException,
- RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const sal_Int32 nCount = aPropertyNames.getLength();
- const ::rtl::OUString * pName = aPropertyNames.getConstArray();
- Sequence<PropertyState > aStates (nCount);
- PropertyState * pState = aStates.getArray();
-
- if (mpModel == NULL)
- return aStates;
-
- for (sal_Int32 nIdx = 0; nIdx < nCount; nIdx++)
- pState[nIdx] = getPropertyState (pName[nIdx]);
-
- return aStates;
-}
-*/
-
-
-//===== protected methods =======================================================================
-
-SfxItemSet * ChXChartAxis::CreateItemSet (void)
-{
- SfxItemSet * pAttributes = new SfxItemSet (mpModel->GetItemPool(), nAxisWhichPairs);
- mpModel->GetAttr (mnWhichId, *pAttributes, mnIndex);
- return pAttributes;
-}
-
-
-
-void ChXChartAxis::GetPropertyValue (const SfxItemPropertyMap & rProperty,
- ::com::sun::star::uno::Any & rValue,
- SfxItemSet & rAttributes)
-{
- switch (rProperty.nWID)
- {
- case SCHATTR_TEXT_ORDER:
- {
- chart::ChartAxisArrangeOrderType eArrOrder;
-
- switch (((const SvxChartTextOrderItem&)(rAttributes.Get( SCHATTR_TEXT_ORDER ))).GetValue())
- {
- case CHTXTORDER_SIDEBYSIDE:
- eArrOrder = chart::ChartAxisArrangeOrderType_SIDE_BY_SIDE;
- break;
- case CHTXTORDER_DOWNUP:
- eArrOrder = chart::ChartAxisArrangeOrderType_STAGGER_EVEN;
- break;
- case CHTXTORDER_UPDOWN:
- eArrOrder = chart::ChartAxisArrangeOrderType_STAGGER_ODD;
- break;
- case CHTXTORDER_AUTO:
- default:
- eArrOrder = chart::ChartAxisArrangeOrderType_AUTO;
- break;
- }
- rValue <<= eArrOrder;
- break;
- }
- case SCHATTR_AXIS_NUMFMT:
- {
- // if we have a percent chart use the correct number format item
- ChartType aType( mpModel );
- if( aType.IsPercent())
- {
- rValue <<= (sal_Int32)(((const SfxUInt32Item&)(rAttributes.Get( SCHATTR_AXIS_NUMFMTPERCENT ))).GetValue());
- }
- else
- {
- rValue <<= (sal_Int32)(((const SfxUInt32Item&)(rAttributes.Get( SCHATTR_AXIS_NUMFMT ))).GetValue());
- }
- }
- break;
-
-
- default:
- ChXChartObject::GetPropertyValue (rProperty, rValue, rAttributes);
- }
-}
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartData.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartData.cxx
deleted file mode 100644
index c867d1ef9..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartData.cxx
+++ /dev/null
@@ -1,479 +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.
- *
- ************************************************************************/
-
-#include "ChXChartData.hxx"
-
-// header for SvxServiceInfoHelper
-#include <bf_svx/unoprov.hxx>
-// header for class OGuard
-// header for rtl_createUuid
-#include <rtl/uuid.h>
-// header for class Application
-#include <vcl/svapp.hxx>
-
-#include "chtmodel.hxx"
-#include "memchrt.hxx"
-namespace binfilter {
-
-#ifndef SCH_ASCII_TO_OU
-#define SCH_ASCII_TO_OU( s ) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( s ) )
-#endif
-
-using namespace ::com::sun::star;
-
-#define SCH_BIN_MIN(a,b) ( ((a)<(b))? (a) : (b) )
-
-// ----------------------------------------
-// class ChXChartData
-// ----------------------------------------
-
-ChXChartData::ChXChartData( uno::Reference< lang::XComponent > xModel,
- ChartModel* pModel ) :
- maListeners( GetMutex() ),
- mpModel( pModel )
-{
- if( xModel.is())
- {
- uno::Reference< lang::XEventListener > xListener = this;
- xModel->addEventListener( xListener );
- }
-
- DBG_WARNING( "Parameter pModel is NULL." );
-}
-
-ChXChartData::~ChXChartData()
-{}
-
-void ChXChartData::DataModified( chart::ChartDataChangeEvent& aEvent )
-{
- if( !maListeners.getLength() ) return;
-
- uno::Reference< uno::XInterface > xSrc( SAL_STATIC_CAST( cppu::OWeakObject*, this ), uno::UNO_QUERY );
- if( xSrc.is() )
- aEvent.Source = xSrc;
-
- cppu::OInterfaceIteratorHelper aIter( maListeners );
-
- while( aIter.hasMoreElements() )
- {
- uno::Reference< chart::XChartDataChangeEventListener > xListener( aIter.next(), uno::UNO_QUERY );
- xListener->chartDataChanged( aEvent );
- }
-}
-
-// generate a uniqueId
-const uno::Sequence< sal_Int8 > & ChXChartData::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-ChXChartData* ChXChartData::getImplementation( uno::Reference< uno::XInterface > xData ) throw()
-{
- uno::Reference< lang::XUnoTunnel > xUT( xData, uno::UNO_QUERY );
- if( xUT.is() )
- return reinterpret_cast< ChXChartData * >( xUT->getSomething( ChXChartData::getUnoTunnelId() ));
- else
- return NULL;
-}
-
-// XChartData
-void SAL_CALL ChXChartData::addChartDataChangeEventListener(
- const uno::Reference< chart::XChartDataChangeEventListener >& aListener )
- throw( uno::RuntimeException )
-{
- uno::Reference< uno::XInterface > xIntf( aListener, uno::UNO_QUERY );
- if( xIntf.is() )
- maListeners.addInterface( xIntf );
-}
-
-void SAL_CALL ChXChartData::removeChartDataChangeEventListener(
- const uno::Reference< chart::XChartDataChangeEventListener >& aListener )
- throw( uno::RuntimeException )
-{
- uno::Reference< uno::XInterface > xIntf( aListener, uno::UNO_QUERY );
- if( xIntf.is() )
- maListeners.removeInterface( xIntf );
-}
-
-double SAL_CALL ChXChartData::getNotANumber() throw( ::com::sun::star::uno::RuntimeException )
-{
- return DBL_MIN;
-}
-
-sal_Bool SAL_CALL ChXChartData::isNotANumber( double nNumber ) throw( ::com::sun::star::uno::RuntimeException )
-{
- return (nNumber == getNotANumber());
-}
-
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChXChartData::getImplementationName()
- throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "ChXChartData" );
-}
-
-sal_Bool SAL_CALL ChXChartData::supportsService( const ::rtl::OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- return SvxServiceInfoHelper::supportsService( ServiceName, getSupportedServiceNames() );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXChartData::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- uno::Sequence< ::rtl::OUString > aSeq;
- SvxServiceInfoHelper::addToSequence( aSeq, 1, "com.sun.star.chart.ChartData");
- return aSeq;
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChXChartData::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return reinterpret_cast< sal_Int64 >( this );
- }
- return 0;
-}
-
-// XEventListener listens to disposing of XModel
-void SAL_CALL ChXChartData::disposing( const lang::EventObject& /*Source*/ ) throw( uno::RuntimeException )
-{
- // XModel is disposed -> mpModel is invalid now
- mpModel = NULL;
-}
-
-// ----------------------------------------
-// class ChXChartDataArray
-// ----------------------------------------
-uno::Sequence< uno::Type > ChXChartDataArray::maTypeSequence;
-
-ChXChartDataArray::ChXChartDataArray( uno::Reference< lang::XComponent > xModel,
- ChartModel* pModel ) :
- ChXChartData( xModel, pModel )
-{}
-
-ChXChartDataArray::~ChXChartDataArray()
-{}
-
-// XInterface
-uno::Any SAL_CALL ChXChartDataArray::queryInterface( const uno::Type& aType )
- throw( uno::RuntimeException )
-{
- if( aType == ::getCppuType((const uno::Reference< chart::XChartDataArray >*)0) )
- return uno::makeAny( uno::Reference< chart::XChartDataArray >(this));
- else
- return ChXChartData::queryInterface( aType );
-}
-
-void SAL_CALL ChXChartDataArray::acquire() throw()
-{
- ChXChartData::acquire();
-}
-
-void SAL_CALL ChXChartDataArray::release() throw()
-{
- ChXChartData::release();
-}
-
-
-// XTypeProvider
-uno::Sequence< uno::Type > SAL_CALL ChXChartDataArray::getTypes() throw( uno::RuntimeException )
-{
- if( maTypeSequence.getLength() == 0 )
- {
- uno::Sequence< uno::Type > aBaseTypes( ChXChartData::getTypes() );
- uno::Type* pBaseTypes = aBaseTypes.getArray();
-
- maTypeSequence.realloc( aBaseTypes.getLength() + 1 ); // keep updated!!
- uno::Type* pTypes = maTypeSequence.getArray();
-
- // additional interfaces (1)
- *pTypes++ = ::getCppuType((const uno::Reference< chart::XChartDataArray >*)0);
-
- for( sal_Int32 nType = aBaseTypes.getLength(); nType; nType-- )
- *pTypes++ = *pBaseTypes++;
- }
- return maTypeSequence;
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL ChXChartDataArray::getImplementationId() throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-
-// XChartDataArray
-uno::Sequence< uno::Sequence< double > > SAL_CALL ChXChartDataArray::getData() throw( uno::RuntimeException )
-{
- DBG_ASSERT( mpModel, "No Model" );
- if( ! mpModel )
- return uno::Sequence< uno::Sequence< double > >();
-
- SolarMutexGuard aGuard;
-
- double *pData;
-
- // get MemChart:
- SchMemChart* pDocData = mpModel->GetChartData();
-
- // number of rows and columns
- sal_Int32 nCol, nColCnt = pDocData->GetColCount();
- sal_Int32 nRow, nRowCnt = pDocData->GetRowCount();
-
- // create array
- uno::Sequence< uno::Sequence< double > > aSequence( nRowCnt );
- uno::Sequence< double >* pSeqArray = aSequence.getArray();
- for( nRow = 0; nRow < nRowCnt; nRow++ )
- {
- pSeqArray[ nRow ].realloc( nColCnt );
- }
-
- // copy data from MemChart to the array:
- for( nRow = 0; nRow < nRowCnt; nRow++ )
- {
- pData = pSeqArray[ nRow ].getArray(); // get row
- for( nCol = 0; nCol < nColCnt; nCol++ )
- {
- pData[ nCol ] = pDocData->GetData( (short)nCol, (short)nRow ); // copy data to column
- }
- }
- return aSequence;
-}
-
-void SAL_CALL ChXChartDataArray::setData( const uno::Sequence< uno::Sequence< double > >& aData )
- throw( uno::RuntimeException )
-{
- DBG_ASSERT( mpModel, "No Model" );
- if( ! mpModel )
- return;
-
- SolarMutexGuard aGuard;
-
- // get number of rows/columns
- const uno::Sequence< double >* pSequence = aData.getConstArray();
- sal_Int32 nRow, nRowCnt = aData.getLength();
- sal_Int32 nCol, nColCnt = 0;
-
- const double* pData = NULL;
- if( nRowCnt )
- {
- pData = pSequence[ 0 ].getConstArray();
- nColCnt = pSequence->getLength();
- }
-
- // compare size to the size of the existing MemChart
- SchMemChart* pDocData = mpModel->GetChartData();
-
- if( nColCnt != (sal_Int32)pDocData->GetColCount() ||
- nRowCnt != (sal_Int32)pDocData->GetRowCount() )
- { // change size, i.e. create new MemChart
- pDocData = new SchMemChart( (short)nColCnt, (short)nRowCnt );
- // save as much as possible (title, ...)
- pDocData->SetNonNumericData( *(mpModel->GetChartData()) );
- }
-
- // copy data
- for( nRow = 0; nRow < nRowCnt; nRow++ )
- {
- pData = pSequence[ nRow ].getConstArray();
- for( nCol = 0; nCol < nColCnt; nCol++ )
- {
- pDocData->SetData( (short)nCol, (short)nRow,pData[ nCol ] );
- }
- }
-
- // data is only changed if new MemChart was created (otherwise everything is already in the chart)
- // (Wird nur gewechselt, wenn neues erzeugt wurde (sonst ist schon alles im Chart))
- mpModel->ChangeChartData( *pDocData, FALSE );
-
- // call listeners
- chart::ChartDataChangeEvent aEvent;
- aEvent.Type = chart::ChartDataChangeType_ALL;
- aEvent.StartColumn = 0;
- aEvent.EndColumn = 0;
- aEvent.StartRow = 0;
- aEvent.EndRow = 0;
-
- DataModified( aEvent );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXChartDataArray::getRowDescriptions() throw( uno::RuntimeException )
-{
- DBG_ASSERT( mpModel, "No Model" );
- if( ! mpModel )
- return uno::Sequence< ::rtl::OUString >();
-
- SolarMutexGuard aGuard;
-
- SchMemChart* pDocData = mpModel->GetChartData();
- sal_Int32 nRow, nRowCnt = pDocData->GetRowCount();
-
- uno::Sequence< ::rtl::OUString > aResult( nRowCnt );
-
- ::rtl::OUString* pResultArray = aResult.getArray();
- for( nRow = 0; nRow < nRowCnt; nRow++ )
- {
- pResultArray[ nRow ] = pDocData->GetRowText( (short)nRow );
- }
-
- return aResult;
-}
-
-void SAL_CALL ChXChartDataArray::setRowDescriptions( const uno::Sequence< ::rtl::OUString >& aRowDescriptions )
- throw( uno::RuntimeException )
-{
- DBG_ASSERT( mpModel, "No Model" );
- if( ! mpModel )
- return;
-
- SolarMutexGuard aGuard;
-
- SchMemChart* pDocData = mpModel->GetChartData();
- sal_Int32 nRow, nRowCnt = SCH_BIN_MIN( (sal_Int32)pDocData->GetRowCount(), aRowDescriptions.getLength() );
- ::rtl::OUString* pString = ( (uno::Sequence< ::rtl::OUString >&)aRowDescriptions ).getArray();
-
- for( nRow = 0; nRow < nRowCnt; nRow++ )
- {
- pDocData->SetRowText( (short)nRow, pString[ nRow ] );
- }
- mpModel->BuildChart( FALSE );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXChartDataArray::getColumnDescriptions() throw( uno::RuntimeException )
-{
- DBG_ASSERT( mpModel, "No Model" );
- if( ! mpModel )
- return uno::Sequence< ::rtl::OUString >();
-
- SolarMutexGuard aGuard;
-
- SchMemChart* pDocData = mpModel->GetChartData();
- sal_Int32 nCol, nColCnt = pDocData->GetColCount();
- uno::Sequence< ::rtl::OUString > aResult( nColCnt );
-
- ::rtl::OUString *pResultArray = aResult.getArray();
- for( nCol = 0; nCol < nColCnt; nCol++ )
- {
- pResultArray[ nCol ] = pDocData->GetColText( (short)nCol);
- }
- return aResult;
-}
-
- void SAL_CALL ChXChartDataArray::setColumnDescriptions( const uno::Sequence< ::rtl::OUString >& aColumnDescriptions )
- throw( uno::RuntimeException )
-{
- DBG_ASSERT( mpModel, "No Model" );
- if( ! mpModel )
- return;
-
- SolarMutexGuard aGuard;
-
- SchMemChart* pDocData = mpModel->GetChartData();
- sal_Int32 nCol, nColCnt = SCH_BIN_MIN( (sal_Int32)pDocData->GetColCount(), aColumnDescriptions.getLength() );
-
- ::rtl::OUString* pString = ( (uno::Sequence< ::rtl::OUString >&)aColumnDescriptions ).getArray();
-
- for( nCol = 0; nCol < nColCnt; nCol++ )
- {
- pDocData->SetColText( (short)nCol, pString[ nCol ] );
- }
- mpModel->BuildChart( FALSE );
-}
-
-
-// XChartData
- void SAL_CALL ChXChartDataArray::addChartDataChangeEventListener(
- const uno::Reference< chart::XChartDataChangeEventListener >& aListener )
- throw( uno::RuntimeException )
-{
- ChXChartData::addChartDataChangeEventListener( aListener );
-}
-
-void SAL_CALL ChXChartDataArray::removeChartDataChangeEventListener(
- const uno::Reference< chart::XChartDataChangeEventListener >& aListener )
- throw( uno::RuntimeException )
-{
- ChXChartData::removeChartDataChangeEventListener( aListener );
-}
-
-double SAL_CALL ChXChartDataArray::getNotANumber() throw( uno::RuntimeException )
-{
- return ChXChartData::getNotANumber();
-}
-
-sal_Bool SAL_CALL ChXChartDataArray::isNotANumber( double nNumber ) throw( uno::RuntimeException )
-{
- return ChXChartData::isNotANumber( nNumber );
-}
-
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChXChartDataArray::getImplementationName()
- throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "ChXChartDataArray" );
-}
-
-sal_Bool SAL_CALL ChXChartDataArray::supportsService( const ::rtl::OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- return ChXChartData::supportsService( ServiceName );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXChartDataArray::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- uno::Sequence< ::rtl::OUString > aSeq( ChXChartData::getSupportedServiceNames() );
- SvxServiceInfoHelper::addToSequence( aSeq, 1, "com.sun.star.chart.ChartDataArray" );
- return aSeq;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDataChangeEventListener.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDataChangeEventListener.cxx
deleted file mode 100644
index 84ae28448..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDataChangeEventListener.cxx
+++ /dev/null
@@ -1,106 +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.
- *
- ************************************************************************/
-
-#include <vcl/svapp.hxx>
-#include <osl/mutex.hxx>
-
-#include "ChXChartDataChangeEventListener.hxx"
-#include "ChXChartDocument.hxx"
-namespace binfilter {
-
-#ifndef SCH_ASCII_TO_OU
-#define SCH_ASCII_TO_OU( s ) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( s ) )
-#endif
-
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star;
-using ::rtl::OUString;
-
-ChXChartDataChangeEventListener::ChXChartDataChangeEventListener()
-{
- mpXDoc = NULL;
-}
-
-void ChXChartDataChangeEventListener::SetOwner( ChXChartDocument* pXDoc ) throw()
-{
- SolarMutexGuard aGuard;
-
- mpXDoc = pXDoc;
-}
-
-void ChXChartDataChangeEventListener::Reset() throw()
-{
- SolarMutexGuard aGuard;
- mpXDoc = NULL;
-}
-
-// XChartDataChangeEventListener
-void SAL_CALL ChXChartDataChangeEventListener::chartDataChanged( const chart::ChartDataChangeEvent& aEvent )
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- if( mpXDoc )
- mpXDoc->RefreshData( aEvent );
-}
-
-// XEventListener
-void SAL_CALL ChXChartDataChangeEventListener::disposing( const lang::EventObject& /*Source*/ ) throw( uno::RuntimeException )
-{
- Reset();
-}
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChXChartDataChangeEventListener::getImplementationName() throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "ChXChartDataChangeEventListener" );
-}
-
-sal_Bool SAL_CALL ChXChartDataChangeEventListener::supportsService( const OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- uno::Sequence< OUString > aSNL = getSupportedServiceNames();
- const OUString * pArray = aSNL.getConstArray();
- for( INT32 i = 0; i < aSNL.getLength(); i++ )
- if( pArray[i] == ServiceName )
- return TRUE;
- return FALSE;
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXChartDataChangeEventListener::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Sequence< OUString > aServSeq( 0 );
- return aServSeq;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDocument.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDocument.cxx
deleted file mode 100644
index 732c97e79..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDocument.cxx
+++ /dev/null
@@ -1,1680 +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.
- *
- ************************************************************************/
-
-#include "ChXChartDocument.hxx"
-#include "ChXDiagram.hxx"
-#include "ChXChartData.hxx"
-#include "ChXChartDataChangeEventListener.hxx"
-#include "ChXChartDrawPage.hxx"
-
-#include "ChartLegend.hxx"
-#include "ChartTitle.hxx"
-#include "ChartArea.hxx"
-
-
-#include <bf_svx/UnoNamespaceMap.hxx>
-#include <bf_svx/xmlgrhlp.hxx>
-
-#include "mapprov.hxx"
-// header for SvxChartLegendPosItem
-#ifndef _SVX_CHRTITEM_HXX
-#include "schattr.hxx"
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-#include "docshell.hxx"
-#include "objid.hxx"
-
-#include "schgroup.hxx"
-
-// for access to table addresses
-#include "memchrt.hxx"
-
-// header for SvNumberFormatsSupplierObj
-#include <bf_svtools/numuno.hxx>
-
-// header for class OGuard
-// header for class Application
-#include <vcl/svapp.hxx>
-#include <bf_svx/unofill.hxx>
-#include <bf_svx/unoshcol.hxx>
-
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/lang/XServiceName.hpp>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include "unonames.hxx"
-#include <rtl/uuid.h>
-
-namespace binfilter {
-
-extern SchUnoPropertyMapProvider aSchMapProvider;
-
-using namespace ::com::sun::star;
-using ::rtl::OUString;
-
-sal_Int32 ChXChartDocument::mnInstanceCounter = 0;
-SchAddInCollection * ChXChartDocument::mpAddInCollection = NULL;
-
-SchAddInCollection& ChXChartDocument::GetAddInCollection()
-{
- if( mpAddInCollection == NULL )
- mpAddInCollection = new SchAddInCollection();
-
- return *mpAddInCollection;
-}
-
-ChXChartDocument::ChXChartDocument( SchChartDocShell* pShell ) :
- SfxBaseModel( pShell ),
- m_pModel( NULL ),
- m_aPropSet( aSchMapProvider.GetMap( CHMAP_DOC, NULL ))
-{
- if( pShell )
- {
- SolarMutexGuard aSolarGuard;
-
- m_pDocShell = pShell;
- if( m_pDocShell->GetModelPtr())
- SetChartModel( m_pDocShell->GetModelPtr());
- }
- else
- DBG_WARNING( "Parameter pShell is NULL." );
-
- ++mnInstanceCounter;
-}
-
-ChXChartDocument::~ChXChartDocument()
-{
- if( m_rXDiagram.is() )
- {
- osl::Guard< osl::Mutex > aGuard( GetMutex());
- ChXDiagram* pDiagram = ChXDiagram::getImplementation( m_rXDiagram );
- if( pDiagram )
- pDiagram->SetDocShell( NULL );
- uno::Reference<lang::XComponent> xComponent (m_rXDiagram,uno::UNO_QUERY);
- if (xComponent.is())
- {
- try
- {
- xComponent->removeEventListener (this);
- xComponent->dispose();
- }
- catch( uno::RuntimeException & aEx )
- {
- OSL_TRACE( "Exception caught in DTOR: %s",
- ::rtl::OUStringToOString( aEx.Message, RTL_TEXTENCODING_ASCII_US ).getStr() );
- }
- }
- }
- if( --mnInstanceCounter == 0 )
- {
- delete mpAddInCollection;
- mpAddInCollection = NULL;
- }
-}
-
-// public methods
-void ChXChartDocument::setDiagramType( const ::rtl::OUString& aType,
- sal_Bool bKeepAddin /* = sal_False */ ) throw()
-{
- SolarMutexGuard aGuard;
-
- if( ! m_pModel )
- return;
-
- // never show sorting dialog
- m_pModel->SetChartStatusFlag( CHS_USER_NOQUERY );
-
- // disable AddIn if requested
- if( bKeepAddin )
- m_pModel->SetChartStatusFlag( CHS_KEEP_ADDIN );
- else
- m_pModel->ResetChartStatusFlag( CHS_KEEP_ADDIN );
-
- // all chart types start with the prefix com.sun.star.chart
- if( 0 == aType.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE )))
- {
- // get postfix using copy( beginIndex )
- ::rtl::OUString aPostfix = aType.copy( RTL_CONSTASCII_LENGTH( SCH_X_STR_CHTYPE_NAMESPACE ));
-
- if( aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_LINE )) == 0 )
- m_pModel->SetBaseType( CHTYPE_LINE );
- else if( aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_AREA )) == 0 )
- m_pModel->SetBaseType( CHTYPE_AREA );
- else if( aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_PIE )) == 0 )
- m_pModel->SetBaseType( CHTYPE_CIRCLE);
- else if( aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_BAR )) == 0 )
- m_pModel->SetBaseType( CHTYPE_BAR);
- else if( aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_XY )) == 0 )
- m_pModel->SetBaseType( CHTYPE_XY );
- else if( aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_NET )) == 0 )
- m_pModel->SetBaseType( CHTYPE_NET );
- else if( aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_DONUT )) == 0 )
- m_pModel->SetBaseType( CHTYPE_DONUT );
- else if( aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_STOCK )) == 0 )
- m_pModel->SetBaseType( CHTYPE_STOCK );
- }
-}
-
-sal_Bool ChXChartDocument::setBaseDiagramType( sal_Bool bSet ) throw()
-{
- if( bSet )
- {
- if( maBaseDiagramType.getLength())
- {
- // 2nd param: keep reference to AddIn in model
- setDiagramType( maBaseDiagramType, sal_True );
- return sal_True;
- }
- }
- else // unset
- {
- if( m_pModel )
- m_pModel->SetBaseType( CHTYPE_ADDIN );
- return sal_True;
- }
-
- return sal_False;
-}
-
-void ChXChartDocument::SetChartModel( ChartModel* pModel ) throw()
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
-
- m_pModel = pModel;
- m_aPropSet = SvxItemPropertySet( aSchMapProvider.GetMap( CHMAP_DOC, m_pModel ));
-}
-
-void ChXChartDocument::RefreshData( const chart::ChartDataChangeEvent& /*aEvent*/ ) throw()
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
-
- // copy new data ( in member m_xChartData )
- if( m_xChartData.is() )
- {
- // get XChartDataArray representation of m_xChartData
- uno::Reference< chart::XChartDataArray > xDataArray( m_xChartData, uno::UNO_QUERY );
-
- if( xDataArray.is() )
- {
- // new data object using own doc shell
- uno::Reference< lang::XComponent > xComp( SAL_STATIC_CAST( SfxBaseModel*, this ));
- ChXChartDataArray* pNewDataArray = new ChXChartDataArray( xComp, m_pModel );
- chart::XChartDataArray* pSrcArray = xDataArray.get();
-
- // the get-methods re-retrieve the (changed) data from the SchMemChart
- pNewDataArray->setData( pSrcArray->getData() );
- pNewDataArray->setRowDescriptions( pSrcArray->getRowDescriptions() );
- pNewDataArray->setColumnDescriptions( pSrcArray->getColumnDescriptions() );
-
- // remember the new data as member
- m_xChartData = SAL_STATIC_CAST( ChXChartData*, pNewDataArray );
- }
- }
-}
-
-// generate a uniqueId
-const uno::Sequence< sal_Int8 > & ChXChartDocument::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-ChXChartDocument* ChXChartDocument::getImplementation( uno::Reference< uno::XInterface > xData ) throw()
-{
- uno::Reference< lang::XUnoTunnel > xUT( xData, uno::UNO_QUERY );
- if( xUT.is() )
- return (ChXChartDocument*)xUT->getSomething( ChXChartDocument::getUnoTunnelId() );
- else
- return NULL;
-}
-
-
-// XInterface
-uno::Any SAL_CALL ChXChartDocument::queryInterface( const uno::Type & rType )
- throw( uno::RuntimeException )
-{
- uno::Any aAny = SfxBaseModel::queryInterface( rType );
- if( aAny.hasValue() )
- return aAny;
-
- return ::cppu::queryInterface(
- rType,
- ( lang::XMultiServiceFactory* )this,
- ( beans::XPropertySet* )this,
- ( chart::XChartDocument* )this,
- ( lang::XServiceInfo* )this,
- ( util::XNumberFormatsSupplier* )this,
- ( drawing::XDrawPageSupplier* )this,
- ( lang::XUnoTunnel* )this );
-}
-
-void SAL_CALL ChXChartDocument::acquire() throw()
-{
- SfxBaseModel::acquire();
-}
-
-void SAL_CALL ChXChartDocument::release() throw()
-{
- SfxBaseModel::release();
-}
-
-// XMultiServiceFactory
-uno::Reference< uno::XInterface > SAL_CALL ChXChartDocument::createInstance( const ::rtl::OUString& aServiceSpecifier )
- throw( uno::Exception, uno::RuntimeException )
-{
- bool bServiceFound = false;
- uno::Reference< uno::XInterface > xResult;
-
- // 1. create a new built-in diagram type
- if( 0 == aServiceSpecifier.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE )))
- {
- ::rtl::OUString aPostfix = aServiceSpecifier.copy( RTL_CONSTASCII_LENGTH( SCH_X_STR_CHTYPE_NAMESPACE ));
-
- if( 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_LINE )) ||
- 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_AREA )) ||
- 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_BAR )) ||
- 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_PIE )) ||
- 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_XY )) ||
- 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_NET )) ||
- 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_DONUT )) ||
- 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_STOCK )))
- {
- ChXDiagram* pDiagram = new ChXDiagram( m_pDocShell, FALSE );
- pDiagram->SetServiceName( aServiceSpecifier );
-
- xResult.set( static_cast< cppu::OWeakObject * >( pDiagram ) );
- bServiceFound = true;
- }
- }
- // 2. create drawing services for XML
- else if( 0 == aServiceSpecifier.compareToAscii( RTL_CONSTASCII_STRINGPARAM( "com.sun.star.drawing." )))
- {
- ::rtl::OUString aPostfix = aServiceSpecifier.copy( RTL_CONSTASCII_LENGTH( "com.sun.star.drawing." ));
-
- bServiceFound = true;
-
- // get a table for XML ex-/import
- if( 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( "DashTable" )))
- {
- if( ! xDashTable.is())
- xDashTable = SvxUnoDashTable_createInstance( m_pModel );
- xResult = xDashTable;
- }
- else if( 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( "GradientTable" )))
- {
- if( ! xGradientTable.is())
- xGradientTable = SvxUnoGradientTable_createInstance( m_pModel );
- xResult = xGradientTable;
- }
- else if( 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( "HatchTable" )))
- {
- if( ! xHatchTable.is())
- xHatchTable = SvxUnoHatchTable_createInstance( m_pModel );
- xResult = xHatchTable;
- }
- else if( 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( "BitmapTable" )))
- {
- if( ! xBitmapTable.is())
- xBitmapTable = SvxUnoBitmapTable_createInstance( m_pModel );
- xResult = xBitmapTable;
- }
- else if( 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( "TransparencyGradientTable" )))
- {
- if( ! xTransparencyGradientTable.is())
- xTransparencyGradientTable = SvxUnoTransGradientTable_createInstance( m_pModel );
- xResult = xTransparencyGradientTable;
- }
- else if( 0 == aPostfix.compareToAscii( RTL_CONSTASCII_STRINGPARAM( "MarkerTable" )))
- {
- if( ! xMarkerTable.is())
- xMarkerTable = SvxUnoMarkerTable_createInstance( m_pModel );
- xResult = xMarkerTable;
- }
- else
- bServiceFound = false;
- }
-
- // 3. XML namespace-map for alien attributes
- if( ! bServiceFound &&
- 0 == aServiceSpecifier.reverseCompareToAsciiL( RTL_CONSTASCII_STRINGPARAM( "com.sun.star.xml.NamespaceMap") ) )
- {
- static sal_uInt16 aWhichIds[] = { SCHATTR_USER_DEFINED_ATTR, 0 };
- xResult = svx::NamespaceMap_createInstance( aWhichIds, &m_pModel->GetPool() );
- bServiceFound = true;
- }
-
- // 4. graphics resolver
- if( ! bServiceFound &&
- 0 == aServiceSpecifier.reverseCompareToAsciiL( RTL_CONSTASCII_STRINGPARAM( "com.sun.star.document.ExportGraphicObjectResolver") ) )
- {
- xResult = static_cast< ::cppu::OWeakObject * >( new SvXMLGraphicHelper( GRAPHICHELPER_MODE_WRITE ));
- bServiceFound = true;
- }
- if( ! bServiceFound &&
- 0 == aServiceSpecifier.reverseCompareToAsciiL( RTL_CONSTASCII_STRINGPARAM( "com.sun.star.document.ImportGraphicObjectResolver") ) )
- {
- xResult = static_cast< ::cppu::OWeakObject * >( new SvXMLGraphicHelper( GRAPHICHELPER_MODE_READ ));
- bServiceFound = true;
- }
-
- // 5. embedded object resolver
- if( ! bServiceFound &&
- ( 0 == aServiceSpecifier.reverseCompareToAsciiL( RTL_CONSTASCII_STRINGPARAM( "com.sun.star.document.ExportEmbeddedObjectResolver" ))
- || 0 == aServiceSpecifier.reverseCompareToAsciiL( RTL_CONSTASCII_STRINGPARAM( "com.sun.star.document.ImportEmbeddedObjectResolver" ))))
- {
- // Charts do not support EmbeddedObjectResolvers, so they return an empty
- // reference, but as the request is well known, no assertion is printed
- bServiceFound = true;
- }
-
- // 6. create a shape
- if( ! bServiceFound )
- {
- // try to get a shape
- try
- {
- xResult = SvxUnoDrawMSFactory::createInstance( aServiceSpecifier );
- bServiceFound = true;
- }
- catch( const uno::Exception& aEx )
- {
- // couldn't create shape
- }
- }
-
- // 7. try to create an AddIn
- if( ! bServiceFound )
- {
- uno::Reference< util::XRefreshable > xAddIn = GetAddInCollection().GetAddInByName( aServiceSpecifier );
- if( xAddIn.is())
- {
- xResult = xAddIn;
- bServiceFound = true;
- }
- }
-
- OSL_ENSURE( bServiceFound,
- ::rtl::OUStringToOString(
- ::rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "createInstance() failed in creating the service " )) +
- aServiceSpecifier,
- RTL_TEXTENCODING_ASCII_US ).getStr() );
-
- return xResult;
-}
-
-uno::Reference< uno::XInterface > SAL_CALL ChXChartDocument::createInstanceWithArguments(
- const ::rtl::OUString& ServiceSpecifier, const uno::Sequence< uno::Any >& Arguments )
- throw( uno::Exception, uno::RuntimeException )
-{
- if( 0 == ServiceSpecifier.compareToAscii( RTL_CONSTASCII_STRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE )))
- {
- if( Arguments.getLength() )
- throw lang::IllegalArgumentException();
- else
- return createInstance( ServiceSpecifier );
- }
-
- return SvxUnoDrawMSFactory::createInstanceWithArguments( ServiceSpecifier, Arguments );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXChartDocument::getAvailableServiceNames()
- throw( uno::RuntimeException )
-{
- ::std::vector< OUString > aServices;
-
- // chart types
- aServices.push_back( OUString(RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_LINE )));
- aServices.push_back( OUString(RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_AREA )));
- aServices.push_back( OUString(RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_BAR )));
- aServices.push_back( OUString(RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_PIE )));
- aServices.push_back( OUString(RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_XY )));
- aServices.push_back( OUString(RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_NET )));
- aServices.push_back( OUString(RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_DONUT )));
- aServices.push_back( OUString(RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_STOCK )));
-
- // style tables (for XML)
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.DashTable" )));
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.GradientTable" )));
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.HatchTable" )));
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.BitmapTable" )));
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.TransparencyGradientTable" )));
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.MarkerTable" )));
-
- // XML namespacemap / object resolver
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.NamespaceMap" )));
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.ExportGraphicObjectResolver" )));
- aServices.push_back( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.ImportGraphicObjectResolver" )));
-
- // shapes
- uno::Sequence< OUString > aDrawServices( SvxUnoDrawMSFactory::getAvailableServiceNames() );
- const OUString * pArr = aDrawServices.getConstArray();
- aServices.insert( aServices.end(), pArr, pArr + aDrawServices.getLength() );
-
- // add-ins
- uno::Sequence< OUString > aAddIns( GetAddInCollection().GetAddInNames() );
- pArr = aAddIns.getConstArray();
- aServices.insert( aServices.end(), pArr, pArr + aAddIns.getLength() );
-
- return uno::Sequence< OUString >( &(* aServices.begin()), aServices.size() );
-}
-
-
-// XPropertySet
-uno::Reference< beans::XPropertySetInfo > SAL_CALL ChXChartDocument::getPropertySetInfo()
- throw( uno::RuntimeException )
-{
- return m_aPropSet.getPropertySetInfo();
-}
-
-void SAL_CALL ChXChartDocument::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue )
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- if( m_pModel )
- {
- const SfxItemPropertyMap* pMap = m_aPropSet.getPropertyMapEntry( aPropertyName );
- if( pMap && pMap->nWID )
- {
- if( pMap->nFlags & beans::PropertyAttribute::READONLY )
- throw beans::PropertyVetoException();
-
- USHORT nWID = pMap->nWID;
-
- switch( nWID )
- {
- case CHATTR_DIAGRAM_START: // dummy id for "HasLegend"
- {
- sal_Bool bVal(sal_False);
- aValue >>= bVal;
- m_pModel->SetShowLegend( bVal );
- m_pModel->SetLegendHasBeenMoved( FALSE );
- m_pModel->BuildChart( FALSE );
- }
- break;
-
- case CHATTR_ADDR_CATEGORIES:
- case CHATTR_ADDR_SERIES:
- case CHATTR_ADDR_CHART:
- case CHATTR_TABLE_NUMBER_LIST:
- case CHATTR_EXPORT_TABLE:
- case CHATTR_FIRST_COL_LABELS:
- case CHATTR_FIRST_ROW_LABELS:
- {
- SchMemChart* pData = m_pModel->GetChartData();
- if( pData )
- {
- switch( nWID )
- {
- case CHATTR_ADDR_CATEGORIES:
- {
- ::rtl::OUString aCatAddr;
- aValue >>= aCatAddr;
- pData->SetCategoriesRangeAddress( aCatAddr );
- }
- break;
- case CHATTR_ADDR_SERIES:
- {
- uno::Sequence< chart::ChartSeriesAddress > aSeriesAddresses;
- aValue >>= aSeriesAddresses;
- pData->SetSeriesAddresses( aSeriesAddresses );
- }
- break;
- case CHATTR_ADDR_CHART:
- {
- ::rtl::OUString aAddr;
- aValue >>= aAddr;
- pData->getChartRangeForXMLString( aAddr );
- }
- break;
- case CHATTR_TABLE_NUMBER_LIST:
- {
- ::rtl::OUString aList;
- aValue >>= aList;
- pData->parseTableNumberList( aList );
- }
- break;
- case CHATTR_EXPORT_TABLE:
- {
- sal_Bool bValueToSet(sal_False);
- aValue >>= bValueToSet;
-
- SchChartRange aRange = pData->GetChartRange();
- if( aRange.mbKeepCopyOfData != bValueToSet )
- {
- aRange.mbKeepCopyOfData = bValueToSet;
- pData->SetChartRange( aRange );
- }
- }
- break;
- case CHATTR_FIRST_COL_LABELS:
- {
- sal_Bool bValueToSet(sal_False);
- aValue >>= bValueToSet;
-
- SchChartRange aRange = pData->GetChartRange();
- if( aRange.mbFirstColumnContainsLabels != bValueToSet )
- {
- aRange.mbFirstColumnContainsLabels = bValueToSet;
- pData->SetChartRange( aRange );
- }
- }
- break;
- case CHATTR_FIRST_ROW_LABELS:
- {
- sal_Bool bValueToSet(sal_False);
- aValue >>= bValueToSet;
-
- SchChartRange aRange = pData->GetChartRange();
- if( aRange.mbFirstRowContainsLabels != bValueToSet )
- {
- aRange.mbFirstRowContainsLabels = bValueToSet;
- pData->SetChartRange( aRange );
- }
- }
- break;
- }
- }
- else
- OSL_FAIL( "invalid SchMemChart" );
- }
- break;
-
- case CHATTR_TRANSLATED_COLS:
- case CHATTR_TRANSLATED_ROWS:
- {
- SchMemChart* pData = m_pModel->GetChartData();
- if( pData )
- {
- uno::Sequence< sal_Int32 > aSeq;
- aValue >>= aSeq;
-
- if( ! SetTransSequence( pData, CHATTR_TRANSLATED_COLS == nWID, aSeq ))
- {
- ::rtl::OUString aMsg(
- RTL_CONSTASCII_STRINGPARAM( "Conflict on setting row-/col translation" ),
- RTL_TEXTENCODING_ASCII_US );
- uno::RuntimeException aExcept( aMsg, static_cast< ::cppu::OWeakObject* >( this ));
- throw aExcept;
- }
- }
- else
- OSL_FAIL( "invalid SchMemChart" );
- }
- break;
-
- default:
- {
- SfxItemSet aSet( m_pModel->GetPool(), nWID, nWID );
- m_pModel->GetAttr( aSet );
-
- if( ! aSet.Count() )
- {
- // get default from ItemPool
- if( m_pModel->GetItemPool().IsWhich( nWID ) )
- {
- aSet.Put( m_pModel->GetItemPool().GetDefaultItem( pMap->nWID ) );
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( aPropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
- if( aSet.Count())
- {
- m_aPropSet.setPropertyValue( pMap, aValue, aSet );
- m_pModel->PutAttr( aSet );
- m_pModel->BuildChart( FALSE );
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- }
- break;
- }
- }
- else if( aPropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "BaseDiagram" ) ))
- {
- aValue >>= maBaseDiagramType;
- setBaseDiagramType( sal_True );
- }
- else if( aPropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "ExportForClipboard" )))
- {
- sal_Bool bBool(sal_False);
- aValue >>= bBool;
- m_pDocShell->SetClipboardExport( bBool );
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- }
- else
- DBG_WARNING( "No Model" );
-}
-
-uno::Any SAL_CALL ChXChartDocument::getPropertyValue( const ::rtl::OUString& aPropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Any aAny;
- if( m_pModel )
- {
- const SfxItemPropertyMap* pMap = m_aPropSet.getPropertyMapEntry( aPropertyName );
- if( pMap && pMap->nWID )
- {
- USHORT nWID = pMap->nWID;
-
- switch( nWID )
- {
- case CHATTR_ADDITIONAL_SHAPES:
- aAny <<= GetAdditionalShapes();
- return aAny; // RETURN
-
- case CHATTR_DIAGRAM_START: // dummy id for "HasLegend"
- {
- SfxItemSet rSet( m_pModel->GetFullLegendAttr() );
- const SfxPoolItem *pPoolItem = NULL;
- SvxChartLegendPos ePos = CHLEGEND_RIGHT;
- if( rSet.GetItemState( SCHATTR_LEGEND_POS, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- {
- ePos = ((const SvxChartLegendPosItem*)pPoolItem)->GetValue();
- }
- aAny <<= sal_Bool( ePos != CHLEGEND_NONE );
- }
- break;
-
- case CHATTR_ADDR_CATEGORIES:
- case CHATTR_ADDR_SERIES:
- case CHATTR_ADDR_CHART:
- case CHATTR_TABLE_NUMBER_LIST:
- case CHATTR_EXPORT_TABLE:
- case CHATTR_FIRST_COL_LABELS:
- case CHATTR_FIRST_ROW_LABELS:
- {
- SchMemChart* pData = m_pModel->GetChartData();
- if( pData )
- {
- switch( nWID )
- {
- case CHATTR_ADDR_CATEGORIES:
- aAny <<= pData->GetCategoriesRangeAddress();
- break;
- case CHATTR_ADDR_SERIES:
- aAny <<= pData->GetSeriesAddresses();
- break;
- case CHATTR_ADDR_CHART:
- aAny <<= pData->getXMLStringForChartRange();
- break;
- case CHATTR_TABLE_NUMBER_LIST:
- aAny <<= pData->createTableNumberList();
- break;
- case CHATTR_EXPORT_TABLE:
- {
- // data table is always exported for standalone charts
- // if container (Calc/Writer) has set the property not
- // to export the data then do so
- DBG_ASSERT( pData, "Invalid MemChart" );
- const SchChartRange& rRange = pData->GetChartRange();
- sal_Bool bResult = rRange.mbKeepCopyOfData;
-
- // if export was set to false it might nontheless be
- // necessary to export data for inserting the chart into
- // a different container from clipboard
- if( !bResult && m_pDocShell )
- aAny <<= m_pDocShell->GetClipboardExport();
-
- aAny <<= bResult;
- }
- break;
- case CHATTR_FIRST_COL_LABELS:
- {
- const SchChartRange& rRange = pData->GetChartRange();
- aAny <<= (sal_Bool)(rRange.mbFirstColumnContainsLabels);
- }
- break;
- case CHATTR_FIRST_ROW_LABELS:
- {
- const SchChartRange& rRange = pData->GetChartRange();
- aAny <<= (sal_Bool)(rRange.mbFirstRowContainsLabels);
- }
- break;
- }
- }
- else
- OSL_FAIL( "invalid SchMemChart" );
- }
- break;
-
- case CHATTR_HAS_TRANSLATED_COLS:
- case CHATTR_HAS_TRANSLATED_ROWS:
- case CHATTR_TRANSLATED_COLS:
- case CHATTR_TRANSLATED_ROWS:
- {
- SchMemChart* pData = m_pModel->GetChartData();
- if( pData )
- {
- long nTranslation = pData->GetTranslation();
- switch( nWID )
- {
- case CHATTR_HAS_TRANSLATED_COLS:
- aAny <<= (sal_Bool)( nTranslation == TRANS_COL );
- break;
- case CHATTR_HAS_TRANSLATED_ROWS:
- aAny <<= (sal_Bool)( nTranslation == TRANS_ROW );
- break;
- case CHATTR_TRANSLATED_COLS:
- case CHATTR_TRANSLATED_ROWS:
- aAny <<= GetTransSequence( pData, (CHATTR_TRANSLATED_COLS == nWID));
- break;
- }
- }
- else
- OSL_FAIL( "invalid SchMemChart" );
- }
- break;
-
- default:
- {
- SfxItemSet aSet( m_pModel->GetPool(), nWID, nWID );
- m_pModel->GetAttr( aSet );
-
- if( ! aSet.Count() )
- {
- // get default from ItemPool
- if( m_pModel->GetItemPool().IsWhich( nWID ) )
- {
- aSet.Put( m_pModel->GetItemPool().GetDefaultItem( pMap->nWID ) );
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( aPropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
- if( aSet.Count() )
- aAny = m_aPropSet.getPropertyValue( pMap, aSet );
- else
- throw beans::UnknownPropertyException();
-
- if( *pMap->pType != aAny.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *pMap->pType == ::getCppuType((const sal_Int16*)0)) && aAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(sal_False);
- aAny >>= nValue;
- aAny <<= static_cast< sal_Int16 >( nValue );
- }
- else
- {
- OSL_FAIL( "getPropertyValue(): wrong Type!" );
- }
- }
- }
- }
- }
- else if( aPropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "BaseDiagram" ) ))
- {
- aAny <<= maBaseDiagramType;
- }
- else if( aPropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "AddIn" ) ))
- {
- if( m_pModel )
- {
- uno::Reference< util::XRefreshable > xAddIn = m_pModel->GetChartAddIn();
- aAny <<= xAddIn;
- }
- }
- else
- throw beans::UnknownPropertyException();
- }
- else
- DBG_WARNING( "No Model" );
-
- return aAny;
-}
-
-void SAL_CALL ChXChartDocument::addPropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartDocument::removePropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartDocument::addVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartDocument::removeVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-// XChartDocument
-
-uno::Reference< drawing::XShape > SAL_CALL ChXChartDocument::getTitle() throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
- if( ! mxMainTitle.is())
- {
- mxMainTitle = new ChartTitle( m_pModel, CHOBJID_TITLE_MAIN );
- uno::Reference<lang::XComponent> xComponent (mxMainTitle, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->addEventListener (this);
- }
-
- return mxMainTitle;
-}
-
-uno::Reference< drawing::XShape > SAL_CALL ChXChartDocument::getSubTitle() throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
- if( ! mxSubTitle.is())
- {
- mxSubTitle = new ChartTitle( m_pModel, CHOBJID_TITLE_SUB );
- uno::Reference<lang::XComponent> xComponent (mxSubTitle, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->addEventListener (this);
- }
-
- return mxSubTitle;
-}
-
-uno::Reference< drawing::XShape > SAL_CALL ChXChartDocument::getLegend() throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
- if( ! mxLegend.is())
- {
- mxLegend = new ChartLegend( m_pModel );
- uno::Reference<lang::XComponent> xComponent (mxLegend, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->addEventListener (this);
- }
-
- return mxLegend;
-}
-
-uno::Reference< beans::XPropertySet > SAL_CALL ChXChartDocument::getArea() throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
- if( ! mxArea.is())
- {
- mxArea = new ChartArea( m_pModel, CHOBJID_DIAGRAM_AREA );
- uno::Reference<lang::XComponent> xComponent (mxArea, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->addEventListener (this);
- }
-
- return mxArea;
-}
-
-uno::Reference< chart::XDiagram > SAL_CALL ChXChartDocument::getDiagram() throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
- if( ! m_rXDiagram.is() )
- {
- m_rXDiagram = new ChXDiagram( m_pDocShell );
- uno::Reference<lang::XComponent> xComponent (m_rXDiagram, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->addEventListener (this);
- }
-
- return m_rXDiagram;
-}
-
-void SAL_CALL ChXChartDocument::setDiagram( const uno::Reference< chart::XDiagram >& _NewDiagram )
- throw( uno::RuntimeException )
-{
- if( _NewDiagram == m_rXDiagram )
- return;
-
- osl::Guard< osl::Mutex > aGuard( GetMutex());
-
- uno::Reference< util::XRefreshable > xAddIn( _NewDiagram, uno::UNO_QUERY );
- if( xAddIn.is())
- {
- // use AddIn
- if( m_pModel )
- {
- SolarMutexGuard aLclGuard;
- m_pModel->SetChartAddIn( xAddIn );
-
- // initialize AddIn with this as chart document
- uno::Reference< lang::XInitialization > xInit( xAddIn, uno::UNO_QUERY );
- if( xInit.is())
- {
- uno::Any aParam;
- uno::Reference< chart::XChartDocument > xDoc( (chart::XChartDocument*)this, uno::UNO_QUERY );
- aParam <<= xDoc;
- uno::Sequence< uno::Any > aSeq( &aParam, 1 );
- xInit->initialize( aSeq );
- }
-
- // remember service name in member ChXDiagram instance
- uno::Reference< lang::XServiceName > xServiceName( xAddIn, uno::UNO_QUERY );
- if( xServiceName.is())
- {
- uno::Reference<lang::XComponent> xComponent (m_rXDiagram,uno::UNO_QUERY);
- if (xComponent.is())
- {
- xComponent->removeEventListener (this);
- xComponent->dispose();
- }
-
- ChXDiagram* pDiagram = new ChXDiagram( m_pDocShell, TRUE );
- pDiagram->SetServiceName( xServiceName->getServiceName() );
- m_rXDiagram = pDiagram;
- xComponent = uno::Reference<lang::XComponent>(m_rXDiagram, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->addEventListener (this);
- }
- }
- else
- {
- OSL_FAIL( "No Model - Couldn't attach AddIn" );
- }
- }
- else
- {
- // the new diagram is only set here
- // when you have an addin the old diagram is kept as
- // 'parent diagram'
-
- // clear addin
- if( m_pModel )
- {
- SolarMutexGuard aLclGuard;
- uno::Reference< util::XRefreshable > xRefreshable;
- m_pModel->SetChartAddIn( xRefreshable );
- }
-
- // invalidate and release old diagram
- if( m_rXDiagram.is())
- {
- uno::Reference<lang::XComponent> xComponent (m_rXDiagram,uno::UNO_QUERY);
- if (xComponent.is())
- {
- xComponent->removeEventListener (this);
- xComponent->dispose();
- }
-
- ChXDiagram* pDiagram = ChXDiagram::getImplementation( m_rXDiagram );
- if( pDiagram )
- pDiagram->SetDocShell( SchChartDocShellRef() );
- }
-
- // set new diagram
- if( _NewDiagram.is() )
- {
- ChXDiagram* pDiagram = ChXDiagram::getImplementation( _NewDiagram );
- if( pDiagram )
- {
- if( m_pDocShell )
- {
- if( pDiagram->SetDocShell( m_pDocShell, sal_True )) // keep model (is copied)
- {
- // update local model
- if( m_pModel )
- {
- SolarMutexGuard aLclGuard;
- m_pModel = m_pDocShell->GetModelPtr();
- }
- }
- else
- {
- // model was invalid
- // so set correct chart type to current model
- setDiagramType( pDiagram->getServiceName());
- }
- }
- }
- uno::Reference<lang::XComponent> xComponent (m_rXDiagram, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->removeEventListener (this);
- m_rXDiagram = _NewDiagram;
- xComponent = uno::Reference<lang::XComponent>(m_rXDiagram, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->addEventListener (this);
- }
- }
-}
-
-uno::Reference< chart::XChartData > SAL_CALL ChXChartDocument::getData() throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
- if( ! m_xChartData.is())
- {
- uno::Reference< lang::XComponent > xComp( SAL_STATIC_CAST( SfxBaseModel*, this ));
- // XChartData is inherited twice
- m_xChartData = SAL_STATIC_CAST( chart::XChartDataArray*,
- new ChXChartDataArray( xComp, m_pModel ));
- }
-
- return m_xChartData;
-}
-
-void SAL_CALL ChXChartDocument::attachData( const uno::Reference< chart::XChartData >& _Data )
- throw( uno::RuntimeException )
-{
- osl::ClearableGuard< osl::Mutex > aGuard( GetMutex());
-
- if( ! _Data.is() )
- return;
-
- if( ! m_xEventListener.is() )
- {
- ChXChartDataChangeEventListener *pEvtListener = new ChXChartDataChangeEventListener;
- if( pEvtListener )
- {
- pEvtListener->Reset(); // Reset not implemented yet
- pEvtListener->SetOwner( this ); // become owner of event listener
- m_xEventListener = pEvtListener; // remember Listener as member
- }
- }
-
- // add listener to XChartDataArray
- uno::Reference< chart::XChartDataArray > xChDataArray( _Data, uno::UNO_QUERY );
-
- if( xChDataArray.is() )
- xChDataArray->addChartDataChangeEventListener( m_xEventListener );
-
- // copy new Data
- m_xChartData = _Data;
- aGuard.clear();
-
- chart::ChartDataChangeEvent aEvent;
-
- aEvent.Type = chart::ChartDataChangeType_ALL;
- aEvent.StartColumn = 0;
- aEvent.EndColumn = 0;
- aEvent.StartRow = 0;
- aEvent.EndRow = 0;
-
- RefreshData( aEvent ); // set initial data
-}
-
-
-// XModel ( ::SfxBaseModel )
-sal_Bool SAL_CALL ChXChartDocument::attachResource( const ::rtl::OUString& aURL,
- const uno::Sequence< beans::PropertyValue >& aArgs )
- throw( uno::RuntimeException )
-{
- return SfxBaseModel::attachResource( aURL, aArgs );
-}
-
-::rtl::OUString SAL_CALL ChXChartDocument::getURL() throw( uno::RuntimeException )
-{
- return SfxBaseModel::getURL();
-}
-
-uno::Sequence< beans::PropertyValue > SAL_CALL ChXChartDocument::getArgs() throw( uno::RuntimeException )
-{
- return SfxBaseModel::getArgs();
-}
-
-void SAL_CALL ChXChartDocument::connectController( const uno::Reference< frame::XController >& xController )
- throw( uno::RuntimeException )
-{
- SfxBaseModel::connectController( xController );
-}
-
-void SAL_CALL ChXChartDocument::disconnectController( const uno::Reference< frame::XController >& xController )
- throw( uno::RuntimeException )
-{
- SfxBaseModel::disconnectController( xController );
-}
-
-uno::Reference< frame::XController > SAL_CALL ChXChartDocument::getCurrentController() throw( uno::RuntimeException )
-{
- return SfxBaseModel::getCurrentController();
-}
-
-void SAL_CALL ChXChartDocument::setCurrentController( const uno::Reference< frame::XController >& xController )
- throw( container::NoSuchElementException, uno::RuntimeException )
-{
- SfxBaseModel::setCurrentController( xController );
-}
-
-uno::Reference< uno::XInterface > SAL_CALL ChXChartDocument::getCurrentSelection() throw( uno::RuntimeException )
-{
- return SfxBaseModel::getCurrentSelection();
-}
-
-void SAL_CALL ChXChartDocument::lockControllers() throw( uno::RuntimeException )
-{
- if( m_pModel )
- {
- SolarMutexGuard aGuard;
- m_pModel->LockBuild();
- }
- else
- throw uno::RuntimeException();
-}
-
-void SAL_CALL ChXChartDocument::unlockControllers() throw( uno::RuntimeException )
-{
- if( m_pModel )
- {
- SolarMutexGuard aGuard;
- m_pModel->UnlockBuild();
- }
- else
- throw uno::RuntimeException();
-}
-
-sal_Bool SAL_CALL ChXChartDocument::hasControllersLocked() throw( uno::RuntimeException )
-{
- if( m_pModel )
- {
- SolarMutexGuard aGuard;
- return m_pModel->IsLockedBuild();
- }
- else
- return sal_False;
-}
-
-// XTypeProvider ( ::SfxBaseModel )
-uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL ChXChartDocument::getTypes()
- throw( uno::RuntimeException )
-{
- if( maTypeSequence.getLength() == 0 )
- {
- osl::Guard< osl::Mutex > aGuard( GetMutex());
-
- const uno::Sequence< uno::Type > aBaseTypes( SfxBaseModel::getTypes() );
- const sal_Int32 nBaseTypes = aBaseTypes.getLength();
- const uno::Type* pBaseTypes = aBaseTypes.getConstArray();
-
- maTypeSequence.realloc( nBaseTypes + 7 ); // Note: Keep the size updated !!
- uno::Type* pTypes = maTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType((const uno::Reference< lang::XMultiServiceFactory >*)0);
- *pTypes++ = ::getCppuType((const uno::Reference< beans::XPropertySet >*)0);
- *pTypes++ = ::getCppuType((const uno::Reference< chart::XChartDocument >*)0);
- *pTypes++ = ::getCppuType((const uno::Reference< lang::XServiceInfo >*)0);
- *pTypes++ = ::getCppuType((const uno::Reference< util::XNumberFormatsSupplier >*)0);
- *pTypes++ = ::getCppuType((const uno::Reference< drawing::XDrawPageSupplier >*)0);
- *pTypes++ = ::getCppuType((const uno::Reference< lang::XUnoTunnel >*)0);
-
- for( sal_Int32 nType = 0; nType < nBaseTypes; nType++ )
- *pTypes++ = *pBaseTypes++;
- }
-
- return maTypeSequence;
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL ChXChartDocument::getImplementationId()
- throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-
-
-
-// XComponent ( ::XModel ::SfxModel )
-void SAL_CALL ChXChartDocument::dispose() throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
-
- uno::Reference<lang::XComponent> xComponent;
- if (mxMainTitle.is())
- {
- xComponent = uno::Reference<lang::XComponent>(mxMainTitle,uno::UNO_QUERY);
- if (xComponent.is())
- {
- xComponent->removeEventListener (this);
- xComponent->dispose ();
- mxMainTitle = NULL;
- }
- }
- if (mxSubTitle.is())
- {
- xComponent = uno::Reference<lang::XComponent>(mxSubTitle,uno::UNO_QUERY);
- if (xComponent.is())
- {
- xComponent->removeEventListener (this);
- xComponent->dispose ();
- mxSubTitle = NULL;
- }
- }
- if (mxLegend.is())
- {
- xComponent = uno::Reference<lang::XComponent>(mxLegend,uno::UNO_QUERY);
- if (xComponent.is())
- {
- xComponent->removeEventListener (this);
- xComponent->dispose ();
- mxLegend = NULL;
- }
- }
- if (mxArea.is())
- {
- xComponent = uno::Reference<lang::XComponent>(mxArea,uno::UNO_QUERY);
- if (xComponent.is())
- {
- xComponent->removeEventListener (this);
- xComponent->dispose ();
- mxArea = NULL;
- }
- }
-
- if( m_rXDiagram.is())
- {
- ChXDiagram* pDiagram = ChXDiagram::getImplementation( m_rXDiagram );
- if( pDiagram )
- pDiagram->SetDocShell( NULL );
- xComponent = uno::Reference<lang::XComponent>(m_rXDiagram,uno::UNO_QUERY);
- if (xComponent.is())
- {
- xComponent->removeEventListener (this);
- xComponent->dispose();
- m_rXDiagram = NULL;
- }
- }
- m_pModel = NULL;
-
- SfxBaseModel::dispose();
-}
-
-
-
-
-void SAL_CALL ChXChartDocument::addEventListener( const uno::Reference< lang::XEventListener >& xListener )
- throw( uno::RuntimeException )
-{
- SfxBaseModel::addEventListener( xListener );
-}
-
-void SAL_CALL ChXChartDocument::removeEventListener( const uno::Reference< lang::XEventListener >& aListener )
- throw( uno::RuntimeException )
-{
- SfxBaseModel::removeEventListener( aListener );
-}
-
-// XNumberFormatsSupplier
-void ChXChartDocument::InitNumberFormatter() throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
- if( ! mrNumberFormatter.is())
- {
- if( m_pModel )
- {
- SolarMutexGuard aLclGuard;
- mrNumberFormatter = new SvNumberFormatsSupplierObj( m_pModel->GetNumFormatter() );
- }
- else
- mrNumberFormatter = new SvNumberFormatsSupplierObj();
- }
-
- if( ! mrNumberFormatter.is())
- throw uno::RuntimeException();
-}
-
-uno::Reference< beans::XPropertySet > SAL_CALL ChXChartDocument::getNumberFormatSettings() throw( uno::RuntimeException )
-{
- if( ! mrNumberFormatter.is())
- InitNumberFormatter();
-
- return mrNumberFormatter.get()->getNumberFormatSettings();
-}
-
-uno::Reference< util::XNumberFormats > SAL_CALL ChXChartDocument::getNumberFormats() throw( uno::RuntimeException )
-{
- if( ! mrNumberFormatter.is())
- InitNumberFormatter();
-
- return mrNumberFormatter.get()->getNumberFormats();
-}
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChXChartDocument::getImplementationName()
- throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "ChXChartDocument" );
-}
-
-sal_Bool SAL_CALL ChXChartDocument::supportsService( const ::rtl::OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- return SvxServiceInfoHelper::supportsService( ServiceName, getSupportedServiceNames() );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXChartDocument::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- uno::Sequence< ::rtl::OUString > aSeq( 4 );
- ::rtl::OUString* pStr = aSeq.getArray();
- pStr[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.OfficeDocument" ));
- pStr[ 1 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartDocument" ));
- pStr[ 2 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartTableAddressSupplier" ));
- pStr[ 3 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.UserDefinedAttributeSupplier" ));
-
- return aSeq;
-}
-
-// XDrawPageSupplier
-uno::Reference< drawing::XDrawPage > SAL_CALL ChXChartDocument::getDrawPage()
- throw( uno::RuntimeException )
-{
- osl::Guard< osl::Mutex > aGuard( GetMutex());
-
- if( ! mrDrawPage.is() && m_pModel )
- {
- mrDrawPage = new ChXChartDrawPage( m_pModel );
- uno::WeakReference< uno::XInterface > xPage( mrDrawPage );
- // set page wrapper (member can be used as this class is declared as friend)
- m_pModel->GetPage( 0 )->mxUnoPage = xPage;
- }
-
- return mrDrawPage;
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChXChartDocument::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
-
- // in XML the implementation of the XNumberFormatsSupplier (SvNumberFormatsSupplierObj) is queried
- // so return this member here
-
- if( ! mrNumberFormatter.is())
- InitNumberFormatter();
-
- uno::Reference< lang::XUnoTunnel > xUnoTunnel( mrNumberFormatter, uno::UNO_QUERY );
- if( xUnoTunnel.is())
- return xUnoTunnel->getSomething( aIdentifier );
-
- return 0;
-}
-
-
-
-// XEeventListener
-//virtual
-void SAL_CALL ChXChartDocument::disposing (const lang::EventObject & Source)
- throw (uno::RuntimeException)
-{
- sal_Bool bChangeProperty = sal_False;
- ::rtl::OUString aProperty;
-
- if (Source.Source == m_rXDiagram)
- m_rXDiagram = NULL;
- else if (Source.Source == mxMainTitle)
- {
- mxMainTitle = NULL;
- aProperty = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( UNONAME_TITLE_SHOW_MAIN ));
- bChangeProperty = sal_True;
- }
- else if (Source.Source == mxSubTitle)
- {
- mxSubTitle = NULL;
- aProperty = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( UNONAME_TITLE_SHOW_SUB ));
- bChangeProperty = sal_True;
- }
- else if (Source.Source == mxLegend)
- {
- mxLegend = NULL;
- aProperty = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( UNONAME_HASLEGEND ));
- bChangeProperty = sal_True;
- }
- else if (Source.Source == mxArea)
- {
- mxArea = NULL;
- }
-
- if ( ! bChangeProperty)
- return;
-
- // Inform the document shell of the disposing of Source.Source.
- SolarMutexGuard aGuard;
-
- SchChartDocShell* pDocSh = (SchChartDocShell*)GetObjectShell();
- if (pDocSh == NULL)
- return;
- uno::Reference< beans::XPropertySet > xDocProp( pDocSh->GetBaseModel(), uno::UNO_QUERY );
- if( xDocProp.is())
- {
- uno::Any aFalseBool;
- aFalseBool <<= (sal_Bool)(sal_False);
- try
- {
- xDocProp->setPropertyValue( aProperty, aFalseBool );
- }
- catch( beans::UnknownPropertyException )
- {
- DBG_WARNING( "cannot set property to false" );
- }
- }
-
- SfxBaseModel::disposing( Source );
-}
-
-// get additional non-chart shapes for XML export
-uno::Reference< drawing::XShapes > ChXChartDocument::GetAdditionalShapes()
-{
- uno::Reference< drawing::XShapes > xFoundShapes;
-
- if( m_pModel == NULL )
- return xFoundShapes;
-
- // iterate 'flat' over all top-level objects
- // and determine all that are no chart objects
- // i.e. which have no SchObjectId set as user data
- ::std::vector< uno::Reference< drawing::XShape > > aShapeVector;
- SdrObjListIter aIter( *(m_pModel->GetPage( 0 )), IM_FLAT );
- SdrObject* pObj;
- while( aIter.IsMore())
- {
- pObj = aIter.Next();
-
- if( GetObjectId( *pObj ) != NULL )
- continue;
-
- // we have no chart user data, i.e. a non-chart object
-
- // check if chart is inventor. This has to be changed for XML exportability
- if( pObj->GetObjInventor() == SchInventor &&
- pObj->ISA( SchObjGroup ))
- {
- static_cast< SchObjGroup* >( pObj )->SetUseChartInventor( false );
- }
-
- uno::Reference< drawing::XShape > xShape( pObj->getUnoShape(), uno::UNO_QUERY );
- if( xShape.is() )
- aShapeVector.push_back( xShape );
- }
- if( ! aShapeVector.empty())
- {
- // create a shape collection
- xFoundShapes = uno::Reference< drawing::XShapes >( SvxShapeCollection_NewInstance(), uno::UNO_QUERY );
-
- DBG_ASSERT( xFoundShapes.is(), "Couldn't create a shape collection!" );
- if( xFoundShapes.is())
- {
- ::std::vector< uno::Reference< drawing::XShape > >::iterator aLclIter;
- for( aLclIter = aShapeVector.begin(); aLclIter != aShapeVector.end(); ++aLclIter )
- xFoundShapes->add( *aLclIter );
- }
- }
-
- return xFoundShapes;
-}
-
-uno::Sequence< sal_Int32 > ChXChartDocument::GetTransSequence( SchMemChart* pData, bool bColumns )
-{
- uno::Sequence< sal_Int32 > aResult;
-
- if( pData )
- {
- long nTranslation = pData->GetTranslation();
-
- if( bColumns )
- {
- short nColCount = pData->GetColCount();
- aResult.realloc( nColCount );
- sal_Int32* pSeq = aResult.getArray();
- const sal_Int32* pTransArray = pData->GetColTranslation();
- sal_Int32 i;
-
- if( nTranslation == TRANS_COL &&
- pTransArray != NULL )
- {
- for( i = 0; i < nColCount; ++i )
- pSeq[ i ] = pTransArray[ i ];
- }
- else
- {
- // identity sequence
- for( i = 0; i < nColCount; ++i )
- pSeq[ i ] = i;
- }
- }
- else // rows
- {
- short nRowCount = pData->GetRowCount();
- aResult.realloc( nRowCount );
- sal_Int32* pSeq = aResult.getArray();
- const sal_Int32* pTransArray = pData->GetRowTranslation();
- sal_Int32 i;
-
- if( nTranslation == TRANS_ROW &&
- pTransArray != NULL )
- {
- for( i = 0; i < nRowCount; ++i )
- pSeq[ i ] = pTransArray[ i ];
- }
- else
- {
- // identity sequence
- for( i = 0; i < nRowCount; ++i )
- pSeq[ i ] = i;
- }
- }
- }
- else
- {
- OSL_FAIL( "Invalid MemChart" );
- }
-
- return aResult;
-}
-
-bool ChXChartDocument::SetTransSequence( SchMemChart* pData, bool bColumns, const uno::Sequence< sal_Int32 >& rSeq )
-{
- bool bResult = false;
-
- if( pData )
- {
- long nTranslation = pData->GetTranslation();
-
- if( bColumns )
- {
- if( nTranslation != TRANS_ROW &&
- pData->GetColCount() == rSeq.getLength() )
- {
- pData->SetTranslation( TRANS_COL );
- pData->SetColTranslation( rSeq.getConstArray());
- bResult = true;
- }
- }
- else // rows
- {
- if( nTranslation != TRANS_COL &&
- pData->GetRowCount() == rSeq.getLength() )
- {
- pData->SetTranslation( TRANS_ROW );
- pData->SetRowTranslation( rSeq.getConstArray());
- bResult = true;
- }
- }
-
- }
- else
- {
- OSL_FAIL( "Invalid MemChart" );
- }
-
- return bResult;
-}
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDrawPage.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDrawPage.cxx
deleted file mode 100644
index fa78e1db5..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartDrawPage.cxx
+++ /dev/null
@@ -1,252 +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.
- *
- ************************************************************************/
-#include "ChXChartDrawPage.hxx"
-#include "chtmodel.hxx"
-
-// header for class OGuard
-// header for class Application
-#include <vcl/svapp.hxx>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <rtl/uuid.h>
-namespace binfilter {
-
-
-using namespace ::com::sun::star;
-
-#define CHART_DRAW_PAGE_WIDTH_ID 1
-#define CHART_DRAW_PAGE_HEIGHT_ID 2
-
-const SfxItemPropertyMap* ImplGetChartDrawPageMap()
-{
- // Propertymap fuer einen Outliner Text
- static const SfxItemPropertyMap aChartDrawPage[] =
- {
- { MAP_CHAR_LEN( "Width" ), CHART_DRAW_PAGE_WIDTH_ID, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { MAP_CHAR_LEN( "Height" ), CHART_DRAW_PAGE_HEIGHT_ID, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { 0,0,0,0,0,0 }
- };
-
- return aChartDrawPage;
-}
-
-ChXChartDrawPage::ChXChartDrawPage( ChartModel* pInModel ) :
- SvxDrawPage( pInModel? pInModel->GetPage( 0 ): NULL ),
- mpModel( pInModel ),
- maPropSet( ImplGetChartDrawPageMap() )
-{
- DBG_ASSERT( pInModel != NULL, "ChXChartDrawPage: Invalid model (=> invalid page)" );
-}
-
-ChXChartDrawPage::~ChXChartDrawPage() throw()
-{}
-
-
-// XInterface
-uno::Any SAL_CALL ChXChartDrawPage::queryInterface( const uno::Type & rType )
- throw( uno::RuntimeException )
-{
- uno::Any aAny = SvxDrawPage::queryInterface( rType );
- if( aAny.hasValue() )
- return aAny;
-
- return ::cppu::queryInterface(
- rType,
- ( beans::XPropertySet* )this );
-}
-
-void SAL_CALL ChXChartDrawPage::acquire() throw()
-{
- SvxDrawPage::acquire();
-}
-
-void SAL_CALL ChXChartDrawPage::release() throw()
-{
- SvxDrawPage::release();
-}
-
-// XTypeProvider
-uno::Sequence< uno::Type > SAL_CALL ChXChartDrawPage::getTypes() throw( uno::RuntimeException )
-{
- if( maTypeSequence.getLength() == 0 )
- {
- const uno::Sequence< uno::Type > aBaseTypes( SvxDrawPage::getTypes() );
- const sal_Int32 nBaseTypes = aBaseTypes.getLength();
- const uno::Type* pBaseTypes = aBaseTypes.getConstArray();
-
- maTypeSequence.realloc( nBaseTypes + 1 ); // Note: Keep the size updated !!
- uno::Type* pTypes = maTypeSequence.getArray();
-
- *pTypes++ = ::getCppuType((const uno::Reference< beans::XPropertySet >*)0);
-
- for( sal_Int32 nType = 0; nType < nBaseTypes; nType++ )
- *pTypes++ = *pBaseTypes++;
- }
-
- return maTypeSequence;
-}
-
-uno::Sequence< sal_Int8 > SAL_CALL ChXChartDrawPage::getImplementationId() throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-// XPropertySet
-uno::Reference< beans::XPropertySetInfo > SAL_CALL ChXChartDrawPage::getPropertySetInfo()
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- return maPropSet.getPropertySetInfo();
-}
-
-void SAL_CALL ChXChartDrawPage::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue )
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
- if( mpModel &&
- pMap && pMap->nWID )
- {
- if( pMap->nFlags & beans::PropertyAttribute::READONLY )
- throw beans::PropertyVetoException();
-
- switch( pMap->nWID )
- {
- case CHART_DRAW_PAGE_WIDTH_ID:
- {
- const SdrPage* pLclPage = mpModel->GetPage( 0 );
- if( pLclPage )
- {
- sal_Int32 nWidth(0);
- aValue >>= nWidth;
- Size aSize = pLclPage->GetSize();
- aSize.setWidth( nWidth );
-
- mpModel->ResizePage( aSize );
- }
- }
- break;
- case CHART_DRAW_PAGE_HEIGHT_ID:
- {
- const SdrPage* pLclPage = mpModel->GetPage( 0 );
- if( pLclPage )
- {
- sal_Int32 nHeight(0);
- aValue >>= nHeight;
- Size aSize = pLclPage->GetSize();
- aSize.setHeight( nHeight );
-
- mpModel->ResizePage( aSize );
- }
- }
- break;
- }
- }
-}
-
-uno::Any SAL_CALL ChXChartDrawPage::getPropertyValue( const ::rtl::OUString& aPropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Any aResult;
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( mpModel &&
- pMap && pMap->nWID )
- {
- switch( pMap->nWID )
- {
- case CHART_DRAW_PAGE_WIDTH_ID:
- {
- const SdrPage* pLclPage = mpModel->GetPage( 0 );
- if( pLclPage )
- {
- Size aSize = pLclPage->GetSize();
- aResult <<= aSize.getWidth();
- }
- }
- break;
- case CHART_DRAW_PAGE_HEIGHT_ID:
- {
- const SdrPage* pLclPage = mpModel->GetPage( 0 );
- if( pLclPage )
- {
- Size aSize = pLclPage->GetSize();
- aResult <<= aSize.getHeight();
- }
- }
- break;
- }
- }
- return aResult;
-}
-
-void SAL_CALL ChXChartDrawPage::addPropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartDrawPage::removePropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartDrawPage::addVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartDrawPage::removeVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartObject.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartObject.cxx
deleted file mode 100644
index c535b2d8b..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXChartObject.cxx
+++ /dev/null
@@ -1,1392 +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.
- *
- ************************************************************************/
-
-#include "ChXChartObject.hxx"
-#include "schattr.hxx"
-
-// header for class OGuard
-// header for class Application
-#include <vcl/svapp.hxx>
-
-// header for SvxUnoTextRangeBase
-// for OWN_ATTR_...
-#include <bf_svx/unoshprp.hxx>
-// for SID_ATTR_...
-#include <bf_svx/svxids.hrc>
-#include <bf_svx/unoshape.hxx>
-
-#include <rtl/uuid.h>
-#include <rtl/memory.h>
-
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_DOUBLE 0
-#define ITEMID_CHARTTEXTORDER SCHATTR_TEXT_ORDER
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-#define ITEMID_CHARTLEGENDPOS SCHATTR_LEGEND_POS
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-#include <bf_svx/xflbstit.hxx>
-#include <bf_svx/xflbmtit.hxx>
-
-#include "app.hrc" // for SID_TEXTBREAK
-
-#include "mapprov.hxx"
-#include "globfunc.hxx" // for GlobalGenerate3DAttrDefaultItem
-
-#include <com/sun/star/chart/ChartLegendPosition.hpp>
-
-// header for any2enum
-#include <comphelper/extract.hxx>
-
-#include <memory>
-#include "unonames.hxx"
-namespace binfilter {
-
-
-extern SchUnoPropertyMapProvider aSchMapProvider;
-
-using namespace ::com::sun::star;
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-
-ChXChartObject::ChXChartObject( long _MapId, ChartModel* _Model, long _WhichId, long _Index ) :
- maPropSet( aSchMapProvider.GetMap( (short)_MapId, _Model )),
- mpModel( _Model ),
- mnWhichId( _WhichId? _WhichId: CHOBJID_ANY ),
- mnIndex( _Index ),
- maListenerList (maMutex)
-{}
-
-ChXChartObject::~ChXChartObject()
-{}
-
-long ChXChartObject::GetId() const
-{
- return mnWhichId;
-}
-
-// XShape
-
-// the following 'Hack' methods are copied from bf_svx/unodraw/unoshape.cxx
-// they are needed as long as the drawing layer requires this
-
-sal_Bool needLogicRectHack( SdrObject* pObj )
-{
- if( pObj->GetObjInventor() == SdrInventor)
- {
- switch(pObj->GetObjIdentifier())
- {
- case OBJ_GRUP:
- case OBJ_LINE:
- case OBJ_POLY:
- case OBJ_PLIN:
- case OBJ_PATHLINE:
- case OBJ_PATHFILL:
- case OBJ_FREELINE:
- case OBJ_FREEFILL:
- case OBJ_SPLNLINE:
- case OBJ_SPLNFILL:
- case OBJ_EDGE:
- case OBJ_PATHPOLY:
- case OBJ_PATHPLIN:
- case OBJ_MEASURE:
- return sal_True;
- }
- }
- return sal_False;
-}
-
-Rectangle getLogicRectHack( SdrObject* pObj )
-{
- if(needLogicRectHack(pObj))
- {
- return pObj->GetSnapRect();
- }
- else
- {
- return pObj->GetLogicRect();
- }
-}
-
-void setLogicRectHack( SdrObject* pObj, const Rectangle& rRect )
-{
- if(needLogicRectHack(pObj))
- {
- pObj->SetSnapRect( rRect );
- }
- else
- {
- pObj->SetLogicRect( rRect );
- }
-}
-
-SdrObject* ChXChartObject::GetCurrentSdrObject() const
-{
- SolarMutexGuard aGuard;
-
- SdrObject* pResult = NULL;
- if( mpModel )
- pResult = mpModel->GetObjectWithId( mnWhichId );
-
- // use first subobject for axes
- if( pResult &&
- pResult->ISA( SdrObjGroup ) &&
- ( mnWhichId == CHOBJID_DIAGRAM_X_AXIS ||
- mnWhichId == CHOBJID_DIAGRAM_Y_AXIS ||
- mnWhichId == CHOBJID_DIAGRAM_Z_AXIS ||
- mnWhichId == CHOBJID_DIAGRAM_A_AXIS ||
- mnWhichId == CHOBJID_DIAGRAM_B_AXIS ))
- {
- pResult = pResult->GetSubList()->GetObj( 0 );
- }
-
- return pResult;
-}
-
-// XShape interface methods
-awt::Point SAL_CALL ChXChartObject::getPosition() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- SdrObject* pObj = GetCurrentSdrObject();
- if( pObj )
- {
- Rectangle aRect( getLogicRectHack( pObj ));
- Point aPt( aRect.Left(), aRect.Top() );
-
- // Position is relative to anchor - calculate absoulte position
- aPt -= pObj->GetAnchorPos();
-
- return awt::Point( aPt.X(), aPt.Y() );
- }
- else
- OSL_FAIL( "Couldn't get position due to invalid SdrObject" );
-
- return awt::Point();
-}
-
-void SAL_CALL ChXChartObject::setPosition( const awt::Point& aPosition ) throw( uno::RuntimeException )
-{
- switch( mnWhichId )
- {
- // the following objects can not be positioned
- case CHOBJID_DIAGRAM_X_AXIS:
- case CHOBJID_DIAGRAM_Y_AXIS:
- case CHOBJID_DIAGRAM_Z_AXIS:
- case CHOBJID_DIAGRAM_AREA:
- case CHOBJID_DIAGRAM_WALL:
- OSL_FAIL( "Cannot set position of this object" );
- return;
- }
-
- SolarMutexGuard aGuard;
-
- SdrObject* pObj = GetCurrentSdrObject();
- if( pObj )
- {
- Rectangle aRect( getLogicRectHack( pObj ) );
- Point aLocalPos( aPosition.X, aPosition.Y );
-
- // Position is absolute - position relative to anchor is required
- aLocalPos -= pObj->GetAnchorPos();
-
- long nDX = aLocalPos.X() - aRect.Left();
- long nDY = aLocalPos.Y() - aRect.Top();
-
- if( nDX != 0 || nDY != 0 )
- {
- pObj->Move( Size( nDX, nDY ) );
- if( mpModel )
- {
- mpModel->SetChanged();
-
- mpModel->SetUseRelativePositions( TRUE );
- mpModel->SetHasBeenMoved( mnWhichId );
- }
- }
- }
- else
- OSL_FAIL( "Couldn't set position due to invalid SdrObject" );
-}
-
-awt::Size SAL_CALL ChXChartObject::getSize() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- SdrObject* pObj = GetCurrentSdrObject();
- if( pObj )
- {
- Rectangle aRect( getLogicRectHack( pObj ));
- Size aObjSize( aRect.GetWidth(), aRect.GetHeight() );
- return awt::Size( aObjSize.getWidth(), aObjSize.getHeight() );
- }
- else
- OSL_FAIL( "Couldn't get size due to invalid SdrObject" );
-
- return awt::Size();
-}
-
-void SAL_CALL ChXChartObject::setSize( const awt::Size& /*aSize*/ )
- throw( beans::PropertyVetoException, uno::RuntimeException )
-{
- // set size is not supported by any chart object except
- // the diagram which is covered by ChXDiagram
-
- OSL_FAIL( "Size of chart objects cannot be changed" );
-}
-
-// XPropertySet
-uno::Reference< beans::XPropertySetInfo > SAL_CALL ChXChartObject::getPropertySetInfo() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- return maPropSet.getPropertySetInfo();
-}
-
-void SAL_CALL ChXChartObject::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue )
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- if( mpModel && mnWhichId != CHOBJID_ANY )
- {
- if( aPropertyName.compareToAscii( UNONAME_TEXT_STRING ) == 0 )
- {
- ::rtl::OUString aStr;
- aValue >>= aStr;
- mpModel->SetTitle( mnWhichId, aStr );
- mpModel->BuildChart( FALSE );
- return;
- }
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( pMap && pMap->nWID )
- {
- if( pMap->nFlags & beans::PropertyAttribute::READONLY )
- throw beans::PropertyVetoException();
-
- USHORT nWID = pMap->nWID;
-
- // create itemset capable of holding necessary items
- SfxItemSet* pSet = NULL;
- switch( nWID )
- {
- case OWN_ATTR_FILLBMP_MODE:
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
- break;
-
- default:
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID );
- break;
- }
-
- // special handling
- switch( nWID )
- {
- case SCHATTR_LEGEND_POS:
- if( mnWhichId == CHOBJID_LEGEND )
- {
- chart::ChartLegendPosition ePos;
- cppu::any2enum< chart::ChartLegendPosition >( ePos, aValue );
- //ToDo: NONE shouldn't be used to disable the legend. There should be a way
- // to set the position to 'unanchored' plus a flag for
- // 'vertically|horizontally' extending
- mpModel->SetShowLegend( ePos != chart::ChartLegendPosition_NONE );
- mpModel->SetLegendHasBeenMoved( FALSE );
- // note: SetShowLegend sets pos to CHLEGEND_RIGHT
- pSet->Put( SvxChartLegendPosItem(
- SAL_STATIC_CAST( SvxChartLegendPos, SAL_STATIC_CAST( int, ePos ))));
- }
- break;
-
- case SCHATTR_TEXT_ORIENT:
- {
- sal_Bool bVal = sal_False;
- if( aValue >>= bVal )
- {
- pSet->Put( SvxChartTextOrientItem(
- bVal
- ? CHTXTORIENT_STACKED
- : CHTXTORIENT_AUTOMATIC ));
- }
- }
- break;
-
- case OWN_ATTR_FILLBMP_MODE:
- do
- {
- drawing::BitmapMode eMode;
- if(!(aValue >>= eMode) )
- {
- sal_Int32 nMode = 0;
- if(!(aValue >>= nMode))
- break;
-
- eMode = (drawing::BitmapMode)nMode;
- }
- pSet->Put( XFillBmpStretchItem( eMode == drawing::BitmapMode_STRETCH ) );
- pSet->Put( XFillBmpTileItem( eMode == drawing::BitmapMode_REPEAT ) );
- }
- while(0);
- break;
-
- case XATTR_FILLBITMAP:
- case XATTR_FILLGRADIENT:
- case XATTR_FILLHATCH:
- case XATTR_FILLFLOATTRANSPARENCE:
- case XATTR_LINEEND:
- case XATTR_LINESTART:
- case XATTR_LINEDASH:
- if( pMap->nMemberId == MID_NAME )
- {
- ::rtl::OUString aStr;
- if( aValue >>= aStr )
- SvxShape::SetFillAttribute( nWID, aStr, *pSet, mpModel );
- break;
- }
- // note: this fall-through is intended
-
- default:
- // some item is required for cloning
- mpModel->GetAttr( mnWhichId, *pSet, mnIndex );
-
- if( ! pSet->Count() &&
- mpModel->GetItemPool().IsWhich( nWID ) &&
- ! (( OWN_ATTR_VALUE_START <= nWID ) && ( nWID <= OWN_ATTR_VALUE_END )))
- {
- pSet->Put( mpModel->GetItemPool().GetDefaultItem( nWID ));
- }
-
- // CL: convert special character properties
- if( ! SvxUnoTextRangeBase::SetPropertyValueHelper( *pSet, pMap, aValue, *pSet ))
- {
- // standard mapping of any to item
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- }
- break;
- }
-
- if( pSet->Count() )
- mpModel->ChangeAttr( *pSet, mnWhichId, mnIndex );
-
- delete pSet;
- }
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
-}
-
-uno::Any SAL_CALL ChXChartObject::getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Any aResultaAny;
- sal_Bool bPropertyUnknown = sal_False;
-
- if( mpModel && mnWhichId != CHOBJID_ANY )
- {
- // titles
- if( PropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( UNONAME_TEXT_STRING )))
- {
- aResultaAny <<= ::rtl::OUString( mpModel->GetTitle( mnWhichId ));
- return aResultaAny;
- }
-
- // legend alignment
- if( mnWhichId == CHOBJID_LEGEND &&
- PropertyName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( UNONAME_CHARTLEGENDALIGN )))
- {
- SfxItemSet rSet = mpModel->GetLegendAttr();
- const SfxPoolItem *pPoolItem = NULL;
- SvxChartLegendPos ePos =
- rSet.GetItemState( SCHATTR_LEGEND_POS,TRUE, &pPoolItem) == SFX_ITEM_SET
- ? ((const SvxChartLegendPosItem*)pPoolItem)->GetValue()
- : CHLEGEND_RIGHT;
- chart::ChartLegendPosition ePosition = (chart::ChartLegendPosition)ePos;
- aResultaAny <<= ePosition;
- return aResultaAny;
- }
-
- // properties using map
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
- if( pMap && pMap->nWID )
- {
- USHORT nWID = pMap->nWID;
-
- if( nWID == OWN_ATTR_FILLBMP_MODE )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
-
- // get 'full attributes', ie some members are copied to the set
- mpModel->GetAttr( mnWhichId, aSet, mnIndex );
-
- XFillBmpStretchItem* pStretchItem = (XFillBmpStretchItem*)&aSet.Get( XATTR_FILLBMP_STRETCH );
- XFillBmpTileItem* pTileItem = (XFillBmpTileItem*)&aSet.Get( XATTR_FILLBMP_TILE );
-
- if( pTileItem && pTileItem->GetValue() )
- {
- aResultaAny <<= drawing::BitmapMode_REPEAT;
- }
- else if( pStretchItem && pStretchItem->GetValue() )
- {
- aResultaAny <<= drawing::BitmapMode_STRETCH;
- }
- else
- {
- aResultaAny <<= drawing::BitmapMode_NO_REPEAT;
- }
- return aResultaAny;
- }
-
- std::auto_ptr<SfxItemSet> aSet;
- switch (nWID)
- {
- case SCHATTR_TEXT_DEGREES:
- // Needing the text orientation for adapting
- // CHTXTORIENT_AUTOMATIC to corresponging degrees.
- aSet = std::auto_ptr<SfxItemSet> (new SfxItemSet (mpModel->GetItemPool(),
- nWID, nWID,
- SCHATTR_TEXT_ORIENT,SCHATTR_TEXT_ORIENT,
- 0));
- break;
-
- default:
- // Just interested in the single item.
- aSet = std::auto_ptr<SfxItemSet> (new SfxItemSet (mpModel->GetItemPool(),
- nWID, nWID));
- }
-
- // get 'full attributes', ie some members are copied to the set
- mpModel->GetAttr( mnWhichId, *aSet, mnIndex );
-
- if( SvxUnoTextRangeBase::GetPropertyValueHelper( *aSet, pMap, aResultaAny ))
- return aResultaAny;
-
- // item is not set => use default
- if( !aSet->Count() )
- {
- // get default value from pool
- if( mpModel->GetItemPool().IsWhich( nWID ) )
- {
- if( ! ( OWN_ATTR_VALUE_START <= nWID && nWID <= OWN_ATTR_VALUE_END )) // 'private' properties from SvxShape
- {
- aSet->Put( mpModel->GetItemPool().GetDefaultItem( nWID ) );
- }
- }
- else if( nWID == SID_TEXTBREAK )
- {
- aSet->Put( SfxBoolItem( SID_TEXTBREAK,
- ( mnWhichId == CHOBJID_DIAGRAM_X_AXIS ||
- mnWhichId == CHOBJID_DIAGRAM_A_AXIS )));
- }
- else if( nWID == SID_ATTR_NUMBERFORMAT_SOURCE )
- {
- aSet->Put( SfxBoolItem( SID_ATTR_NUMBERFORMAT_SOURCE, TRUE ));
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( PropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
-
- // item or default has been set
- if( aSet->Count() )
- {
- // Special case: Axis title rotation angle.
- if (nWID == SCHATTR_TEXT_DEGREES)
- {
- // Automatic text orientation is changed into corresponding
- // rotation angle.
- SvxChartTextOrient eOrientation =
- ((const SvxChartTextOrientItem&)aSet->Get(
- SCHATTR_TEXT_ORIENT)).GetValue();
- if (eOrientation == CHTXTORIENT_AUTOMATIC)
- {
- switch (mnWhichId)
- {
- case CHOBJID_DIAGRAM_TITLE_X_AXIS:
- if (mpModel->IsXVertikal())
- eOrientation = CHTXTORIENT_BOTTOMTOP;
- else
- eOrientation = CHTXTORIENT_AUTOMATIC;
- break;
-
- case CHOBJID_DIAGRAM_TITLE_Y_AXIS:
- if (mpModel->IsXVertikal())
- eOrientation = CHTXTORIENT_AUTOMATIC;
- else
- eOrientation = CHTXTORIENT_BOTTOMTOP;
- break;
-
- case CHOBJID_DIAGRAM_TITLE_Z_AXIS:
- if (mpModel->IsXVertikal())
- eOrientation = CHTXTORIENT_TOPBOTTOM;
- else
- eOrientation = CHTXTORIENT_AUTOMATIC;
- break;
-
- default:
- eOrientation = CHTXTORIENT_AUTOMATIC;
- break;
- }
- long nAngle = GetTextRotation (*aSet, eOrientation);
- aSet->Put (SfxInt32Item (SCHATTR_TEXT_DEGREES, nAngle));
- }
- }
-
- if( nWID == SCHATTR_TEXT_ORIENT )
- {
- // map enum to bool: only stacked or not stacked is interesting
- SvxChartTextOrient eOrientation =
- ((const SvxChartTextOrientItem&)aSet->Get(
- SCHATTR_TEXT_ORIENT)).GetValue();
- aResultaAny <<= static_cast< sal_Bool >( eOrientation == CHTXTORIENT_STACKED );
- }
- else
- {
- // get value from ItemSet
- aResultaAny = maPropSet.getPropertyValue( pMap, *aSet );
- if( *pMap->pType != aResultaAny.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *pMap->pType == ::getCppuType((const sal_Int16*)0)) && aResultaAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- aResultaAny >>= nValue;
- aResultaAny <<= static_cast< sal_Int16 >( nValue );
- }
- else
- {
- OSL_FAIL( "getPropertyValue(): wrong Type!" );
- }
- }
- }
- }
- else
- {
- bPropertyUnknown = sal_True;
- }
- }
- else
- {
- bPropertyUnknown = sal_True;
- }
-
- if( bPropertyUnknown )
- {
- ::rtl::OUString aMessage( RTL_CONSTASCII_USTRINGPARAM( "Chart Object: Unknown Property " ));
- aMessage += PropertyName;
- beans::UnknownPropertyException aExcpt( aMessage, (::cppu::OWeakObject*)this );
- throw aExcpt;
- }
- }
-
- return aResultaAny;
-}
-
-void SAL_CALL ChXChartObject::addPropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartObject::removePropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartObject::addVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXChartObject::removeVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-
-
-//===== XMultiPropertySet ===================================================
-
-/*
- In contrast to calling the method setPropertyValue (singular) for every given property name
- the implementation of this method exploits the following properties:
- 1: Both the given sequence of property names and the member property map are sorted according
- to the property names.
- 2: The item set which gathers all items changed by setting the properties is created only once.
- 3: The solar mutex is acquired only once.
-*/
-void SAL_CALL ChXChartObject::setPropertyValues (
- const uno::Sequence< ::rtl::OUString >& aPropertyNames,
- const uno::Sequence< uno::Any >& aValues )
- throw ( beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException)
-{
- SolarMutexGuard aGuard;
-
- // Get pointers to first elements of lists.
- const SfxItemPropertyMap * pProperty = maPropSet.getPropertyMap ();
- const OUString * pPropertyName = aPropertyNames.getConstArray ();
- const Any * pValue = aValues.getConstArray ();
-
- // Check preconditions.
- if (mpModel == NULL)
- throw UnknownPropertyException (OUString(RTL_CONSTASCII_USTRINGPARAM(
- "ChXChartObject::setPropertyValues: no model")), (::cppu::OWeakObject*)this);
- if (mnWhichId == CHOBJID_ANY)
- throw UnknownPropertyException (OUString(RTL_CONSTASCII_USTRINGPARAM(
- "ChXChartObject::setPropertyValues: invalid object")), (::cppu::OWeakObject*)this);
- if (pProperty == NULL || pProperty->pName == NULL)
- throw UnknownPropertyException (OUString(RTL_CONSTASCII_USTRINGPARAM(
- "ChXChartObject::setPropertyValues: empty property list")), (::cppu::OWeakObject*)this);
-
- // Some variables used in the following loop.
- USHORT nWID;
-
- // Item set used to collect all modifications from the individual properties to set.
- SfxItemSet aModifications (mpModel->GetItemPool());
- mpModel->GetAttr (mnWhichId, aModifications, mnIndex);
-
- // Iterate over all the given property names.
- sal_Int32 nCounter = aPropertyNames.getLength();
- while (nCounter-- > 0)
- {
- AdvanceToName (pProperty, pPropertyName);
-
- // Handle the properties in the property map. The case statements handle
- // the special cases while the default statement handles all remaining cases.
- switch (nWID = pProperty->nWID)
- {
- case CHATTR_TITLE_MAIN:
- // Handle special cases of title objects.
- {
- OUString aString;
- *pValue >>= aString;
- mpModel->SetTitle (mnWhichId, aString);
- mpModel->BuildChart (FALSE);
- }
- break;
-
- case SCHATTR_LEGEND_POS:
- // This one is only valid if this object is a legend.
- if (mnWhichId == CHOBJID_LEGEND)
- {
- chart::ChartLegendPosition ePos;
- cppu::any2enum< chart::ChartLegendPosition >(ePos, *pValue);
- // ToDo: NONE shouldn't be used to disable the legend. There should
- // be a way to set the position to 'unanchored' plus a flag for
- // 'vertically|horizontally' extending
- mpModel->SetShowLegend (ePos != chart::ChartLegendPosition_NONE);
- mpModel->SetLegendHasBeenMoved (FALSE);
- // note: SetShowLegend sets pos to CHLEGEND_RIGHT
- aModifications.Put (SvxChartLegendPosItem (
- SAL_STATIC_CAST (SvxChartLegendPos,
- SAL_STATIC_CAST (int, ePos))));
- }
- break;
-
- case SCHATTR_TEXT_ORIENT:
- {
- sal_Bool bVal = sal_False;
- if( *pValue >>= bVal )
- {
- aModifications.Put( SvxChartTextOrientItem(
- bVal
- ? CHTXTORIENT_STACKED
- : CHTXTORIENT_AUTOMATIC ));
- }
- }
- break;
-
- case OWN_ATTR_FILLBMP_MODE:
- {
- drawing::BitmapMode eMode;
- if ( ! (*pValue >>= eMode))
- {
- sal_Int32 nMode = 0;
- if ( ! (*pValue >>= nMode))
- break;
- eMode = (drawing::BitmapMode)nMode;
- }
- aModifications.Put (XFillBmpStretchItem (eMode==drawing::BitmapMode_STRETCH));
- aModifications.Put (XFillBmpTileItem (eMode==drawing::BitmapMode_REPEAT));
- }
- break;
-
- case XATTR_FILLBITMAP:
- case XATTR_FILLGRADIENT:
- case XATTR_FILLHATCH:
- case XATTR_FILLFLOATTRANSPARENCE:
- case XATTR_LINEEND:
- case XATTR_LINESTART:
- case XATTR_LINEDASH:
- if (pProperty->nMemberId == MID_NAME )
- {
- ::rtl::OUString aString;
- if (*pValue >>= aString)
- SvxShape::SetFillAttribute (nWID, aString, aModifications, mpModel);
- break;
- }
- // note: this fall-through is intended
-
- default:
-/* if ( aModifications.Count() == 0
- && mpModel->GetItemPool().IsWhich (nWID)
- && ! ((nWID >= OWN_ATTR_VALUE_START) && (nWID <= OWN_ATTR_VALUE_END)))
- {
- aModifications.Put (mpModel->GetItemPool().GetDefaultItem (nWID));
- }
-*/
- // First look if we are looking at a special character property.
- if ( ! SvxUnoTextRangeBase::SetPropertyValueHelper (aModifications, pProperty,
- *pValue, aModifications))
- {
- // Not a special character property.
- // Convert the given property value to an item and set it.
- maPropSet.setPropertyValue (pProperty, *pValue, aModifications);
- }
- break;
- }
-
- // Advance to the next property, property name and value.
- pPropertyName++;
- pValue++;
- }
- // Propagate the modified item set to the chart model.
- if (aModifications.Count() > 0)
- mpModel->ChangeAttr (aModifications, mnWhichId, mnIndex);
-}
-
-
-
-/*
- Again three facts are exploited:
- 1. Getting the solar mutex once outside the main loop.
- 2. Using the sorting of both the given list of property names and of the list of properties.
- 3. Creating and filling once of the model's item set.
-
- This method uses two methods to make it usable in a generic way by derived classes.
- 1. CreateItemSet creates and fills an item set with all known items which is used to set the
- requested properties.
- 2. GetPropertyValue is used to retrieve the individual values.
- Both methods can be overloaded to implement class specific behaviour.
-
-*/
-uno::Sequence< uno::Any > SAL_CALL ChXChartObject::getPropertyValues (
- const uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw ( uno::RuntimeException)
-{
- SolarMutexGuard aGuard;
-
- // This sequence is filled with the requested values for the given property names.
- Sequence<Any> aResult (aPropertyNames.getLength());
-
- // Get pointers to first elements of lists.
- const SfxItemPropertyMap * pProperty = maPropSet.getPropertyMap ();
- const OUString * pPropertyName = aPropertyNames.getConstArray ();
- Any * pValue = aResult.getArray ();
-
- // Check preconditions.
- if (mpModel == NULL || mnWhichId == CHOBJID_ANY)
- return aResult;
-
- // Get the models attributes.
- SfxItemSet * pAttributes = CreateItemSet();
-
- // Iterate over all given property names.
- sal_Int32 nCounter = aPropertyNames.getLength();
- while (nCounter-- > 0)
- {
- AdvanceToName (pProperty, pPropertyName);
-
- GetPropertyValue (*pProperty, *pValue, *pAttributes);
-
- // Advance to the next property, property name and value.
- pPropertyName++;
- pValue++;
- }
-
- delete pAttributes;
- return aResult;
-}
-
-
-
-
-void SAL_CALL ChXChartObject::addPropertiesChangeListener (
- const uno::Sequence< ::rtl::OUString >& /*aPropertyNames*/,
- const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
- throw ( uno::RuntimeException)
-{
- // Not implemented.
-}
-
-
-
-
-void SAL_CALL ChXChartObject::removePropertiesChangeListener (
- const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
- throw ( uno::RuntimeException)
-{
- // Not implemented.
-}
-
-
-
-
-void SAL_CALL ChXChartObject::firePropertiesChangeEvent (
- const uno::Sequence< ::rtl::OUString >& /*aPropertyNames*/,
- const uno::Reference< beans::XPropertiesChangeListener >& /*xListener*/ )
- throw ( uno::RuntimeException)
-{
- // Not implemented.
-}
-
-
-
-// XPropertyState
-beans::PropertyState SAL_CALL ChXChartObject::getPropertyState( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException, uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( mpModel &&
- pMap && pMap->nWID )
- {
- USHORT nWID = pMap->nWID;
-
- if( mnWhichId == CHOBJID_LEGEND &&
- nWID == CHATTR_LEGEND_POS )
- {
- const SfxItemSet& rSet = mpModel->GetLegendAttr();
- SfxItemState aState = rSet.GetItemState( SCHATTR_LEGEND_POS, sal_False );
-
- if( aState == SFX_ITEM_DEFAULT )
- return beans::PropertyState_DEFAULT_VALUE;
- else
- return beans::PropertyState_DIRECT_VALUE;
- }
- else if( nWID == CHATTR_TITLE_MAIN || // property 'String' for ALL titles
- nWID == SID_TEXTBREAK ) // x, y and z axis have different defaults
- {
- return beans::PropertyState_DIRECT_VALUE;
- }
- else if( pMap->nWID == OWN_ATTR_FILLBMP_MODE )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
- mpModel->GetAttr( mnWhichId, aSet, mnIndex );
-
- if( aSet.GetItemState( XATTR_FILLBMP_STRETCH, false ) == SFX_ITEM_SET ||
- aSet.GetItemState( XATTR_FILLBMP_TILE, false ) == SFX_ITEM_SET )
- return beans::PropertyState_DIRECT_VALUE;
- else
- return beans::PropertyState_DEFAULT_VALUE;
- }
- else
- {
- SfxItemSet aSet( mpModel->GetItemPool(), nWID, nWID );
- mpModel->GetAttr( mnWhichId, aSet, mnIndex );
-
- switch( aSet.GetItemState( nWID, sal_False ) )
- {
- case SFX_ITEM_DONTCARE:
- case SFX_ITEM_DISABLED:
- return beans::PropertyState_AMBIGUOUS_VALUE;
- case SFX_ITEM_READONLY:
- case SFX_ITEM_SET:
- return beans::PropertyState_DIRECT_VALUE;
- case SFX_ITEM_DEFAULT:
- return beans::PropertyState_DEFAULT_VALUE;
- case SFX_ITEM_UNKNOWN:
- default:
- throw beans::UnknownPropertyException();
- }
- }
- }
-
- return beans::PropertyState_DIRECT_VALUE;
-}
-
-uno::Sequence< beans::PropertyState > SAL_CALL ChXChartObject::getPropertyStates(
- const uno::Sequence< ::rtl::OUString > & aPropertyNames)
- throw( beans::UnknownPropertyException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- // Get pointers to first elements of lists.
- const SfxItemPropertyMap * pProperty = maPropSet.getPropertyMap ();
- const sal_Int32 nCount = aPropertyNames.getLength();
- const OUString * pPropertyName = aPropertyNames.getConstArray();
- Sequence<PropertyState > aStates (nCount);
- PropertyState * pState = aStates.getArray();
-
- // Check precondition.
- if (mpModel == NULL)
- return aStates;
-
- // Get the models attributes.
- SfxItemSet aAttributes (mpModel->GetItemPool(),
- mpModel->GetAttr (mnWhichId, mnIndex).GetRanges());
- mpModel->GetAttr (mnWhichId, aAttributes, mnIndex);
-
- // Some variables used in the following loop.
- USHORT nWID;
-
- // Iterate over all given property names.
- sal_Int32 nCounter = aPropertyNames.getLength();
- while (nCounter-- > 0)
- {
- AdvanceToName (pProperty, pPropertyName);
-
- switch (nWID = pProperty->nWID)
- {
- case CHATTR_LEGEND_POS:
- if (mnWhichId == CHOBJID_LEGEND)
- {
- const SfxItemSet& rSet = mpModel->GetLegendAttr();
- SfxItemState aState = rSet.GetItemState( SCHATTR_LEGEND_POS, sal_False );
-
- if( aState == SFX_ITEM_DEFAULT )
- *pState = PropertyState_DEFAULT_VALUE;
- else
- *pState = PropertyState_DIRECT_VALUE;
- }
- break;
-
- case CHATTR_TITLE_MAIN: // property 'String' for ALL titles
- case SID_TEXTBREAK: // x, y and z axis have different defaults
- *pState = PropertyState_DIRECT_VALUE;
- break;
-
- case OWN_ATTR_FILLBMP_MODE:
- if ( aAttributes.GetItemState( XATTR_FILLBMP_STRETCH, false ) == SFX_ITEM_SET
- || aAttributes.GetItemState( XATTR_FILLBMP_TILE, false ) == SFX_ITEM_SET )
- *pState = PropertyState_DIRECT_VALUE;
- else
- *pState = PropertyState_DEFAULT_VALUE;
- break;
-
- case SID_ATTR_NUMBERFORMAT_SOURCE:
- if( aAttributes.GetItemState( SID_ATTR_NUMBERFORMAT_SOURCE ) != SFX_ITEM_SET )
- *pState = PropertyState_DEFAULT_VALUE;
- else
- *pState = PropertyState_DIRECT_VALUE;
- break;
-
- default:
- switch (aAttributes.GetItemState( nWID, sal_False ))
- {
- case SFX_ITEM_DONTCARE:
- case SFX_ITEM_DISABLED:
- *pState = PropertyState_AMBIGUOUS_VALUE;
- break;
-
- case SFX_ITEM_READONLY:
- case SFX_ITEM_SET:
- *pState = PropertyState_DIRECT_VALUE;
- break;
-
- case SFX_ITEM_DEFAULT:
- *pState = PropertyState_DEFAULT_VALUE;
- break;
-
- case SFX_ITEM_UNKNOWN:
- default:
- {
- OUString aMessage (RTL_CONSTASCII_USTRINGPARAM ( "Chart Object: Unknown Property " ));
- aMessage += *pPropertyName;
- throw UnknownPropertyException (aMessage, (::cppu::OWeakObject*)this );
- }
- }
- }
- pPropertyName ++;
- pState ++;
- }
-
- return aStates;
-}
-
-void SAL_CALL ChXChartObject::setPropertyToDefault( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( mpModel )
- {
- // set an empty item to change attribute to default
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
- mpModel->ChangeAttr( aSet, mnWhichId, mnIndex );
- }
-}
-
-uno::Any SAL_CALL ChXChartObject::getPropertyDefault( const ::rtl::OUString& aPropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
-
- if( mpModel->GetItemPool().IsWhich( pMap->nWID ))
- {
- aSet.Put( mpModel->GetItemPool().GetDefaultItem( pMap->nWID ));
- }
- else if( pMap->nWID == SID_TEXTBREAK )
- {
- // default for x axis is true, false for y/z
- BOOL bTextBreak =
- ( mnWhichId == CHOBJID_DIAGRAM_X_AXIS ||
- mnWhichId == CHOBJID_DIAGRAM_A_AXIS );
- aSet.Put( SfxBoolItem( SID_TEXTBREAK, bTextBreak ));
- }
- else
- throw beans::UnknownPropertyException();
-
- uno::Any aAny = maPropSet.getPropertyValue( pMap, aSet );
-
- if( *pMap->pType != aAny.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *pMap->pType == ::getCppuType((const sal_Int16*)0)) && aAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- aAny >>= nValue;
- aAny <<= static_cast< sal_Int16 >( nValue );
- }
- else
- {
- OSL_FAIL( "getPropertyDefault(): wrong Type!" );
- }
- }
-
- return aAny;
-}
-
-
-
-
-// XMultiPropertyStates
-
-// ChXChartObject::getPropertyStates is also part of XPropertyState and is defined above.
-
-
-
-void SAL_CALL ChXChartObject::setAllPropertiesToDefault (void)
- throw ( uno::RuntimeException)
-{
- OSL_FAIL("ChXChartObject::setAllPropertiesToDefault");
-}
-
-
-
-
-void SAL_CALL ChXChartObject::setPropertiesToDefault (
- const uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw ( beans::UnknownPropertyException,
- uno::RuntimeException)
-{
- for (sal_Int32 i=0; i<aPropertyNames.getLength(); i++)
- {
- setPropertyToDefault (aPropertyNames[i]);
- }
-}
-
-
-
-
-uno::Sequence< uno::Any > SAL_CALL ChXChartObject::getPropertyDefaults (
- const uno::Sequence< ::rtl::OUString >& aPropertyNames )
- throw ( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException)
-{
- uno::Sequence<uno::Any> aResult (aPropertyNames.getLength());
-
- for (sal_Int32 i=0; i<aPropertyNames.getLength(); i++)
- {
- aResult[i] = getPropertyDefault (aPropertyNames[i]);
- }
-
- return aResult;
-}
-
-
-
-// XComponent
-void SAL_CALL ChXChartObject::dispose() throw( uno::RuntimeException )
-{
- ::com::sun::star::lang::EventObject aEvent (*this);
- maListenerList.disposeAndClear (aEvent);
-}
-
-void SAL_CALL ChXChartObject::addEventListener( const uno::Reference< lang::XEventListener >& xListener )
- throw( uno::RuntimeException )
-{
- maListenerList.addInterface (xListener);
-}
-
-void SAL_CALL ChXChartObject::removeEventListener( const uno::Reference< lang::XEventListener >& xListener )
- throw( uno::RuntimeException )
-{
- maListenerList.removeInterface (xListener);
-}
-
-// XServiceInfo
-sal_Bool SAL_CALL ChXChartObject::supportsService( const ::rtl::OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- return SvxServiceInfoHelper::supportsService( ServiceName, getSupportedServiceNames() );
-}
-
-
-// generate a uniqueId
-const uno::Sequence< sal_Int8 > & ChXChartObject::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChXChartObject::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return 0;
-}
-
-
-
-//===== protected methods =======================================================================
-
-void ChXChartObject::AdvanceToName (const SfxItemPropertyMap *& pProperty,
- const OUString * pPropertyName)
-{
- sal_Int32 nComparisonResult;
-
- // Advance over the property list to the property with the current name.
- while ((nComparisonResult=pPropertyName->compareToAscii (pProperty->pName)) > 0)
- {
- pProperty++;
- if (pProperty->pName == NULL)
- {
- // We reached the end of the property list. Therefore all remaining given
- // property names can not be found.
- OUString sMessage = OUString (RTL_CONSTASCII_USTRINGPARAM ( "ChXChartObject::setPropertyValues: unknown property "));
- sMessage += *pPropertyName;
- throw UnknownPropertyException (sMessage, (::cppu::OWeakObject*)this);
- }
- }
- if (nComparisonResult < 0)
- {
- // All remaining given property names can not match (because they lie
- // alphabetically before) the remaining properties => Error
- OUString sMessage = OUString (RTL_CONSTASCII_USTRINGPARAM ( "ChXChartObject::setPropertyValues: unknown property "));
- sMessage += *pPropertyName;
- throw UnknownPropertyException (sMessage, (::cppu::OWeakObject*)this);
- }
-
- // If we get here then we have found the propert with the name pProperty->pName.
-}
-
-
-
-SfxItemSet * ChXChartObject::CreateItemSet (void)
-{
- SfxItemSet * pAttributes = new SfxItemSet (mpModel->GetItemPool());
- mpModel->GetAttr (mnWhichId, *pAttributes, mnIndex);
- return pAttributes;
-}
-
-
-
-
-void ChXChartObject::GetPropertyValue (const SfxItemPropertyMap & rProperty,
- Any & rValue,
- SfxItemSet & rAttributes)
-{
- USHORT nWID = rProperty.nWID;
-
- switch (nWID)
- {
- case CHATTR_TITLE_MAIN:
- rValue <<= OUString( mpModel->GetTitle( mnWhichId ));
- break;
-
- case SCHATTR_LEGEND_POS:
- if (mnWhichId == CHOBJID_LEGEND)
- {
- SfxItemSet rSet = mpModel->GetLegendAttr();
- const SfxPoolItem *pPoolItem = NULL;
- SvxChartLegendPos ePos =
- rSet.GetItemState( SCHATTR_LEGEND_POS,TRUE, &pPoolItem) == SFX_ITEM_SET
- ? ((const SvxChartLegendPosItem*)pPoolItem)->GetValue()
- : CHLEGEND_RIGHT;
- chart::ChartLegendPosition ePosition = (chart::ChartLegendPosition)ePos;
- rValue <<= ePosition;
- }
- break;
-
- case OWN_ATTR_FILLBMP_MODE:
- {
- XFillBmpStretchItem * pStretchItem = (XFillBmpStretchItem*)&rAttributes.Get (
- XATTR_FILLBMP_STRETCH );
- XFillBmpTileItem * pTileItem = (XFillBmpTileItem*)&rAttributes.Get (
- XATTR_FILLBMP_TILE );
-
- if( pTileItem && pTileItem->GetValue() )
- rValue <<= drawing::BitmapMode_REPEAT;
- else if( pStretchItem && pStretchItem->GetValue() )
- rValue <<= drawing::BitmapMode_STRETCH;
- else
- rValue <<= drawing::BitmapMode_NO_REPEAT;
- }
- break;
-
- case SCHATTR_TEXT_ORIENT:
- rValue <<= static_cast< sal_Bool >(
- CHTXTORIENT_STACKED ==
- static_cast< const SvxChartTextOrientItem & >( rAttributes.Get( SCHATTR_TEXT_ORIENT )).GetValue() );
- break;
-
- default :
- // Handle some special properties.
- if (SvxUnoTextRangeBase::GetPropertyValueHelper (rAttributes, &rProperty, rValue))
- break;
-
- // item is not set => use default
- switch (rAttributes.GetItemState (nWID, FALSE))
- {
- case SFX_ITEM_UNKNOWN:
- {
- OUString sMessage (RTL_CONSTASCII_USTRINGPARAM ( "ChXChartObject::getPropertyValues: unknown property "));
- sMessage += OUString::createFromAscii(rProperty.pName);
- throw UnknownPropertyException (sMessage, (::cppu::OWeakObject*)this);
- }
-
- case SFX_ITEM_DEFAULT:
- // Get default value from the item pool.
- if ( mpModel->GetItemPool().IsWhich( nWID )
- && (nWID < OWN_ATTR_VALUE_START || nWID > OWN_ATTR_VALUE_END))
- {
- // `Private' properties from SvxShape.
- rAttributes.Put( mpModel->GetItemPool().GetDefaultItem( nWID ) );
- }
- else if( nWID == SID_TEXTBREAK )
- {
- rAttributes.Put( SfxBoolItem( SID_TEXTBREAK,
- ( mnWhichId == CHOBJID_DIAGRAM_X_AXIS
- || mnWhichId == CHOBJID_DIAGRAM_A_AXIS )));
- }
- else if( nWID == SID_ATTR_NUMBERFORMAT_SOURCE )
- {
- rAttributes.Put( SfxBoolItem( SID_ATTR_NUMBERFORMAT_SOURCE, TRUE ));
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)",
- rProperty.pName, nWID );
-#endif
- }
- // Fall through.
-
- default :
- rValue = maPropSet.getPropertyValue( &rProperty, rAttributes );
- if( *rProperty.pType != rValue.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *rProperty.pType == ::getCppuType((const sal_Int16*)0)) && rValue.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- rValue >>= nValue;
- rValue <<= static_cast< sal_Int16 >( nValue );
- }
- else
- {
- OSL_FAIL( "GetPropertyValue(): wrong Type!" );
- }
- }
- }
- }
-}
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXDataPoint.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXDataPoint.cxx
deleted file mode 100644
index 86b4cab2e..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXDataPoint.cxx
+++ /dev/null
@@ -1,876 +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.
- *
- ************************************************************************/
-
-#include "ChXDataPoint.hxx"
-#include "mapprov.hxx"
-
-// header for SvxServiceInfoHelper
-// header for class OGuard
-// header for class Application
-#include <vcl/svapp.hxx>
-// header for SvxUnoTextRangeBase
-// for OWN_ATTR_...
-#include <bf_svx/unoshprp.hxx>
-// for SID_ATTR_...
-#include <bf_svx/svxids.hrc>
-#include <bf_svx/unoshape.hxx>
-#include <rtl/uuid.h>
-#include <rtl/memory.h>
-
-#include "schattr.hxx"
-
-#ifndef _SVX_BRSHITEM_HXX
-#define ITEMID_BRUSH SCHATTR_SYMBOL_BRUSH
-#include <bf_svx/brshitem.hxx>
-#endif
-// header for SVX_SYMBOLTYPE_BRUSHITEM
-#include <bf_svx/tabline.hxx>
-#include <bf_svx/unoapi.hxx>
-
-#include <bf_svx/xflbstit.hxx>
-#include <bf_svx/xflbmtit.hxx>
-
-#include <com/sun/star/chart/ChartDataCaption.hpp>
-
-// header for SvxChartDataDescrItem
-#ifndef _SVX_CHRTITEM_HXX
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#endif
-
-#include "globfunc.hxx" // for GlobalGenerate3DAttrDefaultItem
-#include "unonames.hxx"
-namespace binfilter {
-
-
-extern SchUnoPropertyMapProvider aSchMapProvider;
-
-using namespace ::com::sun::star;
-
-ChXDataPoint::ChXDataPoint( sal_Int32 _Col, sal_Int32 _Row, ChartModel* _Model ) :
- maPropSet( aSchMapProvider.GetMap( _Model? CHMAP_DATAPOINT: CHMAP_NONE, _Model )),
- mpModel( _Model ),
- mnCol( _Col ),
- mnRow( _Row )
-{}
-
-ChXDataPoint::~ChXDataPoint()
-{}
-
-
-// generate a uniqueId
-const uno::Sequence< sal_Int8 > & ChXDataPoint::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-// XTypeProvider
-uno::Sequence< sal_Int8 > SAL_CALL ChXDataPoint::getImplementationId()
- throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-// XPropertySet
-uno::Reference< beans::XPropertySetInfo > SAL_CALL ChXDataPoint::getPropertySetInfo() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- return maPropSet.getPropertySetInfo();
-}
-
-void ChXDataPoint::AddDataPointAttr( SfxItemSet& rOutAttributes )
-{
- if( mpModel->IsPieChart())
- rOutAttributes.Put( mpModel->GetFullDataPointAttr( mnCol, 0 ));
- else
- rOutAttributes.Put( mpModel->GetDataPointAttr( mnCol, mnRow ));
-}
-
-void SAL_CALL ChXDataPoint::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue )
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- sal_Bool bPropertyUnknown = sal_False;
-
- if( mpModel )
- {
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( pMap && pMap->nWID )
- {
- if( pMap->nFlags & beans::PropertyAttribute::READONLY )
- throw beans::PropertyVetoException();
-
- USHORT nWID = pMap->nWID;
- SfxItemSet* pSet;
-
- if( nWID == SCHATTR_DATADESCR_DESCR || nWID == SCHATTR_DATADESCR_SHOW_SYM )
- {
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
- }
- else if( nWID == CHATTR_PIE_SEGMENT_OFFSET ) // member of ChartModel rather than property
- {
- sal_Int32 nVal(0);
- aValue >>= nVal;
- short nValToSet = (short)(abs( nVal ) % 101); // cast long->short is ok (range 0..100)
-
- mpModel->SetPieSegOfs( mnCol, nValToSet );
- SvxChartStyle& rStyle = mpModel->ChartStyle();
- if( rStyle == CHSTYLE_2D_PIE_SEGOF1 ||
- rStyle == CHSTYLE_2D_PIE_SEGOFALL )
- rStyle = CHSTYLE_2D_PIE;
-
- mpModel->BuildChart( FALSE );
- return; // RETURN
- }
- else if( nWID == OWN_ATTR_FILLBMP_MODE )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
-
- do
- {
- drawing::BitmapMode eMode;
- if(!(aValue >>= eMode) )
- {
- sal_Int32 nMode = 0;
- if(!(aValue >>= nMode))
- break;
-
- eMode = (drawing::BitmapMode)nMode;
- }
- aSet.Put( XFillBmpStretchItem( eMode == drawing::BitmapMode_STRETCH ) );
- aSet.Put( XFillBmpTileItem( eMode == drawing::BitmapMode_REPEAT ) );
- }
- while(0);
- mpModel->PutDataPointAttr( mnCol, mnRow, aSet );
- mpModel->BuildChart( FALSE );
-
- return;
- }
- else if( nWID == SCHATTR_SYMBOL_BRUSH )
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID,
- SCHATTR_STYLE_SYMBOL, SCHATTR_STYLE_SYMBOL, 0 );
- else
- {
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID );
- }
-
- pSet->Put( mpModel->GetFullDataPointAttr( mnCol, mnRow ));
-
- if( ! pSet->Count() )
- {
- // get default from ItemPool
- if( mpModel->GetItemPool().IsWhich( nWID ))
- {
- if( ! ( OWN_ATTR_VALUE_START <= nWID && nWID <= OWN_ATTR_VALUE_END ))
- {
- pSet->Put( mpModel->GetItemPool().GetDefaultItem( nWID ));
- }
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( aPropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
-
- if( pSet->Count() )
- {
- sal_Int32 nVal(0);
- switch( nWID )
- {
- case SCHATTR_STAT_KIND_ERROR:
- case SCHATTR_STAT_INDICATE:
- case SCHATTR_STAT_REGRESSTYPE:
- // property is enum, but item is INT32
- aValue >>= nVal;
- pSet->Put( SfxInt32Item( nWID, nVal ) );
- break;
- // BM: theese two SCHATTRs are merged into one INT32, so extract them from aValue
- case SCHATTR_DATADESCR_DESCR:
- case SCHATTR_DATADESCR_SHOW_SYM:
- {
- // symbol
- aValue >>= nVal;
- pSet->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_SYM,
- ((nVal & chart::ChartDataCaption::SYMBOL) != 0)));
-
- // display text, percent or both or value
- SvxChartDataDescr eDescr = CHDESCR_NONE;
- if( nVal & chart::ChartDataCaption::TEXT )
- {
- if( nVal & chart::ChartDataCaption::PERCENT )
- eDescr = CHDESCR_TEXTANDPERCENT;
- else if( (nVal & chart::ChartDataCaption::VALUE) )
- eDescr = CHDESCR_TEXTANDVALUE;
- else
- eDescr = CHDESCR_TEXT;
- }
- else if( (nVal & chart::ChartDataCaption::VALUE) )
- {
- eDescr = CHDESCR_VALUE;
- }
- else
- {
- if( (nVal & chart::ChartDataCaption::PERCENT) )
- eDescr = CHDESCR_PERCENT;
- }
-
- // chart::ChartDataCaption::FORMAT (missing)
-
- pSet->Put( SvxChartDataDescrItem( eDescr ) );
- }
- break;
- case SCHATTR_SYMBOL_BRUSH:
- {
- ::rtl::OUString aURL;
- aValue >>= aURL;
- BfGraphicObject aGraphObj = CreateGraphicObjectFromURL( aURL );
- SvxBrushItem aItem( SCHATTR_SYMBOL_BRUSH );
- aItem.SetGraphic( aGraphObj.GetGraphic() );
- pSet->Put( aItem );
- }
- break;
-
- case XATTR_FILLBITMAP:
- case XATTR_FILLGRADIENT:
- case XATTR_FILLHATCH:
- case XATTR_FILLFLOATTRANSPARENCE:
- case XATTR_LINEEND:
- case XATTR_LINESTART:
- case XATTR_LINEDASH:
- if( pMap->nMemberId == MID_NAME )
- {
- ::rtl::OUString aStr;
- if( aValue >>= aStr )
- SvxShape::SetFillAttribute( nWID, aStr, *pSet, mpModel );
- break;
- }
- // note: this fall-through is intended
-
- default:
- // CL: convert special character properties
- if( ! SvxUnoTextRangeBase::SetPropertyValueHelper( *pSet, pMap, aValue, *pSet ))
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- break;
- }
- mpModel->PutDataPointAttr( mnCol, mnRow, *pSet );
-
- mpModel->BuildChart( FALSE );
- }
- else
- {
- bPropertyUnknown = sal_True;
- }
- if( pSet )
- delete pSet;
- }
- else
- {
- bPropertyUnknown = sal_True;
- }
- }
- else
- {
- DBG_WARNING( "No Model" );
- }
-
- if( bPropertyUnknown )
- {
- ::rtl::OUString aMessage( RTL_CONSTASCII_USTRINGPARAM( "Data Point: Unknown Property " ));
- aMessage += aPropertyName;
- beans::UnknownPropertyException aExcpt( aMessage, (::cppu::OWeakObject*)this );
- throw aExcpt;
- }
-}
-
-uno::Any SAL_CALL ChXDataPoint::getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Any aAny;
-
- if( mpModel )
- {
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( pMap && pMap->nWID )
- {
- SfxItemSet* pSet;
- USHORT nWID = pMap->nWID;
-
- if( nWID == SCHATTR_STYLE_SHAPE &&
- ! mpModel->IsReal3D())
- return aAny;
-
- if( nWID == SCHATTR_DATADESCR_DESCR || nWID == SCHATTR_DATADESCR_SHOW_SYM )
- {
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
- }
- else if( nWID == CHATTR_PIE_SEGMENT_OFFSET )
- {
- sal_Int32 nVal = mpModel->PieSegOfs( mnCol );
- aAny <<= nVal;
- return aAny; // RETURN
- }
- else if( nWID == OWN_ATTR_FILLBMP_MODE )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
-
- aSet.Put( mpModel->GetFullDataPointAttr( mnCol, mnRow ));
-
- XFillBmpStretchItem* pStretchItem = (XFillBmpStretchItem*)&aSet.Get( XATTR_FILLBMP_STRETCH );
- XFillBmpTileItem* pTileItem = (XFillBmpTileItem*)&aSet.Get( XATTR_FILLBMP_TILE );
-
- if( pTileItem && pTileItem->GetValue() )
- {
- aAny <<= drawing::BitmapMode_REPEAT;
- }
- else if( pStretchItem && pStretchItem->GetValue() )
- {
- aAny <<= drawing::BitmapMode_STRETCH;
- }
- else
- {
- aAny <<= drawing::BitmapMode_NO_REPEAT;
- }
- return aAny;
- }
- else
- {
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID );
- }
- pSet->Put( mpModel->GetFullDataPointAttr( mnCol, mnRow ));
-
- if( ! pSet->Count() )
- {
- // get default from pool
- if( mpModel->GetItemPool().IsWhich( nWID ))
- {
- if( OWN_ATTR_VALUE_START > nWID || nWID > OWN_ATTR_VALUE_END )
- {
- pSet->Put( mpModel->GetItemPool().GetDefaultItem( nWID ) );
- }
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( PropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
-
- if( pSet->Count() )
- {
- // get value from ItemSet
-
- // theese two SCHATTRs have to be merged into one INT32 in aAny
- if( nWID == SCHATTR_DATADESCR_DESCR || nWID == SCHATTR_DATADESCR_SHOW_SYM )
- {
- BOOL bShowSymbol = ((const SfxBoolItem&)
- (pSet->Get(SCHATTR_DATADESCR_SHOW_SYM))).GetValue();
- SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)
- (pSet->Get(SCHATTR_DATADESCR_DESCR))).GetValue();
-
- sal_Int32 nVal = 0;
- switch( eDescr )
- {
- case CHDESCR_NONE:
- nVal = chart::ChartDataCaption::NONE;
- break;
- case CHDESCR_VALUE:
- nVal = chart::ChartDataCaption::VALUE;
- break;
- case CHDESCR_PERCENT:
- nVal = chart::ChartDataCaption::PERCENT;
- break;
- case CHDESCR_TEXT:
- nVal = chart::ChartDataCaption::TEXT;
- break;
- case CHDESCR_TEXTANDPERCENT:
- nVal = chart::ChartDataCaption::PERCENT | chart::ChartDataCaption::TEXT;
- break;
- case CHDESCR_TEXTANDVALUE:
- nVal = chart::ChartDataCaption::VALUE | chart::ChartDataCaption::TEXT;
- break;
- default:
- break;
- }
- if( bShowSymbol ) nVal |= chart::ChartDataCaption::SYMBOL;
-
- aAny <<= nVal;
- }
- else if( nWID == SCHATTR_SYMBOL_BRUSH )
- {
- ::rtl::OUString aURL;
- const BfGraphicObject* pGraphObj =
- ((const SvxBrushItem &)(pSet->Get( nWID ))).GetGraphicObject();
- if( pGraphObj )
- {
- aURL = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( UNO_NAME_GRAPHOBJ_URLPREFIX ));
- aURL += ::rtl::OUString::createFromAscii( pGraphObj->GetUniqueID().GetBuffer());
- }
- aAny <<= aURL;
- }
- else
- {
- aAny = maPropSet.getPropertyValue( pMap, *pSet );
- if( *pMap->pType != aAny.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *pMap->pType == ::getCppuType((const sal_Int16*)0)) && aAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- aAny >>= nValue;
- aAny <<= static_cast< sal_Int16 >( nValue );
- }
- else
- {
- OSL_FAIL( "getPropertyValue(): wrong Type!" );
- }
- }
- }
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- if( pSet )
- delete pSet;
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- }
-
- return aAny;
-}
-
-void SAL_CALL ChXDataPoint::addPropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDataPoint::removePropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDataPoint::addVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDataPoint::removeVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-// XPropertyState
-beans::PropertyState SAL_CALL ChXDataPoint::getPropertyState( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException, uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( mpModel &&
- pMap && pMap->nWID )
- {
- if( pMap->nWID == CHATTR_PIE_SEGMENT_OFFSET )
- {
- sal_Int32 nOffset(0);
- uno::Any aAny = getPropertyValue( PropertyName );
- aAny >>= nOffset;
- if( nOffset )
- return beans::PropertyState_DIRECT_VALUE;
- else
- return beans::PropertyState_DEFAULT_VALUE;
- }
- else if( pMap->nWID == SCHATTR_DATADESCR_DESCR )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
- AddDataPointAttr( aSet );
-
- SfxItemState eState1 = aSet.GetItemState( SCHATTR_DATADESCR_DESCR );
- SfxItemState eState2 = aSet.GetItemState( SCHATTR_DATADESCR_SHOW_SYM );
- if( eState1 == SFX_ITEM_DEFAULT &&
- eState2 == SFX_ITEM_DEFAULT )
- return beans::PropertyState_DEFAULT_VALUE;
- else if( eState1 < SFX_ITEM_DEFAULT &&
- eState2 < SFX_ITEM_DEFAULT )
- return beans::PropertyState_AMBIGUOUS_VALUE;
- else
- return beans::PropertyState_DIRECT_VALUE;
- }
- else if( pMap->nWID == OWN_ATTR_FILLBMP_MODE )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
- AddDataPointAttr( aSet );
-
- if( aSet.GetItemState( XATTR_FILLBMP_STRETCH, false ) == SFX_ITEM_SET ||
- aSet.GetItemState( XATTR_FILLBMP_TILE, false ) == SFX_ITEM_SET )
- return beans::PropertyState_DIRECT_VALUE;
- else
- return beans::PropertyState_DEFAULT_VALUE;
- }
- else
- {
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
- AddDataPointAttr( aSet );
-
- SfxItemState eState = aSet.GetItemState( pMap->nWID );
- if( eState == SFX_ITEM_DEFAULT )
- return beans::PropertyState_DEFAULT_VALUE;
- else if( eState < SFX_ITEM_DEFAULT )
- return beans::PropertyState_AMBIGUOUS_VALUE;
- else
- return beans::PropertyState_DIRECT_VALUE;
- }
- }
-
- return beans::PropertyState_DIRECT_VALUE;
-}
-
-/*
-uno::Sequence< beans::PropertyState > SAL_CALL ChXDataPoint::getPropertyStates(
- const uno::Sequence< ::rtl::OUString >& aPropertyName )
- throw( beans::UnknownPropertyException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const sal_Int32 nCount = aPropertyName.getLength();
- const ::rtl::OUString* pNames = aPropertyName.getConstArray();
-
- uno::Sequence< beans::PropertyState > aRet( nCount );
- beans::PropertyState* pState = aRet.getArray();
-
- for( sal_Int32 nIdx = 0; nIdx < nCount; nIdx++ )
- pState[ nIdx ] = getPropertyState( pNames[ nIdx ] );
-
- return aRet;
-}
-*/
-
-uno::Sequence< beans::PropertyState > SAL_CALL
- ChXDataPoint::getPropertyStates (
- const uno::Sequence< ::rtl::OUString > & aPropertyName)
- throw (beans::UnknownPropertyException,
- uno::RuntimeException)
-{
- SolarMutexGuard aGuard;
-
- const sal_Int32 nCount = aPropertyName.getLength();
- const ::rtl::OUString* pNames = aPropertyName.getConstArray();
-
- uno::Sequence<beans::PropertyState> aResult (nCount);
- beans::PropertyState * pStateArray = aResult.getArray();
-
- // for pie charts data point attributes are stored in data rows
- // which are returned by GetDataPointAttr() if no explicit
- // arguments exist
- if (mpModel->IsDataPointAttrSet (mnCol, mnRow) ||
- (mpModel->IsPieChart()))
- {
- uno::Any aAny;
- SfxAllItemSet aSet( mpModel->GetItemPool() );
- SfxItemState eState1,eState2;
- const SfxItemPropertyMap * pMap;
-
- AddDataPointAttr( aSet );
-
- for (sal_Int32 nIndex=0; nIndex<nCount; nIndex++)
- {
- pMap = maPropSet.getPropertyMapEntry (pNames[nIndex]);
-
- if (mpModel && pMap && pMap->nWID)
- {
- switch (pMap->nWID)
- {
- case CHATTR_PIE_SEGMENT_OFFSET:
- if( mpModel->IsPieChart() )
- {
- pStateArray[nIndex] = (mpModel->PieSegOfs (mnCol) != 0)
- ? beans::PropertyState_DIRECT_VALUE
- : beans::PropertyState_DEFAULT_VALUE;
- }
- else
- {
- pStateArray[nIndex] = beans::PropertyState_DEFAULT_VALUE;
- }
- break;
-
- case SCHATTR_DATADESCR_DESCR:
- eState1 = aSet.GetItemState (SCHATTR_DATADESCR_DESCR);
- eState2 = aSet.GetItemState (SCHATTR_DATADESCR_SHOW_SYM);
- if (eState1 == SFX_ITEM_DEFAULT && eState2 == SFX_ITEM_DEFAULT)
- pStateArray[nIndex] = beans::PropertyState_DEFAULT_VALUE;
- else if (eState1 < SFX_ITEM_DEFAULT && eState2 < SFX_ITEM_DEFAULT)
- pStateArray[nIndex] = beans::PropertyState_AMBIGUOUS_VALUE;
- else
- pStateArray[nIndex] = beans::PropertyState_DIRECT_VALUE;
- break;
-
- case OWN_ATTR_FILLBMP_MODE:
- eState1 = aSet.GetItemState( XATTR_FILLBMP_STRETCH, false );
- eState2 = aSet.GetItemState( XATTR_FILLBMP_TILE, false );
- if (eState1 == SFX_ITEM_SET || eState2 == SFX_ITEM_SET)
- pStateArray[nIndex] = beans::PropertyState_DIRECT_VALUE;
- else
- pStateArray[nIndex] = beans::PropertyState_DEFAULT_VALUE;
- break;
-
- default:
- switch (aSet.GetItemState (pMap->nWID))
- {
- case SFX_ITEM_DEFAULT: // 0x0020
- pStateArray[nIndex] = beans::PropertyState_DEFAULT_VALUE;
- break;
-
- case SFX_ITEM_UNKNOWN: // 0x0000
- case SFX_ITEM_DISABLED: // 0x0001
- case SFX_ITEM_READONLY: // 0x0002
- case SFX_ITEM_DONTCARE: // 0x0010
- pStateArray[nIndex] = beans::PropertyState_AMBIGUOUS_VALUE;
- break;
-
- default:
- // SFX_ITEM_SET 0x0030
- pStateArray[nIndex] = beans::PropertyState_DIRECT_VALUE;
- }
- }
- }
- else
- pStateArray[nIndex] = beans::PropertyState_DEFAULT_VALUE;
-// pStateArray[nIndex] = beans::PropertyState_DIRECT_VALUE;
- }
- }
- else
- for (sal_Int32 nIndex=0; nIndex<nCount; nIndex++)
- pStateArray[nIndex] = beans::PropertyState_DEFAULT_VALUE;
-
- return aResult;
-}
-
-
-
-
-void SAL_CALL ChXDataPoint::setPropertyToDefault( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( mpModel && pMap && pMap->nWID )
- {
- if( pMap->nWID == CHATTR_PIE_SEGMENT_OFFSET )
- {
- mpModel->SetPieSegOfs( mnCol, 0 );
- }
- else if( pMap->nWID == SCHATTR_DATADESCR_DESCR )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
-
- aSet.ClearItem( SCHATTR_DATADESCR_DESCR );
- aSet.ClearItem( SCHATTR_DATADESCR_SHOW_SYM );
- mpModel->PutDataPointAttr( mnCol, mnRow, aSet );
- }
- else
- {
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
-
- aSet.ClearItem( pMap->nWID );
- mpModel->PutDataPointAttr( mnCol, mnRow, aSet );
- }
- }
-}
-
-uno::Any SAL_CALL ChXDataPoint::getPropertyDefault( const ::rtl::OUString& aPropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- uno::Any aAny;
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( mpModel && ! mpModel->GetItemPool().IsWhich( pMap->nWID ))
- throw beans::UnknownPropertyException();
-
- if( mpModel && pMap && pMap->nWID )
- {
- if( pMap->nWID == CHATTR_PIE_SEGMENT_OFFSET )
- {
- aAny <<= (sal_Int32)0;
- }
- else if( pMap->nWID == SCHATTR_DATADESCR_DESCR )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
-
- aSet.Put( mpModel->GetItemPool().GetDefaultItem( SCHATTR_DATADESCR_DESCR ));
- aSet.Put( mpModel->GetItemPool().GetDefaultItem( SCHATTR_DATADESCR_SHOW_SYM ));
- aAny = maPropSet.getPropertyValue( pMap, aSet );
- }
- else
- {
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
- aSet.Put( mpModel->GetItemPool().GetDefaultItem( pMap->nWID ));
- aAny = maPropSet.getPropertyValue( pMap, aSet );
- }
-
- if( *pMap->pType != aAny.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *pMap->pType == ::getCppuType((const sal_Int16*)0)) && aAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- aAny >>= nValue;
- aAny <<= static_cast< sal_Int16 >( nValue );
- }
- else
- {
- OSL_FAIL( "getPropertyDefault(): wrong Type!" );
- }
- }
- }
-
- return aAny;
-}
-
-
-// XShapeDescriptor ( ::XShape ::XDiagram )
-::rtl::OUString SAL_CALL ChXDataPoint::getShapeType() throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "com.sun.star.chart.ChartDataPoint" );
-}
-
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChXDataPoint::getImplementationName() throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "ChXDataPoint" );
-}
-
-sal_Bool SAL_CALL ChXDataPoint::supportsService( const ::rtl::OUString& ServiceName ) throw( uno::RuntimeException )
-{
- return SvxServiceInfoHelper::supportsService( ServiceName, getSupportedServiceNames() );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXDataPoint::getSupportedServiceNames() throw( uno::RuntimeException )
-{
- uno::Sequence< ::rtl::OUString > aSeq;
- SvxServiceInfoHelper::addToSequence(
- aSeq, 5,
- "com.sun.star.chart.ChartDataPointProperties",
- "com.sun.star.drawing.LineProperties",
- "com.sun.star.drawing.FillProperties",
- "com.sun.star.style.CharacterProperties",
- "com.sun.star.xml.UserDefinedAttributeSupplier" );
-
- if( mpModel )
- {
- long nType = mpModel->GetBaseType();
- if( mpModel->Is3DChart() && (nType == CHTYPE_BAR || nType == CHTYPE_COLUMN) )
- SvxServiceInfoHelper::addToSequence( aSeq, 1, "com.sun.star.chart.Chart3DBarProperties" );
- else if( ! mpModel->Is3DChart() && nType == CHTYPE_CIRCLE )
- SvxServiceInfoHelper::addToSequence( aSeq, 1, "com.sun.star.chart.ChartPieSegmentProperties" );
- }
-
- return aSeq;
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChXDataPoint::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return 0;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXDataRow.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXDataRow.cxx
deleted file mode 100644
index e82712488..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXDataRow.cxx
+++ /dev/null
@@ -1,811 +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.
- *
- ************************************************************************/
-
-#include "ChXDataRow.hxx"
-#include "mapprov.hxx"
-#include "ChartLine.hxx"
-
-// header for SvxServiceInfoHelper
-// header for class OGuard
-// header for class Application
-#include <vcl/svapp.hxx>
-// header for SvxUnoTextRangeBase
-// for OWN_ATTR_...
-#include <bf_svx/unoshprp.hxx>
-// for SID_ATTR_...
-#include <bf_svx/svxids.hrc>
-#include <bf_svx/unoshape.hxx>
-#include <rtl/uuid.h>
-#include <rtl/memory.h>
-
-#include "schattr.hxx"
-
-#ifndef _SVX_BRSHITEM_HXX
-#define ITEMID_BRUSH SCHATTR_SYMBOL_BRUSH
-#include <bf_svx/brshitem.hxx>
-#endif
-// header for SVX_SYMBOLTYPE_BRUSHITEM
-#include <bf_svx/tabline.hxx>
-#include <bf_svx/unoapi.hxx>
-
-#include <com/sun/star/chart/ChartDataCaption.hpp>
-#include <com/sun/star/chart/ChartAxisAssign.hpp>
-#include <comphelper/extract.hxx>
-
-#include <bf_svx/xflbstit.hxx>
-#include <bf_svx/xflbmtit.hxx>
-
-// header for SvxChartDataDescrItem
-#ifndef _SVX_CHRTITEM_HXX
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-#endif
-
-#include "globfunc.hxx" // for GlobalGenerate3DAttrDefaultItem
-#include "unonames.hxx"
-namespace binfilter {
-
-extern SchUnoPropertyMapProvider aSchMapProvider;
-
-using namespace ::com::sun::star;
-
-ChXDataRow::ChXDataRow( sal_Int32 _Row, ChartModel* _Model ) :
- maPropSet( aSchMapProvider.GetMap( _Model? CHMAP_DATAROW: CHMAP_NONE, _Model )),
- mpModel( _Model ),
- mnRow( _Row )
-{}
-
-ChXDataRow::~ChXDataRow()
-{}
-
-// generate a uniqueId
-const uno::Sequence< sal_Int8 > & ChXDataRow::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-uno::Reference< beans::XPropertySet > ChXDataRow::getStatisticsProperties( sal_Int32 nId ) const
-{
- SolarMutexGuard aGuard;
-
- if( mpModel )
- {
- beans::XPropertySet* pObj = new ChartLine( mpModel, nId, mnRow );
- uno::Reference< beans::XPropertySet > xObj( pObj );
- if( xObj.is() )
- return xObj;
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
-
- return uno::Reference< beans::XPropertySet >();
-}
-
-
-// XPropertySet
-uno::Reference< beans::XPropertySetInfo > SAL_CALL ChXDataRow::getPropertySetInfo() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- return maPropSet.getPropertySetInfo();
-}
-
-void SAL_CALL ChXDataRow::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue )
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- sal_Bool bPropertyUnknown = sal_False;
-
- if( mpModel )
- {
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( pMap && pMap->nWID )
- {
- if( pMap->nFlags & beans::PropertyAttribute::READONLY )
- throw beans::PropertyVetoException();
-
- USHORT nWID = pMap->nWID;
- SfxItemSet* pSet;
-
- if( nWID == SCHATTR_DATADESCR_DESCR || nWID == SCHATTR_DATADESCR_SHOW_SYM )
- {
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
- }
- else if( nWID == CHATTR_PIE_SEGMENT_OFFSET ) // member of ChartModel rather than property
- {
- // (not fully supported yet. problem: getPropertyValue)
- sal_Int32 nVal(0);
- aValue >>= nVal;
- short nValToSet = (short)(abs( nVal ) % 101); // cast long->short is ok (range 0..100)
-
- if( mnRow == 0 ) // must be first row
- {
- long nCount = mpModel->GetColCount(), i;
- for( i=0; i<nCount; i++ )
- mpModel->SetPieSegOfs( i, nValToSet );
- }
- SvxChartStyle& rStyle = mpModel->ChartStyle();
- if( rStyle == CHSTYLE_2D_PIE_SEGOF1 ||
- rStyle == CHSTYLE_2D_PIE_SEGOFALL )
- rStyle = CHSTYLE_2D_PIE;
-
- mpModel->BuildChart( FALSE );
- return; // RETURN
- }
- else if( nWID == OWN_ATTR_FILLBMP_MODE )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
-
- do
- {
- drawing::BitmapMode eMode;
- if(!(aValue >>= eMode) )
- {
- sal_Int32 nMode = 0;
- if(!(aValue >>= nMode))
- break;
-
- eMode = (drawing::BitmapMode)nMode;
- }
- aSet.Put( XFillBmpStretchItem( eMode == drawing::BitmapMode_STRETCH ) );
- aSet.Put( XFillBmpTileItem( eMode == drawing::BitmapMode_REPEAT ) );
- }
- while(0);
- mpModel->PutDataRowAttr( mnRow, aSet );
- mpModel->BuildChart( FALSE );
-
- return;
- }
- else if( nWID == SCHATTR_SYMBOL_BRUSH )
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID,
- SCHATTR_STYLE_SYMBOL, SCHATTR_STYLE_SYMBOL, 0 );
- else
- {
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID );
- }
- DBG_ASSERT( pSet, "Itemset is invalid!" );
-
- pSet->Put( mpModel->GetDataRowAttr( mnRow ));
-
- if( ! pSet->Count() )
- {
- // get default from ItemPool
- if( mpModel->GetItemPool().IsWhich( nWID ))
- {
- if( ! ( OWN_ATTR_VALUE_START <= nWID && nWID <= OWN_ATTR_VALUE_END ))
- {
- pSet->Put( mpModel->GetItemPool().GetDefaultItem( nWID ));
- }
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( aPropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
-
- if( pSet->Count() )
- {
- sal_Int32 nVal(0);
- switch( nWID )
- {
- case SCHATTR_STAT_KIND_ERROR:
- case SCHATTR_STAT_INDICATE:
- case SCHATTR_STAT_REGRESSTYPE:
- // property is enum, but item is INT32
- cppu::enum2int( nVal, aValue );
- pSet->Put( SfxInt32Item( nWID, nVal ) );
- break;
- // BM: theese two SCHATTRs are merged into one INT32, so extract them from aValue
- case SCHATTR_DATADESCR_DESCR:
- case SCHATTR_DATADESCR_SHOW_SYM:
- {
- // symbol
- aValue >>= nVal;
- pSet->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_SYM,
- ((nVal & chart::ChartDataCaption::SYMBOL) != 0 )));
-
- // display text, percent or both or value
- SvxChartDataDescr eDescr = CHDESCR_NONE;
- if( nVal & chart::ChartDataCaption::TEXT )
- {
- if( nVal & chart::ChartDataCaption::PERCENT )
- eDescr = CHDESCR_TEXTANDPERCENT;
- else if( (nVal & chart::ChartDataCaption::VALUE) )
- eDescr = CHDESCR_TEXTANDVALUE;
- else
- eDescr = CHDESCR_TEXT;
- }
- else if( (nVal & chart::ChartDataCaption::VALUE) )
- {
- eDescr = CHDESCR_VALUE;
- }
- else
- {
- if( (nVal & chart::ChartDataCaption::PERCENT) )
- eDescr = CHDESCR_PERCENT;
- }
-
- // chart::ChartDataCaption::FORMAT (missing)
-
- pSet->Put( SvxChartDataDescrItem( eDescr ) );
- }
- break;
- case SCHATTR_SYMBOL_BRUSH:
- {
- ::rtl::OUString aURL;
- aValue >>= aURL;
- BfGraphicObject aGraphObj = CreateGraphicObjectFromURL( aURL );
- SvxBrushItem aItem( SCHATTR_SYMBOL_BRUSH );
- aItem.SetGraphic( aGraphObj.GetGraphic() );
- pSet->Put( aItem );
- }
- break;
-
- case XATTR_FILLBITMAP:
- case XATTR_FILLGRADIENT:
- case XATTR_FILLHATCH:
- case XATTR_FILLFLOATTRANSPARENCE:
- case XATTR_LINEEND:
- case XATTR_LINESTART:
- case XATTR_LINEDASH:
- if( pMap->nMemberId == MID_NAME )
- {
- ::rtl::OUString aStr;
- if( aValue >>= aStr )
- SvxShape::SetFillAttribute( nWID, aStr, *pSet, mpModel );
- break;
- }
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- break;
-
- case SCHATTR_AXIS:
- aValue >>= nVal;
- if( nVal != chart::ChartAxisAssign::PRIMARY_Y &&
- nVal != chart::ChartAxisAssign::SECONDARY_Y )
- {
- throw lang::IllegalArgumentException();
- }
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- break;
-
- default:
- // CL: convert special character properties
- if( ! SvxUnoTextRangeBase::SetPropertyValueHelper( *pSet, pMap, aValue, *pSet ))
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- break;
- }
-
- mpModel->PutDataRowAttr( mnRow, *pSet );
-
- if( SCHATTR_DATADESCR_START <= nWID && nWID <= SCHATTR_DATADESCR_END )
- {
- SfxItemSet rAttr( mpModel->GetDataRowAttr( mnRow ));
- SvxChartDataDescr eNewDataDescr(CHDESCR_NONE);
- BOOL bNewShowSym(FALSE);
- const SfxPoolItem *pPoolItem;
-
- if( rAttr.GetItemState( SCHATTR_DATADESCR_DESCR, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- eNewDataDescr = ((const SvxChartDataDescrItem*)pPoolItem)->GetValue();
-
- if( rAttr.GetItemState( SCHATTR_DATADESCR_SHOW_SYM, TRUE, &pPoolItem ) == SFX_ITEM_SET )
- bNewShowSym = ((const SfxBoolItem*)pPoolItem)->GetValue();
-
- mpModel->ChangeDataDescr( eNewDataDescr, bNewShowSym, mnRow, FALSE );
- }
-
- mpModel->BuildChart( FALSE );
- }
- else
- {
- bPropertyUnknown = sal_True;
- }
- if( pSet )
- delete pSet;
- }
- else
- {
- bPropertyUnknown = sal_True;
- }
- }
- else
- {
- DBG_WARNING( "No Model" );
- }
-
- if( bPropertyUnknown )
- {
- ::rtl::OUString aMessage( RTL_CONSTASCII_USTRINGPARAM( "Data Row: Unknown Property " ));
- aMessage += aPropertyName;
- beans::UnknownPropertyException aExcpt( aMessage, (::cppu::OWeakObject*)this );
- throw aExcpt;
- }
-}
-
-uno::Any SAL_CALL ChXDataRow::getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Any aAny;
-
- if( mpModel )
- {
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( pMap && pMap->nWID )
- {
- SfxItemSet* pSet;
- USHORT nWID = pMap->nWID;
-
- if( nWID == SCHATTR_STYLE_SHAPE &&
- ! mpModel->IsReal3D())
- return aAny;
-
- if( nWID == SCHATTR_DATADESCR_DESCR || nWID == SCHATTR_DATADESCR_SHOW_SYM )
- {
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
- }
- else if( nWID == OWN_ATTR_FILLBMP_MODE )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
-
- aSet.Put( mpModel->GetDataRowAttr( mnRow ));
-
- XFillBmpStretchItem* pStretchItem = (XFillBmpStretchItem*)&aSet.Get( XATTR_FILLBMP_STRETCH );
- XFillBmpTileItem* pTileItem = (XFillBmpTileItem*)&aSet.Get( XATTR_FILLBMP_TILE );
-
- if( pTileItem && pTileItem->GetValue() )
- {
- aAny <<= drawing::BitmapMode_REPEAT;
- }
- else if( pStretchItem && pStretchItem->GetValue() )
- {
- aAny <<= drawing::BitmapMode_STRETCH;
- }
- else
- {
- aAny <<= drawing::BitmapMode_NO_REPEAT;
- }
- return aAny;
- }
- else
- {
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID );
- }
-
- switch( nWID )
- {
- case CHATTR_REGRESSION_PROPS:
- {
- uno::Reference< beans::XPropertySet > xProps = getStatisticsProperties( CHOBJID_DIAGRAM_REGRESSION );
- aAny <<= xProps;
- return aAny; // RETURN
- }
-
- case CHATTR_ERROR_PROPS:
- {
- uno::Reference< beans::XPropertySet > xProps = getStatisticsProperties( CHOBJID_DIAGRAM_ERROR );
- aAny <<= xProps;
- return aAny; // RETURN
- }
-
- case CHATTR_AVERAGE_PROPS:
- {
- uno::Reference< beans::XPropertySet > xProps = getStatisticsProperties( CHOBJID_DIAGRAM_AVERAGEVALUE );
- aAny <<= xProps;
- return aAny; // RETURN
- }
-
- default:
- pSet->Put( mpModel->GetDataRowAttr( mnRow ));
- }
-
- if( ! pSet->Count() )
- {
- // Default aus ItemPool holen
- if( mpModel->GetItemPool().IsWhich( nWID ))
- {
- if( OWN_ATTR_VALUE_START > nWID || nWID > OWN_ATTR_VALUE_END )
- {
- pSet->Put( mpModel->GetItemPool().GetDefaultItem( nWID ) );
- }
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( PropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
-
- if( pSet->Count() )
- {
- // get value from ItemSet
-
- // theese two SCHATTRs have to be merged into one INT32 in aAny
- if( nWID == SCHATTR_DATADESCR_DESCR || nWID == SCHATTR_DATADESCR_SHOW_SYM )
- {
- BOOL bShowSymbol = ((const SfxBoolItem&)
- (pSet->Get(SCHATTR_DATADESCR_SHOW_SYM))).GetValue();
- SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)
- (pSet->Get(SCHATTR_DATADESCR_DESCR))).GetValue();
-
- sal_Int32 nVal = 0;
- switch( eDescr )
- {
- case CHDESCR_NONE:
- nVal = chart::ChartDataCaption::NONE;
- break;
- case CHDESCR_VALUE:
- nVal = chart::ChartDataCaption::VALUE;
- break;
- case CHDESCR_PERCENT:
- nVal = chart::ChartDataCaption::PERCENT;
- break;
- case CHDESCR_TEXT:
- nVal = chart::ChartDataCaption::TEXT;
- break;
- case CHDESCR_TEXTANDPERCENT:
- nVal = chart::ChartDataCaption::PERCENT | chart::ChartDataCaption::TEXT;
- break;
- case CHDESCR_TEXTANDVALUE:
- nVal = chart::ChartDataCaption::VALUE | chart::ChartDataCaption::TEXT;
- break;
- default:
- break;
- }
- if( bShowSymbol ) nVal |= chart::ChartDataCaption::SYMBOL;
-
- aAny <<= nVal;
- }
- else if( nWID == SCHATTR_SYMBOL_BRUSH )
- {
- ::rtl::OUString aURL;
- const BfGraphicObject* pGraphObj =
- ((const SvxBrushItem &)(pSet->Get( nWID ))).GetGraphicObject();
- if( pGraphObj )
- {
- aURL = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( UNO_NAME_GRAPHOBJ_URLPREFIX ));
- aURL += ::rtl::OUString::createFromAscii( pGraphObj->GetUniqueID().GetBuffer());
- }
- aAny <<= aURL;
- }
- else
- {
- aAny = maPropSet.getPropertyValue( pMap, *pSet );
- if( *pMap->pType != aAny.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *pMap->pType == ::getCppuType((const sal_Int16*)0)) && aAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- aAny >>= nValue;
- aAny <<= static_cast< sal_Int16 >( nValue );
- }
- else
- {
- OSL_FAIL( "getPropertyValue(): wrong Type!" );
- }
- }
- }
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- if( pSet )
- delete pSet;
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- }
-
- return aAny;
-}
-
-void SAL_CALL ChXDataRow::addPropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDataRow::removePropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDataRow::addVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDataRow::removeVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-// XPropertyState
-beans::PropertyState SAL_CALL ChXDataRow::getPropertyState( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException, uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( mpModel &&
- pMap && pMap->nWID )
- {
- if( pMap->nWID == SCHATTR_DATADESCR_DESCR )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
- aSet.Put( mpModel->GetDataRowAttr( mnRow ));
-
- SfxItemState eState1 = aSet.GetItemState( SCHATTR_DATADESCR_DESCR );
- SfxItemState eState2 = aSet.GetItemState( SCHATTR_DATADESCR_SHOW_SYM );
- if( eState1 == SFX_ITEM_DEFAULT &&
- eState2 == SFX_ITEM_DEFAULT )
- return beans::PropertyState_DEFAULT_VALUE;
- else if( eState1 < SFX_ITEM_DEFAULT &&
- eState2 < SFX_ITEM_DEFAULT )
- return beans::PropertyState_AMBIGUOUS_VALUE;
- else
- return beans::PropertyState_DIRECT_VALUE;
- }
- else if( pMap->nWID == OWN_ATTR_FILLBMP_MODE )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- XATTR_FILLBMP_STRETCH, XATTR_FILLBMP_STRETCH,
- XATTR_FILLBMP_TILE, XATTR_FILLBMP_TILE, 0 );
- aSet.Put( mpModel->GetDataRowAttr( mnRow ));
-
- if( aSet.GetItemState( XATTR_FILLBMP_STRETCH, false ) == SFX_ITEM_SET ||
- aSet.GetItemState( XATTR_FILLBMP_TILE, false ) == SFX_ITEM_SET )
- return beans::PropertyState_DIRECT_VALUE;
- else
- return beans::PropertyState_DEFAULT_VALUE;
- }
- else
- {
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
- aSet.Put( mpModel->GetDataRowAttr( mnRow ));
-
- SfxItemState eState = aSet.GetItemState( pMap->nWID );
- if( eState == SFX_ITEM_DEFAULT )
- return beans::PropertyState_DEFAULT_VALUE;
- else if( eState < SFX_ITEM_DEFAULT )
- return beans::PropertyState_AMBIGUOUS_VALUE;
- else
- return beans::PropertyState_DIRECT_VALUE;
- }
- }
-
- return beans::PropertyState_DIRECT_VALUE;
-}
-
-uno::Sequence< beans::PropertyState > SAL_CALL ChXDataRow::getPropertyStates(
- const uno::Sequence< ::rtl::OUString >& aPropertyName )
- throw( beans::UnknownPropertyException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const sal_Int32 nCount = aPropertyName.getLength();
- const ::rtl::OUString* pNames = aPropertyName.getConstArray();
-
- uno::Sequence< beans::PropertyState > aRet( nCount );
- beans::PropertyState* pState = aRet.getArray();
-
- for( sal_Int32 nIdx = 0; nIdx < nCount; nIdx++ )
- pState[ nIdx ] = getPropertyState( pNames[ nIdx ] );
-
- return aRet;
-}
-
-void SAL_CALL ChXDataRow::setPropertyToDefault( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( mpModel && pMap && pMap->nWID )
- {
- if( pMap->nWID == SCHATTR_DATADESCR_DESCR )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
-
- aSet.ClearItem( SCHATTR_DATADESCR_DESCR );
- aSet.ClearItem( SCHATTR_DATADESCR_SHOW_SYM );
- mpModel->PutDataRowAttr( mnRow, aSet );
- }
- else
- {
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
-
- aSet.ClearItem( pMap->nWID );
- mpModel->PutDataRowAttr( mnRow, aSet );
- }
- }
-}
-
-uno::Any SAL_CALL ChXDataRow::getPropertyDefault( const ::rtl::OUString& aPropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- uno::Any aAny;
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( mpModel && ! mpModel->GetItemPool().IsWhich( pMap->nWID ))
- throw beans::UnknownPropertyException();
-
- if( mpModel && pMap && pMap->nWID )
- {
- if( pMap->nWID == CHATTR_PIE_SEGMENT_OFFSET )
- {
- aAny <<= (sal_Int32)0;
- }
- else if( pMap->nWID == SCHATTR_DATADESCR_DESCR )
- {
- SfxItemSet aSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
-
- aSet.Put( mpModel->GetItemPool().GetDefaultItem( SCHATTR_DATADESCR_DESCR ));
- aSet.Put( mpModel->GetItemPool().GetDefaultItem( SCHATTR_DATADESCR_SHOW_SYM ));
- aAny = maPropSet.getPropertyValue( pMap, aSet );
- }
- else
- {
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
- aSet.Put( mpModel->GetItemPool().GetDefaultItem( pMap->nWID ));
- aAny = maPropSet.getPropertyValue( pMap, aSet );
- }
-
- if( *pMap->pType != aAny.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *pMap->pType == ::getCppuType((const sal_Int16*)0)) && aAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- aAny >>= nValue;
- aAny <<= static_cast< sal_Int16 >( nValue );
- }
- else
- {
- OSL_FAIL( "getPropertyDefault(): wrong Type!" );
- }
- }
- }
-
- return aAny;
-}
-
-// XShapeDescriptor
-::rtl::OUString SAL_CALL ChXDataRow::getShapeType() throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "com.sun.star.chart.ChartDataRow" );
-}
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChXDataRow::getImplementationName() throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "ChXDataRow" );
-}
-
-sal_Bool SAL_CALL ChXDataRow::supportsService( const ::rtl::OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- return SvxServiceInfoHelper::supportsService( ServiceName, getSupportedServiceNames() );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXDataRow::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- uno::Sequence< ::rtl::OUString > aSeq;
- SvxServiceInfoHelper::addToSequence(
- aSeq, 7,
- "com.sun.star.chart.ChartDataPointProperties",
- "com.sun.star.chart.ChartDataRowProperties",
- "com.sun.star.chart.ChartStatistics",
- "com.sun.star.drawing.LineProperties",
- "com.sun.star.drawing.FillProperties",
- "com.sun.star.style.CharacterProperties",
- "com.sun.star.xml.UserDefinedAttributeSupplier" );
-
- if( mpModel && mpModel->Is3DChart() )
- {
- long nType = mpModel->GetBaseType();
- if( nType == CHTYPE_BAR || nType == CHTYPE_COLUMN )
- SvxServiceInfoHelper::addToSequence( aSeq, 1, "com.sun.star.chart.Chart3DBarProperties" );
- }
-
- return aSeq;
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChXDataRow::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return 0;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChXDiagram.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChXDiagram.cxx
deleted file mode 100644
index 8eb24e302..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChXDiagram.cxx
+++ /dev/null
@@ -1,2069 +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.
- *
- ************************************************************************/
-
-// header for class OGuard
-// header for class Application
-#include <vcl/svapp.hxx>
-
-#include "schattr.hxx"
-#ifndef _SVX_BRSHITEM_HXX
-#define ITEMID_BRUSH SCHATTR_SYMBOL_BRUSH
-#include <bf_svx/brshitem.hxx>
-#endif
-// header for CreateGraphicObjectFromURL
-#include <bf_svx/unoapi.hxx>
-// header for SvxChartDataDescrItem
-#ifndef _SVX_CHRTITEM_HXX
-#define ITEMID_CHARTDATADESCR SCHATTR_DATADESCR_DESCR
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-
-#include "ChXDiagram.hxx"
-#include "ChXChartAxis.hxx"
-#include "ChXDataRow.hxx"
-#include "ChXDataPoint.hxx"
-#include "ChartTitle.hxx"
-#include "ChartLine.hxx"
-#include "ChartArea.hxx"
-#include "ChartGrid.hxx"
-
-#include "mapprov.hxx"
-
-#include "schattr.hxx"
-#include "charttyp.hxx"
-#include "chtscene.hxx"
-#include "docshell.hxx"
-
-#include <bf_svx/unoshape.hxx>
-// for OWN_ATTR_...
-#include <bf_svx/unoshprp.hxx>
-// for SID_ATTR_...
-#include <bf_svx/svxids.hrc>
-#include <rtl/uuid.h>
-#include <rtl/memory.h>
-// header for any2enum
-#include <comphelper/extract.hxx>
-
-#include <com/sun/star/chart/ChartDataRowSource.hpp>
-#include <com/sun/star/chart/ChartErrorCategory.hpp>
-#include <com/sun/star/chart/ChartErrorIndicatorType.hpp>
-#include <com/sun/star/chart/ChartRegressionCurveType.hpp>
-#include <com/sun/star/chart/ChartDataCaption.hpp>
-
-#include <rtl/logfile.hxx>
-
-#include "pairs.hxx"
-#include "unonames.hxx"
-
-namespace
-{
-::binfilter::ChartScene * lcl_GetScene( ::binfilter::ChartModel * pModel )
-{
- ::binfilter::ChartScene * pScene = NULL;
-
- if( pModel && pModel->IsReal3D() )
- {
- if( ! pModel->IsInitialized())
- pModel->Initialize();
- pScene = pModel->GetScene();
- }
-
- return pScene;
-}
-} // anonymous namespace
-
-
-namespace binfilter {
-
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::beans;
-
-using rtl::OUString;
-
-extern SchUnoPropertyMapProvider aSchMapProvider;
-
-#if defined(MACOSX) && ( __GNUC__ < 3 )
-static cppu::ClassData14 cppu::ImplHelper14::s_aCD;
-static cppu::ClassData14 cppu::WeakImplHelper14::s_aCD;
-#endif
-
-#define MATRIX4D_TO_HOMOGEN_MATRIX( m, h ) \
- h.Line1.Column1 = m[0][0]; \
- h.Line1.Column2 = m[0][1]; \
- h.Line1.Column3 = m[0][2]; \
- h.Line1.Column4 = m[0][3]; \
- h.Line2.Column1 = m[1][0]; \
- h.Line2.Column2 = m[1][1]; \
- h.Line2.Column3 = m[1][2]; \
- h.Line2.Column4 = m[1][3]; \
- h.Line3.Column1 = m[2][0]; \
- h.Line3.Column2 = m[2][1]; \
- h.Line3.Column3 = m[2][2]; \
- h.Line3.Column4 = m[2][3]; \
- h.Line4.Column1 = m[3][0]; \
- h.Line4.Column2 = m[3][1]; \
- h.Line4.Column3 = m[3][2]; \
- h.Line4.Column4 = m[3][3]
-
-#define HOMOGEN_MATRIX_TO_MATRIX4D( h, m ) \
- m[0][0] = h.Line1.Column1; \
- m[0][1] = h.Line1.Column2; \
- m[0][2] = h.Line1.Column3; \
- m[0][3] = h.Line1.Column4; \
- m[1][0] = h.Line2.Column1; \
- m[1][1] = h.Line2.Column2; \
- m[1][2] = h.Line2.Column3; \
- m[1][3] = h.Line2.Column4; \
- m[2][0] = h.Line3.Column1; \
- m[2][1] = h.Line3.Column2; \
- m[2][2] = h.Line3.Column3; \
- m[2][3] = h.Line3.Column4; \
- m[3][0] = h.Line4.Column1; \
- m[3][1] = h.Line4.Column2; \
- m[3][2] = h.Line4.Column3; \
- m[3][3] = h.Line4.Column4
-
-#define CALL(object,interface,method) {uno::Reference<interface>x(object,uno::UNO_QUERY); if(x.is())x.method();}
-#define CALL1(object,interface,method,arg1) {uno::Reference<interface>x(object,uno::UNO_QUERY); if(x.is())x.method(arg1);}
-
-inline void add_listener (uno::Reference<uno::XInterface> xObject, ChXDiagram * p)
-{
- if ( ! xObject.is())
- return;
- uno::Reference<lang::XComponent> xComponent (xObject, uno::UNO_QUERY);
- if (xComponent.is())
- xComponent->addEventListener (p);
-}
-
-ChXDiagram::ChXDiagram( SchChartDocShell* pDocShell, sal_Bool bPreInit ) :
- mnBaseType( -1 ),
- mpModel( NULL ),
- maPropSet( aSchMapProvider.GetMap( CHMAP_CHART, NULL )),
- maListenerList (maMutex)
-{
- if( bPreInit )
- {
- DBG_ASSERT( pDocShell, "Cannot do PreInit when using invalid DocShell." );
- SetDocShell( pDocShell );
- }
-}
-
-ChXDiagram::~ChXDiagram() {}
-
-// bKeepModel = sal_True => try to keep model. If model is invalid take the one from DocShell
-sal_Bool ChXDiagram::SetDocShell( SchChartDocShell* pDocShell, sal_Bool bKeepModel ) throw()
-{
- SolarMutexGuard aGuard;
- sal_Bool bModelKept = sal_False;
-
- if( pDocShell )
- {
- if( bKeepModel && mpModel )
- {
- // copy current model
- ChartModel* pModel = SAL_STATIC_CAST( ChartModel*, mpModel->AllocModel());
- if( pModel )
- {
- pDocShell->SetModelPtr( pModel );
- if( ! pModel->SetObjectShell( pDocShell ))
- {
- OSL_FAIL( "Couldn't set docshell" );
- }
-
- delete mpModel;
- mpModel = pModel;
- bModelKept = sal_True;
- }
- }
- else
- {
- // use model of new DocShell
- mpModel = pDocShell->GetModelPtr();
- if( ! bKeepModel && mpModel )
- {
- maPropSet = SvxItemPropertySet( aSchMapProvider.GetMap( CHMAP_CHART, mpModel ));
- maServiceName = getDiagramType();
- }
- }
- }
- else
- mpModel = NULL;
-
- return bModelKept;
-}
-
-// generate a uniqueId
-const uno::Sequence< sal_Int8 > & ChXDiagram::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-ChXDiagram* ChXDiagram::getImplementation( uno::Reference< uno::XInterface > xData ) throw()
-{
- uno::Reference< lang::XUnoTunnel > xUT( xData, uno::UNO_QUERY );
- if( xUT.is() )
- return (ChXDiagram*)xUT->getSomething( ChXDiagram::getUnoTunnelId() );
- else
- return NULL;
-}
-
-uno::Any ChXDiagram::GetAnyByItem( SfxItemSet& aSet, const SfxItemPropertyMap* pMap )
-{
- DBG_ASSERT( pMap, "GetAnyByItem: invalid Map!" );
- DBG_ASSERT( mpModel, "GetAnyByItem: invalid Model!" );
-
- uno::Any aAny;
-
- switch( pMap->nWID )
- {
- case CHATTR_DATA_SWITCH: // BM: SwitchData is enum now
- {
- sal_Bool bIsOn = SAL_STATIC_CAST( const SfxBoolItem&, aSet.Get( CHATTR_DATA_SWITCH ) ).GetValue();
- chart::ChartDataRowSource eRowSource =
- bIsOn ? chart::ChartDataRowSource_COLUMNS : chart::ChartDataRowSource_ROWS;
- aAny <<= eRowSource;
- }
- break;
-
- case SCHATTR_STYLE_SHAPE:
- aAny <<= SAL_STATIC_CAST( sal_Int32, mpModel->GetChartShapeType() );
- break;
-
- case SCHATTR_DATADESCR_DESCR:
- {
- BOOL bShowSymbol = ((const SfxBoolItem&)
- (aSet.Get(SCHATTR_DATADESCR_SHOW_SYM))).GetValue();
- SvxChartDataDescr eDescr = ((const SvxChartDataDescrItem&)
- (aSet.Get(SCHATTR_DATADESCR_DESCR))).GetValue();
-
- sal_Int32 nVal = 0;
- switch( eDescr )
- {
- case CHDESCR_NONE:
- nVal = chart::ChartDataCaption::NONE;
- break;
- case CHDESCR_VALUE:
- nVal = chart::ChartDataCaption::VALUE;
- break;
- case CHDESCR_PERCENT:
- nVal = chart::ChartDataCaption::PERCENT;
- break;
- case CHDESCR_TEXT:
- nVal = chart::ChartDataCaption::TEXT;
- break;
- case CHDESCR_TEXTANDPERCENT:
- nVal = chart::ChartDataCaption::PERCENT | chart::ChartDataCaption::TEXT;
- break;
- case CHDESCR_TEXTANDVALUE:
- nVal = chart::ChartDataCaption::VALUE | chart::ChartDataCaption::TEXT;
- break;
- default:
- break;
- }
- if( bShowSymbol ) nVal |= chart::ChartDataCaption::SYMBOL;
-
- aAny <<= nVal;
- }
- break;
-
- case SCHATTR_SYMBOL_BRUSH:
- {
- ::rtl::OUString aURL;
- const BfGraphicObject* pGraphObj =
- ((const SvxBrushItem &)(aSet.Get( SCHATTR_SYMBOL_BRUSH ))).GetGraphicObject();
- if( pGraphObj )
- {
- aURL = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( UNO_NAME_GRAPHOBJ_URLPREFIX ));
- aURL += ::rtl::OUString::createFromAscii( pGraphObj->GetUniqueID().GetBuffer());
- }
- aAny <<= aURL;
- }
- break;
-
- default:
- aAny = maPropSet.getPropertyValue( pMap, aSet );
-
- if( *pMap->pType != aAny.getValueType() )
- {
- // since the sfx uint16 item now exports a sal_Int32, we may have to fix this here
- if( ( *pMap->pType == ::getCppuType((const sal_Int16*)0)) && aAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- aAny >>= nValue;
- aAny <<= static_cast< sal_Int16 >( nValue );
- }
- else if( ( *pMap->pType == ::getCppuType((const sal_uInt16*)0)) && aAny.getValueType() == ::getCppuType((const sal_Int32*)0) )
- {
- sal_Int32 nValue(0);
- aAny >>= nValue;
- aAny <<= static_cast< sal_uInt16 >( nValue );
- }
- else
- {
- OSL_TRACE( "GetAnyByItem(): wrong Type!" );
- OSL_FAIL( "GetAnyByItem(): wrong Type!" );
- }
- }
- }
- return aAny;
-}
-
-// XDiagram
-::rtl::OUString SAL_CALL ChXDiagram::getDiagramType() throw( uno::RuntimeException )
-{
- if( maServiceName.getLength() &&
- mpModel &&
- mnBaseType == mpModel->GetBaseType() )
- {
- return maServiceName;
- }
-
- SolarMutexGuard aGuard;
-
- if( mpModel )
- {
- mnBaseType = mpModel->GetBaseType();
- switch( mnBaseType )
- {
- case CHTYPE_LINE:
- maServiceName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_LINE ));
- break;
- case CHTYPE_AREA:
- maServiceName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_AREA ));
- break;
- case CHTYPE_DONUT :
- maServiceName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_DONUT ));
- break;
- case CHTYPE_COLUMN: // is also treated as (vertical) bar chart
- case CHTYPE_BAR :
- maServiceName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_BAR ));
- break;
- case CHTYPE_CIRCLE :
- maServiceName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_PIE ));
- break;
- case CHTYPE_XY :
- maServiceName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_XY ));
- break;
- case CHTYPE_NET :
- maServiceName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_NET ));
- break;
- case CHTYPE_STOCK :
- maServiceName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( SCH_X_STR_CHTYPE_NAMESPACE SCH_X_STR_CHTYPE_STOCK ));
- break;
- case CHTYPE_ADDIN :
- // when we get here we know that maServiceName.getLength() == 0
- OSL_FAIL( "Addin with empty name !" );
- break;
- }
- return maServiceName;
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
- return SCH_ASCII_TO_OU( "UnknownChartType" );
-}
-
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getDataRowProperties( sal_Int32 Row )
- throw( uno::RuntimeException, lang::IndexOutOfBoundsException )
-{
- SolarMutexGuard aGuard;
-
- if( mpModel )
- {
- if( Row >= 0 &&
- Row < mpModel->GetRowCount() )
- {
- ChXDataRow* pRet = new ChXDataRow( Row, mpModel );
- return uno::Reference< beans::XPropertySet >( SAL_STATIC_CAST( beans::XPropertySet*, pRet ));
- }
- else
- {
- ::rtl::OUString aMessage( RTL_CONSTASCII_USTRINGPARAM( "DataRowProperties: Invalid Index " ));
- aMessage += ::rtl::OUString::valueOf( Row );
- lang::IndexOutOfBoundsException aEx( aMessage, (::cppu::OWeakObject*)this );
- throw aEx;
- }
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
-
- return uno::Reference< beans::XPropertySet >();
-}
-
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getDataPointProperties( sal_Int32 Column, sal_Int32 Row )
- throw( uno::RuntimeException, lang::IndexOutOfBoundsException )
-{
- SolarMutexGuard aGuard;
-
- if( mpModel )
- {
- if( Row >= 0 && Column >= 0 &&
- (Row < mpModel->GetRowCount()) &&
- (Column < mpModel->GetColCount()) )
- {
- ChXDataPoint* pRet = new ChXDataPoint( Column, Row, mpModel );
- return uno::Reference< beans::XPropertySet >( SAL_STATIC_CAST( beans::XPropertySet*, pRet ));
- }
- else
- {
- ::rtl::OUString aMessage( RTL_CONSTASCII_USTRINGPARAM( "DataPointProperties: Invalid Index (col, row): " ));
- aMessage += ::rtl::OUString::valueOf( Column );
- aMessage += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ", " ));
- aMessage += ::rtl::OUString::valueOf( Row );
- lang::IndexOutOfBoundsException aEx( aMessage, (::cppu::OWeakObject*)this );
- throw aEx;
- }
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
-
- return uno::Reference< beans::XPropertySet >();
-}
-
-// XShape ( ::XDiagram)
-awt::Size SAL_CALL ChXDiagram::getSize() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- if( mpModel )
- {
- Size aSize = mpModel->GetChartRect().GetSize();
- return awt::Size( aSize.Width(), aSize.Height() );
- }
- else
- return awt::Size( 0, 0 );
-}
-
-void SAL_CALL ChXDiagram::setSize( const awt::Size& aSize )
- throw( uno::RuntimeException,
- beans::PropertyVetoException )
-{
- SolarMutexGuard aGuard;
- if( mpModel )
- {
- Rectangle aRect = mpModel->GetChartRect();
- Size aOldSize = aRect.GetSize();
- if( aOldSize.Width() != aSize.Width ||
- aOldSize.Height() != aSize.Height )
- {
- mpModel->SetUseRelativePositions( TRUE );
- mpModel->SetDiagramHasBeenMovedOrResized( TRUE );
- aRect.SetSize( Size( aSize.Width, aSize.Height ) );
- mpModel->SetChartRect( aRect );
- mpModel->BuildChart( FALSE );
- }
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
-}
-
-awt::Point SAL_CALL ChXDiagram::getPosition() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- if( mpModel )
- {
- Point aPoint = mpModel->GetChartRect().TopLeft();
- return awt::Point( aPoint.X(), aPoint.Y() );
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
- return awt::Point( 0, 0 );
-}
-
-void SAL_CALL ChXDiagram::setPosition( const awt::Point& aPosition ) throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- if( mpModel )
- {
- Rectangle aRect=mpModel->GetChartRect();
- Point aUpperLeft = aRect.TopLeft();
- if( aUpperLeft.X() != aPosition.X ||
- aUpperLeft.Y() != aPosition.Y )
- {
- mpModel->SetUseRelativePositions( TRUE );
- mpModel->SetDiagramHasBeenMovedOrResized( TRUE );
- aRect.SetPos( Point( aPosition.X, aPosition.Y ) );
- mpModel->SetChartRect( aRect );
- mpModel->BuildChart( FALSE );
- }
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
-}
-
-// XShapeDescriptor ( ::XShape ::XDiagram )
-::rtl::OUString SAL_CALL ChXDiagram::getShapeType() throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "com.sun.star.chart.Diagram" );
-}
-
-// XAxisXSupplier, XAxisYSupplier, XAxisZSupplier,
-// XTwoAxisXSupplier, XTwoAxisYSupplier
-uno::Reference< drawing::XShape > SAL_CALL ChXDiagram::getXAxisTitle()
- throw( uno::RuntimeException )
-{
- if( ! mxXAxisTitle.is())
- {
- mxXAxisTitle = new ChartTitle( mpModel, CHOBJID_DIAGRAM_TITLE_X_AXIS );
- add_listener (mxXAxisTitle, this);
- }
-
- return mxXAxisTitle;
-}
-
-uno::Reference< drawing::XShape > SAL_CALL ChXDiagram::getYAxisTitle()
- throw( uno::RuntimeException )
-{
- if( ! mxYAxisTitle.is())
- {
- mxYAxisTitle = new ChartTitle( mpModel, CHOBJID_DIAGRAM_TITLE_Y_AXIS );
- add_listener (mxYAxisTitle, this);
- }
-
- return mxYAxisTitle;
-}
-
-uno::Reference< drawing::XShape > SAL_CALL ChXDiagram::getZAxisTitle()
- throw( uno::RuntimeException )
-{
- if( ! mxZAxisTitle.is())
- {
- mxZAxisTitle = new ChartTitle( mpModel, CHOBJID_DIAGRAM_TITLE_Z_AXIS );
- add_listener (mxZAxisTitle, this);
- }
-
- return mxZAxisTitle;
-}
-
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getXAxis() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxXAxis.is())
- {
- mxXAxis = new ChXChartAxis( mpModel, CHOBJID_DIAGRAM_X_AXIS );
- add_listener (mxXAxis, this);
- }
-
- return mxXAxis;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getYAxis() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxYAxis.is())
- {
- mxYAxis = new ChXChartAxis( mpModel, CHOBJID_DIAGRAM_Y_AXIS );
- add_listener (mxYAxis, this);
- }
-
- return mxYAxis;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getZAxis() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxZAxis.is())
- {
- mxZAxis = new ChXChartAxis( mpModel, CHOBJID_DIAGRAM_Z_AXIS );
- add_listener (mxZAxis, this);
- }
-
- return mxZAxis;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getSecondaryXAxis() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxSecXAxis.is())
- {
- mxSecXAxis = new ChXChartAxis( mpModel, CHOBJID_DIAGRAM_A_AXIS );
- add_listener (mxSecXAxis, this);
- }
-
- return mxSecXAxis;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getSecondaryYAxis() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxSecYAxis.is())
- {
- mxSecYAxis = new ChXChartAxis( mpModel, CHOBJID_DIAGRAM_B_AXIS );
- add_listener (mxSecYAxis, this);
- }
-
- return mxSecYAxis;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getXMainGrid() throw( ::com::sun::star::uno::RuntimeException )
-{
- // attention: x and y grids are interchanged
- if( ! mxMajorGridX.is())
- {
- mxMajorGridX = new ChartGrid( mpModel, CHOBJID_DIAGRAM_Y_GRID_MAIN_GROUP );
- add_listener (mxMajorGridX, this);
- }
-
- return mxMajorGridX;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getYMainGrid() throw( ::com::sun::star::uno::RuntimeException )
-{
- // attention: x and y grids are interchanged
- if( ! mxMajorGridY.is())
- {
- mxMajorGridY = new ChartGrid( mpModel, CHOBJID_DIAGRAM_X_GRID_MAIN_GROUP );
- add_listener (mxMajorGridY, this);
- }
-
- return mxMajorGridY;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getZMainGrid() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxMajorGridZ.is())
- {
- mxMajorGridZ = new ChartGrid( mpModel, CHOBJID_DIAGRAM_Z_GRID_MAIN_GROUP );
- add_listener (mxMajorGridZ, this);
- }
-
- return mxMajorGridZ;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getXHelpGrid() throw( ::com::sun::star::uno::RuntimeException )
-{
- // attention: x and y grids are interchanged
- if( ! mxMinorGridX.is())
- {
- mxMinorGridX = new ChartGrid( mpModel, CHOBJID_DIAGRAM_Y_GRID_HELP_GROUP );
- add_listener (mxMinorGridX, this);
- }
-
- return mxMinorGridX;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getYHelpGrid() throw( ::com::sun::star::uno::RuntimeException )
-{
- // attention: x and y grids are interchanged
- if( ! mxMinorGridY.is())
- {
- mxMinorGridY = new ChartGrid( mpModel, CHOBJID_DIAGRAM_X_GRID_HELP_GROUP );
- add_listener (mxMinorGridY, this);
- }
-
- return mxMinorGridY;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getZHelpGrid() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxMinorGridZ.is())
- {
- mxMinorGridZ = new ChartGrid( mpModel, CHOBJID_DIAGRAM_Z_GRID_HELP_GROUP );
- add_listener (mxMinorGridZ, this);
- }
-
- return mxMinorGridZ;
-}
-
-// XStatisticDisplay
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getMinMaxLine() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxMinMaxLine.is())
- {
- mxMinMaxLine = new ChartLine( mpModel, CHOBJID_DIAGRAM_STOCKLINE_GROUP );
- add_listener (mxMinMaxLine, this);
- }
-
- return mxMinMaxLine;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getUpBar() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxUpBar.is())
- {
- mxUpBar = new ChartArea( mpModel, CHOBJID_DIAGRAM_STOCKPLUS_GROUP );
- add_listener (mxUpBar, this);
- }
-
- return mxUpBar;
-}
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getDownBar() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxDownBar.is())
- {
- mxDownBar = new ChartArea( mpModel, CHOBJID_DIAGRAM_STOCKLOSS_GROUP );
- add_listener (mxDownBar, this);
- }
-
- return mxDownBar;
-}
-
-// X3DDisplay
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getFloor() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxFloor.is())
- {
- mxFloor = new ChartArea( mpModel, CHOBJID_DIAGRAM_FLOOR );
- add_listener (mxFloor, this);
- }
-
- return mxFloor;
-}
-// note: this method is also valid for 2d charts
-uno::Reference< beans::XPropertySet > SAL_CALL ChXDiagram::getWall() throw( ::com::sun::star::uno::RuntimeException )
-{
- if( ! mxWall.is())
- {
- mxWall = new ChartArea( mpModel, CHOBJID_DIAGRAM_WALL );
- add_listener (mxWall, this);
- }
-
- return mxWall;
-}
-
-
-// XPropertySet
-uno::Reference< beans::XPropertySetInfo > SAL_CALL ChXDiagram::getPropertySetInfo() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
- return maPropSet.getPropertySetInfo();
-}
-
-// needed for camera geometry
-struct ImpRememberTransAndRect
-{
- Matrix4D maMat;
- Rectangle maRect;
-};
-
-void SAL_CALL ChXDiagram::setPropertyValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue )
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- if( mpModel )
- {
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( pMap && pMap->nWID )
- {
- if( pMap->nFlags & PropertyAttribute::READONLY )
- throw PropertyVetoException();
-
- USHORT nWID = pMap->nWID;
- sal_Int32 nVal(0);
-
- SfxItemSet* pSet;
- switch( nWID )
- {
- case SCHATTR_DATADESCR_DESCR:
- case SCHATTR_DATADESCR_SHOW_SYM:
- // the Property DataCaption needs two Which Ids
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
- break;
-
- case CHATTR_NUM_OF_LINES_FOR_BAR:
- {
- aValue >>= nVal;
- if( mpModel->GetBaseType() == CHTYPE_COLUMN )
- mpModel->SetNumLinesColChart( nVal, TRUE );
- mpModel->BuildChart( FALSE );
- return; // RETURN
- }
-
- case CHATTR_SPLINE_ORDER:
- {
- aValue >>= nVal;
- // for some reason the value internally is one more
- // ie order 1 is linear but is stores as 2 in the core
- ++nVal;
- mpModel->SplineDepth() = nVal;
- if( mpModel->IsSplineChart())
- mpModel->BuildChart( FALSE );
- return; // RETURN
- }
-
- case CHATTR_SPLINE_RESOLUTION:
- {
- aValue >>= nVal;
- mpModel->Granularity() = nVal;
- if( mpModel->IsSplineChart())
- mpModel->BuildChart( FALSE );
- return; // RETURN
- }
-
- case SCHATTR_STYLE_STACKED:
- case SCHATTR_STYLE_PERCENT:
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- SCHATTR_STYLE_STACKED, SCHATTR_STYLE_STACKED,
- SCHATTR_STYLE_PERCENT, SCHATTR_STYLE_PERCENT, 0 );
- break;
-
- case SCHATTR_STYLE_DEEP:
- // deep implies 3d
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- SCHATTR_STYLE_DEEP, SCHATTR_STYLE_DEEP,
- SCHATTR_STYLE_3D, SCHATTR_STYLE_3D, 0 );
- break;
-
- case OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX:
- {
- E3dObject* pScene = lcl_GetScene( mpModel );
-
- if( pScene )
- {
- drawing::HomogenMatrix xHomMatrix;
- aValue >>= xHomMatrix;
- Matrix4D aMtx;
- HOMOGEN_MATRIX_TO_MATRIX4D( xHomMatrix, aMtx );
- pScene->SetTransform( aMtx );
- }
- return; // RETURN
- }
-
- case OWN_ATTR_3D_VALUE_CAMERA_GEOMETRY:
- {
- E3dScene* pScene = lcl_GetScene( mpModel );
-
- if( pScene )
- {
- drawing::CameraGeometry aCamGeo;
-
- if(aValue >>= aCamGeo)
- {
- Vector3D aVRP(aCamGeo.vrp.PositionX, aCamGeo.vrp.PositionY, aCamGeo.vrp.PositionZ);
- Vector3D aVPN(aCamGeo.vpn.DirectionX, aCamGeo.vpn.DirectionY, aCamGeo.vpn.DirectionZ);
- Vector3D aVUP(aCamGeo.vup.DirectionX, aCamGeo.vup.DirectionY, aCamGeo.vup.DirectionZ);
-
- // rescue scene transformation
- ImpRememberTransAndRect aSceneTAR;
- aSceneTAR.maMat = pScene->GetTransform();
- aSceneTAR.maRect = pScene->GetSnapRect();
-
- // fill old camera from new parameters
- Camera3D aCam(pScene->GetCamera());
- const Volume3D& rVolume = pScene->GetBoundVolume();
- double fW = rVolume.GetWidth();
- double fH = rVolume.GetHeight();
- double fCamPosZ =
- (double)((const SfxUInt32Item&)pScene->GetItem(SDRATTR_3DSCENE_DISTANCE)).GetValue();
- double fCamFocal =
- (double)((const SfxUInt32Item&)pScene->GetItem(SDRATTR_3DSCENE_FOCAL_LENGTH)).GetValue();
-
- aCam.SetAutoAdjustProjection(FALSE);
- aCam.SetViewWindow(- fW / 2, - fH / 2, fW, fH);
- Vector3D aLookAt;
- Vector3D aCamPos(0.0, 0.0, fCamPosZ);
- aCam.SetPosAndLookAt(aCamPos, aLookAt);
- aCam.SetFocalLength(fCamFocal / 100.0);
- aCam.SetDefaults(Vector3D(0.0, 0.0, fCamPosZ), aLookAt, fCamFocal / 100.0);
- aCam.SetDeviceWindow(Rectangle(0, 0, (long)fW, (long)fH));
-
- // set at scene
- pScene->SetCamera(aCam);
-
- // set scene transformation again at scene
- pScene->NbcSetTransform(aSceneTAR.maMat);
- pScene->FitSnapRectToBoundVol();
- pScene->NbcSetSnapRect(aSceneTAR.maRect);
- }
- }
- return; // RETURN
- }
-
- default:
- pSet = new SfxItemSet( mpModel->GetPool(), nWID, nWID );
- }
-
- // fill item: (should be optimized)
- ChartType aType( mpModel );
- aType.GetAttrSet( pSet );
- mpModel->GetAttr( *pSet );
-
- if( !pSet->Count() )
- {
- // get default from ItemPool
- if( mpModel->GetItemPool().IsWhich( nWID ) )
- {
- pSet->Put( mpModel->GetItemPool().GetDefaultItem( pMap->nWID ) );
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( aPropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
-
- if( pSet->Count() )
- {
- switch( nWID )
- {
- case SCHATTR_STAT_KIND_ERROR:
- {
- chart::ChartErrorCategory eCat;
- cppu::any2enum< chart::ChartErrorCategory >( eCat, aValue );
- pSet->Put( SfxInt32Item( nWID, SAL_STATIC_CAST( sal_Int32, eCat )));
- break;
- }
- case SCHATTR_STAT_INDICATE:
- {
- chart::ChartErrorIndicatorType eInd;
- cppu::any2enum< chart::ChartErrorIndicatorType >( eInd, aValue );
- pSet->Put( SfxInt32Item( nWID, SAL_STATIC_CAST( sal_Int32, eInd )));
- break;
- }
- case SCHATTR_STAT_REGRESSTYPE:
- {
- chart::ChartRegressionCurveType eRegType;
- cppu::any2enum< chart::ChartRegressionCurveType >( eRegType, aValue );
- pSet->Put( SfxInt32Item( nWID, SAL_STATIC_CAST( sal_Int32, eRegType )));
- break;
- }
- case CHATTR_DATA_SWITCH:
- {
- chart::ChartDataRowSource eRowSource;
- cppu::any2enum< chart::ChartDataRowSource >( eRowSource, aValue );
- mpModel->ChangeSwitchData( (chart::ChartDataRowSource_COLUMNS == eRowSource) );
- return;
- }
- case SCHATTR_DATADESCR_DESCR:
- {
- // symbol
- sal_Int32 nLclVal(0);
- aValue >>= nLclVal;
- pSet->Put( SfxBoolItem( SCHATTR_DATADESCR_SHOW_SYM,
- ((nLclVal & chart::ChartDataCaption::SYMBOL) != 0)) );
-
- // display text, percent or both or value
- SvxChartDataDescr eDescr = CHDESCR_NONE;
- if( nLclVal & chart::ChartDataCaption::TEXT )
- {
- if( nLclVal & chart::ChartDataCaption::PERCENT )
- eDescr = CHDESCR_TEXTANDPERCENT;
- else if( (nLclVal & chart::ChartDataCaption::VALUE) )
- eDescr = CHDESCR_TEXTANDVALUE;
- else
- eDescr = CHDESCR_TEXT;
- }
- else if( (nLclVal & chart::ChartDataCaption::VALUE) )
- {
- eDescr = CHDESCR_VALUE;
- }
- else
- {
- if( (nLclVal & chart::ChartDataCaption::PERCENT) )
- eDescr = CHDESCR_PERCENT;
- }
-
- // chart::ChartDataCaption::FORMAT (missing)
-
- pSet->Put( SvxChartDataDescrItem( eDescr ) );
- }
- break;
-
- case XATTR_FILLBITMAP:
- case XATTR_FILLGRADIENT:
- case XATTR_FILLHATCH:
- case XATTR_FILLFLOATTRANSPARENCE:
- case XATTR_LINEEND:
- case XATTR_LINESTART:
- case XATTR_LINEDASH:
- if( pMap->nMemberId == MID_NAME )
- {
- ::rtl::OUString aStr;
- if( aValue >>= aStr )
- SvxShape::SetFillAttribute( nWID, aStr, *pSet, mpModel );
- }
- else
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- break;
-
- case SCHATTR_STYLE_STACKED:
- case SCHATTR_STYLE_PERCENT:
- {
- sal_Bool bSet(sal_False);
- aValue >>= bSet;
- if( bSet )
- {
- // setting of these two items is exclusive
- BOOL bStacked = ( nWID == SCHATTR_STYLE_STACKED );
-
- pSet->Put( SfxBoolItem( SCHATTR_STYLE_STACKED, bStacked ));
- pSet->Put( SfxBoolItem( SCHATTR_STYLE_PERCENT, ! bStacked ));
- }
- else
- {
- // setting either of both properties to FALSE
- // sets both to FALSE
- pSet->Put( SfxBoolItem( SCHATTR_STYLE_STACKED, FALSE ));
- pSet->Put( SfxBoolItem( SCHATTR_STYLE_PERCENT, FALSE ));
- }
- }
- break;
-
- case SCHATTR_STYLE_DEEP:
- {
- sal_Bool bSet(sal_False);
- aValue >>= bSet;
-
- // if deep is turned on, 3d must also be set
- if( bSet )
- {
- pSet->Put( SfxBoolItem( SCHATTR_STYLE_3D, TRUE ));
- }
- pSet->Put( SfxBoolItem( SCHATTR_STYLE_DEEP, bSet ));
- }
- break;
-
- case SCHATTR_SYMBOL_BRUSH:
- {
- ::rtl::OUString aURL;
- aValue >>= aURL;
- BfGraphicObject aGraphObj = CreateGraphicObjectFromURL( aURL );
- SvxBrushItem aItem( SCHATTR_SYMBOL_BRUSH );
- aItem.SetGraphic( aGraphObj.GetGraphic() );
- pSet->Put( aItem );
- }
- break;
-
- default:
- maPropSet.setPropertyValue( pMap, aValue, *pSet );
- break;
- }
- aType.SetType( pSet );
- mpModel->PutAttr( *pSet );
- if( nWID == SCHATTR_SYMBOL_SIZE )
- {
- mpModel->PutDataRowAttrAll( *pSet );
- }
-
- if( mpModel->ChangeChart( aType.GetChartStyle(), false ))
- {
- mpModel->BuildChart( FALSE );
- }
- else if( ! mpModel->ChangeStatistics ( *pSet ) )
- {
- mpModel->BuildChart( FALSE );
- }
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- delete pSet;
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
- }
- else
- {
- DBG_WARNING( "No Model" );
- }
-}
-
-uno::Any SAL_CALL ChXDiagram::getPropertyValue( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- RTL_LOGFILE_CONTEXT (context, "sch (af119097) ::ChXDiagram::getPropertyValue");
- SolarMutexGuard aGuard;
-
- uno::Any aAny;
-
- if( mpModel )
- {
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( pMap && pMap->nWID )
- {
- USHORT nWID = pMap->nWID;
- SfxItemSet* pSet;
-
- if( nWID == SCHATTR_STYLE_SHAPE &&
- ! mpModel->IsReal3D())
- return aAny;
-
- switch( nWID )
- {
- case CHATTR_NUM_OF_LINES_FOR_BAR:
- aAny <<= SAL_STATIC_CAST( sal_Int32, mpModel->GetNumLinesColChart() );
- return aAny; // RETURN
-
- case SCHATTR_DATADESCR_DESCR:
- pSet = new SfxItemSet( mpModel->GetItemPool(),
- SCHATTR_DATADESCR_DESCR, SCHATTR_DATADESCR_DESCR,
- SCHATTR_DATADESCR_SHOW_SYM, SCHATTR_DATADESCR_SHOW_SYM, 0 );
- break;
-
- case CHATTR_SPLINE_ORDER:
- // for some reason the value internally is one more
- // ie order 1 is linear but is stores as 2 in the core
- aAny <<= static_cast< sal_Int32 >( mpModel->SplineDepth() - 1 );
- return aAny;
-
- case CHATTR_SPLINE_RESOLUTION:
- aAny <<= static_cast< sal_Int32 >( mpModel->Granularity() );
- return aAny;
-
- case CHATTR_ATTRIBUTED_DATA_POINTS:
- aAny <<= mpModel->GetSetDataPointList();
- return aAny;
-
- default:
- pSet = new SfxItemSet( mpModel->GetItemPool(), nWID, nWID );
- }
-
- // set attributes
- if( nWID == SCHATTR_SYMBOL_BRUSH ||
- nWID == SCHATTR_SYMBOL_SIZE )
- {
- mpModel->GetDataRowAttrAll( *pSet );
- }
- else
- {
- ChartType aType( mpModel );
- aType.GetAttrSet( pSet );
- mpModel->GetAttr( *pSet ); // copy SHOW_HIDE_PROPERTIES into ItemSet
- }
-
- if( ! pSet->Count() )
- {
- // get default from ItemPool
- if( mpModel->GetItemPool().IsWhich( nWID ) )
- {
- if( ! ( OWN_ATTR_VALUE_START <= nWID && nWID <= OWN_ATTR_VALUE_END )) // properties from SvxShape
- {
- pSet->Put( mpModel->GetItemPool().GetDefaultItem( nWID ) );
- }
- // 3d properties that have no corresponding item but come from drawing layer
- else
- {
- //E3dPolyScene* mpModel->GetScene();
- E3dObject* pScene = lcl_GetScene( mpModel );
- if( pScene )
- {
- if( nWID == OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX )
- {
- const Matrix4D& aMtx = pScene->GetFullTransform();
- drawing::HomogenMatrix xHomMatrix;
- MATRIX4D_TO_HOMOGEN_MATRIX( aMtx, xHomMatrix );
- aAny <<= xHomMatrix;
-
- return aAny; // RETURN
- }
- else if( nWID == OWN_ATTR_3D_VALUE_CAMERA_GEOMETRY )
- {
- // get CameraGeometry from scene
- E3dScene* pE3dScene = mpModel->GetScene();
- drawing::CameraGeometry aCamGeo;
-
- // fill Vectors from scene camera
- B3dCamera& aCameraSet = pE3dScene->GetCameraSet();
- Vector3D aVRP = aCameraSet.GetVRP();
- Vector3D aVPN = aCameraSet.GetVPN();
- Vector3D aVUP = aCameraSet.GetVUV();
-
- // transfer to structure
- aCamGeo.vrp.PositionX = aVRP.X();
- aCamGeo.vrp.PositionY = aVRP.Y();
- aCamGeo.vrp.PositionZ = aVRP.Z();
- aCamGeo.vpn.DirectionX = aVPN.X();
- aCamGeo.vpn.DirectionY = aVPN.Y();
- aCamGeo.vpn.DirectionZ = aVPN.Z();
- aCamGeo.vup.DirectionX = aVUP.X();
- aCamGeo.vup.DirectionY = aVUP.Y();
- aCamGeo.vup.DirectionZ = aVUP.Z();
-
- return uno::Any(&aCamGeo, ::getCppuType((const drawing::CameraGeometry*)0) );
- }
- }
- }
- }
- else
- {
-#if OSL_DEBUG_LEVEL > 1
- String aTmpString( PropertyName );
- ByteString aProp( aTmpString, RTL_TEXTENCODING_ASCII_US );
- OSL_TRACE( "Diagram: Property %s has an invalid ID (%d)", aProp.GetBuffer(), nWID );
-#endif
- }
- }
-
- if( pSet->Count() )
- {
- aAny = GetAnyByItem( *pSet, pMap );
- }
- else
- throw beans::UnknownPropertyException();
-
- delete pSet;
- }
- else
- throw beans::UnknownPropertyException();
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
- return aAny;
-}
-
-void SAL_CALL ChXDiagram::addPropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*xListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDiagram::removePropertyChangeListener( const ::rtl::OUString& /*aPropertyName*/,
- const uno::Reference< beans::XPropertyChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDiagram::addVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-void SAL_CALL ChXDiagram::removeVetoableChangeListener( const ::rtl::OUString& /*PropertyName*/,
- const uno::Reference< beans::XVetoableChangeListener >& /*aListener*/ )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{}
-
-
-//===== XMultiPropertySet ===================================================
-
-void SAL_CALL ChXDiagram::setPropertyValues (
- const Sequence< ::rtl::OUString >& aPropertyNames,
- const Sequence<Any >& aValues)
- throw (beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException)
-{
- RTL_LOGFILE_CONTEXT (context2, "sch (af119097) ::ChXDiagram::setPropertyValues");
-#if 1
- for (sal_Int32 i=0; i<aPropertyNames.getLength(); i++)
- setPropertyValue (aPropertyNames[i], aValues[i]);
-#endif
-}
-
-
-Sequence<Any> SAL_CALL ChXDiagram::getPropertyValues (
- const Sequence<OUString>& aPropertyNames)
- throw (RuntimeException)
-{
- RTL_LOGFILE_CONTEXT (context, "sch (af119097) ::ChXDiagram::getPropertyValues");
- SolarMutexGuard aGuard;
-
- // This sequence is filled with the requested values for the given property names.
- Sequence<Any> aResult (aPropertyNames.getLength());
-
- // Get pointers to first elements of lists.
- const SfxItemPropertyMap * pProperty = maPropSet.getPropertyMap ();
- const OUString * pPropertyName = aPropertyNames.getConstArray ();
- Any * pPropertyValue = aResult.getArray ();
-
- // Check preconditions.
- if (mpModel == NULL)
- throw UnknownPropertyException (OUString (
- RTL_CONSTASCII_USTRINGPARAM ("No model in ::ChXDiagram::getPropertyValues")),
- static_cast< ::cppu::OWeakObject*>(this));
-
- // Get the models attributes.
- SfxItemSet aAttributes (mpModel->GetItemPool(),
- CHART_ROW_WHICHPAIRS,
- OWN_ATTR_VALUE_START, OWN_ATTR_VALUE_END,
- OWN_ATTR_FILLBMP_MODE, OWN_ATTR_FILLBMP_MODE,
- SCHATTR_STOCK_VOLUME, SCHATTR_STOCK_UPDOWN,
- CHATTR_START, CHATTR_END,
- CHATTR_TMP_START, CHATTR_TMP_END,
- 0);
-
- mpModel->GetDataRowAttrAll (aAttributes);
- // else
- ChartType aType (mpModel);
- aType.GetAttrSet (&aAttributes);
- mpModel->GetAttr (aAttributes);
-
- // Used in the loop below.
- USHORT nWID;
- E3dObject* pScene = NULL;
- BOOL bTryAgain;
- OUString sMessage;
-
- // Iterate over all given property names.
- sal_Int32 nCounter = aPropertyNames.getLength();
- while (nCounter-- > 0)
- {
- AdvanceToName (pProperty, pPropertyName);
-
- nWID = pProperty->nWID;
- bTryAgain = TRUE;
-
- // Handling each property is divided into three steps:
- // 1. Handle special cases that do not depend on items.
- // 2. If the required item is not set, then try to get a
- // default value. Handle 3D properties here.
- // 3. Try again if the item is now set in the hope that its
- // status has been changed in step 2.
-
- // Step 1
- if (nWID == SCHATTR_STYLE_SHAPE && ! mpModel->IsReal3D())
- {
- // Leave the property value unchanged.
- bTryAgain = FALSE;
- }
- else if (nWID == CHATTR_NUM_OF_LINES_FOR_BAR)
- {
- *pPropertyValue <<= static_cast<sal_Int32>(mpModel->GetNumLinesColChart());
- bTryAgain = FALSE;
- }
- else if( nWID == CHATTR_SPLINE_ORDER )
- {
- // for some reason the value internally is one more
- // ie order 1 is linear but is stores as 2 in the core
- *pPropertyValue <<= static_cast< sal_Int32 >( mpModel->SplineDepth() - 1 );
- bTryAgain = FALSE;
- }
- else if( nWID == CHATTR_SPLINE_RESOLUTION )
- {
- *pPropertyValue <<= static_cast< sal_Int32 >( mpModel->Granularity() );
- bTryAgain = FALSE;
- }
-
- // Step 2
- else if (aAttributes.GetItemState (nWID, sal_False) != SFX_ITEM_SET)
- {
- bTryAgain = FALSE;
- if ( ! mpModel->GetItemPool().IsWhich(nWID))
- {
- }
- else if (nWID < OWN_ATTR_VALUE_START || nWID > OWN_ATTR_VALUE_END)
- {
- // properties from SvxShape
- aAttributes.Put (mpModel->GetItemPool().GetDefaultItem (nWID));
- // Set the flag to try again to read the item.
- bTryAgain = TRUE;
- }
- else
- {
- if (pScene == NULL)
- {
- RTL_LOGFILE_CONTEXT_TRACE (context, "getting 3D scene");
- pScene = lcl_GetScene( mpModel );
- }
- if (pScene != NULL)
- {
- if (nWID == OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX)
- {
- const Matrix4D& aMtx = pScene->GetFullTransform();
- drawing::HomogenMatrix xHomMatrix;
- MATRIX4D_TO_HOMOGEN_MATRIX (aMtx, xHomMatrix);
- *pPropertyValue <<= xHomMatrix;
- }
- else if (nWID == OWN_ATTR_3D_VALUE_CAMERA_GEOMETRY)
- {
- // get CameraGeometry from scene
- E3dScene* pE3dScene = mpModel->GetScene();
-
- // fill Vectors from scene camera
- B3dCamera& aCameraSet = pE3dScene->GetCameraSet();
- Vector3D aVRP = aCameraSet.GetVRP();
- Vector3D aVPN = aCameraSet.GetVPN();
- Vector3D aVUP = aCameraSet.GetVUV();
-
- // transfer to structure
- drawing::CameraGeometry aCamGeo;
- aCamGeo.vrp.PositionX = aVRP.X();
- aCamGeo.vrp.PositionY = aVRP.Y();
- aCamGeo.vrp.PositionZ = aVRP.Z();
- aCamGeo.vpn.DirectionX = aVPN.X();
- aCamGeo.vpn.DirectionY = aVPN.Y();
- aCamGeo.vpn.DirectionZ = aVPN.Z();
- aCamGeo.vup.DirectionX = aVUP.X();
- aCamGeo.vup.DirectionY = aVUP.Y();
- aCamGeo.vup.DirectionZ = aVUP.Z();
-
- *pPropertyValue =
- Any (&aCamGeo, ::getCppuType((const drawing::CameraGeometry*)0));
- }
- else
- bTryAgain = TRUE;
- }
- }
- }
-
- // Step3
- if (bTryAgain)
- {
- if (aAttributes.GetItemState (nWID, sal_False) == SFX_ITEM_SET)
- {
- *pPropertyValue = GetAnyByItem (aAttributes, pProperty);
- }
- else
- {
- // Construct a message for an exception but wait with throwing
- // it until all known properies have been set.
- if (sMessage.getLength() == 0)
- {
- sMessage = OUString (RTL_CONSTASCII_USTRINGPARAM ("Property "));
- sMessage += *pPropertyName;
- sMessage += OUString (
- RTL_CONSTASCII_USTRINGPARAM (" is not known in :ChXDiagram::getPropertyValues"));
- }
-#if OSL_DEBUG_LEVEL > 1
- ByteString sName = ByteString(String(*pPropertyName), RTL_TEXTENCODING_ASCII_US);
- OSL_TRACE("Diagram: Property %s has an invalid ID (%d)",
- sName.GetBuffer(), nWID);
-#endif
- }
- }
-
- // Advance to the next property, property name and value.
- pPropertyName++;
- pPropertyValue++;
- }
-
- // Throw an exception if one of the properties was unknown.
- if (sMessage.getLength() > 0)
- throw UnknownPropertyException (sMessage,
- static_cast< ::cppu::OWeakObject*>(this));
-
- return aResult;
-}
-
-
-void SAL_CALL ChXDiagram::addPropertiesChangeListener (
- const Sequence<OUString >& /*aPropertyNames*/,
- const Reference<beans::XPropertiesChangeListener >& /*xListener*/)
- throw (RuntimeException)
-{
- // Not implemented.
-}
-
-void SAL_CALL ChXDiagram::removePropertiesChangeListener (
- const Reference<beans::XPropertiesChangeListener>& /*xListener*/)
- throw (RuntimeException)
-{
- // Not implemented.
-}
-
-
-void SAL_CALL ChXDiagram::firePropertiesChangeEvent (
- const Sequence<OUString >& /*aPropertyNames*/,
- const Reference<beans::XPropertiesChangeListener >& /*xListener*/)
- throw (RuntimeException)
-{
- // Not implemented.
-}
-
-
-
-
-//===== XPropertyState ======================================================
-
-beans::PropertyState SAL_CALL ChXDiagram::getPropertyState( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException, uno::RuntimeException )
-{
- if( mpModel )
- {
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( pMap && pMap->nWID )
- {
- switch( pMap->nWID )
- {
- case SCHATTR_STYLE_PERCENT:
- {
- ChartType aType( mpModel );
- return ( aType.IsPercent()
- ? beans::PropertyState_DIRECT_VALUE
- : beans::PropertyState_DEFAULT_VALUE );
- }
- break;
- case SCHATTR_STYLE_STACKED:
- {
- ChartType aType( mpModel );
- return ( ( ! aType.IsPercent() &&
- aType.IsStacked())
- ? beans::PropertyState_DIRECT_VALUE
- : beans::PropertyState_DEFAULT_VALUE );
- }
- break;
-
- case CHATTR_SPLINE_ORDER:
- case CHATTR_SPLINE_RESOLUTION:
- {
- ChartType aType( mpModel );
- return ( ( aType.HasSplines() )
- ? beans::PropertyState_DIRECT_VALUE
- : beans::PropertyState_DEFAULT_VALUE );
- }
-
- case CHATTR_NUM_OF_LINES_FOR_BAR:
- case SCHATTR_STYLE_SHAPE:
- case SCHATTR_DATADESCR_DESCR:
- break;
-
- default:
- {
- SolarMutexGuard aGuard;
-
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
- ChartType aType( mpModel );
- aType.GetAttrSet( &aSet );
- mpModel->GetAttr( aSet );
-
- SfxItemState eState = aSet.GetItemState( pMap->nWID );
- if( eState == SFX_ITEM_DEFAULT )
- return beans::PropertyState_DEFAULT_VALUE;
- else if( eState < SFX_ITEM_DEFAULT )
- return beans::PropertyState_AMBIGUOUS_VALUE;
- else
- return beans::PropertyState_DIRECT_VALUE;
- }
- }
- }
- }
-
- return beans::PropertyState_DIRECT_VALUE;
-}
-
-
-void SAL_CALL ChXDiagram::setPropertyToDefault( const ::rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( PropertyName );
-
- if( pMap && pMap->nWID &&
- ( pMap->nWID == CHATTR_NUM_OF_LINES_FOR_BAR ||
- pMap->nWID == CHATTR_SPLINE_ORDER ||
- pMap->nWID == CHATTR_SPLINE_RESOLUTION ||
- pMap->nWID == SCHATTR_STYLE_SHAPE ||
- pMap->nWID == SCHATTR_DATADESCR_DESCR ))
- {
- return;
- }
-
- if( mpModel )
- {
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
- ChartType aType( mpModel );
- aType.GetAttrSet( &aSet );
- mpModel->GetAttr( aSet );
-
- aSet.ClearItem( pMap->nWID );
-
- aType.SetType( &aSet );
- mpModel->PutAttr( aSet );
-
- if( mpModel->ChangeChart( aType.GetChartStyle(), false ))
- {
- mpModel->BuildChart( FALSE );
- }
- else if( ! mpModel->ChangeStatistics ( aSet ) )
- {
- mpModel->BuildChart( FALSE );
- }
- }
-}
-
-uno::Any SAL_CALL ChXDiagram::getPropertyDefault( const ::rtl::OUString& aPropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- const SfxItemPropertyMap* pMap = maPropSet.getPropertyMapEntry( aPropertyName );
-
- if( pMap && pMap->nWID &&
- ( pMap->nWID == CHATTR_NUM_OF_LINES_FOR_BAR ||
- pMap->nWID == CHATTR_SPLINE_ORDER ||
- pMap->nWID == CHATTR_SPLINE_RESOLUTION ||
- pMap->nWID == SCHATTR_STYLE_SHAPE ||
- pMap->nWID == SCHATTR_DATADESCR_DESCR ))
- {
- return getPropertyValue( aPropertyName );
- }
-
- if( ! mpModel->GetItemPool().IsWhich( pMap->nWID ))
- throw beans::UnknownPropertyException();
-
- SfxItemSet aSet( mpModel->GetItemPool(), pMap->nWID, pMap->nWID );
- aSet.Put( mpModel->GetItemPool().GetDefaultItem( pMap->nWID ));
-
- return GetAnyByItem( aSet, pMap );
-}
-
-
-
-
-//==== XMultiPropertyStates =================================================
-
-Sequence<PropertyState> SAL_CALL ChXDiagram::getPropertyStates (
- const Sequence<OUString >& aPropertyName)
- throw (beans::UnknownPropertyException,
- uno::RuntimeException)
-{
- SolarMutexGuard aGuard;
-
- // New implementation.
-
- // Setup arrays of property names and states for easier iteration.
- sal_Int32 nPropertyCount = aPropertyName.getLength();
- const OUString* pPropertyName = aPropertyName.getConstArray();
- Sequence<PropertyState> aPropertyStates (nPropertyCount);
- PropertyState* pPropertyState = aPropertyStates.getArray();
- const SfxItemPropertyMap * pProperty = maPropSet.getPropertyMap ();
-
- // Check preconditions.
- if (mpModel == NULL)
- return aPropertyStates;
-
- // Get the models attributes.
- ChartType aType (mpModel);
-
- // This needs still a bit of work. What is the best set of which id ranges?
- SfxItemSet aAttributes (mpModel->GetItemPool(),
- CHART_ROW_WHICHPAIRS,
- OWN_ATTR_FILLBMP_MODE, OWN_ATTR_FILLBMP_MODE, // 3945 bf_svx/unoshprp.hxx
- 30689,30689, // RID_SCH_START + 177 ?
- 30720,30720, // RID_SCH_START + 208 ?
- SCHATTR_STOCK_VOLUME, SCHATTR_STOCK_UPDOWN,
- 0);
- aType.GetAttrSet (&aAttributes);
- mpModel->GetAttr (aAttributes);
-
- // Variable used in the loop below.
- USHORT nWID;
- // Setting this error message to a non empty string results throwing an exception
- // after the main loop has finished.
- OUString sErrorMessage;
-
- // Iterate over all given property names.
- while (nPropertyCount-- > 0)
- {
- AdvanceToName (pProperty, pPropertyName);
-
- switch (nWID = pProperty->nWID)
- {
- case SCHATTR_STYLE_PERCENT:
- if (aType.IsPercent())
- *pPropertyState = PropertyState_DIRECT_VALUE;
- else
- *pPropertyState = PropertyState_DEFAULT_VALUE;
- break;
-
- case SCHATTR_STYLE_STACKED:
- if (aType.IsStacked() && ! aType.IsPercent())
- *pPropertyState = PropertyState_DIRECT_VALUE;
- else
- *pPropertyState = PropertyState_DEFAULT_VALUE;
- break;
-
- case CHATTR_SPLINE_ORDER:
- case CHATTR_SPLINE_RESOLUTION:
- if( aType.HasSplines())
- *pPropertyState = PropertyState_DIRECT_VALUE;
- else
- *pPropertyState = PropertyState_DEFAULT_VALUE;
- break;
-
- case CHATTR_NUM_OF_LINES_FOR_BAR:
- case SCHATTR_STYLE_SHAPE:
- case SCHATTR_DATADESCR_DESCR:
- *pPropertyState = PropertyState_DIRECT_VALUE;
- break;
-
- default:
- switch (aAttributes.GetItemState (nWID, sal_False))
- {
- case SFX_ITEM_DONTCARE:
- case SFX_ITEM_DISABLED:
- *pPropertyState = PropertyState_AMBIGUOUS_VALUE;
- break;
-
- case SFX_ITEM_READONLY:
- case SFX_ITEM_SET:
- *pPropertyState = PropertyState_DIRECT_VALUE;
- break;
-
- case SFX_ITEM_DEFAULT:
- *pPropertyState = PropertyState_DEFAULT_VALUE;
- break;
-
- case SFX_ITEM_UNKNOWN:
- default:
- // Set the error message so that it can be used
- // to create an exception object after the loop
- // has finished.
- // The exception is not thrown here in order
- // to first process as many properties as possible.
- // All unknown properties following the first one
- // are ignored.
- OSL_TRACE("nWID %d not in property set", nWID);
- if (sErrorMessage.getLength() == 0)
- {
- sErrorMessage = OUString (
- RTL_CONSTASCII_USTRINGPARAM ("Chart Object: Unknown Property "));
- sErrorMessage += *pPropertyName;
- }
- }
- }
- pPropertyName ++;
- pPropertyState ++;
- }
-
- // Now throw an exception if there has been an unknown property.
- if (sErrorMessage.getLength() > 0)
- throw UnknownPropertyException (sErrorMessage,
- static_cast< ::cppu::OWeakObject*>(this));
-
- return aPropertyStates;
-}
-
-
-void SAL_CALL ChXDiagram::setAllPropertiesToDefault (void)
- throw (RuntimeException)
-{
- OSL_FAIL("ChXChartObject::setAllPropertiesToDefault");
-}
-
-
-void SAL_CALL ChXDiagram::setPropertiesToDefault (
- const Sequence<OUString >& aPropertyNames)
- throw (beans::UnknownPropertyException,
- RuntimeException)
-{
- for (sal_Int32 i=0; i<aPropertyNames.getLength(); i++)
- {
- setPropertyToDefault (aPropertyNames[i]);
- }
-}
-
-
-Sequence<Any> SAL_CALL ChXDiagram::getPropertyDefaults (
- const Sequence<OUString>& aPropertyNames)
- throw (beans::UnknownPropertyException,
- lang::WrappedTargetException,
- RuntimeException)
-{
- Sequence<Any> aResult (aPropertyNames.getLength());
-
- for (sal_Int32 i=0; i<aPropertyNames.getLength(); i++)
- {
- aResult[i] = getPropertyDefault (aPropertyNames[i]);
- }
-
- return aResult;
-}
-
-
-
-//===== XServiceInfo ========================================================
-::rtl::OUString SAL_CALL ChXDiagram::getImplementationName() throw( uno::RuntimeException )
-{
- return SCH_ASCII_TO_OU( "ChXDiagram" );
-}
-
-sal_Bool SAL_CALL ChXDiagram::supportsService( const ::rtl::OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- return SvxServiceInfoHelper::supportsService( ServiceName, getSupportedServiceNames() );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChXDiagram::getSupportedServiceNames() throw( uno::RuntimeException )
-{
- uno::Sequence< ::rtl::OUString > aSeq;
- SvxServiceInfoHelper::addToSequence(
- aSeq, 2,
- "com.sun.star.chart.Diagram",
- "com.sun.star.xml.UserDefinedAttributeSupplier" );
- if( mpModel )
- {
- long nType = mpModel->GetBaseType();
- switch( nType )
- {
- case CHTYPE_LINE:
- SvxServiceInfoHelper::addToSequence(
- aSeq, 9,
- "com.sun.star.chart.LineDiagram",
- "com.sun.star.chart.ChartStatistics",
- "com.sun.star.chart.ChartAxisXSupplier",
- "com.sun.star.chart.ChartTwoAxisXSupplier",
- "com.sun.star.chart.ChartAxisYSupplier",
- "com.sun.star.chart.ChartTwoAxisYSupplier",
- "com.sun.star.chart.StackableDiagram",
- "com.sun.star.chart.Dim3DDiagram",
- "com.sun.star.chart.ChartAxisZSupplier" );
- break;
- case CHTYPE_AREA:
- SvxServiceInfoHelper::addToSequence(
- aSeq, 9,
- "com.sun.star.chart.AreaDiagram",
- "com.sun.star.chart.ChartStatistics",
- "com.sun.star.chart.ChartAxisXSupplier",
- "com.sun.star.chart.ChartTwoAxisXSupplier",
- "com.sun.star.chart.ChartAxisYSupplier",
- "com.sun.star.chart.ChartTwoAxisYSupplier",
- "com.sun.star.chart.StackableDiagram",
- "com.sun.star.chart.Dim3DDiagram",
- "com.sun.star.chart.ChartAxisZSupplier" );
- break;
- case CHTYPE_DONUT :
- SvxServiceInfoHelper::addToSequence( aSeq, 1, "com.sun.star.chart.DonutDiagram" );
- break;
- case CHTYPE_COLUMN : // also treated as bar chart
- case CHTYPE_BAR :
- SvxServiceInfoHelper::addToSequence(
- aSeq, 9,
- "com.sun.star.chart.BarDiagram",
- "com.sun.star.chart.ChartStatistics",
- "com.sun.star.chart.ChartAxisXSupplier",
- "com.sun.star.chart.ChartTwoAxisXSupplier",
- "com.sun.star.chart.ChartAxisYSupplier",
- "com.sun.star.chart.ChartTwoAxisYSupplier",
- "com.sun.star.chart.StackableDiagram",
- "com.sun.star.chart.Dim3DDiagram",
- "com.sun.star.chart.ChartAxisZSupplier" );
- break;
- case CHTYPE_CIRCLE :
- SvxServiceInfoHelper::addToSequence(
- aSeq, 2,
- "com.sun.star.chart.PieDiagram",
- "com.sun.star.chart.Dim3DDiagram");
- break;
- case CHTYPE_XY :
- SvxServiceInfoHelper::addToSequence(
- aSeq, 7,
- "com.sun.star.chart.XYDiagram",
- "com.sun.star.chart.LineDiagram",
- "com.sun.star.chart.ChartStatistics",
- "com.sun.star.chart.ChartAxisXSupplier",
- "com.sun.star.chart.ChartTwoAxisXSupplier",
- "com.sun.star.chart.ChartAxisYSupplier",
- "com.sun.star.chart.ChartTwoAxisYSupplier" );
- break;
- case CHTYPE_NET :
- SvxServiceInfoHelper::addToSequence(
- aSeq, 3,
- "com.sun.star.chart.NetDiagram",
- "com.sun.star.chart.StackableDiagram",
- "com.sun.star.chart.ChartAxisYSupplier" );
- break;
- case CHTYPE_STOCK :
- SvxServiceInfoHelper::addToSequence(
- aSeq, 6,
- "com.sun.star.chart.StockDiagram",
- "com.sun.star.chart.ChartStatistics",
- "com.sun.star.chart.ChartAxisXSupplier",
- "com.sun.star.chart.ChartTwoAxisXSupplier",
- "com.sun.star.chart.ChartAxisYSupplier",
- "com.sun.star.chart.ChartTwoAxisYSupplier" );
- break;
- }
- }
- else
- {
- OSL_FAIL( "No Model" );
- }
-
- return aSeq;
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChXDiagram::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return 0;
-}
-
-// XComponent
-void SAL_CALL ChXDiagram::dispose() throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- const int nMemberListSize = 19;
- const uno::Reference<uno::XInterface> xMemberList[nMemberListSize] = {
- mxXAxisTitle, mxYAxisTitle, mxZAxisTitle,
- mxXAxis, mxYAxis, mxZAxis, mxSecXAxis, mxSecYAxis,
- mxMajorGridX, mxMajorGridY, mxMajorGridZ,
- mxMinorGridX, mxMinorGridY, mxMinorGridZ,
- mxMinMaxLine, mxUpBar, mxDownBar,
- mxWall, mxFloor};
- for (int i=0; i<nMemberListSize; i++)
- if (xMemberList[i].is())
- {
- uno::Reference<lang::XComponent> xComponent (xMemberList[i], uno::UNO_QUERY);
- if (xComponent.is())
- {
- xComponent->dispose();
- xComponent->removeEventListener (this);
- }
- }
-
- ::com::sun::star::lang::EventObject aEvent (*this);
- maListenerList.disposeAndClear (aEvent);
-}
-
-void SAL_CALL ChXDiagram::addEventListener( const uno::Reference< lang::XEventListener >& xListener )
- throw( uno::RuntimeException )
-{
- maListenerList.addInterface (xListener);
-}
-
-void SAL_CALL ChXDiagram::removeEventListener( const uno::Reference< lang::XEventListener >& xListener )
- throw( uno::RuntimeException )
-{
- maListenerList.removeInterface (xListener);
-}
-
-
-
-
-// XEventListener
-void SAL_CALL ChXDiagram::disposing (const ::com::sun::star::lang::EventObject & Source)
- throw (uno::RuntimeException)
-{
- if (Source.Source == mxXAxisTitle)
- mxXAxisTitle = NULL;
- else if (Source.Source == mxYAxisTitle)
- mxYAxisTitle = NULL;
- else if (Source.Source == mxZAxisTitle)
- mxZAxisTitle = NULL;
- else if (Source.Source == mxXAxis)
- mxXAxis = NULL;
- else if (Source.Source == mxYAxis)
- mxYAxis = NULL;
- else if (Source.Source == mxZAxis)
- mxZAxis = NULL;
- else if (Source.Source == mxSecXAxis)
- mxSecXAxis = NULL;
- else if (Source.Source == mxSecYAxis)
- mxSecYAxis = NULL;
- else if (Source.Source == mxMajorGridX)
- mxMajorGridX = NULL;
- else if (Source.Source == mxMajorGridY)
- mxMajorGridY = NULL;
- else if (Source.Source == mxMajorGridZ)
- mxMajorGridZ = NULL;
- else if (Source.Source == mxMinorGridX)
- mxMinorGridX = NULL;
- else if (Source.Source == mxMinorGridY)
- mxMinorGridY = NULL;
- else if (Source.Source == mxMinorGridZ)
- mxMinorGridZ = NULL;
- else if (Source.Source == mxMinMaxLine)
- mxMinMaxLine = NULL;
- else if (Source.Source == mxUpBar)
- mxUpBar = NULL;
- else if (Source.Source == mxDownBar)
- mxDownBar = NULL;
- else if (Source.Source == mxWall)
- mxWall = NULL;
- else if (Source.Source == mxFloor)
- mxFloor = NULL;
-}
-
-
-
-//===== protected methods =======================================================================
-
-void ChXDiagram::AdvanceToName (const SfxItemPropertyMap *& pProperty,
- const OUString * pPropertyName)
- throw (::com::sun::star::beans::UnknownPropertyException)
-{
- sal_Int32 nComparisonResult;
-
- // Advance over the property list to the property with the current name.
- while ((nComparisonResult=pPropertyName->compareToAscii (pProperty->pName)) > 0)
- {
- pProperty++;
- if (pProperty->pName == NULL)
- {
- // We reached the end of the property list. Therefore all remaining given
- // property names can not be found.
- OUString sMessage = OUString (
- RTL_CONSTASCII_USTRINGPARAM ("ChXChartObject::setPropertyValues: unknown property "));
- sMessage += *pPropertyName;
- throw UnknownPropertyException (sMessage, (::cppu::OWeakObject*)this);
- }
- }
- if (nComparisonResult < 0)
- {
- // All remaining given property names can not match any of the remaining properties
- // because they lie alphabetically before them => Error
- OUString sMessage = OUString (
- RTL_CONSTASCII_USTRINGPARAM ("ChXChartObject::setPropertyValues: unknown property "));
- sMessage += *pPropertyName;
- throw UnknownPropertyException (sMessage, (::cppu::OWeakObject*)this);
- }
-
- // If we reach this line then we have found the property with the name pPropertyName.
-}
-
-
-} //namespace binfilter
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChartArea.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChartArea.cxx
deleted file mode 100644
index 84cff3e7d..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChartArea.cxx
+++ /dev/null
@@ -1,121 +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.
- *
- ************************************************************************/
-#include "ChartArea.hxx"
-
-#include "mapprov.hxx"
-
-// header for class OGuard
-#include <osl/mutex.hxx>
-// header for class Application
-#include <vcl/svapp.hxx>
-#include <rtl/uuid.h>
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-ChartArea::ChartArea( ChartModel* pModel, sal_Int32 nObjectId ) :
- ChXChartObject( CHMAP_AREA, pModel, nObjectId )
-{
-}
-
-ChartArea::~ChartArea()
-{}
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChartArea::getImplementationName()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ChartArea" ));
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChartArea::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Sequence< ::rtl::OUString > aSeq( 4 );
- aSeq[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartArea" ));
- aSeq[ 1 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.LineProperties" ));
- aSeq[ 2 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.FillProperties" ));
- aSeq[ 3 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.UserDefinedAttributeSupplier" ));
-
- return aSeq;
-}
-
-// XTypeProvider
-uno::Sequence< sal_Int8 > SAL_CALL ChartArea::getImplementationId()
- throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-// XShapeDescriptor
-::rtl::OUString SAL_CALL ChartArea::getShapeType()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartArea" ));
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChartArea::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return ChXChartObject::getSomething( aIdentifier );
-}
-
-// helpers for XUnoTunnel
-const uno::Sequence< sal_Int8 > & ChartArea::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChartGrid.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChartGrid.cxx
deleted file mode 100644
index 5c2c3a2b5..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChartGrid.cxx
+++ /dev/null
@@ -1,120 +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.
- *
- ************************************************************************/
-#include "ChartGrid.hxx"
-
-#include "mapprov.hxx"
-
-// header for class OGuard
-#include <osl/mutex.hxx>
-// header for class Application
-#include <vcl/svapp.hxx>
-#include <rtl/uuid.h>
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-ChartGrid::ChartGrid( ChartModel* pModel, sal_Int32 nObjectId ) :
- ChXChartObject( CHMAP_LINE, pModel, nObjectId )
-{
-}
-
-ChartGrid::~ChartGrid()
-{}
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChartGrid::getImplementationName()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ChartGrid" ));
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChartGrid::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Sequence< ::rtl::OUString > aSeq( 3 );
- aSeq[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartGrid" ));
- aSeq[ 1 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.LineProperties" ));
- aSeq[ 2 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.UserDefinedAttributeSupplier" ));
-
- return aSeq;
-}
-
-// XTypeProvider
-uno::Sequence< sal_Int8 > SAL_CALL ChartGrid::getImplementationId()
- throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-// XShapeDescriptor
-::rtl::OUString SAL_CALL ChartGrid::getShapeType()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartGrid" ));
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChartGrid::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return ChXChartObject::getSomething( aIdentifier );
-}
-
-// helpers for XUnoTunnel
-const uno::Sequence< sal_Int8 > & ChartGrid::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChartLegend.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChartLegend.cxx
deleted file mode 100644
index 3ac62a716..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChartLegend.cxx
+++ /dev/null
@@ -1,122 +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.
- *
- ************************************************************************/
-#include "ChartLegend.hxx"
-#include "mapprov.hxx"
-#include "defines.hxx"
-
-// header for class OGuard
-#include <osl/mutex.hxx>
-// header for class Application
-#include <vcl/svapp.hxx>
-#include <rtl/uuid.h>
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-ChartLegend::ChartLegend( ChartModel* pModel ) :
- ChXChartObject( CHMAP_LEGEND, pModel, CHOBJID_LEGEND )
-{
-}
-
-ChartLegend::~ChartLegend()
-{}
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChartLegend::getImplementationName()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ChartLegend" ));
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChartLegend::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Sequence< ::rtl::OUString > aSeq( 6 );
- aSeq[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartLegend" ));
- aSeq[ 1 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.style.CharacterProperties" ));
- aSeq[ 2 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.FillProperties" ));
- aSeq[ 3 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.LineProperties" ));
- aSeq[ 4 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.Shape" ));
- aSeq[ 5 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.UserDefinedAttributeSupplier" ));
-
- return aSeq;
-}
-
-// XTypeProvider
-uno::Sequence< sal_Int8 > SAL_CALL ChartLegend::getImplementationId()
- throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-// XShapeDescriptor
-::rtl::OUString SAL_CALL ChartLegend::getShapeType()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartLegend" ));
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChartLegend::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return ChXChartObject::getSomething( aIdentifier );
-}
-
-// helpers for XUnoTunnel
-const uno::Sequence< sal_Int8 > & ChartLegend::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChartLine.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChartLine.cxx
deleted file mode 100644
index 288728bad..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChartLine.cxx
+++ /dev/null
@@ -1,119 +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.
- *
- ************************************************************************/
-#include "ChartLine.hxx"
-
-#include "mapprov.hxx"
-
-// header for class OGuard
-#include <osl/mutex.hxx>
-// header for class Application
-#include <vcl/svapp.hxx>
-#include <rtl/uuid.h>
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-ChartLine::ChartLine( ChartModel* pModel, sal_Int32 nObjectId, sal_Int32 nIndex ) :
- ChXChartObject( CHMAP_LINE, pModel, nObjectId, nIndex )
-{
-}
-
-ChartLine::~ChartLine()
-{}
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChartLine::getImplementationName()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ChartLine" ));
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChartLine::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Sequence< ::rtl::OUString > aSeq( 3 );
- aSeq[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartLine" ));
- aSeq[ 1 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.LineProperties" ));
- aSeq[ 2 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.UserDefinedAttributeSupplier" ));
-
- return aSeq;
-}
-
-// XTypeProvider
-uno::Sequence< sal_Int8 > SAL_CALL ChartLine::getImplementationId()
- throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-// XShapeDescriptor
-::rtl::OUString SAL_CALL ChartLine::getShapeType()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartLine" ));
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChartLine::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return ChXChartObject::getSomething( aIdentifier );
-}
-
-// helpers for XUnoTunnel
-const uno::Sequence< sal_Int8 > & ChartLine::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_ChartTitle.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_ChartTitle.cxx
deleted file mode 100644
index e61cdcaa7..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_ChartTitle.cxx
+++ /dev/null
@@ -1,184 +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.
- *
- ************************************************************************/
-#include "ChartTitle.hxx"
-
-#include "mapprov.hxx"
-
-// header for class OGuard
-// header for class Application
-#include <vcl/svapp.hxx>
-#include <rtl/uuid.h>
-
-#include "schattr.hxx"
-#ifndef _SVX_CHRTITEM_HXX //autogen
-#define ITEMID_CHARTTEXTORIENT SCHATTR_TEXT_ORIENT
-
-#include <bf_svtools/eitem.hxx>
-
-#endif
-#include "globfunc.hxx"
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-ChartTitle::ChartTitle( ChartModel* pModel, sal_Int32 nObjectId ) :
- ChXChartObject( CHMAP_TITLE, pModel, nObjectId )
-{
-}
-
-ChartTitle::~ChartTitle()
-{}
-
-// XServiceInfo
-::rtl::OUString SAL_CALL ChartTitle::getImplementationName()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ChartTitle" ));
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL ChartTitle::getSupportedServiceNames()
- throw( uno::RuntimeException )
-{
- SolarMutexGuard aGuard;
-
- uno::Sequence< ::rtl::OUString > aSeq( 4 );
- aSeq[ 0 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartTitle" ));
- aSeq[ 1 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.drawing.Shape" ));
- aSeq[ 2 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.style.CharacterProperties" ));
- aSeq[ 3 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.UserDefinedAttributeSupplier" ));
-
- return aSeq;
-}
-
-// XTypeProvider
-uno::Sequence< sal_Int8 > SAL_CALL ChartTitle::getImplementationId()
- throw( uno::RuntimeException )
-{
- static uno::Sequence< sal_Int8 > aId;
- if( aId.getLength() == 0 )
- {
- aId.realloc( 16 );
- rtl_createUuid( (sal_uInt8 *)aId.getArray(), 0, sal_True );
- }
- return aId;
-}
-
-// XShapeDescriptor
-::rtl::OUString SAL_CALL ChartTitle::getShapeType()
- throw( uno::RuntimeException )
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartTitle" ));
-}
-
-// XUnoTunnel
-sal_Int64 SAL_CALL ChartTitle::getSomething( const uno::Sequence< sal_Int8 >& aIdentifier )
- throw( uno::RuntimeException )
-{
- if( aIdentifier.getLength() == 16 && 0 == rtl_compareMemory( getUnoTunnelId().getConstArray(),
- aIdentifier.getConstArray(), 16 ) )
- {
- return (sal_Int64)this;
- }
- return ChXChartObject::getSomething( aIdentifier );
-}
-
-// helpers for XUnoTunnel
-const uno::Sequence< sal_Int8 > & ChartTitle::getUnoTunnelId() throw()
-{
- static uno::Sequence< sal_Int8 > * pSeq = 0;
- if( !pSeq )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if( !pSeq )
- {
- static uno::Sequence< sal_Int8 > aSeq( 16 );
- rtl_createUuid( (sal_uInt8*)aSeq.getArray(), 0, sal_True );
- pSeq = &aSeq;
- }
- }
- return *pSeq;
-}
-
-void ChartTitle::GetPropertyValue( const SfxItemPropertyMap & rProperty,
- ::com::sun::star::uno::Any & rValue,
- SfxItemSet & rAttributes )
-{
- switch( rProperty.nWID )
- {
- // Axis title rotation angle.
- case SCHATTR_TEXT_DEGREES:
- {
- // Automatic text orientation is changed into corresponding
- // rotation angle.
- SvxChartTextOrient eOrientation =
- ((const SvxChartTextOrientItem&)rAttributes.Get(
- SCHATTR_TEXT_ORIENT)).GetValue();
- if (eOrientation == CHTXTORIENT_AUTOMATIC)
- {
- switch (mnWhichId)
- {
- case CHOBJID_DIAGRAM_TITLE_X_AXIS:
- if (mpModel->IsXVertikal())
- eOrientation = CHTXTORIENT_BOTTOMTOP;
- else
- eOrientation = CHTXTORIENT_AUTOMATIC;
- break;
-
- case CHOBJID_DIAGRAM_TITLE_Y_AXIS:
- if (mpModel->IsXVertikal())
- eOrientation = CHTXTORIENT_AUTOMATIC;
- else
- eOrientation = CHTXTORIENT_BOTTOMTOP;
- break;
-
- case CHOBJID_DIAGRAM_TITLE_Z_AXIS:
- if (mpModel->IsXVertikal())
- eOrientation = CHTXTORIENT_TOPBOTTOM;
- else
- eOrientation = CHTXTORIENT_AUTOMATIC;
- break;
-
- default:
- eOrientation = CHTXTORIENT_AUTOMATIC;
- break;
- }
- }
- // GetTextRotation is in globfunc and returns the value of the
- // rotation item (SCHATTR_TEXT_DEGREES) if set, otherwise
- // defaults according to the orientation
- rValue <<= static_cast< sal_Int32 >( GetTextRotation (rAttributes, eOrientation) );
- }
- break;
-
- default:
- ChXChartObject::GetPropertyValue( rProperty, rValue, rAttributes );
- }
-}
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_mapprov.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_mapprov.cxx
deleted file mode 100644
index 831df8fe4..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_mapprov.cxx
+++ /dev/null
@@ -1,415 +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.
- *
- ************************************************************************/
-
-#include "mapprov.hxx"
-#include "schattr.hxx"
-
-#include "app.hrc" // for SID_TEXTBREAK
-#include <bf_svx/svxids.hrc> // for SID_ATTR_NUMBERFORMAT_SOURCE
-
-// for SdrObject
-// for SdrObjList
-// for SdrObjListIter
-// header for E3dExtrudeObj
-// for SVX_UNOEDIT_CHAR_PROPERTIES, SVX_UNOEDIT_FONT_PROPERTIES
-#include <bf_svx/unoshprp.hxx>
-
-#include <com/sun/star/chart/ChartLegendPosition.hpp>
-#include <com/sun/star/chart/ChartErrorIndicatorType.hpp>
-#include <com/sun/star/chart/ChartErrorCategory.hpp>
-#include <com/sun/star/chart/ChartRegressionCurveType.hpp>
-#include <com/sun/star/chart/ChartDataRowSource.hpp>
-#include <com/sun/star/chart/ChartAxisArrangeOrderType.hpp>
-#include <com/sun/star/chart/ChartSeriesAddress.hpp>
-
-#include <com/sun/star/drawing/XShapes.hpp>
-#include "unonames.hxx"
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-// ----------------------------------
-// create one global instance for use
-// from all uno implemetations
-// ----------------------------------
-SchUnoPropertyMapProvider aSchMapProvider;
-
-
-// ----------------------
-// shared property ranges
-// ----------------------
-
-#define SCH_DATA_DESCR_PROPERTIES \
- { MAP_CHAR_LEN( UNONAME_DATACAPTION ), SCHATTR_DATADESCR_DESCR, &::getCppuType( (sal_Int32*)0 ), 0, 0 }
-
-// attention: x and y grids are interchanged
-#define SCH_SHOW_HIDE_PROPERTIES \
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_2X_AXIS ), CHATTR_AXISGRID_SHOW_2X_AXIS, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_2X_DESCR ), CHATTR_AXISGRID_SHOW_2X_DESCR, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_2Y_AXIS ), CHATTR_AXISGRID_SHOW_2Y_AXIS, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_2Y_DESCR ), CHATTR_AXISGRID_SHOW_2Y_DESCR, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_X_AXIS ), CHATTR_AXISGRID_SHOW_X_AXIS, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_X_DESCR ), CHATTR_AXISGRID_SHOW_X_DESCR, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_X_HELP ), CHATTR_AXISGRID_SHOW_Y_HELP, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_X_MAIN ), CHATTR_AXISGRID_SHOW_Y_MAIN, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_Y_AXIS ), CHATTR_AXISGRID_SHOW_Y_AXIS, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_Y_DESCR ), CHATTR_AXISGRID_SHOW_Y_DESCR, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_Y_HELP ), CHATTR_AXISGRID_SHOW_X_HELP, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_Y_MAIN ), CHATTR_AXISGRID_SHOW_X_MAIN, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_Z_AXIS ), CHATTR_AXISGRID_SHOW_Z_AXIS, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_Z_DESCR ), CHATTR_AXISGRID_SHOW_Z_DESCR, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_Z_HELP ), CHATTR_AXISGRID_SHOW_Z_HELP, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_AXISGRID_SHOW_Z_MAIN ), CHATTR_AXISGRID_SHOW_Z_MAIN, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_TITLE_SHOW_X_AXIS ), CHATTR_TITLE_SHOW_X_AXIS, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_TITLE_SHOW_Y_AXIS ), CHATTR_TITLE_SHOW_Y_AXIS, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_TITLE_SHOW_Z_AXIS ), CHATTR_TITLE_SHOW_Z_AXIS, &::getBooleanCppuType(), 0, 0 }
-
-#define SCH_STAT_PROPERTIES \
- { MAP_CHAR_LEN( UNONAME_STAT_AVERAGE ), SCHATTR_STAT_AVERAGE, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STAT_BIGERROR ), SCHATTR_STAT_BIGERROR, &::getCppuType((const double*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STAT_CONSTMINUS ), SCHATTR_STAT_CONSTMINUS, &::getCppuType((const double*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STAT_CONSTPLUS ), SCHATTR_STAT_CONSTPLUS, &::getCppuType((const double*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STAT_INDICATE ), SCHATTR_STAT_INDICATE, &::getCppuType((const chart::ChartErrorIndicatorType*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STAT_KIND_ERROR ), SCHATTR_STAT_KIND_ERROR, &::getCppuType((const chart::ChartErrorCategory*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STAT_PERCENT ), SCHATTR_STAT_PERCENT, &::getCppuType((const double*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STAT_REGRESSTYPE ), SCHATTR_STAT_REGRESSTYPE, &::getCppuType((const chart::ChartRegressionCurveType*)0), 0, 0 }
-
-#define SCH_SUBTYPE_PROPERTIES \
- { MAP_CHAR_LEN( UNONAME_NUM_OF_LINES_FOR_BAR ), CHATTR_NUM_OF_LINES_FOR_BAR, &::getCppuType((const sal_Int32*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STOCK_UPDOWN ), SCHATTR_STOCK_UPDOWN, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STOCK_VOLUME ), SCHATTR_STOCK_VOLUME, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_3D ), SCHATTR_STYLE_3D, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_DEEP ), SCHATTR_STYLE_DEEP, &::getBooleanCppuType() , 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_LINES ), SCHATTR_STYLE_LINES, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_PERCENT ), SCHATTR_STYLE_PERCENT, &::getBooleanCppuType() , 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_SHAPE ), SCHATTR_STYLE_SHAPE, &::getCppuType((const sal_Int32*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_SPLINES ), SCHATTR_STYLE_SPLINES, &::getCppuType((const sal_Int32*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_STACKED ), SCHATTR_STYLE_STACKED, &::getBooleanCppuType() , 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_SYMBOL ), SCHATTR_STYLE_SYMBOL, &::getCppuType((const sal_Int32*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_SYMBOL_BITMAP_URL ), SCHATTR_SYMBOL_BRUSH, &::getCppuType((const ::rtl::OUString*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_SYMBOL_SIZE ), SCHATTR_SYMBOL_SIZE, &::getCppuType((const awt::Size*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_VERTICAL ), SCHATTR_STYLE_VERTICAL, &::getBooleanCppuType(), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_SPLINE_ORDER ), CHATTR_SPLINE_ORDER, &::getCppuType((const sal_Int32*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_SPLINE_RESOLUTION ), CHATTR_SPLINE_RESOLUTION, &::getCppuType((const sal_Int32*)0), 0, 0 }
-
-
-#define SCH_TEXT2_PROPERTIES \
- { MAP_CHAR_LEN( UNONAME_TEXT_DEGREES ), SCHATTR_TEXT_DEGREES, &::getCppuType((const sal_Int32*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_TEXT_OVERLAP ), SCHATTR_TEXT_OVERLAP, &::getBooleanCppuType(), 0, 0 }
-
-
-#define SCH_GFX_PROPERTIES \
- { MAP_CHAR_LEN( UNONAME_STYLE_SHAPE ), SCHATTR_STYLE_SHAPE, &::getCppuType((const sal_Int32*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_STYLE_SYMBOL ), SCHATTR_STYLE_SYMBOL, &::getCppuType((const sal_Int32*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_SYMBOL_BITMAP_URL ),SCHATTR_SYMBOL_BRUSH, &::getCppuType((const ::rtl::OUString*)0), 0, 0 },\
- { MAP_CHAR_LEN( UNONAME_SYMBOL_SIZE ), SCHATTR_SYMBOL_SIZE, &::getCppuType((const awt::Size*)0), 0, 0 }
-
-#define SCH_ALIEN_PROPERTIES \
- { MAP_CHAR_LEN( UNONAME_USER_DEF_ATTR ), SCHATTR_USER_DEFINED_ATTR, &::getCppuType((uno::Reference< container::XNameContainer >*)0), 0, 0 }
-
-#define SCH_MAP_END { 0,0,0,0,0,0 }
-
-// ---------------
-// map definitions
-// ---------------
-
-// see SchUnoPropertyMapProvider::GetMap()
-
-// ------------------------------------------------------------
-//
-// Implementation for SchUnoPropertyMapProvider
-//
-// ------------------------------------------------------------
-
-SchUnoPropertyMapProvider::SchUnoPropertyMapProvider()
-{
- for( long i = 0; i < CHMAP_END; i++ )
- pMapArr[i] = 0;
-}
-
-SchUnoPropertyMapProvider::~SchUnoPropertyMapProvider()
-{
- for( long i = 0; i < CHMAP_END; i++ )
- if( pMapArr[i] )
- delete pMapArr[i];
-}
-
-// -------------- copied from SwUnoPropertyMapProvider --------------
-EXTERN_C
-#ifdef WNT
-int _cdecl
-#else
-int
-#endif
-Sch_CompareMap( const void* pSmaller, const void* pBigger )
-{
- int nDiff = strcmp( ((const SfxItemPropertyMap*)pSmaller)->pName,
- ((const SfxItemPropertyMap*)pBigger)->pName );
- return nDiff;
-}
-
-void SchUnoPropertyMapProvider::Sort(short nId)
-{
- SfxItemPropertyMap* pTemp = pMapArr[ nId ];
- short i = 0;
- while( pTemp[i].pName )
- i++;
-
- qsort( pMapArr[ nId ], i, sizeof(SfxItemPropertyMap), Sch_CompareMap );
-}
-
-SfxItemPropertyMap* SchUnoPropertyMapProvider::CopyMap( const SfxItemPropertyMap* pMap1 )
-{
- long nCnt = 0;
-
- while( pMap1[ nCnt ].pName )
- nCnt++;
-
- nCnt++;
-
- SfxItemPropertyMap* pNewMap = new SfxItemPropertyMap[ nCnt ];
- memcpy( pNewMap, pMap1, sizeof(SfxItemPropertyMap) * nCnt );
- return pNewMap;
-}
-
-SfxItemPropertyMap* SchUnoPropertyMapProvider::GetMap( short nPropertyId, ChartModel * /*pModel*/ )
-{
- // ---------------
- // map definitions
- // ---------------
-
- static SfxItemPropertyMap aEmptyMap[] = { SCH_MAP_END };
-
- // ChXChartDocument
- static SfxItemPropertyMap aChartDocumentPropertyMap_Impl[] =
- {
- { MAP_CHAR_LEN( UNONAME_HASLEGEND ), CHATTR_DIAGRAM_START, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_TITLE_SHOW_MAIN ), CHATTR_TITLE_SHOW_MAIN, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_TITLE_SHOW_SUB ), CHATTR_TITLE_SHOW_SUB, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_CATEGORIES_RANGE_ADDRESS ), CHATTR_ADDR_CATEGORIES, &::getCppuType((const ::rtl::OUString*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_SERIES_ADDRESSES ), CHATTR_ADDR_SERIES, &::getCppuType(( uno::Sequence< chart::ChartSeriesAddress >*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_CHART_RANGE_ADDRESS ), CHATTR_ADDR_CHART, &::getCppuType((const ::rtl::OUString*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_TABLE_NUMBER_LIST ), CHATTR_TABLE_NUMBER_LIST, &::getCppuType((const ::rtl::OUString*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_EXPORT_DATA ), CHATTR_EXPORT_TABLE, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_FIRST_COL_LABELS ), CHATTR_FIRST_COL_LABELS,&::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_FIRST_ROW_LABELS ), CHATTR_FIRST_ROW_LABELS,&::getBooleanCppuType(), 0, 0 },
-// { MAP_CHAR_LEN( UNONAME_MAINTITLE_ADDRESS ), CHATTR_ADDR_MAIN_TITLE, &::getCppuType((const ::rtl::OUString*)0), 0, 0 },
-// { MAP_CHAR_LEN( UNONAME_SUBTITLE_ADDRESS ), CHATTR_ADDR_SUB_TITLE, &::getCppuType((const ::rtl::OUString*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_ADDITIONAL_SHAPES ), CHATTR_ADDITIONAL_SHAPES, &::getCppuType((const uno::Reference< drawing::XShapes >*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_HAS_TRANSLATED_COLS ), CHATTR_HAS_TRANSLATED_COLS, &::getBooleanCppuType(), beans::PropertyAttribute::READONLY, 0},
- { MAP_CHAR_LEN( UNONAME_HAS_TRANSLATED_ROWS ), CHATTR_HAS_TRANSLATED_ROWS, &::getBooleanCppuType(), beans::PropertyAttribute::READONLY, 0},
- { MAP_CHAR_LEN( UNONAME_TRANSLATED_COLS ), CHATTR_TRANSLATED_COLS, &::getCppuType(( uno::Sequence< sal_Int32 >*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_TRANSLATED_ROWS ), CHATTR_TRANSLATED_ROWS, &::getCppuType(( uno::Sequence< sal_Int32 >*)0), 0, 0 },
- SCH_ALIEN_PROPERTIES,
- SCH_MAP_END
- };
-
- static SfxItemPropertyMap aChartTitleShapePropertyMap_Impl[] =
- {
- SVX_UNOEDIT_CHAR_PROPERTIES,
- { MAP_CHAR_LEN( UNONAME_TEXT_DEGREES ), SCHATTR_TEXT_DEGREES, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_TEXT_STRING ), CHATTR_TITLE_MAIN, &::getCppuType((const ::rtl::OUString*)0), 0, 0 }, // CHATTR_TEXT_TITLE_MAIN is just a 'placeholder' to select the uno property 'String' from the which id
- { MAP_CHAR_LEN( UNONAME_STACKED_TEXT ), SCHATTR_TEXT_ORIENT, &::getBooleanCppuType(), 0, 0 },
- SCH_ALIEN_PROPERTIES,
- FILL_PROPERTIES
- LINE_PROPERTIES
- LINE_PROPERTIES_START_END
- SCH_MAP_END
- };
-
- static SfxItemPropertyMap aChartLegendPropertyMap_Impl[] =
- {
- SVX_UNOEDIT_CHAR_PROPERTIES,
- { MAP_CHAR_LEN( UNONAME_CHARTLEGENDALIGN ), SCHATTR_LEGEND_POS, &::getCppuType((const chart::ChartLegendPosition*)0), 0, 0 },
- SCH_ALIEN_PROPERTIES,
- FILL_PROPERTIES
- LINE_PROPERTIES
- LINE_PROPERTIES_START_END
- SCH_MAP_END
- };
-
- // ChXDiagram
- static SfxItemPropertyMap aChartPropertyMap_Impl[] =
- {
- SCH_STAT_PROPERTIES,
- SCH_SHOW_HIDE_PROPERTIES,
- SCH_SUBTYPE_PROPERTIES,
- SCH_DATA_DESCR_PROPERTIES,
- { MAP_CHAR_LEN( UNONAME_DATAROWSOURCE ), CHATTR_DATA_SWITCH, &::getCppuType((const chart::ChartDataRowSource*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_STACKCONNECTORS ), CHATTR_BARCONNECT, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_ATTRIBUTED_DATA_POINTS ),CHATTR_ATTRIBUTED_DATA_POINTS, &::getCppuType(( uno::Sequence< uno::Sequence< sal_Int32 > >*)0), beans::PropertyAttribute::READONLY, 0},
- SCH_ALIEN_PROPERTIES,
- FILL_PROPERTIES
- LINE_PROPERTIES
- LINE_PROPERTIES_START_END
- SPECIAL_3DSCENEOBJECT_PROPERTIES
- SCH_MAP_END
- };
-
- static SfxItemPropertyMap aChartAxisStylePropertyMap_Impl[] =
- {
- SCH_TEXT2_PROPERTIES,
- SVX_UNOEDIT_CHAR_PROPERTIES,
- LINE_PROPERTIES
- LINE_PROPERTIES_START_END
- { MAP_CHAR_LEN( UNONAME_AXIS_AUTO_MAX ), SCHATTR_AXIS_AUTO_MAX, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_AUTO_MIN ), SCHATTR_AXIS_AUTO_MIN, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_AUTO_ORIGIN ), SCHATTR_AXIS_AUTO_ORIGIN, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_AUTO_STEP_HELP ), SCHATTR_AXIS_AUTO_STEP_HELP, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_AUTO_STEP_MAIN ), SCHATTR_AXIS_AUTO_STEP_MAIN, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_HELPTICKS ), SCHATTR_AXIS_HELPTICKS, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_LOGARITHM ), SCHATTR_AXIS_LOGARITHM, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_MAX ), SCHATTR_AXIS_MAX, &::getCppuType((const double*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_MIN ), SCHATTR_AXIS_MIN, &::getCppuType((const double*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_ORIGIN ), SCHATTR_AXIS_ORIGIN, &::getCppuType((const double*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_STEP_HELP ), SCHATTR_AXIS_STEP_HELP, &::getCppuType((const double*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_STEP_MAIN ), SCHATTR_AXIS_STEP_MAIN, &::getCppuType((const double*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_AXIS_TICKS ), SCHATTR_AXIS_TICKS, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_DIAGRAM_GAPWIDTH ), SCHATTR_BAR_GAPWIDTH, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_DIAGRAM_OVERLAP ), SCHATTR_BAR_OVERLAP, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_NUMBERFORMAT ), SCHATTR_AXIS_NUMFMT, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_TEXTBREAK ), SID_TEXTBREAK, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_TEXT_ORDER ), SCHATTR_TEXT_ORDER, &::getCppuType((const chart::ChartAxisArrangeOrderType*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_DISPLAY_LABELS ), SCHATTR_AXIS_SHOWDESCR, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_VISIBLE ), SCHATTR_AXIS_SHOWAXIS, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_LINK_NUMFMT ), SID_ATTR_NUMBERFORMAT_SOURCE, &::getBooleanCppuType(), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_STACKED_TEXT ), SCHATTR_TEXT_ORIENT, &::getBooleanCppuType(), 0, 0 },
- SCH_ALIEN_PROPERTIES,
- SCH_MAP_END
- };
-
- static SfxItemPropertyMap aChartDataRowPropertyMap_Impl[] =
- {
- SCH_GFX_PROPERTIES,
- SCH_DATA_DESCR_PROPERTIES,
- SCH_STAT_PROPERTIES,
- SVX_UNOEDIT_CHAR_PROPERTIES,
- { MAP_CHAR_LEN( UNONAME_AXIS ), SCHATTR_AXIS, &::getCppuType((const sal_Int32*)0), 0, 0 },
- { MAP_CHAR_LEN( UNONAME_REGRESSION_PROPS ), CHATTR_REGRESSION_PROPS, &::getCppuType((const uno::Reference< beans::XPropertySet >*)0), beans::PropertyAttribute::READONLY, 0},
- { MAP_CHAR_LEN( UNONAME_ERROR_PROPS ), CHATTR_ERROR_PROPS, &::getCppuType((const uno::Reference< beans::XPropertySet >*)0), beans::PropertyAttribute::READONLY, 0},
- { MAP_CHAR_LEN( UNONAME_AVERAGE_PROPS ), CHATTR_AVERAGE_PROPS, &::getCppuType((const uno::Reference< beans::XPropertySet >*)0), beans::PropertyAttribute::READONLY, 0},
- SCH_ALIEN_PROPERTIES,
- FILL_PROPERTIES
- LINE_PROPERTIES
- LINE_PROPERTIES_START_END
- MISC_3D_OBJ_PROPERTIES
- SPECIAL_3DEXTRUDEOBJECT_PROPERTIES
- SPECIAL_3DLATHEOBJECT_PROPERTIES
- SPECIAL_3DPOLYGONOBJECT_PROPERTIES
- SPECIAL_3DBACKSCALE_PROPERTIES
- SCH_MAP_END
- };
-
- static SfxItemPropertyMap aChartDataPointPropertyMap_Impl[] =
- {
- SCH_GFX_PROPERTIES,
- SCH_DATA_DESCR_PROPERTIES,
- SVX_UNOEDIT_CHAR_PROPERTIES,
- { MAP_CHAR_LEN( UNONAME_PIE_SEGMENT_OFFSET ), CHATTR_PIE_SEGMENT_OFFSET, &::getCppuType((const sal_Int32*)0), 0, 0 },
- SCH_ALIEN_PROPERTIES,
- FILL_PROPERTIES
- LINE_PROPERTIES
- LINE_PROPERTIES_START_END
- MISC_3D_OBJ_PROPERTIES
- SPECIAL_3DEXTRUDEOBJECT_PROPERTIES
- SPECIAL_3DLATHEOBJECT_PROPERTIES
- SPECIAL_3DPOLYGONOBJECT_PROPERTIES
- SPECIAL_3DBACKSCALE_PROPERTIES
- SCH_MAP_END
- };
-
- static SfxItemPropertyMap aFilledShapePropertyMap_Impl[] =
- {
- FILL_PROPERTIES
- LINE_PROPERTIES
- LINE_PROPERTIES_START_END
- SCH_ALIEN_PROPERTIES,
- SCH_MAP_END
- };
-
- static SfxItemPropertyMap aLineShapePropertyMap_Impl[] =
- {
- LINE_PROPERTIES
- LINE_PROPERTIES_START_END
- SCH_ALIEN_PROPERTIES,
- SCH_MAP_END
- };
-
- // ------------
- // program code
- // ------------
-
- if( nPropertyId >= CHMAP_END )
- OSL_TRACE( "Invalid Id %d (>=%d)", nPropertyId, CHMAP_END );
-
- if( ! pMapArr[ nPropertyId ] )
- {
- SfxItemPropertyMap** pNewMap = &(pMapArr[ nPropertyId ]);
- switch( nPropertyId )
- {
- case CHMAP_CHART:
- *pNewMap = CopyMap( aChartPropertyMap_Impl );
- break;
- case CHMAP_AREA:
- *pNewMap = CopyMap( aFilledShapePropertyMap_Impl );
- break;
- case CHMAP_LINE:
- *pNewMap = CopyMap( aLineShapePropertyMap_Impl );
- break;
- case CHMAP_DOC:
- *pNewMap = CopyMap( aChartDocumentPropertyMap_Impl );
- break;
- case CHMAP_AXIS:
- *pNewMap = CopyMap( aChartAxisStylePropertyMap_Impl );
- break;
- case CHMAP_LEGEND:
- *pNewMap = CopyMap( aChartLegendPropertyMap_Impl );
- break;
- case CHMAP_TITLE:
- *pNewMap = CopyMap( aChartTitleShapePropertyMap_Impl );
- break;
- case CHMAP_DATAROW:
- *pNewMap = CopyMap( aChartDataRowPropertyMap_Impl );
- break;
- case CHMAP_DATAPOINT:
- *pNewMap = CopyMap( aChartDataPointPropertyMap_Impl );
- break;
- case CHMAP_NONE:
- default:
- *pNewMap = CopyMap( aEmptyMap );
- DBG_WARNING( "Using empty PropertyMap!" );
- break;
- }
- Sort( nPropertyId );
- }
-
- return pMapArr[ nPropertyId ];
-}
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_register.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_register.cxx
deleted file mode 100644
index 9351bce0c..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_register.cxx
+++ /dev/null
@@ -1,81 +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.
- *
- ************************************************************************/
-
-
-#include <bf_sfx2/sfxuno.hxx>
-
-#include "schdll.hxx"
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-//StarChart document
-extern uno::Sequence< ::rtl::OUString > SAL_CALL SchDocument_getSupportedServiceNames() throw();
-extern ::rtl::OUString SAL_CALL SchDocument_getImplementationName() throw();
-extern uno::Reference< uno::XInterface > SAL_CALL SchDocument_createInstance(const uno::Reference< lang::XMultiServiceFactory > & rSMgr) throw( uno::Exception );
-
-extern "C" {
-
-SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( const sal_Char* pImplementationName ,
- void* pServiceManager ,
- void* /*pRegistryKey*/ )
-{
- void* pReturn = NULL ;
-
- if ( ( pImplementationName != NULL ) && ( pServiceManager != NULL ) )
- {
- uno::Reference< lang::XSingleServiceFactory > xFactory;
- uno::Reference< lang::XMultiServiceFactory > xServiceManager(
- reinterpret_cast< lang::XMultiServiceFactory* >( pServiceManager ) );
-
- if( SchDocument_getImplementationName().equalsAsciiL(
- pImplementationName, strlen(pImplementationName)) )
- {
- xFactory = ::cppu::createSingleFactory( xServiceManager,
- SchDocument_getImplementationName(),
- SchDocument_createInstance,
- SchDocument_getSupportedServiceNames() );
- }
-
-
- if ( xFactory.is() )
- {
- xFactory->acquire();
- pReturn = xFactory.get();
- }
- }
-
- return pReturn ;
-}
-} // extern "C"
-
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/source/ui/unoidl/sch_unodoc.cxx b/binfilter/bf_sch/source/ui/unoidl/sch_unodoc.cxx
deleted file mode 100644
index 1a36665b6..000000000
--- a/binfilter/bf_sch/source/ui/unoidl/sch_unodoc.cxx
+++ /dev/null
@@ -1,83 +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.
- *
- ************************************************************************/
-
-// System - Includes -----------------------------------------------------
-
-#include <bf_sfx2/docfac.hxx>
-
-
-#include "schmod.hxx"
-
-#include <osl/mutex.hxx>
-#include <vcl/svapp.hxx>
-namespace binfilter {
-
-using namespace ::com::sun::star;
-
-::rtl::OUString SAL_CALL SchDocument_getImplementationName() throw()
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.Chart.ChartDocument" ) );
-}
-
-uno::Sequence< ::rtl::OUString > SAL_CALL SchDocument_getSupportedServiceNames() throw()
-{
- uno::Sequence< ::rtl::OUString > aSeq( 3 );
- aSeq[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartDocument" ) );
- aSeq[1] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.chart.ChartTableAddressSupplier" ) );
- aSeq[2] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.UserDefinedAttributeSupplier" ) );
-
- return aSeq;
-}
-
-uno::Reference< uno::XInterface > SAL_CALL SchDocument_createInstance(
- const uno::Reference< lang::XMultiServiceFactory > & /*rSMgr*/ ) throw( uno::Exception )
-{
- SolarMutexGuard aGuard;
-
- // to create the service the SW_MOD should be already initialized
- DBG_ASSERT( SCH_MOD1(), "No StarChart module!" );
-
- if ( SCH_MOD1() )
- {
- ::rtl::OUString aFactoryURL( RTL_CONSTASCII_USTRINGPARAM ( "private:factory/schart" ) );
- const SfxObjectFactory* pFactory = SfxObjectFactory::GetFactory( aFactoryURL );
- if ( pFactory )
- {
- SfxObjectShell* pShell = pFactory->CreateObject();
- if( pShell )
- return uno::Reference< uno::XInterface >( pShell->GetModel() );
- }
- }
-
- return uno::Reference< uno::XInterface >();
-}
-
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/util/bf_sch.component b/binfilter/bf_sch/util/bf_sch.component
deleted file mode 100644
index f86127de4..000000000
--- a/binfilter/bf_sch/util/bf_sch.component
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--**********************************************************************
-*
-* 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.
-*
-**********************************************************************-->
-
-<component loader="com.sun.star.loader.SharedLibrary"
- xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="com.sun.star.comp.Chart.ChartDocument">
- <service name="com.sun.star.chart.ChartDocument"/>
- <service name="com.sun.star.chart.ChartTableAddressSupplier"/>
- <service name="com.sun.star.xml.UserDefinedAttributeSupplier"/>
- </implementation>
-</component>
diff --git a/binfilter/bf_sch/util/bf_sch.map b/binfilter/bf_sch/util/bf_sch.map
deleted file mode 100644
index 9332bde58..000000000
--- a/binfilter/bf_sch/util/bf_sch.map
+++ /dev/null
@@ -1,29 +0,0 @@
-UDK_3_0_0 {
- global:
- CreateSchChartDocShellDll;
- CreateObjSchChartDocShellDll;
- InitSchDll;
- DeInitSchDll;
- SchUpdate;
- SchUpdateAttr;
- SchGetChartData;
- SchNewMemChartNone;
- SchNewMemChartXY;
- SchNewMemChartCopy;
- SchSetTransparent;
- SchGetDefaultForColumnText;
- SchGetDefaultForRowText;
- SchMemChartInsertCols;
- SchMemChartRemoveCols;
- SchMemChartInsertRows;
- SchMemChartRemoveRows;
- SchMemChartSwapCols;
- SchMemChartSwapRows;
- SchConvertChartRangeForWriter;
- SchConvertChartRangeForCalc;
- SchMemChartResetTranslation;
- SchMemChartUpdateTranslation;
- component_getFactory;
- local:
- *;
-};
diff --git a/binfilter/bf_sch/util/makefile.mk b/binfilter/bf_sch/util/makefile.mk
deleted file mode 100644
index acdd77ca6..000000000
--- a/binfilter/bf_sch/util/makefile.mk
+++ /dev/null
@@ -1,111 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-
-PRJ=..$/..
-BFPRJ=..
-
-PRJNAME=binfilter
-TARGET=schart3
-
-NO_HIDS=TRUE
-
-LIBTARGET=NO
-
-# --- Settings -----------------------------------------------------------
-.INCLUDE : settings.mk
-alllangiso=en-US
-INC+= -I$(PRJ)$/inc$/bf_sch
-IENV!:=$(IENV);$(RES);..$/res
-
-# --- Files --------------------------------------------------------
-
-RESLIB1LIST=\
- $(SRS)$/sch_app.srs \
- $(SRS)$/sch_core.srs
-
-RESLIB1NAME=bf_sch
-RESLIB1SRSFILES=\
- $(RESLIB1LIST)
-
-LIB2TARGET= $(SLB)$/sch_schmod.lib
-LIB2OBJFILES= $(SLO)$/sch_schmod.obj
-
-LIB3TARGET= $(SLB)$/bf_sch.lib
-LIB3FILES= $(SLB)$/sch_core.lib \
- $(SLB)$/sch_app.lib \
- $(SLB)$/sch_docshell.lib \
- $(SLB)$/sch_chxchart.lib \
- $(SLB)$/sch_xml.lib
-
-
-SHL1TARGET= bf_sch$(DLLPOSTFIX)
-SHL1IMPLIB= bf_schi
-
-SHL1VERSIONMAP= bf_sch.map
-SHL1DEF=$(MISC)$/$(SHL1TARGET).def
-DEF1NAME=$(SHL1TARGET)
-
-SHL1STDLIBS=\
- $(BFSVXLIB) \
- $(LEGACYSMGRLIB) \
- $(BFSO3LIB) \
- $(BFGOODIESLIB) \
- $(BFSVTOOLLIB) \
- $(VCLLIB) \
- $(SOTLIB) \
- $(UNOTOOLSLIB) \
- $(TOOLSLIB) \
- $(COMPHELPERLIB) \
- $(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
-
-
-SHL1BASE= 0x1d100000
-SHL1LIBS= $(LIB3TARGET)
-
-.IF "$(GUI)"!="UNX"
-.IF "$(GUI)$(COM)" != "WNTGCC"
-SHL1OBJS= $(SLO)$/sch_schdll.obj
-.ENDIF
-.ENDIF # ! UNX
-
-.IF "$(GUI)" == "WNT" || "$(GUI)" == "WIN"
-SHL1RES= $(RCTARGET)
-.ENDIF # WNT || WIN
-
-# --- Targets -------------------------------------------------------------
-
-.INCLUDE : target.mk
-
-ALLTAR : $(MISC)/bf_sch.component
-
-$(MISC)/bf_sch.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- bf_sch.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt bf_sch.component
diff --git a/binfilter/bf_sch/util/sch_hidother.src b/binfilter/bf_sch/util/sch_hidother.src
deleted file mode 100644
index b86448fec..000000000
--- a/binfilter/bf_sch/util/sch_hidother.src
+++ /dev/null
@@ -1,66 +0,0 @@
-/*************************************************************************
- *
- * 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.
- *
- ************************************************************************/
-#define NO_LOCALIZE_EXPORT
-#include "..\source\ui\inc\schhids.h"
-
-hidspecial HID_SCH_DATA_ROW { HelpId = HID_SCH_DATA_ROW; };
-hidspecial HID_SCH_DATA_LINE { HelpId = HID_SCH_DATA_LINE; };
-hidspecial HID_SCH_DATA_POINT { HelpId = HID_SCH_DATA_POINT; };
-hidspecial HID_SCH_DIAGRAM_X_AXIS { HelpId = HID_SCH_DIAGRAM_X_AXIS; };
-hidspecial HID_SCH_DIAGRAM_Y_AXIS { HelpId = HID_SCH_DIAGRAM_Y_AXIS; };
-hidspecial HID_SCH_ALIGNMENT { HelpId = HID_SCH_ALIGNMENT; };
-hidspecial HID_SCH_LEGEND_POS { HelpId = HID_SCH_LEGEND_POS; };
-hidspecial HID_SCH_DATA_DESCR { HelpId = HID_SCH_DATA_DESCR; };
-hidspecial HID_SCH_SCALE_Y { HelpId = HID_SCH_SCALE_Y; };
-hidspecial HID_SCH_STAT { HelpId = HID_SCH_STAT; };
-hidspecial HID_SCH_WIN_DOCUMENT { HelpId = HID_SCH_WIN_DOCUMENT; };
-hidspecial HID_SCH_VIEWSHELL_DOCUMENT { HelpId = HID_SCH_VIEWSHELL_DOCUMENT; };
-hidspecial HID_SCH_CTL_DATA { HelpId = HID_SCH_CTL_DATA; };
-hidspecial HID_SCH_CT_INDICATE { HelpId = HID_SCH_CT_INDICATE; };
-hidspecial HID_SCH_CT_REGRESS { HelpId = HID_SCH_CT_REGRESS; };
-hidspecial HID_SCH_CT_1_CHARTTYPE { HelpId = HID_SCH_CT_1_CHARTTYPE; };
-hidspecial HID_SCH_CT_2_CHARTVARIANT { HelpId = HID_SCH_CT_2_CHARTVARIANT; };
-hidspecial HID_SCH_CTL_TYPE { HelpId = HID_SCH_CTL_TYPE; };
-hidspecial HID_SCH_CTL_VARIANT { HelpId = HID_SCH_CTL_VARIANT; };
-hidspecial HID_SCH_CT_REGRESS2 { HelpId = HID_SCH_CT_REGRESS2; };
-hidspecial HID_SCH_CT_INDICATE2 { HelpId = HID_SCH_CT_INDICATE2; };
-hidspecial HID_SCH_TBI_EDIT_CANCEL { HelpId = HID_SCH_TBI_EDIT_CANCEL; };
-hidspecial HID_SCH_TBI_EDIT_ACCEPT { HelpId = HID_SCH_TBI_EDIT_ACCEPT; };
-hidspecial HID_SCH_TBI_DATA_TRANSFER { HelpId = HID_SCH_TBI_DATA_TRANSFER; };
-hidspecial HID_SCH_TBI_DATA_INSERT_ROW { HelpId = HID_SCH_TBI_DATA_INSERT_ROW; };
-hidspecial HID_SCH_TBI_DATA_INSERT_COL { HelpId = HID_SCH_TBI_DATA_INSERT_COL; };
-hidspecial HID_SCH_TBI_DATA_DELETE_ROW { HelpId = HID_SCH_TBI_DATA_DELETE_ROW; };
-hidspecial HID_SCH_TBI_DATA_DELETE_COL { HelpId = HID_SCH_TBI_DATA_DELETE_COL; };
-hidspecial HID_SCH_TBI_DATA_SWAP_COL { HelpId = HID_SCH_TBI_DATA_SWAP_COL; };
-hidspecial HID_SCH_TBI_DATA_SWAP_ROW { HelpId = HID_SCH_TBI_DATA_SWAP_ROW; };
-hidspecial HID_SCH_TBI_DATA_SORT_ROW { HelpId = HID_SCH_TBI_DATA_SORT_ROW; };
-hidspecial HID_SCH_TBI_DATA_SORT_COL { HelpId = HID_SCH_TBI_DATA_SORT_COL; };
-hidspecial HID_SCH_TBI_DATA_SORT_TABLE_ROW { HelpId = HID_SCH_TBI_DATA_SORT_TABLE_ROW; };
-hidspecial HID_SCH_TBI_DATA_SORT_TABLE_COL { HelpId = HID_SCH_TBI_DATA_SORT_TABLE_COL; };
-hidspecial HID_SCH_TBX_EDIT_FIELD { HelpId = HID_SCH_TBX_EDIT_FIELD; };
-
-
diff --git a/binfilter/bf_sch/util/sch_sch.cxx b/binfilter/bf_sch/util/sch_sch.cxx
deleted file mode 100644
index b36333c26..000000000
--- a/binfilter/bf_sch/util/sch_sch.cxx
+++ /dev/null
@@ -1,38 +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.
- *
- ************************************************************************/
-#include <sv.hxx>
-#include <svtool.hxx>
-#include <sfx.hxx>
-#include <sfxitems.hxx>
-#include <sfxdoc.hxx>
-#include <sfxdlg.hxx>
-namespace binfilter {
-#include <svdraw.hxx>
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_sch/util/verinfo.rc b/binfilter/bf_sch/util/verinfo.rc
deleted file mode 100644
index ffa861ca9..000000000
--- a/binfilter/bf_sch/util/verinfo.rc
+++ /dev/null
@@ -1,153 +0,0 @@
-/*************************************************************************
-*
- * 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.
- *
-**************************************************************************/
-
-#define VERSION 4
-#define SUBVERSION 0
-#define VERVARIANT 0
-// .0 + VER_CONCEPT
-// .100 + VER_ALPHA
-// .200 + VER_BETA
-// .300 + VER_GAMMA
-// .500 + VER_FINAL
-//#define VER_CONCEPT 0
-//#define VER_BETA 0
-#define VER_FINAL 0
-
-#define VER_DAY 22
-#define VER_MONTH 11
-#define VER_YEAR 96
-
-// -----------------------------------------------------------------------
-
-#if !defined(ENGLISH)
-#define LG_D // generate always german version
-#endif
-#define VER_FIRSTYEAR 93
-
-#include <windows.h>
-#include "verinfo.hrc"
-
-#ifdef WIN32
-#define FOR_WIN_X " 95 / Windows NT 3.51 / 4.0"
-#else
-#define FOR_WIN_X
-#endif
-
-// -----------------------------------------------------------------------
-// language/character set specification table
-// -----------------------------------------------------------------------
-
-RCD_LANGUAGE rcdata
-{
-#ifdef LG_D
- "040704B0", // Germany -> Unicode
- "040704E4", // Germany -> Windows, Multilingual
-#else
- "040904B0", // Germany -> Unicode
- "040904E4", // USA -> Windows, Multilingual
-#endif
- "04090000", // USA -> 7-Bit-ASCII
- 0 // end of table
-}
-
-// -----------------------------------------------------------------------
-// version information
-// -----------------------------------------------------------------------
-
-VS_VERSION_INFO versioninfo
- fileversion VERSION, SUBVERSION, VERVARIANT, VER_COUNT
- productversion VERSION, SUBVERSION, VERVARIANT, VER_COUNT
- fileflagsmask 0x3F
- fileflags
-#if defined(DEBUG)
- VS_FF_DEBUG |
-#endif
-#ifdef VER_PREL
- VS_FF_PRERELEASE |
-#endif
- 0
-#ifndef WIN32
- fileos VOS_DOS_WINDOWS16
-#else
- fileos VOS_NT_WINDOWS32
-#endif
- filetype VFT_APP
- {
- block "StringFileInfo"
- {
-#ifdef LG_D
- block "040704E4"
- {
- // German StringTable
- value "CompanyName", "Star Division GmbH\0"
- value "ProductName", "StarChart für Windows" FOR_WIN_X "\0"
- value "FileDescription", "StarChart " S_VERSION "\0"
- value "FileVersion", PPS(VER_LEVEL) "\0"
- value "ProductVersion", PPS(VER_LEVEL) "\0"
- value "OriginalFilename", "SCH.DLL\0"
- value "InternalName", "SCH4\0"
- value "LegalCopyright", S_CRIGHT " Star Division GmbH\0"
- value "LegalTrademarks",
- "International CorrectSpell® und International Electronic Thesaurus © "
- "1993-1996 Inso Corporation. Alle Rechte vorbehalten.\0"
- }
-#else
- block "040904E4"
- {
- // International StringTable
- value "CompanyName", "Star Division GmbH\0"
- value "ProductName", "StarChart for Windows" FOR_WIN_X "\0"
- value "FileDescription", "StarChart " S_VERSION "\0"
- value "FileVersion", PPS(VER_LEVEL) "\0"
- value "ProductVersion", PPS(VER_LEVEL) "\0"
- value "OriginalFilename", "SCH.DLL\0"
- value "InternalName", "SCH4\0"
- value "LegalCopyright", S_CRIGHT " Star Division GmbH\0"
- value "LegalTrademarks",
- "International CorrectSpell® and International Electronic Thesaurus © "
- "1993-1996 Inso Corporation. All rights reserved.\0"
- }
-#endif
- }
-
- block "VarFileInfo"
- {
-#ifdef LG_D
- value "Translation", 0x0407, 1252
-#else
- value "Translation", 0x0409, 1252
-#endif
- }
- }
-
-// version binary entry
-VS_VERSION_INFO rcdata
-{
- 0xF0, "sch", 0x0F, VER_YEAR, VER_MONTH, VER_DAY,
- VERSION, SUBVERSION, VERVARIANT, VER_COUNT
-};
-