#include <os2.h>
+// ---------------------------------------------------------------------------
+// forward declarations
+// ---------------------------------------------------------------------------
+#ifndef CW_USEDEFAULT
+# define CW_USEDEFAULT ((int)0x80000000)
+#endif
+
// ---------------------------------------------------------------------------
// forward declarations
// ---------------------------------------------------------------------------
virtual void WarpPointer( int x
,int y
);
- virtual void CaptureMouse(void);
- virtual void ReleaseMouse(void);
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);
virtual bool SetCursor(const wxCursor& rCursor);
virtual bool SetFont(const wxFont& rFont);
virtual int GetCharHeight(void) const;
,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
) 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
);
wxWindow* GetWindowChild1(wxWindowID vId);
wxWindow* GetWindowChild(wxWindowID vId);
+#endif //__WXUNIVERSAL__
// implementation from now on
// --------------------------
virtual bool ContainsHWND(WXHWND WXUNUSED(hWnd)) const { return FALSE; };
// returns TRUE if the window has been created
- bool OS2Create( WXHWND hParent
- ,PSZ zClass
- ,const wxChar* zTitle
- ,WXDWORD dwStyle
- ,long lX
- ,long lY
- ,long lWidth
- ,long lHeight
- ,WXHWND hOwner
- ,WXHWND hZOrder
- ,unsigned long lId
- ,void* pCtlData = NULL
- ,void* pPresParams = NULL
- ,WXDWORD dwExStyle = 0L
- );
+ bool OS2Create( PSZ zClass
+ ,const char* zTitle
+ ,WXDWORD dwStyle
+ ,const wxPoint& rPos
+ ,const wxSize& rSize
+ ,void* pCtlData
+ ,WXDWORD dwExStyle
+ ,bool bIsChild
+ );
virtual bool OS2Command( WXUINT uParam
,WXWORD nId
);
) const;
#endif // WXWIN_COMPATIBILITY
+#ifndef __WXUNIVERSAL__
// Create an appropriate wxWindow from a HWND
virtual wxWindow* CreateWindowFromHWND( wxWindow* pParent
,WXHWND hWnd
// 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);
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);
,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);
,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
,WXLPARAM lParam
);
virtual bool OS2ProcessMessage(WXMSG* pMsg);
+ virtual bool OS2ShouldPreProcessMessage(WXMSG* pMsg);
virtual bool OS2TranslateMessage(WXMSG* pMsg);
virtual void OS2DestroyWindow(void);
- // Detach "Window" menu from menu bar so it doesn't get deleted
- void OS2DetachWindowMenu(void);
-
// this function should return the brush to paint the window background
// with or 0 for the default brush
virtual WXHBRUSH OnCtlColor( WXHDC hDC
,WXUINT uFlags
);
+ void MoveChildren(int nDiff);
+
protected:
// PM can't create some MSW styles natively but can perform these after
// creation by sending messages
,int nHeight
);
+ virtual void DoCaptureMouse(void);
+ virtual void DoReleaseMouse(void);
+
// move the window to the specified location and resize it: this is called
// from both DoSetSize() and DoSetClientSize() and would usually just call
// ::WinSetWindowPos() except for composite controls which will want to arrange
virtual void DoSetToolTip(wxToolTip* pTip);
#endif // wxUSE_TOOLTIPS
+ int GetOS2ParentHeight(wxWindowOS2* pParent);
+
private:
// common part of all ctors
void Init(void);
{ return(wxWindowBase::Reparent(pNewParent));};
}; // end of wxWindow
+class wxWindowCreationHook
+{
+public:
+ wxWindowCreationHook(wxWindow* pWinBeingCreated);
+ ~wxWindowCreationHook();
+}; // end of CLASS wxWindowCreationHook
+
// ---------------------------------------------------------------------------
// global functions
// ---------------------------------------------------------------------------