SCV  4.2.1
Simple Components for Visual
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ParallelGroup.h
Go to the documentation of this file.
1 #ifndef __SCV_PARALLEL_GROUP_H__
2 #define __SCV_PARALLEL_GROUP_H__
3 
4 #include "Group.h"
5 
6 namespace scv {
7 
8 class ParallelGroup : public Group {
9 public:
10  ParallelGroup(Spring::Alignment alignment, bool resizable);
11 
12  virtual ParallelGroup *addGroup(Group *group);
13 
14  virtual ParallelGroup *addComponent(Component *component);
15  virtual ParallelGroup *addComponent(Component *component, int size);
16  virtual ParallelGroup *addComponent(Component *component, int min, int pref, int max);
17 
18  virtual ParallelGroup *addGap(int size);
19  virtual ParallelGroup *addGap(int min, int pref, int max);
20 
21  virtual int calculateMinimumSize(Spring::Axis axis);
22  virtual int calculateMaximumSize(Spring::Axis axis);
23 
24  virtual void setValidSize(Spring::Axis axis, int origin, int size);
25  virtual void setChildSize(Spring *spring, Spring::Axis axis, int origin, int size);
26 
27  virtual inline bool isResizable(void) const;
28  virtual inline int combined(int a, int b);
29 protected:
31  bool _resizable;
32 private:
33 };
34 
36 
37 bool ParallelGroup::isResizable(void) const {
38  return _resizable;
39 }
40 
41 int ParallelGroup::combined(int a, int b) {
42  return std::max(a, b);
43 }
44 
45 } //namespace scv
46 
47 #endif //__SCV_PARALLEL_GROUP_H__