diff options
Diffstat (limited to 'extensions/source/dbpilots/groupboxwiz.hxx')
-rw-r--r-- | extensions/source/dbpilots/groupboxwiz.hxx | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/extensions/source/dbpilots/groupboxwiz.hxx b/extensions/source/dbpilots/groupboxwiz.hxx new file mode 100644 index 000000000000..97a2cd1a3109 --- /dev/null +++ b/extensions/source/dbpilots/groupboxwiz.hxx @@ -0,0 +1,229 @@ +/************************************************************************* + * + * 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 _EXTENSIONS_DBP_GROUPBOXWIZ_HXX_ +#define _EXTENSIONS_DBP_GROUPBOXWIZ_HXX_ + +#include "controlwizard.hxx" +#include "commonpagesdbp.hxx" + +//......................................................................... +namespace dbp +{ +//......................................................................... + + //===================================================================== + //= OOptionGroupSettings + //===================================================================== + struct OOptionGroupSettings : public OControlWizardSettings + { + StringArray aLabels; + StringArray aValues; + String sDefaultField; + String sDBField; + String sName; + }; + + //===================================================================== + //= OGroupBoxWizard + //===================================================================== + class OGroupBoxWizard : public OControlWizard + { + protected: + OOptionGroupSettings m_aSettings; + + sal_Bool m_bVisitedDefault : 1; + sal_Bool m_bVisitedDB : 1; + + public: + OGroupBoxWizard( + Window* _pParent, + const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxObjectModel, + const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB + ); + + OOptionGroupSettings& getSettings() { return m_aSettings; } + + protected: + // OWizardMachine overridables + virtual ::svt::OWizardPage* createPage( WizardState _nState ); + virtual WizardState determineNextState( WizardState _nCurrentState ) const; + virtual void enterState( WizardState _nState ); + + virtual sal_Bool onFinish(sal_Int32 _nResult); + + virtual sal_Bool approveControl(sal_Int16 _nClassId); + + protected: + void createRadios(); + }; + + //===================================================================== + //= OGBWPage + //===================================================================== + class OGBWPage : public OControlWizardPage + { + public: + OGBWPage( OControlWizard* _pParent, const ResId& _rId ) : OControlWizardPage(_pParent, _rId) { } + + protected: + OOptionGroupSettings& getSettings() { return static_cast<OGroupBoxWizard*>(getDialog())->getSettings(); } + }; + + //===================================================================== + //= ORadioSelectionPage + //===================================================================== + class ORadioSelectionPage : public OGBWPage + { + protected: + FixedLine m_aFrame; + FixedText m_aRadioNameLabel; + Edit m_aRadioName; + PushButton m_aMoveRight; + PushButton m_aMoveLeft; + FixedText m_aExistingRadiosLabel; + ListBox m_aExistingRadios; + + public: + ORadioSelectionPage( OControlWizard* _pParent ); + + protected: + // TabPage overridables + void ActivatePage(); + + // OWizardPage overridables + virtual void initializePage(); + virtual sal_Bool commitPage( CommitPageReason _eReason ); + virtual bool canAdvance() const; + + DECL_LINK( OnMoveEntry, PushButton* ); + DECL_LINK( OnEntrySelected, ListBox* ); + DECL_LINK( OnNameModified, Edit* ); + + void implCheckMoveButtons(); + }; + + //===================================================================== + //= ODefaultFieldSelectionPage + //===================================================================== + class ODefaultFieldSelectionPage : public OMaybeListSelectionPage + { + protected: + FixedLine m_aFrame; + FixedText m_aDefaultSelectionLabel; + RadioButton m_aDefSelYes; + RadioButton m_aDefSelNo; + ListBox m_aDefSelection; + + public: + ODefaultFieldSelectionPage( OControlWizard* _pParent ); + + protected: + // OWizardPage overridables + virtual void initializePage(); + virtual sal_Bool commitPage( CommitPageReason _eReason ); + + OOptionGroupSettings& getSettings() { return static_cast<OGroupBoxWizard*>(getDialog())->getSettings(); } + }; + + //===================================================================== + //= OOptionValuesPage + //===================================================================== + class OOptionValuesPage : public OGBWPage + { + protected: + FixedLine m_aFrame; + FixedText m_aDescription; + FixedText m_aValueLabel; + Edit m_aValue; + FixedText m_aOptionsLabel; + ListBox m_aOptions; + + StringArray m_aUncommittedValues; + WizardState m_nLastSelection; + + public: + OOptionValuesPage( OControlWizard* _pParent ); + + protected: + // TabPage overridables + void ActivatePage(); + + // OWizardPage overridables + virtual void initializePage(); + virtual sal_Bool commitPage( CommitPageReason _eReason ); + + void implTraveledOptions(); + + DECL_LINK( OnOptionSelected, ListBox* ); + }; + + //===================================================================== + //= OOptionDBFieldPage + //===================================================================== + class OOptionDBFieldPage : public ODBFieldPage + { + public: + OOptionDBFieldPage( OControlWizard* _pParent ); + + protected: + OOptionGroupSettings& getSettings() { return static_cast<OGroupBoxWizard*>(getDialog())->getSettings(); } + + // ODBFieldPage overridables + virtual String& getDBFieldSetting(); + }; + + //===================================================================== + //= OFinalizeGBWPage + //===================================================================== + class OFinalizeGBWPage : public OGBWPage + { + protected: + FixedLine m_aFrame; + FixedText m_aNameLabel; + Edit m_aName; + FixedText m_aThatsAll; + + public: + OFinalizeGBWPage( OControlWizard* _pParent ); + + protected: + // TabPage overridables + void ActivatePage(); + + // OWizardPage overridables + virtual void initializePage(); + virtual sal_Bool commitPage( CommitPageReason _eReason ); + virtual bool canAdvance() const; + }; + +//......................................................................... +} // namespace dbp +//......................................................................... + +#endif // _EXTENSIONS_DBP_GROUPBOXWIZ_HXX_ + |