//
// PM specific
//
- m_bDoubleClickAllowed = 0;
m_bWinCaptured = FALSE;
m_isBeingDeleted = FALSE;
- m_fnOldWndProc = 0;
+ m_fnOldWndProc = NULL;
m_bUseCtl3D = FALSE;
m_bMouseInWindow = FALSE;
m_bLastKeydownProcessed = FALSE;
for (wxWindow* pWin = GetParent(); pWin; pWin = pWin->GetParent())
{
- wxFrame* pFrame = wxDynamicCast(pWin, wxFrame);
+ wxTopLevelWindow* pFrame = wxDynamicCast(pWin, wxTopLevelWindow);
if (pFrame)
{
if (pFrame->GetLastFocus() == this)
- pFrame->SetLastFocus((wxWindow*)NULL);
+ pFrame->SetLastFocus(NULL);
}
}
pMsg = pMsg; // just shut up the compiler
#endif // __WXUNIVERSAL__
-#if wxUSE_TOOLTIPS
- if ( m_tooltip )
- {
- // relay mouse move events to the tooltip control
- QMSG* pQMsg = (QMSG*)pMsg;
-
- if (pQMsg->msg == WM_MOUSEMOVE )
- m_tooltip->RelayEvent(pMsg);
- }
-#endif // wxUSE_TOOLTIPS
-
return FALSE;
} // end of wxWindowOS2::OS2ProcessMessage
{
if (pFrame->GetStatusBar())
pFrame->PositionStatusBar();
+ if (pFrame->GetToolBar())
+ pFrame->PositionToolBar();
}
}
}
break;
case WM_QUERYDLGCODE:
- if ( m_lDlgCode )
+ if (!IsOfStandardClass())
{
- mResult = (MRESULT)m_lDlgCode;
- bProcessed = TRUE;
+ if ( m_lDlgCode )
+ {
+ mResult = (MRESULT)m_lDlgCode;
+ bProcessed = TRUE;
+ }
}
//
//else: get the dlg code from the DefWindowProc()
) const
{
bool bNonDefault = FALSE;
+ static const int DEFAULT_Y = 200;
+ static const int DEFAULT_H = 250;
if (rPos.x == -1)
{
- //
- // If set x to CW_USEDEFAULT, y parameter is ignored anyhow so we can
- // just as well set it to CW_USEDEFAULT as well
rnX = rnY = CW_USEDEFAULT;
}
else
{
rnX = rPos.x;
- rnY = rPos.y == -1 ? CW_USEDEFAULT : rPos.y;
+ rnY = rPos.y == -1 ? DEFAULT_Y : rPos.y;
bNonDefault = TRUE;
}
if (rSize.x == -1)
{
- //
- // As abobe, h is not used at all in this case anyhow
- //
rnWidth = rnHeight = CW_USEDEFAULT;
}
else
{
rnWidth = rSize.x;
- rnHeight = rSize.y == -1 ? CW_USEDEFAULT : rSize.y;
+ rnHeight = rSize.y == -1 ? DEFAULT_H : rSize.y;
bNonDefault = TRUE;
}
return bNonDefault;
} // end of wxWindowOS2::OS2GetCreateWindowCoords
+WXHWND wxWindowOS2::OS2GetParent() const
+{
+ return m_parent ? m_parent->GetHWND() : NULL;
+}
+
bool wxWindowOS2::OS2Create(
PSZ zClass
, const char* zTitle
,nHeight
);
- if (GetWindowStyleFlag() & wxPOPUP_WINDOW)
- hParent = HWND_DESKTOP;
- else
- {
- if ((bIsChild || HasFlag(wxFRAME_TOOL_WINDOW)) && pParent )
- {
- //
- // This is either a normal child window or a top level window with
- // wxFRAME_TOOL_WINDOW style (see below)
- //
- hParent = GetHwndOf(pParent);
- }
- else
- {
- //
- // This is either a window for which no parent was specified (not
- // much we can do then) or a frame without wxFRAME_TOOL_WINDOW
- // style: we should use NULL parent HWND for it or it would be
- // always on top of its parent which is not what we usually want
- // (in fact, we only want it for frames with the special
- // wxFRAME_TOOL_WINDOW as above)
- //
- hParent = NULL;
- }
- }
if (bIsChild)
{
lControlId = GetId();
{
sClassName += wxT("NR");
}
- m_hWnd = (WXHWND)::WinCreateWindow( (HWND)hParent
- ,(PSZ)sClassName.c_str()
- ,(PSZ)zTitle ? zTitle : ""
- ,(ULONG)dwStyle
- ,(LONG)0L
- ,(LONG)0L
- ,(LONG)0L
- ,(LONG)0L
- ,NULLHANDLE
- ,HWND_TOP
- ,(ULONG)lControlId
- ,pCtlData
- ,NULL
- );
+ m_hWnd = (WXHWND)::WinCreateWindow( (HWND)OS2GetParent()
+ ,(PSZ)sClassName.c_str()
+ ,(PSZ)zTitle ? zTitle : ""
+ ,(ULONG)dwStyle
+ ,(LONG)0L
+ ,(LONG)0L
+ ,(LONG)0L
+ ,(LONG)0L
+ ,NULLHANDLE
+ ,HWND_TOP
+ ,(ULONG)lControlId
+ ,pCtlData
+ ,NULL
+ );
if (!m_hWnd)
{
vError = ::WinGetLastError(wxGetInstance());
rEvent.m_rightDown = ((uFlags & VK_BUTTON2) != 0);
rEvent.SetTimestamp(s_currentMsg.time);
rEvent.m_eventObject = this;
+ rEvent.SetId(GetId());
#if wxUSE_MOUSEEVENT_HACK
m_lastMouseX = nX;
IsKindOf(CLASSINFO(wxMenuBar)) ||
IsKindOf(CLASSINFO(wxToolBar))
)
- return(pParent->GetSize().y);
+ {
+ if (IsKindOf(CLASSINFO(wxToolBar)))
+ {
+ wxFrame* pFrame = wxDynamicCast(GetParent(), wxFrame);
+
+ if (pFrame->GetToolBar() == this)
+ return(pParent->GetSize().y);
+ else
+ return(pParent->GetClientSize().y);
+ }
+ else
+ return(pParent->GetSize().y);
+ }
else
return(pParent->GetClientSize().y);
}