]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/listbox_osx.cpp
Converted wxVariant to use wxObject's reference counting facilities. Should make...
[wxWidgets.git] / src / osx / listbox_osx.cpp
index e138470caee91944ed8a8da4bc066ee755c9e393..fc3251897f8def6ab12df4d863e48eb42f1da27f 100644 (file)
@@ -103,7 +103,10 @@ bool wxListBox::Create(
 
 wxListBox::~wxListBox()
 {
+    m_blockEvents = true;
     FreeData();
+    m_blockEvents = false;
+
     // make sure no native events get sent to a object in destruction
     delete m_peer;
     m_peer = NULL;
@@ -215,7 +218,7 @@ void wxListBox::GetValueCallback( unsigned int n, wxListWidgetColumn* col , wxLi
         value.Set( GetString( n ) );
 }
 
-void wxListBox::SetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value )
+void wxListBox::SetValueCallback( unsigned int WXUNUSED(n), wxListWidgetColumn* WXUNUSED(col) , wxListWidgetCellValue& WXUNUSED(value) )
 {
 }
 
@@ -272,11 +275,7 @@ wxListBox::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
 
     attr.colFg = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
     attr.colBg = wxSystemSettings::GetColour( wxSYS_COLOUR_LISTBOX );
-#if wxOSX_USE_ATSU_TEXT
-    attr.font.MacCreateFromThemeFont(kThemeViewsFont);
-#else
-    attr.font.MacCreateFromUIFont(kCTFontViewsFontType);
-#endif
+    attr.font.CreateSystemFont(wxOSX_SYSTEM_FONT_VIEWS);
 
     return attr;
 }
@@ -370,4 +369,23 @@ void wxListBox::SetString(unsigned int n, const wxString& s)
     GetListPeer()->UpdateLine(n);
 }
 
+//
+// common event handling
+//
+
+void wxListBox::HandleLineEvent( unsigned int n, bool doubleClick )
+{
+    wxCommandEvent event( doubleClick ? wxEVT_COMMAND_LISTBOX_DOUBLECLICKED : 
+        wxEVT_COMMAND_LISTBOX_SELECTED, GetId() );
+    event.SetEventObject( this );
+    if ( HasClientObjectData() )
+        event.SetClientObject( GetClientObject(n) );
+    else if ( HasClientUntypedData() )
+        event.SetClientData( GetClientData(n) );
+    event.SetString( GetString(n) );
+    event.SetInt( n );
+    event.SetExtraLong( 1 );
+    HandleWindowEvent(event);
+}
+
 #endif // wxUSE_LISTBOX