Add an Edit button to the Symbol Properties aliases list
Fixes: lp:1248451 * https://bugs.launchpad.net/kicad/+bug/1248451
This commit is contained in:
parent
17739859b3
commit
f88c4ccb02
|
@ -309,67 +309,98 @@ void DIALOG_EDIT_COMPONENT_IN_LIBRARY::DeleteAllAliasOfPart( wxCommandEvent& eve
|
|||
}
|
||||
|
||||
|
||||
/* Add a new name to the alias list box
|
||||
* New name cannot be the root name, and must not exists
|
||||
*/
|
||||
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::AddAliasOfPart( wxCommandEvent& event )
|
||||
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::EditAliasOfPart( wxCommandEvent& aEvent )
|
||||
{
|
||||
wxString aliasname;
|
||||
LIB_PART* component = m_Parent->GetCurPart();
|
||||
wxString library = m_Parent->GetCurLib();
|
||||
int sel = m_PartAliasListCtrl->GetSelection();
|
||||
|
||||
if( component == NULL )
|
||||
if( sel == wxNOT_FOUND )
|
||||
return;
|
||||
|
||||
wxString aliasname = m_PartAliasListCtrl->GetString( sel );
|
||||
|
||||
if( aliasname.CmpNoCase( m_Parent->GetAliasName() ) == 0 )
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _( "Current alias \"%s\" cannot be edited." ), GetChars( aliasname ) );
|
||||
DisplayError( this, msg );
|
||||
return;
|
||||
}
|
||||
|
||||
wxTextEntryDialog dlg( this, _( "New Alias:" ), _( "Symbol alias:" ), aliasname );
|
||||
|
||||
if( dlg.ShowModal() != wxID_OK )
|
||||
return; // cancelled by user
|
||||
|
||||
aliasname = dlg.GetValue( );
|
||||
|
||||
aliasname.Replace( wxT( " " ), wxT( "_" ) );
|
||||
|
||||
if( checkNewAlias( aliasname) )
|
||||
m_PartAliasListCtrl->SetString( sel, aliasname );
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::AddAliasOfPart( wxCommandEvent& event )
|
||||
{
|
||||
wxString aliasname;
|
||||
|
||||
wxTextEntryDialog dlg( this, _( "New Alias:" ), _( "Symbol alias:" ), aliasname );
|
||||
|
||||
if( dlg.ShowModal() != wxID_OK )
|
||||
return; // cancelled by user
|
||||
|
||||
aliasname = dlg.GetValue( );
|
||||
aliasname.Replace( wxT( " " ), wxT( "_" ) );
|
||||
|
||||
if( checkNewAlias( aliasname ) )
|
||||
m_PartAliasListCtrl->Append( aliasname );
|
||||
}
|
||||
|
||||
|
||||
bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::checkNewAlias( wxString aliasname )
|
||||
{
|
||||
if( aliasname.IsEmpty() )
|
||||
return;
|
||||
return false;
|
||||
|
||||
if( m_PartAliasListCtrl->FindString( aliasname ) != wxNOT_FOUND )
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _( "Alias \"%s\" already exists." ), GetChars( aliasname ) );
|
||||
DisplayInfoMessage( this, msg );
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
wxString library = m_Parent->GetCurLib();
|
||||
|
||||
if( !library.empty() && Prj().SchSymbolLibTable()->LoadSymbol( library, aliasname ) != NULL )
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _( "Symbol name \"%s\" already exists in library \"%s\"." ), aliasname, library );
|
||||
DisplayErrorMessage( this, msg );
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
m_PartAliasListCtrl->Append( aliasname );
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_EDIT_COMPONENT_IN_LIBRARY::DeleteAliasOfPart( wxCommandEvent& event )
|
||||
{
|
||||
wxString aliasname = m_PartAliasListCtrl->GetStringSelection();
|
||||
int sel = m_PartAliasListCtrl->GetSelection();
|
||||
|
||||
if( aliasname.IsEmpty() )
|
||||
if( sel == wxNOT_FOUND )
|
||||
return;
|
||||
|
||||
wxString aliasname = m_PartAliasListCtrl->GetString( sel );
|
||||
|
||||
if( aliasname.CmpNoCase( m_Parent->GetAliasName() ) == 0 )
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _( "Alias \"%s\" cannot be removed while it is being edited!" ),
|
||||
GetChars( aliasname ) );
|
||||
msg.Printf( _( "Current alias \"%s\" cannot be removed." ), GetChars( aliasname ) );
|
||||
DisplayError( this, msg );
|
||||
return;
|
||||
}
|
||||
|
||||
m_PartAliasListCtrl->Delete( m_PartAliasListCtrl->GetSelection() );
|
||||
m_PartAliasListCtrl->Delete( sel );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -54,7 +54,9 @@ private:
|
|||
void OnOkClick(wxCommandEvent& event) override;
|
||||
void DeleteAllAliasOfPart(wxCommandEvent& event) override;
|
||||
void DeleteAliasOfPart(wxCommandEvent& event) override;
|
||||
void EditAliasOfPart(wxCommandEvent& event) override;
|
||||
void AddAliasOfPart(wxCommandEvent& event) override;
|
||||
bool checkNewAlias( wxString aliasname );
|
||||
bool ChangeNbUnitsPerPackage(int newUnit);
|
||||
bool SetUnsetConvert();
|
||||
void CopyDocFromRootToAlias(wxCommandEvent& event) override;
|
||||
|
|
|
@ -183,6 +183,9 @@ DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE( wx
|
|||
m_ButtonAddeAlias = new wxButton( m_PanelAlias, ID_ADD_ALIAS, _("Add"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bRightBoxSizerPanelAlias->Add( m_ButtonAddeAlias, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
m_ButtonEditAlias = new wxButton( m_PanelAlias, wxID_ANY, _("Edit"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bRightBoxSizerPanelAlias->Add( m_ButtonEditAlias, 0, wxALL, 5 );
|
||||
|
||||
m_ButtonDeleteOneAlias = new wxButton( m_PanelAlias, ID_DELETE_ONE_ALIAS, _("Delete"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bRightBoxSizerPanelAlias->Add( m_ButtonDeleteOneAlias, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
@ -264,6 +267,7 @@ DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE( wx
|
|||
m_ButtonCopyDoc->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::CopyDocFromRootToAlias ), NULL, this );
|
||||
m_buttonBrowseDocFiles->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::BrowseAndSelectDocFile ), NULL, this );
|
||||
m_ButtonAddeAlias->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::AddAliasOfPart ), NULL, this );
|
||||
m_ButtonEditAlias->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::EditAliasOfPart ), NULL, this );
|
||||
m_ButtonDeleteOneAlias->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::DeleteAliasOfPart ), NULL, this );
|
||||
m_ButtonDeleteAllAlias->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::DeleteAllAliasOfPart ), NULL, this );
|
||||
m_buttonAddFpF->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::AddFootprintFilter ), NULL, this );
|
||||
|
@ -281,6 +285,7 @@ DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::~DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE()
|
|||
m_ButtonCopyDoc->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::CopyDocFromRootToAlias ), NULL, this );
|
||||
m_buttonBrowseDocFiles->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::BrowseAndSelectDocFile ), NULL, this );
|
||||
m_ButtonAddeAlias->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::AddAliasOfPart ), NULL, this );
|
||||
m_ButtonEditAlias->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::EditAliasOfPart ), NULL, this );
|
||||
m_ButtonDeleteOneAlias->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::DeleteAliasOfPart ), NULL, this );
|
||||
m_ButtonDeleteAllAlias->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::DeleteAllAliasOfPart ), NULL, this );
|
||||
m_buttonAddFpF->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE::AddFootprintFilter ), NULL, this );
|
||||
|
|
|
@ -2507,6 +2507,94 @@
|
|||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="1">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default">0</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Edit</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_ButtonEditAlias</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnButtonClick">EditAliasOfPart</event>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="1">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
|
|
|
@ -80,6 +80,7 @@ class DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE : public DIALOG_SHIM
|
|||
wxStaticText* m_staticTextAlias;
|
||||
wxListBox* m_PartAliasListCtrl;
|
||||
wxButton* m_ButtonAddeAlias;
|
||||
wxButton* m_ButtonEditAlias;
|
||||
wxButton* m_ButtonDeleteOneAlias;
|
||||
wxButton* m_ButtonDeleteAllAlias;
|
||||
wxPanel* m_PanelFootprintFilter;
|
||||
|
@ -98,6 +99,7 @@ class DIALOG_EDIT_COMPONENT_IN_LIBRARY_BASE : public DIALOG_SHIM
|
|||
virtual void CopyDocFromRootToAlias( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void BrowseAndSelectDocFile( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void AddAliasOfPart( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void EditAliasOfPart( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void DeleteAliasOfPart( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void DeleteAllAliasOfPart( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void AddFootprintFilter( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
|
Loading…
Reference in New Issue