summaryrefslogtreecommitdiff
path: root/chart2/source/controller
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/controller')
-rw-r--r--chart2/source/controller/sidebar/ChartElementsPanel.cxx30
1 files changed, 30 insertions, 0 deletions
diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.cxx b/chart2/source/controller/sidebar/ChartElementsPanel.cxx
index 396416ac31b0..aeb0d8132db4 100644
--- a/chart2/source/controller/sidebar/ChartElementsPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartElementsPanel.cxx
@@ -34,6 +34,8 @@
#include "LegendHelper.hxx"
#include "TitleHelper.hxx"
+#include "ChartModelHelper.hxx"
+#include "AxisHelper.hxx"
#include "ChartModel.hxx"
@@ -45,6 +47,14 @@ namespace chart { namespace sidebar {
namespace {
+enum class GridType
+{
+ VERT_MAJOR,
+ VERT_MINOR,
+ HOR_MAJOR,
+ HOR_MINOR
+};
+
ChartModel* getChartModel(css::uno::Reference<css::frame::XModel> xModel)
{
ChartModel* pModel = dynamic_cast<ChartModel*>(xModel.get());
@@ -82,6 +92,24 @@ bool isTitleVisisble(css::uno::Reference<css::frame::XModel> xModel, TitleHelper
return TitleHelper::getTitle(eTitle, xModel).is();
}
+bool isGridVisible(css::uno::Reference<css::frame::XModel> xModel, GridType eType)
+{
+ Reference< chart2::XDiagram > xDiagram(ChartModelHelper::findDiagram(xModel));
+ if(xDiagram.is())
+ {
+ sal_Int32 nDimensionIndex = 0;
+ if (eType == GridType::HOR_MAJOR || eType == GridType::HOR_MINOR)
+ nDimensionIndex = 1;
+ sal_Int32 nCooSysIndex = 0;
+
+ bool bMajor = (eType == GridType::HOR_MAJOR || eType == GridType::VERT_MAJOR);
+
+ bool bHasGrid = AxisHelper::isGridShown(nDimensionIndex, nCooSysIndex, bMajor, xDiagram);
+ return bHasGrid;
+ }
+ return false;
+}
+
}
ChartElementsPanel::ChartElementsPanel(
@@ -157,6 +185,8 @@ void ChartElementsPanel::updateData()
mpCBZAxisTitle->Check(isTitleVisisble(mxModel, TitleHelper::Z_AXIS_TITLE));
mpCB2ndXAxisTitle->Check(isTitleVisisble(mxModel, TitleHelper::SECONDARY_X_AXIS_TITLE));
mpCB2ndYAxisTitle->Check(isTitleVisisble(mxModel, TitleHelper::SECONDARY_Y_AXIS_TITLE));
+ mpCBGridVertical->Check(isGridVisible(mxModel, GridType::VERT_MAJOR));
+ mpCBGridHorizontal->Check(isGridVisible(mxModel, GridType::HOR_MAJOR));
}
VclPtr<vcl::Window> ChartElementsPanel::Create (