KiCad PCB EDA Suite
PANEL_SETUP_FEATURE_CONSTRAINTS Class Reference

#include <panel_setup_feature_constraints.h>

Inheritance diagram for PANEL_SETUP_FEATURE_CONSTRAINTS:
PANEL_SETUP_FEATURE_CONSTRAINTS_BASE

Public Member Functions

 PANEL_SETUP_FEATURE_CONSTRAINTS (PAGED_DIALOG *aParent, PCB_EDIT_FRAME *aFrame)
 
 ~PANEL_SETUP_FEATURE_CONSTRAINTS () override
 
bool TransferDataToWindow () override
 
bool TransferDataFromWindow () override
 
void ImportSettingsFrom (BOARD *aBoard)
 

Public Attributes

UNIT_BINDER m_trackMinWidth
 
UNIT_BINDER m_viaMinSize
 
UNIT_BINDER m_viaMinDrill
 
UNIT_BINDER m_uviaMinSize
 
UNIT_BINDER m_uviaMinDrill
 
UNIT_BINDER m_holeToHoleMin
 
UNIT_BINDER m_edgeClearance
 

Protected Attributes

wxCheckBox * m_OptAllowBlindBuriedVias
 
wxCheckBox * m_OptAllowMicroVias
 
wxCheckBox * m_OptRequireCourtyards
 
wxCheckBox * m_OptOverlappingCourtyards
 
wxStaticText * m_TrackMinWidthTitle
 
wxTextCtrl * m_TrackMinWidthCtrl
 
wxStaticText * m_TrackMinWidthUnits
 
wxStaticText * m_ViaMinTitle
 
wxTextCtrl * m_SetViasMinSizeCtrl
 
wxStaticText * m_ViaMinUnits
 
wxStaticText * m_ViaMinDrillTitle
 
wxTextCtrl * m_SetViasMinDrillCtrl
 
wxStaticText * m_ViaMinDrillUnits
 
wxStaticText * m_uviaMinSizeLabel
 
wxTextCtrl * m_uviaMinSizeCtrl
 
wxStaticText * m_uviaMinSizeUnits
 
wxStaticText * m_uviaMinDrillLabel
 
wxTextCtrl * m_uviaMinDrillCtrl
 
wxStaticText * m_uviaMinDrillUnits
 
wxStaticText * m_HoleToHoleTitle
 
wxTextCtrl * m_SetHoleToHoleCtrl
 
wxStaticText * m_HoleToHoleUnits
 
wxStaticText * m_EdgeClearanceLabel
 
wxTextCtrl * m_EdgeClearanceCtrl
 
wxStaticText * m_EdgeClearanceUnits
 

Private Attributes

PCB_EDIT_FRAMEm_Frame
 
BOARD_DESIGN_SETTINGSm_BrdSettings
 

Detailed Description

Definition at line 37 of file panel_setup_feature_constraints.h.

Constructor & Destructor Documentation

◆ PANEL_SETUP_FEATURE_CONSTRAINTS()

PANEL_SETUP_FEATURE_CONSTRAINTS::PANEL_SETUP_FEATURE_CONSTRAINTS ( PAGED_DIALOG aParent,
PCB_EDIT_FRAME aFrame 
)

Definition at line 32 of file panel_setup_feature_constraints.cpp.

33  :
42 {
43  m_Frame = aFrame;
45 }
PANEL_SETUP_FEATURE_CONSTRAINTS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL)
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Function GetDesignSettings.
Definition: class_board.h:534
wxTreebook * GetTreebook()
Definition: paged_dialog.h:43
BOARD * GetBoard() const

References PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), m_BrdSettings, and m_Frame.

◆ ~PANEL_SETUP_FEATURE_CONSTRAINTS()

PANEL_SETUP_FEATURE_CONSTRAINTS::~PANEL_SETUP_FEATURE_CONSTRAINTS ( )
inlineoverride

Definition at line 54 of file panel_setup_feature_constraints.h.

54 { };

Member Function Documentation

◆ ImportSettingsFrom()

void PANEL_SETUP_FEATURE_CONSTRAINTS::ImportSettingsFrom ( BOARD aBoard)

Definition at line 98 of file panel_setup_feature_constraints.cpp.

99 {
100  BOARD_DESIGN_SETTINGS* savedSettings = m_BrdSettings;
101 
102  m_BrdSettings = &aBoard->GetDesignSettings();
104 
105  m_BrdSettings = savedSettings;
106 }
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Function GetDesignSettings.
Definition: class_board.h:534
Class BOARD_DESIGN_SETTINGS contains design settings for a BOARD object.

References BOARD::GetDesignSettings(), m_BrdSettings, and TransferDataToWindow().

Referenced by DIALOG_BOARD_SETUP::OnAuxiliaryAction().

◆ TransferDataFromWindow()

bool PANEL_SETUP_FEATURE_CONSTRAINTS::TransferDataFromWindow ( )
override

Definition at line 71 of file panel_setup_feature_constraints.cpp.

72 {
73  // Update tracks minimum values for DRC
75 
76  // Update vias minimum values for DRC
79 
82 
83  // Update microvias minimum values for DRC
86 
88 
90 
93 
94  return true;
95 }
void SetCopperEdgeClearance(int aDistance)
Function SetCopperEdgeClearance.
virtual int GetValue()
Function GetValue Returns the current value in Internal Units.
void SetMinHoleSeparation(int aDistance)
Function SetMinHoleSeparation.
int m_TrackMinWidth
track min value for width ((min copper size value
int m_ViasMinSize
vias (not micro vias) min diameter
int m_ViasMinDrill
vias (not micro vias) min drill diameter
bool m_BlindBuriedViaAllowed
true to allow blind/buried vias
int m_MicroViasMinSize
micro vias (not vias) min diameter
void SetProhibitOverlappingCourtyards(bool aProhibit)
Function SetProhibitOverlappingCourtyards.
bool m_MicroViasAllowed
true to allow micro vias
void SetRequireCourtyardDefinitions(bool aRequire)
Function SetRequireCourtyardDefinitions.
int m_MicroViasMinDrill
micro vias (not vias) min drill diameter

References UNIT_BINDER::GetValue(), BOARD_DESIGN_SETTINGS::m_BlindBuriedViaAllowed, m_BrdSettings, m_edgeClearance, m_holeToHoleMin, BOARD_DESIGN_SETTINGS::m_MicroViasAllowed, BOARD_DESIGN_SETTINGS::m_MicroViasMinDrill, BOARD_DESIGN_SETTINGS::m_MicroViasMinSize, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowBlindBuriedVias, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowMicroVias, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptOverlappingCourtyards, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptRequireCourtyards, m_trackMinWidth, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, m_uviaMinDrill, m_uviaMinSize, m_viaMinDrill, m_viaMinSize, BOARD_DESIGN_SETTINGS::m_ViasMinDrill, BOARD_DESIGN_SETTINGS::m_ViasMinSize, BOARD_DESIGN_SETTINGS::SetCopperEdgeClearance(), BOARD_DESIGN_SETTINGS::SetMinHoleSeparation(), BOARD_DESIGN_SETTINGS::SetProhibitOverlappingCourtyards(), and BOARD_DESIGN_SETTINGS::SetRequireCourtyardDefinitions().

◆ TransferDataToWindow()

bool PANEL_SETUP_FEATURE_CONSTRAINTS::TransferDataToWindow ( )
override

Definition at line 48 of file panel_setup_feature_constraints.cpp.

49 {
53 
56 
59 
61 
63 
66 
67  return true;
68 }
bool m_ProhibitOverlappingCourtyards
check for overlapping courtyards in DRC
int m_HoleToHoleMin
Min width of peninsula between two drilled holes.
int m_TrackMinWidth
track min value for width ((min copper size value
int m_ViasMinSize
vias (not micro vias) min diameter
int m_ViasMinDrill
vias (not micro vias) min drill diameter
bool m_BlindBuriedViaAllowed
true to allow blind/buried vias
int m_MicroViasMinSize
micro vias (not vias) min diameter
bool m_RequireCourtyards
require courtyard definitions in footprints
virtual void SetValue(int aValue)
Function SetValue Sets new value (in Internal Units) for the text field, taking care of units convers...
bool m_MicroViasAllowed
true to allow micro vias
int m_MicroViasMinDrill
micro vias (not vias) min drill diameter

References BOARD_DESIGN_SETTINGS::m_BlindBuriedViaAllowed, m_BrdSettings, BOARD_DESIGN_SETTINGS::m_CopperEdgeClearance, m_edgeClearance, m_holeToHoleMin, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, BOARD_DESIGN_SETTINGS::m_MicroViasAllowed, BOARD_DESIGN_SETTINGS::m_MicroViasMinDrill, BOARD_DESIGN_SETTINGS::m_MicroViasMinSize, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowBlindBuriedVias, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowMicroVias, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptOverlappingCourtyards, PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptRequireCourtyards, BOARD_DESIGN_SETTINGS::m_ProhibitOverlappingCourtyards, BOARD_DESIGN_SETTINGS::m_RequireCourtyards, m_trackMinWidth, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, m_uviaMinDrill, m_uviaMinSize, m_viaMinDrill, m_viaMinSize, BOARD_DESIGN_SETTINGS::m_ViasMinDrill, BOARD_DESIGN_SETTINGS::m_ViasMinSize, and UNIT_BINDER::SetValue().

Referenced by ImportSettingsFrom().

Member Data Documentation

◆ m_BrdSettings

BOARD_DESIGN_SETTINGS* PANEL_SETUP_FEATURE_CONSTRAINTS::m_BrdSettings
private

◆ m_edgeClearance

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_edgeClearance

◆ m_EdgeClearanceCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_EdgeClearanceCtrl
protectedinherited

◆ m_EdgeClearanceLabel

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_EdgeClearanceLabel
protectedinherited

◆ m_EdgeClearanceUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_EdgeClearanceUnits
protectedinherited

◆ m_Frame

PCB_EDIT_FRAME* PANEL_SETUP_FEATURE_CONSTRAINTS::m_Frame
private

Definition at line 40 of file panel_setup_feature_constraints.h.

Referenced by PANEL_SETUP_FEATURE_CONSTRAINTS().

◆ m_holeToHoleMin

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_holeToHoleMin

◆ m_HoleToHoleTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_HoleToHoleTitle
protectedinherited

◆ m_HoleToHoleUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_HoleToHoleUnits
protectedinherited

◆ m_OptAllowBlindBuriedVias

wxCheckBox* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowBlindBuriedVias
protectedinherited

◆ m_OptAllowMicroVias

wxCheckBox* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptAllowMicroVias
protectedinherited

◆ m_OptOverlappingCourtyards

wxCheckBox* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptOverlappingCourtyards
protectedinherited

◆ m_OptRequireCourtyards

wxCheckBox* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_OptRequireCourtyards
protectedinherited

◆ m_SetHoleToHoleCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_SetHoleToHoleCtrl
protectedinherited

◆ m_SetViasMinDrillCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_SetViasMinDrillCtrl
protectedinherited

◆ m_SetViasMinSizeCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_SetViasMinSizeCtrl
protectedinherited

◆ m_trackMinWidth

◆ m_TrackMinWidthCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_TrackMinWidthCtrl
protectedinherited

◆ m_TrackMinWidthTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_TrackMinWidthTitle
protectedinherited

◆ m_TrackMinWidthUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_TrackMinWidthUnits
protectedinherited

◆ m_uviaMinDrill

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_uviaMinDrill

◆ m_uviaMinDrillCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinDrillCtrl
protectedinherited

◆ m_uviaMinDrillLabel

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinDrillLabel
protectedinherited

◆ m_uviaMinDrillUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinDrillUnits
protectedinherited

◆ m_uviaMinSize

UNIT_BINDER PANEL_SETUP_FEATURE_CONSTRAINTS::m_uviaMinSize

◆ m_uviaMinSizeCtrl

wxTextCtrl* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinSizeCtrl
protectedinherited

◆ m_uviaMinSizeLabel

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinSizeLabel
protectedinherited

◆ m_uviaMinSizeUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_uviaMinSizeUnits
protectedinherited

◆ m_viaMinDrill

◆ m_ViaMinDrillTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_ViaMinDrillTitle
protectedinherited

◆ m_ViaMinDrillUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_ViaMinDrillUnits
protectedinherited

◆ m_viaMinSize

◆ m_ViaMinTitle

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_ViaMinTitle
protectedinherited

◆ m_ViaMinUnits

wxStaticText* PANEL_SETUP_FEATURE_CONSTRAINTS_BASE::m_ViaMinUnits
protectedinherited

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