tdf#130857 qt weld: Implement QtInstanceWidget::strip_mnemonic
[LibreOffice.git] / sc / source / ui / inc / AnalysisOfVarianceDialog.hxx
blob35c53e72778f6ab468e9b92a6b929f19e71d90f9
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 */
11 #pragma once
13 #include <address.hxx>
14 #include "viewdata.hxx"
16 #include "StatisticsInputOutputDialog.hxx"
18 class FormulaTemplate;
19 class AddressWalkerWriter;
21 class ScAnalysisOfVarianceDialog : public ScStatisticsInputOutputDialog
23 private:
24 enum AnovaFactor
26 SINGLE_FACTOR,
27 TWO_FACTOR
30 DECL_LINK(FactorChanged, weld::Toggleable&, void);
31 void FactorChanged();
33 AnovaFactor meFactor;
35 std::unique_ptr<weld::SpinButton> mxAlphaField;
36 std::unique_ptr<weld::RadioButton> mxSingleFactorRadio;
37 std::unique_ptr<weld::RadioButton> mxTwoFactorRadio;
38 std::unique_ptr<weld::SpinButton> mxRowsPerSampleField;
40 static void RowColumn(ScRangeList& rRangeList, AddressWalkerWriter& aOutput,
41 FormulaTemplate& aTemplate, const OUString& sFormula,
42 GroupedBy aGroupedBy, ScRange* pResultRange);
44 void AnovaSingleFactor(AddressWalkerWriter& output, FormulaTemplate& aTemplate);
45 void AnovaTwoFactor(AddressWalkerWriter& output, FormulaTemplate& aTemplate);
47 public:
48 ScAnalysisOfVarianceDialog(
49 SfxBindings* pB, SfxChildWindow* pCW,
50 weld::Window* pParent, ScViewData& rViewData );
52 virtual ~ScAnalysisOfVarianceDialog() override;
54 virtual void Close() override;
56 protected:
57 virtual TranslateId GetUndoNameId() override;
58 virtual ScRange ApplyOutput(ScDocShell* pDocShell) override;
61 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */