KiCad PCB EDA Suite
PANEL_DISPLAY_OPTIONS Class Reference

#include <panel_display_options.h>

Inheritance diagram for PANEL_DISPLAY_OPTIONS:
PANEL_DISPLAY_OPTIONS_BASE

Public Member Functions

 PANEL_DISPLAY_OPTIONS (PCB_BASE_FRAME *aFrame, PAGED_DIALOG *aWindow)
 
bool TransferDataFromWindow () override
 
bool TransferDataToWindow () override
 

Protected Types

enum  { ID_SHOW_CLEARANCE = 1000 }
 

Protected Attributes

wxBoxSizer * m_galOptionsSizer
 
wxSimplebook * m_optionsBook
 
wxRadioBox * m_ShowNetNamesOption
 
wxCheckBox * m_OptDisplayPadNumber
 
wxCheckBox * m_OptDisplayPadNoConn
 
wxRadioBox * m_OptDisplayTracksClearance
 
wxCheckBox * m_OptDisplayPadClearence
 
wxCheckBox * m_checkCrossProbeCenter
 
wxCheckBox * m_checkCrossProbeZoom
 
wxCheckBox * m_checkCrossProbeAutoHighlight
 

Private Attributes

PCB_BASE_FRAMEm_frame
 
GAL_OPTIONS_PANELm_galOptsPanel
 

Detailed Description

Definition at line 25 of file panel_display_options.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited
Enumerator
ID_SHOW_CLEARANCE 

Definition at line 35 of file panel_display_options_base.h.

Constructor & Destructor Documentation

◆ PANEL_DISPLAY_OPTIONS()

PANEL_DISPLAY_OPTIONS::PANEL_DISPLAY_OPTIONS ( PCB_BASE_FRAME aFrame,
PAGED_DIALOG aWindow 
)

Definition at line 44 of file panel_display_options.cpp.

45  :
46  PANEL_DISPLAY_OPTIONS_BASE( aParent->GetTreebook() ),
47  m_frame( aFrame )
48 {
50  m_galOptsPanel = new GAL_OPTIONS_PANEL( this, galOptions );
51 
52  m_galOptionsSizer->Add( m_galOptsPanel, 1, wxEXPAND, 0 );
53 
54  m_optionsBook->SetSelection( dynamic_cast<PCB_EDIT_FRAME*>( m_frame ) ? 1 : 0 );
55 }
KIGFX::GAL_DISPLAY_OPTIONS & GetGalDisplayOptions()
Return a reference to the gal rendering options used by GAL for rendering.
PANEL_DISPLAY_OPTIONS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
GAL_OPTIONS_PANEL * m_galOptsPanel

References EDA_DRAW_FRAME::GetGalDisplayOptions(), m_frame, PANEL_DISPLAY_OPTIONS_BASE::m_galOptionsSizer, m_galOptsPanel, and PANEL_DISPLAY_OPTIONS_BASE::m_optionsBook.

Member Function Documentation

◆ TransferDataFromWindow()

bool PANEL_DISPLAY_OPTIONS::TransferDataFromWindow ( )
override

Definition at line 90 of file panel_display_options.cpp.

91 {
93 
94  // Apply changes to the GAL
95  KIGFX::VIEW* view = m_frame->GetCanvas()->GetView();
96  KIGFX::PCB_PAINTER* painter = static_cast<KIGFX::PCB_PAINTER*>( view->GetPainter() );
97  KIGFX::PCB_RENDER_SETTINGS* settings = painter->GetSettings();
98 
99  PCB_EDIT_FRAME* pcbEdit = dynamic_cast<PCB_EDIT_FRAME*>( m_frame );
100 
101  if( pcbEdit )
102  {
103  PCB_DISPLAY_OPTIONS displ_opts = pcbEdit->GetDisplayOptions();
104 
107 
108  displ_opts.m_DisplayPadIsol = m_OptDisplayPadClearence->GetValue();
109  displ_opts.m_DisplayPadNum = m_OptDisplayPadNumber->GetValue();
110 
112 
113  displ_opts.m_DisplayNetNamesMode = m_ShowNetNamesOption->GetSelection();
114 
115  pcbEdit->SetDisplayOptions( displ_opts );
116  settings->LoadDisplayOptions( displ_opts, pcbEdit->ShowPageLimits() );
118 
119  CROSS_PROBING_SETTINGS& crossProbing = pcbEdit->GetPcbNewSettings()->m_CrossProbing;
120 
121  crossProbing.center_on_items = m_checkCrossProbeCenter->GetValue();
122  crossProbing.zoom_to_fit = m_checkCrossProbeZoom->GetValue();
123  crossProbing.auto_highlight = m_checkCrossProbeAutoHighlight->GetValue();
124  }
125 
126  view->RecacheAllItems();
128 
129  return true;
130 }
show a marker on pads with no nets
void SetElementVisibility(GAL_LAYER_ID aElement, bool aNewState)
Function SetElementVisibility changes the visibility of an element category.
static const UTIL::CFG_MAP< PCB_DISPLAY_OPTIONS::TRACE_CLEARANCE_DISPLAY_MODE_T > traceClearanceSelectMap
PCB_DRAW_PANEL_GAL * GetCanvas() const override
Return a pointer to GAL-based canvas of given EDA draw frame.
void RecacheAllItems()
Function RecacheAllItems() Rebuilds GAL display lists.
Definition: view.cpp:1395
void SetDisplayOptions(const PCB_DISPLAY_OPTIONS &aOptions)
PCBNEW_SETTINGS * GetPcbNewSettings()
PCB_PAINTER Contains methods for drawing PCB-specific items.
Definition: pcb_painter.h:260
const PCB_DISPLAY_OPTIONS & GetDisplayOptions() const
Function GetDisplayOptions Display options control the way tracks, vias, outlines and other things ar...
PAINTER * GetPainter() const
Function GetPainter() Returns the painter object used by the view for drawing VIEW_ITEMS.
Definition: view.h:199
bool ShowPageLimits() const
TRACE_CLEARANCE_DISPLAY_MODE_T m_ShowTrackClearanceMode
How trace clearances are displayed.
Auxiliary rendering target (noncached)
Definition: definitions.h:49
GAL_OPTIONS_PANEL * m_galOptsPanel
PCB_RENDER_SETTINGS Stores PCB specific render settings.
Definition: pcb_painter.h:64
Cross-probing behavior.
Definition: app_settings.h:30
PCB_DISPLAY_OPTIONS handles display options like enable/disable some optional drawings.
virtual PCB_RENDER_SETTINGS * GetSettings() override
Definition: pcb_painter.h:272
void MarkTargetDirty(int aTarget)
Function MarkTargetDirty() Sets or clears target 'dirty' flag.
Definition: view.h:574
static CFG_NATIVE_VAL< MAP > GetValFromConfig(const MAP &aMap, long aConf)
Get the native value corresponding to the config value (read from file or UI, probably) and find it i...
Definition: config_map.h:96
virtual KIGFX::PCB_VIEW * GetView() const override
Function GetView() Returns a pointer to the VIEW instance used in the panel.
bool zoom_to_fit
Zoom to fit items (ignored if center_on_items is off)
Definition: app_settings.h:33
bool auto_highlight
Automatically turn on highlight mode in the target frame.
Definition: app_settings.h:34
PCB_EDIT_FRAME is the main frame for Pcbnew.
CROSS_PROBING_SETTINGS m_CrossProbing
Definition: app_settings.h:157
VIEW.
Definition: view.h:61
bool center_on_items
Automatically pan to cross-probed items.
Definition: app_settings.h:32
bool TransferDataFromWindow() override
Read the options set in the UI into the given options object.

References CROSS_PROBING_SETTINGS::auto_highlight, CROSS_PROBING_SETTINGS::center_on_items, PCB_BASE_FRAME::GetCanvas(), PCB_BASE_FRAME::GetDisplayOptions(), KIGFX::VIEW::GetPainter(), PCB_BASE_FRAME::GetPcbNewSettings(), KIGFX::PCB_PAINTER::GetSettings(), UTIL::GetValFromConfig(), PCB_DRAW_PANEL_GAL::GetView(), LAYER_NO_CONNECTS, LAYER_RATSNEST, PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeAutoHighlight, PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeCenter, PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeZoom, APP_SETTINGS_BASE::m_CrossProbing, PCB_DISPLAY_OPTIONS::m_DisplayNetNamesMode, PCB_DISPLAY_OPTIONS::m_DisplayPadIsol, PCB_DISPLAY_OPTIONS::m_DisplayPadNum, m_frame, m_galOptsPanel, PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadClearence, PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadNoConn, PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadNumber, PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayTracksClearance, PCB_DISPLAY_OPTIONS::m_ShowGlobalRatsnest, PANEL_DISPLAY_OPTIONS_BASE::m_ShowNetNamesOption, PCB_DISPLAY_OPTIONS::m_ShowTrackClearanceMode, KIGFX::VIEW::MarkTargetDirty(), KIGFX::VIEW::RecacheAllItems(), PCB_BASE_FRAME::SetDisplayOptions(), PCB_EDIT_FRAME::SetElementVisibility(), EDA_DRAW_FRAME::ShowPageLimits(), KIGFX::TARGET_NONCACHED, traceClearanceSelectMap, GAL_OPTIONS_PANEL::TransferDataFromWindow(), and CROSS_PROBING_SETTINGS::zoom_to_fit.

◆ TransferDataToWindow()

bool PANEL_DISPLAY_OPTIONS::TransferDataToWindow ( )
override

Definition at line 58 of file panel_display_options.cpp.

59 {
60  PCB_EDIT_FRAME* pcbEdit = dynamic_cast<PCB_EDIT_FRAME*>( m_frame );
61 
62  if( pcbEdit )
63  {
64  const PCB_DISPLAY_OPTIONS& displ_opts = pcbEdit->GetDisplayOptions();
65 
68 
69  m_OptDisplayPadClearence->SetValue( displ_opts.m_DisplayPadIsol );
70  m_OptDisplayPadNumber->SetValue( displ_opts.m_DisplayPadNum );
72  m_ShowNetNamesOption->SetSelection( displ_opts.m_DisplayNetNamesMode );
73 
74  CROSS_PROBING_SETTINGS& crossProbing = pcbEdit->GetPcbNewSettings()->m_CrossProbing;
75 
76  m_checkCrossProbeCenter->SetValue( crossProbing.center_on_items );
77  m_checkCrossProbeZoom->SetValue( crossProbing.zoom_to_fit );
78  m_checkCrossProbeAutoHighlight->SetValue( crossProbing.auto_highlight );
79  }
80 
82 
83  return true;
84 }
show a marker on pads with no nets
static const UTIL::CFG_MAP< PCB_DISPLAY_OPTIONS::TRACE_CLEARANCE_DISPLAY_MODE_T > traceClearanceSelectMap
PCBNEW_SETTINGS * GetPcbNewSettings()
const PCB_DISPLAY_OPTIONS & GetDisplayOptions() const
Function GetDisplayOptions Display options control the way tracks, vias, outlines and other things ar...
TRACE_CLEARANCE_DISPLAY_MODE_T m_ShowTrackClearanceMode
How trace clearances are displayed.
GAL_OPTIONS_PANEL * m_galOptsPanel
Cross-probing behavior.
Definition: app_settings.h:30
PCB_DISPLAY_OPTIONS handles display options like enable/disable some optional drawings.
bool TransferDataToWindow() override
Load the panel controls from the given opt.
bool zoom_to_fit
Zoom to fit items (ignored if center_on_items is off)
Definition: app_settings.h:33
bool auto_highlight
Automatically turn on highlight mode in the target frame.
Definition: app_settings.h:34
PCB_EDIT_FRAME is the main frame for Pcbnew.
CROSS_PROBING_SETTINGS m_CrossProbing
Definition: app_settings.h:157
bool IsElementVisible(GAL_LAYER_ID aElement) const
Function IsElementVisible tests whether a given element category is visible.
bool center_on_items
Automatically pan to cross-probed items.
Definition: app_settings.h:32
static long GetConfigForVal(const MAP &aMap, CFG_NATIVE_VAL< MAP > aVal)
Get the mapped config value (the one to write to file, or use in an index) from the given native (pro...
Definition: config_map.h:69

References CROSS_PROBING_SETTINGS::auto_highlight, CROSS_PROBING_SETTINGS::center_on_items, UTIL::GetConfigForVal(), PCB_BASE_FRAME::GetDisplayOptions(), PCB_BASE_FRAME::GetPcbNewSettings(), PCB_EDIT_FRAME::IsElementVisible(), LAYER_NO_CONNECTS, PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeAutoHighlight, PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeCenter, PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeZoom, APP_SETTINGS_BASE::m_CrossProbing, PCB_DISPLAY_OPTIONS::m_DisplayNetNamesMode, PCB_DISPLAY_OPTIONS::m_DisplayPadIsol, PCB_DISPLAY_OPTIONS::m_DisplayPadNum, m_frame, m_galOptsPanel, PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadClearence, PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadNoConn, PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadNumber, PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayTracksClearance, PANEL_DISPLAY_OPTIONS_BASE::m_ShowNetNamesOption, PCB_DISPLAY_OPTIONS::m_ShowTrackClearanceMode, traceClearanceSelectMap, GAL_OPTIONS_PANEL::TransferDataToWindow(), and CROSS_PROBING_SETTINGS::zoom_to_fit.

Member Data Documentation

◆ m_checkCrossProbeAutoHighlight

wxCheckBox* PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeAutoHighlight
protectedinherited

◆ m_checkCrossProbeCenter

wxCheckBox* PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeCenter
protectedinherited

◆ m_checkCrossProbeZoom

wxCheckBox* PANEL_DISPLAY_OPTIONS_BASE::m_checkCrossProbeZoom
protectedinherited

◆ m_frame

PCB_BASE_FRAME* PANEL_DISPLAY_OPTIONS::m_frame
private

◆ m_galOptionsSizer

wxBoxSizer* PANEL_DISPLAY_OPTIONS_BASE::m_galOptionsSizer
protectedinherited

◆ m_galOptsPanel

GAL_OPTIONS_PANEL* PANEL_DISPLAY_OPTIONS::m_galOptsPanel
private

◆ m_OptDisplayPadClearence

wxCheckBox* PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadClearence
protectedinherited

◆ m_OptDisplayPadNoConn

wxCheckBox* PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadNoConn
protectedinherited

◆ m_OptDisplayPadNumber

wxCheckBox* PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayPadNumber
protectedinherited

◆ m_OptDisplayTracksClearance

wxRadioBox* PANEL_DISPLAY_OPTIONS_BASE::m_OptDisplayTracksClearance
protectedinherited

◆ m_optionsBook

wxSimplebook* PANEL_DISPLAY_OPTIONS_BASE::m_optionsBook
protectedinherited

◆ m_ShowNetNamesOption

wxRadioBox* PANEL_DISPLAY_OPTIONS_BASE::m_ShowNetNamesOption
protectedinherited

The documentation for this class was generated from the following files: