FLTK 1.3.5
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
Fl_Group.H
1
//
2
// "$Id$"
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;}
148
void
resizable
(
Fl_Widget
* o) {resizable_ = o;}
152
Fl_Widget
*
resizable
()
const
{
return
resizable_;}
156
void
add_resizable
(
Fl_Widget
& o) {resizable_ = &o; add(o);}
157
void
init_sizes();
158
168
void
clip_children
(
int
c) {
if
(c)
set_flag
(CLIP_CHILDREN);
else
clear_flag
(CLIP_CHILDREN); }
176
unsigned
int
clip_children
() {
return
(
flags
() & CLIP_CHILDREN) != 0; }
177
178
// Note: Doxygen docs in Fl_Widget.H to avoid redundancy.
179
virtual
Fl_Group
*
as_group
() {
return
this
; }
180
181
// back compatibility functions:
182
188
void
focus
(
Fl_Widget
* W) {W->
take_focus
();}
189
191
Fl_Widget
* &
_ddfdesign_kludge
() {
return
resizable_;}
192
194
void
forms_end();
195
};
196
197
// dummy class used to end child groups in constructors for complex
198
// subclasses of Fl_Group:
218
class
FL_EXPORT
Fl_End
{
219
public
:
221
Fl_End
() {
Fl_Group::current
()->
end
();}
222
};
223
224
#endif
225
226
//
227
// End of "$Id$".
228
//
© 1998-2016 by Bill Spitzak and others.