Crazy Eddies GUI System  0.7.0
CEGUIGroupBox.h
1 /************************************************************************
2  filename: CEGUIGroupBox.h
3  created: 03/23/2007
4  author: Lars 'Levia' Wesselius (Content Pane based on Tomas Lindquist Olsen's code)
5 
6  purpose: Interface for the GroupBox widget
7 *************************************************************************/
8 /*************************************************************************
9  Crazy Eddie's GUI System (http://www.cegui.org.uk)
10  Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
11 
12  This library is free software; you can redistribute it and/or
13  modify it under the terms of the GNU Lesser General Public
14  License as published by the Free Software Foundation; either
15  version 2.1 of the License, or (at your option) any later version.
16 
17  This library is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20  Lesser General Public License for more details.
21 
22  You should have received a copy of the GNU Lesser General Public
23  License along with this library; if not, write to the Free Software
24  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 *************************************************************************/
26 #ifndef _CEGUIGroupBox_h_
27 #define _CEGUIGroupBox_h_
28 
29 #include "../CEGUIBase.h"
30 #include "../CEGUIWindowFactory.h"
31 #include "CEGUIClippedContainer.h"
32 #include <vector>
33 
34 
35 #if defined(_MSC_VER)
36 # pragma warning(push)
37 # pragma warning(disable : 4251)
38 #endif
39 
40 
41 // Start of CEGUI namespace section
42 namespace CEGUI
43 {
44 
49  class CEGUIEXPORT GroupBox : public Window
50  {
51  protected:
52 
53  public:
54  static const String EventNamespace;
55 
56 
57  /*************************************************************************
58  Constants
59  *************************************************************************/
60  // temp
61  static const String WidgetTypeName;
62 
63  static const String ContentPaneNameSuffix;
64 
65 
66  /*************************************************************************
67  Construction and Destruction
68  *************************************************************************/
73  GroupBox(const String& type, const String& name);
74 
75 
80  virtual ~GroupBox();
81 
87  bool drawAroundWidget(const CEGUI::Window * wnd);
88  bool drawAroundWidget(const String& name);
89 
100  virtual bool testClassName_impl(const String& class_name) const
101  {
102  if (class_name=="GroupBox") return true;
103  return Window::testClassName_impl(class_name);
104  }
105 
113  Window * getContentPane() const;
114 
115 
116  protected:
117 
118 
119  // Overridden from Window
124  virtual void initialiseComponents();
125 
130  virtual void addChild_impl(Window* wnd);
131 
136  virtual void removeChild_impl(Window* wnd);
137 
138 
139  };
140 
141 } // End of CEGUI namespace section
142 
143 
144 #if defined(_MSC_VER)
145 # pragma warning(pop)
146 #endif
147 
148 #endif // end of guard _CEGUIGroupBox_h_