ADDED: show/hide controls for directive labels.

This commit is contained in:
Jeff Young 2023-04-27 17:59:53 +01:00
parent 4b0027a5d7
commit e1b39946fe
10 changed files with 69 additions and 28 deletions

View File

@ -124,6 +124,9 @@ EESCHEMA_SETTINGS::EESCHEMA_SETTINGS() :
m_params.emplace_back( new PARAM<bool>( "appearance.show_hidden_fields",
&m_Appearance.show_hidden_fields, false ) );
m_params.emplace_back( new PARAM<bool>( "appearance.show_directive_labels",
&m_Appearance.show_directive_labels, true ) );
m_params.emplace_back( new PARAM<bool>( "appearance.show_erc_warnings",
&m_Appearance.show_erc_warnings, true ) );

View File

@ -60,6 +60,7 @@ public:
wxString default_font;
bool show_hidden_pins;
bool show_hidden_fields;
bool show_directive_labels;
bool show_erc_warnings;
bool show_erc_errors;
bool show_erc_exclusions;

View File

@ -204,6 +204,7 @@ void SCH_EDIT_FRAME::doReCreateMenuBar()
viewMenu->AppendSeparator();
viewMenu->Add( EE_ACTIONS::toggleHiddenPins, ACTION_MENU::CHECK );
viewMenu->Add( EE_ACTIONS::toggleHiddenFields, ACTION_MENU::CHECK );
viewMenu->Add( EE_ACTIONS::toggleDirectiveLabels, ACTION_MENU::CHECK );
viewMenu->Add( EE_ACTIONS::toggleERCErrors, ACTION_MENU::CHECK );
viewMenu->Add( EE_ACTIONS::toggleERCWarnings, ACTION_MENU::CHECK );
viewMenu->Add( EE_ACTIONS::toggleERCExclusions, ACTION_MENU::CHECK );

View File

@ -479,6 +479,13 @@ void SCH_EDIT_FRAME::setupUIConditions()
return cfg && cfg->m_Appearance.show_hidden_fields;
};
auto showDirectiveLabelsCond =
[this]( const SELECTION& )
{
EESCHEMA_SETTINGS* cfg = eeconfig();
return cfg && cfg->m_Appearance.show_directive_labels;
};
auto showERCErrorsCond =
[this]( const SELECTION& )
{
@ -569,6 +576,7 @@ void SCH_EDIT_FRAME::setupUIConditions()
mgr->SetConditions( EE_ACTIONS::remapSymbols, ENABLE( remapSymbolsCondition ) );
mgr->SetConditions( EE_ACTIONS::toggleHiddenPins, CHECK( showHiddenPinsCond ) );
mgr->SetConditions( EE_ACTIONS::toggleHiddenFields, CHECK( showHiddenFieldsCond ) );
mgr->SetConditions( EE_ACTIONS::toggleDirectiveLabels, CHECK( showDirectiveLabelsCond ) );
mgr->SetConditions( EE_ACTIONS::toggleERCErrors, CHECK( showERCErrorsCond ) );
mgr->SetConditions( EE_ACTIONS::toggleERCWarnings, CHECK( showERCWarningsCond ) );
mgr->SetConditions( EE_ACTIONS::toggleERCExclusions, CHECK( showERCExclusionsCond ) );

View File

@ -2720,6 +2720,9 @@ void SCH_PAINTER::draw( const SCH_HIERLABEL *aLabel, int aLayer )
void SCH_PAINTER::draw( const SCH_DIRECTIVE_LABEL *aLabel, int aLayer )
{
if( !eeconfig()->m_Appearance.show_directive_labels && !aLabel->IsSelected() )
return;
bool drawingShadows = aLayer == LAYER_SELECTION_SHADOWS;
if( !drawingShadows || eeconfig()->m_Selection.draw_selected_children )

View File

@ -702,6 +702,10 @@ TOOL_ACTION EE_ACTIONS::toggleHiddenFields( "eeschema.EditorControl.showHiddenFi
AS_GLOBAL, 0, "",
_( "Show Hidden Fields" ), _( "Toggle display of hidden text fields" ) );
TOOL_ACTION EE_ACTIONS::toggleDirectiveLabels( "eeschema.EditorControl.showDirectiveLabels",
AS_GLOBAL, 0, "",
_( "Show Directive Labels" ), _( "Toggle display of directive labels" ) );
TOOL_ACTION EE_ACTIONS::toggleERCWarnings( "eeschema.EditorControl.showERCWarnings",
AS_GLOBAL, 0, "",
_( "Show ERC Warnings" ), _( "Show markers for electrical rules checker warnings" ) );

View File

@ -214,6 +214,7 @@ public:
// Miscellaneous
static TOOL_ACTION toggleHiddenPins;
static TOOL_ACTION toggleHiddenFields;
static TOOL_ACTION toggleDirectiveLabels;
static TOOL_ACTION toggleERCWarnings;
static TOOL_ACTION toggleERCErrors;
static TOOL_ACTION toggleERCExclusions;

View File

@ -1815,6 +1815,12 @@ bool EE_SELECTION_TOOL::Selectable( const EDA_ITEM* aItem, const VECTOR2I* aPos,
break;
}
case SCH_DIRECTIVE_LABEL_T:
if( !m_frame->eeconfig()->m_Appearance.show_directive_labels )
return false;
break;
case LIB_SYMBOL_T: // In symbol_editor we do not want to select the symbol itself.
return false;

View File

@ -2106,6 +2106,18 @@ int SCH_EDITOR_CONTROL::ToggleHiddenFields( const TOOL_EVENT& aEvent )
}
int SCH_EDITOR_CONTROL::ToggleDirectiveLabels( const TOOL_EVENT& aEvent )
{
EESCHEMA_SETTINGS* cfg = m_frame->eeconfig();
cfg->m_Appearance.show_directive_labels = !cfg->m_Appearance.show_directive_labels;
getView()->UpdateAllItems( KIGFX::REPAINT );
m_frame->GetCanvas()->Refresh();
return 0;
}
int SCH_EDITOR_CONTROL::ToggleERCWarnings( const TOOL_EVENT& aEvent )
{
EESCHEMA_SETTINGS* cfg = m_frame->eeconfig();
@ -2357,6 +2369,7 @@ void SCH_EDITOR_CONTROL::setTransitions()
Go( &SCH_EDITOR_CONTROL::ToggleHiddenPins, EE_ACTIONS::toggleHiddenPins.MakeEvent() );
Go( &SCH_EDITOR_CONTROL::ToggleHiddenFields, EE_ACTIONS::toggleHiddenFields.MakeEvent() );
Go( &SCH_EDITOR_CONTROL::ToggleDirectiveLabels, EE_ACTIONS::toggleDirectiveLabels.MakeEvent() );
Go( &SCH_EDITOR_CONTROL::ToggleERCWarnings, EE_ACTIONS::toggleERCWarnings.MakeEvent() );
Go( &SCH_EDITOR_CONTROL::ToggleERCErrors, EE_ACTIONS::toggleERCErrors.MakeEvent() );
Go( &SCH_EDITOR_CONTROL::ToggleERCExclusions, EE_ACTIONS::toggleERCExclusions.MakeEvent() );

View File

@ -127,6 +127,7 @@ public:
int ToggleHiddenPins( const TOOL_EVENT& aEvent );
int ToggleHiddenFields( const TOOL_EVENT& aEvent );
int ToggleDirectiveLabels( const TOOL_EVENT& aEvent );
int ToggleERCWarnings( const TOOL_EVENT& aEvent );
int ToggleERCErrors( const TOOL_EVENT& aEvent );
int ToggleERCExclusions( const TOOL_EVENT& aEvent );