# 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_