00001 /************************************************************************ 00002 filename: CEGUIPushButton.h 00003 created: 13/4/2004 00004 author: Paul D Turner 00005 00006 purpose: Interface to base class for PushButton widget 00007 *************************************************************************/ 00008 /************************************************************************* 00009 Crazy Eddie's GUI System (http://www.cegui.org.uk) 00010 Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk) 00011 00012 This library is free software; you can redistribute it and/or 00013 modify it under the terms of the GNU Lesser General Public 00014 License as published by the Free Software Foundation; either 00015 version 2.1 of the License, or (at your option) any later version. 00016 00017 This library is distributed in the hope that it will be useful, 00018 but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00020 Lesser General Public License for more details. 00021 00022 You should have received a copy of the GNU Lesser General Public 00023 License along with this library; if not, write to the Free Software 00024 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00025 *************************************************************************/ 00026 #ifndef _CEGUIPushButton_h_ 00027 #define _CEGUIPushButton_h_ 00028 00029 #include "CEGUIBase.h" 00030 #include "elements/CEGUIButtonBase.h" 00031 00032 // Start of CEGUI namespace section 00033 namespace CEGUI 00034 { 00039 class CEGUIBASE_API PushButton : public ButtonBase 00040 { 00041 public: 00042 static const String EventNamespace; 00043 00044 00045 /************************************************************************* 00046 Event name constants 00047 *************************************************************************/ 00048 // generated internally by Window 00049 static const String EventClicked; 00050 00051 /************************************************************************* 00052 Construction and Destruction 00053 *************************************************************************/ 00058 PushButton(const String& type, const String& name); 00059 00060 00065 virtual ~PushButton(void); 00066 00067 00068 protected: 00069 /************************************************************************* 00070 New Event Handlers 00071 *************************************************************************/ 00076 virtual void onClicked(WindowEventArgs& e); 00077 00078 00079 /************************************************************************* 00080 Overridden Event Handlers 00081 *************************************************************************/ 00082 virtual void onMouseButtonUp(MouseEventArgs& e); 00083 00084 00085 /************************************************************************* 00086 Implementation Functions 00087 *************************************************************************/ 00092 void addPushButtonEvents(void); 00093 }; 00094 00095 00096 } // End of CEGUI namespace section 00097 00098 00099 #endif // end of guard _CEGUIPushButton_h_