X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..c2c87924e7e3906b8cf1f93ebbd362eab17f6857:/src/mac/carbon/tabctrl.cpp diff --git a/src/mac/carbon/tabctrl.cpp b/src/mac/carbon/tabctrl.cpp index 00e1cbd4b1..cad5bab4e0 100644 --- a/src/mac/carbon/tabctrl.cpp +++ b/src/mac/carbon/tabctrl.cpp @@ -1,66 +1,76 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: tabctrl.cpp +// Name: src/mac/carbon/tabctrl.cpp // Purpose: wxTabCtrl // Author: Stefan Csomor // Modified by: // Created: 1998-01-01 // RCS-ID: $Id$ // Copyright: (c) Stefan Csomor -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "tabctrl.h" -#endif +#include "wx/wxprec.h" -#include "wx/defs.h" +#if wxUSE_TAB_DIALOG -#include "wx/control.h" #include "wx/tabctrl.h" + +#ifndef WX_PRECOMP + #include "wx/control.h" +#endif + #include "wx/mac/uma.h" -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxTabCtrl, wxControl) +IMPLEMENT_DYNAMIC_CLASS(wxTabEvent, wxNotifyEvent) + +DEFINE_EVENT_TYPE(wxEVT_COMMAND_TAB_SEL_CHANGED) +DEFINE_EVENT_TYPE(wxEVT_COMMAND_TAB_SEL_CHANGING) + BEGIN_EVENT_TABLE(wxTabCtrl, wxControl) END_EVENT_TABLE() -#endif + wxTabCtrl::wxTabCtrl() { + m_macIsUserPane = false; m_imageList = NULL; } -bool wxTabCtrl::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, - long style, const wxString& name) +bool wxTabCtrl::Create( wxWindow *parent, + wxWindowID id, const wxPoint& pos, const wxSize& size, + long style, const wxString& name ) { - m_macIsUserPane = FALSE ; - - if ( !wxControl::Create(parent, id, pos, size, - style, wxDefaultValidator, name) ) + m_macIsUserPane = false; + m_imageList = NULL; + + if ( !wxControl::Create( parent, id, pos, size, style, wxDefaultValidator, name ) ) return false; - m_imageList = NULL; - - Rect bounds = wxMacGetBoundsForControl( this , pos , size ) ; + Rect bounds = wxMacGetBoundsForControl( this, pos, size ); - UInt16 tabstyle = kControlTabDirectionNorth ; - ControlTabSize tabsize = kControlTabSizeLarge ; + UInt16 tabstyle = kControlTabDirectionNorth; + ControlTabSize tabsize = kControlTabSizeLarge; if ( GetWindowVariant() == wxWINDOW_VARIANT_SMALL ) tabsize = kControlTabSizeSmall ; else if ( GetWindowVariant() == wxWINDOW_VARIANT_MINI ) { if (UMAGetSystemVersion() >= 0x1030 ) - tabsize = 3 ; + tabsize = 3 ; else - tabsize = kControlSizeSmall; + tabsize = kControlSizeSmall; } - - verify_noerr ( CreateTabsControl( MAC_WXHWND(parent->MacGetTopLevelWindowRef()) , &bounds , - tabsize , tabstyle, 0, NULL, (ControlRef*) &m_macControl) ); - MacPostControlCreate(pos,size) ; - return TRUE ; + m_peer = new wxMacControl( this ); + OSStatus err = CreateTabsControl( + MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, + tabsize, tabstyle, 0, NULL, m_peer->GetControlRefAddr() ); + verify_noerr( err ); + + MacPostControlCreate( pos, size ); + + return true; } wxTabCtrl::~wxTabCtrl() @@ -71,147 +81,125 @@ void wxTabCtrl::Command(wxCommandEvent& event) { } -// Delete all items bool wxTabCtrl::DeleteAllItems() { - // TODO - return FALSE; + // TODO: + return false; } -// Delete an item bool wxTabCtrl::DeleteItem(int item) { - // TODO - return FALSE; + // TODO: + return false; } -// Get the selection int wxTabCtrl::GetSelection() const { - // TODO + // TODO: return 0; } // Get the tab with the current keyboard focus +// int wxTabCtrl::GetCurFocus() const { - // TODO + // TODO: return 0; } -// Get the associated image list -wxImageList* wxTabCtrl::GetImageList() const +wxImageList * wxTabCtrl::GetImageList() const { return m_imageList; } -// Get the number of items int wxTabCtrl::GetItemCount() const { - // TODO + // TODO: return 0; } // Get the rect corresponding to the tab bool wxTabCtrl::GetItemRect(int item, wxRect& wxrect) const { - // TODO - return FALSE; + // TODO: + return false; } -// Get the number of rows int wxTabCtrl::GetRowCount() const { - // TODO + // TODO: return 0; } -// Get the item text wxString wxTabCtrl::GetItemText(int item) const { - // TODO + // TODO: return wxEmptyString; } -// Get the item image int wxTabCtrl::GetItemImage(int item) const { - // TODO + // TODO: return 0; } -// Get the item data void* wxTabCtrl::GetItemData(int item) const { - // TODO + // TODO: return NULL; } -// Hit test int wxTabCtrl::HitTest(const wxPoint& pt, long& flags) { - // TODO + // TODO: return 0; } -// Insert an item bool wxTabCtrl::InsertItem(int item, const wxString& text, int imageId, void* data) { - // TODO - return FALSE; + // TODO: + return false; } -// Set the selection int wxTabCtrl::SetSelection(int item) { - // TODO + // TODO: return 0; } -// Set the image list void wxTabCtrl::SetImageList(wxImageList* imageList) { - // TODO + // TODO: } -// Set the text for an item bool wxTabCtrl::SetItemText(int item, const wxString& text) { - // TODO - return FALSE; + // TODO: + return false; } -// Set the image for an item bool wxTabCtrl::SetItemImage(int item, int image) { - // TODO - return FALSE; + // TODO: + return false; } -// Set the data for an item bool wxTabCtrl::SetItemData(int item, void* data) { - // TODO - return FALSE; + // TODO: + return false; } // Set the size for a fixed-width tab control void wxTabCtrl::SetItemSize(const wxSize& size) { - // TODO + // TODO: } // Set the padding between tabs void wxTabCtrl::SetPadding(const wxSize& padding) { - // TODO -} - -// Tab event -IMPLEMENT_DYNAMIC_CLASS(wxTabEvent, wxCommandEvent) - -wxTabEvent::wxTabEvent(wxEventType commandType, int id): - wxCommandEvent(commandType, id) -{ + // TODO: } +#endif // wxUSE_TAB_DIALOG