#include "wx/defs.h"
#include "wx/toplevel.h"
+#include "wx/app.h"
// ----------------------------------------------------------------------------
// idle system
// ----------------------------------------------------------------------------
-extern void wxapp_install_idle_handler();
-extern bool g_isIdle;
extern int g_openDialogs;
// ----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxTopLevelWindow, wxWindow)
#endif
-// ----------------------------------------------------------------------------
-// data
-// ----------------------------------------------------------------------------
-
-extern wxList wxPendingDelete;
-
// ============================================================================
// implementation
void wxTopLevelWindowMGL::Init()
{
+ m_isShown = FALSE;
m_isIconized = FALSE;
m_isMaximized = FALSE;
m_fsIsShowing = FALSE;
if ( size.y == -1 )
size.y = sizeDpy.y / 5;
}
+
+ wxWindow::Create(parent, id, pos, sizeOrig, style, name);
wxTopLevelWindows.Append(this);
m_title = title;
-
-
- if (m_parent)
- m_parent->AddChild(this);
+
+ // FIXME_MGL -- should activate itself when shown!
return TRUE;
}
GetSize(&m_fsSaveFrame.width, &m_fsSaveFrame.height);
if ( style & wxFULLSCREEN_NOCAPTION )
- m_windowStyle &= !wxCAPTION;
+ m_windowStyle &= ~wxCAPTION;
if ( style & wxFULLSCREEN_NOBORDER )
m_windowStyle = wxSIMPLE_BORDER;
return TRUE;
}
+bool wxTopLevelWindowMGL::Show(bool show)
+{
+ bool ret = wxTopLevelWindowBase::Show(show);
+ if ( ret && show )
+ SetFocus();
+ return ret;
+}
+
void wxTopLevelWindowMGL::Maximize(bool maximize)
{
if ( maximize && !m_isMaximized )
{
int x, y, w, h;
+ m_isMaximized = TRUE;
+
GetPosition(&m_savedFrame.x, &m_savedFrame.y);
GetSize(&m_savedFrame.width, &m_savedFrame.height);
wxClientDisplayRect(&x, &y, &w, &h);
SetSize(x, y, w, h);
- m_isMaximized = TRUE;
}
else if ( !maximize && m_isMaximized )
{
+ m_isMaximized = FALSE;
SetSize(m_savedFrame.x, m_savedFrame.y,
m_savedFrame.width, m_savedFrame.height);
- m_isMaximized = FALSE;
}
}
void wxTopLevelWindowMGL::Restore()
{
- if ( m_isIconized )
+ if ( IsIconized() )
{
Iconize(FALSE);
}
- if ( m_isMaximized )
+ if ( IsMaximized() )
{
Maximize(FALSE);
}
void wxTopLevelWindowMGL::Iconize(bool iconize)
{
- // FIXME_MGL
+ // FIXME_MGL - use wxDesktop for this
}
bool wxTopLevelWindowMGL::IsIconized() const