]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/framuniv.cpp
added wxTreeEvent::GetKeyEvent() to allow to retrieve the key event flags from EVT_TR...
[wxWidgets.git] / src / univ / framuniv.cpp
index 951ab8630a62ca1594a385c9836481b3d81426b6..798ac4558d33dc82b76d19a558e3637af46e6006 100644 (file)
 // implementation
 // ============================================================================
 
-BEGIN_EVENT_TABLE(wxFrame, wxFrameNative)
+BEGIN_EVENT_TABLE(wxFrame, wxFrameBase)
     EVT_SIZE(wxFrame::OnSize)
 END_EVENT_TABLE()
 
-IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
+IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxTopLevelWindow)
 
 // ----------------------------------------------------------------------------
 // ctors
 // ----------------------------------------------------------------------------
 
-wxFrame::wxFrame()
+bool wxFrame::Create(wxWindow *parent,
+                wxWindowID id,
+                const wxString& title,
+                const wxPoint& pos,
+                const wxSize& size,
+                long style,
+                const wxString& name)
 {
+    return wxTopLevelWindow::Create(parent, id, title, pos, size, style, name);
 }
 
-wxFrame::wxFrame(wxWindow *parent,
-                 wxWindowID id,
-                 const wxString& title,
-                 const wxPoint& pos,
-                 const wxSize& size,
-                 long style,
-                 const wxString& name)
-       : wxFrameNative(parent, id, title, pos, size, style, name)
-{
-    m_renderer = NULL;
-}
 
 // ----------------------------------------------------------------------------
 // menu support
@@ -84,15 +80,17 @@ void wxFrame::PositionMenuBar()
     {
         // the menubar is positioned above the client size, hence the negative
         // y coord
-        m_frameMenuBar->SetSize(0, -m_frameMenuBar->GetSize().y,
-                                GetClientSize().x, -1);
+        wxCoord heightMbar = m_frameMenuBar->GetSize().y;
+        m_frameMenuBar->SetSize(0, -heightMbar,
+                                GetClientSize().x, heightMbar);
     }
 }
+
 #endif // wxUSE_MENUS
 
 wxPoint wxFrame::GetClientAreaOrigin() const
 {
-    wxPoint pt = wxFrameNative::GetClientAreaOrigin();
+    wxPoint pt = wxFrameBase::GetClientAreaOrigin();
 
 #if wxUSE_MENUS
     if ( m_frameMenuBar )
@@ -104,9 +102,31 @@ wxPoint wxFrame::GetClientAreaOrigin() const
     return pt;
 }
 
-bool wxFrame::Enable( bool enable )
+void wxFrame::DoGetClientSize(int *width, int *height) const
+{
+    wxFrameBase::DoGetClientSize(width, height);
+#if wxUSE_MENUS
+    if ( m_frameMenuBar && height )
+    {
+        (*height) -= m_frameMenuBar->GetSize().y;
+    }
+#endif // wxUSE_MENUS
+}
+
+void wxFrame::DoSetClientSize(int width, int height)
+{
+#if wxUSE_MENUS
+    if ( m_frameMenuBar )
+    {
+        height += m_frameMenuBar->GetSize().y;
+    }
+#endif // wxUSE_MENUS
+    wxFrameBase::DoSetClientSize(width, height);
+}
+
+bool wxFrame::Enable(bool enable)
 {
-    if (!wxFrameNative::Enable(enable))
+    if (!wxFrameBase::Enable(enable))
        return FALSE;
 #ifdef __WXMICROWIN__
     if (m_frameMenuBar)