added subject for listeners
This commit is contained in:
parent
80a8703272
commit
fead9f1578
2 changed files with 12 additions and 3 deletions
|
@ -19,7 +19,7 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// 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"
|
#include "MenuTheme.hh"
|
||||||
|
|
||||||
|
@ -111,6 +111,8 @@ void MenuTheme::reconfigTheme() {
|
||||||
XChangeGC(m_display, hilite_gc,
|
XChangeGC(m_display, hilite_gc,
|
||||||
gc_value_mask, &gcv);
|
gc_value_mask, &gcv);
|
||||||
|
|
||||||
|
// notify any listeners
|
||||||
|
m_theme_change_sig.notify();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
// DEALINGS IN THE SOFTWARE.
|
// 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
|
#ifndef FBTK_MENUTHEME_HH
|
||||||
#define FBTK_MENUTHEME_HH
|
#define FBTK_MENUTHEME_HH
|
||||||
|
@ -29,6 +29,7 @@
|
||||||
#include "Font.hh"
|
#include "Font.hh"
|
||||||
#include "Texture.hh"
|
#include "Texture.hh"
|
||||||
#include "Text.hh"
|
#include "Text.hh"
|
||||||
|
#include "Subject.hh"
|
||||||
|
|
||||||
namespace FbTk {
|
namespace FbTk {
|
||||||
|
|
||||||
|
@ -37,7 +38,9 @@ public:
|
||||||
enum BulletType { EMPTY, SQUARE, TRIANGLE};
|
enum BulletType { EMPTY, SQUARE, TRIANGLE};
|
||||||
MenuTheme(int screen_num);
|
MenuTheme(int screen_num);
|
||||||
virtual ~MenuTheme();
|
virtual ~MenuTheme();
|
||||||
|
|
||||||
void reconfigTheme();
|
void reconfigTheme();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@name text colors
|
@name text colors
|
||||||
*/
|
*/
|
||||||
|
@ -82,6 +85,10 @@ public:
|
||||||
unsigned int borderWidth() const { return *m_border_width; }
|
unsigned int borderWidth() const { return *m_border_width; }
|
||||||
unsigned int bevelWidth() const { return *m_bevel_width; }
|
unsigned int bevelWidth() const { return *m_bevel_width; }
|
||||||
const FbTk::Color &borderColor() const { return *m_border_color; }
|
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:
|
private:
|
||||||
FbTk::ThemeItem<FbTk::Color> t_text, f_text, h_text, d_text;
|
FbTk::ThemeItem<FbTk::Color> t_text, f_text, h_text, d_text;
|
||||||
FbTk::ThemeItem<FbTk::Texture> title, frame, hilite;
|
FbTk::ThemeItem<FbTk::Texture> title, frame, hilite;
|
||||||
|
@ -96,7 +103,7 @@ private:
|
||||||
|
|
||||||
Display *m_display;
|
Display *m_display;
|
||||||
GC t_text_gc, f_text_gc, h_text_gc, d_text_gc, hilite_gc;
|
GC t_text_gc, f_text_gc, h_text_gc, d_text_gc, hilite_gc;
|
||||||
|
FbTk::Subject m_theme_change_sig;
|
||||||
};
|
};
|
||||||
|
|
||||||
}; // end namespace FbTk
|
}; // end namespace FbTk
|
||||||
|
|
Loading…
Reference in a new issue