diff options
Diffstat (limited to 'src/FbWinFrame.hh')
-rw-r--r-- | src/FbWinFrame.hh | 25 |
1 files changed, 7 insertions, 18 deletions
diff --git a/src/FbWinFrame.hh b/src/FbWinFrame.hh index 1eefe42..bdc2add 100644 --- a/src/FbWinFrame.hh +++ b/src/FbWinFrame.hh | |||
@@ -43,6 +43,8 @@ | |||
43 | class Shape; | 43 | class Shape; |
44 | class FbWinFrameTheme; | 44 | class FbWinFrameTheme; |
45 | class BScreen; | 45 | class BScreen; |
46 | class IconButton; | ||
47 | class Focusable; | ||
46 | 48 | ||
47 | namespace FbTk { | 49 | namespace FbTk { |
48 | class TextButton; | 50 | class TextButton; |
@@ -71,8 +73,6 @@ public: | |||
71 | }; | 73 | }; |
72 | 74 | ||
73 | 75 | ||
74 | typedef FbTk::TextButton *ButtonId; ///< defines a button id | ||
75 | |||
76 | /// create a top level window | 76 | /// create a top level window |
77 | FbWinFrame(BScreen &screen, FbWinFrameTheme &theme, FbTk::ImageControl &imgctrl, | 77 | FbWinFrame(BScreen &screen, FbWinFrameTheme &theme, FbTk::ImageControl &imgctrl, |
78 | FbTk::XLayer &layer, | 78 | FbTk::XLayer &layer, |
@@ -142,10 +142,9 @@ public: | |||
142 | /// remove all buttons from titlebar | 142 | /// remove all buttons from titlebar |
143 | void removeAllButtons(); | 143 | void removeAllButtons(); |
144 | /// adds a button to label window with specified title and command | 144 | /// adds a button to label window with specified title and command |
145 | ButtonId createTab(const std::string &title, FbTk::Command *cmd, int tab_padding); | 145 | IconButton *createTab(Focusable &client); |
146 | // void addLabelButton(FbTk::TextButton &btn); | ||
147 | /// removes a specific button from label window | 146 | /// removes a specific button from label window |
148 | void removeTab(ButtonId id); | 147 | void removeTab(IconButton *id); |
149 | /// move label button to the left | 148 | /// move label button to the left |
150 | void moveLabelButtonLeft(FbTk::TextButton &btn); | 149 | void moveLabelButtonLeft(FbTk::TextButton &btn); |
151 | /// move label button to the right | 150 | /// move label button to the right |
@@ -157,9 +156,7 @@ public: | |||
157 | //move the first label button to the right of the second | 156 | //move the first label button to the right of the second |
158 | void moveLabelButtonRightOf(FbTk::TextButton &btn, const FbTk::TextButton &dest); | 157 | void moveLabelButtonRightOf(FbTk::TextButton &btn, const FbTk::TextButton &dest); |
159 | /// which button is to be rendered focused | 158 | /// which button is to be rendered focused |
160 | void setLabelButtonFocus(FbTk::TextButton &btn); | 159 | void setLabelButtonFocus(IconButton &btn); |
161 | /// specify focus state of button | ||
162 | void setLabelButtonFocus(FbTk::TextButton &btn, bool value); | ||
163 | /// attach a client window for client area | 160 | /// attach a client window for client area |
164 | void setClientWindow(FbTk::FbWindow &win); | 161 | void setClientWindow(FbTk::FbWindow &win); |
165 | /// remove attached client window | 162 | /// remove attached client window |
@@ -238,7 +235,7 @@ public: | |||
238 | inline FbTk::FbWindow &gripLeft() { return m_grip_left; } | 235 | inline FbTk::FbWindow &gripLeft() { return m_grip_left; } |
239 | inline const FbTk::FbWindow &gripRight() const { return m_grip_right; } | 236 | inline const FbTk::FbWindow &gripRight() const { return m_grip_right; } |
240 | inline FbTk::FbWindow &gripRight() { return m_grip_right; } | 237 | inline FbTk::FbWindow &gripRight() { return m_grip_right; } |
241 | inline const FbTk::TextButton *currentLabel() const { return m_current_label; } | 238 | inline const IconButton *currentLabel() const { return m_current_label; } |
242 | inline bool focused() const { return m_focused; } | 239 | inline bool focused() const { return m_focused; } |
243 | inline bool isShaded() const { return m_shaded; } | 240 | inline bool isShaded() const { return m_shaded; } |
244 | inline FbWinFrameTheme &theme() const { return m_theme; } | 241 | inline FbWinFrameTheme &theme() const { return m_theme; } |
@@ -284,8 +281,6 @@ private: | |||
284 | void applyTitlebar(); | 281 | void applyTitlebar(); |
285 | void applyHandles(); | 282 | void applyHandles(); |
286 | void applyTabContainer(); // and label buttons | 283 | void applyTabContainer(); // and label buttons |
287 | void applyFocusLabel(FbTk::TextButton &button); | ||
288 | void applyUnfocusLabel(FbTk::TextButton &button); | ||
289 | void applyButtons(); // only called within applyTitlebar | 284 | void applyButtons(); // only called within applyTitlebar |
290 | 285 | ||
291 | void getCurrentFocusPixmap(Pixmap &label_pm, Pixmap &title_pm, | 286 | void getCurrentFocusPixmap(Pixmap &label_pm, Pixmap &title_pm, |
@@ -324,8 +319,7 @@ private: | |||
324 | ButtonList m_buttons_left, ///< buttons to the left | 319 | ButtonList m_buttons_left, ///< buttons to the left |
325 | m_buttons_right; ///< buttons to the right | 320 | m_buttons_right; ///< buttons to the right |
326 | typedef std::list<FbTk::TextButton *> LabelList; | 321 | typedef std::list<FbTk::TextButton *> LabelList; |
327 | FbTk::TextButton *m_current_label; ///< which client button is focused at the moment | 322 | IconButton *m_current_label; ///< which client button is focused at the moment |
328 | std::string m_titletext; ///< text to be displayed int m_label | ||
329 | int m_bevel; ///< bevel between titlebar items and titlebar | 323 | int m_bevel; ///< bevel between titlebar items and titlebar |
330 | bool m_use_titlebar; ///< if we should use titlebar | 324 | bool m_use_titlebar; ///< if we should use titlebar |
331 | bool m_use_tabs; ///< if we should use tabs (turns them off in external mode only) | 325 | bool m_use_tabs; ///< if we should use tabs (turns them off in external mode only) |
@@ -354,11 +348,6 @@ private: | |||
354 | Pixmap m_tabcontainer_unfocused_pm; ///< pixmap for unfocused tab container | 348 | Pixmap m_tabcontainer_unfocused_pm; ///< pixmap for unfocused tab container |
355 | FbTk::Color m_tabcontainer_unfocused_color; ///< color for unfocused tab container | 349 | FbTk::Color m_tabcontainer_unfocused_color; ///< color for unfocused tab container |
356 | 350 | ||
357 | Pixmap m_labelbutton_focused_pm; ///< pixmap for focused label | ||
358 | FbTk::Color m_labelbutton_focused_color; ///< color for focused label | ||
359 | Pixmap m_labelbutton_unfocused_pm; ///< pixmap for unfocused label | ||
360 | FbTk::Color m_labelbutton_unfocused_color; ///< color for unfocused label | ||
361 | |||
362 | FbTk::Color m_handle_focused_color, m_handle_unfocused_color; | 351 | FbTk::Color m_handle_focused_color, m_handle_unfocused_color; |
363 | Pixmap m_handle_focused_pm, m_handle_unfocused_pm; | 352 | Pixmap m_handle_focused_pm, m_handle_unfocused_pm; |
364 | 353 | ||