Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CEGUITabButton.h

Go to the documentation of this file.
00001 /************************************************************************
00002         filename:       CEGUITabButton.h
00003         created:        8/8/2004
00004         author:         Steve Streeting
00005         
00006         purpose:        Interface to base class for TabButton 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 _CEGUITabButton_h_
00027 #define _CEGUITabButton_h_
00028 
00029 #include "CEGUIBase.h"
00030 #include "elements/CEGUIButtonBase.h"
00031 
00032 // Start of CEGUI namespace section
00033 namespace CEGUI
00034 {
00039 class CEGUIEXPORT TabButton : 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         TabButton(const String& type, const String& name);
00059 
00060 
00065         virtual ~TabButton(void);
00066 
00071     virtual void setSelected(bool selected) { d_selected = selected; requestRedraw(); }
00072 
00079     virtual void setRightOfSelected(bool isRight) { d_rightOfSelected = isRight; requestRedraw(); }
00080 
00085     bool isSelected(void) const { return d_selected; }
00086 
00087 
00093     void setTargetWindow(Window* wnd);
00099     Window* getTargetWindow(void) { return d_targetWindow; }
00100 
00105     void setTabIndex(uint idx) { d_tabIndex = idx; }
00106 
00111     uint getTabIndex(void) { return d_tabIndex; }
00112 protected:
00113     /*************************************************************************
00114     Implementation Data
00115     *************************************************************************/
00116     bool    d_selected;             
00117     bool    d_rightOfSelected;      
00118     Window* d_targetWindow;         
00119     uint    d_tabIndex;             
00120         /*************************************************************************
00121                 New Event Handlers
00122         *************************************************************************/
00127         virtual void    onClicked(WindowEventArgs& e);
00128 
00129 
00130         /*************************************************************************
00131                 Overridden Event Handlers
00132         *************************************************************************/
00133         virtual void    onMouseButtonUp(MouseEventArgs& e);
00134 
00135 
00136         /*************************************************************************
00137                 Implementation Functions
00138         *************************************************************************/
00143         void    addTabButtonEvents(void);
00154         void    drawSelf(float z);
00155 
00156 
00167         virtual bool    testClassName_impl(const String& class_name) const
00168         {
00169                 if (class_name==(const utf8*)"TabButton")       return true;
00170                 return ButtonBase::testClassName_impl(class_name);
00171         }
00172 };
00173 
00174 
00175 } // End of  CEGUI namespace section
00176 
00177 
00178 #endif  // end of guard _CEGUITabButton_h_

Generated on Wed Sep 7 09:56:34 2005 for Crazy Eddies GUI System by  doxygen 1.4.3