DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING)
-BEGIN_EVENT_TABLE(wxNotebook, wxControl)
+BEGIN_EVENT_TABLE(wxNotebook, wxBookCtrlBase)
EVT_NOTEBOOK_PAGE_CHANGED(wxID_ANY, wxNotebook::OnSelChange)
EVT_SIZE(wxNotebook::OnSize)
EVT_NAVIGATION_KEY(wxNotebook::OnNavigationKey)
END_EVENT_TABLE()
-IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxBookCtrlBase)
IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxCommandEvent)
switch (GetWindowVariant())
{
case wxWINDOW_VARIANT_MINI:
- if ( UMAGetSystemVersion() >= 0x1030 )
- tabsize = 3 ;
- else
- tabsize = kControlSizeSmall;
+ tabsize = 3 ;
break;
case wxWINDOW_VARIANT_SMALL:
// 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
}
{
wxCHECK_MSG( IS_VALID_PAGE(nPage), wxNOT_FOUND, wxT("DoSetSelection: invalid notebook page") );
- if ( m_nSelection != wxNOT_FOUND && nPage != (size_t)m_nSelection )
+ if ( m_nSelection == wxNOT_FOUND || nPage != (size_t)m_nSelection )
{
if ( flags & SetSelection_SendEvent )
{
- 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) )
{
// vetoed by program
return m_nSelection;
}
//else: program allows the page change
- event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED);
- (void)GetEventHandler()->ProcessEvent(event);
+ SendPageChangedEvent(m_nSelection, nPage);
}
ChangePage(m_nSelection, nPage);
}
+ //else: no change
return m_nSelection;
}
wxCHECK_MSG( IS_VALID_PAGE(nPage), false, wxT("SetPageText: invalid notebook page") );
wxNotebookPage *page = m_pages[nPage];
- page->SetLabel(strText);
+ page->SetLabel(wxStripMenuCodes(strText));
MacSetupTabs();
return true;
// don't show pages by default (we'll need to adjust their size first)
pPage->Show( false ) ;
- pPage->SetLabel( strText );
+ pPage->SetLabel( wxStripMenuCodes(strText) );
m_images.Insert( imageId, nPage );
{
int resultV = wxNOT_FOUND;
-#if TARGET_API_MAC_OSX
const int countPages = GetPageCount();
// we have to convert from Client to Window relative coordinates
if ( outPart >= 1 && outPart <= countPages )
resultV = outPart - 1 ;
-#endif // TARGET_API_MAC_OSX
if (flags != NULL)
{
page = m_pages[ii];
info.version = kControlTabInfoVersionOne;
info.iconSuiteID = 0;
- wxMacCFStringHolder cflabel( page->GetLabel(), m_font.GetEncoding() ) ;
+ wxCFStringRef cflabel( page->GetLabel(), m_font.GetEncoding() ) ;
info.name = cflabel ;
m_peer->SetData<ControlTabInfoRecV1>( ii + 1, kControlTabInfoTag, &info ) ;
- if ( GetImageList() && GetPageImage(ii) >= 0 && UMAGetSystemVersion() >= 0x1020 )
+ if ( GetImageList() && GetPageImage(ii) >= 0 )
{
const wxBitmap bmap = GetImageList()->GetBitmap( GetPageImage( ii ) ) ;
if ( bmap.Ok() )
m_peer->SetTabEnabled( ii + 1, true ) ;
}
- Rect bounds;
- m_peer->GetRectInWindowCoords( &bounds ) ;
- InvalWindowRect( (WindowRef)MacGetTopLevelWindowRef(), &bounds );
+ Refresh();
}
wxRect wxNotebook::GetPageRect() const
event.SetEventObject( this );
wxWindow *page = m_pages[m_nSelection];
- if ( !page->GetEventHandler()->ProcessEvent( event ) )
+ if ( !page->HandleWindowEvent( event ) )
{
page->SetFocus();
}
if ( parent )
{
event.SetCurrentFocus( this );
- parent->GetEventHandler()->ProcessEvent( event );
+ parent->HandleWindowEvent( event );
}
}
}
#endif // wxUSE_CONSTRAINTS
-void wxNotebook::Command(wxCommandEvent& event)
+void wxNotebook::Command(wxCommandEvent& WXUNUSED(event))
{
wxFAIL_MSG(wxT("wxNotebook::Command not implemented"));
}
wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING, m_windowId,
newSel , m_nSelection );
changing.SetEventObject( this );
- GetEventHandler()->ProcessEvent( changing );
+ HandleWindowEvent( changing );
if ( changing.IsAllowed() )
{
wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, m_windowId,
newSel, m_nSelection );
event.SetEventObject( this );
- GetEventHandler()->ProcessEvent( event );
+ HandleWindowEvent( event );
}
else
{