]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/notebmac.cpp
aui dock renumbering fix
[wxWidgets.git] / src / mac / carbon / notebmac.cpp
index 3764fd37cecbf256f87093945c3c7b14202e7df7..6d3562e882cfd134798e75d81abd5ed919ddac1b 100644 (file)
@@ -140,12 +140,12 @@ wxNotebook::~wxNotebook()
 // wxNotebook accessors
 // ----------------------------------------------------------------------------
 
-void wxNotebook::SetPadding(const wxSize& padding)
+void wxNotebook::SetPadding(const wxSize& WXUNUSED(padding))
 {
     // unsupported by OS
 }
 
-void wxNotebook::SetTabSize(const wxSize& sz)
+void wxNotebook::SetTabSize(const wxSize& WXUNUSED(sz))
 {
     // unsupported by OS
 }
@@ -160,25 +160,27 @@ wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const
     return DoGetSizeFromClientSize( sizePage );
 }
 
-int wxNotebook::SetSelection(size_t nPage)
+int wxNotebook::DoSetSelection(size_t nPage, int flags)
 {
-    wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("SetSelection: invalid notebook page") );
+    wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("DoSetSelection: invalid notebook page") );
 
-    if ( int(nPage) != m_nSelection )
+    if ( m_nSelection == wxNOT_FOUND || nPage != (size_t)m_nSelection )
     {
-        wxNotebookEvent event(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_windowId);
-        event.SetSelection(nPage);
-        event.SetOldSelection(m_nSelection);
-        event.SetEventObject(this);
-        if ( !GetEventHandler()->ProcessEvent(event) || event.IsAllowed() )
+        if ( flags & SetSelection_SendEvent )
         {
-            // program allows the page change
-            event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED);
-            (void)GetEventHandler()->ProcessEvent(event);
+            if ( !SendPageChangingEvent(nPage) )
+            {
+                // vetoed by program
+                return m_nSelection;
+            }
+            //else: program allows the page change
 
-            ChangePage(m_nSelection, nPage);
+            SendPageChangedEvent(m_nSelection, nPage);
         }
+
+        ChangePage(m_nSelection, nPage);
     }
+    //else: no change
 
     return m_nSelection;
 }
@@ -376,9 +378,9 @@ int wxNotebook::HitTest(const wxPoint& pt, long * flags) const
 
         // we cannot differentiate better
         if (resultV >= 0)
-            *flags |= wxNB_HITTEST_ONLABEL;
+            *flags |= wxBK_HITTEST_ONLABEL;
         else
-            *flags |= wxNB_HITTEST_NOWHERE;
+            *flags |= wxBK_HITTEST_NOWHERE;
     }
 
     return resultV;
@@ -425,9 +427,13 @@ void wxNotebook::MacSetupTabs()
         m_peer->SetTabEnabled( ii + 1, true ) ;
     }
 
+#if wxMAC_USE_CORE_GRAPHICS
+    Refresh();
+#else
     Rect bounds;
     m_peer->GetRectInWindowCoords( &bounds ) ;
     InvalWindowRect( (WindowRef)MacGetTopLevelWindowRef(), &bounds );
+#endif
 }
 
 wxRect wxNotebook::GetPageRect() const
@@ -559,7 +565,7 @@ bool wxNotebook::DoPhase(int WXUNUSED(nPhase))
 
 #endif // wxUSE_CONSTRAINTS
 
-void wxNotebook::Command(wxCommandEvent& event)
+void wxNotebook::Command(wxCommandEvent& WXUNUSED(event))
 {
     wxFAIL_MSG(wxT("wxNotebook::Command not implemented"));
 }