X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d3c7fc996a73e9f6a83067bc28a3c5581a3fee65..6cef0db28018fd2644ee4e38af715872e5242459:/src/mac/carbon/checklst.cpp diff --git a/src/mac/carbon/checklst.cpp b/src/mac/carbon/checklst.cpp index 458a6e43f6..5f0fecb5e2 100644 --- a/src/mac/carbon/checklst.cpp +++ b/src/mac/carbon/checklst.cpp @@ -24,10 +24,6 @@ #include "wx/mac/uma.h" -#ifndef __DARWIN__ -#include -#endif - IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox, wxListBox) BEGIN_EVENT_TABLE(wxCheckListBox, wxListBox) @@ -37,14 +33,18 @@ class wxMacDataBrowserCheckListControl : public wxMacDataBrowserListControl , pu { public: wxMacDataBrowserCheckListControl( wxListBox *peer, const wxPoint& pos, const wxSize& size, long style ); + wxMacDataBrowserCheckListControl() {} virtual ~wxMacDataBrowserCheckListControl(); - virtual wxMacListBoxItem* CreateItem(); + virtual wxMacDataItem* CreateItem(); virtual bool MacIsChecked(unsigned int n) const; virtual void MacCheck(unsigned int n, bool bCheck = true); + DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserCheckListControl) }; +IMPLEMENT_DYNAMIC_CLASS( wxMacDataBrowserCheckListControl , wxMacDataBrowserListControl ) + void wxCheckListBox::Init() { } @@ -85,7 +85,7 @@ bool wxCheckListBox::Create( // this will be increased by our Append command wxMacDataBrowserCheckListControl* control = new wxMacDataBrowserCheckListControl( this, pos, size, style ); - control->SetClientDataType( m_clientDataItemsType ); + // TODO CHECK control->SetClientDataType( m_clientDataItemsType ); m_peer = control; MacPostControlCreate(pos,size); @@ -93,7 +93,7 @@ bool wxCheckListBox::Create( InsertItems( n , choices , 0 ); // Needed because it is a wxControlWithItems - SetBestSize( size ); + SetInitialSize( size ); return true; } @@ -124,7 +124,8 @@ void wxCheckListBox::Check(unsigned int item, bool check) wxMacCheckListControl* wxCheckListBox::GetPeer() const { - return dynamic_cast(m_peer); + wxMacDataBrowserCheckListControl *lb = wxDynamicCast(m_peer,wxMacDataBrowserCheckListControl); + return lb ? wx_static_cast(wxMacCheckListControl*,lb) : 0 ; } const short kCheckboxColumnId = 1026; @@ -221,7 +222,7 @@ public : wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, checklist->GetId() ); event.SetInt( owner->GetLineFromItem( this ) ); event.SetEventObject( checklist ); - checklist->GetEventHandler()->ProcessEvent( event ); + checklist->HandleWindowEvent( event ); } break; @@ -249,21 +250,21 @@ protected : bool m_isChecked; }; -wxMacListBoxItem* wxMacDataBrowserCheckListControl::CreateItem() +wxMacDataItem* wxMacDataBrowserCheckListControl::CreateItem() { return new wxMacCheckListBoxItem(); } void wxMacDataBrowserCheckListControl::MacCheck( unsigned int n, bool bCheck) { - wxMacCheckListBoxItem* item = dynamic_cast( GetItemFromLine( n) ); + wxMacCheckListBoxItem* item = wx_static_cast(wxMacCheckListBoxItem*, GetItemFromLine( n) ); item->Check( bCheck); UpdateItem(wxMacDataBrowserRootContainer, item , kCheckboxColumnId); } bool wxMacDataBrowserCheckListControl::MacIsChecked( unsigned int n) const { - wxMacCheckListBoxItem * item = dynamic_cast( GetItemFromLine( n ) ); + wxMacCheckListBoxItem * item = wx_static_cast( wxMacCheckListBoxItem*, GetItemFromLine( n ) ); return item->IsChecked(); }