diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-07-15 16:10:19 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-07-16 08:15:18 +0200 |
commit | d380dbbc2bad8d370550d7f985379502e84fd2e3 (patch) | |
tree | d0a7605c4062c285f0cd47c57de4d101bde8b9bf | |
parent | c03d781e35a015035bf73ff64620f36f27672e87 (diff) |
wire axis visiblity
Change-Id: Ide5fe06f7ba6f477fd1bdf5f408915a023319675
-rw-r--r-- | chart2/source/controller/sidebar/ChartElementsPanel.cxx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.cxx b/chart2/source/controller/sidebar/ChartElementsPanel.cxx index afb72f1c1435..29c311be6aeb 100644 --- a/chart2/source/controller/sidebar/ChartElementsPanel.cxx +++ b/chart2/source/controller/sidebar/ChartElementsPanel.cxx @@ -55,6 +55,15 @@ enum class GridType HOR_MINOR }; +enum class AxisType +{ + X_MAIN, + Y_MAIN, + Z_MAIN, + X_SECOND, + Y_SECOND +}; + class ChartSidebarModifyListener : public cppu::WeakImplHelper1<css::util::XModifyListener> { public: @@ -148,6 +157,26 @@ bool isGridVisible(css::uno::Reference<css::frame::XModel> xModel, GridType eTyp return false; } +bool isAxisVisible(css::uno::Reference<css::frame::XModel> xModel, AxisType eType) +{ + Reference< chart2::XDiagram > xDiagram(ChartModelHelper::findDiagram(xModel)); + if(xDiagram.is()) + { + sal_Int32 nDimensionIndex = 0; + if (eType == AxisType::Y_MAIN || eType == AxisType::Y_SECOND) + nDimensionIndex = 1; + else if (eType == AxisType::Z_MAIN) + nDimensionIndex = 2; + + bool bMajor = !(eType == AxisType::X_SECOND || eType == AxisType::Y_SECOND); + + bool bHasAxis = AxisHelper::isAxisShown(nDimensionIndex, bMajor, xDiagram); + return bHasAxis; + } + return false; + +} + } ChartElementsPanel::ChartElementsPanel( @@ -233,6 +262,11 @@ void ChartElementsPanel::updateData() mpCB2ndYAxisTitle->Check(isTitleVisisble(mxModel, TitleHelper::SECONDARY_Y_AXIS_TITLE)); mpCBGridVertical->Check(isGridVisible(mxModel, GridType::VERT_MAJOR)); mpCBGridHorizontal->Check(isGridVisible(mxModel, GridType::HOR_MAJOR)); + mpCBXAxis->Check(isAxisVisible(mxModel, AxisType::X_MAIN)); + mpCBYAxis->Check(isAxisVisible(mxModel, AxisType::Y_MAIN)); + mpCBZAxis->Check(isAxisVisible(mxModel, AxisType::Z_MAIN)); + mpCB2ndXAxis->Check(isAxisVisible(mxModel, AxisType::X_SECOND)); + mpCB2ndYAxis->Check(isAxisVisible(mxModel, AxisType::Y_SECOND)); } VclPtr<vcl::Window> ChartElementsPanel::Create ( |