diff options
Diffstat (limited to 'src/FbWinFrame.hh')
-rw-r--r-- | src/FbWinFrame.hh | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/FbWinFrame.hh b/src/FbWinFrame.hh index 1335694..961e8c5 100644 --- a/src/FbWinFrame.hh +++ b/src/FbWinFrame.hh | |||
@@ -30,6 +30,7 @@ | |||
30 | #include "FbTk/Observer.hh" | 30 | #include "FbTk/Observer.hh" |
31 | #include "FbTk/Color.hh" | 31 | #include "FbTk/Color.hh" |
32 | #include "FbTk/FbPixmap.hh" | 32 | #include "FbTk/FbPixmap.hh" |
33 | #include "Container.hh" | ||
33 | 34 | ||
34 | #include <vector> | 35 | #include <vector> |
35 | #include <list> | 36 | #include <list> |
@@ -51,6 +52,8 @@ class Texture; | |||
51 | /// (see: <a href="fluxbox_fbwinframe.png">image</a>) | 52 | /// (see: <a href="fluxbox_fbwinframe.png">image</a>) |
52 | class FbWinFrame:public FbTk::EventHandler { | 53 | class FbWinFrame:public FbTk::EventHandler { |
53 | public: | 54 | public: |
55 | enum TabMode { INTERNAL = 1, EXTERNAL }; | ||
56 | |||
54 | typedef FbTk::TextButton *ButtonId; ///< defines a button id | 57 | typedef FbTk::TextButton *ButtonId; ///< defines a button id |
55 | 58 | ||
56 | /// create a top level window | 59 | /// create a top level window |
@@ -112,15 +115,15 @@ public: | |||
112 | /// removes a specific button from label window | 115 | /// removes a specific button from label window |
113 | void removeTab(ButtonId id); | 116 | void removeTab(ButtonId id); |
114 | /// move label button to the left | 117 | /// move label button to the left |
115 | void moveLabelButtonLeft(const FbTk::TextButton &btn); | 118 | void moveLabelButtonLeft(FbTk::TextButton &btn); |
116 | /// move label button to the right | 119 | /// move label button to the right |
117 | void moveLabelButtonRight(const FbTk::TextButton &btn); | 120 | void moveLabelButtonRight(FbTk::TextButton &btn); |
118 | /// move label button to the given location( x and y are relative to the root window) | 121 | /// move label button to the given location( x and y are relative to the root window) |
119 | void moveLabelButtonTo(FbTk::TextButton &btn, int x, int y); | 122 | void moveLabelButtonTo(FbTk::TextButton &btn, int x, int y); |
120 | /// move the first label button to the left of the second | 123 | /// move the first label button to the left of the second |
121 | void moveLabelButtonLeftOf(const FbTk::TextButton &btn, const FbTk::TextButton &dest); | 124 | void moveLabelButtonLeftOf(FbTk::TextButton &btn, const FbTk::TextButton &dest); |
122 | //move the first label button to the right of the second | 125 | //move the first label button to the right of the second |
123 | void moveLabelButtonRightOf(const FbTk::TextButton &btn, const FbTk::TextButton &dest); | 126 | void moveLabelButtonRightOf(FbTk::TextButton &btn, const FbTk::TextButton &dest); |
124 | /// which button is to be rendered focused | 127 | /// which button is to be rendered focused |
125 | void setLabelButtonFocus(FbTk::TextButton &btn); | 128 | void setLabelButtonFocus(FbTk::TextButton &btn); |
126 | /// attach a client window for client area | 129 | /// attach a client window for client area |
@@ -252,6 +255,7 @@ private: | |||
252 | //@{ | 255 | //@{ |
253 | FbTk::FbWindow m_window; ///< base window that holds each decorations (ie titlebar, handles) | 256 | FbTk::FbWindow m_window; ///< base window that holds each decorations (ie titlebar, handles) |
254 | FbTk::FbWindow m_titlebar; ///< titlebar window | 257 | FbTk::FbWindow m_titlebar; ///< titlebar window |
258 | Container m_tab_container; ///< Holds tabs | ||
255 | FbTk::FbWindow m_label; ///< holds title | 259 | FbTk::FbWindow m_label; ///< holds title |
256 | FbTk::FbWindow m_handle; ///< handle between grips | 260 | FbTk::FbWindow m_handle; ///< handle between grips |
257 | FbTk::FbWindow m_grip_right, ///< rightgrip | 261 | FbTk::FbWindow m_grip_right, ///< rightgrip |
@@ -262,7 +266,6 @@ private: | |||
262 | ButtonList m_buttons_left, ///< buttons to the left | 266 | ButtonList m_buttons_left, ///< buttons to the left |
263 | m_buttons_right; ///< buttons to the right | 267 | m_buttons_right; ///< buttons to the right |
264 | typedef std::list<FbTk::TextButton *> LabelList; | 268 | typedef std::list<FbTk::TextButton *> LabelList; |
265 | LabelList m_labelbuttons; ///< holds label buttons inside label window | ||
266 | FbTk::TextButton *m_current_label; ///< which client button is focused at the moment | 269 | FbTk::TextButton *m_current_label; ///< which client button is focused at the moment |
267 | std::string m_titletext; ///< text to be displayed int m_label | 270 | std::string m_titletext; ///< text to be displayed int m_label |
268 | int m_bevel; ///< bevel between titlebar items and titlebar | 271 | int m_bevel; ///< bevel between titlebar items and titlebar |
@@ -309,6 +312,8 @@ private: | |||
309 | FbTk::Color m_grip_unfocused_color; ///< unfocused color for grip if no pixmap is given | 312 | FbTk::Color m_grip_unfocused_color; ///< unfocused color for grip if no pixmap is given |
310 | //@} | 313 | //@} |
311 | 314 | ||
315 | TabMode m_tabmode; | ||
316 | |||
312 | bool m_need_render; | 317 | bool m_need_render; |
313 | int m_button_size; ///< size for all titlebar buttons | 318 | int m_button_size; ///< size for all titlebar buttons |
314 | unsigned int m_width_before_shade, ///< width before shade, so we can restore it when we unshade | 319 | unsigned int m_width_before_shade, ///< width before shade, so we can restore it when we unshade |
@@ -334,6 +339,7 @@ private: | |||
334 | ThemeListener m_themelistener; | 339 | ThemeListener m_themelistener; |
335 | std::auto_ptr<Shape> m_shape; | 340 | std::auto_ptr<Shape> m_shape; |
336 | bool m_disable_shape; | 341 | bool m_disable_shape; |
342 | |||
337 | }; | 343 | }; |
338 | 344 | ||
339 | #endif // FBWINFRAME_HH | 345 | #endif // FBWINFRAME_HH |