00001 // wg_checkbox.h 00002 // 00003 // CCheckBox interface 00004 // 00005 // 00006 // Copyright (c) 2002-2004 Rob Wiskow 00007 // rob-dev@boxedchaos.com 00008 // 00009 // This library is free software; you can redistribute it and/or 00010 // modify it under the terms of the GNU Lesser General Public 00011 // License as published by the Free Software Foundation; either 00012 // version 2.1 of the License, or (at your option) any later version. 00013 // 00014 // This library is distributed in the hope that it will be useful, 00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 // Lesser General Public License for more details. 00018 // 00019 // You should have received a copy of the GNU Lesser General Public 00020 // License along with this library; if not, write to the Free Software 00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00022 // 00023 00024 00025 #ifndef _WG_CHECKBOX_H_ 00026 #define _WG_CHECKBOX_H_ 00027 00028 #include "wg_window.h" 00029 #include "wg_painter.h" 00030 00031 00032 namespace wGui 00033 { 00034 00036 00040 00041 class CCheckBox : public CWindow 00042 { 00043 public: 00047 CCheckBox(const CRect& WindowRect, CWindow* pParent); 00048 00050 virtual ~CCheckBox(void); 00051 00053 enum EState { 00054 UNCHECKED, 00055 CHECKED, 00056 DISABLED 00057 }; 00058 00061 EState GetCheckBoxState(void) const { return m_eCheckBoxState; } 00062 00065 void SetCheckBoxState(EState eState); 00066 00067 00068 // CWindow overrides 00070 virtual void Draw(void) const; 00071 00077 virtual bool OnMouseButtonDown(CPoint Point, unsigned int Button); 00078 00084 virtual bool OnMouseButtonUp(CPoint Point, unsigned int Button); 00085 00086 00087 // CMessageClient overrides 00090 virtual bool HandleMessage(CMessage* pMessage); 00091 00092 00093 protected: 00094 EState m_eCheckBoxState; 00095 unsigned int m_MouseButton; 00096 00097 00098 private: 00099 void operator=(CCheckBox) { } 00100 }; 00101 00102 } 00103 00104 00105 #include "unit_tests/wg_checkbox_unittests.h" 00106 00107 #endif // _WG_CHECKBOX_H_ 00108