]> git.tdb.fi Git - libs/gltk.git/blob - source/stack.h
53943fda13f13b1d767f2b392947cf6f61e2fcec
[libs/gltk.git] / source / stack.h
1 #ifndef MSP_GLTK_STACK_H_
2 #define MSP_GLTK_STACK_H_
3
4 #include <msp/datafile/objectloader.h>
5 #include "arrangement.h"
6 #include "mspgltk_api.h"
7
8 namespace Msp {
9 namespace GLtk {
10
11 /**
12 Arranges widgets on top of one another.  This can be useful in implementing a
13 tabbed view where only one tab is visible at a time.
14 */
15 class MSPGLTK_API Stack: public Arrangement
16 {
17 public:
18         class Loader: public DataFile::ObjectLoader<Stack>
19         {
20         public:
21                 Loader(Stack &);
22         };
23
24         Stack(Layout &);
25
26 private:
27         virtual void process_widget(Widget &, Side, bool);
28         virtual void finish_widget(Widget &);
29         virtual void finish_slot() { }
30 };
31
32 } // namespace GLtk
33 } // namespace Msp
34
35 #endif