fltk  1.3.5-source
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X.
  Fossies Dox: fltk-1.3.5-source.tar.bz2  ("inofficial" and yet experimental doxygen-generated source code documentation)  

Fl_Group_Type.cxx
Go to the documentation of this file.
1 //
2 // "$Id$"
3 //
4 // Fl_Group object code for the Fast Light Tool Kit (FLTK).
5 //
6 // Object describing an Fl_Group and links to Fl_Window_Type.C and
7 // the Fl_Tabs widget, with special stuff to select tab items and
8 // insure that only one is visible.
9 //
10 // Copyright 1998-2010 by Bill Spitzak and others.
11 //
12 // This library is free software. Distribution and use rights are outlined in
13 // the file "COPYING" which should have been included with this file. If this
14 // file is missing or damaged, see the license at:
15 //
16 // http://www.fltk.org/COPYING.php
17 //
18 // Please report all bugs and problems on the following page:
19 //
20 // http://www.fltk.org/str.php
21 //
22 
23 #include <FL/Fl.H>
24 #include <FL/Fl_Group.H>
25 #include <FL/Fl_Table.H>
26 #include <FL/fl_message.H>
27 #include "Fl_Widget_Type.h"
28 #include "../src/flstring.h"
29 
30 // Override group's resize behavior to do nothing to children:
31 void igroup::resize(int X, int Y, int W, int H) {
32  Fl_Widget::resize(X,Y,W,H);
33  redraw();
34 }
35 
36 Fl_Group_Type Fl_Group_type; // the "factory"
37 
39  return Fl_Widget_Type::make();
40 }
41 
43  if (!tt || !tt->is_group()) return;
44  Fl_Group_Type* t = (Fl_Group_Type*)tt;
45  int X = t->o->x();
46  int Y = t->o->y();
47  int R = X+t->o->w();
48  int B = Y+t->o->h();
49  for (Fl_Type *nn = t->next; nn && nn->level > t->level; nn = nn->next) {
50  if (!nn->is_widget() || nn->is_menu_item()) continue;
52  int x = n->o->x(); if (x < X) X = x;
53  int y = n->o->y(); if (y < Y) Y = y;
54  int r = x+n->o->w();if (r > R) R = r;
55  int b = y+n->o->h();if (b > B) B = b;
56  }
57  t->o->resize(X,Y,R-X,B-Y);
58 }
59 
60 extern int force_parent;
61 
62 void group_cb(Fl_Widget *, void *) {
63  // Find the current widget:
65  while (qq && (!qq->is_widget() || qq->is_menu_item())) qq = qq->parent;
66  if (!qq || qq->level < 1 || (qq->level == 1 && !strcmp(qq->type_name(), "widget_class"))) {
67  fl_message("Please select widgets to group");
68  return;
69  }
71  force_parent = 1;
73  n->move_before(q);
74  n->o->resize(q->o->x(),q->o->y(),q->o->w(),q->o->h());
75  for (Fl_Type *t = Fl_Type::first; t;) {
76  if (t->level != n->level || t == n || !t->selected) {
77  t = t->next; continue;}
78  Fl_Type *nxt = t->remove();
79  t->add(n);
80  t = nxt;
81  }
82  fix_group_size(n);
83 }
84 
85 void ungroup_cb(Fl_Widget *, void *) {
86  // Find the group:
88  while (q && (!q->is_widget() || q->is_menu_item())) q = q->parent;
89  if (q) q = q->parent;
90  if (!q || q->level < 1 || (q->level == 1 && !strcmp(q->type_name(), "widget_class"))) {
91  fl_message("Please select widgets in a group");
92  return;
93  }
94  Fl_Type* n;
95  for (n = q->next; n && n->level > q->level; n = n->next) {
96  if (n->level == q->level+1 && !n->selected) {
97  fl_message("Please select all widgets in group");
98  return;
99  }
100  }
101  for (n = q->next; n && n->level > q->level;) {
102  Fl_Type *nxt = n->remove();
103  n->insert(q);
104  n = nxt;
105  }
106  delete q;
107 }
108 
110 
111 #include <stdio.h>
112 
115 }
116 
118  const char *var = name() ? name() : "o";
120  write_c("%s%s->end();\n", indent(), var);
121  if (resizable()) {
122  write_c("%sFl_Group::current()->resizable(%s);\n", indent(), var);
123  }
125 }
126 
128 
129 const char pack_type_name[] = "Fl_Pack";
130 
132  {"HORIZONTAL", 0, 0, (void*)Fl_Pack::HORIZONTAL},
133  {"VERTICAL", 0, 0, (void*)Fl_Pack::VERTICAL},
134  {0}};
135 
136 Fl_Pack_Type Fl_Pack_type; // the "factory"
137 
139 
140 static const int MAX_ROWS = 14;
141 static const int MAX_COLS = 7;
142 
143 // this is a minimal table widget used as an example when adding tables in Fluid
144 class Fluid_Table : public Fl_Table {
145  int data[MAX_ROWS][MAX_COLS]; // data array for cells
146 
147  // Draw the row/col headings
148  // Make this a dark thin upbox with the text inside.
149  //
150  void DrawHeader(const char *s, int X, int Y, int W, int H) {
151  fl_push_clip(X,Y,W,H);
154  fl_draw(s, X,Y,W,H, FL_ALIGN_CENTER);
155  fl_pop_clip();
156  }
157  // Draw the cell data
158  // Dark gray text on white background with subtle border
159  //
160  void DrawData(const char *s, int X, int Y, int W, int H) {
161  fl_push_clip(X,Y,W,H);
162  // Draw cell bg
163  fl_color(FL_WHITE); fl_rectf(X,Y,W,H);
164  // Draw cell data
166  // Draw box border
167  fl_color(color()); fl_rect(X,Y,W,H);
168  fl_pop_clip();
169  }
170  // Handle drawing table's cells
171  // Fl_Table calls this function to draw each visible cell in the table.
172  // It's up to us to use FLTK's drawing functions to draw the cells the way we want.
173  //
174  void draw_cell(TableContext context, int ROW=0, int COL=0, int X=0, int Y=0, int W=0, int H=0) {
175  static char s[40];
176  switch ( context ) {
177  case CONTEXT_STARTPAGE: // before page is drawn..
178  fl_font(FL_HELVETICA, 16); // set the font for our drawing operations
179  return;
180  case CONTEXT_COL_HEADER: // Draw column headers
181  sprintf(s,"%c",'A'+COL); // "A", "B", "C", etc.
182  DrawHeader(s,X,Y,W,H);
183  return;
184  case CONTEXT_ROW_HEADER: // Draw row headers
185  sprintf(s,"%03d:",ROW); // "001:", "002:", etc
186  DrawHeader(s,X,Y,W,H);
187  return;
188  case CONTEXT_CELL: // Draw data in cells
189  sprintf(s,"%d",data[ROW][COL]);
190  DrawData(s,X,Y,W,H);
191  return;
192  default:
193  return;
194  }
195  }
196 public:
197  Fluid_Table(int x, int y, int w, int h, const char *l=0L)
198  : Fl_Table(x, y, w, h, l) {
199  end();
200  for ( int r=0; r<MAX_ROWS; r++ )
201  for ( int c=0; c<MAX_COLS; c++ )
202  data[r][c] = 1000+(r*1000)+c;
203  // Rows
204  rows(MAX_ROWS); // how many rows
205  row_header(1); // enable row headers (along left)
206  row_height_all(20); // default height of rows
207  row_resize(0); // disable row resizing
208  // Cols
209  cols(MAX_COLS); // how many columns
210  col_header(1); // enable column headers (along top)
211  col_width_all(80); // default width of columns
212  col_resize(1); // enable column resizing
213  }
214 };
215 
216 const char table_type_name[] = "Fl_Table";
217 
218 Fl_Table_Type Fl_Table_type; // the "factory"
219 
220 Fl_Widget *Fl_Table_Type::widget(int X,int Y,int W,int H) {
221  Fluid_Table *table = new Fluid_Table(X, Y, W, H);
222  return table;
223 }
224 
226 
227 const char tabs_type_name[] = "Fl_Tabs";
228 
229 // Override group's resize behavior to do nothing to children:
230 void itabs::resize(int X, int Y, int W, int H) {
231  Fl_Widget::resize(X,Y,W,H);
232  redraw();
233 }
234 
235 Fl_Tabs_Type Fl_Tabs_type; // the "factory"
236 
237 // This is called when user clicks on a widget in the window. See
238 // if it is a tab title, and adjust visibility and return new selection:
239 // If none, return o unchanged:
240 
242  Fl_Tabs *t = (Fl_Tabs*)o;
243  Fl_Widget *a = t->which(x,y);
244  if (!a) return 0; // didn't click on tab
245  // changing the visible tab has an impact on the generated
246  // source code, so mark this project as changed.
247  int changed = (a!=t->value());
248  // okay, run the tabs ui until they let go of mouse:
249  t->handle(FL_PUSH);
250  Fl::pushed(t);
251  while (Fl::pushed()==t) Fl::wait();
252  if (changed) set_modflag(1);
253  return (Fl_Type*)(t->value()->user_data());
254 }
255 
257 
258 const char wizard_type_name[] = "Fl_Wizard";
259 
260 // Override group's resize behavior to do nothing to children:
261 void iwizard::resize(int X, int Y, int W, int H) {
262  Fl_Widget::resize(X,Y,W,H);
263  redraw();
264 }
265 
267 
268 // This is called when o is created. If it is in the tab group make
269 // sure it is visible:
270 
272  Fl_Widget_Type* c = (Fl_Widget_Type*)cc;
273  Fl_Widget* b = before ? ((Fl_Widget_Type*)before)->o : 0;
274  ((Fl_Group*)o)->insert(*(c->o), b);
275  o->redraw();
276 }
277 
279  Fl_Group_Type::add_child(c, before);
280 }
281 
283  Fl_Widget_Type* c = (Fl_Widget_Type*)cc;
284  Fl_Widget* b = before ? ((Fl_Widget_Type*)before)->o : 0;
285  if (((Fl_Table*)o)->children()==1) { // the FLuid_Table has one extra child
286  fl_message("Inserting child widgets into an Fl_Table is not recommended.\n"
287  "Please refer to the documentation on Fl_Table.");
288  }
289  ((Fl_Table*)o)->insert(*(c->o), b);
290  o->redraw();
291 }
292 
293 
294 // This is called when o is deleted. If it is in the tab group make
295 // sure it is not visible:
296 
298  Fl_Widget_Type* c = (Fl_Widget_Type*)cc;
299  ((Fl_Group*)o)->remove(c->o);
300  o->redraw();
301 }
302 
304  Fl_Widget_Type* c = (Fl_Widget_Type*)cc;
305  Fl_Tabs *t = (Fl_Tabs*)o;
306  if (t->value() == c->o) t->value(0);
308 }
309 
311  Fl_Widget_Type* c = (Fl_Widget_Type*)cc;
312  ((Fl_Table*)o)->remove(*(c->o));
313  o->redraw();
314 }
315 
316 // move, don't change selected value:
317 
319  Fl_Widget_Type* c = (Fl_Widget_Type*)cc;
320  Fl_Widget* b = before ? ((Fl_Widget_Type*)before)->o : 0;
321  ((Fl_Group*)o)->remove(c->o);
322  ((Fl_Group*)o)->insert(*(c->o), b);
323  o->redraw();
324 }
325 
327  Fl_Widget_Type* c = (Fl_Widget_Type*)cc;
328  Fl_Widget* b = before ? ((Fl_Widget_Type*)before)->o : 0;
329  ((Fl_Table*)o)->remove(*(c->o));
330  ((Fl_Table*)o)->insert(*(c->o), b);
331  o->redraw();
332 }
333 
335 // live mode support
336 
338  Fl_Group *grp = new Fl_Group(o->x(), o->y(), o->w(), o->h());
339  live_widget = grp;
340  if (live_widget) {
341  copy_properties();
342  Fl_Type *n;
343  for (n = next; n && n->level > level; n = n->next) {
344  if (n->level == level+1)
345  n->enter_live_mode();
346  }
347  grp->end();
348  }
349  return live_widget;
350 }
351 
353  Fl_Tabs *grp = new Fl_Tabs(o->x(), o->y(), o->w(), o->h());
354  live_widget = grp;
355  if (live_widget) {
356  copy_properties();
357  Fl_Type *n;
358  for (n = next; n && n->level > level; n = n->next) {
359  if (n->level == level+1)
360  n->enter_live_mode();
361  }
362  grp->end();
363  }
364  grp->value(((Fl_Tabs*)o)->value());
365  return live_widget;
366 }
367 
369  Fl_Group *grp = new Fluid_Table(o->x(), o->y(), o->w(), o->h());
370  live_widget = grp;
371  if (live_widget) {
372  copy_properties();
373  grp->end();
374  }
375  return live_widget;
376 }
377 
379 }
380 
386 }
387 
389 // some other group subclasses that fluid does not treat specially:
390 
391 #include <FL/Fl_Scroll.H>
392 
393 const char scroll_type_name[] = "Fl_Scroll";
394 
396  Fl_Group *grp = new Fl_Scroll(o->x(), o->y(), o->w(), o->h());
397  grp->show();
398  live_widget = grp;
399  if (live_widget) {
400  copy_properties();
401  Fl_Type *n;
402  for (n = next; n && n->level > level; n = n->next) {
403  if (n->level == level+1)
404  n->enter_live_mode();
405  }
406  grp->end();
407  }
408  return live_widget;
409 }
410 
412  {"BOTH", 0, 0, 0/*(void*)Fl_Scroll::BOTH*/},
413  {"HORIZONTAL", 0, 0, (void*)Fl_Scroll::HORIZONTAL},
414  {"VERTICAL", 0, 0, (void*)Fl_Scroll::VERTICAL},
415  {"HORIZONTAL_ALWAYS", 0, 0, (void*)Fl_Scroll::HORIZONTAL_ALWAYS},
416  {"VERTICAL_ALWAYS", 0, 0, (void*)Fl_Scroll::VERTICAL_ALWAYS},
417  {"BOTH_ALWAYS", 0, 0, (void*)Fl_Scroll::BOTH_ALWAYS},
418  {0}};
419 
421 
424  Fl_Scroll *s = (Fl_Scroll*)o, *d = (Fl_Scroll*)live_widget;
425  d->position(s->xposition(), s->yposition());
426  d->type(s->type()); // TODO: get this flag from Fl_Scroll_Type!
427  d->scrollbar.align(s->scrollbar.align());
428  d->hscrollbar.align(s->hscrollbar.align());
429 }
430 
432 
433 const char tile_type_name[] = "Fl_Tile";
434 
435 Fl_Tile_Type Fl_Tile_type; // the "factory"
436 
439  // no additional properties
440 }
441 
442 //
443 // End of "$Id$".
444 //
Fl_Wizard_type
Fl_Wizard_Type Fl_Wizard_type
Definition: Fl_Group_Type.cxx:266
pack_type_menu
Fl_Menu_Item pack_type_menu[]
Definition: Fl_Group_Type.cxx:131
Fl_Scroll::BOTH_ALWAYS
Definition: Fl_Scroll.H:159
Fl_Table_Type::enter_live_mode
virtual Fl_Widget * enter_live_mode(int top=0)
Definition: Fl_Group_Type.cxx:368
fix_group_size
void fix_group_size(Fl_Type *tt)
Definition: Fl_Group_Type.cxx:42
fl_font
void fl_font(Fl_Font face, Fl_Fontsize fsize)
Definition: fl_draw.H:509
Fl_Group_Type::copy_properties
virtual void copy_properties()
Definition: Fl_Group_Type.cxx:384
Fl_Scroll::xposition
int xposition() const
Definition: Fl_Scroll.H:163
Fl_Widget::y
int y() const
Definition: Fl_Widget.H:289
Fl_Tabs_Type::remove_child
void remove_child(Fl_Type *)
Definition: Fl_Group_Type.cxx:303
Fl.H
igroup::resize
void resize(int, int, int, int)
Definition: Fl_Group_Type.cxx:31
Fl_Widget_Type
Definition: Fl_Type.h:374
Fl_Widget::align
Fl_Align align() const
Definition: Fl_Widget.H:348
fl_rectf
void fl_rectf(int x, int y, int w, int h)
Definition: fl_draw.H:206
tabs_type_name
const char tabs_type_name[]
Definition: Fl_Group_Type.cxx:227
Fl_Group_Type::enter_live_mode
virtual Fl_Widget * enter_live_mode(int top=0)
Definition: Fl_Group_Type.cxx:337
Fl_Table
Definition: Fl_Table.H:170
itabs::resize
void resize(int, int, int, int)
Definition: Fl_Group_Type.cxx:230
Fl_Type::current
static Fl_Type * current
Definition: Fl_Type.h:114
Fl_Type::next
Fl_Type * next
Definition: Fl_Type.h:71
Fl_Scroll::VERTICAL
Definition: Fl_Scroll.H:154
Fl_Group::end
void end()
Definition: Fl_Group.cxx:75
fl_message
void fl_message(const char *,...)
Definition: fl_ask.cxx:338
Fl_Tile_type
Fl_Tile_Type Fl_Tile_type
Definition: Fl_Group_Type.cxx:435
Fl_Pack::HORIZONTAL
Definition: Fl_Pack.H:49
Fl_Scroll_Type::enter_live_mode
Fl_Widget * enter_live_mode(int top=0)
Definition: Fl_Group_Type.cxx:395
Fl_Pack::VERTICAL
Definition: Fl_Pack.H:48
Fl_Widget::show
virtual void show()
Definition: Fl_Widget.cxx:271
Fl_Scroll::VERTICAL_ALWAYS
Definition: Fl_Scroll.H:158
FL_WHITE
const Fl_Color FL_WHITE
Definition: Enumerations.H:971
Fl_Type::parent
Fl_Type * parent
Definition: Fl_Type.h:63
Fl_Type::enter_live_mode
virtual Fl_Widget * enter_live_mode(int top=0)
Definition: Fl_Type.cxx:1102
Fl_Scroll_Type::copy_properties
void copy_properties()
Definition: Fl_Group_Type.cxx:422
fl_color
void fl_color(Fl_Color c)
Definition: fl_draw.H:52
Fl_Type::add
void add(Fl_Type *parent)
Definition: Fl_Type.cxx:574
Fl_Group_Type
Definition: Fl_Type.h:474
Fl_Table.H
Fl_Type::level
int level
Definition: Fl_Type.h:69
H
static int H
Definition: Fl_Tooltip.cxx:76
Fl_Scroll_Type
Definition: Fl_Type.h:548
Fl_Table::CONTEXT_STARTPAGE
before a page is redrawn
Definition: Fl_Table.H:179
Fl_Type::is_widget
virtual int is_widget() const
Definition: Fl_Type.cxx:749
Fl_Table_Type::remove_child
void remove_child(Fl_Type *)
Definition: Fl_Group_Type.cxx:310
FL_GRAY0
const Fl_Color FL_GRAY0
Definition: Enumerations.H:945
Fl_Widget::x
int x() const
Definition: Fl_Widget.H:284
Fl_Type::is_menu_item
virtual int is_menu_item() const
Definition: Fl_Type.cxx:756
Fl_Table_Type::widget
Fl_Widget * widget(int X, int Y, int W, int H)
Definition: Fl_Group_Type.cxx:220
fl_draw
FL_EXPORT void fl_draw(const char *str, int x, int y)
Definition: fl_font.cxx:70
Fluid_Table::Fluid_Table
Fluid_Table(int x, int y, int w, int h, const char *l=0L)
Definition: Fl_Group_Type.cxx:197
Fl_Tabs
Definition: Fl_Tabs.H:201
Fl_Wizard_Type
Definition: Fl_Type.h:572
table_type_name
const char table_type_name[]
Definition: Fl_Group_Type.cxx:216
write_c
void write_c(const char *format,...)
Definition: code.cxx:265
Fl_Widget::user_data
void * user_data() const
Definition: Fl_Widget.H:593
b
long b
Definition: jpegint.h:397
FL_BLACK
const Fl_Color FL_BLACK
Definition: Enumerations.H:956
Fl_Table::row_header_color
Fl_Color row_header_color()
Definition: Fl_Table.H:723
Fl_Scroll::HORIZONTAL
Definition: Fl_Scroll.H:153
Fl_Type::first
static Fl_Type * first
Definition: Fl_Type.h:70
Fl_Type::insert
void insert(Fl_Type *n)
Definition: Fl_Type.cxx:614
Fl_Tabs_Type::enter_live_mode
Fl_Widget * enter_live_mode(int top=0)
Definition: Fl_Group_Type.cxx:352
Fl_Tabs_Type::click_test
Fl_Type * click_test(int, int)
Definition: Fl_Group_Type.cxx:241
Fl_Tabs::which
Fl_Widget * which(int event_x, int event_y)
Definition: Fl_Tabs.cxx:123
iwizard::resize
void resize(int, int, int, int)
Definition: Fl_Group_Type.cxx:261
Fl_Scroll::scrollbar
Fl_Scrollbar scrollbar
Definition: Fl_Scroll.H:144
Fl_Widget::w
int w() const
Definition: Fl_Widget.H:294
Fl_Table::CONTEXT_CELL
in one of the cells
Definition: Fl_Table.H:183
Fluid_Table::DrawData
void DrawData(const char *s, int X, int Y, int W, int H)
Definition: Fl_Group_Type.cxx:160
Fl_Type::is_group
virtual int is_group() const
Definition: Fl_Type.cxx:758
Fl_Group_type
Fl_Group_Type Fl_Group_type
Definition: Fl_Group_Type.cxx:36
Fl_Widget::color
Fl_Color color() const
Definition: Fl_Widget.H:378
Fl_Widget::position
void position(int X, int Y)
Definition: Fl_Widget.H:332
Fl_Widget::w
void w(int v)
Definition: Fl_Widget.H:143
Fl_Scroll.H
Fl_Widget::x
void x(int v)
Definition: Fl_Widget.H:139
Fl_Table_Type::add_child
void add_child(Fl_Type *, Fl_Type *)
Definition: Fl_Group_Type.cxx:282
FL_THIN_UP_BOX
see figure 1
Definition: Enumerations.H:611
Fluid_Table::draw_cell
void draw_cell(TableContext context, int ROW=0, int COL=0, int X=0, int Y=0, int W=0, int H=0)
Definition: Fl_Group_Type.cxx:174
scroll_type_name
const char scroll_type_name[]
Definition: Fl_Group_Type.cxx:393
FL_HELVETICA
const Fl_Font FL_HELVETICA
Helvetica (or Arial) normal (0)
Definition: Enumerations.H:879
ungroup_cb
void ungroup_cb(Fl_Widget *, void *)
Definition: Fl_Group_Type.cxx:85
Fl_Table::end
void end()
Definition: Fl_Table.H:882
Fl_Type::type_name
virtual const char * type_name()=0
Fl_Scroll_type
Fl_Scroll_Type Fl_Scroll_type
Definition: Fl_Group_Type.cxx:420
Fl_Table::CONTEXT_COL_HEADER
in the col header
Definition: Fl_Table.H:182
force_parent
int force_parent
Definition: Fl_Widget_Type.cxx:41
Fl_Widget_Type::o
Fl_Widget * o
Definition: Fl_Type.h:401
Fl_Table::row_height_all
void row_height_all(int height)
Definition: Fl_Table.H:775
Fl_Table_Type::move_child
void move_child(Fl_Type *, Fl_Type *)
Definition: Fl_Group_Type.cxx:326
Fl_Group_Type::add_child
void add_child(Fl_Type *, Fl_Type *)
Definition: Fl_Group_Type.cxx:271
Fl_Table::col_resize
int col_resize()
Definition: Fl_Table.H:601
Fl_Group_Type::make
Fl_Type * make()
Definition: Fl_Group_Type.cxx:38
Fl_Type
Definition: Fl_Type.h:43
Fl_Table_Type
Definition: Fl_Type.h:511
table
static symbol table[]
Definition: factory.cxx:1109
Fl_Table::CONTEXT_ROW_HEADER
in the row header
Definition: Fl_Table.H:181
indent
const char * indent()
Definition: code.cxx:99
FL_PUSH
Definition: Enumerations.H:236
fl_push_clip
void fl_push_clip(int x, int y, int w, int h)
Definition: fl_draw.H:82
Fl_Widget::redraw
void redraw()
Definition: Fl.cxx:1782
Fl_Widget
Definition: Fl_Widget.H:101
Fl_Group
Definition: Fl_Group.H:41
Fl_Widget::h
int h() const
Definition: Fl_Widget.H:299
Fl_Widget_Type.h
Fl::pushed
static Fl_Widget * pushed()
Definition: Fl.H:837
Fl_Scroll
Definition: Fl_Scroll.H:87
fl_draw_box
FL_EXPORT void fl_draw_box(Fl_Boxtype, int x, int y, int w, int h, Fl_Color)
Definition: fl_boxtype.cxx:436
group_cb
void group_cb(Fl_Widget *, void *)
Definition: Fl_Group_Type.cxx:62
Fl_Widget::h
void h(int v)
Definition: Fl_Widget.H:145
Fl_Widget_Type::copy_properties
virtual void copy_properties()
Definition: Fl_Widget_Type.cxx:2814
Fl_Widget::y
void y(int v)
Definition: Fl_Widget.H:141
Fl_Group_Type::write_code1
void write_code1()
Definition: Fl_Group_Type.cxx:113
Fl_Type::move_before
void move_before(Fl_Type *)
Definition: Fl_Type.cxx:852
set_modflag
void set_modflag(int mf)
Definition: fluid.cxx:1687
Fl_Table_type
Fl_Table_Type Fl_Table_type
Definition: Fl_Group_Type.cxx:218
Fluid_Table
Definition: Fl_Group_Type.cxx:144
fl_pop_clip
void fl_pop_clip()
Definition: fl_draw.H:103
Fl_Table::col_header
int col_header()
Definition: Fl_Table.H:666
x
int x
Definition: test.c:73
Fl_Table::col_width_all
void col_width_all(int width)
Definition: Fl_Table.H:785
Fl_Table::cols
int cols()
Definition: Fl_Table.H:534
Fl::wait
static int wait()
Definition: Fl.cxx:666
Fl_Widget_Type::write_code1
void write_code1()
Definition: Fl_Widget_Type.cxx:2101
MAX_COLS
static const int MAX_COLS
Definition: Fl_Group_Type.cxx:141
FL_ALIGN_CENTER
const Fl_Align FL_ALIGN_CENTER
Definition: Enumerations.H:830
Fl_Tabs::handle
int handle(int)
Definition: Fl_Tabs.cxx:156
Fl_Group.H
Fl_Group_Type::write_code2
void write_code2()
Definition: Fl_Group_Type.cxx:117
Fl_Menu_Item
Definition: Fl_Menu_Item.H:112
Fl_Widget_Type::live_widget
Fl_Widget * live_widget
Definition: Fl_Type.h:395
Fl_Table::row_header
int row_header()
Definition: Fl_Table.H:649
Fl_Type::name
const char * name() const
Definition: Fl_Type.h:96
y
int y
Definition: test.c:74
Fl_Table::row_resize
int row_resize()
Definition: Fl_Table.H:584
Fl_Table::TableContext
TableContext
Definition: Fl_Table.H:177
Fl_Pack_Type
Definition: Fl_Type.h:499
Fl_Group_Type::move_child
void move_child(Fl_Type *, Fl_Type *)
Definition: Fl_Group_Type.cxx:318
Fl_Widget::type
uchar type() const
Definition: Fl_Widget.H:274
Fluid_Table::DrawHeader
void DrawHeader(const char *s, int X, int Y, int W, int H)
Definition: Fl_Group_Type.cxx:150
Fl_Tabs_Type
Definition: Fl_Type.h:526
Fl_Tabs_Type::add_child
void add_child(Fl_Type *, Fl_Type *)
Definition: Fl_Group_Type.cxx:278
Fl_Tile_Type::copy_properties
void copy_properties()
Definition: Fl_Group_Type.cxx:437
Y
static int Y
Definition: Fl_Tooltip.cxx:76
pack_type_name
const char pack_type_name[]
Definition: Fl_Group_Type.cxx:129
Fl_Tabs_type
Fl_Tabs_Type Fl_Tabs_type
Definition: Fl_Group_Type.cxx:235
tile_type_name
const char tile_type_name[]
Definition: Fl_Group_Type.cxx:433
scroll_type_menu
Fl_Menu_Item scroll_type_menu[]
Definition: Fl_Group_Type.cxx:411
Fl_Type::selected
char selected
Definition: Fl_Type.h:65
MAX_ROWS
static const int MAX_ROWS
Definition: Fl_Group_Type.cxx:140
Fl_Group_Type::remove_child
void remove_child(Fl_Type *)
Definition: Fl_Group_Type.cxx:297
Fl_Widget::resize
virtual void resize(int x, int y, int w, int h)
Definition: Fl_Widget.cxx:150
Fl_Tabs::value
Fl_Widget * value()
Definition: Fl_Tabs.cxx:297
Fl_Widget_Type::make
Fl_Type * make()
Definition: Fl_Widget_Type.cxx:94
fl_message.H
Fl_Scroll::yposition
int yposition() const
Definition: Fl_Scroll.H:165
Fl_Scroll::HORIZONTAL_ALWAYS
Definition: Fl_Scroll.H:157
Fl_Table::rows
int rows()
Definition: Fl_Table.H:522
Fl_Scroll::hscrollbar
Fl_Scrollbar hscrollbar
Definition: Fl_Scroll.H:145
Fl_Pack_type
Fl_Pack_Type Fl_Pack_type
Definition: Fl_Group_Type.cxx:136
Fl_Type::remove
Fl_Type * remove()
Definition: Fl_Type.cxx:650
wizard_type_name
const char wizard_type_name[]
Definition: Fl_Group_Type.cxx:258
Fluid_Table::data
int data[MAX_ROWS][MAX_COLS]
Definition: Fl_Group_Type.cxx:145
Fl_Widget_Type::write_extra_code
void write_extra_code()
Definition: Fl_Widget_Type.cxx:2399
Fl_Tile_Type
Definition: Fl_Type.h:561
Fl_Widget_Type::resizable
uchar resizable() const
Definition: Fl_Widget_Type.cxx:859
Fl_Group_Type::leave_live_mode
virtual void leave_live_mode()
Definition: Fl_Group_Type.cxx:378
Fl_Widget_Type::write_block_close
void write_block_close()
Definition: Fl_Widget_Type.cxx:2405
fl_rect
void fl_rect(int x, int y, int w, int h)
Definition: fl_draw.H:201