]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/window.h
Applied wxImage -> wxCursor patch, tool window event table fix
[wxWidgets.git] / include / wx / os2 / window.h
index 23c386d90dbf97081d4fd7c8aaa2579eda1b3504..e18f1662cb5f717e8caf6bcb6a3586d15ce1ca44 100644 (file)
 #include <os2.h>
 
 
+// ---------------------------------------------------------------------------
+// forward declarations
+// ---------------------------------------------------------------------------
+#ifndef CW_USEDEFAULT
+#  define  CW_USEDEFAULT ((int)0x80000000)
+#endif
+
 // ---------------------------------------------------------------------------
 // forward declarations
 // ---------------------------------------------------------------------------
@@ -92,12 +99,13 @@ public:
     virtual void     WarpPointer( int x
                                  ,int y
                                 );
-    virtual void     CaptureMouse(void);
-    virtual void     ReleaseMouse(void);
     virtual void     Refresh( bool          bEraseBackground = TRUE
                              ,const wxRect* pRect = (const wxRect *)NULL
                             );
     virtual void     Clear(void);
+    virtual void     Freeze(void);
+    virtual void     Update(void);
+    virtual void     Thaw(void);
     virtual bool     SetCursor(const wxCursor& rCursor);
     virtual bool     SetFont(const wxFont& rFont);
     virtual int      GetCharHeight(void) const;
@@ -244,21 +252,15 @@ public:
     virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; };
 
     // returns TRUE if the window has been created
-    bool OS2Create( WXHWND        hParent
-                   ,PSZ           zClass
-                   ,const wxChar* zTitle
-                   ,WXDWORD       dwStyle
-                   ,long          lX
-                   ,long          lY
-                   ,long          lWidth
-                   ,long          lHeight
-                   ,WXHWND        hOwner
-                   ,WXHWND        hZOrder
-                   ,unsigned long lId
-                   ,void*         pCtlData = NULL
-                   ,void*         pPresParams = NULL
-                   ,WXDWORD       dwExStyle = 0L
-                  );
+    bool         OS2Create( PSZ            zClass
+                           ,const char*    zTitle
+                           ,WXDWORD        dwStyle
+                           ,const wxPoint& rPos
+                           ,const wxSize&  rSize
+                           ,void*          pCtlData
+                           ,WXDWORD        dwExStyle
+                           ,bool           bIsChild
+                          );
     virtual bool OS2Command( WXUINT uParam
                             ,WXWORD nId
                            );
@@ -368,11 +370,7 @@ public:
     bool HandleSysCommand( WXWPARAM wParam
                           ,WXLPARAM lParam
                          );
-    bool HandleWindowParams( PWNDPARAMS pParams
-                            ,WXLPARAM   lParam
-                           );
     bool HandlePaletteChanged();
-    bool HandlePresParamChanged(WXWPARAM wParam);
     bool HandleSysColorChange(void);
     bool HandleCtlColor(WXHBRUSH* hBrush);
     bool HandleSetFocus(WXHWND hWnd);
@@ -387,14 +385,14 @@ public:
                          ,int    nY
                          ,WXUINT uFlags
                         );
-    bool HandleChar( WXWORD   wParam
+    bool HandleChar( WXDWORD  wParam
                     ,WXLPARAM lParam
                     ,bool     bIsASCII = FALSE
                    );
     bool HandleKeyDown( WXWORD   wParam
                        ,WXLPARAM lParam
                       );
-    bool HandleKeyUp( WXWORD   wParam
+    bool HandleKeyUp( WXDWORD  wParam
                      ,WXLPARAM lParam
                     );
     bool HandleQueryDragIcon(WXHICON* phIcon);
@@ -402,6 +400,15 @@ public:
                          ,WXHWND hWnd
                         );
 
+    bool IsMouseInWindow(void) const;
+    bool OS2GetCreateWindowCoords( const wxPoint& rPos
+                                  ,const wxSize&  rSize
+                                  ,int&           rnX
+                                  ,int&           rnY
+                                  ,int&           rnWidth
+                                  ,int&           rnHeight
+                                 ) const;
+
     // Window procedure
     virtual MRESULT OS2WindowProc( WXUINT   uMsg
                                   ,WXWPARAM wParam
@@ -414,12 +421,10 @@ public:
                                      ,WXLPARAM lParam
                                     );
     virtual bool    OS2ProcessMessage(WXMSG* pMsg);
+    virtual bool    OS2ShouldPreProcessMessage(WXMSG* pMsg);
     virtual bool    OS2TranslateMessage(WXMSG* pMsg);
     virtual void    OS2DestroyWindow(void);
 
-    // Detach "Window" menu from menu bar so it doesn't get deleted
-    void OS2DetachWindowMenu(void);
-
     // this function should return the brush to paint the window background
     // with or 0 for the default brush
     virtual WXHBRUSH OnCtlColor( WXHDC    hDC
@@ -445,6 +450,8 @@ public:
                         ,WXUINT        uFlags
                        );
 
+    void MoveChildren(int nDiff);
+
 protected:
     // PM can't create some MSW styles natively but can perform these after
     // creation by sending messages
@@ -514,6 +521,9 @@ protected:
                                  ,int nHeight
                                 );
 
+    virtual void     DoCaptureMouse(void);
+    virtual void     DoReleaseMouse(void);
+
     // move the window to the specified location and resize it: this is called
     // from both DoSetSize() and DoSetClientSize() and would usually just call
     // ::WinSetWindowPos() except for composite controls which will want to arrange
@@ -528,6 +538,8 @@ protected:
     virtual void DoSetToolTip(wxToolTip* pTip);
 #endif // wxUSE_TOOLTIPS
 
+    int  GetOS2ParentHeight(wxWindowOS2* pParent);
+
 private:
     // common part of all ctors
     void Init(void);
@@ -561,6 +573,13 @@ private:
     { return(wxWindowBase::Reparent(pNewParent));};
 }; // end of wxWindow
 
+class wxWindowCreationHook
+{
+public:
+    wxWindowCreationHook(wxWindow* pWinBeingCreated);
+    ~wxWindowCreationHook();
+}; // end of CLASS wxWindowCreationHook
+
 // ---------------------------------------------------------------------------
 // global functions
 // ---------------------------------------------------------------------------