diff options
author | Jim Ramsay <i.am@jimramsay.com> | 2009-10-14 01:05:49 (GMT) |
---|---|---|
committer | Jim Ramsay <i.am@jimramsay.com> | 2009-10-14 01:05:49 (GMT) |
commit | 839ea523164caecd8c779e60539b78c2a748a81f (patch) | |
tree | 0019d04f27a1a258bc7a900e3cf77b916dca6493 /src/FbTk/Layer.hh | |
parent | 4d3aa646c1d1d1de4fdb31f938f6ea62fd5dd21e (diff) | |
parent | 8def80cec337a986b762cdbb5e2555c6da809353 (diff) | |
download | fluxbox_lack-839ea523164caecd8c779e60539b78c2a748a81f.zip fluxbox_lack-839ea523164caecd8c779e60539b78c2a748a81f.tar.bz2 |
Merge branch 'master' into argbtesting/argbargb
Conflicts:
src/FbTk/FbWindow.cc
Diffstat (limited to 'src/FbTk/Layer.hh')
-rw-r--r-- | src/FbTk/Layer.hh | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/src/FbTk/Layer.hh b/src/FbTk/Layer.hh index b9257c3..5836c9c 100644 --- a/src/FbTk/Layer.hh +++ b/src/FbTk/Layer.hh | |||
@@ -29,12 +29,12 @@ | |||
29 | namespace FbTk { | 29 | namespace FbTk { |
30 | 30 | ||
31 | template <typename ItemType, typename Container = std::vector<ItemType *> > | 31 | template <typename ItemType, typename Container = std::vector<ItemType *> > |
32 | class Layer { | 32 | class LayerBase { |
33 | public: | 33 | public: |
34 | typedef Container ListType; | 34 | typedef Container ListType; |
35 | typedef typename Container::iterator iterator; | 35 | typedef typename Container::iterator iterator; |
36 | typedef typename Container::reverse_iterator reverse_iterator; | 36 | typedef typename Container::reverse_iterator reverse_iterator; |
37 | virtual ~Layer() { } | 37 | virtual ~LayerBase() { } |
38 | /// insert in top by default | 38 | /// insert in top by default |
39 | virtual iterator insert(ItemType &item, unsigned int pos=0); | 39 | virtual iterator insert(ItemType &item, unsigned int pos=0); |
40 | /// remove item from list | 40 | /// remove item from list |
@@ -43,8 +43,6 @@ public: | |||
43 | virtual void raise(ItemType &item); | 43 | virtual void raise(ItemType &item); |
44 | /// move item to bottom | 44 | /// move item to bottom |
45 | virtual void lower(ItemType &item); | 45 | virtual void lower(ItemType &item); |
46 | /// @return layer item on specific position, on failure 0 | ||
47 | ItemType *getItem(unsigned int position); | ||
48 | /// @return number of elements in layer | 46 | /// @return number of elements in layer |
49 | size_t size() const { return m_list.size(); } | 47 | size_t size() const { return m_list.size(); } |
50 | /// @return layer list | 48 | /// @return layer list |
@@ -58,7 +56,7 @@ private: | |||
58 | }; | 56 | }; |
59 | 57 | ||
60 | template <typename ItemType, typename Container> | 58 | template <typename ItemType, typename Container> |
61 | typename Container::iterator Layer<ItemType, Container>::insert(ItemType &item, unsigned int position) { | 59 | typename Container::iterator LayerBase<ItemType, Container>::insert(ItemType &item, unsigned int position) { |
62 | // make sure we don't alreay have it in the list | 60 | // make sure we don't alreay have it in the list |
63 | if (std::find(itemList().begin(), itemList().end(), &item) != itemList().end()) | 61 | if (std::find(itemList().begin(), itemList().end(), &item) != itemList().end()) |
64 | return m_list.end(); | 62 | return m_list.end(); |
@@ -78,14 +76,14 @@ typename Container::iterator Layer<ItemType, Container>::insert(ItemType &item, | |||
78 | 76 | ||
79 | 77 | ||
80 | template <typename ItemType, typename Container> | 78 | template <typename ItemType, typename Container> |
81 | void Layer<ItemType, Container>::remove(ItemType &item) { | 79 | void LayerBase<ItemType, Container>::remove(ItemType &item) { |
82 | iterator it = std::find(itemList().begin(), itemList().end(), &item); | 80 | iterator it = std::find(itemList().begin(), itemList().end(), &item); |
83 | if (it != itemList().end()) | 81 | if (it != itemList().end()) |
84 | m_list.erase(it); | 82 | m_list.erase(it); |
85 | } | 83 | } |
86 | 84 | ||
87 | template <typename ItemType, typename Container> | 85 | template <typename ItemType, typename Container> |
88 | void Layer<ItemType, Container>::raise(ItemType &item) { | 86 | void LayerBase<ItemType, Container>::raise(ItemType &item) { |
89 | if (&item == itemList().front()) // already at the bottom | 87 | if (&item == itemList().front()) // already at the bottom |
90 | return; | 88 | return; |
91 | remove(item); | 89 | remove(item); |
@@ -94,7 +92,7 @@ void Layer<ItemType, Container>::raise(ItemType &item) { | |||
94 | } | 92 | } |
95 | 93 | ||
96 | template <typename ItemType, typename Container> | 94 | template <typename ItemType, typename Container> |
97 | void Layer<ItemType, Container>::lower(ItemType &item) { | 95 | void LayerBase<ItemType, Container>::lower(ItemType &item) { |
98 | if (&item == itemList().back()) // already at the bottom | 96 | if (&item == itemList().back()) // already at the bottom |
99 | return; | 97 | return; |
100 | remove(item); | 98 | remove(item); |
@@ -103,20 +101,7 @@ void Layer<ItemType, Container>::lower(ItemType &item) { | |||
103 | } | 101 | } |
104 | 102 | ||
105 | template <typename ItemType, typename Container> | 103 | template <typename ItemType, typename Container> |
106 | ItemType *Layer<ItemType, Container>::getItem(unsigned int position) { | 104 | void LayerBase<ItemType, Container>::restack() { |
107 | if (position >= m_list.size()) | ||
108 | return 0; | ||
109 | iterator it = m_list.begin(); | ||
110 | iterator it_end = m_list.end(); | ||
111 | for (unsigned int i=0; i < position && it != it_end; i++); | ||
112 | |||
113 | if (it == it_end) return 0; | ||
114 | else | ||
115 | return *it; | ||
116 | } | ||
117 | |||
118 | template <typename ItemType, typename Container> | ||
119 | void Layer<ItemType, Container>::restack() { | ||
120 | } | 105 | } |
121 | 106 | ||
122 | 107 | ||