]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/toplevel.cpp
Updated to version 1.40 of Scintilla
[wxWidgets.git] / src / mgl / toplevel.cpp
index 16af545e6887f1c710ff4c3b8b230b6275871c5d..3f2bbcd209f4d9f904cb33430b9fa8cf3dcf32b8 100644 (file)
@@ -77,13 +77,14 @@ bool wxTopLevelWindowMGL::Create(wxWindow *parent,
             size.y = sizeDpy.y / 5;
     }
     
-    wxWindow::Create(parent, id, pos, sizeOrig, style, name);
+    wxWindow::Create(NULL, id, pos, sizeOrig, style, name);
+    SetParent(parent);
+    if ( parent )
+        parent->AddChild(this);
 
     wxTopLevelWindows.Append(this);
 
     m_title = title;
-    
-    // FIXME_MGL -- should activate itself when shown!
 
     return TRUE;
 }
@@ -136,24 +137,34 @@ bool wxTopLevelWindowMGL::ShowFullScreen(bool show, long style)
     return TRUE;
 }
 
+bool wxTopLevelWindowMGL::Show(bool show)
+{
+    bool ret = wxTopLevelWindowBase::Show(show);
+    if ( ret && show && AcceptsFocus() )
+        SetFocus();
+        // FIXME_MGL -- don't do this for popup windows?
+    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;
     }
 }