diff options
author | Mathias Gumz <akira at fluxbox dot org> | 2011-02-23 21:49:27 (GMT) |
---|---|---|
committer | Mathias Gumz <akira at fluxbox dot org> | 2011-02-23 21:49:27 (GMT) |
commit | 9616a676d869b8f67742da99d55e9327ea867166 (patch) | |
tree | 32d8daf4d851b4038e7098f88570891c0727bd7b | |
parent | 813e6c4402b7d13a9e7b1ce3e391bc4c8d894ea3 (diff) | |
download | fluxbox_pavel-9616a676d869b8f67742da99d55e9327ea867166.zip fluxbox_pavel-9616a676d869b8f67742da99d55e9327ea867166.tar.bz2 |
renamed FbTk::XLayer to FbTk::Layer and FbTk::XLayerItem to FbTk::LayerItem
-rw-r--r-- | src/AlphaMenu.cc | 2 | ||||
-rw-r--r-- | src/AlphaMenu.hh | 2 | ||||
-rw-r--r-- | src/Ewmh.cc | 8 | ||||
-rw-r--r-- | src/FbMenu.cc | 2 | ||||
-rw-r--r-- | src/FbMenu.hh | 6 | ||||
-rw-r--r-- | src/FbTk/Layer.cc (renamed from src/FbTk/XLayer.cc) | 62 | ||||
-rw-r--r-- | src/FbTk/Layer.hh | 116 | ||||
-rw-r--r-- | src/FbTk/LayerItem.cc (renamed from src/FbTk/XLayerItem.cc) | 32 | ||||
-rw-r--r-- | src/FbTk/LayerItem.hh | 62 | ||||
-rw-r--r-- | src/FbTk/Makefile.am | 4 | ||||
-rw-r--r-- | src/FbTk/MultLayers.cc | 34 | ||||
-rw-r--r-- | src/FbTk/MultLayers.hh | 30 | ||||
-rw-r--r-- | src/FbTk/XLayer.hh | 85 | ||||
-rw-r--r-- | src/FbTk/XLayerItem.hh | 79 | ||||
-rw-r--r-- | src/FbWinFrame.hh | 10 | ||||
-rw-r--r-- | src/LayerMenu.cc | 2 | ||||
-rw-r--r-- | src/LayerMenu.hh | 2 | ||||
-rw-r--r-- | src/Screen.cc | 4 | ||||
-rw-r--r-- | src/Screen.hh | 4 | ||||
-rw-r--r-- | src/Slit.cc | 6 | ||||
-rw-r--r-- | src/Slit.hh | 6 | ||||
-rw-r--r-- | src/ToggleMenu.hh | 2 | ||||
-rw-r--r-- | src/Toolbar.cc | 2 | ||||
-rw-r--r-- | src/Toolbar.hh | 10 | ||||
-rw-r--r-- | src/Window.hh | 8 | ||||
-rw-r--r-- | src/Xinerama.hh | 4 | ||||
-rw-r--r-- | src/fluxbox.cc | 2 | ||||
-rw-r--r-- | src/tests/testLayers.cc | 22 |
28 files changed, 229 insertions, 379 deletions
diff --git a/src/AlphaMenu.cc b/src/AlphaMenu.cc index f15c9d1..219d6ea 100644 --- a/src/AlphaMenu.cc +++ b/src/AlphaMenu.cc | |||
@@ -33,7 +33,7 @@ | |||
33 | #include "Window.hh" | 33 | #include "Window.hh" |
34 | 34 | ||
35 | AlphaMenu::AlphaMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, | 35 | AlphaMenu::AlphaMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, |
36 | FbTk::ImageControl &imgctrl, FbTk::XLayer &layer): | 36 | FbTk::ImageControl &imgctrl, FbTk::Layer &layer): |
37 | ToggleMenu(tm, imgctrl, layer) | 37 | ToggleMenu(tm, imgctrl, layer) |
38 | { | 38 | { |
39 | 39 | ||
diff --git a/src/AlphaMenu.hh b/src/AlphaMenu.hh index 27f26dd..0da21de 100644 --- a/src/AlphaMenu.hh +++ b/src/AlphaMenu.hh | |||
@@ -35,7 +35,7 @@ namespace FbTk { | |||
35 | class AlphaMenu : public ToggleMenu { | 35 | class AlphaMenu : public ToggleMenu { |
36 | public: | 36 | public: |
37 | AlphaMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, | 37 | AlphaMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, |
38 | FbTk::ImageControl &imgctrl, FbTk::XLayer &layer); | 38 | FbTk::ImageControl &imgctrl, FbTk::Layer &layer); |
39 | 39 | ||
40 | // we override these to update the menu when the active window changes | 40 | // we override these to update the menu when the active window changes |
41 | void move(int x, int y); | 41 | void move(int x, int y); |
diff --git a/src/Ewmh.cc b/src/Ewmh.cc index 77581b8..241fd0a 100644 --- a/src/Ewmh.cc +++ b/src/Ewmh.cc | |||
@@ -34,8 +34,8 @@ | |||
34 | #include "FbTk/App.hh" | 34 | #include "FbTk/App.hh" |
35 | #include "FbTk/FbWindow.hh" | 35 | #include "FbTk/FbWindow.hh" |
36 | #include "FbTk/I18n.hh" | 36 | #include "FbTk/I18n.hh" |
37 | #include "FbTk/XLayerItem.hh" | 37 | #include "FbTk/LayerItem.hh" |
38 | #include "FbTk/XLayer.hh" | 38 | #include "FbTk/Layer.hh" |
39 | #include "FbTk/FbPixmap.hh" | 39 | #include "FbTk/FbPixmap.hh" |
40 | 40 | ||
41 | #include <X11/Xproto.h> | 41 | #include <X11/Xproto.h> |
@@ -1205,8 +1205,8 @@ bool Ewmh::checkClientMessage(const XClientMessageEvent &ce, | |||
1205 | above_win == winclient) // this would be very wrong :) | 1205 | above_win == winclient) // this would be very wrong :) |
1206 | return true; | 1206 | return true; |
1207 | 1207 | ||
1208 | FbTk::XLayerItem &below_item = winclient->fbwindow()->layerItem(); | 1208 | FbTk::LayerItem &below_item = winclient->fbwindow()->layerItem(); |
1209 | FbTk::XLayerItem &above_item = above_win->fbwindow()->layerItem(); | 1209 | FbTk::LayerItem &above_item = above_win->fbwindow()->layerItem(); |
1210 | 1210 | ||
1211 | // this might break the transient_for layering | 1211 | // this might break the transient_for layering |
1212 | 1212 | ||
diff --git a/src/FbMenu.cc b/src/FbMenu.cc index 5bc3622..dffd07c 100644 --- a/src/FbMenu.cc +++ b/src/FbMenu.cc | |||
@@ -29,7 +29,7 @@ | |||
29 | FluxboxWindow *FbMenu::s_window = 0; | 29 | FluxboxWindow *FbMenu::s_window = 0; |
30 | 30 | ||
31 | FbMenu::FbMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, | 31 | FbMenu::FbMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, |
32 | FbTk::ImageControl &imgctrl, FbTk::XLayer &layer): | 32 | FbTk::ImageControl &imgctrl, FbTk::Layer &layer): |
33 | FbTk::Menu(tm, imgctrl), | 33 | FbTk::Menu(tm, imgctrl), |
34 | m_layeritem(fbwindow(), layer) { | 34 | m_layeritem(fbwindow(), layer) { |
35 | 35 | ||
diff --git a/src/FbMenu.hh b/src/FbMenu.hh index 2e709fd..23c2ad5 100644 --- a/src/FbMenu.hh +++ b/src/FbMenu.hh | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <memory> | 25 | #include <memory> |
26 | 26 | ||
27 | #include "FbTk/Menu.hh" | 27 | #include "FbTk/Menu.hh" |
28 | #include "FbTk/XLayerItem.hh" | 28 | #include "FbTk/LayerItem.hh" |
29 | #include "FbTk/AutoReloadHelper.hh" | 29 | #include "FbTk/AutoReloadHelper.hh" |
30 | 30 | ||
31 | class FluxboxWindow; | 31 | class FluxboxWindow; |
@@ -38,7 +38,7 @@ class MenuTheme; | |||
38 | class FbMenu:public FbTk::Menu { | 38 | class FbMenu:public FbTk::Menu { |
39 | public: | 39 | public: |
40 | FbMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, FbTk::ImageControl &imgctrl, | 40 | FbMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, FbTk::ImageControl &imgctrl, |
41 | FbTk::XLayer &layer); | 41 | FbTk::Layer &layer); |
42 | virtual ~FbMenu() { } | 42 | virtual ~FbMenu() { } |
43 | void raise() { m_layeritem.raise(); } | 43 | void raise() { m_layeritem.raise(); } |
44 | void lower() { m_layeritem.lower(); } | 44 | void lower() { m_layeritem.lower(); } |
@@ -53,7 +53,7 @@ public: | |||
53 | static FluxboxWindow *window() { return s_window; } | 53 | static FluxboxWindow *window() { return s_window; } |
54 | 54 | ||
55 | private: | 55 | private: |
56 | FbTk::XLayerItem m_layeritem; | 56 | FbTk::LayerItem m_layeritem; |
57 | std::auto_ptr<FbTk::AutoReloadHelper> m_reloader; | 57 | std::auto_ptr<FbTk::AutoReloadHelper> m_reloader; |
58 | static FluxboxWindow *s_window; | 58 | static FluxboxWindow *s_window; |
59 | }; | 59 | }; |
diff --git a/src/FbTk/XLayer.cc b/src/FbTk/Layer.cc index f20f8ff..d3c6615 100644 --- a/src/FbTk/XLayer.cc +++ b/src/FbTk/Layer.cc | |||
@@ -1,4 +1,4 @@ | |||
1 | // XLayer.cc for FbTk - fluxbox toolkit | 1 | // Layer.cc for FbTk - fluxbox toolkit |
2 | // Copyright (c) 2003 - 2006 Henrik Kinnunen (fluxgen at fluxbox dot org) | 2 | // Copyright (c) 2003 - 2006 Henrik Kinnunen (fluxgen at fluxbox dot org) |
3 | // and Simon Bowden (rathnor at users.sourceforge.net) | 3 | // and Simon Bowden (rathnor at users.sourceforge.net) |
4 | // | 4 | // |
@@ -20,8 +20,8 @@ | |||
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 | #include "XLayer.hh" | 23 | #include "Layer.hh" |
24 | #include "XLayerItem.hh" | 24 | #include "LayerItem.hh" |
25 | #include "App.hh" | 25 | #include "App.hh" |
26 | #include "FbWindow.hh" | 26 | #include "FbWindow.hh" |
27 | #include "MultLayers.hh" | 27 | #include "MultLayers.hh" |
@@ -39,18 +39,18 @@ using std::endl; | |||
39 | 39 | ||
40 | namespace { | 40 | namespace { |
41 | 41 | ||
42 | int sum_windows(int nr, XLayerItem* item) { | 42 | int sum_windows(int nr, LayerItem* item) { |
43 | return nr + item->numWindows(); | 43 | return nr + item->numWindows(); |
44 | } | 44 | } |
45 | 45 | ||
46 | int count_windows(const FbTk::XLayer::ItemList& items) { | 46 | int count_windows(const FbTk::Layer::ItemList& items) { |
47 | return std::accumulate(items.begin(), items.end(), 0, sum_windows); | 47 | return std::accumulate(items.begin(), items.end(), 0, sum_windows); |
48 | } | 48 | } |
49 | 49 | ||
50 | 50 | ||
51 | void extract_windows_to_stack(const XLayerItem::Windows& windows, std::vector<Window>& stack) { | 51 | void extract_windows_to_stack(const LayerItem::Windows& windows, std::vector<Window>& stack) { |
52 | XLayerItem::Windows::const_iterator i = windows.begin(); | 52 | LayerItem::Windows::const_iterator i = windows.begin(); |
53 | XLayerItem::Windows::const_iterator end = windows.end(); | 53 | LayerItem::Windows::const_iterator end = windows.end(); |
54 | for (; i != end; ++i) { | 54 | for (; i != end; ++i) { |
55 | Window w = (*i)->window(); | 55 | Window w = (*i)->window(); |
56 | if (w) | 56 | if (w) |
@@ -58,14 +58,14 @@ void extract_windows_to_stack(const XLayerItem::Windows& windows, std::vector<Wi | |||
58 | } | 58 | } |
59 | } | 59 | } |
60 | 60 | ||
61 | void extract_windows_to_stack(const FbTk::XLayer::ItemList& items, XLayerItem* temp_raised, std::vector<Window>& stack) { | 61 | void extract_windows_to_stack(const FbTk::Layer::ItemList& items, LayerItem* temp_raised, std::vector<Window>& stack) { |
62 | 62 | ||
63 | if (temp_raised) { // add windows that go on top | 63 | if (temp_raised) { // add windows that go on top |
64 | extract_windows_to_stack(temp_raised->getWindows(), stack); | 64 | extract_windows_to_stack(temp_raised->getWindows(), stack); |
65 | } | 65 | } |
66 | 66 | ||
67 | FbTk::XLayer::ItemList::const_iterator it = items.begin(); | 67 | FbTk::Layer::ItemList::const_iterator it = items.begin(); |
68 | FbTk::XLayer::ItemList::const_iterator it_end = items.end(); | 68 | FbTk::Layer::ItemList::const_iterator it_end = items.end(); |
69 | for (; it != it_end; ++it) { // add all the windows from each other item | 69 | for (; it != it_end; ++it) { // add all the windows from each other item |
70 | if (*it == temp_raised) { | 70 | if (*it == temp_raised) { |
71 | continue; | 71 | continue; |
@@ -74,7 +74,7 @@ void extract_windows_to_stack(const FbTk::XLayer::ItemList& items, XLayerItem* t | |||
74 | } | 74 | } |
75 | } | 75 | } |
76 | 76 | ||
77 | void restack(const FbTk::XLayer::ItemList& items, XLayerItem* temp_raised) { | 77 | void restack(const FbTk::Layer::ItemList& items, LayerItem* temp_raised) { |
78 | 78 | ||
79 | std::vector<Window> stack; | 79 | std::vector<Window> stack; |
80 | extract_windows_to_stack(items, temp_raised, stack); | 80 | extract_windows_to_stack(items, temp_raised, stack); |
@@ -86,10 +86,10 @@ void restack(const FbTk::XLayer::ItemList& items, XLayerItem* temp_raised) { | |||
86 | } // end of anonymous namespace | 86 | } // end of anonymous namespace |
87 | 87 | ||
88 | 88 | ||
89 | void XLayer::restack(const std::vector<XLayer*>& layers) { | 89 | void Layer::restack(const std::vector<Layer*>& layers) { |
90 | 90 | ||
91 | std::vector<Window> stack; | 91 | std::vector<Window> stack; |
92 | std::vector<XLayer*>::const_iterator l; | 92 | std::vector<Layer*>::const_iterator l; |
93 | for (l = layers.begin(); l != layers.end(); ++l) { | 93 | for (l = layers.begin(); l != layers.end(); ++l) { |
94 | extract_windows_to_stack((*l)->itemList(), 0, stack); | 94 | extract_windows_to_stack((*l)->itemList(), 0, stack); |
95 | } | 95 | } |
@@ -98,32 +98,32 @@ void XLayer::restack(const std::vector<XLayer*>& layers) { | |||
98 | XRestackWindows(FbTk::App::instance()->display(), &stack[0], stack.size()); | 98 | XRestackWindows(FbTk::App::instance()->display(), &stack[0], stack.size()); |
99 | } | 99 | } |
100 | 100 | ||
101 | XLayer::XLayer(MultLayers &manager, int layernum): | 101 | Layer::Layer(MultLayers &manager, int layernum): |
102 | m_manager(manager), m_layernum(layernum), m_needs_restack(false) { | 102 | m_manager(manager), m_layernum(layernum), m_needs_restack(false) { |
103 | } | 103 | } |
104 | 104 | ||
105 | XLayer::~XLayer() { | 105 | Layer::~Layer() { |
106 | 106 | ||
107 | } | 107 | } |
108 | 108 | ||
109 | void XLayer::restack() { | 109 | void Layer::restack() { |
110 | if (m_manager.isUpdatable()) { | 110 | if (m_manager.isUpdatable()) { |
111 | ::restack(itemList(), 0); | 111 | ::restack(itemList(), 0); |
112 | m_needs_restack = false; | 112 | m_needs_restack = false; |
113 | } | 113 | } |
114 | } | 114 | } |
115 | 115 | ||
116 | void XLayer::restackAndTempRaise(XLayerItem &item) { | 116 | void Layer::restackAndTempRaise(LayerItem &item) { |
117 | ::restack(itemList(), &item); | 117 | ::restack(itemList(), &item); |
118 | } | 118 | } |
119 | 119 | ||
120 | int XLayer::countWindows() { | 120 | int Layer::countWindows() { |
121 | return ::count_windows(itemList()); | 121 | return ::count_windows(itemList()); |
122 | } | 122 | } |
123 | 123 | ||
124 | 124 | ||
125 | // Stack all windows associated with 'item' below the 'above' item | 125 | // Stack all windows associated with 'item' below the 'above' item |
126 | void XLayer::stackBelowItem(XLayerItem &item, XLayerItem *above) { | 126 | void Layer::stackBelowItem(LayerItem &item, LayerItem *above) { |
127 | if (!m_manager.isUpdatable()) | 127 | if (!m_manager.isUpdatable()) |
128 | return; | 128 | return; |
129 | 129 | ||
@@ -151,7 +151,7 @@ void XLayer::stackBelowItem(XLayerItem &item, XLayerItem *above) { | |||
151 | 151 | ||
152 | // We can't just use Restack here, because it won't do anything if they're | 152 | // We can't just use Restack here, because it won't do anything if they're |
153 | // already in the same relative order excluding other windows | 153 | // already in the same relative order excluding other windows |
154 | void XLayer::alignItem(XLayerItem &item) { | 154 | void Layer::alignItem(LayerItem &item) { |
155 | if (itemList().front() == &item) { | 155 | if (itemList().front() == &item) { |
156 | stackBelowItem(item, m_manager.getLowestItemAboveLayer(m_layernum)); | 156 | stackBelowItem(item, m_manager.getLowestItemAboveLayer(m_layernum)); |
157 | return; | 157 | return; |
@@ -178,11 +178,11 @@ void XLayer::alignItem(XLayerItem &item) { | |||
178 | 178 | ||
179 | } | 179 | } |
180 | 180 | ||
181 | XLayer::iterator XLayer::insert(XLayerItem &item, unsigned int pos) { | 181 | Layer::iterator Layer::insert(LayerItem &item, unsigned int pos) { |
182 | #ifdef DEBUG | 182 | #ifdef DEBUG |
183 | // at this point we don't support insertions into a layer other than at the top | 183 | // at this point we don't support insertions into a layer other than at the top |
184 | if (pos != 0) | 184 | if (pos != 0) |
185 | cerr<<__FILE__<<"("<<__LINE__<<"): Insert using non-zero position not valid in XLayer"<<endl; | 185 | cerr<<__FILE__<<"("<<__LINE__<<"): Insert using non-zero position not valid in Layer"<<endl; |
186 | #endif // DEBUG | 186 | #endif // DEBUG |
187 | 187 | ||
188 | itemList().push_front(&item); | 188 | itemList().push_front(&item); |
@@ -191,7 +191,7 @@ XLayer::iterator XLayer::insert(XLayerItem &item, unsigned int pos) { | |||
191 | return itemList().begin(); | 191 | return itemList().begin(); |
192 | } | 192 | } |
193 | 193 | ||
194 | void XLayer::remove(XLayerItem &item) { | 194 | void Layer::remove(LayerItem &item) { |
195 | iterator it = itemList().begin(); | 195 | iterator it = itemList().begin(); |
196 | iterator it_end = itemList().end(); | 196 | iterator it_end = itemList().end(); |
197 | for (; it != it_end; ++it) { | 197 | for (; it != it_end; ++it) { |
@@ -202,7 +202,7 @@ void XLayer::remove(XLayerItem &item) { | |||
202 | } | 202 | } |
203 | } | 203 | } |
204 | 204 | ||
205 | void XLayer::raise(XLayerItem &item) { | 205 | void Layer::raise(LayerItem &item) { |
206 | // assume it is already in this layer | 206 | // assume it is already in this layer |
207 | 207 | ||
208 | if (&item == itemList().front()) { | 208 | if (&item == itemList().front()) { |
@@ -227,7 +227,7 @@ void XLayer::raise(XLayerItem &item) { | |||
227 | 227 | ||
228 | } | 228 | } |
229 | 229 | ||
230 | void XLayer::tempRaise(XLayerItem &item) { | 230 | void Layer::tempRaise(LayerItem &item) { |
231 | // assume it is already in this layer | 231 | // assume it is already in this layer |
232 | 232 | ||
233 | if (!m_needs_restack && &item == itemList().front()) | 233 | if (!m_needs_restack && &item == itemList().front()) |
@@ -249,7 +249,7 @@ void XLayer::tempRaise(XLayerItem &item) { | |||
249 | m_needs_restack = true; | 249 | m_needs_restack = true; |
250 | } | 250 | } |
251 | 251 | ||
252 | void XLayer::lower(XLayerItem &item) { | 252 | void Layer::lower(LayerItem &item) { |
253 | // assume already in this layer | 253 | // assume already in this layer |
254 | 254 | ||
255 | // is it already the lowest? | 255 | // is it already the lowest? |
@@ -288,20 +288,20 @@ void XLayer::lower(XLayerItem &item) { | |||
288 | stackBelowItem(item, *it); | 288 | stackBelowItem(item, *it); |
289 | } | 289 | } |
290 | 290 | ||
291 | void XLayer::raiseLayer(XLayerItem &item) { | 291 | void Layer::raiseLayer(LayerItem &item) { |
292 | m_manager.raiseLayer(item); | 292 | m_manager.raiseLayer(item); |
293 | } | 293 | } |
294 | 294 | ||
295 | void XLayer::lowerLayer(XLayerItem &item) { | 295 | void Layer::lowerLayer(LayerItem &item) { |
296 | m_manager.lowerLayer(item); | 296 | m_manager.lowerLayer(item); |
297 | } | 297 | } |
298 | 298 | ||
299 | void XLayer::moveToLayer(XLayerItem &item, int layernum) { | 299 | void Layer::moveToLayer(LayerItem &item, int layernum) { |
300 | m_manager.moveToLayer(item, layernum); | 300 | m_manager.moveToLayer(item, layernum); |
301 | } | 301 | } |
302 | 302 | ||
303 | 303 | ||
304 | XLayerItem *XLayer::getLowestItem() { | 304 | LayerItem *Layer::getLowestItem() { |
305 | if (itemList().empty()) | 305 | if (itemList().empty()) |
306 | return 0; | 306 | return 0; |
307 | else | 307 | else |
diff --git a/src/FbTk/Layer.hh b/src/FbTk/Layer.hh index 5836c9c..6f8f184 100644 --- a/src/FbTk/Layer.hh +++ b/src/FbTk/Layer.hh | |||
@@ -1,7 +1,7 @@ | |||
1 | // Layer.hh for FbTk - fluxbox toolkit | 1 | // Layer.hh for FbTk - fluxbox toolkit |
2 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) | 2 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) |
3 | // and Simon Bowden (rathnor at users.sourceforge.net) | 3 | // and Simon Bowden (rathnor at users.sourceforge.net) |
4 | // | 4 | // |
5 | // Permission is hereby granted, free of charge, to any person obtaining a | 5 | // Permission is hereby granted, free of charge, to any person obtaining a |
6 | // copy of this software and associated documentation files (the "Software"), | 6 | // copy of this software and associated documentation files (the "Software"), |
7 | // to deal in the Software without restriction, including without limitation | 7 | // to deal in the Software without restriction, including without limitation |
@@ -20,92 +20,66 @@ | |||
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 | #ifndef FBTK_LAYERTEMPLATE_HH | 23 | #ifndef FBTK_XLAYER_HH |
24 | #define FBTK_LAYERTEMPLATE_HH | 24 | #define FBTK_XLAYER_HH |
25 | 25 | ||
26 | #include <vector> | 26 | #include <vector> |
27 | #include <algorithm> | 27 | #include <list> |
28 | 28 | ||
29 | namespace FbTk { | 29 | namespace FbTk { |
30 | 30 | ||
31 | template <typename ItemType, typename Container = std::vector<ItemType *> > | 31 | class MultLayers; |
32 | class LayerBase { | 32 | class LayerItem; |
33 | public: | ||
34 | typedef Container ListType; | ||
35 | typedef typename Container::iterator iterator; | ||
36 | typedef typename Container::reverse_iterator reverse_iterator; | ||
37 | virtual ~LayerBase() { } | ||
38 | /// insert in top by default | ||
39 | virtual iterator insert(ItemType &item, unsigned int pos=0); | ||
40 | /// remove item from list | ||
41 | virtual void remove(ItemType &item); | ||
42 | /// move item to top | ||
43 | virtual void raise(ItemType &item); | ||
44 | /// move item to bottom | ||
45 | virtual void lower(ItemType &item); | ||
46 | /// @return number of elements in layer | ||
47 | size_t size() const { return m_list.size(); } | ||
48 | /// @return layer list | ||
49 | const ListType &itemList() const { return m_list; } | ||
50 | /// @return layer list | ||
51 | ListType &itemList() { return m_list; } | ||
52 | protected: | ||
53 | virtual void restack(); | ||
54 | private: | ||
55 | ListType m_list; | ||
56 | }; | ||
57 | 33 | ||
58 | template <typename ItemType, typename Container> | 34 | class Layer { |
59 | typename Container::iterator LayerBase<ItemType, Container>::insert(ItemType &item, unsigned int position) { | 35 | public: |
60 | // make sure we don't alreay have it in the list | ||
61 | if (std::find(itemList().begin(), itemList().end(), &item) != itemList().end()) | ||
62 | return m_list.end(); | ||
63 | 36 | ||
64 | if (position > size()) | 37 | Layer(MultLayers &manager, int layernum); |
65 | position = size(); | 38 | ~Layer(); |
66 | 39 | ||
67 | iterator it = m_list.begin(); | 40 | typedef std::list<LayerItem *> ItemList; |
41 | typedef std::list<LayerItem *>::iterator iterator; | ||
68 | 42 | ||
69 | for (unsigned int i=0; i<position; ++it, ++i) | 43 | //typedef std::list<LayerItem *>::reverse_iterator reverse_iterator; |
70 | continue; | ||
71 | 44 | ||
72 | m_list.insert(it, &item); | 45 | void setLayerNum(int layernum) { m_layernum = layernum; }; |
73 | restack(); | 46 | int getLayerNum() { return m_layernum; }; |
74 | return it++; | 47 | // Put all items on the same layer (called when layer item added to) |
75 | } | 48 | void alignItem(LayerItem &item); |
49 | int countWindows(); | ||
50 | void stackBelowItem(LayerItem &item, LayerItem *above); | ||
51 | LayerItem *getLowestItem(); | ||
52 | const ItemList &itemList() const { return m_items; } | ||
53 | ItemList &itemList() { return m_items; } | ||
76 | 54 | ||
55 | // we redefine these as Layer has special optimisations, and X restacking needs | ||
56 | iterator insert(LayerItem &item, unsigned int pos=0); | ||
57 | void remove(LayerItem &item); | ||
77 | 58 | ||
78 | template <typename ItemType, typename Container> | 59 | // bring to top of layer |
79 | void LayerBase<ItemType, Container>::remove(ItemType &item) { | 60 | void raise(LayerItem &item); |
80 | iterator it = std::find(itemList().begin(), itemList().end(), &item); | 61 | void lower(LayerItem &item); |
81 | if (it != itemList().end()) | ||
82 | m_list.erase(it); | ||
83 | } | ||
84 | 62 | ||
85 | template <typename ItemType, typename Container> | 63 | // raise it, but don't make it permanent (i.e. restack will revert) |
86 | void LayerBase<ItemType, Container>::raise(ItemType &item) { | 64 | void tempRaise(LayerItem &item); |
87 | if (&item == itemList().front()) // already at the bottom | ||
88 | return; | ||
89 | remove(item); | ||
90 | insert(item, 0); | ||
91 | restack(); | ||
92 | } | ||
93 | 65 | ||
94 | template <typename ItemType, typename Container> | 66 | // send to next layer up |
95 | void LayerBase<ItemType, Container>::lower(ItemType &item) { | 67 | void raiseLayer(LayerItem &item); |
96 | if (&item == itemList().back()) // already at the bottom | 68 | void lowerLayer(LayerItem &item); |
97 | return; | 69 | void moveToLayer(LayerItem &item, int layernum); |
98 | remove(item); | ||
99 | insert(item, size()); | ||
100 | restack(); | ||
101 | } | ||
102 | 70 | ||
103 | template <typename ItemType, typename Container> | 71 | static void restack(const std::vector<Layer*>& layers); |
104 | void LayerBase<ItemType, Container>::restack() { | ||
105 | } | ||
106 | 72 | ||
73 | private: | ||
74 | void restack(); | ||
75 | void restackAndTempRaise(LayerItem &item); | ||
107 | 76 | ||
108 | } // end namespace FbTk | 77 | MultLayers &m_manager; |
78 | int m_layernum; | ||
79 | bool m_needs_restack; | ||
80 | ItemList m_items; | ||
81 | }; | ||
109 | 82 | ||
83 | } // namespace FbTk | ||
110 | 84 | ||
111 | #endif // FBTK_LAYERTEMPLATE_HH | 85 | #endif // FBTK_XLAYER_HH |
diff --git a/src/FbTk/XLayerItem.cc b/src/FbTk/LayerItem.cc index 7f6f594..02be4f0 100644 --- a/src/FbTk/XLayerItem.cc +++ b/src/FbTk/LayerItem.cc | |||
@@ -1,4 +1,4 @@ | |||
1 | // XLayerItem.cc for FbTk - fluxbox toolkit | 1 | // LayerItem.cc for FbTk - fluxbox toolkit |
2 | // Copyright (c) 2003 - 2006 Henrik Kinnunen (fluxgen at fluxbox dot org) | 2 | // Copyright (c) 2003 - 2006 Henrik Kinnunen (fluxgen at fluxbox dot org) |
3 | // and Simon Bowden (rathnor at users.sourceforge.net) | 3 | // and Simon Bowden (rathnor at users.sourceforge.net) |
4 | // | 4 | // |
@@ -20,25 +20,25 @@ | |||
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 | #include "XLayerItem.hh" | 23 | #include "LayerItem.hh" |
24 | #include "XLayer.hh" | 24 | #include "Layer.hh" |
25 | 25 | ||
26 | #include <algorithm> | 26 | #include <algorithm> |
27 | 27 | ||
28 | using namespace FbTk; | 28 | using namespace FbTk; |
29 | 29 | ||
30 | XLayerItem::XLayerItem(FbWindow &win, XLayer &layer) : | 30 | LayerItem::LayerItem(FbWindow &win, Layer &layer) : |
31 | m_layer(&layer) { | 31 | m_layer(&layer) { |
32 | m_windows.push_back(&win); | 32 | m_windows.push_back(&win); |
33 | m_layer->insert(*this); | 33 | m_layer->insert(*this); |
34 | } | 34 | } |
35 | 35 | ||
36 | 36 | ||
37 | XLayerItem::~XLayerItem() { | 37 | LayerItem::~LayerItem() { |
38 | m_layer->remove(*this); | 38 | m_layer->remove(*this); |
39 | } | 39 | } |
40 | 40 | ||
41 | void XLayerItem::setLayer(XLayer &layer) { | 41 | void LayerItem::setLayer(Layer &layer) { |
42 | // make sure we don't try to set the same layer | 42 | // make sure we don't try to set the same layer |
43 | if (m_layer == &layer) | 43 | if (m_layer == &layer) |
44 | return; | 44 | return; |
@@ -48,47 +48,47 @@ void XLayerItem::setLayer(XLayer &layer) { | |||
48 | m_layer->insert(*this); | 48 | m_layer->insert(*this); |
49 | } | 49 | } |
50 | 50 | ||
51 | void XLayerItem::raise() { | 51 | void LayerItem::raise() { |
52 | m_layer->raise(*this); | 52 | m_layer->raise(*this); |
53 | } | 53 | } |
54 | 54 | ||
55 | void XLayerItem::lower() { | 55 | void LayerItem::lower() { |
56 | m_layer->lower(*this); | 56 | m_layer->lower(*this); |
57 | } | 57 | } |
58 | 58 | ||
59 | void XLayerItem::tempRaise() { | 59 | void LayerItem::tempRaise() { |
60 | m_layer->tempRaise(*this); | 60 | m_layer->tempRaise(*this); |
61 | } | 61 | } |
62 | 62 | ||
63 | void XLayerItem::raiseLayer() { | 63 | void LayerItem::raiseLayer() { |
64 | m_layer->raiseLayer(*this); | 64 | m_layer->raiseLayer(*this); |
65 | } | 65 | } |
66 | 66 | ||
67 | void XLayerItem::lowerLayer() { | 67 | void LayerItem::lowerLayer() { |
68 | m_layer->lowerLayer(*this); | 68 | m_layer->lowerLayer(*this); |
69 | } | 69 | } |
70 | 70 | ||
71 | void XLayerItem::moveToLayer(int layernum) { | 71 | void LayerItem::moveToLayer(int layernum) { |
72 | m_layer->moveToLayer(*this, layernum); | 72 | m_layer->moveToLayer(*this, layernum); |
73 | } | 73 | } |
74 | 74 | ||
75 | void XLayerItem::addWindow(FbWindow &win) { | 75 | void LayerItem::addWindow(FbWindow &win) { |
76 | // I'd like to think we can trust ourselves that it won't be added twice... | 76 | // I'd like to think we can trust ourselves that it won't be added twice... |
77 | // Otherwise we're always scanning through the list. | 77 | // Otherwise we're always scanning through the list. |
78 | m_windows.push_back(&win); | 78 | m_windows.push_back(&win); |
79 | m_layer->alignItem(*this); | 79 | m_layer->alignItem(*this); |
80 | } | 80 | } |
81 | 81 | ||
82 | void XLayerItem::removeWindow(FbWindow &win) { | 82 | void LayerItem::removeWindow(FbWindow &win) { |
83 | // I'd like to think we can trust ourselves that it won't be added twice... | 83 | // I'd like to think we can trust ourselves that it won't be added twice... |
84 | // Otherwise we're always scanning through the list. | 84 | // Otherwise we're always scanning through the list. |
85 | 85 | ||
86 | XLayerItem::Windows::iterator it = std::find(m_windows.begin(), m_windows.end(), &win); | 86 | LayerItem::Windows::iterator it = std::find(m_windows.begin(), m_windows.end(), &win); |
87 | if (it != m_windows.end()) | 87 | if (it != m_windows.end()) |
88 | m_windows.erase(it); | 88 | m_windows.erase(it); |
89 | } | 89 | } |
90 | 90 | ||
91 | void XLayerItem::bringToTop(FbWindow &win) { | 91 | void LayerItem::bringToTop(FbWindow &win) { |
92 | removeWindow(win); | 92 | removeWindow(win); |
93 | addWindow(win); | 93 | addWindow(win); |
94 | } | 94 | } |
diff --git a/src/FbTk/LayerItem.hh b/src/FbTk/LayerItem.hh index 945bb9a..5d1035e 100644 --- a/src/FbTk/LayerItem.hh +++ b/src/FbTk/LayerItem.hh | |||
@@ -1,7 +1,7 @@ | |||
1 | // LayerItem.hh for fluxbox | 1 | // LayerItem.hh for FbTk - fluxbox toolkit |
2 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) | 2 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) |
3 | // and Simon Bowden (rathnor at users.sourceforge.net) | 3 | // and Simon Bowden (rathnor at users.sourceforge.net) |
4 | // | 4 | // |
5 | // Permission is hereby granted, free of charge, to any person obtaining a | 5 | // Permission is hereby granted, free of charge, to any person obtaining a |
6 | // copy of this software and associated documentation files (the "Software"), | 6 | // copy of this software and associated documentation files (the "Software"), |
7 | // to deal in the Software without restriction, including without limitation | 7 | // to deal in the Software without restriction, including without limitation |
@@ -20,20 +20,60 @@ | |||
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 | #ifndef FBTK_LAYERITEM_HH | 23 | #ifndef FBTK_XLAYERITEM_HH |
24 | #define FBTK_LAYERITEM_HH | 24 | #define FBTK_XLAYERITEM_HH |
25 | |||
26 | #include "Layer.hh" | ||
27 | #include "NotCopyable.hh" | ||
28 | #include <vector> | ||
25 | 29 | ||
26 | namespace FbTk { | 30 | namespace FbTk { |
27 | 31 | ||
28 | /// pure interface class, an item in layer | 32 | class FbWindow; |
29 | class LayerItem { | 33 | |
34 | class LayerItem : private NotCopyable { | ||
30 | public: | 35 | public: |
31 | virtual ~LayerItem() { } | 36 | typedef std::vector<FbWindow *> Windows; |
37 | |||
38 | LayerItem(FbWindow &win, Layer &layer); | ||
39 | ~LayerItem(); | ||
40 | |||
41 | void setLayer(Layer &layer); | ||
42 | |||
43 | void raise(); | ||
44 | void lower(); | ||
45 | void tempRaise(); // this raise gets reverted by a restack() | ||
46 | |||
47 | // send to next layer up | ||
48 | void raiseLayer(); | ||
49 | void lowerLayer(); | ||
50 | void moveToLayer(int layernum); | ||
51 | |||
52 | // this is needed for step and cycle functions | ||
53 | // (you need to know the next one visible, otherwise nothing may appear to happen) | ||
54 | // not yet implemented | ||
55 | bool visible() const { return true; } | ||
56 | |||
57 | const Layer &getLayer() const { return *m_layer; } | ||
58 | Layer &getLayer() { return *m_layer; } | ||
59 | int getLayerNum() { return m_layer->getLayerNum(); } | ||
60 | |||
61 | // an LayerItem holds several windows that are equivalent in a layer | ||
62 | // (i.e. if one is raised, then they should all be). | ||
63 | void addWindow(FbWindow &win); | ||
64 | void removeWindow(FbWindow &win); | ||
65 | |||
66 | // using this you can bring one window to the top of this item (equivalent to add then remove) | ||
67 | void bringToTop(FbWindow &win); | ||
68 | |||
69 | Windows &getWindows() { return m_windows; } | ||
70 | size_t numWindows() const { return m_windows.size(); } | ||
32 | 71 | ||
33 | virtual void raise() = 0; | 72 | private: |
34 | virtual void lower() = 0; | 73 | Layer *m_layer; |
74 | Windows m_windows; | ||
35 | }; | 75 | }; |
36 | 76 | ||
37 | } // end namespace FbTk | 77 | } |
38 | 78 | ||
39 | #endif // FBTK_LAYERITEM_HH | 79 | #endif // FBTK_XLAYERITEM_HH |
diff --git a/src/FbTk/Makefile.am b/src/FbTk/Makefile.am index 45a24b3..8619cc1 100644 --- a/src/FbTk/Makefile.am +++ b/src/FbTk/Makefile.am | |||
@@ -40,8 +40,8 @@ libFbTk_a_SOURCES = App.hh App.cc Color.cc Color.hh Command.hh \ | |||
40 | Button.hh Button.cc \ | 40 | Button.hh Button.cc \ |
41 | TextButton.hh TextButton.cc \ | 41 | TextButton.hh TextButton.cc \ |
42 | Container.hh Container.cc \ | 42 | Container.hh Container.cc \ |
43 | Layer.hh LayerItem.hh MultLayers.cc MultLayers.hh \ | 43 | MultLayers.cc MultLayers.hh \ |
44 | XLayer.cc XLayer.hh XLayerItem.cc XLayerItem.hh \ | 44 | Layer.cc Layer.hh LayerItem.cc LayerItem.hh \ |
45 | Resource.hh Resource.cc \ | 45 | Resource.hh Resource.cc \ |
46 | StringUtil.hh StringUtil.cc Parser.hh Parser.cc \ | 46 | StringUtil.hh StringUtil.cc Parser.hh Parser.cc \ |
47 | RegExp.hh RegExp.cc \ | 47 | RegExp.hh RegExp.cc \ |
diff --git a/src/FbTk/MultLayers.cc b/src/FbTk/MultLayers.cc index 0f0748f..2027286 100644 --- a/src/FbTk/MultLayers.cc +++ b/src/FbTk/MultLayers.cc | |||
@@ -21,8 +21,8 @@ | |||
21 | // DEALINGS IN THE SOFTWARE. | 21 | // DEALINGS IN THE SOFTWARE. |
22 | 22 | ||
23 | #include "MultLayers.hh" | 23 | #include "MultLayers.hh" |
24 | #include "XLayer.hh" | 24 | #include "Layer.hh" |
25 | #include "XLayerItem.hh" | 25 | #include "LayerItem.hh" |
26 | #include "App.hh" | 26 | #include "App.hh" |
27 | #include "FbWindow.hh" | 27 | #include "FbWindow.hh" |
28 | 28 | ||
@@ -34,7 +34,7 @@ MultLayers::MultLayers(int numlayers) : | |||
34 | m_lock(0) | 34 | m_lock(0) |
35 | { | 35 | { |
36 | for (int i=0; i < numlayers; ++i) | 36 | for (int i=0; i < numlayers; ++i) |
37 | m_layers.push_back(new XLayer(*this, i)); | 37 | m_layers.push_back(new Layer(*this, i)); |
38 | } | 38 | } |
39 | 39 | ||
40 | MultLayers::~MultLayers() { | 40 | MultLayers::~MultLayers() { |
@@ -45,19 +45,19 @@ MultLayers::~MultLayers() { | |||
45 | } | 45 | } |
46 | 46 | ||
47 | 47 | ||
48 | XLayerItem *MultLayers::getLowestItemAboveLayer(int layernum) { | 48 | LayerItem *MultLayers::getLowestItemAboveLayer(int layernum) { |
49 | if (layernum >= static_cast<signed>(m_layers.size()) || layernum <= 0) | 49 | if (layernum >= static_cast<signed>(m_layers.size()) || layernum <= 0) |
50 | return 0; | 50 | return 0; |
51 | 51 | ||
52 | layernum--; // next one up | 52 | layernum--; // next one up |
53 | XLayerItem *item = 0; | 53 | LayerItem *item = 0; |
54 | while (layernum >= 0 && (item = m_layers[layernum]->getLowestItem()) == 0) | 54 | while (layernum >= 0 && (item = m_layers[layernum]->getLowestItem()) == 0) |
55 | layernum--; | 55 | layernum--; |
56 | return item; | 56 | return item; |
57 | 57 | ||
58 | } | 58 | } |
59 | 59 | ||
60 | void MultLayers::addToTop(XLayerItem &item, int layernum) { | 60 | void MultLayers::addToTop(LayerItem &item, int layernum) { |
61 | layernum = FbTk::Util::clamp(layernum, 0, static_cast<signed>(m_layers.size()) - 1); | 61 | layernum = FbTk::Util::clamp(layernum, 0, static_cast<signed>(m_layers.size()) - 1); |
62 | m_layers[layernum]->insert(item); | 62 | m_layers[layernum]->insert(item); |
63 | restack(); | 63 | restack(); |
@@ -65,7 +65,7 @@ void MultLayers::addToTop(XLayerItem &item, int layernum) { | |||
65 | 65 | ||
66 | 66 | ||
67 | // raise the whole layer | 67 | // raise the whole layer |
68 | void MultLayers::raise(XLayer &layer) { | 68 | void MultLayers::raise(Layer &layer) { |
69 | int layernum = layer.getLayerNum(); | 69 | int layernum = layer.getLayerNum(); |
70 | if (layernum >= static_cast<signed>(m_layers.size() - 1)) | 70 | if (layernum >= static_cast<signed>(m_layers.size() - 1)) |
71 | // already on top | 71 | // already on top |
@@ -75,7 +75,7 @@ void MultLayers::raise(XLayer &layer) { | |||
75 | } | 75 | } |
76 | 76 | ||
77 | // lower the whole layer | 77 | // lower the whole layer |
78 | void MultLayers::lower(XLayer &layer) { | 78 | void MultLayers::lower(Layer &layer) { |
79 | int layernum = layer.getLayerNum(); | 79 | int layernum = layer.getLayerNum(); |
80 | if (layernum == 0) | 80 | if (layernum == 0) |
81 | // already on bottom | 81 | // already on bottom |
@@ -85,22 +85,22 @@ void MultLayers::lower(XLayer &layer) { | |||
85 | } | 85 | } |
86 | 86 | ||
87 | /* raise the item one level */ | 87 | /* raise the item one level */ |
88 | void MultLayers::raiseLayer(XLayerItem &item) { | 88 | void MultLayers::raiseLayer(LayerItem &item) { |
89 | // get the layer it is in | 89 | // get the layer it is in |
90 | XLayer &curr_layer = item.getLayer(); | 90 | Layer &curr_layer = item.getLayer(); |
91 | moveToLayer(item, curr_layer.getLayerNum()-1); | 91 | moveToLayer(item, curr_layer.getLayerNum()-1); |
92 | } | 92 | } |
93 | 93 | ||
94 | /* raise the item one level */ | 94 | /* raise the item one level */ |
95 | void MultLayers::lowerLayer(XLayerItem &item) { | 95 | void MultLayers::lowerLayer(LayerItem &item) { |
96 | // get the layer it is in | 96 | // get the layer it is in |
97 | XLayer &curr_layer = item.getLayer(); | 97 | Layer &curr_layer = item.getLayer(); |
98 | moveToLayer(item, curr_layer.getLayerNum()+1); | 98 | moveToLayer(item, curr_layer.getLayerNum()+1); |
99 | } | 99 | } |
100 | 100 | ||
101 | void MultLayers::moveToLayer(XLayerItem &item, int layernum) { | 101 | void MultLayers::moveToLayer(LayerItem &item, int layernum) { |
102 | // get the layer it is in | 102 | // get the layer it is in |
103 | XLayer &curr_layer = item.getLayer(); | 103 | Layer &curr_layer = item.getLayer(); |
104 | 104 | ||
105 | // do nothing if the item already is in the requested layer | 105 | // do nothing if the item already is in the requested layer |
106 | if (curr_layer.getLayerNum() == layernum) | 106 | if (curr_layer.getLayerNum() == layernum) |
@@ -114,7 +114,7 @@ void MultLayers::restack() { | |||
114 | if (!isUpdatable()) | 114 | if (!isUpdatable()) |
115 | return; | 115 | return; |
116 | 116 | ||
117 | XLayer::restack(m_layers); | 117 | Layer::restack(m_layers); |
118 | } | 118 | } |
119 | 119 | ||
120 | int MultLayers::size() { | 120 | int MultLayers::size() { |
@@ -125,13 +125,13 @@ int MultLayers::size() { | |||
125 | return num; | 125 | return num; |
126 | } | 126 | } |
127 | 127 | ||
128 | XLayer *MultLayers::getLayer(size_t num) { | 128 | Layer *MultLayers::getLayer(size_t num) { |
129 | if (num >= m_layers.size()) | 129 | if (num >= m_layers.size()) |
130 | return 0; | 130 | return 0; |
131 | return m_layers[num]; | 131 | return m_layers[num]; |
132 | } | 132 | } |
133 | 133 | ||
134 | const XLayer *MultLayers::getLayer(size_t num) const { | 134 | const Layer *MultLayers::getLayer(size_t num) const { |
135 | if (num >= m_layers.size()) | 135 | if (num >= m_layers.size()) |
136 | return 0; | 136 | return 0; |
137 | return m_layers[num]; | 137 | return m_layers[num]; |
diff --git a/src/FbTk/MultLayers.hh b/src/FbTk/MultLayers.hh index 735ff6a..62c006f 100644 --- a/src/FbTk/MultLayers.hh +++ b/src/FbTk/MultLayers.hh | |||
@@ -27,34 +27,34 @@ | |||
27 | 27 | ||
28 | namespace FbTk { | 28 | namespace FbTk { |
29 | 29 | ||
30 | class XLayerItem; | 30 | class LayerItem; |
31 | class XLayer; | 31 | class Layer; |
32 | 32 | ||
33 | class MultLayers { | 33 | class MultLayers { |
34 | public: | 34 | public: |
35 | explicit MultLayers(int numlayers); | 35 | explicit MultLayers(int numlayers); |
36 | ~MultLayers(); | 36 | ~MultLayers(); |
37 | XLayerItem *getLowestItemAboveLayer(int layernum); | 37 | LayerItem *getLowestItemAboveLayer(int layernum); |
38 | 38 | ||
39 | /// if there are none below, it will return null | 39 | /// if there are none below, it will return null |
40 | XLayerItem *getItemBelow(XLayerItem &item); | 40 | LayerItem *getItemBelow(LayerItem &item); |
41 | XLayerItem *getItemAbove(XLayerItem &item); | 41 | LayerItem *getItemAbove(LayerItem &item); |
42 | void addToTop(XLayerItem &item, int layernum); | 42 | void addToTop(LayerItem &item, int layernum); |
43 | void remove(XLayerItem &item); | 43 | void remove(LayerItem &item); |
44 | 44 | ||
45 | // raise/lower the whole layer | 45 | // raise/lower the whole layer |
46 | void raise(XLayer &layer); | 46 | void raise(Layer &layer); |
47 | void lower(XLayer &layer); | 47 | void lower(Layer &layer); |
48 | 48 | ||
49 | // raise/lower the item a whole layer, not just to top of current layer | 49 | // raise/lower the item a whole layer, not just to top of current layer |
50 | void raiseLayer(XLayerItem &item); | 50 | void raiseLayer(LayerItem &item); |
51 | void lowerLayer(XLayerItem &item); | 51 | void lowerLayer(LayerItem &item); |
52 | 52 | ||
53 | void moveToLayer(XLayerItem &item, int layernum); | 53 | void moveToLayer(LayerItem &item, int layernum); |
54 | int size(); | 54 | int size(); |
55 | 55 | ||
56 | XLayer *getLayer(size_t num); | 56 | Layer *getLayer(size_t num); |
57 | const XLayer *getLayer(size_t num) const; | 57 | const Layer *getLayer(size_t num) const; |
58 | 58 | ||
59 | bool isUpdatable() const { return m_lock == 0; } | 59 | bool isUpdatable() const { return m_lock == 0; } |
60 | void lock() { ++m_lock; } | 60 | void lock() { ++m_lock; } |
@@ -63,7 +63,7 @@ public: | |||
63 | private: | 63 | private: |
64 | void restack(); | 64 | void restack(); |
65 | 65 | ||
66 | std::vector<XLayer *> m_layers; | 66 | std::vector<Layer *> m_layers; |
67 | int m_lock; | 67 | int m_lock; |
68 | }; | 68 | }; |
69 | 69 | ||
diff --git a/src/FbTk/XLayer.hh b/src/FbTk/XLayer.hh deleted file mode 100644 index 6255950..0000000 --- a/src/FbTk/XLayer.hh +++ /dev/null | |||
@@ -1,85 +0,0 @@ | |||
1 | // XLayer.hh for FbTk - fluxbox toolkit | ||
2 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) | ||
3 | // and Simon Bowden (rathnor at users.sourceforge.net) | ||
4 | // | ||
5 | // Permission is hereby granted, free of charge, to any person obtaining a | ||
6 | // copy of this software and associated documentation files (the "Software"), | ||
7 | // to deal in the Software without restriction, including without limitation | ||
8 | // the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
9 | // and/or sell copies of the Software, and to permit persons to whom the | ||
10 | // Software is furnished to do so, subject to the following conditions: | ||
11 | // | ||
12 | // The above copyright notice and this permission notice shall be included in | ||
13 | // all copies or substantial portions of the Software. | ||
14 | // | ||
15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
18 | // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
20 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
21 | // DEALINGS IN THE SOFTWARE. | ||
22 | |||
23 | #ifndef FBTK_XLAYER_HH | ||
24 | #define FBTK_XLAYER_HH | ||
25 | |||
26 | #include <vector> | ||
27 | #include <list> | ||
28 | |||
29 | namespace FbTk { | ||
30 | |||
31 | class MultLayers; | ||
32 | class XLayerItem; | ||
33 | |||
34 | class XLayer { | ||
35 | public: | ||
36 | |||
37 | XLayer(MultLayers &manager, int layernum); | ||
38 | ~XLayer(); | ||
39 | |||
40 | typedef std::list<XLayerItem *> ItemList; | ||
41 | typedef std::list<XLayerItem *>::iterator iterator; | ||
42 | |||
43 | //typedef std::list<XLayerItem *>::reverse_iterator reverse_iterator; | ||
44 | |||
45 | void setLayerNum(int layernum) { m_layernum = layernum; }; | ||
46 | int getLayerNum() { return m_layernum; }; | ||
47 | // Put all items on the same layer (called when layer item added to) | ||
48 | void alignItem(XLayerItem &item); | ||
49 | int countWindows(); | ||
50 | void stackBelowItem(XLayerItem &item, XLayerItem *above); | ||
51 | XLayerItem *getLowestItem(); | ||
52 | const ItemList &itemList() const { return m_items; } | ||
53 | ItemList &itemList() { return m_items; } | ||
54 | |||
55 | // we redefine these as XLayer has special optimisations, and X restacking needs | ||
56 | iterator insert(XLayerItem &item, unsigned int pos=0); | ||
57 | void remove(XLayerItem &item); | ||
58 | |||
59 | // bring to top of layer | ||
60 | void raise(XLayerItem &item); | ||
61 | void lower(XLayerItem &item); | ||
62 | |||
63 | // raise it, but don't make it permanent (i.e. restack will revert) | ||
64 | void tempRaise(XLayerItem &item); | ||
65 | |||
66 | // send to next layer up | ||
67 | void raiseLayer(XLayerItem &item); | ||
68 | void lowerLayer(XLayerItem &item); | ||
69 | void moveToLayer(XLayerItem &item, int layernum); | ||
70 | |||
71 | static void restack(const std::vector<XLayer*>& layers); | ||
72 | |||
73 | private: | ||
74 | void restack(); | ||
75 | void restackAndTempRaise(XLayerItem &item); | ||
76 | |||
77 | MultLayers &m_manager; | ||
78 | int m_layernum; | ||
79 | bool m_needs_restack; | ||
80 | ItemList m_items; | ||
81 | }; | ||
82 | |||
83 | } // namespace FbTk | ||
84 | |||
85 | #endif // FBTK_XLAYER_HH | ||
diff --git a/src/FbTk/XLayerItem.hh b/src/FbTk/XLayerItem.hh deleted file mode 100644 index 67da511..0000000 --- a/src/FbTk/XLayerItem.hh +++ /dev/null | |||
@@ -1,79 +0,0 @@ | |||
1 | // XLayerItem.hh for FbTk - fluxbox toolkit | ||
2 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) | ||
3 | // and Simon Bowden (rathnor at users.sourceforge.net) | ||
4 | // | ||
5 | // Permission is hereby granted, free of charge, to any person obtaining a | ||
6 | // copy of this software and associated documentation files (the "Software"), | ||
7 | // to deal in the Software without restriction, including without limitation | ||
8 | // the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
9 | // and/or sell copies of the Software, and to permit persons to whom the | ||
10 | // Software is furnished to do so, subject to the following conditions: | ||
11 | // | ||
12 | // The above copyright notice and this permission notice shall be included in | ||
13 | // all copies or substantial portions of the Software. | ||
14 | // | ||
15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
16 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
17 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
18 | // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
19 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
20 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
21 | // DEALINGS IN THE SOFTWARE. | ||
22 | |||
23 | #ifndef FBTK_XLAYERITEM_HH | ||
24 | #define FBTK_XLAYERITEM_HH | ||
25 | |||
26 | #include "XLayer.hh" | ||
27 | #include "NotCopyable.hh" | ||
28 | #include <vector> | ||
29 | |||
30 | namespace FbTk { | ||
31 | |||
32 | class FbWindow; | ||
33 | |||
34 | class XLayerItem : private NotCopyable { | ||
35 | public: | ||
36 | typedef std::vector<FbWindow *> Windows; | ||
37 | |||
38 | XLayerItem(FbWindow &win, XLayer &layer); | ||
39 | ~XLayerItem(); | ||
40 | |||
41 | void setLayer(XLayer &layer); | ||
42 | |||
43 | void raise(); | ||
44 | void lower(); | ||
45 | void tempRaise(); // this raise gets reverted by a restack() | ||
46 | |||
47 | // send to next layer up | ||
48 | void raiseLayer(); | ||
49 | void lowerLayer(); | ||
50 | void moveToLayer(int layernum); | ||
51 | |||
52 | // this is needed for step and cycle functions | ||
53 | // (you need to know the next one visible, otherwise nothing may appear to happen) | ||
54 | // not yet implemented | ||
55 | bool visible() const { return true; } | ||
56 | |||
57 | const XLayer &getLayer() const { return *m_layer; } | ||
58 | XLayer &getLayer() { return *m_layer; } | ||
59 | int getLayerNum() { return m_layer->getLayerNum(); } | ||
60 | |||
61 | // an XLayerItem holds several windows that are equivalent in a layer | ||
62 | // (i.e. if one is raised, then they should all be). | ||
63 | void addWindow(FbWindow &win); | ||
64 | void removeWindow(FbWindow &win); | ||
65 | |||
66 | // using this you can bring one window to the top of this item (equivalent to add then remove) | ||
67 | void bringToTop(FbWindow &win); | ||
68 | |||
69 | Windows &getWindows() { return m_windows; } | ||
70 | size_t numWindows() const { return m_windows.size(); } | ||
71 | |||
72 | private: | ||
73 | XLayer *m_layer; | ||
74 | Windows m_windows; | ||
75 | }; | ||
76 | |||
77 | } | ||
78 | |||
79 | #endif // FBTK_XLAYERITEM_HH | ||
diff --git a/src/FbWinFrame.hh b/src/FbWinFrame.hh index 162bf3d..68da564 100644 --- a/src/FbWinFrame.hh +++ b/src/FbWinFrame.hh | |||
@@ -27,7 +27,7 @@ | |||
27 | #include "FbTk/RefCount.hh" | 27 | #include "FbTk/RefCount.hh" |
28 | #include "FbTk/Subject.hh" | 28 | #include "FbTk/Subject.hh" |
29 | #include "FbTk/Color.hh" | 29 | #include "FbTk/Color.hh" |
30 | #include "FbTk/XLayerItem.hh" | 30 | #include "FbTk/LayerItem.hh" |
31 | #include "FbTk/TextButton.hh" | 31 | #include "FbTk/TextButton.hh" |
32 | #include "FbTk/DefaultValue.hh" | 32 | #include "FbTk/DefaultValue.hh" |
33 | #include "FbTk/Container.hh" | 33 | #include "FbTk/Container.hh" |
@@ -50,7 +50,7 @@ namespace FbTk { | |||
50 | class ImageControl; | 50 | class ImageControl; |
51 | template <class T> class Command; | 51 | template <class T> class Command; |
52 | class Texture; | 52 | class Texture; |
53 | class XLayer; | 53 | class Layer; |
54 | } | 54 | } |
55 | 55 | ||
56 | /// holds a window frame with a client window | 56 | /// holds a window frame with a client window |
@@ -231,8 +231,8 @@ public: | |||
231 | unsigned int buttonHeight() const; | 231 | unsigned int buttonHeight() const; |
232 | bool externalTabMode() const { return m_tabmode == EXTERNAL && m_use_tabs; } | 232 | bool externalTabMode() const { return m_tabmode == EXTERNAL && m_use_tabs; } |
233 | 233 | ||
234 | const FbTk::XLayerItem &layerItem() const { return m_layeritem; } | 234 | const FbTk::LayerItem &layerItem() const { return m_layeritem; } |
235 | FbTk::XLayerItem &layerItem() { return m_layeritem; } | 235 | FbTk::LayerItem &layerItem() { return m_layeritem; } |
236 | 236 | ||
237 | const FbTk::Subject &frameExtentSig() const { return m_frame_extent_sig; } | 237 | const FbTk::Subject &frameExtentSig() const { return m_frame_extent_sig; } |
238 | FbTk::Subject &frameExtentSig() { return m_frame_extent_sig; } | 238 | FbTk::Subject &frameExtentSig() { return m_frame_extent_sig; } |
@@ -310,7 +310,7 @@ private: | |||
310 | //@{ | 310 | //@{ |
311 | FbTk::FbWindow m_window; ///< base window that holds each decorations (ie titlebar, handles) | 311 | FbTk::FbWindow m_window; ///< base window that holds each decorations (ie titlebar, handles) |
312 | // want this deleted before the windows in it | 312 | // want this deleted before the windows in it |
313 | FbTk::XLayerItem m_layeritem; | 313 | FbTk::LayerItem m_layeritem; |
314 | 314 | ||
315 | FbTk::FbWindow m_titlebar; ///< titlebar window | 315 | FbTk::FbWindow m_titlebar; ///< titlebar window |
316 | FbTk::Container m_tab_container; ///< Holds tabs | 316 | FbTk::Container m_tab_container; ///< Holds tabs |
diff --git a/src/LayerMenu.cc b/src/LayerMenu.cc index f1d9dd9..0638366 100644 --- a/src/LayerMenu.cc +++ b/src/LayerMenu.cc | |||
@@ -30,7 +30,7 @@ | |||
30 | 30 | ||
31 | LayerMenu::LayerMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, | 31 | LayerMenu::LayerMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, |
32 | FbTk::ImageControl &imgctrl, | 32 | FbTk::ImageControl &imgctrl, |
33 | FbTk::XLayer &layer, LayerObject *object, bool save_rc): | 33 | FbTk::Layer &layer, LayerObject *object, bool save_rc): |
34 | ToggleMenu(tm, imgctrl, layer) { | 34 | ToggleMenu(tm, imgctrl, layer) { |
35 | _FB_USES_NLS; | 35 | _FB_USES_NLS; |
36 | 36 | ||
diff --git a/src/LayerMenu.hh b/src/LayerMenu.hh index 40e934c..ffb6c3f 100644 --- a/src/LayerMenu.hh +++ b/src/LayerMenu.hh | |||
@@ -64,7 +64,7 @@ class LayerMenu : public ToggleMenu { | |||
64 | public: | 64 | public: |
65 | LayerMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, | 65 | LayerMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, |
66 | FbTk::ImageControl &imgctrl, | 66 | FbTk::ImageControl &imgctrl, |
67 | FbTk::XLayer &layer, LayerObject *item, bool save_rc); | 67 | FbTk::Layer &layer, LayerObject *item, bool save_rc); |
68 | void show(); | 68 | void show(); |
69 | }; | 69 | }; |
70 | 70 | ||
diff --git a/src/Screen.cc b/src/Screen.cc index 1f53edc..e13c2c6 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -62,7 +62,7 @@ | |||
62 | #include "FbTk/FbWindow.hh" | 62 | #include "FbTk/FbWindow.hh" |
63 | #include "FbTk/SimpleCommand.hh" | 63 | #include "FbTk/SimpleCommand.hh" |
64 | #include "FbTk/MultLayers.hh" | 64 | #include "FbTk/MultLayers.hh" |
65 | #include "FbTk/XLayerItem.hh" | 65 | #include "FbTk/LayerItem.hh" |
66 | #include "FbTk/MacroCommand.hh" | 66 | #include "FbTk/MacroCommand.hh" |
67 | #include "FbTk/StringUtil.hh" | 67 | #include "FbTk/StringUtil.hh" |
68 | #include "FbTk/ImageControl.hh" | 68 | #include "FbTk/ImageControl.hh" |
@@ -1794,7 +1794,7 @@ void BScreen::hideGeometry() { | |||
1794 | m_geom_window->hide(); | 1794 | m_geom_window->hide(); |
1795 | } | 1795 | } |
1796 | 1796 | ||
1797 | void BScreen::setLayer(FbTk::XLayerItem &item, int layernum) { | 1797 | void BScreen::setLayer(FbTk::LayerItem &item, int layernum) { |
1798 | m_layermanager.moveToLayer(item, layernum); | 1798 | m_layermanager.moveToLayer(item, layernum); |
1799 | } | 1799 | } |
1800 | 1800 | ||
diff --git a/src/Screen.hh b/src/Screen.hh index b3e80be..1a4ba9f 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -72,7 +72,7 @@ class OSDWindow; | |||
72 | namespace FbTk { | 72 | namespace FbTk { |
73 | class Menu; | 73 | class Menu; |
74 | class ImageControl; | 74 | class ImageControl; |
75 | class XLayerItem; | 75 | class LayerItem; |
76 | class FbWindow; | 76 | class FbWindow; |
77 | class Subject; | 77 | class Subject; |
78 | } | 78 | } |
@@ -386,7 +386,7 @@ public: | |||
386 | 386 | ||
387 | TooltipWindow& tooltipWindow() { return *m_tooltip_window; } | 387 | TooltipWindow& tooltipWindow() { return *m_tooltip_window; } |
388 | 388 | ||
389 | void setLayer(FbTk::XLayerItem &item, int layernum); | 389 | void setLayer(FbTk::LayerItem &item, int layernum); |
390 | // remove? no, items are never removed from their layer until they die | 390 | // remove? no, items are never removed from their layer until they die |
391 | 391 | ||
392 | /// updates root window size and resizes/reconfigures screen clients | 392 | /// updates root window size and resizes/reconfigures screen clients |
diff --git a/src/Slit.cc b/src/Slit.cc index bdd1a28..aa62997 100644 --- a/src/Slit.cc +++ b/src/Slit.cc | |||
@@ -46,7 +46,7 @@ | |||
46 | #include "FbCommands.hh" | 46 | #include "FbCommands.hh" |
47 | #include "Layer.hh" | 47 | #include "Layer.hh" |
48 | #include "LayerMenu.hh" | 48 | #include "LayerMenu.hh" |
49 | #include "FbTk/XLayer.hh" | 49 | #include "FbTk/Layer.hh" |
50 | #include "RootTheme.hh" | 50 | #include "RootTheme.hh" |
51 | #include "FbMenu.hh" | 51 | #include "FbMenu.hh" |
52 | 52 | ||
@@ -218,7 +218,7 @@ private: | |||
218 | unsigned int Slit::s_eventmask = SubstructureRedirectMask | ButtonPressMask | | 218 | unsigned int Slit::s_eventmask = SubstructureRedirectMask | ButtonPressMask | |
219 | EnterWindowMask | LeaveWindowMask | ExposureMask; | 219 | EnterWindowMask | LeaveWindowMask | ExposureMask; |
220 | 220 | ||
221 | Slit::Slit(BScreen &scr, FbTk::XLayer &layer, const char *filename) | 221 | Slit::Slit(BScreen &scr, FbTk::Layer &layer, const char *filename) |
222 | : m_hidden(false), m_visible(false), | 222 | : m_hidden(false), m_visible(false), |
223 | m_screen(scr), | 223 | m_screen(scr), |
224 | m_clientlist_menu(scr.menuTheme(), | 224 | m_clientlist_menu(scr.menuTheme(), |
@@ -292,7 +292,7 @@ Slit::Slit(BScreen &scr, FbTk::XLayer &layer, const char *filename) | |||
292 | frame.window.setAlpha(*m_rc_alpha); | 292 | frame.window.setAlpha(*m_rc_alpha); |
293 | } | 293 | } |
294 | 294 | ||
295 | m_layeritem.reset(new FbTk::XLayerItem(frame.window, layer)); | 295 | m_layeritem.reset(new FbTk::LayerItem(frame.window, layer)); |
296 | 296 | ||
297 | m_layermenu.reset(new LayerMenu(scr.menuTheme(), | 297 | m_layermenu.reset(new LayerMenu(scr.menuTheme(), |
298 | scr.imageControl(), | 298 | scr.imageControl(), |
diff --git a/src/Slit.hh b/src/Slit.hh index 5514b42..fea43ea 100644 --- a/src/Slit.hh +++ b/src/Slit.hh | |||
@@ -37,7 +37,7 @@ | |||
37 | #include "FbTk/FbWindow.hh" | 37 | #include "FbTk/FbWindow.hh" |
38 | #include "FbTk/Timer.hh" | 38 | #include "FbTk/Timer.hh" |
39 | #include "FbTk/Resource.hh" | 39 | #include "FbTk/Resource.hh" |
40 | #include "FbTk/XLayerItem.hh" | 40 | #include "FbTk/LayerItem.hh" |
41 | #include "FbTk/Signal.hh" | 41 | #include "FbTk/Signal.hh" |
42 | 42 | ||
43 | #include <X11/Xutil.h> | 43 | #include <X11/Xutil.h> |
@@ -69,7 +69,7 @@ public: | |||
69 | RIGHTBOTTOM, RIGHTCENTER, RIGHTTOP | 69 | RIGHTBOTTOM, RIGHTCENTER, RIGHTTOP |
70 | }; | 70 | }; |
71 | 71 | ||
72 | Slit(BScreen &screen, FbTk::XLayer &layer, const char *filename = 0); | 72 | Slit(BScreen &screen, FbTk::Layer &layer, const char *filename = 0); |
73 | virtual ~Slit(); | 73 | virtual ~Slit(); |
74 | 74 | ||
75 | void show() { frame.window.show(); m_visible = true; } | 75 | void show() { frame.window.show(); m_visible = true; } |
@@ -178,7 +178,7 @@ private: | |||
178 | // for KDE | 178 | // for KDE |
179 | Atom m_kwm1_dockwindow, m_kwm2_dockwindow; | 179 | Atom m_kwm1_dockwindow, m_kwm2_dockwindow; |
180 | 180 | ||
181 | std::auto_ptr<FbTk::XLayerItem> m_layeritem; | 181 | std::auto_ptr<FbTk::LayerItem> m_layeritem; |
182 | std::auto_ptr<SlitTheme> m_slit_theme; | 182 | std::auto_ptr<SlitTheme> m_slit_theme; |
183 | static unsigned int s_eventmask; | 183 | static unsigned int s_eventmask; |
184 | Strut *m_strut; | 184 | Strut *m_strut; |
diff --git a/src/ToggleMenu.hh b/src/ToggleMenu.hh index e7c0ad0..9f6f00b 100644 --- a/src/ToggleMenu.hh +++ b/src/ToggleMenu.hh | |||
@@ -31,7 +31,7 @@ | |||
31 | class ToggleMenu: public FbMenu { | 31 | class ToggleMenu: public FbMenu { |
32 | public: | 32 | public: |
33 | ToggleMenu(class FbTk::ThemeProxy<FbTk::MenuTheme> &tm, | 33 | ToggleMenu(class FbTk::ThemeProxy<FbTk::MenuTheme> &tm, |
34 | FbTk::ImageControl &imgctrl, FbTk::XLayer &layer): | 34 | FbTk::ImageControl &imgctrl, FbTk::Layer &layer): |
35 | FbMenu(tm, imgctrl, layer) { } | 35 | FbMenu(tm, imgctrl, layer) { } |
36 | 36 | ||
37 | virtual ~ToggleMenu() {} | 37 | virtual ~ToggleMenu() {} |
diff --git a/src/Toolbar.cc b/src/Toolbar.cc index 26722f7..896268f 100644 --- a/src/Toolbar.cc +++ b/src/Toolbar.cc | |||
@@ -181,7 +181,7 @@ Toolbar::Frame::~Frame() { | |||
181 | evm.remove(window); | 181 | evm.remove(window); |
182 | } | 182 | } |
183 | 183 | ||
184 | Toolbar::Toolbar(BScreen &scrn, FbTk::XLayer &layer, size_t width): | 184 | Toolbar::Toolbar(BScreen &scrn, FbTk::Layer &layer, size_t width): |
185 | m_hidden(false), | 185 | m_hidden(false), |
186 | frame(*this, scrn.screenNumber()), | 186 | frame(*this, scrn.screenNumber()), |
187 | m_window_pm(0), | 187 | m_window_pm(0), |
diff --git a/src/Toolbar.hh b/src/Toolbar.hh index ed77335..1f41ed5 100644 --- a/src/Toolbar.hh +++ b/src/Toolbar.hh | |||
@@ -37,8 +37,8 @@ | |||
37 | 37 | ||
38 | #include "FbTk/Timer.hh" | 38 | #include "FbTk/Timer.hh" |
39 | #include "FbTk/Resource.hh" | 39 | #include "FbTk/Resource.hh" |
40 | #include "FbTk/XLayer.hh" | 40 | #include "FbTk/Layer.hh" |
41 | #include "FbTk/XLayerItem.hh" | 41 | #include "FbTk/LayerItem.hh" |
42 | #include "FbTk/EventHandler.hh" | 42 | #include "FbTk/EventHandler.hh" |
43 | #include "FbTk/FbWindow.hh" | 43 | #include "FbTk/FbWindow.hh" |
44 | #include "FbTk/Signal.hh" | 44 | #include "FbTk/Signal.hh" |
@@ -74,7 +74,7 @@ public: | |||
74 | }; | 74 | }; |
75 | 75 | ||
76 | /// Create a toolbar on the screen with specific width | 76 | /// Create a toolbar on the screen with specific width |
77 | Toolbar(BScreen &screen, FbTk::XLayer &layer, size_t width = 200); | 77 | Toolbar(BScreen &screen, FbTk::Layer &layer, size_t width = 200); |
78 | 78 | ||
79 | virtual ~Toolbar(); | 79 | virtual ~Toolbar(); |
80 | 80 | ||
@@ -102,7 +102,7 @@ public: | |||
102 | void reconfigure(); | 102 | void reconfigure(); |
103 | void setPlacement(Placement where); | 103 | void setPlacement(Placement where); |
104 | 104 | ||
105 | int layerNumber() const { return const_cast<FbTk::XLayerItem &>(m_layeritem).getLayerNum(); } | 105 | int layerNumber() const { return const_cast<FbTk::LayerItem &>(m_layeritem).getLayerNum(); } |
106 | 106 | ||
107 | const FbTk::Menu &menu() const { return m_toolbarmenu; } | 107 | const FbTk::Menu &menu() const { return m_toolbarmenu; } |
108 | FbTk::Menu &menu() { return m_toolbarmenu; } | 108 | FbTk::Menu &menu() { return m_toolbarmenu; } |
@@ -164,7 +164,7 @@ private: | |||
164 | 164 | ||
165 | FbTk::Timer m_hide_timer; ///< timer to for auto hide toolbar | 165 | FbTk::Timer m_hide_timer; ///< timer to for auto hide toolbar |
166 | 166 | ||
167 | FbTk::XLayerItem m_layeritem; ///< layer item, must be declared before layermenu | 167 | FbTk::LayerItem m_layeritem; ///< layer item, must be declared before layermenu |
168 | LayerMenu m_layermenu; | 168 | LayerMenu m_layermenu; |
169 | FbMenu m_placementmenu, m_toolbarmenu; | 169 | FbMenu m_placementmenu, m_toolbarmenu; |
170 | #ifdef XINERAMA | 170 | #ifdef XINERAMA |
diff --git a/src/Window.hh b/src/Window.hh index fee2807..9c2037a 100644 --- a/src/Window.hh +++ b/src/Window.hh | |||
@@ -30,7 +30,7 @@ | |||
30 | #include "FbTk/Subject.hh" | 30 | #include "FbTk/Subject.hh" |
31 | #include "FbTk/Observer.hh" | 31 | #include "FbTk/Observer.hh" |
32 | #include "FbTk/EventHandler.hh" | 32 | #include "FbTk/EventHandler.hh" |
33 | #include "FbTk/XLayerItem.hh" | 33 | #include "FbTk/LayerItem.hh" |
34 | #include "FbTk/Signal.hh" | 34 | #include "FbTk/Signal.hh" |
35 | 35 | ||
36 | #include "FbWinFrame.hh" | 36 | #include "FbWinFrame.hh" |
@@ -55,7 +55,7 @@ namespace FbTk { | |||
55 | class TextButton; | 55 | class TextButton; |
56 | class MenuTheme; | 56 | class MenuTheme; |
57 | class ImageControl; | 57 | class ImageControl; |
58 | class XLayer; | 58 | class Layer; |
59 | } | 59 | } |
60 | 60 | ||
61 | /// Creates the window frame and handles any window event for it | 61 | /// Creates the window frame and handles any window event for it |
@@ -403,8 +403,8 @@ public: | |||
403 | 403 | ||
404 | bool isTyping() const; | 404 | bool isTyping() const; |
405 | 405 | ||
406 | const FbTk::XLayerItem &layerItem() const { return m_frame.layerItem(); } | 406 | const FbTk::LayerItem &layerItem() const { return m_frame.layerItem(); } |
407 | FbTk::XLayerItem &layerItem() { return m_frame.layerItem(); } | 407 | FbTk::LayerItem &layerItem() { return m_frame.layerItem(); } |
408 | 408 | ||
409 | Window clientWindow() const; | 409 | Window clientWindow() const; |
410 | 410 | ||
diff --git a/src/Xinerama.hh b/src/Xinerama.hh index 9d7941b..b0ff70e 100644 --- a/src/Xinerama.hh +++ b/src/Xinerama.hh | |||
@@ -63,7 +63,7 @@ template <typename ItemType> | |||
63 | class XineramaHeadMenu : public ToggleMenu { | 63 | class XineramaHeadMenu : public ToggleMenu { |
64 | public: | 64 | public: |
65 | XineramaHeadMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, BScreen &screen, | 65 | XineramaHeadMenu(FbTk::ThemeProxy<FbTk::MenuTheme> &tm, BScreen &screen, |
66 | FbTk::ImageControl &imgctrl, FbTk::XLayer &layer, | 66 | FbTk::ImageControl &imgctrl, FbTk::Layer &layer, |
67 | ItemType &item, const FbTk::FbString & title = ""); | 67 | ItemType &item, const FbTk::FbString & title = ""); |
68 | void reloadHeads(); | 68 | void reloadHeads(); |
69 | 69 | ||
@@ -76,7 +76,7 @@ private: | |||
76 | template <typename ItemType> | 76 | template <typename ItemType> |
77 | XineramaHeadMenu<ItemType>::XineramaHeadMenu( | 77 | XineramaHeadMenu<ItemType>::XineramaHeadMenu( |
78 | FbTk::ThemeProxy<FbTk::MenuTheme> &tm, BScreen &screen, | 78 | FbTk::ThemeProxy<FbTk::MenuTheme> &tm, BScreen &screen, |
79 | FbTk::ImageControl &imgctrl, FbTk::XLayer &layer, ItemType &item, | 79 | FbTk::ImageControl &imgctrl, FbTk::Layer &layer, ItemType &item, |
80 | const FbTk::FbString & title): | 80 | const FbTk::FbString & title): |
81 | ToggleMenu(tm, imgctrl, layer), | 81 | ToggleMenu(tm, imgctrl, layer), |
82 | m_object(item), m_screen(screen) | 82 | m_object(item), m_screen(screen) |
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 4513c47..ee0abae 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -465,7 +465,7 @@ Fluxbox::Fluxbox(int argc, char **argv, | |||
465 | Fluxbox::~Fluxbox() { | 465 | Fluxbox::~Fluxbox() { |
466 | 466 | ||
467 | // this needs to be destroyed before screens; otherwise, menus stored in | 467 | // this needs to be destroyed before screens; otherwise, menus stored in |
468 | // key commands cause a segfault when the XLayerItem is destroyed | 468 | // key commands cause a segfault when the LayerItem is destroyed |
469 | m_key.reset(0); | 469 | m_key.reset(0); |
470 | 470 | ||
471 | leaveAll(); // leave all connections | 471 | leaveAll(); // leave all connections |
diff --git a/src/tests/testLayers.cc b/src/tests/testLayers.cc index 23d2f67..181e138 100644 --- a/src/tests/testLayers.cc +++ b/src/tests/testLayers.cc | |||
@@ -7,8 +7,8 @@ | |||
7 | #include "Color.hh" | 7 | #include "Color.hh" |
8 | #include "EventManager.hh" | 8 | #include "EventManager.hh" |
9 | #include <iostream> | 9 | #include <iostream> |
10 | #include "XLayer.hh" | 10 | #include "Layer.hh" |
11 | #include "XLayerItem.hh" | 11 | #include "LayerItem.hh" |
12 | #include "MultLayers.hh" | 12 | #include "MultLayers.hh" |
13 | 13 | ||
14 | using namespace FbTk; | 14 | using namespace FbTk; |
@@ -87,26 +87,26 @@ int main() { | |||
87 | Display *disp = app.display(); | 87 | Display *disp = app.display(); |
88 | XEvent event; | 88 | XEvent event; |
89 | MultLayers *ml = new MultLayers(3); | 89 | MultLayers *ml = new MultLayers(3); |
90 | XLayerItem *item_red = new XLayerItem(win_red.window()); | 90 | LayerItem *item_red = new XLayerItem(win_red.window()); |
91 | item_red->addWindow(win_redB.window()); | 91 | item_red->addWindow(win_redB.window()); |
92 | XLayerItem *item_green = new XLayerItem(win_green.window()); | 92 | LayerItem *item_green = new LayerItem(win_green.window()); |
93 | XLayerItem *item_blue = new XLayerItem(win_blue.window()); | 93 | LayerItem *item_blue = new LayerItem(win_blue.window()); |
94 | 94 | ||
95 | ml->addToTop(*item_blue, 0); | 95 | ml->addToTop(*item_blue, 0); |
96 | ml->addToTop(*item_green, 0); | 96 | ml->addToTop(*item_green, 0); |
97 | ml->addToTop(*item_red, 0); | 97 | ml->addToTop(*item_red, 0); |
98 | 98 | ||
99 | XLayerItem *item_red2 = new XLayerItem(win_red2.window()); | 99 | LayerItem *item_red2 = new LayerItem(win_red2.window()); |
100 | XLayerItem *item_green2 = new XLayerItem(win_green2.window()); | 100 | LayerItem *item_green2 = new LayerItem(win_green2.window()); |
101 | XLayerItem *item_blue2 = new XLayerItem(win_blue2.window()); | 101 | LayerItem *item_blue2 = new LayerItem(win_blue2.window()); |
102 | 102 | ||
103 | ml->addToTop(*item_blue2, 1); | 103 | ml->addToTop(*item_blue2, 1); |
104 | ml->addToTop(*item_green2, 1); | 104 | ml->addToTop(*item_green2, 1); |
105 | ml->addToTop(*item_red2, 1); | 105 | ml->addToTop(*item_red2, 1); |
106 | 106 | ||
107 | XLayerItem *item_red3 = new XLayerItem(win_red3.window()); | 107 | LayerItem *item_red3 = new LayerItem(win_red3.window()); |
108 | XLayerItem *item_green3 = new XLayerItem(win_green3.window()); | 108 | LayerItem *item_green3 = new LayerItem(win_green3.window()); |
109 | XLayerItem *item_blue3 = new XLayerItem(win_blue3.window()); | 109 | LayerItem *item_blue3 = new LayerItem(win_blue3.window()); |
110 | 110 | ||
111 | ml->addToTop(*item_blue3, 2); | 111 | ml->addToTop(*item_blue3, 2); |
112 | ml->addToTop(*item_green3, 2); | 112 | ml->addToTop(*item_green3, 2); |