2007-08-28 Jonathan Pobst <monkey@jpobst.com>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / XplatUIStructs.cs
index c4701a0ab2479727fb98cdc459f6cd277a4bf002..3261973bea1e9dd5380f336c89074e1132744c63 100644 (file)
@@ -22,7 +22,7 @@
 // Authors:
 //     Peter Bartok    pbartok@novell.com
 //
-
+// *** When you make some changes to this file, dont forget to update Tests/TestHelper class ***
 
 // NOT COMPLETE
 
@@ -42,7 +42,7 @@ namespace System.Windows.Forms {
                WS_CLIPSIBLINGS         = 0x04000000,
                WS_CLIPCHILDREN         = 0x02000000,
                WS_MAXIMIZE             = 0x01000000,
-               WS_CAPTION              = 0x00C00000,
+               WS_CAPTION              = 0x00C00000, // == WS_BORDER | WS_DLGFRAME
                WS_BORDER               = 0x00800000,
                WS_DLGFRAME             = 0x00400000,
                WS_VSCROLL              = 0x00200000,
@@ -234,9 +234,10 @@ namespace System.Windows.Forms {
                WM_MENUGETOBJECT          = 0x0124,
                WM_UNINITMENUPOPUP        = 0x0125,
                WM_MENUCOMMAND            = 0x0126,
-               //              public const uint WM_CHANGEUISTATE    = 0x0127;
-               //              public const uint WM_UPDATEUISTATE    = 0x0128;
-               //              public const uint WM_QUERYUISTATE     = 0x0129;
+               
+               WM_CHANGEUISTATE          = 0x0127,
+               WM_UPDATEUISTATE          = 0x0128,
+               WM_QUERYUISTATE           = 0x0129,
 
                //              public const uint WM_LBTRACKPOINT     = 0x0131;
                WM_CTLCOLORMSGBOX         = 0x0132,
@@ -338,67 +339,16 @@ namespace System.Windows.Forms {
 
                // Our "private" ones
                WM_MOUSE_ENTER            = 0x0401,
-               WM_MOUSE_LEAVE            = 0x0402,
                WM_ASYNC_MESSAGE          = 0x0403,
                WM_REFLECT                = WM_USER + 0x1c00,
-               WM_CLOSE_INTERNAL         = WM_USER + 0x1c01
-       }
+               WM_CLOSE_INTERNAL         = WM_USER + 0x1c01,
 
-#if notdef
-       internal enum Msg {
-               WM_NULL                 = 0x0000,
-               WM_CREATE               = 0x0001,
-               WM_DESTROY              = 0x0002,
-               WM_MOVE                 = 0x0003,
-               WM_SIZE                 = 0x0005,
-               WM_ACTIVATE             = 0x0006,
-               WM_SETFOCUS             = 0x0007,
-               WM_KILLFOCUS            = 0x0008,
-               WM_SETVISIBLE           = 0x0009,
-               WM_ENABLE               = 0x000A,
-               // ...
-               WM_PAINT                = 0x000F,
-               WM_CLOSE                = 0x0010,
-               WM_QUERYENDSESSION      = 0x0011,
-               WM_QUIT                 = 0x0012,
-               WM_QUERYOPEN            = 0x0013,
-               WM_ERASEBKGND           = 0x0014,
-               WM_SYSCOLORCHANGE       = 0x0015,
-
-               // ...
-               WM_WINDOWPOSCHANGED     = 0x0046,
-
-               // ...
-               WM_KEYFIRST             = 0x0100,
-               WM_KEYDOWN              = 0x0100,
-               WM_KEYUP                = 0x0101,
-               WM_CHAR                 = 0x0102,
-               WM_DEADCHAR             = 0x0103,
-               WM_SYSKEYDOWN           = 0x0104,
-               WM_SYSKEYUP             = 0x0105,
-               WM_SYS1CHAR             = 0x0106,
-               WM_SYSDEADCHAR          = 0x0107,
-               WM_KEYLAST              = 0x0108,
-
-               // ...
-               WM_MOUSEFIRST           = 0x0200,
-               WM_MOUSEMOVE            = 0x0200,
-               WM_LBUTTONDOWN          = 0x0201,
-               WM_LBUTTONUP            = 0x0202,
-               WM_LBUTTONDBLCLK        = 0x0203,
-               WM_RBUTTONDOWN          = 0x0204,
-               WM_RBUTTONUP            = 0x0205,
-               WM_RBUTTONDBLCLK        = 0x0206,
-               WM_MBUTTONDOWN          = 0x0207,
-               WM_MBUTTONUP            = 0x0208,
-               WM_MBUTTONDBLCLK        = 0x0209,
-               WM_MOUSEWHEEL           = 0x020A,
-               WM_MOUSELAST            = 0x020D,
-               // ...
-               WM_MOUSEHOVER           = 0x02A1,
-               WM_MOUSELEAVE           = 0x02A3,
+               // NotifyIcon (Systray) Balloon messages 
+               NIN_BALLOONSHOW           = WM_USER + 0x0002,
+               NIN_BALLOONHIDE           = WM_USER + 0x0003,
+               NIN_BALLOONTIMEOUT        = WM_USER + 0x0004,
+               NIN_BALLOONUSERCLICK      = WM_USER + 0x0005 
        }
-#endif
 
        internal enum MsgButtons {
                MK_LBUTTON              = 0x0001,
@@ -409,11 +359,36 @@ namespace System.Windows.Forms {
                MK_XBUTTON1             = 0x0020,
                MK_XBUTTON2             = 0x0040,
        }
+       
+       internal enum MsgUIState {
+               UIS_SET        = 1,
+               UIS_CLEAR      = 2,
+               UIS_INITIALIZE = 3,
+               UISF_HIDEFOCUS = 0x1,
+               UISF_HIDEACCEL = 0x2,
+               UISF_ACTIVE    = 0x4
+       }
 
        [StructLayout(LayoutKind.Sequential)]
        internal struct POINT {
                internal int x;
                internal int y;
+
+               internal POINT (int x, int y)
+               {
+                       this.x = x;
+                       this.y = y;
+               }
+
+               internal Point ToPoint ()
+               {
+                       return new Point (x, y);
+               }
+
+               public override string ToString ()
+               {
+                       return "Point {" + x.ToString () + ", " + y.ToString () + ")";
+               }
        }
        
        [StructLayout(LayoutKind.Sequential)] 
@@ -425,6 +400,19 @@ namespace System.Windows.Forms {
                internal uint   time;  
                internal POINT  pt;
                internal object refobject;
+
+               public override string ToString ()
+               {
+                       return String.Format ("msg=0x{0:x} ({1}) hwnd=0x{2:x} wparam=0x{3:x} lparam=0x{4:x} pt=0x{5:x}", (int) message, message.ToString (), hwnd.ToInt32 (), wParam.ToInt32 (), lParam.ToInt32 (), pt);
+               }
+       }
+
+       [Flags]
+       internal enum TransparencySupport {
+               None = 0x00,
+               Get = 0x01,
+               Set = 0x02,
+               GetSet = 0x03
        }
 
        internal enum WindowActiveFlags {