int index = listbox->GetSelection();
if (index != wxNOT_FOUND)
{
+
wxCommandEvent event(wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, listbox->GetId() );
event.SetEventObject( listbox );
else if ( listbox->HasClientUntypedData() )
event.SetClientData( gtk_tree_entry_get_userdata(entry) );
- bool ret = listbox->HandleWindowEvent( event );
+ /* bool ret = */ listbox->HandleWindowEvent( event );
g_object_unref (entry);
- if (!ret)
+// wxMac and wxMSW always invoke default action
+// if (!ret)
{
// DClick not handled -> invoke default action
wxWindow *tlw = wxGetTopLevelParent( listbox );
m_blockEvent = false;
}
-void wxListBox::DoSetFirstItem( int n )
+void wxListBox::DoScrollToCell(int n, float alignY, float alignX)
{
wxCHECK_RET( m_treeview, wxT("invalid listbox") );
wxCHECK_RET( IsValid(n), wxT("invalid index"));
// Scroll to the desired cell (0.0 == topleft alignment)
gtk_tree_view_scroll_to_cell(m_treeview, path, NULL,
- TRUE, 0.0f, 0.0f);
+ TRUE, alignY, alignX);
gtk_tree_path_free(path);
}
+void wxListBox::DoSetFirstItem(int n)
+{
+ DoScrollToCell(n, 0, 0);
+}
+
+void wxListBox::EnsureVisible(int n)
+{
+ DoScrollToCell(n, 0.5, 0);
+}
+
// ----------------------------------------------------------------------------
// hittest
// ----------------------------------------------------------------------------