dc,
wxRect(x, HEADER_OFFSET_Y, cw, h - 2),
m_parent->IsEnabled() ? 0
- : wxCONTROL_DISABLED
+ : (int)wxCONTROL_DISABLED
);
// see if we have enough space for the column label
switch ( event.m_keyCode )
{
case WXK_RETURN:
- if ( AcceptChanges() )
- {
- // Close the text control, changes were accepted
- Finish();
- }
- // else do nothing, do not accept and do not close
+ // Notify the owner about the changes
+ AcceptChanges();
+
+ // Even if vetoed, close the control (consistent with MSW)
+ Finish();
break;
if ( GetParent()->GetEventHandler()->ProcessEvent( event) )
return;
-#if wxUSE_MOUSEWHEEL
if (event.GetEventType() == wxEVT_MOUSEWHEEL)
{
// let the base handle mouse wheel events.
event.Skip();
return;
}
-#endif
-
+
if ( !HasCurrent() || IsEmpty() )
return;
}
else if (event.RightDown())
{
+ // If the item is already selected, do not update the selection.
+ // Multi-selections should not be cleared if a selected item is clicked.
+ if (!IsHighlighted(current))
+ {
+ HighlightAll(false);
+ ChangeCurrent(current);
+ ReverseHighlight(m_current);
+ }
+
SendNotify( current, wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK,
event.GetPosition() );
}