Eeschema: Save annotation starting value in project settings
CHANGED: Added support for saving the starting value for annotation Fixes https://gitlab.com/kicad/code/kicad/issues/8364
This commit is contained in:
parent
fb4343bc8f
commit
15d36456a9
|
@ -31,6 +31,7 @@
|
|||
#include <kiface_i.h>
|
||||
#include <widgets/infobar.h>
|
||||
#include <wx_html_report_panel.h>
|
||||
#include <schematic.h>
|
||||
|
||||
// A window name for the annotate dialog to retrieve is if not destroyed
|
||||
#define DLG_WINDOW_NAME "DialogAnnotateWindowName"
|
||||
|
@ -111,6 +112,24 @@ DIALOG_ANNOTATE::~DIALOG_ANNOTATE()
|
|||
cfg->m_AnnotatePanel.options = m_rbOptions->GetSelection();
|
||||
cfg->m_AnnotatePanel.scope = m_rbScope->GetSelection();
|
||||
cfg->m_AnnotatePanel.messages_filter = m_MessageWindow->GetVisibleSeverities();
|
||||
|
||||
// Get the "start annotation after" value from dialog and update project settings if changed
|
||||
int startNum = GetStartNumber();
|
||||
SCH_EDIT_FRAME* schFrame = dynamic_cast<SCH_EDIT_FRAME*>( m_parentFrame );
|
||||
|
||||
if( schFrame ) {
|
||||
SCHEMATIC_SETTINGS& projSettings = schFrame->Schematic().Settings();
|
||||
|
||||
// If the user has updated the start annotation number then update the project file.
|
||||
// We manually update the project file here in case the user has changed the value
|
||||
// and just clicked the "Close" button on the annotation dialog.
|
||||
|
||||
if( projSettings.m_AnnotateStartNum != startNum )
|
||||
{
|
||||
projSettings.m_AnnotateStartNum = startNum;
|
||||
schFrame->SaveProjectSettings();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -141,7 +160,18 @@ void DIALOG_ANNOTATE::InitValues()
|
|||
case 2: m_rbSheetX1000->SetValue( true ); break;
|
||||
}
|
||||
|
||||
m_textNumberAfter->SetValue( wxT( "0" ) );
|
||||
int annotateStartNum = 0; // Default "start after" value for annotation
|
||||
|
||||
// See if we can get a "start after" value from the project settings
|
||||
SCH_EDIT_FRAME* schFrame = dynamic_cast<SCH_EDIT_FRAME*>( m_parentFrame );
|
||||
|
||||
if( schFrame )
|
||||
{
|
||||
SCHEMATIC_SETTINGS& projSettings = schFrame->Schematic().Settings();
|
||||
annotateStartNum = projSettings.m_AnnotateStartNum;
|
||||
}
|
||||
|
||||
m_textNumberAfter->SetValue( wxString::Format( wxT( "%d" ), annotateStartNum ) );
|
||||
|
||||
annotate_down_right_bitmap->SetBitmap( KiBitmap( BITMAPS::annotate_down_right ) );
|
||||
annotate_right_down_bitmap->SetBitmap( KiBitmap( BITMAPS::annotate_right_down ) );
|
||||
|
|
|
@ -52,7 +52,8 @@ SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS( JSON_SETTINGS* aParent, const std::strin
|
|||
m_IntersheetRefsPrefix( DEFAULT_IREF_PREFIX ),
|
||||
m_IntersheetRefsSuffix( DEFAULT_IREF_SUFFIX ),
|
||||
m_SpiceAdjustPassiveValues( false ),
|
||||
m_NgspiceSimulatorSettings( nullptr )
|
||||
m_NgspiceSimulatorSettings( nullptr ),
|
||||
m_AnnotateStartNum( 0 )
|
||||
{
|
||||
EESCHEMA_SETTINGS* appSettings = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() );
|
||||
|
||||
|
@ -127,9 +128,9 @@ SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS( JSON_SETTINGS* aParent, const std::strin
|
|||
Mils2iu( defaultJunctionSize ), Mils2iu( 5 ), Mils2iu( 1000 ), 1 / IU_PER_MILS ) );
|
||||
|
||||
// User choice for junction dot size ( e.g. none = 0, smallest = 1, small = 2, etc )
|
||||
m_params.emplace_back(new PARAM<int>("drawing.junction_size_choice",
|
||||
&m_JunctionSizeChoice,
|
||||
defaultJunctionSizeChoice) );
|
||||
m_params.emplace_back( new PARAM<int>( "drawing.junction_size_choice",
|
||||
&m_JunctionSizeChoice,
|
||||
defaultJunctionSizeChoice ) );
|
||||
|
||||
m_params.emplace_back( new PARAM_LAMBDA<nlohmann::json>( "drawing.field_names",
|
||||
[&]() -> nlohmann::json
|
||||
|
@ -212,6 +213,9 @@ SCHEMATIC_SETTINGS::SCHEMATIC_SETTINGS( JSON_SETTINGS* aParent, const std::strin
|
|||
m_params.emplace_back( new PARAM<int>( "subpart_first_id",
|
||||
LIB_SYMBOL::SubpartFirstIdPtr(), 'A', '1', 'z' ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "annotate_start_num",
|
||||
&m_AnnotateStartNum, 0 ) );
|
||||
|
||||
m_NgspiceSimulatorSettings =
|
||||
std::make_shared<NGSPICE_SIMULATOR_SETTINGS>( this, "ngspice" );
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ public:
|
|||
int m_JunctionSize; // Size of junction dot in mils
|
||||
// User choice for junction dot size ( e.g. none = 0, smallest = 1, small = 2, etc )
|
||||
int m_JunctionSizeChoice;
|
||||
int m_AnnotateStartNum; // Starting value for annotation
|
||||
|
||||
bool m_IntersheetRefsShow;
|
||||
bool m_IntersheetRefsListOwnPage;
|
||||
|
|
Loading…
Reference in New Issue