kicad/eeschema/dialogs/dialog_lib_edit_pin.cpp

97 lines
2.7 KiB
C++

#include "fctsys.h"
#include "dialog_lib_edit_pin.h"
// dialog should remember its previous screen position and size
// Not also if the defaut size is > s_LastSize, default size is used
wxPoint DIALOG_LIB_EDIT_PIN::s_LastPos( -1, -1 );
wxSize DIALOG_LIB_EDIT_PIN::s_LastSize;
DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN( wxWindow* parent ) :
DIALOG_LIB_EDIT_PIN_BASE( parent )
{
/* Required to make escape key work correctly in wxGTK. */
SetFocus();
// Set tab order
m_textPinName-> MoveAfterInTabOrder(this);
m_textPadName-> MoveAfterInTabOrder(m_textPinName);
m_sdbSizerButtonsOK->SetDefault();
}
void DIALOG_LIB_EDIT_PIN::SetLastSizeAndPosition()
{
if( s_LastPos.x != -1 )
{
wxSize defaultSize = GetSize();
if( s_LastSize.x < defaultSize.x )
s_LastSize.x = defaultSize.x;
SetSize( s_LastSize );
SetPosition( s_LastPos );
}
else
Center();
}
void DIALOG_LIB_EDIT_PIN::OnCloseDialog( wxCloseEvent& event )
{
// Save the dialog's position
s_LastPos = GetPosition();
s_LastSize = GetSize();
EndModal( wxID_CANCEL );
}
void DIALOG_LIB_EDIT_PIN::OnCancelButtonClick( wxCommandEvent& event )
{
// Save the dialog's position
s_LastPos = GetPosition();
s_LastSize = GetSize();
EndModal( wxID_CANCEL );
}
void DIALOG_LIB_EDIT_PIN::OnOKButtonClick( wxCommandEvent& event )
{
// Save the dialog's position
s_LastPos = GetPosition();
s_LastSize = GetSize();
EndModal( wxID_OK );
}
void DIALOG_LIB_EDIT_PIN::SetOrientationList( const wxArrayString& list,
const char*** aBitmaps )
{
for ( unsigned ii = 0; ii < list.GetCount(); ii++ )
{
if( aBitmaps == NULL )
m_choiceOrientation->Append( list[ii] );
else
m_choiceOrientation->Insert( list[ii], wxBitmap( aBitmaps[ii] ), ii );
}
}
void DIALOG_LIB_EDIT_PIN::SetElectricalTypeList( const wxArrayString& list,
const char*** aBitmaps )
{
for ( unsigned ii = 0; ii < list.GetCount(); ii++ )
{
if( aBitmaps == NULL )
m_choiceElectricalType->Append( list[ii] );
else
m_choiceElectricalType->Insert( list[ii], wxBitmap( aBitmaps[ii] ), ii );
}
}
void DIALOG_LIB_EDIT_PIN::SetStyleList( const wxArrayString& list, const char*** aBitmaps )
{
for ( unsigned ii = 0; ii < list.GetCount(); ii++ )
{
if( aBitmaps == NULL )
m_choiceStyle->Append( list[ii] );
else
m_choiceStyle->Insert( list[ii], wxBitmap( aBitmaps[ii] ), ii );
}
}