summaryrefslogtreecommitdiff
path: root/chart2/source/controller/inc/res_ErrorBar.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'chart2/source/controller/inc/res_ErrorBar.hxx')
-rw-r--r--chart2/source/controller/inc/res_ErrorBar.hxx154
1 files changed, 154 insertions, 0 deletions
diff --git a/chart2/source/controller/inc/res_ErrorBar.hxx b/chart2/source/controller/inc/res_ErrorBar.hxx
new file mode 100644
index 000000000000..36bceaffce9f
--- /dev/null
+++ b/chart2/source/controller/inc/res_ErrorBar.hxx
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef CHART2_RES_ERRORBAR_HXX
+#define CHART2_RES_ERRORBAR_HXX
+
+#include <vcl/button.hxx>
+#include <vcl/fixed.hxx>
+#include <vcl/field.hxx>
+#include <vcl/lstbox.hxx>
+#include <svtools/valueset.hxx>
+#include <svl/itemset.hxx>
+#include <svx/chrtitem.hxx>
+#include "chartview/ChartSfxItemIds.hxx"
+#include "RangeSelectionButton.hxx"
+#include "RangeSelectionListener.hxx"
+#include "RangeEdit.hxx"
+
+#include <com/sun/star/chart2/XChartDocument.hpp>
+
+#include <memory>
+
+class Dialog;
+
+//.............................................................................
+namespace chart
+{
+//.............................................................................
+
+class RangeSelectionHelper;
+
+class ErrorBarResources : public RangeSelectionListenerParent
+{
+public:
+ enum tErrorBarType
+ {
+ ERROR_BAR_X,
+ ERROR_BAR_Y
+ };
+
+ ErrorBarResources(
+ Window* pParent, Dialog * pParentDialog, const SfxItemSet& rInAttrst,
+ bool bNoneAvailable,
+ tErrorBarType eType = ERROR_BAR_Y );
+ virtual ~ErrorBarResources();
+
+ void SetAxisMinorStepWidthForErrorBarDecimals( double fMinorStepWidth );
+ void SetErrorBarType( tErrorBarType eNewType );
+ void SetChartDocumentForRangeChoosing(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::chart2::XChartDocument > & xChartDocument );
+ void Reset(const SfxItemSet& rInAttrs);
+ BOOL FillItemSet(SfxItemSet& rOutAttrs) const;
+
+ void FillValueSets();
+
+ // ____ RangeSelectionListenerParent ____
+ virtual void listeningFinished( const ::rtl::OUString & rNewRange );
+ virtual void disposingRangeSelection();
+
+private:
+ // category
+ FixedLine m_aFlErrorCategory;
+ RadioButton m_aRbNone;
+ RadioButton m_aRbConst;
+ RadioButton m_aRbPercent;
+ RadioButton m_aRbFunction;
+ RadioButton m_aRbRange;
+ ListBox m_aLbFunction;
+
+ // parameters
+ FixedLine m_aFlParameters;
+ FixedText m_aFtPositive;
+ MetricField m_aMfPositive;
+ RangeEdit m_aEdRangePositive;
+ RangeSelectionButton m_aIbRangePositive;
+ FixedText m_aFtNegative;
+ MetricField m_aMfNegative;
+ RangeEdit m_aEdRangeNegative;
+ RangeSelectionButton m_aIbRangeNegative;
+ CheckBox m_aCbSyncPosNeg;
+
+ // indicator
+ FixedLine m_aFlIndicate;
+ RadioButton m_aRbBoth;
+ RadioButton m_aRbPositive;
+ RadioButton m_aRbNegative;
+ FixedImage m_aFiBoth;
+ FixedImage m_aFiPositive;
+ FixedImage m_aFiNegative;
+
+ SvxChartKindError m_eErrorKind;
+ SvxChartIndicate m_eIndicate;
+ SvxChartRegress m_eTrendLineType;
+
+ bool m_bErrorKindUnique;
+ bool m_bIndicatorUnique;
+ bool m_bPlusUnique;
+ bool m_bMinusUnique;
+ bool m_bRangePosUnique;
+ bool m_bRangeNegUnique;
+
+ bool m_bNoneAvailable;
+
+ tErrorBarType m_eErrorBarType;
+ sal_uInt16 m_nConstDecimalDigits;
+ sal_Int64 m_nConstSpinSize;
+
+ Window * m_pParentWindow;
+ Dialog * m_pParentDialog;
+ ::std::auto_ptr< RangeSelectionHelper >
+ m_apRangeSelectionHelper;
+ Edit * m_pCurrentRangeChoosingField;
+ bool m_bHasInternalDataProvider;
+
+ DECL_LINK( CategoryChosen, void * );
+ DECL_LINK( SynchronizePosAndNeg, void * );
+ DECL_LINK( PosValueChanged, void * );
+ DECL_LINK( IndicatorChanged, void * );
+ DECL_LINK( ChooseRange, RangeSelectionButton * );
+ DECL_LINK( RangeChanged, Edit * );
+
+ void UpdateControlStates();
+ bool isRangeFieldContentValid( Edit & rEdit );
+};
+
+//.............................................................................
+} //namespace chart
+//.............................................................................
+
+#endif