summaryrefslogtreecommitdiff
path: root/chart2
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-07-15 16:10:19 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2015-07-16 08:15:18 +0200
commitd380dbbc2bad8d370550d7f985379502e84fd2e3 (patch)
treed0a7605c4062c285f0cd47c57de4d101bde8b9bf /chart2
parentc03d781e35a015035bf73ff64620f36f27672e87 (diff)
wire axis visiblity
Change-Id: Ide5fe06f7ba6f477fd1bdf5f408915a023319675
Diffstat (limited to 'chart2')
-rw-r--r--chart2/source/controller/sidebar/ChartElementsPanel.cxx34
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 (