/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef INCLUDED_SC_SOURCE_UI_OPTDLG_CALCOPTIONSDLG_HXX #define INCLUDED_SC_SOURCE_UI_OPTDLG_CALCOPTIONSDLG_HXX #include #include #include #include #include #include #include #include #include #include #include "calcconfig.hxx" #if HAVE_FEATURE_OPENCL #include #include #endif class ScCalcOptionsDialog : public ModalDialog { public: ScCalcOptionsDialog(vcl::Window* pParent, const ScCalcConfig& rConfig); virtual ~ScCalcOptionsDialog(); virtual void dispose() SAL_OVERRIDE; DECL_LINK( BtnAutomaticSelectHdl, void* ); DECL_LINK( DeviceSelHdl, void* ); DECL_LINK( NumModifiedHdl, void * ); DECL_LINK( EditModifiedHdl, Edit * ); DECL_STATIC_LINK( ScCalcOptionsDialog, TestClickHdl, PushButton* ); DECL_LINK( AsZeroModifiedHdl, CheckBox*); DECL_LINK( ConversionModifiedHdl, ListBox*); DECL_LINK( SyntaxModifiedHdl, ListBox*); DECL_LINK( CBUseOpenCLHdl, CheckBox*); DECL_LINK( SpinOpenCLMinSizeHdl, NumericField*); const ScCalcConfig& GetConfig() const { return maConfig;} private: void OpenCLAutomaticSelectionChanged(); void SelectedDeviceChanged(); SvTreeListEntry *createItem(const OUString &rCaption, const OUString& sValue) const; void setValueAt(size_t nPos, const OUString &rString); #if HAVE_FEATURE_OPENCL OpenCLConfig::ImplMatcherSet& CurrentWhiteOrBlackList(); const OpenCLConfig::ImplMatcher& CurrentWhiteOrBlackListEntry(); #endif private: VclPtr mpEmptyAsZero; VclPtr mpConversion; VclPtr mpSyntax; VclPtr mpUseOpenCL; VclPtr mpSpinButton; VclPtr mpEditField; VclPtr mpTestButton; VclPtr mpFtFrequency; VclPtr mpFtComputeUnits; VclPtr mpFtMemory; VclPtr mpOpenclInfoList; VclPtr mpBtnAutomaticSelectionTrue; VclPtr mpBtnAutomaticSelectionFalse; OUString maSoftware; ScCalcConfig maConfig; #if HAVE_FEATURE_OPENCL std::vector maPlatformInfo; #endif bool mbSelectedEmptyStringAsZero; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */