/////////////////////////////////////////////////////////////////////////////
-// Name: window.h
+// Name: wx/os2/window.h
// Purpose: wxWindow class
// Author: David Webster
// Modified by:
// Created: 10/12/99
// RCS-ID: $Id$
// Copyright: (c) David Webster
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_WINDOW_H_
// forward declarations
// ---------------------------------------------------------------------------
-class WXDLLEXPORT wxButton;
-
-// ---------------------------------------------------------------------------
-// constants
-// ---------------------------------------------------------------------------
-
-// FIXME does anybody use those? they're unused by wxWidgets...
-enum
-{
- wxKEY_SHIFT = 1,
- wxKEY_CTRL = 2
-};
+class WXDLLIMPEXP_FWD_CORE wxButton;
// ---------------------------------------------------------------------------
// wxWindow declaration for OS/2 PM
// ---------------------------------------------------------------------------
-class WXDLLEXPORT wxWindowOS2 : public wxWindowBase
+class WXDLLIMPEXP_CORE wxWindowOS2 : public wxWindowBase
{
public:
wxWindowOS2()
);
// 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 bool Reparent(wxWindowBase* 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 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);
,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;
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
// --------------
public:
- // For implementation purposes - sometimes decorations make the client area
- // smaller
- virtual wxPoint GetClientAreaOrigin(void) const;
-
// Windows subclassing
void SubclassWin(WXHWND hWnd);
void UnsubclassWin(void);
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 wxWidgets') 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 wxWidgets window style ?? applicable to OS/2??
static WXDWORD MakeExtendedStyle( long lStyle
- ,bool bEliminateBorders = TRUE
+ ,bool bEliminateBorders = true
);
- // 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 wxWidgets style flags for this control into the PM style
// and optional extended style for the corresponding native control
// 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
// ------------------------------------------------------------------------
// 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
);
bool HandleChar( WXWPARAM wParam
,WXLPARAM lParam
- ,bool bIsASCII = FALSE
+ ,bool bIsASCII = false
);
bool HandleKeyDown( WXWPARAM wParam
,WXLPARAM lParam
PSWP GetSwp(void) {return &m_vWinSwp;}
protected:
+ virtual void DoFreeze(void);
+ virtual void DoThaw(void);
+
// PM can't create some MSW styles natively but can perform these after
// creation by sending messages
typedef enum extra_flags { kFrameToolWindow = 0x0001
,WXWPARAM wParam = 0
) const;
- wxWindowList* m_pChildrenDisabled;
HWND m_hWndScrollBarHorz;
HWND m_hWndScrollBarVert;
SWP m_vWinSwp;
DECLARE_DYNAMIC_CLASS(wxWindowOS2);
DECLARE_NO_COPY_CLASS(wxWindowOS2)
DECLARE_EVENT_TABLE()
-
- //
- // Virtual function hiding supression
- //
- inline virtual bool Reparent(wxWindowBase* pNewParent)
- { return(wxWindowBase::Reparent(pNewParent));}
}; // end of wxWindow
class wxWindowCreationHook
// ---------------------------------------------------------------------------
// kbd code translation
-WXDLLEXPORT int wxCharCodeOS2ToWX(int nKeySym);
-WXDLLEXPORT int wxCharCodeWXToOS2( int nId
- ,bool* pbIsVirtual
+WXDLLIMPEXP_CORE int wxCharCodeOS2ToWX(int nKeySym);
+WXDLLIMPEXP_CORE int wxCharCodeWXToOS2( int nId
+ ,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_