~ubuntu-branches/ubuntu/trusty/fluxbox/trusty-proposed

« back to all changes in this revision

Viewing changes to src/Focusable.hh

  • Committer: Package Import Robot
  • Author(s): Paul Tagliamonte
  • Date: 2010-08-12 21:16:02 UTC
  • mfrom: (0.1.1) (1.1.10)
  • Revision ID: package-import@ubuntu.com-20100812211602-3tsmzl9in5nmwz7z
Tags: 1.1.1+git20100807.0cc08f9-1
* debian/ dir has been cleaned out, complete repackage
  of most files.
* pulled new archive from git.fluxbox.org HEAD, saved as
  tar.gz.
* Added in fluxbox.* files from the old dfsg tree.
* Added in system.fluxbox-menu file from the old dfsg tree
* Added the source/format file to bump package source
  version from 1.0 to 3.0 (quilt). 
* Changed rules file to match the old dfsg setup so that
  fluxbox behaves nicely.
* Removed entries from copyright that no longer apply.
* Added theme based on Denis Brand ( naran )'s old theme.
* Added a background I whipped up.
* Changed compile flags to point to debian theme by default
* Adding a patch to have fluxbox use x-terminal-emulator
  over xterm. Closes: #591694 (LP: #580485)
* Adding a patch to allow titlebar-window dragging.
* Changed the flags in rules to pull from a script. This script
  lets us un-hardcode what theme is default. Be sure there
  is a theme pack!
* Added comments to my patches.
* Removing debian/docs, empty file.
* Fixing fluxbox.desktop to remove all the warnings from
  desktop-file-validate
* Fixing libtool issue by running an update before
  configure in the rules script.
* Added a compile flag script to auto-detect what platform
  we are running on, and apply the correct theme. This
  should solve Ubuntnu issues later on.
* adding in a get-orig-source rule
* fixing the upstream version number to pinpoint
  the commit ( thanks, lfaraone ).
* adding a rule for get-orig-source. ( thanks again,
  lfaraone ).
* Updated rules to actually allow us to do a build from it
* Removed Denis from the uploaders ( as per an email
  conversation )
* Removing madduck from the uploaders ( thanks for asking,
  lfaraone. ). Thanks for your hard work, madduck.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
#include "FbTk/PixmapWithMask.hh"
26
26
#include "FbTk/ITypeAheadable.hh"
27
27
#include "FbTk/Subject.hh"
 
28
#include "FbTk/Signal.hh"
28
29
 
29
30
#include <string>
30
31
 
41
42
        m_screen(scr), m_fbwin(fbwin),
42
43
        m_instance_name("fluxbox"), m_class_name("fluxbox"),
43
44
        m_focused(false), m_attention_state(false),
44
 
        m_titlesig(*this), m_focussig(*this), m_diesig(*this),
45
 
        m_attentionsig(*this) { }
 
45
        m_diesig(*this),
 
46
        m_attentionsig(*this),
 
47
        m_focussig(),
 
48
        m_titlesig() { }
46
49
    virtual ~Focusable() { }
47
50
 
48
51
    /**
114
117
       @name signals
115
118
       @{
116
119
    */
117
 
    // Used for both title and icon changes.
118
 
    FbTk::Subject &titleSig() { return m_titlesig; }
119
 
    // Used for both title and icon changes.
120
 
    const FbTk::Subject &titleSig() const { return m_titlesig; }
121
 
    FbTk::Subject &focusSig() { return m_focussig; }
122
 
    const FbTk::Subject &focusSig() const { return m_focussig; }
 
120
    typedef FbTk::Signal<void, const std::string&, Focusable&> TitleSignal;
 
121
    /// Used for both title and icon changes.
 
122
    TitleSignal &titleSig() { return m_titlesig; }
 
123
    /// Used for both title and icon changes.
 
124
    const TitleSignal &titleSig() const { return m_titlesig; }
 
125
    FbTk::Signal<void, Focusable&> &focusSig() { return m_focussig; }
 
126
    const FbTk::Signal<void, Focusable&> &focusSig() const { return m_focussig; }
123
127
    FbTk::Subject &dieSig() { return m_diesig; }
124
128
    const FbTk::Subject &dieSig() const { return m_diesig; }
125
129
    FbTk::Subject &attentionSig() { return m_attentionsig; }
126
130
    const FbTk::Subject &attentionSig() const { return m_attentionsig; }
127
131
    /** @} */ // end group signals
128
132
 
 
133
    /// Notify any listeners that the focus changed for this window.
 
134
    void notifyFocusChanged() {
 
135
        m_focussig.emit(*this);
 
136
    }
 
137
 
129
138
protected:
130
139
    BScreen &m_screen; //< the screen in which it works
131
140
    FluxboxWindow *m_fbwin; //< the working fluxbox window
136
145
    FbTk::PixmapWithMask m_icon; //< icon pixmap with mask
137
146
 
138
147
    // state and hint signals
139
 
    FocusSubject m_titlesig, m_focussig, m_diesig, m_attentionsig;
 
148
    FocusSubject m_diesig, m_attentionsig;
 
149
 
 
150
private:
 
151
    FbTk::Signal<void, Focusable&> m_focussig;
 
152
    TitleSignal m_titlesig;
140
153
};
141
154
 
142
155
#endif // FOCUSABLE_HH