Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
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/.
8 : */
9 :
10 : #ifndef INCLUDED_SC_SOURCE_UI_OPTDLG_CALCOPTIONSDLG_HXX
11 : #define INCLUDED_SC_SOURCE_UI_OPTDLG_CALCOPTIONSDLG_HXX
12 :
13 : #include <config_features.h>
14 :
15 : #include <vcl/dialog.hxx>
16 : #include <vcl/button.hxx>
17 : #include <vcl/fixed.hxx>
18 : #include <vcl/lstbox.hxx>
19 : #include <svx/checklbx.hxx>
20 : #include <svtools/treelistbox.hxx>
21 :
22 : #include "calcconfig.hxx"
23 :
24 : #if HAVE_FEATURE_OPENCL
25 : #include "platforminfo.hxx"
26 : #endif
27 :
28 : class ScCalcOptionsDialog : public ModalDialog
29 : {
30 : public:
31 : ScCalcOptionsDialog(vcl::Window* pParent, const ScCalcConfig& rConfig);
32 : virtual ~ScCalcOptionsDialog();
33 :
34 : DECL_LINK( SettingsSelHdl, Control* );
35 : DECL_LINK( BtnToggleHdl, void* );
36 : DECL_LINK( BtnAutomaticSelectHdl, void* );
37 : DECL_LINK( DeviceSelHdl, void* );
38 :
39 0 : const ScCalcConfig& GetConfig() const { return maConfig;}
40 :
41 : private:
42 : void FillOptionsList();
43 : void SelectionChanged();
44 : void ListOptionValueChanged();
45 : void RadioValueChanged();
46 : void OpenCLAutomaticSelectionChanged();
47 : void SelectedDeviceChanged();
48 : #if HAVE_FEATURE_OPENCL
49 : void fillOpenCLList();
50 : #endif
51 :
52 : OUString toString(formula::FormulaGrammar::AddressConvention eConv) const;
53 : OUString toString(ScCalcConfig::StringConversion eConv) const;
54 : OUString toString(bool bVal) const;
55 : SvTreeListEntry *createBoolItem(const OUString &rCaption, bool bValue) const;
56 : void setValueAt(size_t nPos, const OUString &rString);
57 :
58 : private:
59 : SvxCheckListBox* mpLbSettings;
60 :
61 : ListBox* mpLbOptionEdit;
62 : RadioButton* mpBtnTrue;
63 : RadioButton* mpBtnFalse;
64 :
65 : FixedText* mpFtAnnotation;
66 : FixedText* mpFtFrequency;
67 : FixedText* mpFtComputeUnits;
68 : FixedText* mpFtMemory;
69 :
70 : SvTreeListBox* mpOpenclInfoList;
71 : RadioButton* mpBtnAutomaticSelectionTrue;
72 : RadioButton* mpBtnAutomaticSelectionFalse;
73 :
74 : OUString maTrue;
75 : OUString maFalse;
76 :
77 : OUString maCalcA1;
78 : OUString maExcelA1;
79 : OUString maExcelR1C1;
80 :
81 : OUString maCaptionStringRefSyntax;
82 : OUString maDescStringRefSyntax;
83 : OUString maUseFormulaSyntax;
84 :
85 : OUString maStringConversionAsError;
86 : OUString maStringConversionAsZero;
87 : OUString maStringConversionUnambiguous;
88 : OUString maStringConversionLocaleDependent;
89 :
90 : OUString maCaptionStringConversion;
91 : OUString maDescStringConversion;
92 :
93 : OUString maCaptionEmptyStringAsZero;
94 : OUString maDescEmptyStringAsZero;
95 :
96 : OUString maCaptionOpenCLEnabled;
97 : OUString maDescOpenCLEnabled;
98 :
99 : OUString maSoftware;
100 :
101 : ScCalcConfig maConfig;
102 : #if HAVE_FEATURE_OPENCL
103 : std::vector<sc::OpenCLPlatformInfo> maPlatformInfo;
104 : #endif
105 :
106 : bool mbSelectedEmptyStringAsZero;
107 : };
108 :
109 : #endif
110 :
111 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|