Eeschema: Add option for selection highlight thickness
ADDED new option to set selection highlight thickness. Also change selection shadow width constants to make the selection thickness change less drastically with the zoom level.
This commit is contained in:
parent
97b0b20a65
commit
681f6bc707
|
@ -81,6 +81,7 @@ bool PANEL_EESCHEMA_DISPLAY_OPTIONS::TransferDataToWindow()
|
||||||
m_checkSelTextBox->SetValue( GetSelectionTextAsBox() );
|
m_checkSelTextBox->SetValue( GetSelectionTextAsBox() );
|
||||||
m_checkSelDrawChildItems->SetValue( GetSelectionDrawChildItems() );
|
m_checkSelDrawChildItems->SetValue( GetSelectionDrawChildItems() );
|
||||||
m_checkSelFillShapes->SetValue( GetSelectionFillShapes() );
|
m_checkSelFillShapes->SetValue( GetSelectionFillShapes() );
|
||||||
|
m_selWidthCtrl->SetValue( GetSelectionThickness() );
|
||||||
|
|
||||||
m_galOptsPanel->TransferDataToWindow();
|
m_galOptsPanel->TransferDataToWindow();
|
||||||
|
|
||||||
|
@ -120,6 +121,7 @@ bool PANEL_EESCHEMA_DISPLAY_OPTIONS::TransferDataFromWindow()
|
||||||
SetSelectionTextAsBox( m_checkSelTextBox->GetValue() );
|
SetSelectionTextAsBox( m_checkSelTextBox->GetValue() );
|
||||||
SetSelectionDrawChildItems( m_checkSelDrawChildItems->GetValue() );
|
SetSelectionDrawChildItems( m_checkSelDrawChildItems->GetValue() );
|
||||||
SetSelectionFillShapes( m_checkSelFillShapes->GetValue() );
|
SetSelectionFillShapes( m_checkSelFillShapes->GetValue() );
|
||||||
|
SetSelectionThickness( m_selWidthCtrl->GetValue() );
|
||||||
|
|
||||||
// Update canvas
|
// Update canvas
|
||||||
m_frame->GetRenderSettings()->m_ShowHiddenPins = m_checkShowHiddenPins->GetValue();
|
m_frame->GetRenderSettings()->m_ShowHiddenPins = m_checkShowHiddenPins->GetValue();
|
||||||
|
|
|
@ -117,6 +117,23 @@ PANEL_EESCHEMA_DISPLAY_OPTIONS_BASE::PANEL_EESCHEMA_DISPLAY_OPTIONS_BASE( wxWind
|
||||||
m_checkSelFillShapes = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("Fill selected shapes"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_checkSelFillShapes = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("Fill selected shapes"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
sbSizer3->Add( m_checkSelFillShapes, 0, wxALL|wxEXPAND, 5 );
|
sbSizer3->Add( m_checkSelFillShapes, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxFlexGridSizer* fgSizer321;
|
||||||
|
fgSizer321 = new wxFlexGridSizer( 0, 2, 3, 0 );
|
||||||
|
fgSizer321->AddGrowableCol( 1 );
|
||||||
|
fgSizer321->SetFlexibleDirection( wxBOTH );
|
||||||
|
fgSizer321->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
|
||||||
|
|
||||||
|
m_selWidthLabel = new wxStaticText( sbSizer3->GetStaticBox(), wxID_ANY, _("&Highlight thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_selWidthLabel->Wrap( -1 );
|
||||||
|
fgSizer321->Add( m_selWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
|
||||||
|
|
||||||
|
m_selWidthCtrl = new wxSpinCtrlDouble( sbSizer3->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0.5, 50, 0, 0.5 );
|
||||||
|
m_selWidthCtrl->SetDigits( 1 );
|
||||||
|
fgSizer321->Add( m_selWidthCtrl, 0, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
sbSizer3->Add( fgSizer321, 1, wxEXPAND|wxTOP, 5 );
|
||||||
|
|
||||||
|
|
||||||
bRightColumn->Add( sbSizer3, 1, wxEXPAND|wxTOP, 5 );
|
bRightColumn->Add( sbSizer3, 1, wxEXPAND|wxTOP, 5 );
|
||||||
|
|
||||||
|
|
|
@ -1220,6 +1220,149 @@
|
||||||
<property name="window_style"></property>
|
<property name="window_style"></property>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxEXPAND|wxTOP</property>
|
||||||
|
<property name="proportion">1</property>
|
||||||
|
<object class="wxFlexGridSizer" expanded="1">
|
||||||
|
<property name="cols">2</property>
|
||||||
|
<property name="flexible_direction">wxBOTH</property>
|
||||||
|
<property name="growablecols">1</property>
|
||||||
|
<property name="growablerows"></property>
|
||||||
|
<property name="hgap">0</property>
|
||||||
|
<property name="minimum_size">-1,-1</property>
|
||||||
|
<property name="name">fgSizer321</property>
|
||||||
|
<property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property>
|
||||||
|
<property name="permission">none</property>
|
||||||
|
<property name="rows">0</property>
|
||||||
|
<property name="vgap">3</property>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxStaticText" expanded="1">
|
||||||
|
<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="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="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">&Highlight thickness:</property>
|
||||||
|
<property name="markup">0</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_selWidthLabel</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="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<property name="wrap">-1</property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxEXPAND</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxSpinCtrlDouble" expanded="1">
|
||||||
|
<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="close_button">1</property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="context_menu">1</property>
|
||||||
|
<property name="default_pane">0</property>
|
||||||
|
<property name="digits">1</property>
|
||||||
|
<property name="dock">Dock</property>
|
||||||
|
<property name="dock_fixed">0</property>
|
||||||
|
<property name="docking">Left</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="inc">0.5</property>
|
||||||
|
<property name="initial">0</property>
|
||||||
|
<property name="max">50</property>
|
||||||
|
<property name="max_size"></property>
|
||||||
|
<property name="maximize_button">0</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="min">0.5</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_selWidthCtrl</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">wxSP_ARROW_KEYS</property>
|
||||||
|
<property name="subclass">; ; forward_declare</property>
|
||||||
|
<property name="toolbar_pane">0</property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="value"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
#include <wx/statbox.h>
|
#include <wx/statbox.h>
|
||||||
#include <wx/choice.h>
|
#include <wx/choice.h>
|
||||||
#include <wx/checkbox.h>
|
#include <wx/checkbox.h>
|
||||||
|
#include <wx/spinctrl.h>
|
||||||
#include <wx/panel.h>
|
#include <wx/panel.h>
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -51,6 +52,8 @@ class PANEL_EESCHEMA_DISPLAY_OPTIONS_BASE : public wxPanel
|
||||||
wxCheckBox* m_checkSelTextBox;
|
wxCheckBox* m_checkSelTextBox;
|
||||||
wxCheckBox* m_checkSelDrawChildItems;
|
wxCheckBox* m_checkSelDrawChildItems;
|
||||||
wxCheckBox* m_checkSelFillShapes;
|
wxCheckBox* m_checkSelFillShapes;
|
||||||
|
wxStaticText* m_selWidthLabel;
|
||||||
|
wxSpinCtrlDouble* m_selWidthCtrl;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ static int s_textMarkupFlags = 0;
|
||||||
static bool s_selectTextAsBox = false;
|
static bool s_selectTextAsBox = false;
|
||||||
static bool s_selectDrawChildren = true;
|
static bool s_selectDrawChildren = true;
|
||||||
static bool s_selectFillShapes = false;
|
static bool s_selectFillShapes = false;
|
||||||
|
static float s_selectThickness = DEFAULTSELECTIONTHICKNESS;
|
||||||
|
|
||||||
int GetDefaultBusThickness()
|
int GetDefaultBusThickness()
|
||||||
{
|
{
|
||||||
|
@ -153,6 +153,17 @@ void SetSelectionFillShapes( bool aBool )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
float GetSelectionThickness()
|
||||||
|
{
|
||||||
|
return s_selectThickness;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SetSelectionThickness( float aFloat )
|
||||||
|
{
|
||||||
|
s_selectThickness = aFloat;
|
||||||
|
}
|
||||||
|
|
||||||
// Color to draw selected items
|
// Color to draw selected items
|
||||||
COLOR4D GetItemSelectedColor()
|
COLOR4D GetItemSelectedColor()
|
||||||
{
|
{
|
||||||
|
@ -326,6 +337,7 @@ static const wxChar showPinElectricalType[] = wxT( "LibeditShowPinElectric
|
||||||
static const wxChar boxedSelectedText[] = wxT( "SelectionTextAsBox" );
|
static const wxChar boxedSelectedText[] = wxT( "SelectionTextAsBox" );
|
||||||
static const wxChar drawSelectedChildren[] = wxT( "SelectionDrawChildItems" );
|
static const wxChar drawSelectedChildren[] = wxT( "SelectionDrawChildItems" );
|
||||||
static const wxChar selectionFillShapes[] = wxT( "SelectionFillShapes" );
|
static const wxChar selectionFillShapes[] = wxT( "SelectionFillShapes" );
|
||||||
|
static const wxChar selectionThickness[] = wxT( "SelectionThickness" );
|
||||||
|
|
||||||
///@}
|
///@}
|
||||||
|
|
||||||
|
@ -388,6 +400,8 @@ void SCH_EDIT_FRAME::LoadSettings( wxConfigBase* aCfg )
|
||||||
SetSelectionTextAsBox( aCfg->ReadBool( boxedSelectedText, false ) );
|
SetSelectionTextAsBox( aCfg->ReadBool( boxedSelectedText, false ) );
|
||||||
SetSelectionDrawChildItems( aCfg->ReadBool( drawSelectedChildren, true ) );
|
SetSelectionDrawChildItems( aCfg->ReadBool( drawSelectedChildren, true ) );
|
||||||
SetSelectionFillShapes( aCfg->ReadBool( selectionFillShapes, false ) );
|
SetSelectionFillShapes( aCfg->ReadBool( selectionFillShapes, false ) );
|
||||||
|
SetSelectionThickness(
|
||||||
|
(float) aCfg->ReadDouble( selectionThickness, DEFAULTSELECTIONTHICKNESS ) );
|
||||||
|
|
||||||
SetTextMarkupFlags( (int) aCfg->Read( TextMarkupFlagsEntry, 0L ) );
|
SetTextMarkupFlags( (int) aCfg->Read( TextMarkupFlagsEntry, 0L ) );
|
||||||
|
|
||||||
|
@ -447,6 +461,7 @@ void SCH_EDIT_FRAME::SaveSettings( wxConfigBase* aCfg )
|
||||||
aCfg->Write( boxedSelectedText, GetSelectionTextAsBox() );
|
aCfg->Write( boxedSelectedText, GetSelectionTextAsBox() );
|
||||||
aCfg->Write( drawSelectedChildren, GetSelectionDrawChildItems() );
|
aCfg->Write( drawSelectedChildren, GetSelectionDrawChildItems() );
|
||||||
aCfg->Write( selectionFillShapes, GetSelectionFillShapes() );
|
aCfg->Write( selectionFillShapes, GetSelectionFillShapes() );
|
||||||
|
aCfg->Write( selectionThickness, GetSelectionThickness() );
|
||||||
|
|
||||||
// Save template fieldnames
|
// Save template fieldnames
|
||||||
STRING_FORMATTER sf;
|
STRING_FORMATTER sf;
|
||||||
|
|
|
@ -72,6 +72,9 @@ class SCH_SHEET_PATH;
|
||||||
///< The default library pane width
|
///< The default library pane width
|
||||||
#define DEFAULTLIBWIDTH 250
|
#define DEFAULTLIBWIDTH 250
|
||||||
|
|
||||||
|
///< The default selection highlight thickness
|
||||||
|
#define DEFAULTSELECTIONTHICKNESS 1.5
|
||||||
|
|
||||||
/* Rotation, mirror of graphic items in components bodies are handled by a
|
/* Rotation, mirror of graphic items in components bodies are handled by a
|
||||||
* transform matrix. The default matrix is useful to draw lib entries with
|
* transform matrix. The default matrix is useful to draw lib entries with
|
||||||
* using this default matrix ( no rotation, no mirror but Y axis is bottom to top, and
|
* using this default matrix ( no rotation, no mirror but Y axis is bottom to top, and
|
||||||
|
@ -138,6 +141,11 @@ void SetSelectionDrawChildItems( bool aBool );
|
||||||
bool GetSelectionFillShapes();
|
bool GetSelectionFillShapes();
|
||||||
void SetSelectionFillShapes( bool aBool );
|
void SetSelectionFillShapes( bool aBool );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Selection highlight thickness
|
||||||
|
*/
|
||||||
|
float GetSelectionThickness();
|
||||||
|
void SetSelectionThickness( float aFloat );
|
||||||
|
|
||||||
int GetTextMarkupFlags();
|
int GetTextMarkupFlags();
|
||||||
void SetTextMarkupFlags( int aMarkupFlags );
|
void SetTextMarkupFlags( int aMarkupFlags );
|
||||||
|
|
|
@ -232,7 +232,8 @@ float SCH_PAINTER::getShadowWidth()
|
||||||
|
|
||||||
// For best visuals the selection width must be a cross between the zoom level and the
|
// For best visuals the selection width must be a cross between the zoom level and the
|
||||||
// default line width.
|
// default line width.
|
||||||
return (float) ( ( fabs( matrix.GetScale().x * 5.5 ) + GetDefaultLineThickness() ) / 2.0 );
|
return (float) ( ( fabs( matrix.GetScale().x ) + GetDefaultLineThickness() )
|
||||||
|
* GetSelectionThickness() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue