]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/toplevel.cpp
SourceForge patch #654210 to fix naming/numbering shared libs under OS X
[wxWidgets.git] / src / gtk1 / toplevel.cpp
index 7495f88322747dec97ef52d46b776bc81b53a227..0866c3341017842eba0176026f9063f867d22e99 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "wx/defs.h"
 
+#include "wx/log.h"
 #include "wx/dialog.h"
 #include "wx/control.h"
 #include "wx/app.h"
@@ -835,6 +836,11 @@ void wxTopLevelWindowGTK::OnInternalIdle()
         if ( g_delayedFocus &&
              wxGetTopLevelParent((wxWindow*)g_delayedFocus) == this )
         {
+            wxLogTrace(_T("focus"),
+                       _T("Setting focus from wxTLW::OnIdle() to %s(%s)"),
+                       g_delayedFocus->GetClassInfo()->GetClassName(),
+                       g_delayedFocus->GetLabel().c_str());
+
             g_delayedFocus->SetFocus();
             g_delayedFocus = NULL;
         }
@@ -894,9 +900,16 @@ void wxTopLevelWindowGTK::SetIcons( const wxIconBundle &icons )
 // frame state: maximized/iconized/normal
 // ----------------------------------------------------------------------------
 
-void wxTopLevelWindowGTK::Maximize(bool WXUNUSED(maximize))
+void wxTopLevelWindowGTK::Maximize(bool maximize)
 {
+#ifdef __WXGTK20__
+    if (maximize)
+        gtk_window_maximize( GTK_WINDOW( m_widget ) );
+    else
+        gtk_window_unmaximize( GTK_WINDOW( m_widget ) );
+#else
     wxFAIL_MSG( _T("not implemented") );
+#endif
 }
 
 bool wxTopLevelWindowGTK::IsMaximized() const
@@ -909,11 +922,22 @@ bool wxTopLevelWindowGTK::IsMaximized() const
 
 void wxTopLevelWindowGTK::Restore()
 {
+#ifdef __GTK20__
+    // "Present" seems similar enough to "restore"
+    gtk_window_present( GTK_WINDOW( m_widget ) );
+#else
     wxFAIL_MSG( _T("not implemented") );
+#endif
 }
 
 void wxTopLevelWindowGTK::Iconize( bool iconize )
 {
+#ifdef __WXGTK20__
+    if (iconize)
+        gtk_window_iconify( GTK_WINDOW( m_widget ) );
+    else
+        gtk_window_deiconify( GTK_WINDOW( m_widget ) );
+#else
    if (iconize)
    {
        GdkWindow *window = m_widget->window;
@@ -925,6 +949,7 @@ void wxTopLevelWindowGTK::Iconize( bool iconize )
                        GDK_WINDOW_XWINDOW( window ),
                        DefaultScreen( GDK_DISPLAY() ) );
    }
+#endif
 }
 
 bool wxTopLevelWindowGTK::IsIconized() const