diff options
author | Mark Tiefenbruck <mark@fluxbox.org> | 2008-01-07 10:26:32 (GMT) |
---|---|---|
committer | Mark Tiefenbruck <mark@fluxbox.org> | 2008-01-07 10:26:32 (GMT) |
commit | dbfddf8e0bcf8e7abbba671eff64c9679332a774 (patch) | |
tree | 37cefce75eef2f7e0c749c3489008608e71dcd6c /src/FbWinFrame.cc | |
parent | ac1bd7e0981222bf340ce7defb2bb8307d42a0a2 (diff) | |
download | fluxbox-dbfddf8e0bcf8e7abbba671eff64c9679332a774.zip fluxbox-dbfddf8e0bcf8e7abbba671eff64c9679332a774.tar.bz2 |
added new ThemeProxy for automatically handling focused vs. unfocused ThemeItems
Diffstat (limited to 'src/FbWinFrame.cc')
-rw-r--r-- | src/FbWinFrame.cc | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/src/FbWinFrame.cc b/src/FbWinFrame.cc index 36bf251..5cc7631 100644 --- a/src/FbWinFrame.cc +++ b/src/FbWinFrame.cc | |||
@@ -563,19 +563,14 @@ void FbWinFrame::removeAllButtons() { | |||
563 | } | 563 | } |
564 | } | 564 | } |
565 | 565 | ||
566 | IconButton *FbWinFrame::createTab(Focusable &client) { | 566 | void FbWinFrame::createTab(FbTk::Button &button) { |
567 | IconButton *button = new IconButton(m_tab_container, theme()->iconbarTheme(), | 567 | button.show(); |
568 | client); | 568 | button.setEventMask(ExposureMask | ButtonPressMask | |
569 | ButtonReleaseMask | ButtonMotionMask | | ||
570 | EnterWindowMask); | ||
571 | FbTk::EventManager::instance()->add(button, button.window()); | ||
569 | 572 | ||
570 | button->show(); | 573 | m_tab_container.insertItem(&button); |
571 | button->setEventMask(ExposureMask | ButtonPressMask | | ||
572 | ButtonReleaseMask | ButtonMotionMask | | ||
573 | EnterWindowMask); | ||
574 | FbTk::EventManager::instance()->add(*button, button->window()); | ||
575 | |||
576 | m_tab_container.insertItem(button); | ||
577 | |||
578 | return button; | ||
579 | } | 574 | } |
580 | 575 | ||
581 | void FbWinFrame::removeTab(IconButton *btn) { | 576 | void FbWinFrame::removeTab(IconButton *btn) { |
@@ -1140,11 +1135,11 @@ void FbWinFrame::renderTitlebar() { | |||
1140 | 1135 | ||
1141 | //!! TODO: don't render label if internal tabs | 1136 | //!! TODO: don't render label if internal tabs |
1142 | 1137 | ||
1143 | render(theme()->iconbarTheme()->focusedTexture(), m_label_focused_color, | 1138 | render(theme()->focusedIconbarTheme()->texture(), m_label_focused_color, |
1144 | m_label_focused_pm, | 1139 | m_label_focused_pm, |
1145 | m_label.width(), m_label.height()); | 1140 | m_label.width(), m_label.height()); |
1146 | 1141 | ||
1147 | render(theme()->iconbarTheme()->unfocusedTexture(), m_label_unfocused_color, | 1142 | render(theme()->unfocusedIconbarTheme()->texture(), m_label_unfocused_color, |
1148 | m_label_unfocused_pm, | 1143 | m_label_unfocused_pm, |
1149 | m_label.width(), m_label.height()); | 1144 | m_label.width(), m_label.height()); |
1150 | 1145 | ||
@@ -1156,8 +1151,8 @@ void FbWinFrame::renderTabContainer() { | |||
1156 | return; | 1151 | return; |
1157 | } | 1152 | } |
1158 | 1153 | ||
1159 | const FbTk::Texture *tc_focused = &theme()->iconbarTheme()->focusedTexture(); | 1154 | const FbTk::Texture *tc_focused = &theme()->focusedIconbarTheme()->texture(); |
1160 | const FbTk::Texture *tc_unfocused = &theme()->iconbarTheme()->unfocusedTexture(); | 1155 | const FbTk::Texture *tc_unfocused = &theme()->unfocusedIconbarTheme()->texture(); |
1161 | 1156 | ||
1162 | if (m_tabmode == EXTERNAL && tc_focused->type() & FbTk::Texture::PARENTRELATIVE) | 1157 | if (m_tabmode == EXTERNAL && tc_focused->type() & FbTk::Texture::PARENTRELATIVE) |
1163 | tc_focused = &theme()->titleFocusTexture(); | 1158 | tc_focused = &theme()->titleFocusTexture(); |
@@ -1192,11 +1187,11 @@ void FbWinFrame::applyTitlebar() { | |||
1192 | 1187 | ||
1193 | if (m_tabmode != INTERNAL) { | 1188 | if (m_tabmode != INTERNAL) { |
1194 | m_label.setGC(m_focused ? | 1189 | m_label.setGC(m_focused ? |
1195 | theme()->iconbarTheme()->focusedText().textGC() : | 1190 | theme()->focusedIconbarTheme()->text().textGC() : |
1196 | theme()->iconbarTheme()->unfocusedText().textGC()); | 1191 | theme()->unfocusedIconbarTheme()->text().textGC()); |
1197 | m_label.setJustify(m_focused ? | 1192 | m_label.setJustify(m_focused ? |
1198 | theme()->iconbarTheme()->focusedText().justify() : | 1193 | theme()->focusedIconbarTheme()->text().justify() : |
1199 | theme()->iconbarTheme()->unfocusedText().justify()); | 1194 | theme()->unfocusedIconbarTheme()->text().justify()); |
1200 | 1195 | ||
1201 | if (label_pm != 0) | 1196 | if (label_pm != 0) |
1202 | m_label.setBackgroundPixmap(label_pm); | 1197 | m_label.setBackgroundPixmap(label_pm); |