[Libreoffice-commits] .: 30 commits - chart2/source chart2/uiconfig officecfg/registry
Markus Mohrhard
mmohrhard at kemper.freedesktop.org
Thu Mar 22 18:56:21 PDT 2012
chart2/source/controller/accessibility/ChartElementFactory.cxx | 1
chart2/source/controller/dialogs/ObjectNameProvider.cxx | 10
chart2/source/controller/dialogs/ResourceIds.hrc | 1
chart2/source/controller/dialogs/Strings.src | 24 +-
chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx | 4
chart2/source/controller/dialogs/dlg_ObjectProperties.cxx | 27 +-
chart2/source/controller/dialogs/res_ErrorBar.cxx | 2
chart2/source/controller/inc/dlg_InsertErrorBars.hxx | 2
chart2/source/controller/itemsetwrapper/ErrorBarItemConverter.cxx | 9
chart2/source/controller/itemsetwrapper/StatisticsItemConverter.cxx | 71 ++++--
chart2/source/controller/main/ChartController.cxx | 18 +
chart2/source/controller/main/ChartController.hxx | 5
chart2/source/controller/main/ChartController_Insert.cxx | 116 +++++-----
chart2/source/controller/main/ChartController_Properties.cxx | 35 +--
chart2/source/controller/main/ChartController_Tools.cxx | 46 ++-
chart2/source/controller/main/ChartController_Window.cxx | 14 +
chart2/source/controller/main/ControllerCommandDispatch.cxx | 23 +
chart2/source/controller/main/ObjectHierarchy.cxx | 16 +
chart2/source/inc/ObjectIdentifier.hxx | 1
chart2/source/inc/Strings.hrc | 8
chart2/source/inc/chartview/ChartSfxItemIds.hxx | 3
chart2/source/tools/ObjectIdentifier.cxx | 26 +-
chart2/source/tools/RangeHighlighter.cxx | 4
chart2/source/view/charttypes/AreaChart.cxx | 25 +-
chart2/source/view/charttypes/VSeriesPlotter.cxx | 45 +++
chart2/source/view/inc/VDataSeries.hxx | 8
chart2/source/view/inc/VSeriesPlotter.hxx | 8
chart2/source/view/main/ChartItemPool.cxx | 1
chart2/source/view/main/VDataSeries.cxx | 21 +
chart2/uiconfig/menubar/menubar.xml | 1
officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu | 20 +
31 files changed, 422 insertions(+), 173 deletions(-)
New commits:
commit 30cb55913638905e1651874958f9ef1732ad0daf
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Mar 18 00:14:48 2012 +0000
Remove deprecated chart ObjectType OBJECTTYPE_DATA_ERRORS.
diff --git a/chart2/source/controller/accessibility/ChartElementFactory.cxx b/chart2/source/controller/accessibility/ChartElementFactory.cxx
index c278460..d146f94 100644
--- a/chart2/source/controller/accessibility/ChartElementFactory.cxx
+++ b/chart2/source/controller/accessibility/ChartElementFactory.cxx
@@ -57,7 +57,6 @@ AccessibleBase* ChartElementFactory::CreateChartElement( const AccessibleElement
case OBJECTTYPE_DATA_SERIES:
case OBJECTTYPE_DATA_LABELS:
case OBJECTTYPE_DATA_LABEL:
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
case OBJECTTYPE_DATA_ERRORS_Y:
case OBJECTTYPE_DATA_ERRORS_Z:
diff --git a/chart2/source/controller/dialogs/ObjectNameProvider.cxx b/chart2/source/controller/dialogs/ObjectNameProvider.cxx
index 8ede4c9..0f0ae82 100644
--- a/chart2/source/controller/dialogs/ObjectNameProvider.cxx
+++ b/chart2/source/controller/dialogs/ObjectNameProvider.cxx
@@ -283,9 +283,6 @@ rtl::OUString ObjectNameProvider::getName( ObjectType eObjectType, bool bPlural
case OBJECTTYPE_DATA_LABEL:
aRet=String(SchResId(STR_OBJECT_LABEL));
break;
- case OBJECTTYPE_DATA_ERRORS:
- aRet=String(SchResId(STR_OBJECT_ERROR_BARS_Y));
- break;
case OBJECTTYPE_DATA_ERRORS_X:
aRet=String(SchResId(STR_OBJECT_ERROR_BARS_X));
break;
@@ -752,7 +749,6 @@ rtl::OUString ObjectNameProvider::getNameForCID(
case OBJECTTYPE_DATA_POINT:
case OBJECTTYPE_DATA_LABELS:
case OBJECTTYPE_DATA_LABEL:
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
case OBJECTTYPE_DATA_ERRORS_Y:
case OBJECTTYPE_DATA_ERRORS_Z:
diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index cd6b1f0..ecd2435 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -160,10 +160,9 @@ void ObjectPropertiesDialogParameter::init( const uno::Reference< frame::XModel
}
}
- if( OBJECTTYPE_DATA_ERRORS == m_eObjectType ||
- m_eObjectType == OBJECTTYPE_DATA_ERRORS_X ||
- m_eObjectType == OBJECTTYPE_DATA_ERRORS_Y ||
- m_eObjectType == OBJECTTYPE_DATA_ERRORS_Z)
+ if( m_eObjectType == OBJECTTYPE_DATA_ERRORS_X ||
+ m_eObjectType == OBJECTTYPE_DATA_ERRORS_Y ||
+ m_eObjectType == OBJECTTYPE_DATA_ERRORS_Z)
m_bHasStatisticProperties = true;
if( OBJECTTYPE_AXIS == m_eObjectType )
@@ -242,7 +241,6 @@ void ObjectPropertiesDialogParameter::init( const uno::Reference< frame::XModel
case OBJECTTYPE_DATA_POINT:
case OBJECTTYPE_DATA_LABEL:
case OBJECTTYPE_DATA_LABELS:
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
case OBJECTTYPE_DATA_ERRORS_Y:
case OBJECTTYPE_DATA_ERRORS_Z:
@@ -455,7 +453,6 @@ SchAttribTabDlg::SchAttribTabDlg(Window* pParent,
AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_LINE)));
break;
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_Y:
AddTabPage(TP_YERRORBAR, String(SchResId(STR_PAGE_YERROR_BARS)), ErrorBarsTabPage::Create, NULL);
AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_LINE)));
diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx
index a2a0d92..19f146a 100644
--- a/chart2/source/controller/main/ChartController_Properties.cxx
+++ b/chart2/source/controller/main/ChartController_Properties.cxx
@@ -255,7 +255,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
wrapper::GraphicPropertyItemConverter::LINE_PROPERTIES );
break;
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
case OBJECTTYPE_DATA_ERRORS_Y:
case OBJECTTYPE_DATA_ERRORS_Z:
diff --git a/chart2/source/controller/main/ChartController_Tools.cxx b/chart2/source/controller/main/ChartController_Tools.cxx
index eb96489..050d645 100644
--- a/chart2/source/controller/main/ChartController_Tools.cxx
+++ b/chart2/source/controller/main/ChartController_Tools.cxx
@@ -563,7 +563,6 @@ bool ChartController::isObjectDeleteable( const uno::Any& rSelection )
case OBJECTTYPE_DATA_CURVE_EQUATION:
case OBJECTTYPE_DATA_CURVE:
case OBJECTTYPE_DATA_AVERAGE_LINE:
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
case OBJECTTYPE_DATA_ERRORS_Y:
case OBJECTTYPE_DATA_ERRORS_Z:
@@ -725,7 +724,6 @@ bool ChartController::executeDispatch_Delete()
break;
}
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
case OBJECTTYPE_DATA_ERRORS_Y:
case OBJECTTYPE_DATA_ERRORS_Z:
@@ -738,8 +736,7 @@ bool ChartController::executeDispatch_Delete()
if ( aObjectType == OBJECTTYPE_DATA_ERRORS_X )
nId = STR_OBJECT_ERROR_BARS_X;
- else if ( aObjectType == OBJECTTYPE_DATA_ERRORS_Y ||
- aObjectType == OBJECTTYPE_DATA_ERRORS )
+ else if ( aObjectType == OBJECTTYPE_DATA_ERRORS_Y )
nId = STR_OBJECT_ERROR_BARS_Y;
else
nId = STR_OBJECT_ERROR_BARS_Z;
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx
index 3cc3538..6fcfacc 100644
--- a/chart2/source/controller/main/ChartController_Window.cxx
+++ b/chart2/source/controller/main/ChartController_Window.cxx
@@ -206,7 +206,6 @@ OUString lcl_getFormatCommandForObjectCID( const OUString& rCID )
case OBJECTTYPE_DATA_ERRORS_X:
aDispatchCommand = C2U(".uno:FormatXErrorBars");
break;
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_Y:
aDispatchCommand = C2U(".uno:FormatYErrorBars");
break;
diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx
index 372fe31..2510981 100644
--- a/chart2/source/controller/main/ControllerCommandDispatch.cxx
+++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx
@@ -280,7 +280,7 @@ void ControllerState::update(
if( aObjectType == OBJECTTYPE_DATA_ERRORS_X)
bMayFormatXErrorBars = true;
- if( aObjectType == OBJECTTYPE_DATA_ERRORS_Y || aObjectType == OBJECTTYPE_DATA_ERRORS )
+ if( aObjectType == OBJECTTYPE_DATA_ERRORS_Y )
bMayFormatYErrorBars = true;
if( aObjectType == OBJECTTYPE_DATA_CURVE )
diff --git a/chart2/source/inc/ObjectIdentifier.hxx b/chart2/source/inc/ObjectIdentifier.hxx
index 0c71e23..d1cbf81 100644
--- a/chart2/source/inc/ObjectIdentifier.hxx
+++ b/chart2/source/inc/ObjectIdentifier.hxx
@@ -68,7 +68,6 @@ enum ObjectType
OBJECTTYPE_DATA_POINT,
OBJECTTYPE_DATA_LABELS,
OBJECTTYPE_DATA_LABEL,
- OBJECTTYPE_DATA_ERRORS,
OBJECTTYPE_DATA_ERRORS_X,
OBJECTTYPE_DATA_ERRORS_Y,
OBJECTTYPE_DATA_ERRORS_Z,
diff --git a/chart2/source/tools/ObjectIdentifier.cxx b/chart2/source/tools/ObjectIdentifier.cxx
index 5dcc2cf..b386b79 100644
--- a/chart2/source/tools/ObjectIdentifier.cxx
+++ b/chart2/source/tools/ObjectIdentifier.cxx
@@ -875,9 +875,6 @@ OUString ObjectIdentifier::getStringForType( ObjectType eObjectType )
case OBJECTTYPE_DATA_LABEL:
aRet=C2U("DataLabel");
break;
- case OBJECTTYPE_DATA_ERRORS:
- aRet=C2U("Errors");
- break;
case OBJECTTYPE_DATA_ERRORS_X:
aRet=C2U("ErrorsX");
break;
@@ -963,8 +960,6 @@ ObjectType ObjectIdentifier::getObjectType( const OUString& rCID )
eRet = OBJECTTYPE_DATA_ERRORS_Y;
else if( rCID.match(C2U("ErrorsZ"),nLastSign) )
eRet = OBJECTTYPE_DATA_ERRORS_Z;
- else if( rCID.match(C2U("Errors"),nLastSign) )
- eRet = OBJECTTYPE_DATA_ERRORS;
else if( rCID.match(C2U("Curve"),nLastSign) )
eRet = OBJECTTYPE_DATA_CURVE;
else if( rCID.match(C2U("Equation"),nLastSign) )
@@ -1233,7 +1228,6 @@ Reference< beans::XPropertySet > ObjectIdentifier::getObjectPropertySet(
}
break;
}
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
case OBJECTTYPE_DATA_ERRORS_Y:
case OBJECTTYPE_DATA_ERRORS_Z:
@@ -1250,7 +1244,7 @@ Reference< beans::XPropertySet > ObjectIdentifier::getObjectPropertySet(
if ( eObjectType == OBJECTTYPE_DATA_ERRORS_X)
errorBar = C2U("ErrorBarX");
- else if (eObjectType == OBJECTTYPE_DATA_ERRORS_Y || eObjectType == OBJECTTYPE_DATA_ERRORS)
+ else if (eObjectType == OBJECTTYPE_DATA_ERRORS_Y)
errorBar = C2U("ErrorBarY");
else
errorBar = C2U("ErrorBarZ");
diff --git a/chart2/source/tools/RangeHighlighter.cxx b/chart2/source/tools/RangeHighlighter.cxx
index 4876c4e..d403335 100644
--- a/chart2/source/tools/RangeHighlighter.cxx
+++ b/chart2/source/tools/RangeHighlighter.cxx
@@ -134,8 +134,7 @@ void RangeHighlighter::determineRanges()
fillRangesForDataPoint( xDataSeries, nIndex );
return;
}
- else if( OBJECTTYPE_DATA_ERRORS == eObjectType ||
- OBJECTTYPE_DATA_ERRORS_X == eObjectType ||
+ else if( OBJECTTYPE_DATA_ERRORS_X == eObjectType ||
OBJECTTYPE_DATA_ERRORS_Y == eObjectType ||
OBJECTTYPE_DATA_ERRORS_Z == eObjectType )
{
commit f412f4bcedf78e38a5e762c583f754ce71cee135
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 23:31:00 2012 +0000
Create separate shape groups for each errorbar type.
diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx b/chart2/source/view/charttypes/VSeriesPlotter.cxx
index ce4d714..57d0d08 100644
--- a/chart2/source/view/charttypes/VSeriesPlotter.cxx
+++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx
@@ -368,12 +368,15 @@ uno::Reference< drawing::XShapes > VSeriesPlotter::getErrorBarsGroupShape( VData
, const uno::Reference< drawing::XShapes >& xTarget
, bool bYError )
{
- uno::Reference< drawing::XShapes > xShapes( rDataSeries.m_xErrorBarsGroupShape );
+ uno::Reference< ::com::sun::star::drawing::XShapes > &rShapeGroup =
+ bYError ? rDataSeries.m_xErrorYBarsGroupShape : rDataSeries.m_xErrorXBarsGroupShape;
+
+ uno::Reference< drawing::XShapes > xShapes( rShapeGroup );
if(!xShapes.is())
{
//create a group shape for this series and add to logic target:
xShapes = this->createGroupShape( xTarget,rDataSeries.getErrorBarsCID(bYError) );
- rDataSeries.m_xErrorBarsGroupShape = xShapes;
+ rShapeGroup = xShapes;
}
return xShapes;
diff --git a/chart2/source/view/inc/VDataSeries.hxx b/chart2/source/view/inc/VDataSeries.hxx
index 8f8aeb0..64679cd 100644
--- a/chart2/source/view/inc/VDataSeries.hxx
+++ b/chart2/source/view/inc/VDataSeries.hxx
@@ -185,7 +185,8 @@ private: //methods
public: //member
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes > m_xGroupShape;
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes > m_xLabelsGroupShape;
- ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes > m_xErrorBarsGroupShape;
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes > m_xErrorXBarsGroupShape;
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes > m_xErrorYBarsGroupShape;
//the following group shapes will be created as children of m_xGroupShape on demand
//they can be used to assure that some parts of a series shape are always in front of others (e.g. symbols in front of lines)
diff --git a/chart2/source/view/main/VDataSeries.cxx b/chart2/source/view/main/VDataSeries.cxx
index de9e1d2..5cad9ca 100644
--- a/chart2/source/view/main/VDataSeries.cxx
+++ b/chart2/source/view/main/VDataSeries.cxx
@@ -158,7 +158,8 @@ VDataSeries::VDataSeries( const uno::Reference< XDataSeries >& xDataSeries )
, m_fLogicZPos(0.0)
, m_xGroupShape(NULL)
, m_xLabelsGroupShape(NULL)
- , m_xErrorBarsGroupShape(NULL)
+ , m_xErrorXBarsGroupShape(NULL)
+ , m_xErrorYBarsGroupShape(NULL)
, m_xFrontSubGroupShape(NULL)
, m_xBackSubGroupShape(NULL)
, m_xDataSeries(xDataSeries)
@@ -333,7 +334,8 @@ void VDataSeries::releaseShapes()
{
m_xGroupShape.set(0);
m_xLabelsGroupShape.set(0);
- m_xErrorBarsGroupShape.set(0);
+ m_xErrorXBarsGroupShape.set(0);
+ m_xErrorYBarsGroupShape.set(0);
m_xFrontSubGroupShape.set(0);
m_xBackSubGroupShape.set(0);
commit c57bb7b56be4eb9fc58c1de6652113d6ad15ba10
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 20:40:39 2012 +0000
Set correct objecttype for errorbar.
diff --git a/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx b/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
index b21fd14..820a5e3 100644
--- a/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
+++ b/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
@@ -67,7 +67,7 @@ InsertErrorBarsDialog::InsertErrorBarsDialog(
/* bNoneAvailable = */ true, eType ))
{
FreeResource();
- ObjectType objType = eType == ErrorBarResources::ERROR_BAR_Y ? OBJECTTYPE_DATA_ERRORS : OBJECTTYPE_DATA_ERRORS_X;
+ ObjectType objType = eType == ErrorBarResources::ERROR_BAR_Y ? OBJECTTYPE_DATA_ERRORS_Y : OBJECTTYPE_DATA_ERRORS_X;
this->SetText( ObjectNameProvider::getName_ObjectForAllSeries(objType) );
commit 92aedd1755a345957c9024436f652d336f463fbb
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 20:40:01 2012 +0000
Display Format menu entry when selecting an X errorbar.
diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx
index 0f314f4..372fe31 100644
--- a/chart2/source/controller/main/ControllerCommandDispatch.cxx
+++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx
@@ -277,6 +277,9 @@ void ControllerState::update(
if( aObjectType == OBJECTTYPE_DATA_AVERAGE_LINE )
bMayFormatMeanValue = true;
+ if( aObjectType == OBJECTTYPE_DATA_ERRORS_X)
+ bMayFormatXErrorBars = true;
+
if( aObjectType == OBJECTTYPE_DATA_ERRORS_Y || aObjectType == OBJECTTYPE_DATA_ERRORS )
bMayFormatYErrorBars = true;
commit 581978b90ccd68ce9aecd328b8f801b08837c0cf
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 17:15:10 2012 +0000
Get correct datasource when calculating errorbar length.
diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx b/chart2/source/view/charttypes/VSeriesPlotter.cxx
index e0a6f3c..ce4d714 100644
--- a/chart2/source/view/charttypes/VSeriesPlotter.cxx
+++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx
@@ -637,7 +637,8 @@ double lcl_getErrorBarLogicLength(
uno::Reference< beans::XPropertySet > xProp,
sal_Int32 nErrorBarStyle,
sal_Int32 nIndex,
- bool bPositive )
+ bool bPositive,
+ bool bYError )
{
double fResult;
::rtl::math::setNan( & fResult );
@@ -706,7 +707,7 @@ double lcl_getErrorBarLogicLength(
uno::Reference< chart2::data::XDataSource > xErrorBarData( xProp, uno::UNO_QUERY );
if( xErrorBarData.is())
fResult = StatisticsHelper::getErrorFromDataSource(
- xErrorBarData, nIndex, bPositive);
+ xErrorBarData, nIndex, bPositive, bYError);
}
break;
}
@@ -851,7 +852,7 @@ void VSeriesPlotter::createErrorBar(
if( bShowPositive )
{
- double fLength = lcl_getErrorBarLogicLength( aData, xErrorBarProperties, nErrorBarStyle, nIndex, true );
+ double fLength = lcl_getErrorBarLogicLength( aData, xErrorBarProperties, nErrorBarStyle, nIndex, true, bYError );
if( ::rtl::math::isFinite( fLength ) )
{
double fLocalX = fX;
@@ -874,7 +875,7 @@ void VSeriesPlotter::createErrorBar(
if( bShowNegative )
{
- double fLength = lcl_getErrorBarLogicLength( aData, xErrorBarProperties, nErrorBarStyle, nIndex, false );
+ double fLength = lcl_getErrorBarLogicLength( aData, xErrorBarProperties, nErrorBarStyle, nIndex, false, bYError );
if( ::rtl::math::isFinite( fLength ) )
{
double fLocalX = fX;
commit 6294d8f4dff5deaa4efbe2a88113a5262217092a
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 15:13:55 2012 +0000
Update DeleteYErrorbar function to handle X and Y bars.
diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx
index c7e7ead..2356669 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -1130,8 +1130,10 @@ bool lcl_isFormatObjectCommand( const rtl::OString& aCommand )
this->executeDispatch_InsertErrorBars(false);
else if( aCommand.equals("InsertYErrorBars"))
this->executeDispatch_InsertErrorBars(true);
+ else if( aCommand.equals("DeleteXErrorBars"))
+ this->executeDispatch_DeleteErrorBars(false);
else if( aCommand.equals("DeleteYErrorBars"))
- this->executeDispatch_DeleteYErrorBars();
+ this->executeDispatch_DeleteErrorBars(true);
else if( aCommand.equals("InsertTrendlineEquation"))
this->executeDispatch_InsertTrendlineEquation();
else if( aCommand.equals("DeleteTrendlineEquation"))
diff --git a/chart2/source/controller/main/ChartController.hxx b/chart2/source/controller/main/ChartController.hxx
index 4253e2d..b142f16 100644
--- a/chart2/source/controller/main/ChartController.hxx
+++ b/chart2/source/controller/main/ChartController.hxx
@@ -637,7 +637,7 @@ private:
void executeDispatch_DeleteMeanValue();
void executeDispatch_DeleteTrendline();
void executeDispatch_DeleteTrendlineEquation();
- void executeDispatch_DeleteYErrorBars();
+ void executeDispatch_DeleteErrorBars( bool bYError );
void executeDispatch_InsertDataLabels();
void executeDispatch_InsertDataLabel();
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index f9dc3d8..93a793f 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -676,7 +676,7 @@ void ChartController::executeDispatch_DeleteTrendlineEquation()
}
}
-void ChartController::executeDispatch_DeleteYErrorBars()
+void ChartController::executeDispatch_DeleteErrorBars( bool bYError )
{
uno::Reference< chart2::XDataSeries > xDataSeries(
ObjectIdentifier::getDataSeriesForCID( m_aSelection.getSelectedCID(), getModel() ));
@@ -686,7 +686,7 @@ void ChartController::executeDispatch_DeleteYErrorBars()
ActionDescriptionProvider::createDescription(
ActionDescriptionProvider::DELETE, String( SchResId( STR_OBJECT_CURVE ))),
m_xUndoManager );
- StatisticsHelper::removeErrorBars( xDataSeries );
+ StatisticsHelper::removeErrorBars( xDataSeries, bYError );
aUndoGuard.commit();
}
}
commit d2e77741cb8d31e3011893eea3639547204ff3a1
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 14:36:02 2012 +0000
Set errorbar type attribute when inserting or formating an errorbar.
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index c4efa90..f9dc3d8 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -502,6 +502,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError )
// open dialog
SfxItemSet aItemSet = aItemConverter.CreateEmptyItemSet();
+ aItemSet.Put(SfxBoolItem(SCHATTR_STAT_ERRORBAR_TYPE,bYError));
aItemConverter.FillItemSet( aItemSet );
ObjectPropertiesDialogParameter aDialogParameter = ObjectPropertiesDialogParameter(
ObjectIdentifier::createClassifiedIdentifierWithParent(
diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx
index bdbe465..a2a0d92 100644
--- a/chart2/source/controller/main/ChartController_Properties.cxx
+++ b/chart2/source/controller/main/ChartController_Properties.cxx
@@ -774,6 +774,10 @@ bool ChartController::executeDlg_ObjectProperties_withoutUndoGuard( const ::rtl:
return bRet;
SfxItemSet aItemSet = apItemConverter->CreateEmptyItemSet();
+
+ if ( eObjectType == OBJECTTYPE_DATA_ERRORS_X || eObjectType == OBJECTTYPE_DATA_ERRORS_Y )
+ aItemSet.Put(SfxBoolItem(SCHATTR_STAT_ERRORBAR_TYPE, eObjectType == OBJECTTYPE_DATA_ERRORS_Y ));
+
apItemConverter->FillItemSet( aItemSet );
//-------------------------------------------------------------
commit d02005d6484dc722c6a18b45ff646cb5b6c16553
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 14:32:05 2012 +0000
Return correct ItemConverter object for any errorbar type.
diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx
index 9bbc134..bdbe465 100644
--- a/chart2/source/controller/main/ChartController_Properties.cxx
+++ b/chart2/source/controller/main/ChartController_Properties.cxx
@@ -256,6 +256,9 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
break;
case OBJECTTYPE_DATA_ERRORS:
+ case OBJECTTYPE_DATA_ERRORS_X:
+ case OBJECTTYPE_DATA_ERRORS_Y:
+ case OBJECTTYPE_DATA_ERRORS_Z:
pItemConverter = new wrapper::ErrorBarItemConverter(
xChartModel, xObjectProperties, rDrawModel.GetItemPool(),
rDrawModel, uno::Reference< lang::XMultiServiceFactory >( xChartModel, uno::UNO_QUERY ));
@@ -280,12 +283,6 @@ SAL_WNODEPRECATED_DECLARATIONS_PUSH
pRefSize );
break;
}
- case OBJECTTYPE_DATA_ERRORS_X:
- break;
- case OBJECTTYPE_DATA_ERRORS_Y:
- break;
- case OBJECTTYPE_DATA_ERRORS_Z:
- break;
case OBJECTTYPE_DATA_STOCK_RANGE:
break;
case OBJECTTYPE_DATA_STOCK_LOSS:
commit e9d44024e51036117fdd5ad71d7bf705d1d09d85
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 14:30:06 2012 +0000
Enable support to format chart errorbars.
diff --git a/chart2/source/controller/main/ChartController_Properties.cxx b/chart2/source/controller/main/ChartController_Properties.cxx
index 9d73b31..9bbc134 100644
--- a/chart2/source/controller/main/ChartController_Properties.cxx
+++ b/chart2/source/controller/main/ChartController_Properties.cxx
@@ -432,6 +432,15 @@ rtl::OUString lcl_getGridCIDForCommand( const ::rtl::OString& rDispatchCommand,
rtl::OUString aCID( ObjectIdentifier::createClassifiedIdentifierForGrid( xAxis, xChartModel, nSubGridIndex ) );
return aCID;
}
+
+rtl::OUString lcl_getErrorCIDForCommand( const ObjectType eDispatchType, const ObjectType &eSelectedType, const ::rtl::OUString &rSelectedCID)
+{
+ if( eSelectedType == eDispatchType )
+ return rSelectedCID;
+
+ return ObjectIdentifier::createClassifiedIdentifierWithParent( eDispatchType, ::rtl::OUString(), rSelectedCID );
+}
+
rtl::OUString lcl_getObjectCIDForCommand( const ::rtl::OString& rDispatchCommand, const uno::Reference< XChartDocument > & xChartDocument, const rtl::OUString& rSelectedCID )
{
ObjectType eObjectType = OBJECTTYPE_UNKNOWN;
@@ -591,13 +600,15 @@ rtl::OUString lcl_getObjectCIDForCommand( const ::rtl::OString& rDispatchCommand
}
//-------------------------------------------------------------------------
// y error bars
+ else if( rDispatchCommand.equals("FormatXErrorBars") )
+ {
+ return lcl_getErrorCIDForCommand(OBJECTTYPE_DATA_ERRORS_X, eSelectedType, rSelectedCID );
+ }
+ //-------------------------------------------------------------------------
+ // y error bars
else if( rDispatchCommand.equals("FormatYErrorBars") )
{
- if( eSelectedType == OBJECTTYPE_DATA_ERRORS )
- return rSelectedCID;
- else
- return ObjectIdentifier::createClassifiedIdentifierWithParent(
- OBJECTTYPE_DATA_ERRORS, ::rtl::OUString(), rSelectedCID );
+ return lcl_getErrorCIDForCommand(OBJECTTYPE_DATA_ERRORS_Y, eSelectedType, rSelectedCID );
}
//-------------------------------------------------------------------------
// axis
commit 44c00333920da77a8af0ffd483300cf88eee53bb
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 12:54:20 2012 +0000
Handle case XErrorbars in ErrorBarItemConverter::ApplySpecialItem.
diff --git a/chart2/source/controller/itemsetwrapper/ErrorBarItemConverter.cxx b/chart2/source/controller/itemsetwrapper/ErrorBarItemConverter.cxx
index 7108204..298e416 100644
--- a/chart2/source/controller/itemsetwrapper/ErrorBarItemConverter.cxx
+++ b/chart2/source/controller/itemsetwrapper/ErrorBarItemConverter.cxx
@@ -286,7 +286,9 @@ bool ErrorBarItemConverter::ApplySpecialItem(
case SCHATTR_STAT_RANGE_NEG:
{
// @todo: also be able to deal with x-error bars
- const bool bYError = true;
+ const bool bYError =
+ static_cast<const SfxBoolItem&>(rItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+
uno::Reference< chart2::data::XDataSource > xErrorBarSource( GetPropertySet(), uno::UNO_QUERY );
uno::Reference< chart2::XChartDocument > xChartDoc( m_xModel, uno::UNO_QUERY );
uno::Reference< chart2::data::XDataProvider > xDataProvider;
@@ -437,12 +439,15 @@ void ErrorBarItemConverter::FillSpecialItem(
case SCHATTR_STAT_RANGE_POS:
case SCHATTR_STAT_RANGE_NEG:
{
+ const bool bYError =
+ static_cast<const SfxBoolItem&>(rOutItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+
uno::Reference< chart2::data::XDataSource > xErrorBarSource( GetPropertySet(), uno::UNO_QUERY );
if( xErrorBarSource.is())
{
uno::Reference< chart2::data::XDataSequence > xSeq(
StatisticsHelper::getErrorDataSequenceFromDataSource(
- xErrorBarSource, (nWhichId == SCHATTR_STAT_RANGE_POS) /*, true */ /* y */ ));
+ xErrorBarSource, (nWhichId == SCHATTR_STAT_RANGE_POS), bYError ));
if( xSeq.is())
rOutItemSet.Put( SfxStringItem( nWhichId, String( xSeq->getSourceRangeRepresentation())));
}
commit bb1979b96bcd51c2a2d85508027b42942fceecd1
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 12:48:51 2012 +0000
Allow deleting any chart errorbar and set correct action description.
diff --git a/chart2/source/controller/main/ChartController_Tools.cxx b/chart2/source/controller/main/ChartController_Tools.cxx
index 9da159c..eb96489 100644
--- a/chart2/source/controller/main/ChartController_Tools.cxx
+++ b/chart2/source/controller/main/ChartController_Tools.cxx
@@ -553,17 +553,29 @@ bool ChartController::isObjectDeleteable( const uno::Any& rSelection )
{
OUString aSelObjCID( aSelOID.getObjectCID() );
ObjectType aObjectType(ObjectIdentifier::getObjectType( aSelObjCID ));
- if( (OBJECTTYPE_TITLE == aObjectType) || (OBJECTTYPE_LEGEND == aObjectType) )
- return true;
- if( (OBJECTTYPE_DATA_SERIES == aObjectType) || (OBJECTTYPE_LEGEND_ENTRY == aObjectType) )
- return true;
- if( (OBJECTTYPE_DATA_CURVE_EQUATION == aObjectType) || (OBJECTTYPE_DATA_CURVE == aObjectType) ||
- (OBJECTTYPE_DATA_AVERAGE_LINE == aObjectType) || (OBJECTTYPE_DATA_ERRORS == aObjectType))
- return true;
- if( (OBJECTTYPE_DATA_LABELS == aObjectType) || (OBJECTTYPE_DATA_LABEL == aObjectType) )
- return true;
- if( (OBJECTTYPE_AXIS == aObjectType) || (OBJECTTYPE_GRID == aObjectType) || (OBJECTTYPE_SUBGRID == aObjectType) )
+
+ switch(aObjectType)
+ {
+ case OBJECTTYPE_TITLE:
+ case OBJECTTYPE_LEGEND:
+ case OBJECTTYPE_DATA_SERIES:
+ case OBJECTTYPE_LEGEND_ENTRY:
+ case OBJECTTYPE_DATA_CURVE_EQUATION:
+ case OBJECTTYPE_DATA_CURVE:
+ case OBJECTTYPE_DATA_AVERAGE_LINE:
+ case OBJECTTYPE_DATA_ERRORS:
+ case OBJECTTYPE_DATA_ERRORS_X:
+ case OBJECTTYPE_DATA_ERRORS_Y:
+ case OBJECTTYPE_DATA_ERRORS_Z:
+ case OBJECTTYPE_DATA_LABELS:
+ case OBJECTTYPE_DATA_LABEL:
+ case OBJECTTYPE_AXIS:
+ case OBJECTTYPE_GRID:
+ case OBJECTTYPE_SUBGRID:
return true;
+ default:
+ break;
+ }
}
else if ( aSelOID.isAdditionalShape() )
{
@@ -714,16 +726,29 @@ bool ChartController::executeDispatch_Delete()
}
case OBJECTTYPE_DATA_ERRORS:
+ case OBJECTTYPE_DATA_ERRORS_X:
+ case OBJECTTYPE_DATA_ERRORS_Y:
+ case OBJECTTYPE_DATA_ERRORS_Z:
{
uno::Reference< beans::XPropertySet > xErrorBarProp(
ObjectIdentifier::getObjectPropertySet( aCID, getModel() ));
if( xErrorBarProp.is())
{
+ sal_Int16 nId;
+
+ if ( aObjectType == OBJECTTYPE_DATA_ERRORS_X )
+ nId = STR_OBJECT_ERROR_BARS_X;
+ else if ( aObjectType == OBJECTTYPE_DATA_ERRORS_Y ||
+ aObjectType == OBJECTTYPE_DATA_ERRORS )
+ nId = STR_OBJECT_ERROR_BARS_Y;
+ else
+ nId = STR_OBJECT_ERROR_BARS_Z;
+
uno::Reference< frame::XModel > xModel( getModel() );
// using assignment for broken gcc 3.3
UndoGuard aUndoGuard = UndoGuard(
ActionDescriptionProvider::createDescription(
- ActionDescriptionProvider::DELETE, String( SchResId( STR_OBJECT_ERROR_BARS_Y ))),
+ ActionDescriptionProvider::DELETE, String( SchResId( nId ))),
m_xUndoManager );
{
ControllerLockGuard aCtlLockGuard( xModel );
commit 2713c4bf0f8d4869c7c59ebc479d3140ec55b11a
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 10:34:44 2012 +0000
Determine ranges correctly for any type of chart errorbar object.
diff --git a/chart2/source/tools/RangeHighlighter.cxx b/chart2/source/tools/RangeHighlighter.cxx
index d923b51..4876c4e 100644
--- a/chart2/source/tools/RangeHighlighter.cxx
+++ b/chart2/source/tools/RangeHighlighter.cxx
@@ -134,7 +134,10 @@ void RangeHighlighter::determineRanges()
fillRangesForDataPoint( xDataSeries, nIndex );
return;
}
- else if( OBJECTTYPE_DATA_ERRORS == eObjectType )
+ else if( OBJECTTYPE_DATA_ERRORS == eObjectType ||
+ OBJECTTYPE_DATA_ERRORS_X == eObjectType ||
+ OBJECTTYPE_DATA_ERRORS_Y == eObjectType ||
+ OBJECTTYPE_DATA_ERRORS_Z == eObjectType )
{
// select error bar ranges, or data series, if the style is
// not set to FROM_DATA
commit 1e27c77338450b0199df7092804e61ea047732cb
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 10:30:27 2012 +0000
Add FormatXErrorBar, DeleteXErrorBar menu entries in chart.
-Update ModelState to reflect the changes.
diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx
index 018349a..c7e7ead 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -1017,6 +1017,7 @@ bool lcl_isFormatObjectCommand( const rtl::OString& aCommand )
|| aCommand.equals("FormatDataPoint")
|| aCommand.equals("FormatDataLabels")
|| aCommand.equals("FormatDataLabel")
+ || aCommand.equals("FormatXErrorBars")
|| aCommand.equals("FormatYErrorBars")
|| aCommand.equals("FormatMeanValue")
|| aCommand.equals("FormatTrendline")
@@ -1517,7 +1518,7 @@ void ChartController::impl_initializeAccessible( const uno::Reference< lang::XIn
( "InsertMenuYErrorBars" ) ( "InsertYErrorBars" )
( "InsertDataLabels" ) ( "InsertDataLabel" )
( "DeleteTrendline" ) ( "DeleteMeanValue" ) ( "DeleteTrendlineEquation" )
- ( "DeleteYErrorBars" )
+ ( "DeleteXErrorBars" ) ( "DeleteYErrorBars" )
( "DeleteDataLabels" ) ( "DeleteDataLabel" )
//format objects
( "FormatSelection" ) ( "TransformDialog" )
@@ -1543,7 +1544,7 @@ void ChartController::impl_initializeAccessible( const uno::Reference< lang::XIn
( "ResetAllDataPoints" ) ( "ResetDataPoint" )
( "FormatDataLabels" ) ( "FormatDataLabel" )
( "FormatMeanValue" ) ( "FormatTrendline" ) ( "FormatTrendlineEquation" )
- ( "FormatYErrorBars" )
+ ( "FormatXErrorBars" ) ( "FormatYErrorBars" )
( "FormatStockLoss" ) ( "FormatStockGain" )
( "FormatMajorGrid" ) ( "InsertMajorGrid" ) ( "DeleteMajorGrid" )
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx
index fbea9be..3cc3538 100644
--- a/chart2/source/controller/main/ChartController_Window.cxx
+++ b/chart2/source/controller/main/ChartController_Window.cxx
@@ -203,12 +203,16 @@ OUString lcl_getFormatCommandForObjectCID( const OUString& rCID )
case OBJECTTYPE_DATA_AVERAGE_LINE:
aDispatchCommand = C2U(".uno:FormatMeanValue");
break;
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
+ aDispatchCommand = C2U(".uno:FormatXErrorBars");
+ break;
+ case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_Y:
- case OBJECTTYPE_DATA_ERRORS_Z:
aDispatchCommand = C2U(".uno:FormatYErrorBars");
break;
+ case OBJECTTYPE_DATA_ERRORS_Z:
+ aDispatchCommand = C2U(".uno:FormatZErrorBars");
+ break;
case OBJECTTYPE_DATA_CURVE:
aDispatchCommand = C2U(".uno:FormatTrendline");
break;
@@ -1147,6 +1151,8 @@ void ChartController::execute_Command( const CommandEvent& rCEvt )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:FormatTrendlineEquation") );
if( xMeanValue.is() )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:FormatMeanValue") );
+ if( bHasXErrorBars )
+ lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:FormatXErrorBars") );
if( bHasYErrorBars )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:FormatYErrorBars") );
diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx
index c6dac76..0f314f4 100644
--- a/chart2/source/controller/main/ControllerCommandDispatch.cxx
+++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx
@@ -132,17 +132,20 @@ struct ControllerState
bool bMayAddTrendlineEquation;
bool bMayAddR2Value;
bool bMayAddMeanValue;
+ bool bMayAddXErrorBars;
bool bMayAddYErrorBars;
bool bMayDeleteTrendline;
bool bMayDeleteTrendlineEquation;
bool bMayDeleteR2Value;
bool bMayDeleteMeanValue;
+ bool bMayDeleteXErrorBars;
bool bMayDeleteYErrorBars;
bool bMayFormatTrendline;
bool bMayFormatTrendlineEquation;
bool bMayFormatMeanValue;
+ bool bMayFormatXErrorBars;
bool bMayFormatYErrorBars;
};
@@ -159,15 +162,18 @@ ControllerState::ControllerState() :
bMayAddTrendlineEquation( false ),
bMayAddR2Value( false ),
bMayAddMeanValue( false ),
+ bMayAddXErrorBars( false ),
bMayAddYErrorBars( false ),
bMayDeleteTrendline( false ),
bMayDeleteTrendlineEquation( false ),
bMayDeleteR2Value( false ),
bMayDeleteMeanValue( false ),
+ bMayDeleteXErrorBars( false ),
bMayDeleteYErrorBars( false ),
bMayFormatTrendline( false ),
bMayFormatTrendlineEquation( false ),
bMayFormatMeanValue( false ),
+ bMayFormatXErrorBars( false ),
bMayFormatYErrorBars( false )
{}
@@ -217,15 +223,18 @@ void ControllerState::update(
bMayAddTrendlineEquation = false;
bMayAddR2Value = false;
bMayAddMeanValue = false;
+ bMayAddXErrorBars = false;
bMayAddYErrorBars = false;
bMayDeleteTrendline = false;
bMayDeleteTrendlineEquation = false;
bMayDeleteR2Value = false;
bMayDeleteMeanValue = false;
+ bMayDeleteXErrorBars = false;
bMayDeleteYErrorBars = false;
bMayFormatTrendline = false;
bMayFormatTrendlineEquation = false;
bMayFormatMeanValue = false;
+ bMayFormatXErrorBars = false;
bMayFormatYErrorBars = false;
if( bHasSelectedObject )
{
@@ -257,7 +266,10 @@ void ControllerState::update(
if( (OBJECTTYPE_DATA_SERIES == aObjectType || OBJECTTYPE_DATA_POINT == aObjectType)
&& ChartTypeHelper::isSupportingStatisticProperties( xFirstChartType, nDimensionCount ))
{
- bMayFormatYErrorBars = bMayDeleteYErrorBars = StatisticsHelper::hasErrorBars( xGivenDataSeries );
+ bMayFormatXErrorBars = bMayDeleteXErrorBars = StatisticsHelper::hasErrorBars( xGivenDataSeries, false );
+ bMayAddXErrorBars = ! bMayDeleteXErrorBars;
+
+ bMayFormatYErrorBars = bMayDeleteYErrorBars = StatisticsHelper::hasErrorBars( xGivenDataSeries, true );
bMayAddYErrorBars = ! bMayDeleteYErrorBars;
}
}
@@ -573,6 +585,7 @@ void ControllerCommandDispatch::updateCommandAvailability()
m_aCommandAvailability[ C2U(".uno:InsertMenuGrids")] = bIsWritable && m_apModelState->bSupportsAxes;
m_aCommandAvailability[ C2U(".uno:InsertMenuTrendlines")] = bIsWritable && m_apModelState->bSupportsStatistics;
m_aCommandAvailability[ C2U(".uno:InsertMenuMeanValues")] = bIsWritable && m_apModelState->bSupportsStatistics;
+ m_aCommandAvailability[ C2U(".uno:InsertMenuXErrorBars")] = bIsWritable && m_apModelState->bSupportsStatistics;
m_aCommandAvailability[ C2U(".uno:InsertMenuYErrorBars")] = bIsWritable && m_apModelState->bSupportsStatistics;
m_aCommandAvailability[ C2U(".uno:InsertSymbol")] = bIsWritable && m_apControllerState->bIsTextObject;
@@ -585,6 +598,7 @@ void ControllerCommandDispatch::updateCommandAvailability()
m_aCommandAvailability[ C2U(".uno:FormatDataPoint")] = bFormatObjectAvailable;
m_aCommandAvailability[ C2U(".uno:FormatDataLabels")] = bFormatObjectAvailable;
m_aCommandAvailability[ C2U(".uno:FormatDataLabel")] = bFormatObjectAvailable;
+ m_aCommandAvailability[ C2U(".uno:FormatXErrorBars")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayFormatXErrorBars;
m_aCommandAvailability[ C2U(".uno:FormatYErrorBars")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayFormatYErrorBars;
m_aCommandAvailability[ C2U(".uno:FormatMeanValue")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayFormatMeanValue;
m_aCommandAvailability[ C2U(".uno:FormatTrendline")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayFormatTrendline;
@@ -660,6 +674,7 @@ void ControllerCommandDispatch::updateCommandAvailability()
m_aCommandAvailability[ C2U(".uno:InsertR2Value")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayAddR2Value;
m_aCommandAvailability[ C2U(".uno:DeleteR2Value")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayDeleteR2Value;
+ m_aCommandAvailability[ C2U(".uno:InsertXErrorBars")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayAddXErrorBars;
m_aCommandAvailability[ C2U(".uno:InsertYErrorBars")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayAddYErrorBars;
m_aCommandAvailability[ C2U(".uno:DeleteDataLabels")] = bIsWritable;
@@ -667,6 +682,7 @@ void ControllerCommandDispatch::updateCommandAvailability()
m_aCommandAvailability[ C2U(".uno:DeleteTrendline") ] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayDeleteTrendline;
m_aCommandAvailability[ C2U(".uno:DeleteTrendlineEquation") ] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayDeleteTrendlineEquation;
m_aCommandAvailability[ C2U(".uno:DeleteMeanValue") ] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayDeleteMeanValue;
+ m_aCommandAvailability[ C2U(".uno:DeleteXErrorBars")] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayDeleteXErrorBars;
m_aCommandAvailability[ C2U(".uno:DeleteYErrorBars") ] = bIsWritable && bControllerStateIsValid && m_apControllerState->bMayDeleteYErrorBars;
m_aCommandAvailability[ C2U(".uno:ResetDataPoint") ] = bIsWritable;
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu
index 877a219..9419ebd 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu
@@ -444,6 +444,16 @@
<value xml:lang="en-US">Insert X Error ~Bars...</value>
</prop>
</node>
+ <node oor:name=".uno:DeleteXErrorBars" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Delete X Error ~Bars</value>
+ </prop>
+ </node>
+ <node oor:name=".uno:FormatXErrorBars" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Format X Error Bars...</value>
+ </prop>
+ </node>
<node oor:name=".uno:InsertYErrorBars" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Insert Y Error ~Bars...</value>
commit 31eaf957dac072ebe65cf59816d032585f440dbf
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sat Mar 17 09:44:52 2012 +0000
Display XErrorBars in object hierarchy.
diff --git a/chart2/source/controller/main/ObjectHierarchy.cxx b/chart2/source/controller/main/ObjectHierarchy.cxx
index 14158ba..f0f0dba 100644
--- a/chart2/source/controller/main/ObjectHierarchy.cxx
+++ b/chart2/source/controller/main/ObjectHierarchy.cxx
@@ -488,7 +488,21 @@ void ImplObjectHierarchy::createDataSeriesTree(
{
aSeriesSubContainer.push_back(
ObjectIdentifier( ObjectIdentifier::createClassifiedIdentifierWithParent(
- OBJECTTYPE_DATA_ERRORS, OUString(), aSeriesParticle ) ) );
+ OBJECTTYPE_DATA_ERRORS_Y, OUString(), aSeriesParticle ) ) );
+ }
+ }
+
+ if( xSeriesProp.is() &&
+ (xSeriesProp->getPropertyValue( C2U("ErrorBarX")) >>= xErrorBarProp) &&
+ xErrorBarProp.is())
+ {
+ sal_Int32 nStyle = ::com::sun::star::chart::ErrorBarStyle::NONE;
+ if( ( xErrorBarProp->getPropertyValue( C2U("ErrorBarStyle")) >>= nStyle ) &&
+ ( nStyle != ::com::sun::star::chart::ErrorBarStyle::NONE ) )
+ {
+ aSeriesSubContainer.push_back(
+ ObjectIdentifier( ObjectIdentifier::createClassifiedIdentifierWithParent(
+ OBJECTTYPE_DATA_ERRORS_X, OUString(), aSeriesParticle ) ) );
}
}
}
commit b9b5496636285c2f920f1a0b6f6fe7ced30a5caf
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Fri Mar 16 19:29:07 2012 +0000
Return the correct errorbar property set.
Select the errorbar propertyset according to the errorbar direction
instead of only using Y errorbar propertyset in ObjectIdentifier::getObjectPropertySet
function.
diff --git a/chart2/source/tools/ObjectIdentifier.cxx b/chart2/source/tools/ObjectIdentifier.cxx
index 7b3b231..5dcc2cf 100644
--- a/chart2/source/tools/ObjectIdentifier.cxx
+++ b/chart2/source/tools/ObjectIdentifier.cxx
@@ -1234,6 +1234,9 @@ Reference< beans::XPropertySet > ObjectIdentifier::getObjectPropertySet(
break;
}
case OBJECTTYPE_DATA_ERRORS:
+ case OBJECTTYPE_DATA_ERRORS_X:
+ case OBJECTTYPE_DATA_ERRORS_Y:
+ case OBJECTTYPE_DATA_ERRORS_Z:
{
Reference< XDataSeries > xSeries( ObjectIdentifier::getDataSeriesForCID(
rObjectCID, xChartModel ) );
@@ -1243,18 +1246,21 @@ Reference< beans::XPropertySet > ObjectIdentifier::getObjectPropertySet(
Reference< beans::XPropertySet > xErrorBarProp;
if( xSeriesProp.is() )
{
- xSeriesProp->getPropertyValue( C2U( "ErrorBarY" )) >>= xErrorBarProp;
+ OUString errorBar;
+
+ if ( eObjectType == OBJECTTYPE_DATA_ERRORS_X)
+ errorBar = C2U("ErrorBarX");
+ else if (eObjectType == OBJECTTYPE_DATA_ERRORS_Y || eObjectType == OBJECTTYPE_DATA_ERRORS)
+ errorBar = C2U("ErrorBarY");
+ else
+ errorBar = C2U("ErrorBarZ");
+
+ xSeriesProp->getPropertyValue( errorBar ) >>= xErrorBarProp;
xObjectProperties = Reference< beans::XPropertySet >( xErrorBarProp, uno::UNO_QUERY );
}
}
break;
}
- case OBJECTTYPE_DATA_ERRORS_X:
- break;
- case OBJECTTYPE_DATA_ERRORS_Y:
- break;
- case OBJECTTYPE_DATA_ERRORS_Z:
- break;
case OBJECTTYPE_DATA_AVERAGE_LINE:
case OBJECTTYPE_DATA_CURVE:
case OBJECTTYPE_DATA_CURVE_EQUATION:
commit 97b7e088d249a2a312d4f0d6354de2ccd44c2483
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Fri Mar 16 18:42:36 2012 +0000
Get correct errorbar CID depending on the direction.
diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx b/chart2/source/view/charttypes/VSeriesPlotter.cxx
index 64216c6..e0a6f3c 100644
--- a/chart2/source/view/charttypes/VSeriesPlotter.cxx
+++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx
@@ -365,13 +365,14 @@ uno::Reference< drawing::XShapes > VSeriesPlotter::getLabelsGroupShape( VDataSer
}
uno::Reference< drawing::XShapes > VSeriesPlotter::getErrorBarsGroupShape( VDataSeries& rDataSeries
- , const uno::Reference< drawing::XShapes >& xTarget )
+ , const uno::Reference< drawing::XShapes >& xTarget
+ , bool bYError )
{
uno::Reference< drawing::XShapes > xShapes( rDataSeries.m_xErrorBarsGroupShape );
if(!xShapes.is())
{
//create a group shape for this series and add to logic target:
- xShapes = this->createGroupShape( xTarget,rDataSeries.getErrorBarsCID() );
+ xShapes = this->createGroupShape( xTarget,rDataSeries.getErrorBarsCID(bYError) );
rDataSeries.m_xErrorBarsGroupShape = xShapes;
}
return xShapes;
@@ -941,7 +942,7 @@ void VSeriesPlotter::createErrorBar_X( const drawing::Position3D& rUnscaledLogic
if( xErrorBarProp.is())
{
uno::Reference< drawing::XShapes > xErrorBarsGroup_Shapes(
- this->getErrorBarsGroupShape(rVDataSeries, xTarget) );
+ this->getErrorBarsGroupShape(rVDataSeries, xTarget, false) );
createErrorBar( xErrorBarsGroup_Shapes
, rUnscaledLogicPosition, xErrorBarProp
@@ -963,7 +964,7 @@ void VSeriesPlotter::createErrorBar_Y( const drawing::Position3D& rUnscaledLogic
if( xErrorBarProp.is())
{
uno::Reference< drawing::XShapes > xErrorBarsGroup_Shapes(
- this->getErrorBarsGroupShape(rVDataSeries, xTarget) );
+ this->getErrorBarsGroupShape(rVDataSeries, xTarget, true) );
createErrorBar( xErrorBarsGroup_Shapes
, rUnscaledLogicPosition, xErrorBarProp
diff --git a/chart2/source/view/inc/VDataSeries.hxx b/chart2/source/view/inc/VDataSeries.hxx
index 2d808c8..8f8aeb0 100644
--- a/chart2/source/view/inc/VDataSeries.hxx
+++ b/chart2/source/view/inc/VDataSeries.hxx
@@ -158,7 +158,7 @@ public:
rtl::OUString getCID() const;
rtl::OUString getSeriesParticle() const;
rtl::OUString getPointCID_Stub() const;
- rtl::OUString getErrorBarsCID() const;
+ rtl::OUString getErrorBarsCID( bool bYError ) const;
rtl::OUString getLabelsCID() const;
rtl::OUString getLabelCID_Stub() const;
rtl::OUString getDataCurveCID( sal_Int32 nCurveIndex, bool bAverageLine ) const;
diff --git a/chart2/source/view/inc/VSeriesPlotter.hxx b/chart2/source/view/inc/VSeriesPlotter.hxx
index b393225..e82defa 100644
--- a/chart2/source/view/inc/VSeriesPlotter.hxx
+++ b/chart2/source/view/inc/VSeriesPlotter.hxx
@@ -331,7 +331,7 @@ protected: //methods
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShapes >
getErrorBarsGroupShape( VDataSeries& rDataSeries
, const::com::sun::star:: uno::Reference<
- ::com::sun::star::drawing::XShapes >& xTarget );
+ ::com::sun::star::drawing::XShapes >& xTarget, bool bYError );
::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape >
createDataLabel( const ::com::sun::star::uno::Reference<
diff --git a/chart2/source/view/main/VDataSeries.cxx b/chart2/source/view/main/VDataSeries.cxx
index 259d2fd..de9e1d2 100644
--- a/chart2/source/view/main/VDataSeries.cxx
+++ b/chart2/source/view/main/VDataSeries.cxx
@@ -393,9 +393,10 @@ rtl::OUString VDataSeries::getPointCID_Stub() const
{
return m_aPointCID_Stub;
}
-rtl::OUString VDataSeries::getErrorBarsCID() const
+rtl::OUString VDataSeries::getErrorBarsCID(bool bYError) const
{
- rtl::OUString aChildParticle( ObjectIdentifier::getStringForType( OBJECTTYPE_DATA_ERRORS ) );
+ rtl::OUString aChildParticle( ObjectIdentifier::getStringForType(
+ bYError ? OBJECTTYPE_DATA_ERRORS_Y : OBJECTTYPE_DATA_ERRORS_X ) );
aChildParticle+=(C2U("="));
return ObjectIdentifier::createClassifiedIdentifierForParticles(
commit 7eee4ece6822b99a90738bd4616023795294916d
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Fri Mar 16 18:36:56 2012 +0000
Enable statistics if chart has any type of errorbars.
diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index ee478ac..cd6b1f0 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -160,7 +160,10 @@ void ObjectPropertiesDialogParameter::init( const uno::Reference< frame::XModel
}
}
- if( OBJECTTYPE_DATA_ERRORS == m_eObjectType )
+ if( OBJECTTYPE_DATA_ERRORS == m_eObjectType ||
+ m_eObjectType == OBJECTTYPE_DATA_ERRORS_X ||
+ m_eObjectType == OBJECTTYPE_DATA_ERRORS_Y ||
+ m_eObjectType == OBJECTTYPE_DATA_ERRORS_Z)
m_bHasStatisticProperties = true;
if( OBJECTTYPE_AXIS == m_eObjectType )
commit 34cadd6397c6d1767bba431450976d4f4f0b100c
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Fri Mar 16 17:17:58 2012 +0000
Specialize STR_OBJECT_ERROR_BARS for each errobar type.
diff --git a/chart2/source/controller/dialogs/ObjectNameProvider.cxx b/chart2/source/controller/dialogs/ObjectNameProvider.cxx
index cc9e6f6..8ede4c9 100644
--- a/chart2/source/controller/dialogs/ObjectNameProvider.cxx
+++ b/chart2/source/controller/dialogs/ObjectNameProvider.cxx
@@ -284,16 +284,16 @@ rtl::OUString ObjectNameProvider::getName( ObjectType eObjectType, bool bPlural
aRet=String(SchResId(STR_OBJECT_LABEL));
break;
case OBJECTTYPE_DATA_ERRORS:
- aRet=String(SchResId(STR_OBJECT_ERROR_BARS));//@todo? maybe distinguish plural singular
+ aRet=String(SchResId(STR_OBJECT_ERROR_BARS_Y));
break;
case OBJECTTYPE_DATA_ERRORS_X:
- aRet=String(SchResId(STR_OBJECT_ERROR_BARS));//@todo? maybe specialize in future
+ aRet=String(SchResId(STR_OBJECT_ERROR_BARS_X));
break;
case OBJECTTYPE_DATA_ERRORS_Y:
- aRet=String(SchResId(STR_OBJECT_ERROR_BARS));//@todo? maybe specialize in future
+ aRet=String(SchResId(STR_OBJECT_ERROR_BARS_Y));
break;
case OBJECTTYPE_DATA_ERRORS_Z:
- aRet=String(SchResId(STR_OBJECT_ERROR_BARS));//@todo? maybe specialize in future
+ aRet=String(SchResId(STR_OBJECT_ERROR_BARS_Z));
break;
case OBJECTTYPE_DATA_AVERAGE_LINE:
aRet=String(SchResId(STR_OBJECT_AVERAGE_LINE));
diff --git a/chart2/source/controller/dialogs/Strings.src b/chart2/source/controller/dialogs/Strings.src
index 5a3a500..067c106 100644
--- a/chart2/source/controller/dialogs/Strings.src
+++ b/chart2/source/controller/dialogs/Strings.src
@@ -331,9 +331,19 @@ String STR_OBJECT_CURVE_EQUATION
Text[ en-US ] = "Equation";
};
-String STR_OBJECT_ERROR_BARS
+String STR_OBJECT_ERROR_BARS_X
{
- Text [ en-US ] = "Error Bars";
+ Text [ en-US ] = "X Error Bars";
+};
+
+String STR_OBJECT_ERROR_BARS_Y
+{
+ Text [ en-US ] = "Y Error Bars";
+};
+
+String STR_OBJECT_ERROR_BARS_Z
+{
+ Text [ en-US ] = "Z Error Bars";
};
String STR_OBJECT_STOCK_LOSS
{
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index 9fc38dd..c4efa90 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -484,7 +484,8 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError )
{
UndoLiveUpdateGuard aUndoGuard(
ActionDescriptionProvider::createDescription(
- ActionDescriptionProvider::INSERT, String( SchResId( STR_OBJECT_ERROR_BARS ))),
+ ActionDescriptionProvider::INSERT,
+ String( SchResId( bYError ? STR_OBJECT_ERROR_BARS_Y : STR_OBJECT_ERROR_BARS_X ))),
m_xUndoManager );
// add error bars with standard deviation
diff --git a/chart2/source/controller/main/ChartController_Tools.cxx b/chart2/source/controller/main/ChartController_Tools.cxx
index e1a2279..9da159c 100644
--- a/chart2/source/controller/main/ChartController_Tools.cxx
+++ b/chart2/source/controller/main/ChartController_Tools.cxx
@@ -723,7 +723,7 @@ bool ChartController::executeDispatch_Delete()
// using assignment for broken gcc 3.3
UndoGuard aUndoGuard = UndoGuard(
ActionDescriptionProvider::createDescription(
- ActionDescriptionProvider::DELETE, String( SchResId( STR_OBJECT_ERROR_BARS ))),
+ ActionDescriptionProvider::DELETE, String( SchResId( STR_OBJECT_ERROR_BARS_Y ))),
m_xUndoManager );
{
ControllerLockGuard aCtlLockGuard( xModel );
diff --git a/chart2/source/inc/Strings.hrc b/chart2/source/inc/Strings.hrc
index e1af6d6..82f6937 100644
--- a/chart2/source/inc/Strings.hrc
+++ b/chart2/source/inc/Strings.hrc
@@ -30,7 +30,7 @@
// this includes no link dependency
#include <svl/solar.hrc>
-//next free is 295
+//next free is 297
//single free: 139
//-----------------------------------------------------------------------------
@@ -179,7 +179,9 @@
#define STR_OBJECT_FOR_ALL_SERIES (RID_APP_START + 289)
#define STR_OBJECT_AVERAGE_LINE (RID_APP_START + 174)
-#define STR_OBJECT_ERROR_BARS (RID_APP_START + 175)
+#define STR_OBJECT_ERROR_BARS_X (RID_APP_START + 175)
+#define STR_OBJECT_ERROR_BARS_Y (RID_APP_START + 295)
+#define STR_OBJECT_ERROR_BARS_Z (RID_APP_START + 296)
#define STR_OBJECT_CURVE (RID_APP_START + 176)
#define STR_OBJECT_CURVES (RID_APP_START + 130)
commit 701efd06e852c7fa956205cf59154a39621b31a4
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Thu Mar 15 22:20:03 2012 +0000
Add chart errorbar type property.
- Make StatisticsItemConverter work with X and Y errorbars.
- Fill errorbar type property in ErrorBarResources.
- Set default value of errorbar type property to Y bar.
diff --git a/chart2/source/controller/dialogs/res_ErrorBar.cxx b/chart2/source/controller/dialogs/res_ErrorBar.cxx
index 49359d4..823e9ad 100644
--- a/chart2/source/controller/dialogs/res_ErrorBar.cxx
+++ b/chart2/source/controller/dialogs/res_ErrorBar.cxx
@@ -684,6 +684,8 @@ sal_Bool ErrorBarResources::FillItemSet(SfxItemSet& rOutAttrs) const
}
}
+ rOutAttrs.Put( SfxBoolItem( SCHATTR_STAT_ERRORBAR_TYPE , m_eErrorBarType == ERROR_BAR_Y ));
+
return sal_True;
}
diff --git a/chart2/source/controller/itemsetwrapper/StatisticsItemConverter.cxx b/chart2/source/controller/itemsetwrapper/StatisticsItemConverter.cxx
index a15fdda..d3df3e6 100644
--- a/chart2/source/controller/itemsetwrapper/StatisticsItemConverter.cxx
+++ b/chart2/source/controller/itemsetwrapper/StatisticsItemConverter.cxx
@@ -58,15 +58,15 @@ using namespace ::com::sun::star;
namespace
{
-uno::Reference< beans::XPropertySet > lcl_GetYErrorBar(
- const uno::Reference< beans::XPropertySet > & xProp )
+uno::Reference< beans::XPropertySet > lcl_GetErrorBar(
+ const uno::Reference< beans::XPropertySet > & xProp, bool bYError )
{
uno::Reference< beans::XPropertySet > xResult;
if( xProp.is())
try
{
- ( xProp->getPropertyValue( C2U( "ErrorBarY" )) >>= xResult );
+ ( xProp->getPropertyValue( bYError ? C2U( "ErrorBarY" ) : C2U("ErrorBarX") ) >>= xResult );
}
catch( const uno::Exception & ex )
{
@@ -250,8 +250,11 @@ bool StatisticsItemConverter::ApplySpecialItem(
// SCHATTR_STAT_CONSTMINUS and SCHATTR_STAT_INDICATE
case SCHATTR_STAT_KIND_ERROR:
{
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+
uno::Reference< beans::XPropertySet > xErrorBarProp(
- lcl_GetYErrorBar( GetPropertySet() ));
+ lcl_GetErrorBar( GetPropertySet(), bYError ));
SvxChartKindError eErrorKind =
static_cast< const SvxChartKindErrorItem & >(
@@ -288,8 +291,8 @@ bool StatisticsItemConverter::ApplySpecialItem(
if( !xErrorBarProp.is() )
{
xErrorBarProp = lcl_GetDefaultErrorBar();
- GetPropertySet()->setPropertyValue(
- C2U( "ErrorBarY" ), uno::makeAny( xErrorBarProp ));
+ GetPropertySet()->setPropertyValue( bYError ? C2U( "ErrorBarY" ) : C2U("ErrorBarX"),
+ uno::makeAny( xErrorBarProp ));
}
xErrorBarProp->setPropertyValue( C2U( "ErrorBarStyle" ),
@@ -303,8 +306,11 @@ bool StatisticsItemConverter::ApplySpecialItem(
case SCHATTR_STAT_BIGERROR:
{
OSL_FAIL( "Deprectaed item" );
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+
uno::Reference< beans::XPropertySet > xErrorBarProp(
- lcl_GetYErrorBar( GetPropertySet()));
+ lcl_GetErrorBar( GetPropertySet(), bYError));
bool bOldHasErrorBar = xErrorBarProp.is();
double fValue =
@@ -328,8 +334,11 @@ bool StatisticsItemConverter::ApplySpecialItem(
case SCHATTR_STAT_CONSTPLUS:
{
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+
uno::Reference< beans::XPropertySet > xErrorBarProp(
- lcl_GetYErrorBar( GetPropertySet()));
+ lcl_GetErrorBar( GetPropertySet(),bYError));
bool bOldHasErrorBar = xErrorBarProp.is();
double fValue =
@@ -349,8 +358,10 @@ bool StatisticsItemConverter::ApplySpecialItem(
case SCHATTR_STAT_CONSTMINUS:
{
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
uno::Reference< beans::XPropertySet > xErrorBarProp(
- lcl_GetYErrorBar( GetPropertySet()));
+ lcl_GetErrorBar( GetPropertySet(),bYError));
bool bOldHasErrorBar = xErrorBarProp.is();
double fValue =
@@ -436,8 +447,10 @@ bool StatisticsItemConverter::ApplySpecialItem(
case SCHATTR_STAT_INDICATE:
{
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
uno::Reference< beans::XPropertySet > xErrorBarProp(
- lcl_GetYErrorBar( GetPropertySet()));
+ lcl_GetErrorBar( GetPropertySet(),bYError));
bool bOldHasErrorBar = xErrorBarProp.is();
SvxChartIndicate eIndicate =
@@ -464,9 +477,10 @@ bool StatisticsItemConverter::ApplySpecialItem(
case SCHATTR_STAT_RANGE_POS:
case SCHATTR_STAT_RANGE_NEG:
{
- // @todo: also be able to deal with x-error bars
- const bool bYError = true;
- uno::Reference< chart2::data::XDataSource > xErrorBarSource( lcl_GetYErrorBar( GetPropertySet()), uno::UNO_QUERY );
+ const bool bYError =
+ static_cast<const SfxBoolItem&>(rItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+ uno::Reference< chart2::data::XDataSource > xErrorBarSource( lcl_GetErrorBar( GetPropertySet(), bYError),
+ uno::UNO_QUERY );
uno::Reference< chart2::XChartDocument > xChartDoc( m_xModel, uno::UNO_QUERY );
uno::Reference< chart2::data::XDataProvider > xDataProvider;
@@ -535,9 +549,11 @@ void StatisticsItemConverter::FillSpecialItem(
case SCHATTR_STAT_KIND_ERROR:
{
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rOutItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
SvxChartKindError eErrorKind = CHERROR_NONE;
uno::Reference< beans::XPropertySet > xErrorBarProp(
- lcl_GetYErrorBar( GetPropertySet()));
+ lcl_GetErrorBar( GetPropertySet(), bYError));
if( xErrorBarProp.is() )
{
sal_Int32 nStyle = 0;
@@ -570,7 +586,9 @@ void StatisticsItemConverter::FillSpecialItem(
case SCHATTR_STAT_PERCENT:
{
- uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetYErrorBar( GetPropertySet()));
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rOutItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+ uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetErrorBar( GetPropertySet(),bYError));
if( xErrorBarProp.is())
{
double fPos, fNeg;
@@ -582,7 +600,9 @@ void StatisticsItemConverter::FillSpecialItem(
case SCHATTR_STAT_BIGERROR:
{
- uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetYErrorBar( GetPropertySet()));
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rOutItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+ uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetErrorBar( GetPropertySet(),bYError));
if( xErrorBarProp.is())
{
double fPos, fNeg;
@@ -594,7 +614,9 @@ void StatisticsItemConverter::FillSpecialItem(
case SCHATTR_STAT_CONSTPLUS:
{
- uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetYErrorBar( GetPropertySet()));
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rOutItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+ uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetErrorBar( GetPropertySet(),bYError));
if( xErrorBarProp.is())
{
double fPos, fNeg;
@@ -606,7 +628,9 @@ void StatisticsItemConverter::FillSpecialItem(
case SCHATTR_STAT_CONSTMINUS:
{
- uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetYErrorBar( GetPropertySet()));
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rOutItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+ uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetErrorBar( GetPropertySet(),bYError));
if( xErrorBarProp.is())
{
double fPos, fNeg;
@@ -649,7 +673,9 @@ void StatisticsItemConverter::FillSpecialItem(
case SCHATTR_STAT_INDICATE:
{
- uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetYErrorBar( GetPropertySet()));
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rOutItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+ uno::Reference< beans::XPropertySet > xErrorBarProp( lcl_GetErrorBar( GetPropertySet(),bYError));
SvxChartIndicate eIndicate = CHINDICATE_BOTH;
if( xErrorBarProp.is())
{
@@ -678,12 +704,15 @@ void StatisticsItemConverter::FillSpecialItem(
case SCHATTR_STAT_RANGE_POS:
case SCHATTR_STAT_RANGE_NEG:
{
- uno::Reference< chart2::data::XDataSource > xErrorBarSource( lcl_GetYErrorBar( GetPropertySet()), uno::UNO_QUERY );
+ bool bYError =
+ static_cast<const SfxBoolItem&>(rOutItemSet.Get(SCHATTR_STAT_ERRORBAR_TYPE)).GetValue();
+ uno::Reference< chart2::data::XDataSource > xErrorBarSource( lcl_GetErrorBar( GetPropertySet(),bYError),
+ uno::UNO_QUERY );
if( xErrorBarSource.is())
{
uno::Reference< chart2::data::XDataSequence > xSeq(
StatisticsHelper::getErrorDataSequenceFromDataSource(
- xErrorBarSource, (nWhichId == SCHATTR_STAT_RANGE_POS) /*, true */ /* y */ ));
+ xErrorBarSource, (nWhichId == SCHATTR_STAT_RANGE_POS), bYError ));
if( xSeq.is())
rOutItemSet.Put( SfxStringItem( nWhichId, String( xSeq->getSourceRangeRepresentation())));
}
diff --git a/chart2/source/inc/chartview/ChartSfxItemIds.hxx b/chart2/source/inc/chartview/ChartSfxItemIds.hxx
index 48b638e..61251fe 100644
--- a/chart2/source/inc/chartview/ChartSfxItemIds.hxx
+++ b/chart2/source/inc/chartview/ChartSfxItemIds.hxx
@@ -71,7 +71,8 @@
#define SCHATTR_STAT_INDICATE (SCHATTR_STAT_START + 6)
#define SCHATTR_STAT_RANGE_POS (SCHATTR_STAT_START + 7)
#define SCHATTR_STAT_RANGE_NEG (SCHATTR_STAT_START + 8)
-#define SCHATTR_STAT_END SCHATTR_STAT_RANGE_NEG
+#define SCHATTR_STAT_ERRORBAR_TYPE (SCHATTR_STAT_START + 9)
+#define SCHATTR_STAT_END SCHATTR_STAT_ERRORBAR_TYPE
// --------------------------------------------------------
// these attributes are for replacement of enum eChartStyle
diff --git a/chart2/source/view/main/ChartItemPool.cxx b/chart2/source/view/main/ChartItemPool.cxx
index cbf7069..289b187 100644
--- a/chart2/source/view/main/ChartItemPool.cxx
+++ b/chart2/source/view/main/ChartItemPool.cxx
@@ -83,6 +83,7 @@ ChartItemPool::ChartItemPool():
ppPoolDefaults[SCHATTR_STAT_INDICATE - SCHATTR_START] = new SvxChartIndicateItem (CHINDICATE_NONE, SCHATTR_STAT_INDICATE);
ppPoolDefaults[SCHATTR_STAT_RANGE_POS - SCHATTR_START] = new SfxStringItem (SCHATTR_STAT_RANGE_POS, String());
ppPoolDefaults[SCHATTR_STAT_RANGE_NEG - SCHATTR_START] = new SfxStringItem (SCHATTR_STAT_RANGE_NEG, String());
+ ppPoolDefaults[SCHATTR_STAT_ERRORBAR_TYPE - SCHATTR_START] = new SfxBoolItem(SCHATTR_STAT_ERRORBAR_TYPE, true);
ppPoolDefaults[SCHATTR_STYLE_DEEP - SCHATTR_START] = new SfxBoolItem (SCHATTR_STYLE_DEEP, 0);
ppPoolDefaults[SCHATTR_STYLE_3D - SCHATTR_START] = new SfxBoolItem (SCHATTR_STYLE_3D, 0);
commit 2971651cd9d06b8ebf49323e937b78c34cd75609
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Wed Mar 14 21:23:36 2012 +0000
Add chart insert X errorbar toolbar and popup menu entries.
- Dispatch the commands to the proper functions.
diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx
index 8fb8adf..018349a 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -1111,6 +1111,8 @@ bool lcl_isFormatObjectCommand( const rtl::OString& aCommand )
this->executeDispatch_InsertMenu_Trendlines();
else if( aCommand.equals("InsertMenuMeanValues"))
this->executeDispatch_InsertMenu_MeanValues();
+ else if( aCommand.equals("InsertMenuXErrorBars"))
+ this->executeDispatch_InsertErrorBars(false);
else if( aCommand.equals("InsertMenuYErrorBars"))
this->executeDispatch_InsertErrorBars(true);
else if( aCommand.equals("InsertSymbol"))
@@ -1123,6 +1125,8 @@ bool lcl_isFormatObjectCommand( const rtl::OString& aCommand )
this->executeDispatch_InsertMeanValue();
else if( aCommand.equals("DeleteMeanValue"))
this->executeDispatch_DeleteMeanValue();
+ else if( aCommand.equals("InsertXErrorBars"))
+ this->executeDispatch_InsertErrorBars(false);
else if( aCommand.equals("InsertYErrorBars"))
this->executeDispatch_InsertErrorBars(true);
else if( aCommand.equals("DeleteYErrorBars"))
@@ -1509,6 +1513,7 @@ void ChartController::impl_initializeAccessible( const uno::Reference< lang::XIn
( "InsertR2Value" ) ( "DeleteR2Value" )
( "InsertMenuTrendlines" ) ( "InsertTrendline" )
( "InsertMenuMeanValues" ) ( "InsertMeanValue" )
+ ( "InsertMenuXErrorBars" ) ( "InsertXErrorBars" )
( "InsertMenuYErrorBars" ) ( "InsertYErrorBars" )
( "InsertDataLabels" ) ( "InsertDataLabel" )
( "DeleteTrendline" ) ( "DeleteMeanValue" ) ( "DeleteTrendlineEquation" )
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx
index 6a2a18b..fbea9be 100644
--- a/chart2/source/controller/main/ChartController_Window.cxx
+++ b/chart2/source/controller/main/ChartController_Window.cxx
@@ -1063,6 +1063,7 @@ void ChartController::execute_Command( const CommandEvent& rCEvt )
bool bHasEquation = RegressionCurveHelper::hasEquation( xTrendline );
Reference< chart2::XRegressionCurve > xMeanValue( RegressionCurveHelper::getMeanValueLine( xCurveCnt ) );
bool bHasYErrorBars = StatisticsHelper::hasErrorBars( xSeries, true );
+ bool bHasXErrorBars = StatisticsHelper::hasErrorBars( xSeries, false );
bool bHasDataLabelsAtSeries = DataSeriesHelper::hasDataLabelsAtSeries( xSeries );
bool bHasDataLabelsAtPoints = DataSeriesHelper::hasDataLabelsAtPoints( xSeries );
bool bHasDataLabelAtPoint = false;
@@ -1159,6 +1160,8 @@ void ChartController::execute_Command( const CommandEvent& rCEvt )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:InsertTrendlineEquation") );
if( !xMeanValue.is() )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:InsertMeanValue") );
+ if( !bHasXErrorBars )
+ lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:InsertXErrorBars"));
if( !bHasYErrorBars )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:InsertYErrorBars") );
@@ -1171,6 +1174,8 @@ void ChartController::execute_Command( const CommandEvent& rCEvt )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:DeleteTrendlineEquation") );
if( xMeanValue.is() )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:DeleteMeanValue") );
+ if( bHasXErrorBars )
+ lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:DeleteXErrorBars"));
if( bHasYErrorBars )
lcl_insertMenuCommand( xPopupMenu, xMenuEx, nUniqueId++, C2U(".uno:DeleteYErrorBars") );
diff --git a/chart2/uiconfig/menubar/menubar.xml b/chart2/uiconfig/menubar/menubar.xml
index a52dff8..353a8ad 100644
--- a/chart2/uiconfig/menubar/menubar.xml
+++ b/chart2/uiconfig/menubar/menubar.xml
@@ -51,6 +51,7 @@
<menu:menuitem menu:id=".uno:InsertMenuDataLabels" menu:label="" />
<menu:menuitem menu:id=".uno:InsertMenuTrendlines" menu:label="" />
<menu:menuitem menu:id=".uno:InsertMenuMeanValues" menu:label="" />
+ <menu:menuitem menu:id=".uno:InsertMenuXErrorBars" menu:label="" />
<menu:menuitem menu:id=".uno:InsertMenuYErrorBars" menu:label="" />
<menu:menuseparator/>
<menu:menuitem menu:id=".uno:InsertSymbol" menu:helpid="10503" menu:label="" />
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu
index 42aaad1..877a219 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/ChartCommands.xcu
@@ -40,6 +40,11 @@
<value xml:lang="en-US">Mean ~Value Lines</value>
</prop>
</node>
+ <node oor:name=".uno:InsertMenuXErrorBars" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">X Error ~Bars...</value>
+ </prop>
+ </node>
<node oor:name=".uno:InsertMenuYErrorBars" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Y Error ~Bars...</value>
@@ -434,6 +439,11 @@
<!-- error bars -->
+ <node oor:name=".uno:InsertXErrorBars" oor:op="replace">
+ <prop oor:name="Label" oor:type="xs:string">
+ <value xml:lang="en-US">Insert X Error ~Bars...</value>
+ </prop>
+ </node>
<node oor:name=".uno:InsertYErrorBars" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">Insert Y Error ~Bars...</value>
commit cc7ce5a299289028f1e8ff823b8391edca7de587
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Wed Mar 14 20:25:36 2012 +0000
Add correct tabpage to chart property dialog.
- Added needed strings resources and ids.
- Added code to handle X and Z errorbars.
diff --git a/chart2/source/controller/dialogs/ResourceIds.hrc b/chart2/source/controller/dialogs/ResourceIds.hrc
index b2f79fc..507b541 100644
--- a/chart2/source/controller/dialogs/ResourceIds.hrc
+++ b/chart2/source/controller/dialogs/ResourceIds.hrc
@@ -71,6 +71,7 @@
#define TP_TRENDLINE 918
#define TP_YERRORBAR 919
+#define TP_XERRORBAR 923
//-----------------------------------------------------------------------------
//listbox Ids:
diff --git a/chart2/source/controller/dialogs/Strings.src b/chart2/source/controller/dialogs/Strings.src
index 6796714..5a3a500 100644
--- a/chart2/source/controller/dialogs/Strings.src
+++ b/chart2/source/controller/dialogs/Strings.src
@@ -135,11 +135,21 @@ String STR_PAGE_TRENDLINE_TYPE
Text[ en-US ] = "Type";
};
+String STR_PAGE_XERROR_BARS
+{
+ Text[ en-US ] = "X Error Bars";
+};
+
String STR_PAGE_YERROR_BARS
{
Text[ en-US ] = "Y Error Bars";
};
+String STR_PAGE_ZERROR_BARS
+{
+ Text[ en-US ] = "Z Error Bars";
+};
+
String STR_PAGE_ALIGNMENT
{
Text [ en-US ] = "Alignment" ;
diff --git a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
index 0b586c6..ee478ac 100644
--- a/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
+++ b/chart2/source/controller/dialogs/dlg_ObjectProperties.cxx
@@ -447,14 +447,20 @@ SchAttribTabDlg::SchAttribTabDlg(Window* pParent,
break;
}
- case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_X:
+ AddTabPage(TP_XERRORBAR, String(SchResId(STR_PAGE_XERROR_BARS)), ErrorBarsTabPage::Create, NULL);
+ AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_LINE)));
+ break;
+
+ case OBJECTTYPE_DATA_ERRORS:
case OBJECTTYPE_DATA_ERRORS_Y:
- case OBJECTTYPE_DATA_ERRORS_Z:
AddTabPage(TP_YERRORBAR, String(SchResId(STR_PAGE_YERROR_BARS)), ErrorBarsTabPage::Create, NULL);
AddTabPage(RID_SVXPAGE_LINE, String(SchResId(STR_PAGE_LINE)));
break;
+ case OBJECTTYPE_DATA_ERRORS_Z:
+ break;
+
case OBJECTTYPE_GRID:
case OBJECTTYPE_SUBGRID:
case OBJECTTYPE_DATA_AVERAGE_LINE:
@@ -616,7 +622,18 @@ void SchAttribTabDlg::PageCreated(sal_uInt16 nId, SfxTabPage &rPage)
aSet.Put (SvxNumberInfoItem( m_pNumberFormatter, (const sal_uInt16)SID_ATTR_NUMBERFORMAT_INFO));
rPage.PageCreated(aSet);
break;
-
+ case TP_XERRORBAR:
+ {
+ ErrorBarsTabPage * pTabPage = dynamic_cast< ErrorBarsTabPage * >( &rPage );
+ OSL_ASSERT( pTabPage );
+ if( pTabPage )
+ {
+ pTabPage->SetAxisMinorStepWidthForErrorBarDecimals( m_fAxisMinorStepWidthForErrorBarDecimals );
+ pTabPage->SetErrorBarType( ErrorBarResources::ERROR_BAR_X );
+ pTabPage->SetChartDocumentForRangeChoosing( m_pParameter->getDocument());
+ }
+ break;
+ }
case TP_YERRORBAR:
{
ErrorBarsTabPage * pTabPage = dynamic_cast< ErrorBarsTabPage * >( &rPage );
diff --git a/chart2/source/inc/Strings.hrc b/chart2/source/inc/Strings.hrc
index de3c56a..e1af6d6 100644
--- a/chart2/source/inc/Strings.hrc
+++ b/chart2/source/inc/Strings.hrc
@@ -30,7 +30,7 @@
// this includes no link dependency
#include <svl/solar.hrc>
-//next free is 293
+//next free is 295
//single free: 139
//-----------------------------------------------------------------------------
@@ -232,7 +232,9 @@
#define STR_PAGE_ILLUMINATION (RID_APP_START + 237)
#define STR_PAGE_TRENDLINE_TYPE (RID_APP_START + 89)
+#define STR_PAGE_XERROR_BARS (RID_APP_START + 293)
#define STR_PAGE_YERROR_BARS (RID_APP_START + 206)
+#define STR_PAGE_ZERROR_BARS (RID_APP_START + 294)
#define STR_CONTROLTEXT_ERROR_BARS_FROM_DATA (RID_APP_START + 276)
#define STR_DLG_CHART_WIZARD (RID_APP_START + 228)
commit 3e964eeb7ca1b662705b5d6ce54102d33f310705
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Wed Mar 14 18:40:44 2012 +0000
Set chart objecttype depending on errorbar type.
diff --git a/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx b/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
index 52e4a42..b21fd14 100644
--- a/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
+++ b/chart2/source/controller/dialogs/dlg_InsertErrorBars.cxx
@@ -67,7 +67,9 @@ InsertErrorBarsDialog::InsertErrorBarsDialog(
/* bNoneAvailable = */ true, eType ))
{
FreeResource();
- this->SetText( ObjectNameProvider::getName_ObjectForAllSeries( OBJECTTYPE_DATA_ERRORS ) );
+ ObjectType objType = eType == ErrorBarResources::ERROR_BAR_Y ? OBJECTTYPE_DATA_ERRORS : OBJECTTYPE_DATA_ERRORS_X;
+
+ this->SetText( ObjectNameProvider::getName_ObjectForAllSeries(objType) );
m_apErrorBarResources->SetChartDocumentForRangeChoosing( xChartDocument );
}
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index 09d8a64..9fc38dd 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -474,6 +474,8 @@ void ChartController::executeDispatch_InsertTrendline()
void ChartController::executeDispatch_InsertErrorBars( bool bYError )
{
+ ObjectType objType = bYError ? OBJECTTYPE_DATA_ERRORS_Y : OBJECTTYPE_DATA_ERRORS_X;
+
//if a series is selected insert error bars for that series only:
uno::Reference< chart2::XDataSeries > xSeries(
ObjectIdentifier::getDataSeriesForCID( m_aSelection.getSelectedCID(), getModel() ), uno::UNO_QUERY );
@@ -502,7 +504,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError )
aItemConverter.FillItemSet( aItemSet );
ObjectPropertiesDialogParameter aDialogParameter = ObjectPropertiesDialogParameter(
ObjectIdentifier::createClassifiedIdentifierWithParent(
- OBJECTTYPE_DATA_ERRORS, ::rtl::OUString(), m_aSelection.getSelectedCID()));
+ objType, ::rtl::OUString(), m_aSelection.getSelectedCID()));
aDialogParameter.init( getModel() );
ViewElementListProvider aViewElementListProvider( m_pDrawModelWrapper.get());
SolarMutexGuard aGuard;
@@ -531,7 +533,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError )
UndoGuard aUndoGuard(
ActionDescriptionProvider::createDescription(
ActionDescriptionProvider::INSERT,
- ObjectNameProvider::getName_ObjectForAllSeries( OBJECTTYPE_DATA_ERRORS ) ),
+ ObjectNameProvider::getName_ObjectForAllSeries( objType ) ),
m_xUndoManager );
try
commit 2ea77e4926edd4a01cd2ed969128b4ba24c0804c
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Mar 11 19:52:55 2012 +0000
Display correct errorbar in InsertDialog.
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index 4c63d31..09d8a64 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -546,7 +546,7 @@ void ChartController::executeDispatch_InsertErrorBars( bool bYError )
InsertErrorBarsDialog aDlg(
m_pChartWindow, aItemSet,
uno::Reference< chart2::XChartDocument >( getModel(), uno::UNO_QUERY ),
- ErrorBarResources::ERROR_BAR_Y);
+ bYError ? ErrorBarResources::ERROR_BAR_Y : ErrorBarResources::ERROR_BAR_X);
aDlg.SetAxisMinorStepWidthForErrorBarDecimals(
InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getModel(), m_xChartView, rtl::OUString() ) );
commit 2a1d5a428d1957b238359f454989abd0329c9aa5
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Mar 11 18:02:36 2012 +0000
Make executeDispatch_InsertYErrorBars a generic function.
- Make the function usable for XError and YError bars.
- Rename executeDispatch_InsertYErrorBars to executeDispatch_InsertErrorBars.
- Add a new parameter that control the error bar direction.
- Update arguments in callers.
diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx
index 3a18968..8fb8adf 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -1112,7 +1112,7 @@ bool lcl_isFormatObjectCommand( const rtl::OString& aCommand )
else if( aCommand.equals("InsertMenuMeanValues"))
this->executeDispatch_InsertMenu_MeanValues();
else if( aCommand.equals("InsertMenuYErrorBars"))
- this->executeDispatch_InsertYErrorBars();
+ this->executeDispatch_InsertErrorBars(true);
else if( aCommand.equals("InsertSymbol"))
this->executeDispatch_InsertSpecialCharacter();
else if( aCommand.equals("InsertTrendline"))
@@ -1124,7 +1124,7 @@ bool lcl_isFormatObjectCommand( const rtl::OString& aCommand )
else if( aCommand.equals("DeleteMeanValue"))
this->executeDispatch_DeleteMeanValue();
else if( aCommand.equals("InsertYErrorBars"))
- this->executeDispatch_InsertYErrorBars();
+ this->executeDispatch_InsertErrorBars(true);
else if( aCommand.equals("DeleteYErrorBars"))
this->executeDispatch_DeleteYErrorBars();
else if( aCommand.equals("InsertTrendlineEquation"))
diff --git a/chart2/source/controller/main/ChartController.hxx b/chart2/source/controller/main/ChartController.hxx
index a1b80bd..4253e2d 100644
--- a/chart2/source/controller/main/ChartController.hxx
+++ b/chart2/source/controller/main/ChartController.hxx
@@ -629,7 +629,7 @@ private:
void executeDispatch_InsertMeanValue();
void executeDispatch_InsertTrendline();
void executeDispatch_InsertTrendlineEquation( bool bInsertR2=false );
- void executeDispatch_InsertYErrorBars();
+ void executeDispatch_InsertErrorBars( bool bYError );
void executeDispatch_InsertR2Value();
void executeDispatch_DeleteR2Value();
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index a30d6d4..4c63d31 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -472,7 +472,7 @@ void ChartController::executeDispatch_InsertTrendline()
}
}
-void ChartController::executeDispatch_InsertYErrorBars()
+void ChartController::executeDispatch_InsertErrorBars( bool bYError )
{
//if a series is selected insert error bars for that series only:
uno::Reference< chart2::XDataSeries > xSeries(
@@ -487,7 +487,9 @@ void ChartController::executeDispatch_InsertYErrorBars()
// add error bars with standard deviation
uno::Reference< beans::XPropertySet > xErrorBarProp(
- StatisticsHelper::addErrorBars( xSeries, m_xCC, ::com::sun::star::chart::ErrorBarStyle::STANDARD_DEVIATION ));
+ StatisticsHelper::addErrorBars( xSeries, m_xCC,
+ ::com::sun::star::chart::ErrorBarStyle::STANDARD_DEVIATION,
+ bYError));
// get an appropriate item converter
wrapper::ErrorBarItemConverter aItemConverter(
commit 7d42654aa4e00b02940d2fcf60c2d803fc371556
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Mar 11 12:39:12 2012 +0000
Merge InsertMenu_YErrorBar and InsertYErrorBar commands in chart controller.
diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx
index e9b4aba..3a18968 100644
--- a/chart2/source/controller/main/ChartController.cxx
+++ b/chart2/source/controller/main/ChartController.cxx
@@ -1112,7 +1112,7 @@ bool lcl_isFormatObjectCommand( const rtl::OString& aCommand )
else if( aCommand.equals("InsertMenuMeanValues"))
this->executeDispatch_InsertMenu_MeanValues();
else if( aCommand.equals("InsertMenuYErrorBars"))
- this->executeDispatch_InsertMenu_YErrorBars();
+ this->executeDispatch_InsertYErrorBars();
else if( aCommand.equals("InsertSymbol"))
this->executeDispatch_InsertSpecialCharacter();
else if( aCommand.equals("InsertTrendline"))
diff --git a/chart2/source/controller/main/ChartController.hxx b/chart2/source/controller/main/ChartController.hxx
index 72e13fa..a1b80bd 100644
--- a/chart2/source/controller/main/ChartController.hxx
+++ b/chart2/source/controller/main/ChartController.hxx
@@ -623,7 +623,6 @@ private:
void executeDispatch_InsertGrid();
void executeDispatch_InsertMenu_DataLabels();
- void executeDispatch_InsertMenu_YErrorBars();
void executeDispatch_InsertMenu_Trendlines();
void executeDispatch_InsertMenu_MeanValues();
diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx
index 0a2b674..a30d6d4 100644
--- a/chart2/source/controller/main/ChartController_Insert.cxx
+++ b/chart2/source/controller/main/ChartController_Insert.cxx
@@ -338,58 +338,6 @@ void ChartController::executeDispatch_InsertMenu_DataLabels()
}
}
-void ChartController::executeDispatch_InsertMenu_YErrorBars()
-{
- //if a series is selected insert error bars for that series only:
- uno::Reference< chart2::XDataSeries > xSeries(
- ObjectIdentifier::getDataSeriesForCID( m_aSelection.getSelectedCID(), getModel() ), uno::UNO_QUERY );
- if( xSeries.is())
- {
- executeDispatch_InsertYErrorBars();
- return;
- }
-
- //if no series is selected insert error bars for all series
- UndoGuard aUndoGuard(
- ActionDescriptionProvider::createDescription(
- ActionDescriptionProvider::INSERT, ObjectNameProvider::getName_ObjectForAllSeries( OBJECTTYPE_DATA_ERRORS ) ),
- m_xUndoManager );
-
- try
- {
- wrapper::AllSeriesStatisticsConverter aItemConverter(
- getModel(), m_pDrawModelWrapper->GetItemPool() );
- SfxItemSet aItemSet = aItemConverter.CreateEmptyItemSet();
- aItemConverter.FillItemSet( aItemSet );
-
- //prepare and open dialog
- SolarMutexGuard aGuard;
- InsertErrorBarsDialog aDlg(
- m_pChartWindow, aItemSet,
- uno::Reference< chart2::XChartDocument >( getModel(), uno::UNO_QUERY ),
- ErrorBarResources::ERROR_BAR_Y);
-
- aDlg.SetAxisMinorStepWidthForErrorBarDecimals(
- InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getModel(), m_xChartView, rtl::OUString() ) );
-
- if( aDlg.Execute() == RET_OK )
- {
- SfxItemSet aOutItemSet = aItemConverter.CreateEmptyItemSet();
- aDlg.FillItemSet( aOutItemSet );
-
- // lock controllers till end of block
- ControllerLockGuard aCLGuard( getModel() );
- bool bChanged = aItemConverter.ApplyItemSet( aOutItemSet );//model should be changed now
- if( bChanged )
- aUndoGuard.commit();
- }
- }
- catch(const uno::RuntimeException& e)
- {
- ASSERT_EXCEPTION( e );
- }
-}
-
void ChartController::executeDispatch_InsertMeanValue()
{
UndoGuard aUndoGuard(
@@ -526,8 +474,10 @@ void ChartController::executeDispatch_InsertTrendline()
void ChartController::executeDispatch_InsertYErrorBars()
{
+ //if a series is selected insert error bars for that series only:
uno::Reference< chart2::XDataSeries > xSeries(
ObjectIdentifier::getDataSeriesForCID( m_aSelection.getSelectedCID(), getModel() ), uno::UNO_QUERY );
+
if( xSeries.is())
{
UndoLiveUpdateGuard aUndoGuard(
@@ -557,7 +507,8 @@ void ChartController::executeDispatch_InsertYErrorBars()
SchAttribTabDlg aDlg( m_pChartWindow, &aItemSet, &aDialogParameter, &aViewElementListProvider,
uno::Reference< util::XNumberFormatsSupplier >( getModel(), uno::UNO_QUERY ));
aDlg.SetAxisMinorStepWidthForErrorBarDecimals(
- InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getModel(), m_xChartView, m_aSelection.getSelectedCID()));
+ InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getModel(),
+ m_xChartView, m_aSelection.getSelectedCID()));
// note: when a user pressed "OK" but didn't change any settings in the
// dialog, the SfxTabDialog returns "Cancel"
@@ -572,6 +523,49 @@ void ChartController::executeDispatch_InsertYErrorBars()
aUndoGuard.commit();
}
}
+ else
+ {
+ //if no series is selected insert error bars for all series
+ UndoGuard aUndoGuard(
+ ActionDescriptionProvider::createDescription(
+ ActionDescriptionProvider::INSERT,
+ ObjectNameProvider::getName_ObjectForAllSeries( OBJECTTYPE_DATA_ERRORS ) ),
+ m_xUndoManager );
+
+ try
+ {
+ wrapper::AllSeriesStatisticsConverter aItemConverter(
+ getModel(), m_pDrawModelWrapper->GetItemPool() );
+ SfxItemSet aItemSet = aItemConverter.CreateEmptyItemSet();
+ aItemConverter.FillItemSet( aItemSet );
+
+ //prepare and open dialog
+ SolarMutexGuard aGuard;
+ InsertErrorBarsDialog aDlg(
+ m_pChartWindow, aItemSet,
+ uno::Reference< chart2::XChartDocument >( getModel(), uno::UNO_QUERY ),
+ ErrorBarResources::ERROR_BAR_Y);
+
+ aDlg.SetAxisMinorStepWidthForErrorBarDecimals(
+ InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getModel(), m_xChartView, rtl::OUString() ) );
+
+ if( aDlg.Execute() == RET_OK )
+ {
+ SfxItemSet aOutItemSet = aItemConverter.CreateEmptyItemSet();
+ aDlg.FillItemSet( aOutItemSet );
+
+ // lock controllers till end of block
+ ControllerLockGuard aCLGuard( getModel() );
+ bool bChanged = aItemConverter.ApplyItemSet( aOutItemSet );//model should be changed now
+ if( bChanged )
+ aUndoGuard.commit();
+ }
+ }
+ catch(const uno::RuntimeException& e)
+ {
+ ASSERT_EXCEPTION( e );
+ }
+ }
}
void ChartController::executeDispatch_InsertTrendlineEquation( bool bInsertR2 )
commit 68e482e9d8e29944a00fb53959f2e728e78a9782
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Mar 11 12:08:58 2012 +0000
Create respective error bars in areachart when creating shapes.
diff --git a/chart2/source/view/charttypes/AreaChart.cxx b/chart2/source/view/charttypes/AreaChart.cxx
index 8aaaf23..2c2e827 100644
--- a/chart2/source/view/charttypes/AreaChart.cxx
+++ b/chart2/source/view/charttypes/AreaChart.cxx
@@ -836,7 +836,7 @@ void AreaChart::createShapes()
if( !bIsVisible )
continue;
- bool bCreateErrorBar = false;
+ bool bCreateYErrorBar = false, bCreateXErrorBar = false;
{
uno::Reference< beans::XPropertySet > xErrorBarProp(pSeries->getYErrorBarProperties(nIndex));
if( xErrorBarProp.is() )
@@ -845,14 +845,25 @@ void AreaChart::createShapes()
bool bShowNegative = false;
xErrorBarProp->getPropertyValue( C2U( "ShowPositiveError" )) >>= bShowPositive;
xErrorBarProp->getPropertyValue( C2U( "ShowNegativeError" )) >>= bShowNegative;
- bCreateErrorBar = bShowPositive || bShowNegative;
+ bCreateYErrorBar = bShowPositive || bShowNegative;
+ }
+
+ xErrorBarProp = pSeries->getXErrorBarProperties(nIndex);
+ if ( xErrorBarProp.is() )
+ {
+ bool bShowPositive = false;
+ bool bShowNegative = false;
+ xErrorBarProp->getPropertyValue( C2U( "ShowPositiveError" )) >>= bShowPositive;
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list