/* -*- 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/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_TP_RANGECHOOSER_HXX #define INCLUDED_CHART2_SOURCE_CONTROLLER_DIALOGS_TP_RANGECHOOSER_HXX #include "RangeSelectionListener.hxx" #include "TabPageNotifiable.hxx" #include #include #include #include #include #include #include namespace chart { class ChartTypeTemplateProvider; class DialogModel; class RangeChooserTabPage : public svt::OWizardPage, public RangeSelectionListenerParent { public: RangeChooserTabPage( vcl::Window* pParent , DialogModel & rDialogModel , ChartTypeTemplateProvider* pTemplateProvider , Dialog * pParentDialog , bool bHideDescription = false ); virtual ~RangeChooserTabPage() override; virtual void dispose() override; //RangeSelectionListenerParent virtual void listeningFinished( const OUString & rNewRange ) override; virtual void disposingRangeSelection() override; void commitPage(); protected: //methods //OWizardPage virtual void ActivatePage() override; virtual bool commitPage( ::svt::WizardTypes::CommitPageReason eReason ) override; //TabPage virtual void DeactivatePage() override; void initControlsFromModel(); void changeDialogModelAccordingToControls(); bool isValid(); void setDirty(); DECL_LINK( ChooseRangeHdl, Button*, void ); DECL_LINK( ControlChangedHdl, Edit&, void ); DECL_LINK( ControlChangedCheckBoxHdl, CheckBox&, void ); DECL_LINK( ControlChangedRadioHdl, RadioButton&, void ); DECL_LINK( ControlEditedHdl, Edit&, void ); protected: //member VclPtr m_pFT_Caption; VclPtr m_pFT_Range; VclPtr m_pED_Range; VclPtr m_pIB_Range; VclPtr m_pRB_Rows; VclPtr m_pRB_Columns; VclPtr m_pCB_FirstRowAsLabel; VclPtr m_pCB_FirstColumnAsLabel; VclPtr m_pFTTitle; VclPtr m_pFL_TimeBased; VclPtr m_pCB_TimeBased; VclPtr m_pFT_TimeStart; VclPtr m_pEd_TimeStart; VclPtr m_pFT_TimeEnd; VclPtr m_pEd_TimeEnd; sal_Int32 m_nChangingControlCalls; bool m_bIsDirty; OUString m_aLastValidRangeString; css::uno::Reference< css::chart2::XChartTypeTemplate > m_xCurrentChartTypeTemplate; ChartTypeTemplateProvider* m_pTemplateProvider; DialogModel & m_rDialogModel; VclPtr m_pParentDialog; TabPageNotifiable * m_pTabPageNotifiable; }; } //namespace chart #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */