]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/notebook.cpp
use gdk_fontset_load() instead of gdk_font_load() for better Japanese support (patch...
[wxWidgets.git] / src / generic / notebook.cpp
index 0f6f0036aa4d5338dbb20fa3f2a35a3542ef4917..853fc8ab7d94ffc6e2d8713953351ff3e27bd1e5 100644 (file)
@@ -56,7 +56,6 @@ BEGIN_EVENT_TABLE(wxNotebook, wxControl)
     EVT_MOUSE_EVENTS(wxNotebook::OnMouseEvent)
     EVT_SET_FOCUS(wxNotebook::OnSetFocus)
     EVT_NAVIGATION_KEY(wxNotebook::OnNavigationKey)
-//    EVT_IDLE(wxNotebook::OnIdle)
 END_EVENT_TABLE()
 
 IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl)
@@ -457,8 +456,11 @@ void wxNotebook::OnSize(wxSizeEvent& event)
 // This was supposed to cure the non-display of the notebook
 // until the user resizes the window.
 // What's going on?
-void wxNotebook::OnIdle(wxIdleEvent& event)
+void wxNotebook::OnInternalIdle()
 {
+    wxWindow::OnInternalIdle();
+
+#if 0    
     static bool s_bFirstTime = TRUE;
     if ( s_bFirstTime ) {
       /*
@@ -478,7 +480,7 @@ void wxNotebook::OnIdle(wxIdleEvent& event)
       */
       s_bFirstTime = FALSE;
     }
-    event.Skip();
+#endif
 }
 
 // Implementation: calculate the layout of the view rect
@@ -524,13 +526,20 @@ bool wxNotebook::RefreshLayout(bool force)
         unsigned int nCount = m_pages.Count();
         for ( unsigned int nPage = 0; nPage < nCount; nPage++ ) {
             wxNotebookPage *pPage = m_pages[nPage];
+            wxRect clientRect = GetAvailableClientSize();
             if (pPage->IsShown())
             {
-                wxRect clientRect = GetAvailableClientSize();
                 pPage->SetSize(clientRect.x, clientRect.y, clientRect.width, clientRect.height);
                 if ( pPage->GetAutoLayout() )
                    pPage->Layout();
             }
+            // MBN: this is probably just hiding a problem under the carpet,
+            // but: with OpenMotif 2.2 (not Lesstif), not moving the window
+            // may cause the tabs to be not clickable.
+            else
+            {
+                pPage->Move(clientRect.x, clientRect.y);
+            }
         }
         Refresh();
     }