source: trunk/src/3rdparty/os2/xsystray/xsystray.h@ 256

Last change on this file since 256 was 256, checked in by Dmitry A. Kuminov, 16 years ago

gui: xsystray: Further coding (established communication channel between the clients and the server, some bug fixes).

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Date Revision Author Id
File size: 2.0 KB
RevLine 
[255]1/*
2 * Extended system tray widget for XCenter/eCenter
3 *
4 * Internal declarations
5 *
6 * Made by netlabs.org
7 *
8 * Author: Dmitry A. Kuminov
9 *
10 * This software is public domain.
11 *
12 * WITHOUT ANY WARRANTY..., AT YOUR OWN RISC... ETC.
13 *
14 */
15
16#ifndef XSYSTRAY_HEADER_INCLUDED
17#define XSYSTRAY_HEADER_INCLUDED
18
[256]19#define XSYSTRAY_VERSION_MAJOR 0
20#define XSYSTRAY_VERSION_MINOR 1
21#define XSYSTRAY_VERSION_REVISION 0
22
[255]23#define WNDCLASS_WIDGET_XSYSTRAY_SERVER "XWPCenterExtendedSysTrayServer"
24
25#define WNDCLASS_WIDGET_XSYSTRAY "XWPCenterExtendedSysTray"
26#define INTCLASS_WIDGET_XSYSTRAY "ExtendedSysTray"
27#define HUMANSTR_WIDGET_XSYSTRAY "Extended system tray"
28
29#define WM_XST_CONTROL (WM_USER + 0)
30
31typedef enum
32{
33 SYSTRAYCMD_GETVERSION,
34 SYSTRAYCMD_ADDICON,
35 SYSTRAYCMD_REMOVEICON,
36 SYSTRAYCMD_SETTOOLTIP,
37 SYSTRAYCMD_SHOWBALLOON,
38 SYSTRAYCMD_HIDEBALLOON,
39} SYSTRAYCMD;
40
[256]41// NOTE: the idea is to fit SYSTRAYCTLDATA into a page (4K) since this is the
[255]42// smallest piece DosAllocSharedMem() allocates anyway.
43typedef struct
44{
45 SYSTRAYCMD ulCommand;
46 // command to execute, must always be set
47 HWND hwndSender;
48 // sender window, a must for SYSTRAYCMD_ADDICON, REMOVEICON,
49 // SETTOOLTIP, SHOWBALLOON, HIDEBALLOON
50 union
51 {
52 struct
53 {
54 ULONG ulMajor;
55 ULONG ulMinor;
56 ULONG ulRevision;
57 } version;
58 // used by SYSTRAYCMD_GETVERSION
59
60 struct
61 {
62 ULONG ulId;
63 HPOINTER hIcon;
64 ULONG ulMsgId;
65 } icon;
66 // used by SYSTRAYCMD_ADDICON, SYSTRAYCMD_REMOVEICON
67
68 struct
69 {
70 ULONG ulId;
71 CHAR szText[4000]; // occupy as much of 4K page as we can
72 } tooltip;
73
74 } u;
75
76 BOOL bAcknowledged : 1;
77 // set to true by the recipient if it processes the message
78
[256]79} SYSTRAYCTLDATA, *PSYSTRAYCTLDATA;
[255]80
81#endif // XSYSTRAY_HEADER_INCLUDED
82
83
Note: See TracBrowser for help on using the repository browser.