mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-21 14:11:41 +00:00
ADDED: importing text vars from Schematic Setup.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18465
This commit is contained in:
parent
a6eec63688
commit
f89ba38b66
@ -254,3 +254,17 @@ void PANEL_TEXT_VARIABLES::OnUpdateUI( wxUpdateUIEvent& event )
|
||||
m_TextVars->ShowCellEditControl();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void PANEL_TEXT_VARIABLES::ImportSettingsFrom( const PROJECT* aOtherProject )
|
||||
{
|
||||
// Fetch from other project...
|
||||
m_lastLoaded = aOtherProject->GetTextVars();
|
||||
// ... but use ticker from current project:
|
||||
m_lastCheckedTicker = m_project->GetTextVarsTicker();
|
||||
|
||||
m_TextVars->ClearRows();
|
||||
|
||||
for( const auto& var : m_lastLoaded )
|
||||
AppendTextVar( var.first, var.second );
|
||||
}
|
||||
|
@ -90,4 +90,5 @@ void DIALOG_SCH_IMPORT_SETTINGS::OnSelectAll( wxCommandEvent& event )
|
||||
m_BomPresetsOpt->SetValue( true );
|
||||
m_BomFmtPresetsOpt->SetValue( true );
|
||||
m_BusAliasesOpt->SetValue( true );
|
||||
m_TextVarsOpt->SetValue( true );
|
||||
}
|
||||
|
@ -69,6 +69,9 @@ DIALOG_SCH_IMPORT_SETTINGS_BASE::DIALOG_SCH_IMPORT_SETTINGS_BASE( wxWindow* pare
|
||||
m_BusAliasesOpt = new wxCheckBox( this, wxID_ANY, _("Bus alias definitions"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bmiddleSizer->Add( m_BusAliasesOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_TextVarsOpt = new wxCheckBox( this, wxID_ANY, _("Text variables"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bmiddleSizer->Add( m_TextVarsOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
|
||||
m_MainSizer->Add( bmiddleSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 10 );
|
||||
|
||||
|
@ -866,6 +866,71 @@
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="true">
|
||||
<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="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</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="drag_accept_files">0</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">Text variables</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_TextVarsOpt</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">public</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>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
|
@ -62,6 +62,7 @@ class DIALOG_SCH_IMPORT_SETTINGS_BASE : public DIALOG_SHIM
|
||||
wxCheckBox* m_PinMapOpt;
|
||||
wxCheckBox* m_NetClassesOpt;
|
||||
wxCheckBox* m_BusAliasesOpt;
|
||||
wxCheckBox* m_TextVarsOpt;
|
||||
|
||||
DIALOG_SCH_IMPORT_SETTINGS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Import Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||
|
||||
|
@ -117,6 +117,7 @@ DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP( SCH_EDIT_FRAME* aFrame ) :
|
||||
return new PANEL_SETUP_BUSES( aParent, m_frame );
|
||||
}, _( "Bus Alias Definitions" ) );
|
||||
|
||||
m_textVarsPage = m_treebook->GetPageCount();
|
||||
m_treebook->AddLazySubPage(
|
||||
[this]( wxWindow* aParent ) -> wxWindow*
|
||||
{
|
||||
@ -244,6 +245,9 @@ void DIALOG_SCHEMATIC_SETUP::onAuxiliaryAction( wxCommandEvent& event )
|
||||
|
||||
if( importDlg.m_BusAliasesOpt->GetValue() )
|
||||
{
|
||||
// The bus aliases are stored on individual sheets, so we have to load the whole
|
||||
// schematic for this one.
|
||||
|
||||
wxFileName schematicFn( projectFn );
|
||||
schematicFn.SetExt( FILEEXT::KiCadSchematicFileExtension );
|
||||
|
||||
@ -287,6 +291,12 @@ void DIALOG_SCHEMATIC_SETUP::onAuxiliaryAction( wxCommandEvent& event )
|
||||
->ImportSettingsFrom( otherSch );
|
||||
}
|
||||
|
||||
if( importDlg.m_TextVarsOpt->GetValue() )
|
||||
{
|
||||
static_cast<PANEL_TEXT_VARIABLES*>( m_treebook->ResolvePage( m_textVarsPage ) )
|
||||
->ImportSettingsFrom( otherPrj );
|
||||
}
|
||||
|
||||
if( !alreadyLoaded )
|
||||
m_frame->GetSettingsManager()->UnloadProject( otherPrj, false );
|
||||
}
|
||||
|
@ -54,6 +54,7 @@ protected:
|
||||
size_t m_bomPresetsPage;
|
||||
size_t m_pinMapPage;
|
||||
size_t m_busesPage;
|
||||
size_t m_textVarsPage;
|
||||
size_t m_severitiesPage;
|
||||
size_t m_netclassesPage;
|
||||
size_t m_embeddedFilesPage;
|
||||
|
@ -43,6 +43,8 @@ public:
|
||||
bool TransferDataToWindow() override;
|
||||
bool TransferDataFromWindow() override;
|
||||
|
||||
void ImportSettingsFrom( const PROJECT* aOtherProject );
|
||||
|
||||
protected:
|
||||
// Various button callbacks
|
||||
void OnUpdateUI( wxUpdateUIEvent& event ) override;
|
||||
|
Loading…
Reference in New Issue
Block a user