|
cschkbox.h00001 /* 00002 Crystal Space Windowing System: check box button class 00003 Copyright (C) 1998,1999 by Andrew Zabolotny <bit@eltech.ru> 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00018 */ 00019 00020 #ifndef __CSCHKBOX_H__ 00021 #define __CSCHKBOX_H__ 00022 00023 #include "cscomp.h" 00024 #include "csbutton.h" 00025 00028 #define CSBS_CBTYPEMASK 0x00010000 00029 00030 #define CSBS_CB2STATE 0x00000000 00031 00032 #define CSBS_CB3STATE 0x00010000 00033 00034 #define CSBS_CBAUTO 0x00020000 00035 00037 #define CSBS_DEFAULTCHECKBOX (CSBS_SELECTABLE | \ 00038 CSBS_CB2STATE | CSBS_CBAUTO) 00039 00040 enum 00041 { 00048 cscmdCheckBoxSet = 0x00000800, 00055 cscmdCheckBoxQuery, 00062 cscmdCheckBoxSwitched 00063 }; 00064 00066 enum csCheckBoxState 00067 { 00069 cscbsNonChecked, 00071 cscbsChecked, 00073 cscbsIndefinite 00074 }; 00075 00081 class csCheckBox : public csButton 00082 { 00084 csCheckBoxState CheckBoxState; 00085 public: 00087 csCheckBox (csComponent *iParent, int iButtonID, int iButtonStyle = 00088 CSBS_DEFAULTCHECKBOX); 00089 00091 virtual bool HandleEvent (iEvent &Event); 00092 00093 protected: 00095 virtual void Press (); 00097 void SetButtBitmap (char *id_n, char *id_p); 00099 void SetCheckBoxState (csCheckBoxState iNewState); 00100 }; 00101 00102 #endif // __CSCHKBOX_H__ Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000 |