summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2009-11-14 15:49:12 +0000
committerMatthias Melcher <fltk@matthiasm.com>2009-11-14 15:49:12 +0000
commit07a18370ad2aa1f2253afbf45565d55605a88b47 (patch)
treef2619866e648a105259b24c8265ec08a11bf1971
parent69601a6d5827539394b9468176727ec651c1ebbc (diff)
Added Fl_Tree source code, demo files, and documentation. Thanks, Greg!
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6934 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--FL/Fl_Table.H398
-rw-r--r--FL/Fl_Table_Row.H18
-rw-r--r--FL/Fl_Tree.H647
-rw-r--r--FL/Fl_Tree_Item.H291
-rw-r--r--FL/Fl_Tree_Item_Array.H80
-rw-r--r--FL/Fl_Tree_Prefs.H353
-rw-r--r--documentation/src/tree-elements.pngbin0 -> 8491 bytes
-rw-r--r--fluid/makedepend648
-rw-r--r--ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj172
-rw-r--r--ide/Xcode3.1/plists/tree-Info.plist20
-rw-r--r--jpeg/makedepend154
-rw-r--r--src/Fl_Table.cxx748
-rw-r--r--src/Fl_Table_Row.cxx302
-rw-r--r--src/Fl_Tree.cxx354
-rw-r--r--src/Fl_Tree_Item.cxx707
-rw-r--r--src/Fl_Tree_Item_Array.cxx149
-rw-r--r--src/Fl_Tree_Prefs.cxx122
-rw-r--r--src/Makefile4
-rw-r--r--src/makedepend1443
-rw-r--r--test/Makefile6
-rw-r--r--test/demo.menu1
-rw-r--r--test/makedepend921
-rw-r--r--test/tree.cxx642
-rw-r--r--test/tree.h41
24 files changed, 6116 insertions, 2105 deletions
diff --git a/FL/Fl_Table.H b/FL/Fl_Table.H
index 5d0d2cf28..47e394176 100644
--- a/FL/Fl_Table.H
+++ b/FL/Fl_Table.H
@@ -52,24 +52,24 @@
Normally applications use widgets derived from this widget, and do not use this
widget directly; this widget is usually too low level to be used directly by
applications.
-
+
This widget does \em not handle the data in the table. The draw_cell()
method must be overridden by a subclass to manage drawing the contents of
the cells.
-
+
This widget can be used in several ways:
- - As a custom widget; see test/testtablerow.cxx. Very optimal for even
- extremely large tables.
- - As a table made up of a single FLTK widget instanced all over the table;
- see test/singleinput.cxx. Very optimal for even extremely large tables;
- - As a regular container of FLTK widgets, one widget per cell.
- See test/widgettable.cxx. \em Not recommended for large tables.
-
+ - As a custom widget; see test/testtablerow.cxx. Very optimal for even
+ extremely large tables.
+ - As a table made up of a single FLTK widget instanced all over the table;
+ see test/singleinput.cxx. Very optimal for even extremely large tables;
+ - As a regular container of FLTK widgets, one widget per cell.
+ See test/widgettable.cxx. \em Not recommended for large tables.
+
When acting as part of a custom widget, events on the cells and/or headings
generate callbacks when they are clicked by the user. You control when events
are generated based on the setting for Fl_Table::when().
-
+
When acting as a container for FLTK widgets, the FLTK widgets maintain
themselves. Although the draw_cell() method must be overridden, its contents
can be very simple. See the draw_cell() code in test/widgettable.cxx.
@@ -77,7 +77,7 @@
The following variables are available to classes deriving from Fl_Table:
\image html table-dimensions.gif
-
+
<table border=0>
<tr><td>x()/y()/w()/h()</td>
<td>Fl_Table widget's outer dimension. The outer edge of the border of the
@@ -178,21 +178,21 @@ public:
CONTEXT_TABLE = 0x20, // in the table
CONTEXT_RC_RESIZE = 0x40 // column or row being resized
};
-
+
private:
int _rows, _cols; // total rows/cols
int _row_header_w; // width of row header
int _col_header_h; // height of column header
int _row_position; // last row_position set (not necessarily == toprow!)
int _col_position; // last col_position set (not necessarily == leftcol!)
-
+
char _row_header; // row header enabled?
char _col_header; // col header enabled?
char _row_resize; // row resizing enabled?
char _col_resize; // col resizing enabled?
int _row_resize_min; // row minimum resizing height (default=1)
int _col_resize_min; // col minimum resizing width (default=1)
-
+
// OPTIMIZATION: partial row/column redraw variables
int _redraw_toprow;
int _redraw_botrow;
@@ -200,10 +200,10 @@ private:
int _redraw_rightcol;
Fl_Color _row_header_color;
Fl_Color _col_header_color;
-
+
int _auto_drag;
int _selecting;
-
+
// An STL-ish vector without templates
class IntVector {
int *arr;
@@ -231,23 +231,23 @@ private:
void size(unsigned int count) {
if ( count != _size ) {
arr = (int*)realloc(arr, count * sizeof(int));
- _size = count;
+ _size = count;
}
}
int pop_back() { int tmp = arr[_size-1]; _size--; return(tmp); }
void push_back(int val) { unsigned int x = _size; size(_size+1); arr[x] = val; }
int back() { return(arr[_size-1]); }
};
-
+
IntVector _colwidths; // column widths in pixels
IntVector _rowheights; // row heights in pixels
-
+
Fl_Cursor _last_cursor; // last mouse cursor before changed to 'resize' cursor
-
+
// EVENT CALLBACK DATA
TableContext _callback_context; // event context
int _callback_row, _callback_col; // event row/col
-
+
// handle() state variables.
// Put here instead of local statics in handle(), so more
// than one Fl_Table can exist without crosstalk between them.
@@ -257,15 +257,15 @@ private:
int _dragging_x; // starting x position for horiz drag
int _dragging_y; // starting y position for vert drag
int _last_row; // last row we FL_PUSH'ed
-
+
// Redraw single cell
void _redraw_cell(TableContext context, int R, int C);
-
+
void _start_auto_drag();
void _stop_auto_drag();
void _auto_drag_cb();
static void _auto_drag_cb2(void *d);
-
+
protected:
enum ResizeFlag {
RESIZE_NONE = 0,
@@ -274,51 +274,51 @@ protected:
RESIZE_ROW_ABOVE = 3,
RESIZE_ROW_BELOW = 4
};
-
+
int table_w, table_h; // table's virtual size (in pixels)
int toprow, botrow, leftcol, rightcol; // four corners of viewable table
-
+
// selection
int current_row, current_col;
int select_row, select_col;
-
+
// OPTIMIZATION: Precomputed scroll positions for the toprow/leftcol
int toprow_scrollpos;
int leftcol_scrollpos;
-
+
// Dimensions
int tix, tiy, tiw, tih; // data table inner dimension xywh
int tox, toy, tow, toh; // data table outer dimension xywh
int wix, wiy, wiw, wih; // widget inner dimension xywh
-
+
Fl_Scroll *table; // container for child fltk widgets (if any)
Fl_Scrollbar *vscrollbar; // vertical scrollbar
Fl_Scrollbar *hscrollbar; // horizontal scrollbar
-
+
// Fltk
int handle(int e); // fltk handle() override
-
+
// Class maintenance
void recalc_dimensions();
void table_resized(); // table resized; recalc
void table_scrolled(); // table scrolled; recalc
void get_bounds(TableContext context, // return x/y/w/h bounds for context
- int &X, int &Y, int &W, int &H);
+ int &X, int &Y, int &W, int &H);
void change_cursor(Fl_Cursor newcursor); // change mouse cursor to some other shape
TableContext cursor2rowcol(int &R, int &C, ResizeFlag &resizeflag);
- // find r/c given current x/y event
+ // find r/c given current x/y event
int find_cell(TableContext context, // find cell's x/y/w/h given r/c
- int R, int C, int &X, int &Y, int &W, int &H);
+ int R, int C, int &X, int &Y, int &W, int &H);
int row_col_clamp(TableContext context, int &R, int &C);
- // clamp r/c to known universe
-
+ // clamp r/c to known universe
+
/**
Subclass should override this method to handle drawing the cells.
This method will be called whenever the table is redrawn, once per cell.
-
+
Only cells that are completely (or partially) visible will be told to draw.
-
+
\p context will be one of the following:
<table border=1>
@@ -371,65 +371,65 @@ protected:
// This is called whenever Fl_Table wants you to draw a cell
void MyTable::draw_cell(TableContext context, int R=0, int C=0, int X=0, int Y=0, int W=0, int H=0)
{
- static char s[40];
- sprintf(s, "%d/%d", R, C); // text for each cell
- switch ( context )
- {
- case CONTEXT_STARTPAGE: // Fl_Table telling us its starting to draw page
- fl_font(FL_HELVETICA, 16);
- return;
-
- case CONTEXT_ROW_HEADER: // Fl_Table telling us it's draw row/col headers
- case CONTEXT_COL_HEADER:
- fl_push_clip(X, Y, W, H);
- {
- fl_draw_box(FL_THIN_UP_BOX, X, Y, W, H, color());
- fl_color(FL_BLACK);
- fl_draw(s, X, Y, W, H, FL_ALIGN_CENTER);
- }
- fl_pop_clip();
- return;
-
- case CONTEXT_CELL: // Fl_Table telling us to draw cells
- fl_push_clip(X, Y, W, H);
- {
- // BG COLOR
- fl_color( row_selected(R) ? selection_color() : FL_WHITE);
- fl_rectf(X, Y, W, H);
-
- // TEXT
- fl_color(FL_BLACK);
- fl_draw(s, X, Y, W, H, FL_ALIGN_CENTER);
-
- // BORDER
- fl_color(FL_LIGHT2);
- fl_rect(X, Y, W, H);
- }
- fl_pop_clip();
- return;
-
- default:
- return;
- }
- //NOTREACHED
+ static char s[40];
+ sprintf(s, "%d/%d", R, C); // text for each cell
+ switch ( context )
+ {
+ case CONTEXT_STARTPAGE: // Fl_Table telling us its starting to draw page
+ fl_font(FL_HELVETICA, 16);
+ return;
+
+ case CONTEXT_ROW_HEADER: // Fl_Table telling us it's draw row/col headers
+ case CONTEXT_COL_HEADER:
+ fl_push_clip(X, Y, W, H);
+ {
+ fl_draw_box(FL_THIN_UP_BOX, X, Y, W, H, color());
+ fl_color(FL_BLACK);
+ fl_draw(s, X, Y, W, H, FL_ALIGN_CENTER);
+ }
+ fl_pop_clip();
+ return;
+
+ case CONTEXT_CELL: // Fl_Table telling us to draw cells
+ fl_push_clip(X, Y, W, H);
+ {
+ // BG COLOR
+ fl_color( row_selected(R) ? selection_color() : FL_WHITE);
+ fl_rectf(X, Y, W, H);
+
+ // TEXT
+ fl_color(FL_BLACK);
+ fl_draw(s, X, Y, W, H, FL_ALIGN_CENTER);
+
+ // BORDER
+ fl_color(FL_LIGHT2);
+ fl_rect(X, Y, W, H);
+ }
+ fl_pop_clip();
+ return;
+
+ default:
+ return;
+ }
+ //NOTREACHED
}
\endcode
*/
virtual void draw_cell(TableContext context, int R=0, int C=0,
- int X=0, int Y=0, int W=0, int H=0)
- { } // overridden by deriving class
-
+ int X=0, int Y=0, int W=0, int H=0)
+ { } // overridden by deriving class
+
long row_scroll_position(int row); // find scroll position of row (in pixels)
long col_scroll_position(int col); // find scroll position of col (in pixels)
-
+
int is_fltk_container() { // does table contain fltk widgets?
return( Fl_Group::children() > 3 ); // (ie. more than box and 2 scrollbars?)
}
-
+
static void scroll_cb(Fl_Widget*,void*); // h/v scrollbar callback
-
+
void damage_zone(int r1, int c1, int r2, int c2, int r3 = 0, int c3 = 0);
-
+
void redraw_range(int toprow, int botrow, int leftcol, int rightcol) {
if ( _redraw_toprow == -1 ) {
// Initialize redraw range
@@ -444,11 +444,11 @@ protected:
if ( leftcol < _redraw_leftcol ) _redraw_leftcol = leftcol;
if ( rightcol > _redraw_rightcol ) _redraw_rightcol = rightcol;
}
-
+
// Indicate partial redraw needed of some cells
damage(FL_DAMAGE_CHILD);
}
-
+
public:
/**
The constructor for the Fl_Table.
@@ -456,24 +456,24 @@ public:
with headers and row/column resize behavior disabled.
*/
Fl_Table(int X, int Y, int W, int H, const char *l=0);
-
+
/**
The destructor for the Fl_Table.
Destroys the table and its associated widgets.
*/
~Fl_Table();
-
+
/**
Clears the table to zero rows, zero columns.
Same as rows(0); cols(0);
\see rows(int), cols(int)
*/
virtual void clear() { rows(0); cols(0); }
-
+
// topline()
// middleline()
// bottomline()
-
+
/**
Sets the kind of box drawn around the data table,
the default being FL_NO_BOX. Changing this value will cause the table
@@ -518,30 +518,30 @@ public:
/**
Returns the range of row and column numbers for all the
visible (and partially visible) cells in the table.
-
+
These values can be used e.g. by your draw_cell() routine during
CONTEXT_STARTPAGE to figure out what cells are about to be redrawn,
for the purposes of locking the data from a database before it's drawn.
\code
- leftcol rightcol
- : :
+ leftcol rightcol
+ : :
toprow .. .-------------------.
- | |
- | V I S I B L E |
- | |
- | T A B L E |
- | |
+ | |
+ | V I S I B L E |
+ | |
+ | T A B L E |
+ | |
botrow .. '-------------------`
\endcode
e.g. in a table where the visible rows are 5-20, and the
visible columns are 100-120, then those variables would be:
- - toprow = 5
- - botrow = 20
- - leftcol = 100
- - rightcol = 120
+ - toprow = 5
+ - botrow = 20
+ - leftcol = 100
+ - rightcol = 120
*/
inline void visible_cells(int& r1, int& r2, int& c1, int& c2) {
r1 = toprow;
@@ -733,7 +733,7 @@ public:
inline int row_height(int row) {
return((row<0 || row>=(int)_rowheights.size()) ? 0 : _rowheights[row]);
}
-
+
/**
Sets the width of the specified column in pixels, and the table is redrawn.
callback() will be invoked with CONTEXT_RC_RESIZE
@@ -812,24 +812,24 @@ public:
void get_selection(int& s_top, int& s_left, int& s_bottom, int& s_right);
void set_selection(int s_top, int s_left, int s_bottom, int s_right);
int move_cursor(int R, int C);
-
+
/**
Changes the size of the Fl_Table, causing it to redraw.
*/
void resize(int X, int Y, int W, int H); // fltk resize() override
void draw(void); // fltk draw() override
-
-// This crashes sortapp() during init.
-// void box(Fl_Boxtype val) {
-// Fl_Group::box(val);
-// if ( table ) {
-// resize(x(), y(), w(), h());
-// }
-// }
-// Fl_Boxtype box(void) const {
-// return(Fl_Group::box());
-// }
-
+
+ // This crashes sortapp() during init.
+ // void box(Fl_Boxtype val) {
+ // Fl_Group::box(val);
+ // if ( table ) {
+ // resize(x(), y(), w(), h());
+ // }
+ // }
+ // Fl_Boxtype box(void) const {
+ // return(Fl_Group::box());
+ // }
+
// Child group
void init_sizes() {
table->init_sizes();
@@ -879,8 +879,8 @@ public:
\code
for ( int i=0; i<children(); i++ )
{
- Fl_Widget *w = child(i);
- [..]
+ Fl_Widget *w = child(i);
+ [..]
}
\endcode
*/
@@ -975,85 +975,85 @@ public:
#if DOXYGEN
/**
- Callbacks will be called depending on the setting of Fl_Widget::when().
-
- Callback functions should use the following functions to determine the
- context/row/column:
-
- * Fl_Table::callback_row() returns current row
- * Fl_Table::callback_col() returns current column
- * Fl_Table::callback_context() returns current table context
-
- callback_row() and callback_col() will be set to the row and column number the
- event occurred on. If someone clicked on a row header, \p col will be \a 0.
- If someone clicked on a column header, \p row will be \a 0.
-
- callback_context() will return one of the following:
-
- <table border=1>
- <tr><td><tt>Fl_Table::CONTEXT_ROW_HEADER</tt></td>
- <td>Someone clicked on a row header. Excludes resizing.</td>
- </tr><tr>
- <td><tt>Fl_Table::CONTEXT_COL_HEADER</tt></td>
- <td>Someone clicked on a column header. Excludes resizing.</td>
- </tr><tr>
- <td><tt>Fl_Table::CONTEXT_CELL</tt></td>
- <td>
- Someone clicked on a cell.
-
- To receive callbacks for FL_RELEASE events, you must set
- when(FL_WHEN_RELEASE).
- </td>
- </tr><tr>
- <td><tt>Fl_Table::CONTEXT_RC_RESIZE</tt></td>
- <td>
- Someone is resizing rows/columns either interactively,
- or via the col_width() or row_height() API.
-
- Use is_interactive_resize()
- to determine interactive resizing.
-
- If resizing a column, R=0 and C=column being resized.
-
- If resizing a row, C=0 and R=row being resized.
-
- NOTE: To receive resize events, you must set when(FL_WHEN_CHANGED).
- </td>
- </tr>
- </table>
-
- \code
- class MyTable
- {
- [..]
- private:
- // Handle events that happen on the table
- void event_callback2()
- {
- int R = callback_row(), // row where event occurred
- C = callback_col(); // column where event occurred
- TableContext context = callback_context(); // which part of table
- fprintf(stderr, "callback: Row=%d Col=%d Context=%d Event=%d\n",
- R, C, (int)context, (int)Fl::event());
- }
-
- // Actual static callback
- static void event_callback(Fl_Widget*, void* data)
- {
- MyTable *o = (MyTable*)data;
- o-&gt;event_callback2();
- }
-
- public:
- MyTable() // Constructor
- {
- [..]
- table.callback(&event_callback, (void*)this); // setup callback
- table.when(FL_WHEN_CHANGED|FL_WHEN_RELEASE); // when to call it
- }
- };
- \endcode
- */
+ Callbacks will be called depending on the setting of Fl_Widget::when().
+
+ Callback functions should use the following functions to determine the
+ context/row/column:
+
+ * Fl_Table::callback_row() returns current row
+ * Fl_Table::callback_col() returns current column
+ * Fl_Table::callback_context() returns current table context
+
+ callback_row() and callback_col() will be set to the row and column number the
+ event occurred on. If someone clicked on a row header, \p col will be \a 0.
+ If someone clicked on a column header, \p row will be \a 0.
+
+ callback_context() will return one of the following:
+
+ <table border=1>
+ <tr><td><tt>Fl_Table::CONTEXT_ROW_HEADER</tt></td>
+ <td>Someone clicked on a row header. Excludes resizing.</td>
+ </tr><tr>
+ <td><tt>Fl_Table::CONTEXT_COL_HEADER</tt></td>
+ <td>Someone clicked on a column header. Excludes resizing.</td>
+ </tr><tr>
+ <td><tt>Fl_Table::CONTEXT_CELL</tt></td>
+ <td>
+ Someone clicked on a cell.
+
+ To receive callbacks for FL_RELEASE events, you must set
+ when(FL_WHEN_RELEASE).
+ </td>
+ </tr><tr>
+ <td><tt>Fl_Table::CONTEXT_RC_RESIZE</tt></td>
+ <td>
+ Someone is resizing rows/columns either interactively,
+ or via the col_width() or row_height() API.
+
+ Use is_interactive_resize()
+ to determine interactive resizing.
+
+ If resizing a column, R=0 and C=column being resized.
+
+ If resizing a row, C=0 and R=row being resized.
+
+ NOTE: To receive resize events, you must set when(FL_WHEN_CHANGED).
+ </td>
+ </tr>
+ </table>
+
+ \code
+ class MyTable
+ {
+ [..]
+ private:
+ // Handle events that happen on the table
+ void event_callback2()
+ {
+ int R = callback_row(), // row where event occurred
+ C = callback_col(); // column where event occurred
+ TableContext context = callback_context(); // which part of table
+ fprintf(stderr, "callback: Row=%d Col=%d Context=%d Event=%d\n",
+ R, C, (int)context, (int)Fl::event());
+ }
+
+ // Actual static callback
+ static void event_callback(Fl_Widget*, void* data)
+ {
+ MyTable *o = (MyTable*)data;
+ o-&gt;event_callback2();
+ }
+
+ public:
+ MyTable() // Constructor
+ {
+ [..]
+ table.callback(&event_callback, (void*)this); // setup callback
+ table.when(FL_WHEN_CHANGED|FL_WHEN_RELEASE); // when to call it
+ }
+ };
+ \endcode
+ */
void callback(Fl_Widget*, void*);
#endif
};
diff --git a/FL/Fl_Table_Row.H b/FL/Fl_Table_Row.H
index 593cf0b58..137993c94 100644
--- a/FL/Fl_Table_Row.H
+++ b/FL/Fl_Table_Row.H
@@ -98,7 +98,7 @@ private:
void size(int count) {
if ( count != _size ) {
arr = (char*)realloc(arr, count * sizeof(char));
- _size = count;
+ _size = count;
}
}
char pop_back() {
@@ -116,7 +116,7 @@ private:
}
};
CharVector _rowselect; // selection flag for each row
-
+
// handle() state variables.
// Put here instead of local statics in handle(), so more
// than one instance can exist without crosstalk between.
@@ -126,22 +126,22 @@ private:
int _last_y; // last event's Y position
int _last_push_x; // last PUSH event's X position
int _last_push_y; // last PUSH event's Y position
-
+
TableRowSelectMode _selectmode;
-
+
protected:
int handle(int event);
int find_cell(TableContext context, // find cell's x/y/w/h given r/c
- int R, int C, int &X, int &Y, int &W, int &H) {
+ int R, int C, int &X, int &Y, int &W, int &H) {
return(Fl_Table::find_cell(context, R, C, X, Y, W, H));
}
-
+
public:
/**
The constructor for the Fl_Table_Row.
This creates an empty table with no rows or columns,
with headers and row/column resize behavior disabled.
- */
+ */
Fl_Table_Row(int X, int Y, int W, int H, const char *l=0) : Fl_Table(X,Y,W,H,l) {
_dragging_select = 0;
_last_row = -1;
@@ -168,7 +168,7 @@ public:
- \p Fl_Table_Row::SELECT_NONE - No selection allowed
- \p Fl_Table_Row::SELECT_SINGLE - Only single rows can be selected
- \p Fl_Table_Row::SELECT_MULTI - Multiple rows can be selected
- */
+ */
void type(TableRowSelectMode val); // set selection mode
TableRowSelectMode type() const { // get selection mode
@@ -187,7 +187,7 @@ public:
of 'flag'. 0=deselected, 1=select, 2=toggle existing state.
*/
int select_row(int row, int flag=1); // select state for row: flag:0=off, 1=on, 2=toggle
- // returns: 0=no change, 1=changed, -1=range err
+ // returns: 0=no change, 1=changed, -1=range err
/**
This convenience function changes the selection state
diff --git a/FL/Fl_Tree.H b/FL/Fl_Tree.H
new file mode 100644
index 000000000..edef13b00
--- /dev/null
+++ b/FL/Fl_Tree.H
@@ -0,0 +1,647 @@
+#ifndef FL_TREE_H
+#define FL_TREE_H
+
+#include <FL/Fl.H>
+#include <FL/Fl_Group.H>
+#include <FL/Fl_Scrollbar.H>
+#include <FL/fl_draw.H>
+
+#include <FL/Fl_Tree_Item.H>
+#include <FL/Fl_Tree_Prefs.H>
+
+//////////////////////
+// FL/Fl_Tree.H
+//////////////////////
+//
+// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK
+// Copyright (C) 2009 by Greg Ercolano.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+///
+/// \file
+/// \brief This file contains the definitions of the Fl_Tree class
+///
+
+/// \class Fl_Tree
+///
+/// \brief Tree widget.
+///
+/// \code
+/// Fl_Tree // Top level widget
+/// |--- Fl_Tree_Item // Items in the tree
+/// |--- Fl_Tree_Prefs // Preferences for the tree
+/// |--- Fl_Tree_Connector (enum) // Connection modes
+/// |--- Fl_Tree_Select (enum) // Selection modes
+/// |--- Fl_Tree_Sort (enum) // Sort behavior
+/// \endcode
+///
+/// An expandable tree widget.
+///
+/// Similar to Fl_Browser, Fl_Tree is browser of Fl_Tree_Item's, which can be
+/// in a parented hierarchy. Subtrees can be expanded or closed. Items can be
+/// added, deleted, inserted, sorted and re-ordered.
+///
+/// The tree items may also contain other FLTK widgets, like buttons, input fields,
+/// or even "custom" widgets.
+///
+/// The simple way to define a tree:
+/// \code
+/// Fl_Tree tree(X,Y,W,H);
+/// tree.begin();
+/// tree.add("Flintstones/Fred");
+/// tree.add("Flintstones/Wilma");
+/// tree.add("Flintstones/Pebbles");
+/// tree.add("Simpsons/Homer");
+/// tree.add("Simpsons/Marge");
+/// tree.add("Simpsons/Bart");
+/// tree.add("Simpsons/Lisa");
+/// tree.end();
+/// \endcode
+///
+/// Items can be added with Fl_Tree::add(),
+/// removed with Fl_Tree::remove(),
+/// inserted with Fl_Tree::insert_above(),
+/// selected/deselected with Fl_Tree::select() and Fl_Tree::deselect().
+/// Items can be swapped with Fl_Tree_Item::swap_children(), sorting control via
+/// Fl_Tree::sortorder().
+///
+/// The tree can have different selection behaviors controlled by Fl_Tree::selectmode().
+///
+/// FLTK and custom FLTK widgets can be assigned to tree items via Fl_Tree_Item::widget().
+///
+/// Parent nodes can be open/closed with open() and close(), icons can be assigned
+/// or redefined with some or all items via
+/// Fl_Tree_Item::openicon(),
+/// Fl_Tree_Item::closeicon(),
+/// Fl_Tree_Item::usericon().
+///
+/// Various default preferences can be manipulated vi Fl_Tree_Prefs, including
+/// colors, margins, connection lines.
+///
+/// \image html tree-elements.png
+///
+
+class Fl_Tree : public Fl_Group {
+ Fl_Tree_Item *_root; // can be null!
+ Fl_Tree_Item *_item_clicked;
+ Fl_Tree_Prefs _prefs; // all the tree's settings
+ Fl_Scrollbar *_vscroll;
+
+protected:
+ /// Find the item that was clicked.
+ /// You probably want to use item_clicked() instead, which is fast.
+ ///
+ /// This method walks the entire tree looking for the first item that is
+ /// under the mouse (ie. at Fl::event_x()/Fl:event_y().
+ ///
+ /// Use this method /only/ if you've subclassed Fl_Tree, and are receiving
+ /// events before Fl_Tree has been able to process and update item_clicked().
+ ///
+ /// \returns the item clicked, or 0 if no item was under the current event.
+ ///
+ const Fl_Tree_Item *find_clicked() const {
+ if ( ! _root ) return(0);
+ return(_root->find_clicked(_prefs));
+ }
+ /// Set the item that was last clicked.
+ /// Should only be used by subclasses needing to change this value.
+ /// Normally Fl_Tree manages this value.
+ ///
+ void item_clicked(Fl_Tree_Item* val) {
+ _item_clicked = val;
+ }
+
+public:
+ Fl_Tree(int X, int Y, int W, int H, const char *L=0);
+ ~Fl_Tree();
+ int handle(int e);
+ void draw();
+
+ ///////////////////////
+ // root methods
+ ///////////////////////
+
+ /// Set the label for the root item.
+ ///
+ /// Makes an internally managed copy of 'new_label'.
+ ///
+ void root_label(const char *new_label) {
+ if ( ! _root ) return;
+ _root->label(new_label);
+ }
+ /// Returns the root item.
+ Fl_Tree_Item* root() {
+ return(_root);
+ }
+
+ ////////////////////////////////
+ // Item creation/removal methods
+ ////////////////////////////////
+ Fl_Tree_Item *add(const char *path);
+ Fl_Tree_Item *insert_above(Fl_Tree_Item *above, const char *name);
+
+ /// Remove the specified 'item' from the tree.
+ /// If it has children, all those are removed too.
+ /// \returns 0 if done, -1 if 'item' not found.
+ ///
+ int remove(Fl_Tree_Item *item) {
+ if ( !item ) return(0);
+ if ( item == _root ) {
+ clear();
+ } else {
+ Fl_Tree_Item *parent = item->parent(); // find item's parent
+ if ( ! parent ) return(-1);
+ parent->remove_child(item); // remove child + children
+ }
+ return(0);
+ }
+ /// Clear all children from the tree.
+ /// The tree will be left completely empty.
+ ///
+ void clear() {
+ if ( ! _root ) return;
+ _root->clear_children();
+ delete _root; _root = 0;
+ }
+ /// Clear all the children of a particular node in the tree.
+ void clear_children(Fl_Tree_Item *item) {
+ if ( item->has_children() ) {
+ item->clear_children();
+ redraw(); // redraw only if there were children to clear
+ }
+ }
+
+ ////////////////////////
+ // Item lookup methods
+ ////////////////////////
+ Fl_Tree_Item *find_item(const char *path);
+ const Fl_Tree_Item *find_item(const char *path) const;
+
+ /// Return the parent for specified 'item'.
+ ///
+ /// \returns item's parent, or 0 if none (root).
+ ///
+ Fl_Tree_Item *parent(Fl_Tree_Item *item) {
+ return(item->parent());
+ }
+ /// Return the item that was last clicked.
+ ///
+ /// Valid only from within an Fl_Tree::callback().
+ ///
+ /// \returns the item clicked, or 0 if none.
+ ///
+ Fl_Tree_Item *item_clicked() {
+ return(_item_clicked);
+ }
+ /// Returns the first item in the tree.
+ ///
+ /// Use this to walk the tree in the forward direction, eg:
+ /// \code
+ /// for ( Fl_Tree_Item *item = tree->first(); item; item = item->next() ) {
+ /// printf("Item: %s\n", item->label());
+ /// }
+ /// \endcode
+ ///
+ /// \returns first item in tree, or 0 if none (tree empty).
+ ///
+ Fl_Tree_Item *first() {
+ return(_root); // first item always root
+ }
+ /// Returns the last item in the tree.
+ ///
+ /// Use this to walk the tree in reverse, eg:
+ ///
+ /// \code
+ /// for ( Fl_Tree_Item *item = tree->last(); item; item = item->prev() ) {
+ /// printf("Item: %s\n", item->label());
+ /// }
+ /// \endcode
+ ///
+ /// \returns last item in the tree, or 0 if none (tree empty).
+ ///
+ Fl_Tree_Item *last() {
+ if ( ! _root ) return(0);
+ Fl_Tree_Item *item = _root;
+ while ( item->has_children() ) {
+ item = item->child(item->children()-1);
+ }
+ return(item);
+ }
+
+ //////////////////////////
+ // Item open/close methods
+ //////////////////////////
+
+ /// Open the specified 'item'.
+ /// This causes the item's children (if any) to be shown.
+ /// Handles redrawing if anything was actually changed.
+ ///
+ void open(Fl_Tree_Item *item) {
+ if ( ! item->is_open() ) {
+ item->open();
+ redraw();
+ }
+ }
+ /// Opens the item specified by a 'menu item' style pathname (eg: "Parent/child/item").
+ /// This causes the item's children (if any) to be shown.
+ /// Handles redrawing if anything was actually changed.
+ ///
+ /// \returns
+ /// - 0 : OK
+ /// - -1 : item was not found
+ ///
+ int open(const char *path) {
+ Fl_Tree_Item *item = find_item(path);
+ if ( item ) {
+ open(item);
+ return(0);
+ }
+ return(-1);
+ }
+ /// Closes the 'item'.
+ /// Handles redrawing if anything was actually changed.
+ ///
+ void close(Fl_Tree_Item *item) {
+ if ( ! item->is_close() ) {
+ item->close();
+ redraw();
+ }
+ }
+ /// Closes the item specified by 'path', eg: "Parent/child/item".
+ ///
+ /// Handles redrawing if anything was actually changed.
+ ///
+ /// \returns
+ /// - 0 -- OK
+ /// - -1 -- item was not found
+ ///
+ int close(const char *path) {
+ Fl_Tree_Item *item = find_item(path);
+ if ( item ) {
+ close(item);
+ return(0);
+ }
+ return(-1);
+ }
+ /// See if item is open.
+ ///
+ /// Items that are 'open' are themselves not necessarily visible;
+ /// one of the item's parents might be closed.
+ ///
+ /// \returns
+ /// - 1 : item is open
+ /// - 0 : item is closed
+ ///
+ int is_open(Fl_Tree_Item *item) const {
+ return(item->is_open()?1:0);
+ }
+ /// See if item specified by 'path' (eg: "Parent/child/item") is open.
+ ///
+ /// Items that are 'open' are themselves not necessarily visible;
+ /// one of the item's parents might be closed.
+ ///
+ /// \returns
+ /// - 1 : item is open
+ /// - 0 : item is closed
+ /// - -1 : item was not found
+ ///
+ int is_open(const char *path) const {
+ const Fl_Tree_Item *item = find_item(path);
+ if ( item ) return(item->is_open()?1:0);
+ return(-1);
+ }
+ /// See if item is closed.
+ /// \returns
+ /// - 1 : item is open
+ /// - 0 : item is closed
+ ///
+ int is_close(Fl_Tree_Item *item) const {
+ return(item->is_close());
+ }
+ /// See if item specified by 'path' (eg: "Parent/child/item") is closed.
+ ///
+ /// \returns
+ /// - 1 : item is closed
+ /// - 0 : item is open
+ /// - -1 : item was not found
+ ///
+ int is_close(const char *path) const {
+ const Fl_Tree_Item *item = find_item(path);
+ if ( item ) return(item->is_close()?1:0);
+ return(-1);
+ }
+
+ /////////////////////////
+ // Item selection methods
+ /////////////////////////
+
+ /// Select the specified item. Use 'deselect()' to de-select it.
+ /// Handles redrawing if anything was actually changed.
+ ///
+ void select(Fl_Tree_Item *item) {
+ if ( ! item->is_selected() ) {
+ item->select();
+ redraw();
+ }
+ }
+ /// Select an item specified by 'path' (eg: "Parent/child/item").
+ /// Handles redrawing if anything was actually changed.
+ ///
+ /// \returns
+ /// - 0 : OK
+ /// - -1 : item was not found
+ ///
+ int select(const char *path) {
+ Fl_Tree_Item *item = find_item(path);
+ if ( item ) {
+ select(item);
+ return(0);
+ }
+ return(-1);
+ }
+ /// Toggle item's select state.
+ /// Handles redrawing.
+ ///
+ void select_toggle(Fl_Tree_Item *item) {
+ item->select_toggle();
+ redraw();
+ }
+ /// De-select the specified item.
+ /// Handles redrawing if anything was actually changed.
+ ///
+ void deselect(Fl_Tree_Item *item) {
+ if ( item->is_selected() ) {
+ item->deselect();
+ redraw();
+ }
+ }
+ /// De-select an item specified by 'path' (eg: "Parent/child/item").
+ /// Handles redrawing if anything was actually changed.
+ ///
+ /// \returns
+ /// - 0 : OK
+ /// - -1 : item was not found
+ ///
+ int deselect(const char *path) {
+ Fl_Tree_Item *item = find_item(path);
+ if ( item ) {
+ deselect(item);
+ return(0);
+ }
+ return(-1);
+ }
+
+ int deselect_all(Fl_Tree_Item *item=0);
+ int select_only(Fl_Tree_Item *selitem);
+
+ /// See if the specified item is selected.
+ /// \return
+ /// - 1 : item selected
+ /// - 0 : item deselected
+ ///
+ int is_selected(Fl_Tree_Item *item) const {
+ return(item->is_selected()?1:0);
+ }
+ /// See if item specified by 'path' (eg: "Parent/child/item") is selected.
+ ///
+ /// \returns
+ /// - 1 : item selected
+ /// - 0 : item deselected
+ /// - -1 : item was not found
+ ///
+ int is_selected(const char *path) {
+ Fl_Tree_Item *item = find_item(path);
+ if ( item ) return(is_selected(item));
+ return(-1);
+ }
+ /// Print the tree as 'ascii art' to stdout.
+ /// Used mainly for debugging.
+ ///
+ void show_self() {
+ if ( ! _root ) return;
+ _root->show_self();
+ }
+
+ /////////////////////////////////
+ // Item attribute related methods
+ /////////////////////////////////
+
+ /// Get the default label fontsize used for creating new items.
+ int labelsize() const {
+ return(_prefs.labelsize());
+ }
+ /// Set the default label font size used for creating new items.
+ /// To change the font size on a per-item basis, use Fl_Tree_Item::labelsize(int)
+ ///
+ void labelsize(int val) {
+ _prefs.labelsize(val);
+ }
+
+ /// Get the default font face used for item's labels when new items are created.
+ ///
+ /// Don't use this if you want to change an existing label() size; use
+ /// item->labelfont() instead.
+ ///
+ int labelfont() const {
+ return(_prefs.labelfont());
+ }
+ /// Set the default font face used for item's labels when new items are created.
+ ///
+ /// Don't use this if you want to change an existing label() size; use
+ /// item->labelfont(int) instead.
+ ///
+ void labelfont(int val) {
+ _prefs.labelfont(val);
+ }
+ /// Get the amount of white space (in pixels) that should appear
+ /// between the widget's left border and the tree's contents.
+ ///
+ int marginleft() const {
+ return(_prefs.marginleft());
+ }
+ /// Set the amount of white space (in pixels) that should appear
+ /// between the widget's left border and the left side of the tree's contents.
+ ///
+ void marginleft(int val) {
+ _prefs.marginleft(val);
+ redraw();
+ }
+ /// Get the amount of white space (in pixels) that should appear
+ /// between the widget's top border and the top of the tree's contents.
+ ///
+ int margintop() const {
+ return(_prefs.margintop());
+ }
+ /// Sets the amount of white space (in pixels) that should appear
+ /// between the widget's top border and the top of the tree's contents.
+ ///
+ void margintop(int val) {
+ _prefs.margintop(val);
+ redraw();
+ }
+ /// Get the amount of white space (in pixels) that should appear
+ /// below an open child tree's contents.
+ ///
+ int openchild_marginbottom() const {
+ return(_prefs.openchild_marginbottom());
+ }
+ /// Set the amount of white space (in pixels) that should appear
+ /// below an open child tree's contents.
+ ///
+ void openchild_marginbottom(int val) {
+ _prefs.openchild_marginbottom(val);
+ redraw();
+ }
+ /// Gets the width of the horizontal connection lines (in pixels)
+ /// that appear to the left of each tree item's label.
+ ///
+ int connectorwidth() const {
+ return(_prefs.connectorwidth());
+ }
+ /// Sets the width of the horizontal connection lines (in pixels)
+ /// that appear to the left of each tree item's label.
+ ///
+ void connectorwidth(int val) {
+ _prefs.connectorwidth(val);
+ redraw();
+ }
+ /// Returns the Fl_Pixmap being used as the default user icon for newly created items.
+ /// Returns zero if no icon has been set, which is the default.
+ ///
+ Fl_Pixmap *usericon() const {
+ return(_prefs.usericon());
+ }
+ /// Sets the Fl_Pixmap to be used as the default user icon for all
+ /// newly created items.
+ ///
+ /// If you want to specify user icons on a per-item basis,
+ /// use Fl_Tree_Item::usericon() instead.
+ ///
+ /// \param[in] val -- The new pixmap to be used, or
+ /// zero to disable user icons.
+ ///
+ void usericon(Fl_Pixmap *val) {
+ _prefs.usericon(val);
+ redraw();
+ }
+ /// Returns the icon to be used as the 'open' icon.
+ /// If none was set, the internal default is returned,
+ /// a simple '[+]' icon.
+ ///
+ Fl_Pixmap *openicon() const {
+ return(_prefs.openicon());
+ }
+ /// Sets the icon to be used as the 'open' icon.
+ /// This overrides the built in default '[+]' icon.
+ ///
+ /// \param[in] val -- The new pixmap, or zero to use the default [+] icon.
+ ///
+ void openicon(Fl_Pixmap *val) {
+ _prefs.openicon(val);
+ redraw();
+ }
+ /// Returns the icon to be used as the 'close' icon.
+ /// If none was set, the internal default is returned,
+ /// a simple '[-]' icon.
+ ///
+ Fl_Pixmap *closeicon() const {
+ return(_prefs.closeicon());
+ }
+ /// Sets the icon to be used as the 'close' icon.
+ /// This overrides the built in default '[-]' icon.
+ ///
+ /// \param[in] val -- The new pixmap, or zero to use the default [-] icon.
+ ///
+ void closeicon(Fl_Pixmap *val) {
+ _prefs.closeicon(val);
+ redraw();
+ }
+ /// Returns 1 if the collapse icon is enabled, 0 if not.
+ int showcollapse() const {
+ return(_prefs.showcollapse());
+ }
+ /// Set if we should show the collapse icon or not.
+ /// If collapse icons are disabled, the user will not be able
+ /// to interactively collapse items in the tree, unless the application
+ /// provides some other means via open() and close().
+ ///
+ /// \param[in] val 1: shows collapse icons (default),\n
+ /// 0: hides collapse icons.
+ ///
+ void showcollapse(int val) {
+ _prefs.showcollapse(val);
+ redraw();
+ }
+ /// Returns 1 if the root item is to be shown, or 0 if not.
+ int showroot() const {
+ return(_prefs.showroot());
+ }
+ /// Set if the root item should be shown or not.
+ /// \param[in] val 1 -- show the root item (default)\n
+ /// 0 -- hide the root item.
+ ///
+ void showroot(int val) {
+ _prefs.showroot(val);
+ redraw();
+ }
+ /// Returns the line drawing style for inter-connecting items.
+ Fl_Tree_Connector connectorstyle() const {
+ return(_prefs.connectorstyle());
+ }
+ /// Sets the line drawing style for inter-connecting items.
+ void connectorstyle(Fl_Tree_Connector val) {
+ _prefs.connectorstyle(val);
+ redraw();
+ }
+ /// Set the default sort order used when items are added to the tree.
+ /// See Fl_Tree_Sort for possible values.
+ ///
+ Fl_Tree_Sort sortorder() const {
+ return(_prefs.sortorder());
+ }
+ /// Gets the sort order used to add items to the tree.
+ void sortorder(Fl_Tree_Sort val) {
+ _prefs.sortorder(val);
+ // no redraw().. only affects new add()itions
+ }
+ /// Sets the style of box used to draw selected items.
+ /// This is an fltk Fl_Boxtype.
+ /// The default is influenced by FLTK's current Fl::scheme()
+ ///
+ Fl_Boxtype selectbox() const {
+ return(_prefs.selectbox());
+ }
+ /// Gets the style of box used to draw selected items.
+ /// This is an fltk Fl_Boxtype.
+ /// The default is influenced by FLTK's current Fl::scheme()
+ ///
+ void selectbox(Fl_Boxtype val) {
+ _prefs.selectbox(val);
+ redraw();
+ }
+ /// Gets the tree's current selection mode.
+ Fl_Tree_Select selectmode() const {
+ return(_prefs.selectmode());
+ }
+ /// Sets the tree's selection mode.
+ void selectmode(Fl_Tree_Select val) {
+ _prefs.selectmode(val);
+ }
+};
+
+#endif /*FL_TREE_H*/
diff --git a/FL/Fl_Tree_Item.H b/FL/Fl_Tree_Item.H
new file mode 100644
index 000000000..388dce790
--- /dev/null
+++ b/FL/Fl_Tree_Item.H
@@ -0,0 +1,291 @@
+#ifndef FL_TREE_ITEM_H
+#define FL_TREE_ITEM_H
+
+#include <FL/Fl.H>
+#include <FL/Fl_Widget.H>
+#include <FL/Fl_Pixmap.H>
+#include <FL/fl_draw.H>
+
+#include <FL/Fl_Tree_Item_Array.H>
+#include <FL/Fl_Tree_Prefs.H>
+
+//////////////////////
+// FL/Fl_Tree_Item.H
+//////////////////////
+//
+// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK
+// Copyright (C) 2009 by Greg Ercolano.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+///
+/// \file
+/// \brief This file contains the definitions for Fl_Tree_Item
+///
+
+/// \brief Tree item
+///
+/// This class is a single tree item, and manages all of the item's attributes.
+/// Fl_Tree_Item is used by Fl_Tree, which is comprised of many instances of Fl_Tree_Item.
+///
+/// Fl_Tree_Item is hierarchical; it dynamically manages an Fl_Tree_Item_Array of children
+/// that are themselves instances of Fl_Tree_Item. Each item can have zero or more children.
+/// When an item has children, close() and open() can be used to hide or show them.
+///
+/// Items have their own attributes; font size, face, color.
+/// Items maintain their own hierarchy of children.
+///
+/// When you make changes to items, you'll need to tell the tree to redraw()
+/// for the changes to show up.
+///
+class Fl_Tree_Item {
+ const char *_label; // label (memory managed)
+ int _labelfont; // label's font face
+ int _labelsize; // label's font size
+ Fl_Color _labelfgcolor; // label's fg color
+ Fl_Color _labelbgcolor; // label's bg color
+ char _open; // item is open?
+ char _visible; // item is visible?
+ char _active; // item activated?
+ char _selected; // item selected?
+ int _xywh[4]; // xywh of this widget (if visible)
+ int _collapse_xywh[4]; // xywh of collapse icon (if any)
+ int _label_xywh[4]; // xywh of label
+ Fl_Widget *_widget; // item's label widget (optional)
+ Fl_Pixmap *_usericon; // item's user-specific icon (optional)
+ Fl_Tree_Item_Array _children; // array of child items
+ Fl_Tree_Item *_parent; // parent item (=0 if root)
+protected:
+ void show_widgets();
+ void hide_widgets();
+ void draw_vertical_connector(int x, int y1, int y2, const Fl_Tree_Prefs &prefs);
+ void draw_horizontal_connector(int x1, int x2, int y, const Fl_Tree_Prefs &prefs);
+public:
+ Fl_Tree_Item(const Fl_Tree_Prefs &prefs); // CTOR
+ ~Fl_Tree_Item(); // DTOR
+ Fl_Tree_Item(const Fl_Tree_Item *o); // COPY CTOR
+ void draw(int X, int &Y, int W, Fl_Widget *tree, const Fl_Tree_Prefs &prefs, int lastchild=1);
+ void show_self(const char *indent = "") const;
+ void label(const char *val);
+ const char *label() const;
+
+ /// Set item's label font face.
+ void labelfont(int val) {
+ _labelfont = val;
+ }
+ /// Get item's label font face.
+ int labelfont() const {
+ return(_labelfont);
+ }
+ /// Set item's label font size.
+ void labelsize(int val) {
+ _labelsize = val;
+ }
+ /// Get item's label font size.
+ int labelsize() const {
+ return(_labelsize);
+ }
+ /// Set item's label foreground text color.
+ void labelfgcolor(Fl_Color val) {
+ _labelfgcolor = val;
+ }
+ /// Set item's label text color.
+ void labelcolor(Fl_Color val) {
+ _labelfgcolor = val;
+ }
+ /// Return item's label text color.
+ Fl_Color labelcolor() const {
+ return(_labelfgcolor);
+ }
+ /// Return item's label foreground text color.
+ Fl_Color labelfgcolor() const {
+ return(_labelfgcolor);
+ }
+ /// Set item's label background color.
+ void labelbgcolor(Fl_Color val) {
+ _labelbgcolor = val;
+ }
+ /// Return item's background text color.
+ Fl_Color labelbgcolor() const {
+ return(_labelbgcolor);
+ }
+ /// Assign an FLTK widget to this item.
+ void widget(Fl_Widget *val) {
+ _widget = val;
+ }
+ /// Return FLTK widget assigned to this item.
+ Fl_Widget *widget() const {
+ return(_widget);
+ }
+ /// Return the number of children this item has.
+ int children() const {
+ return(_children.total());
+ }
+ /// Return the child item for the given 'index'.
+ Fl_Tree_Item *child(int index) {
+ return(_children[index]);
+ }
+ /// Return the const child item for the given 'index'.
+ const Fl_Tree_Item *child(int t) const;
+ /// See if this item has children.
+ int has_children() const {
+ return(children());
+ }
+ int find_child(const char *name);
+ int find_child(Fl_Tree_Item *item);
+ int remove_child(Fl_Tree_Item *item);
+ int remove_child(const char *new_label);
+ void clear_children();
+ void swap_children(int ax, int bx);
+ int swap_children(Fl_Tree_Item *a, Fl_Tree_Item *b);
+ const Fl_Tree_Item *find_item(char **arr) const;
+ Fl_Tree_Item *find_item(char **arr);
+ //////////////////
+ // Adding items
+ //////////////////
+ Fl_Tree_Item *add(const Fl_Tree_Prefs &prefs, const char *new_label);
+ Fl_Tree_Item *add(const Fl_Tree_Prefs &prefs, char **arr);
+ Fl_Tree_Item *insert(const Fl_Tree_Prefs &prefs, const char *new_label, int pos=0);
+ Fl_Tree_Item *insert_above(const Fl_Tree_Prefs &prefs, const char *new_label);
+ int depth() const;
+ Fl_Tree_Item *prev();
+ Fl_Tree_Item *next();
+
+ /// Return the parent for this item.
+ Fl_Tree_Item *parent() {
+ return(_parent);
+ }
+ /// Return the const parent for this item.
+ const Fl_Tree_Item *parent() const {
+ return(_parent);
+ }
+ /// Set the parent for this item.
+ /// Should only be used by Fl_Tree's internals.
+ ///
+ void parent(Fl_Tree_Item *val) {
+ _parent = val;
+ }
+ //////////////////
+ // State
+ //////////////////
+ void open();
+ void close();
+ /// See if the item is 'open'.
+ int is_open() const {
+ return(_open?1:0);
+ }
+ /// See if the item is 'closed'.
+ int is_close() const {
+ return(_open?0:1);
+ }
+ /// Toggle the item's open/closed state.
+ void open_toggle() {
+ _open?close():open();
+ }
+ /// Change the item's selection state to the optionally specified 'val'.
+ /// If 'val' is not specified, the item will be selected.
+ ///
+ void select(int val=1) {
+ _selected = val;
+ }
+ /// Toggle the item's selection state.
+ void select_toggle() {
+ if ( is_selected() ) {
+ deselect(); // deselect if selected
+ } else {
+ select(); // select if deselected
+ }
+ }
+ /// Disable the item's selection state.
+ void deselect() {
+ _selected = 0;
+ }
+ /// Deselect self and all children
+ /// Returns count of how many items were in the 'selected' state,
+ /// ie. how many items were "changed".
+ ///
+ int deselect_all() {
+ int count = 0;
+ if ( is_selected() ) {
+ deselect();
+ ++count;
+ }
+ for ( int t=0; t<children(); t++ ) {
+ count += child(t)->deselect_all();
+ }
+ return(count);
+ }
+ /// See if the item is selected.
+ char is_selected() const {
+ return(_selected);
+ }
+ /// Change the item's activation state to the optionally specified 'val'.
+ ///
+ /// When deactivated, the item will be 'grayed out'; the callback()
+ /// won't be invoked if the user clicks on the label. If the item
+ /// has a widget() associated with the item, its activation state
+ /// will be changed as well.
+ ///
+ /// If 'val' is not specified, the item will be activated.
+ ///
+ void activate(int val=1) {
+ _active = val;
+ if ( _widget && val != (int)_widget->active() ) {
+ if ( val ) {
+ _widget->activate();
+ } else {
+ _widget->deactivate();
+ }
+ _widget->redraw();
+ }
+ }
+ /// Deactivate the item; the callback() won't be invoked when clicked.
+ /// Same as activate(0)
+ ///
+ void deactivate() {
+ activate(0);
+ }
+ /// See if the item is activated.
+ char is_activated() const {
+ return(_active);
+ }
+ /// See if the item is activated.
+ char is_active() const {
+ return(_active);
+ }
+ /// Set the user icon's pixmap. '0' will disable.
+ void usericon(Fl_Pixmap *val) {
+ _usericon = val;
+ }
+ /// Get the user icon. Returns '0' if disabled.
+ Fl_Pixmap *usericon() const {
+ return(_usericon);
+ }
+ //////////////////
+ // Events
+ //////////////////
+ const Fl_Tree_Item *find_clicked(const Fl_Tree_Prefs &prefs) const;
+ Fl_Tree_Item *find_clicked(const Fl_Tree_Prefs &prefs);
+ int event_on_collapse_icon(const Fl_Tree_Prefs &prefs) const;
+ int event_on_label(const Fl_Tree_Prefs &prefs) const;
+ /// Is this item the root of the tree?
+ int is_root() const {
+ return(_parent==0?1:0);
+ }
+};
+
+#endif /*FL_TREE_ITEM_H*/
diff --git a/FL/Fl_Tree_Item_Array.H b/FL/Fl_Tree_Item_Array.H
new file mode 100644
index 000000000..7e31862eb
--- /dev/null
+++ b/FL/Fl_Tree_Item_Array.H
@@ -0,0 +1,80 @@
+#ifndef _FL_TREE_ITEM_ARRAY_H
+#define _FL_TREE_ITEM_ARRAY_H
+
+class Fl_Tree_Item; // forward decl must *precede* first doxygen comment block
+// or doxygen will not document our class..
+
+//////////////////////
+// FL/Fl_Tree_Item_Array.H
+//////////////////////
+//
+// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK
+// Copyright (C) 2009 by Greg Ercolano.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+///
+/// \file
+/// \brief This file defines a class that manages an array of Fl_Tree_Item pointers.
+///
+
+/// \brief Manages an array of Fl_Tree_Item pointers.
+///
+/// Because FLTK 1.x.x. has mandated that templates and STL not be used,
+/// we use this class to dynamically manage the arrays.
+///
+/// None of the methods do range checking on index values; the caller
+/// must be sure that index values are within the range 0<index<total()
+/// (unless otherwise noted).
+///
+
+class Fl_Tree_Item_Array {
+ Fl_Tree_Item **_items; // items array
+ int _total; // #items in array
+ int _size; // #items *allocated* for array
+ int _chunksize; // #items to enlarge mem allocation
+ void enlarge(int count);
+public:
+ Fl_Tree_Item_Array(int new_chunksize = 10); // CTOR
+ ~Fl_Tree_Item_Array(); // DTOR
+ Fl_Tree_Item_Array(const Fl_Tree_Item_Array *o); // COPY CTOR
+ /// Return the item and index \p i.
+ Fl_Tree_Item *operator[](int i) {
+ return(_items[i]);
+ }
+ /// Const version of operator[](int i)
+ const Fl_Tree_Item *operator[](int i) const {
+ return(_items[i]);
+ }
+ /// Return the total items in the array, or 0 if empty.
+ int total() const {
+ return(_total);
+ }
+ /// Swap the two items at index positions \p ax and \p bx.
+ void swap(int ax, int bx) {
+ Fl_Tree_Item *asave = _items[ax];
+ _items[ax] = _items[bx];
+ _items[bx] = asave;
+ }
+ void clear();
+ void add(Fl_Tree_Item *val);
+ void insert(int pos, Fl_Tree_Item *new_item);
+ void remove(int index);
+ int remove(Fl_Tree_Item *item);
+};
+
+#endif /*_FL_TREE_ITEM_ARRAY_H*/
diff --git a/FL/Fl_Tree_Prefs.H b/FL/Fl_Tree_Prefs.H
new file mode 100644
index 000000000..36cecefa5
--- /dev/null
+++ b/FL/Fl_Tree_Prefs.H
@@ -0,0 +1,353 @@
+#ifndef FL_TREE_PREFS_H
+#define FL_TREE_PREFS_H
+
+//////////////////////
+// FL/Fl_Tree_Prefs.H
+//////////////////////
+//
+// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK
+// Copyright (C) 2009 by Greg Ercolano.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+///
+/// \file
+/// \brief This file contains the definitions for Fl_Tree's preferences.
+///
+/// \code
+/// Fl_Tree_Prefs
+/// :
+/// .....:.......
+/// : :
+/// Fl_Tree :
+/// |_____ Fl_Tree_Item
+///
+/// \endcode
+///
+
+/// \class Fl_Tree_Prefs
+/// \brief Tree widget's preferences.
+
+/// \enum Fl_Tree_Sort
+/// Sort order options for items added to the tree
+///
+enum Fl_Tree_Sort {
+ FL_TREE_SORT_NONE=0, ///< No sorting; items are added in the order defined (default).
+ FL_TREE_SORT_ASCENDING=1, ///< Add items in ascending sort order.
+ FL_TREE_SORT_DESCENDING=2 ///< Add items in descending sort order.
+};
+
+/// \enum Fl_Tree_Connector
+/// Defines the style of connection lines between items.
+///
+enum Fl_Tree_Connector {
+ FL_TREE_CONNECTOR_NONE=0, ///< Use no lines connecting items
+ FL_TREE_CONNECTOR_DOTTED=1, ///< Use dotted lines connecting items (default)
+ FL_TREE_CONNECTOR_SOLID=2 ///< Use solid lines connecting items
+};
+
+/// \enum Fl_Tree_Select
+/// Tree selection style.
+///
+enum Fl_Tree_Select {
+ FL_TREE_SELECT_NONE=0, ///< Nothing selected when items are clicked
+ FL_TREE_SELECT_SINGLE, ///< Single item selected when item is clicked (default)
+ FL_TREE_SELECT_MULTI ///< Multiple items can be selected by clicking with
+ ///< SHIFT or CTRL or mouse drags.
+};
+
+/// \class Fl_Tree_Prefs
+///
+/// \brief Fl_Tree's Preferences class.
+///
+/// This class manages the Fl_Tree's defaults.
+/// You should probably be using the methods in Fl_Tree
+/// instead of trying to accessing tree's preferences settings directly.
+///
+class Fl_Tree_Prefs {
+ int _labelfont; // label's font face
+ int _labelsize; // label's font size
+ int _margintop; // --
+ int _marginleft; // |- tree's margins
+ //int _marginright; // |
+ //int _marginbottom; // --
+ int _openchild_marginbottom; // extra space below an open child tree
+ int _usericonmarginleft; // space to left of user icon (if any)
+ int _labelmarginleft; // space to left of label
+ int _connectorwidth; // connector width (right of open/close icon)
+ int _linespacing; // vertical space between lines
+ // Colors
+ Fl_Color _fgcolor; // label's foreground color
+ Fl_Color _bgcolor; // background color
+ Fl_Color _selectcolor; // selection color
+ Fl_Color _inactivecolor; // inactive color
+ Fl_Color _connectorcolor; // connector dotted line color
+ Fl_Tree_Connector _connectorstyle; // connector line style
+ Fl_Pixmap *_openpixmap; // the 'open' icon [+]
+ Fl_Pixmap *_closepixmap; // the 'close' icon [-]
+ Fl_Pixmap *_userpixmap; // user's own icon
+ char _showcollapse; // 1=show collapse icons, 0=don't
+ char _showroot; // show the root item as part of the tree
+ Fl_Tree_Sort _sortorder; // none, ascening, descending, etc.
+ Fl_Boxtype _selectbox; // selection box type
+ Fl_Tree_Select _selectmode; // selection mode
+public:
+ Fl_Tree_Prefs();
+
+ ////////////////////////////
+ // Labels
+ ////////////////////////////
+ /// Return the label's font.
+ inline int labelfont() const {
+ return(_labelfont);
+ }
+ /// Set the label's font to \p val.
+ inline void labelfont(int val) {
+ _labelfont = val;
+ }
+ /// Return the label's size in pixels.
+ inline int labelsize() const {
+ return(_labelsize);
+ }
+ /// Set the label's size in pixels to \p val.
+ inline void labelsize(int val) {
+ _labelsize = val;
+ }
+
+ ////////////////////////////
+ // Margins
+ ////////////////////////////
+ /// Get the left margin's value in pixels
+ inline int marginleft() const {
+ return(_marginleft);
+ }
+ /// Set the left margin's value in pixels
+ inline void marginleft(int val) {
+ _marginleft = val;
+ }
+ /// Get the top margin's value in pixels
+ inline int margintop() const {
+ return(_margintop);
+ }
+ /// Set the top margin's value in pixels
+ inline void margintop(int val) {
+ _margintop = val;
+ }
+ /// Get the margin below an open child in pixels
+ inline int openchild_marginbottom() const {
+ return(_openchild_marginbottom);
+ }
+ /// Set the margin below an open child in pixels
+ inline void openchild_marginbottom(int val) {
+ _openchild_marginbottom = val;
+ }
+
+ /****** NOT IMPLEMENTED
+ inline int marginright() const {
+ return(_marginright);
+ }
+ inline void marginright(int val) {
+ _marginright = val;
+ }
+ inline int marginbottom() const {
+ return(_marginbottom);
+ }
+ inline void marginbottom(int val) {
+ _marginbottom = val;
+ }
+ *******/
+
+ /// Get the user icon's left margin value in pixels
+ inline int usericonmarginleft() const {
+ return(_usericonmarginleft);
+ }
+ /// Set the user icon's left margin value in pixels
+ inline void usericonmarginleft(int val) {
+ _usericonmarginleft = val;
+ }
+ /// Get the label's left margin value in pixels
+ inline int labelmarginleft() const {
+ return(_labelmarginleft);
+ }
+ /// Set the label's left margin value in pixels
+ inline void labelmarginleft(int val) {
+ _labelmarginleft = val;
+ }
+ /// Get the line spacing value in pixels
+ inline int linespacing() const {
+ return(_linespacing);
+ }
+ /// Set the line spacing value in pixels
+ inline void linespacing(int val) {
+ _linespacing = val;
+ }
+
+ ////////////////////////////
+ // Colors and Styles
+ ////////////////////////////
+ /// Get the default label foreground color
+ inline Fl_Color fgcolor() const {
+ return(_fgcolor);
+ }
+ /// Set the default label foreground color
+ inline void fgcolor(Fl_Color val) {
+ _fgcolor = val;
+ }
+ /// Get the default label background color
+ inline Fl_Color bgcolor() const {
+ return(_bgcolor);
+ }
+ /// Set the default label background color
+ inline void bgcolor(Fl_Color val) {
+ _bgcolor = val;
+ }
+ /// Get the default selection color
+ inline Fl_Color selectcolor() const {
+ return(_selectcolor);
+ }
+ /// Set the default selection color
+ inline void selectcolor(Fl_Color val) {
+ _selectcolor = val;
+ }
+ /// Get the default inactive color
+ inline Fl_Color inactivecolor() const {
+ return(_inactivecolor);
+ }
+ /// Set the default inactive color
+ inline void inactivecolor(Fl_Color val) {
+ _inactivecolor = val;
+ }
+ /// Get the connector color; the color used for tree connection lines
+ inline Fl_Color connectorcolor() const {
+ return(_connectorcolor);
+ }
+ /// Set the connector color; the color used for tree connection lines
+ inline void connectorcolor(Fl_Color val) {
+ _connectorcolor = val;
+ }
+ /// Get the connector style
+ inline Fl_Tree_Connector connectorstyle() const {
+ return(_connectorstyle);
+ }
+ /// Set the connector style
+ inline void connectorstyle(Fl_Tree_Connector val) {
+ _connectorstyle = val;
+ }
+ /// Set the connector style [integer].
+ inline void connectorstyle(int val) {
+ _connectorstyle = Fl_Tree_Connector(val);
+ }
+ /// Get the tree connection line's width
+ inline int connectorwidth() const {
+ return(_connectorwidth);
+ }
+ /// Set the tree connection line's width
+ inline void connectorwidth(int val) {
+ _connectorwidth = val;
+ }
+
+ ////////////////////////////
+ // Icons
+ ////////////////////////////
+ /// Get the current default 'open' icon.
+ /// Returns the Fl_Pixmap* of the icon, or 0 if none.
+ ///
+ inline Fl_Pixmap *openicon() const {
+ return(_openpixmap);
+ }
+ void openicon(Fl_Pixmap *val);
+ /// Gets the default 'close' icon
+ /// Returns the Fl_Pixmap* of the icon, or 0 if none.
+ ///
+ inline Fl_Pixmap *closeicon() const {
+ return(_closepixmap);
+ }
+ void closeicon(Fl_Pixmap *val);
+ /// Gets the default 'user icon' (default is 0)
+ inline Fl_Pixmap *usericon() const {
+ return(_userpixmap);
+ }
+ /// Sets the default 'user icon'
+ /// Returns the Fl_Pixmap* of the icon, or 0 if none (default).
+ ///
+ inline void usericon(Fl_Pixmap *val) {
+ _userpixmap = val;
+ }
+
+ ////////////////////////////
+ // Options
+ ////////////////////////////
+ /// Returns 1 if the collapse icon is enabled, 0 if not.
+ inline char showcollapse() const {
+ return(_showcollapse);
+ }
+ /// Set if we should show the collapse icon or not.
+ /// If collapse icons are disabled, the user will not be able
+ /// to interactively collapse items in the tree, unless the application
+ /// provides some other means via open() and close().
+ ///
+ /// \param[in] val 1: shows collapse icons (default),\n
+ /// 0: hides collapse icons.
+ ///
+ inline void showcollapse(int val) {
+ _showcollapse = val;
+ }
+ /// Get the default sort order value
+ inline Fl_Tree_Sort sortorder() const {
+ return(_sortorder);
+ }
+ /// Set the default sort order value.
+ /// Defines the order new items appear when add()ed to the tree.
+ /// See Fl_Tree_Sort for possible values.
+ ///
+ inline void sortorder(Fl_Tree_Sort val) {
+ _sortorder = val;
+ }
+ /// Get the default selection box's box drawing style as an Fl_Boxtype.
+ inline Fl_Boxtype selectbox() const {
+ return(_selectbox);
+ }
+ /// Set the default selection box's box drawing style to \p val.
+ inline void selectbox(Fl_Boxtype val) {
+ _selectbox = val;
+ }
+ /// Returns 1 if the root item is to be shown, or 0 if not.
+ inline int showroot() const {
+ return(int(_showroot));
+ }
+ /// Set if the root item should be shown or not.
+ /// \param[in] val 1 -- show the root item (default)\n
+ /// 0 -- hide the root item.
+ ///
+ inline void showroot(int val) {
+ _showroot = char(val);
+ }
+ /// Get the selection mode used for the tree
+ inline Fl_Tree_Select selectmode() const {
+ return(_selectmode);
+ }
+ /// Set the selection mode used for the tree to \p val.
+ /// This affects how items in the tree are selected
+ /// when clicked on and dragged over by the mouse.
+ /// See Fl_Tree_Select for possible values.
+ ///
+ inline void selectmode(Fl_Tree_Select val) {
+ _selectmode = val;
+ }
+};
+
+#endif /*FL_TREE_PREFS_H*/
diff --git a/documentation/src/tree-elements.png b/documentation/src/tree-elements.png
new file mode 100644
index 000000000..552159b48
--- /dev/null
+++ b/documentation/src/tree-elements.png
Binary files differ
diff --git a/fluid/makedepend b/fluid/makedepend
index 2e0208253..8bda11329 100644
--- a/fluid/makedepend
+++ b/fluid/makedepend
@@ -1,294 +1,356 @@
# DO NOT DELETE THIS LINE -- make depend depends on it.
-CodeEditor.o: CodeEditor.cxx CodeEditor.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Editor.H \
- ../FL/Fl_Text_Display.H ../FL/fl_draw.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H
-Fl_Function_Type.o: Fl_Function_Type.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Preferences.H ../FL/Fl_File_Chooser.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H \
- ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H Fl_Type.h ../FL/Fl_Widget.H ../FL/Fl_Menu.H \
- Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Pack.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H \
- ../FL/fl_show_input.H ../FL/fl_ask.H ../src/flstring.h \
- ../FL/Fl_Export.H ../config.h function_panel.h ../FL/Fl_Light_Button.H \
- CodeEditor.h ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Editor.H \
- ../FL/Fl_Text_Display.H ../FL/fl_draw.H ../FL/Fl_Text_Buffer.H \
- comments.h
-Fl_Group_Type.o: Fl_Group_Type.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_message.H \
- ../FL/fl_ask.H Fl_Widget_Type.h Fl_Type.h ../FL/Fl_Widget.H \
- ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Pack.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H ../src/flstring.h \
- ../FL/Fl_Export.H ../config.h ../FL/Fl_Scroll.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-Fl_Menu_Type.o: Fl_Menu_Type.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H Fl_Widget_Type.h Fl_Type.h ../FL/Fl_Widget.H \
- ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H ../FL/Fl_Image.H \
- Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H \
- alignment_panel.h ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H \
- ../FL/fl_draw.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Preferences.H ../FL/Fl_Tooltip.H \
- ../FL/Fl_Button.H ../FL/Fl_Box.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Spinner.H ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H \
- ../FL/Fl.H ../FL/Fl_Return_Button.H ../FL/Fl_Round_Button.H \
- ../FL/fl_message.H ../FL/fl_ask.H ../src/flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/Fl_Output.H ../FL/Fl_Input.H Shortcut_Button.h
-Fl_Type.o: Fl_Type.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Browser_.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/fl_draw.H ../src/flstring.h ../FL/Fl_Export.H ../config.h \
- Fl_Type.h ../FL/Fl_Widget.H ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H undo.h ../FL/Fl_Pixmap.H \
- pixmaps/lock.xpm pixmaps/flWindow.xpm pixmaps/flButton.xpm \
- pixmaps/flCheckButton.xpm pixmaps/flRoundButton.xpm pixmaps/flBox.xpm \
- pixmaps/flGroup.xpm pixmaps/flFunction.xpm pixmaps/flCode.xpm \
- pixmaps/flCodeBlock.xpm pixmaps/flComment.xpm pixmaps/flDeclaration.xpm \
- pixmaps/flDeclarationBlock.xpm pixmaps/flClass.xpm pixmaps/flTabs.xpm \
- pixmaps/flInput.xpm pixmaps/flChoice.xpm pixmaps/flMenuitem.xpm \
- pixmaps/flMenubar.xpm pixmaps/flSubmenu.xpm pixmaps/flScroll.xpm \
- pixmaps/flTile.xpm pixmaps/flWizard.xpm pixmaps/flPack.xpm \
- pixmaps/flReturnButton.xpm pixmaps/flLightButton.xpm \
- pixmaps/flRepeatButton.xpm pixmaps/flMenuButton.xpm \
- pixmaps/flOutput.xpm pixmaps/flTextDisplay.xpm pixmaps/flTextEdit.xpm \
- pixmaps/flFileInput.xpm pixmaps/flBrowser.xpm \
- pixmaps/flCheckBrowser.xpm pixmaps/flFileBrowser.xpm \
- pixmaps/flClock.xpm pixmaps/flHelp.xpm pixmaps/flProgress.xpm \
- pixmaps/flSlider.xpm pixmaps/flScrollBar.xpm pixmaps/flValueSlider.xpm \
- pixmaps/flAdjuster.xpm pixmaps/flCounter.xpm pixmaps/flDial.xpm \
- pixmaps/flRoller.xpm pixmaps/flValueInput.xpm pixmaps/flValueOutput.xpm \
- pixmaps/flSpinner.xpm pixmaps/flWidgetClass.xpm
-Fl_Widget_Type.o: Fl_Widget_Type.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H Fl_Widget_Type.h Fl_Type.h ../FL/Fl_Widget.H \
- ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Pack.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H \
- alignment_panel.h ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H \
- ../FL/fl_draw.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Preferences.H ../FL/Fl_Tooltip.H \
- ../FL/Fl_Button.H ../FL/Fl_Box.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Spinner.H ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H \
- ../FL/Fl.H ../FL/Fl_Return_Button.H ../FL/Fl_Round_Button.H \
- ../FL/fl_message.H ../FL/fl_ask.H ../FL/Fl_Slider.H ../src/flstring.h \
- ../FL/Fl_Export.H ../config.h widget_panel.h ../FL/Fl_Value_Input.H \
- ../FL/Fl_Input.H Shortcut_Button.h CodeEditor.h ../FL/Fl_Text_Editor.H \
- ../FL/Fl_Text_Display.H ../FL/fl_show_colormap.H
-Fl_Window_Type.o: Fl_Window_Type.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Overlay_Window.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_message.H \
- ../FL/fl_ask.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H ../FL/Fl_Round_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H Fl_Widget_Type.h Fl_Type.h ../FL/Fl_Widget.H \
- ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/Fl_Tabs.H ../FL/Fl_Pack.H \
- ../FL/Fl_Group.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H undo.h alignment_panel.h \
- ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Text_Buffer.H ../FL/Fl_Double_Window.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tooltip.H ../FL/Fl_Button.H ../FL/Fl_Box.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Check_Button.H ../FL/Fl_Spinner.H \
- ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H \
- ../FL/Fl_Return_Button.H widget_panel.h ../FL/Fl_Value_Input.H \
- ../FL/Fl_Input.H Shortcut_Button.h CodeEditor.h ../FL/Fl_Text_Editor.H \
- ../FL/Fl_Text_Display.H ../src/flstring.h ../FL/Fl_Export.H ../config.h
-Fluid_Image.o: Fluid_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Widget.H Fl_Type.h ../FL/Fl_Menu.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H ../FL/Fl_Image.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H \
- ../src/flstring.h ../FL/Fl_Export.H ../config.h ../FL/filename.H \
- ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H \
- ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H ../FL/Fl_Box.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_File_Input.H ../FL/Fl_Return_Button.H ../FL/fl_ask.H
-about_panel.o: about_panel.cxx about_panel.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H \
- ../FL/Fl_Button.H ../FL/Fl_Return_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_Pixmap.H ../FL/Fl_Image.H
-align_widget.o: align_widget.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- Fl_Widget_Type.h Fl_Type.h ../FL/Fl_Widget.H ../FL/Fl_Menu.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H ../FL/Fl_Pack.H \
- ../FL/Fl_Group.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Menu_Bar.H undo.h
-alignment_panel.o: alignment_panel.cxx alignment_panel.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Text_Buffer.H \
- ../FL/Fl_Text_Display.H ../FL/fl_draw.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Preferences.H ../FL/Fl_Tooltip.H \
- ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Tabs.H ../FL/Fl_Group.H \
- ../FL/Fl_Box.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Spinner.H \
- ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H \
- ../FL/Fl_Return_Button.H ../FL/Fl_Round_Button.H
-code.o: code.cxx ../src/flstring.h ../FL/Fl_Export.H ../config.h \
- ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H Fl_Type.h \
- ../FL/Fl_Widget.H ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Widget.H ../FL/Fl_Image.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H \
- alignment_panel.h ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H \
- ../FL/fl_draw.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Preferences.H ../FL/Fl_Tooltip.H \
- ../FL/Fl_Button.H ../FL/Fl_Box.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Spinner.H ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H \
- ../FL/Fl.H ../FL/Fl_Return_Button.H ../FL/Fl_Round_Button.H \
- ../FL/filename.H
-factory.o: factory.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H ../FL/Fl_Pixmap.H ../src/flstring.h ../FL/Fl_Export.H \
- ../config.h undo.h Fl_Widget_Type.h Fl_Type.h ../FL/Fl_Widget.H \
- ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Pack.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Box.H ../FL/Fl_Button.H \
- ../FL/Fl_Return_Button.H ../FL/Fl_Button.H ../FL/Fl_Repeat_Button.H \
- ../FL/Fl.H ../FL/Fl_Light_Button.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Browser.H \
- ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Check_Browser.H ../FL/Fl_File_Browser.H \
- ../FL/Fl_Browser.H ../FL/Fl_File_Icon.H ../FL/filename.H \
- ../FL/Fl_Counter.H ../FL/Fl_Spinner.H ../FL/Enumerations.H \
- ../FL/Fl_File_Input.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
- ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H \
- ../FL/Fl_Clock.H ../FL/Fl_Help_View.H ../FL/Fl_Shared_Image.H \
- ../FL/Fl_Progress.H ../FL/Fl_Adjuster.H ../FL/Fl_Dial.H \
- ../FL/Fl_Roller.H ../FL/Fl_Scrollbar.H ../FL/Fl_Output.H \
- ../FL/Fl_Input.H ../FL/Fl_Value_Input.H ../FL/Fl_Value_Output.H \
- ../FL/Fl_Value_Slider.H ../FL/Fl_Multi_Label.H
-file.o: file.cxx ../src/flstring.h ../FL/Fl_Export.H ../config.h \
- alignment_panel.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Box.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Spinner.H \
- ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H \
- ../FL/Fl_Return_Button.H ../FL/Fl_Round_Button.H ../FL/fl_message.H \
- ../FL/fl_ask.H Fl_Widget_Type.h Fl_Type.h ../FL/Fl_Menu.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Pack.H \
- ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H
-fluid.o: fluid.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/Fl_File_Icon.H \
- ../FL/Fl.H ../FL/Fl_Help_Dialog.H ../FL/Fl_Group.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Help_View.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H \
- ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H ../FL/Fl_Hold_Browser.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Menu_Bar.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/fl_ask.H ../FL/fl_draw.H \
- ../FL/Fl_File_Chooser.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H \
- ../FL/Fl_File_Icon.H ../FL/filename.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Return_Button.H ../FL/fl_message.H ../FL/fl_ask.H \
- ../FL/filename.H ../src/flstring.h ../FL/Fl_Export.H ../config.h \
- alignment_panel.h ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H \
- ../FL/Fl_Text_Buffer.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H \
- ../FL/Fl_Tabs.H ../FL/Fl_Light_Button.H ../FL/Fl_Spinner.H \
- ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H ../FL/Fl_Round_Button.H \
- function_panel.h CodeEditor.h ../FL/Fl_Text_Editor.H \
- ../FL/Fl_Text_Display.H ../FL/Fl_Window.H template_panel.h \
- ../FL/Fl_Browser.H print_panel.cxx print_panel.h ../FL/Fl_Progress.H \
- ../FL/Fl_Pixmap.H about_panel.h undo.h Fl_Type.h ../FL/Fl_Menu.H \
- Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/Fl_Pack.H ../FL/Fl_Wizard.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Input_Choice.H
-function_panel.o: function_panel.cxx function_panel.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Box.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/Fl_Button.H CodeEditor.h ../FL/Fl_Text_Buffer.H \
- ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Text_Buffer.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Window.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Pixmap.H Fl_Type.h ../FL/Fl_Widget.H ../FL/Fl_Menu.H \
- Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Pack.H \
- ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H \
- ../FL/Fl_Input_Choice.H ../FL/Fl_Menu_Bar.H undo.h
-template_panel.o: template_panel.cxx template_panel.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Browser.H \
- ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Box.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Group.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H \
- ../FL/Fl_Button.H ../src/flstring.h ../FL/Fl_Export.H ../config.h \
- ../FL/filename.H ../FL/fl_ask.H ../FL/Fl_Shared_Image.H \
- ../FL/Fl_Image.H ../FL/Fl_Preferences.H
-undo.o: undo.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- Fl_Type.h ../FL/Fl_Widget.H ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Widget.H ../FL/Fl_Image.H Fluid_Image.h \
- ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H undo.h \
- ../FL/Fl_Preferences.H ../src/flstring.h ../FL/Fl_Export.H ../config.h
-widget_panel.o: widget_panel.cxx widget_panel.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Tabs.H \
- ../FL/Fl_Group.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H \
- ../FL/Fl_Button.H ../FL/Fl_Box.H ../FL/Fl_Value_Input.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Input.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H Shortcut_Button.h CodeEditor.h ../FL/Fl_Text_Buffer.H \
- ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Text_Buffer.H \
- ../FL/Fl_Return_Button.H
+
+CodeEditor.o: CodeEditor.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+CodeEditor.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+CodeEditor.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Text_Buffer.H
+CodeEditor.o: ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H
+CodeEditor.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+CodeEditor.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+CodeEditor.o: ../FL/Fl_Text_Buffer.H
+Fl_Function_Type.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Function_Type.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Function_Type.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Preferences.H
+Fl_Function_Type.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H
+Fl_Function_Type.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl_Function_Type.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+Fl_Function_Type.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_Function_Type.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Tile.H
+Fl_Function_Type.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H
+Fl_Function_Type.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
+Fl_Function_Type.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_Function_Type.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H
+Fl_Function_Type.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
+Fl_Function_Type.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+Fl_Function_Type.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+Fl_Function_Type.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H Fl_Type.h
+Fl_Function_Type.o: ../FL/Fl_Widget.H ../FL/Fl_Menu.H Fluid_Image.h
+Fl_Function_Type.o: ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Tabs.H
+Fl_Function_Type.o: ../FL/Fl_Pack.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H
+Fl_Function_Type.o: ../FL/Fl_Input_Choice.H ../FL/Fl_Window.H
+Fl_Function_Type.o: ../FL/Fl_Menu_Bar.H ../FL/fl_show_input.H ../FL/fl_ask.H
+Fl_Function_Type.o: ../src/flstring.h ../config.h function_panel.h
+Fl_Function_Type.o: ../FL/Fl_Light_Button.H ../FL/Fl_Text_Editor.H
+Fl_Function_Type.o: ../FL/Fl_Text_Display.H ../FL/fl_draw.H
+Fl_Function_Type.o: ../FL/Fl_Text_Buffer.H CodeEditor.h
+Fl_Function_Type.o: ../FL/Fl_Text_Buffer.H comments.h
+Fl_Group_Type.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Group_Type.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Group_Type.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H
+Fl_Group_Type.o: ../FL/fl_message.H ../FL/fl_ask.H Fl_Widget_Type.h Fl_Type.h
+Fl_Group_Type.o: ../FL/Fl_Widget.H ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H
+Fl_Group_Type.o: ../FL/Fl_Widget.H ../FL/Fl_Image.H Fluid_Image.h
+Fl_Group_Type.o: ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Group_Type.o: ../FL/Fl_Group.H ../FL/Fl_Tabs.H ../FL/Fl_Pack.H
+Fl_Group_Type.o: ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H
+Fl_Group_Type.o: ../FL/Fl_Menu_.H ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H
+Fl_Group_Type.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H
+Fl_Group_Type.o: ../FL/Fl_Menu_Bar.H ../src/flstring.h ../config.h
+Fl_Group_Type.o: ../FL/Fl_Scroll.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+Fl_Group_Type.o: ../FL/Fl_Valuator.H
+Fl_Menu_Type.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Menu_Type.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Menu_Type.o: ../FL/fl_types.h Fl_Widget_Type.h Fl_Type.h ../FL/Fl_Widget.H
+Fl_Menu_Type.o: ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H
+Fl_Menu_Type.o: ../FL/Fl_Image.H Fluid_Image.h ../FL/Fl_Shared_Image.H
+Fl_Menu_Type.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+Fl_Menu_Type.o: ../FL/Fl_Tabs.H ../FL/Fl_Pack.H ../FL/Fl_Group.H
+Fl_Menu_Type.o: ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H
+Fl_Menu_Type.o: ../FL/Fl_Menu_.H ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H
+Fl_Menu_Type.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H
+Fl_Menu_Type.o: ../FL/Fl_Menu_Bar.H alignment_panel.h ../FL/Fl_Text_Buffer.H
+Fl_Menu_Type.o: ../FL/Fl_Text_Display.H ../FL/fl_draw.H ../FL/Fl_Scrollbar.H
+Fl_Menu_Type.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H
+Fl_Menu_Type.o: ../FL/Fl_Double_Window.H ../FL/Fl_Preferences.H
+Fl_Menu_Type.o: ../FL/Fl_Tooltip.H ../FL/Fl_Button.H ../FL/Fl_Box.H
+Fl_Menu_Type.o: ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H
+Fl_Menu_Type.o: ../FL/Fl_Button.H ../FL/Fl_Spinner.H ../FL/Enumerations.H
+Fl_Menu_Type.o: ../FL/Fl_Repeat_Button.H ../FL/Fl.H ../FL/Fl_Return_Button.H
+Fl_Menu_Type.o: ../FL/Fl_Round_Button.H ../FL/fl_message.H ../FL/fl_ask.H
+Fl_Menu_Type.o: ../FL/Fl_Value_Input.H ../FL/Fl_Input.H ../src/flstring.h
+Fl_Menu_Type.o: ../config.h ../FL/Fl_Output.H Shortcut_Button.h
+Fl_Type.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Type.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Type.o: ../FL/fl_types.h ../FL/Fl_Browser_.H ../FL/Fl_Group.H
+Fl_Type.o: ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+Fl_Type.o: ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Type.o: ../src/flstring.h ../config.h Fl_Type.h ../FL/Fl_Widget.H
+Fl_Type.o: ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_Type.o: Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/Fl_Tabs.H
+Fl_Type.o: ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H
+Fl_Type.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H
+Fl_Type.o: ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H
+Fl_Type.o: ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H undo.h
+Fl_Type.o: ../FL/Fl_Pixmap.H pixmaps/lock.xpm pixmaps/protected.xpm
+Fl_Type.o: pixmaps/flWindow.xpm pixmaps/flButton.xpm
+Fl_Type.o: pixmaps/flCheckButton.xpm pixmaps/flRoundButton.xpm
+Fl_Type.o: pixmaps/flBox.xpm pixmaps/flGroup.xpm pixmaps/flFunction.xpm
+Fl_Type.o: pixmaps/flCode.xpm pixmaps/flCodeBlock.xpm pixmaps/flComment.xpm
+Fl_Type.o: pixmaps/flDeclaration.xpm pixmaps/flDeclarationBlock.xpm
+Fl_Type.o: pixmaps/flClass.xpm pixmaps/flTabs.xpm pixmaps/flInput.xpm
+Fl_Type.o: pixmaps/flChoice.xpm pixmaps/flMenuitem.xpm pixmaps/flMenubar.xpm
+Fl_Type.o: pixmaps/flSubmenu.xpm pixmaps/flScroll.xpm pixmaps/flTile.xpm
+Fl_Type.o: pixmaps/flWizard.xpm pixmaps/flPack.xpm pixmaps/flReturnButton.xpm
+Fl_Type.o: pixmaps/flLightButton.xpm pixmaps/flRepeatButton.xpm
+Fl_Type.o: pixmaps/flMenuButton.xpm pixmaps/flOutput.xpm
+Fl_Type.o: pixmaps/flTextDisplay.xpm pixmaps/flTextEdit.xpm
+Fl_Type.o: pixmaps/flFileInput.xpm pixmaps/flBrowser.xpm
+Fl_Type.o: pixmaps/flCheckBrowser.xpm pixmaps/flFileBrowser.xpm
+Fl_Type.o: pixmaps/flClock.xpm pixmaps/flHelp.xpm pixmaps/flProgress.xpm
+Fl_Type.o: pixmaps/flSlider.xpm pixmaps/flScrollBar.xpm
+Fl_Type.o: pixmaps/flValueSlider.xpm pixmaps/flAdjuster.xpm
+Fl_Type.o: pixmaps/flCounter.xpm pixmaps/flDial.xpm pixmaps/flRoller.xpm
+Fl_Type.o: pixmaps/flValueInput.xpm pixmaps/flValueOutput.xpm
+Fl_Type.o: pixmaps/flSpinner.xpm pixmaps/flWidgetClass.xpm
+Fl_Widget_Type.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Widget_Type.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Widget_Type.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H
+Fl_Widget_Type.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H Fl_Widget_Type.h
+Fl_Widget_Type.o: Fl_Type.h ../FL/Fl_Widget.H ../FL/Fl_Menu.H
+Fl_Widget_Type.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H ../FL/Fl_Image.H
+Fl_Widget_Type.o: Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/fl_draw.H
+Fl_Widget_Type.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Tabs.H
+Fl_Widget_Type.o: ../FL/Fl_Pack.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H
+Fl_Widget_Type.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H
+Fl_Widget_Type.o: ../FL/Fl_Input_Choice.H ../FL/Fl_Window.H
+Fl_Widget_Type.o: ../FL/Fl_Menu_Bar.H alignment_panel.h
+Fl_Widget_Type.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H
+Fl_Widget_Type.o: ../FL/fl_draw.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+Fl_Widget_Type.o: ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H
+Fl_Widget_Type.o: ../FL/Fl_Double_Window.H ../FL/Fl_Preferences.H
+Fl_Widget_Type.o: ../FL/Fl_Tooltip.H ../FL/Fl_Button.H ../FL/Fl_Box.H
+Fl_Widget_Type.o: ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H
+Fl_Widget_Type.o: ../FL/Fl_Button.H ../FL/Fl_Spinner.H ../FL/Enumerations.H
+Fl_Widget_Type.o: ../FL/Fl_Repeat_Button.H ../FL/Fl.H
+Fl_Widget_Type.o: ../FL/Fl_Return_Button.H ../FL/Fl_Round_Button.H
+Fl_Widget_Type.o: ../FL/fl_message.H ../FL/fl_ask.H ../FL/Fl_Slider.H
+Fl_Widget_Type.o: ../src/flstring.h ../config.h widget_panel.h
+Fl_Widget_Type.o: ../FL/Fl_Value_Input.H ../FL/Fl_Input.H
+Fl_Widget_Type.o: ../FL/Fl_Light_Button.H Shortcut_Button.h CodeEditor.h
+Fl_Widget_Type.o: ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H
+Fl_Widget_Type.o: ../FL/fl_show_colormap.H
+Fl_Window_Type.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Window_Type.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Window_Type.o: ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Window_Type.o: ../FL/Fl_Overlay_Window.H ../FL/Fl_Double_Window.H
+Fl_Window_Type.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl_Window_Type.o: ../FL/fl_message.H ../FL/fl_ask.H ../FL/fl_draw.H ../FL/x.H
+Fl_Window_Type.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_Window_Type.o: ../FL/Fl_Round_Button.H ../FL/Fl_Light_Button.H
+Fl_Window_Type.o: ../FL/Fl_Button.H Fl_Widget_Type.h Fl_Type.h
+Fl_Window_Type.o: ../FL/Fl_Widget.H ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H
+Fl_Window_Type.o: Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/Fl_Tabs.H
+Fl_Window_Type.o: ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H
+Fl_Window_Type.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H
+Fl_Window_Type.o: ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H
+Fl_Window_Type.o: ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H
+Fl_Window_Type.o: undo.h alignment_panel.h ../FL/Fl_Text_Buffer.H
+Fl_Window_Type.o: ../FL/Fl_Text_Display.H ../FL/fl_draw.H
+Fl_Window_Type.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_Window_Type.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Double_Window.H
+Fl_Window_Type.o: ../FL/Fl_Preferences.H ../FL/Fl_Tooltip.H ../FL/Fl_Button.H
+Fl_Window_Type.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_Spinner.H
+Fl_Window_Type.o: ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H
+Fl_Window_Type.o: ../FL/Fl_Return_Button.H widget_panel.h
+Fl_Window_Type.o: ../FL/Fl_Value_Input.H ../FL/Fl_Input.H
+Fl_Window_Type.o: ../FL/Fl_Light_Button.H Shortcut_Button.h CodeEditor.h
+Fl_Window_Type.o: ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H
+Fl_Window_Type.o: ../src/flstring.h ../config.h
+Fluid_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fluid_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fluid_Image.o: ../FL/fl_types.h ../FL/Fl_Widget.H Fl_Type.h ../FL/Fl_Menu.H
+Fluid_Image.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H ../FL/Fl_Image.H
+Fluid_Image.o: Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/fl_draw.H
+Fluid_Image.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Tabs.H
+Fluid_Image.o: ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H
+Fluid_Image.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H
+Fluid_Image.o: ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H
+Fluid_Image.o: ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H
+Fluid_Image.o: ../src/flstring.h ../config.h ../FL/filename.H
+Fluid_Image.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H
+Fluid_Image.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
+Fluid_Image.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+Fluid_Image.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fluid_Image.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H
+Fluid_Image.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H
+Fluid_Image.o: ../FL/Fl_Button.H ../FL/Fl_File_Input.H
+Fluid_Image.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H
+about_panel.o: about_panel.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+about_panel.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+about_panel.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+about_panel.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+about_panel.o: ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H
+about_panel.o: ../FL/Fl_Button.H ../FL/Fl_Pixmap.H ../FL/Fl_Image.H
+align_widget.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+align_widget.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+align_widget.o: ../FL/fl_types.h ../FL/Fl_Window.H Fl_Widget_Type.h Fl_Type.h
+align_widget.o: ../FL/Fl_Widget.H ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H
+align_widget.o: ../FL/Fl_Widget.H ../FL/Fl_Image.H Fluid_Image.h
+align_widget.o: ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Window.H
+align_widget.o: ../FL/Fl_Group.H ../FL/Fl_Tabs.H ../FL/Fl_Pack.H
+align_widget.o: ../FL/Fl_Group.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H
+align_widget.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H
+align_widget.o: ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+align_widget.o: ../FL/Fl_Menu_Bar.H undo.h
+alignment_panel.o: alignment_panel.h ../FL/Fl.H ../FL/fl_utf8.h
+alignment_panel.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+alignment_panel.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+alignment_panel.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H
+alignment_panel.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+alignment_panel.o: ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+alignment_panel.o: ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H
+alignment_panel.o: ../FL/Fl_Double_Window.H ../FL/Fl_Preferences.H
+alignment_panel.o: ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+alignment_panel.o: ../FL/Fl_Tabs.H ../FL/Fl_Group.H ../FL/Fl_Box.H
+alignment_panel.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Check_Button.H
+alignment_panel.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+alignment_panel.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+alignment_panel.o: ../FL/Fl_Image.H ../FL/Fl_Spinner.H ../FL/Enumerations.H
+alignment_panel.o: ../FL/Fl_Repeat_Button.H ../FL/Fl.H
+alignment_panel.o: ../FL/Fl_Return_Button.H ../FL/Fl_Round_Button.H
+code.o: ../src/flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H
+code.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+code.o: ../FL/Fl_Export.H ../FL/fl_types.h Fl_Type.h ../FL/Fl_Widget.H
+code.o: ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H
+code.o: ../FL/Fl_Image.H Fluid_Image.h ../FL/Fl_Shared_Image.H
+code.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Tabs.H
+code.o: ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H
+code.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Choice.H
+code.o: ../FL/Fl_Input_Choice.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+code.o: ../FL/Fl_Window.H ../FL/Fl_Menu_Bar.H alignment_panel.h
+code.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H
+code.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+code.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Double_Window.H
+code.o: ../FL/Fl_Preferences.H ../FL/Fl_Tooltip.H ../FL/Fl_Button.H
+code.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H
+code.o: ../FL/Fl_Button.H ../FL/Fl_Spinner.H ../FL/Enumerations.H
+code.o: ../FL/Fl_Repeat_Button.H ../FL/Fl.H ../FL/Fl_Return_Button.H
+code.o: ../FL/Fl_Round_Button.H ../FL/filename.H
+factory.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+factory.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+factory.o: ../FL/fl_types.h ../FL/Fl_Group.H ../FL/Fl_Menu_Item.H
+factory.o: ../FL/Fl_Widget.H ../FL/Fl_Image.H ../FL/Fl_Pixmap.H
+factory.o: ../src/flstring.h ../config.h undo.h Fl_Widget_Type.h Fl_Type.h
+factory.o: ../FL/Fl_Widget.H ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H
+factory.o: Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/fl_draw.H
+factory.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Tabs.H ../FL/Fl_Pack.H
+factory.o: ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H
+factory.o: ../FL/Fl_Menu_.H ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H
+factory.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H
+factory.o: ../FL/Fl_Menu_Bar.H ../FL/Fl_Box.H ../FL/Fl_Button.H
+factory.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H
+factory.o: ../FL/Fl_Repeat_Button.H ../FL/Fl.H ../FL/Fl_Light_Button.H
+factory.o: ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H
+factory.o: ../FL/Fl_Round_Button.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+factory.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+factory.o: ../FL/Fl_Check_Browser.H ../FL/Fl_File_Browser.H
+factory.o: ../FL/Fl_Browser.H ../FL/Fl_File_Icon.H ../FL/filename.H
+factory.o: ../FL/Fl_Counter.H ../FL/Fl_Spinner.H ../FL/Enumerations.H
+factory.o: ../FL/Fl_File_Input.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H
+factory.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Editor.H
+factory.o: ../FL/Fl_Text_Display.H ../FL/Fl_Clock.H ../FL/Fl_Help_View.H
+factory.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Progress.H ../FL/Fl_Adjuster.H
+factory.o: ../FL/Fl_Dial.H ../FL/Fl_Roller.H ../FL/Fl_Scrollbar.H
+factory.o: ../FL/Fl_Output.H ../FL/Fl_Input.H ../FL/Fl_Value_Input.H
+factory.o: ../FL/Fl_Value_Output.H ../FL/Fl_Value_Slider.H
+factory.o: ../FL/Fl_Multi_Label.H
+file.o: ../src/flstring.h ../FL/Fl_Export.H ../config.h alignment_panel.h
+file.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+file.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+file.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H
+file.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+file.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+file.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Double_Window.H
+file.o: ../FL/Fl_Preferences.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H
+file.o: ../FL/Fl_Button.H ../FL/Fl_Tabs.H ../FL/Fl_Group.H ../FL/Fl_Box.H
+file.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Check_Button.H
+file.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Choice.H
+file.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+file.o: ../FL/Fl_Spinner.H ../FL/Enumerations.H ../FL/Fl_Repeat_Button.H
+file.o: ../FL/Fl.H ../FL/Fl_Return_Button.H ../FL/Fl_Round_Button.H
+file.o: ../FL/fl_message.H ../FL/fl_ask.H Fl_Widget_Type.h Fl_Type.h
+file.o: ../FL/Fl_Menu.H Fluid_Image.h ../FL/Fl_Shared_Image.H ../FL/fl_draw.H
+file.o: ../FL/Fl_Pack.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H
+file.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Input_Choice.H ../FL/Fl_Window.H
+file.o: ../FL/Fl_Menu_Bar.H
+fluid.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fluid.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fluid.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+fluid.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Button.H
+fluid.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/Fl_Help_Dialog.H
+fluid.o: ../FL/Fl_Group.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+fluid.o: ../FL/Fl_Help_View.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+fluid.o: ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Shared_Image.H
+fluid.o: ../FL/Fl_Hold_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+fluid.o: ../FL/Fl_Image.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H
+fluid.o: ../FL/Fl_Menu_Item.H ../FL/fl_ask.H ../FL/fl_draw.H
+fluid.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H
+fluid.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H
+fluid.o: ../FL/Fl_File_Icon.H ../FL/filename.H ../FL/Fl_Check_Button.H
+fluid.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_File_Input.H
+fluid.o: ../FL/Fl_Return_Button.H ../FL/fl_message.H ../FL/fl_ask.H
+fluid.o: ../FL/filename.H ../src/flstring.h ../config.h alignment_panel.h
+fluid.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H
+fluid.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H
+fluid.o: ../FL/Fl_Tabs.H ../FL/Fl_Spinner.H ../FL/Enumerations.H
+fluid.o: ../FL/Fl_Repeat_Button.H ../FL/Fl_Round_Button.H function_panel.h
+fluid.o: ../FL/Fl_Light_Button.H ../FL/Fl_Text_Editor.H
+fluid.o: ../FL/Fl_Text_Display.H CodeEditor.h ../FL/Fl_Window.H
+fluid.o: template_panel.h ../FL/Fl_Browser.H print_panel.cxx print_panel.h
+fluid.o: ../FL/Fl_Progress.H ../FL/Fl_Pixmap.H about_panel.h undo.h Fl_Type.h
+fluid.o: ../FL/Fl_Menu.H Fluid_Image.h ../FL/Fl_Shared_Image.H
+fluid.o: ../FL/Fl_Pack.H ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H
+fluid.o: ../FL/Fl_Input_Choice.H
+function_panel.o: function_panel.h ../FL/Fl.H ../FL/fl_utf8.h
+function_panel.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+function_panel.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+function_panel.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+function_panel.o: ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Choice.H
+function_panel.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+function_panel.o: ../FL/Fl_Light_Button.H ../FL/Fl_Box.H ../FL/Fl_Input.H
+function_panel.o: ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H
+function_panel.o: ../FL/Fl_Button.H ../FL/Fl_Button.H ../FL/Fl_Text_Editor.H
+function_panel.o: ../FL/Fl_Text_Display.H ../FL/fl_draw.H
+function_panel.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+function_panel.o: ../FL/Fl_Text_Buffer.H CodeEditor.h ../FL/Fl_Text_Buffer.H
+function_panel.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Window.H ../FL/Fl_Tabs.H
+function_panel.o: ../FL/Fl_Pixmap.H Fl_Type.h ../FL/Fl_Widget.H
+function_panel.o: ../FL/Fl_Menu.H Fluid_Image.h ../FL/Fl_Shared_Image.H
+function_panel.o: ../FL/fl_draw.H ../FL/Fl_Pack.H ../FL/Fl_Wizard.H
+function_panel.o: ../FL/Fl_Menu_.H ../FL/Fl_Input_Choice.H
+function_panel.o: ../FL/Fl_Menu_Bar.H undo.h
+template_panel.o: template_panel.h ../FL/Fl.H ../FL/fl_utf8.h
+template_panel.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+template_panel.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+template_panel.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+template_panel.o: ../FL/Fl_Widget.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+template_panel.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+template_panel.o: ../FL/Fl_Image.H ../FL/Fl_Box.H ../FL/Fl_Input.H
+template_panel.o: ../FL/Fl_Input_.H ../FL/Fl_Group.H ../FL/Fl_Button.H
+template_panel.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H
+template_panel.o: ../src/flstring.h ../config.h ../FL/filename.H
+template_panel.o: ../FL/fl_ask.H ../FL/Fl_Shared_Image.H
+template_panel.o: ../FL/Fl_Preferences.H
+undo.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+undo.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+undo.o: Fl_Type.h ../FL/Fl_Widget.H ../FL/Fl_Menu.H ../FL/Fl_Menu_Item.H
+undo.o: ../FL/Fl_Widget.H ../FL/Fl_Image.H Fluid_Image.h
+undo.o: ../FL/Fl_Shared_Image.H ../FL/fl_draw.H ../FL/Fl_Window.H
+undo.o: ../FL/Fl_Group.H ../FL/Fl_Tabs.H ../FL/Fl_Pack.H ../FL/Fl_Group.H
+undo.o: ../FL/Fl_Wizard.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Button.H
+undo.o: ../FL/Fl_Menu_.H ../FL/Fl_Choice.H ../FL/Fl_Input_Choice.H
+undo.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H
+undo.o: ../FL/Fl_Menu_Bar.H undo.h ../FL/Fl_Preferences.H ../src/flstring.h
+undo.o: ../config.h
+widget_panel.o: widget_panel.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+widget_panel.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+widget_panel.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+widget_panel.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+widget_panel.o: ../FL/Fl_Tabs.H ../FL/Fl_Group.H ../FL/Fl_Input.H
+widget_panel.o: ../FL/Fl_Input_.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+widget_panel.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Button.H
+widget_panel.o: ../FL/Fl_Box.H ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H
+widget_panel.o: ../FL/Fl_Input.H ../FL/Fl_Light_Button.H Shortcut_Button.h
+widget_panel.o: CodeEditor.h ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Editor.H
+widget_panel.o: ../FL/Fl_Text_Display.H ../FL/fl_draw.H ../FL/Fl_Scrollbar.H
+widget_panel.o: ../FL/Fl_Slider.H ../FL/Fl_Text_Buffer.H
+widget_panel.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H
diff --git a/ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj b/ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj
index 5e42a6d02..66ad8df34 100644
--- a/ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj
+++ b/ide/Xcode3.1/FLTK.xcodeproj/project.pbxproj
@@ -12,6 +12,13 @@
C904DE7910AEDD3700266003 /* table.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C918E1410DDA11BA00167E99 /* table.cxx */; };
C904DE7B10AEDD3700266003 /* fltk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9A3E9510DD6336500486E4F /* fltk.framework */; };
C904DE7D10AEDD3700266003 /* fltk.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = C9A3E9510DD6336500486E4F /* fltk.framework */; };
+ C904DF2610AEFF3E00266003 /* Fl_Tree_Item_Array.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C904DF2210AEFF3E00266003 /* Fl_Tree_Item_Array.cxx */; };
+ C904DF2710AEFF3E00266003 /* Fl_Tree_Item.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C904DF2310AEFF3E00266003 /* Fl_Tree_Item.cxx */; };
+ C904DF2810AEFF3E00266003 /* Fl_Tree_Prefs.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C904DF2410AEFF3E00266003 /* Fl_Tree_Prefs.cxx */; };
+ C904DF2910AEFF3E00266003 /* Fl_Tree.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C904DF2510AEFF3E00266003 /* Fl_Tree.cxx */; };
+ C904DF3210AEFF4A00266003 /* fltk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9A3E9510DD6336500486E4F /* fltk.framework */; };
+ C904DF3410AEFF4A00266003 /* fltk.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = C9A3E9510DD6336500486E4F /* fltk.framework */; };
+ C904DF5A10AF003400266003 /* tree.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C904DF5910AF003400266003 /* tree.cxx */; };
C918DB410DD9EE7500167E99 /* editor.cxx in Sources */ = {isa = PBXBuildFile; fileRef = C918DB400DD9EE7500167E99 /* editor.cxx */; };
C918DB4D0DD9EE8F00167E99 /* fltk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C9A3E9510DD6336500486E4F /* fltk.framework */; };
C918DB5F0DD9EED100167E99 /* fast_slow.fl in Resources */ = {isa = PBXBuildFile; fileRef = C918DB5E0DD9EED100167E99 /* fast_slow.fl */; };
@@ -579,6 +586,18 @@
);
script = "export DYLD_FRAMEWORK_PATH=${TARGET_BUILD_DIR} && cd ../../test && ${TARGET_BUILD_DIR}/Fluid.app/Contents/MacOS/Fluid -c ${INPUT_FILE_NAME}";
};
+ C904DF3510AEFF4A00266003 /* PBXBuildRule */ = {
+ isa = PBXBuildRule;
+ compilerSpec = com.apple.compilers.proxy.script;
+ filePatterns = "*.fl";
+ fileType = pattern.proxy;
+ isEditable = 1;
+ outputFiles = (
+ "${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.cxx",
+ "${INPUT_FILE_DIR}/${INPUT_FILE_BASE}.h",
+ );
+ script = "export DYLD_FRAMEWORK_PATH=${TARGET_BUILD_DIR} && cd ../../test && ${TARGET_BUILD_DIR}/Fluid.app/Contents/MacOS/Fluid -c ${INPUT_FILE_NAME}";
+ };
C918DB780DD9EF6800167E99 /* PBXBuildRule */ = {
isa = PBXBuildRule;
compilerSpec = com.apple.compilers.proxy.script;
@@ -730,6 +749,20 @@
remoteGlobalIDString = C904DE7110AEDD3700266003 /* table */;
remoteInfo = table;
};
+ C904DF2D10AEFF4A00266003 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C9A3E93C0DD6332D00486E4F /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C9A3E9500DD6336500486E4F;
+ remoteInfo = fltk;
+ };
+ C904DF4A10AEFFB900266003 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = C9A3E93C0DD6332D00486E4F /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C904DF2B10AEFF4A00266003 /* tree */;
+ remoteInfo = tree;
+ };
C918DB3D0DD9EE4600167E99 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = C9A3E93C0DD6332D00486E4F /* Project object */;
@@ -1968,6 +2001,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C904DF3310AEFF4A00266003 /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ C904DF3410AEFF4A00266003 /* fltk.framework in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
C94A76BC0E76D4A800AAA38E /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
@@ -2666,6 +2709,13 @@
C904DE6D10AEDD2A00266003 /* Fl_Table.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fl_Table.cxx; path = ../../src/Fl_Table.cxx; sourceTree = SOURCE_ROOT; };
C904DE8210AEDD3700266003 /* table.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = table.app; sourceTree = BUILT_PRODUCTS_DIR; };
C904DE8F10AEDD3800266003 /* tabs-Info copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "tabs-Info copy.plist"; path = "plists/tabs-Info copy.plist"; sourceTree = "<group>"; };
+ C904DF2210AEFF3E00266003 /* Fl_Tree_Item_Array.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fl_Tree_Item_Array.cxx; path = ../../src/Fl_Tree_Item_Array.cxx; sourceTree = SOURCE_ROOT; };
+ C904DF2310AEFF3E00266003 /* Fl_Tree_Item.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fl_Tree_Item.cxx; path = ../../src/Fl_Tree_Item.cxx; sourceTree = SOURCE_ROOT; };
+ C904DF2410AEFF3E00266003 /* Fl_Tree_Prefs.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fl_Tree_Prefs.cxx; path = ../../src/Fl_Tree_Prefs.cxx; sourceTree = SOURCE_ROOT; };
+ C904DF2510AEFF3E00266003 /* Fl_Tree.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Fl_Tree.cxx; path = ../../src/Fl_Tree.cxx; sourceTree = SOURCE_ROOT; };
+ C904DF3910AEFF4A00266003 /* tree.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tree.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ C904DF4010AEFF4A00266003 /* table-Info copy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "table-Info copy.plist"; path = "plists/table-Info copy.plist"; sourceTree = "<group>"; };
+ C904DF5910AF003400266003 /* tree.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = tree.cxx; path = ../../test/tree.cxx; sourceTree = SOURCE_ROOT; };
C918DB370DD9EE4100167E99 /* editor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = editor.app; sourceTree = BUILT_PRODUCTS_DIR; };
C918DB390DD9EE4100167E99 /* editor-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "editor-Info.plist"; path = "plists/editor-Info.plist"; sourceTree = "<group>"; };
C918DB400DD9EE7500167E99 /* editor.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = editor.cxx; path = ../../test/editor.cxx; sourceTree = SOURCE_ROOT; };
@@ -3174,6 +3224,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C904DF3110AEFF4A00266003 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C904DF3210AEFF4A00266003 /* fltk.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
C918DB350DD9EE4100167E99 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -3819,6 +3877,7 @@
C9DD58060DD7834400A896B4 /* libs */,
C9A3E9520DD6336500486E4F /* Products */,
C9A3EE790DD64B0200486E4F /* TODO */,
+ C904DF4010AEFF4A00266003 /* table-Info copy.plist */,
);
sourceTree = "<group>";
};
@@ -3897,6 +3956,7 @@
C99E1EAE0E78628600AECCF6 /* curve.app */,
C9EAC2DC0E786725004F64F7 /* colbrowser.app */,
C904DE8210AEDD3700266003 /* table.app */,
+ C904DF3910AEFF4A00266003 /* tree.app */,
);
name = Products;
sourceTree = "<group>";
@@ -3983,6 +4043,10 @@
C9A3E9590DD6338B00486E4F /* Library Sources */ = {
isa = PBXGroup;
children = (
+ C904DF2210AEFF3E00266003 /* Fl_Tree_Item_Array.cxx */,
+ C904DF2310AEFF3E00266003 /* Fl_Tree_Item.cxx */,
+ C904DF2410AEFF3E00266003 /* Fl_Tree_Prefs.cxx */,
+ C904DF2510AEFF3E00266003 /* Fl_Tree.cxx */,
C904DE6C10AEDD2A00266003 /* Fl_Table_Row.cxx */,
C904DE6D10AEDD2A00266003 /* Fl_Table.cxx */,
C9A3EAD80DD634CC00486E4F /* Fl_get_key_mac.cxx */,
@@ -4257,6 +4321,7 @@
C918E15B0DDA11FE00167E99 /* threads.cxx */,
C918E17B0DDA124500167E99 /* tile.cxx */,
C918E1A10DDA128900167E99 /* tiled_image.cxx */,
+ C904DF5910AF003400266003 /* tree.cxx */,
C918E1CB0DDA132100167E99 /* valuators.fl */,
C918E1DA0DDA133400167E99 /* valuators.cxx */,
);
@@ -4451,6 +4516,26 @@
productReference = C904DE8210AEDD3700266003 /* table.app */;
productType = "com.apple.product-type.application";
};
+ C904DF2B10AEFF4A00266003 /* tree */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = C904DF3610AEFF4A00266003 /* Build configuration list for PBXNativeTarget "tree" */;
+ buildPhases = (
+ C904DF2E10AEFF4A00266003 /* Resources */,
+ C904DF2F10AEFF4A00266003 /* Sources */,
+ C904DF3110AEFF4A00266003 /* Frameworks */,
+ C904DF3310AEFF4A00266003 /* CopyFiles */,
+ );
+ buildRules = (
+ C904DF3510AEFF4A00266003 /* PBXBuildRule */,
+ );
+ dependencies = (
+ C904DF2C10AEFF4A00266003 /* PBXTargetDependency */,
+ );
+ name = tree;
+ productName = tabs;
+ productReference = C904DF3910AEFF4A00266003 /* tree.app */;
+ productType = "com.apple.product-type.application";
+ };
C918DB360DD9EE4100167E99 /* editor */ = {
isa = PBXNativeTarget;
buildConfigurationList = C918DB3C0DD9EE4100167E99 /* Build configuration list for PBXNativeTarget "editor" */;
@@ -5426,6 +5511,7 @@
C918E2380DDA13BC00167E99 /* PBXTargetDependency */,
C918E23A0DDA13BC00167E99 /* PBXTargetDependency */,
C918E23C0DDA13BC00167E99 /* PBXTargetDependency */,
+ C904DF4B10AEFFB900266003 /* PBXTargetDependency */,
C9EAC41F0E78730F004F64F7 /* PBXTargetDependency */,
C918E23E0DDA13BC00167E99 /* PBXTargetDependency */,
C9FF1F9B0E7C48EE001149A6 /* PBXTargetDependency */,
@@ -6002,6 +6088,7 @@
C918E1510DDA11E400167E99 /* threads */,
C918E1710DDA122D00167E99 /* tile */,
C918E1910DDA126E00167E99 /* tiled_image */,
+ C904DF2B10AEFF4A00266003 /* tree */,
C94A76CF0E77F59E00AAA38E /* utf8 */,
C918E1BD0DDA12CF00167E99 /* valuators */,
);
@@ -6016,6 +6103,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C904DF2E10AEFF4A00266003 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
C918DB330DD9EE4100167E99 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -6535,6 +6629,14 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ C904DF2F10AEFF4A00266003 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ C904DF5A10AF003400266003 /* tree.cxx in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
C918DB340DD9EE4100167E99 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -7077,6 +7179,10 @@
C99E1E9D0E78620B00AECCF6 /* is_spacing.c in Sources */,
C904DE6E10AEDD2A00266003 /* Fl_Table_Row.cxx in Sources */,
C904DE6F10AEDD2A00266003 /* Fl_Table.cxx in Sources */,
+ C904DF2610AEFF3E00266003 /* Fl_Tree_Item_Array.cxx in Sources */,
+ C904DF2710AEFF3E00266003 /* Fl_Tree_Item.cxx in Sources */,
+ C904DF2810AEFF3E00266003 /* Fl_Tree_Prefs.cxx in Sources */,
+ C904DF2910AEFF3E00266003 /* Fl_Tree.cxx in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -7369,6 +7475,16 @@
target = C904DE7110AEDD3700266003 /* table */;
targetProxy = C904DEB810AEE0BD00266003 /* PBXContainerItemProxy */;
};
+ C904DF2C10AEFF4A00266003 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = C9A3E9500DD6336500486E4F /* fltk */;
+ targetProxy = C904DF2D10AEFF4A00266003 /* PBXContainerItemProxy */;
+ };
+ C904DF4B10AEFFB900266003 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = C904DF2B10AEFF4A00266003 /* tree */;
+ targetProxy = C904DF4A10AEFFB900266003 /* PBXContainerItemProxy */;
+ };
C918DB3E0DD9EE4600167E99 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = C9A3E9500DD6336500486E4F /* fltk */;
@@ -8294,6 +8410,53 @@
};
name = Release;
};
+ C904DF3710AEFF4A00266003 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
+ HEADER_SEARCH_PATHS = ../../;
+ INFOPLIST_FILE = "plists/tree-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ OTHER_LDFLAGS = (
+ "-framework",
+ Carbon,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = tree;
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = YES;
+ };
+ name = Debug;
+ };
+ C904DF3810AEFF4A00266003 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Headers/Carbon.h";
+ HEADER_SEARCH_PATHS = ../../;
+ INFOPLIST_FILE = "plists/tree-Info.plist";
+ INSTALL_PATH = "$(HOME)/Applications";
+ OTHER_LDFLAGS = (
+ "-framework",
+ Carbon,
+ );
+ PREBINDING = NO;
+ PRODUCT_NAME = tree;
+ WRAPPER_EXTENSION = app;
+ ZERO_LINK = NO;
+ };
+ name = Release;
+ };
C918DB3A0DD9EE4100167E99 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
@@ -11747,6 +11910,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ C904DF3610AEFF4A00266003 /* Build configuration list for PBXNativeTarget "tree" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C904DF3710AEFF4A00266003 /* Debug */,
+ C904DF3810AEFF4A00266003 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
C918DB3C0DD9EE4100167E99 /* Build configuration list for PBXNativeTarget "editor" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/ide/Xcode3.1/plists/tree-Info.plist b/ide/Xcode3.1/plists/tree-Info.plist
new file mode 100644
index 000000000..6002a2474
--- /dev/null
+++ b/ide/Xcode3.1/plists/tree-Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.fltk.table</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>FLTK</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+</dict>
+</plist>
diff --git a/jpeg/makedepend b/jpeg/makedepend
index ecf2b024c..f7f164973 100644
--- a/jpeg/makedepend
+++ b/jpeg/makedepend
@@ -1,94 +1,64 @@
# DO NOT DELETE
-jmemnobs.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jmemnobs.o: jerror.h jmemsys.h
-jcapimin.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcapimin.o: jerror.h
-jcapistd.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcapistd.o: jerror.h
-jccoefct.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jccoefct.o: jerror.h
-jccolor.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jccolor.o: jerror.h
-jcdctmgr.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcdctmgr.o: jerror.h jdct.h
-jchuff.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jchuff.o: jerror.h jchuff.h
-jcinit.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcinit.o: jerror.h
-jcmainct.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcmainct.o: jerror.h
-jcmarker.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcmarker.o: jerror.h
-jcmaster.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcmaster.o: jerror.h
-jcomapi.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcomapi.o: jerror.h
-jcparam.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcparam.o: jerror.h
-jcphuff.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcphuff.o: jerror.h jchuff.h
-jcprepct.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcprepct.o: jerror.h
-jcsample.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jcsample.o: jerror.h
-jctrans.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jctrans.o: jerror.h
-jdapimin.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdapimin.o: jerror.h
-jdapistd.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdapistd.o: jerror.h
-jdatadst.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdatadst.o: jerror.h
-jdatasrc.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdatasrc.o: jerror.h
-jdcoefct.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdcoefct.o: jerror.h
-jdcolor.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdcolor.o: jerror.h
-jddctmgr.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jddctmgr.o: jerror.h jdct.h
-jdhuff.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdhuff.o: jerror.h jdhuff.h
-jdinput.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdinput.o: jerror.h
-jdmainct.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdmainct.o: jerror.h
-jdmarker.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdmarker.o: jerror.h
-jdmaster.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdmaster.o: jerror.h
-jdmerge.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdmerge.o: jerror.h
-jdphuff.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdphuff.o: jerror.h jdhuff.h
-jdpostct.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdpostct.o: jerror.h
-jdsample.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdsample.o: jerror.h
-jdtrans.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jdtrans.o: jerror.h
-jerror.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jerror.o: jerror.h jversion.h
-jfdctflt.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jfdctflt.o: jerror.h jdct.h
-jfdctfst.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jfdctfst.o: jerror.h jdct.h
-jfdctint.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jfdctint.o: jerror.h jdct.h
-jidctflt.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jidctflt.o: jerror.h jdct.h
-jidctfst.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jidctfst.o: jerror.h jdct.h
-jidctint.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jidctint.o: jerror.h jdct.h
-jidctred.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jidctred.o: jerror.h jdct.h
-jquant1.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jquant1.o: jerror.h
-jquant2.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jquant2.o: jerror.h
-jutils.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jutils.o: jerror.h
-jmemmgr.o: jinclude.h jconfig.h ../config.h jpeglib.h jmorecfg.h jpegint.h
-jmemmgr.o: jerror.h jmemsys.h
+jmemnobs.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jmemnobs.o: jmemsys.h
+jcapimin.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcapistd.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jccoefct.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jccolor.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcdctmgr.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcdctmgr.o: jdct.h
+jchuff.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jchuff.o: jchuff.h
+jcinit.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcmainct.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcmarker.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcmaster.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcomapi.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcparam.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcphuff.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcphuff.o: jchuff.h
+jcprepct.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jcsample.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jctrans.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdapimin.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdapistd.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdatadst.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdatasrc.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdcoefct.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdcolor.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jddctmgr.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jddctmgr.o: jdct.h
+jdhuff.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdhuff.o: jdhuff.h
+jdinput.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdmainct.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdmarker.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdmaster.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdmerge.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdphuff.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdphuff.o: jdhuff.h
+jdpostct.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdsample.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jdtrans.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jerror.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jerror.o: jversion.h
+jfdctflt.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jfdctflt.o: jdct.h
+jfdctfst.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jfdctfst.o: jdct.h
+jfdctint.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jfdctint.o: jdct.h
+jidctflt.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jidctflt.o: jdct.h
+jidctfst.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jidctfst.o: jdct.h
+jidctint.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jidctint.o: jdct.h
+jidctred.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jidctred.o: jdct.h
+jquant1.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jquant2.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jutils.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jmemmgr.o: jinclude.h jconfig.h jpeglib.h jmorecfg.h jpegint.h jerror.h
+jmemmgr.o: jmemsys.h
diff --git a/src/Fl_Table.cxx b/src/Fl_Table.cxx
index 32d35cfea..6f92a503f 100644
--- a/src/Fl_Table.cxx
+++ b/src/Fl_Table.cxx
@@ -64,19 +64,19 @@ void Fl_Table::col_position(int col) {
// Find scroll position of a row (in pixels)
long Fl_Table::row_scroll_position(int row) {
- int startrow = 0;
- long scroll = 0;
- // OPTIMIZATION:
- // Attempt to use precomputed row scroll position
- //
- if ( toprow_scrollpos != -1 && row >= toprow ) {
- scroll = toprow_scrollpos;
- startrow = toprow;
- }
- for ( int t=startrow; t<row; t++ ) {
- scroll += row_height(t);
- }
- return(scroll);
+ int startrow = 0;
+ long scroll = 0;
+ // OPTIMIZATION:
+ // Attempt to use precomputed row scroll position
+ //
+ if ( toprow_scrollpos != -1 && row >= toprow ) {
+ scroll = toprow_scrollpos;
+ startrow = toprow;
+ }
+ for ( int t=startrow; t<row; t++ ) {
+ scroll += row_height(t);
+ }
+ return(scroll);
}
// Find scroll position of a column (in pixels)
@@ -133,36 +133,36 @@ Fl_Table::Fl_Table(int X, int Y, int W, int H, const char *l) : Fl_Group(X,Y,W,H
current_row = -1;
select_row = -1;
select_col = -1;
-
+
box(FL_THIN_DOWN_FRAME);
-
+
vscrollbar = new Fl_Scrollbar(x()+w()-SCROLLBAR_SIZE, y(),
- SCROLLBAR_SIZE, h()-SCROLLBAR_SIZE);
+ SCROLLBAR_SIZE, h()-SCROLLBAR_SIZE);
vscrollbar->type(FL_VERTICAL);
vscrollbar->callback(scroll_cb, (void*)this);
-
+
hscrollbar = new Fl_Scrollbar(x(), y()+h()-SCROLLBAR_SIZE,
- w(), SCROLLBAR_SIZE);
+ w(), SCROLLBAR_SIZE);
hscrollbar->type(FL_HORIZONTAL);
hscrollbar->callback(scroll_cb, (void*)this);
-
+
table = new Fl_Scroll(x(), y(), w(), h());
table->box(FL_NO_BOX);
table->type(0); // don't show Fl_Scroll's scrollbars -- use our own
table->hide(); // hide unless children are present
table->end();
-
+
table_resized();
redraw();
-
+
Fl_Group::end(); // end the group's begin()
-
+
table->begin(); // leave with fltk children getting added to the scroll
}
// Dtor
Fl_Table::~Fl_Table() {
- // The parent Fl_Group takes care of destroying scrollbars
+ // The parent Fl_Group takes care of destroying scrollbars
}
// Set height of a row
@@ -225,12 +225,12 @@ int Fl_Table::row_col_clamp(TableContext context, int &R, int &C) {
// Allow col headers to draw even if no rows
if ( R >= _rows && R != 0 ) { R = _rows - 1; clamped = 1; }
break;
-
+
case CONTEXT_ROW_HEADER:
// Allow row headers to draw even if no columns
if ( C >= _cols && C != 0 ) { C = _cols - 1; clamped = 1; }
break;
-
+
case CONTEXT_CELL:
default:
// CLAMP R/C TO _rows/_cols
@@ -251,7 +251,7 @@ void Fl_Table::get_bounds(TableContext context, int &X, int &Y, int &W, int &H)
W = tow;
H = col_header_height();
return;
-
+
case CONTEXT_ROW_HEADER:
// Row header clipping.
X = wix;
@@ -259,13 +259,13 @@ void Fl_Table::get_bounds(TableContext context, int &X, int &Y, int &W, int &H)
W = row_header_width();
H = toh;
return;
-
+
case CONTEXT_TABLE:
// Table inner dimensions
X = tix; Y = tiy; W = tiw; H = tih;
return;
-
- // TODO: Add other contexts..
+
+ // TODO: Add other contexts..
default:
fprintf(stderr, "Fl_Table::get_bounds(): context %d unimplemented\n", (int)context);
return;
@@ -290,18 +290,18 @@ Fl_Table::TableContext Fl_Table::cursor2rowcol(int &R, int &C, ResizeFlag &resiz
if ( Fl::event_inside(X, Y, W, H) ) {
// Scan visible rows until found
for ( R = toprow; R <= botrow; R++ ) {
- find_cell(CONTEXT_ROW_HEADER, R, 0, X, Y, W, H);
- if ( Fl::event_y() >= Y && Fl::event_y() < (Y+H) ) {
- // Found row?
- // If cursor over resize boundary, and resize enabled,
- // enable the appropriate resize flag.
- //
- if ( row_resize() ) {
- if ( Fl::event_y() <= (Y+3-0) ) { resizeflag = RESIZE_ROW_ABOVE; }
- if ( Fl::event_y() >= (Y+H-3) ) { resizeflag = RESIZE_ROW_BELOW; }
- }
- return(CONTEXT_ROW_HEADER);
- }
+ find_cell(CONTEXT_ROW_HEADER, R, 0, X, Y, W, H);
+ if ( Fl::event_y() >= Y && Fl::event_y() < (Y+H) ) {
+ // Found row?
+ // If cursor over resize boundary, and resize enabled,
+ // enable the appropriate resize flag.
+ //
+ if ( row_resize() ) {
+ if ( Fl::event_y() <= (Y+3-0) ) { resizeflag = RESIZE_ROW_ABOVE; }
+ if ( Fl::event_y() >= (Y+H-3) ) { resizeflag = RESIZE_ROW_BELOW; }
+ }
+ return(CONTEXT_ROW_HEADER);
+ }
}
// Must be in row header dead zone
return(CONTEXT_NONE);
@@ -314,18 +314,18 @@ Fl_Table::TableContext Fl_Table::cursor2rowcol(int &R, int &C, ResizeFlag &resiz
if ( Fl::event_inside(X, Y, W, H) ) {
// Scan visible columns until found
for ( C = leftcol; C <= rightcol; C++ ) {
- find_cell(CONTEXT_COL_HEADER, 0, C, X, Y, W, H);
- if ( Fl::event_x() >= X && Fl::event_x() < (X+W) ) {
- // Found column?
- // If cursor over resize boundary, and resize enabled,
- // enable the appropriate resize flag.
- //
- if ( col_resize() ) {
- if ( Fl::event_x() <= (X+3-0) ) { resizeflag = RESIZE_COL_LEFT; }
- if ( Fl::event_x() >= (X+W-3) ) { resizeflag = RESIZE_COL_RIGHT; }
- }
- return(CONTEXT_COL_HEADER);
- }
+ find_cell(CONTEXT_COL_HEADER, 0, C, X, Y, W, H);
+ if ( Fl::event_x() >= X && Fl::event_x() < (X+W) ) {
+ // Found column?
+ // If cursor over resize boundary, and resize enabled,
+ // enable the appropriate resize flag.
+ //
+ if ( col_resize() ) {
+ if ( Fl::event_x() <= (X+3-0) ) { resizeflag = RESIZE_COL_LEFT; }
+ if ( Fl::event_x() >= (X+W-3) ) { resizeflag = RESIZE_COL_RIGHT; }
+ }
+ return(CONTEXT_COL_HEADER);
+ }
}
// Must be in column header dead zone
return(CONTEXT_NONE);
@@ -340,10 +340,10 @@ Fl_Table::TableContext Fl_Table::cursor2rowcol(int &R, int &C, ResizeFlag &resiz
if ( Fl::event_y() < Y ) break; // OPT: thanks lars
if ( Fl::event_y() >= (Y+H) ) continue; // OPT: " "
for ( C = leftcol; C <= rightcol; C++ ) {
- find_cell(CONTEXT_CELL, R, C, X, Y, W, H);
- if ( Fl::event_inside(X, Y, W, H) ) {
- return(CONTEXT_CELL); // found it
- }
+ find_cell(CONTEXT_CELL, R, C, X, Y, W, H);
+ if ( Fl::event_inside(X, Y, W, H) ) {
+ return(CONTEXT_CELL); // found it
+ }
}
}
// Must be in a dead zone of the table
@@ -367,25 +367,25 @@ int Fl_Table::find_cell(TableContext context, int R, int C, int &X, int &Y, int
Y = row_scroll_position(R) - vscrollbar->value() + tiy;
W = col_width(C);
H = row_height(R);
-
+
switch ( context ) {
case CONTEXT_COL_HEADER:
Y = wiy;
H = col_header_height();
return(0);
-
+
case CONTEXT_ROW_HEADER:
X = wix;
W = row_header_width();
return(0);
-
+
case CONTEXT_CELL:
return(0);
-
+
case CONTEXT_TABLE:
return(0);
-
- // TODO -- HANDLE OTHER CONTEXTS
+
+ // TODO -- HANDLE OTHER CONTEXTS
default:
fprintf(stderr, "Fl_Table::find_cell: unknown context %d\n", (int)context);
return(-1);
@@ -416,14 +416,14 @@ void Fl_Table::_auto_drag_cb() {
int lx = Fl::e_x;
int ly = Fl::e_y;
if (_selecting == CONTEXT_COL_HEADER)
- { ly = y() + col_header_height(); }
+ { ly = y() + col_header_height(); }
else if (_selecting == CONTEXT_ROW_HEADER)
- { lx = x() + row_header_width(); }
+ { lx = x() + row_header_width(); }
if (lx > x() + w() - 20) {
Fl::e_x = x() + w() - 20;
if (hscrollbar->visible())
- ((Fl_Slider*)hscrollbar)->value(
- hscrollbar->clamp(hscrollbar->value() + 30));
+ ((Fl_Slider*)hscrollbar)->value(
+ hscrollbar->clamp(hscrollbar->value() + 30));
hscrollbar->do_callback();
_dragging_x = Fl::e_x - 30;
}
@@ -562,25 +562,25 @@ void Fl_Table::table_resized() {
vscrollbar->precision(10);
vscrollbar->slider_size(vscrolltab);
vscrollbar->resize(wix+wiw-SCROLLBAR_SIZE, wiy,
- SCROLLBAR_SIZE,
- wih - ((hscrollbar->visible())?SCROLLBAR_SIZE:0));
+ SCROLLBAR_SIZE,
+ wih - ((hscrollbar->visible())?SCROLLBAR_SIZE:0));
vscrollbar->Fl_Valuator::value(vscrollbar->clamp(vscrollbar->value()));
// Horizontal scrollbar
hscrollbar->bounds(0, table_w-tiw);
hscrollbar->precision(10);
hscrollbar->slider_size(hscrolltab);
hscrollbar->resize(wix, wiy+wih-SCROLLBAR_SIZE,
- wiw - ((vscrollbar->visible())?SCROLLBAR_SIZE:0),
- SCROLLBAR_SIZE);
+ wiw - ((vscrollbar->visible())?SCROLLBAR_SIZE:0),
+ SCROLLBAR_SIZE);
hscrollbar->Fl_Valuator::value(hscrollbar->clamp(hscrollbar->value()));
}
-
+
// Tell FLTK child widgets were resized
Fl_Group::init_sizes();
-
+
// Recalc top/bot/left/right
table_scrolled();
-
+
// DO *NOT* REDRAW -- LEAVE THIS UP TO THE CALLER
// redraw();
}
@@ -606,7 +606,7 @@ void Fl_Table::rows(int val) {
}
}
table_resized();
-
+
// OPTIMIZATION: redraw only if change is visible.
if ( val >= oldrows && oldrows > botrow ) {
// NO REDRAW
@@ -690,7 +690,7 @@ int Fl_Table::move_cursor(int R, int C) {
#ifdef DEBUG
#include "eventnames.h"
#define PRINTEVENT \
- fprintf(stderr,"Table %s: ** Event: %s --\n", (label()?label():"none"), eventnames[event]);
+fprintf(stderr,"Table %s: ** Event: %s --\n", (label()?label():"none"), eventnames[event]);
#else
#define PRINTEVENT
#endif
@@ -710,303 +710,303 @@ int Fl_Table::handle(int event) {
switch ( event ) {
case FL_PUSH:
if (Fl::event_button() == 1 && !Fl::event_clicks()) {
- if (Fl::focus() != this) {
- take_focus();
- do_callback(CONTEXT_TABLE, -1, -1);
- ret = 1;
- }
- damage_zone(current_row, current_col, select_row, select_col, R, C);
- if (context == CONTEXT_CELL) {
- current_row = select_row = R;
- current_col = select_col = C;
- _selecting = CONTEXT_CELL;
- } else {
- current_row = select_row = -1;
- current_col = select_col = -1;
- }
+ if (Fl::focus() != this) {
+ take_focus();
+ do_callback(CONTEXT_TABLE, -1, -1);
+ ret = 1;
+ }
+ damage_zone(current_row, current_col, select_row, select_col, R, C);
+ if (context == CONTEXT_CELL) {
+ current_row = select_row = R;
+ current_col = select_col = C;
+ _selecting = CONTEXT_CELL;
+ } else {
+ current_row = select_row = -1;
+ current_col = select_col = -1;
+ }
}
// Need this for eg. right click to pop up a menu
if ( Fl_Widget::callback() && // callback defined?
- resizeflag == RESIZE_NONE ) { // not resizing?
- do_callback(context, R, C); // do callback
+ resizeflag == RESIZE_NONE ) { // not resizing?
+ do_callback(context, R, C); // do callback
}
switch ( context ) {
- case CONTEXT_CELL:
- // FL_PUSH on a cell?
- ret = 1; // express interest in FL_RELEASE
- break;
-
- case CONTEXT_NONE:
- // FL_PUSH on table corner?
- if ( Fl::event_button() == 1 &&
- Fl::event_x() < x() + row_header_width()) {
- current_col = 0;
- select_col = cols() - 1;
- current_row = 0;
- select_row = rows() - 1;
- damage_zone(current_row, current_col, select_row, select_col);
- ret = 1;
- }
- break;
-
- case CONTEXT_COL_HEADER:
- // FL_PUSH on a column header?
- if ( Fl::event_button() == 1) {
- // Resizing? Handle it
- if ( resizeflag ) {
- // Start resize if left click on column border.
- // "ret=1" ensures we get drag events from now on.
- // (C-1) is used if mouse is over the left hand side
- // of cell, so we resize the next column on the left.
- //
- _resizing_col = ( resizeflag & RESIZE_COL_LEFT ) ? C-1 : C;
- _resizing_row = -1;
- _dragging_x = Fl::event_x();
- ret = 1;
- } else {
- // Not resizing? Select the column
- current_col = select_col = C;
- current_row = 0;
- select_row = rows() - 1;
- _selecting = CONTEXT_COL_HEADER;
- damage_zone(current_row, current_col, select_row, select_col);
- ret = 1;
- }
- }
- break;
-
- case CONTEXT_ROW_HEADER:
- // FL_PUSH on a row header?
- if ( Fl::event_button() == 1 ) {
- // Resizing? Handle it
- if ( resizeflag ) {
- // Start resize if left mouse clicked on row border.
- // "ret = 1" ensures we get drag events from now on.
- // (R-1) is used if mouse is over the top of the cell,
- // so that we resize the row above.
- //
- _resizing_row = ( resizeflag & RESIZE_ROW_ABOVE ) ? R-1 : R;
- _resizing_col = -1;
- _dragging_y = Fl::event_y();
- ret = 1;
- } else {
- // Not resizing? Select the row
- current_row = select_row = R;
- current_col = 0;
- select_col = cols() - 1;
- _selecting = CONTEXT_ROW_HEADER;
- damage_zone(current_row, current_col, select_row, select_col);
- ret = 1;
- }
- }
- break;
-
- default:
- ret = 0; // express disinterest
- break;
+ case CONTEXT_CELL:
+ // FL_PUSH on a cell?
+ ret = 1; // express interest in FL_RELEASE
+ break;
+
+ case CONTEXT_NONE:
+ // FL_PUSH on table corner?
+ if ( Fl::event_button() == 1 &&
+ Fl::event_x() < x() + row_header_width()) {
+ current_col = 0;
+ select_col = cols() - 1;
+ current_row = 0;
+ select_row = rows() - 1;
+ damage_zone(current_row, current_col, select_row, select_col);
+ ret = 1;
+ }
+ break;
+
+ case CONTEXT_COL_HEADER:
+ // FL_PUSH on a column header?
+ if ( Fl::event_button() == 1) {
+ // Resizing? Handle it
+ if ( resizeflag ) {
+ // Start resize if left click on column border.
+ // "ret=1" ensures we get drag events from now on.
+ // (C-1) is used if mouse is over the left hand side
+ // of cell, so we resize the next column on the left.
+ //
+ _resizing_col = ( resizeflag & RESIZE_COL_LEFT ) ? C-1 : C;
+ _resizing_row = -1;
+ _dragging_x = Fl::event_x();
+ ret = 1;
+ } else {
+ // Not resizing? Select the column
+ current_col = select_col = C;
+ current_row = 0;
+ select_row = rows() - 1;
+ _selecting = CONTEXT_COL_HEADER;
+ damage_zone(current_row, current_col, select_row, select_col);
+ ret = 1;
+ }
+ }
+ break;
+
+ case CONTEXT_ROW_HEADER:
+ // FL_PUSH on a row header?
+ if ( Fl::event_button() == 1 ) {
+ // Resizing? Handle it
+ if ( resizeflag ) {
+ // Start resize if left mouse clicked on row border.
+ // "ret = 1" ensures we get drag events from now on.
+ // (R-1) is used if mouse is over the top of the cell,
+ // so that we resize the row above.
+ //
+ _resizing_row = ( resizeflag & RESIZE_ROW_ABOVE ) ? R-1 : R;
+ _resizing_col = -1;
+ _dragging_y = Fl::event_y();
+ ret = 1;
+ } else {
+ // Not resizing? Select the row
+ current_row = select_row = R;
+ current_col = 0;
+ select_col = cols() - 1;
+ _selecting = CONTEXT_ROW_HEADER;
+ damage_zone(current_row, current_col, select_row, select_col);
+ ret = 1;
+ }
+ }
+ break;
+
+ default:
+ ret = 0; // express disinterest
+ break;
}
_last_row = R;
break;
-
+
case FL_DRAG:
if (_auto_drag == 1) {
- ret = 1;
- break;
+ ret = 1;
+ break;
}
if ( _resizing_col > -1 ) {
- // Dragging column?
- //
- // Let user drag even /outside/ the row/col widget.
- // Don't allow column width smaller than 1.
- // Continue to show FL_CURSOR_WE at all times during drag.
- //
- int offset = _dragging_x - Fl::event_x();
- int new_w = col_width(_resizing_col) - offset;
- if ( new_w < _col_resize_min ) new_w = _col_resize_min;
- col_width(_resizing_col, new_w);
- _dragging_x = Fl::event_x();
- table_resized();
- redraw();
- change_cursor(FL_CURSOR_WE);
- ret = 1;
- if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) {
- do_callback(CONTEXT_RC_RESIZE, R, C);
- }
+ // Dragging column?
+ //
+ // Let user drag even /outside/ the row/col widget.
+ // Don't allow column width smaller than 1.
+ // Continue to show FL_CURSOR_WE at all times during drag.
+ //
+ int offset = _dragging_x - Fl::event_x();
+ int new_w = col_width(_resizing_col) - offset;
+ if ( new_w < _col_resize_min ) new_w = _col_resize_min;
+ col_width(_resizing_col, new_w);
+ _dragging_x = Fl::event_x();
+ table_resized();
+ redraw();
+ change_cursor(FL_CURSOR_WE);
+ ret = 1;
+ if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) {
+ do_callback(CONTEXT_RC_RESIZE, R, C);
+ }
}
else if ( _resizing_row > -1 ) {
- // Dragging row?
- //
- // Let user drag even /outside/ the row/col widget.
- // Don't allow row width smaller than 1.
- // Continue to show FL_CURSOR_NS at all times during drag.
- //
- int offset = _dragging_y - Fl::event_y();
- int new_h = row_height(_resizing_row) - offset;
- if ( new_h < _row_resize_min ) new_h = _row_resize_min;
- row_height(_resizing_row, new_h);
- _dragging_y = Fl::event_y();
- table_resized();
- redraw();
- change_cursor(FL_CURSOR_NS);
- ret = 1;
- if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) {
- do_callback(CONTEXT_RC_RESIZE, R, C);
- }
+ // Dragging row?
+ //
+ // Let user drag even /outside/ the row/col widget.
+ // Don't allow row width smaller than 1.
+ // Continue to show FL_CURSOR_NS at all times during drag.
+ //
+ int offset = _dragging_y - Fl::event_y();
+ int new_h = row_height(_resizing_row) - offset;
+ if ( new_h < _row_resize_min ) new_h = _row_resize_min;
+ row_height(_resizing_row, new_h);
+ _dragging_y = Fl::event_y();
+ table_resized();
+ redraw();
+ change_cursor(FL_CURSOR_NS);
+ ret = 1;
+ if ( Fl_Widget::callback() && when() & FL_WHEN_CHANGED ) {
+ do_callback(CONTEXT_RC_RESIZE, R, C);
+ }
} else {
- if (Fl::event_button() == 1 &&
- _selecting == CONTEXT_CELL &&
- context == CONTEXT_CELL) {
- if (select_row != R || select_col != C) {
- damage_zone(current_row, current_col, select_row, select_col, R, C);
- }
- select_row = R;
- select_col = C;
- ret = 1;
- }
- else if (Fl::event_button() == 1 &&
- _selecting == CONTEXT_ROW_HEADER &&
- context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) {
- if (select_row != R) {
- damage_zone(current_row, current_col, select_row, select_col, R, C);
- }
- select_row = R;
- ret = 1;
- }
- else if (Fl::event_button() == 1 &&
- _selecting == CONTEXT_COL_HEADER
- && context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) {
- if (select_col != C) {
- damage_zone(current_row, current_col, select_row, select_col, R, C);
- }
- select_col = C;
- ret = 1;
- }
+ if (Fl::event_button() == 1 &&
+ _selecting == CONTEXT_CELL &&
+ context == CONTEXT_CELL) {
+ if (select_row != R || select_col != C) {
+ damage_zone(current_row, current_col, select_row, select_col, R, C);
+ }
+ select_row = R;
+ select_col = C;
+ ret = 1;
+ }
+ else if (Fl::event_button() == 1 &&
+ _selecting == CONTEXT_ROW_HEADER &&
+ context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) {
+ if (select_row != R) {
+ damage_zone(current_row, current_col, select_row, select_col, R, C);
+ }
+ select_row = R;
+ ret = 1;
+ }
+ else if (Fl::event_button() == 1 &&
+ _selecting == CONTEXT_COL_HEADER
+ && context & (CONTEXT_ROW_HEADER|CONTEXT_COL_HEADER|CONTEXT_CELL)) {
+ if (select_col != C) {
+ damage_zone(current_row, current_col, select_row, select_col, R, C);
+ }
+ select_col = C;
+ ret = 1;
+ }
}
// Enable autodrag if not resizing, and mouse has moved off table edge
if ( _resizing_row < 0 && _resizing_col < 0 && _auto_drag == 0 &&
- ( Fl::event_x() > x() + w() - 20 ||
- Fl::event_x() < x() + row_header_width() ||
- Fl::event_y() > y() + h() - 20 ||
- Fl::event_y() < y() + col_header_height()
- ) ) {
- _start_auto_drag();
- }
+ ( Fl::event_x() > x() + w() - 20 ||
+ Fl::event_x() < x() + row_header_width() ||
+ Fl::event_y() > y() + h() - 20 ||
+ Fl::event_y() < y() + col_header_height()
+ ) ) {
+ _start_auto_drag();
+ }
break;
-
+
case FL_RELEASE:
_stop_auto_drag();
switch ( context ) {
- case CONTEXT_ROW_HEADER: // release on row header
- case CONTEXT_COL_HEADER: // release on col header
- case CONTEXT_CELL: // release on a cell
- case CONTEXT_TABLE: // release on dead zone
- if ( _resizing_col == -1 && // not resizing a column
- _resizing_row == -1 && // not resizing a row
- Fl_Widget::callback() && // callback defined
- when() & FL_WHEN_RELEASE && // on button release
- _last_row == R ) { // release on same row PUSHed?
- // Need this for eg. left clicking on a cell to select it
- do_callback(context, R, C);
- }
- break;
-
- default:
- break;
+ case CONTEXT_ROW_HEADER: // release on row header
+ case CONTEXT_COL_HEADER: // release on col header
+ case CONTEXT_CELL: // release on a cell
+ case CONTEXT_TABLE: // release on dead zone
+ if ( _resizing_col == -1 && // not resizing a column
+ _resizing_row == -1 && // not resizing a row
+ Fl_Widget::callback() && // callback defined
+ when() & FL_WHEN_RELEASE && // on button release
+ _last_row == R ) { // release on same row PUSHed?
+ // Need this for eg. left clicking on a cell to select it
+ do_callback(context, R, C);
+ }
+ break;
+
+ default:
+ break;
}
if ( Fl::event_button() == 1 ) {
- change_cursor(FL_CURSOR_DEFAULT);
- _resizing_col = -1;
- _resizing_row = -1;
- ret = 1;
+ change_cursor(FL_CURSOR_DEFAULT);
+ _resizing_col = -1;
+ _resizing_row = -1;
+ ret = 1;
}
break;
-
+
case FL_MOVE:
if ( context == CONTEXT_COL_HEADER && // in column header?
- resizeflag ) { // resize + near boundary?
- change_cursor(FL_CURSOR_WE); // show resize cursor
+ resizeflag ) { // resize + near boundary?
+ change_cursor(FL_CURSOR_WE); // show resize cursor
}
else if ( context == CONTEXT_ROW_HEADER && // in row header?
- resizeflag ) { // resize + near boundary?
- change_cursor(FL_CURSOR_NS); // show resize cursor
+ resizeflag ) { // resize + near boundary?
+ change_cursor(FL_CURSOR_NS); // show resize cursor
} else {
change_cursor(FL_CURSOR_DEFAULT); // normal cursor
}
ret = 1;
break;
-
+
case FL_ENTER: // See FLTK event docs on the FL_ENTER widget
if (!ret) take_focus();
ret = 1;
//FALLTHROUGH
-
+
case FL_LEAVE: // We want to track the mouse if resizing is allowed.
if ( resizeflag ) {
ret = 1;
}
if ( event == FL_LEAVE ) {
- _stop_auto_drag();
- change_cursor(FL_CURSOR_DEFAULT);
+ _stop_auto_drag();
+ change_cursor(FL_CURSOR_DEFAULT);
}
break;
-
+
case FL_FOCUS:
Fl::focus(this);
//FALLTHROUGH
-
+
case FL_UNFOCUS:
_stop_auto_drag();
ret = 1;
break;
-
+
case FL_KEYBOARD: {
ret = 0;
int is_row = select_row;
int is_col = select_col;
switch(Fl::event_key()) {
- case FL_Home:
- ret = move_cursor(0, -1000000);
- break;
- case FL_End:
- ret = move_cursor(0, 1000000);
- break;
- case FL_Page_Up:
- ret = move_cursor(-(botrow - toprow - 1), 0);
- break;
- case FL_Page_Down:
- ret = move_cursor(botrow - toprow - 1 , 0);
- break;
- case FL_Left:
- ret = move_cursor(0, -1);
- break;
- case FL_Right:
- ret = move_cursor(0, 1);
- break;
- case FL_Up:
- ret = move_cursor(-1, 0);
- break;
- case FL_Down:
- ret = move_cursor(1, 0);
- break;
+ case FL_Home:
+ ret = move_cursor(0, -1000000);
+ break;
+ case FL_End:
+ ret = move_cursor(0, 1000000);
+ break;
+ case FL_Page_Up:
+ ret = move_cursor(-(botrow - toprow - 1), 0);
+ break;
+ case FL_Page_Down:
+ ret = move_cursor(botrow - toprow - 1 , 0);
+ break;
+ case FL_Left:
+ ret = move_cursor(0, -1);
+ break;
+ case FL_Right:
+ ret = move_cursor(0, 1);
+ break;
+ case FL_Up:
+ ret = move_cursor(-1, 0);
+ break;
+ case FL_Down:
+ ret = move_cursor(1, 0);
+ break;
}
if (ret && Fl::focus() != this) {
- do_callback(CONTEXT_TABLE, -1, -1);
- take_focus();
+ do_callback(CONTEXT_TABLE, -1, -1);
+ take_focus();
}
//if (!ret && Fl_Widget::callback() && when() & FL_WHEN_NOT_CHANGED )
if ( Fl_Widget::callback() &&
- (
- ( !ret && when() & FL_WHEN_NOT_CHANGED ) ||
- ( is_row!= select_row || is_col!= select_col )
- )
- ) {
- do_callback(CONTEXT_CELL, select_row, select_col);
- //damage_zone(current_row, current_col, select_row, select_col);
- ret = 1;
+ (
+ ( !ret && when() & FL_WHEN_NOT_CHANGED ) ||
+ ( is_row!= select_row || is_col!= select_col )
+ )
+ ) {
+ do_callback(CONTEXT_CELL, select_row, select_col);
+ //damage_zone(current_row, current_col, select_row, select_col);
+ ret = 1;
}
break;
}
-
+
default:
change_cursor(FL_CURSOR_DEFAULT);
break;
@@ -1018,23 +1018,23 @@ int Fl_Table::handle(int event) {
// Handle resize events if user resizes parent window.
//
void Fl_Table::resize(int X, int Y, int W, int H) {
- // Tell group to resize, and recalc our own widget as well
- Fl_Group::resize(X, Y, W, H);
- table_resized();
- redraw();
+ // Tell group to resize, and recalc our own widget as well
+ Fl_Group::resize(X, Y, W, H);
+ table_resized();
+ redraw();
}
// Draw a cell
void Fl_Table::_redraw_cell(TableContext context, int r, int c) {
- if ( r < 0 || c < 0 ) return;
- int X,Y,W,H;
- find_cell(context, r, c, X, Y, W, H); // find positions of cell
- draw_cell(context, r, c, X, Y, W, H); // call users' function to draw it
+ if ( r < 0 || c < 0 ) return;
+ int X,Y,W,H;
+ find_cell(context, r, c, X, Y, W, H); // find positions of cell
+ draw_cell(context, r, c, X, Y, W, H); // call users' function to draw it
}
int Fl_Table::is_selected(int r, int c) {
int s_left, s_right, s_top, s_bottom;
-
+
if (select_col > current_col) {
s_left = current_col;
s_right = select_col;
@@ -1087,8 +1087,8 @@ void Fl_Table::set_selection(int s_top, int s_left, int s_bottom, int s_right) {
//
void Fl_Table::draw() {
draw_cell(CONTEXT_STARTPAGE, 0, 0, // let user's drawing routine
- tix, tiy, tiw, tih); // prep new page
-
+ tix, tiy, tiw, tih); // prep new page
+
// Let fltk widgets draw themselves first. Do this after
// draw_cell(CONTEXT_STARTPAGE) in case user moves widgets around.
// Use window 'inner' clip to prevent drawing into table border.
@@ -1099,10 +1099,10 @@ void Fl_Table::draw() {
Fl_Group::draw();
}
fl_pop_clip();
-
+
// Explicitly draw border around widget, if any
draw_box(box(), x(), y(), w(), h(), color());
-
+
// If Fl_Scroll 'table' is hidden, draw its box
// Do this after Fl_Group::draw() so we draw over scrollbars
// that leak around the border.
@@ -1119,9 +1119,9 @@ void Fl_Table::draw() {
if ( ! ( damage() & FL_DAMAGE_ALL ) && _redraw_leftcol != -1 ) {
fl_push_clip(tix, tiy, tiw, tih);
for ( int c = _redraw_leftcol; c <= _redraw_rightcol; c++ ) {
- for ( int r = _redraw_toprow; r <= _redraw_botrow; r++ ) {
- _redraw_cell(CONTEXT_CELL, r, c);
- }
+ for ( int r = _redraw_toprow; r <= _redraw_botrow; r++ ) {
+ _redraw_cell(CONTEXT_CELL, r, c);
+ }
}
fl_pop_clip();
}
@@ -1129,21 +1129,21 @@ void Fl_Table::draw() {
int X,Y,W,H;
// Draw row headers, if any
if ( row_header() ) {
- get_bounds(CONTEXT_ROW_HEADER, X, Y, W, H);
- fl_push_clip(X,Y,W,H);
- for ( int r = toprow; r <= botrow; r++ ) {
- _redraw_cell(CONTEXT_ROW_HEADER, r, 0);
- }
- fl_pop_clip();
+ get_bounds(CONTEXT_ROW_HEADER, X, Y, W, H);
+ fl_push_clip(X,Y,W,H);
+ for ( int r = toprow; r <= botrow; r++ ) {
+ _redraw_cell(CONTEXT_ROW_HEADER, r, 0);
+ }
+ fl_pop_clip();
}
// Draw column headers, if any
if ( col_header() ) {
- get_bounds(CONTEXT_COL_HEADER, X, Y, W, H);
- fl_push_clip(X,Y,W,H);
- for ( int c = leftcol; c <= rightcol; c++ ) {
- _redraw_cell(CONTEXT_COL_HEADER, 0, c);
- }
- fl_pop_clip();
+ get_bounds(CONTEXT_COL_HEADER, X, Y, W, H);
+ fl_push_clip(X,Y,W,H);
+ for ( int c = leftcol; c <= rightcol; c++ ) {
+ _redraw_cell(CONTEXT_COL_HEADER, 0, c);
+ }
+ fl_pop_clip();
}
// Draw all cells.
// This includes cells partially obscured off edges of table.
@@ -1152,66 +1152,66 @@ void Fl_Table::draw() {
// drawing over deadzones; prevent deadzones by sizing columns.
//
fl_push_clip(tix, tiy, tiw, tih); {
- for ( int r = toprow; r <= botrow; r++ ) {
- for ( int c = leftcol; c <= rightcol; c++ ) {
- _redraw_cell(CONTEXT_CELL, r, c);
- }
- }
+ for ( int r = toprow; r <= botrow; r++ ) {
+ for ( int c = leftcol; c <= rightcol; c++ ) {
+ _redraw_cell(CONTEXT_CELL, r, c);
+ }
+ }
}
fl_pop_clip();
// Draw little rectangle in corner of headers
if ( row_header() && col_header() ) {
fl_rectf(wix, wiy, row_header_width(), col_header_height(), color());
}
-
+
// Table has a boxtype? Close those few dead pixels
if ( table->box() ) {
- if ( col_header() ) {
- fl_rectf(tox, wiy, Fl::box_dx(table->box()), col_header_height(), color());
- }
- if ( row_header() ) {
- fl_rectf(wix, toy, row_header_width(), Fl::box_dx(table->box()), color());
- }
+ if ( col_header() ) {
+ fl_rectf(tox, wiy, Fl::box_dx(table->box()), col_header_height(), color());
+ }
+ if ( row_header() ) {
+ fl_rectf(wix, toy, row_header_width(), Fl::box_dx(table->box()), color());
+ }
}
-
+
// Table width smaller than window? Fill remainder with rectangle
if ( table_w < tiw ) {
- fl_rectf(tix + table_w, tiy, tiw - table_w, tih, color());
- // Col header? fill that too
- if ( col_header() ) {
- fl_rectf(tix + table_w,
- wiy,
- // get that corner just right..
- (tiw - table_w + Fl::box_dw(table->box()) -
- Fl::box_dx(table->box())),
- col_header_height(),
- color());
- }
+ fl_rectf(tix + table_w, tiy, tiw - table_w, tih, color());
+ // Col header? fill that too
+ if ( col_header() ) {
+ fl_rectf(tix + table_w,
+ wiy,
+ // get that corner just right..
+ (tiw - table_w + Fl::box_dw(table->box()) -
+ Fl::box_dx(table->box())),
+ col_header_height(),
+ color());
+ }
}
// Table height smaller than window? Fill remainder with rectangle
if ( table_h < tih ) {
- fl_rectf(tix, tiy + table_h, tiw, tih - table_h, color());
- if ( row_header() ) {
- // NOTE:
- // Careful with that lower corner; don't use tih; when eg.
- // table->box(FL_THIN_UPFRAME) and hscrollbar hidden,
- // leaves a row of dead pixels.
- //
- fl_rectf(wix, tiy + table_h, row_header_width(),
- (wiy+wih) - (tiy+table_h) -
- ( hscrollbar->visible() ? SCROLLBAR_SIZE : 0),
- color());
- }
+ fl_rectf(tix, tiy + table_h, tiw, tih - table_h, color());
+ if ( row_header() ) {
+ // NOTE:
+ // Careful with that lower corner; don't use tih; when eg.
+ // table->box(FL_THIN_UPFRAME) and hscrollbar hidden,
+ // leaves a row of dead pixels.
+ //
+ fl_rectf(wix, tiy + table_h, row_header_width(),
+ (wiy+wih) - (tiy+table_h) -
+ ( hscrollbar->visible() ? SCROLLBAR_SIZE : 0),
+ color());
+ }
}
}
// Both scrollbars? Draw little box in lower right
if ( vscrollbar->visible() && hscrollbar->visible() ) {
fl_rectf(vscrollbar->x(), hscrollbar->y(),
- vscrollbar->w(), hscrollbar->h(), color());
+ vscrollbar->w(), hscrollbar->h(), color());
}
draw_cell(CONTEXT_ENDPAGE, 0, 0, // let user's drawing
- tix, tiy, tiw, tih); // routines cleanup
-
+ tix, tiy, tiw, tih); // routines cleanup
+
_redraw_leftcol = _redraw_rightcol = _redraw_toprow = _redraw_botrow = -1;
}
fl_pop_clip();
diff --git a/src/Fl_Table_Row.cxx b/src/Fl_Table_Row.cxx
index 85fa5aac5..8536c7e44 100644
--- a/src/Fl_Table_Row.cxx
+++ b/src/Fl_Table_Row.cxx
@@ -46,7 +46,7 @@ void Fl_Table_Row::type(TableRowSelectMode val) {
case SELECT_NONE:
{
for ( int row=0; row<rows(); row++ ) {
- _rowselect[row] = 0;
+ _rowselect[row] = 0;
}
redraw();
break;
@@ -55,11 +55,11 @@ void Fl_Table_Row::type(TableRowSelectMode val) {
{
int count = 0;
for ( int row=0; row<rows(); row++ ) {
- if ( _rowselect[row] ) {
- if ( ++count > 1 ) { // only one allowed
- _rowselect[row] = 0;
- }
- }
+ if ( _rowselect[row] ) {
+ if ( ++count > 1 ) { // only one allowed
+ _rowselect[row] = 0;
+ }
+ }
}
redraw();
break;
@@ -87,39 +87,39 @@ int Fl_Table_Row::select_row(int row, int flag) {
switch ( _selectmode ) {
case SELECT_NONE:
return(-1);
-
+
case SELECT_SINGLE:
{
int oldval;
for ( int t=0; t<rows(); t++ ) {
- if ( t == row ) {
- oldval = _rowselect[row];
- if ( flag == 2 ) { _rowselect[row] ^= 1; }
- else { _rowselect[row] = flag; }
- if ( oldval != _rowselect[row] ) {
- redraw_range(row, row, leftcol, rightcol);
- ret = 1;
- }
- }
- else if ( _rowselect[t] ) {
- _rowselect[t] = 0;
- redraw_range(t, t, leftcol, rightcol);
- }
+ if ( t == row ) {
+ oldval = _rowselect[row];
+ if ( flag == 2 ) { _rowselect[row] ^= 1; }
+ else { _rowselect[row] = flag; }
+ if ( oldval != _rowselect[row] ) {
+ redraw_range(row, row, leftcol, rightcol);
+ ret = 1;
+ }
+ }
+ else if ( _rowselect[t] ) {
+ _rowselect[t] = 0;
+ redraw_range(t, t, leftcol, rightcol);
+ }
}
break;
}
-
+
case SELECT_MULTI:
{
int oldval = _rowselect[row];
if ( flag == 2 ) { _rowselect[row] ^= 1; }
else { _rowselect[row] = flag; }
if ( _rowselect[row] != oldval ) { // select state changed?
- if ( row >= toprow && row <= botrow ) { // row visible?
- // Extend partial redraw range
- redraw_range(row, row, leftcol, rightcol);
- }
- ret = 1;
+ if ( row >= toprow && row <= botrow ) { // row visible?
+ // Extend partial redraw range
+ redraw_range(row, row, leftcol, rightcol);
+ }
+ ret = 1;
}
}
}
@@ -131,24 +131,24 @@ void Fl_Table_Row::select_all_rows(int flag) {
switch ( _selectmode ) {
case SELECT_NONE:
return;
-
+
case SELECT_SINGLE:
if ( flag != 0 ) return;
//FALLTHROUGH
-
+
case SELECT_MULTI:
{
char changed = 0;
if ( flag == 2 ) {
- for ( int row=0; row<(int)_rowselect.size(); row++ ) {
- _rowselect[row] ^= 1;
- }
- changed = 1;
+ for ( int row=0; row<(int)_rowselect.size(); row++ ) {
+ _rowselect[row] ^= 1;
+ }
+ changed = 1;
} else {
- for ( int row=0; row<(int)_rowselect.size(); row++ ) {
- changed |= (_rowselect[row] != flag)?1:0;
- _rowselect[row] = flag;
- }
+ for ( int row=0; row<(int)_rowselect.size(); row++ ) {
+ changed |= (_rowselect[row] != flag)?1:0;
+ _rowselect[row] = flag;
+ }
}
if ( changed ) {
redraw();
@@ -169,19 +169,19 @@ void Fl_Table_Row::rows(int val) {
// Handle events
int Fl_Table_Row::handle(int event) {
-
+
// fprintf(stderr, "** EVENT: %s: EVENT XY=%d,%d\n",
// eventnames[event], Fl::event_x(), Fl::event_y()); // debugging
-
+
// Let base class handle event
int ret = Fl_Table::handle(event);
-
+
// The following code disables cell selection.. why was it added? -erco 05/18/03
// if ( ret ) { _last_y = Fl::event_y(); return(1); } // base class 'handled' it (eg. column resize)
-
+
int shiftstate = (Fl::event_state() & FL_CTRL) ? FL_CTRL :
- (Fl::event_state() & FL_SHIFT) ? FL_SHIFT : 0;
-
+ (Fl::event_state() & FL_SHIFT) ? FL_SHIFT : 0;
+
// Which row/column are we over?
int R, C; // row/column being worked on
ResizeFlag resizeflag; // which resizing area are we over? (0=none)
@@ -189,128 +189,128 @@ int Fl_Table_Row::handle(int event) {
switch ( event ) {
case FL_PUSH:
if ( Fl::event_button() == 1 ) {
- _last_push_x = Fl::event_x(); // save regardless of context
- _last_push_y = Fl::event_y(); // " "
-
- // Handle selection in table.
- // Select cell under cursor, and enable drag selection mode.
- //
- if ( context == CONTEXT_CELL ) {
- // Ctrl key? Toggle selection state
- switch ( shiftstate ) {
- case FL_CTRL:
- select_row(R, 2); // toggle
- break;
-
- case FL_SHIFT:
- {
- select_row(R, 1);
- if ( _last_row > -1 ) {
- int srow = R, erow = _last_row;
- if ( srow > erow ) {
- srow = _last_row;
- erow = R;
- }
- for ( int row = srow; row <= erow; row++ ) {
- select_row(row, 1);
- }
- }
- break;
- }
-
- default:
- select_all_rows(0); // clear all previous selections
- select_row(R, 1);
- break;
- }
-
- _last_row = R;
- _dragging_select = 1;
- ret = 1; // FL_PUSH handled (ensures FL_DRAG will be sent)
- // redraw(); // redraw() handled by select_row()
- }
+ _last_push_x = Fl::event_x(); // save regardless of context
+ _last_push_y = Fl::event_y(); // " "
+
+ // Handle selection in table.
+ // Select cell under cursor, and enable drag selection mode.
+ //
+ if ( context == CONTEXT_CELL ) {
+ // Ctrl key? Toggle selection state
+ switch ( shiftstate ) {
+ case FL_CTRL:
+ select_row(R, 2); // toggle
+ break;
+
+ case FL_SHIFT:
+ {
+ select_row(R, 1);
+ if ( _last_row > -1 ) {
+ int srow = R, erow = _last_row;
+ if ( srow > erow ) {
+ srow = _last_row;
+ erow = R;
+ }
+ for ( int row = srow; row <= erow; row++ ) {
+ select_row(row, 1);
+ }
+ }
+ break;
+ }
+
+ default:
+ select_all_rows(0); // clear all previous selections
+ select_row(R, 1);
+ break;
+ }
+
+ _last_row = R;
+ _dragging_select = 1;
+ ret = 1; // FL_PUSH handled (ensures FL_DRAG will be sent)
+ // redraw(); // redraw() handled by select_row()
+ }
}
break;
-
+
case FL_DRAG:
{
if ( _dragging_select ) {
- // Dragged off table edges? Handle scrolling
- int offtop = toy - _last_y; // >0 if off top of table
- int offbot = _last_y - (toy + toh); // >0 if off bottom of table
-
- if ( offtop > 0 && row_position() > 0 ) {
- // Only scroll in upward direction
- int diff = _last_y - Fl::event_y();
- if ( diff < 1 ) {
- ret = 1;
- break;
- }
- row_position(row_position() - diff);
- context = CONTEXT_CELL; C = 0; R = row_position(); // HACK: fake it
- if ( R < 0 || R > rows() ) { ret = 1; break; } // HACK: ugly
- }
- else if ( offbot > 0 && botrow < rows() ) {
- // Only scroll in downward direction
- int diff = Fl::event_y() - _last_y;
- if ( diff < 1 ) {
- ret = 1;
- break;
- }
- row_position(row_position() + diff);
- context = CONTEXT_CELL; C = 0; R = botrow; // HACK: fake it
- if ( R < 0 || R > rows() ) { ret = 1; break; } // HACK: ugly
- }
- if ( context == CONTEXT_CELL ) {
- switch ( shiftstate ) {
- case FL_CTRL:
- if ( R != _last_row ) { // toggle if dragged to new row
- select_row(R, 2); // 2=toggle
- }
- break;
-
- case FL_SHIFT:
- default:
- select_row(R, 1);
- if ( _last_row > -1 ) {
- int srow = R, erow = _last_row;
- if ( srow > erow ) {
- srow = _last_row;
- erow = R;
- }
- for ( int row = srow; row <= erow; row++ ) {
- select_row(row, 1);
- }
- }
- break;
- }
- ret = 1; // drag handled
- _last_row = R;
- }
+ // Dragged off table edges? Handle scrolling
+ int offtop = toy - _last_y; // >0 if off top of table
+ int offbot = _last_y - (toy + toh); // >0 if off bottom of table
+
+ if ( offtop > 0 && row_position() > 0 ) {
+ // Only scroll in upward direction
+ int diff = _last_y - Fl::event_y();
+ if ( diff < 1 ) {
+ ret = 1;
+ break;
+ }
+ row_position(row_position() - diff);
+ context = CONTEXT_CELL; C = 0; R = row_position(); // HACK: fake it
+ if ( R < 0 || R > rows() ) { ret = 1; break; } // HACK: ugly
+ }
+ else if ( offbot > 0 && botrow < rows() ) {
+ // Only scroll in downward direction
+ int diff = Fl::event_y() - _last_y;
+ if ( diff < 1 ) {
+ ret = 1;
+ break;
+ }
+ row_position(row_position() + diff);
+ context = CONTEXT_CELL; C = 0; R = botrow; // HACK: fake it
+ if ( R < 0 || R > rows() ) { ret = 1; break; } // HACK: ugly
+ }
+ if ( context == CONTEXT_CELL ) {
+ switch ( shiftstate ) {
+ case FL_CTRL:
+ if ( R != _last_row ) { // toggle if dragged to new row
+ select_row(R, 2); // 2=toggle
+ }
+ break;
+
+ case FL_SHIFT:
+ default:
+ select_row(R, 1);
+ if ( _last_row > -1 ) {
+ int srow = R, erow = _last_row;
+ if ( srow > erow ) {
+ srow = _last_row;
+ erow = R;
+ }
+ for ( int row = srow; row <= erow; row++ ) {
+ select_row(row, 1);
+ }
+ }
+ break;
+ }
+ ret = 1; // drag handled
+ _last_row = R;
+ }
}
break;
}
-
+
case FL_RELEASE:
if ( Fl::event_button() == 1 ) {
- _dragging_select = 0;
- ret = 1; // release handled
- // Clicked off edges of data table?
- // A way for user to clear the current selection.
- //
- int databot = tiy + table_h,
- dataright = tix + table_w;
- if (
- ( _last_push_x > dataright && Fl::event_x() > dataright ) ||
- ( _last_push_y > databot && Fl::event_y() > databot )
- ) {
- select_all_rows(0); // clear previous selections
- }
+ _dragging_select = 0;
+ ret = 1; // release handled
+ // Clicked off edges of data table?
+ // A way for user to clear the current selection.
+ //
+ int databot = tiy + table_h,
+ dataright = tix + table_w;
+ if (
+ ( _last_push_x > dataright && Fl::event_x() > dataright ) ||
+ ( _last_push_y > databot && Fl::event_y() > databot )
+ ) {
+ select_all_rows(0); // clear previous selections
+ }
}
break;
-
+
default:
- break;
+ break;
}
_last_y = Fl::event_y();
return(ret);
diff --git a/src/Fl_Tree.cxx b/src/Fl_Tree.cxx
new file mode 100644
index 000000000..22032810c
--- /dev/null
+++ b/src/Fl_Tree.cxx
@@ -0,0 +1,354 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <FL/Fl_Tree.H>
+
+#define SCROLL_W 15
+
+//////////////////////
+// Fl_Tree.cxx
+//////////////////////
+//
+// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK
+// Copyright (C) 2009 by Greg Ercolano.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+// INTERNAL: scroller callback
+static void scroll_cb(Fl_Widget*,void *data) {
+ ((Fl_Tree*)data)->redraw();
+}
+
+// INTERNAL: Parse elements from path into an array of null terminated strings
+// Path="/aa/bb"
+// Return: arr[0]="aa", arr[1]="bb", arr[2]=0
+// Caller must: free(arr[0]); free(arr);
+//
+static char **parse_path(const char *path) {
+ while ( *path == '/' ) path++; // skip leading '/'
+ // First pass: identify, null terminate, and count separators
+ int seps = 1; // separator count (1: first item)
+ int arrsize = 1; // array size (1: first item)
+ char *save = strdup(path); // make copy we can modify
+ char *s = save;
+ while ( ( s = strchr(s, '/') ) ) {
+ while ( *s == '/' ) { *s++ = 0; seps++; }
+ if ( *s ) { arrsize++; }
+ }
+ arrsize++; // (room for terminating NULL)
+ // Second pass: create array, save nonblank elements
+ char **arr = (char**)malloc(sizeof(char*) * arrsize);
+ int t = 0;
+ s = save;
+ while ( seps-- > 0 ) {
+ if ( *s ) { arr[t++] = s; } // skips empty fields, eg. '//'
+ s += (strlen(s) + 1);
+ }
+ arr[t] = 0;
+ return(arr);
+}
+
+// INTERNAL: Recursively descend tree hierarchy, accumulating total child count
+static int find_total_children(Fl_Tree_Item *item, int count=0) {
+ count++;
+ for ( int t=0; t<item->children(); t++ ) {
+ count = find_total_children(item->child(t), count);
+ }
+ return(count);
+}
+
+/// Constructor.
+Fl_Tree::Fl_Tree(int X, int Y, int W, int H, const char *L) : Fl_Group(X,Y,W,H,L) {
+ _root = new Fl_Tree_Item(_prefs);
+ _root->parent(0); // we are root of tree
+ _root->label("ROOT");
+ _item_clicked = 0;
+ box(FL_DOWN_BOX);
+ color(FL_WHITE);
+ when(FL_WHEN_CHANGED);
+ _vscroll = new Fl_Scrollbar(0,0,0,0); // will be resized by draw()
+ _vscroll->hide();
+ _vscroll->type(FL_VERTICAL);
+ _vscroll->step(1);
+ _vscroll->callback(scroll_cb, (void*)this);
+ end();
+}
+
+/// Destructor.
+Fl_Tree::~Fl_Tree() {
+ if ( _root ) { delete _root; _root = 0; }
+}
+
+/// Adds a new item, given a 'menu style' path, eg: "/Parent/Child/item".
+/// Any parent nodes that don't already exist are created automatically.
+/// Adds the item based on the value of sortorder().
+/// \returns the child item created, or 0 on error.
+///
+Fl_Tree_Item* Fl_Tree::add(const char *path) {
+ if ( ! _root ) { // Create root if none
+ _root = new Fl_Tree_Item(_prefs);
+ _root->parent(0);
+ _root->label("ROOT");
+ }
+ char **arr = parse_path(path);
+ Fl_Tree_Item *item = _root->add(_prefs, arr);
+ free((void*)arr[0]);
+ free((void*)arr);
+ return(item);
+}
+
+/// Inserts a new item above the specified Fl_Tree_Item, with the label set to 'name'.
+/// \returns the item that was added, or 0 if 'above' could not be found.
+///
+Fl_Tree_Item* Fl_Tree::insert_above(Fl_Tree_Item *above, const char *name) {
+ return(above->insert_above(_prefs, name));
+}
+
+/// Find the item, given a menu style path, eg: "/Parent/Child/item".
+///
+/// There is both a const and non-const version of this method.
+/// Const version allows pure const methods to use this method
+/// to do lookups without causing compiler errors.
+/// \returns the item, or 0 if not found.
+///
+Fl_Tree_Item *Fl_Tree::find_item(const char *path) {
+ if ( ! _root ) return(0);
+ char **arr = parse_path(path);
+ Fl_Tree_Item *item = _root->find_item(arr);
+ free((void*)arr[0]);
+ free((void*)arr);
+ return(item);
+}
+
+/// A const version of Fl_Tree::find_item(const char *path)
+const Fl_Tree_Item *Fl_Tree::find_item(const char *path) const {
+ if ( ! _root ) return(0);
+ char **arr = parse_path(path);
+ const Fl_Tree_Item *item = _root->find_item(arr);
+ free((void*)arr[0]);
+ free((void*)arr);
+ return(item);
+}
+
+/// Standard FLTK draw() method, handles draws the tree widget.
+void Fl_Tree::draw() {
+ // Let group draw box+label but *NOT* children.
+ // We handle drawing children ourselves by calling each item's draw()
+ //
+ Fl_Group::draw_box();
+ Fl_Group::draw_label();
+ if ( ! _root ) return;
+ int cx = x() + Fl::box_dx(box());
+ int cy = y() + Fl::box_dy(box());
+ int cw = w() - Fl::box_dw(box());
+ int ch = h() - Fl::box_dh(box());
+ // These values are changed during drawing
+ // 'Y' will be the lowest point on the tree
+ int X = cx + _prefs.marginleft();
+ int Y = cy + _prefs.margintop() - (_vscroll->visible() ? _vscroll->value() : 0);
+ int W = cw - _prefs.marginleft(); // - _prefs.marginright();
+ int Ysave = Y;
+ fl_push_clip(cx,cy,cw,ch);
+ {
+ fl_font(_prefs.labelfont(), _prefs.labelsize());
+ _root->draw(X, Y, W, this, _prefs);
+ }
+ fl_pop_clip();
+
+ // Show vertical scrollbar?
+ int ydiff = (Y+_prefs.margintop())-Ysave; // ydiff=size of tree
+ int ytoofar = (cy+ch) - Y; // ytoofar -- scrolled beyond bottom (eg. stow)
+
+ //printf("ydiff=%d ch=%d Ysave=%d ytoofar=%d value=%d\n",
+ //int(ydiff),int(ch),int(Ysave),int(ytoofar), int(_vscroll->value()));
+
+ if ( ytoofar > 0 ) ydiff += ytoofar;
+ if ( Ysave<cy || ydiff > ch || int(_vscroll->value()) > 1 ) {
+ _vscroll->visible();
+ int sx = x()+w()-Fl::box_dx(box())-SCROLL_W;
+ int sy = y()+Fl::box_dy(box());
+ int sw = SCROLL_W;
+ int sh = h()-Fl::box_dh(box());
+ _vscroll->show();
+ _vscroll->range(0.0,ydiff-ch);
+ _vscroll->resize(sx,sy,sw,sh);
+ _vscroll->slider_size(float(ch)/float(ydiff));
+ } else {
+ _vscroll->Fl_Slider::value(0);
+ _vscroll->hide();
+ }
+ fl_push_clip(cx,cy,cw,ch);
+ Fl_Group::draw_children(); // draws any FLTK children set via Fl_Tree::widget()
+ fl_pop_clip();
+}
+
+/// Standard FLTK event handler for this widget.
+int Fl_Tree::handle(int e) {
+ static Fl_Tree_Item *lastselect = 0;
+ int changed = 0;
+ int ret = Fl_Group::handle(e);
+ if ( ! _root ) return(ret);
+ switch ( e ) {
+ case FL_PUSH: {
+ lastselect = 0;
+ item_clicked(0); // assume no item was clicked
+ Fl_Tree_Item *o = _root->find_clicked(_prefs);
+ if ( o ) {
+ ret |= 1; // handled
+ if ( Fl::event_button() == FL_LEFT_MOUSE ) {
+ // Was collapse icon clicked?
+ if ( o->event_on_collapse_icon(_prefs) ) {
+ o->open_toggle();
+ redraw();
+ }
+ // Item's label clicked?
+ else if ( o->event_on_label(_prefs) &&
+ (!o->widget() || !Fl::event_inside(o->widget())) &&
+ callback() &&
+ (!_vscroll->visible() || !Fl::event_inside(_vscroll)) ) {
+ item_clicked(o); // save item clicked
+ // Handle selection behavior
+ switch ( _prefs.selectmode() ) {
+ case FL_TREE_SELECT_NONE: { // no selection changes
+ break;
+ }
+ case FL_TREE_SELECT_SINGLE: {
+ changed = select_only(o);
+ break;
+ }
+ case FL_TREE_SELECT_MULTI: {
+ int state = Fl::event_state();
+ if ( state & FL_SHIFT ) {
+ if ( ! o->is_selected() ) {
+ o->select(); // add to selection
+ changed = 1; // changed
+ }
+ } else if ( state & FL_CTRL ) {
+ changed = 1; // changed
+ o->select_toggle(); // toggle selection state
+ lastselect = o; // save we toggled it (prevents oscillation)
+ } else {
+ changed = select_only(o);
+ }
+ break;
+ }
+ }
+ if ( changed ) {
+ redraw(); // make change(s) visible
+ if ( when() & FL_WHEN_CHANGED ) {
+ set_changed();
+ do_callback((Fl_Widget*)this, user_data()); // item callback
+ }
+ }
+ }
+ }
+ }
+ break;
+ }
+ case FL_DRAG: {
+ Fl_Tree_Item *o = _root->find_clicked(_prefs);
+ if ( o ) {
+ ret |= 1; // handled
+ // Item's label clicked?
+ if ( o->event_on_label(_prefs) &&
+ (!o->widget() || !Fl::event_inside(o->widget())) &&
+ callback() &&
+ (!_vscroll->visible() || !Fl::event_inside(_vscroll)) ) {
+ item_clicked(o); // save item clicked
+ // Handle selection behavior
+ switch ( _prefs.selectmode() ) {
+ case FL_TREE_SELECT_NONE: { // no selection changes
+ break;
+ }
+ case FL_TREE_SELECT_SINGLE: {
+ changed = select_only(o);
+ break;
+ }
+ case FL_TREE_SELECT_MULTI: {
+ int state = Fl::event_state();
+ if ( state & FL_CTRL ) {
+ if ( lastselect != o ) {// not already toggled from last microdrag?
+ changed = 1; // changed
+ o->select_toggle(); // toggle selection
+ lastselect = o; // save we toggled it (prevents oscillation)
+ redraw(); // make change(s) visible
+ }
+ } else {
+ changed = 1; // changed
+ o->select(); // select this
+ redraw(); // make change(s) visible
+ }
+ break;
+ }
+ }
+ if ( changed ) {
+ redraw(); // make change(s) visible
+ if ( when() & FL_WHEN_CHANGED ) {
+ set_changed();
+ do_callback((Fl_Widget*)this, user_data()); // item callback
+ }
+ }
+ }
+ }
+ }
+ case FL_RELEASE: {
+ if ( Fl::event_button() == FL_LEFT_MOUSE ) {
+ ret |= 1;
+ }
+ break;
+ }
+ }
+ return(ret);
+}
+
+/// Deselect item and all its children.
+/// If item is NULL, root() is used.
+/// Handles calling redraw() if anything was changed.
+/// Returns count of how many items were in the 'selected' state,
+/// ie. how many items were "changed".
+///
+int Fl_Tree::deselect_all(Fl_Tree_Item *item) {
+ item = item ? item : root(); // NULL? use root()
+ int count = item->deselect_all();
+ if ( count ) redraw(); // anything changed? cause redraw
+ return(count);
+}
+
+/// Select only this item.
+/// If item is NULL, root() is used.
+/// Handles calling redraw() if anything was changed.
+/// Returns how many items were changed, if any.
+///
+int Fl_Tree::select_only(Fl_Tree_Item *selitem) {
+ selitem = selitem ? selitem : root(); // NULL? use root()
+ int changed = 0;
+ for ( Fl_Tree_Item *item = first(); item; item = item->next() ) {
+ if ( item == selitem ) {
+ if ( item->is_selected() ) continue; // don't count if already selected
+ item->select();
+ ++changed;
+ } else {
+ if ( item->is_selected() ) {
+ item->deselect();
+ ++changed;
+ }
+ }
+ }
+ if ( changed ) redraw(); // anything changed? redraw
+ return(changed);
+}
diff --git a/src/Fl_Tree_Item.cxx b/src/Fl_Tree_Item.cxx
new file mode 100644
index 000000000..713c4535d
--- /dev/null
+++ b/src/Fl_Tree_Item.cxx
@@ -0,0 +1,707 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <FL/Fl_Widget.H>
+#include <FL/Fl_Tree_Item.H>
+#include <FL/Fl_Tree_Prefs.H>
+
+//////////////////////
+// Fl_Tree_Item.cxx
+//////////////////////
+//
+// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK
+// Copyright (C) 2009 by Greg Ercolano.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+// Was the last event inside the specified xywh?
+static int event_inside(const int xywh[4]) {
+ return(Fl::event_inside(xywh[0],xywh[1],xywh[2],xywh[3]));
+}
+
+/// Constructor.
+/// Makes a new instance of Fl_Tree_Item using defaults from 'prefs'.
+///
+Fl_Tree_Item::Fl_Tree_Item(const Fl_Tree_Prefs &prefs) {
+ _label = 0;
+ _labelfont = prefs.labelfont();
+ _labelsize = prefs.labelsize();
+ _labelfgcolor = prefs.fgcolor();
+ _labelbgcolor = prefs.bgcolor();
+ _widget = 0;
+ _open = 1;
+ _visible = 1;
+ _active = 1;
+ _selected = 0;
+ _xywh[0] = 0;
+ _xywh[1] = 0;
+ _xywh[2] = 0;
+ _xywh[3] = 0;
+ _collapse_xywh[0] = 0;
+ _collapse_xywh[1] = 0;
+ _collapse_xywh[2] = 0;
+ _collapse_xywh[3] = 0;
+ _label_xywh[0] = 0;
+ _label_xywh[1] = 0;
+ _label_xywh[2] = 0;
+ _label_xywh[3] = 0;
+ _usericon = 0;
+ _parent = 0;
+}
+
+// DTOR
+Fl_Tree_Item::~Fl_Tree_Item() {
+ if ( _label ) {
+ free((void*)_label);
+ _label = 0;
+ }
+ _widget = 0; // Fl_Group will handle destruction
+ _usericon = 0; // user handled allocation
+ //_children.clear(); // array's destructor handles itself
+}
+
+/// Copy constructor.
+Fl_Tree_Item::Fl_Tree_Item(const Fl_Tree_Item *o) {
+ _label = o->label() ? strdup(o->label()) : 0;
+ _labelfont = o->labelfont();
+ _labelsize = o->labelsize();
+ _labelfgcolor = o->labelfgcolor();
+ _labelbgcolor = o->labelbgcolor();
+ _widget = o->widget();
+ _open = o->_open;
+ _visible = o->_visible;
+ _active = o->_active;
+ _selected = o->_selected;
+ _xywh[0] = o->_xywh[0];
+ _xywh[1] = o->_xywh[1];
+ _xywh[2] = o->_xywh[2];
+ _xywh[3] = o->_xywh[3];
+ _collapse_xywh[0] = o->_collapse_xywh[0];
+ _collapse_xywh[1] = o->_collapse_xywh[1];
+ _collapse_xywh[2] = o->_collapse_xywh[2];
+ _collapse_xywh[3] = o->_collapse_xywh[3];
+ _label_xywh[0] = o->_label_xywh[0];
+ _label_xywh[1] = o->_label_xywh[1];
+ _label_xywh[2] = o->_label_xywh[2];
+ _label_xywh[3] = o->_label_xywh[3];
+ _usericon = o->usericon();
+ _parent = o->_parent;
+}
+
+/// Print the tree as 'ascii art' to stdout.
+/// Used mainly for debugging.
+///
+void Fl_Tree_Item::show_self(const char *indent) const {
+ if ( label() ) {
+ printf("%s-%s (%d children, this=%p, parent=%p depth=%d)\n",
+ indent,label(),children(),(void*)this, (void*)_parent, depth());
+ }
+ if ( children() ) {
+ char *i2 = (char*)malloc(strlen(indent) + 2);
+ strcpy(i2, indent);
+ strcat(i2, " |");
+ for ( int t=0; t<children(); t++ ) {
+ child(t)->show_self(i2);
+ }
+ }
+ fflush(stdout);
+}
+
+/// Set the label. Makes a copy of the name.
+void Fl_Tree_Item::label(const char *name) {
+ if ( _label ) { free((void*)_label); _label = 0; }
+ _label = name ? strdup(name) : 0;
+}
+
+/// Return the label.
+const char *Fl_Tree_Item::label() const {
+ return(_label);
+}
+
+/// Return child item for the specified 'index'.
+const Fl_Tree_Item *Fl_Tree_Item::child(int index) const {
+ return(_children[index]);
+}
+
+/// Clear all the children for this item.
+void Fl_Tree_Item::clear_children() {
+ _children.clear();
+}
+
+/// Return the index of the immediate child of this item that has the label 'name'.
+///
+/// \returns index of found item, or -1 if not found.
+///
+int Fl_Tree_Item::find_child(const char *name) {
+ if ( name ) {
+ for ( int t=0; t<children(); t++ ) {
+ if ( child(t)->label() ) {
+ if ( strcmp(child(t)->label(), name) == 0 ) {
+ return(t);
+ }
+ }
+ }
+ }
+ return(-1);
+}
+
+/// Find item by descending array of names.
+/// Only Fl_Tree should need this method.
+///
+/// \returns item, or 0 if not found
+///
+const Fl_Tree_Item *Fl_Tree_Item::find_item(char **arr) const {
+ for ( int t=0; t<children(); t++ ) {
+ if ( child(t)->label() ) {
+ if ( strcmp(child(t)->label(), *arr) == 0 ) { // match?
+ if ( *(arr+1) ) { // more in arr? descend
+ return(_children[t]->find_item(arr+1));
+ } else { // end of arr? done
+ return(_children[t]);
+ }
+ }
+ }
+ }
+ return(0);
+}
+
+/// Find item by by descending array of names.
+/// Only Fl_Tree should need this method.
+///
+/// \returns item, or 0 if not found
+///
+Fl_Tree_Item *Fl_Tree_Item::find_item(char **arr) {
+ for ( int t=0; t<children(); t++ ) {
+ if ( child(t)->label() ) {
+ if ( strcmp(child(t)->label(), *arr) == 0 ) { // match?
+ if ( *(arr+1) ) { // more in arr? descend
+ return(_children[t]->find_item(arr+1));
+ } else { // end of arr? done
+ return(_children[t]);
+ }
+ }
+ }
+ }
+ return(0);
+}
+
+/// Find the index number for the specified 'item'
+/// in the current item's list of children.
+///
+/// \returns the index, or -1 if not found.
+///
+int Fl_Tree_Item::find_child(Fl_Tree_Item *item) {
+ for ( int t=0; t<children(); t++ ) {
+ if ( item == child(t) ) {
+ return(t);
+ }
+ }
+ return(-1);
+}
+
+/// Add a new child to this item with the name 'new_label', with defaults from 'prefs'.
+/// An internally managed copy is made of the label string.
+/// Adds the item based on the value of prefs.sortorder().
+///
+Fl_Tree_Item *Fl_Tree_Item::add(const Fl_Tree_Prefs &prefs, const char *new_label) {
+ Fl_Tree_Item *item = new Fl_Tree_Item(prefs);
+ item->label(new_label);
+ item->_parent = this;
+ switch ( prefs.sortorder() ) {
+ case FL_TREE_SORT_NONE: {
+ _children.add(item);
+ return(item);
+ }
+ case FL_TREE_SORT_ASCENDING: {
+ for ( int t=0; t<_children.total(); t++ ) {
+ Fl_Tree_Item *c = _children[t];
+ if ( c->label() && strcmp(c->label(), new_label) > 0 ) {
+ _children.insert(t, item);
+ return(item);
+ }
+ }
+ _children.add(item);
+ return(item);
+ }
+ case FL_TREE_SORT_DESCENDING: {
+ for ( int t=0; t<_children.total(); t++ ) {
+ Fl_Tree_Item *c = _children[t];
+ if ( c->label() && strcmp(c->label(), new_label) < 0 ) {
+ _children.insert(t, item);
+ return(item);
+ }
+ }
+ _children.add(item);
+ return(item);
+ }
+ }
+ return(item);
+}
+
+/// Descend into the path specified by \p arr, and add a new child there.
+/// Should be used only by Fl_Tree's internals.
+/// Adds the item based on the value of prefs.sortorder().
+///
+Fl_Tree_Item *Fl_Tree_Item::add(const Fl_Tree_Prefs &prefs, char **arr) {
+ int t = find_child(*arr);
+ Fl_Tree_Item *item;
+ if ( t == -1 ) {
+ item = (Fl_Tree_Item*)add(prefs, *arr);
+ } else {
+ item = (Fl_Tree_Item*)child(t);
+ }
+ if ( *(arr+1) ) { // descend?
+ return(item->add(prefs, arr+1));
+ } else {
+ return(item); // end? done
+ }
+}
+
+/// Insert a new item into current item's children at a specified position.
+Fl_Tree_Item *Fl_Tree_Item::insert(const Fl_Tree_Prefs &prefs, const char *new_label, int pos) {
+ Fl_Tree_Item *item = new Fl_Tree_Item(prefs);
+ item->label(new_label);
+ item->_parent = this;
+ _children.insert(pos, item);
+ return(item);
+}
+
+/// Insert a new item above this item.
+Fl_Tree_Item *Fl_Tree_Item::insert_above(const Fl_Tree_Prefs &prefs, const char *new_label) {
+ Fl_Tree_Item *p = _parent;
+ if ( ! p ) return(0);
+ // Walk our parent's children to find ourself
+ for ( int t=0; t<p->children(); t++ ) {
+ Fl_Tree_Item *c = p->child(t);
+ if ( this == c ) {
+ return(p->insert(prefs, new_label, t));
+ }
+ }
+ return(0);
+}
+
+/// Remove child by item.
+/// Returns 0 if removed, -1 if item not an immediate child.
+///
+int Fl_Tree_Item::remove_child(Fl_Tree_Item *item) {
+ for ( int t=0; t<children(); t++ ) {
+ if ( child(t) == item ) {
+ item->clear_children();
+ _children.remove(t);
+ return(0);
+ }
+ }
+ return(-1);
+}
+
+/// Remove immediate child (and its children) by its label 'name'.
+/// Returns 0 if removed, -1 if not found.
+///
+int Fl_Tree_Item::remove_child(const char *name) {
+ for ( int t=0; t<children(); t++ ) {
+ if ( child(t)->label() ) {
+ if ( strcmp(child(t)->label(), name) == 0 ) {
+ _children.remove(t);
+ return(0);
+ }
+ }
+ }
+ return(-1);
+}
+
+/// Swap two of our children, given two child index values.
+/// Use this eg. for sorting.
+///
+/// This method is FAST, and does not involve lookups.
+///
+/// No range checking is done on either index value.
+///
+/// \returns
+/// - 0 : OK
+/// - -1 : failed: 'a' or 'b' is not our immediate child
+///
+void Fl_Tree_Item::swap_children(int ax, int bx) {
+ _children.swap(ax, bx);
+}
+
+/// Swap two of our children, given item pointers.
+/// Use this eg. for sorting.
+///
+/// This method is SLOW because it involves linear lookups.
+/// For speed, use swap_children(int,int) instead.
+///
+/// \returns
+/// - 0 : OK
+/// - -1 : failed: 'a' or 'b' is not our immediate child
+///
+int Fl_Tree_Item::swap_children(Fl_Tree_Item *a, Fl_Tree_Item *b) {
+ int ax = -1, bx = -1;
+ for ( int t=0; t<children(); t++ ) { // find index for a and b
+ if ( _children[t] == a ) { ax = t; if ( bx != -1 ) break; else continue; }
+ if ( _children[t] == b ) { bx = t; if ( ax != -1 ) break; else continue; }
+ }
+ if ( ax == -1 || bx == -1 ) return(-1); // not found? fail
+ swap_children(ax,bx);
+ return(0);
+}
+
+/// Internal: Horizontal connector line based on preference settings.
+void Fl_Tree_Item::draw_horizontal_connector(int x1, int x2, int y, const Fl_Tree_Prefs &prefs) {
+ fl_color(prefs.connectorcolor());
+ switch ( prefs.connectorstyle() ) {
+ case FL_TREE_CONNECTOR_SOLID:
+ y |= 1; // force alignment w/dot pattern
+ fl_line(x1,y,x2,y);
+ return;
+ case FL_TREE_CONNECTOR_DOTTED:
+ y |= 1; // force alignment w/dot pattern
+ for ( int xx=x1; xx<=x2; xx++ ) {
+ if ( !(xx & 1) ) fl_point(xx, y);
+ }
+ return;
+ case FL_TREE_CONNECTOR_NONE:
+ return;
+ }
+}
+
+/// Internal: Vertical connector line based on preference settings.
+void Fl_Tree_Item::draw_vertical_connector(int x, int y1, int y2, const Fl_Tree_Prefs &prefs) {
+ fl_color(prefs.connectorcolor());
+ switch ( prefs.connectorstyle() ) {
+ case FL_TREE_CONNECTOR_SOLID:
+ y1 |= 1; // force alignment w/dot pattern
+ y2 |= 1; // force alignment w/dot pattern
+ fl_line(x,y1,x,y2);
+ return;
+ case FL_TREE_CONNECTOR_DOTTED:
+ y1 |= 1; // force alignment w/dot pattern
+ y2 |= 1; // force alignment w/dot pattern
+ for ( int yy=y1; yy<=y2; yy++ ) {
+ if ( yy & 1 ) fl_point(x, yy);
+ }
+ return;
+ case FL_TREE_CONNECTOR_NONE:
+ return;
+ }
+}
+
+/// Find the item that the last event was over.
+///
+/// Returns the item if its visible, and mouse is over it.
+/// Works even if widget deactivated.
+/// Use event_on_collapse_icon() to determine if collapse button was pressed.
+///
+/// \returns const visible item under the event if found, or 0 if none.
+///
+const Fl_Tree_Item *Fl_Tree_Item::find_clicked(const Fl_Tree_Prefs &prefs) const {
+ if ( ! _visible ) return(0);
+ if ( is_root() && !prefs.showroot() ) {
+ // skip event check if we're root but root not being shown
+ } else {
+ // See if event is over us
+ if ( event_inside(_xywh) ) { // event within this item?
+ return(this); // found
+ }
+ }
+ if ( is_open() ) { // open? check children of this item
+ for ( int t=0; t<children(); t++ ) {
+ const Fl_Tree_Item *item;
+ if ( ( item = _children[t]->find_clicked(prefs) ) != NULL) { // check child and its descendents
+ return(item); // found?
+ }
+ }
+ }
+ return(0);
+}
+
+/// Non-const version of the above.
+/// Find the item that the last event was over.
+///
+/// Returns the item if its visible, and mouse is over it.
+/// Works even if widget deactivated.
+/// Use event_on_collapse_icon() to determine if collapse button was pressed.
+///
+/// \returns the visible item under the event if found, or 0 if none.
+///
+Fl_Tree_Item *Fl_Tree_Item::find_clicked(const Fl_Tree_Prefs &prefs) {
+ if ( ! _visible ) return(0);
+ if ( is_root() && !prefs.showroot() ) {
+ // skip event check if we're root but root not being shown
+ } else {
+ // See if event is over us
+ if ( event_inside(_xywh) ) { // event within this item?
+ return(this); // found
+ }
+ }
+ if ( is_open() ) { // open? check children of this item
+ for ( int t=0; t<children(); t++ ) {
+ Fl_Tree_Item *item;
+ if ( ( item = _children[t]->find_clicked(prefs) ) != NULL ) { // check child and its descendents
+ return(item); // found?
+ }
+ }
+ }
+ return(0);
+}
+
+/// Draw this item and its children.
+void Fl_Tree_Item::draw(int X, int &Y, int W, Fl_Widget *tree,
+ const Fl_Tree_Prefs &prefs, int lastchild) {
+ if ( ! _visible ) return;
+ fl_font(_labelfont, _labelsize);
+ int H = _labelsize + fl_descent() + prefs.linespacing();
+ // Colors, fonts
+ Fl_Color fg = _selected ? prefs.bgcolor() : _labelfgcolor;
+ Fl_Color bg = _selected ? prefs.selectcolor() : _labelbgcolor;
+ if ( ! _active ) {
+ fg = fl_inactive(fg);
+ if ( _selected ) bg = fl_inactive(bg);
+ }
+ // Update the xywh of this item
+ _xywh[0] = X;
+ _xywh[1] = Y;
+ _xywh[2] = W;
+ _xywh[3] = H;
+ // Text size
+ int textw=0, texth=0;
+ fl_measure(_label, textw, texth, 0);
+ int textycenter = Y+(H/2);
+ int &icon_x = _collapse_xywh[0] = X-1;
+ int &icon_y = _collapse_xywh[1] = textycenter - (prefs.openicon()->h()/2);
+ int &icon_w = _collapse_xywh[2] = prefs.openicon()->w();
+ _collapse_xywh[3] = prefs.openicon()->h();
+ // Horizontal connector values
+ int hstartx = X+icon_w/2-1;
+ int hendx = hstartx + prefs.connectorwidth();
+ int hcenterx = X + icon_w + ((hendx - (X + icon_w)) / 2);
+
+ // See if we should draw this item
+ // If this item is root, and showroot() is disabled, don't draw.
+ //
+ char drawthis = ( is_root() && prefs.showroot() == 0 ) ? 0 : 1;
+ if ( drawthis ) {
+ // Draw connectors
+ if ( prefs.connectorstyle() != FL_TREE_CONNECTOR_NONE ) {
+ // Horiz connector between center of icon and text
+ draw_horizontal_connector(hstartx, hendx, textycenter, prefs);
+ if ( has_children() && is_open() ) {
+ // Small vertical line down to children
+ draw_vertical_connector(hcenterx, textycenter, Y+H, prefs);
+ }
+ // Connectors for last child
+ if ( ! is_root() ) {
+ if ( lastchild ) {
+ draw_vertical_connector(hstartx, Y, textycenter, prefs);
+ } else {
+ draw_vertical_connector(hstartx, Y, Y+H, prefs);
+ }
+ }
+ }
+ // Draw collapse icon
+ if ( has_children() && prefs.showcollapse() ) {
+ // Draw icon image
+ if ( is_open() ) {
+ prefs.closeicon()->draw(icon_x,icon_y);
+ } else {
+ prefs.openicon()->draw(icon_x,icon_y);
+ }
+ }
+ // Background for this item
+ int &bx = _label_xywh[0] = X+(icon_w/2-1+prefs.connectorwidth());
+ int &by = _label_xywh[1] = Y;
+ int &bw = _label_xywh[2] = W-(icon_w/2-1+prefs.connectorwidth());
+ int &bh = _label_xywh[3] = texth;
+ // Draw bg only if different from tree's bg
+ if ( bg != tree->color() || is_selected() ) {
+ if ( is_selected() ) {
+ // Selected? Use selectbox() style
+ fl_draw_box(prefs.selectbox(), bx, by, bw, bh, bg);
+ } else {
+ // Not Selected? use plain filled rectangle
+ fl_color(bg);
+ fl_rectf(bx, by, bw, bh);
+ }
+ }
+ // Draw user icon (if any)
+ int useroff = (icon_w/2-1+prefs.connectorwidth());
+ if ( usericon() ) {
+ // Item has user icon? Use it
+ useroff += prefs.usericonmarginleft();
+ usericon()->draw(X+useroff,icon_y);
+ useroff += usericon()->w();
+ } else if ( prefs.usericon() ) {
+ // Prefs has user icon? Use it
+ useroff += prefs.usericonmarginleft();
+ prefs.usericon()->draw(X+useroff,icon_y);
+ useroff += prefs.usericon()->w();
+ }
+ useroff += prefs.labelmarginleft();
+ // Draw label
+ if ( widget() ) {
+ // Widget? Draw it
+ int lx = X+useroff;
+ int ly = by;
+ int lw = widget()->w();
+ int lh = bh;
+ if ( widget()->x() != lx || widget()->y() != ly ||
+ widget()->w() != lw || widget()->h() != lh ) {
+ widget()->resize(lx, ly, lw, lh); // fltk will handle drawing this
+ }
+ } else {
+ // No label widget? Draw text label
+ if ( _label ) {
+ fl_color(fg);
+ fl_draw(_label, X+useroff, Y+H-fl_descent()-1);
+ }
+ }
+ Y += H;
+ } // end drawthis
+ // Draw children
+ if ( has_children() && is_open() ) {
+ int child_x = drawthis ? // offset children to right,
+ (hcenterx - (icon_w/2) + 1) : X; // unless didn't drawthis
+ int child_w = W - (child_x-X);
+ int child_y_start = Y;
+ for ( int t=0; t<children(); t++ ) {
+ int lastchild = ((t+1)==children()) ? 1 : 0;
+ _children[t]->draw(child_x, Y, child_w, tree, prefs, lastchild);
+ }
+ if ( has_children() && is_open() ) {
+ Y += prefs.openchild_marginbottom(); // offset below open child tree
+ }
+ if ( ! lastchild ) {
+ draw_vertical_connector(hstartx, child_y_start, Y, prefs);
+ }
+ }
+}
+
+/// Was the event on the 'collapse' button?
+///
+int Fl_Tree_Item::event_on_collapse_icon(const Fl_Tree_Prefs &prefs) const {
+ if ( _visible && _active && has_children() && prefs.showcollapse() ) {
+ return(event_inside(_collapse_xywh) ? 1 : 0);
+ } else {
+ return(0);
+ }
+}
+
+/// Was event on the label()?
+///
+int Fl_Tree_Item::event_on_label(const Fl_Tree_Prefs &prefs) const {
+ if ( _visible && _active ) {
+ return(event_inside(_label_xywh) ? 1 : 0);
+ } else {
+ return(0);
+ }
+}
+
+/// Internal: Show the FLTK widget() for this item and all children.
+/// Used by open() to re-show widgets that were hidden by a previous close()
+///
+void Fl_Tree_Item::show_widgets() {
+ if ( _widget ) _widget->show();
+ if ( is_open() ) {
+ for ( int t=0; t<_children.total(); t++ ) {
+ _children[t]->show_widgets();
+ }
+ }
+}
+
+/// Internal: Hide the FLTK widget() for this item and all children.
+/// Used by close() to hide widgets.
+///
+void Fl_Tree_Item::hide_widgets() {
+ if ( _widget ) _widget->hide();
+ for ( int t=0; t<_children.total(); t++ ) {
+ _children[t]->hide_widgets();
+ }
+}
+
+/// Open this item and all its children.
+void Fl_Tree_Item::open() {
+ _open = 1;
+ // Tell children to show() their widgets
+ for ( int t=0; t<_children.total(); t++ ) {
+ _children[t]->show_widgets();
+ }
+}
+
+/// Close this item and all its children.
+void Fl_Tree_Item::close() {
+ _open = 0;
+ // Tell children to hide() their widgets
+ for ( int t=0; t<_children.total(); t++ ) {
+ _children[t]->hide_widgets();
+ }
+}
+
+/// Returns how many levels deep this item is in the hierarchy.
+///
+/// For instance; root has a depth of zero, and its immediate children
+/// would have a depth of 1, and so on.
+///
+int Fl_Tree_Item::depth() const {
+ int count = 0;
+ const Fl_Tree_Item *item = parent();
+ while ( item ) {
+ ++count;
+ item = item->parent();
+ }
+ return(count);
+}
+
+/// Return the next item in the tree.
+///
+/// This method can be used to walk the tree forward.
+/// For an example of how to use this method, see Fl_Tree::first().
+///
+/// \returns the next item in the tree, or 0 if there's no more items.
+///
+Fl_Tree_Item *Fl_Tree_Item::next() {
+ Fl_Tree_Item *p, *c = this;
+ if ( c->has_children() ) {
+ return(c->child(0));
+ }
+ while ( ( p = c->parent() ) != NULL ) { // loop upwards through parents
+ int t = p->find_child(c); // find our position in parent's children[] array
+ if ( ++t < p->children() ) // not last child?
+ return(p->child(t)); // return next child
+ c = p; // child becomes parent to move up generation
+ } // loop: moves up to next parent
+ return(0); // hit root? done
+}
+
+/// Return the previous item in the tree.
+///
+/// This method can be used to walk the tree backwards.
+/// For an example of how to use this method, see Fl_Tree::last().
+///
+/// \returns the previous item in the tree, or 0 if there's no item above this one (hit the root).
+///
+Fl_Tree_Item *Fl_Tree_Item::prev() {
+ Fl_Tree_Item *p=parent(); // start with parent
+ if ( ! p ) return(0); // hit root? done
+ int t = p->find_child(this); // find our position in parent's children[] array
+ if ( --t == -1 ) { // are we first child?
+ return(p); // return immediate parent
+ }
+ p = p->child(t); // take parent's previous child
+ while ( p->has_children() ) { // has children?
+ p = p->child(p->children()-1); // take last child
+ }
+ return(p);
+}
diff --git a/src/Fl_Tree_Item_Array.cxx b/src/Fl_Tree_Item_Array.cxx
new file mode 100644
index 000000000..ef339a2d6
--- /dev/null
+++ b/src/Fl_Tree_Item_Array.cxx
@@ -0,0 +1,149 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <FL/Fl_Tree_Item_Array.H>
+#include <FL/Fl_Tree_Item.H>
+
+//////////////////////
+// Fl_Tree_Item_Array.cxx
+//////////////////////
+//
+// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK
+// Copyright (C) 2009 by Greg Ercolano.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+/// Constructor; creates an empty array.
+///
+/// The optional 'chunksize' can be specified to optimize
+/// memory allocation for potentially large arrays. Default chunksize is 10.
+///
+Fl_Tree_Item_Array::Fl_Tree_Item_Array(int new_chunksize) {
+ _items = 0;
+ _total = 0;
+ _size = 0;
+ _chunksize = new_chunksize;
+}
+
+/// Destructor. Calls each item's destructor, destroys internal _items array.
+Fl_Tree_Item_Array::~Fl_Tree_Item_Array() {
+ clear();
+}
+
+/// Copy constructor. Makes new copy of array, with new instances of each item.
+Fl_Tree_Item_Array::Fl_Tree_Item_Array(const Fl_Tree_Item_Array* o) {
+ _items = (Fl_Tree_Item**)malloc(o->_size * sizeof(Fl_Tree_Item*));
+ _total = o->_total;
+ _size = o->_size;
+ _chunksize = o->_chunksize;
+ for ( int t=0; t<o->_total; t++ ) {
+ _items[t] = new Fl_Tree_Item(o->_items[t]);
+ }
+}
+
+/// Clear the entire array.
+///
+/// Each item will be deleted (destructors will be called),
+/// and the array will be cleared. total() will return 0.
+///
+void Fl_Tree_Item_Array::clear() {
+ if ( _items ) {
+ for ( int t=0; t<_total; t++ ) {
+ delete _items[t];
+ _items[t] = 0;
+ }
+ free((void*)_items); _items = 0;
+ }
+ _total = _size = 0;
+}
+
+// Internal: Enlarge the items array.
+//
+// Adjusts size/items memory allocation as needed.
+// Does NOT change total.
+//
+void Fl_Tree_Item_Array::enlarge(int count) {
+ int newtotal = _total + count; // new total
+ if ( newtotal >= _size ) { // more than we have allocated?
+ // Increase size of array
+ int newsize = _size + _chunksize;
+ Fl_Tree_Item **newitems = (Fl_Tree_Item**)malloc(newsize * sizeof(Fl_Tree_Item*));
+ if ( _items ) {
+ // Copy old array -> new, delete old
+ memmove(newitems, _items, _size * sizeof(Fl_Tree_Item*));
+ free((void*)_items); _items = 0;
+ }
+ // Adjust items/sizeitems
+ _items = newitems;
+ _size = newsize;
+ }
+}
+
+/// Insert an item at index position \p pos.
+///
+/// Handles enlarging array if needed, total increased by 1.
+/// If \p pos == total(), an empty item is appended to the array.
+///
+void Fl_Tree_Item_Array::insert(int pos, Fl_Tree_Item *new_item) {
+ enlarge(1);
+ // printf("*** POS=%d TOTAL-1=%d NITEMS=%d\n", pos, _total-1, (_total-pos));
+ if ( pos <= (_total - 1) ) { // need to move memory around?
+ int nitems = _total - pos;
+ memmove(&_items[pos+1], &_items[pos], sizeof(Fl_Tree_Item*) * nitems);
+ }
+ _items[pos] = new_item;
+ _total++;
+}
+
+/// Add an item* to the end of the array.
+///
+/// Assumes the item was created with 'new', and will remain
+/// allocated.. Fl_Tree_Item_Array will handle calling the
+/// item's destructor when the array is cleared or the item remove()'ed.
+///
+void Fl_Tree_Item_Array::add(Fl_Tree_Item *val) {
+ insert(_total, val);
+}
+
+/// Remove the item at \param[in] index from the array.
+///
+/// The item will be delete'd (if non-NULL), so its destructor will be called.
+///
+void Fl_Tree_Item_Array::remove(int index) {
+ if ( _items[index] ) { // delete if non-zero
+ delete _items[index];
+ }
+ _items[index] = 0;
+ for ( _total--; index<_total; index++ ) {
+ _items[index] = _items[index+1];
+ }
+}
+
+/// Remove the item from the array.
+///
+/// \returns 0 if removed, or -1 if the item was not in the array.
+///
+int Fl_Tree_Item_Array::remove(Fl_Tree_Item *item) {
+ for ( int t=0; t<_total; t++ ) {
+ if ( item == _items[t] ) {
+ remove(t);
+ return(0);
+ }
+ }
+ return(-1);
+}
diff --git a/src/Fl_Tree_Prefs.cxx b/src/Fl_Tree_Prefs.cxx
new file mode 100644
index 000000000..50641c875
--- /dev/null
+++ b/src/Fl_Tree_Prefs.cxx
@@ -0,0 +1,122 @@
+#include <FL/Fl.H>
+#include <FL/Fl_Pixmap.H>
+#include <FL/Fl_Tree_Prefs.H>
+#include <string.h>
+
+//////////////////////
+// Fl_Tree_Prefs.cxx
+//////////////////////
+//
+// Fl_Tree -- This file is part of the Fl_Tree widget for FLTK
+// Copyright (C) 2009 by Greg Ercolano.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+// INTERNAL: BUILT IN OPEN/STOW XPMS
+// These can be replaced via prefs.openicon()/closeicon()
+//
+static const char *L_open_xpm[] = {
+ "11 11 3 1",
+ ". c #fefefe",
+ "# c #444444",
+ "@ c #000000",
+ "###########",
+ "#.........#",
+ "#.........#",
+ "#....@....#",
+ "#....@....#",
+ "#..@@@@@..#",
+ "#....@....#",
+ "#....@....#",
+ "#.........#",
+ "#.........#",
+ "###########"};
+static Fl_Pixmap L_openpixmap(L_open_xpm);
+
+static const char *L_close_xpm[] = {
+ "11 11 3 1",
+ ". c #fefefe",
+ "# c #444444",
+ "@ c #000000",
+ "###########",
+ "#.........#",
+ "#.........#",
+ "#.........#",
+ "#.........#",
+ "#..@@@@@..#",
+ "#.........#",
+ "#.........#",
+ "#.........#",
+ "#.........#",
+ "###########"};
+static Fl_Pixmap L_closepixmap(L_close_xpm);
+
+/// Sets the default icon to be used as the 'open' icon
+/// when items are add()ed to the tree.
+/// This overrides the built in default '[+]' icon.
+///
+/// \param[in] val -- The new pixmap, or zero to use the default [+] icon.
+///
+void Fl_Tree_Prefs::openicon(Fl_Pixmap *val) {
+ _openpixmap = val ? val : &L_openpixmap;
+}
+
+/// Sets the icon to be used as the 'close' icon.
+/// This overrides the built in default '[-]' icon.
+///
+/// \param[in] val -- The new pixmap, or zero to use the default [-] icon.
+///
+void Fl_Tree_Prefs::closeicon(Fl_Pixmap *val) {
+ _closepixmap = val ? val : &L_closepixmap;
+}
+
+/// Fl_Tree_Prefs constructor
+Fl_Tree_Prefs::Fl_Tree_Prefs() {
+ _labelfont = FL_HELVETICA;
+ _labelsize = FL_NORMAL_SIZE;
+ _marginleft = 6;
+ _margintop = 3;
+ //_marginright = 3;
+ //_marginbottom = 3;
+ _openchild_marginbottom = 0;
+ _usericonmarginleft = 3;
+ _labelmarginleft = 3;
+ _linespacing = 0;
+ _fgcolor = FL_BLACK;
+ _bgcolor = FL_WHITE;
+ _selectcolor = FL_DARK_BLUE;
+ _inactivecolor = FL_GRAY;
+ _connectorcolor = Fl_Color(43);
+ _connectorstyle = FL_TREE_CONNECTOR_DOTTED;
+ _openpixmap = &L_openpixmap;
+ _closepixmap = &L_closepixmap;
+ _userpixmap = 0;
+ _showcollapse = 1;
+ _showroot = 1;
+ _connectorwidth = 17;
+ _sortorder = FL_TREE_SORT_NONE;
+ _selectbox = FL_FLAT_BOX;
+ _selectmode = FL_TREE_SELECT_SINGLE;
+ // Let fltk's current 'scheme' affect defaults
+ if ( Fl::scheme() ) {
+ if ( strcmp(Fl::scheme(), "gtk+") == 0 ) {
+ _selectbox = _FL_GTK_THIN_UP_BOX;
+ } else if ( strcmp(Fl::scheme(), "plastic") == 0 ) {
+ _selectbox = _FL_PLASTIC_THIN_UP_BOX;
+ }
+ }
+}
diff --git a/src/Makefile b/src/Makefile
index dce506936..01a498f3a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -86,6 +86,10 @@ CPPFILES = \
Fl_Text_Editor.cxx \
Fl_Tile.cxx \
Fl_Tiled_Image.cxx \
+ Fl_Tree.cxx \
+ Fl_Tree_Item.cxx \
+ Fl_Tree_Item_Array.cxx \
+ Fl_Tree_Prefs.cxx \
Fl_Tooltip.cxx \
Fl_Valuator.cxx \
Fl_Value_Input.cxx \
diff --git a/src/makedepend b/src/makedepend
index 2fc5c0129..425f4cf12 100644
--- a/src/makedepend
+++ b/src/makedepend
@@ -1,601 +1,844 @@
# DO NOT DELETE THIS LINE -- make depend depends on it.
-Fl.o: Fl.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H \
- ../FL/Fl_Window.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H flstring.h \
- ../FL/Fl_Export.H ../config.h ../FL/fl_draw.H
-Fl_Adjuster.o: Fl_Adjuster.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Adjuster.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H ../FL/fl_draw.H \
- fastarrow.h mediumarrow.h slowarrow.h
-Fl_Bitmap.o: Fl_Bitmap.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Widget.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Bitmap.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Browser.o: Fl_Browser.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Browser_.o: Fl_Browser_.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Group.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/fl_draw.H
-Fl_Browser_load.o: Fl_Browser_load.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-Fl_Box.o: Fl_Box.cxx ../FL/Fl_Widget.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Box.H
-Fl_Button.o: Fl_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Button.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H
-Fl_Chart.o: Fl_Chart.cxx ../FL/math.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Chart.H ../FL/Fl_Widget.H ../FL/fl_draw.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Check_Browser.o: Fl_Check_Browser.cxx flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Check_Browser.H ../FL/Fl.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
-Fl_Check_Button.o: Fl_Check_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Widget.H
-Fl_Choice.o: Fl_Choice.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Widget.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Clock.o: Fl_Clock.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Clock.H ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Color_Chooser.o: Fl_Color_Chooser.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Return_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Value_Input.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H \
- ../FL/math.h ../FL/Fl_Window.H ../FL/Fl_Group.H
-Fl_Counter.o: Fl_Counter.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Counter.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Dial.o: Fl_Dial.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Dial.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H \
- ../FL/math.h
-Fl_Double_Window.o: Fl_Double_Window.cxx ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H \
- ../FL/fl_draw.H
-Fl_File_Browser.o: Fl_File_Browser.cxx ../FL/Fl_File_Browser.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H ../FL/fl_draw.H \
- ../FL/filename.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_File_Chooser.o: Fl_File_Chooser.cxx ../FL/Fl_File_Chooser.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \
- ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H \
- ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H ../FL/fl_draw.H ../FL/Fl_Bitmap.H
-Fl_File_Chooser2.o: Fl_File_Chooser2.cxx ../FL/Fl_File_Chooser.H \
- ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H \
- ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H ../FL/Fl_Box.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/filename.H ../FL/x.H \
- ../FL/Fl_Shared_Image.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_File_Icon.o: Fl_File_Icon.cxx flstring.h ../FL/Fl_Export.H ../config.h \
- ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/filename.H
-Fl_File_Input.o: Fl_File_Input.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_File_Input.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Group.o: Fl_Group.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/fl_draw.H
-Fl_Help_View.o: Fl_Help_View.cxx ../FL/Fl_Help_View.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Shared_Image.H \
- ../FL/Fl_Image.H ../FL/Fl_Window.H ../FL/Fl_Pixmap.H ../FL/x.H \
- ../FL/Fl_Window.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Image.o: Fl_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Widget.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Image.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Input.o: Fl_Input.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H ../FL/fl_ask.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Input_.o: Fl_Input_.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Input_.H ../FL/Fl_Widget.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/fl_draw.H ../FL/fl_ask.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Light_Button.o: Fl_Light_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H \
- ../config.h
-Fl_Menu.o: Fl_Menu.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Menu_Window.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Menu_.o: Fl_Menu_.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Menu_.H ../FL/Fl_Widget.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H \
- ../config.h
-Fl_Menu_Bar.o: Fl_Menu_Bar.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H
-Fl_Sys_Menu_Bar.o: Fl_Sys_Menu_Bar.cxx
-Fl_Menu_Button.o: Fl_Menu_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H
-Fl_Menu_Window.o: Fl_Menu_Window.cxx ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \
- ../FL/Fl_Menu_Window.H ../FL/Fl_Single_Window.H
-Fl_Menu_add.o: Fl_Menu_add.cxx ../FL/Fl_Menu_.H ../FL/Fl_Widget.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Menu_global.o: Fl_Menu_global.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Menu_.H ../FL/Fl_Widget.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
-Fl_Multi_Label.o: Fl_Multi_Label.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Widget.H ../FL/Fl_Image.H ../FL/Fl_Multi_Label.H
-Fl_Overlay_Window.o: Fl_Overlay_Window.cxx ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Overlay_Window.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/x.H
-Fl_Pack.o: Fl_Pack.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Pixmap.o: Fl_Pixmap.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Widget.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Pixmap.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Positioner.o: Fl_Positioner.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Positioner.H ../FL/Fl_Widget.H \
- ../FL/fl_draw.H
-Fl_Preferences.o: Fl_Preferences.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Preferences.H ../FL/filename.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Progress.o: Fl_Progress.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Progress.H ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Repeat_Button.o: Fl_Repeat_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H ../FL/Fl_Button.H \
- ../FL/Fl_Widget.H
-Fl_Return_Button.o: Fl_Return_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Return_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Roller.o: Fl_Roller.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Roller.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Round_Button.o: Fl_Round_Button.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Round_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Widget.H
-Fl_Scroll.o: Fl_Scroll.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Tiled_Image.H ../FL/Fl_Image.H \
- ../FL/Fl_Scroll.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/fl_draw.H
-Fl_Scrollbar.o: Fl_Scrollbar.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-Fl_Shared_Image.o: Fl_Shared_Image.cxx flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H ../FL/Fl_XBM_Image.H \
- ../FL/Fl_Bitmap.H ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H
-Fl_Single_Window.o: Fl_Single_Window.cxx ../FL/Fl_Single_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H
-Fl_Slider.o: Fl_Slider.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H \
- ../config.h
-Fl_Tabs.o: Fl_Tabs.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Tabs.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \
- ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H
-Fl_Text_Buffer.o: Fl_Text_Buffer.cxx flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Text_Buffer.H
-Fl_Text_Display.o: Fl_Text_Display.cxx flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H \
- ../FL/Fl_Window.H
-Fl_Text_Editor.o: Fl_Text_Editor.cxx flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Text_Buffer.H ../FL/fl_ask.H
-Fl_Tile.o: Fl_Tile.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Tile.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Window.H
-Fl_Tiled_Image.o: Fl_Tiled_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Tiled_Image.H ../FL/Fl_Image.H \
- ../FL/fl_draw.H
-Fl_Tooltip.o: Fl_Tooltip.cxx ../FL/Fl_Tooltip.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Widget.H \
- ../FL/fl_draw.H ../FL/Fl_Menu_Window.H ../FL/Fl_Single_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H
-Fl_Valuator.o: Fl_Valuator.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/math.h \
- flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Value_Input.o: Fl_Value_Input.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Group.H \
- ../FL/math.h
-Fl_Value_Output.o: Fl_Value_Output.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Value_Output.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Value_Slider.o: Fl_Value_Slider.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Widget.o: Fl_Widget.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Tooltip.H \
- ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Window.o: Fl_Window.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Window_fullscreen.o: Fl_Window_fullscreen.cxx ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H
-Fl_Window_hotspot.o: Fl_Window_hotspot.cxx ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H ../FL/Fl_Window.H
-Fl_Window_iconize.o: Fl_Window_iconize.cxx ../FL/x.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
-Fl_Wizard.o: Fl_Wizard.cxx ../FL/Fl_Wizard.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/fl_draw.H
-Fl_XBM_Image.o: Fl_XBM_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H \
- ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_XPM_Image.o: Fl_XPM_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H \
- ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_abort.o: Fl_abort.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_add_idle.o: Fl_add_idle.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H
-Fl_arg.o: Fl_arg.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Window.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H ../FL/filename.H \
- ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_compose.o: Fl_compose.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H
-Fl_display.o: Fl_display.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_get_key.o: Fl_get_key.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H
-Fl_get_system_colors.o: Fl_get_system_colors.cxx ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/math.h \
- flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl_Pixmap.H \
- ../FL/Fl_Image.H ../FL/Fl_Tiled_Image.H tile.xpm
-Fl_grab.o: Fl_grab.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H
-Fl_lock.o: Fl_lock.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../config.h
-Fl_own_colormap.o: Fl_own_colormap.cxx ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H
-Fl_visual.o: Fl_visual.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H
-Fl_x.o: Fl_x.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Window.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-filename_absolute.o: filename_absolute.cxx ../FL/filename.H \
- ../FL/Fl_Export.H flstring.h ../FL/Fl_Export.H ../config.h
-filename_expand.o: filename_expand.cxx ../FL/filename.H ../FL/Fl_Export.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-filename_ext.o: filename_ext.cxx ../FL/filename.H ../FL/Fl_Export.H
-filename_isdir.o: filename_isdir.cxx flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/filename.H ../FL/Fl_Export.H
-filename_list.o: filename_list.cxx ../FL/filename.H ../FL/Fl_Export.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-filename_match.o: filename_match.cxx ../FL/filename.H ../FL/Fl_Export.H
-filename_setext.o: filename_setext.cxx ../FL/filename.H ../FL/Fl_Export.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-fl_arc.o: fl_arc.cxx ../FL/fl_draw.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/math.h
-fl_arci.o: fl_arci.cxx ../FL/fl_draw.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H
-fl_ask.o: fl_ask.cxx flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_ask.H ../FL/Fl_Box.H \
- ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Secret_Input.H ../FL/Fl_Input.H ../FL/x.H \
- ../FL/Fl_Window.H ../FL/fl_draw.H
-fl_boxtype.o: fl_boxtype.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/fl_draw.H ../config.h
-fl_color.o: fl_color.cxx Fl_XColor.H ../config.h ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl.H ../FL/Enumerations.H ../FL/x.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \
- fl_cmap.h
-fl_cursor.o: fl_cursor.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H
-fl_curve.o: fl_curve.cxx ../FL/fl_draw.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H
-fl_diamond_box.o: fl_diamond_box.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H
-fl_dnd.o: fl_dnd.cxx fl_dnd_x.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/x.H ../FL/Fl_Window.H flstring.h ../FL/Fl_Export.H ../config.h
-fl_draw.o: fl_draw.cxx ../FL/fl_draw.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H \
- ../config.h
-fl_draw_image.o: fl_draw_image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H Fl_XColor.H ../config.h \
- ../FL/Enumerations.H flstring.h ../FL/Fl_Export.H
-fl_draw_pixmap.o: fl_draw_pixmap.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H flstring.h ../FL/Fl_Export.H \
- ../config.h
-fl_encoding_latin1.o: fl_encoding_latin1.cxx ../FL/fl_draw.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Enumerations.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-fl_encoding_mac_roman.o: fl_encoding_mac_roman.cxx ../FL/fl_draw.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Enumerations.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-fl_engraved_label.o: fl_engraved_label.cxx ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Widget.H \
- ../FL/fl_draw.H
-fl_file_dir.o: fl_file_dir.cxx flstring.h ../FL/Fl_Export.H ../config.h \
- ../FL/filename.H ../FL/Fl_Export.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H \
- ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H \
- ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_File_Input.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H ../FL/fl_ask.H
-fl_font.o: fl_font.cxx flstring.h ../FL/Fl_Export.H ../config.h \
- ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_draw.H \
- ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- Fl_Font.H fl_font_xft.cxx
-fl_gtk.o: fl_gtk.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/fl_draw.H
-fl_labeltype.o: fl_labeltype.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/fl_draw.H \
- ../FL/Fl_Image.H ../FL/Fl_Input_.H
-fl_line_style.o: fl_line_style.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H flstring.h ../FL/Fl_Export.H \
- ../config.h
-fl_open_uri.o: fl_open_uri.cxx ../FL/filename.H ../FL/Fl_Export.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-fl_oval_box.o: fl_oval_box.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H
-fl_overlay.o: fl_overlay.cxx ../FL/x.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/fl_draw.H
-fl_overlay_visual.o: fl_overlay_visual.cxx ../config.h
-fl_plastic.o: fl_plastic.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H \
- ../config.h
-fl_read_image.o: fl_read_image.cxx ../FL/x.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H ../config.h
-fl_rect.o: fl_rect.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/x.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H
-fl_round_box.o: fl_round_box.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H
-fl_rounded_box.o: fl_rounded_box.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H
-fl_set_font.o: fl_set_font.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h ../FL/Fl_Export.H \
- ../config.h Fl_Font.H
-fl_set_fonts.o: fl_set_fonts.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H Fl_Font.H ../config.h flstring.h ../FL/Fl_Export.H \
- fl_set_fonts_xft.cxx
-fl_scroll_area.o: fl_scroll_area.cxx ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H
-fl_shadow_box.o: fl_shadow_box.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H
-fl_shortcut.o: fl_shortcut.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/fl_draw.H \
- flstring.h ../FL/Fl_Export.H ../config.h ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H
-fl_show_colormap.o: fl_show_colormap.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \
- ../FL/fl_show_colormap.H ../config.h
-fl_symbols.o: fl_symbols.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/fl_draw.H ../FL/math.h flstring.h \
- ../FL/Fl_Export.H ../config.h
-fl_vertex.o: fl_vertex.cxx ../config.h ../FL/fl_draw.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl.H ../FL/math.h
-screen_xywh.o: screen_xywh.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../config.h
-forms_compatability.o: forms_compatability.cxx ../FL/forms.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \
- ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \
- ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \
- ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \
- ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \
- ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H \
- ../FL/Fl_Repeat_Button.H
-forms_bitmap.o: forms_bitmap.cxx ../FL/forms.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \
- ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \
- ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \
- ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \
- ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \
- ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H
-forms_free.o: forms_free.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Free.H ../FL/Fl_Widget.H
-forms_fselect.o: forms_fselect.cxx ../FL/forms.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \
- ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \
- ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \
- ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \
- ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \
- ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-forms_pixmap.o: forms_pixmap.cxx ../FL/forms.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \
- ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \
- ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \
- ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \
- ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \
- ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H
-forms_timer.o: forms_timer.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Timer.H ../FL/Fl_Widget.H ../FL/fl_draw.H
-Fl_Gl_Choice.o: Fl_Gl_Choice.cxx ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H Fl_Gl_Choice.H ../FL/gl_draw.H \
- ../FL/gl.h flstring.h ../FL/Fl_Export.H
-Fl_Gl_Overlay.o: Fl_Gl_Overlay.cxx ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H Fl_Gl_Choice.H ../FL/Fl_Gl_Window.H
-Fl_Gl_Window.o: Fl_Gl_Window.cxx flstring.h ../FL/Fl_Export.H ../config.h \
- ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/x.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H Fl_Gl_Choice.H \
- ../FL/Fl_Gl_Window.H
-freeglut_geometry.o: freeglut_geometry.cxx ../FL/glut.H ../FL/gl.h \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/math.h
-freeglut_stroke_mono_roman.o: freeglut_stroke_mono_roman.cxx ../FL/glut.H \
- ../FL/gl.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H \
- ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H
-freeglut_stroke_roman.o: freeglut_stroke_roman.cxx ../FL/glut.H \
- ../FL/gl.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H \
- ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H
-freeglut_teapot.o: freeglut_teapot.cxx ../FL/glut.H ../FL/gl.h \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- freeglut_teapot_data.h
-gl_draw.o: gl_draw.cxx flstring.h ../FL/Fl_Export.H ../config.h \
- ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/gl.h ../FL/x.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H \
- Fl_Gl_Choice.H Fl_Font.H
-gl_start.o: gl_start.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H Fl_Gl_Choice.H
-glut_compatability.o: glut_compatability.cxx flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H
-glut_font.o: glut_font.cxx ../config.h ../FL/glut.H ../FL/gl.h \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
-fl_images_core.o: fl_images_core.cxx ../FL/Fl_Shared_Image.H \
- ../FL/Fl_Image.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_BMP_Image.H ../FL/Fl_GIF_Image.H ../FL/Fl_Pixmap.H \
- ../FL/Fl_JPEG_Image.H ../FL/Fl_PNG_Image.H ../FL/Fl_PNM_Image.H \
- flstring.h ../FL/Fl_Export.H ../config.h
-Fl_BMP_Image.o: Fl_BMP_Image.cxx ../FL/Fl_BMP_Image.H ../FL/Fl_Image.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../config.h
-Fl_File_Icon2.o: Fl_File_Icon2.cxx flstring.h ../FL/Fl_Export.H \
- ../config.h ../FL/math.h ../FL/Fl_File_Icon.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Shared_Image.H \
- ../FL/Fl_Image.H ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/filename.H
-Fl_GIF_Image.o: Fl_GIF_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_GIF_Image.H ../FL/Fl_Pixmap.H \
- ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h
-Fl_Help_Dialog.o: Fl_Help_Dialog.cxx ../FL/Fl_Help_Dialog.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \
- ../FL/Fl_Button.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Box.H \
- ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Shared_Image.H \
- ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h \
- ../FL/fl_ask.H
-Fl_JPEG_Image.o: Fl_JPEG_Image.cxx ../FL/Fl_JPEG_Image.H ../FL/Fl_Image.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../config.h
-Fl_PNG_Image.o: Fl_PNG_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_PNG_Image.H ../FL/Fl_Image.H ../config.h
-Fl_PNM_Image.o: Fl_PNM_Image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_PNM_Image.H ../FL/Fl_Image.H flstring.h \
- ../FL/Fl_Export.H ../config.h
-fl_call_main.o: fl_call_main.c
-flstring.o: flstring.c flstring.h ../FL/Fl_Export.H ../config.h
-scandir.o: scandir.c flstring.h ../FL/Fl_Export.H ../config.h
-numericsort.o: numericsort.c ../config.h ../FL/filename.H \
- ../FL/Fl_Export.H
-vsnprintf.o: vsnprintf.c flstring.h ../FL/Fl_Export.H ../config.h
+
+Fl.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl.o: ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H
+Fl.o: flstring.h ../FL/fl_draw.H
+Fl_Adjuster.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Adjuster.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Adjuster.o: ../FL/fl_types.h ../FL/Fl_Adjuster.H ../FL/Fl_Valuator.H
+Fl_Adjuster.o: ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H
+Fl_Adjuster.o: ../FL/fl_draw.H ../FL/Fl_Window.H fastarrow.h mediumarrow.h
+Fl_Adjuster.o: slowarrow.h
+Fl_Bitmap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Bitmap.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Bitmap.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H
+Fl_Bitmap.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H
+Fl_Bitmap.o: ../FL/Fl_Image.H ../FL/Fl_Bitmap.H flstring.h ../config.h
+Fl_Browser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Browser.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Browser.o: ../FL/fl_types.h ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+Fl_Browser.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H
+Fl_Browser.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Image.H
+Fl_Browser.o: ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h ../config.h
+Fl_Browser_.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Browser_.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Browser_.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/Fl_Browser_.H
+Fl_Browser_.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H
+Fl_Browser_.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+Fl_Browser_.o: ../FL/Fl_Window.H
+Fl_Browser_load.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Browser_load.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Browser_load.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Browser.H
+Fl_Browser_load.o: ../FL/Fl_Browser_.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl_Browser_load.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_Browser_load.o: ../FL/Fl_Image.H ../FL/fl_utf8.h
+Fl_Box.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Widget.H
+Fl_Box.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Button.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Button.o: ../FL/fl_types.h ../FL/Fl_Button.H ../FL/Fl_Widget.H
+Fl_Button.o: ../FL/Fl_Group.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+Fl_Chart.o: ../FL/math.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Chart.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Chart.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Chart.H
+Fl_Chart.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h
+Fl_Chart.o: ../config.h
+Fl_Check_Browser.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/fl_draw.H
+Fl_Check_Browser.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Check_Browser.o: ../FL/Fl_Window.H ../FL/Fl_Check_Browser.H ../FL/Fl.H
+Fl_Check_Browser.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Check_Browser.o: ../FL/Fl_Browser_.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl_Check_Browser.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+Fl_Check_Browser.o: ../FL/Fl_Valuator.H ../FL/Fl.H
+Fl_Check_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Check_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Check_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Check_Button.H
+Fl_Check_Button.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+Fl_Check_Button.o: ../FL/Fl_Widget.H
+Fl_Choice.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Choice.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Choice.o: ../FL/fl_types.h ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+Fl_Choice.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_Choice.o: ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h ../config.h
+Fl_Clock.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Clock.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Clock.o: ../FL/fl_types.h ../FL/Fl_Clock.H ../FL/Fl_Widget.H
+Fl_Clock.o: ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Color_Chooser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Color_Chooser.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Color_Chooser.o: ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Color_Chooser.o: ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H ../FL/Fl_Box.H
+Fl_Color_Chooser.o: ../FL/Fl_Widget.H ../FL/Fl_Return_Button.H
+Fl_Color_Chooser.o: ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+Fl_Color_Chooser.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_Color_Chooser.o: ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H
+Fl_Color_Chooser.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H
+Fl_Color_Chooser.o: ../FL/Fl_Window.H ../FL/math.h ../FL/Fl_Window.H
+Fl_Color_Chooser.o: ../FL/Fl_Group.H
+Fl_Counter.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Counter.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Counter.o: ../FL/fl_types.h ../FL/Fl_Counter.H ../FL/Fl_Valuator.H
+Fl_Counter.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Dial.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Dial.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Dial.o: ../FL/fl_types.h ../FL/Fl_Dial.H ../FL/Fl_Valuator.H
+Fl_Dial.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/math.h
+Fl_Double_Window.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Double_Window.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Double_Window.o: ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Double_Window.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/x.H
+Fl_Double_Window.o: ../FL/fl_draw.H
+Fl_File_Browser.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H
+Fl_File_Browser.o: ../FL/Fl_Browser_.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl_File_Browser.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_File_Browser.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_File_Browser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_File_Browser.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Fl_Image.H
+Fl_File_Browser.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H
+Fl_File_Browser.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/filename.H
+Fl_File_Browser.o: ../FL/Fl_Image.H flstring.h ../config.h
+Fl_File_Chooser.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/fl_utf8.h
+Fl_File_Chooser.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+Fl_File_Chooser.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_File_Chooser.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+Fl_File_Chooser.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+Fl_File_Chooser.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_File_Chooser.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H
+Fl_File_Chooser.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_Group.H
+Fl_File_Chooser.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H
+Fl_File_Chooser.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+Fl_File_Chooser.o: ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H
+Fl_File_Chooser.o: ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
+Fl_File_Chooser.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+Fl_File_Chooser.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+Fl_File_Chooser.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/fl_draw.H
+Fl_File_Chooser.o: ../FL/Fl_Bitmap.H
+Fl_File_Chooser2.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/fl_utf8.h
+Fl_File_Chooser2.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+Fl_File_Chooser2.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_File_Chooser2.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+Fl_File_Chooser2.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+Fl_File_Chooser2.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_File_Chooser2.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H
+Fl_File_Chooser2.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_Group.H
+Fl_File_Chooser2.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H
+Fl_File_Chooser2.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
+Fl_File_Chooser2.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_File_Chooser2.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H
+Fl_File_Chooser2.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
+Fl_File_Chooser2.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+Fl_File_Chooser2.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+Fl_File_Chooser2.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/filename.H
+Fl_File_Chooser2.o: ../FL/x.H ../FL/Fl_Shared_Image.H flstring.h ../config.h
+Fl_File_Icon.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h
+Fl_File_Icon.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/fl_utf8.h
+Fl_File_Icon.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_File_Icon.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H
+Fl_File_Icon.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/filename.H
+Fl_File_Input.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_File_Input.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_File_Input.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_File_Input.H
+Fl_File_Input.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H
+Fl_File_Input.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H
+Fl_File_Input.o: ../FL/Fl_Window.H flstring.h ../config.h
+Fl_Group.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Group.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Group.o: ../FL/fl_types.h ../FL/Fl_Group.H ../FL/Fl_Window.H
+Fl_Group.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H
+Fl_Group.o: ../FL/Fl_Window.H
+Fl_Help_View.o: ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/fl_utf8.h
+Fl_Help_View.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Help_View.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Help_View.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H
+Fl_Help_View.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+Fl_Help_View.o: ../FL/Fl_Window.H ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
+Fl_Help_View.o: ../FL/Fl_Window.H ../FL/Fl_Pixmap.H ../FL/x.H ../FL/fl_utf8.h
+Fl_Help_View.o: ../FL/filename.H flstring.h ../config.h
+Fl_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Image.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H
+Fl_Image.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H
+Fl_Image.o: ../FL/Fl_Image.H ../FL/Fl_Image.H flstring.h ../config.h
+Fl_Input.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Input.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Input.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+Fl_Input.o: ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+Fl_Input.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/fl_ask.H flstring.h
+Fl_Input.o: ../config.h
+Fl_Input_.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Input_.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Input_.o: ../FL/fl_types.h ../FL/Fl_Input_.H ../FL/Fl_Widget.H
+Fl_Input_.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/fl_draw.H
+Fl_Input_.o: ../FL/Fl_Window.H ../FL/fl_ask.H ../FL/fl_utf8.h flstring.h
+Fl_Input_.o: ../config.h
+Fl_Light_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Light_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Light_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Light_Button.H
+Fl_Light_Button.o: ../FL/Fl_Button.H ../FL/Fl_Widget.H ../FL/fl_draw.H
+Fl_Light_Button.o: ../FL/Fl_Window.H flstring.h ../config.h
+Fl_Menu.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Menu.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Menu.o: ../FL/fl_types.h ../FL/Fl_Menu_Window.H ../FL/Fl_Single_Window.H
+Fl_Menu.o: ../FL/Fl_Window.H ../FL/Fl_Menu_.H ../FL/Fl_Widget.H
+Fl_Menu.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H flstring.h
+Fl_Menu.o: ../config.h
+Fl_Menu_.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Menu_.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Menu_.o: ../FL/fl_types.h ../FL/Fl_Menu_.H ../FL/Fl_Widget.H
+Fl_Menu_.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H flstring.h ../config.h
+Fl_Menu_Bar.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Menu_Bar.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Menu_Bar.o: ../FL/fl_types.h ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H
+Fl_Menu_Bar.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_Menu_Bar.o: ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Menu_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Menu_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Menu_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Menu_Button.H
+Fl_Menu_Button.o: ../FL/Fl_Menu_.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H
+Fl_Menu_Button.o: ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Menu_Window.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Menu_Window.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Menu_Window.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H
+Fl_Menu_Window.o: ../FL/Fl_Window.H ../FL/fl_draw.H ../FL/Fl_Menu_Window.H
+Fl_Menu_Window.o: ../FL/Fl_Single_Window.H
+Fl_Menu_add.o: ../FL/Fl_Menu_.H ../FL/Fl_Widget.H ../FL/Enumerations.H
+Fl_Menu_add.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Menu_Item.H
+Fl_Menu_add.o: ../FL/Fl_Image.H flstring.h ../FL/Fl_Export.H ../config.h
+Fl_Menu_global.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Menu_global.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Menu_global.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Menu_.H
+Fl_Menu_global.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+Fl_Multi_Label.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Multi_Label.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Multi_Label.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H
+Fl_Multi_Label.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H ../FL/Fl_Image.H
+Fl_Multi_Label.o: ../FL/Fl_Multi_Label.H
+Fl_Overlay_Window.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Overlay_Window.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Overlay_Window.o: ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Overlay_Window.o: ../FL/Fl_Overlay_Window.H ../FL/Fl_Double_Window.H
+Fl_Overlay_Window.o: ../FL/Fl_Window.H ../FL/fl_draw.H ../FL/x.H
+Fl_Pack.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Pack.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Pack.o: ../FL/fl_types.h ../FL/Fl_Pack.H ../FL/Fl_Group.H ../FL/fl_draw.H
+Fl_Pack.o: ../FL/Fl_Window.H
+Fl_Pixmap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Pixmap.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Pixmap.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H
+Fl_Pixmap.o: ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H ../FL/Fl_Widget.H
+Fl_Pixmap.o: ../FL/Fl_Image.H ../FL/Fl_Pixmap.H flstring.h ../config.h
+Fl_Positioner.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Positioner.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Positioner.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Positioner.H
+Fl_Positioner.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Preferences.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Preferences.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Preferences.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Preferences.H
+Fl_Preferences.o: ../FL/filename.H ../FL/fl_utf8.h flstring.h ../config.h
+Fl_Progress.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Progress.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Progress.o: ../FL/fl_types.h ../FL/Fl_Progress.H ../FL/Fl_Widget.H
+Fl_Progress.o: ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Repeat_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Repeat_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Repeat_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Repeat_Button.o: ../FL/Fl_Repeat_Button.H ../FL/Fl.H ../FL/Fl_Button.H
+Fl_Repeat_Button.o: ../FL/Fl_Widget.H
+Fl_Return_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Return_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Return_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Return_Button.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H
+Fl_Return_Button.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Roller.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Roller.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Roller.o: ../FL/fl_types.h ../FL/Fl_Roller.H ../FL/Fl_Valuator.H
+Fl_Roller.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Round_Button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Round_Button.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Round_Button.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Round_Button.H
+Fl_Round_Button.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+Fl_Round_Button.o: ../FL/Fl_Widget.H
+Fl_Scroll.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Scroll.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Scroll.o: ../FL/fl_types.h ../FL/Fl_Tiled_Image.H ../FL/Fl_Image.H
+Fl_Scroll.o: ../FL/Fl_Scroll.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl_Scroll.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_Scroll.o: ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Scrollbar.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Scrollbar.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Scrollbar.o: ../FL/fl_types.h ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+Fl_Scrollbar.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H
+Fl_Scrollbar.o: ../FL/Fl_Window.H flstring.h ../config.h
+Fl_Shared_Image.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h
+Fl_Shared_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Shared_Image.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Shared_Image.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
+Fl_Shared_Image.o: ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H
+Fl_Shared_Image.o: ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H
+Fl_Single_Window.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H
+Fl_Slider.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Slider.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Slider.o: ../FL/fl_types.h ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_Slider.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h
+Fl_Slider.o: ../config.h
+Fl_Table.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Table.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Table.H ../FL/Fl.H
+Fl_Table.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Table.o: ../FL/Fl_Group.H ../FL/Fl_Scroll.H ../FL/Fl_Group.H
+Fl_Table.o: ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+Fl_Table.o: ../FL/Fl_Valuator.H ../FL/Fl_Box.H ../FL/Fl_Scrollbar.H
+Fl_Table_Row.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Table_Row.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Table_Row.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Table_Row.o: ../FL/Fl_Table_Row.H ../FL/Fl_Table.H ../FL/Fl_Group.H
+Fl_Table_Row.o: ../FL/Fl_Scroll.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl_Table_Row.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_Table_Row.o: ../FL/Fl_Box.H ../FL/Fl_Scrollbar.H
+Fl_Tabs.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Tabs.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Tabs.o: ../FL/fl_types.h ../FL/Fl_Tabs.H ../FL/Fl_Group.H
+Fl_Tabs.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Tabs.o: ../FL/Fl_Tooltip.H ../FL/Fl_Widget.H
+Fl_Text_Buffer.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h
+Fl_Text_Buffer.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Text_Buffer.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Text_Buffer.o: ../FL/Fl_Text_Buffer.H
+Fl_Text_Display.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h
+Fl_Text_Display.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Text_Display.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Text_Display.o: ../FL/Fl_Text_Buffer.H ../FL/Fl_Text_Display.H
+Fl_Text_Display.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+Fl_Text_Display.o: ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+Fl_Text_Display.o: ../FL/Fl_Valuator.H ../FL/Fl_Text_Buffer.H
+Fl_Text_Display.o: ../FL/Fl_Window.H
+Fl_Text_Editor.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H
+Fl_Text_Editor.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Text_Editor.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Text_Editor.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+Fl_Text_Editor.o: ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H
+Fl_Text_Editor.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Scrollbar.H
+Fl_Text_Editor.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_Text_Editor.o: ../FL/Fl_Text_Buffer.H ../FL/fl_ask.H
+Fl_Tile.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Tile.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Tile.o: ../FL/fl_types.h ../FL/Fl_Tile.H ../FL/Fl_Group.H
+Fl_Tile.o: ../FL/Fl_Widget.H ../FL/Fl_Window.H
+Fl_Tiled_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Tiled_Image.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Tiled_Image.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Tiled_Image.H
+Fl_Tiled_Image.o: ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Tree.o: ../FL/Fl_Tree.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Tree.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Tree.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H
+Fl_Tree.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+Fl_Tree.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Tree.o: ../FL/Fl_Tree_Item.H ../FL/Fl_Widget.H ../FL/Fl_Pixmap.H
+Fl_Tree.o: ../FL/Fl_Image.H ../FL/Fl_Tree_Item_Array.H ../FL/Fl_Tree_Prefs.H
+Fl_Tree_Item.o: ../FL/Fl_Widget.H ../FL/Fl_Tree_Item.H ../FL/Fl.H
+Fl_Tree_Item.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Tree_Item.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Tree_Item.o: ../FL/fl_types.h ../FL/Fl_Pixmap.H ../FL/Fl_Image.H
+Fl_Tree_Item.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Tree_Item_Array.H
+Fl_Tree_Item.o: ../FL/Fl_Tree_Prefs.H
+Fl_Tree_Item_Array.o: ../FL/Fl_Tree_Item_Array.H ../FL/Fl_Tree_Item.H
+Fl_Tree_Item_Array.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Tree_Item_Array.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Tree_Item_Array.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H
+Fl_Tree_Item_Array.o: ../FL/Fl_Pixmap.H ../FL/Fl_Image.H ../FL/fl_draw.H
+Fl_Tree_Item_Array.o: ../FL/Fl_Window.H ../FL/Fl_Tree_Prefs.H
+Fl_Tree_Prefs.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Tree_Prefs.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Tree_Prefs.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Pixmap.H
+Fl_Tree_Prefs.o: ../FL/Fl_Image.H ../FL/Fl_Tree_Prefs.H
+Fl_Tooltip.o: ../FL/Fl_Tooltip.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Tooltip.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Tooltip.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H
+Fl_Tooltip.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Menu_Window.H
+Fl_Tooltip.o: ../FL/Fl_Single_Window.H
+Fl_Valuator.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Valuator.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Valuator.o: ../FL/fl_types.h ../FL/Fl_Valuator.H ../FL/Fl_Widget.H
+Fl_Valuator.o: ../FL/math.h flstring.h ../config.h
+Fl_Value_Input.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Value_Input.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Value_Input.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Value_Input.H
+Fl_Value_Input.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/Fl_Input.H
+Fl_Value_Input.o: ../FL/Fl_Input_.H ../FL/Fl_Group.H ../FL/math.h
+Fl_Value_Output.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Value_Output.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Value_Output.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Value_Output.H
+Fl_Value_Output.o: ../FL/Fl_Valuator.H ../FL/Fl_Widget.H ../FL/fl_draw.H
+Fl_Value_Output.o: ../FL/Fl_Window.H
+Fl_Value_Slider.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Value_Slider.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Value_Slider.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Value_Slider.H
+Fl_Value_Slider.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H
+Fl_Value_Slider.o: ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Widget.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Widget.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Widget.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/Fl_Group.H
+Fl_Widget.o: ../FL/Fl_Tooltip.H ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h
+Fl_Widget.o: ../config.h
+Fl_Window.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Window.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Window.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H
+Fl_Window.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H flstring.h ../FL/fl_draw.H
+Fl_Window.o: ../FL/Fl_Window.H
+Fl_Window_fullscreen.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Window_fullscreen.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Window_fullscreen.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H
+Fl_Window_fullscreen.o: ../FL/Fl_Window.H ../config.h
+Fl_Window_hotspot.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Window_hotspot.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Window_hotspot.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H
+Fl_Window_hotspot.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H
+Fl_Window_hotspot.o: ../FL/Fl_Window.H
+Fl_Window_iconize.o: ../FL/x.H ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_Window_iconize.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Xutf8.h
+Fl_Wizard.o: ../FL/Fl_Wizard.H ../FL/Fl_Group.H ../FL/Fl_Window.H
+Fl_Wizard.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Enumerations.H
+Fl_Wizard.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+Fl_Wizard.o: ../FL/Fl_Window.H
+Fl_XBM_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_XBM_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_XBM_Image.o: ../FL/fl_types.h ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H
+Fl_XBM_Image.o: ../FL/Fl_Image.H ../FL/fl_utf8.h flstring.h ../config.h
+Fl_XPM_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_XPM_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_XPM_Image.o: ../FL/fl_types.h ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H
+Fl_XPM_Image.o: ../FL/Fl_Image.H ../FL/fl_utf8.h flstring.h ../config.h
+Fl_abort.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_abort.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_abort.o: ../FL/fl_types.h flstring.h ../config.h
+Fl_add_idle.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_add_idle.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_add_idle.o: ../FL/fl_types.h
+Fl_arg.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_arg.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_arg.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Window.H
+Fl_arg.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Tooltip.H
+Fl_arg.o: ../FL/Fl_Widget.H ../FL/filename.H ../FL/fl_draw.H flstring.h
+Fl_arg.o: ../config.h
+Fl_compose.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_compose.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_compose.o: ../FL/fl_types.h
+Fl_display.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_display.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_display.o: ../FL/fl_types.h flstring.h ../config.h
+Fl_get_key.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_get_key.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_get_key.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H
+Fl_get_system_colors.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_get_system_colors.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_get_system_colors.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+Fl_get_system_colors.o: ../FL/Fl_Window.H ../FL/x.H ../FL/math.h
+Fl_get_system_colors.o: ../FL/fl_utf8.h flstring.h ../config.h
+Fl_get_system_colors.o: ../FL/Fl_Pixmap.H ../FL/Fl_Image.H
+Fl_get_system_colors.o: ../FL/Fl_Tiled_Image.H tile.xpm
+Fl_grab.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_grab.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_grab.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H
+Fl_lock.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_lock.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_lock.o: ../FL/fl_types.h ../config.h
+Fl_own_colormap.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_own_colormap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_own_colormap.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H
+Fl_own_colormap.o: ../FL/Fl_Window.H
+Fl_visual.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_visual.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_visual.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H
+Fl_x.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_x.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_x.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Window.H
+Fl_x.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_utf8.h ../FL/Fl_Tooltip.H
+Fl_x.o: ../FL/Fl_Widget.H ../FL/fl_draw.H flstring.h
+filename_absolute.o: ../FL/filename.H ../FL/fl_utf8.h flstring.h
+filename_absolute.o: ../FL/Fl_Export.H ../config.h
+filename_expand.o: ../FL/filename.H ../FL/fl_utf8.h flstring.h
+filename_expand.o: ../FL/Fl_Export.H ../config.h
+filename_ext.o: ../FL/filename.H
+filename_isdir.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/filename.H
+filename_isdir.o: ../FL/fl_utf8.h
+filename_list.o: ../FL/filename.H flstring.h ../FL/Fl_Export.H ../config.h
+filename_match.o: ../FL/filename.H
+filename_setext.o: ../FL/filename.H flstring.h ../FL/Fl_Export.H ../config.h
+fl_arc.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_arc.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/math.h
+fl_arci.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_arci.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/x.H ../FL/Xutf8.h
+fl_arci.o: ../config.h
+fl_ask.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H ../FL/fl_utf8.h
+fl_ask.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_ask.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_ask.H ../FL/Fl_Box.H
+fl_ask.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H
+fl_ask.o: ../FL/Fl_Button.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+fl_ask.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Secret_Input.H
+fl_ask.o: ../FL/Fl_Input.H ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H
+fl_boxtype.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_boxtype.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_boxtype.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/fl_draw.H
+fl_boxtype.o: ../FL/Fl_Window.H ../config.h
+fl_color.o: Fl_XColor.H ../config.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_color.o: ../FL/fl_types.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_color.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H ../FL/x.H
+fl_color.o: ../FL/Fl_Window.H ../FL/fl_draw.H fl_cmap.h
+fl_cursor.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_cursor.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_cursor.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+fl_cursor.o: ../FL/Fl_Widget.H ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H
+fl_curve.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_curve.o: ../FL/fl_types.h ../FL/Fl_Window.H
+fl_diamond_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_diamond_box.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_diamond_box.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+fl_diamond_box.o: ../FL/Fl_Window.H
+fl_dnd.o: fl_dnd_x.cxx ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_dnd.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_dnd.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H
+fl_dnd.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H ../FL/Fl_Window.H
+fl_dnd.o: flstring.h ../config.h
+fl_draw.o: ../FL/fl_utf8.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_draw.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_draw.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+fl_draw.o: ../FL/Fl_Window.H ../FL/Fl_Image.H flstring.h ../config.h
+fl_draw_image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_draw_image.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_draw_image.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+fl_draw_image.o: ../FL/Fl_Window.H ../FL/x.H Fl_XColor.H ../config.h
+fl_draw_image.o: ../FL/Enumerations.H flstring.h
+fl_draw_pixmap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_draw_pixmap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_draw_pixmap.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+fl_draw_pixmap.o: ../FL/Fl_Window.H ../FL/x.H flstring.h ../config.h
+fl_encoding_latin1.o: ../FL/fl_draw.H ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_encoding_latin1.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Enumerations.H
+fl_encoding_latin1.o: flstring.h ../FL/Fl_Export.H ../config.h
+fl_encoding_mac_roman.o: ../FL/fl_draw.H ../FL/Enumerations.H
+fl_encoding_mac_roman.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H
+fl_encoding_mac_roman.o: ../FL/Enumerations.H flstring.h ../FL/Fl_Export.H
+fl_encoding_mac_roman.o: ../config.h
+fl_engraved_label.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_engraved_label.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_engraved_label.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H
+fl_engraved_label.o: ../FL/fl_draw.H ../FL/Fl_Window.H
+fl_file_dir.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/filename.H
+fl_file_dir.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/fl_utf8.h
+fl_file_dir.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_file_dir.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+fl_file_dir.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H
+fl_file_dir.o: ../FL/Fl_Menu_.H ../FL/Fl_Widget.H ../FL/Fl_Menu_Item.H
+fl_file_dir.o: ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H
+fl_file_dir.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_Group.H
+fl_file_dir.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+fl_file_dir.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+fl_file_dir.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H
+fl_file_dir.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H
+fl_file_dir.o: ../FL/Fl_Button.H ../FL/Fl_File_Input.H ../FL/Fl_Input.H
+fl_file_dir.o: ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H ../FL/fl_ask.H
+fl_font.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H
+fl_font.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+fl_font.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+fl_font.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H Fl_Font.H
+fl_font.o: ../FL/Xutf8.h fl_font_x.cxx
+fl_gtk.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_gtk.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_gtk.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H
+fl_labeltype.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_labeltype.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_labeltype.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/Fl_Group.H
+fl_labeltype.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/Fl_Image.H
+fl_labeltype.o: ../FL/Fl_Input_.H ../FL/Fl_Widget.H
+fl_line_style.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_line_style.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_line_style.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+fl_line_style.o: ../FL/Fl_Window.H ../FL/x.H flstring.h ../config.h
+fl_open_uri.o: ../FL/filename.H flstring.h ../FL/Fl_Export.H ../config.h
+fl_oval_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_oval_box.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_oval_box.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H
+fl_overlay.o: ../FL/x.H ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_overlay.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Xutf8.h
+fl_overlay.o: ../FL/fl_draw.H
+fl_overlay_visual.o: ../config.h
+fl_plastic.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_plastic.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_plastic.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h
+fl_plastic.o: ../config.h
+fl_read_image.o: ../FL/x.H ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_read_image.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Xutf8.h ../FL/Fl.H
+fl_read_image.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_read_image.o: ../FL/fl_draw.H flstring.h ../config.h
+fl_rect.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_rect.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_rect.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Widget.H
+fl_rect.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H
+fl_round_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_round_box.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_round_box.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H
+fl_rounded_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_rounded_box.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_rounded_box.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+fl_rounded_box.o: ../FL/Fl_Window.H
+fl_set_font.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_set_font.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_set_font.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H
+fl_set_font.o: flstring.h ../config.h Fl_Font.H ../FL/Xutf8.h
+fl_set_fonts.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_set_fonts.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_set_fonts.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H Fl_Font.H
+fl_set_fonts.o: ../config.h ../FL/Xutf8.h flstring.h fl_set_fonts_x.cxx
+fl_scroll_area.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_scroll_area.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_scroll_area.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H
+fl_scroll_area.o: ../FL/Fl_Window.H ../FL/fl_draw.H
+fl_shadow_box.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_shadow_box.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_shadow_box.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/fl_draw.H
+fl_shadow_box.o: ../FL/Fl_Window.H
+fl_shortcut.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_shortcut.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_shortcut.o: ../FL/fl_types.h ../FL/Fl_Widget.H ../FL/Fl_Button.H
+fl_shortcut.o: ../FL/Fl_Widget.H ../FL/fl_draw.H ../FL/Fl_Window.H flstring.h
+fl_shortcut.o: ../config.h ../FL/x.H
+fl_show_colormap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_show_colormap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fl_show_colormap.o: ../FL/Fl_Export.H ../FL/fl_types.h
+fl_show_colormap.o: ../FL/Fl_Single_Window.H ../FL/Fl_Window.H
+fl_show_colormap.o: ../FL/fl_draw.H ../FL/fl_show_colormap.H ../config.h
+fl_symbols.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fl_symbols.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fl_symbols.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/math.h
+fl_symbols.o: flstring.h ../config.h
+fl_vertex.o: ../config.h ../FL/fl_draw.H ../FL/Enumerations.H
+fl_vertex.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H ../FL/x.H
+fl_vertex.o: ../FL/Xutf8.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fl_vertex.o: ../FL/fl_types.h ../FL/math.h
+screen_xywh.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+screen_xywh.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+screen_xywh.o: ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H ../config.h
+fl_utf8.o: ../config.h ../FL/filename.H ../FL/Xutf8.h ../FL/fl_utf8.h
+forms_compatability.o: ../FL/forms.H ../FL/Fl.H ../FL/fl_utf8.h
+forms_compatability.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+forms_compatability.o: ../FL/Enumerations.H ../FL/Fl_Export.H
+forms_compatability.o: ../FL/fl_types.h ../FL/Fl_Group.H ../FL/Fl_Widget.H
+forms_compatability.o: ../FL/Fl_Window.H ../FL/fl_draw.H
+forms_compatability.o: ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H
+forms_compatability.o: ../FL/Fl_Image.H ../FL/Fl_FormsPixmap.H
+forms_compatability.o: ../FL/Fl_Pixmap.H ../FL/Fl_Box.H ../FL/Fl_Browser.H
+forms_compatability.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
+forms_compatability.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl.H
+forms_compatability.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H
+forms_compatability.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H
+forms_compatability.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+forms_compatability.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H
+forms_compatability.o: ../FL/Fl_Counter.H ../FL/Fl_Dial.H ../FL/Fl_Free.H
+forms_compatability.o: ../FL/fl_ask.H ../FL/fl_show_colormap.H
+forms_compatability.o: ../FL/filename.H ../FL/Fl_File_Chooser.H
+forms_compatability.o: ../FL/Fl_Double_Window.H ../FL/Fl_Group.H
+forms_compatability.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H
+forms_compatability.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H
+forms_compatability.o: ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H
+forms_compatability.o: ../FL/Fl_File_Icon.H ../FL/Fl_Box.H
+forms_compatability.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H
+forms_compatability.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H
+forms_compatability.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H
+forms_compatability.o: ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H
+forms_compatability.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H
+forms_compatability.o: ../FL/Fl_Timer.H ../FL/Fl_Repeat_Button.H
+forms_bitmap.o: ../FL/forms.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+forms_bitmap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+forms_bitmap.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H
+forms_bitmap.o: ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H
+forms_bitmap.o: ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H
+forms_bitmap.o: ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H
+forms_bitmap.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
+forms_bitmap.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl.H
+forms_bitmap.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H
+forms_bitmap.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H
+forms_bitmap.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+forms_bitmap.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H
+forms_bitmap.o: ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H
+forms_bitmap.o: ../FL/fl_show_colormap.H ../FL/filename.H
+forms_bitmap.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H
+forms_bitmap.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H
+forms_bitmap.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
+forms_bitmap.o: ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H ../FL/Fl_Box.H
+forms_bitmap.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H
+forms_bitmap.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H
+forms_bitmap.o: ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H
+forms_bitmap.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H
+forms_bitmap.o: ../FL/Fl_Timer.H
+forms_free.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+forms_free.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+forms_free.o: ../FL/fl_types.h ../FL/Fl_Free.H ../FL/Fl_Widget.H
+forms_fselect.o: ../FL/forms.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+forms_fselect.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+forms_fselect.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H
+forms_fselect.o: ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H
+forms_fselect.o: ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H
+forms_fselect.o: ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H
+forms_fselect.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
+forms_fselect.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl.H
+forms_fselect.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H
+forms_fselect.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H
+forms_fselect.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+forms_fselect.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H
+forms_fselect.o: ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H
+forms_fselect.o: ../FL/fl_show_colormap.H ../FL/filename.H
+forms_fselect.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H
+forms_fselect.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H
+forms_fselect.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
+forms_fselect.o: ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H ../FL/Fl_Box.H
+forms_fselect.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H
+forms_fselect.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H
+forms_fselect.o: ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H
+forms_fselect.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H
+forms_fselect.o: ../FL/Fl_Timer.H flstring.h ../config.h
+forms_pixmap.o: ../FL/forms.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+forms_pixmap.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+forms_pixmap.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Group.H
+forms_pixmap.o: ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H
+forms_pixmap.o: ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H
+forms_pixmap.o: ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H
+forms_pixmap.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
+forms_pixmap.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl.H
+forms_pixmap.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H
+forms_pixmap.o: ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H
+forms_pixmap.o: ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+forms_pixmap.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H
+forms_pixmap.o: ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H
+forms_pixmap.o: ../FL/fl_show_colormap.H ../FL/filename.H
+forms_pixmap.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H
+forms_pixmap.o: ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_Button.H
+forms_pixmap.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
+forms_pixmap.o: ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H ../FL/Fl_Box.H
+forms_pixmap.o: ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H
+forms_pixmap.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H
+forms_pixmap.o: ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H
+forms_pixmap.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H
+forms_pixmap.o: ../FL/Fl_Timer.H
+forms_timer.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+forms_timer.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+forms_timer.o: ../FL/fl_types.h ../FL/Fl_Timer.H ../FL/Fl_Widget.H
+forms_timer.o: ../FL/fl_draw.H ../FL/Fl_Window.H
+Fl_Gl_Choice.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Gl_Choice.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Gl_Choice.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H
+Fl_Gl_Choice.o: ../FL/Fl_Window.H Fl_Gl_Choice.H ../FL/gl_draw.H ../FL/gl.h
+Fl_Gl_Choice.o: flstring.h ../FL/fl_utf8.h
+Fl_Gl_Overlay.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Gl_Overlay.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_Gl_Overlay.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H
+Fl_Gl_Overlay.o: ../FL/Fl_Window.H Fl_Gl_Choice.H ../FL/Fl_Gl_Window.H
+Fl_Gl_Window.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H
+Fl_Gl_Window.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Gl_Window.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Gl_Window.o: ../FL/x.H ../FL/Fl_Window.H Fl_Gl_Choice.H
+Fl_Gl_Window.o: ../FL/Fl_Gl_Window.H ../FL/fl_utf8.h
+freeglut_geometry.o: ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
+freeglut_geometry.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H
+freeglut_geometry.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+freeglut_geometry.o: ../FL/Xutf8.h ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
+freeglut_geometry.o: ../FL/math.h
+freeglut_stroke_mono_roman.o: ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
+freeglut_stroke_mono_roman.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H
+freeglut_stroke_mono_roman.o: ../FL/fl_utf8.h ../FL/Fl_Export.H
+freeglut_stroke_mono_roman.o: ../FL/fl_types.h ../FL/Xutf8.h
+freeglut_stroke_mono_roman.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
+freeglut_stroke_roman.o: ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
+freeglut_stroke_roman.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H
+freeglut_stroke_roman.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+freeglut_stroke_roman.o: ../FL/Xutf8.h ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
+freeglut_teapot.o: ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
+freeglut_teapot.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H
+freeglut_teapot.o: ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+freeglut_teapot.o: ../FL/Xutf8.h ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
+freeglut_teapot.o: freeglut_teapot_data.h
+gl_draw.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/Fl.H
+gl_draw.o: ../FL/fl_utf8.h ../FL/fl_types.h ../FL/Xutf8.h
+gl_draw.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h ../FL/gl.h
+gl_draw.o: ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H Fl_Gl_Choice.H
+gl_draw.o: Fl_Font.H ../FL/Xutf8.h ../FL/fl_utf8.h
+gl_start.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+gl_start.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+gl_start.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H
+gl_start.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/x.H ../FL/Fl_Window.H
+gl_start.o: ../FL/fl_draw.H Fl_Gl_Choice.H
+glut_compatability.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/glut.H
+glut_compatability.o: ../FL/gl.h ../FL/Enumerations.H ../FL/Fl_Export.H
+glut_compatability.o: ../FL/fl_types.h ../FL/Fl.H ../FL/fl_utf8.h
+glut_compatability.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Fl_Gl_Window.H
+glut_compatability.o: ../FL/Fl_Window.H ../FL/Fl_Menu_Item.H
+glut_compatability.o: ../FL/Fl_Widget.H ../FL/Fl_Image.H
+glut_font.o: ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
+glut_font.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H ../FL/fl_utf8.h
+glut_font.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+glut_font.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
+fl_images_core.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
+fl_images_core.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+fl_images_core.o: ../FL/Fl_BMP_Image.H ../FL/Fl_GIF_Image.H ../FL/Fl_Pixmap.H
+fl_images_core.o: ../FL/Fl_JPEG_Image.H ../FL/Fl_PNG_Image.H
+fl_images_core.o: ../FL/Fl_PNM_Image.H flstring.h ../FL/Fl_Export.H
+fl_images_core.o: ../config.h
+Fl_BMP_Image.o: ../FL/Fl_BMP_Image.H ../FL/Fl_Image.H ../FL/Enumerations.H
+Fl_BMP_Image.o: ../FL/Fl_Export.H ../FL/fl_types.h ../config.h
+Fl_File_Icon2.o: ../FL/fl_utf8.h flstring.h ../FL/Fl_Export.H ../config.h
+Fl_File_Icon2.o: ../FL/math.h ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/fl_utf8.h
+Fl_File_Icon2.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+Fl_File_Icon2.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Shared_Image.H
+Fl_File_Icon2.o: ../FL/Fl_Image.H ../FL/Fl_Widget.H ../FL/fl_draw.H
+Fl_File_Icon2.o: ../FL/Fl_Window.H ../FL/filename.H
+Fl_GIF_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_GIF_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_GIF_Image.o: ../FL/fl_types.h ../FL/Fl_GIF_Image.H ../FL/Fl_Pixmap.H
+Fl_GIF_Image.o: ../FL/Fl_Image.H ../FL/fl_utf8.h flstring.h ../config.h
+Fl_Help_Dialog.o: ../FL/Fl_Help_Dialog.H ../FL/Fl.H ../FL/fl_utf8.h
+Fl_Help_Dialog.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+Fl_Help_Dialog.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_Help_Dialog.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+Fl_Help_Dialog.o: ../FL/Fl_Button.H ../FL/Fl_Widget.H ../FL/Fl_Input.H
+Fl_Help_Dialog.o: ../FL/Fl_Input_.H ../FL/Fl_Box.H ../FL/Fl_Help_View.H
+Fl_Help_Dialog.o: ../FL/Fl.H ../FL/Fl_Group.H ../FL/Fl_Scrollbar.H
+Fl_Help_Dialog.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+Fl_Help_Dialog.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H flstring.h
+Fl_Help_Dialog.o: ../config.h ../FL/fl_ask.H
+Fl_JPEG_Image.o: ../FL/Fl_JPEG_Image.H ../FL/Fl_Image.H ../FL/Enumerations.H
+Fl_JPEG_Image.o: ../FL/Fl_Export.H ../FL/fl_types.h ../config.h
+Fl_PNG_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_PNG_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_PNG_Image.o: ../FL/fl_types.h ../FL/Fl_PNG_Image.H ../FL/Fl_Image.H
+Fl_PNG_Image.o: ../config.h ../FL/fl_utf8.h
+Fl_PNM_Image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+Fl_PNM_Image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+Fl_PNM_Image.o: ../FL/fl_types.h ../FL/Fl_PNM_Image.H ../FL/Fl_Image.H
+Fl_PNM_Image.o: ../FL/fl_utf8.h flstring.h ../config.h
+flstring.o: flstring.h ../FL/Fl_Export.H ../config.h
+scandir.o: flstring.h ../FL/Fl_Export.H ../config.h ../FL/fl_utf8.h
+numericsort.o: ../config.h ../FL/filename.H
+vsnprintf.o: flstring.h ../FL/Fl_Export.H ../config.h
+fl_utf.o: ../FL/fl_utf8.h
+xutf8/case.o: xutf8/headers/case.h
+xutf8/is_spacing.o: xutf8/headers/spacing.h
+xutf8/keysym2Ucs.o: ../FL/Xutf8.h xutf8/imKStoUCS.c xutf8/Xlibint.h
+xutf8/keysym2Ucs.o: xutf8/Ximint.h
+xutf8/utf8Input.o: ../config.h ../FL/Xutf8.h xutf8/lcUniConv/big5.h
+xutf8/utf8Input.o: xutf8/lcUniConv/gb2312.h xutf8/lcUniConv/jisx0201.h
+xutf8/utf8Input.o: xutf8/lcUniConv/jisx0208.h xutf8/lcUniConv/jisx0212.h
+xutf8/utf8Input.o: xutf8/lcUniConv/ksc5601.h
+xutf8/utf8Utils.o: ../FL/Xutf8.h
+xutf8/utf8Wrap.o: ../FL/Xutf8.h xutf8/ucs2fontmap.c xutf8/lcUniConv/big5.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/gb2312.h xutf8/lcUniConv/iso8859_10.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_11.h xutf8/lcUniConv/iso8859_13.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_14.h xutf8/lcUniConv/iso8859_15.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_2.h xutf8/lcUniConv/iso8859_3.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_4.h xutf8/lcUniConv/iso8859_5.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_6.h xutf8/lcUniConv/iso8859_7.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/iso8859_8.h xutf8/lcUniConv/iso8859_9.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/jisx0201.h xutf8/lcUniConv/jisx0208.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/jisx0212.h xutf8/lcUniConv/koi8_r.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/koi8_u.h xutf8/lcUniConv/ksc5601.h
+xutf8/utf8Wrap.o: xutf8/lcUniConv/cp1251.h xutf8/headers/symbol_.h
+xutf8/utf8Wrap.o: xutf8/headers/dingbats_.h
diff --git a/test/Makefile b/test/Makefile
index 1901fc9ad..1f8b91aad 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -95,6 +95,7 @@ CPPFILES =\
threads.cxx \
tile.cxx \
tiled_image.cxx \
+ tree.cxx \
valuators.cxx \
utf8.cxx
@@ -158,6 +159,7 @@ ALL = \
$(THREADS) \
tile$(EXEEXT) \
tiled_image$(EXEEXT) \
+ tree$(EXEEXT) \
valuators$(EXEEXT) \
cairotest$(EXEEXT) \
utf8$(EXEEXT)
@@ -420,6 +422,8 @@ sudoku.exe: sudoku.o sudoku.rc
symbols$(EXEEXT): symbols.o
+table$(EXEEXT): table.o
+
tabs$(EXEEXT): tabs.o
tabs.cxx: tabs.fl ../fluid/fluid$(EXEEXT)
@@ -432,6 +436,8 @@ tile$(EXEEXT): tile.o
tiled_image$(EXEEXT): tiled_image.o
+tree$(EXEEXT): tree.o
+
valuators$(EXEEXT): valuators.o
valuators.cxx: valuators.fl ../fluid/fluid$(EXEEXT)
diff --git a/test/demo.menu b/test/demo.menu
index 0606d6b02..6ac3b78de 100644
--- a/test/demo.menu
+++ b/test/demo.menu
@@ -21,6 +21,7 @@
@x:more...:@xm
@xm:Fl_Menu:menubar
@xm:Fl_Table:table
+ @xm:Fl_Tree:tree
@main:Window\nTests:@w
@w:overlay:overlay
diff --git a/test/makedepend b/test/makedepend
index 167b25d8f..d7ae903ec 100644
--- a/test/makedepend
+++ b/test/makedepend
@@ -1,388 +1,535 @@
# DO NOT DELETE THIS LINE -- make depend depends on it.
-unittests.o: unittests.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/x.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Box.H \
- ../FL/fl_draw.H
-adjuster.o: adjuster.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Adjuster.H ../FL/Fl_Valuator.H ../FL/Fl_Box.H
-arc.o: arc.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
-ask.o: ask.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H \
- ../FL/Fl_Button.H ../FL/fl_ask.H
-bitmap.o: bitmap.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
- ../FL/Fl_Bitmap.H ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H \
- ../FL/Fl_Button.H
-blocks.o: blocks.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H ../FL/Fl_Image.H \
- ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H ../FL/Fl_Tiled_Image.H \
- ../FL/fl_draw.H ../FL/x.H ../config.h pixmaps/blast.xpm pixmaps/red.xpm \
- pixmaps/red_bomb.xpm pixmaps/green.xpm pixmaps/green_bomb.xpm \
- pixmaps/blue.xpm pixmaps/blue_bomb.xpm pixmaps/yellow.xpm \
- pixmaps/yellow_bomb.xpm pixmaps/cyan.xpm pixmaps/cyan_bomb.xpm \
- pixmaps/magenta.xpm pixmaps/magenta_bomb.xpm pixmaps/gray.xpm \
- pixmaps/gray_bomb.xpm
-boxtype.o: boxtype.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Box.H
-browser.o: browser.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Select_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Button.H ../FL/Fl_Int_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_ask.H
-button.o: button.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
-buttons.o: buttons.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
- ../FL/Fl_Return_Button.H ../FL/Fl_Button.H ../FL/Fl_Repeat_Button.H \
- ../FL/Fl.H ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Tooltip.H \
- ../FL/Fl_Widget.H
-checkers.o: checkers.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \
- ../FL/fl_draw.H ../FL/Fl_Menu_Item.H ../FL/fl_ask.H pixmaps/black_1.xbm \
- pixmaps/black_2.xbm pixmaps/black_3.xbm pixmaps/black_4.xbm \
- pixmaps/white_1.xbm pixmaps/white_2.xbm pixmaps/white_3.xbm \
- pixmaps/white_4.xbm pixmaps/blackking_1.xbm pixmaps/blackking_2.xbm \
- pixmaps/blackking_3.xbm pixmaps/blackking_4.xbm pixmaps/whiteking_1.xbm \
- pixmaps/whiteking_2.xbm pixmaps/whiteking_3.xbm pixmaps/whiteking_4.xbm \
- ../FL/Fl_Box.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Value_Output.H
-clock.o: clock.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Clock.H \
- ../FL/Fl_Round_Clock.H ../FL/Fl_Clock.H
-colbrowser.o: colbrowser.cxx ../FL/forms.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/fl_draw.H \
- ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H ../FL/Fl_Image.H \
- ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H ../FL/Fl_Box.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Chart.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H ../FL/Fl_Counter.H \
- ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H ../FL/fl_show_colormap.H \
- ../FL/filename.H ../FL/Fl_File_Chooser.H ../FL/Fl.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \
- ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H
-color_chooser.o: color_chooser.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/fl_show_colormap.H \
- ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H ../FL/Fl_Return_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Value_Input.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Image.H \
- ../FL/x.H ../FL/Fl_Window.H ../FL/fl_draw.H list_visuals.cxx \
- ../config.h
-cube.o: cube.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/Fl_Radio_Light_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/gl.h
-CubeMain.o: CubeMain.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H CubeViewUI.h ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \
- ../FL/Fl_Roller.H ../FL/Fl_Valuator.H ../FL/Fl_Slider.H ../FL/Fl_Box.H \
- CubeView.h ../config.h ../FL/Fl_Gl_Window.H ../FL/gl.h \
- ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H
-CubeView.o: CubeView.cxx CubeView.h ../config.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Gl_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/gl.h
-cursor.o: cursor.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/Fl_Box.H
-curve.o: curve.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H \
- ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
-demo.o: demo.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H \
- ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/filename.H ../FL/x.H \
- ../FL/Fl_Window.H
-doublebuffer.o: doublebuffer.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Box.H ../FL/fl_draw.H ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/math.h
-editor.o: editor.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/fl_ask.H \
- ../FL/Fl_File_Chooser.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H \
- ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H ../FL/Fl_Box.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Return_Button.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Text_Buffer.H \
- ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H \
- ../FL/Fl_Text_Buffer.H
-fast_slow.o: fast_slow.cxx fast_slow.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Box.H
-file_chooser.o: file_chooser.cxx ../FL/Fl_File_Chooser.H ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H \
- ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_Preferences.H ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H \
- ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H ../FL/Fl_File_Icon.H ../FL/Fl_Shared_Image.H \
- ../FL/Fl_PNM_Image.H ../FL/Fl_Light_Button.H
-fonts.o: fonts.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Hold_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/fl_draw.H ../FL/Fl_Box.H ../FL/fl_ask.H
-forms.o: forms.cxx ../FL/forms.H ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Window.H \
- ../FL/fl_draw.H ../FL/Fl_FormsBitmap.H ../FL/Fl_Bitmap.H \
- ../FL/Fl_Image.H ../FL/Fl_FormsPixmap.H ../FL/Fl_Pixmap.H \
- ../FL/Fl_Box.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Chart.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H \
- ../FL/Fl_Counter.H ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H \
- ../FL/fl_show_colormap.H ../FL/filename.H ../FL/Fl_File_Chooser.H \
- ../FL/Fl.H ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H \
- ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H \
- ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H \
- pixmaps/srs.xbm
-fractals.o: fractals.cxx ../config.h ../FL/glut.H ../FL/gl.h \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/glu.h \
- fracviewer.h ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/Fl_Window.H
-fullscreen.o: fullscreen.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Hor_Slider.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Toggle_Light_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/math.h ../FL/gl.h \
- ../FL/Fl_Gl_Window.H
-gl_overlay.o: gl_overlay.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/math.h ../FL/gl.h \
- ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
-glpuzzle.o: glpuzzle.cxx ../config.h ../FL/glut.H ../FL/gl.h \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl.H ../FL/Fl_Gl_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/glu.h \
- trackball.c trackball.h
-hello.o: hello.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H \
- ../FL/filename.H
-help.o: help.cxx ../FL/Fl_Help_Dialog.H ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Button.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Box.H ../FL/Fl_Help_View.H \
- ../FL/Fl.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/fl_draw.H ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
-iconize.o: iconize.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
- ../FL/Fl_Box.H
-image.o: image.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
- ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/x.H \
- ../FL/Fl_Window.H list_visuals.cxx ../config.h
-inactive.o: inactive.cxx inactive.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Check_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H ../FL/Fl_Value_Output.H ../FL/Fl_Box.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Roller.H \
- ../FL/Fl_Dial.H ../FL/Fl_Clock.H
-input.o: input.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Float_Input.H ../FL/Fl_Input.H \
- ../FL/Fl_Int_Input.H ../FL/Fl_Secret_Input.H ../FL/Fl_Multiline_Input.H \
- ../FL/Fl_Button.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H ../FL/Fl_Box.H \
- ../FL/Fl_Return_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Value_Input.H \
- ../FL/Fl_Valuator.H
-input_choice.o: input_choice.cxx ../FL/Fl_Button.H ../FL/Fl_Widget.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Input_Choice.H ../FL/Fl.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H
-keyboard.o: keyboard.cxx keyboard_ui.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H keyboard.h ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Output.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Box.H ../FL/Fl_Dial.H ../FL/Fl_Valuator.H
-label.o: label.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Hor_Value_Slider.H \
- ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H
-line_style.o: line_style.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/fl_draw.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H
-list_visuals.o: list_visuals.cxx ../config.h
-mandelbrot.o: mandelbrot.cxx mandelbrot_ui.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H mandelbrot.h ../FL/Fl_Box.H \
- ../FL/Fl_Widget.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/fl_draw.H
-menubar.o: menubar.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Box.H ../FL/Fl_Widget.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H \
- ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_Menu_Button.H ../FL/Fl_Choice.H ../src/flstring.h \
- ../FL/Fl_Export.H ../config.h ../FL/fl_draw.H
-message.o: message.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_ask.H
-minimum.o: minimum.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Box.H ../FL/Fl_Return_Button.H \
- ../FL/Fl_Button.H
-navigation.o: navigation.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H
-output.o: output.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H ../FL/Fl_Widget.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Box.H ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H \
- ../FL/Fl_Slider.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_Input.H ../FL/fl_draw.H ../FL/Fl_Output.H \
- ../FL/Fl_Multiline_Output.H ../FL/Fl_Output.H
-overlay.o: overlay.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Overlay_Window.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Button.H ../FL/fl_draw.H
-pack.o: pack.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Button.H ../FL/Fl_Widget.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Scroll.H \
- ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/Fl_Value_Slider.H ../FL/Fl_Pack.H ../FL/Fl_Group.H
-pixmap_browser.o: pixmap_browser.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Box.H ../FL/Fl_Widget.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Button.H ../FL/Fl_Shared_Image.H \
- ../FL/Fl_Image.H ../FL/Fl_File_Chooser.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Menu_Button.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H \
- ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H \
- ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/fl_message.H \
- ../FL/fl_ask.H
-pixmap.o: pixmap.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
- ../FL/Fl_Pixmap.H ../FL/Fl_Image.H pixmaps/porsche.xpm \
- ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Multi_Label.H
-preferences.o: preferences.cxx preferences.h ../FL/Fl.H \
- ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/Fl_Preferences.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/Fl_Input.H \
- ../FL/Fl_Input_.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Round_Button.H \
- ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Box.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/filename.H ../FL/fl_ask.H
-radio.o: radio.cxx radio.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H \
- ../FL/Fl_Return_Button.H ../FL/Fl_Button.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H \
- ../FL/Fl_Group.H
-resizebox.o: resizebox.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Single_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H \
- ../FL/Fl_Radio_Button.H ../FL/Fl_Button.H ../FL/fl_draw.H \
- ../FL/fl_message.H ../FL/fl_ask.H
-resize.o: resize.cxx resize.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Box.H
-scroll.o: scroll.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Scroll.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Light_Button.H \
- ../FL/Fl_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H \
- ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Box.H ../FL/fl_draw.H \
- ../FL/math.h
-shape.o: shape.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H \
- ../FL/math.h ../FL/gl.h ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
-subwindow.o: subwindow.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Menu_Button.H \
- ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Box.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H
-sudoku.o: sudoku.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Enumerations.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/fl_ask.H \
- ../FL/fl_draw.H ../FL/Fl_Help_Dialog.H ../FL/Fl_Double_Window.H \
- ../FL/Fl_Window.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Box.H \
- ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/fl_draw.H ../FL/Fl_Shared_Image.H \
- ../FL/Fl_Image.H ../FL/Fl_Preferences.H ../FL/Fl_Sys_Menu_Bar.H \
- ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/x.H \
- ../FL/math.h pixmaps/sudoku.xbm ../config.h
-symbols.o: symbols.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Single_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Value_Slider.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
-tabs.o: tabs.cxx tabs.h ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Tabs.H ../FL/Fl_Group.H \
- ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Button.H ../FL/fl_ask.H \
- ../FL/Fl_Clock.H ../FL/Fl_Wizard.H ../FL/Fl_Return_Button.H \
- ../FL/Fl_Button.H
-threads.o: threads.cxx ../config.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H \
- ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Value_Output.H threads.h
-tile.o: tile.cxx ../FL/Fl.H ../FL/Enumerations.H ../FL/Fl_Export.H \
- ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H \
- ../FL/Fl_Widget.H ../FL/Fl_Tile.H ../FL/Fl_Box.H
-tiled_image.o: tiled_image.cxx ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H \
- ../FL/Fl_Button.H ../FL/Fl_Pixmap.H ../FL/Fl_Image.H \
- ../FL/Fl_Tiled_Image.H pixmaps/tile.xpm ../FL/x.H ../FL/Fl_Window.H \
- list_visuals.cxx ../config.h
-valuators.o: valuators.cxx valuators.h ../FL/Fl.H ../FL/Enumerations.H \
- ../FL/Fl_Export.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H \
- ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Slider.H \
- ../FL/Fl_Valuator.H ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H \
- ../FL/Fl_Value_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H \
- ../FL/Fl_Value_Output.H ../FL/Fl_Scrollbar.H ../FL/Fl_Adjuster.H \
- ../FL/Fl_Counter.H ../FL/Fl_Spinner.H ../FL/Enumerations.H \
- ../FL/Fl_Group.H ../FL/Fl_Input.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H \
- ../FL/Fl_Button.H ../FL/Fl_Dial.H ../FL/Fl_Roller.H
+
+unittests.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+unittests.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+unittests.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+unittests.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Hold_Browser.H
+unittests.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
+unittests.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Image.H
+unittests.o: ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/fl_draw.H
+unittests.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Group.H ../FL/Fl_Box.H
+unittests.o: ../FL/fl_draw.H unittest_about.cxx unittest_points.cxx
+unittests.o: unittest_lines.cxx unittest_rects.cxx unittest_circles.cxx
+unittests.o: unittest_text.cxx unittest_images.cxx unittest_viewport.cxx
+unittests.o: unittest_scrollbarsize.cxx ../FL/Fl_Browser.H
+unittests.o: ../FL/Fl_Value_Slider.H
+adjuster.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+adjuster.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+adjuster.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+adjuster.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Adjuster.H
+adjuster.o: ../FL/Fl_Valuator.H ../FL/Fl_Box.H
+arc.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+arc.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+arc.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+arc.o: ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H
+arc.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+ask.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+ask.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+ask.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+ask.o: ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Button.H
+ask.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H ../FL/fl_ask.H
+bitmap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+bitmap.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+bitmap.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+bitmap.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+bitmap.o: ../FL/Fl_Bitmap.H ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H
+bitmap.o: ../FL/Fl_Button.H
+blocks.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+blocks.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+blocks.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+blocks.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+blocks.o: ../FL/Fl_Preferences.H ../FL/Fl_XPM_Image.H ../FL/Fl_Pixmap.H
+blocks.o: ../FL/Fl_Image.H ../FL/Fl_XBM_Image.H ../FL/Fl_Bitmap.H
+blocks.o: ../FL/Fl_Tiled_Image.H ../FL/fl_draw.H ../FL/x.H ../config.h
+blocks.o: pixmaps/blast.xpm pixmaps/red.xpm pixmaps/red_bomb.xpm
+blocks.o: pixmaps/green.xpm pixmaps/green_bomb.xpm pixmaps/blue.xpm
+blocks.o: pixmaps/blue_bomb.xpm pixmaps/yellow.xpm pixmaps/yellow_bomb.xpm
+blocks.o: pixmaps/cyan.xpm pixmaps/cyan_bomb.xpm pixmaps/magenta.xpm
+blocks.o: pixmaps/magenta_bomb.xpm pixmaps/gray.xpm pixmaps/gray_bomb.xpm
+boxtype.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+boxtype.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+boxtype.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+boxtype.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H
+browser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+browser.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+browser.o: ../FL/fl_types.h ../FL/Fl_Select_Browser.H ../FL/Fl_Browser.H
+browser.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+browser.o: ../FL/Fl_Valuator.H ../FL/Fl_Image.H ../FL/Fl_Double_Window.H
+browser.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+browser.o: ../FL/Fl_Button.H ../FL/Fl_Int_Input.H ../FL/Fl_Input.H
+browser.o: ../FL/Fl_Input_.H ../FL/fl_ask.H
+button.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+button.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+button.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+button.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H
+buttons.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+buttons.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+buttons.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+buttons.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Return_Button.H
+buttons.o: ../FL/Fl_Button.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H
+buttons.o: ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H
+buttons.o: ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Tooltip.H
+buttons.o: ../FL/Fl_Widget.H
+cairo_test.o: ../config.h ../FL/fl_ask.H ../FL/Enumerations.H
+cairo_test.o: ../FL/Fl_Export.H ../FL/fl_types.h
+checkers.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+checkers.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+checkers.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+checkers.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Bitmap.H
+checkers.o: ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/Fl_Menu_Item.H
+checkers.o: ../FL/fl_ask.H pixmaps/black_1.xbm pixmaps/black_2.xbm
+checkers.o: pixmaps/black_3.xbm pixmaps/black_4.xbm pixmaps/white_1.xbm
+checkers.o: pixmaps/white_2.xbm pixmaps/white_3.xbm pixmaps/white_4.xbm
+checkers.o: pixmaps/blackking_1.xbm pixmaps/blackking_2.xbm
+checkers.o: pixmaps/blackking_3.xbm pixmaps/blackking_4.xbm
+checkers.o: pixmaps/whiteking_1.xbm pixmaps/whiteking_2.xbm
+checkers.o: pixmaps/whiteking_3.xbm pixmaps/whiteking_4.xbm ../FL/Fl_Box.H
+checkers.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Value_Output.H
+clock.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+clock.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+clock.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+clock.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Clock.H
+clock.o: ../FL/Fl_Round_Clock.H ../FL/Fl_Clock.H
+colbrowser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+colbrowser.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+colbrowser.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+colbrowser.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+colbrowser.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+colbrowser.o: ../FL/Fl_Hold_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+colbrowser.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Image.H ../FL/Fl_Box.H
+colbrowser.o: ../FL/fl_ask.H ../FL/filename.H
+color_chooser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+color_chooser.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+color_chooser.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H
+color_chooser.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H
+color_chooser.o: ../FL/Fl_Button.H ../FL/fl_show_colormap.H
+color_chooser.o: ../FL/Fl_Color_Chooser.H ../FL/Fl_Group.H
+color_chooser.o: ../FL/Fl_Return_Button.H ../FL/Fl_Button.H ../FL/Fl_Choice.H
+color_chooser.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+color_chooser.o: ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H ../FL/Fl_Input.H
+color_chooser.o: ../FL/Fl_Input_.H ../FL/Fl_Image.H ../FL/x.H
+color_chooser.o: ../FL/Fl_Window.H ../FL/fl_draw.H list_visuals.cxx
+color_chooser.o: ../config.h
+cube.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+cube.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+cube.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+cube.o: ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/Fl_Radio_Light_Button.H
+cube.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Slider.H
+cube.o: ../FL/Fl_Valuator.H ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/gl.h
+CubeMain.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+CubeMain.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+CubeMain.o: ../FL/Fl_Export.H ../FL/fl_types.h CubeViewUI.h
+CubeMain.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+CubeMain.o: ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Roller.H
+CubeMain.o: ../FL/Fl_Valuator.H ../FL/Fl_Slider.H ../FL/Fl_Box.H CubeView.h
+CubeMain.o: ../FL/Fl_Gl_Window.H ../FL/gl.h ../FL/Fl_Value_Slider.H
+CubeMain.o: ../FL/Fl_Slider.H
+CubeView.o: CubeView.h ../config.h ../FL/Fl.H ../FL/fl_utf8.h
+CubeView.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+CubeView.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+CubeView.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+CubeView.o: ../FL/Fl_Widget.H ../FL/gl.h
+cursor.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+cursor.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+cursor.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+cursor.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H
+cursor.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+cursor.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+cursor.o: ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/Fl_Box.H
+curve.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+curve.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+curve.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+curve.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Hor_Value_Slider.H
+curve.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+curve.o: ../FL/fl_draw.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
+demo.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+demo.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+demo.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+demo.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Button.H ../FL/Fl_Choice.H
+demo.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+demo.o: ../FL/filename.H ../FL/x.H
+doublebuffer.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+doublebuffer.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+doublebuffer.o: ../FL/fl_types.h ../FL/Fl_Single_Window.H ../FL/Fl_Window.H
+doublebuffer.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Double_Window.H
+doublebuffer.o: ../FL/Fl_Box.H ../FL/fl_draw.H ../FL/Fl_Hor_Slider.H
+doublebuffer.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/math.h
+editor.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+editor.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+editor.o: ../FL/fl_types.h ../FL/Fl_Group.H ../FL/Fl_Double_Window.H
+editor.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_ask.H
+editor.o: ../FL/Fl_File_Chooser.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+editor.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Menu_Button.H
+editor.o: ../FL/Fl_Button.H ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
+editor.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+editor.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+editor.o: ../FL/Fl_File_Icon.H ../FL/Fl.H ../FL/filename.H ../FL/Fl_Box.H
+editor.o: ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+editor.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+editor.o: ../FL/Fl_Return_Button.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Text_Buffer.H
+editor.o: ../FL/Fl_Text_Editor.H ../FL/Fl_Text_Display.H ../FL/fl_draw.H
+editor.o: ../FL/Fl_Text_Buffer.H
+fast_slow.o: fast_slow.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fast_slow.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fast_slow.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+fast_slow.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+fast_slow.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Box.H
+file_chooser.o: ../FL/Fl_File_Chooser.H ../FL/Fl.H ../FL/fl_utf8.h
+file_chooser.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Xutf8.h
+file_chooser.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+file_chooser.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+file_chooser.o: ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Choice.H
+file_chooser.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+file_chooser.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H
+file_chooser.o: ../FL/Fl_Preferences.H ../FL/Fl_Tile.H
+file_chooser.o: ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H
+file_chooser.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+file_chooser.o: ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H
+file_chooser.o: ../FL/filename.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
+file_chooser.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+file_chooser.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+file_chooser.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/Fl_File_Icon.H
+file_chooser.o: ../FL/Fl_Shared_Image.H ../FL/Fl_PNM_Image.H
+file_chooser.o: ../FL/Fl_Light_Button.H
+fonts.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+fonts.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+fonts.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+fonts.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Hold_Browser.H
+fonts.o: ../FL/Fl_Browser.H ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H
+fonts.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Image.H
+fonts.o: ../FL/fl_draw.H ../FL/Fl_Box.H ../FL/fl_ask.H
+forms.o: ../FL/forms.H ../FL/Fl.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+forms.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+forms.o: ../FL/Fl_Window.H ../FL/fl_draw.H ../FL/Fl_FormsBitmap.H
+forms.o: ../FL/Fl_Bitmap.H ../FL/Fl_Image.H ../FL/Fl_FormsPixmap.H
+forms.o: ../FL/Fl_Pixmap.H ../FL/Fl_Box.H ../FL/Fl_Browser.H
+forms.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+forms.o: ../FL/Fl_Valuator.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+forms.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Fl_Button.H
+forms.o: ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H
+forms.o: ../FL/Fl_Check_Button.H ../FL/Fl_Chart.H ../FL/Fl_Choice.H
+forms.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Clock.H
+forms.o: ../FL/Fl_Counter.H ../FL/Fl_Dial.H ../FL/Fl_Free.H ../FL/fl_ask.H
+forms.o: ../FL/fl_show_colormap.H ../FL/filename.H ../FL/Fl_File_Chooser.H
+forms.o: ../FL/Fl_Double_Window.H ../FL/Fl_Group.H ../FL/Fl_Choice.H
+forms.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Button.H ../FL/Fl_Preferences.H
+forms.o: ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_File_Icon.H
+forms.o: ../FL/Fl_Box.H ../FL/Fl_Check_Button.H ../FL/Fl_File_Input.H
+forms.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Return_Button.H
+forms.o: ../FL/fl_ask.H ../FL/Fl_Input.H ../FL/Fl_Menu_Button.H
+forms.o: ../FL/Fl_Positioner.H ../FL/Fl_Value_Slider.H ../FL/Fl_Timer.H
+forms.o: pixmaps/srs.xbm
+fractals.o: ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
+fractals.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H
+fractals.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+fractals.o: ../FL/Fl_Widget.H ../FL/glu.h fracviewer.h ../FL/Fl_Button.H
+fractals.o: ../FL/Fl_Group.H ../FL/Fl_Window.H
+fullscreen.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+fullscreen.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+fullscreen.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Single_Window.H
+fullscreen.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+fullscreen.o: ../FL/Fl_Hor_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+fullscreen.o: ../FL/Fl_Toggle_Light_Button.H ../FL/Fl_Light_Button.H
+fullscreen.o: ../FL/Fl_Button.H ../FL/math.h ../FL/gl.h ../FL/Fl_Gl_Window.H
+gl_overlay.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+gl_overlay.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+gl_overlay.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H
+gl_overlay.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Hor_Slider.H
+gl_overlay.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Toggle_Button.H
+gl_overlay.o: ../FL/Fl_Button.H ../FL/math.h ../FL/gl.h ../FL/Fl_Gl_Window.H
+gl_overlay.o: ../FL/Fl_Window.H
+glpuzzle.o: ../config.h ../FL/glut.H ../FL/gl.h ../FL/Enumerations.H
+glpuzzle.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl.H
+glpuzzle.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+glpuzzle.o: ../FL/Fl_Widget.H ../FL/glu.h trackball.c trackball.h
+hello.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+hello.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+hello.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+hello.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H
+help.o: ../FL/Fl_Help_Dialog.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+help.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+help.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+help.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Group.H ../FL/Fl_Button.H
+help.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Box.H
+help.o: ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/Fl_Scrollbar.H
+help.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+help.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H
+iconize.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+iconize.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+iconize.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+iconize.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Box.H
+image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+image.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+image.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+image.o: ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
+image.o: ../FL/x.H list_visuals.cxx ../config.h
+inactive.o: inactive.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+inactive.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+inactive.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+inactive.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+inactive.o: ../FL/Fl_Group.H ../FL/Fl_Button.H ../FL/Fl_Light_Button.H
+inactive.o: ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+inactive.o: ../FL/Fl_Round_Button.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+inactive.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Menu_Button.H
+inactive.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+inactive.o: ../FL/Fl_Value_Output.H ../FL/Fl_Box.H ../FL/Fl_Scrollbar.H
+inactive.o: ../FL/Fl_Slider.H ../FL/Fl_Roller.H ../FL/Fl_Dial.H
+inactive.o: ../FL/Fl_Clock.H
+input.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+input.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+input.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+input.o: ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+input.o: ../FL/Fl_Float_Input.H ../FL/Fl_Input.H ../FL/Fl_Int_Input.H
+input.o: ../FL/Fl_Secret_Input.H ../FL/Fl_Multiline_Input.H ../FL/Fl_Button.H
+input.o: ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Color_Chooser.H
+input.o: ../FL/Fl_Group.H ../FL/Fl_Box.H ../FL/Fl_Return_Button.H
+input.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+input.o: ../FL/Fl_Image.H ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H
+input_choice.o: ../FL/Fl_Button.H ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+input_choice.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Enumerations.H
+input_choice.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Input_Choice.H
+input_choice.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+input_choice.o: ../FL/Xutf8.h ../FL/Fl_Group.H ../FL/Fl_Input.H
+input_choice.o: ../FL/Fl_Input_.H ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H
+input_choice.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H
+keyboard.o: keyboard_ui.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+keyboard.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+keyboard.o: ../FL/Fl_Export.H ../FL/fl_types.h keyboard.h ../FL/Fl_Window.H
+keyboard.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+keyboard.o: ../FL/Fl_Output.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+keyboard.o: ../FL/Fl_Box.H ../FL/Fl_Dial.H
+label.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+label.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+label.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+label.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H
+label.o: ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H
+label.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Toggle_Button.H
+label.o: ../FL/Fl_Button.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+label.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+label.o: ../FL/Fl_Image.H ../FL/fl_draw.H
+line_style.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+line_style.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+line_style.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+line_style.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Value_Slider.H
+line_style.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+line_style.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+line_style.o: ../FL/Fl_Image.H ../FL/Fl_Check_Button.H
+line_style.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Box.H
+list_visuals.o: ../config.h
+mandelbrot.o: mandelbrot_ui.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+mandelbrot.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+mandelbrot.o: ../FL/Fl_Export.H ../FL/fl_types.h mandelbrot.h ../FL/Fl_Box.H
+mandelbrot.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Double_Window.H
+mandelbrot.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+mandelbrot.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/fl_draw.H
+menubar.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+menubar.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+menubar.o: ../FL/fl_types.h ../FL/Fl_Box.H ../FL/Fl_Double_Window.H
+menubar.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+menubar.o: ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+menubar.o: ../FL/Fl_Image.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
+menubar.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Choice.H ../src/flstring.h
+menubar.o: ../config.h ../FL/fl_draw.H
+message.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+message.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+message.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+message.o: ../FL/Fl_Widget.H ../FL/fl_ask.H
+minimum.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+minimum.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+minimum.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+minimum.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Slider.H
+minimum.o: ../FL/Fl_Valuator.H ../FL/Fl_Box.H ../FL/Fl_Return_Button.H
+minimum.o: ../FL/Fl_Button.H
+navigation.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+navigation.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+navigation.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+navigation.o: ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+output.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+output.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+output.o: ../FL/fl_types.h ../FL/Fl_Value_Input.H ../FL/Fl_Valuator.H
+output.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Double_Window.H
+output.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H
+output.o: ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H
+output.o: ../FL/Fl_Slider.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
+output.o: ../FL/Fl_Input.H ../FL/fl_draw.H ../FL/Fl_Output.H
+output.o: ../FL/Fl_Multiline_Output.H ../FL/Fl_Output.H
+overlay.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+overlay.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+overlay.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+overlay.o: ../FL/Fl_Widget.H ../FL/Fl_Overlay_Window.H
+overlay.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Button.H
+overlay.o: ../FL/fl_draw.H
+pack.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+pack.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+pack.o: ../FL/Fl_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Double_Window.H
+pack.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+pack.o: ../FL/Fl_Scroll.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+pack.o: ../FL/Fl_Valuator.H ../FL/Fl_Value_Slider.H ../FL/Fl_Pack.H
+pack.o: ../FL/Fl_Group.H
+pixmap_browser.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+pixmap_browser.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+pixmap_browser.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Box.H
+pixmap_browser.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+pixmap_browser.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Shared_Image.H
+pixmap_browser.o: ../FL/Fl_Image.H ../FL/Fl_File_Chooser.H ../FL/Fl_Group.H
+pixmap_browser.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+pixmap_browser.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Preferences.H
+pixmap_browser.o: ../FL/Fl_Tile.H ../FL/Fl_File_Browser.H ../FL/Fl_Browser.H
+pixmap_browser.o: ../FL/Fl_Browser_.H ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H
+pixmap_browser.o: ../FL/Fl_Valuator.H ../FL/Fl_File_Icon.H ../FL/Fl.H
+pixmap_browser.o: ../FL/filename.H ../FL/Fl_Check_Button.H
+pixmap_browser.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+pixmap_browser.o: ../FL/Fl_File_Input.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+pixmap_browser.o: ../FL/Fl_Return_Button.H ../FL/fl_ask.H ../FL/fl_message.H
+pixmap_browser.o: ../FL/fl_ask.H
+pixmap.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+pixmap.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+pixmap.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+pixmap.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+pixmap.o: ../FL/Fl_Pixmap.H ../FL/Fl_Image.H pixmaps/porsche.xpm
+pixmap.o: ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Multi_Label.H
+preferences.o: preferences.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+preferences.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+preferences.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Preferences.H
+preferences.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+preferences.o: ../FL/Fl_Widget.H ../FL/Fl_Button.H ../FL/Fl_Group.H
+preferences.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Choice.H
+preferences.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+preferences.o: ../FL/Fl_Round_Button.H ../FL/Fl_Light_Button.H
+preferences.o: ../FL/Fl_Button.H ../FL/Fl_Box.H ../FL/Fl_Check_Button.H
+preferences.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+preferences.o: ../FL/filename.H ../FL/fl_ask.H
+radio.o: radio.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+radio.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+radio.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+radio.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+radio.o: ../FL/Fl_Button.H ../FL/Fl_Return_Button.H ../FL/Fl_Button.H
+radio.o: ../FL/Fl_Light_Button.H ../FL/Fl_Check_Button.H
+radio.o: ../FL/Fl_Light_Button.H ../FL/Fl_Round_Button.H ../FL/Fl_Group.H
+radio.o: ../FL/Fl_Output.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+resizebox.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+resizebox.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+resizebox.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+resizebox.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H
+resizebox.o: ../FL/Fl_Radio_Button.H ../FL/Fl_Button.H ../FL/fl_draw.H
+resizebox.o: ../FL/fl_message.H ../FL/fl_ask.H
+resize.o: resize.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+resize.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+resize.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+resize.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+resize.o: ../FL/Fl_Button.H ../FL/Fl_Box.H
+rotated_text.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+rotated_text.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+rotated_text.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+rotated_text.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H
+rotated_text.o: ../FL/Fl_Hor_Value_Slider.H ../FL/Fl_Value_Slider.H
+rotated_text.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+rotated_text.o: ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H ../FL/Fl_Input.H
+rotated_text.o: ../FL/Fl_Input_.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+rotated_text.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/fl_draw.H
+scroll.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+scroll.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+scroll.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+scroll.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Scroll.H
+scroll.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+scroll.o: ../FL/Fl_Light_Button.H ../FL/Fl_Choice.H ../FL/Fl_Menu_.H
+scroll.o: ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H ../FL/Fl_Box.H
+scroll.o: ../FL/fl_draw.H ../FL/math.h
+shape.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+shape.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+shape.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Window.H
+shape.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Hor_Slider.H
+shape.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/math.h ../FL/gl.h
+shape.o: ../FL/Fl_Gl_Window.H ../FL/Fl_Window.H
+subwindow.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+subwindow.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+subwindow.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+subwindow.o: ../FL/Fl_Widget.H ../FL/Fl_Toggle_Button.H ../FL/Fl_Button.H
+subwindow.o: ../FL/Fl_Menu_Button.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+subwindow.o: ../FL/Fl_Image.H ../FL/Fl_Box.H ../FL/Fl_Input.H
+subwindow.o: ../FL/Fl_Input_.H
+sudoku.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+sudoku.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+sudoku.o: ../FL/fl_types.h ../FL/Enumerations.H ../FL/Fl_Double_Window.H
+sudoku.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+sudoku.o: ../FL/Fl_Button.H ../FL/Fl_Group.H ../FL/fl_ask.H ../FL/fl_draw.H
+sudoku.o: ../FL/Fl_Help_Dialog.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+sudoku.o: ../FL/Fl_Box.H ../FL/Fl_Help_View.H ../FL/Fl.H ../FL/Fl_Scrollbar.H
+sudoku.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/fl_draw.H
+sudoku.o: ../FL/Fl_Shared_Image.H ../FL/Fl_Image.H ../FL/Fl_Preferences.H
+sudoku.o: ../FL/Fl_Sys_Menu_Bar.H ../FL/Fl_Menu_Bar.H ../FL/Fl_Menu_.H
+sudoku.o: ../FL/Fl_Menu_Item.H ../FL/x.H ../FL/math.h pixmaps/sudoku.xbm
+sudoku.o: ../config.h
+symbols.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+symbols.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+symbols.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+symbols.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Box.H
+symbols.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+symbols.o: ../FL/fl_draw.H
+table.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+table.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+table.o: ../FL/fl_types.h ../FL/Fl_Window.H ../FL/Fl_Group.H
+table.o: ../FL/Fl_Widget.H ../FL/Fl_Input.H ../FL/Fl_Input_.H
+table.o: ../FL/Fl_Check_Button.H ../FL/Fl_Light_Button.H ../FL/Fl_Button.H
+table.o: ../FL/Fl_Choice.H ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H
+table.o: ../FL/Fl_Image.H ../FL/fl_draw.H ../FL/fl_ask.H ../FL/Fl_Table_Row.H
+table.o: ../FL/Fl_Table.H ../FL/Fl_Group.H ../FL/Fl_Scroll.H
+table.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+table.o: ../FL/Fl_Box.H ../FL/Fl_Scrollbar.H
+tabs.o: tabs.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+tabs.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+tabs.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+tabs.o: ../FL/Fl_Widget.H ../FL/Fl_Box.H ../FL/Fl_Tabs.H ../FL/Fl_Group.H
+tabs.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Button.H ../FL/fl_ask.H
+tabs.o: ../FL/Fl_Clock.H ../FL/Fl_Wizard.H ../FL/Fl_Return_Button.H
+tabs.o: ../FL/Fl_Button.H
+threads.o: ../config.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+threads.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+threads.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+threads.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+threads.o: ../FL/Fl_Browser.H ../FL/Fl_Value_Output.H ../FL/fl_ask.H
+threads.o: threads.h
+tile.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+tile.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+tile.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+tile.o: ../FL/Fl_Widget.H ../FL/Fl_Tile.H ../FL/Fl_Box.H
+tiled_image.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+tiled_image.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
+tiled_image.o: ../FL/fl_types.h ../FL/Fl_Double_Window.H ../FL/Fl_Window.H
+tiled_image.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/Fl_Button.H
+tiled_image.o: ../FL/Fl_Pixmap.H ../FL/Fl_Image.H ../FL/Fl_Tiled_Image.H
+tiled_image.o: pixmaps/tile.xpm ../FL/x.H list_visuals.cxx ../config.h
+tree.o: tree.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+tree.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+tree.o: ../FL/Fl_Pixmap.H ../FL/Fl_Image.H ../FL/Fl_Group.H ../FL/Fl_Tree.H
+tree.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+tree.o: ../FL/fl_draw.H ../FL/Fl_Tree_Item.H ../FL/Fl_Widget.H
+tree.o: ../FL/Fl_Tree_Item_Array.H ../FL/Fl_Tree_Prefs.H ../FL/fl_ask.h
+tree.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+tree.o: ../FL/Fl_Widget.H ../FL/Fl_Value_Slider.H ../FL/Fl_Check_Button.H
+tree.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Choice.H
+tree.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Button.H
+tree.o: ../FL/Fl_Light_Button.H
+valuators.o: valuators.h ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+valuators.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
+valuators.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/Fl_Double_Window.H
+valuators.o: ../FL/Fl_Window.H ../FL/Fl_Group.H ../FL/Fl_Widget.H
+valuators.o: ../FL/Fl_Box.H ../FL/Fl_Slider.H ../FL/Fl_Valuator.H
+valuators.o: ../FL/Fl_Value_Slider.H ../FL/Fl_Slider.H ../FL/Fl_Value_Input.H
+valuators.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Value_Output.H
+valuators.o: ../FL/Fl_Scrollbar.H ../FL/Fl_Adjuster.H ../FL/Fl_Counter.H
+valuators.o: ../FL/Fl_Spinner.H ../FL/Enumerations.H ../FL/Fl_Group.H
+valuators.o: ../FL/Fl_Input.H ../FL/Fl_Repeat_Button.H ../FL/Fl.H
+valuators.o: ../FL/Fl_Button.H ../FL/Fl_Dial.H ../FL/Fl_Roller.H
+utf8.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
+utf8.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
+utf8.o: ../FL/Fl_Double_Window.H ../FL/Fl_Window.H ../FL/Fl_Group.H
+utf8.o: ../FL/Fl_Widget.H ../FL/Fl_Scroll.H ../FL/Fl_Scrollbar.H
+utf8.o: ../FL/Fl_Slider.H ../FL/Fl_Valuator.H ../FL/Fl_Choice.H
+utf8.o: ../FL/Fl_Menu_.H ../FL/Fl_Menu_Item.H ../FL/Fl_Image.H
+utf8.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Box.H
+utf8.o: ../FL/Fl_Hold_Browser.H ../FL/Fl_Browser.H ../FL/Fl_Browser_.H
+utf8.o: ../FL/Fl_Value_Output.H ../FL/Fl_Button.H ../FL/Fl_Check_Button.H
+utf8.o: ../FL/Fl_Light_Button.H ../FL/Fl_Button.H ../FL/Fl_Output.H
+utf8.o: ../FL/Fl_Input.H ../FL/fl_draw.H ../FL/fl_utf8.h
diff --git a/test/tree.cxx b/test/tree.cxx
new file mode 100644
index 000000000..a33e8f16c
--- /dev/null
+++ b/test/tree.cxx
@@ -0,0 +1,642 @@
+// generated by Fast Light User Interface Designer (fluid) version 1.0300
+
+#include "tree.h"
+
+void CccButton_CB(Fl_Widget*, void*data) {
+ fprintf(stderr, "ccc button pushed\n");
+}
+
+void RebuildTree() {
+ // REBUILD THE TREE TO MAKE CURRENT "DEFAULT" PREFS TAKE EFFECT
+ tree->clear();
+ tree->add("Aaa");
+ tree->add("Bbb");
+ tree->add("Ccc");
+ tree->add("Ddd");
+ tree->add("Bbb/child-01");
+ tree->add("Bbb/child-01/111");
+ tree->add("Bbb/child-01/222");
+ tree->add("Bbb/child-01/333");
+ tree->add("Bbb/child-02");
+ tree->add("Bbb/child-03");
+ tree->add("Bbb/child-04");
+
+ {
+ static Fl_Button *but = 0;
+ // Assign an FLTK widget to one of the items
+ Fl_Tree_Item *i;
+ if ( ( i = tree->find_item("Bbb/child-03") ) != NULL ) {
+ if ( !but ) { // only do this once at program startup
+ tree->begin();
+ but = new Fl_Button(1,1,140,1,"ccc button"); // we control w() only
+ but->labelsize(10);
+ }
+ i->widget(but);
+ tree->end();
+ }
+ }
+ {
+ // Assign an FLTK group to one of the items with widgets
+ Fl_Tree_Item *i;
+ if ( ( i = tree->find_item("Bbb/child-04") ) != NULL ) {
+ static Fl_Group *grp = 0;
+ if ( !grp ) { // only do this once at program startup
+ tree->begin();
+ grp = new Fl_Group(100,100,140,18); // build group.. tree handles position
+ grp->color(FL_WHITE);
+ grp->begin();
+ Fl_Button *abut = new Fl_Button(grp->x()+0 ,grp->y()+2,65,15,"D1");
+ abut->labelsize(10);
+ Fl_Button *bbut = new Fl_Button(grp->x()+75,grp->y()+2,65,15,"D2");
+ bbut->labelsize(10);
+ grp->end();
+ grp->resizable(grp);
+ tree->end();
+ }
+ i->widget(grp);
+ }
+ }
+
+ // Add an 'Ascending' node, and create it sorted
+ tree->sortorder(FL_TREE_SORT_NONE);
+ tree->add("Ascending")->close();
+ tree->sortorder(FL_TREE_SORT_ASCENDING);
+ tree->add("Ascending/Zzz");
+ tree->add("Ascending/Xxx");
+ tree->add("Ascending/Aaa");
+ tree->add("Ascending/Bbb");
+ tree->add("Ascending/Yyy");
+ tree->add("Ascending/Ccc");
+
+ // Add a 'Descending' node, and create it sorted
+ tree->sortorder(FL_TREE_SORT_NONE);
+ tree->add("Descending")->close();
+ tree->sortorder(FL_TREE_SORT_DESCENDING);
+ tree->add("Descending/Zzz");
+ tree->add("Descending/Xxx");
+ tree->add("Descending/Aaa");
+ tree->add("Descending/Bbb");
+ tree->add("Descending/Yyy");
+ tree->add("Descending/Ccc");
+
+ tree->redraw();
+}
+
+Fl_Double_Window *window=(Fl_Double_Window *)0;
+
+Fl_Tree *tree=(Fl_Tree *)0;
+
+static void cb_tree(Fl_Tree*, void*) {
+ Fl_Tree_Item *item = tree->item_clicked();
+ //item->select( item->is_selected() ? 0 : 1);
+ //tree->redraw();
+ fprintf(stderr, "TREE CALLBACK: label='%s' userdata=%d\n",
+ item->label(),
+ (int)tree->user_data());
+}
+
+Fl_Value_Slider *labelsize_slider=(Fl_Value_Slider *)0;
+
+static void cb_labelsize_slider(Fl_Value_Slider*, void*) {
+ int size = (int)labelsize_slider->value();
+
+ // DO SELECTED ITEMS
+ int count = 0;
+ for ( Fl_Tree_Item *item=tree->first(); item; item = item->next() ) {
+ if ( item->is_selected() ) {
+ item->labelsize(size);
+ count++;
+ }
+ }
+
+ // NO ITEMS SELECTED? DO ALL
+ if ( ! count ) {
+ for ( Fl_Tree_Item *item=tree->first(); item; item = item->next() ) {
+ item->labelsize(size);
+ }
+ }
+
+ tree->redraw();
+}
+
+Fl_Value_Slider *connectorwidth_slider=(Fl_Value_Slider *)0;
+
+static void cb_connectorwidth_slider(Fl_Value_Slider*, void*) {
+ tree->connectorwidth((int)connectorwidth_slider->value());
+}
+
+Fl_Check_Button *usericon_radio=(Fl_Check_Button *)0;
+
+static void cb_usericon_radio(Fl_Check_Button*, void*) {
+ static const char *L_folder_xpm[] = {
+ "11 11 3 1",
+ ". c None",
+ "x c #d8d833",
+ "@ c #808011",
+ "...........",
+ ".....@@@@..",
+ "....@xxxx@.",
+ "@@@@@xxxx@@",
+ "@xxxxxxxxx@",
+ "@xxxxxxxxx@",
+ "@xxxxxxxxx@",
+ "@xxxxxxxxx@",
+ "@xxxxxxxxx@",
+ "@xxxxxxxxx@",
+ "@@@@@@@@@@@"};
+ static Fl_Pixmap L_folderpixmap(L_folder_xpm);
+
+ static const char *L_document_xpm[] = {
+ "11 11 3 1",
+ ". c None",
+ "x c #d8d8f8",
+ "@ c #202060",
+ ".@@@@@@@@@.",
+ ".@xxxxxxx@.",
+ ".@xxxxxxx@.",
+ ".@xxxxxxx@.",
+ ".@xxxxxxx@.",
+ ".@xxxxxxx@.",
+ ".@xxxxxxx@.",
+ ".@xxxxxxx@.",
+ ".@xxxxxxx@.",
+ ".@xxxxxxx@.",
+ ".@@@@@@@@@."};
+ static Fl_Pixmap L_documentpixmap(L_document_xpm);
+
+ Fl_Tree_Item *i = 0;
+ if ( usericon_radio->value() ) {
+ tree->usericon(&L_folderpixmap);
+ if ( ( i = tree->find_item("Bbb/bgb/111") ) != NULL ) i->usericon(&L_documentpixmap);
+ if ( ( i = tree->find_item("Bbb/bgb/222") ) != NULL ) i->usericon(&L_documentpixmap);
+ if ( ( i = tree->find_item("Bbb/bgb/333") ) != NULL ) i->usericon(&L_documentpixmap);
+ } else {
+ tree->usericon(0);
+ if ( ( i = tree->find_item("Bbb/bgb/111") ) != NULL ) i->usericon(0);
+ if ( ( i = tree->find_item("Bbb/bgb/222") ) != NULL ) i->usericon(0);
+ if ( ( i = tree->find_item("Bbb/bgb/333") ) != NULL ) i->usericon(0);
+ };
+}
+
+Fl_Choice *collapseicons_chooser=(Fl_Choice *)0;
+
+static void cb_collapseicons_chooser(Fl_Choice*, void*) {
+ static const char *L_open_xpm[] = {
+ "11 11 2 1",
+ ". c None",
+ "@ c #000000",
+ "...@.......",
+ "...@@......",
+ "...@@@.....",
+ "...@@@@....",
+ "...@@@@@...",
+ "...@@@@@@..",
+ "...@@@@@...",
+ "...@@@@....",
+ "...@@@.....",
+ "...@@......",
+ "...@......."};
+ static Fl_Pixmap L_openpixmap(L_open_xpm);
+
+ static const char *L_close_xpm[] = {
+ "11 11 2 1",
+ ". c None",
+ "@ c #000000",
+ "...........",
+ "...........",
+ "...........",
+ "...........",
+ "...........",
+ "@@@@@@@@@@@",
+ ".@@@@@@@@@.",
+ "..@@@@@@@..",
+ "...@@@@@...",
+ "....@@@....",
+ ".....@....."};
+ static Fl_Pixmap L_closepixmap(L_close_xpm);
+
+ switch ( collapseicons_chooser->value() ) {
+ case 0:
+ tree->showcollapse(1);
+ tree->openicon(0);
+ tree->closeicon(0);
+ break;
+ case 1:
+ tree->showcollapse(1);
+ tree->openicon(&L_openpixmap);
+ tree->closeicon(&L_closepixmap);
+ break;
+ case 2:
+ tree->showcollapse(0);
+ break;
+ };
+}
+
+Fl_Menu_Item menu_collapseicons_chooser[] = {
+ {"Normal", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Arrow", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Off", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {0,0,0,0,0,0,0,0,0}
+};
+
+Fl_Choice *connectorstyle_chooser=(Fl_Choice *)0;
+
+static void cb_connectorstyle_chooser(Fl_Choice*, void*) {
+ // CHANGE COLLAPSESTYLE
+ switch ( connectorstyle_chooser->value() ) {
+ case 0: tree->connectorstyle(FL_TREE_CONNECTOR_NONE); break;
+ case 1: tree->connectorstyle(FL_TREE_CONNECTOR_DOTTED); break;
+ case 2: tree->connectorstyle(FL_TREE_CONNECTOR_SOLID); break;
+ };
+}
+
+Fl_Menu_Item menu_connectorstyle_chooser[] = {
+ {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Dotted", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Solid", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {0,0,0,0,0,0,0,0,0}
+};
+
+Fl_Choice *labelcolor_chooser=(Fl_Choice *)0;
+
+static void cb_labelcolor_chooser(Fl_Choice*, void*) {
+ // Set color..
+ Fl_Color c = Fl_Color(0x00000000);
+ switch ( labelcolor_chooser->value() ) {
+ case 0: c = Fl_Color(0x00000000); break; // black
+ case 1: c = Fl_Color(0xd0000000); break; // red
+ case 2: c = Fl_Color(0x00a00000); break; // green
+ case 3: c = Fl_Color(0x0000a000); break; // blue
+ default: c = Fl_Color(0x00000000); break; // black
+ }
+
+ // DO SELECTED ITEMS
+ int count = 0;
+ for ( Fl_Tree_Item *item=tree->first(); item; item = item->next() ) {
+ if ( item->is_selected() ) {
+ item->labelcolor(c);
+ count++;
+ }
+ }
+
+ // NO ITEMS SELECTED? DO ALL
+ if ( ! count ) {
+ for ( Fl_Tree_Item *item=tree->first(); item; item = item->next() ) {
+ item->labelcolor(c);
+ }
+ }
+
+ tree->redraw();
+}
+
+Fl_Menu_Item menu_labelcolor_chooser[] = {
+ {"Black", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Red", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Green", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Blue", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {0,0,0,0,0,0,0,0,0}
+};
+
+static void cb_Clear(Fl_Button*, void*) {
+ Fl_Tree_Item *item=tree->first();
+ while (item) {
+ if ( item->is_selected() ) {
+ if ( tree->remove(item) == -1 ) break;
+ item = tree->first();
+ } else {
+ item = item->next();
+ }
+ }
+
+ tree->redraw();
+}
+
+Fl_Light_Button *selectall_toggle=(Fl_Light_Button *)0;
+
+static void cb_selectall_toggle(Fl_Light_Button*, void*) {
+ int onoff = selectall_toggle->value();
+ for (Fl_Tree_Item *item=tree->first(); item; item = item->next()) {
+ item->select(onoff);
+ }
+ tree->redraw();
+}
+
+Fl_Light_Button *bold_toggle=(Fl_Light_Button *)0;
+
+static void cb_bold_toggle(Fl_Light_Button*, void*) {
+ int face = bold_toggle->value() ? FL_HELVETICA_BOLD : FL_HELVETICA;
+
+ // DO SELECTED ITEMS
+ int count = 0;
+ for ( Fl_Tree_Item *item=tree->first(); item; item = item->next() ) {
+ if ( item->is_selected() ) {
+ item->labelfont(face);
+ count++;
+ }
+ }
+
+ // NO ITEMS SELECTED? DO ALL
+ if ( ! count ) {
+ for ( Fl_Tree_Item *item=tree->first(); item; item = item->next() ) {
+ item->labelfont(face);
+ }
+ }
+
+ tree->redraw();
+}
+
+Fl_Light_Button *bbbselect_toggle=(Fl_Light_Button *)0;
+
+static void cb_bbbselect_toggle(Fl_Light_Button*, void*) {
+ // Select just the Bbb item and its immediate children
+ Fl_Tree_Item *bbb = tree->find_item("/Bbb");
+ if ( !bbb) {
+ fl_alert("FAIL: Couldn't find item '/Bbb'???");
+ return;
+ }
+ int onoff = bbbselect_toggle->value();
+ bbb->select(onoff);
+ for ( int t=0; t<bbb->children(); t++ ) {
+ bbb->child(t)->select(onoff);
+ }
+ tree->redraw();
+}
+
+static void cb_Rebuild(Fl_Button*, void*) {
+ RebuildTree();
+}
+
+static void cb_Clear1(Fl_Button*, void*) {
+ tree->clear();
+ tree->redraw();
+}
+
+static void cb_Insert(Fl_Button*, void*) {
+ Fl_Tree_Item *item=tree->first();
+ while (item) {
+ if ( item->is_selected() ) {
+ tree->insert_above(item, "AaaAaa");
+ tree->insert_above(item, "BbbBbb");
+ tree->insert_above(item, "CccCcc");
+ }
+ item = item->next();
+ }
+
+ tree->redraw();
+}
+
+Fl_Value_Slider *margintop_slider=(Fl_Value_Slider *)0;
+
+static void cb_margintop_slider(Fl_Value_Slider*, void*) {
+ int val = (int)margintop_slider->value();
+ tree->margintop(val);
+ tree->redraw();
+}
+
+Fl_Value_Slider *marginleft_slider=(Fl_Value_Slider *)0;
+
+static void cb_marginleft_slider(Fl_Value_Slider*, void*) {
+ int val = (int)marginleft_slider->value();
+ tree->marginleft(val);
+ tree->redraw();
+}
+
+Fl_Light_Button *deactivate_toggle=(Fl_Light_Button *)0;
+
+static void cb_deactivate_toggle(Fl_Light_Button*, void*) {
+ int onoff = deactivate_toggle->value() ? 0 : 1;
+
+ int count = 0;
+ for (Fl_Tree_Item *item=tree->first(); item; item = item->next()) {
+ if ( item->is_selected() ) {
+ item->activate(onoff);
+ ++count;
+ }
+ }
+
+ if ( count == 0 ) {
+ for (Fl_Tree_Item *item=tree->first(); item; item = item->next()) {
+ item->activate(onoff);
+ }
+ }
+
+ tree->redraw();
+}
+
+Fl_Check_Button *showroot_radio=(Fl_Check_Button *)0;
+
+static void cb_showroot_radio(Fl_Check_Button*, void*) {
+ int onoff = showroot_radio->value();
+ tree->showroot(onoff);
+}
+
+Fl_Choice *selectmode_chooser=(Fl_Choice *)0;
+
+static void cb_selectmode_chooser(Fl_Choice*, void*) {
+ // Set selection mode
+ switch ( selectmode_chooser->value() ) {
+ case 0: tree->selectmode(FL_TREE_SELECT_NONE); break; // None
+ case 1: tree->selectmode(FL_TREE_SELECT_SINGLE); break; // Single
+ case 2: tree->selectmode(FL_TREE_SELECT_MULTI); break; // Multi
+ default: tree->selectmode(FL_TREE_SELECT_SINGLE); break; // Single
+ };
+}
+
+Fl_Menu_Item menu_selectmode_chooser[] = {
+ {"None", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Single", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {"Multi", 0, 0, 0, 0, FL_NORMAL_LABEL, 0, 11, 0},
+ {0,0,0,0,0,0,0,0,0}
+};
+
+Fl_Value_Slider *openchild_marginbottom_slider=(Fl_Value_Slider *)0;
+
+static void cb_openchild_marginbottom_slider(Fl_Value_Slider*, void*) {
+ int val = (int)openchild_marginbottom_slider->value();
+ tree->openchild_marginbottom(val);
+ tree->redraw();
+}
+
+int main(int argc, char **argv) {
+ { window = new Fl_Double_Window(580, 695, "test-Fl_Tree");
+ { tree = new Fl_Tree(15, 15, 550, 390);
+ tree->box(FL_DOWN_BOX);
+ tree->color((Fl_Color)55);
+ tree->selection_color(FL_BACKGROUND_COLOR);
+ tree->labeltype(FL_NORMAL_LABEL);
+ tree->labelfont(0);
+ tree->labelsize(14);
+ tree->labelcolor(FL_FOREGROUND_COLOR);
+ tree->callback((Fl_Callback*)cb_tree, (void*)(1234));
+ tree->align(Fl_Align(FL_ALIGN_TOP));
+ tree->when(FL_WHEN_RELEASE);
+ tree->end();
+ } // Fl_Tree* tree
+ { Fl_Value_Slider* o = labelsize_slider = new Fl_Value_Slider(190, 474, 240, 16, "Text size");
+ labelsize_slider->tooltip("Changes the font size of the selected items\nIf none selected, all are change\
+ d");
+ labelsize_slider->type(1);
+ labelsize_slider->labelsize(12);
+ labelsize_slider->step(0.01);
+ labelsize_slider->textsize(12);
+ labelsize_slider->callback((Fl_Callback*)cb_labelsize_slider, (void*)(tree));
+ labelsize_slider->align(Fl_Align(FL_ALIGN_LEFT));
+ o->value(tree->labelsize());
+ o->range(5.0, 200.0);
+ o->step(1.0);
+ o->color(46); o->selection_color(FL_RED);
+ } // Fl_Value_Slider* labelsize_slider
+ { Fl_Value_Slider* o = connectorwidth_slider = new Fl_Value_Slider(190, 494, 240, 16, "Connector width");
+ connectorwidth_slider->tooltip("Tests Fl_Tree::connectorwidth()");
+ connectorwidth_slider->type(1);
+ connectorwidth_slider->labelsize(12);
+ connectorwidth_slider->step(0.01);
+ connectorwidth_slider->textsize(12);
+ connectorwidth_slider->callback((Fl_Callback*)cb_connectorwidth_slider, (void*)(tree));
+ connectorwidth_slider->align(Fl_Align(FL_ALIGN_LEFT));
+ o->value(tree->connectorwidth());
+ o->range(10.0, 100.0);
+ o->step(1.0);
+ o->color(46); o->selection_color(FL_RED);
+ } // Fl_Value_Slider* connectorwidth_slider
+ { usericon_radio = new Fl_Check_Button(145, 520, 130, 16, "Enable user icons?");
+ usericon_radio->tooltip("Tests Fl_Tree_Item::usericon()");
+ usericon_radio->down_box(FL_DOWN_BOX);
+ usericon_radio->labelsize(11);
+ usericon_radio->callback((Fl_Callback*)cb_usericon_radio, (void*)(tree));
+ } // Fl_Check_Button* usericon_radio
+ { collapseicons_chooser = new Fl_Choice(145, 564, 110, 16, "Collapse icons");
+ collapseicons_chooser->tooltip("Tests Fl_Tree::openicon() and Fl_Tree::closeicon()");
+ collapseicons_chooser->down_box(FL_BORDER_BOX);
+ collapseicons_chooser->labelsize(11);
+ collapseicons_chooser->textsize(11);
+ collapseicons_chooser->callback((Fl_Callback*)cb_collapseicons_chooser);
+ collapseicons_chooser->menu(menu_collapseicons_chooser);
+ } // Fl_Choice* collapseicons_chooser
+ { connectorstyle_chooser = new Fl_Choice(145, 584, 110, 16, "Line style");
+ connectorstyle_chooser->tooltip("Tests connectorstyle() bit flags");
+ connectorstyle_chooser->down_box(FL_BORDER_BOX);
+ connectorstyle_chooser->labelsize(11);
+ connectorstyle_chooser->textsize(11);
+ connectorstyle_chooser->callback((Fl_Callback*)cb_connectorstyle_chooser);
+ connectorstyle_chooser->menu(menu_connectorstyle_chooser);
+ connectorstyle_chooser->value(1); // tree's default is 'dotted'
+ } // Fl_Choice* connectorstyle_chooser
+ { labelcolor_chooser = new Fl_Choice(145, 604, 110, 16, "Item Text Color");
+ labelcolor_chooser->tooltip("Changes the label color for the selected items\nIf no items selected, all are\
+ changed");
+ labelcolor_chooser->down_box(FL_BORDER_BOX);
+ labelcolor_chooser->labelsize(11);
+ labelcolor_chooser->textsize(11);
+ labelcolor_chooser->callback((Fl_Callback*)cb_labelcolor_chooser);
+ labelcolor_chooser->menu(menu_labelcolor_chooser);
+ } // Fl_Choice* labelcolor_chooser
+ { Fl_Button* o = new Fl_Button(450, 563, 100, 16, "Clear Selected");
+ o->tooltip("Clears the selected items\nIf no items are selected, all items are cleared");
+ o->labelsize(11);
+ o->callback((Fl_Callback*)cb_Clear);
+ } // Fl_Button* o
+ { selectall_toggle = new Fl_Light_Button(325, 563, 100, 16, " Select All");
+ selectall_toggle->labelsize(11);
+ selectall_toggle->callback((Fl_Callback*)cb_selectall_toggle);
+ } // Fl_Light_Button* selectall_toggle
+ { bold_toggle = new Fl_Light_Button(325, 623, 100, 17, " Bold Font");
+ bold_toggle->tooltip("Toggles bold font for selected items\nIf nothing selected, all are changed");
+ bold_toggle->labelsize(11);
+ bold_toggle->callback((Fl_Callback*)cb_bold_toggle);
+ } // Fl_Light_Button* bold_toggle
+ { bbbselect_toggle = new Fl_Light_Button(325, 583, 100, 16, " Select Bbb");
+ bbbselect_toggle->tooltip("Toggles selecting the \'Bbb\' item and its immediate children");
+ bbbselect_toggle->labelsize(11);
+ bbbselect_toggle->callback((Fl_Callback*)cb_bbbselect_toggle);
+ } // Fl_Light_Button* bbbselect_toggle
+ { Fl_Button* o = new Fl_Button(450, 623, 100, 17, "Rebuild Tree");
+ o->tooltip("Rebuilds the tree with defaults");
+ o->labelsize(11);
+ o->callback((Fl_Callback*)cb_Rebuild);
+ } // Fl_Button* o
+ { Fl_Button* o = new Fl_Button(450, 583, 100, 16, "Clear All");
+ o->tooltip("Clears all items\nTests Fl_Tree::clear()");
+ o->labelsize(11);
+ o->callback((Fl_Callback*)cb_Clear1);
+ } // Fl_Button* o
+ { Fl_Button* o = new Fl_Button(450, 603, 100, 16, "Insert Above");
+ o->tooltip("Inserts three items above the selected items");
+ o->labelsize(11);
+ o->callback((Fl_Callback*)cb_Insert);
+ } // Fl_Button* o
+ { Fl_Value_Slider* o = margintop_slider = new Fl_Value_Slider(190, 414, 240, 16, "margintop()");
+ margintop_slider->tooltip("Changes the top margin for the tree widget");
+ margintop_slider->type(1);
+ margintop_slider->labelsize(12);
+ margintop_slider->step(0.01);
+ margintop_slider->textsize(12);
+ margintop_slider->callback((Fl_Callback*)cb_margintop_slider, (void*)(tree));
+ margintop_slider->align(Fl_Align(FL_ALIGN_LEFT));
+ o->value(tree->margintop());
+ o->range(0.0, 100.0);
+ o->step(1.0);
+ o->color(46); o->selection_color(FL_RED);
+ } // Fl_Value_Slider* margintop_slider
+ { Fl_Value_Slider* o = marginleft_slider = new Fl_Value_Slider(190, 434, 240, 16, "marginleft()");
+ marginleft_slider->tooltip("Changes the left margin for the tree widget");
+ marginleft_slider->type(1);
+ marginleft_slider->labelsize(12);
+ marginleft_slider->step(0.01);
+ marginleft_slider->textsize(12);
+ marginleft_slider->callback((Fl_Callback*)cb_marginleft_slider, (void*)(tree));
+ marginleft_slider->align(Fl_Align(FL_ALIGN_LEFT));
+ o->value(tree->marginleft());
+ o->range(0.0, 100.0);
+ o->step(1.0);
+ o->color(46); o->selection_color(FL_RED);
+ } // Fl_Value_Slider* marginleft_slider
+ { deactivate_toggle = new Fl_Light_Button(325, 603, 100, 16, " Deactivate");
+ deactivate_toggle->tooltip("Toggle the deactivation state of the selected items.\nIf none are selected, a\
+ ll are set.");
+ deactivate_toggle->labelsize(11);
+ deactivate_toggle->callback((Fl_Callback*)cb_deactivate_toggle);
+ } // Fl_Light_Button* deactivate_toggle
+ { showroot_radio = new Fl_Check_Button(145, 539, 130, 16, "Show root?");
+ showroot_radio->tooltip("Tests Fl_Tree_Item::usericon()");
+ showroot_radio->down_box(FL_DOWN_BOX);
+ showroot_radio->labelsize(11);
+ showroot_radio->callback((Fl_Callback*)cb_showroot_radio, (void*)(tree));
+ int onoff = tree->showroot(); showroot_radio->value(onoff);
+ } // Fl_Check_Button* showroot_radio
+ { selectmode_chooser = new Fl_Choice(145, 624, 110, 16, "Selection Mode");
+ selectmode_chooser->tooltip("Sets how Fl_Tree handles mouse selection of tree items");
+ selectmode_chooser->down_box(FL_BORDER_BOX);
+ selectmode_chooser->labelsize(11);
+ selectmode_chooser->textsize(11);
+ selectmode_chooser->callback((Fl_Callback*)cb_selectmode_chooser);
+ selectmode_chooser->menu(menu_selectmode_chooser);
+ selectmode_chooser->value(1);
+ cb_selectmode_chooser(selectmode_chooser, (void*)0);
+ } // Fl_Choice* selectmode_chooser
+ { Fl_Value_Slider* o = openchild_marginbottom_slider = new Fl_Value_Slider(190, 454, 240, 16, "openchild_marginbottom()");
+ openchild_marginbottom_slider->tooltip("Changes the vertical space below an open child tree");
+ openchild_marginbottom_slider->type(1);
+ openchild_marginbottom_slider->labelsize(12);
+ openchild_marginbottom_slider->step(0.01);
+ openchild_marginbottom_slider->textsize(12);
+ openchild_marginbottom_slider->callback((Fl_Callback*)cb_openchild_marginbottom_slider, (void*)(tree));
+ openchild_marginbottom_slider->align(Fl_Align(FL_ALIGN_LEFT));
+ o->value(tree->openchild_marginbottom());
+ o->range(0.0, 100.0);
+ o->step(1.0);
+ o->color(46); o->selection_color(FL_RED);
+ } // Fl_Value_Slider* openchild_marginbottom_slider
+ window->end();
+ } // Fl_Double_Window* window
+ // Initialize Tree
+ tree->root_label("ROOT");
+ RebuildTree();
+ tree->show_self();
+ // FLTK stuff
+ // Fl::scheme("gtk+");
+ window->resizable(window);
+ window->size_range(window->w(), window->h(), 0, 0);
+ window->show(argc, argv);
+ return Fl::run();
+}
diff --git a/test/tree.h b/test/tree.h
new file mode 100644
index 000000000..e63a4c6f6
--- /dev/null
+++ b/test/tree.h
@@ -0,0 +1,41 @@
+// generated by Fast Light User Interface Designer (fluid) version 1.0300
+
+#ifndef test_Fl_Tree_H
+#define test_Fl_Tree_H
+#include <FL/Fl.H>
+#include <stdio.h>
+#include <FL/Fl.H>
+#include <FL/Fl_Pixmap.H>
+#include <FL/Fl_Group.H>
+#include <FL/Fl_Tree.H>
+#include <FL/fl_ask.h>
+void CccButton_CB(Fl_Widget*, void*data);
+void RebuildTree();
+#include <FL/Fl_Double_Window.H>
+extern Fl_Double_Window *window;
+extern Fl_Tree *tree;
+#include <FL/Fl_Value_Slider.H>
+extern Fl_Value_Slider *labelsize_slider;
+extern Fl_Value_Slider *connectorwidth_slider;
+#include <FL/Fl_Check_Button.H>
+extern Fl_Check_Button *usericon_radio;
+#include <FL/Fl_Choice.H>
+extern Fl_Choice *collapseicons_chooser;
+extern Fl_Choice *connectorstyle_chooser;
+extern Fl_Choice *labelcolor_chooser;
+#include <FL/Fl_Button.H>
+#include <FL/Fl_Light_Button.H>
+extern Fl_Light_Button *selectall_toggle;
+extern Fl_Light_Button *bold_toggle;
+extern Fl_Light_Button *bbbselect_toggle;
+extern Fl_Value_Slider *margintop_slider;
+extern Fl_Value_Slider *marginleft_slider;
+extern Fl_Light_Button *deactivate_toggle;
+extern Fl_Check_Button *showroot_radio;
+extern Fl_Choice *selectmode_chooser;
+extern Fl_Value_Slider *openchild_marginbottom_slider;
+extern Fl_Menu_Item menu_collapseicons_chooser[];
+extern Fl_Menu_Item menu_connectorstyle_chooser[];
+extern Fl_Menu_Item menu_labelcolor_chooser[];
+extern Fl_Menu_Item menu_selectmode_chooser[];
+#endif