diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk> | 2022-06-30 23:34:19 +0200 |
---|---|---|
committer | Tomaž Vajngerl <quikee@gmail.com> | 2022-08-20 14:35:15 +0200 |
commit | 3e6f7d8c412946ddd54d114aa1e763b25eb31a04 (patch) | |
tree | 440b8cadd54951bf5e1cc44592e05ba65d0a36c2 /chart2 | |
parent | fc307b3da2332ef4995154c0554e8560a0196ddd (diff) |
chart2: add "InsertMenuDataTable" action to menu
Change-Id: Ib60a2b061966eb61834480b63dc0653410a43a14
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138248
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 16fac85be1fdddb1695a29a9b8026cd4f8cfad64)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138524
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/controller/inc/ChartController.hxx | 1 | ||||
-rw-r--r-- | chart2/source/controller/main/ChartController.cxx | 3 | ||||
-rw-r--r-- | chart2/source/controller/main/ChartController_Insert.cxx | 19 | ||||
-rw-r--r-- | chart2/source/controller/main/ControllerCommandDispatch.cxx | 3 | ||||
-rw-r--r-- | chart2/source/inc/OPropertySet.hxx | 3 | ||||
-rw-r--r-- | chart2/uiconfig/menubar/menubar.xml | 1 |
6 files changed, 28 insertions, 2 deletions
diff --git a/chart2/source/controller/inc/ChartController.hxx b/chart2/source/controller/inc/ChartController.hxx index 09fda2b6fb00..5e74cec917ce 100644 --- a/chart2/source/controller/inc/ChartController.hxx +++ b/chart2/source/controller/inc/ChartController.hxx @@ -438,6 +438,7 @@ private: void executeDispatch_OpenLegendDialog(); void executeDispatch_InsertAxes(); void executeDispatch_InsertGrid(); + void executeDispatch_OpenInsertDataTableDialog(); void executeDispatch_InsertMenu_DataLabels(); void executeDispatch_InsertMenu_Trendlines(); diff --git a/chart2/source/controller/main/ChartController.cxx b/chart2/source/controller/main/ChartController.cxx index f9fcc71f1793..a61d84af0e9f 100644 --- a/chart2/source/controller/main/ChartController.cxx +++ b/chart2/source/controller/main/ChartController.cxx @@ -1172,6 +1172,8 @@ void SAL_CALL ChartController::dispatch( this->executeDispatch_InsertErrorBars(false); else if( aCommand == "InsertMenuYErrorBars" ) this->executeDispatch_InsertErrorBars(true); + else if( aCommand == "InsertMenuDataTable" ) + this->executeDispatch_OpenInsertDataTableDialog(); else if( aCommand == "InsertSymbol" ) this->executeDispatch_InsertSpecialCharacter(); else if( aCommand == "InsertTrendline" ) @@ -1625,6 +1627,7 @@ const o3tl::sorted_vector< OUString >& ChartController::impl_getAvailableCommand "DeleteTrendline", "DeleteMeanValue", "DeleteTrendlineEquation", "DeleteXErrorBars", "DeleteYErrorBars", "DeleteDataLabels", "DeleteDataLabel", + "InsertMenuDataTable", //format objects "FormatSelection", "TransformDialog", "DiagramType", "View3D", diff --git a/chart2/source/controller/main/ChartController_Insert.cxx b/chart2/source/controller/main/ChartController_Insert.cxx index 04c27782c375..e45cb15d3215 100644 --- a/chart2/source/controller/main/ChartController_Insert.cxx +++ b/chart2/source/controller/main/ChartController_Insert.cxx @@ -50,6 +50,7 @@ #include <DataSeriesHelper.hxx> #include <ObjectNameProvider.hxx> #include <LegendHelper.hxx> +#include <DataTable.hxx> #include <com/sun/star/chart2/XRegressionCurve.hpp> #include <com/sun/star/chart2/XRegressionCurveContainer.hpp> @@ -156,6 +157,24 @@ void ChartController::executeDispatch_InsertGrid() } } +void ChartController::executeDispatch_OpenInsertDataTableDialog() +{ + uno::Reference<chart2::XDiagram> xDiagram = ChartModelHelper::findDiagram(getModel()); + SolarMutexGuard aGuard; + if (xDiagram->getDataTable().is()) + { + xDiagram->setDataTable(uno::Reference<chart2::XDataTable>()); + } + else + { + uno::Reference<chart2::XDataTable> xDataTable(new DataTable); + if (xDataTable.is()) + { + xDiagram->setDataTable(xDataTable); + } + } +} + void ChartController::executeDispatch_InsertTitles() { UndoGuard aUndoGuard( diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx index 2f0e13f56155..263f4551c82d 100644 --- a/chart2/source/controller/main/ControllerCommandDispatch.cxx +++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx @@ -594,7 +594,8 @@ void ControllerCommandDispatch::updateCommandAvailability() m_aCommandAvailability[ ".uno:InsertMenuMeanValues" ] = bIsWritable && m_apModelState->bSupportsStatistics; m_aCommandAvailability[ ".uno:InsertMenuXErrorBars" ] = bIsWritable && m_apModelState->bSupportsStatistics; m_aCommandAvailability[ ".uno:InsertMenuYErrorBars" ] = bIsWritable && m_apModelState->bSupportsStatistics; - m_aCommandAvailability[ ".uno:InsertSymbol" ] = bIsWritable && m_apControllerState->bIsTextObject; + m_aCommandAvailability[ ".uno:InsertSymbol" ] = bIsWritable && bControllerStateIsValid && m_apControllerState->bIsTextObject; + m_aCommandAvailability[ ".uno:InsertMenuDataTable" ] = bIsWritable; // format objects bool bFormatObjectAvailable = bIsWritable && bControllerStateIsValid && m_apControllerState->bIsFormateableObjectSelected; diff --git a/chart2/source/inc/OPropertySet.hxx b/chart2/source/inc/OPropertySet.hxx index 52cf2e782e28..c9052b6a7974 100644 --- a/chart2/source/inc/OPropertySet.hxx +++ b/chart2/source/inc/OPropertySet.hxx @@ -28,11 +28,12 @@ #include <com/sun/star/style/XStyleSupplier.hpp> #include <map> +#include "charttoolsdllapi.hxx" namespace property { -class OPropertySet : +class OOO_DLLPUBLIC_CHARTTOOLS OPropertySet : public ::cppu::OBroadcastHelper, // includes beans::XPropertySet, XMultiPropertySet and XFastPropertySet public ::cppu::OPropertySetHelper, diff --git a/chart2/uiconfig/menubar/menubar.xml b/chart2/uiconfig/menubar/menubar.xml index dca2eaff7efe..7fbfc0af01d8 100644 --- a/chart2/uiconfig/menubar/menubar.xml +++ b/chart2/uiconfig/menubar/menubar.xml @@ -56,6 +56,7 @@ <menu:menuitem menu:id=".uno:InsertMenuLegend"/> <menu:menuitem menu:id=".uno:InsertMenuAxes"/> <menu:menuitem menu:id=".uno:InsertMenuGrids"/> + <menu:menuitem menu:id=".uno:InsertMenuDataTable"/> <menu:menuseparator/> <menu:menuitem menu:id=".uno:InsertMenuDataLabels"/> <menu:menuitem menu:id=".uno:InsertMenuTrendlines"/> |