SCV
4.2.1
Simple Components for Visual
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
Group.h
Go to the documentation of this file.
1
#ifndef __SCV_GROUP_H__
2
#define __SCV_GROUP_H__
3
4
#include "
Spring.h
"
5
6
#include "
Component.h
"
7
8
namespace
scv {
9
10
class
Group
:
public
Spring
{
11
public
:
12
typedef
std::list<Spring*>
SpringsList
;
13
14
enum
SizeType
{
15
MIN_SIZE
,
PREF_SIZE
,
MAX_SIZE
16
};
17
18
virtual
Group
*
addGroup
(
Group
*group);
19
20
virtual
Group
*
addComponent
(
Component
*component);
21
virtual
Group
*
addComponent
(
Component
*component,
int
size);
22
virtual
Group
*
addComponent
(
Component
*component,
int
min,
int
pref,
int
max);
23
void
removeComponent
(
scv::Component
*
object
);
24
25
virtual
Group
*
addGap
(
int
size);
26
virtual
Group
*
addGap
(
int
min,
int
pref,
int
max);
27
28
virtual
Group
*
addSpring
(
Spring
*spring);
29
30
virtual
int
calculateMinimumSize
(
Spring::Axis
axis);
31
virtual
int
calculatePreferredSize
(
Spring::Axis
axis);
32
virtual
int
calculateMaximumSize
(
Spring::Axis
axis);
33
34
virtual
void
setSize
(
Spring::Axis
axis,
int
origin,
int
size);
35
virtual
void
setValidSize
(
Spring::Axis
axis,
int
origin,
int
size) = 0;
36
37
Group
*
enableAutoCreateContainerGaps
(
void
);
38
bool
getAutoCreateContainerGaps
(
void
)
const
;
39
40
int
calculateSize
(
Spring::Axis
axis,
SizeType
type);
41
42
int
getSpringSize
(
Spring
*spring,
Spring::Axis
axis,
SizeType
type);
43
44
virtual
int
combined
(
int
a,
int
b) = 0;
45
46
inline
Spring
*
getSpring
(
int
index);
47
48
protected
:
49
SpringsList
_springs
;
50
//bool _autoCreateContainerPadding;
51
private
:
52
};
53
55
56
Spring
*
Group::getSpring
(
int
index) {
57
for
(SpringsList::iterator iter =
_springs
.begin(); iter !=
_springs
.end(); ++iter) {
58
if
(index == 0)
return
(*iter);
59
index--;
60
}
61
return
NULL;
62
}
63
64
}
//namespace scv
65
66
#endif //__SCV_GROUP_H__
include
SCV
Group.h
Generated on Fri Dec 14 2012 09:44:49 for SCV by
1.8.2