X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/45e0dc94770d598a1cc84d83730d470dd1cfbcca..ccdcde00d9ae27ca20ff6c3c9495918a0ec725aa:/include/wx/os2/window.h diff --git a/include/wx/os2/window.h b/include/wx/os2/window.h index aa2553e8fa..64e0c1e674 100644 --- a/include/wx/os2/window.h +++ b/include/wx/os2/window.h @@ -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; @@ -253,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 @@ -387,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); @@ -453,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 @@ -477,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; @@ -541,7 +561,6 @@ protected: #endif // wxUSE_TOOLTIPS int GetOS2ParentHeight(wxWindowOS2* pParent); - virtual void OS2Layout(int nWidth, int nHeight); private: // common part of all ctors @@ -562,7 +581,11 @@ 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); @@ -572,6 +595,7 @@ private: private: HWND m_hWndScrollBarHorz; HWND m_hWndScrollBarVert; + SWP m_vWinSwp; // Virtual function hiding supression inline virtual bool Reparent(wxWindowBase* pNewParent)