+
+void MyFrame::OnDropPossible( wxDataViewEvent &event )
+{
+ wxDataViewItem item( event.GetItem() );
+
+ // only allow drags for item, not containers
+ if (m_music_model->IsContainer( item ) )
+ event.Veto();
+
+ if (event.GetDataFormat() != wxDF_TEXT)
+ event.Veto();
+}
+
+void MyFrame::OnDrop( wxDataViewEvent &event )
+{
+ wxDataViewItem item( event.GetItem() );
+
+ // only allow drags for item, not containers
+ if (m_music_model->IsContainer( item ) )
+ event.Veto();
+
+ if (event.GetDataFormat() != wxDF_TEXT)
+ event.Veto();
+
+ wxTextDataObject obj;
+ obj.SetData( wxDF_TEXT, event.GetDataSize(), event.GetDataBuffer() );
+
+ wxLogMessage(wxT("Text dropped: %s"), obj.GetText() );
+}
+