OSDN Git Service

fix cmake/Macros.cmake
[moflib/moflib.git] / moflib-1.0 / moflib / moflib / mof / widget / GridLayout.hpp
1 #pragma once
2 #include <memory>
3 #include <mof/widget/Layout.hpp>
4
5 namespace mof
6 {
7 namespace widget
8 {
9
10         class GridLayout : public Layout
11     {
12
13         public:
14                 enum Direction
15         {
16                         HORIZONTAL , VERTICAL
17                 };
18
19                 GridLayout(Direction direction , int span , int margin = 0 );
20                 virtual ~GridLayout();
21                 virtual void add(std::shared_ptr<WidgetView> pView);
22         virtual Vector2D getPreferredSize() const;
23         virtual void connect(WidgetView* pParentView);
24         virtual size_t getLength( ) const;
25         virtual int getAdjacencyAsUp(int index) const;
26         virtual int getAdjacencyAsDown(int index) const;
27         virtual int getAdjacencyAsLeft(int index) const;
28         virtual int getAdjacencyAsRight(int index) const;
29
30     private:
31         struct Impl;
32                 std::unique_ptr<Impl> m_pImpl;
33         };
34
35 }
36 } // namepsace mof
37