summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2022-06-30 23:34:19 +0200
committerTomaž Vajngerl <quikee@gmail.com>2022-08-20 14:35:15 +0200
commit3e6f7d8c412946ddd54d114aa1e763b25eb31a04 (patch)
tree440b8cadd54951bf5e1cc44592e05ba65d0a36c2 /chart2
parentfc307b3da2332ef4995154c0554e8560a0196ddd (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.hxx1
-rw-r--r--chart2/source/controller/main/ChartController.cxx3
-rw-r--r--chart2/source/controller/main/ChartController_Insert.cxx19
-rw-r--r--chart2/source/controller/main/ControllerCommandDispatch.cxx3
-rw-r--r--chart2/source/inc/OPropertySet.hxx3
-rw-r--r--chart2/uiconfig/menubar/menubar.xml1
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"/>