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 <lib_pin.h>
32 
34  wxWindowID id,
35  const wxString& value,
36  const wxPoint& pos,
37  const wxSize& size,
38  int n,
39  const wxString choices[],
40  long style,
41  const wxValidator& validator,
42  const wxString& name ) :
43  wxBitmapComboBox( parent, id, value, pos, size, n, choices, style, validator, name )
44 {
45  for( unsigned ii = 0; ii < PINTYPE_COUNT; ++ii )
46  {
47  ELECTRICAL_PINTYPE type = static_cast<ELECTRICAL_PINTYPE>( ii );
48 
49  wxString text = GetText( type );
50  BITMAP_DEF bitmap = GetBitmap( type );
51 
52  if( bitmap == NULL )
53  Append( text );
54  else
55  Insert( text, KiBitmap( bitmap ), ii );
56  }
57 }
58 
59 
61 {
62  return static_cast<ELECTRICAL_PINTYPE>( GetSelection() );
63 }
64 
65 
67 {
68  wxBitmapComboBox::SetSelection( aType );
69 }
PNG memory record (file in memory).
Definition: bitmap_types.h:38
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)
wxBitmap KiBitmap(BITMAP_DEF aBitmap)
Function KiBitmap constructs a wxBitmap from a memory record, held in a BITMAP_DEF.
Definition: bitmap.cpp:36
ELECTRICAL_PINTYPE GetPinTypeSelection()
void SetSelection(ELECTRICAL_PINTYPE aType)
wxString GetText(GRAPHIC_PINSHAPE shape)
Definition: pin_shape.cpp:33
ELECTRICAL_PINTYPE
The component library pin object electrical types used in ERC tests.
Definition: pin_type.h:37
const char * name
BITMAP_DEF GetBitmap(GRAPHIC_PINSHAPE shape)
Definition: pin_shape.cpp:70
ComboBox widget for pin type.