]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/os2/window.h
fixed outdated filenames
[wxWidgets.git] / include / wx / os2 / window.h
index f7188ff8dc6a6fc2989e92f34768257ffaa7df5b..64e0c1e674d6a5205658cf647b5aca1e96a1c23e 100644 (file)
@@ -106,6 +106,7 @@ public:
     virtual void     Freeze(void);
     virtual void     Update(void);
     virtual void     Thaw(void);
+    virtual void     SetWindowStyleFlag(long lStyle);
     virtual bool     SetCursor(const wxCursor& rCursor);
     virtual bool     SetFont(const wxFont& rFont);
     virtual int      GetCharHeight(void) const;
@@ -142,6 +143,8 @@ public:
                                   ,const wxRect* pRect = (wxRect *)NULL
                                  );
 
+    inline HWND                   GetScrollBarHorz(void) const {return m_hWndScrollBarHorz;}
+    inline HWND                   GetScrollBarVert(void) const {return m_hWndScrollBarVert;};
 #if wxUSE_DRAG_AND_DROP
     virtual void SetDropTarget(wxDropTarget* pDropTarget);
 #endif // wxUSE_DRAG_AND_DROP
@@ -251,6 +254,23 @@ public:
     // PM only: TRUE if this control is part of the main control
     virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; };
 
+    // translate wxWindows style flags for this control into the PM style
+    // and optional extended style for the corresponding native control
+    //
+    // this is the function that should be overridden in the derived classes,
+    // but you will mostly use OS2GetCreateWindowFlags() below
+    virtual WXDWORD OS2GetStyle( long     lFlags
+                                ,WXDWORD* pdwExstyle = NULL
+                               ) const;
+
+    // get the MSW window flags corresponding to wxWindows ones
+    //
+    // the functions returns the flags (WS_XXX) directly and puts the ext
+    // (WS_EX_XXX) flags into the provided pointer if not NULL
+    WXDWORD OS2GetCreateWindowFlags(WXDWORD* pdwExflags = NULL) const
+        { return OS2GetStyle(GetWindowStyle(), pdwExflags); }
+
+
     // returns TRUE if the window has been created
     bool         OS2Create( PSZ            zClass
                            ,const char*    zTitle
@@ -385,14 +405,14 @@ public:
                          ,int    nY
                          ,WXUINT uFlags
                         );
-    bool HandleChar( WXDWORD  wParam
+    bool HandleChar( WXWPARAM wParam
                     ,WXLPARAM lParam
                     ,bool     bIsASCII = FALSE
                    );
-    bool HandleKeyDown( WXWORD   wParam
+    bool HandleKeyDown( WXWPARAM wParam
                        ,WXLPARAM lParam
                       );
-    bool HandleKeyUp( WXDWORD  wParam
+    bool HandleKeyUp( WXWPARAM wParam
                      ,WXLPARAM lParam
                     );
     bool HandleQueryDragIcon(WXHICON* phIcon);
@@ -421,6 +441,7 @@ public:
                                      ,WXLPARAM lParam
                                     );
     virtual bool    OS2ProcessMessage(WXMSG* pMsg);
+    virtual bool    OS2ShouldPreProcessMessage(WXMSG* pMsg);
     virtual bool    OS2TranslateMessage(WXMSG* pMsg);
     virtual void    OS2DestroyWindow(void);
 
@@ -450,6 +471,7 @@ public:
                        );
 
     void MoveChildren(int nDiff);
+    PSWP GetSwp(void) {return &m_vWinSwp;}
 
 protected:
     // PM can't create some MSW styles natively but can perform these after
@@ -474,6 +496,7 @@ protected:
     bool                            m_bBackgroundTransparent:1;
     bool                            m_bMouseInWindow:1;
     bool                            m_bDoubleClickAllowed:1;
+    bool                            m_bLastKeydownProcessed:1;
     bool                            m_bWinCaptured:1;
     WXDWORD                         m_dwExStyle;
 
@@ -558,14 +581,21 @@ private:
                       ,WXLPARAM* pResult
                      );
     // the helper functions used by HandleChar/KeyXXX methods
-    wxKeyEvent CreateKeyEvent(wxEventType evType, int id, WXLPARAM lp) const;
+    wxKeyEvent CreateKeyEvent( wxEventType evType
+                              ,int         nId
+                              ,WXLPARAM    lParam = 0
+                              ,WXWPARAM    wParam = 0
+                             ) const;
+
 
     DECLARE_DYNAMIC_CLASS(wxWindowOS2);
     DECLARE_NO_COPY_CLASS(wxWindowOS2)
     DECLARE_EVENT_TABLE()
+
 private:
     HWND                            m_hWndScrollBarHorz;
     HWND                            m_hWndScrollBarVert;
+    SWP                             m_vWinSwp;
 
     // Virtual function hiding supression
     inline virtual bool Reparent(wxWindowBase* pNewParent)