#ifndef __dialog_lib_edit_pin__
#define __dialog_lib_edit_pin__

/**
 * @file
 * Subclass of DIALOG_LIB_EDIT_PIN_BASE, which is generated by wxFormBuilder.
 */

#include "wx/bmpcbox.h"

#include "dialog_lib_edit_pin_base.h"

/** Implementing DIALOG_LIB_EDIT_PIN_BASE */
class DIALOG_LIB_EDIT_PIN : public DIALOG_LIB_EDIT_PIN_BASE
{
public:
	/** Constructor */
	DIALOG_LIB_EDIT_PIN( wxWindow* parent );

    void SetOrientationList( const wxArrayString& list, const char *** aBitmaps );
    void SetOrientation( int orientation )
    {
        m_choiceOrientation->SetSelection( orientation );
    }
    int GetOrientation( void ) { return m_choiceOrientation->GetSelection(); }

    void SetElectricalTypeList( const wxArrayString& list, const char *** aBitmaps );
    void SetElectricalType( int type )
    {
        m_choiceElectricalType->SetSelection( type );
    }
    int GetElectricalType( void )
    {
        return m_choiceElectricalType->GetSelection();
    }

    void SetStyleList( const wxArrayString& list, const char *** aBitmaps );
    void SetStyle( int style ) { m_choiceStyle->SetSelection( style ); }
    int GetStyle( void ) { return m_choiceStyle->GetSelection(); }

    void SetName( const wxString& name ) { m_textName->SetValue( name ); }
    wxString GetName( void ) { return m_textName->GetValue(); }

    void SetNameTextSize( const wxString& size )
    {
        m_textNameTextSize->SetValue( size );
    }
    wxString GetNameTextSize( void )
    {
        return m_textNameTextSize->GetValue();
    }

    void SetNameTextSizeUnits( const wxString& units )
    {
        m_staticNameTextSizeUnits->SetLabel( units );
    }

    void SetNumber( const wxString& number )
    {
        m_textNumber->SetValue( number );
    }
    wxString GetNumber( void ) { return m_textNumber->GetValue(); }

    void SetNumberTextSize( const wxString& size )
    {
        m_textNumberTextSize->SetValue( size );
    }
    wxString GetNumberTextSize( void )
    {
        return m_textNumberTextSize->GetValue();
    }

    void SetNumberTextSizeUnits( const wxString& units )
    {
        m_staticNumberTextSizeUnits->SetLabel( units );
    }

    void SetLength( const wxString& length )
    {
        m_textLength->SetValue( length );
    }
    wxString GetLength( void ) { return m_textLength->GetValue(); }

    void SetLengthUnits( const wxString& units )
    {
        m_staticLengthUnits->SetLabel( units );
    }

    void SetAddToAllParts( bool apply )
    {
        m_checkApplyToAllParts->SetValue( apply );
    }
    bool GetAddToAllParts( void )
    {
        return m_checkApplyToAllParts->GetValue();
    }

    void SetAddToAllBodyStyles( bool apply )
    {
        m_checkApplyToAllConversions->SetValue( apply );
    }
    bool GetAddToAllBodyStyles( void )
    {
        return m_checkApplyToAllConversions->GetValue();
    }

    void SetVisible( bool visible ) { m_checkShow->SetValue( visible ); }
    bool GetVisible( void ) { return m_checkShow->GetValue(); }
};

#endif // __dialog_lib_edit_pin__