summaryrefslogtreecommitdiff
path: root/src/FbTk/XLayerItem.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/FbTk/XLayerItem.hh')
-rw-r--r--src/FbTk/XLayerItem.hh36
1 files changed, 14 insertions, 22 deletions
diff --git a/src/FbTk/XLayerItem.hh b/src/FbTk/XLayerItem.hh
index 14d13e5..4706e2b 100644
--- a/src/FbTk/XLayerItem.hh
+++ b/src/FbTk/XLayerItem.hh
@@ -20,52 +20,44 @@
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.3 2003/02/02 16:32:41 rathnor Exp $ 23// $Id: XLayerItem.hh,v 1.4 2003/02/03 13:42:47 fluxgen Exp $
24 24
25#ifndef FBTK_XLAYERITEM_HH 25#ifndef FBTK_XLAYERITEM_HH
26#define FBTK_XLAYERITEM_HH 26#define FBTK_XLAYERITEM_HH
27 27
28#include "LayerItem.hh" 28#include "LayerItem.hh"
29#include "XLayer.hh" 29#include "XLayer.hh"
30#include "NotCopyable.hh"
31
30#include <X11/Xlib.h> 32#include <X11/Xlib.h>
31 33
32 34
33namespace FbTk { 35namespace FbTk {
34 36
35class XLayerItem : public LayerItem { 37class XLayerItem : public LayerItem, private NotCopyable {
36public: 38public:
37 typedef std::list<Window> Windows; 39 typedef std::list<Window> Windows;
38 40
39 XLayerItem(Window win); 41 XLayerItem(Window win, XLayer &layer);
40 ~XLayerItem(); 42 ~XLayerItem();
41 void setLayer(XLayer *layer); 43
42 XLayer *getLayer() const { return m_layer; } 44 void setLayer(XLayer &layer);
45
43 void raise(); 46 void raise();
44 void lower(); 47 void lower();
45 void stepUp(); 48 void stepUp();
46 void stepDown(); 49 void stepDown();
47 XLayer::iterator getLayerIterator() const { return m_layeriterator; }; 50 //!! we don't need this?
48 void setLayerIterator(XLayer::iterator it) { m_layeriterator = it; }; 51 bool visible() const { return true; }
49 bool isEmpty() const { return m_windows.empty(); }
50
51 // not currently implemented
52 bool visible() { return true; }
53
54 // an XLayerItem holds several windows that are equivalent in a layer
55 // (i.e. if one is raised, then they should all be).
56 void addWindow(Window win);
57 void removeWindow(Window win);
58
59 // using this you can bring one window to the top (equivalent to add then remove)
60 void bringToTop(Window win);
61 52
62 Windows &getWindows() { return m_windows; } 53 const XLayer &getLayer() const { return *m_layer; }
63 size_t numWindows() const { return m_windows.size(); } 54 XLayer &getLayer() { return *m_layer; }
55 Window window() const { return m_window; }
64 56
65private: 57private:
66 XLayer *m_layer; 58 XLayer *m_layer;
67 XLayer::iterator m_layeriterator; 59 XLayer::iterator m_layeriterator;
68 Windows m_windows; 60 Window m_window;
69}; 61};
70 62
71}; 63};