diff options
author | fluxgen <fluxgen> | 2003-02-15 01:59:00 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2003-02-15 01:59:00 (GMT) |
commit | f25cf733d6fc1496f02514695948c09797755dae (patch) | |
tree | 33844f1a73c288d6d21dd4656920b3a2268f6e1b | |
parent | 2031f46de3475f52a54165740bf8c2b891b3bebe (diff) | |
download | fluxbox-f25cf733d6fc1496f02514695948c09797755dae.zip fluxbox-f25cf733d6fc1496f02514695948c09797755dae.tar.bz2 |
added theme listener subject
-rw-r--r-- | src/FbWinFrameTheme.cc | 5 | ||||
-rw-r--r-- | src/FbWinFrameTheme.hh | 8 | ||||
-rw-r--r-- | src/ToolbarTheme.cc | 5 | ||||
-rw-r--r-- | src/ToolbarTheme.hh | 13 |
4 files changed, 24 insertions, 7 deletions
diff --git a/src/FbWinFrameTheme.cc b/src/FbWinFrameTheme.cc index 8fc562f..ece7dcc 100644 --- a/src/FbWinFrameTheme.cc +++ b/src/FbWinFrameTheme.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: FbWinFrameTheme.cc,v 1.1 2003/01/05 22:14:10 fluxgen Exp $ | 22 | // $Id: FbWinFrameTheme.cc,v 1.2 2003/02/15 01:55:45 fluxgen Exp $ |
23 | 23 | ||
24 | #include "FbWinFrameTheme.hh" | 24 | #include "FbWinFrameTheme.hh" |
25 | #include "App.hh" | 25 | #include "App.hh" |
@@ -81,5 +81,8 @@ void FbWinFrameTheme::reconfigTheme() { | |||
81 | 81 | ||
82 | gcv.foreground = m_label_unfocus_color->pixel(); | 82 | gcv.foreground = m_label_unfocus_color->pixel(); |
83 | XChangeGC(disp, m_label_text_unfocus_gc, gc_value_mask, &gcv); | 83 | XChangeGC(disp, m_label_text_unfocus_gc, gc_value_mask, &gcv); |
84 | |||
85 | // notify listeners | ||
86 | m_theme_change.notify(); | ||
84 | } | 87 | } |
85 | 88 | ||
diff --git a/src/FbWinFrameTheme.hh b/src/FbWinFrameTheme.hh index 4c702c4..d98b629 100644 --- a/src/FbWinFrameTheme.hh +++ b/src/FbWinFrameTheme.hh | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: FbWinFrameTheme.hh,v 1.1 2003/01/05 22:14:10 fluxgen Exp $ | 22 | // $Id: FbWinFrameTheme.hh,v 1.2 2003/02/15 01:55:27 fluxgen Exp $ |
23 | 23 | ||
24 | #ifndef FBWINFRAMETHEME_HH | 24 | #ifndef FBWINFRAMETHEME_HH |
25 | #define FBWINFRAMETHEME_HH | 25 | #define FBWINFRAMETHEME_HH |
@@ -29,6 +29,7 @@ | |||
29 | #include "Text.hh" | 29 | #include "Text.hh" |
30 | #include "Color.hh" | 30 | #include "Color.hh" |
31 | #include "FbTk/Theme.hh" | 31 | #include "FbTk/Theme.hh" |
32 | #include "Subject.hh" | ||
32 | 33 | ||
33 | class FbWinFrameTheme: public FbTk::Theme { | 34 | class FbWinFrameTheme: public FbTk::Theme { |
34 | public: | 35 | public: |
@@ -76,6 +77,9 @@ public: | |||
76 | GC labelTextUnfocusGC() const { return m_label_text_unfocus_gc; } | 77 | GC labelTextUnfocusGC() const { return m_label_text_unfocus_gc; } |
77 | 78 | ||
78 | void reconfigTheme(); | 79 | void reconfigTheme(); |
80 | |||
81 | void addListener(FbTk::Observer &obs) { m_theme_change.attach(&obs); } | ||
82 | void removeListener(FbTk::Observer &obs) { m_theme_change.detach(&obs); } | ||
79 | private: | 83 | private: |
80 | FbTk::ThemeItem<FbTk::Texture> m_label_focus, m_label_unfocus; | 84 | FbTk::ThemeItem<FbTk::Texture> m_label_focus, m_label_unfocus; |
81 | FbTk::ThemeItem<FbTk::Texture> m_title_focus, m_title_unfocus; | 85 | FbTk::ThemeItem<FbTk::Texture> m_title_focus, m_title_unfocus; |
@@ -91,6 +95,8 @@ private: | |||
91 | FbTk::ThemeItem<FbTk::Justify> m_textjustify; | 95 | FbTk::ThemeItem<FbTk::Justify> m_textjustify; |
92 | 96 | ||
93 | GC m_label_text_focus_gc, m_label_text_unfocus_gc; | 97 | GC m_label_text_focus_gc, m_label_text_unfocus_gc; |
98 | |||
99 | FbTk::Subject m_theme_change; | ||
94 | }; | 100 | }; |
95 | 101 | ||
96 | #endif // FBWINFRAMETHEME_HH | 102 | #endif // FBWINFRAMETHEME_HH |
diff --git a/src/ToolbarTheme.cc b/src/ToolbarTheme.cc index 138104f..374a596 100644 --- a/src/ToolbarTheme.cc +++ b/src/ToolbarTheme.cc | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: ToolbarTheme.cc,v 1.1 2002/12/02 19:56:38 fluxgen Exp $ | 22 | // $Id: ToolbarTheme.cc,v 1.2 2003/02/15 01:59:00 fluxgen Exp $ |
23 | 23 | ||
24 | #include "ToolbarTheme.hh" | 24 | #include "ToolbarTheme.hh" |
25 | 25 | ||
@@ -106,4 +106,7 @@ void ToolbarTheme::reconfigTheme() { | |||
106 | gcv.foreground = m_button_color->pixel(); | 106 | gcv.foreground = m_button_color->pixel(); |
107 | XChangeGC(m_display, m_button_pic_gc, | 107 | XChangeGC(m_display, m_button_pic_gc, |
108 | gc_value_mask, &gcv); | 108 | gc_value_mask, &gcv); |
109 | |||
110 | // notify listeners | ||
111 | m_theme_change_sig.notify(); | ||
109 | } | 112 | } |
diff --git a/src/ToolbarTheme.hh b/src/ToolbarTheme.hh index f40ed19..cbe9c90 100644 --- a/src/ToolbarTheme.hh +++ b/src/ToolbarTheme.hh | |||
@@ -19,7 +19,7 @@ | |||
19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 19 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
20 | // DEALINGS IN THE SOFTWARE. | 20 | // DEALINGS IN THE SOFTWARE. |
21 | 21 | ||
22 | // $Id: ToolbarTheme.hh,v 1.1 2002/12/02 19:56:08 fluxgen Exp $ | 22 | // $Id: ToolbarTheme.hh,v 1.2 2003/02/15 01:58:52 fluxgen Exp $ |
23 | 23 | ||
24 | #ifndef TOOLBARTHEME_HH | 24 | #ifndef TOOLBARTHEME_HH |
25 | #define TOOLBARTHEME_HH | 25 | #define TOOLBARTHEME_HH |
@@ -29,9 +29,9 @@ | |||
29 | #include "Texture.hh" | 29 | #include "Texture.hh" |
30 | #include "Color.hh" | 30 | #include "Color.hh" |
31 | #include "Text.hh" | 31 | #include "Text.hh" |
32 | /** | 32 | #include "Subject.hh" |
33 | Toolbar theme class container | 33 | |
34 | */ | 34 | /// toolbar theme class container |
35 | class ToolbarTheme: public FbTk::Theme { | 35 | class ToolbarTheme: public FbTk::Theme { |
36 | public: | 36 | public: |
37 | explicit ToolbarTheme(int screen_num); | 37 | explicit ToolbarTheme(int screen_num); |
@@ -71,6 +71,9 @@ public: | |||
71 | GC buttonPicGC() const { return m_button_pic_gc; } | 71 | GC buttonPicGC() const { return m_button_pic_gc; } |
72 | ///@} | 72 | ///@} |
73 | FbTk::Justify justify() const { return *m_justify; } | 73 | FbTk::Justify justify() const { return *m_justify; } |
74 | |||
75 | void addListener(FbTk::Observer &obs) { m_theme_change_sig.attach(&obs); } | ||
76 | void removeListener(FbTk::Observer &obs) { m_theme_change_sig.detach(&obs); } | ||
74 | private: | 77 | private: |
75 | // text colors | 78 | // text colors |
76 | FbTk::ThemeItem<FbTk::Color> m_label_textcolor, m_window_textcolor, m_clock_textcolor; | 79 | FbTk::ThemeItem<FbTk::Color> m_label_textcolor, m_window_textcolor, m_clock_textcolor; |
@@ -82,6 +85,8 @@ private: | |||
82 | // graphic context | 85 | // graphic context |
83 | GC m_label_text_gc, m_window_text_gc, m_clock_text_gc, m_button_pic_gc; | 86 | GC m_label_text_gc, m_window_text_gc, m_clock_text_gc, m_button_pic_gc; |
84 | Display *m_display; | 87 | Display *m_display; |
88 | |||
89 | FbTk::Subject m_theme_change_sig; | ||
85 | }; | 90 | }; |
86 | 91 | ||
87 | #endif // TOOLBARTHEME_HH | 92 | #endif // TOOLBARTHEME_HH |