#pragma hdrstop
#endif
+#include "wx/toplevel.h"
+
#ifndef WX_PRECOMP
#include "wx/app.h"
- #include "wx/toplevel.h"
#include "wx/dialog.h"
#include "wx/string.h"
#include "wx/log.h"
#include "wx/control.h"
#include "wx/containr.h" // wxSetFocusToChild()
#include "wx/settings.h"
+ #include "wx/module.h" // wxSetFocusToChild()
#endif //WX_PRECOMP
-#include "wx/module.h" // wxSetFocusToChild()
#include "wx/os2/private.h"
// ----------------------------------------------------------------------------
hFrame = ::WinCreateStdWindow( hParent
,ulStyleFlags // frame-window style
,(PULONG)&lFlags // window style
- ,(PSZ)wxFrameClassName // class name
- ,(PSZ)rsTitle.c_str() // window title
+ ,wxString(wxFrameClassName).c_str() // class name
+ ,rsTitle.c_str() // window title
,0L // default client style
,NULLHANDLE // resource in executable file
,0 // resource id
//
if (nWidth == (int)CW_USEDEFAULT)
{
- //
+ //
// The exact number doesn't matter, the dialog will be resized
// again soon anyhow but it should be big enough to allow
// calculation relying on "totalSize - clientSize > 0" work, i.e.
::WinEnableWindow(m_hFrame, TRUE);
vEvent.SetEventObject(this);
- GetEventHandler()->ProcessEvent(vEvent);
+ HandleWindowEvent(vEvent);
}
else
{
} // end of wxTopLevelWindowOS2::Restore
// generate an artificial resize event
-void wxTopLevelWindowOS2::SendSizeEvent()
+void wxTopLevelWindowOS2::SendSizeEvent(int flags)
{
if (!m_bIconized)
{
RECTL vRect = wxGetWindowRect(GetHwnd());
- (void)::WinPostMsg( m_hFrame
- ,WM_SIZE
- ,MPFROM2SHORT(vRect.xRight - vRect.xLeft, vRect.yTop - vRect.yBottom)
- ,MPFROM2SHORT(vRect.xRight - vRect.xLeft, vRect.yTop - vRect.yBottom)
- );
+ if ( flags & wxSEND_EVENT_POST )
+ {
+ (void)::WinPostMsg( m_hFrame
+ ,WM_SIZE
+ ,MPFROM2SHORT(vRect.xRight - vRect.xLeft, vRect.yTop - vRect.yBottom)
+ ,MPFROM2SHORT(vRect.xRight - vRect.xLeft, vRect.yTop - vRect.yBottom)
+ );
+ }
+ else // send it
+ {
+ (void)::WinSendMsg( m_hFrame
+ ,WM_SIZE
+ ,MPFROM2SHORT(vRect.xRight - vRect.xLeft, vRect.yTop - vRect.yBottom)
+ ,MPFROM2SHORT(vRect.xRight - vRect.xLeft, vRect.yTop - vRect.yBottom)
+ );
+ }
}
} // end of wxTopLevelWindowOS2::SendSizeEvent
wxSize full( nWidth, nHeight );
wxSizeEvent vEvent( full, GetId() );
- GetEventHandler()->ProcessEvent(vEvent);
+ HandleWindowEvent(vEvent);
return true;
}
else
// wxTopLevelWindowOS2 misc
// ----------------------------------------------------------------------------
-void wxTopLevelWindowOS2::SetIcon(
- const wxIcon& rIcon
-)
-{
- SetIcons(wxIconBundle(rIcon));
-} // end of wxTopLevelWindowOS2::SetIcon
-
void wxTopLevelWindowOS2::SetIcons(
const wxIconBundle& rIcons
)
//
wxTopLevelWindowBase::SetIcons(rIcons);
- const wxIcon& vIcon = rIcons.GetIcon(wxSize(32, 32));
+ const wxIcon& vIcon = rIcons.GetIconOfExactSize(32);
- if (vIcon.Ok() && vIcon.GetWidth() == 32 && vIcon.GetHeight() == 32)
+ if (vIcon.Ok())
{
::WinSendMsg( m_hFrame
,WM_SETICON