KiCad PCB EDA Suite
DIALOG_PAD_PROPERTIES_BASE Class Reference

Class DIALOG_PAD_PROPERTIES_BASE. More...

#include <dialog_pad_properties_base.h>

Inheritance diagram for DIALOG_PAD_PROPERTIES_BASE:
DIALOG_SHIM KIWAY_HOLDER DIALOG_PAD_PROPERTIES

Public Types

enum  HOLDER_TYPE { DIALOG, FRAME, PANEL }
 

Public Member Functions

 DIALOG_PAD_PROPERTIES_BASE (wxWindow *parent, wxWindowID id=wxID_DIALOG_EDIT_PAD, const wxString &title=_("Pad Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
 
 ~DIALOG_PAD_PROPERTIES_BASE ()
 
void SetInitialFocus (wxWindow *aWindow)
 Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown. More...
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal () const
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
void OnModify ()
 
void SetPosition (const wxPoint &aNewPosition)
 Force the position of the dialog to a new position. More...
 
EDA_UNITS GetUserUnits () const
 
HOLDER_TYPE GetType () const
 
KIWAYKiway () const
 Return a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Return a reference to the PROJECT associated with this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 It is only used for debugging, since "this" is not a wxWindow*. More...
 

Static Public Member Functions

static bool IsCtrl (int aChar, const wxKeyEvent &e)
 
static bool IsShiftCtrl (int aChar, const wxKeyEvent &e)
 

Protected Types

enum  { wxID_DIALOG_EDIT_PAD = 1000, wxID_PADNUMCTRL }
 

Protected Member Functions

virtual void OnInitDialog (wxInitDialogEvent &event)
 
virtual void OnUpdateUI (wxUpdateUIEvent &event)
 
virtual void PadTypeSelected (wxCommandEvent &event)
 
virtual void OnValuesChanged (wxCommandEvent &event)
 
virtual void OnPadShapeSelection (wxCommandEvent &event)
 
virtual void OnSetLayers (wxCommandEvent &event)
 
virtual void onCornerSizePercentChange (wxCommandEvent &event)
 
virtual void onCornerRadiusChange (wxCommandEvent &event)
 
virtual void PadOrientEvent (wxCommandEvent &event)
 
virtual void OnDrillShapeSelected (wxCommandEvent &event)
 
virtual void OnOffsetCheckbox (wxCommandEvent &event)
 
virtual void OnPadToDieCheckbox (wxCommandEvent &event)
 
virtual void OnSetCopperLayers (wxCommandEvent &event)
 
virtual void OnUpdateUINonCopperWarning (wxUpdateUIEvent &event)
 
virtual void onPrimitiveDClick (wxMouseEvent &event)
 
virtual void OnPrimitiveSelection (wxListEvent &event)
 
virtual void onAddPrimitive (wxCommandEvent &event)
 
virtual void onEditPrimitive (wxCommandEvent &event)
 
virtual void onDuplicatePrimitive (wxCommandEvent &event)
 
virtual void onGeometryTransform (wxCommandEvent &event)
 
virtual void onDeletePrimitive (wxCommandEvent &event)
 
virtual void onChangePadMode (wxCommandEvent &event)
 
virtual void OnCancel (wxCommandEvent &event)
 
void finishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void setSizeInDU (int x, int y)
 Set the dialog to the given dimensions in "dialog units". More...
 
int horizPixelsFromDU (int x) const
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int vertPixelsFromDU (int y) const
 Convert an integer number of dialog units to pixels, vertically. More...
 
void resetSize ()
 Clear the existing dialog size and position. More...
 
virtual void OnCharHook (wxKeyEvent &aEvt)
 

Protected Attributes

wxBoxSizer * m_MainSizer
 
wxNotebook * m_notebook
 
wxPanel * m_panelGeneral
 
wxBoxSizer * m_LeftBoxSizer
 
wxStaticText * m_padTypeLabel
 
wxChoice * m_padType
 
wxStaticText * m_padNumLabel
 
wxTextCtrl * m_padNumCtrl
 
wxStaticText * m_padNetLabel
 
NET_SELECTORm_padNetSelector
 
wxStaticText * m_posXLabel
 
wxTextCtrl * m_posXCtrl
 
wxStaticText * m_posXUnits
 
wxStaticText * m_posYLabel
 
wxTextCtrl * m_posYCtrl
 
wxStaticText * m_posYUnits
 
wxCheckBox * m_locked
 
wxStaticLine * m_staticline5
 
wxStaticText * m_shapeLabel
 
wxChoice * m_PadShapeSelector
 
wxSimplebook * m_shapePropsBook
 
wxPanel * m_emptyProps
 
wxPanel * m_trapProps
 
wxFlexGridSizer * fgSizerTrapProps
 
wxStaticText * m_trapDeltaLabel
 
wxTextCtrl * m_trapDeltaCtrl
 
wxStaticText * m_trapDeltaUnits
 
wxStaticText * m_trapAxisLabel
 
wxChoice * m_trapAxisCtrl
 
wxPanel * m_roudingProps
 
wxFlexGridSizer * fgSizerRoundingProps
 
wxStaticText * m_cornerRatioLabel
 
TEXT_CTRL_EVALm_cornerRatioCtrl
 
wxStaticText * m_cornerRatioUnits
 
wxStaticText * m_cornerRadiusLabel
 
wxTextCtrl * m_cornerRadiusCtrl
 
wxStaticText * m_cornerRadiusUnits
 
wxPanel * m_chamferProps
 
wxStaticText * m_chamferRatioLabel
 
TEXT_CTRL_EVALm_chamferRatioCtrl
 
wxStaticText * m_chamferRatioUnits
 
wxStaticText * m_staticTextChamferCorner
 
wxCheckBox * m_cbTopLeft
 
wxCheckBox * m_cbTopRight
 
wxCheckBox * m_cbBottomLeft
 
wxCheckBox * m_cbBottomRight
 
wxPanel * m_mixedProps
 
wxStaticText * m_mixedChamferRatioLabel
 
TEXT_CTRL_EVALm_mixedChamferRatioCtrl
 
wxStaticText * m_mixedChamferRatioUnits
 
wxStaticText * m_staticTextChamferCorner1
 
wxCheckBox * m_cbTopLeft1
 
wxCheckBox * m_cbTopRight1
 
wxCheckBox * m_cbBottomLeft1
 
wxCheckBox * m_cbBottomRight1
 
wxStaticText * m_mixedCornerRatioLabel
 
TEXT_CTRL_EVALm_mixedCornerRatioCtrl
 
wxStaticText * m_mixedCornerRatioUnits
 
wxStaticText * m_sizeXLabel
 
wxTextCtrl * m_sizeXCtrl
 
wxStaticText * m_sizeXUnits
 
wxStaticText * m_sizeYLabel
 
wxTextCtrl * m_sizeYCtrl
 
wxStaticText * m_sizeYUnits
 
wxStaticText * m_PadOrientText
 
wxComboBox * m_cb_padrotation
 
wxStaticText * m_orientationUnits
 
wxStaticLine * m_staticline6
 
wxStaticText * m_holeShapeLabel
 
wxChoice * m_holeShapeCtrl
 
wxStaticText * m_holeXLabel
 
wxTextCtrl * m_holeXCtrl
 
wxStaticText * m_holeXUnits
 
wxStaticText * m_holeYLabel
 
wxTextCtrl * m_holeYCtrl
 
wxStaticText * m_holeYUnits
 
wxStaticLine * m_staticline7
 
wxCheckBox * m_offsetShapeOpt
 
wxStaticText * m_offsetShapeOptLabel
 
wxFlexGridSizer * m_offsetCtrls
 
wxStaticText * m_offsetXLabel
 
wxTextCtrl * m_offsetXCtrl
 
wxStaticText * m_offsetXUnits
 
wxStaticText * m_offsetYLabel
 
wxTextCtrl * m_offsetYCtrl
 
wxStaticText * m_offsetYUnits
 
wxCheckBox * m_padToDieOpt
 
wxStaticText * m_padToDieLabel
 
wxTextCtrl * m_padToDieCtrl
 
wxStaticText * m_padToDieUnits
 
wxBoxSizer * m_middleBoxSizer
 
wxBoxSizer * m_FlippedWarningSizer
 
wxStaticBitmap * m_FlippedWarningIcon
 
wxStaticText * m_staticText86
 
wxStaticText * m_copperLayersLabel
 
wxChoice * m_rbCopperLayersSel
 
wxStaticText * m_techLayersLabel
 
wxCheckBox * m_PadLayerAdhCmp
 
wxCheckBox * m_PadLayerAdhCu
 
wxCheckBox * m_PadLayerPateCmp
 
wxCheckBox * m_PadLayerPateCu
 
wxCheckBox * m_PadLayerSilkCmp
 
wxCheckBox * m_PadLayerSilkCu
 
wxCheckBox * m_PadLayerMaskCmp
 
wxCheckBox * m_PadLayerMaskCu
 
wxCheckBox * m_PadLayerDraft
 
wxCheckBox * m_PadLayerECO1
 
wxCheckBox * m_PadLayerECO2
 
wxStaticText * m_staticTextFabProperty
 
wxChoice * m_choiceFabProperty
 
wxPanel * m_localSettingsPanel
 
wxStaticText * m_staticTextInfoPosValue
 
wxStaticText * m_staticTextInfoNegVal
 
wxStaticText * m_clearanceLabel
 
wxTextCtrl * m_clearanceCtrl
 
wxStaticText * m_clearanceUnits
 
wxStaticText * m_maskMarginLabel
 
wxTextCtrl * m_maskMarginCtrl
 
wxStaticText * m_maskMarginUnits
 
wxStaticText * m_pasteMarginLabel
 
wxTextCtrl * m_pasteMarginCtrl
 
wxStaticText * m_pasteMarginUnits
 
wxStaticText * m_pasteMarginRatioLabel
 
TEXT_CTRL_EVALm_pasteMarginRatioCtrl
 
wxStaticText * m_pasteMarginRatioUnits
 
wxSimplebook * m_nonCopperWarningBook
 
wxStaticText * m_nonCopperNote
 
wxStaticText * m_staticTextInfoPaste
 
wxStaticBitmap * m_nonCopperWarningIcon
 
wxStaticText * m_nonCopperWarningText
 
wxStaticBoxSizer * m_sbSizerZonesSettings
 
wxStaticText * m_staticText40
 
wxChoice * m_ZoneConnectionChoice
 
wxStaticText * m_spokeWidthLabel
 
wxTextCtrl * m_spokeWidthCtrl
 
wxStaticText * m_spokeWidthUnits
 
wxStaticText * m_thermalGapLabel
 
wxTextCtrl * m_thermalGapCtrl
 
wxStaticText * m_thermalGapUnits
 
wxStaticText * m_staticTextcps
 
wxChoice * m_ZoneCustomPadShape
 
wxPanel * m_panelCustomShapePrimitives
 
wxBoxSizer * m_bSizerPanelPrimitives
 
wxStaticText * m_staticTextPrimitivesList
 
wxStaticText * m_staticTextPrimitiveListWarning
 
wxListView * m_listCtrlPrimitives
 
wxButton * m_buttonAddShape
 
wxButton * m_buttonEditShape
 
wxButton * m_buttonDup
 
wxButton * m_buttonGeometry
 
wxButton * m_buttonDel
 
wxSimplebook * m_stackupImagesBook
 
wxPanel * page0
 
wxStaticBitmap * m_stackupImage0
 
wxPanel * page1
 
wxStaticBitmap * m_stackupImage1
 
wxPanel * page2
 
wxStaticBitmap * m_stackupImage2
 
wxPanel * page3
 
wxPanel * page4
 
wxStaticBitmap * m_stackupImage4
 
wxPanel * page5
 
wxStaticBitmap * m_stackupImage5
 
wxPanel * page6
 
wxStaticBitmap * m_stackupImage6
 
wxPanel * page7
 
wxStaticBitmap * m_stackupImage7
 
wxPanel * m_boardViewPanel
 
wxBoxSizer * m_padPreviewSizer
 
wxStaticText * m_parentInfo
 
wxCheckBox * m_cbShowPadOutline
 
wxStdDialogButtonSizer * m_sdbSizer
 
wxButton * m_sdbSizerOK
 
wxButton * m_sdbSizerCancel
 
EDA_UNITS m_units
 
std::string m_hash_key
 
bool m_useCalculatedSize
 
bool m_firstPaintEvent
 
wxWindow * m_initialFocusTarget
 
WX_EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 
EDA_BASE_FRAMEm_parentFrame
 
std::vector< wxWindow * > m_tabOrder
 
wxSize m_initialSize
 

Detailed Description

Class DIALOG_PAD_PROPERTIES_BASE.

Definition at line 51 of file dialog_pad_properties_base.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 39 of file kiway_holder.h.

Constructor & Destructor Documentation

◆ DIALOG_PAD_PROPERTIES_BASE()

DIALOG_PAD_PROPERTIES_BASE::DIALOG_PAD_PROPERTIES_BASE ( wxWindow *  parent,
wxWindowID  id = wxID_DIALOG_EDIT_PAD,
const wxString &  title = _("Pad Properties"),
const wxPoint &  pos = wxDefaultPosition,
const wxSize &  size = wxSize( -1,-1 ),
long  style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER 
)

Definition at line 15 of file dialog_pad_properties_base.cpp.

15  : DIALOG_SHIM( parent, id, title, pos, size, style )
16 {
17  this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
18 
19  m_MainSizer = new wxBoxSizer( wxVERTICAL );
20 
21  wxBoxSizer* bSizerUpper;
22  bSizerUpper = new wxBoxSizer( wxHORIZONTAL );
23 
24  m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
25  m_panelGeneral = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
26  wxBoxSizer* bGeneralSizer;
27  bGeneralSizer = new wxBoxSizer( wxHORIZONTAL );
28 
29  m_LeftBoxSizer = new wxBoxSizer( wxVERTICAL );
30 
31  wxGridBagSizer* gbSizerCommon;
32  gbSizerCommon = new wxGridBagSizer( 4, 0 );
33  gbSizerCommon->SetFlexibleDirection( wxBOTH );
34  gbSizerCommon->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
35 
36  m_padTypeLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad type:"), wxDefaultPosition, wxDefaultSize, 0 );
37  m_padTypeLabel->Wrap( -1 );
38  gbSizerCommon->Add( m_padTypeLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
39 
40  wxString m_padTypeChoices[] = { _("Through-hole"), _("SMD"), _("Edge Connector"), _("NPTH, Mechanical"), _("SMD Aperture") };
41  int m_padTypeNChoices = sizeof( m_padTypeChoices ) / sizeof( wxString );
42  m_padType = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_padTypeNChoices, m_padTypeChoices, 0 );
43  m_padType->SetSelection( 0 );
44  gbSizerCommon->Add( m_padType, wxGBPosition( 0, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
45 
46  m_padNumLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad number:"), wxDefaultPosition, wxDefaultSize, 0 );
47  m_padNumLabel->Wrap( -1 );
48  gbSizerCommon->Add( m_padNumLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
49 
50  m_padNumCtrl = new wxTextCtrl( m_panelGeneral, wxID_PADNUMCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
51  gbSizerCommon->Add( m_padNumCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
52 
53  m_padNetLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Net name:"), wxDefaultPosition, wxDefaultSize, 0 );
54  m_padNetLabel->Wrap( -1 );
55  gbSizerCommon->Add( m_padNetLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
56 
57  m_padNetSelector = new NET_SELECTOR( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
58  gbSizerCommon->Add( m_padNetSelector, wxGBPosition( 2, 1 ), wxGBSpan( 1, 5 ), wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
59 
60  m_posXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Position X:"), wxDefaultPosition, wxDefaultSize, 0 );
61  m_posXLabel->Wrap( -1 );
62  gbSizerCommon->Add( m_posXLabel, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
63 
64  m_posXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
65  gbSizerCommon->Add( m_posXCtrl, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
66 
67  m_posXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
68  m_posXUnits->Wrap( -1 );
69  gbSizerCommon->Add( m_posXUnits, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
70 
71  m_posYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
72  m_posYLabel->Wrap( -1 );
73  gbSizerCommon->Add( m_posYLabel, wxGBPosition( 3, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
74 
75  m_posYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
76  gbSizerCommon->Add( m_posYCtrl, wxGBPosition( 3, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
77 
78  m_posYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
79  m_posYUnits->Wrap( -1 );
80  gbSizerCommon->Add( m_posYUnits, wxGBPosition( 3, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
81 
82  m_locked = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Locked"), wxDefaultPosition, wxDefaultSize, 0 );
83  m_locked->SetToolTip( _("Do not allow position of pad relative to parent footprint to be changed") );
84 
85  gbSizerCommon->Add( m_locked, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxBOTTOM|wxRIGHT|wxLEFT, 5 );
86 
87 
88  gbSizerCommon->AddGrowableCol( 1 );
89  gbSizerCommon->AddGrowableCol( 4 );
90 
91  m_LeftBoxSizer->Add( gbSizerCommon, 0, wxEXPAND|wxBOTTOM, 5 );
92 
93 
94  m_LeftBoxSizer->Add( 0, 5, 0, wxEXPAND, 5 );
95 
96  m_staticline5 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
97  m_LeftBoxSizer->Add( m_staticline5, 0, wxEXPAND, 5 );
98 
99 
100  m_LeftBoxSizer->Add( 0, 0, 0, wxEXPAND|wxBOTTOM, 5 );
101 
102  wxBoxSizer* bSizerShape;
103  bSizerShape = new wxBoxSizer( wxHORIZONTAL );
104 
105  m_shapeLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad shape:"), wxDefaultPosition, wxDefaultSize, 0 );
106  m_shapeLabel->Wrap( -1 );
107  bSizerShape->Add( m_shapeLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
108 
109  wxString m_PadShapeSelectorChoices[] = { _("Circular"), _("Oval"), _("Rectangular"), _("Trapezoidal"), _("Rounded rectangle"), _("Chamfered rectangle"), _("Chamfered with other corners rounded"), _("Custom (circular base)"), _("Custom (rectangular base)") };
110  int m_PadShapeSelectorNChoices = sizeof( m_PadShapeSelectorChoices ) / sizeof( wxString );
111  m_PadShapeSelector = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_PadShapeSelectorNChoices, m_PadShapeSelectorChoices, 0 );
112  m_PadShapeSelector->SetSelection( 2 );
113  bSizerShape->Add( m_PadShapeSelector, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
114 
115 
116  m_LeftBoxSizer->Add( bSizerShape, 0, wxEXPAND|wxTOP, 5 );
117 
118  m_shapePropsBook = new wxSimplebook( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
119  m_emptyProps = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
120  m_shapePropsBook->AddPage( m_emptyProps, _("a page"), false );
121  m_trapProps = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
122  fgSizerTrapProps = new wxFlexGridSizer( 0, 3, 4, 0 );
123  fgSizerTrapProps->AddGrowableCol( 1 );
124  fgSizerTrapProps->SetFlexibleDirection( wxBOTH );
125  fgSizerTrapProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
126 
127  m_trapDeltaLabel = new wxStaticText( m_trapProps, wxID_ANY, _("Trapezoid delta:"), wxDefaultPosition, wxDefaultSize, 0 );
128  m_trapDeltaLabel->Wrap( -1 );
129  fgSizerTrapProps->Add( m_trapDeltaLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
130 
131  m_trapDeltaCtrl = new wxTextCtrl( m_trapProps, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
132  fgSizerTrapProps->Add( m_trapDeltaCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
133 
134  m_trapDeltaUnits = new wxStaticText( m_trapProps, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
135  m_trapDeltaUnits->Wrap( -1 );
136  fgSizerTrapProps->Add( m_trapDeltaUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
137 
138  m_trapAxisLabel = new wxStaticText( m_trapProps, wxID_ANY, _("Trapezoid axis:"), wxDefaultPosition, wxDefaultSize, 0 );
139  m_trapAxisLabel->Wrap( -1 );
140  fgSizerTrapProps->Add( m_trapAxisLabel, 0, wxALIGN_CENTER_VERTICAL, 5 );
141 
142  wxString m_trapAxisCtrlChoices[] = { _("Horizontal"), _("Vertical") };
143  int m_trapAxisCtrlNChoices = sizeof( m_trapAxisCtrlChoices ) / sizeof( wxString );
144  m_trapAxisCtrl = new wxChoice( m_trapProps, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_trapAxisCtrlNChoices, m_trapAxisCtrlChoices, 0 );
145  m_trapAxisCtrl->SetSelection( 0 );
146  fgSizerTrapProps->Add( m_trapAxisCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
147 
148 
149  m_trapProps->SetSizer( fgSizerTrapProps );
150  m_trapProps->Layout();
152  m_shapePropsBook->AddPage( m_trapProps, _("a page"), false );
153  m_roudingProps = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
154  fgSizerRoundingProps = new wxFlexGridSizer( 0, 3, 4, 0 );
155  fgSizerRoundingProps->AddGrowableCol( 1 );
156  fgSizerRoundingProps->SetFlexibleDirection( wxBOTH );
157  fgSizerRoundingProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
158 
159  m_cornerRatioLabel = new wxStaticText( m_roudingProps, wxID_ANY, _("Corner size:"), wxDefaultPosition, wxDefaultSize, 0 );
160  m_cornerRatioLabel->Wrap( -1 );
161  m_cornerRatioLabel->SetToolTip( _("Corner radius in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
162 
163  fgSizerRoundingProps->Add( m_cornerRatioLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
164 
165  m_cornerRatioCtrl = new TEXT_CTRL_EVAL( m_roudingProps, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
166  fgSizerRoundingProps->Add( m_cornerRatioCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
167 
168  m_cornerRatioUnits = new wxStaticText( m_roudingProps, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
169  m_cornerRatioUnits->Wrap( -1 );
170  fgSizerRoundingProps->Add( m_cornerRatioUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
171 
172  m_cornerRadiusLabel = new wxStaticText( m_roudingProps, wxID_ANY, _("Corner radius:"), wxDefaultPosition, wxDefaultSize, 0 );
173  m_cornerRadiusLabel->Wrap( -1 );
174  m_cornerRadiusLabel->SetToolTip( _("Corner radius.\nCan be no more than half pad width.\nThe width is the smaller value between size X and size Y.\nNote: IPC norm gives a max value = 0.25mm.") );
175 
176  fgSizerRoundingProps->Add( m_cornerRadiusLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
177 
178  m_cornerRadiusCtrl = new wxTextCtrl( m_roudingProps, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
179  fgSizerRoundingProps->Add( m_cornerRadiusCtrl, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
180 
181  m_cornerRadiusUnits = new wxStaticText( m_roudingProps, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
182  m_cornerRadiusUnits->Wrap( -1 );
183  fgSizerRoundingProps->Add( m_cornerRadiusUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
184 
185 
187  m_roudingProps->Layout();
189  m_shapePropsBook->AddPage( m_roudingProps, _("a page"), false );
190  m_chamferProps = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
191  wxFlexGridSizer* fgSizerChamferProps;
192  fgSizerChamferProps = new wxFlexGridSizer( 0, 3, 4, 0 );
193  fgSizerChamferProps->AddGrowableCol( 1 );
194  fgSizerChamferProps->SetFlexibleDirection( wxBOTH );
195  fgSizerChamferProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
196 
197  m_chamferRatioLabel = new wxStaticText( m_chamferProps, wxID_ANY, _("Chamfer size:"), wxDefaultPosition, wxDefaultSize, 0 );
198  m_chamferRatioLabel->Wrap( -1 );
199  m_chamferRatioLabel->SetToolTip( _("Chamfer size in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
200 
201  fgSizerChamferProps->Add( m_chamferRatioLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
202 
203  m_chamferRatioCtrl = new TEXT_CTRL_EVAL( m_chamferProps, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
204  fgSizerChamferProps->Add( m_chamferRatioCtrl, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
205 
206  m_chamferRatioUnits = new wxStaticText( m_chamferProps, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
207  m_chamferRatioUnits->Wrap( -1 );
208  fgSizerChamferProps->Add( m_chamferRatioUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
209 
210  m_staticTextChamferCorner = new wxStaticText( m_chamferProps, wxID_ANY, _("Chamfer corners:"), wxDefaultPosition, wxDefaultSize, 0 );
211  m_staticTextChamferCorner->Wrap( -1 );
212  m_staticTextChamferCorner->SetToolTip( _("Chamfered corners. The position is relative to a pad orientation 0 degree.") );
213 
214  fgSizerChamferProps->Add( m_staticTextChamferCorner, 0, 0, 5 );
215 
216  wxGridSizer* gCornersSizer;
217  gCornersSizer = new wxGridSizer( 0, 2, 2, 6 );
218 
219  m_cbTopLeft = new wxCheckBox( m_chamferProps, wxID_ANY, _("Top left"), wxDefaultPosition, wxDefaultSize, 0 );
220  m_cbTopLeft->SetValue(true);
221  gCornersSizer->Add( m_cbTopLeft, 0, 0, 5 );
222 
223  m_cbTopRight = new wxCheckBox( m_chamferProps, wxID_ANY, _("Top right"), wxDefaultPosition, wxDefaultSize, 0 );
224  gCornersSizer->Add( m_cbTopRight, 0, 0, 5 );
225 
226  m_cbBottomLeft = new wxCheckBox( m_chamferProps, wxID_ANY, _("Bottom left"), wxDefaultPosition, wxDefaultSize, 0 );
227  gCornersSizer->Add( m_cbBottomLeft, 0, 0, 5 );
228 
229  m_cbBottomRight = new wxCheckBox( m_chamferProps, wxID_ANY, _("Bottom right"), wxDefaultPosition, wxDefaultSize, 0 );
230  gCornersSizer->Add( m_cbBottomRight, 0, 0, 5 );
231 
232 
233  fgSizerChamferProps->Add( gCornersSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
234 
235 
236  m_chamferProps->SetSizer( fgSizerChamferProps );
237  m_chamferProps->Layout();
238  fgSizerChamferProps->Fit( m_chamferProps );
239  m_shapePropsBook->AddPage( m_chamferProps, _("a page"), false );
240  m_mixedProps = new wxPanel( m_shapePropsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
241  wxFlexGridSizer* fgMixedProps;
242  fgMixedProps = new wxFlexGridSizer( 0, 3, 4, 0 );
243  fgMixedProps->AddGrowableCol( 1 );
244  fgMixedProps->SetFlexibleDirection( wxBOTH );
245  fgMixedProps->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
246 
247  m_mixedChamferRatioLabel = new wxStaticText( m_mixedProps, wxID_ANY, _("Chamfer size:"), wxDefaultPosition, wxDefaultSize, 0 );
248  m_mixedChamferRatioLabel->Wrap( -1 );
249  m_mixedChamferRatioLabel->SetToolTip( _("Chamfer size in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
250 
251  fgMixedProps->Add( m_mixedChamferRatioLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
252 
253  m_mixedChamferRatioCtrl = new TEXT_CTRL_EVAL( m_mixedProps, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
254  fgMixedProps->Add( m_mixedChamferRatioCtrl, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
255 
256  m_mixedChamferRatioUnits = new wxStaticText( m_mixedProps, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
257  m_mixedChamferRatioUnits->Wrap( -1 );
258  fgMixedProps->Add( m_mixedChamferRatioUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
259 
260  m_staticTextChamferCorner1 = new wxStaticText( m_mixedProps, wxID_ANY, _("Chamfer corners:"), wxDefaultPosition, wxDefaultSize, 0 );
261  m_staticTextChamferCorner1->Wrap( -1 );
262  m_staticTextChamferCorner1->SetToolTip( _("Chamfered corners. The position is relative to a pad orientation 0 degree.") );
263 
264  fgMixedProps->Add( m_staticTextChamferCorner1, 0, 0, 5 );
265 
266  wxGridSizer* gMixedCornersSizer;
267  gMixedCornersSizer = new wxGridSizer( 0, 2, 2, 6 );
268 
269  m_cbTopLeft1 = new wxCheckBox( m_mixedProps, wxID_ANY, _("Top left"), wxDefaultPosition, wxDefaultSize, 0 );
270  m_cbTopLeft1->SetValue(true);
271  gMixedCornersSizer->Add( m_cbTopLeft1, 0, 0, 5 );
272 
273  m_cbTopRight1 = new wxCheckBox( m_mixedProps, wxID_ANY, _("Top right"), wxDefaultPosition, wxDefaultSize, 0 );
274  gMixedCornersSizer->Add( m_cbTopRight1, 0, 0, 5 );
275 
276  m_cbBottomLeft1 = new wxCheckBox( m_mixedProps, wxID_ANY, _("Bottom left"), wxDefaultPosition, wxDefaultSize, 0 );
277  gMixedCornersSizer->Add( m_cbBottomLeft1, 0, 0, 5 );
278 
279  m_cbBottomRight1 = new wxCheckBox( m_mixedProps, wxID_ANY, _("Bottom right"), wxDefaultPosition, wxDefaultSize, 0 );
280  gMixedCornersSizer->Add( m_cbBottomRight1, 0, 0, 5 );
281 
282 
283  fgMixedProps->Add( gMixedCornersSizer, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
284 
285 
286  fgMixedProps->Add( 0, 0, 1, wxEXPAND, 5 );
287 
288  m_mixedCornerRatioLabel = new wxStaticText( m_mixedProps, wxID_ANY, _("Corner size:"), wxDefaultPosition, wxDefaultSize, 0 );
289  m_mixedCornerRatioLabel->Wrap( -1 );
290  m_mixedCornerRatioLabel->SetToolTip( _("Corner radius in percent of the pad width.\nThe width is the smaller value between size X and size Y.\nThe max value is 50 percent.") );
291 
292  fgMixedProps->Add( m_mixedCornerRatioLabel, 0, wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
293 
294  m_mixedCornerRatioCtrl = new TEXT_CTRL_EVAL( m_mixedProps, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
295  fgMixedProps->Add( m_mixedCornerRatioCtrl, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
296 
297  m_mixedCornerRatioUnits = new wxStaticText( m_mixedProps, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
298  m_mixedCornerRatioUnits->Wrap( -1 );
299  fgMixedProps->Add( m_mixedCornerRatioUnits, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
300 
301 
302  m_mixedProps->SetSizer( fgMixedProps );
303  m_mixedProps->Layout();
304  fgMixedProps->Fit( m_mixedProps );
305  m_shapePropsBook->AddPage( m_mixedProps, _("a page"), false );
306 
307  m_LeftBoxSizer->Add( m_shapePropsBook, 0, wxEXPAND|wxLEFT, 20 );
308 
309  wxGridBagSizer* gbSizerPadOrientation;
310  gbSizerPadOrientation = new wxGridBagSizer( 3, 0 );
311  gbSizerPadOrientation->SetFlexibleDirection( wxBOTH );
312  gbSizerPadOrientation->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
313 
314  m_sizeXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad size X:"), wxDefaultPosition, wxDefaultSize, 0 );
315  m_sizeXLabel->Wrap( -1 );
316  gbSizerPadOrientation->Add( m_sizeXLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
317 
318  m_sizeXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0 );
319  gbSizerPadOrientation->Add( m_sizeXCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
320 
321  m_sizeXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
322  m_sizeXUnits->Wrap( -1 );
323  gbSizerPadOrientation->Add( m_sizeXUnits, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
324 
325  m_sizeYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
326  m_sizeYLabel->Wrap( -1 );
327  gbSizerPadOrientation->Add( m_sizeYLabel, wxGBPosition( 0, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
328 
329  m_sizeYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
330  gbSizerPadOrientation->Add( m_sizeYCtrl, wxGBPosition( 0, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
331 
332  m_sizeYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
333  m_sizeYUnits->Wrap( -1 );
334  gbSizerPadOrientation->Add( m_sizeYUnits, wxGBPosition( 0, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
335 
336  m_PadOrientText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Angle:"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
337  m_PadOrientText->Wrap( -1 );
338  gbSizerPadOrientation->Add( m_PadOrientText, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
339 
340  m_cb_padrotation = new wxComboBox( m_panelGeneral, wxID_ANY, _("0"), wxDefaultPosition, wxSize( 100,-1 ), 0, NULL, 0 );
341  m_cb_padrotation->Append( _("0") );
342  m_cb_padrotation->Append( _("90") );
343  m_cb_padrotation->Append( _("-90") );
344  m_cb_padrotation->Append( _("180") );
345  m_cb_padrotation->SetSelection( 0 );
346  gbSizerPadOrientation->Add( m_cb_padrotation, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
347 
348  m_orientationUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("deg"), wxDefaultPosition, wxDefaultSize, 0 );
349  m_orientationUnits->Wrap( -1 );
350  gbSizerPadOrientation->Add( m_orientationUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
351 
352 
353  m_LeftBoxSizer->Add( gbSizerPadOrientation, 0, wxEXPAND|wxTOP, 5 );
354 
355 
356  m_LeftBoxSizer->Add( 0, 0, 1, wxEXPAND, 5 );
357 
358  m_staticline6 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
359  m_LeftBoxSizer->Add( m_staticline6, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 );
360 
361  wxGridBagSizer* gbSizerHole;
362  gbSizerHole = new wxGridBagSizer( 4, 0 );
363  gbSizerHole->SetFlexibleDirection( wxBOTH );
364  gbSizerHole->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
365 
366  m_holeShapeLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Hole shape:"), wxDefaultPosition, wxDefaultSize, 0 );
367  m_holeShapeLabel->Wrap( -1 );
368  gbSizerHole->Add( m_holeShapeLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
369 
370  wxString m_holeShapeCtrlChoices[] = { _("Circular"), _("Oval") };
371  int m_holeShapeCtrlNChoices = sizeof( m_holeShapeCtrlChoices ) / sizeof( wxString );
372  m_holeShapeCtrl = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_holeShapeCtrlNChoices, m_holeShapeCtrlChoices, 0 );
373  m_holeShapeCtrl->SetSelection( 1 );
374  gbSizerHole->Add( m_holeShapeCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 5 ), wxEXPAND|wxRIGHT, 5 );
375 
376  m_holeXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Hole size X:"), wxDefaultPosition, wxDefaultSize, 0 );
377  m_holeXLabel->Wrap( -1 );
378  gbSizerHole->Add( m_holeXLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
379 
380  m_holeXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
381  gbSizerHole->Add( m_holeXCtrl, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
382 
383  m_holeXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
384  m_holeXUnits->Wrap( -1 );
385  gbSizerHole->Add( m_holeXUnits, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
386 
387  m_holeYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
388  m_holeYLabel->Wrap( -1 );
389  gbSizerHole->Add( m_holeYLabel, wxGBPosition( 1, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
390 
391  m_holeYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
392  gbSizerHole->Add( m_holeYCtrl, wxGBPosition( 1, 4 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
393 
394  m_holeYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
395  m_holeYUnits->Wrap( -1 );
396  gbSizerHole->Add( m_holeYUnits, wxGBPosition( 1, 5 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
397 
398 
399  m_LeftBoxSizer->Add( gbSizerHole, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
400 
401 
402  m_LeftBoxSizer->Add( 0, 5, 0, wxEXPAND, 5 );
403 
404  m_staticline7 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
405  m_LeftBoxSizer->Add( m_staticline7, 0, wxEXPAND|wxBOTTOM, 5 );
406 
407  wxBoxSizer* bSizer35;
408  bSizer35 = new wxBoxSizer( wxHORIZONTAL );
409 
410  m_offsetShapeOpt = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Offset shape from hole"), wxDefaultPosition, wxDefaultSize, 0 );
411  bSizer35->Add( m_offsetShapeOpt, 0, wxLEFT, 5 );
412 
413  m_offsetShapeOptLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _(":"), wxDefaultPosition, wxDefaultSize, 0 );
414  m_offsetShapeOptLabel->Wrap( -1 );
415  bSizer35->Add( m_offsetShapeOptLabel, 0, wxRIGHT, 5 );
416 
417 
418  m_LeftBoxSizer->Add( bSizer35, 0, wxEXPAND|wxTOP, 5 );
419 
420  m_offsetCtrls = new wxFlexGridSizer( 0, 6, 0, 0 );
421  m_offsetCtrls->AddGrowableCol( 1 );
422  m_offsetCtrls->AddGrowableCol( 4 );
423  m_offsetCtrls->SetFlexibleDirection( wxBOTH );
424  m_offsetCtrls->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
425 
426  m_offsetXLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("X:"), wxDefaultPosition, wxDefaultSize, 0 );
427  m_offsetXLabel->Wrap( -1 );
428  m_offsetCtrls->Add( m_offsetXLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRESERVE_SPACE_EVEN_IF_HIDDEN|wxRIGHT, 5 );
429 
430  m_offsetXCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
431  m_offsetCtrls->Add( m_offsetXCtrl, 0, wxBOTTOM|wxEXPAND|wxRESERVE_SPACE_EVEN_IF_HIDDEN, 5 );
432 
433  m_offsetXUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
434  m_offsetXUnits->Wrap( -1 );
435  m_offsetCtrls->Add( m_offsetXUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRESERVE_SPACE_EVEN_IF_HIDDEN|wxRIGHT, 5 );
436 
437  m_offsetYLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 );
438  m_offsetYLabel->Wrap( -1 );
439  m_offsetCtrls->Add( m_offsetYLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
440 
441  m_offsetYCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
442  m_offsetCtrls->Add( m_offsetYCtrl, 0, wxBOTTOM|wxEXPAND|wxRESERVE_SPACE_EVEN_IF_HIDDEN, 5 );
443 
444  m_offsetYUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
445  m_offsetYUnits->Wrap( -1 );
446  m_offsetCtrls->Add( m_offsetYUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRESERVE_SPACE_EVEN_IF_HIDDEN|wxRIGHT, 5 );
447 
448 
449  m_LeftBoxSizer->Add( m_offsetCtrls, 0, wxEXPAND|wxLEFT|wxRESERVE_SPACE_EVEN_IF_HIDDEN, 25 );
450 
451  wxFlexGridSizer* fgSizerPadToDie;
452  fgSizerPadToDie = new wxFlexGridSizer( 14, 3, 0, 0 );
453  fgSizerPadToDie->AddGrowableCol( 1 );
454  fgSizerPadToDie->SetFlexibleDirection( wxBOTH );
455  fgSizerPadToDie->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
456 
457  wxBoxSizer* bSizer34;
458  bSizer34 = new wxBoxSizer( wxHORIZONTAL );
459 
460  m_padToDieOpt = new wxCheckBox( m_panelGeneral, wxID_ANY, _("Specify pad to die length"), wxDefaultPosition, wxDefaultSize, 0 );
461  bSizer34->Add( m_padToDieOpt, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
462 
463  m_padToDieLabel = new wxStaticText( m_panelGeneral, wxID_ANY, _(":"), wxDefaultPosition, wxDefaultSize, 0 );
464  m_padToDieLabel->Wrap( -1 );
465  bSizer34->Add( m_padToDieLabel, 0, wxALIGN_CENTER_VERTICAL|wxRESERVE_SPACE_EVEN_IF_HIDDEN|wxRIGHT|wxTOP, 5 );
466 
467 
468  fgSizerPadToDie->Add( bSizer34, 0, wxEXPAND|wxRIGHT, 5 );
469 
470  m_padToDieCtrl = new wxTextCtrl( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
471  fgSizerPadToDie->Add( m_padToDieCtrl, 0, wxEXPAND|wxLEFT|wxRESERVE_SPACE_EVEN_IF_HIDDEN, 5 );
472 
473  m_padToDieUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 );
474  m_padToDieUnits->Wrap( -1 );
475  fgSizerPadToDie->Add( m_padToDieUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRESERVE_SPACE_EVEN_IF_HIDDEN|wxRIGHT, 5 );
476 
477 
478  m_LeftBoxSizer->Add( fgSizerPadToDie, 0, wxEXPAND, 5 );
479 
480 
481  bGeneralSizer->Add( m_LeftBoxSizer, 0, wxEXPAND|wxALL, 5 );
482 
483  m_middleBoxSizer = new wxBoxSizer( wxVERTICAL );
484 
485  wxStaticBoxSizer* m_LayersSizer;
486  m_LayersSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGeneral, wxID_ANY, wxEmptyString ), wxVERTICAL );
487 
488  m_FlippedWarningSizer = new wxBoxSizer( wxHORIZONTAL );
489 
490  m_FlippedWarningIcon = new wxStaticBitmap( m_LayersSizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 48,48 ), 0 );
491  m_FlippedWarningIcon->SetMinSize( wxSize( 48,48 ) );
492 
493  m_FlippedWarningSizer->Add( m_FlippedWarningIcon, 0, wxALIGN_TOP|wxBOTTOM|wxTOP, 4 );
494 
495  m_staticText86 = new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Parent footprint on board is flipped.\nLayers will be reversed."), wxDefaultPosition, wxDefaultSize, 0 );
496  m_staticText86->Wrap( 150 );
497  m_FlippedWarningSizer->Add( m_staticText86, 1, wxALIGN_TOP|wxBOTTOM|wxLEFT|wxRIGHT, 8 );
498 
499 
500  m_LayersSizer->Add( m_FlippedWarningSizer, 0, wxEXPAND|wxBOTTOM, 5 );
501 
502  m_copperLayersLabel = new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Copper layers:"), wxDefaultPosition, wxDefaultSize, 0 );
503  m_copperLayersLabel->Wrap( -1 );
504  m_LayersSizer->Add( m_copperLayersLabel, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
505 
506  wxArrayString m_rbCopperLayersSelChoices;
507  m_rbCopperLayersSel = new wxChoice( m_LayersSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_rbCopperLayersSelChoices, 0 );
508  m_rbCopperLayersSel->SetSelection( 0 );
509  m_LayersSizer->Add( m_rbCopperLayersSel, 1, wxALL|wxEXPAND|wxTOP, 4 );
510 
511  m_techLayersLabel = new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Technical layers:"), wxDefaultPosition, wxDefaultSize, 0 );
512  m_techLayersLabel->Wrap( -1 );
513  m_LayersSizer->Add( m_techLayersLabel, 0, wxALL, 5 );
514 
515  m_PadLayerAdhCmp = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Front adhesive"), wxDefaultPosition, wxDefaultSize, 0 );
516  m_LayersSizer->Add( m_PadLayerAdhCmp, 0, wxLEFT|wxRIGHT, 4 );
517 
518  m_PadLayerAdhCu = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Back adhesive"), wxDefaultPosition, wxDefaultSize, 0 );
519  m_LayersSizer->Add( m_PadLayerAdhCu, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
520 
521  m_PadLayerPateCmp = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Front solder paste"), wxDefaultPosition, wxDefaultSize, 0 );
522  m_LayersSizer->Add( m_PadLayerPateCmp, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
523 
524  m_PadLayerPateCu = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Back solder paste"), wxDefaultPosition, wxDefaultSize, 0 );
525  m_LayersSizer->Add( m_PadLayerPateCu, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
526 
527  m_PadLayerSilkCmp = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Front silk screen"), wxDefaultPosition, wxDefaultSize, 0 );
528  m_LayersSizer->Add( m_PadLayerSilkCmp, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
529 
530  m_PadLayerSilkCu = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Back silk screen"), wxDefaultPosition, wxDefaultSize, 0 );
531  m_LayersSizer->Add( m_PadLayerSilkCu, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
532 
533  m_PadLayerMaskCmp = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Front solder mask"), wxDefaultPosition, wxDefaultSize, 0 );
534  m_LayersSizer->Add( m_PadLayerMaskCmp, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
535 
536  m_PadLayerMaskCu = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Back solder mask"), wxDefaultPosition, wxDefaultSize, 0 );
537  m_LayersSizer->Add( m_PadLayerMaskCu, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
538 
539  m_PadLayerDraft = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Drafting notes"), wxDefaultPosition, wxDefaultSize, 0 );
540  m_LayersSizer->Add( m_PadLayerDraft, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
541 
542  m_PadLayerECO1 = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("E.C.O.1"), wxDefaultPosition, wxDefaultSize, 0 );
543  m_LayersSizer->Add( m_PadLayerECO1, 0, wxTOP|wxRIGHT|wxLEFT, 4 );
544 
545  m_PadLayerECO2 = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("E.C.O.2"), wxDefaultPosition, wxDefaultSize, 0 );
546  m_LayersSizer->Add( m_PadLayerECO2, 0, wxALL, 4 );
547 
548 
549  m_middleBoxSizer->Add( m_LayersSizer, 0, wxLEFT|wxRIGHT|wxTOP|wxEXPAND, 5 );
550 
551  m_staticTextFabProperty = new wxStaticText( m_panelGeneral, wxID_ANY, _("Fabrication Property:"), wxDefaultPosition, wxDefaultSize, 0 );
552  m_staticTextFabProperty->Wrap( -1 );
553  m_staticTextFabProperty->SetToolTip( _("Optional property to specify a special purpose or constraint in fabrication files:\nBGA attribute is for pads in BGA footprints\nFiducial local is a fiducial for the parent footprint\nFiducial global is a fiducial for the whole board\nTest Point pad is useful to specify test points in Gerber files\nHeatsink pad specify a thermal pad\nCastellated specify castellated through hole pads on a board edge\nThese properties are specified in Gerber X2 files.") );
554 
555  m_middleBoxSizer->Add( m_staticTextFabProperty, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
556 
557 
558  m_middleBoxSizer->Add( 0, 2, 0, wxEXPAND, 5 );
559 
560  wxString m_choiceFabPropertyChoices[] = { _("None"), _("BGA pad"), _("Fiducial, local to footprint"), _("Fiducial, global to board"), _("Test point pad"), _("Heatsink pad"), _("Castellated pad (through hole only)") };
561  int m_choiceFabPropertyNChoices = sizeof( m_choiceFabPropertyChoices ) / sizeof( wxString );
562  m_choiceFabProperty = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceFabPropertyNChoices, m_choiceFabPropertyChoices, 0 );
563  m_choiceFabProperty->SetSelection( 0 );
564  m_middleBoxSizer->Add( m_choiceFabProperty, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
565 
566 
567  bGeneralSizer->Add( m_middleBoxSizer, 0, wxEXPAND|wxALL, 3 );
568 
569 
570  m_panelGeneral->SetSizer( bGeneralSizer );
571  m_panelGeneral->Layout();
572  bGeneralSizer->Fit( m_panelGeneral );
573  m_notebook->AddPage( m_panelGeneral, _("General"), true );
574  m_localSettingsPanel = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
575  wxBoxSizer* bSizerPanelClearance;
576  bSizerPanelClearance = new wxBoxSizer( wxVERTICAL );
577 
578  wxBoxSizer* bSizerClearance;
579  bSizerClearance = new wxBoxSizer( wxVERTICAL );
580 
581  wxStaticBoxSizer* sbClearancesSizer;
582  sbClearancesSizer = new wxStaticBoxSizer( new wxStaticBox( m_localSettingsPanel, wxID_ANY, _("Clearances") ), wxVERTICAL );
583 
584  wxStaticText* m_staticTextHint;
585  m_staticTextHint = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Set values to 0 to use parent footprint or netclass values."), wxDefaultPosition, wxDefaultSize, 0 );
586  m_staticTextHint->Wrap( -1 );
587  sbClearancesSizer->Add( m_staticTextHint, 0, wxLEFT|wxRIGHT, 5 );
588 
589  m_staticTextInfoPosValue = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Positive clearance means area bigger than the pad (usual for mask clearance)."), wxDefaultPosition, wxDefaultSize, 0 );
590  m_staticTextInfoPosValue->Wrap( -1 );
591  sbClearancesSizer->Add( m_staticTextInfoPosValue, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
592 
593  m_staticTextInfoNegVal = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Negative clearance means area smaller than the pad (usual for paste clearance)."), wxDefaultPosition, wxDefaultSize, 0 );
594  m_staticTextInfoNegVal->Wrap( -1 );
595  sbClearancesSizer->Add( m_staticTextInfoNegVal, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
596 
597  wxFlexGridSizer* fgClearancesGridSizer;
598  fgClearancesGridSizer = new wxFlexGridSizer( 4, 3, 0, 0 );
599  fgClearancesGridSizer->AddGrowableCol( 1 );
600  fgClearancesGridSizer->SetFlexibleDirection( wxBOTH );
601  fgClearancesGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
602 
603  m_clearanceLabel = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Pad clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
604  m_clearanceLabel->Wrap( -1 );
605  m_clearanceLabel->SetToolTip( _("This is the local net clearance for this pad.\nIf 0, the footprint local value or the Netclass value is used.") );
606 
607  fgClearancesGridSizer->Add( m_clearanceLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
608 
609  m_clearanceCtrl = new wxTextCtrl( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
610  fgClearancesGridSizer->Add( m_clearanceCtrl, 0, wxEXPAND|wxTOP|wxLEFT, 5 );
611 
612  m_clearanceUnits = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
613  m_clearanceUnits->Wrap( -1 );
614  fgClearancesGridSizer->Add( m_clearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
615 
616  m_maskMarginLabel = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
617  m_maskMarginLabel->Wrap( -1 );
618  m_maskMarginLabel->SetToolTip( _("This is the local clearance between this pad and the solder mask.\nIf 0, the footprint local value or the global value is used.") );
619 
620  fgClearancesGridSizer->Add( m_maskMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
621 
622  m_maskMarginCtrl = new wxTextCtrl( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
623  fgClearancesGridSizer->Add( m_maskMarginCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
624 
625  m_maskMarginUnits = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
626  m_maskMarginUnits->Wrap( -1 );
627  fgClearancesGridSizer->Add( m_maskMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
628 
629  m_pasteMarginLabel = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Solder paste absolute clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
630  m_pasteMarginLabel->Wrap( -1 );
631  m_pasteMarginLabel->SetToolTip( _("This is the local clearance between this pad and the solder paste.\nIf 0, the footprint value or the global value is used.\nThe final clearance value is the sum of this value and the clearance value ratio.\nA negative value means a smaller mask size than pad size.") );
632 
633  fgClearancesGridSizer->Add( m_pasteMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
634 
635  m_pasteMarginCtrl = new wxTextCtrl( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
636  fgClearancesGridSizer->Add( m_pasteMarginCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
637 
638  m_pasteMarginUnits = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
639  m_pasteMarginUnits->Wrap( -1 );
640  fgClearancesGridSizer->Add( m_pasteMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
641 
642  m_pasteMarginRatioLabel = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Solder paste relative clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
643  m_pasteMarginRatioLabel->Wrap( -1 );
644  m_pasteMarginRatioLabel->SetToolTip( _("This is the local clearance ratio in percent between this pad and the solder paste.\nA value of 10 means the clearance value is 10 percent of the pad size.\nIf 0, the footprint value or the global value is used.\nThe final clearance value is the sum of this value and the clearance value.\nA negative value means a smaller mask size than pad size.") );
645 
646  fgClearancesGridSizer->Add( m_pasteMarginRatioLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5 );
647 
648  m_pasteMarginRatioCtrl = new TEXT_CTRL_EVAL( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
649  fgClearancesGridSizer->Add( m_pasteMarginRatioCtrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
650 
651  m_pasteMarginRatioUnits = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
652  m_pasteMarginRatioUnits->Wrap( -1 );
653  fgClearancesGridSizer->Add( m_pasteMarginRatioUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
654 
655 
656  sbClearancesSizer->Add( fgClearancesGridSizer, 0, wxEXPAND, 5 );
657 
658  m_nonCopperWarningBook = new wxSimplebook( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
659  wxPanel* notePanel;
660  notePanel = new wxPanel( m_nonCopperWarningBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
661  wxBoxSizer* bNoteSizer;
662  bNoteSizer = new wxBoxSizer( wxVERTICAL );
663 
664  m_nonCopperNote = new wxStaticText( notePanel, wxID_ANY, _("Note: solder mask and paste values are used only for pads on copper layers."), wxDefaultPosition, wxDefaultSize, 0 );
665  m_nonCopperNote->Wrap( -1 );
666  bNoteSizer->Add( m_nonCopperNote, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
667 
668  m_staticTextInfoPaste = new wxStaticText( notePanel, wxID_ANY, _("Note: solder paste clearances (absolute and relative) are added to determine the final clearance."), wxDefaultPosition, wxDefaultSize, 0 );
669  m_staticTextInfoPaste->Wrap( -1 );
670  bNoteSizer->Add( m_staticTextInfoPaste, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
671 
672 
673  notePanel->SetSizer( bNoteSizer );
674  notePanel->Layout();
675  bNoteSizer->Fit( notePanel );
676  m_nonCopperWarningBook->AddPage( notePanel, _("a page"), false );
677  wxPanel* warningPanel;
678  warningPanel = new wxPanel( m_nonCopperWarningBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
679  wxBoxSizer* bWarningSizer;
680  bWarningSizer = new wxBoxSizer( wxHORIZONTAL );
681 
682  bWarningSizer->SetMinSize( wxSize( -1,50 ) );
683  m_nonCopperWarningIcon = new wxStaticBitmap( warningPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 48,48 ), 0 );
684  m_nonCopperWarningIcon->SetMinSize( wxSize( 48,48 ) );
685 
686  bWarningSizer->Add( m_nonCopperWarningIcon, 0, wxALL, 5 );
687 
688  m_nonCopperWarningText = new wxStaticText( warningPanel, wxID_ANY, _("Note: solder mask and paste values are used only for pads on copper layers."), wxDefaultPosition, wxDefaultSize, 0 );
689  m_nonCopperWarningText->Wrap( -1 );
690  bWarningSizer->Add( m_nonCopperWarningText, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
691 
692 
693  warningPanel->SetSizer( bWarningSizer );
694  warningPanel->Layout();
695  bWarningSizer->Fit( warningPanel );
696  m_nonCopperWarningBook->AddPage( warningPanel, _("a page"), false );
697 
698  sbClearancesSizer->Add( m_nonCopperWarningBook, 1, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 5 );
699 
700 
701  bSizerClearance->Add( sbClearancesSizer, 0, wxALL|wxEXPAND, 5 );
702 
703  m_sbSizerZonesSettings = new wxStaticBoxSizer( new wxStaticBox( m_localSettingsPanel, wxID_ANY, _("Connection to Copper Zones") ), wxVERTICAL );
704 
705  wxFlexGridSizer* fgSizerCopperZonesOpts;
706  fgSizerCopperZonesOpts = new wxFlexGridSizer( 0, 3, 0, 0 );
707  fgSizerCopperZonesOpts->AddGrowableCol( 1 );
708  fgSizerCopperZonesOpts->SetFlexibleDirection( wxBOTH );
709  fgSizerCopperZonesOpts->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
710 
711  m_staticText40 = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Pad connection:"), wxDefaultPosition, wxDefaultSize, 0 );
712  m_staticText40->Wrap( -1 );
713  fgSizerCopperZonesOpts->Add( m_staticText40, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
714 
715  wxString m_ZoneConnectionChoiceChoices[] = { _("From parent footprint"), _("Solid"), _("Thermal relief"), _("None") };
716  int m_ZoneConnectionChoiceNChoices = sizeof( m_ZoneConnectionChoiceChoices ) / sizeof( wxString );
717  m_ZoneConnectionChoice = new wxChoice( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneConnectionChoiceNChoices, m_ZoneConnectionChoiceChoices, 0 );
718  m_ZoneConnectionChoice->SetSelection( 0 );
719  fgSizerCopperZonesOpts->Add( m_ZoneConnectionChoice, 0, wxEXPAND|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
720 
721 
722  fgSizerCopperZonesOpts->Add( 0, 0, 1, wxEXPAND, 5 );
723 
724  m_spokeWidthLabel = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Thermal relief spoke width:"), wxDefaultPosition, wxDefaultSize, 0 );
725  m_spokeWidthLabel->Wrap( -1 );
726  fgSizerCopperZonesOpts->Add( m_spokeWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
727 
728  m_spokeWidthCtrl = new wxTextCtrl( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
729  fgSizerCopperZonesOpts->Add( m_spokeWidthCtrl, 0, wxEXPAND|wxLEFT|wxTOP|wxALIGN_CENTER_VERTICAL, 5 );
730 
731  m_spokeWidthUnits = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
732  m_spokeWidthUnits->Wrap( -1 );
733  fgSizerCopperZonesOpts->Add( m_spokeWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
734 
735  m_thermalGapLabel = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Thermal relief gap:"), wxDefaultPosition, wxDefaultSize, 0 );
736  m_thermalGapLabel->Wrap( -1 );
737  fgSizerCopperZonesOpts->Add( m_thermalGapLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
738 
739  m_thermalGapCtrl = new wxTextCtrl( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
740  fgSizerCopperZonesOpts->Add( m_thermalGapCtrl, 0, wxEXPAND|wxTOP|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
741 
742  m_thermalGapUnits = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
743  m_thermalGapUnits->Wrap( -1 );
744  fgSizerCopperZonesOpts->Add( m_thermalGapUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
745 
746  m_staticTextcps = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Custom pad shape in zone:"), wxDefaultPosition, wxDefaultSize, 0 );
747  m_staticTextcps->Wrap( -1 );
748  fgSizerCopperZonesOpts->Add( m_staticTextcps, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
749 
750  wxString m_ZoneCustomPadShapeChoices[] = { _("Use pad shape"), _("Use pad convex hull") };
751  int m_ZoneCustomPadShapeNChoices = sizeof( m_ZoneCustomPadShapeChoices ) / sizeof( wxString );
752  m_ZoneCustomPadShape = new wxChoice( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneCustomPadShapeNChoices, m_ZoneCustomPadShapeChoices, 0 );
753  m_ZoneCustomPadShape->SetSelection( 0 );
754  fgSizerCopperZonesOpts->Add( m_ZoneCustomPadShape, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
755 
756 
757  m_sbSizerZonesSettings->Add( fgSizerCopperZonesOpts, 0, wxEXPAND, 5 );
758 
759 
760  bSizerClearance->Add( m_sbSizerZonesSettings, 0, wxALL|wxEXPAND, 5 );
761 
762 
763  bSizerPanelClearance->Add( bSizerClearance, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
764 
765 
766  m_localSettingsPanel->SetSizer( bSizerPanelClearance );
767  m_localSettingsPanel->Layout();
768  bSizerPanelClearance->Fit( m_localSettingsPanel );
769  m_notebook->AddPage( m_localSettingsPanel, _("Clearance Overrides and Settings"), false );
770  m_panelCustomShapePrimitives = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
771  m_bSizerPanelPrimitives = new wxBoxSizer( wxVERTICAL );
772 
773  wxBoxSizer* bSizerAboveList;
774  bSizerAboveList = new wxBoxSizer( wxHORIZONTAL );
775 
776  m_staticTextPrimitivesList = new wxStaticText( m_panelCustomShapePrimitives, wxID_ANY, _("Primitives list:"), wxDefaultPosition, wxDefaultSize, 0 );
777  m_staticTextPrimitivesList->Wrap( -1 );
778  bSizerAboveList->Add( m_staticTextPrimitivesList, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
779 
780  m_staticTextPrimitiveListWarning = new wxStaticText( m_panelCustomShapePrimitives, wxID_ANY, _("Note: coordinates are relative to anchor pad, orientation 0."), wxDefaultPosition, wxDefaultSize, 0 );
782  bSizerAboveList->Add( m_staticTextPrimitiveListWarning, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 7 );
783 
784 
785  m_bSizerPanelPrimitives->Add( bSizerAboveList, 0, wxEXPAND|wxBOTTOM, 3 );
786 
787  m_listCtrlPrimitives = new wxListView( m_panelCustomShapePrimitives, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_NO_HEADER|wxLC_REPORT );
788  m_bSizerPanelPrimitives->Add( m_listCtrlPrimitives, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
789 
790  wxBoxSizer* bSizerButtons;
791  bSizerButtons = new wxBoxSizer( wxVERTICAL );
792 
793  wxBoxSizer* bSizerButtonsUpper;
794  bSizerButtonsUpper = new wxBoxSizer( wxHORIZONTAL );
795 
796  m_buttonAddShape = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Add Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
797  bSizerButtonsUpper->Add( m_buttonAddShape, 0, wxALL, 5 );
798 
799  m_buttonEditShape = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Edit Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
800  bSizerButtonsUpper->Add( m_buttonEditShape, 0, wxALL, 5 );
801 
802  m_buttonDup = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Duplicate Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
803  bSizerButtonsUpper->Add( m_buttonDup, 0, wxALL, 5 );
804 
805  m_buttonGeometry = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Transform Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
806  bSizerButtonsUpper->Add( m_buttonGeometry, 0, wxALL, 5 );
807 
808 
809  bSizerButtonsUpper->Add( 0, 0, 1, wxEXPAND, 5 );
810 
811  m_buttonDel = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Delete Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
812  bSizerButtonsUpper->Add( m_buttonDel, 0, wxALL, 5 );
813 
814 
815  bSizerButtons->Add( bSizerButtonsUpper, 0, wxEXPAND, 5 );
816 
817 
818  m_bSizerPanelPrimitives->Add( bSizerButtons, 0, wxEXPAND, 5 );
819 
820 
824  m_notebook->AddPage( m_panelCustomShapePrimitives, _("Custom Shape Primitives"), false );
825 
826  bSizerUpper->Add( m_notebook, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
827 
828  wxBoxSizer* bSizerDisplayPad;
829  bSizerDisplayPad = new wxBoxSizer( wxVERTICAL );
830 
831  bSizerDisplayPad->SetMinSize( wxSize( 290,-1 ) );
832 
833  bSizerDisplayPad->Add( 0, 0, 0, wxBOTTOM|wxEXPAND|wxTOP, 3 );
834 
835 
836  bSizerDisplayPad->Add( 0, 10, 0, wxEXPAND, 5 );
837 
838  m_stackupImagesBook = new wxSimplebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE );
839  page0 = new wxPanel( m_stackupImagesBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
840  wxBoxSizer* page0Sizer;
841  page0Sizer = new wxBoxSizer( wxVERTICAL );
842 
843  m_stackupImage0 = new wxStaticBitmap( page0, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
844  page0Sizer->Add( m_stackupImage0, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
845 
846 
847  page0->SetSizer( page0Sizer );
848  page0->Layout();
849  page0Sizer->Fit( page0 );
850  m_stackupImagesBook->AddPage( page0, _("a page"), false );
851  page1 = new wxPanel( m_stackupImagesBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
852  wxBoxSizer* page1Sizer;
853  page1Sizer = new wxBoxSizer( wxVERTICAL );
854 
855  m_stackupImage1 = new wxStaticBitmap( page1, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
856  page1Sizer->Add( m_stackupImage1, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
857 
858 
859  page1->SetSizer( page1Sizer );
860  page1->Layout();
861  page1Sizer->Fit( page1 );
862  m_stackupImagesBook->AddPage( page1, _("a page"), false );
863  page2 = new wxPanel( m_stackupImagesBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
864  wxBoxSizer* page2Sizer;
865  page2Sizer = new wxBoxSizer( wxVERTICAL );
866 
867  m_stackupImage2 = new wxStaticBitmap( page2, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
868  page2Sizer->Add( m_stackupImage2, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
869 
870 
871  page2->SetSizer( page2Sizer );
872  page2->Layout();
873  page2Sizer->Fit( page2 );
874  m_stackupImagesBook->AddPage( page2, _("a page"), false );
875  page3 = new wxPanel( m_stackupImagesBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
876  wxBoxSizer* page3Sizer;
877  page3Sizer = new wxBoxSizer( wxVERTICAL );
878 
879 
880  page3->SetSizer( page3Sizer );
881  page3->Layout();
882  page3Sizer->Fit( page3 );
883  m_stackupImagesBook->AddPage( page3, _("a page"), false );
884  page4 = new wxPanel( m_stackupImagesBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
885  wxBoxSizer* page4Sizer;
886  page4Sizer = new wxBoxSizer( wxVERTICAL );
887 
888  m_stackupImage4 = new wxStaticBitmap( page4, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
889  page4Sizer->Add( m_stackupImage4, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
890 
891 
892  page4->SetSizer( page4Sizer );
893  page4->Layout();
894  page4Sizer->Fit( page4 );
895  m_stackupImagesBook->AddPage( page4, _("a page"), false );
896  page5 = new wxPanel( m_stackupImagesBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
897  wxBoxSizer* page5Sizer;
898  page5Sizer = new wxBoxSizer( wxVERTICAL );
899 
900  m_stackupImage5 = new wxStaticBitmap( page5, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
901  page5Sizer->Add( m_stackupImage5, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
902 
903 
904  page5->SetSizer( page5Sizer );
905  page5->Layout();
906  page5Sizer->Fit( page5 );
907  m_stackupImagesBook->AddPage( page5, _("a page"), false );
908  page6 = new wxPanel( m_stackupImagesBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
909  wxBoxSizer* page6Sizer;
910  page6Sizer = new wxBoxSizer( wxVERTICAL );
911 
912  m_stackupImage6 = new wxStaticBitmap( page6, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
913  page6Sizer->Add( m_stackupImage6, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
914 
915 
916  page6->SetSizer( page6Sizer );
917  page6->Layout();
918  page6Sizer->Fit( page6 );
919  m_stackupImagesBook->AddPage( page6, _("a page"), false );
920  page7 = new wxPanel( m_stackupImagesBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
921  wxBoxSizer* page7Sizer;
922  page7Sizer = new wxBoxSizer( wxVERTICAL );
923 
924  m_stackupImage7 = new wxStaticBitmap( page7, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
925  page7Sizer->Add( m_stackupImage7, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
926 
927 
928  page7->SetSizer( page7Sizer );
929  page7->Layout();
930  page7Sizer->Fit( page7 );
931  m_stackupImagesBook->AddPage( page7, _("a page"), false );
932 
933  bSizerDisplayPad->Add( m_stackupImagesBook, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 6 );
934 
935  m_boardViewPanel = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
936  m_padPreviewSizer = new wxBoxSizer( wxVERTICAL );
937 
938  m_padPreviewSizer->SetMinSize( wxSize( 280,-1 ) );
939 
940  m_boardViewPanel->SetSizer( m_padPreviewSizer );
941  m_boardViewPanel->Layout();
943  bSizerDisplayPad->Add( m_boardViewPanel, 1, wxEXPAND|wxALL, 2 );
944 
945 
946  bSizerUpper->Add( bSizerDisplayPad, 1, wxEXPAND|wxTOP|wxRIGHT, 10 );
947 
948 
949  m_MainSizer->Add( bSizerUpper, 1, wxEXPAND, 5 );
950 
951  wxBoxSizer* bottomSizer;
952  bottomSizer = new wxBoxSizer( wxHORIZONTAL );
953 
954  m_parentInfo = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
955  m_parentInfo->Wrap( -1 );
956  bottomSizer->Add( m_parentInfo, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 8 );
957 
958 
959  bottomSizer->Add( 20, 0, 1, wxEXPAND, 5 );
960 
961  m_cbShowPadOutline = new wxCheckBox( this, wxID_ANY, _("Preview pad in sketch mode"), wxDefaultPosition, wxDefaultSize, 0 );
962  bottomSizer->Add( m_cbShowPadOutline, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
963 
964 
965  bottomSizer->Add( 40, 0, 0, wxEXPAND, 5 );
966 
967  m_sdbSizer = new wxStdDialogButtonSizer();
968  m_sdbSizerOK = new wxButton( this, wxID_OK );
969  m_sdbSizer->AddButton( m_sdbSizerOK );
970  m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
971  m_sdbSizer->AddButton( m_sdbSizerCancel );
972  m_sdbSizer->Realize();
973 
974  bottomSizer->Add( m_sdbSizer, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
975 
976 
977  m_MainSizer->Add( bottomSizer, 0, wxEXPAND|wxLEFT, 5 );
978 
979 
980  this->SetSizer( m_MainSizer );
981  this->Layout();
982  m_MainSizer->Fit( this );
983 
984  this->Centre( wxBOTH );
985 
986  // Connect Events
987  this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnInitDialog ) );
988  m_panelGeneral->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnUpdateUI ), NULL, this );
989  m_padType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadTypeSelected ), NULL, this );
990  m_padNumCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
991  m_PadShapeSelector->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadShapeSelection ), NULL, this );
992  m_trapDeltaCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
993  m_trapAxisCtrl->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
994  m_cornerRatioCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
995  m_cornerRadiusCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerRadiusChange ), NULL, this );
996  m_chamferRatioCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
997  m_cbTopLeft->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
998  m_cbTopRight->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
999  m_cbBottomLeft->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1000  m_cbBottomRight->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1001  m_mixedChamferRatioCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
1002  m_cbTopLeft1->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1003  m_cbTopRight1->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1004  m_cbBottomLeft1->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1005  m_cbBottomRight1->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1006  m_mixedCornerRatioCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
1007  m_sizeXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1008  m_sizeYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1009  m_cb_padrotation->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
1010  m_cb_padrotation->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
1011  m_holeShapeCtrl->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ), NULL, this );
1012  m_holeXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1013  m_holeYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1014  m_offsetShapeOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnOffsetCheckbox ), NULL, this );
1015  m_offsetXCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1016  m_offsetYCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1017  m_padToDieOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadToDieCheckbox ), NULL, this );
1018  m_rbCopperLayersSel->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetCopperLayers ), NULL, this );
1019  m_PadLayerAdhCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1020  m_PadLayerAdhCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1021  m_PadLayerPateCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1022  m_PadLayerPateCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1023  m_PadLayerSilkCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1024  m_PadLayerSilkCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1025  m_PadLayerMaskCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1026  m_PadLayerMaskCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1027  m_PadLayerDraft->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1028  m_PadLayerECO1->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1029  m_PadLayerECO2->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1030  m_clearanceCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1031  m_nonCopperWarningBook->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnUpdateUINonCopperWarning ), NULL, this );
1032  m_listCtrlPrimitives->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_PAD_PROPERTIES_BASE::onPrimitiveDClick ), NULL, this );
1033  m_listCtrlPrimitives->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
1034  m_listCtrlPrimitives->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
1035  m_buttonAddShape->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onAddPrimitive ), NULL, this );
1036  m_buttonEditShape->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ), NULL, this );
1037  m_buttonDup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDuplicatePrimitive ), NULL, this );
1038  m_buttonGeometry->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onGeometryTransform ), NULL, this );
1039  m_buttonDel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ), NULL, this );
1040  m_cbShowPadOutline->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onChangePadMode ), NULL, this );
1041  m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnCancel ), NULL, this );
1042 }
virtual void onPrimitiveDClick(wxMouseEvent &event)
virtual void onAddPrimitive(wxCommandEvent &event)
virtual void OnOffsetCheckbox(wxCommandEvent &event)
virtual void OnValuesChanged(wxCommandEvent &event)
virtual void OnPrimitiveSelection(wxListEvent &event)
virtual void OnInitDialog(wxInitDialogEvent &event)
DIALOG_SHIM(wxWindow *aParent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER, const wxString &name=wxDialogNameStr)
Definition: dialog_shim.cpp:77
virtual void OnDrillShapeSelected(wxCommandEvent &event)
virtual void PadTypeSelected(wxCommandEvent &event)
virtual void onCornerRadiusChange(wxCommandEvent &event)
virtual void onDeletePrimitive(wxCommandEvent &event)
virtual void onCornerSizePercentChange(wxCommandEvent &event)
virtual void OnPadShapeSelection(wxCommandEvent &event)
virtual void PadOrientEvent(wxCommandEvent &event)
wxStdDialogButtonSizer * m_sdbSizer
virtual void OnUpdateUI(wxUpdateUIEvent &event)
virtual void onDuplicatePrimitive(wxCommandEvent &event)
#define _(s)
virtual void OnPadToDieCheckbox(wxCommandEvent &event)
wxTextCtrl wrapper to handle math expression evaluation.
virtual void OnUpdateUINonCopperWarning(wxUpdateUIEvent &event)
virtual void OnSetLayers(wxCommandEvent &event)
virtual void onEditPrimitive(wxCommandEvent &event)
virtual void onGeometryTransform(wxCommandEvent &event)
virtual void OnSetCopperLayers(wxCommandEvent &event)
virtual void onChangePadMode(wxCommandEvent &event)
virtual void OnCancel(wxCommandEvent &event)

References _, fgSizerRoundingProps, fgSizerTrapProps, m_boardViewPanel, m_bSizerPanelPrimitives, m_buttonAddShape, m_buttonDel, m_buttonDup, m_buttonEditShape, m_buttonGeometry, m_cb_padrotation, m_cbBottomLeft, m_cbBottomLeft1, m_cbBottomRight, m_cbBottomRight1, m_cbShowPadOutline, m_cbTopLeft, m_cbTopLeft1, m_cbTopRight, m_cbTopRight1, m_chamferProps, m_chamferRatioCtrl, m_chamferRatioLabel, m_chamferRatioUnits, m_choiceFabProperty, m_clearanceCtrl, m_clearanceLabel, m_clearanceUnits, m_copperLayersLabel, m_cornerRadiusCtrl, m_cornerRadiusLabel, m_cornerRadiusUnits, m_cornerRatioCtrl, m_cornerRatioLabel, m_cornerRatioUnits, m_emptyProps, m_FlippedWarningIcon, m_FlippedWarningSizer, m_holeShapeCtrl, m_holeShapeLabel, m_holeXCtrl, m_holeXLabel, m_holeXUnits, m_holeYCtrl, m_holeYLabel, m_holeYUnits, m_LeftBoxSizer, m_listCtrlPrimitives, m_localSettingsPanel, m_locked, m_MainSizer, m_maskMarginCtrl, m_maskMarginLabel, m_maskMarginUnits, m_middleBoxSizer, m_mixedChamferRatioCtrl, m_mixedChamferRatioLabel, m_mixedChamferRatioUnits, m_mixedCornerRatioCtrl, m_mixedCornerRatioLabel, m_mixedCornerRatioUnits, m_mixedProps, m_nonCopperNote, m_nonCopperWarningBook, m_nonCopperWarningIcon, m_nonCopperWarningText, m_notebook, m_offsetCtrls, m_offsetShapeOpt, m_offsetShapeOptLabel, m_offsetXCtrl, m_offsetXLabel, m_offsetXUnits, m_offsetYCtrl, m_offsetYLabel, m_offsetYUnits, m_orientationUnits, m_PadLayerAdhCmp, m_PadLayerAdhCu, m_PadLayerDraft, m_PadLayerECO1, m_PadLayerECO2, m_PadLayerMaskCmp, m_PadLayerMaskCu, m_PadLayerPateCmp, m_PadLayerPateCu, m_PadLayerSilkCmp, m_PadLayerSilkCu, m_padNetLabel, m_padNetSelector, m_padNumCtrl, m_padNumLabel, m_PadOrientText, m_padPreviewSizer, m_PadShapeSelector, m_padToDieCtrl, m_padToDieLabel, m_padToDieOpt, m_padToDieUnits, m_padType, m_padTypeLabel, m_panelCustomShapePrimitives, m_panelGeneral, m_parentInfo, m_pasteMarginCtrl, m_pasteMarginLabel, m_pasteMarginRatioCtrl, m_pasteMarginRatioLabel, m_pasteMarginRatioUnits, m_pasteMarginUnits, m_posXCtrl, m_posXLabel, m_posXUnits, m_posYCtrl, m_posYLabel, m_posYUnits, m_rbCopperLayersSel, m_roudingProps, m_sbSizerZonesSettings, m_sdbSizer, m_sdbSizerCancel, m_sdbSizerOK, m_shapeLabel, m_shapePropsBook, m_sizeXCtrl, m_sizeXLabel, m_sizeXUnits, m_sizeYCtrl, m_sizeYLabel, m_sizeYUnits, m_spokeWidthCtrl, m_spokeWidthLabel, m_spokeWidthUnits, m_stackupImage0, m_stackupImage1, m_stackupImage2, m_stackupImage4, m_stackupImage5, m_stackupImage6, m_stackupImage7, m_stackupImagesBook, m_staticline5, m_staticline6, m_staticline7, m_staticText40, m_staticText86, m_staticTextChamferCorner, m_staticTextChamferCorner1, m_staticTextcps, m_staticTextFabProperty, m_staticTextInfoNegVal, m_staticTextInfoPaste, m_staticTextInfoPosValue, m_staticTextPrimitiveListWarning, m_staticTextPrimitivesList, m_techLayersLabel, m_thermalGapCtrl, m_thermalGapLabel, m_thermalGapUnits, m_trapAxisCtrl, m_trapAxisLabel, m_trapDeltaCtrl, m_trapDeltaLabel, m_trapDeltaUnits, m_trapProps, m_ZoneConnectionChoice, m_ZoneCustomPadShape, onAddPrimitive(), OnCancel(), onChangePadMode(), onCornerRadiusChange(), onCornerSizePercentChange(), onDeletePrimitive(), OnDrillShapeSelected(), onDuplicatePrimitive(), onEditPrimitive(), onGeometryTransform(), OnInitDialog(), OnOffsetCheckbox(), OnPadShapeSelection(), OnPadToDieCheckbox(), onPrimitiveDClick(), OnPrimitiveSelection(), OnSetCopperLayers(), OnSetLayers(), OnUpdateUI(), OnUpdateUINonCopperWarning(), OnValuesChanged(), PadOrientEvent(), PadTypeSelected(), page0, page1, page2, page3, page4, page5, page6, page7, and wxID_PADNUMCTRL.

◆ ~DIALOG_PAD_PROPERTIES_BASE()

DIALOG_PAD_PROPERTIES_BASE::~DIALOG_PAD_PROPERTIES_BASE ( )

Definition at line 1044 of file dialog_pad_properties_base.cpp.

1045 {
1046  // Disconnect Events
1047  this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnInitDialog ) );
1048  m_panelGeneral->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnUpdateUI ), NULL, this );
1049  m_padType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadTypeSelected ), NULL, this );
1050  m_padNumCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1051  m_PadShapeSelector->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadShapeSelection ), NULL, this );
1052  m_trapDeltaCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1053  m_trapAxisCtrl->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1054  m_cornerRatioCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
1055  m_cornerRadiusCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerRadiusChange ), NULL, this );
1056  m_chamferRatioCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
1057  m_cbTopLeft->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1058  m_cbTopRight->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1059  m_cbBottomLeft->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1060  m_cbBottomRight->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1061  m_mixedChamferRatioCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
1062  m_cbTopLeft1->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1063  m_cbTopRight1->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1064  m_cbBottomLeft1->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1065  m_cbBottomRight1->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1066  m_mixedCornerRatioCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
1067  m_sizeXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1068  m_sizeYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1069  m_cb_padrotation->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
1070  m_cb_padrotation->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
1071  m_holeShapeCtrl->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ), NULL, this );
1072  m_holeXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1073  m_holeYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1074  m_offsetShapeOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnOffsetCheckbox ), NULL, this );
1075  m_offsetXCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1076  m_offsetYCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1077  m_padToDieOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadToDieCheckbox ), NULL, this );
1078  m_rbCopperLayersSel->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetCopperLayers ), NULL, this );
1079  m_PadLayerAdhCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1080  m_PadLayerAdhCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1081  m_PadLayerPateCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1082  m_PadLayerPateCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1083  m_PadLayerSilkCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1084  m_PadLayerSilkCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1085  m_PadLayerMaskCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1086  m_PadLayerMaskCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1087  m_PadLayerDraft->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1088  m_PadLayerECO1->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1089  m_PadLayerECO2->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
1090  m_clearanceCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
1091  m_nonCopperWarningBook->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnUpdateUINonCopperWarning ), NULL, this );
1092  m_listCtrlPrimitives->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_PAD_PROPERTIES_BASE::onPrimitiveDClick ), NULL, this );
1093  m_listCtrlPrimitives->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
1094  m_listCtrlPrimitives->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
1095  m_buttonAddShape->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onAddPrimitive ), NULL, this );
1096  m_buttonEditShape->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ), NULL, this );
1097  m_buttonDup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDuplicatePrimitive ), NULL, this );
1098  m_buttonGeometry->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onGeometryTransform ), NULL, this );
1099  m_buttonDel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ), NULL, this );
1100  m_cbShowPadOutline->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onChangePadMode ), NULL, this );
1101  m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnCancel ), NULL, this );
1102 
1103 }
virtual void onPrimitiveDClick(wxMouseEvent &event)
virtual void onAddPrimitive(wxCommandEvent &event)
virtual void OnOffsetCheckbox(wxCommandEvent &event)
virtual void OnValuesChanged(wxCommandEvent &event)
virtual void OnPrimitiveSelection(wxListEvent &event)
virtual void OnInitDialog(wxInitDialogEvent &event)
virtual void OnDrillShapeSelected(wxCommandEvent &event)
virtual void PadTypeSelected(wxCommandEvent &event)
virtual void onCornerRadiusChange(wxCommandEvent &event)
virtual void onDeletePrimitive(wxCommandEvent &event)
virtual void onCornerSizePercentChange(wxCommandEvent &event)
virtual void OnPadShapeSelection(wxCommandEvent &event)
virtual void PadOrientEvent(wxCommandEvent &event)
virtual void OnUpdateUI(wxUpdateUIEvent &event)
virtual void onDuplicatePrimitive(wxCommandEvent &event)
virtual void OnPadToDieCheckbox(wxCommandEvent &event)
virtual void OnUpdateUINonCopperWarning(wxUpdateUIEvent &event)
virtual void OnSetLayers(wxCommandEvent &event)
virtual void onEditPrimitive(wxCommandEvent &event)
virtual void onGeometryTransform(wxCommandEvent &event)
virtual void OnSetCopperLayers(wxCommandEvent &event)
virtual void onChangePadMode(wxCommandEvent &event)
virtual void OnCancel(wxCommandEvent &event)

References m_buttonAddShape, m_buttonDel, m_buttonDup, m_buttonEditShape, m_buttonGeometry, m_cb_padrotation, m_cbBottomLeft, m_cbBottomLeft1, m_cbBottomRight, m_cbBottomRight1, m_cbShowPadOutline, m_cbTopLeft, m_cbTopLeft1, m_cbTopRight, m_cbTopRight1, m_chamferRatioCtrl, m_clearanceCtrl, m_cornerRadiusCtrl, m_cornerRatioCtrl, m_holeShapeCtrl, m_holeXCtrl, m_holeYCtrl, m_listCtrlPrimitives, m_mixedChamferRatioCtrl, m_mixedCornerRatioCtrl, m_nonCopperWarningBook, m_offsetShapeOpt, m_offsetXCtrl, m_offsetYCtrl, m_PadLayerAdhCmp, m_PadLayerAdhCu, m_PadLayerDraft, m_PadLayerECO1, m_PadLayerECO2, m_PadLayerMaskCmp, m_PadLayerMaskCu, m_PadLayerPateCmp, m_PadLayerPateCu, m_PadLayerSilkCmp, m_PadLayerSilkCu, m_padNumCtrl, m_PadShapeSelector, m_padToDieOpt, m_padType, m_panelGeneral, m_rbCopperLayersSel, m_sdbSizerCancel, m_sizeXCtrl, m_sizeYCtrl, m_trapAxisCtrl, m_trapDeltaCtrl, onAddPrimitive(), OnCancel(), onChangePadMode(), onCornerRadiusChange(), onCornerSizePercentChange(), onDeletePrimitive(), OnDrillShapeSelected(), onDuplicatePrimitive(), onEditPrimitive(), onGeometryTransform(), OnInitDialog(), OnOffsetCheckbox(), OnPadShapeSelection(), OnPadToDieCheckbox(), onPrimitiveDClick(), OnPrimitiveSelection(), OnSetCopperLayers(), OnSetLayers(), OnUpdateUI(), OnUpdateUINonCopperWarning(), OnValuesChanged(), PadOrientEvent(), and PadTypeSelected().

Member Function Documentation

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 312 of file dialog_shim.cpp.

313 {
314  // so we can do logging of this state change:
315  return wxDialog::Enable( enable );
316 }

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 480 of file dialog_shim.cpp.

481 {
482  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
483  // handle validation in the same way as other dialogs.
484  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
485  return;
486 
487  SetReturnCode( retCode );
488 
489  if( !IsQuasiModal() )
490  {
491  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
492  "wasn't called" );
493  return;
494  }
495 
496  if( m_qmodal_loop )
497  {
498  if( m_qmodal_loop->IsRunning() )
499  m_qmodal_loop->Exit( 0 );
500  else
501  m_qmodal_loop->ScheduleExit( 0 );
502 
503  m_qmodal_loop = nullptr;
504  }
505 
507  m_qmodal_parent_disabler = nullptr;
508 
509  Show( false );
510 }
bool IsQuasiModal() const
Definition: dialog_shim.h:106
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:213
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:216

References DIALOG_SHIM::IsQuasiModal(), DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, and DIALOG_SHIM::Show().

Referenced by NETLIST_DIALOG::OnAddGenerator(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_SYMBOLS_LIBID::onCancel(), DIALOG_LIB_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), NETLIST_DIALOG::OnDelGenerator(), DIALOG_SYMBOL_PROPERTIES::OnEditLibrarySymbol(), DIALOG_SYMBOL_PROPERTIES::OnEditSymbol(), DIALOG_SYMBOL_PROPERTIES::OnExchangeSymbol(), PCB_ONE_LAYER_SELECTOR::OnLeftGridCellClick(), PCB_ONE_LAYER_SELECTOR::OnRightGridCellClick(), DIALOG_SYMBOL_PROPERTIES::OnUpdateSymbol(), DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser(), DIALOG_PUSH_PAD_PROPERTIES::PadPropertiesAccept(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ finishDialogSettings()

void DIALOG_SHIM::finishDialogSettings ( )
protectedinherited

In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls.

finishDialogSettings must be called from derived classes after all widgets have been initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at the end of TransferDataToWindow, or better yet, at end of a wxInitDialogEvent handler.

Definition at line 151 of file dialog_shim.cpp.

152 {
153  // must be called from the constructor of derived classes,
154  // when all widgets are initialized, and therefore their size fixed
155 
156  // SetSizeHints fixes the minimal size of sizers in the dialog
157  // (SetSizeHints calls Fit(), so no need to call it)
158  GetSizer()->SetSizeHints( this );
159 }

Referenced by DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOM::DIALOG_BOM(), DIALOG_BUS_MANAGER::DIALOG_BUS_MANAGER(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CLEANUP_TRACKS_AND_VIAS::DIALOG_CLEANUP_TRACKS_AND_VIAS(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_DRC::DIALOG_DRC(), DIALOG_EDIT_SYMBOLS_LIBID::DIALOG_EDIT_SYMBOLS_LIBID(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_ERC::DIALOG_ERC(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FOOTPRINT_CHECKER::DIALOG_FOOTPRINT_CHECKER(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::DIALOG_GLOBAL_LIB_TABLE_CONFIG(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMAGE_EDITOR::DIALOG_IMAGE_EDITOR(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LIB_NEW_SYMBOL::DIALOG_LIB_NEW_SYMBOL(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_PROPERTIES(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_MANAGE_REPOSITORIES::DIALOG_MANAGE_REPOSITORIES(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL(), DIALOG_PCM::DIALOG_PCM(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_PRINT_GENERIC::DIALOG_PRINT_GENERIC(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_REGULATOR_FORM::DIALOG_REGULATOR_FORM(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SELECT_3DMODEL::DIALOG_SELECT_3DMODEL(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_UNUSED_PAD_LAYERS::DIALOG_UNUSED_PAD_LAYERS(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), DIALOG_UPDATE_SYMBOL_FIELDS::DIALOG_UPDATE_SYMBOL_FIELDS(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), PAGED_DIALOG::finishInitialization(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SHEET_PROPERTIES::OnInitDlg(), DIALOG_SYMBOL_PROPERTIES::OnInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), DIALOG_BOARD_STATISTICS::TransferDataToWindow(), and DIALOG_COLOR_PICKER::TransferDataToWindow().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( ) const
inlineinherited

Definition at line 46 of file kiway_holder.h.

46 { return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:76

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUserUnits()

◆ horizPixelsFromDU()

int DIALOG_SHIM::horizPixelsFromDU ( int  x) const
protectedinherited

Convert an integer number of dialog units to pixels, horizontally.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 169 of file dialog_shim.cpp.

170 {
171  wxSize sz( x, 0 );
172  return ConvertDialogToPixels( sz ).x;
173 }

Referenced by DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), and DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

◆ IsCtrl()

static bool DIALOG_SHIM::IsCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 126 of file dialog_shim.h.

127  {
128  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
129  !e.ShiftDown() && !e.MetaDown();
130  }

◆ IsQuasiModal()

◆ IsShiftCtrl()

static bool DIALOG_SHIM::IsShiftCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 132 of file dialog_shim.h.

133  {
134  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
135  e.ShiftDown() && !e.MetaDown();
136  }

◆ Kiway()

KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Return a reference to the KIWAY that this object has an opportunity to participate in.

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 53 of file kiway_holder.h.

54  {
55  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
56  return *m_kiway;
57  }
KIWAY * m_kiway
Definition: kiway_holder.h:75

References KIWAY_HOLDER::m_kiway.

Referenced by PROJECT_TREE_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_EDIT_FRAME::AddLibraryFile(), SYMBOL_EDITOR_CONTROL::AddSymbolToSchematic(), SCH_EDIT_FRAME::AskToSaveChanges(), SYMBOL_EDIT_FRAME::canCloseWindow(), SCH_EDIT_FRAME::canCloseWindow(), KICAD_MANAGER_FRAME::CloseProject(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), DIALOG_CHOOSE_SYMBOL::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), FOOTPRINT_EDITOR_CONTROL::CreateFootprint(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), BOARD_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithSymbolEditor(), BACK_ANNOTATE::FetchNetlistFromPCB(), KICAD_MANAGER_FRAME::ImportNonKiCadProject(), SCRIPTING_TOOL::Init(), EDA_DRAW_FRAME::IsScriptingConsoleVisible(), KICAD_MANAGER_FRAME::language_change(), KIWAY_PLAYER::language_change(), DIALOG_CHANGE_SYMBOLS::launchMatchIdSymbolBrowser(), DIALOG_CHANGE_SYMBOLS::launchNewIdSymbolBrowser(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), PL_EDITOR_FRAME::OnExit(), SCH_EDIT_FRAME::OnExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), SYMBOL_EDIT_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_FIELD_PROPERTIES::OnTextValueSelectButtonClick(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadFootprintFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), FOOTPRINT_EDIT_FRAME::OnUpdateSaveFootprintToBoard(), PANEL_PCBNEW_COLOR_SETTINGS::PANEL_PCBNEW_COLOR_SETTINGS(), SCH_BASE_FRAME::PickSymbolFromLibBrowser(), KIWAY_HOLDER::Prj(), SCH_EDIT_TOOL::Properties(), BACK_ANNOTATE::PushNewLinksToPCB(), FOOTPRINT_WIZARD_FRAME::PythonPluginsReload(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SCH_EDITOR_CONTROL::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), SYMBOL_EDIT_FRAME::Save(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), LIB_TREE_MODEL_ADAPTER::SavePinnedItems(), EDA_DRAW_FRAME::ScriptingConsoleEnableDisable(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), SCH_EDIT_FRAME::SetCrossProbeConnection(), SYMBOL_EDIT_FRAME::SetCurSymbol(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), BOARD_EDITOR_CONTROL::UpdateSchematicFromPCB(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ onAddPrimitive()

virtual void DIALOG_PAD_PROPERTIES_BASE::onAddPrimitive ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 254 of file dialog_pad_properties_base.h.

254 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnCancel()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnCancel ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 260 of file dialog_pad_properties_base.h.

260 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ onChangePadMode()

virtual void DIALOG_PAD_PROPERTIES_BASE::onChangePadMode ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 259 of file dialog_pad_properties_base.h.

259 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnCharHook()

void DIALOG_SHIM::OnCharHook ( wxKeyEvent &  aEvt)
protectedvirtualinherited

Reimplemented in DIALOG_CHOOSE_SYMBOL, HK_PROMPT_DIALOG, and HTML_MESSAGE_BOX.

Definition at line 570 of file dialog_shim.cpp.

571 {
572  if( aEvt.GetKeyCode() == 'U' && aEvt.GetModifiers() == wxMOD_CONTROL )
573  {
574  if( m_parentFrame )
575  {
577  return;
578  }
579  }
580  // shift-return (Mac default) or Ctrl-Return (GTK) for OK
581  else if( aEvt.GetKeyCode() == WXK_RETURN && ( aEvt.ShiftDown() || aEvt.ControlDown() ) )
582  {
583  wxPostEvent( this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
584  return;
585  }
586  else if( aEvt.GetKeyCode() == WXK_TAB && !aEvt.ControlDown() )
587  {
588  wxWindow* currentWindow = wxWindow::FindFocus();
589  int currentIdx = -1;
590  int delta = aEvt.ShiftDown() ? -1 : 1;
591 
592  auto advance = [&]( int& idx )
593  {
594  // Wrap-around modulus
595  int size = m_tabOrder.size();
596  idx = ( ( idx + delta ) % size + size ) % size;
597  };
598 
599  for( size_t i = 0; i < m_tabOrder.size(); ++i )
600  {
601  if( m_tabOrder[i] == currentWindow )
602  {
603  currentIdx = (int) i;
604  break;
605  }
606  }
607 
608  if( currentIdx >= 0 )
609  {
610  advance( currentIdx );
611 
612  //todo: We don't currently have non-textentry dialog boxes but this will break if
613  // we add them.
614 #ifdef __APPLE__
615  while( dynamic_cast<wxTextEntry*>( m_tabOrder[ currentIdx ] ) == nullptr )
616  advance( currentIdx );
617 #endif
618 
619  m_tabOrder[ currentIdx ]->SetFocus();
620  return;
621  }
622  }
623 
624  aEvt.Skip();
625 }
std::vector< wxWindow * > m_tabOrder
Definition: dialog_shim.h:220
EDA_BASE_FRAME * m_parentFrame
Definition: dialog_shim.h:218
virtual void ToggleUserUnits()
constexpr int delta

References delta, DIALOG_SHIM::m_parentFrame, DIALOG_SHIM::m_tabOrder, and EDA_BASE_FRAME::ToggleUserUnits().

Referenced by DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), and DIALOG_TEXT_PROPERTIES::~DIALOG_TEXT_PROPERTIES().

◆ onCornerRadiusChange()

virtual void DIALOG_PAD_PROPERTIES_BASE::onCornerRadiusChange ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 245 of file dialog_pad_properties_base.h.

245 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ onCornerSizePercentChange()

virtual void DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 244 of file dialog_pad_properties_base.h.

244 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ onDeletePrimitive()

virtual void DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 258 of file dialog_pad_properties_base.h.

258 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnDrillShapeSelected()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 247 of file dialog_pad_properties_base.h.

247 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ onDuplicatePrimitive()

virtual void DIALOG_PAD_PROPERTIES_BASE::onDuplicatePrimitive ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 256 of file dialog_pad_properties_base.h.

256 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ onEditPrimitive()

virtual void DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 255 of file dialog_pad_properties_base.h.

255 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ onGeometryTransform()

virtual void DIALOG_PAD_PROPERTIES_BASE::onGeometryTransform ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 257 of file dialog_pad_properties_base.h.

257 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnInitDialog()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnInitDialog ( wxInitDialogEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 238 of file dialog_pad_properties_base.h.

238 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnModify()

◆ OnOffsetCheckbox()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnOffsetCheckbox ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 248 of file dialog_pad_properties_base.h.

248 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnPadShapeSelection()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnPadShapeSelection ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 242 of file dialog_pad_properties_base.h.

242 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnPadToDieCheckbox()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnPadToDieCheckbox ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 249 of file dialog_pad_properties_base.h.

249 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 380 of file dialog_shim.cpp.

381 {
382  if( m_firstPaintEvent )
383  {
385 
386  selectAllInTextCtrls( GetChildren() );
387 
390  else
391  KIPLATFORM::UI::ForceFocus( this ); // Focus the dialog itself
392 
393  m_firstPaintEvent = false;
394  }
395 
396  event.Skip();
397 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:211
bool m_firstPaintEvent
Definition: dialog_shim.h:210
void ForceFocus(wxWindow *aWindow)
Pass the current focus to the window.
Definition: gtk/ui.cpp:44
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:71
static void selectAllInTextCtrls(wxWindowList &children)

References KIPLATFORM::UI::FixupCancelButtonCmdKeyCollision(), KIPLATFORM::UI::ForceFocus(), DIALOG_SHIM::m_firstPaintEvent, DIALOG_SHIM::m_initialFocusTarget, and selectAllInTextCtrls().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ onPrimitiveDClick()

virtual void DIALOG_PAD_PROPERTIES_BASE::onPrimitiveDClick ( wxMouseEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 252 of file dialog_pad_properties_base.h.

252 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnPrimitiveSelection()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ( wxListEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 253 of file dialog_pad_properties_base.h.

253 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnSetCopperLayers()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnSetCopperLayers ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 250 of file dialog_pad_properties_base.h.

250 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnSetLayers()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 243 of file dialog_pad_properties_base.h.

243 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnUpdateUI()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnUpdateUI ( wxUpdateUIEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 239 of file dialog_pad_properties_base.h.

239 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnUpdateUINonCopperWarning()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnUpdateUINonCopperWarning ( wxUpdateUIEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 251 of file dialog_pad_properties_base.h.

251 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ OnValuesChanged()

virtual void DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 241 of file dialog_pad_properties_base.h.

241 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ PadOrientEvent()

virtual void DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 246 of file dialog_pad_properties_base.h.

246 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ PadTypeSelected()

virtual void DIALOG_PAD_PROPERTIES_BASE::PadTypeSelected ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 240 of file dialog_pad_properties_base.h.

240 { event.Skip(); }

Referenced by DIALOG_PAD_PROPERTIES_BASE(), and ~DIALOG_PAD_PROPERTIES_BASE().

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Return a reference to the PROJECT associated with this KIWAY.

Definition at line 36 of file kiway_holder.cpp.

37 {
38  return Kiway().Prj();
39 }
KIWAY & Kiway() const
Return a reference to the KIWAY that this object has an opportunity to participate in.
Definition: kiway_holder.h:53
virtual PROJECT & Prj() const
Return the PROJECT associated with this KIWAY.
Definition: kiway.cpp:190

References KIWAY_HOLDER::Kiway(), and KIWAY::Prj().

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), SYMBOL_LIBRARY_MANAGER::addLibrary(), SYMBOL_EDIT_FRAME::addLibTableEntry(), SCH_EDIT_FRAME::AppendSchematic(), AskSaveBoardFileName(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLibrariesListBox(), SIM_PLOT_FRAME::canCloseWindow(), PANEL_FP_PROPERTIES_3D_MODEL::Cfg3DPath(), KICAD_MANAGER_FRAME::CloseProject(), DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), PCB_BASE_EDIT_FRAME::createNewLibrary(), PCB_BASE_EDIT_FRAME::CreateNewProjectLibrary(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_EDIT_FRAME::CreateScreens(), FOOTPRINT_EDIT_FRAME::DeleteFootprintFromLibrary(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_REANNOTATE::DIALOG_BOARD_REANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), PL_DRAW_PANEL_GAL::DisplayDrawingSheet(), FOOTPRINT_PREVIEW_PANEL::DisplayFootprint(), SYMBOL_VIEWER_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PCB_EDIT_FRAME::doAutoSave(), SCH_EDIT_FRAME::doAutoSave(), PCB_BASE_EDIT_FRAME::doCloseWindow(), FOOTPRINT_EDIT_FRAME::doCloseWindow(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::ExportFootprintsToLibrary(), BOARD_EDITOR_CONTROL::ExportNetlist(), DIALOG_EXPORT_SVG::ExportSVGFile(), SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG(), SYMBOL_EDITOR_CONTROL::ExportView(), PCB_EDIT_FRAME::ExportVRML_File(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DIALOG_GENDRILL::GenDrillAndMapFiles(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), SYMBOL_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), SIM_PLOT_FRAME::getDefaultFilename(), SIM_PLOT_FRAME::getDefaultPath(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), DISPLAY_FOOTPRINTS_FRAME::GetFootprint(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), SCH_BASE_FRAME::GetLibSymbol(), DIALOG_PLOT_SCHEMATIC::getOutputPath(), KICAD_MANAGER_FRAME::GetProjectFileName(), SCH_EDIT_FRAME::GetSchematicJunctionSize(), SYMBOL_VIEWER_FRAME::GetSelectedSymbol(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), DIALOG_CONFIG_EQUFILES::Init(), FOOTPRINT_EDIT_FRAME::initLibraryTree(), SCH_EDIT_FRAME::KiwayMailIn(), SYMBOL_EDIT_FRAME::KiwayMailIn(), EDA_DRAW_FRAME::LibraryFileBrowser(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProjectSettings(), PCB_EDIT_FRAME::LoadProjectSettings(), SIM_PLOT_FRAME::LoadSettings(), SCH_EDIT_FRAME::LoadSheetFromFile(), SYMBOL_EDIT_FRAME::LoadSymbolFromCurrentLib(), EDA_BASE_FRAME::LoadWindowState(), SIM_PLOT_FRAME::loadWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbook(), SIM_PLOT_FRAME::menuSaveWorkbookAs(), PANEL_FP_PROPERTIES_3D_MODEL::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), PANEL_FP_PROPERTIES_3D_MODEL::OnAdd3DModel(), DIALOG_BOARD_SETUP::OnAuxiliaryAction(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_SYMBOLS_LIBID::onClickOrphansButton(), DIALOG_EXPORT_STEP::onExportButton(), DIALOG_GENDRILL::OnGenReportFile(), KICAD_MANAGER_FRAME::OnIdle(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_SYMBOL::OnInitDialog(), DIALOG_CONFIG_EQUFILES::OnOkClick(), SCH_EDIT_FRAME::OnOpenCvpcb(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_SCHEMATIC_SETUP::OnPageChange(), DIALOG_BOARD_SETUP::OnPageChange(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), DIALOG_TEXT_AND_LABEL_PROPERTIES::onScintillaCharAdded(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_SCH_FIELD_PROPERTIES::onScintillaCharAdded(), DIALOG_SPICE_MODEL::onSelectLibrary(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::OpenProjectFiles(), PANEL_FP_PROPERTIES_3D_MODEL::PANEL_FP_PROPERTIES_3D_MODEL(), PANEL_PREVIEW_3D_MODEL::PANEL_PREVIEW_3D_MODEL(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_CONTROL::PasteFootprint(), SCH_BASE_FRAME::PickSymbolFromLibTree(), DIALOG_PLOT::Plot(), DIALOG_PLOT_SCHEMATIC::plotOneSheetDXF(), DIALOG_PLOT_SCHEMATIC::plotOneSheetHpgl(), DIALOG_CHOOSE_SYMBOL::PopulateFootprintSelector(), SCH_EDITOR_CONTROL::Print(), EDA_DRAW_FRAME::PrintDrawingSheet(), SCH_EDIT_FRAME::PrintPage(), KICAD_MANAGER_FRAME::PrintPrjInfo(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), SYMBOL_VIEWER_FRAME::ReCreateLibList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), SYMBOL_VIEWER_FRAME::ReCreateSymbolList(), PANEL_FP_PROPERTIES_3D_MODEL::ReloadModelsFromFootprint(), EDA_3D_VIEWER_FRAME::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SYMBOL_EDIT_FRAME::replaceLibTableEntry(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), FOOTPRINT_EDITOR_CONTROL::SaveAs(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), SYMBOL_EDIT_FRAME::saveLibrary(), PCB_EDIT_FRAME::SavePcbFile(), SCH_EDIT_FRAME::SaveProject(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), SCH_EDIT_FRAME::saveSchematicFile(), SIM_PLOT_FRAME::SaveSettings(), EDA_BASE_FRAME::SaveSettings(), SYMBOL_EDIT_FRAME::saveSymbolAs(), SCH_BASE_FRAME::saveSymbolLibTables(), SIM_PLOT_FRAME::saveWorkbook(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), PCB_BASE_FRAME::SelectLibrary(), SYMBOL_EDIT_FRAME::SelectLibraryFromList(), PCB_BASE_EDIT_FRAME::selectLibTable(), SYMBOL_EDIT_FRAME::selectSymLibTable(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), SYMBOL_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), SYMBOL_EDIT_FRAME::SetCurSymbol(), GERBVIEW_FRAME::SetPageSettings(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_SYMBOL::ShowFootprintFor(), COMMON_CONTROL::ShowHelp(), SYMBOL_VIEWER_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SYMBOL_LIBRARY_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER_FRAME::takeScreenshot(), PANEL_SETUP_RULES::TransferDataFromWindow(), DIALOG_SHEET_PROPERTIES::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_EDIT_SYMBOLS_LIBID::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), SCH_EDIT_FRAME::updateAutoSaveFile(), DIALOG_PAGES_SETTINGS::UpdateDrawingSheetExample(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), SIM_PLOT_FRAME::updateTitle(), FOOTPRINT_EDIT_FRAME::UpdateTitle(), SCH_EDIT_FRAME::UpdateTitle(), PANEL_FP_PROPERTIES_3D_MODEL::validateModelExists(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_PROPERTIES::~DIALOG_FOOTPRINT_PROPERTIES(), PANEL_FP_PROPERTIES_3D_MODEL::~PANEL_FP_PROPERTIES_3D_MODEL(), and SCH_EDIT_FRAME::~SCH_EDIT_FRAME().

◆ resetSize()

void DIALOG_SHIM::resetSize ( )
protectedinherited

Clear the existing dialog size and position.

This will cause the dialog size to be clear so the next time the dialog is shown the sizers will layout the dialog accordingly. This useful when there are dialog windows that size changes due to layout dependency hidden controls.

Definition at line 287 of file dialog_shim.cpp.

288 {
289  const char* hash_key;
290 
291  if( m_hash_key.size() )
292  {
293  // a special case like EDA_LIST_DIALOG, which has multiple uses.
294  hash_key = m_hash_key.c_str();
295  }
296  else
297  {
298  hash_key = typeid(*this).name();
299  }
300 
301  std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
302 
303  if( it == class_map.end() )
304  return;
305 
306  wxRect rect = it->second;
307  rect.SetSize( wxSize( 0, 0 ) );
308  class_map[ hash_key ] = rect;
309 }
std::string m_hash_key
Definition: dialog_shim.h:201
static std::unordered_map< std::string, wxRect > class_map

References class_map, and DIALOG_SHIM::m_hash_key.

Referenced by DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES().

◆ SetInitialFocus()

void DIALOG_SHIM::SetInitialFocus ( wxWindow *  aWindow)
inlineinherited

Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.

Definition at line 97 of file dialog_shim.h.

98  {
99  m_initialFocusTarget = aWindow;
100  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:211

References DIALOG_SHIM::m_initialFocusTarget.

Referenced by DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_FIND::DIALOG_FIND(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LINE_WIRE_BUS_PROPERTIES::DIALOG_LINE_WIRE_BUS_PROPERTIES(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_SCH_FIND::DIALOG_SCH_FIND(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_AND_LABEL_PROPERTIES::DIALOG_TEXT_AND_LABEL_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDA_VIEW_SWITCHER::EDA_VIEW_SWITCHER(), HK_PROMPT_DIALOG::HK_PROMPT_DIALOG(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchAllClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchIDClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchRefClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchSelectedClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchValueClicked(), PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), SYMBOL_EDIT_FRAME::saveSymbolAs(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), DIALOG_RULE_AREA_PROPERTIES::TransferDataToWindow(), DIALOG_COPPER_ZONE::TransferDataToWindow(), and WX_TEXT_ENTRY_DIALOG::WX_TEXT_ENTRY_DIALOG().

◆ SetKiway()

void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

It is only used for debugging, since "this" is not a wxWindow*.

"this" is a KIWAY_HOLDER mix-in.

Parameters
aDestis the recipient of aKiway pointer.
aKiwayis often from a parent window or from KIFACE::CreateWindow().

Definition at line 43 of file kiway_holder.cpp.

44 {
45 #if defined(DEBUG)
46  // offer a trap point for debugging most any window
47  wxASSERT( aDest );
48  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
49  {
50  int breakhere=1;
51  ignore_unused( breakhere );
52  }
53 #endif
54 
55  ignore_unused( aDest );
56 
57  m_kiway = aKiway;
58 }
KIWAY * m_kiway
Definition: kiway_holder.h:75
const char * name
Definition: DXF_plotter.cpp:56
void ignore_unused(const T &)
Definition: ignore.h:24

References ignore_unused(), KIWAY_HOLDER::m_kiway, and name.

Referenced by BM2CMP_FRAME::BM2CMP_FRAME(), PCB::IFACE::CreateWindow(), InvokePcbLibTableEditor(), InvokeSchEditSymbolLibTable(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

◆ SetPosition()

void DIALOG_SHIM::SetPosition ( const wxPoint &  aNewPosition)
inherited

Force the position of the dialog to a new position.

Parameters
aNewPositionis the new forced position

Definition at line 190 of file dialog_shim.cpp.

191 {
192  wxDialog::SetPosition( aNewPosition );
193 
194  // Now update the stored position:
195  const char* hash_key;
196 
197  if( m_hash_key.size() )
198  {
199  // a special case like EDA_LIST_DIALOG, which has multiple uses.
200  hash_key = m_hash_key.c_str();
201  }
202  else
203  {
204  hash_key = typeid(*this).name();
205  }
206 
207  std::unordered_map<std::string, wxRect>::iterator it = class_map.find( hash_key );
208 
209  if( it == class_map.end() )
210  return;
211 
212  wxRect rect = it->second;
213  rect.SetPosition( aNewPosition );
214 
215  class_map[ hash_key ] = rect;
216 }
std::string m_hash_key
Definition: dialog_shim.h:201
static std::unordered_map< std::string, wxRect > class_map
void SetPosition(const wxString &aStr, const wxString &aDefaultMeasurementUnit, int *aX, int *aY, const wxString &aActualConversion)

References class_map, DIALOG_SHIM::m_hash_key, and PCAD2KICAD::SetPosition().

Referenced by PCB_BASE_FRAME::SelectOneLayer().

◆ setSizeInDU()

void DIALOG_SHIM::setSizeInDU ( int  x,
int  y 
)
protectedinherited

Set the dialog to the given dimensions in "dialog units".

These are units equivalent to 4* the average character width and 8* the average character height, allowing a dialog to be sized in a way that scales it with the system font.

Definition at line 162 of file dialog_shim.cpp.

163 {
164  wxSize sz( x, y );
165  SetSize( ConvertDialogToPixels( sz ) );
166 }

Referenced by DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), and HTML_MESSAGE_BOX::SetDialogSizeInDU().

◆ Show()

bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 219 of file dialog_shim.cpp.

220 {
221  bool ret;
222  const char* hash_key;
223 
224  if( m_hash_key.size() )
225  {
226  // a special case like EDA_LIST_DIALOG, which has multiple uses.
227  hash_key = m_hash_key.c_str();
228  }
229  else
230  {
231  hash_key = typeid(*this).name();
232  }
233 
234  // Show or hide the window. If hiding, save current position and size.
235  // If showing, use previous position and size.
236  if( show )
237  {
238 #ifndef __WINDOWS__
239  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
240 #endif
241  ret = wxDialog::Show( show );
242 
243  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
244  wxRect savedDialogRect = class_map[ hash_key ];
245 
246  if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
247  {
248  if( m_useCalculatedSize )
249  {
250  SetSize( savedDialogRect.GetPosition().x, savedDialogRect.GetPosition().y,
251  wxDialog::GetSize().x, wxDialog::GetSize().y, 0 );
252  }
253  else
254  {
255  SetSize( savedDialogRect.GetPosition().x, savedDialogRect.GetPosition().y,
256  std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
257  std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
258  0 );
259  }
260  }
261  else if( m_initialSize != wxDefaultSize )
262  SetSize( m_initialSize );
263 
264  // Be sure that the dialog appears in a visible area
265  // (the dialog position might have been stored at the time when it was
266  // shown on another display)
267  if( wxDisplay::GetFromWindow( this ) == wxNOT_FOUND )
268  Centre();
269  }
270  else
271  {
272  // Save the dialog's position & size before hiding, using classname as key
273  class_map[ hash_key ] = wxRect( wxDialog::GetPosition(), wxDialog::GetSize() );
274 
275 #ifdef __WXMAC__
276  if ( m_eventLoop )
277  m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
278 #endif
279 
280  ret = wxDialog::Show( show );
281  }
282 
283  return ret;
284 }
std::string m_hash_key
Definition: dialog_shim.h:201
static std::unordered_map< std::string, wxRect > class_map
bool m_useCalculatedSize
Definition: dialog_shim.h:205
wxSize m_initialSize
Definition: dialog_shim.h:223

References class_map, DIALOG_SHIM::m_hash_key, DIALOG_SHIM::m_initialSize, and DIALOG_SHIM::m_useCalculatedSize.

Referenced by FOOTPRINT_EDITOR_CONTROL::CheckFootprint(), DRC_TOOL::CrossProbe(), DIALOG_SHIM::EndQuasiModal(), GROUP_TOOL::GroupProperties(), EE_INSPECTION_TOOL::NextMarker(), DRC_TOOL::NextMarker(), SCH_EDIT_FRAME::OnAnnotate(), DIALOG_DRC::OnDRCItemDClick(), DIALOG_ERC::OnERCItemDClick(), DIALOG_CLEANUP_GRAPHICS::OnLeftDClickItem(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnLeftDClickItem(), DIALOG_FOOTPRINT_CHECKER::OnLeftDClickItem(), GROUP_TOOL::PickNewMember(), POSITION_RELATIVE_TOOL::PositionRelative(), EE_INSPECTION_TOOL::PrevMarker(), DRC_TOOL::PrevMarker(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), EDA_VIEW_SWITCHER::Show(), DIALOG_PAD_PROPERTIES::Show(), DRC_TOOL::ShowDRCDialog(), EE_INSPECTION_TOOL::ShowERCDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), HTML_MESSAGE_BOX::ShowModeless(), DIALOG_SHIM::ShowQuasiModal(), DIALOG_POSITION_RELATIVE::UpdateAnchor(), and SCH_EDIT_FRAME::UpdateHierarchyNavigator().

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 430 of file dialog_shim.cpp.

431 {
432  // This is an exception safe way to zero a pointer before returning.
433  // Yes, even though DismissModal() clears this first normally, this is
434  // here in case there's an exception before the dialog is dismissed.
435  struct NULLER
436  {
437  void*& m_what;
438  NULLER( void*& aPtr ) : m_what( aPtr ) {}
439  ~NULLER() { m_what = nullptr; } // indeed, set it to NULL on destruction
440  } clear_this( (void*&) m_qmodal_loop );
441 
442  // release the mouse if it's currently captured as the window having it
443  // will be disabled when this dialog is shown -- but will still keep the
444  // capture making it impossible to do anything in the modal dialog itself
445  wxWindow* win = wxWindow::GetCapture();
446  if( win )
447  win->ReleaseMouse();
448 
449  // Get the optimal parent
450  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
451 
452  wxASSERT_MSG( !m_qmodal_parent_disabler,
453  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
454 
455  // quasi-modal: disable only my "optimal" parent
457 
458  // Apple in its infinite wisdom will raise a disabled window before even passing
459  // us the event, so we have no way to stop it. Instead, we must set an order on
460  // the windows so that the quasi-modal will be pushed in front of the disabled
461  // window when it is raised.
463 
464  Show( true );
465 
466  m_qmodal_showing = true;
467 
468  WX_EVENT_LOOP event_loop;
469 
470  m_qmodal_loop = &event_loop;
471 
472  event_loop.Run();
473 
474  m_qmodal_showing = false;
475 
476  return GetReturnCode();
477 }
bool m_qmodal_showing
Definition: dialog_shim.h:215
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:213
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:216
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:44
void ReparentQuasiModal(wxNonOwnedWindow *aWindow)
Move a window's parent to be the top-level window and force the window to be on top.
Definition: gtk/ui.cpp:65

References DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, KIPLATFORM::UI::ReparentQuasiModal(), DIALOG_SHIM::Show(), and WX_EVENT_LOOP.

Referenced by SCH_EDIT_TOOL::ChangeSymbols(), S3D::Configure3DPaths(), COMMON_CONTROL::ConfigurePaths(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_DRAWING_TOOLS::createNewText(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), SCH_EDITOR_CONTROL::EditSymbolFields(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), InvokeCopperZonesEditor(), InvokeDialogCreateBOM(), InvokeDialogEditSymbolsLibId(), InvokeDialogRescueEach(), InvokeNonCopperZonesEditor(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::RemapSymbols(), S3D::Select3DModel(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowDimensionPropertiesDialog(), PCB_EDIT_FRAME::ShowExchangeFootprintsDialog(), PCB_EDIT_FRAME::ShowFootprintPropertiesDialog(), PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog(), PCB_BASE_FRAME::ShowPadPropertiesDialog(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), and PCB_BASE_EDIT_FRAME::ShowTextPropertiesDialog().

◆ vertPixelsFromDU()

int DIALOG_SHIM::vertPixelsFromDU ( int  y) const
protectedinherited

Convert an integer number of dialog units to pixels, vertically.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 176 of file dialog_shim.cpp.

177 {
178  wxSize sz( 0, y );
179  return ConvertDialogToPixels( sz ).y;
180 }

Referenced by DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

Member Data Documentation

◆ fgSizerRoundingProps

wxFlexGridSizer* DIALOG_PAD_PROPERTIES_BASE::fgSizerRoundingProps
protected

Definition at line 92 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ fgSizerTrapProps

wxFlexGridSizer* DIALOG_PAD_PROPERTIES_BASE::fgSizerTrapProps
protected

Definition at line 85 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_boardViewPanel

wxPanel* DIALOG_PAD_PROPERTIES_BASE::m_boardViewPanel
protected

◆ m_bSizerPanelPrimitives

wxBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_bSizerPanelPrimitives
protected

Definition at line 204 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_buttonAddShape

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonAddShape
protected

◆ m_buttonDel

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonDel
protected

◆ m_buttonDup

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonDup
protected

◆ m_buttonEditShape

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonEditShape
protected

◆ m_buttonGeometry

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonGeometry
protected

◆ m_cb_padrotation

wxComboBox* DIALOG_PAD_PROPERTIES_BASE::m_cb_padrotation
protected

◆ m_cbBottomLeft

◆ m_cbBottomLeft1

wxCheckBox* DIALOG_PAD_PROPERTIES_BASE::m_cbBottomLeft1
protected

◆ m_cbBottomRight

◆ m_cbBottomRight1

wxCheckBox* DIALOG_PAD_PROPERTIES_BASE::m_cbBottomRight1
protected

◆ m_cbShowPadOutline

◆ m_cbTopLeft

◆ m_cbTopLeft1

wxCheckBox* DIALOG_PAD_PROPERTIES_BASE::m_cbTopLeft1
protected

◆ m_cbTopRight

◆ m_cbTopRight1

wxCheckBox* DIALOG_PAD_PROPERTIES_BASE::m_cbTopRight1
protected

◆ m_chamferProps

wxPanel* DIALOG_PAD_PROPERTIES_BASE::m_chamferProps
protected

Definition at line 99 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_chamferRatioCtrl

TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_chamferRatioCtrl
protected

◆ m_chamferRatioLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_chamferRatioLabel
protected

Definition at line 100 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_chamferRatioUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_chamferRatioUnits
protected

Definition at line 102 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_choiceFabProperty

wxChoice* DIALOG_PAD_PROPERTIES_BASE::m_choiceFabProperty
protected

◆ m_clearanceCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_clearanceCtrl
protected

◆ m_clearanceLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_clearanceLabel
protected

Definition at line 175 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_clearanceUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_clearanceUnits
protected

Definition at line 177 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_copperLayersLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_copperLayersLabel
protected

◆ m_cornerRadiusCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_cornerRadiusCtrl
protected

◆ m_cornerRadiusLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_cornerRadiusLabel
protected

Definition at line 96 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_cornerRadiusUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_cornerRadiusUnits
protected

Definition at line 98 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_cornerRatioCtrl

TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_cornerRatioCtrl
protected

◆ m_cornerRatioLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_cornerRatioLabel
protected

Definition at line 93 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_cornerRatioUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_cornerRatioUnits
protected

Definition at line 95 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_emptyProps

wxPanel* DIALOG_PAD_PROPERTIES_BASE::m_emptyProps
protected

Definition at line 83 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 210 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_FlippedWarningIcon

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_FlippedWarningIcon
protected

◆ m_FlippedWarningSizer

wxBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_FlippedWarningSizer
protected

◆ m_hash_key

◆ m_holeShapeCtrl

◆ m_holeShapeLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_holeShapeLabel
protected

◆ m_holeXCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_holeXCtrl
protected

◆ m_holeXLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_holeXLabel
protected

Definition at line 132 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_holeXUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_holeXUnits
protected

Definition at line 134 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_holeYCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_holeYCtrl
protected

◆ m_holeYLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_holeYLabel
protected

Definition at line 135 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_holeYUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_holeYUnits
protected

Definition at line 137 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 211 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint(), and DIALOG_SHIM::SetInitialFocus().

◆ m_initialSize

wxSize DIALOG_SHIM::m_initialSize
protectedinherited

Definition at line 223 of file dialog_shim.h.

Referenced by DIALOG_SHIM::Show().

◆ m_LeftBoxSizer

wxBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_LeftBoxSizer
protected

Definition at line 65 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_listCtrlPrimitives

◆ m_localSettingsPanel

◆ m_locked

◆ m_MainSizer

wxBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_MainSizer
protected

◆ m_maskMarginCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_maskMarginCtrl
protected

Definition at line 179 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_maskMarginLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_maskMarginLabel
protected

Definition at line 178 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_maskMarginUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_maskMarginUnits
protected

Definition at line 180 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_middleBoxSizer

wxBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_middleBoxSizer
protected

Definition at line 152 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_mixedChamferRatioCtrl

TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_mixedChamferRatioCtrl
protected

◆ m_mixedChamferRatioLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_mixedChamferRatioLabel
protected

Definition at line 109 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_mixedChamferRatioUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_mixedChamferRatioUnits
protected

Definition at line 111 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_mixedCornerRatioCtrl

TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_mixedCornerRatioCtrl
protected

◆ m_mixedCornerRatioLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_mixedCornerRatioLabel
protected

Definition at line 117 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_mixedCornerRatioUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_mixedCornerRatioUnits
protected

Definition at line 119 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_mixedProps

wxPanel* DIALOG_PAD_PROPERTIES_BASE::m_mixedProps
protected

Definition at line 108 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_nonCopperNote

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_nonCopperNote
protected

◆ m_nonCopperWarningBook

wxSimplebook* DIALOG_PAD_PROPERTIES_BASE::m_nonCopperWarningBook
protected

◆ m_nonCopperWarningIcon

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_nonCopperWarningIcon
protected

◆ m_nonCopperWarningText

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_nonCopperWarningText
protected

Definition at line 191 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_notebook

wxNotebook* DIALOG_PAD_PROPERTIES_BASE::m_notebook
protected

◆ m_offsetCtrls

wxFlexGridSizer* DIALOG_PAD_PROPERTIES_BASE::m_offsetCtrls
protected

◆ m_offsetShapeOpt

◆ m_offsetShapeOptLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_offsetShapeOptLabel
protected

◆ m_offsetXCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_offsetXCtrl
protected

◆ m_offsetXLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_offsetXLabel
protected

Definition at line 142 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_offsetXUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_offsetXUnits
protected

Definition at line 144 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_offsetYCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_offsetYCtrl
protected

◆ m_offsetYLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_offsetYLabel
protected

Definition at line 145 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_offsetYUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_offsetYUnits
protected

Definition at line 147 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_orientationUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_orientationUnits
protected

Definition at line 128 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_PadLayerAdhCmp

◆ m_PadLayerAdhCu

◆ m_PadLayerDraft

◆ m_PadLayerECO1

◆ m_PadLayerECO2

◆ m_PadLayerMaskCmp

◆ m_PadLayerMaskCu

◆ m_PadLayerPateCmp

◆ m_PadLayerPateCu

◆ m_PadLayerSilkCmp

◆ m_PadLayerSilkCu

◆ m_padNetLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_padNetLabel
protected

◆ m_padNetSelector

◆ m_padNumCtrl

◆ m_padNumLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_padNumLabel
protected

◆ m_PadOrientText

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadOrientText
protected

Definition at line 126 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_padPreviewSizer

wxBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_padPreviewSizer
protected

◆ m_PadShapeSelector

◆ m_padToDieCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_padToDieCtrl
protected

Definition at line 150 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_padToDieLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_padToDieLabel
protected

Definition at line 149 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_padToDieOpt

◆ m_padToDieUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_padToDieUnits
protected

Definition at line 151 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_padType

◆ m_padTypeLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_padTypeLabel
protected

Definition at line 66 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_panelCustomShapePrimitives

wxPanel* DIALOG_PAD_PROPERTIES_BASE::m_panelCustomShapePrimitives
protected

Definition at line 203 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_panelGeneral

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

◆ m_parentInfo

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_parentInfo
protected

◆ m_pasteMarginCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_pasteMarginCtrl
protected

Definition at line 182 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_pasteMarginLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_pasteMarginLabel
protected

Definition at line 181 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_pasteMarginRatioCtrl

TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_pasteMarginRatioCtrl
protected

Definition at line 185 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_pasteMarginRatioLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_pasteMarginRatioLabel
protected

Definition at line 184 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_pasteMarginRatioUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_pasteMarginRatioUnits
protected

Definition at line 186 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_pasteMarginUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_pasteMarginUnits
protected

Definition at line 183 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_posXCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_posXCtrl
protected

Definition at line 73 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_posXLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_posXLabel
protected

Definition at line 72 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_posXUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_posXUnits
protected

Definition at line 74 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_posYCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_posYCtrl
protected

Definition at line 76 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_posYLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_posYLabel
protected

Definition at line 75 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_posYUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_posYUnits
protected

Definition at line 77 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 213 of file dialog_shim.h.

Referenced by DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_qmodal_parent_disabler

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited

◆ m_qmodal_showing

bool DIALOG_SHIM::m_qmodal_showing
protectedinherited

Definition at line 215 of file dialog_shim.h.

Referenced by DIALOG_SHIM::IsQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_rbCopperLayersSel

◆ m_roudingProps

wxPanel* DIALOG_PAD_PROPERTIES_BASE::m_roudingProps
protected

Definition at line 91 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_sbSizerZonesSettings

wxStaticBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_sbSizerZonesSettings
protected

Definition at line 192 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_sdbSizer

wxStdDialogButtonSizer* DIALOG_PAD_PROPERTIES_BASE::m_sdbSizer
protected

Definition at line 233 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_sdbSizerCancel

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_sdbSizerCancel
protected

◆ m_sdbSizerOK

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_sdbSizerOK
protected

◆ m_shapeLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_shapeLabel
protected

Definition at line 80 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_shapePropsBook

wxSimplebook* DIALOG_PAD_PROPERTIES_BASE::m_shapePropsBook
protected

◆ m_sizeXCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_sizeXCtrl
protected

◆ m_sizeXLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_sizeXLabel
protected

Definition at line 120 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_sizeXUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_sizeXUnits
protected

Definition at line 122 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_sizeYCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_sizeYCtrl
protected

◆ m_sizeYLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_sizeYLabel
protected

Definition at line 123 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_sizeYUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_sizeYUnits
protected

Definition at line 125 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_spokeWidthCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_spokeWidthCtrl
protected

Definition at line 196 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_spokeWidthLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_spokeWidthLabel
protected

Definition at line 195 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_spokeWidthUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_spokeWidthUnits
protected

Definition at line 197 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_stackupImage0

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_stackupImage0
protected

◆ m_stackupImage1

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_stackupImage1
protected

◆ m_stackupImage2

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_stackupImage2
protected

◆ m_stackupImage4

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_stackupImage4
protected

◆ m_stackupImage5

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_stackupImage5
protected

◆ m_stackupImage6

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_stackupImage6
protected

◆ m_stackupImage7

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_stackupImage7
protected

◆ m_stackupImagesBook

wxSimplebook* DIALOG_PAD_PROPERTIES_BASE::m_stackupImagesBook
protected

◆ m_staticline5

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline5
protected

Definition at line 79 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_staticline6

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline6
protected

Definition at line 129 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_staticline7

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline7
protected

Definition at line 138 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_staticText40

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText40
protected

Definition at line 193 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_staticText86

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText86
protected

Definition at line 155 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_staticTextChamferCorner

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextChamferCorner
protected

Definition at line 103 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_staticTextChamferCorner1

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextChamferCorner1
protected

Definition at line 112 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_staticTextcps

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextcps
protected

◆ m_staticTextFabProperty

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextFabProperty
protected

Definition at line 170 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_staticTextInfoNegVal

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextInfoNegVal
protected

◆ m_staticTextInfoPaste

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextInfoPaste
protected

◆ m_staticTextInfoPosValue

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextInfoPosValue
protected

◆ m_staticTextPrimitiveListWarning

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextPrimitiveListWarning
protected

◆ m_staticTextPrimitivesList

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextPrimitivesList
protected

Definition at line 205 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_tabOrder

◆ m_techLayersLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_techLayersLabel
protected

◆ m_thermalGapCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_thermalGapCtrl
protected

Definition at line 199 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_thermalGapLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_thermalGapLabel
protected

Definition at line 198 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_thermalGapUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_thermalGapUnits
protected

Definition at line 200 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_trapAxisCtrl

wxChoice* DIALOG_PAD_PROPERTIES_BASE::m_trapAxisCtrl
protected

◆ m_trapAxisLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_trapAxisLabel
protected

Definition at line 89 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_trapDeltaCtrl

wxTextCtrl* DIALOG_PAD_PROPERTIES_BASE::m_trapDeltaCtrl
protected

◆ m_trapDeltaLabel

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_trapDeltaLabel
protected

Definition at line 86 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_trapDeltaUnits

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_trapDeltaUnits
protected

Definition at line 88 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_trapProps

wxPanel* DIALOG_PAD_PROPERTIES_BASE::m_trapProps
protected

Definition at line 84 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ m_units

◆ m_useCalculatedSize

bool DIALOG_SHIM::m_useCalculatedSize
protectedinherited

◆ m_ZoneConnectionChoice

wxChoice* DIALOG_PAD_PROPERTIES_BASE::m_ZoneConnectionChoice
protected

◆ m_ZoneCustomPadShape

wxChoice* DIALOG_PAD_PROPERTIES_BASE::m_ZoneCustomPadShape
protected

◆ page0

wxPanel* DIALOG_PAD_PROPERTIES_BASE::page0
protected

Definition at line 214 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ page1

wxPanel* DIALOG_PAD_PROPERTIES_BASE::page1
protected

Definition at line 216 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ page2

wxPanel* DIALOG_PAD_PROPERTIES_BASE::page2
protected

Definition at line 218 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ page3

wxPanel* DIALOG_PAD_PROPERTIES_BASE::page3
protected

Definition at line 220 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ page4

wxPanel* DIALOG_PAD_PROPERTIES_BASE::page4
protected

Definition at line 221 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ page5

wxPanel* DIALOG_PAD_PROPERTIES_BASE::page5
protected

Definition at line 223 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ page6

wxPanel* DIALOG_PAD_PROPERTIES_BASE::page6
protected

Definition at line 225 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

◆ page7

wxPanel* DIALOG_PAD_PROPERTIES_BASE::page7
protected

Definition at line 227 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().


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