summaryrefslogtreecommitdiff
path: root/src/FbTk/XLayerItem.hh
diff options
context:
space:
mode:
authorrathnor <rathnor>2003-01-29 21:42:53 (GMT)
committerrathnor <rathnor>2003-01-29 21:42:53 (GMT)
commit5244fc32447d2649a52a06dc84d96da94e9fd715 (patch)
tree5ead0b2c1609f5d821ad30030a8220d889200216 /src/FbTk/XLayerItem.hh
parent0f5247ccce2d55d36ba823fe4cc6adcd3801c02d (diff)
downloadfluxbox_lack-5244fc32447d2649a52a06dc84d96da94e9fd715.zip
fluxbox_lack-5244fc32447d2649a52a06dc84d96da94e9fd715.tar.bz2
restructured layering a little so that a XLayerItem now contains several
windows that are to remain equivalent in depth (e.g. tabs, or grouped windows) - (Simon)
Diffstat (limited to 'src/FbTk/XLayerItem.hh')
-rw-r--r--src/FbTk/XLayerItem.hh25
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
35class XLayerItem : public LayerItem { 35class XLayerItem : public LayerItem {
36public: 36public:
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
50private: 64private:
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};