added subject for listeners

This commit is contained in:
fluxgen 2003-02-15 01:49:43 +00:00
parent 80a8703272
commit fead9f1578
2 changed files with 12 additions and 3 deletions

View file

@ -19,7 +19,7 @@
// 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 @@ void MenuTheme::reconfigTheme() {
XChangeGC(m_display, hilite_gc,
gc_value_mask, &gcv);
// notify any listeners
m_theme_change_sig.notify();
}

View file

@ -19,7 +19,7 @@
// 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 "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 @@ public:
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 @@ private:
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