Files
libreoffice/chart2/source/controller/itemsetwrapper/DataPointItemConverter.cxx

698 lines
26 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2003-10-06 08:58:36 +00:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2003-10-06 08:58:36 +00:00
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
2003-10-06 08:58:36 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
2003-10-06 08:58:36 +00:00
*
* This file is part of OpenOffice.org.
2003-10-06 08:58:36 +00:00
*
* 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.
2003-10-06 08:58:36 +00:00
*
* 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).
2003-10-06 08:58:36 +00:00
*
* 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.
2003-10-06 08:58:36 +00:00
*
************************************************************************/
2003-10-06 08:58:36 +00:00
#include "DataPointItemConverter.hxx"
#include "SchWhichPairs.hxx"
#include "macros.hxx"
#include "ItemPropertyMap.hxx"
#include "GraphicPropertyItemConverter.hxx"
#include "CharacterPropertyItemConverter.hxx"
2003-12-09 15:31:19 +00:00
#include "StatisticsItemConverter.hxx"
#include "SeriesOptionsItemConverter.hxx"
#include "DataSeriesHelper.hxx"
#include "DiagramHelper.hxx"
#include "ChartModelHelper.hxx"
#include "ChartTypeHelper.hxx"
2003-10-06 08:58:36 +00:00
#include <svx/chrtitem.hxx>
#include <com/sun/star/chart2/DataPointLabel.hpp>
#include <com/sun/star/chart2/Symbol.hpp>
2003-12-10 17:08:46 +00:00
// header for class XFillColorItem
#include <svx/xflclit.hxx>
#include <svl/intitem.hxx>
#include <editeng/sizeitem.hxx>
// header for class SfxStringItem
#include <svl/stritem.hxx>
#include <editeng/brshitem.hxx>
//SfxIntegerListItem
#include <svl/ilstitem.hxx>
#include <vcl/graph.hxx>
#include <com/sun/star/graphic/XGraphic.hpp>
2003-12-10 17:08:46 +00:00
// for SVX_SYMBOLTYPE_...
#include <svx/tabline.hxx>
2003-10-06 08:58:36 +00:00
#include <functional>
#include <algorithm>
using namespace ::com::sun::star;
using namespace ::com::sun::star::chart2;
using ::com::sun::star::uno::Reference;
2003-10-06 08:58:36 +00:00
namespace
{
::comphelper::ItemPropertyMapType & lcl_GetDataPointPropertyMap()
2003-10-06 08:58:36 +00:00
{
static ::comphelper::ItemPropertyMapType aDataPointPropertyMap(
::comphelper::MakeItemPropertyMap
IPM_MAP_ENTRY( SCHATTR_STYLE_SHAPE, "Geometry3D", 0 )
2003-10-06 08:58:36 +00:00
);
return aDataPointPropertyMap;
};
2003-12-10 17:08:46 +00:00
sal_Int32 lcl_getSymbolStyleForSymbol( const chart2::Symbol & rSymbol )
{
sal_Int32 nStyle = SVX_SYMBOLTYPE_UNKNOWN;
switch( rSymbol.Style )
2003-12-10 17:08:46 +00:00
{
case chart2::SymbolStyle_NONE:
nStyle = SVX_SYMBOLTYPE_NONE;
break;
case chart2::SymbolStyle_AUTO:
nStyle = SVX_SYMBOLTYPE_AUTO;
break;
case chart2::SymbolStyle_GRAPHIC:
2003-12-10 17:08:46 +00:00
nStyle = SVX_SYMBOLTYPE_BRUSHITEM;
break;
case chart2::SymbolStyle_STANDARD:
nStyle = rSymbol.StandardSymbol;
2003-12-10 17:08:46 +00:00
break;
case chart2::SymbolStyle_POLYGON:
// to avoid warning
case chart2::SymbolStyle_MAKE_FIXED_SIZE:
// nothing
break;
}
return nStyle;
}
bool lcl_NumberFormatFromItemToPropertySet( sal_uInt16 nWhichId, const SfxItemSet & rItemSet, const uno::Reference< beans::XPropertySet > & xPropertySet, bool bOverwriteAttributedDataPointsAlso )
{
bool bChanged = false;
if( !xPropertySet.is() )
return bChanged;
rtl::OUString aPropertyName = (SID_ATTR_NUMBERFORMAT_VALUE==nWhichId) ? C2U( "NumberFormat" ) : C2U( "PercentageNumberFormat" );
sal_uInt16 nSourceWhich = (SID_ATTR_NUMBERFORMAT_VALUE==nWhichId) ? SID_ATTR_NUMBERFORMAT_SOURCE : SCHATTR_PERCENT_NUMBERFORMAT_SOURCE;
if( SFX_ITEM_SET != rItemSet.GetItemState( nSourceWhich ) )
return bChanged;
uno::Any aValue;
bool bUseSourceFormat = (static_cast< const SfxBoolItem & >(
rItemSet.Get( nSourceWhich )).GetValue() );
if( !bUseSourceFormat )
{
SfxItemState aState = rItemSet.GetItemState( nWhichId );
if( aState == SFX_ITEM_SET )
{
sal_Int32 nFmt = static_cast< sal_Int32 >(
static_cast< const SfxUInt32Item & >(
rItemSet.Get( nWhichId )).GetValue());
aValue = uno::makeAny(nFmt);
}
else
return bChanged;
}
uno::Any aOldValue( xPropertySet->getPropertyValue(aPropertyName) );
if( bOverwriteAttributedDataPointsAlso )
{
Reference< chart2::XDataSeries > xSeries( xPropertySet, uno::UNO_QUERY);
if( aValue != aOldValue ||
::chart::DataSeriesHelper::hasAttributedDataPointDifferentValue( xSeries, aPropertyName, aOldValue ) )
{
::chart::DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints( xSeries, aPropertyName, aValue );
bChanged = true;
}
}
else if( aOldValue != aValue )
{
xPropertySet->setPropertyValue(aPropertyName, aValue );
bChanged = true;
}
return bChanged;
}
bool lcl_UseSourceFormatFromItemToPropertySet( sal_uInt16 nWhichId, const SfxItemSet & rItemSet, const uno::Reference< beans::XPropertySet > & xPropertySet, bool bOverwriteAttributedDataPointsAlso )
{
bool bChanged = false;
if( !xPropertySet.is() )
return bChanged;
rtl::OUString aPropertyName = (SID_ATTR_NUMBERFORMAT_SOURCE==nWhichId) ? C2U( "NumberFormat" ) : C2U( "PercentageNumberFormat" );
sal_uInt16 nFormatWhich = (SID_ATTR_NUMBERFORMAT_SOURCE==nWhichId) ? SID_ATTR_NUMBERFORMAT_VALUE : SCHATTR_PERCENT_NUMBERFORMAT_VALUE;
if( SFX_ITEM_SET != rItemSet.GetItemState( nWhichId ) )
return bChanged;
uno::Any aNewValue;
bool bUseSourceFormat = (static_cast< const SfxBoolItem & >(
rItemSet.Get( nWhichId )).GetValue() );
if( !bUseSourceFormat )
{
SfxItemState aState = rItemSet.GetItemState( nFormatWhich );
if( aState == SFX_ITEM_SET )
{
sal_Int32 nFormatKey = static_cast< sal_Int32 >(
static_cast< const SfxUInt32Item & >(
rItemSet.Get( nFormatWhich )).GetValue());
aNewValue <<= nFormatKey;
}
else
return bChanged;
}
uno::Any aOldValue( xPropertySet->getPropertyValue(aPropertyName) );
if( bOverwriteAttributedDataPointsAlso )
{
Reference< chart2::XDataSeries > xSeries( xPropertySet, uno::UNO_QUERY);
if( aNewValue != aOldValue ||
::chart::DataSeriesHelper::hasAttributedDataPointDifferentValue( xSeries, aPropertyName, aOldValue ) )
{
::chart::DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints( xSeries, aPropertyName, aNewValue );
bChanged = true;
}
}
else if( aOldValue != aNewValue )
{
xPropertySet->setPropertyValue( aPropertyName, aNewValue );
bChanged = true;
}
return bChanged;
}
2003-10-06 08:58:36 +00:00
} // anonymous namespace
namespace chart
{
namespace wrapper
{
SAL_WNODEPRECATED_DECLARATIONS_PUSH
2003-10-06 08:58:36 +00:00
DataPointItemConverter::DataPointItemConverter(
2003-12-17 15:43:22 +00:00
const uno::Reference< frame::XModel > & xChartModel,
const uno::Reference< uno::XComponentContext > & xContext,
2003-12-17 15:43:22 +00:00
const uno::Reference< beans::XPropertySet > & rPropertySet,
const uno::Reference< XDataSeries > & xSeries,
2003-10-06 08:58:36 +00:00
SfxItemPool& rItemPool,
SdrModel& rDrawModel,
NumberFormatterWrapper * pNumFormatter,
const uno::Reference< lang::XMultiServiceFactory > & xNamedPropertyContainerFactory,
GraphicPropertyItemConverter::eGraphicObjectType eMapTo /* = FILL_PROPERTIES */,
2003-12-09 15:31:19 +00:00
::std::auto_ptr< awt::Size > pRefSize /* = NULL */,
bool bDataSeries /* = false */,
bool bUseSpecialFillColor /* = false */,
sal_Int32 nSpecialFillColor /* =0 */,
bool bOverwriteLabelsForAttributedDataPointsAlso /*false*/,
sal_Int32 nNumberFormat,
sal_Int32 nPercentNumberFormat
) :
2003-10-06 08:58:36 +00:00
ItemConverter( rPropertySet, rItemPool ),
2003-12-09 15:31:19 +00:00
m_pNumberFormatterWrapper( pNumFormatter ),
m_bDataSeries( bDataSeries ),
m_bOverwriteLabelsForAttributedDataPointsAlso(m_bDataSeries && bOverwriteLabelsForAttributedDataPointsAlso),
m_bUseSpecialFillColor(bUseSpecialFillColor),
m_nSpecialFillColor(nSpecialFillColor),
m_nNumberFormat(nNumberFormat),
m_nPercentNumberFormat(nPercentNumberFormat),
CWS-TOOLING: integrate CWS bubblechart 2009-06-17 08:41:14 +0200 hde r273051 : i101635: added new charttype bubble 2009-06-17 08:39:37 +0200 hde r273050 : i101635: created new testcase tCreateNewBubbleChart 2009-06-17 08:38:07 +0200 hde r273049 : i101635: created new testcase tCreateNewBubbleChart 2009-06-15 15:22:32 +0200 hde r272991 : 101635 2009-06-11 12:44:01 +0200 iha r272864 : rebase to dev300m50 2009-06-10 23:27:54 +0200 iha r272841 : CWS-TOOLING: rebase CWS bubblechart to trunk@272827 (milestone: DEV300:m50) 2009-06-04 18:07:35 +0200 iha r272649 : #i64689# Bubble Chart 2009-06-04 17:26:44 +0200 iha r272647 : #i64689# Bubble Chart 2009-06-04 11:24:25 +0200 iha r272618 : #i64689# add more spacing between bubbles and data labels 2009-05-26 18:05:23 +0200 ufi r272314 : i101637 2009-04-22 14:37:50 +0200 iha r271115 : #i64689# bubble chart 2009-04-21 17:52:23 +0200 iha r271052 : #i64689# bubble chart 2009-04-21 17:50:48 +0200 iha r271051 : #i76728# type icon for xy chart 2009-04-21 17:25:52 +0200 iha r271049 : #i76728# type icon for xy chart 2009-04-09 11:18:09 +0200 iha r270685 : #i100977# autoscaling works not correct if missing values should be treated as zero 2009-04-08 16:39:43 +0200 iha r270656 : #i64689# bubble chart - missing value treatment 2009-04-08 15:13:25 +0200 iha r270655 : #i64689# bubble chart - remove unused code 2009-04-08 15:12:19 +0200 iha r270653 : #i64689# bubble chart - determine sereis length correctly on export 2009-04-08 14:22:43 +0200 iha r270650 : #i64689# bubble chart - remove unused code 2009-04-08 14:12:09 +0200 iha r270646 : #i64689# bubble chart - export domains even if no main sequence was found 2009-04-08 14:11:07 +0200 iha r270645 : #i64689# bubble chart - don't replace missing size values with 1.0 2009-04-07 16:20:22 +0200 iha r270602 : #i64689# bubble chart - do not offer percent values for data label display for xy and bubble chart 2009-04-07 16:17:42 +0200 iha r270601 : remove superfluous code 2009-04-06 16:39:32 +0200 iha r270569 : #i64689# bubble chart -correct automatic numberformat detection for axis, data table and data label + transport data label numberformat during copy paste in addition to axis numberformat 2009-04-02 17:33:33 +0200 iha r270427 : use input string for formatting in data table during edit 2009-04-02 16:00:29 +0200 iha r270413 : #i64689# bubble chart - when creating a new series within the data table give it the same number format as the former series, thus the new bubble size values can be edited with the same format immidiately 2009-04-02 11:25:33 +0200 iha r270385 : #i64689# bubble chart -correct automatic numberformat detection for axis, data table and data label + transport data label numberformat during copy paste in addition to axis numberformat 2009-04-01 11:32:03 +0200 iha r270312 : #i64689# bubble chart - add further parameter for view creation 2009-03-31 17:52:08 +0200 iha r270291 : #i64689# bubble chart - scale bubble size with diagram size 2009-03-31 13:38:13 +0200 iha r270278 : #i64689# bubble chart - wrong size for small values < 1 2009-03-27 19:11:07 +0100 iha r270169 : #i64689# bubble chart 2009-03-27 19:07:11 +0100 iha r270168 : #i64689# bubble chart - remove unused code 2009-03-27 18:33:57 +0100 iha r270167 : #i64689# bubble chart - create no shape for invalid sizes 2009-03-27 15:18:21 +0100 iha r270157 : #i76728# type icon for xy chart 2009-03-27 14:34:38 +0100 iha r270156 : #i64689# bubble chart - correct scaling 2009-03-27 14:27:27 +0100 iha r270155 : #i64689# bubble chart - images 2009-03-27 14:25:45 +0100 iha r270154 : #i64689# bubble chart - images 2009-03-27 11:38:57 +0100 iha r270142 : #i64689# bubble chart - values-size is the main series 2009-03-27 11:30:20 +0100 iha r270140 : #i64689# correct order of sequences after load thus switching charttypes afterwards produces expected results now 2009-03-26 10:22:55 +0100 iha r270056 : #i64689# bubble chart 2009-03-24 17:45:15 +0100 iha r269984 : #i64689# bubble chart - user properties from points (not only from the series) 2009-03-24 15:10:57 +0100 dr r269954 : #i64989# export bubble charts to xls 2009-03-24 14:55:29 +0100 dr r269952 : #i64989# import bubble charts from xls 2009-03-24 14:54:46 +0100 dr r269950 : #i64989# import bubble charts from ooxml 2009-03-23 18:59:08 +0100 iha r269895 : further cleanups possible with new member m_aGlobalSeriesImportInfo 2009-03-23 16:54:04 +0100 iha r269886 : #i64689# bubble chart - a single sequence must be interpreted as sizes because of ODF specification 2009-03-23 16:50:43 +0100 iha r269885 : #i64689# save&load bubble chart 2009-03-20 19:30:29 +0100 iha r269826 : CWS-TOOLING: rebase CWS bubblechart to trunk@269781 (milestone: DEV300:m44) 2009-03-19 11:30:33 +0100 iha r269732 : #i64689# rename SchXMLCategoriesDomainContext to SchXMLCategoriesContext avoid confusion with domains 2009-03-18 17:11:13 +0100 iha r269693 : #i64689# add charttype bubble 2009-03-18 17:09:22 +0100 iha r269692 : #i64689# remove unused code 2009-03-13 12:18:26 +0100 iha r269467 : #i64689# corrected lineends 2009-03-12 11:25:14 +0100 iha r269376 : #i64689# bubble chart (part 1)
2009-07-02 19:17:43 +00:00
m_aAvailableLabelPlacements(),
m_bForbidPercentValue(true)
2003-10-06 08:58:36 +00:00
{
m_aConverters.push_back( new GraphicPropertyItemConverter(
rPropertySet, rItemPool, rDrawModel, xNamedPropertyContainerFactory, eMapTo ));
m_aConverters.push_back( new CharacterPropertyItemConverter( rPropertySet, rItemPool, pRefSize,
2008-10-01 07:35:04 +00:00
C2U( "ReferencePageSize" )));
if( bDataSeries )
{
2003-12-17 15:43:22 +00:00
m_aConverters.push_back( new StatisticsItemConverter( xChartModel, rPropertySet, rItemPool ));
m_aConverters.push_back( new SeriesOptionsItemConverter( xChartModel, xContext, rPropertySet, rItemPool ));
}
uno::Reference< XDiagram > xDiagram( ChartModelHelper::findDiagram(xChartModel) );
uno::Reference< XChartType > xChartType( DiagramHelper::getChartTypeOfSeries( xDiagram , xSeries ) );
bool bFound = false;
bool bAmbiguous = false;
sal_Bool bSwapXAndY = DiagramHelper::getVertical( xDiagram, bFound, bAmbiguous );
m_aAvailableLabelPlacements = ChartTypeHelper::getSupportedLabelPlacements( xChartType, DiagramHelper::getDimension( xDiagram ), bSwapXAndY, xSeries );
CWS-TOOLING: integrate CWS bubblechart 2009-06-17 08:41:14 +0200 hde r273051 : i101635: added new charttype bubble 2009-06-17 08:39:37 +0200 hde r273050 : i101635: created new testcase tCreateNewBubbleChart 2009-06-17 08:38:07 +0200 hde r273049 : i101635: created new testcase tCreateNewBubbleChart 2009-06-15 15:22:32 +0200 hde r272991 : 101635 2009-06-11 12:44:01 +0200 iha r272864 : rebase to dev300m50 2009-06-10 23:27:54 +0200 iha r272841 : CWS-TOOLING: rebase CWS bubblechart to trunk@272827 (milestone: DEV300:m50) 2009-06-04 18:07:35 +0200 iha r272649 : #i64689# Bubble Chart 2009-06-04 17:26:44 +0200 iha r272647 : #i64689# Bubble Chart 2009-06-04 11:24:25 +0200 iha r272618 : #i64689# add more spacing between bubbles and data labels 2009-05-26 18:05:23 +0200 ufi r272314 : i101637 2009-04-22 14:37:50 +0200 iha r271115 : #i64689# bubble chart 2009-04-21 17:52:23 +0200 iha r271052 : #i64689# bubble chart 2009-04-21 17:50:48 +0200 iha r271051 : #i76728# type icon for xy chart 2009-04-21 17:25:52 +0200 iha r271049 : #i76728# type icon for xy chart 2009-04-09 11:18:09 +0200 iha r270685 : #i100977# autoscaling works not correct if missing values should be treated as zero 2009-04-08 16:39:43 +0200 iha r270656 : #i64689# bubble chart - missing value treatment 2009-04-08 15:13:25 +0200 iha r270655 : #i64689# bubble chart - remove unused code 2009-04-08 15:12:19 +0200 iha r270653 : #i64689# bubble chart - determine sereis length correctly on export 2009-04-08 14:22:43 +0200 iha r270650 : #i64689# bubble chart - remove unused code 2009-04-08 14:12:09 +0200 iha r270646 : #i64689# bubble chart - export domains even if no main sequence was found 2009-04-08 14:11:07 +0200 iha r270645 : #i64689# bubble chart - don't replace missing size values with 1.0 2009-04-07 16:20:22 +0200 iha r270602 : #i64689# bubble chart - do not offer percent values for data label display for xy and bubble chart 2009-04-07 16:17:42 +0200 iha r270601 : remove superfluous code 2009-04-06 16:39:32 +0200 iha r270569 : #i64689# bubble chart -correct automatic numberformat detection for axis, data table and data label + transport data label numberformat during copy paste in addition to axis numberformat 2009-04-02 17:33:33 +0200 iha r270427 : use input string for formatting in data table during edit 2009-04-02 16:00:29 +0200 iha r270413 : #i64689# bubble chart - when creating a new series within the data table give it the same number format as the former series, thus the new bubble size values can be edited with the same format immidiately 2009-04-02 11:25:33 +0200 iha r270385 : #i64689# bubble chart -correct automatic numberformat detection for axis, data table and data label + transport data label numberformat during copy paste in addition to axis numberformat 2009-04-01 11:32:03 +0200 iha r270312 : #i64689# bubble chart - add further parameter for view creation 2009-03-31 17:52:08 +0200 iha r270291 : #i64689# bubble chart - scale bubble size with diagram size 2009-03-31 13:38:13 +0200 iha r270278 : #i64689# bubble chart - wrong size for small values < 1 2009-03-27 19:11:07 +0100 iha r270169 : #i64689# bubble chart 2009-03-27 19:07:11 +0100 iha r270168 : #i64689# bubble chart - remove unused code 2009-03-27 18:33:57 +0100 iha r270167 : #i64689# bubble chart - create no shape for invalid sizes 2009-03-27 15:18:21 +0100 iha r270157 : #i76728# type icon for xy chart 2009-03-27 14:34:38 +0100 iha r270156 : #i64689# bubble chart - correct scaling 2009-03-27 14:27:27 +0100 iha r270155 : #i64689# bubble chart - images 2009-03-27 14:25:45 +0100 iha r270154 : #i64689# bubble chart - images 2009-03-27 11:38:57 +0100 iha r270142 : #i64689# bubble chart - values-size is the main series 2009-03-27 11:30:20 +0100 iha r270140 : #i64689# correct order of sequences after load thus switching charttypes afterwards produces expected results now 2009-03-26 10:22:55 +0100 iha r270056 : #i64689# bubble chart 2009-03-24 17:45:15 +0100 iha r269984 : #i64689# bubble chart - user properties from points (not only from the series) 2009-03-24 15:10:57 +0100 dr r269954 : #i64989# export bubble charts to xls 2009-03-24 14:55:29 +0100 dr r269952 : #i64989# import bubble charts from xls 2009-03-24 14:54:46 +0100 dr r269950 : #i64989# import bubble charts from ooxml 2009-03-23 18:59:08 +0100 iha r269895 : further cleanups possible with new member m_aGlobalSeriesImportInfo 2009-03-23 16:54:04 +0100 iha r269886 : #i64689# bubble chart - a single sequence must be interpreted as sizes because of ODF specification 2009-03-23 16:50:43 +0100 iha r269885 : #i64689# save&load bubble chart 2009-03-20 19:30:29 +0100 iha r269826 : CWS-TOOLING: rebase CWS bubblechart to trunk@269781 (milestone: DEV300:m44) 2009-03-19 11:30:33 +0100 iha r269732 : #i64689# rename SchXMLCategoriesDomainContext to SchXMLCategoriesContext avoid confusion with domains 2009-03-18 17:11:13 +0100 iha r269693 : #i64689# add charttype bubble 2009-03-18 17:09:22 +0100 iha r269692 : #i64689# remove unused code 2009-03-13 12:18:26 +0100 iha r269467 : #i64689# corrected lineends 2009-03-12 11:25:14 +0100 iha r269376 : #i64689# bubble chart (part 1)
2009-07-02 19:17:43 +00:00
m_bForbidPercentValue = AxisType::CATEGORY != ChartTypeHelper::getAxisType( xChartType, 0 );
2003-10-06 08:58:36 +00:00
}
SAL_WNODEPRECATED_DECLARATIONS_POP
2003-10-06 08:58:36 +00:00
DataPointItemConverter::~DataPointItemConverter()
{
::std::for_each( m_aConverters.begin(), m_aConverters.end(),
::comphelper::DeleteItemConverterPtr() );
2003-10-06 08:58:36 +00:00
}
void DataPointItemConverter::FillItemSet( SfxItemSet & rOutItemSet ) const
{
::std::for_each( m_aConverters.begin(), m_aConverters.end(),
::comphelper::FillItemSetFunc( rOutItemSet ));
2003-10-06 08:58:36 +00:00
// own items
ItemConverter::FillItemSet( rOutItemSet );
if( m_bUseSpecialFillColor )
{
Color aColor(m_nSpecialFillColor);
rOutItemSet.Put( XFillColorItem( String(), aColor ) );
}
2003-10-06 08:58:36 +00:00
}
bool DataPointItemConverter::ApplyItemSet( const SfxItemSet & rItemSet )
{
bool bResult = false;
::std::for_each( m_aConverters.begin(), m_aConverters.end(),
::comphelper::ApplyItemSetFunc( rItemSet, bResult ));
2003-10-06 08:58:36 +00:00
// own items
return ItemConverter::ApplyItemSet( rItemSet ) || bResult;
}
const sal_uInt16 * DataPointItemConverter::GetWhichPairs() const
2003-10-06 08:58:36 +00:00
{
// must span all used items!
if( m_bDataSeries )
2003-12-09 15:31:19 +00:00
return nRowWhichPairs;
return nDataPointWhichPairs;
2003-10-06 08:58:36 +00:00
}
bool DataPointItemConverter::GetItemProperty( tWhichIdType nWhichId, tPropertyNameWithMemberId & rOutProperty ) const
2003-10-06 08:58:36 +00:00
{
::comphelper::ItemPropertyMapType & rMap( lcl_GetDataPointPropertyMap());
::comphelper::ItemPropertyMapType::const_iterator aIt( rMap.find( nWhichId ));
2003-10-06 08:58:36 +00:00
if( aIt == rMap.end())
return false;
rOutProperty =(*aIt).second;
2003-10-06 08:58:36 +00:00
return true;
}
bool DataPointItemConverter::ApplySpecialItem(
sal_uInt16 nWhichId, const SfxItemSet & rItemSet )
throw( uno::Exception )
2003-10-06 08:58:36 +00:00
{
bool bChanged = false;
uno::Any aValue;
switch( nWhichId )
{
case SCHATTR_DATADESCR_SHOW_NUMBER:
case SCHATTR_DATADESCR_SHOW_PERCENTAGE:
case SCHATTR_DATADESCR_SHOW_CATEGORY:
case SCHATTR_DATADESCR_SHOW_SYMBOL:
2003-10-06 08:58:36 +00:00
{
const SfxBoolItem & rItem = static_cast< const SfxBoolItem & >( rItemSet.Get( nWhichId ));
2003-10-06 08:58:36 +00:00
uno::Any aOldValue( GetPropertySet()->getPropertyValue( C2U( "Label" ) ));
chart2::DataPointLabel aLabel;
if( aOldValue >>= aLabel )
2003-10-06 08:58:36 +00:00
{
sal_Bool& rValue = (SCHATTR_DATADESCR_SHOW_NUMBER==nWhichId) ? aLabel.ShowNumber : (
(SCHATTR_DATADESCR_SHOW_PERCENTAGE==nWhichId) ? aLabel.ShowNumberInPercent : (
(SCHATTR_DATADESCR_SHOW_CATEGORY==nWhichId) ? aLabel.ShowCategoryName : aLabel.ShowLegendSymbol ));
sal_Bool bOldValue = rValue;
rValue = static_cast< sal_Bool >( rItem.GetValue() );
if( m_bOverwriteLabelsForAttributedDataPointsAlso )
{
Reference< chart2::XDataSeries > xSeries( GetPropertySet(), uno::UNO_QUERY);
if( bOldValue != rValue ||
DataSeriesHelper::hasAttributedDataPointDifferentValue( xSeries, C2U( "Label" ), aOldValue ) )
{
DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints( xSeries, C2U( "Label" ), uno::makeAny( aLabel ) );
bChanged = true;
}
}
else if( bOldValue != rValue )
2003-10-06 08:58:36 +00:00
{
GetPropertySet()->setPropertyValue( C2U( "Label" ), uno::makeAny( aLabel ));
2003-10-06 08:58:36 +00:00
bChanged = true;
}
}
}
break;
case SID_ATTR_NUMBERFORMAT_VALUE:
case SCHATTR_PERCENT_NUMBERFORMAT_VALUE: //fall through intended
2003-10-06 08:58:36 +00:00
{
bChanged = lcl_NumberFormatFromItemToPropertySet( nWhichId, rItemSet, GetPropertySet(), m_bOverwriteLabelsForAttributedDataPointsAlso );
}
break;
case SID_ATTR_NUMBERFORMAT_SOURCE:
case SCHATTR_PERCENT_NUMBERFORMAT_SOURCE: //fall through intended
{
bChanged = lcl_UseSourceFormatFromItemToPropertySet( nWhichId, rItemSet, GetPropertySet(), m_bOverwriteLabelsForAttributedDataPointsAlso );
}
break;
2003-10-06 08:58:36 +00:00
case SCHATTR_DATADESCR_SEPARATOR:
{
rtl::OUString aNewValue = static_cast< const SfxStringItem & >( rItemSet.Get( nWhichId )).GetValue();
rtl::OUString aOldValue;
try
{
GetPropertySet()->getPropertyValue( C2U( "LabelSeparator" ) ) >>= aOldValue;
if( m_bOverwriteLabelsForAttributedDataPointsAlso )
{
Reference< chart2::XDataSeries > xSeries( GetPropertySet(), uno::UNO_QUERY);
if( !aOldValue.equals(aNewValue) ||
DataSeriesHelper::hasAttributedDataPointDifferentValue( xSeries, C2U( "LabelSeparator" ), uno::makeAny( aOldValue ) ) )
{
DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints( xSeries, C2U( "LabelSeparator" ), uno::makeAny( aNewValue ) );
bChanged = true;
}
}
else if( !aOldValue.equals(aNewValue) )
2003-10-06 08:58:36 +00:00
{
GetPropertySet()->setPropertyValue( C2U( "LabelSeparator" ), uno::makeAny( aNewValue ));
2003-10-06 08:58:36 +00:00
bChanged = true;
}
}
2011-11-29 02:06:57 +09:00
catch( const uno::Exception& e )
2003-10-06 08:58:36 +00:00
{
ASSERT_EXCEPTION( e );
2003-10-06 08:58:36 +00:00
}
}
break;
2003-12-10 17:08:46 +00:00
case SCHATTR_DATADESCR_PLACEMENT:
{
try
{
sal_Int32 nNew = static_cast< const SfxInt32Item & >( rItemSet.Get( nWhichId )).GetValue();
sal_Int32 nOld =0;
if( !(GetPropertySet()->getPropertyValue( C2U( "LabelPlacement" ) ) >>= nOld) )
{
if( m_aAvailableLabelPlacements.getLength() )
nOld = m_aAvailableLabelPlacements[0];
}
if( m_bOverwriteLabelsForAttributedDataPointsAlso )
{
Reference< chart2::XDataSeries > xSeries( GetPropertySet(), uno::UNO_QUERY);
if( nOld!=nNew ||
DataSeriesHelper::hasAttributedDataPointDifferentValue( xSeries, C2U( "LabelPlacement" ), uno::makeAny( nOld ) ) )
{
DataSeriesHelper::setPropertyAlsoToAllAttributedDataPoints( xSeries, C2U( "LabelPlacement" ), uno::makeAny( nNew ) );
bChanged = true;
}
}
else if( nOld!=nNew )
{
GetPropertySet()->setPropertyValue( C2U( "LabelPlacement" ), uno::makeAny( nNew ));
bChanged = true;
}
}
2011-11-29 02:06:57 +09:00
catch( const uno::Exception& e )
{
ASSERT_EXCEPTION( e );
}
}
break;
2003-12-10 17:08:46 +00:00
case SCHATTR_STYLE_SYMBOL:
{
sal_Int32 nStyle =
static_cast< const SfxInt32Item & >(
2003-12-10 17:08:46 +00:00
rItemSet.Get( nWhichId )).GetValue();
chart2::Symbol aSymbol;
GetPropertySet()->getPropertyValue( C2U( "Symbol" )) >>= aSymbol;
sal_Int32 nOldStyle = lcl_getSymbolStyleForSymbol( aSymbol );
if( nStyle != nOldStyle )
{
bool bDeleteSymbol = false;
switch( nStyle )
{
case SVX_SYMBOLTYPE_NONE:
aSymbol.Style = chart2::SymbolStyle_NONE;
2003-12-10 17:08:46 +00:00
break;
case SVX_SYMBOLTYPE_AUTO:
aSymbol.Style = chart2::SymbolStyle_AUTO;
2003-12-10 17:08:46 +00:00
break;
case SVX_SYMBOLTYPE_BRUSHITEM:
aSymbol.Style = chart2::SymbolStyle_GRAPHIC;
2003-12-10 17:08:46 +00:00
break;
case SVX_SYMBOLTYPE_UNKNOWN:
bDeleteSymbol = true;
break;
default:
aSymbol.Style = chart2::SymbolStyle_STANDARD;
aSymbol.StandardSymbol = nStyle;
2003-12-10 17:08:46 +00:00
}
if( bDeleteSymbol )
GetPropertySet()->setPropertyValue( C2U( "Symbol" ), uno::Any());
else
GetPropertySet()->setPropertyValue( C2U( "Symbol" ),
uno::makeAny( aSymbol ));
bChanged = true;
}
}
break;
case SCHATTR_SYMBOL_SIZE:
{
Size aSize = static_cast< const SvxSizeItem & >(
2003-12-10 17:08:46 +00:00
rItemSet.Get( nWhichId )).GetSize();
chart2::Symbol aSymbol;
GetPropertySet()->getPropertyValue( C2U( "Symbol" )) >>= aSymbol;
if( aSize.getWidth() != aSymbol.Size.Width ||
aSize.getHeight() != aSymbol.Size.Height )
2003-12-10 17:08:46 +00:00
{
aSymbol.Size.Width = aSize.getWidth();
aSymbol.Size.Height = aSize.getHeight();
2003-12-10 17:08:46 +00:00
GetPropertySet()->setPropertyValue( C2U( "Symbol" ), uno::makeAny( aSymbol ));
bChanged = true;
}
}
break;
case SCHATTR_SYMBOL_BRUSH:
{
const SvxBrushItem & rBrshItem( static_cast< const SvxBrushItem & >(
rItemSet.Get( nWhichId )));
uno::Any aXGraphicAny;
const Graphic *pGraphic( rBrshItem.GetGraphic());
if( pGraphic )
{
uno::Reference< graphic::XGraphic > xGraphic( pGraphic->GetXGraphic());
if( xGraphic.is())
{
aXGraphicAny <<= xGraphic;
chart2::Symbol aSymbol;
GetPropertySet()->getPropertyValue( C2U( "Symbol" )) >>= aSymbol;
if( aSymbol.Graphic != xGraphic )
{
aSymbol.Graphic = xGraphic;
GetPropertySet()->setPropertyValue( C2U( "Symbol" ), uno::makeAny( aSymbol ));
bChanged = true;
}
}
}
}
break;
CWS-TOOLING: integrate CWS chart37 2009-05-22 09:10:36 +0200 iha r272170 : #i102130# color of pies is not loaded correctly 2009-04-27 17:16:20 +0200 iha r271294 : #i24203# compiler problem 2009-04-27 16:43:21 +0200 iha r271292 : #i101281# missing API documentation for secondary axis title properties 2009-04-27 15:26:05 +0200 hde r271276 : #i100987 2009-04-27 15:24:42 +0200 hde r271273 : #i100987 2009-04-24 15:08:33 +0200 iha r271214 : #i100995# crash with some logarithmic scalings 2009-04-22 18:50:56 +0200 dr r271134 : #i82177# write out deleted point labels 2009-04-22 18:40:48 +0200 iha r271133 : #i101281# missing API documentation for secondary axis title properties 2009-04-22 16:39:42 +0200 dr r271128 : #i82177# extensions for bubble charts 2009-04-22 14:37:00 +0200 dr r271114 : #i82177# import/export data label type and separator 2009-04-22 14:36:24 +0200 dr r271113 : #i82177# import/export data label type and separator 2009-04-21 15:25:26 +0200 dr r271038 : #i82177# import data label type and separator from BIFF8 CHFR records 2009-04-21 14:37:16 +0200 dr r271037 : #i82177# dump BIFF8 chart future records 2009-04-20 17:44:27 +0200 iha r271002 : #i96898# reduce library exports 2009-04-20 13:01:13 +0200 iha r270975 : #i24203# rotate data labels - help ids 2009-04-20 11:40:33 +0200 dr r270969 : #i96600# export of axis scaling/positioning properties 2009-04-16 16:02:31 +0200 dr r270892 : #i69599# keep Y axis left in 3d charts 2009-04-15 18:16:46 +0200 dr r270859 : #i69599# import of axis position settings 2009-04-15 18:16:01 +0200 dr r270858 : #i69599# correct handling of logarithmic crossing axes 2009-04-14 16:27:48 +0200 dr r270794 : #i96599# handle auto axis position on logarithmic axes 2009-04-09 19:59:51 +0200 dr r270722 : #i96599# import axis crossing settings, fix import of logarithmic scaling settings 2009-04-09 18:26:00 +0200 iha r270720 : #i96898# reduce library exports 2009-04-09 15:17:04 +0200 iha r270710 : #i96898# reduce library exports 2009-04-09 10:50:14 +0200 dr r270682 : #i24203# import/export of data label rotation, fixed some other broken stuff too 2009-04-08 16:54:54 +0200 dr r270657 : #i24203# import rotation for data point labels 2009-04-06 18:19:17 +0200 iha r270571 : #i100876# Axis scaling settings dialog wrong after API usage (anys different from double type) 2009-04-06 15:57:05 +0200 iha r270567 : #i100105# #i58585# leftover -> 2009-04-06 15:55:48 +0200 iha r270564 : #i58585# leftover -> 2009-04-02 16:41:07 +0200 iha r270422 : #i99721# remove unused code 2009-04-02 14:29:03 +0200 iha r270407 : #i99721# remove unused code 2009-03-26 10:58:23 +0100 iha r270059 : #i96898# reduce library exports 2009-03-26 10:13:49 +0100 iha r270055 : #i96898# reduce library exports 2009-03-25 09:39:13 +0100 iha r269998 : CWS-TOOLING: rebase CWS chart37 to trunk@269781 (milestone: DEV300:m44) 2009-03-24 17:56:56 +0100 iha r269986 : #i96898# reduce library exports 2009-03-24 16:56:44 +0100 iha r269974 : #i99721# remove unused code 2009-03-24 16:48:48 +0100 iha r269970 : #i89731# remove unused string 2009-03-24 15:44:04 +0100 iha r269961 : remove unused code 2009-03-24 15:22:45 +0100 iha r269959 : remove unused code 2009-03-24 15:17:17 +0100 iha r269957 : remove unused code 2009-03-24 11:14:53 +0100 iha r269923 : #i24203# rotate data labels 2009-03-09 12:10:25 +0100 hde r269076 : #i99300# 2009-03-06 15:56:26 +0100 iha r269011 : #i93953# Source Format for secondary axis without data 2009-02-17 15:59:05 +0100 iha r268177 : avoid warning during build 2009-02-17 15:01:59 +0100 iha r268173 : avoid warning during build 2009-02-13 09:39:03 +0100 ufi r267693 : i96999 2009-02-11 15:12:35 +0100 iha r267604 : removed unused string 2009-02-11 14:00:29 +0100 iha r267600 : #i96999# Corrected wording from 'correlation coefficient' to 'coefficient of determination' 2009-02-11 10:56:45 +0100 iha r267584 : #i89731# typo in resource string 2009-02-11 10:01:29 +0100 iha r267582 : #i89031# compile error on asian windows systems 2009-02-10 16:15:16 +0100 iha r267552 : #i24203# rotate data labels 2009-02-04 18:00:33 +0100 iha r267395 : #i98893# don't export defaults to file 2009-02-04 15:48:15 +0100 iha r267390 : #i92128# asian typography for chart elements 2009-02-04 15:17:41 +0100 iha r267386 : #i92128# asian typography for chart elements 2009-01-30 14:41:10 +0100 iha r267197 : CWS-TOOLING: rebase CWS chart37 to trunk@267171 (milestone: DEV300:m41)
2009-06-04 09:41:18 +00:00
case SCHATTR_TEXT_DEGREES:
{
double fValue = static_cast< double >(
static_cast< const SfxInt32Item & >(
rItemSet.Get( nWhichId )).GetValue()) / 100.0;
double fOldValue = 0.0;
bool bPropExisted =
( GetPropertySet()->getPropertyValue( C2U( "TextRotation" )) >>= fOldValue );
if( ! bPropExisted ||
( bPropExisted && fOldValue != fValue ))
{
GetPropertySet()->setPropertyValue( C2U( "TextRotation" ), uno::makeAny( fValue ));
bChanged = true;
}
}
break;
2003-10-06 08:58:36 +00:00
}
return bChanged;
}
void DataPointItemConverter::FillSpecialItem(
sal_uInt16 nWhichId, SfxItemSet & rOutItemSet ) const
throw( uno::Exception )
2003-10-06 08:58:36 +00:00
{
switch( nWhichId )
{
case SCHATTR_DATADESCR_SHOW_NUMBER:
case SCHATTR_DATADESCR_SHOW_PERCENTAGE:
case SCHATTR_DATADESCR_SHOW_CATEGORY:
case SCHATTR_DATADESCR_SHOW_SYMBOL:
2003-10-06 08:58:36 +00:00
{
chart2::DataPointLabel aLabel;
if( GetPropertySet()->getPropertyValue( C2U( "Label" )) >>= aLabel )
2003-10-06 08:58:36 +00:00
{
sal_Bool bValue = (SCHATTR_DATADESCR_SHOW_NUMBER==nWhichId) ? aLabel.ShowNumber : (
(SCHATTR_DATADESCR_SHOW_PERCENTAGE==nWhichId) ? aLabel.ShowNumberInPercent : (
(SCHATTR_DATADESCR_SHOW_CATEGORY==nWhichId) ? aLabel.ShowCategoryName : aLabel.ShowLegendSymbol ));
2003-10-06 08:58:36 +00:00
rOutItemSet.Put( SfxBoolItem( nWhichId, bValue ));
if( m_bOverwriteLabelsForAttributedDataPointsAlso )
{
if( DataSeriesHelper::hasAttributedDataPointDifferentValue(
Reference< chart2::XDataSeries >( GetPropertySet(), uno::UNO_QUERY), C2U( "Label" ), uno::makeAny(aLabel) ) )
{
rOutItemSet.InvalidateItem(nWhichId);
}
}
2003-10-06 08:58:36 +00:00
}
}
break;
case SID_ATTR_NUMBERFORMAT_VALUE:
{
sal_Int32 nKey = 0;
if( !(GetPropertySet()->getPropertyValue( C2U( "NumberFormat" )) >>= nKey) )
nKey = m_nNumberFormat;
rOutItemSet.Put( SfxUInt32Item( nWhichId, nKey ));
}
break;
case SCHATTR_PERCENT_NUMBERFORMAT_VALUE:
{
sal_Int32 nKey = 0;
if( !(GetPropertySet()->getPropertyValue( C2U( "PercentageNumberFormat" )) >>= nKey) )
nKey = m_nPercentNumberFormat;
rOutItemSet.Put( SfxUInt32Item( nWhichId, nKey ));
}
break;
case SID_ATTR_NUMBERFORMAT_SOURCE:
{
bool bNumberFormatIsSet = ( GetPropertySet()->getPropertyValue( C2U( "NumberFormat" )).hasValue());
rOutItemSet.Put( SfxBoolItem( nWhichId, ! bNumberFormatIsSet ));
}
break;
case SCHATTR_PERCENT_NUMBERFORMAT_SOURCE:
{
bool bNumberFormatIsSet = ( GetPropertySet()->getPropertyValue( C2U( "PercentageNumberFormat" )).hasValue());
rOutItemSet.Put( SfxBoolItem( nWhichId, ! bNumberFormatIsSet ));
}
break;
case SCHATTR_DATADESCR_SEPARATOR:
{
rtl::OUString aValue;
try
2003-10-06 08:58:36 +00:00
{
GetPropertySet()->getPropertyValue( C2U( "LabelSeparator" ) ) >>= aValue;
rOutItemSet.Put( SfxStringItem( nWhichId, aValue ));
2003-10-06 08:58:36 +00:00
}
2011-11-29 02:06:57 +09:00
catch( const uno::Exception& e )
2003-10-06 08:58:36 +00:00
{
ASSERT_EXCEPTION( e );
2003-10-06 08:58:36 +00:00
}
}
break;
2003-12-10 17:08:46 +00:00
case SCHATTR_DATADESCR_PLACEMENT:
{
try
{
sal_Int32 nPlacement=0;
if( GetPropertySet()->getPropertyValue( C2U( "LabelPlacement" ) ) >>= nPlacement )
rOutItemSet.Put( SfxInt32Item( nWhichId, nPlacement ));
else if( m_aAvailableLabelPlacements.getLength() )
rOutItemSet.Put( SfxInt32Item( nWhichId, m_aAvailableLabelPlacements[0] ));
}
2011-11-29 02:06:57 +09:00
catch( const uno::Exception& e )
{
ASSERT_EXCEPTION( e );
}
}
break;
case SCHATTR_DATADESCR_AVAILABLE_PLACEMENTS:
{
rOutItemSet.Put( SfxIntegerListItem( nWhichId, m_aAvailableLabelPlacements ) );
}
break;
CWS-TOOLING: integrate CWS bubblechart 2009-06-17 08:41:14 +0200 hde r273051 : i101635: added new charttype bubble 2009-06-17 08:39:37 +0200 hde r273050 : i101635: created new testcase tCreateNewBubbleChart 2009-06-17 08:38:07 +0200 hde r273049 : i101635: created new testcase tCreateNewBubbleChart 2009-06-15 15:22:32 +0200 hde r272991 : 101635 2009-06-11 12:44:01 +0200 iha r272864 : rebase to dev300m50 2009-06-10 23:27:54 +0200 iha r272841 : CWS-TOOLING: rebase CWS bubblechart to trunk@272827 (milestone: DEV300:m50) 2009-06-04 18:07:35 +0200 iha r272649 : #i64689# Bubble Chart 2009-06-04 17:26:44 +0200 iha r272647 : #i64689# Bubble Chart 2009-06-04 11:24:25 +0200 iha r272618 : #i64689# add more spacing between bubbles and data labels 2009-05-26 18:05:23 +0200 ufi r272314 : i101637 2009-04-22 14:37:50 +0200 iha r271115 : #i64689# bubble chart 2009-04-21 17:52:23 +0200 iha r271052 : #i64689# bubble chart 2009-04-21 17:50:48 +0200 iha r271051 : #i76728# type icon for xy chart 2009-04-21 17:25:52 +0200 iha r271049 : #i76728# type icon for xy chart 2009-04-09 11:18:09 +0200 iha r270685 : #i100977# autoscaling works not correct if missing values should be treated as zero 2009-04-08 16:39:43 +0200 iha r270656 : #i64689# bubble chart - missing value treatment 2009-04-08 15:13:25 +0200 iha r270655 : #i64689# bubble chart - remove unused code 2009-04-08 15:12:19 +0200 iha r270653 : #i64689# bubble chart - determine sereis length correctly on export 2009-04-08 14:22:43 +0200 iha r270650 : #i64689# bubble chart - remove unused code 2009-04-08 14:12:09 +0200 iha r270646 : #i64689# bubble chart - export domains even if no main sequence was found 2009-04-08 14:11:07 +0200 iha r270645 : #i64689# bubble chart - don't replace missing size values with 1.0 2009-04-07 16:20:22 +0200 iha r270602 : #i64689# bubble chart - do not offer percent values for data label display for xy and bubble chart 2009-04-07 16:17:42 +0200 iha r270601 : remove superfluous code 2009-04-06 16:39:32 +0200 iha r270569 : #i64689# bubble chart -correct automatic numberformat detection for axis, data table and data label + transport data label numberformat during copy paste in addition to axis numberformat 2009-04-02 17:33:33 +0200 iha r270427 : use input string for formatting in data table during edit 2009-04-02 16:00:29 +0200 iha r270413 : #i64689# bubble chart - when creating a new series within the data table give it the same number format as the former series, thus the new bubble size values can be edited with the same format immidiately 2009-04-02 11:25:33 +0200 iha r270385 : #i64689# bubble chart -correct automatic numberformat detection for axis, data table and data label + transport data label numberformat during copy paste in addition to axis numberformat 2009-04-01 11:32:03 +0200 iha r270312 : #i64689# bubble chart - add further parameter for view creation 2009-03-31 17:52:08 +0200 iha r270291 : #i64689# bubble chart - scale bubble size with diagram size 2009-03-31 13:38:13 +0200 iha r270278 : #i64689# bubble chart - wrong size for small values < 1 2009-03-27 19:11:07 +0100 iha r270169 : #i64689# bubble chart 2009-03-27 19:07:11 +0100 iha r270168 : #i64689# bubble chart - remove unused code 2009-03-27 18:33:57 +0100 iha r270167 : #i64689# bubble chart - create no shape for invalid sizes 2009-03-27 15:18:21 +0100 iha r270157 : #i76728# type icon for xy chart 2009-03-27 14:34:38 +0100 iha r270156 : #i64689# bubble chart - correct scaling 2009-03-27 14:27:27 +0100 iha r270155 : #i64689# bubble chart - images 2009-03-27 14:25:45 +0100 iha r270154 : #i64689# bubble chart - images 2009-03-27 11:38:57 +0100 iha r270142 : #i64689# bubble chart - values-size is the main series 2009-03-27 11:30:20 +0100 iha r270140 : #i64689# correct order of sequences after load thus switching charttypes afterwards produces expected results now 2009-03-26 10:22:55 +0100 iha r270056 : #i64689# bubble chart 2009-03-24 17:45:15 +0100 iha r269984 : #i64689# bubble chart - user properties from points (not only from the series) 2009-03-24 15:10:57 +0100 dr r269954 : #i64989# export bubble charts to xls 2009-03-24 14:55:29 +0100 dr r269952 : #i64989# import bubble charts from xls 2009-03-24 14:54:46 +0100 dr r269950 : #i64989# import bubble charts from ooxml 2009-03-23 18:59:08 +0100 iha r269895 : further cleanups possible with new member m_aGlobalSeriesImportInfo 2009-03-23 16:54:04 +0100 iha r269886 : #i64689# bubble chart - a single sequence must be interpreted as sizes because of ODF specification 2009-03-23 16:50:43 +0100 iha r269885 : #i64689# save&load bubble chart 2009-03-20 19:30:29 +0100 iha r269826 : CWS-TOOLING: rebase CWS bubblechart to trunk@269781 (milestone: DEV300:m44) 2009-03-19 11:30:33 +0100 iha r269732 : #i64689# rename SchXMLCategoriesDomainContext to SchXMLCategoriesContext avoid confusion with domains 2009-03-18 17:11:13 +0100 iha r269693 : #i64689# add charttype bubble 2009-03-18 17:09:22 +0100 iha r269692 : #i64689# remove unused code 2009-03-13 12:18:26 +0100 iha r269467 : #i64689# corrected lineends 2009-03-12 11:25:14 +0100 iha r269376 : #i64689# bubble chart (part 1)
2009-07-02 19:17:43 +00:00
case SCHATTR_DATADESCR_NO_PERCENTVALUE:
{
rOutItemSet.Put( SfxBoolItem( nWhichId, m_bForbidPercentValue ));
}
break;
2003-12-10 17:08:46 +00:00
case SCHATTR_STYLE_SYMBOL:
{
chart2::Symbol aSymbol;
if( GetPropertySet()->getPropertyValue( C2U( "Symbol" )) >>= aSymbol )
rOutItemSet.Put( SfxInt32Item( nWhichId, lcl_getSymbolStyleForSymbol( aSymbol ) ));
}
break;
case SCHATTR_SYMBOL_SIZE:
{
chart2::Symbol aSymbol;
if( GetPropertySet()->getPropertyValue( C2U( "Symbol" )) >>= aSymbol )
rOutItemSet.Put(
SvxSizeItem( nWhichId, Size( aSymbol.Size.Width, aSymbol.Size.Height ) ));
}
break;
case SCHATTR_SYMBOL_BRUSH:
{
chart2::Symbol aSymbol;
if(( GetPropertySet()->getPropertyValue( C2U( "Symbol" )) >>= aSymbol )
&& aSymbol.Graphic.is() )
{
rOutItemSet.Put( SvxBrushItem( Graphic( aSymbol.Graphic ), GPOS_MM, SCHATTR_SYMBOL_BRUSH ));
}
2003-12-10 17:08:46 +00:00
}
break;
CWS-TOOLING: integrate CWS chart37 2009-05-22 09:10:36 +0200 iha r272170 : #i102130# color of pies is not loaded correctly 2009-04-27 17:16:20 +0200 iha r271294 : #i24203# compiler problem 2009-04-27 16:43:21 +0200 iha r271292 : #i101281# missing API documentation for secondary axis title properties 2009-04-27 15:26:05 +0200 hde r271276 : #i100987 2009-04-27 15:24:42 +0200 hde r271273 : #i100987 2009-04-24 15:08:33 +0200 iha r271214 : #i100995# crash with some logarithmic scalings 2009-04-22 18:50:56 +0200 dr r271134 : #i82177# write out deleted point labels 2009-04-22 18:40:48 +0200 iha r271133 : #i101281# missing API documentation for secondary axis title properties 2009-04-22 16:39:42 +0200 dr r271128 : #i82177# extensions for bubble charts 2009-04-22 14:37:00 +0200 dr r271114 : #i82177# import/export data label type and separator 2009-04-22 14:36:24 +0200 dr r271113 : #i82177# import/export data label type and separator 2009-04-21 15:25:26 +0200 dr r271038 : #i82177# import data label type and separator from BIFF8 CHFR records 2009-04-21 14:37:16 +0200 dr r271037 : #i82177# dump BIFF8 chart future records 2009-04-20 17:44:27 +0200 iha r271002 : #i96898# reduce library exports 2009-04-20 13:01:13 +0200 iha r270975 : #i24203# rotate data labels - help ids 2009-04-20 11:40:33 +0200 dr r270969 : #i96600# export of axis scaling/positioning properties 2009-04-16 16:02:31 +0200 dr r270892 : #i69599# keep Y axis left in 3d charts 2009-04-15 18:16:46 +0200 dr r270859 : #i69599# import of axis position settings 2009-04-15 18:16:01 +0200 dr r270858 : #i69599# correct handling of logarithmic crossing axes 2009-04-14 16:27:48 +0200 dr r270794 : #i96599# handle auto axis position on logarithmic axes 2009-04-09 19:59:51 +0200 dr r270722 : #i96599# import axis crossing settings, fix import of logarithmic scaling settings 2009-04-09 18:26:00 +0200 iha r270720 : #i96898# reduce library exports 2009-04-09 15:17:04 +0200 iha r270710 : #i96898# reduce library exports 2009-04-09 10:50:14 +0200 dr r270682 : #i24203# import/export of data label rotation, fixed some other broken stuff too 2009-04-08 16:54:54 +0200 dr r270657 : #i24203# import rotation for data point labels 2009-04-06 18:19:17 +0200 iha r270571 : #i100876# Axis scaling settings dialog wrong after API usage (anys different from double type) 2009-04-06 15:57:05 +0200 iha r270567 : #i100105# #i58585# leftover -> 2009-04-06 15:55:48 +0200 iha r270564 : #i58585# leftover -> 2009-04-02 16:41:07 +0200 iha r270422 : #i99721# remove unused code 2009-04-02 14:29:03 +0200 iha r270407 : #i99721# remove unused code 2009-03-26 10:58:23 +0100 iha r270059 : #i96898# reduce library exports 2009-03-26 10:13:49 +0100 iha r270055 : #i96898# reduce library exports 2009-03-25 09:39:13 +0100 iha r269998 : CWS-TOOLING: rebase CWS chart37 to trunk@269781 (milestone: DEV300:m44) 2009-03-24 17:56:56 +0100 iha r269986 : #i96898# reduce library exports 2009-03-24 16:56:44 +0100 iha r269974 : #i99721# remove unused code 2009-03-24 16:48:48 +0100 iha r269970 : #i89731# remove unused string 2009-03-24 15:44:04 +0100 iha r269961 : remove unused code 2009-03-24 15:22:45 +0100 iha r269959 : remove unused code 2009-03-24 15:17:17 +0100 iha r269957 : remove unused code 2009-03-24 11:14:53 +0100 iha r269923 : #i24203# rotate data labels 2009-03-09 12:10:25 +0100 hde r269076 : #i99300# 2009-03-06 15:56:26 +0100 iha r269011 : #i93953# Source Format for secondary axis without data 2009-02-17 15:59:05 +0100 iha r268177 : avoid warning during build 2009-02-17 15:01:59 +0100 iha r268173 : avoid warning during build 2009-02-13 09:39:03 +0100 ufi r267693 : i96999 2009-02-11 15:12:35 +0100 iha r267604 : removed unused string 2009-02-11 14:00:29 +0100 iha r267600 : #i96999# Corrected wording from 'correlation coefficient' to 'coefficient of determination' 2009-02-11 10:56:45 +0100 iha r267584 : #i89731# typo in resource string 2009-02-11 10:01:29 +0100 iha r267582 : #i89031# compile error on asian windows systems 2009-02-10 16:15:16 +0100 iha r267552 : #i24203# rotate data labels 2009-02-04 18:00:33 +0100 iha r267395 : #i98893# don't export defaults to file 2009-02-04 15:48:15 +0100 iha r267390 : #i92128# asian typography for chart elements 2009-02-04 15:17:41 +0100 iha r267386 : #i92128# asian typography for chart elements 2009-01-30 14:41:10 +0100 iha r267197 : CWS-TOOLING: rebase CWS chart37 to trunk@267171 (milestone: DEV300:m41)
2009-06-04 09:41:18 +00:00
case SCHATTR_TEXT_DEGREES:
{
double fValue = 0;
if( GetPropertySet()->getPropertyValue( C2U( "TextRotation" )) >>= fValue )
{
rOutItemSet.Put( SfxInt32Item( nWhichId, static_cast< sal_Int32 >(
::rtl::math::round( fValue * 100.0 ) ) ));
}
}
break;
2003-10-06 08:58:36 +00:00
}
}
} // namespace wrapper
} // namespace chart
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */