aboutsummaryrefslogtreecommitdiff
path: root/src/FbWinFrame.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/FbWinFrame.hh')
-rw-r--r--src/FbWinFrame.hh16
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>)
52class FbWinFrame:public FbTk::EventHandler { 53class FbWinFrame:public FbTk::EventHandler {
53public: 54public:
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