KiCad PCB EDA Suite
pin_type_combobox.cpp
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) 2015 Simon Richter <Simon.Richter@hogyros.de>
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you may find one here:
18  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19  * or you may search the http://www.gnu.org website for the version 2 license,
20  * or you may write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23 
29 #include "pin_type_combobox.h"
30 
31 #include <bitmaps.h>
32 #include <lib_pin.h>
33 
35  wxWindowID id,
36  const wxString& value,
37  const wxPoint& pos,
38  const wxSize& size,
39  int n,
40  const wxString choices[],
41  long style,
42  const wxValidator& validator,
43  const wxString& name ) :
44  wxBitmapComboBox( parent, id, value, pos, size, n, choices, style, validator, name )
45 {
46  for( unsigned ii = 0; ii < ELECTRICAL_PINTYPES_TOTAL; ++ii )
47  {
48  ELECTRICAL_PINTYPE type = static_cast<ELECTRICAL_PINTYPE>( ii );
49 
50  wxString text = ElectricalPinTypeGetText( type );
51  BITMAPS bitmap = ElectricalPinTypeGetBitmap( type );
52 
53  if( bitmap == BITMAPS::INVALID_BITMAP )
54  Append( text );
55  else
56  Insert( text, KiBitmap( bitmap ), ii );
57  }
58 }
59 
60 
62 {
63  return static_cast<ELECTRICAL_PINTYPE>( GetSelection() );
64 }
65 
66 
68 {
69  wxBitmapComboBox::SetSelection( static_cast<int>( aType ) );
70 }
wxString ElectricalPinTypeGetText(ELECTRICAL_PINTYPE aType)
Definition: pin_type.cpp:236
BITMAPS ElectricalPinTypeGetBitmap(ELECTRICAL_PINTYPE aType)
Definition: pin_type.cpp:246
PinTypeComboBox(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &value=wxEmptyString, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, int n=0, const wxString choices[]=NULL, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxBitmapComboBoxNameStr)
ELECTRICAL_PINTYPE GetPinTypeSelection()
void SetSelection(ELECTRICAL_PINTYPE aType)
wxBitmap KiBitmap(BITMAPS aBitmap, int aHeightTag)
Construct a wxBitmap from an image identifier Returns the image from the active theme if the image ha...
Definition: bitmap.cpp:104
const char * name
Definition: DXF_plotter.cpp:59
BITMAPS
A list of all bitmap identifiers.
Definition: bitmaps_list.h:32
ELECTRICAL_PINTYPE
The component library pin object electrical types used in ERC tests.
Definition: pin_type.h:35
#define ELECTRICAL_PINTYPES_TOTAL
Definition: pin_type.h:53
ComboBox widget for pin type.