OSDN Git Service

fix cmake/Macros.cmake
[moflib/moflib.git] / moflib-1.0 / src / mof / widget / Layout.hpp
1 #pragma once
2
3 #include "mof/Vector2D.hpp"
4 #include "mof/Rectangle.hpp"
5
6 namespace mof
7 {
8 namespace widget
9 {
10     class WidgetView;
11
12     class Layout
13     {
14
15         public:
16                 virtual ~Layout(){}
17                 virtual void add(std::shared_ptr<WidgetView> pView) = 0;
18         virtual Vector2D getPreferredSize() const = 0;
19         virtual void connect( WidgetView* pParentView) = 0;
20                 virtual size_t getLength() const = 0;
21         virtual int getAdjacencyAsUp(int index) const = 0;
22         virtual int getAdjacencyAsDown(int index) const = 0;
23         virtual int getAdjacencyAsLeft(int index) const = 0;
24         virtual int getAdjacencyAsRight(int index) const = 0;
25         };
26 }
27 }