X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6807396fdfd3c9ada578be23941dbd6047033fc5..5afecf600d44428246dca81b624a66926c69f675:/src/mgl/toplevel.cpp diff --git a/src/mgl/toplevel.cpp b/src/mgl/toplevel.cpp index 8252c3cd9a..d2ede3f43c 100644 --- a/src/mgl/toplevel.cpp +++ b/src/mgl/toplevel.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: toplevel.cpp +// Name: src/mgl/toplevel.cpp // Purpose: // Author: Vaclav Slavik // Id: $Id$ @@ -7,6 +7,13 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + // ============================================================================ // declarations // ============================================================================ @@ -15,20 +22,12 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "toplevel.h" -#endif +#include "wx/toplevel.h" -// For compilers that support precompilation, includes "wx.h". -#include "wx/wxprec.h" +#ifndef WX_PRECOMP + #include "wx/app.h" +#endif // WX_PRECOMP -#ifdef __BORLANDC__ -#pragma hdrstop -#endif - -#include "wx/defs.h" -#include "wx/toplevel.h" -#include "wx/app.h" #include "wx/mgl/private.h" // ---------------------------------------------------------------------------- @@ -52,11 +51,11 @@ extern int g_openDialogs; void wxTopLevelWindowMGL::Init() { - m_isShown = FALSE; - m_isIconized = FALSE; - m_isMaximized = FALSE; - m_fsIsShowing = FALSE; - m_sizeSet = FALSE; + m_isShown = false; + m_isIconized = false; + m_isMaximized = false; + m_fsIsShowing = false; + m_sizeSet = false; } bool wxTopLevelWindowMGL::Create(wxWindow *parent, @@ -70,27 +69,27 @@ bool wxTopLevelWindowMGL::Create(wxWindow *parent, // always create a frame of some reasonable, even if arbitrary, size (at // least for MSW compatibility) wxSize size = sizeOrig; - if ( size.x == -1 || size.y == -1 ) + if ( size.x == wxDefaultCoord || size.y == wxDefaultCoord ) { wxSize sizeDefault = GetDefaultSize(); - if ( size.x == -1 ) + if ( size.x == wxDefaultCoord ) size.x = sizeDefault.x; - if ( size.y == -1 ) + if ( size.y == wxDefaultCoord ) size.y = sizeDefault.y; } - + // for default positioning, centre the first top level window and // cascade any addtional ones from there. wxPoint pos = posOrig; - if ( pos.x == -1 || pos.y == -1 ) + if ( pos.x == wxDefaultCoord || pos.y == wxDefaultCoord ) { wxSize sizeDisplay = wxGetDisplaySize(); static wxPoint nextPos((sizeDisplay.x - size.x) / 2, (sizeDisplay.y - size.y) / 2); - if ( pos.x == -1 ) + if ( pos.x == wxDefaultCoord ) pos.x = nextPos.x; - if ( pos.y == -1 ) + if ( pos.y == wxDefaultCoord ) pos.y = nextPos.y; if ( pos.x + size.x > sizeDisplay.x || pos.y + size.y > sizeDisplay.y ) pos = wxPoint(); @@ -107,28 +106,12 @@ bool wxTopLevelWindowMGL::Create(wxWindow *parent, wxTopLevelWindows.Append(this); m_title = title; - return TRUE; -} - -wxTopLevelWindowMGL::~wxTopLevelWindowMGL() -{ - m_isBeingDeleted = TRUE; - - wxTopLevelWindows.DeleteObject(this); - - if (wxTheApp->GetTopWindow() == this) - wxTheApp->SetTopWindow(NULL); - - if ((wxTopLevelWindows.Number() == 0) && - (wxTheApp->GetExitOnFrameDelete())) - { - wxTheApp->ExitMainLoop(); - } + return true; } bool wxTopLevelWindowMGL::ShowFullScreen(bool show, long style) { - if (show == m_fsIsShowing) return FALSE; // return what? + if (show == m_fsIsShowing) return false; // return what? m_fsIsShowing = show; @@ -151,11 +134,11 @@ bool wxTopLevelWindowMGL::ShowFullScreen(bool show, long style) else { m_windowStyle = m_fsSaveStyle; - SetSize(m_fsSaveFrame.x, m_fsSaveFrame.y, + SetSize(m_fsSaveFrame.x, m_fsSaveFrame.y, m_fsSaveFrame.width, m_fsSaveFrame.height); } - return TRUE; + return true; } bool wxTopLevelWindowMGL::Show(bool show) @@ -166,13 +149,13 @@ bool wxTopLevelWindowMGL::Show(bool show) // so that the frame can adjust itself (think auto layout or single child) if ( !m_sizeSet ) { - m_sizeSet = TRUE; + m_sizeSet = true; wxSizeEvent event(GetSize(), GetId()); event.SetEventObject(this); - GetEventHandler()->ProcessEvent(event); + HandleWindowEvent(event); } - if ( ret && show && AcceptsFocus() ) + if ( ret && show && CanAcceptFocus() ) SetFocus(); // FIXME_MGL -- don't do this for popup windows? return ret; @@ -188,7 +171,7 @@ void wxTopLevelWindowMGL::Maximize(bool maximize) if ( maximize && !m_isMaximized ) { - m_isMaximized = TRUE; + m_isMaximized = true; GetPosition(&m_savedFrame.x, &m_savedFrame.y); GetSize(&m_savedFrame.width, &m_savedFrame.height); @@ -197,8 +180,8 @@ void wxTopLevelWindowMGL::Maximize(bool maximize) } else if ( !maximize && m_isMaximized ) { - m_isMaximized = FALSE; - SetSize(m_savedFrame.x, m_savedFrame.y, + m_isMaximized = false; + SetSize(m_savedFrame.x, m_savedFrame.y, m_savedFrame.width, m_savedFrame.height); } } @@ -212,11 +195,11 @@ void wxTopLevelWindowMGL::Restore() { if ( IsIconized() ) { - Iconize(FALSE); + Iconize(false); } if ( IsMaximized() ) { - Maximize(FALSE); + Maximize(false); } }