aboutsummaryrefslogtreecommitdiff
path: root/src/FbWinFrame.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/FbWinFrame.hh')
-rw-r--r--src/FbWinFrame.hh25
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 @@
43class Shape; 43class Shape;
44class FbWinFrameTheme; 44class FbWinFrameTheme;
45class BScreen; 45class BScreen;
46class IconButton;
47class Focusable;
46 48
47namespace FbTk { 49namespace FbTk {
48class TextButton; 50class 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