// w32dlib - Win32 Control Helpers // // Copyright (C) 2005 Ian Cowburn (ianc@noddybox.demon.co.uk) // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program 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 General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // ------------------------------------------------------------------------- // #ifndef W32DLIB_AUTOCHECK_H #define W32DLIB_AUTOCHECK_H "$Id$" #include "w32dlib/base.h" #include "w32dlib/control.h" namespace W32DLib { /// \brief The AutoCheck class. /// class AutoCheck : public Control { public: /// \brief Describes the checkstate /// enum EState { eError =0, ///< Error getting state eChecked =BST_CHECKED, ///< Checked eUnchecked =BST_UNCHECKED, ///< Unchecked eIndeterminate =BST_INDETERMINATE ///< Indeterminate }; /// \brief Constructor /// /// \param parent The dialog the control belongs to. /// \param resource_id The ID of the control in the resource file. /// \param datax The DataX to use. NULL means don't use data exchange. /// AutoCheck(Dialog *parent, int resource_id, DataX *datax); /// \brief Destructor /// virtual ~AutoCheck(); /// \brief Sets a callback for a button press /// /// \param owner The class the callback resides in. /// \param callback The callback. /// void OnPress(Window *owner, W32DLibCallback callback); /// \brief Sets the tickstate. /// /// This member allows the indeterminate checks to be set. /// /// \param state The tick state /// \sa GetState() /// void SetFullState(EState state); /// \brief Gets the tickstate. /// /// This member allows the indeterminate state to be tested. /// /// \return The tick state /// \sa SetState() /// EState GetFullState(); /// \brief Sets the tickstate. /// /// \param state The tick state /// \sa GetState() /// void SetState(bool state); /// \brief Gets the tickstate. /// /// \return The tick state /// \sa SetState() /// bool GetState(); /// \brief Performs data exchange. /// /// Support types: /// /// \link DataX::eString eString \endlink -- see /// Control::DoDataExchange() /// /// \link DataX::eInt eInt \endlink -- same as /// GetFullState() / SetFullState() /// /// \link DataX::eBool eBool \endlink -- same as /// GetState() / SetState() /// /// \param set If true the set the Control from the DataX object. If /// false then set the DataX object from the Control. /// virtual void DoDataExchange(bool set); protected: private: }; // class AutoCheck }; // namespace w32dlib #endif // W32DLIB_AUTOCHECK_H // END OF FILE