mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-09-14 02:03:12 +02:00
Sym edit: add alt mode icon toggle
Moves the logic into the SCH_RENDER_SETTINGS, rather than repeating it in EESCHEMA/SYMBOL_EDITOR_SETTINGS (they still maintain their state there, but the painter looks at the SCH_RENDER_SETTINGS). Also turn them off for preview purposes.
This commit is contained in:
parent
4bad76825c
commit
eae84fd5f3
@ -44,6 +44,7 @@ void PANEL_SYM_DISPLAY_OPTIONS::loadSymEditorSettings( SYMBOL_EDITOR_SETTINGS* c
|
||||
m_checkShowHiddenPins->SetValue( cfg->m_ShowHiddenPins );
|
||||
m_checkShowHiddenFields->SetValue( cfg->m_ShowHiddenFields );
|
||||
m_showPinElectricalTypes->SetValue( cfg->m_ShowPinElectricalType );
|
||||
m_checkShowPinAltModeIcons->SetValue( cfg->m_ShowPinAltIcons );
|
||||
}
|
||||
|
||||
|
||||
@ -68,6 +69,7 @@ bool PANEL_SYM_DISPLAY_OPTIONS::TransferDataFromWindow()
|
||||
cfg->m_ShowHiddenPins = m_checkShowHiddenPins->GetValue();
|
||||
cfg->m_ShowHiddenFields = m_checkShowHiddenFields->GetValue();
|
||||
cfg->m_ShowPinElectricalType = m_showPinElectricalTypes->GetValue();
|
||||
cfg->m_ShowPinAltIcons = m_checkShowPinAltModeIcons->GetValue();
|
||||
m_galOptsPanel->TransferDataFromWindow();
|
||||
|
||||
return true;
|
||||
|
@ -42,6 +42,10 @@ PANEL_SYM_DISPLAY_OPTIONS_BASE::PANEL_SYM_DISPLAY_OPTIONS_BASE( wxWindow* parent
|
||||
m_showPinElectricalTypes->SetValue(true);
|
||||
bAppearanceSizer->Add( m_showPinElectricalTypes, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||
|
||||
m_checkShowPinAltModeIcons = new wxCheckBox( this, wxID_ANY, _("Show pin &alternate mode indicator icons"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_checkShowPinAltModeIcons->SetValue(true);
|
||||
bAppearanceSizer->Add( m_checkShowPinAltModeIcons, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
|
||||
|
||||
|
||||
bRightColumn->Add( bAppearanceSizer, 0, wxEXPAND|wxTOP|wxLEFT, 5 );
|
||||
|
||||
|
@ -405,6 +405,71 @@
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT</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">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</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">1</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">Show pin &alternate mode indicator icons</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_checkShowPinAltModeIcons</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"></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>
|
||||
|
@ -38,6 +38,7 @@ class PANEL_SYM_DISPLAY_OPTIONS_BASE : public RESETTABLE_PANEL
|
||||
wxCheckBox* m_checkShowHiddenPins;
|
||||
wxCheckBox* m_checkShowHiddenFields;
|
||||
wxCheckBox* m_showPinElectricalTypes;
|
||||
wxCheckBox* m_checkShowPinAltModeIcons;
|
||||
|
||||
public:
|
||||
|
||||
|
@ -250,6 +250,7 @@ void SCH_EDIT_FRAME::LoadSettings( APP_SETTINGS_BASE* aCfg )
|
||||
|
||||
GetRenderSettings()->m_ShowPinsElectricalType = false;
|
||||
GetRenderSettings()->m_ShowPinNumbers = false;
|
||||
GetRenderSettings()->m_ShowPinAltIcons = cfg->m_Appearance.show_pin_alt_icons;
|
||||
GetRenderSettings()->SetDefaultFont( cfg->m_Appearance.default_font );
|
||||
}
|
||||
|
||||
|
@ -193,6 +193,7 @@ void EESCHEMA_JOBS_HANDLER::InitRenderSettings( SCH_RENDER_SETTINGS* aRenderSett
|
||||
aRenderSettings->LoadColors( cs );
|
||||
aRenderSettings->m_ShowHiddenPins = false;
|
||||
aRenderSettings->m_ShowHiddenFields = false;
|
||||
aRenderSettings->m_ShowPinAltIcons = false;
|
||||
|
||||
aRenderSettings->SetDefaultPenWidth( aSch->Settings().m_DefaultLineWidth );
|
||||
aRenderSettings->m_LabelSizeRatio = aSch->Settings().m_LabelSizeRatio;
|
||||
|
@ -1550,15 +1550,16 @@ void SCH_PAINTER::draw( const SCH_PIN* aPin, int aLayer, bool aDimmed )
|
||||
|
||||
const bool hasAltIcon =
|
||||
( slot.role == PIN_TEXTS::SLOT_ROLE::NAME ) && !aPin->GetAlternates().empty()
|
||||
&& eeconfig()->m_Appearance.show_pin_alt_icons && !renderTextAsBitmap;
|
||||
&& GetSettings()->m_ShowPinAltIcons && !renderTextAsBitmap;
|
||||
|
||||
if( hasAltIcon )
|
||||
{
|
||||
wxASSERT( locs.IconPos.size() >= 1 );
|
||||
|
||||
drawAltPinModesIcon( *m_gal, locs.IconPos[0], iconSize,
|
||||
// TODO: doesn't work due to the tempPin having no alt
|
||||
aPin->GetShownName() == aPin->GetBaseName(),
|
||||
// Icon style doesn't work due to the tempPin having no alt
|
||||
// but maybe it's better with just one style anyway.
|
||||
true,
|
||||
placement.Angle == ANGLE_VERTICAL, shadowWidth, slot.colour );
|
||||
}
|
||||
};
|
||||
|
@ -87,6 +87,7 @@ public:
|
||||
bool m_ShowPinNumbers; // Force showing of pin numbers (normally symbol-specific)
|
||||
bool m_ShowPinNames; // Force showing of pin names (normally symbol-specific)
|
||||
bool m_ShowPinElectricalTypes;
|
||||
bool m_ShowPinAltIcons;
|
||||
bool m_ShowDisabled;
|
||||
bool m_ShowGraphicsDisabled;
|
||||
bool m_ShowConnectionPoints;
|
||||
|
@ -127,6 +127,7 @@ void SYMBOL_EDIT_FRAME::doReCreateMenuBar()
|
||||
viewMenu->Add( ACTIONS::showLibraryTree, ACTION_MENU::CHECK );
|
||||
viewMenu->Add( EE_ACTIONS::showHiddenPins, ACTION_MENU::CHECK );
|
||||
viewMenu->Add( EE_ACTIONS::showHiddenFields, ACTION_MENU::CHECK );
|
||||
viewMenu->Add( EE_ACTIONS::togglePinAltIcons,ACTION_MENU::CHECK );
|
||||
|
||||
|
||||
//-- Place menu -----------------------------------------------
|
||||
|
@ -327,6 +327,7 @@ void SYMBOL_EDIT_FRAME::LoadSettings( APP_SETTINGS_BASE* aCfg )
|
||||
GetRenderSettings()->m_ShowPinsElectricalType = m_settings->m_ShowPinElectricalType;
|
||||
GetRenderSettings()->m_ShowHiddenPins = m_settings->m_ShowHiddenPins;
|
||||
GetRenderSettings()->m_ShowHiddenFields = m_settings->m_ShowHiddenFields;
|
||||
GetRenderSettings()->m_ShowPinAltIcons = m_settings->m_ShowPinAltIcons;
|
||||
GetRenderSettings()->SetDefaultFont( wxEmptyString );
|
||||
}
|
||||
|
||||
@ -342,6 +343,7 @@ void SYMBOL_EDIT_FRAME::SaveSettings( APP_SETTINGS_BASE* aCfg )
|
||||
m_settings->m_ShowPinElectricalType = GetRenderSettings()->m_ShowPinsElectricalType;
|
||||
m_settings->m_ShowHiddenPins = GetRenderSettings()->m_ShowHiddenPins;
|
||||
m_settings->m_ShowHiddenFields = GetRenderSettings()->m_ShowHiddenFields;
|
||||
m_settings->m_ShowPinAltIcons = GetRenderSettings()->m_ShowPinAltIcons;
|
||||
|
||||
m_settings->m_LibWidth = m_treePane->GetSize().x;
|
||||
|
||||
@ -522,6 +524,12 @@ void SYMBOL_EDIT_FRAME::setupUIConditions()
|
||||
return libeditconfig()->m_ShowHiddenFields;
|
||||
};
|
||||
|
||||
auto showPinAltIconsCond =
|
||||
[this]( const SELECTION& )
|
||||
{
|
||||
return libeditconfig()->m_ShowPinAltIcons;
|
||||
};
|
||||
|
||||
auto showLibraryTreeCond =
|
||||
[this]( const SELECTION& )
|
||||
{
|
||||
@ -540,6 +548,7 @@ void SYMBOL_EDIT_FRAME::setupUIConditions()
|
||||
mgr->SetConditions( ACTIONS::showProperties, CHECK( propertiesCond ) );
|
||||
mgr->SetConditions( EE_ACTIONS::showHiddenPins, CHECK( hiddenPinCond ) );
|
||||
mgr->SetConditions( EE_ACTIONS::showHiddenFields, CHECK( hiddenFieldCond ) );
|
||||
mgr->SetConditions( EE_ACTIONS::togglePinAltIcons, CHECK( showPinAltIconsCond ) );
|
||||
|
||||
auto demorganCond =
|
||||
[this]( const SELECTION& )
|
||||
@ -1276,6 +1285,7 @@ void SYMBOL_EDIT_FRAME::CommonSettingsChanged( bool aEnvVarsChanged, bool aTextV
|
||||
GetRenderSettings()->m_ShowPinsElectricalType = cfg->m_ShowPinElectricalType;
|
||||
GetRenderSettings()->m_ShowHiddenPins = cfg->m_ShowHiddenPins;
|
||||
GetRenderSettings()->m_ShowHiddenFields = cfg->m_ShowHiddenFields;
|
||||
GetRenderSettings()->m_ShowPinAltIcons = cfg->m_ShowPinAltIcons;
|
||||
|
||||
GetGalDisplayOptions().ReadWindowSettings( cfg->m_Window );
|
||||
|
||||
|
@ -103,6 +103,9 @@ SYMBOL_EDITOR_SETTINGS::SYMBOL_EDITOR_SETTINGS() :
|
||||
m_params.emplace_back( new PARAM<bool>( "show_pin_electrical_type",
|
||||
&m_ShowPinElectricalType, true ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "show_pin_alt_icons",
|
||||
&m_ShowPinAltIcons, true ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "show_hidden_lib_fields",
|
||||
&m_ShowHiddenFields, true ) );
|
||||
|
||||
|
@ -82,6 +82,7 @@ public:
|
||||
bool m_ShowPinElectricalType;
|
||||
bool m_ShowHiddenPins;
|
||||
bool m_ShowHiddenFields;
|
||||
bool m_ShowPinAltIcons;
|
||||
|
||||
///< When true, dragging an outline edge will drag pins rooted on it
|
||||
bool m_dragPinsAlongWithEdges;
|
||||
|
@ -173,6 +173,7 @@ void SYMBOL_EDIT_FRAME::ReCreateOptToolbar()
|
||||
m_optionsToolBar->Add( EE_ACTIONS::showElectricalTypes, ACTION_TOOLBAR::TOGGLE );
|
||||
m_optionsToolBar->Add( EE_ACTIONS::showHiddenPins, ACTION_TOOLBAR::TOGGLE );
|
||||
m_optionsToolBar->Add( EE_ACTIONS::showHiddenFields, ACTION_TOOLBAR::TOGGLE );
|
||||
// m_optionsToolBar->Add( EE_ACTIONS::togglePinAltIcons, ACTION_TOOLBAR::TOGGLE );
|
||||
|
||||
if( ADVANCED_CFG::GetCfg().m_DrawBoundingBoxes )
|
||||
m_optionsToolBar->Add( ACTIONS::toggleBoundingBoxes, ACTION_TOOLBAR::TOGGLE );
|
||||
|
@ -2596,6 +2596,8 @@ int SCH_EDITOR_CONTROL::TogglePinAltIcons( const TOOL_EVENT& aEvent )
|
||||
EESCHEMA_SETTINGS* cfg = m_frame->eeconfig();
|
||||
cfg->m_Appearance.show_pin_alt_icons = !cfg->m_Appearance.show_pin_alt_icons;
|
||||
|
||||
m_frame->GetRenderSettings()->m_ShowPinAltIcons = cfg->m_Appearance.show_pin_alt_icons;
|
||||
|
||||
getView()->UpdateAllItems( KIGFX::REPAINT );
|
||||
m_frame->GetCanvas()->Refresh();
|
||||
|
||||
|
@ -613,6 +613,22 @@ int SYMBOL_EDITOR_CONTROL::ToggleHiddenFields( const TOOL_EVENT& aEvent )
|
||||
}
|
||||
|
||||
|
||||
int SYMBOL_EDITOR_CONTROL::TogglePinAltIcons( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
if( !m_isSymbolEditor )
|
||||
return 0;
|
||||
|
||||
SYMBOL_EDITOR_SETTINGS& cfg = *m_frame->libeditconfig();
|
||||
cfg.m_ShowPinAltIcons = !cfg.m_ShowPinAltIcons;
|
||||
|
||||
m_frame->GetRenderSettings()->m_ShowPinAltIcons = cfg.m_ShowPinAltIcons;
|
||||
|
||||
getView()->UpdateAllItems( KIGFX::REPAINT );
|
||||
m_frame->GetCanvas()->Refresh();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int SYMBOL_EDITOR_CONTROL::ExportView( const TOOL_EVENT& aEvent )
|
||||
{
|
||||
if( !m_isSymbolEditor )
|
||||
@ -826,6 +842,7 @@ void SYMBOL_EDITOR_CONTROL::setTransitions()
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ToggleProperties, ACTIONS::showProperties.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ToggleHiddenPins, EE_ACTIONS::showHiddenPins.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ToggleHiddenFields, EE_ACTIONS::showHiddenFields.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::TogglePinAltIcons, EE_ACTIONS::togglePinAltIcons.MakeEvent() );
|
||||
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ChangeUnit, EE_ACTIONS::previousUnit.MakeEvent() );
|
||||
Go( &SYMBOL_EDITOR_CONTROL::ChangeUnit, EE_ACTIONS::nextUnit.MakeEvent() );
|
||||
|
@ -69,6 +69,7 @@ public:
|
||||
|
||||
int ToggleHiddenPins( const TOOL_EVENT& aEvent );
|
||||
int ToggleHiddenFields( const TOOL_EVENT& aEvent );
|
||||
int TogglePinAltIcons( const TOOL_EVENT& aEvent );
|
||||
|
||||
int ChangeUnit( const TOOL_EVENT& aEvent );
|
||||
|
||||
|
@ -92,6 +92,7 @@ DESIGN_BLOCK_PREVIEW_WIDGET::DESIGN_BLOCK_PREVIEW_WIDGET( wxWindow* aParent, boo
|
||||
settings->m_ShowPinNumbers = false;
|
||||
settings->m_ShowHiddenPins = false;
|
||||
settings->m_ShowHiddenFields = false;
|
||||
settings->m_ShowPinAltIcons = false;
|
||||
|
||||
m_outerSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
|
@ -89,6 +89,7 @@ SYMBOL_PREVIEW_WIDGET::SYMBOL_PREVIEW_WIDGET( wxWindow* aParent, KIWAY* aKiway,
|
||||
settings->m_ShowPinNumbers = app_settings->m_LibViewPanel.show_pin_numbers;
|
||||
settings->m_ShowHiddenPins = false;
|
||||
settings->m_ShowHiddenFields = false;
|
||||
settings->m_ShowPinAltIcons = false;
|
||||
|
||||
m_outerSizer = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user