diff --git a/samples/dataview/dataview.cpp b/samples/dataview/dataview.cpp index 0c51ce4a6b..42d4f0a74b 100644 --- a/samples/dataview/dataview.cpp +++ b/samples/dataview/dataview.cpp @@ -829,7 +829,9 @@ void MyFrame::OnHeaderRightClick( wxDataViewEvent &event ) if(!m_log) return; - wxLogMessage("wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, Column: %d", event.GetColumn()); + int pos = m_musicCtrl->GetColumnPosition( event.GetDataViewColumn() ); + + wxLogMessage("wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, Column position: %d", pos ); } void MyFrame::OnSorted( wxDataViewEvent &event ) diff --git a/src/gtk/dataview.cpp b/src/gtk/dataview.cpp index ef9823bf4a..7c963e709c 100644 --- a/src/gtk/dataview.cpp +++ b/src/gtk/dataview.cpp @@ -1975,6 +1975,16 @@ gtk_dataview_header_button_press_callback( GtkWidget *widget, return FALSE; } + if (gdk_event->button == 3) + { + wxDataViewCtrl *dv = column->GetOwner(); + wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK, dv->GetId() ); + event.SetDataViewColumn( column ); + event.SetModel( dv->GetModel() ); + if (dv->GetEventHandler()->ProcessEvent( event )) + return FALSE; + } + return FALSE; }