diff options
Diffstat (limited to 'src/IconbarTool.hh')
-rw-r--r-- | src/IconbarTool.hh | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/IconbarTool.hh b/src/IconbarTool.hh index af1ba37..278bf21 100644 --- a/src/IconbarTool.hh +++ b/src/IconbarTool.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: IconbarTool.hh,v 1.17 2004/10/10 16:11:25 akir Exp $ | 23 | // $Id: IconbarTool.hh,v 1.18 2004/10/22 00:35:29 akir Exp $ |
24 | 24 | ||
25 | #ifndef ICONBARTOOL_HH | 25 | #ifndef ICONBARTOOL_HH |
26 | #define ICONBARTOOL_HH | 26 | #define ICONBARTOOL_HH |
@@ -54,6 +54,20 @@ public: | |||
54 | ALLWINDOWS ///< all windows and all icons from all workspaces | 54 | ALLWINDOWS ///< all windows and all icons from all workspaces |
55 | }; | 55 | }; |
56 | 56 | ||
57 | /// deiconfiy mode for iconbuttons | ||
58 | enum DeiconifyMode { | ||
59 | CURRENT, ///< raise the window on the current workspace | ||
60 | FOLLOW, ///< raise the window on the workspace it was iconified from | ||
61 | SEMIFOLLOW, ///< like current for iconified windows, and like follow for others | ||
62 | }; | ||
63 | |||
64 | /// wheeling on iconbutton | ||
65 | enum WheelMode { | ||
66 | OFF, ///< no wheeling, default mode | ||
67 | ON, ///< enabled wheeling | ||
68 | SCREEN ///< in perfect harmony with desktopwheeling-value | ||
69 | }; | ||
70 | |||
57 | IconbarTool(const FbTk::FbWindow &parent, IconbarTheme &theme, | 71 | IconbarTool(const FbTk::FbWindow &parent, IconbarTheme &theme, |
58 | BScreen &screen, FbTk::Menu &menu); | 72 | BScreen &screen, FbTk::Menu &menu); |
59 | ~IconbarTool(); | 73 | ~IconbarTool(); |
@@ -68,12 +82,17 @@ public: | |||
68 | void hide(); | 82 | void hide(); |
69 | void setAlignment(Container::Alignment a); | 83 | void setAlignment(Container::Alignment a); |
70 | void setMode(Mode mode); | 84 | void setMode(Mode mode); |
85 | void setDeiconifyMode(DeiconifyMode mode); | ||
86 | void setWheelMode(WheelMode mode); | ||
71 | 87 | ||
72 | unsigned int width() const; | 88 | unsigned int width() const; |
73 | unsigned int height() const; | 89 | unsigned int height() const; |
74 | unsigned int borderWidth() const; | 90 | unsigned int borderWidth() const; |
75 | 91 | ||
76 | Mode mode() const { return *m_rc_mode; } | 92 | Mode mode() const { return *m_rc_mode; } |
93 | DeiconifyMode deiconifyMode() const { return *m_deiconify_mode; } | ||
94 | WheelMode wheelMode() const { return *m_wheel_mode; } | ||
95 | |||
77 | Container::Alignment alignment() const { return m_icon_container.alignment(); } | 96 | Container::Alignment alignment() const { return m_icon_container.alignment(); } |
78 | private: | 97 | private: |
79 | /// @return button associated with window | 98 | /// @return button associated with window |
@@ -117,6 +136,8 @@ private: | |||
117 | 136 | ||
118 | IconList m_icon_list; | 137 | IconList m_icon_list; |
119 | FbTk::Resource<Mode> m_rc_mode; | 138 | FbTk::Resource<Mode> m_rc_mode; |
139 | FbTk::Resource<DeiconifyMode> m_deiconify_mode; | ||
140 | FbTk::Resource<WheelMode> m_wheel_mode; | ||
120 | FbTk::Resource<Container::Alignment> m_rc_alignment; ///< alignment of buttons | 141 | FbTk::Resource<Container::Alignment> m_rc_alignment; ///< alignment of buttons |
121 | FbTk::Resource<int> m_rc_client_width; ///< size of client button in LEFT/RIGHT mode | 142 | FbTk::Resource<int> m_rc_client_width; ///< size of client button in LEFT/RIGHT mode |
122 | FbTk::Resource<unsigned int> m_rc_client_padding; ///< padding of the text | 143 | FbTk::Resource<unsigned int> m_rc_client_padding; ///< padding of the text |