CEGUIGUISheet.h

00001 /************************************************************************
00002     filename:   CEGUIGUISheet.h
00003     created:    5/6/2004
00004     author:     Paul D Turner
00005 
00006     purpose:    Interface to a default window
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 _CEGUIGUISheet_h_
00027 #define _CEGUIGUISheet_h_
00028 
00029 #include "CEGUIWindow.h"
00030 #include "CEGUIWindowFactory.h"
00031 
00032 
00033 // Start of CEGUI namespace section
00034 namespace CEGUI
00035 {
00047 class CEGUIEXPORT GUISheet : public Window
00048 {
00049 public:
00050     /*************************************************************************
00051         Constants
00052     *************************************************************************/
00053     // type name for this widget
00054     static const String WidgetTypeName;             
00055 
00056 
00057     /*************************************************************************
00058         Construction and Destruction
00059     *************************************************************************/
00064     GUISheet(const String& type, const String& name) : Window(type, name) {}
00065 
00066 
00071     virtual ~GUISheet(void) {}
00072 
00073 
00074 protected:
00085     virtual void    drawSelf(float z) {}
00086 
00087 
00092     void initialise(void)
00093     {
00094         Window::initialise();
00095 
00096         setMaximumSize(Size(1.0f, 1.0f));
00097         setSize(Size(1.0f, 1.0f));
00098     }
00099 
00100 
00111         virtual bool    testClassName_impl(const String& class_name) const
00112         {
00113                 if (class_name==(const utf8*)"GUISheet")        return true;
00114                 return Window::testClassName_impl(class_name);
00115         }
00116 };
00117 
00118 
00123 class GUISheetFactory : public WindowFactory
00124 {
00125 public:
00126     /*************************************************************************
00127         Construction and Destruction
00128     *************************************************************************/
00129     GUISheetFactory(void) : WindowFactory(GUISheet::WidgetTypeName) { }
00130     ~GUISheetFactory(void){}
00131 
00132 
00143     Window* createWindow(const String& name)
00144     {
00145         return new GUISheet(d_type, name);
00146     }
00147 
00148 
00159     virtual void    destroyWindow(Window* window)    { if (window->getType() == d_type) delete window; }
00160 };
00161 
00166 typedef GUISheet DefaultWindow;
00167 
00168 
00169 } // End of  CEGUI namespace section
00170 
00171 
00172 #endif  // end of guard _CEGUIGUISheet_h_

Generated on Sat Nov 26 10:09:54 2005 for Crazy Eddies GUI System by  doxygen 1.4.5