diff options
Diffstat (limited to 'src/FbTk/XLayerItem.hh')
-rw-r--r-- | src/FbTk/XLayerItem.hh | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/FbTk/XLayerItem.hh b/src/FbTk/XLayerItem.hh index e61b596..2fd37e6 100644 --- a/src/FbTk/XLayerItem.hh +++ b/src/FbTk/XLayerItem.hh | |||
@@ -20,7 +20,7 @@ | |||
20 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 20 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
21 | // DEALINGS IN THE SOFTWARE. | 21 | // DEALINGS IN THE SOFTWARE. |
22 | 22 | ||
23 | // $Id: XLayerItem.hh,v 1.1 2003/01/16 12:41:27 rathnor Exp $ | 23 | // $Id: XLayerItem.hh,v 1.2 2003/01/29 21:42:53 rathnor Exp $ |
24 | 24 | ||
25 | #ifndef FBTK_XLAYERITEM_HH | 25 | #ifndef FBTK_XLAYERITEM_HH |
26 | #define FBTK_XLAYERITEM_HH | 26 | #define FBTK_XLAYERITEM_HH |
@@ -34,22 +34,37 @@ namespace FbTk { | |||
34 | 34 | ||
35 | class XLayerItem : public LayerItem { | 35 | class XLayerItem : public LayerItem { |
36 | public: | 36 | public: |
37 | XLayerItem(); | 37 | typedef std::list<Window> Windows; |
38 | |||
39 | XLayerItem(Window win); | ||
38 | ~XLayerItem(); | 40 | ~XLayerItem(); |
39 | void setLayer(XLayer &layer); | 41 | void setLayer(XLayer &layer); |
40 | XLayer *getLayer() const { return m_layer; } | 42 | XLayer *getLayer() const { return m_layer; } |
41 | void raise(); | 43 | void raise(); |
42 | void lower(); | 44 | void lower(); |
43 | void stepUp(); | 45 | void stepUp(); |
44 | void stepDown(); | 46 | void stepDown(); |
45 | XLayer::iterator getLayerIterator() const { return m_layeriterator; }; | 47 | XLayer::iterator getLayerIterator() const { return m_layeriterator; }; |
46 | void setLayerIterator(XLayer::iterator it) { m_layeriterator = it; }; | 48 | void setLayerIterator(XLayer::iterator it) { m_layeriterator = it; }; |
47 | virtual Window window() const = 0; | 49 | |
48 | virtual bool visible() const = 0 ; | 50 | // not currently implemented |
51 | bool visible() { return true; } | ||
52 | |||
53 | // an XLayerItem holds several windows that are equivalent in a layer | ||
54 | // (i.e. if one is raised, then they should all be). | ||
55 | void addWindow(Window win); | ||
56 | void removeWindow(Window win); | ||
57 | |||
58 | // using this you can bring one window to the top (equivalent to add then remove) | ||
59 | void bringToTop(Window win); | ||
60 | |||
61 | Windows &getWindows() { return m_windows; } | ||
62 | size_t numWindows() const { return m_windows.size(); } | ||
49 | 63 | ||
50 | private: | 64 | private: |
51 | XLayer *m_layer; | 65 | XLayer *m_layer; |
52 | XLayer::iterator m_layeriterator; | 66 | XLayer::iterator m_layeriterator; |
67 | Windows m_windows; | ||
53 | }; | 68 | }; |
54 | 69 | ||
55 | }; | 70 | }; |