Flair
Framework Libre Air
Layout.h
Go to the documentation of this file.
1 // %flair:license{
2 // This file is part of the Flair framework distributed under the
3 // CECILL-C License, Version 1.0.
4 // %flair:license}
13 #ifndef LAYOUT_H
14 #define LAYOUT_H
15 
16 #include <Widget.h>
17 #include <Mutex.h>
18 
19 namespace flair {
20 namespace gui {
21 class LayoutPosition;
22 
33 class Layout : public Widget {
34  friend class Box;
35 
36 public:
47  Layout(const Widget *parent, std::string name, std::string type);
48 
53  ~Layout();
54 
62  LayoutPosition *LastRowLastCol(void) const;
63 
72  LayoutPosition *NewRow(void) const;
73 
84  LayoutPosition *At(uint16_t row, uint16_t col) const;
85 
86 private:
93  core::Mutex *mutex;
94 };
95 
96 } // end namespace gui
97 } // end namespace flair
98 
99 #endif // LAYOUT_H
namespace of the flair Framework
Definition: Ahrs.h:19
LayoutPosition * At(uint16_t row, uint16_t col) const
LayoutPosition at specified position.
Class defining a mutex.
Definition: Mutex.h:29
Abstract class for all Framework's widget classes.
Abstract class to display a layout on the ground station.
Definition: Layout.h:33
LayoutPosition * LastRowLastCol(void) const
Last Row and Col LayoutPosition.
Abstract class to display a box on the ground station.
Definition: Box.h:35
~Layout()
Destructor.
Class defining a mutex.
Abstract class for all Framework's widget classes.
Definition: Widget.h:38
Layout(const Widget *parent, std::string name, std::string type)
Constructor.
Class to define a position in a layout on the ground station.
Definition: LayoutPosition.h:28
LayoutPosition * NewRow(void) const
New Row LayoutPosition.