00001 /************************************************************************ 00002 filename: CEGUIGroupBox.h 00003 created: 03/23/2007 00004 author: Lars 'Levia' Wesselius (Content Pane based on Tomas Lindquist Olsen's code) 00005 00006 purpose: Interface for the GroupBox 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 _CEGUIGroupBox_h_ 00027 #define _CEGUIGroupBox_h_ 00028 00029 #include "CEGUIBase.h" 00030 #include "CEGUIWindowFactory.h" 00031 #include "elements/CEGUIClippedContainer.h" 00032 #include <vector> 00033 00034 00035 #if defined(_MSC_VER) 00036 # pragma warning(push) 00037 # pragma warning(disable : 4251) 00038 #endif 00039 00040 00041 // Start of CEGUI namespace section 00042 namespace CEGUI 00043 { 00044 00049 class CEGUIEXPORT GroupBox : public Window 00050 { 00051 protected: 00052 00053 public: 00054 static const String EventNamespace; 00055 00056 00057 /************************************************************************* 00058 Constants 00059 *************************************************************************/ 00060 // temp 00061 static const String WidgetTypeName; 00062 00063 static const String ContentPaneNameSuffix; 00064 00065 00066 /************************************************************************* 00067 Construction and Destruction 00068 *************************************************************************/ 00073 GroupBox(const String& type, const String& name); 00074 00075 00080 virtual ~GroupBox(); 00081 00087 bool drawAroundWidget(const CEGUI::Window * wnd); 00088 bool drawAroundWidget(const String& name); 00089 00100 virtual bool testClassName_impl(const String& class_name) const 00101 { 00102 if (class_name=="GroupBox") return true; 00103 return Window::testClassName_impl(class_name); 00104 } 00105 00113 Window * getContentPane() const; 00114 00115 00116 protected: 00117 00118 00119 // Overridden from Window 00124 virtual void initialiseComponents(); 00125 00130 virtual void addChild_impl(Window* wnd); 00131 00136 virtual void removeChild_impl(Window* wnd); 00137 00138 00139 }; 00140 00141 } // End of CEGUI namespace section 00142 00143 00144 #if defined(_MSC_VER) 00145 # pragma warning(pop) 00146 #endif 00147 00148 #endif // end of guard _CEGUIGroupBox_h_