KiCad PCB EDA Suite
eda_list_dialog.h
Go to the documentation of this file.
1 /*
2  * This program source code file is part of KiCad, a free EDA CAD application.
3  *
4  * Copyright (C) 2010 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
5  * Copyright (C) 1992-2020 KiCad Developers, see AUTHORS.txt for contributors.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, you may find one here:
19  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20  * or you may search the http://www.gnu.org website for the version 2 license,
21  * or you may write to the Free Software Foundation, Inc.,
22  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23  */
24 
25 #ifndef EDA_LIST_DIALOG_H
26 #define EDA_LIST_DIALOG_H
27 
28 
29 #include <../common/dialogs/eda_list_dialog_base.h>
30 #include <eda_units.h>
31 
32 
33 class EDA_DRAW_FRAME;
34 
43 {
44 public:
45 
53  EDA_LIST_DIALOG( wxWindow* aParent, const wxString& aTitle, const wxArrayString& aItemHeaders,
54  const std::vector<wxArrayString>& aItemList,
55  const wxString& aPreselectText = wxEmptyString );
56 
57  void SetListLabel( const wxString& aLabel );
58  void SetOKLabel( const wxString& aLabel );
59  void HideFilter();
60 
61  void Append( const wxArrayString& aItemStr );
62  void InsertItems( const std::vector<wxArrayString>& aItemList, int aPosition = 0 );
63 
70  wxString GetTextSelection( int aColumn = 0 );
71 
72  long GetSelection();
73 
74 private:
75  void onListItemActivated( wxListEvent& event ) override;
76  void textChangeInFilterBox(wxCommandEvent& event) override;
77 
78  void initDialog( const wxArrayString& aItemHeaders, const wxString& aSelection);
79  void sortList();
80 
81 private:
82  const std::vector<wxArrayString>* m_itemsList;
83 };
84 
85 
86 #endif // EDA_LIST_DIALOG_H
void initDialog(const wxArrayString &aItemHeaders, const wxString &aSelection)
wxString GetTextSelection(int aColumn=0)
Return the selected text from aColumn in the wxListCtrl in the dialog.
void textChangeInFilterBox(wxCommandEvent &event) override
EDA_LIST_DIALOG(wxWindow *aParent, const wxString &aTitle, const wxArrayString &aItemHeaders, const std::vector< wxArrayString > &aItemList, const wxString &aPreselectText=wxEmptyString)
void SetOKLabel(const wxString &aLabel)
void Append(const wxArrayString &aItemStr)
A dialog which shows:
The base class for create windows for drawing purpose.
Class EDA_LIST_DIALOG_BASE.
const std::vector< wxArrayString > * m_itemsList
void InsertItems(const std::vector< wxArrayString > &aItemList, int aPosition=0)
void onListItemActivated(wxListEvent &event) override
void SetListLabel(const wxString &aLabel)