Files
libreoffice/chart2/source/controller/dialogs/DialogModel.cxx

887 lines
32 KiB
C++
Raw Normal View History

INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
*
* Copyright 2008 by Sun Microsystems, Inc.
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
*
* $RCSfile: DialogModel.cxx,v $
2008-10-01 07:35:04 +00:00
* $Revision: 1.7.16.1 $
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
*
* This file is part of OpenOffice.org.
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +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.
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +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).
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +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.
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
*
************************************************************************/
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_chart2.hxx"
#include "DialogModel.hxx"
#include "RangeSelectionHelper.hxx"
#include "PropertyHelper.hxx"
#include "DataSeriesHelper.hxx"
#include "DataSourceHelper.hxx"
#include "DiagramHelper.hxx"
#include "macros.hxx"
#include "Strings.hrc"
#include "ResId.hxx"
#include "LabeledDataSequence.hxx"
#include "CachedDataSequence.hxx"
#include "ContainerHelper.hxx"
#include "CommonFunctors.hxx"
#include "ControllerLockGuard.hxx"
#include "ChartTypeHelper.hxx"
#include <com/sun/star/util/XCloneable.hpp>
#include <com/sun/star/chart2/AxisType.hpp>
#include <com/sun/star/chart2/XTitled.hpp>
#include <com/sun/star/chart2/XCoordinateSystemContainer.hpp>
#include <com/sun/star/chart2/XChartTypeContainer.hpp>
#include <com/sun/star/chart2/XDataSeriesContainer.hpp>
#include <com/sun/star/chart2/data/XDataSink.hpp>
#include <tools/string.hxx>
#include <utility>
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
#include <algorithm>
#include <iterator>
#include <functional>
#include <numeric>
using namespace ::com::sun::star;
using namespace ::com::sun::star::chart2;
using namespace ::chart::ContainerHelper;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
using ::rtl::OUString;
// ----------------------------------------
namespace
{
const OUString lcl_aLabelRole( RTL_CONSTASCII_USTRINGPARAM( "label" ));
struct lcl_ChartTypeToSeriesCnt : ::std::unary_function<
Reference< XChartType >, Reference< XDataSeriesContainer > >
{
Reference< XDataSeriesContainer > operator() (
const Reference< XChartType > & xChartType )
{
return Reference< XDataSeriesContainer >::query( xChartType );
}
};
OUString lcl_ConvertRole( const OUString & rRoleString, bool bFromInternalToUI )
{
OUString aResult( rRoleString );
typedef ::std::map< OUString, OUString > tTranslationMap;
static tTranslationMap aTranslationMap;
if( aTranslationMap.size() == 0 )
{
aTranslationMap[ C2U( "categories" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_CATEGORIES )));
aTranslationMap[ C2U( "error-bars-x" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_X_ERROR )));
aTranslationMap[ C2U( "error-bars-x-positive" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_X_ERROR_POSITIVE )));
aTranslationMap[ C2U( "error-bars-x-negative" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_X_ERROR_NEGATIVE )));
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
aTranslationMap[ C2U( "error-bars-y" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_Y_ERROR )));
aTranslationMap[ C2U( "error-bars-y-positive" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_Y_ERROR_POSITIVE )));
aTranslationMap[ C2U( "error-bars-y-negative" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_Y_ERROR_NEGATIVE )));
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
aTranslationMap[ C2U( "label" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_LABEL )));
aTranslationMap[ C2U( "values-first" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_FIRST )));
aTranslationMap[ C2U( "values-last" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_LAST )));
aTranslationMap[ C2U( "values-max" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_MAX )));
aTranslationMap[ C2U( "values-min" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_MIN )));
aTranslationMap[ C2U( "values-x" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_X )));
aTranslationMap[ C2U( "values-y" ) ] = OUString( String( ::chart::SchResId( STR_DATA_ROLE_Y )));
}
if( bFromInternalToUI )
{
tTranslationMap::const_iterator aIt( aTranslationMap.find( rRoleString ));
if( aIt != aTranslationMap.end())
{
aResult = (*aIt).second;
}
}
else
{
tTranslationMap::const_iterator aIt(
::std::find_if( aTranslationMap.begin(), aTranslationMap.end(),
::std::compose1( ::std::bind2nd(
::std::equal_to< tTranslationMap::mapped_type >(),
rRoleString ),
::std::select2nd< tTranslationMap::value_type >())));
if( aIt != aTranslationMap.end())
aResult = (*aIt).first;
}
return aResult;
}
typedef ::std::map< ::rtl::OUString, sal_Int32 > lcl_tRoleIndexMap;
void lcl_createRoleIndexMap( lcl_tRoleIndexMap & rOutMap )
{
rOutMap.clear();
sal_Int32 nIndex = 0;
rOutMap[ C2U( "label" ) ] = ++nIndex;
rOutMap[ C2U( "categories" ) ] = ++nIndex;
rOutMap[ C2U( "values-x" ) ] = ++nIndex;
rOutMap[ C2U( "values-y" ) ] = ++nIndex;
rOutMap[ C2U( "error-bars-x" ) ] = ++nIndex;
rOutMap[ C2U( "error-bars-x-positive" ) ] = ++nIndex;
rOutMap[ C2U( "error-bars-x-negative" ) ] = ++nIndex;
rOutMap[ C2U( "error-bars-y" ) ] = ++nIndex;
rOutMap[ C2U( "error-bars-y-positive" ) ] = ++nIndex;
rOutMap[ C2U( "error-bars-y-negative" ) ] = ++nIndex;
rOutMap[ C2U( "values-first" ) ] = ++nIndex;
rOutMap[ C2U( "values-min" ) ] = ++nIndex;
rOutMap[ C2U( "values-max" ) ] = ++nIndex;
rOutMap[ C2U( "values-last" ) ] = ++nIndex;
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
}
struct lcl_DataSeriesContainerAppend : public
::std::iterator< ::std::output_iterator_tag, Reference< XDataSeriesContainer > >
{
typedef ::std::vector< chart::DialogModel::tSeriesWithChartTypeByName > tContainerType;
explicit lcl_DataSeriesContainerAppend( tContainerType & rCnt )
: m_rDestCnt( rCnt )
{}
lcl_DataSeriesContainerAppend & operator= ( const value_type & xVal )
{
try
{
if( xVal.is())
{
Sequence< Reference< XDataSeries > > aSeq( xVal->getDataSeries());
OUString aRole( RTL_CONSTASCII_USTRINGPARAM("values-y"));
Reference< XChartType > xCT( xVal, uno::UNO_QUERY );
if( xCT.is())
aRole = xCT->getRoleOfSequenceForSeriesLabel();
for( sal_Int32 nI = 0; nI < aSeq.getLength(); ++ nI )
{
m_rDestCnt.push_back(
chart::DialogModel::tSeriesWithChartTypeByName(
::chart::DataSeriesHelper::getDataSeriesLabel( aSeq[nI], aRole ),
::std::make_pair( aSeq[nI], xCT )));
}
}
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
return *this;
}
lcl_DataSeriesContainerAppend & operator* () { return *this; }
lcl_DataSeriesContainerAppend & operator++ () { return *this; }
lcl_DataSeriesContainerAppend & operator++ (int) { return *this; }
private:
tContainerType & m_rDestCnt;
};
struct lcl_RolesWithRangeAppend : public
::std::iterator< ::std::output_iterator_tag, Reference< data::XLabeledDataSequence > >
{
typedef ::chart::DialogModel::tRolesWithRanges tContainerType;
explicit lcl_RolesWithRangeAppend( tContainerType & rCnt,
const ::rtl::OUString & aLabelRole )
: m_rDestCnt( rCnt ),
m_aRoleForLabelSeq( aLabelRole )
{}
lcl_RolesWithRangeAppend & operator= ( const value_type & xVal )
{
try
{
if( xVal.is())
{
// data sequence
Reference< data::XDataSequence > xSeq( xVal->getValues());
if( xSeq.is())
{
OUString aRole;
Reference< beans::XPropertySet > xProp( xSeq, uno::UNO_QUERY_THROW );
if( xProp->getPropertyValue( C2U("Role")) >>= aRole )
{
m_rDestCnt.insert(
tContainerType::value_type(
aRole, xSeq->getSourceRangeRepresentation()));
// label
if( aRole.equals( m_aRoleForLabelSeq ))
{
Reference< data::XDataSequence > xLabelSeq( xVal->getLabel());
if( xLabelSeq.is())
{
m_rDestCnt.insert(
tContainerType::value_type(
lcl_aLabelRole, xLabelSeq->getSourceRangeRepresentation()));
}
}
}
}
}
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
return *this;
}
lcl_RolesWithRangeAppend & operator* () { return *this; }
lcl_RolesWithRangeAppend & operator++ () { return *this; }
lcl_RolesWithRangeAppend & operator++ (int) { return *this; }
private:
tContainerType & m_rDestCnt;
OUString m_aRoleForLabelSeq;
};
void lcl_SetSequenceRole(
const Reference< data::XDataSequence > & xSeq,
const OUString & rRole )
{
Reference< beans::XPropertySet > xProp( xSeq, uno::UNO_QUERY );
if( xProp.is())
xProp->setPropertyValue( C2U("Role"), uno::makeAny( rRole ));
}
Reference< XDataSeries > lcl_CreateNewSeries(
const Reference< uno::XComponentContext > & xContext,
const Reference< XChartType > & xChartType,
sal_Int32 nNewSeriesIndex,
sal_Int32 nTotalNumberOfSeriesInCTGroup,
const Reference< XDiagram > & xDiagram,
const Reference< XChartTypeTemplate > & xTemplate,
bool bCreateDataCachedSequences )
{
// create plain series
Reference< XDataSeries > xResult(
xContext->getServiceManager()->createInstanceWithContext(
C2U( "com.sun.star.chart2.DataSeries" ),
xContext ), uno::UNO_QUERY );
if( xTemplate.is())
{
Reference< beans::XPropertySet > xResultProp( xResult, uno::UNO_QUERY );
if( xResultProp.is())
{
// @deprecated: correct default color should be found by view
// without setting it as hard attribute
Reference< XColorScheme > xColorScheme( xDiagram->getDefaultColorScheme());
if( xColorScheme.is())
xResultProp->setPropertyValue(
C2U("Color"), uno::makeAny( xColorScheme->getColorByIndex( nNewSeriesIndex )));
}
sal_Int32 nGroupIndex=0;
if( xChartType.is())
{
Sequence< Reference< XChartType > > aCTs(
::chart::DiagramHelper::getChartTypesFromDiagram( xDiagram ));
for( ; nGroupIndex<aCTs.getLength(); ++nGroupIndex)
if( aCTs[nGroupIndex] == xChartType )
break;
if( nGroupIndex == aCTs.getLength())
nGroupIndex = 0;
}
xTemplate->applyStyle( xResult, nGroupIndex, nNewSeriesIndex, nTotalNumberOfSeriesInCTGroup );
}
if( bCreateDataCachedSequences )
{
// set chart type specific roles
Reference< data::XDataSink > xSink( xResult, uno::UNO_QUERY );
if( xChartType.is() && xSink.is())
{
::std::vector< Reference< data::XLabeledDataSequence > > aNewSequences;
const OUString aRoleOfSeqForSeriesLabel = xChartType->getRoleOfSequenceForSeriesLabel();
const OUString aLabel( String( ::chart::SchResId( STR_DATA_UNNAMED_SERIES )));
const Sequence< OUString > aRoles( xChartType->getSupportedMandatoryRoles());
const Sequence< OUString > aOptRoles( xChartType->getSupportedOptionalRoles());
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
sal_Int32 nI = 0;
for(nI=0; nI<aRoles.getLength(); ++nI)
{
if( aRoles[nI].equals( lcl_aLabelRole ))
continue;
Reference< data::XDataSequence > xSeq( new ::chart::CachedDataSequence());
lcl_SetSequenceRole( xSeq, aRoles[nI] );
// assert that aRoleOfSeqForSeriesLabel is part of the mandatory roles
if( aRoles[nI].equals( aRoleOfSeqForSeriesLabel ))
{
Reference< data::XDataSequence > xLabel( new ::chart::CachedDataSequence( aLabel ));
lcl_SetSequenceRole( xLabel, lcl_aLabelRole );
aNewSequences.push_back( new ::chart::LabeledDataSequence( xSeq, xLabel ));
}
else
aNewSequences.push_back( new ::chart::LabeledDataSequence( xSeq ));
}
for(nI=0; nI<aOptRoles.getLength(); ++nI)
{
if( aOptRoles[nI].equals( lcl_aLabelRole ))
continue;
Reference< data::XDataSequence > xSeq( new ::chart::CachedDataSequence());
lcl_SetSequenceRole( xSeq, aOptRoles[nI] );
aNewSequences.push_back( new ::chart::LabeledDataSequence( xSeq ));
}
xSink->setData( ContainerToSequence( aNewSequences ));
}
}
return xResult;
}
struct lcl_addSeriesNumber : public ::std::binary_function<
sal_Int32, Reference< XDataSeriesContainer >, sal_Int32 >
{
sal_Int32 operator() ( sal_Int32 nCurrentNumber, const Reference< XDataSeriesContainer > & xCnt ) const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
if( xCnt.is())
return nCurrentNumber + (xCnt->getDataSeries().getLength());
return nCurrentNumber;
}
};
} // anonymous namespace
// ----------------------------------------
namespace chart
{
DialogModel::DialogModel(
const Reference< XChartDocument > & xChartDocument,
const Reference< uno::XComponentContext > & xContext ) :
m_xChartDocument( xChartDocument ),
m_xContext( xContext ),
m_aTimerTriggeredControllerLock( uno::Reference< frame::XModel >( m_xChartDocument, uno::UNO_QUERY ) )
{
createBackup();
}
DialogModel::~DialogModel()
{}
void DialogModel::setTemplate(
const Reference< XChartTypeTemplate > & xTemplate )
{
m_xTemplate = xTemplate;
}
::boost::shared_ptr< RangeSelectionHelper >
DialogModel::getRangeSelectionHelper() const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
if( ! m_spRangeSelectionHelper.get())
m_spRangeSelectionHelper.reset(
new RangeSelectionHelper( m_xChartDocument ));
return m_spRangeSelectionHelper;
}
Reference< frame::XModel > DialogModel::getChartModel() const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
Reference< frame::XModel > xResult( m_xChartDocument, uno::UNO_QUERY );
return xResult;
}
Reference< data::XDataProvider > DialogModel::getDataProvider() const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
Reference< data::XDataProvider > xResult;
if( m_xChartDocument.is())
xResult.set( m_xChartDocument->getDataProvider());
return xResult;
}
::std::vector< Reference< XDataSeriesContainer > >
DialogModel::getAllDataSeriesContainers() const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
::std::vector< Reference< XDataSeriesContainer > > aResult;
try
{
Reference< XDiagram > xDiagram;
if( m_xChartDocument.is())
xDiagram.set( m_xChartDocument->getFirstDiagram());
if( xDiagram.is())
{
Reference< XCoordinateSystemContainer > xCooSysCnt(
xDiagram, uno::UNO_QUERY_THROW );
Sequence< Reference< XCoordinateSystem > > aCooSysSeq(
xCooSysCnt->getCoordinateSystems());
for( sal_Int32 i=0; i<aCooSysSeq.getLength(); ++i )
{
Reference< XChartTypeContainer > xCTCnt( aCooSysSeq[i], uno::UNO_QUERY_THROW );
Sequence< Reference< XChartType > > aChartTypeSeq( xCTCnt->getChartTypes());
::std::transform(
aChartTypeSeq.getConstArray(), aChartTypeSeq.getConstArray() + aChartTypeSeq.getLength(),
::std::back_inserter( aResult ),
lcl_ChartTypeToSeriesCnt() );
}
}
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
return aResult;
}
::std::vector< DialogModel::tSeriesWithChartTypeByName >
DialogModel::getAllDataSeriesWithLabel() const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
::std::vector< tSeriesWithChartTypeByName > aResult;
::std::vector< Reference< XDataSeriesContainer > > aContainers(
getAllDataSeriesContainers());
::std::copy( aContainers.begin(), aContainers.end(),
lcl_DataSeriesContainerAppend( aResult ));
return aResult;
}
DialogModel::tRolesWithRanges DialogModel::getRolesWithRanges(
const Reference< XDataSeries > & xSeries,
const ::rtl::OUString & aRoleOfSequenceForLabel,
const Reference< chart2::XChartType > & xChartType ) const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
DialogModel::tRolesWithRanges aResult;
try
{
Reference< data::XDataSource > xSource( xSeries, uno::UNO_QUERY_THROW );
const Sequence< Reference< data::XLabeledDataSequence > > aSeq( xSource->getDataSequences());
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
::std::copy( aSeq.getConstArray(), aSeq.getConstArray() + aSeq.getLength(),
lcl_RolesWithRangeAppend( aResult, aRoleOfSequenceForLabel ));
if( xChartType.is())
{
// add missing mandatory roles
Sequence< OUString > aRoles( xChartType->getSupportedMandatoryRoles());
OUString aEmptyString;
sal_Int32 nI = 0;
for( nI=0; nI < aRoles.getLength(); ++nI )
{
if( aResult.find( aRoles[nI] ) == aResult.end() )
aResult.insert( DialogModel::tRolesWithRanges::value_type( aRoles[nI], aEmptyString ));
}
// add missing optional roles
aRoles = xChartType->getSupportedOptionalRoles();
for( nI=0; nI < aRoles.getLength(); ++nI )
{
if( aResult.find( aRoles[nI] ) == aResult.end() )
aResult.insert( DialogModel::tRolesWithRanges::value_type( aRoles[nI], aEmptyString ));
}
}
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
return aResult;
}
void DialogModel::moveSeries(
const Reference< XDataSeries > & xSeries,
eMoveDirection eDirection )
{
m_aTimerTriggeredControllerLock.startTimer();
ControllerLockGuard aLockedControllers( Reference< frame::XModel >( m_xChartDocument, uno::UNO_QUERY ) );
Reference< XDiagram > xDiagram( m_xChartDocument->getFirstDiagram());
DiagramHelper::moveSeries( xDiagram, xSeries, eDirection==MOVE_UP );
}
Reference< chart2::XDataSeries > DialogModel::insertSeriesAfter(
const Reference< XDataSeries > & xSeries,
const Reference< XChartType > & xChartType,
bool bCreateDataCachedSequences /* = false */ )
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
m_aTimerTriggeredControllerLock.startTimer();
ControllerLockGuard aLockedControllers( Reference< frame::XModel >( m_xChartDocument, uno::UNO_QUERY ) );
Reference< XDataSeries > xNewSeries;
try
{
sal_Int32 nSeriesInChartType = 0;
const sal_Int32 nTotalSeries = countSeries();
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
if( xChartType.is())
{
Reference< XDataSeriesContainer > xCnt( xChartType, uno::UNO_QUERY_THROW );
nSeriesInChartType = xCnt->getDataSeries().getLength();
}
// create new series
xNewSeries.set(
lcl_CreateNewSeries(
m_xContext,
xChartType,
nTotalSeries, // new series' index
nSeriesInChartType,
m_xChartDocument->getFirstDiagram(),
m_xTemplate,
bCreateDataCachedSequences ));
// add new series to container
if( xNewSeries.is())
{
Reference< XDataSeriesContainer > xSeriesCnt( xChartType, uno::UNO_QUERY_THROW );
::std::vector< Reference< XDataSeries > > aSeries(
SequenceToVector( xSeriesCnt->getDataSeries()));
::std::vector< Reference< XDataSeries > >::iterator aIt =
::std::find( aSeries.begin(), aSeries.end(), xSeries );
if( aIt == aSeries.end())
// if we have no series we insert at the first position.
aIt = aSeries.begin();
else
// vector::insert inserts before, so we have to advance
++aIt;
aSeries.insert( aIt, xNewSeries );
xSeriesCnt->setDataSeries( ContainerToSequence( aSeries ));
}
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
return xNewSeries;
}
void DialogModel::deleteSeries(
const Reference< XDataSeries > & xSeries,
const Reference< XChartType > & xChartType )
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
m_aTimerTriggeredControllerLock.startTimer();
ControllerLockGuard aLockedControllers( Reference< frame::XModel >( m_xChartDocument, uno::UNO_QUERY ) );
DataSeriesHelper::deleteSeries( xSeries, xChartType );
}
Reference< data::XLabeledDataSequence > DialogModel::getCategories() const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
Reference< data::XLabeledDataSequence > xResult;
try
{
if( m_xChartDocument.is())
{
Reference< chart2::XDiagram > xDiagram( m_xChartDocument->getFirstDiagram());
xResult.set( DiagramHelper::getCategoriesFromDiagram( xDiagram ));
}
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
return xResult;
}
void DialogModel::setCategories( const Reference< chart2::data::XLabeledDataSequence > & xCategories )
{
if( m_xChartDocument.is())
{
Reference< chart2::XDiagram > xDiagram( m_xChartDocument->getFirstDiagram());
if( xDiagram.is())
{
// categories
bool bSupportsCategories = true;
Reference< XChartType > xFirstChartType( DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) );
if( xFirstChartType.is() )
{
sal_Int32 nAxisType = ChartTypeHelper::getAxisType( xFirstChartType, 0 ); // x-axis
bSupportsCategories = (nAxisType == AxisType::CATEGORY);
}
DiagramHelper::setCategoriesToDiagram( xCategories, xDiagram, true, bSupportsCategories );
}
}
}
OUString DialogModel::getCategoriesRange() const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
Reference< data::XLabeledDataSequence > xLSeq( getCategories());
OUString aRange;
if( xLSeq.is())
{
Reference< data::XDataSequence > xSeq( xLSeq->getValues());
if( xSeq.is())
aRange = xSeq->getSourceRangeRepresentation();
}
return aRange;
}
bool DialogModel::isCategoryDiagram() const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
bool bRet = false;
if( m_xChartDocument.is())
bRet = DiagramHelper::isCategoryDiagram( m_xChartDocument->getFirstDiagram() );
return bRet;
}
void DialogModel::detectArguments(
OUString & rOutRangeString,
bool & rOutUseColumns,
bool & rOutFirstCellAsLabel,
bool & rOutHasCategories ) const
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
try
{
uno::Sequence< sal_Int32 > aSequenceMapping;//todo YYYX
// Note: unused data is currently not supported in being passed to detectRangeSegmentation
if( m_xChartDocument.is())
DataSourceHelper::detectRangeSegmentation(
Reference< frame::XModel >( m_xChartDocument, uno::UNO_QUERY_THROW ),
rOutRangeString, aSequenceMapping, rOutUseColumns, rOutFirstCellAsLabel, rOutHasCategories );
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
}
bool DialogModel::allArgumentsForRectRangeDetected() const
{
return DataSourceHelper::allArgumentsForRectRangeDetected( m_xChartDocument );
}
void DialogModel::startControllerLockTimer()
{
m_aTimerTriggeredControllerLock.startTimer();
}
bool DialogModel::setData(
const Sequence< beans::PropertyValue > & rArguments )
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
{
m_aTimerTriggeredControllerLock.startTimer();
ControllerLockGuard aLockedControllers( Reference< frame::XModel >( m_xChartDocument, uno::UNO_QUERY ) );
Reference< data::XDataProvider > xDataProvider( getDataProvider());
if( ! xDataProvider.is() ||
! m_xTemplate.is() )
{
OSL_ENSURE( false, "Model objects missing" );
return false;
}
try
{
Reference< chart2::data::XDataSource > xDataSource(
xDataProvider->createDataSource( rArguments ) );
Reference< chart2::XDataInterpreter > xInterpreter(
m_xTemplate->getDataInterpreter());
if( xInterpreter.is())
{
::std::vector< Reference< XDataSeries > > aSeriesToReUse(
DiagramHelper::getDataSeriesFromDiagram( m_xChartDocument->getFirstDiagram()));
applyInterpretedData(
xInterpreter->interpretDataSource(
xDataSource, rArguments,
ContainerToSequence( aSeriesToReUse )),
aSeriesToReUse,
true /* bSetStyles */);
}
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
return false;
}
return true;
}
// static
OUString DialogModel::ConvertRoleFromInternalToUI( const OUString & rRoleString )
{
return lcl_ConvertRole( rRoleString, true );
}
// static
OUString DialogModel::ConvertRoleFromUIToInternal( const OUString & rRoleString )
{
return lcl_ConvertRole( rRoleString, false );
}
// static
OUString DialogModel::GetRoleDataLabel()
{
return OUString( String( ::chart::SchResId( STR_OBJECT_DATALABELS )));
}
// static
sal_Int32 DialogModel::GetRoleIndexForSorting( const ::rtl::OUString & rInternalRoleString )
{
static lcl_tRoleIndexMap aRoleIndexMap;
if( aRoleIndexMap.empty())
lcl_createRoleIndexMap( aRoleIndexMap );
lcl_tRoleIndexMap::const_iterator aIt( aRoleIndexMap.find( rInternalRoleString ));
if( aIt != aRoleIndexMap.end())
return aIt->second;
return 0;
}
// static
bool DialogModel::isSeriesValid(
const Reference< chart2::XDataSeries > & xSeries,
const OUString & aRoleOfSequenceForLabel,
const Reference< chart2::XChartType > & xChartType )
{
if( ! (xSeries.is() && xChartType.is()))
return false;
try
{
sal_Int32 nFoundRoles = 0;
DialogModel::tRolesWithRanges aRolesWithRanges;
Reference< data::XDataSource > xSource( xSeries, uno::UNO_QUERY_THROW );
const Sequence< Reference< data::XLabeledDataSequence > > aSeq( xSource->getDataSequences());
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
::std::copy( aSeq.getConstArray(), aSeq.getConstArray() + aSeq.getLength(),
lcl_RolesWithRangeAppend( aRolesWithRanges, aRoleOfSequenceForLabel ));
const Sequence< OUString > aRoles( xChartType->getSupportedMandatoryRoles());
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
for( sal_Int32 nI = 0; nI < aRoles.getLength(); ++nI )
if( !aRoles[nI].equals( lcl_aLabelRole ) && aRolesWithRanges.find( aRoles[nI] ) != aRolesWithRanges.end() )
++nFoundRoles;
// strong condition: all mandatory roles exist (except the label)
// if( !aRoles[nI].equals( lcl_aLabelRole ) && aRolesWithRanges.find( aRoles[nI] ) == aRolesWithRanges.end() )
// return false;
// weak condition: one mandatory role exists
if( aRoles.getLength() > 0 && nFoundRoles == 0 )
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
return false;
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
return false;
}
return true;
}
// private methods
void DialogModel::createBackup()
{
OSL_ENSURE( ! m_xBackupChartDocument.is(), "Cloning already cloned model" );
try
{
Reference< util::XCloneable > xCloneable( m_xChartDocument, uno::UNO_QUERY_THROW );
m_xBackupChartDocument.set( xCloneable->createClone(), uno::UNO_QUERY_THROW );
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
}
void DialogModel::applyInterpretedData(
const InterpretedData & rNewData,
const ::std::vector< Reference< XDataSeries > > & rSeriesToReUse,
bool bSetStyles )
{
if( ! m_xChartDocument.is())
return;
m_aTimerTriggeredControllerLock.startTimer();
Reference< XDiagram > xDiagram( m_xChartDocument->getFirstDiagram());
if( xDiagram.is())
{
// styles
if( bSetStyles && m_xTemplate.is() )
{
sal_Int32 nGroup = 0;
sal_Int32 nSeriesCounter = 0;
sal_Int32 nNewSeriesIndex = static_cast< sal_Int32 >( rSeriesToReUse.size());
const sal_Int32 nOuterSize=rNewData.Series.getLength();
INTEGRATION: CWS chart2mst3 (1.1.2); FILE ADDED 2007/03/02 15:43:38 bm 1.1.2.41: use correct color for new series 2007/02/28 13:22:41 bm 1.1.2.40: #i71233# isSeriesValid returns true when only one mandatory role exists. Until we re-think the whole mandatory stuff again. 2007/02/27 16:27:59 bm 1.1.2.39: #i71233# disable dialog commit when there are invalid ranges or series with missing mandatory roles 2007/02/09 17:29:17 bm 1.1.2.38: XChartDocument::createInternalDataProvider() works like expected now 2007/02/09 12:24:50 bm 1.1.2.37: #i72841# move deleteSeries functionality to tools/DataSeriesHelper 2007/02/08 21:25:32 iha 1.1.2.36: resync m195 -> m202 2006/12/13 14:38:18 bm 1.1.2.35: correct order of roles data dialog 2006/12/12 18:04:10 bm 1.1.2.34: #i71666# show categories also for scatter charts, as data labels 2006/12/11 16:29:58 bm 1.1.2.33: STR_DATA_NEW_SERIES removed 2006/12/05 23:43:13 iha 1.1.2.32: #i71675# enable set data label range for xy charts 2006/11/10 21:03:05 iha 1.1.2.31: prevent immidiate redraw in wizard and according dialogs (important for charts with many data) 2006/10/27 11:26:51 bm 1.1.2.30: allow to add a categories range when there were no categories before 2006/10/25 11:24:10 bm 1.1.2.29: allow setting previously unset sequences, e.g. labels at data series with external data provider 2006/10/24 11:52:47 bm 1.1.2.28: DataSourceHelper::detectRangeSegmentation supports no unused data 2006/07/26 14:46:18 bm 1.1.2.27: allow insertion of data series into empty chart 2006/07/19 15:55:23 bm 1.1.2.26: #i64824# improvement of the data editor for internal data. Especially the handling of flexible data and series with more than one role 2006/04/22 11:11:54 iha 1.1.2.25: park unused categories in scale with AxisType not being CATEGORY 2006/03/17 13:25:26 bm 1.1.2.24: +allArgumentsForRectRangeDetected 2005/12/21 21:29:06 iha 1.1.2.23: remove identifiers from model objects and create an index based CID protocol instead for selection purposes 2005/11/14 17:56:46 iha 1.1.2.22: removed superfluous method restore - undo is done outside of the dialog 2005/11/11 18:45:21 iha 1.1.2.21: move only compatible series 2005/11/11 17:59:01 iha 1.1.2.20: don't set categories to scatter charts 2005/11/11 13:57:16 iha 1.1.2.19: remove direct view update call 2005/11/11 13:45:40 iha 1.1.2.18: guard DataRange Dialog against to many view updates 2005/11/08 14:57:32 iha 1.1.2.17: set and remove categories also to and from secondary scales 2005/10/27 17:46:21 iha 1.1.2.16: support SequenceMapping 2005/10/13 17:38:44 iha 1.1.2.15: renamed BoundedCoordinateSystem to CoordinateSystem 2005/10/11 09:20:05 bm 1.1.2.14: license header change 2005/09/16 16:50:03 iha 1.1.2.13: no creation of dummy categories in model - instead trigger generation of missing labels and categories in view 2005/08/18 15:20:40 bm 1.1.2.12: (gs)etDiagram -> (gs)etFirstDiagram to avoid name clashes with old API 2005/08/04 12:08:44 bm 1.1.2.11: assertion removed: xy-charts have no categories, this is no error 2005/08/03 16:36:15 bm 1.1.2.10: algohelper.hxx split up into CommonFunctors.hxx ContainerHelper.hxx CloneHelper.hxx 2005/08/02 13:46:27 bm 1.1.2.9: data_type is not standard. use mapped_type instead 2005/07/29 14:54:00 bm 1.1.2.8: include unused data for calculation of data range 2005/07/28 09:34:49 bm 1.1.2.7: usage of color schemes and the VaryColorsByPoint property to have correct pie colors and legend entries 2005/07/26 12:07:35 bm 1.1.2.6: use configuration colors in ColorProvider 2005/07/14 14:49:49 bm 1.1.2.5: create dummy categories if there are none but the charttype needs them 2005/05/12 13:56:39 bm 1.1.2.4: API change XDataProvider 2005/05/09 09:50:54 bm 1.1.2.3: moved parts of API to data namespace 2005/04/19 14:34:40 bm 1.1.2.2: fixing the data source/range chooser dialogs 2005/04/15 14:47:12 bm 1.1.2.1: helpers for data source dialogs
2007-05-22 16:28:10 +00:00
for(; nGroup < nOuterSize; ++nGroup)
{
Sequence< Reference< XDataSeries > > aSeries( rNewData.Series[ nGroup ] );
const sal_Int32 nSeriesInGroup = aSeries.getLength();
for( sal_Int32 nSeries=0; nSeries<nSeriesInGroup; ++nSeries, ++nSeriesCounter )
{
if( ::std::find( rSeriesToReUse.begin(), rSeriesToReUse.end(), aSeries[nSeries] )
== rSeriesToReUse.end())
{
Reference< beans::XPropertySet > xSeriesProp( aSeries[nSeries], uno::UNO_QUERY );
if( xSeriesProp.is())
{
// @deprecated: correct default color should be found by view
// without setting it as hard attribute
Reference< XColorScheme > xColorScheme( xDiagram->getDefaultColorScheme());
if( xColorScheme.is())
xSeriesProp->setPropertyValue(
C2U("Color"), uno::makeAny( xColorScheme->getColorByIndex( nSeriesCounter )));
}
m_xTemplate->applyStyle( aSeries[nSeries], nGroup, nNewSeriesIndex++, nSeriesInGroup );
}
}
}
}
// data series
::std::vector< Reference< XDataSeriesContainer > > aSeriesCnt( getAllDataSeriesContainers());
::std::vector< Sequence< Reference< XDataSeries > > > aNewSeries(
SequenceToVector( rNewData.Series ));
OSL_ASSERT( aSeriesCnt.size() == aNewSeries.size());
::std::vector< Sequence< Reference< XDataSeries > > >::const_iterator aSrcIt( aNewSeries.begin());
::std::vector< Reference< XDataSeriesContainer > >::iterator aDestIt( aSeriesCnt.begin());
for(; aSrcIt != aNewSeries.end() && aDestIt != aSeriesCnt.end();
++aSrcIt, ++aDestIt )
{
try
{
OSL_ASSERT( (*aDestIt).is());
(*aDestIt)->setDataSeries( *aSrcIt );
}
catch( uno::Exception & ex )
{
ASSERT_EXCEPTION( ex );
}
}
DialogModel::setCategories(rNewData.Categories);
}
OSL_ASSERT( ! rNewData.UnusedData.hasElements());
}
sal_Int32 DialogModel::countSeries() const
{
::std::vector< Reference< XDataSeriesContainer > > aCnt( getAllDataSeriesContainers());
return ::std::accumulate( aCnt.begin(), aCnt.end(), 0, lcl_addSeriesNumber());
}
} // namespace chart