#include "wx/wxprec.h"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
#ifndef WX_PRECOMP
-#include "wx/setup.h"
-#include "wx/frame.h"
-#include "wx/menu.h"
-#include "wx/app.h"
-#include "wx/utils.h"
-#include "wx/dialog.h"
-#include "wx/settings.h"
-#include "wx/dcclient.h"
-#endif
+ #include "wx/setup.h"
+ #include "wx/frame.h"
+ #include "wx/menu.h"
+ #include "wx/app.h"
+ #include "wx/utils.h"
+ #include "wx/dialog.h"
+ #include "wx/settings.h"
+ #include "wx/dcclient.h"
+#endif // WX_PRECOMP
#include "wx/msw/private.h"
#include "wx/statusbr.h"
#endif
#if wxUSE_NATIVE_STATUSBAR
-#include <wx/msw/statbr95.h>
+ #include <wx/msw/statbr95.h>
#endif
extern wxList wxModelessWindows;
#endif
#if wxUSE_NATIVE_STATUSBAR
-bool wxFrame::m_useNativeStatusBar = TRUE;
+ bool wxFrame::m_useNativeStatusBar = TRUE;
#else
-bool wxFrame::m_useNativeStatusBar = FALSE;
+ bool wxFrame::m_useNativeStatusBar = FALSE;
#endif
-wxFrame::wxFrame(void)
+wxFrame::wxFrame()
{
m_frameToolBar = NULL ;
m_frameMenuBar = NULL;
long style,
const wxString& name)
{
+#if wxUSE_TOOLTIPS
+ m_hwndToolTip = 0;
+#endif
+
if (!parent)
wxTopLevelWindows.Append(this);
return TRUE;
}
-wxFrame::~wxFrame(void)
+wxFrame::~wxFrame()
{
m_isBeingDeleted = TRUE;
wxTopLevelWindows.DeleteObject(this);
::BringWindowToTop((HWND) GetParent()->GetHWND());
}
-WXHMENU wxFrame::GetWinMenu(void) const
+WXHMENU wxFrame::GetWinMenu() const
{
return m_hMenu;
}
void wxFrame::GetClientSize(int *x, int *y) const
{
RECT rect;
- GetClientRect((HWND) GetHWND(), &rect);
+ ::GetClientRect((HWND) GetHWND(), &rect);
if ( GetStatusBar() )
{
// Set the client size (i.e. leave the calculation of borders etc.
// to wxWindows)
-void wxFrame::SetClientSize(int width, int height)
+void wxFrame::DoSetClientSize(int width, int height)
{
HWND hWnd = (HWND) GetHWND();
RECT rect;
- GetClientRect(hWnd, &rect);
+ ::GetClientRect(hWnd, &rect);
RECT rect2;
GetWindowRect(hWnd, &rect2);
*y = point.y;
}
-void wxFrame::SetSize(int x, int y, int width, int height, int sizeFlags)
+void wxFrame::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
int currentX, currentY;
int x1 = x;
m_iconized = FALSE;
}
-bool wxFrame::IsIconized(void) const
+bool wxFrame::IsIconized() const
{
((wxFrame *)this)->m_iconized = (::IsIconic((HWND) GetHWND()) != 0);
return m_iconized;
}
// Is it maximized?
-bool wxFrame::IsMaximized(void) const
+bool wxFrame::IsMaximized() const
{
return (::IsZoomed((HWND) GetHWND()) != 0) ;
}
SetWindowText((HWND) GetHWND(), (const char *)title);
}
-wxString wxFrame::GetTitle(void) const
+wxString wxFrame::GetTitle() const
{
GetWindowText((HWND) GetHWND(), wxBuffer, 1000);
return wxString(wxBuffer);
PositionStatusBar();
}
-void wxFrame::PositionStatusBar(void)
+void wxFrame::PositionStatusBar()
{
// native status bar positions itself
if (m_frameStatusBar
}
#endif
-void wxFrame::Fit(void)
+void wxFrame::Fit()
{
// Work out max. size
wxNode *node = GetChildren().First();
::PostMessage((HWND) GetHWND(), WM_SIZE, SIZE_RESTORED, MAKELPARAM(width, height));
}
-bool wxFrame::MSWOnPaint(void)
+bool wxFrame::MSWOnPaint()
{
RECT rect;
if (GetUpdateRect((HWND) GetHWND(), &rect, FALSE))
HDC cdc = BeginPaint((HWND) GetHWND(), &ps);
// Erase background before painting or we get white background
- this->MSWDefWindowProc(WM_ICONERASEBKGND,(WORD)ps.hdc,0L);
+ this->MSWDefWindowProc(WM_ICONERASEBKGND,(WORD)(LONG) ps.hdc,0L);
if (the_icon)
{
RECT rect;
- GetClientRect((HWND) GetHWND(), &rect);
+ ::GetClientRect((HWND) GetHWND(), &rect);
int icon_width = 32;
int icon_height = 32;
int icon_x = (int)((rect.right - icon_width)/2);
return 1;
}
-WXHICON wxFrame::MSWOnQueryDragIcon(void)
+WXHICON wxFrame::MSWOnQueryDragIcon()
{
if (m_icon.Ok() && (m_icon.GetHICON() != 0))
return m_icon.GetHICON();
}
}
-bool wxFrame::MSWOnClose(void)
+bool wxFrame::MSWOnClose()
{
return Close();
}
}
}
-// The default implementation for the close window event - calls
-// OnClose for backward compatibility.
-
+// The default implementation for the close window event.
void wxFrame::OnCloseWindow(wxCloseEvent& event)
{
- // Compatibility
- if ( GetEventHandler()->OnClose() || event.GetForce())
- {
- this->Destroy();
- }
- else
- event.Veto(TRUE);
-}
-
-bool wxFrame::OnClose(void)
-{
- return TRUE;
+ this->Destroy();
}
// Destroy the window (delayed, if a managed window)
-bool wxFrame::Destroy(void)
+bool wxFrame::Destroy()
{
if (!wxPendingDelete.Member(this))
wxPendingDelete.Append(this);
{
if (GetStatusBar())
{
- if (event.GetMenuId() == -1)
- SetStatusText("");
- else
+ int menuId = event.GetMenuId();
+ if ( menuId != -1 )
{
wxMenuBar *menuBar = GetMenuBar();
if (menuBar)
{
- wxString helpString(menuBar->GetHelpString(event.GetMenuId()));
- if (helpString != "")
- SetStatusText(helpString);
+ // set status text even if the string is empty - this will at
+ // least remove the string from the item which was previously
+ // selected
+ SetStatusText(menuBar->GetHelpString(menuId));
}
}
}
}
-wxMenuBar *wxFrame::GetMenuBar(void) const
+wxMenuBar *wxFrame::GetMenuBar() const
{
return m_frameMenuBar;
}
return new wxToolBar(this, id, wxDefaultPosition, wxDefaultSize, style, name);
}
-void wxFrame::PositionToolBar(void)
+void wxFrame::PositionToolBar()
{
RECT rect;
::GetClientRect((HWND) GetHWND(), &rect);