summaryrefslogtreecommitdiff
path: root/FL/Fl_Tile.H
diff options
context:
space:
mode:
authorFabien Costantini <fabien@onepost.net>2008-09-14 15:45:27 +0000
committerFabien Costantini <fabien@onepost.net>2008-09-14 15:45:27 +0000
commitce4d0fd5d86a1f725aba6093d9674b993d437d6c (patch)
tree4839ae652332f4ec80de23a21fb0ddd702a20330 /FL/Fl_Tile.H
parent7f4e2867e84826d237e48f01f25de168cfdb986b (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.H53
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 &quot;borders&quot; 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
+ &quot;ridges&quot; 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 &quot;resizable&quot; 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);