#ifndef _GUIGRIDCTRL_H_ #define _GUIGRIDCTRL_H_ #ifndef _GUICONTROL_H_ #include "gui/guiControl.h" #endif #include "graphics/dgl.h" #include "console/console.h" #include "console/consoleTypes.h" class GuiGridControl : public GuiControl { private: struct GridItem { int Size; bool IsPercentage; bool IsRemaining; bool IsAbsolute; }; private: typedef GuiControl Parent; Vector mGridRows; Vector mGridCols; Vector mRowSizes; Vector mColSizes; Vector mOrginalControlPos; void AdjustGrid(const Point2I& newExtent); void AdjustGridItems(S32 size, Vector& strItems, Vector& items); RectI GetGridRect(GuiControl* ctrl); bool IsPointInGridControl(GuiControl* ctrl, const Point2I& pt); public: GuiGridControl(); void resize(const Point2I &newPosition, const Point2I &newExtent); void inspectPostApply(); void addObject(SimObject *obj); void removeObject(SimObject *obj); bool onWake(); void onSleep(); static void initPersistFields(); DECLARE_CONOBJECT(GuiGridControl); }; #endif // _GUIGRIDCTRL_H_