67 wxPanel::Create( aParent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSIMPLE_BORDER );
69 wxBoxSizer* mainSizer;
70 mainSizer =
new wxBoxSizer( wxVERTICAL );
72 wxStaticText* filterLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Filter:" ) );
73 mainSizer->Add( filterLabel, 0, wxEXPAND, 0 );
75 m_filterCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize,
82 m_listBox =
new wxListBox(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0,
nullptr,
83 wxLB_SINGLE | wxLB_NEEDED_SB );
84 mainSizer->Add(
m_listBox, 1, wxEXPAND | wxTOP, 2 );
86 SetSizer( mainSizer );
235 for(
size_t i = 0; i <
m_listBox->GetCount(); ++i )
238 listWidth = std::max( listWidth, itemWidth +
LIST_PADDING * 2 );
241 wxSize listSize( listWidth, listHeight );
242 wxSize popupSize( listWidth, listTop + listHeight );
244 SetSize( popupSize );
245 GetParent()->SetSize( popupSize );
298 if( aEvent.GetEventObject() ==
m_listBox )
305 wxWindow* window =
dynamic_cast<wxWindow*
>( aEvent.GetEventObject() );
309 wxPoint screenPos = window->ClientToScreen( aEvent.GetPosition() );
311 if(
m_listBox->GetScreenRect().Contains( screenPos ) )
313 wxPoint localPos =
m_listBox->ScreenToClient( screenPos );
441 const wxSize &size,
long style ) :
442 wxComboCtrl( parent, id, wxEmptyString, pos, size, style|wxTE_PROCESS_ENTER ),
451 SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
454 SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_LISTBOX ) );
498 int key = aEvt.GetKeyCode();
507 else if( ( key == WXK_RETURN || key == WXK_NUMPAD_ENTER ) && aEvt.ShiftDown() )
509 wxPostEvent( m_parent, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
512 else if( key == WXK_RETURN || key == WXK_NUMPAD_ENTER || key == WXK_DOWN
513 || key == WXK_NUMPAD_DOWN || key == WXK_SPACE )
518 else if( key > WXK_SPACE && key < WXK_START && ( GetWindowStyleFlag() & wxCB_READONLY ) )
KICOMMON_API wxSize GetTextSize(const wxString &aSingleLine, wxWindow *aWindow)
Return the size of aSingleLine of text when it is rendered in aWindow using whatever font is currentl...