FLTK 1.3.3
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
Fl_Group.H
1
//
2
// "$Id: Fl_Group.H 10261 2014-08-29 12:10:11Z cand $"
3
//
4
// Group header file for the Fast Light Tool Kit (FLTK).
5
//
6
// Copyright 1998-2010 by Bill Spitzak and others.
7
//
8
// This library is free software. Distribution and use rights are outlined in
9
// the file "COPYING" which should have been included with this file. If this
10
// file is missing or damaged, see the license at:
11
//
12
// http://www.fltk.org/COPYING.php
13
//
14
// Please report all bugs and problems on the following page:
15
//
16
// http://www.fltk.org/str.php
17
//
18
19
/* \file
20
Fl_Group, Fl_End classes . */
21
22
#ifndef Fl_Group_H
23
#define Fl_Group_H
24
25
#ifndef Fl_Widget_H
26
#include "
Fl_Widget.H
"
27
#endif
28
41
class
FL_EXPORT
Fl_Group
:
public
Fl_Widget
{
42
43
Fl_Widget
** array_;
44
Fl_Widget
* savedfocus_;
45
Fl_Widget
* resizable_;
46
int
children_;
47
int
*sizes_;
// remembered initial sizes of children
48
49
int
navigation(
int
);
50
static
Fl_Group
*current_;
51
52
// unimplemented copy ctor and assignment operator
53
Fl_Group
(
const
Fl_Group
&);
54
Fl_Group
& operator=(
const
Fl_Group
&);
55
56
protected
:
57
void
draw
();
58
void
draw_child(
Fl_Widget
& widget)
const
;
59
void
draw_children();
60
void
draw_outside_label(
const
Fl_Widget
& widget)
const
;
61
void
update_child(
Fl_Widget
& widget)
const
;
62
int
*sizes();
63
64
public
:
65
66
int
handle
(
int
);
67
void
begin();
68
void
end();
69
static
Fl_Group
*current();
70
static
void
current(
Fl_Group
*g);
71
75
int
children
()
const
{
return
children_;}
79
Fl_Widget
*
child
(
int
n)
const
{
return
array()[n];}
80
int
find(
const
Fl_Widget
*)
const
;
84
int
find
(
const
Fl_Widget
& o)
const
{
return
find
(&o);}
85
Fl_Widget
*
const
* array()
const
;
86
87
void
resize
(
int
,
int
,
int
,
int
);
92
Fl_Group
(
int
,
int
,
int
,
int
,
const
char
* = 0);
93
virtual
~
Fl_Group
();
94
void
add(
Fl_Widget
&);
98
void
add
(
Fl_Widget
* o) {
add
(*o);}
99
void
insert(
Fl_Widget
&,
int
i);
104
void
insert
(
Fl_Widget
& o,
Fl_Widget
* before) {
insert
(o,find(before));}
105
void
remove
(
int
index);
106
void
remove
(
Fl_Widget
&);
111
void
remove
(
Fl_Widget
* o) {
remove
(*o);}
112
void
clear();
113
117
void
resizable
(
Fl_Widget
& o) {resizable_ = &o;}
146
void
resizable
(
Fl_Widget
* o) {resizable_ = o;}
150
Fl_Widget
*
resizable
()
const
{
return
resizable_;}
154
void
add_resizable
(
Fl_Widget
& o) {resizable_ = &o; add(o);}
155
void
init_sizes();
156
166
void
clip_children
(
int
c) {
if
(c)
set_flag
(CLIP_CHILDREN);
else
clear_flag
(CLIP_CHILDREN); }
174
unsigned
int
clip_children
() {
return
(
flags
() & CLIP_CHILDREN) != 0; }
175
176
// Note: Doxygen docs in Fl_Widget.H to avoid redundancy.
177
virtual
Fl_Group
*
as_group
() {
return
this
; }
178
179
// back compatibility functions:
180
186
void
focus
(
Fl_Widget
* W) {W->
take_focus
();}
187
189
Fl_Widget
* &
_ddfdesign_kludge
() {
return
resizable_;}
190
192
void
forms_end();
193
};
194
195
// dummy class used to end child groups in constructors for complex
196
// subclasses of Fl_Group:
216
class
FL_EXPORT
Fl_End
{
217
public
:
219
Fl_End
() {
Fl_Group::current
()->
end
();}
220
};
221
222
#endif
223
224
//
225
// End of "$Id: Fl_Group.H 10261 2014-08-29 12:10:11Z cand $".
226
//
© 1998-2014 by Bill Spitzak and others.