all repos — fluxbox @ fead9f1578b63b4341308f9ea36e237b7bdca1ae

custom fork of the fluxbox windowmanager

added subject for listeners
fluxgen fluxgen
commit

fead9f1578b63b4341308f9ea36e237b7bdca1ae

parent

80a8703272f3b7c872279634add72218209ac64c

2 files changed, 12 insertions(+), 3 deletions(-)

jump to
M src/FbTk/MenuTheme.ccsrc/FbTk/MenuTheme.cc

@@ -19,7 +19,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: MenuTheme.cc,v 1.3 2003/01/10 00:54:12 fluxgen Exp $ +// $Id: MenuTheme.cc,v 1.4 2003/02/15 01:49:43 fluxgen Exp $ #include "MenuTheme.hh"

@@ -111,6 +111,8 @@ gcv.foreground = hilite->color().pixel();

XChangeGC(m_display, hilite_gc, gc_value_mask, &gcv); + // notify any listeners + m_theme_change_sig.notify(); }
M src/FbTk/MenuTheme.hhsrc/FbTk/MenuTheme.hh

@@ -19,7 +19,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// $Id: MenuTheme.hh,v 1.2 2003/01/09 16:47:06 fluxgen Exp $ +// $Id: MenuTheme.hh,v 1.3 2003/02/15 01:49:18 fluxgen Exp $ #ifndef FBTK_MENUTHEME_HH #define FBTK_MENUTHEME_HH

@@ -29,6 +29,7 @@ #include "Color.hh"

#include "Font.hh" #include "Texture.hh" #include "Text.hh" +#include "Subject.hh" namespace FbTk {

@@ -37,7 +38,9 @@ public:

enum BulletType { EMPTY, SQUARE, TRIANGLE}; MenuTheme(int screen_num); virtual ~MenuTheme(); + void reconfigTheme(); + /** @name text colors */

@@ -82,6 +85,10 @@

unsigned int borderWidth() const { return *m_border_width; } unsigned int bevelWidth() const { return *m_bevel_width; } const FbTk::Color &borderColor() const { return *m_border_color; } + /// attach observer + void addListener(FbTk::Observer &obs) { m_theme_change_sig.attach(&obs); } + /// detach observer + void removeListener(FbTk::Observer &obs) { m_theme_change_sig.detach(&obs); } private: FbTk::ThemeItem<FbTk::Color> t_text, f_text, h_text, d_text; FbTk::ThemeItem<FbTk::Texture> title, frame, hilite;

@@ -96,7 +103,7 @@

Display *m_display; GC t_text_gc, f_text_gc, h_text_gc, d_text_gc, hilite_gc; - + FbTk::Subject m_theme_change_sig; }; }; // end namespace FbTk