30 #ifndef _CEGUILayoutContainer_h_
31 #define _CEGUILayoutContainer_h_
33 #include "../CEGUIWindow.h"
38 # pragma warning(push)
39 # pragma warning(disable : 4251)
85 void markNeedsLayouting();
91 bool needsLayouting()
const;
97 virtual void layout() = 0;
104 virtual void layoutIfNecessary();
107 virtual Rect getUnclippedInnerRect_impl(
void)
const;
111 virtual Rect getClientChildWindowContentArea_impl()
const;
114 virtual bool testClassName_impl(
const String& class_name)
const
116 if (class_name ==
"LayoutContainer")
return true;
121 size_t getIdxOfChildWindow(
Window* wnd)
const;
124 virtual void addChild_impl(
Window* wnd);
126 virtual void removeChild_impl(
Window* wnd);
142 virtual bool handleChildSized(
const EventArgs& e);
153 virtual bool handleChildMarginChanged(
const EventArgs& e);
164 virtual bool handleChildAdded(
const EventArgs& e);
175 virtual bool handleChildRemoved(
const EventArgs& e);
193 bool d_needsLayouting;
195 typedef std::multimap<Window*, Event::Connection> ConnectionTracker;
202 #if defined(_MSC_VER)
203 # pragma warning(pop)
206 #endif // end of guard _CEGUILayoutContainer_h_