// wxDataViewHeaderWindow
//-----------------------------------------------------------------------------
-#define USE_NATIVE_HEADER_WINDOW 1
+#define USE_NATIVE_HEADER_WINDOW !defined(__WXUNIVERSAL__)
//Below is the compare stuff
//For the generic implements, both the leaf nodes and the nodes are sorted for fast search when needed
SetFlags(flags);
m_autosize = width < 0; // TODO
-
+
Init(width < 0 ? wxDVC_DEFAULT_WIDTH : width);
}
void wxDataViewMainWindow::OnChar( wxKeyEvent &event )
{
- if (event.GetKeyCode() == WXK_TAB)
- {
- wxNavigationKeyEvent nevent;
- nevent.SetWindowChange( event.ControlDown() );
- nevent.SetDirection( !event.ShiftDown() );
- nevent.SetEventObject( GetParent()->GetParent() );
- nevent.SetCurrentFocus( m_parent );
- if (GetParent()->GetParent()->GetEventHandler()->ProcessEvent( nevent ))
- return;
- }
+ if ( HandleAsNavigationKey(event) )
+ return;
// no item -> nothing to do
if (!HasCurrentRow())
}
// notify cell about right click
- // cell->...
-
- // Allow generation of context menu event
- event.Skip();
+ wxVariant value;
+ model->GetValue( value, item, col->GetModelColumn() );
+ cell->SetValue( value );
+ wxRect cell_rect( xpos, current * m_lineHeight,
+ col->GetWidth(), m_lineHeight );
+ if (!cell->RightClick( event.GetPosition(), cell_rect, model, item, col->GetModelColumn()))
+ {
+ wxWindow *parent = GetParent();
+ wxDataViewEvent le(wxEVT_COMMAND_DATAVIEW_ITEM_CONTEXT_MENU, parent->GetId());
+ le.SetItem( item );
+ le.SetEventObject(parent);
+ le.SetModel(GetOwner()->GetModel());
+ le.SetValue(value);
+
+ parent->GetEventHandler()->ProcessEvent(le);
+ }
}
else if (event.MiddleDown())
{