OSDN Git Service

rm latex/
[moflib/moflib.git] / oldmof / Container2D.h
1 #pragma once
2 #include "mof/Component2D.h"
3 #include <vector>
4
5 namespace mof{
6         
7         class Container2D : public Component2D{
8                 std::vector<mof::Component2D*> m_children;
9                 mof::Vector2D m_position;
10                 int m_margin;
11                 int m_paddingX;
12                 int m_paddingY;
13                 int m_nColumns;
14         public:
15                 Container2D(int nColumns = 1);
16                 ~Container2D();
17
18                 virtual bool update();
19                 virtual bool draw();
20         
21                 void add(mof::Component2D* component);
22                 bool remove(mof::Component2D* component);
23                 mof::Component2D* get(int index);
24                 void set(int index , mof::Component2D* component);
25                 int indexOf(mof::Component2D* component);
26                 int size(){return m_children.size();}
27                 
28                 mof::Vector2D getPositionOf(int index);
29                 
30                 virtual void setPosition(Vector2D& position);
31                 void setMargin(int margin){m_margin = margin;}
32                 void setColumn(int nColumns){m_nColumns = nColumns;}
33                 void setPaddingX(int paddingX){m_paddingX = paddingX;}
34                 void setPaddingY(int paddingY){m_paddingY = paddingY;}
35                 int getMargin(){return m_margin;}
36                 virtual mof::Vector2D getPosition();
37                 virtual int getWidth();
38                 virtual int getHeight();
39                 
40                 virtual void setVisible(bool visible);
41                 virtual RectangleModel getBounds();
42                 virtual void setLayout();
43                 
44         };
45 };