1///////////////////////////////////////////////////////////////////////////// 2// Name: src/mac/carbon/tabctrl.cpp 3// Purpose: wxTabCtrl 4// Author: Stefan Csomor 5// Modified by: 6// Created: 1998-01-01 7// RCS-ID: $Id: tabctrl.cpp 39343 2006-05-26 10:15:44Z ABX $ 8// Copyright: (c) Stefan Csomor 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#include "wx/wxprec.h" 13 14#if wxUSE_TAB_DIALOG 15 16#include "wx/tabctrl.h" 17 18#ifndef WX_PRECOMP 19 #include "wx/control.h" 20#endif 21 22#include "wx/mac/uma.h" 23 24IMPLEMENT_DYNAMIC_CLASS(wxTabCtrl, wxControl) 25IMPLEMENT_DYNAMIC_CLASS(wxTabEvent, wxNotifyEvent) 26 27DEFINE_EVENT_TYPE(wxEVT_COMMAND_TAB_SEL_CHANGED) 28DEFINE_EVENT_TYPE(wxEVT_COMMAND_TAB_SEL_CHANGING) 29 30 31BEGIN_EVENT_TABLE(wxTabCtrl, wxControl) 32END_EVENT_TABLE() 33 34 35wxTabCtrl::wxTabCtrl() 36{ 37 m_macIsUserPane = false; 38 m_imageList = NULL; 39} 40 41bool wxTabCtrl::Create( wxWindow *parent, 42 wxWindowID id, const wxPoint& pos, const wxSize& size, 43 long style, const wxString& name ) 44{ 45 m_macIsUserPane = false; 46 m_imageList = NULL; 47 48 if ( !wxControl::Create( parent, id, pos, size, style, wxDefaultValidator, name ) ) 49 return false; 50 51 Rect bounds = wxMacGetBoundsForControl( this, pos, size ); 52 53 UInt16 tabstyle = kControlTabDirectionNorth; 54 ControlTabSize tabsize = kControlTabSizeLarge; 55 if ( GetWindowVariant() == wxWINDOW_VARIANT_SMALL ) 56 tabsize = kControlTabSizeSmall ; 57 else if ( GetWindowVariant() == wxWINDOW_VARIANT_MINI ) 58 { 59 if (UMAGetSystemVersion() >= 0x1030 ) 60 tabsize = 3 ; 61 else 62 tabsize = kControlSizeSmall; 63 } 64 65 m_peer = new wxMacControl( this ); 66 OSStatus err = CreateTabsControl( 67 MAC_WXHWND(parent->MacGetTopLevelWindowRef()), &bounds, 68 tabsize, tabstyle, 0, NULL, m_peer->GetControlRefAddr() ); 69 verify_noerr( err ); 70 71 MacPostControlCreate( pos, size ); 72 73 return true; 74} 75 76wxTabCtrl::~wxTabCtrl() 77{ 78} 79 80void wxTabCtrl::Command(wxCommandEvent& event) 81{ 82} 83 84bool wxTabCtrl::DeleteAllItems() 85{ 86 // TODO: 87 return false; 88} 89 90bool wxTabCtrl::DeleteItem(int item) 91{ 92 // TODO: 93 return false; 94} 95 96int wxTabCtrl::GetSelection() const 97{ 98 // TODO: 99 return 0; 100} 101 102// Get the tab with the current keyboard focus 103// 104int wxTabCtrl::GetCurFocus() const 105{ 106 // TODO: 107 return 0; 108} 109 110wxImageList * wxTabCtrl::GetImageList() const 111{ 112 return m_imageList; 113} 114 115int wxTabCtrl::GetItemCount() const 116{ 117 // TODO: 118 return 0; 119} 120 121// Get the rect corresponding to the tab 122bool wxTabCtrl::GetItemRect(int item, wxRect& wxrect) const 123{ 124 // TODO: 125 return false; 126} 127 128int wxTabCtrl::GetRowCount() const 129{ 130 // TODO: 131 return 0; 132} 133 134wxString wxTabCtrl::GetItemText(int item) const 135{ 136 // TODO: 137 return wxEmptyString; 138} 139 140int wxTabCtrl::GetItemImage(int item) const 141{ 142 // TODO: 143 return 0; 144} 145 146void* wxTabCtrl::GetItemData(int item) const 147{ 148 // TODO: 149 return NULL; 150} 151 152int wxTabCtrl::HitTest(const wxPoint& pt, long& flags) 153{ 154 // TODO: 155 return 0; 156} 157 158bool wxTabCtrl::InsertItem(int item, const wxString& text, int imageId, void* data) 159{ 160 // TODO: 161 return false; 162} 163 164int wxTabCtrl::SetSelection(int item) 165{ 166 // TODO: 167 return 0; 168} 169 170void wxTabCtrl::SetImageList(wxImageList* imageList) 171{ 172 // TODO: 173} 174 175bool wxTabCtrl::SetItemText(int item, const wxString& text) 176{ 177 // TODO: 178 return false; 179} 180 181bool wxTabCtrl::SetItemImage(int item, int image) 182{ 183 // TODO: 184 return false; 185} 186 187bool wxTabCtrl::SetItemData(int item, void* data) 188{ 189 // TODO: 190 return false; 191} 192 193// Set the size for a fixed-width tab control 194void wxTabCtrl::SetItemSize(const wxSize& size) 195{ 196 // TODO: 197} 198 199// Set the padding between tabs 200void wxTabCtrl::SetPadding(const wxSize& padding) 201{ 202 // TODO: 203} 204 205#endif // wxUSE_TAB_DIALOG 206