diff options
| author | Fabien Costantini <fabien@onepost.net> | 2008-09-14 15:45:27 +0000 |
|---|---|---|
| committer | Fabien Costantini <fabien@onepost.net> | 2008-09-14 15:45:27 +0000 |
| commit | ce4d0fd5d86a1f725aba6093d9674b993d437d6c (patch) | |
| tree | 4839ae652332f4ec80de23a21fb0ddd702a20330 /FL/Fl_Tile.H | |
| parent | 7f4e2867e84826d237e48f01f25de168cfdb986b (diff) | |
Doxygen Documentation WP4 Done. Has all documentation content but should be completed in increment 2. Registered for WP5.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Tile.H')
| -rw-r--r-- | FL/Fl_Tile.H | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/FL/Fl_Tile.H b/FL/Fl_Tile.H index e07399705..9a8bbc813 100644 --- a/FL/Fl_Tile.H +++ b/FL/Fl_Tile.H @@ -30,9 +30,62 @@ #include "Fl_Group.H" +/** + The Fl_Tile class lets you resize the children by dragging + the border between them: + + <P ALIGN=CENTER>\image html Fl_Tile.gif </P> + + <P>For the tiling to work correctly, the children of an + Fl_Tile must cover the entire area of the widget, but not + overlap. This means that all children must touch each + other at their edges, and no gaps can't be left inside the + Fl_Tile. + + <P>Fl_Tile does not normailly draw any graphics of its own. + The "borders" which can be seen in the snapshot above + are actually part of the children. Their boxtypes have been set + to FL_DOWN_BOX creating the impression of + "ridges" where the boxes touch. What you see are + actually two adjacent FL_DOWN_BOX's drawn next to each + other. All neighboring widgets share the same edge - the widget's + thick borders make it appear as though the widgets aren't actually + touching, but they are. If the edges of adjacent widgets do not + touch, then it will be impossible to drag the corresponding + edges.</P> + + <P>Fl_Tile allows objects to be resized to zero dimensions. + To prevent this you can use the resizable() to limit where + corners can be dragged to.</P> + + <P>Even though objects can be resized to zero sizes, they must + initially have non-zero sizes so the Fl_Tile can figure out + their layout. If desired, call position() after creating the + children but before displaying the window to set the borders where you + want. + + <P>Note on resizable(Fl_Widget &w) : + The "resizable" child widget (which should be invisible) limits where the + border can be dragged to. If you don't set it, it will be possible to + drag the borders right to the edge, and thus resize objects on the edge + to zero width or height. The resizable() widget is not + resized by dragging any borders. See also void Fl_Group::resizable(Fl_Widget &w) + +*/ class FL_EXPORT Fl_Tile : public Fl_Group { public: int handle(int); + /** + Creates a new Fl_Tile widget using the given position, size, + and label string. The default boxtype is FL_NO_BOX. + + <P>The destructor <I>also deletes all the children</I>. This allows a + whole tree to be deleted at once, without having to keep a pointer to + all the children in the user code. A kludge has been done so the + Fl_Tile and all of it's children can be automatic (local) + variables, but you must declare the Fl_Tile <I>first</I>, so + that it is destroyed last. + */ Fl_Tile(int X,int Y,int W,int H,const char*l=0) : Fl_Group(X,Y,W,H,l) {} void resize(int, int, int, int); void position(int, int, int, int); |
