X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c8b5f745c40c24b266e58b8870915558ddf14561..761df41e86ceeed56d32c038a6c9f88554d4f47a:/include/wx/os2/window.h diff --git a/include/wx/os2/window.h b/include/wx/os2/window.h index 323fa4570a..6508c25f6e 100644 --- a/include/wx/os2/window.h +++ b/include/wx/os2/window.h @@ -44,21 +44,21 @@ enum // wxWindow declaration for OS/2 PM // --------------------------------------------------------------------------- -class WXDLLEXPORT wxWindow : public wxWindowBase +class WXDLLEXPORT wxWindowOS2 : public wxWindowBase { public: - wxWindow() + wxWindowOS2() { Init(); } - wxWindow( wxWindow* pParent - ,wxWindowID vId - ,const wxPoint& rPos = wxDefaultPosition - ,const wxSize& rSize = wxDefaultSize - ,long lStyle = 0 - ,const wxString& rName = wxPanelNameStr - ) + wxWindowOS2( wxWindow* pParent + ,wxWindowID vId + ,const wxPoint& rPos = wxDefaultPosition + ,const wxSize& rSize = wxDefaultSize + ,long lStyle = 0 + ,const wxString& rName = wxPanelNameStr + ) { Init(); Create( pParent @@ -70,7 +70,7 @@ public: ); } - virtual ~wxWindow(); + virtual ~wxWindowOS2(); bool Create( wxWindow* pParent ,wxWindowID vId @@ -98,6 +98,9 @@ public: ,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; @@ -109,10 +112,12 @@ public: ,int* pExternalLeading = (int *)NULL ,const wxFont* pTheFont = (const wxFont *)NULL ) const; +#if wxUSE_MENUS_NATIVE virtual bool DoPopupMenu( wxMenu* pMenu ,int nX ,int nY ); +#endif // wxUSE_MENUS_NATIVE virtual void SetScrollbar( int nOrient ,int nPos @@ -180,6 +185,7 @@ public: ) const; #endif // wxUSE_CARET +#ifndef __WXUNIVERSAL__ // Native resource loading (implemented in src/os2/nativdlg.cpp) // FIXME: should they really be all virtual? virtual bool LoadNativeDialog( wxWindow* pParent @@ -190,6 +196,7 @@ public: ); wxWindow* GetWindowChild1(wxWindowID vId); wxWindow* GetWindowChild(wxWindowID vId); +#endif //__WXUNIVERSAL__ // implementation from now on // -------------------------- @@ -215,13 +222,6 @@ public: // smaller virtual wxPoint GetClientAreaOrigin(void) const; - // Makes an adjustment to the window position (for example, a frame that has - // a toolbar that it manages itself). - virtual void AdjustForParentClientOrigin( int& rX - ,int& rY - ,int nSizeFlags - ); - // Windows subclassing void SubclassWin(WXHWND hWnd); void UnsubclassWin(void); @@ -260,6 +260,7 @@ public: ,unsigned long lId ,void* pCtlData = NULL ,void* pPresParams = NULL + ,WXDWORD dwExStyle = 0L ); virtual bool OS2Command( WXUINT uParam ,WXWORD nId @@ -272,6 +273,7 @@ public: ) const; #endif // WXWIN_COMPATIBILITY +#ifndef __WXUNIVERSAL__ // Create an appropriate wxWindow from a HWND virtual wxWindow* CreateWindowFromHWND( wxWindow* pParent ,WXHWND hWnd @@ -279,6 +281,7 @@ public: // Make sure the window style reflects the HWND style (roughly) virtual void AdoptAttributesFromHWND(void); +#endif // Setup background and foreground colours correctly virtual void SetupColours(void); @@ -368,11 +371,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 +386,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 +401,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 @@ -445,6 +453,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 @@ -463,12 +473,13 @@ protected: // the old window proc (we subclass all windows) WXFARPROC m_fnOldWndProc; - // additional (MSW specific) flags + // additional (OS2 specific) flags bool m_bUseCtl3D:1; // Using CTL3D for this control bool m_bBackgroundTransparent:1; bool m_bMouseInWindow:1; bool m_bDoubleClickAllowed:1; bool m_bWinCaptured:1; + WXDWORD m_dwExStyle; // the size of one page for scrolling int m_nXThumbSize; @@ -527,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); @@ -548,8 +561,8 @@ private: // the helper functions used by HandleChar/KeyXXX methods wxKeyEvent CreateKeyEvent(wxEventType evType, int id, WXLPARAM lp) const; - DECLARE_DYNAMIC_CLASS(wxWindow); - DECLARE_NO_COPY_CLASS(wxWindow); + DECLARE_DYNAMIC_CLASS(wxWindowOS2); + DECLARE_NO_COPY_CLASS(wxWindowOS2) DECLARE_EVENT_TABLE() private: HWND m_hWndScrollBarHorz; @@ -560,6 +573,13 @@ private: { return(wxWindowBase::Reparent(pNewParent));}; }; // end of wxWindow +class wxWindowCreationHook +{ +public: + wxWindowCreationHook(wxWindow* pWinBeingCreated); + ~wxWindowCreationHook(); +}; // end of CLASS wxWindowCreationHook + // --------------------------------------------------------------------------- // global functions // ---------------------------------------------------------------------------