29 #define CLASSNAME_TRAYNOTIFY TEXT("TrayNotifyWnd") 30 #define TITLE_TRAYNOTIFY TEXT("") 32 #define CLASSNAME_CLOCKWINDOW TEXT("TrayClockWClass") 34 #define NOTIFYAREA_WIDTH_DEF 100 35 #define NOTIFYICON_DIST 20 36 #define NOTIFYAREA_SPACE 10 37 #define NOTIFYICON_SIZE 16 38 #define NOTIFYICON_X 2 39 #define NOTIFYICON_Y 3 41 #define ICON_AUTOHIDE_SECONDS 300 43 #define PM_GETMODULEPATH_CB (WM_APP+0x21) 44 #define PM_GET_NOTIFYAREA (WM_APP+0x22) 54 {
return a._hWnd<
b._hWnd || (
a._hWnd==
b._hWnd &&
a._uID<
b._uID);}
99 {
return a._idx <
b._idx;}
159 void Refresh(
bool do_refresh=
false);
LRESULT ProcessTrayNotification(int notify_code, NOTIFYICONDATA *pnid)
map< NotifyIconIndex, NotifyInfo > NotifyIconMap
HTREEITEM _hitemCurrent_visible
bool match(const NotifyIconConfig &props) const
list< NotifyIconConfig > NotifyIconCfgList
list of NotifyIconConfig structures
virtual int Command(int id, int code)
void GetModulePath(HWND hwnd, HWND hwndCallback)
const UINT WM_GETMODULEPATH
set< NotifyInfo > NotifyIconSet
NotifyIconDlgInfoMap _info
int Notify(int id, NMHDR *pnmh)
static HWND Create(HWND hwndParent)
map< NotifyIconIndex, IconStatePair > IconStateMap
void show_clock(bool flag)
NotifyIconSet::iterator IconHitTest(const POINT &pos)
search for a icon at a given client coordinate position
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
NotifyIconDlgInfo(const NotifyIconConfig &cfg)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
void SetIconMode(NOTIFYICONMODE mode)
NotifyIconIndex is used for maintaining the order of notification icons.
static UINT WPARAM LPARAM lparam
NotifyIconSet _sorted_icons
void InsertItem(HTREEITEM hparent, HTREEITEM after, const NotifyInfo &, HDC)
configuration for the display mode of a notification icon
map< HWND, String > _window_modules
window for displaying the time in the tray notification area
friend bool operator<(const NotifyInfo &a, const NotifyInfo &b)
pair< NOTIFYICONMODE, DWORD > IconStatePair
HTREEITEM _hitemCurrent_hidden
virtual LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
GLboolean GLboolean GLboolean b
LRESULT WndProc(UINT nmsg, WPARAM wparam, LPARAM lparam)
Controller base template class for resizable dialogs.
_Rep_type::iterator iterator
LRESULT Init(LPCREATESTRUCT pcs)
tray notification area aka "tray"
structure for maintaining informations about one notification icon
virtual int Notify(int id, NMHDR *pnmh)
String string_from_mode(NOTIFYICONMODE mode)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
NotifyArea * _pNotifyArea
__inline int after(__u32 seq1, __u32 seq2)
bool modify(NOTIFYICONDATA *pnid)
bool DetermineHideState(NotifyInfo &entry)
ResizeController< Dialog > super
int Notify(int id, NMHDR *pnmh)
IconStateMap _icon_states_org
static HWND Create(HWND hwndParent)
NotifyIconDlgInfo(const NotifyInfo &info)
static const WCHAR props[]
int Command(int id, int code)
map< int, NotifyIconDlgInfo > NotifyIconDlgInfoMap
void RefreshProperties(const NotifyIconDlgInfo &entry)
bool ModulePathCopyData(LPARAM lparam, HWND *phwnd, String &path)
GLboolean GLboolean GLboolean GLboolean a
void Refresh(bool do_refresh=false)
friend bool operator<(const NotifyIconIndex &a, const NotifyIconIndex &b)
configuration dialog for notification icons
NotifyIconCfgList _cfg_org
static UINT WPARAM wparam