]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/notebook.cpp
switching to newer API
[wxWidgets.git] / src / msw / notebook.cpp
index 1efd29f383ef3da22ece0dde65d8e3d37fa8f166..9134dfc3e0d0a0f9246866da332a7786f791545d 100644 (file)
@@ -228,7 +228,7 @@ const wxNotebookPageInfoList& wxNotebook::GetPageInfos() const
 void wxNotebook::Init()
 {
     m_imageList = NULL;
-    m_nSelection = -1;
+    m_nSelection = wxNOT_FOUND;
 
 #if wxUSE_UXTHEME
     m_hbrBackground = NULL;
@@ -443,33 +443,28 @@ int wxNotebook::SetSelection(size_t nPage)
 {
     wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("notebook page out of range") );
 
-    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 ( SendPageChangingEvent(nPage) )
         {
             // program allows the page change
-            event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED);
-           (void)GetEventHandler()->ProcessEvent(event);
+            SendPageChangedEvent(m_nSelection, nPage);
 
-           TabCtrl_SetCurSel(GetHwnd(), nPage);
+            TabCtrl_SetCurSel(GetHwnd(), nPage);
         }
     }
 
     return m_nSelection;
 }
 
-void wxNotebook::UpdateSelection(size_t newsel)
+void wxNotebook::UpdateSelection(int selNew)
 {
-    if ( m_nSelection != -1 )
+    if ( m_nSelection != wxNOT_FOUND )
         m_pages[m_nSelection]->Show(false);
 
-    if ( newsel != -1 )
+    if ( selNew != wxNOT_FOUND )
     {
-        wxNotebookPage *pPage = m_pages[newsel];
+        wxNotebookPage *pPage = m_pages[selNew];
         pPage->Show(true);
     }
 
@@ -483,14 +478,14 @@ void wxNotebook::UpdateSelection(size_t newsel)
     if ( ::IsWindowVisible(GetHwnd()) )
         SetFocus();
 
-    m_nSelection = newsel;
+    m_nSelection = selNew;
 }
 
 int wxNotebook::ChangeSelection(size_t nPage)
 {
     wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("notebook page out of range") );
 
-    if ( int(nPage) != m_nSelection )
+    if ( m_nSelection == wxNOT_FOUND || nPage != (size_t)m_nSelection )
     {
         TabCtrl_SetCurSel(GetHwnd(), nPage);
 
@@ -550,7 +545,8 @@ int wxNotebook::GetPageImage(size_t nPage) const
     TC_ITEM tcItem;
     tcItem.mask = TCIF_IMAGE;
 
-    return TabCtrl_GetItem(GetHwnd(), nPage, &tcItem) ? tcItem.iImage : wxNOT_FOUND;
+    return TabCtrl_GetItem(GetHwnd(), nPage, &tcItem) ? tcItem.iImage
+                                                      : wxNOT_FOUND;
 }
 
 bool wxNotebook::SetPageImage(size_t nPage, int nImage)
@@ -570,7 +566,7 @@ void wxNotebook::SetImageList(wxImageList* imageList)
 
     if ( imageList )
     {
-        (void) TabCtrl_SetImageList(GetHwnd(), (HIMAGELIST)imageList->GetHIMAGELIST());
+        (void) TabCtrl_SetImageList(GetHwnd(), GetHimagelistOf(imageList));
     }
 }
 
@@ -685,12 +681,12 @@ wxNotebookPage *wxNotebook::DoRemovePage(size_t nPage)
     if ( m_pages.IsEmpty() )
     {
         // no selection any more, the notebook becamse empty
-        m_nSelection = -1;
+        m_nSelection = wxNOT_FOUND;
     }
     else // notebook still not empty
     {
         int selNew = TabCtrl_GetCurSel(GetHwnd());
-        if (selNew != -1)
+        if ( selNew != wxNOT_FOUND )
         {
             // No selection change, just refresh the current selection.
             // Because it could be that the slection index changed
@@ -711,7 +707,7 @@ wxNotebookPage *wxNotebook::DoRemovePage(size_t nPage)
 
             // m_nSelection must be always valid so reset it before calling
             // SetSelection()
-            m_nSelection = -1;
+            m_nSelection = wxNOT_FOUND;
             SetSelection(selNew);
         }
         else
@@ -735,7 +731,7 @@ bool wxNotebook::DeleteAllPages()
 
     TabCtrl_DeleteAllItems(GetHwnd());
 
-    m_nSelection = -1;
+    m_nSelection = wxNOT_FOUND;
 
     InvalidateBestSize();
     return true;
@@ -803,7 +799,9 @@ bool wxNotebook::InsertPage(size_t nPage,
     // so the first panel gets the correct themed background
     if ( m_pages.empty() )
     {
+#if wxUSE_UXTHEME
         UpdateBgBrush();
+#endif // wxUSE_UXTHEME
     }
 
     // succeeded: save the pointer to the page
@@ -831,13 +829,13 @@ bool wxNotebook::InsertPage(size_t nPage,
 
     // some page should be selected: either this one or the first one if there
     // is still no selection
-    int selNew = -1;
+    int selNew = wxNOT_FOUND;
     if ( bSelect )
         selNew = nPage;
-    else if ( m_nSelection == -1 )
+    else if ( m_nSelection == wxNOT_FOUND )
         selNew = 0;
 
-    if ( selNew != -1 )
+    if ( selNew != wxNOT_FOUND )
         SetSelection(selNew);
 
     InvalidateBestSize();
@@ -1113,7 +1111,7 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
         {
             // no, it doesn't come from child, case (b) or (c): forward to a
             // page but only if direction is backwards (TAB) or from ourselves,
-            if ( m_nSelection != -1 &&
+            if ( m_nSelection != wxNOT_FOUND &&
                     (!event.GetDirection() || isFromSelf) )
             {
                 // so that the page knows that the event comes from it's parent