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

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

gui: Removed QT_NO_SYSTEMTRAYICON. Prototyped QSystemTrayIcon for OS/2. Many new xsystray plugin code (mostly public API).

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Date Revision Author Id
File size: 1.9 KB
Line 
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
19#define WNDCLASS_WIDGET_XSYSTRAY_SERVER "XWPCenterExtendedSysTrayServer"
20
21#define WNDCLASS_WIDGET_XSYSTRAY "XWPCenterExtendedSysTray"
22#define INTCLASS_WIDGET_XSYSTRAY "ExtendedSysTray"
23#define HUMANSTR_WIDGET_XSYSTRAY "Extended system tray"
24
25#define WM_XST_CONTROL (WM_USER + 0)
26
27typedef enum
28{
29 SYSTRAYCMD_GETVERSION,
30 SYSTRAYCMD_ADDICON,
31 SYSTRAYCMD_REMOVEICON,
32 SYSTRAYCMD_SETTOOLTIP,
33 SYSTRAYCMD_SHOWBALLOON,
34 SYSTRAYCMD_HIDEBALLOON,
35} SYSTRAYCMD;
36
37// NOTE: the idea is to fit SYSTRAYMSGDATA into a page (4K) since this is the
38// smallest piece DosAllocSharedMem() allocates anyway.
39typedef struct
40{
41 SYSTRAYCMD ulCommand;
42 // command to execute, must always be set
43 HWND hwndSender;
44 // sender window, a must for SYSTRAYCMD_ADDICON, REMOVEICON,
45 // SETTOOLTIP, SHOWBALLOON, HIDEBALLOON
46 union
47 {
48 struct
49 {
50 ULONG ulMajor;
51 ULONG ulMinor;
52 ULONG ulRevision;
53 } version;
54 // used by SYSTRAYCMD_GETVERSION
55
56 struct
57 {
58 ULONG ulId;
59 HPOINTER hIcon;
60 ULONG ulMsgId;
61 } icon;
62 // used by SYSTRAYCMD_ADDICON, SYSTRAYCMD_REMOVEICON
63
64 struct
65 {
66 ULONG ulId;
67 CHAR szText[4000]; // occupy as much of 4K page as we can
68 } tooltip;
69
70 } u;
71
72 BOOL bAcknowledged : 1;
73 // set to true by the recipient if it processes the message
74
75} SYSTRAYMSGDATA, *PSYSTRAYMSGDATA;
76
77#endif // XSYSTRAY_HEADER_INCLUDED
78
79
Note: See TracBrowser for help on using the repository browser.