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;
110 virtual void update(
float elapsed);
114 virtual Rect getClientChildWindowContentArea_impl()
const;
117 virtual bool testClassName_impl(
const String& class_name)
const
119 if (class_name ==
"LayoutContainer")
return true;
124 size_t getIdxOfChildWindow(
Window* wnd)
const;
127 virtual void addChild_impl(
Window* wnd);
129 virtual void removeChild_impl(
Window* wnd);
143 virtual bool handleChildSized(
const EventArgs& e);
154 virtual bool handleChildMarginChanged(
const EventArgs& e);
165 virtual bool handleChildAdded(
const EventArgs& e);
176 virtual bool handleChildRemoved(
const EventArgs& e);
194 bool d_needsLayouting;
196 typedef std::multimap<Window*, Event::Connection> ConnectionTracker;
203 #if defined(_MSC_VER)
204 # pragma warning(pop)
207 #endif // end of guard _CEGUILayoutContainer_h_