X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/018d3030cc3616223f598b750171f86eabdd3ed7..c7bfb76a2cf367dcdbff8f9a97e3250053a1adca:/include/wx/os2/window.h diff --git a/include/wx/os2/window.h b/include/wx/os2/window.h index dd4a0e64fe..9070497a44 100644 --- a/include/wx/os2/window.h +++ b/include/wx/os2/window.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: window.h +// Name: wx/os2/window.h // Purpose: wxWindow class // Author: David Webster // Modified by: @@ -34,18 +34,7 @@ // forward declarations // --------------------------------------------------------------------------- -class WXDLLEXPORT wxButton; - -// --------------------------------------------------------------------------- -// constants -// --------------------------------------------------------------------------- - -// FIXME does anybody use those? they're unused by wxWindows... -enum -{ - wxKEY_SHIFT = 1, - wxKEY_CTRL = 2 -}; +class WXDLLIMPEXP_FWD_CORE wxButton; // --------------------------------------------------------------------------- // wxWindow declaration for OS/2 PM @@ -88,22 +77,21 @@ public: ); // implement base class pure virtuals - virtual void SetTitle(const wxString& rTitle); - virtual wxString GetTitle(void) const; + virtual void SetLabel(const wxString& label); + virtual wxString GetLabel(void) const; virtual void Raise(void); virtual void Lower(void); - virtual bool Show(bool bShow = TRUE); - virtual bool Enable(bool bEnable = TRUE); + virtual bool Show(bool bShow = true); + virtual void DoEnable(bool bEnable); virtual void SetFocus(void); virtual void SetFocusFromKbd(void); virtual bool Reparent(wxWindow* pNewParent); virtual void WarpPointer( int x ,int y ); - virtual void Refresh( bool bEraseBackground = TRUE + 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); @@ -130,11 +118,11 @@ public: ,int nPos ,int nThumbVisible ,int nRange - ,bool bRefresh = TRUE + ,bool bRefresh = true ); virtual void SetScrollPos( int nOrient ,int nPos - ,bool bRefresh = TRUE + ,bool bRefresh = true ); virtual int GetScrollPos(int nOrient) const; virtual int GetScrollThumb(int nOrient) const; @@ -153,47 +141,6 @@ public: // Accept files for dragging virtual void DragAcceptFiles(bool bAccept); -#if WXWIN_COMPATIBILITY - // Set/get scroll attributes - virtual void SetScrollRange( int nOrient - ,int nRange - ,bool bRefresh = TRUE - ); - virtual void SetScrollPage( int nOrient - ,int nPage - ,bool bRefresh = TRUE - ); - virtual int OldGetScrollRange(int nOrient) const; - virtual int GetScrollPage(int nOrient) const; - - // - // event handlers - // - // Handle a control command - virtual void OnCommand( wxWindow& rWin - ,wxCommandEvent& rEvent - ); - - // Override to define new behaviour for default action (e.g. double - // clicking on a listbox) - virtual void OnDefaultAction(wxControl* WXUNUSED(pInitiatingItem)) { } -#endif // WXWIN_COMPATIBILITY - -#if wxUSE_CARET && WXWIN_COMPATIBILITY - void CreateCaret( int nWidth - ,int nHeight - ); - void CreateCaret(const wxBitmap* pBitmap); - void DestroyCaret(void); - void ShowCaret(bool bShow); - void SetCaretPos( int nX - ,int nY - ); - void GetCaretPos( int* pX - ,int* pY - ) const; -#endif // wxUSE_CARET - #ifndef __WXUNIVERSAL__ // Native resource loading (implemented in src/os2/nativdlg.cpp) // FIXME: should they really be all virtual? @@ -218,7 +165,7 @@ public: virtual WXWidget GetHandle(void) const { return GetHWND(); } bool GetUseCtl3D(void) const { return m_bUseCtl3D; } bool GetTransparentBackground(void) const { return m_bBackgroundTransparent; } - void SetTransparent(bool bT = TRUE) { m_bBackgroundTransparent = bT; } + void SetTransparentBackground(bool bT = true) { m_bBackgroundTransparent = bT; } // event handlers // -------------- @@ -227,13 +174,6 @@ public: void OnIdle(wxIdleEvent& rEvent); public: - // For hidden notebook pages, always TRUE for everything else - bool IsActivePage(void) const { return m_bIsActivePage; } - void SetActivePage(bool bActive) { m_bIsActivePage = bActive; } - - // For implementation purposes - sometimes decorations make the client area - // smaller - virtual wxPoint GetClientAreaOrigin(void) const; // Windows subclassing void SubclassWin(WXHWND hWnd); @@ -242,28 +182,24 @@ public: WXFARPROC OS2GetOldWndProc(void) const { return m_fnOldWndProc; } void OS2SetOldWndProc(WXFARPROC fnProc) { m_fnOldWndProc = fnProc; } // - // Return TRUE if the window is of a standard (i.e. not wxWindows') class + // Return true if the window is of a standard (i.e. not wxWidgets') class // bool IsOfStandardClass(void) const { return m_fnOldWndProc != NULL; } wxWindow* FindItem(long lId) const; wxWindow* FindItemByHWND( WXHWND hWnd - ,bool bControlOnly = FALSE + ,bool bControlOnly = false ) const; - // Make a Windows extended style from the given wxWindows window style ?? applicable to OS/2?? + // Make a Windows extended style from the given wxWidgets window style ?? applicable to OS/2?? static WXDWORD MakeExtendedStyle( long lStyle - ,bool bEliminateBorders = TRUE + ,bool bEliminateBorders = true ); - // Determine whether 3D effects are wanted - WXDWORD Determine3DEffects( WXDWORD dwDefaultBorderStyle - ,bool* pbWant3D - ) const; - // PM only: TRUE if this control is part of the main control - virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; }; + // 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 + // translate wxWidgets 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, @@ -272,7 +208,7 @@ public: ,WXDWORD* pdwExstyle = NULL ) const; - // get the MSW window flags corresponding to wxWindows ones + // get the MSW window flags corresponding to wxWidgets ones // // the functions returns the flags (WS_XXX) directly and puts the ext // (WS_EX_XXX) flags into the provided pointer if not NULL @@ -283,9 +219,9 @@ public: // get the HWND to be used as parent of this window with CreateWindow() virtual WXHWND OS2GetParent(void) const; - // returns TRUE if the window has been created + // returns true if the window has been created bool OS2Create( PSZ zClass - ,const char* zTitle + ,const wxChar* zTitle ,WXDWORD dwStyle ,const wxPoint& rPos ,const wxSize& rSize @@ -297,13 +233,6 @@ public: ,WXWORD nId ); -#if WXWIN_COMPATIBILITY - wxObject* GetChild(int nNumber) const; - virtual void OS2DeviceToLogical( float* pfX - ,float* pfY - ) const; -#endif // WXWIN_COMPATIBILITY - #ifndef __WXUNIVERSAL__ // Create an appropriate wxWindow from a HWND virtual wxWindow* CreateWindowFromHWND( wxWindow* pParent @@ -349,7 +278,7 @@ public: // ------------------------------------------------------------------------ // internal handlers for OS2 messages: all handlers return a boolen value: - // TRUE means that the handler processed the event and FALSE that it didn't + // true means that the handler processed the event and false that it didn't // ------------------------------------------------------------------------ // there are several cases where we have virtual functions for PM @@ -370,10 +299,12 @@ public: virtual bool OS2OnDrawItem( int nId ,WXDRAWITEMSTRUCT* pItem ); - virtual bool OS2OnMeasureItem( int nId + virtual long OS2OnMeasureItem( int nId ,WXMEASUREITEMSTRUCT* pItem ); + virtual void OnPaint(wxPaintEvent& rEvent); + // the rest are not virtual bool HandleCreate( WXLPCREATESTRUCT vCs ,bool* pMayCreate @@ -423,7 +354,7 @@ public: ); bool HandleChar( WXWPARAM wParam ,WXLPARAM lParam - ,bool bIsASCII = FALSE + ,bool bIsASCII = false ); bool HandleKeyDown( WXWPARAM wParam ,WXLPARAM lParam @@ -471,11 +402,6 @@ public: ,WXLPARAM lParam ); -#if WXWIN_COMPATIBILITY - void SetShowing(bool bShow) { (void)Show(show); } - bool IsUserEnabled(void) const { return IsEnabled(); } -#endif // WXWIN_COMPATIBILITY - // Responds to colour changes: passes event on to children. void OnSysColourChanged(wxSysColourChangedEvent& rEvent); @@ -602,11 +528,9 @@ private: ,WXWPARAM wParam = 0 ) const; - wxWindowList* m_pChildrenDisabled; HWND m_hWndScrollBarHorz; HWND m_hWndScrollBarVert; SWP m_vWinSwp; - bool m_bIsActivePage; DECLARE_DYNAMIC_CLASS(wxWindowOS2); DECLARE_NO_COPY_CLASS(wxWindowOS2) @@ -633,7 +557,20 @@ public: // kbd code translation WXDLLEXPORT int wxCharCodeOS2ToWX(int nKeySym); WXDLLEXPORT int wxCharCodeWXToOS2( int nId - ,bool* pbIsVirtual + ,bool* pbIsVirtual = NULL ); -#endif - // _WX_WINDOW_H_ + +// ---------------------------------------------------------------------------- +// global objects +// ---------------------------------------------------------------------------- + +// notice that this hash must be defined after wxWindow declaration as it +// needs to "see" its dtor and not just forward declaration +#include "wx/hash.h" + +// pseudo-template HWND <-> wxWindow hash table +WX_DECLARE_HASH(wxWindowOS2, wxWindowList, wxWinHashTable); + +extern wxWinHashTable *wxWinHandleHash; + +#endif // _WX_WINDOW_H_