switch ( event.m_keyCode )
{
case WXK_RETURN:
- if ( !AcceptChanges() )
+ if ( AcceptChanges() )
{
- // vetoed by the user code
- break;
+ // Close the text control, changes were accepted
+ Finish();
}
- //else: fall through
+ // else do nothing, do not accept and do not close
+
+ break;
case WXK_ESCAPE:
Finish();
GetItemPosition( GetItemCount()-1, p );
if( p.y == 0 )
return topItem;
- long id = (long) floor( pt.y*(GetItemCount()-topItem-1)/p.y+topItem );
+ long id = (long) floor( pt.y*double(GetItemCount()-topItem-1)/p.y+topItem );
if( id >= 0 && id < (long)GetItemCount() )
return id;