Add action to edit symbol from Library
Analog of ea4e06124e
for symbol editor. Allows scripting to open
library symbol
This commit is contained in:
parent
0c99c99e12
commit
dd99b2dc2f
|
@ -251,7 +251,8 @@ bool SYMBOL_EDIT_FRAME::saveCurrentSymbol()
|
||||||
|
|
||||||
bool SYMBOL_EDIT_FRAME::LoadSymbol( const LIB_ID& aLibId, int aUnit, int aConvert )
|
bool SYMBOL_EDIT_FRAME::LoadSymbol( const LIB_ID& aLibId, int aUnit, int aConvert )
|
||||||
{
|
{
|
||||||
if( GetCurSymbol() && GetCurSymbol()->GetLibId() == aLibId
|
if( !IsSymbolFromSchematic()
|
||||||
|
&& GetCurSymbol() && GetCurSymbol()->GetLibId() == aLibId
|
||||||
&& GetUnit() == aUnit && GetConvert() == aConvert )
|
&& GetUnit() == aUnit && GetConvert() == aConvert )
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -548,7 +548,13 @@ TOOL_ACTION EE_ACTIONS::highlightNetTool( "eeschema.EditorControl.highlightNetTo
|
||||||
TOOL_ACTION EE_ACTIONS::editWithLibEdit( "eeschema.EditorControl.editWithSymbolEditor",
|
TOOL_ACTION EE_ACTIONS::editWithLibEdit( "eeschema.EditorControl.editWithSymbolEditor",
|
||||||
AS_GLOBAL,
|
AS_GLOBAL,
|
||||||
MD_CTRL + 'E', LEGACY_HK_NAME( "Edit with Symbol Editor" ),
|
MD_CTRL + 'E', LEGACY_HK_NAME( "Edit with Symbol Editor" ),
|
||||||
_( "Edit with Symbol Editor" ), _( "Open the symbol editor to edit the symbol" ),
|
_( "Edit with Symbol Editor" ), _( "Open the selected symbol in the Symbol Editor" ),
|
||||||
|
BITMAPS::libedit );
|
||||||
|
|
||||||
|
TOOL_ACTION EE_ACTIONS::editLibSymbolWithLibEdit( "eeschema.EditorControl.editLibSymbolWithSymbolEditor",
|
||||||
|
AS_GLOBAL,
|
||||||
|
MD_CTRL + MD_SHIFT + 'E', "",
|
||||||
|
_( "Edit Library Symbol..." ), _( "Open the library symbol in the Symbol Editor" ),
|
||||||
BITMAPS::libedit );
|
BITMAPS::libedit );
|
||||||
|
|
||||||
TOOL_ACTION EE_ACTIONS::editSymbolFields( "eeschema.EditorControl.editSymbolFields",
|
TOOL_ACTION EE_ACTIONS::editSymbolFields( "eeschema.EditorControl.editSymbolFields",
|
||||||
|
|
|
@ -159,6 +159,7 @@ public:
|
||||||
|
|
||||||
// Suite operations
|
// Suite operations
|
||||||
static TOOL_ACTION editWithLibEdit;
|
static TOOL_ACTION editWithLibEdit;
|
||||||
|
static TOOL_ACTION editLibSymbolWithLibEdit;
|
||||||
static TOOL_ACTION showPcbNew;
|
static TOOL_ACTION showPcbNew;
|
||||||
static TOOL_ACTION importFPAssignments;
|
static TOOL_ACTION importFPAssignments;
|
||||||
static TOOL_ACTION exportNetlist;
|
static TOOL_ACTION exportNetlist;
|
||||||
|
|
|
@ -1948,7 +1948,20 @@ int SCH_EDITOR_CONTROL::EditWithSymbolEditor( const TOOL_EVENT& aEvent )
|
||||||
symbolEditor = (SYMBOL_EDIT_FRAME*) m_frame->Kiway().Player( FRAME_SCH_SYMBOL_EDITOR, false );
|
symbolEditor = (SYMBOL_EDIT_FRAME*) m_frame->Kiway().Player( FRAME_SCH_SYMBOL_EDITOR, false );
|
||||||
|
|
||||||
if( symbolEditor )
|
if( symbolEditor )
|
||||||
symbolEditor->LoadSymbolFromSchematic( symbol );
|
{
|
||||||
|
if( aEvent.IsAction( &EE_ACTIONS::editWithLibEdit ) )
|
||||||
|
symbolEditor->LoadSymbolFromSchematic( symbol );
|
||||||
|
else if( aEvent.IsAction( &EE_ACTIONS::editLibSymbolWithLibEdit ) )
|
||||||
|
{
|
||||||
|
symbolEditor->LoadSymbol( symbol->GetLibId(), symbol->GetConvert(), symbol->GetUnit() );
|
||||||
|
|
||||||
|
if( !symbolEditor->IsSymbolTreeShown() )
|
||||||
|
{
|
||||||
|
wxCommandEvent evt;
|
||||||
|
symbolEditor->OnToggleSymbolTree( evt );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2184,6 +2197,7 @@ void SCH_EDITOR_CONTROL::setTransitions()
|
||||||
Go( &SCH_EDITOR_CONTROL::Duplicate, ACTIONS::duplicate.MakeEvent() );
|
Go( &SCH_EDITOR_CONTROL::Duplicate, ACTIONS::duplicate.MakeEvent() );
|
||||||
|
|
||||||
Go( &SCH_EDITOR_CONTROL::EditWithSymbolEditor, EE_ACTIONS::editWithLibEdit.MakeEvent() );
|
Go( &SCH_EDITOR_CONTROL::EditWithSymbolEditor, EE_ACTIONS::editWithLibEdit.MakeEvent() );
|
||||||
|
Go( &SCH_EDITOR_CONTROL::EditWithSymbolEditor, EE_ACTIONS::editLibSymbolWithLibEdit.MakeEvent() );
|
||||||
Go( &SCH_EDITOR_CONTROL::ShowCvpcb, EE_ACTIONS::assignFootprints.MakeEvent() );
|
Go( &SCH_EDITOR_CONTROL::ShowCvpcb, EE_ACTIONS::assignFootprints.MakeEvent() );
|
||||||
Go( &SCH_EDITOR_CONTROL::ImportFPAssignments, EE_ACTIONS::importFPAssignments.MakeEvent() );
|
Go( &SCH_EDITOR_CONTROL::ImportFPAssignments, EE_ACTIONS::importFPAssignments.MakeEvent() );
|
||||||
Go( &SCH_EDITOR_CONTROL::Annotate, EE_ACTIONS::annotate.MakeEvent() );
|
Go( &SCH_EDITOR_CONTROL::Annotate, EE_ACTIONS::annotate.MakeEvent() );
|
||||||
|
|
Loading…
Reference in New Issue