]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/notebmac.cpp
setting and restoring the graf port
[wxWidgets.git] / src / mac / carbon / notebmac.cpp
index 6e94d2804988ed1136ee5d3d74c32aaa967703f4..52f69eb69fc6b43e31390582cf0a489f9f208344 100644 (file)
 // headers
 // ----------------------------------------------------------------------------
 #ifdef __GNUG__
-#pragma implementation "notebook.h"
+  #pragma implementation "notebook.h"
 #endif
 
-#include  <wx/string.h>
-#include  <wx/log.h>
-#include  <wx/imaglist.h>
-#include  <wx/notebook.h>
-#include <wx/mac/uma.h>
+#include "wx/string.h"
+#include "wx/log.h"
+#include "wx/imaglist.h"
+#include "wx/notebook.h"
+#include "wx/mac/uma.h"
 // ----------------------------------------------------------------------------
 // macros
 // ----------------------------------------------------------------------------
@@ -32,7 +32,7 @@
 // check that the page index is valid
 #define IS_VALID_PAGE(nPage) (((nPage) >= 0) && ((nPage) < GetPageCount()))
 
-#ifdef __WXMAC_X__
+#ifdef __DARWIN__
   // I got these values for Mac OS X from the Appearance mgr docs. (Mark Newsam)
 const short kwxMacTabLeftMargin = 20 ;
 const short kwxMacTabTopMargin = 38 ;
@@ -76,7 +76,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxCommandEvent)
 // common part of all ctors
 void wxNotebook::Init()
 {
-#ifdef __WXMAC_X__
+#ifdef __DARWIN__
     m_macHorizontalBorder = 7;
     m_macVerticalBorder = 8;
 #endif
@@ -115,7 +115,7 @@ bool wxNotebook::Create(wxWindow *parent,
        
        MacPreControlCreate( parent , id ,  "" , pos , size ,style, wxDefaultValidator , name , &bounds , title ) ;
 
-       m_macControl = UMANewControl( parent->GetMacRootWindow() , &bounds , title , false , 0 , 0 , 1, 
+       m_macControl = ::NewControl( parent->MacGetRootWindow() , &bounds , title , false , 0 , 0 , 1, 
                kControlTabSmallProc , (long) this ) ;
        
        MacPostControlCreate() ;
@@ -134,19 +134,23 @@ wxNotebook::~wxNotebook()
 
 void wxNotebook::SetPadding(const wxSize& padding)
 {
+   wxFAIL_MSG( wxT("wxNotebook::SetPadding not implemented") );
 }
 
 void wxNotebook::SetTabSize(const wxSize& sz)
 {
+    wxFAIL_MSG( wxT("wxNotebook::SetTabSize not implemented") );
 }
 
 void wxNotebook::SetPageSize(const wxSize& size)
 {
+    wxFAIL_MSG( wxT("wxNotebook::SetPageSize not implemented") );
 }
 
 int wxNotebook::SetSelection(int nPage)
 {
-    wxASSERT( IS_VALID_PAGE(nPage) );
+  if( !IS_VALID_PAGE(nPage) ) 
+    return m_nSelection ;
 
     ChangePage(m_nSelection, nPage);
        SetControlValue( m_macControl , m_nSelection + 1 ) ;
@@ -175,17 +179,18 @@ wxString wxNotebook::GetPageText(int nPage) const
 
 int wxNotebook::GetPageImage(int nPage) const
 {
-    wxASSERT( IS_VALID_PAGE(nPage) );
+    wxCHECK_MSG( IS_VALID_PAGE(nPage), -1, _T("invalid notebook page") );
 
-    // TODO
-    return 0;
+    return 0 ;
 }
 
 bool wxNotebook::SetPageImage(int nPage, int nImage)
 {
-    wxASSERT( IS_VALID_PAGE(nPage) );
+    wxCHECK_MSG( IS_VALID_PAGE(nPage), FALSE, _T("invalid notebook page") );
+
+    wxCHECK_MSG( m_imageList && nImage < m_imageList->GetImageCount(), FALSE,
+                 _T("invalid image index in SetPageImage()") );
 
-    // TODO
     return FALSE;
 }
 
@@ -198,7 +203,7 @@ wxNotebookPage* wxNotebook::DoRemovePage(int nPage)
 {
     wxCHECK( IS_VALID_PAGE(nPage), NULL );
     wxNotebookPage* page = m_pages[nPage] ;
-    m_pages.Remove(nPage);
+    m_pages.RemoveAt(nPage);
 
     MacSetupTabs();
 
@@ -294,7 +299,7 @@ void wxNotebook::MacSetupTabs()
     }
     Rect bounds;
     GetControlBounds(m_macControl, &bounds);
-    InvalWindowRect(GetMacRootWindow(), &bounds);
+    InvalWindowRect(MacGetRootWindow(), &bounds);
 }
 
 // ----------------------------------------------------------------------------
@@ -305,14 +310,6 @@ void wxNotebook::MacSetupTabs()
 //     time because doing it in ::Create() doesn't work (for unknown reasons)
 void wxNotebook::OnSize(wxSizeEvent& event)
 {
-    static bool s_bFirstTime = TRUE;
-    if ( s_bFirstTime ) {
-        // TODO: any first-time-size processing.
-        s_bFirstTime = FALSE;
-    }
-
-    // TODO: all this may or may not be necessary for your platform
-
     // emulate page change (it's esp. important to do it first time because
     // otherwise our page would stay invisible)
     int nSel = m_nSelection;