]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/frame.cpp
Fixed wxAtomicInc/Dec() to not use asm/atomic.h header on Linux - it's kernel interna...
[wxWidgets.git] / src / motif / frame.cpp
index 2b8b45d396b1793e6eff764e8989bd7f8ed15a23..c81a189d9781d978d6774c39040528ee65d239c7 100644 (file)
 
 #ifndef WX_PRECOMP
     #include "wx/log.h"
+    #include "wx/app.h"
+    #include "wx/utils.h"
+    #include "wx/menu.h"
+    #include "wx/icon.h"
+    #include "wx/settings.h"
+    #include "wx/toolbar.h"
+    #include "wx/statusbr.h"
 #endif
 
-#include "wx/statusbr.h"
-#include "wx/toolbar.h"
-#include "wx/menu.h"
-#include "wx/settings.h"
-#include "wx/utils.h"
-#include "wx/app.h"
-#include "wx/icon.h"
-
 #ifdef __VMS__
     #pragma message disable nosimpint
 #endif
@@ -88,7 +87,6 @@ static void wxFrameMapProc(Widget frameShell, XtPointer clientData,
 // ----------------------------------------------------------------------------
 
 extern wxList wxModelessWindows;
-extern wxList wxPendingDelete;
 
 // ----------------------------------------------------------------------------
 // wxWin macros
@@ -132,11 +130,6 @@ bool wxFrame::Create(wxWindow *parent,
                                    name ) )
         return false;
 
-    m_backgroundColour =
-        wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE);
-    m_foregroundColour = *wxBLACK;
-    m_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
-
     int x = pos.x, y = pos.y;
     int width = size.x, height = size.y;
 
@@ -182,10 +175,7 @@ bool wxFrame::Create(wxWindow *parent,
     if (height > -1)
         XtVaSetValues((Widget) m_frameShell, XmNheight, height, NULL);
 
-    ChangeFont(false);
-
-    ChangeBackgroundColour();
-
+    PostCreation();
     PreResize();
 
     wxSize newSize(width, height);
@@ -400,6 +390,12 @@ void wxFrame::DoSetClientSize(int width, int height)
 
 void wxFrame::DoGetSize(int *width, int *height) const
 {
+    if (!m_frameShell)
+    {
+        *width = -1; *height = -1;
+        return;
+    }
+
     Dimension xx, yy;
     XtVaGetValues((Widget) m_frameShell, XmNwidth, &xx, XmNheight, &yy, NULL);
     *width = xx; *height = yy;
@@ -456,8 +452,8 @@ void wxFrame::SetTitle(const wxString& title)
 
     if( !title.empty() )
         XtVaSetValues( (Widget)m_frameShell,
-                       XmNtitle, title.c_str(),
-                       XmNiconName, title.c_str(),
+                       XmNtitle, (const char*)title.mb_str(),
+                       XmNiconName, (const char*)title.mb_str(),
                        NULL );
 }
 
@@ -474,11 +470,6 @@ void wxFrame::DoSetIcon(const wxIcon& icon)
                   NULL);
 }
 
-void wxFrame::SetIcon(const wxIcon& icon)
-{
-    SetIcons( wxIconBundle( icon ) );
-}
-
 void wxFrame::SetIcons(const wxIconBundle& icons)
 {
     wxFrameBase::SetIcons( icons );
@@ -545,7 +536,7 @@ void wxFrame::OnSysColourChanged(wxSysColourChangedEvent& event)
     {
         wxSysColourChangedEvent event2;
         event2.SetEventObject( m_frameStatusBar );
-        m_frameStatusBar->ProcessEvent(event2);
+        m_frameStatusBar->GetEventHandler()->ProcessEvent(event2);
     }
 
     // Propagate the event to the non-top-level children