add gui/Layout.h Widget.h

This commit is contained in:
2020-10-14 21:05:30 +08:00
parent 94cd8e1d78
commit 111f1f8951
2 changed files with 125 additions and 0 deletions

58
inc/hgl/gui/Layout.h Normal file
View File

@@ -0,0 +1,58 @@
#ifndef HGL_GUI_LAYOUT_INCLUDE
#define HGL_GUI_LAYOUT_INCLUDE
#include<hgl/gui/Widget.h>
#include<hgl/type/Sets.h>
namespace hgl
{
namespace gui
{
/**
* 布局器基础
*/
class LayoutBase
{
protected:
Sets<Widget *> widgets_set;
public:
virtual bool AddWidget(Widget *);
virtual bool RemoveWidget(Widget *);
};//class LayoutBase
/**
* 布局器
*/
class Layout:public LayoutBase
{
public:
};//class Layout:public LayoutBase
/**
* 垂直分布布局器
*/
class VBoxLayout:public LayoutBase
{
public:
};//class VBoxLayout:public LayoutBase
/**
* 水平分布布局器
*/
class HBoxLayout:public LayoutBase
{
public:
};//class HBoxLayout:public LayoutBase
/**
* 网格分布布局器
*/
class GridLayout:public LayoutBase
{
public:
};//class GridLayout:public LayoutBase
}//namespace gui
}//namespace hgl
#endif//HGL_GUI_LAYOUT_INCLUDE