void wxVListBoxComboPopup::OnKey(wxKeyEvent& event) { // Hide popup if certain key or key combination was pressed if ( m_combo->IsKeyPopupToggle(event) ) { StopPartialCompletion(); Dismiss(); } else if ( event.AltDown() ) { // On both wxGTK and wxMSW, pressing Alt down seems to // completely freeze things in popup (ie. arrow keys and // enter won't work). return; } // Select item if ENTER is pressed else if ( event.GetKeyCode() == WXK_RETURN || event.GetKeyCode() == WXK_NUMPAD_ENTER ) { DismissWithEvent(); } else { // completion is handled in OnChar() below event.Skip(); } }
void wxVListBoxComboPopup::OnKey(wxKeyEvent& event) { // Hide popup if certain key or key combination was pressed if ( m_combo->IsKeyPopupToggle(event) ) { StopPartialCompletion(); Dismiss(); } else if ( event.AltDown() ) { // On both wxGTK and wxMSW, pressing Alt down seems to // completely freeze things in popup (ie. arrow keys and // enter won't work). return; } // Select item if ENTER is pressed else if ( event.GetKeyCode() == WXK_RETURN || event.GetKeyCode() == WXK_NUMPAD_ENTER ) { DismissWithEvent(); } else { int comboStyle = m_combo->GetWindowStyle(); int keycode = event.GetKeyCode(); // Process partial completion key codes here, but not the arrow keys as the base class will do that for us if ((comboStyle & wxCB_READONLY) && (keycode >= WXK_SPACE) && (keycode <=255) && (keycode != WXK_DELETE) && wxIsprint(keycode)) { OnComboKeyEvent(event); SetSelection(m_value); // ensure the highlight bar moves } else event.Skip(); } }
void wxVListBoxComboPopup::OnLeftClick(wxMouseEvent& WXUNUSED(event)) { DismissWithEvent(); }