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 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 ()
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal ()
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
KIWAYKiway () const
 Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Function Prj returns a reference to the PROJECT "associated with" this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 Function SetKiway. More...
 

Protected Types

enum  { wxID_DIALOG_EDIT_PAD = 1000, wxID_PADNUMCTRL, wxID_PADNETNAMECTRL }
 

Protected Member Functions

virtual void OnInitDialog (wxInitDialogEvent &event)
 
virtual void OnValuesChanged (wxCommandEvent &event)
 
virtual void PadTypeSelected (wxCommandEvent &event)
 
virtual void OnPadShapeSelection (wxCommandEvent &event)
 
virtual void PadOrientEvent (wxCommandEvent &event)
 
virtual void OnSetLayers (wxCommandEvent &event)
 
virtual void onCornerSizePercentChange (wxCommandEvent &event)
 
virtual void OnDrillShapeSelected (wxCommandEvent &event)
 
virtual void onPrimitiveDClick (wxMouseEvent &event)
 
virtual void OnPrimitiveSelection (wxListEvent &event)
 
virtual void onDeletePrimitive (wxCommandEvent &event)
 
virtual void onEditPrimitive (wxCommandEvent &event)
 
virtual void onAddPrimitive (wxCommandEvent &event)
 
virtual void onDuplicatePrimitive (wxCommandEvent &event)
 
virtual void onGeometryTransform (wxCommandEvent &event)
 
virtual void onImportPrimitives (wxCommandEvent &event)
 
virtual void OnPaintShowPanel (wxPaintEvent &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)
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int VertPixelsFromDU (int y)
 Convert an integer number of dialog units to pixels, vertically. More...
 

Protected Attributes

wxNotebook * m_notebook
 
wxPanel * m_panelGeneral
 
wxStaticText * m_PadNumText
 
wxTextCtrl * m_PadNumCtrl
 
wxStaticText * m_PadNameText
 
wxTextCtrl * m_PadNetNameCtrl
 
wxStaticText * m_staticText44
 
wxChoice * m_PadType
 
wxStaticText * m_staticText45
 
wxChoice * m_PadShape
 
wxStaticText * m_staticText4
 
TEXT_CTRL_EVALm_PadPosition_X_Ctrl
 
wxStaticText * m_PadPosX_Unit
 
wxStaticText * m_staticText41
 
TEXT_CTRL_EVALm_PadPosition_Y_Ctrl
 
wxStaticText * m_PadPosY_Unit
 
wxStaticText * m_staticText12
 
TEXT_CTRL_EVALm_ShapeSize_X_Ctrl
 
wxStaticText * m_PadShapeSizeX_Unit
 
wxStaticText * m_staticText15
 
TEXT_CTRL_EVALm_ShapeSize_Y_Ctrl
 
wxStaticText * m_PadShapeSizeY_Unit
 
wxStaticText * m_PadOrientText
 
wxChoice * m_PadOrient
 
wxStaticText * m_staticText491
 
TEXT_CTRL_EVALm_PadOrientCtrl
 
wxStaticText * m_customOrientUnits
 
wxStaticText * m_staticText17
 
TEXT_CTRL_EVALm_ShapeOffset_X_Ctrl
 
wxStaticText * m_PadShapeOffsetX_Unit
 
wxStaticText * m_staticText19
 
TEXT_CTRL_EVALm_ShapeOffset_Y_Ctrl
 
wxStaticText * m_PadShapeOffsetY_Unit
 
wxStaticText * m_staticText38
 
TEXT_CTRL_EVALm_LengthPadToDieCtrl
 
wxStaticText * m_PadLengthDie_Unit
 
wxStaticLine * m_staticline4
 
wxStaticLine * m_staticline5
 
wxStaticLine * m_staticline6
 
wxStaticText * m_staticText21
 
TEXT_CTRL_EVALm_ShapeDelta_Ctrl
 
wxStaticText * m_PadShapeDelta_Unit
 
wxStaticText * m_staticText23
 
wxChoice * m_trapDeltaDirChoice
 
wxStaticLine * m_staticline7
 
wxStaticLine * m_staticline8
 
wxStaticLine * m_staticline9
 
wxStaticText * m_staticTextCornerSizeRatio
 
TEXT_CTRL_EVALm_tcCornerSizeRatio
 
wxStaticText * m_staticTextCornerSizeRatioUnit
 
wxStaticText * m_staticTextCornerRadius
 
wxStaticText * m_staticTextCornerRadiusValue
 
wxStaticText * m_staticTextCornerSizeUnit
 
wxStaticText * m_staticText47
 
wxChoice * m_DrillShapeCtrl
 
wxStaticText * m_staticText51
 
wxStaticText * m_textPadDrillX
 
TEXT_CTRL_EVALm_PadDrill_X_Ctrl
 
wxStaticText * m_PadDrill_X_Unit
 
wxStaticText * m_textPadDrillY
 
TEXT_CTRL_EVALm_PadDrill_Y_Ctrl
 
wxStaticText * m_PadDrill_Y_Unit
 
wxBoxSizer * m_FlippedWarningSizer
 
wxStaticBitmap * m_FlippedWarningIcon
 
wxStaticText * m_staticText86
 
wxStaticText * m_staticText511
 
wxChoice * m_rbCopperLayersSel
 
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
 
wxPanel * m_localSettingsPanel
 
wxStaticText * m_staticTextWarning
 
wxStaticText * m_staticTextInfoPosValue
 
wxStaticText * m_staticTextInfoNegVal
 
wxStaticText * m_staticTextNetClearance
 
TEXT_CTRL_EVALm_NetClearanceValueCtrl
 
wxStaticText * m_NetClearanceUnits
 
wxStaticText * m_MaskClearanceTitle
 
TEXT_CTRL_EVALm_SolderMaskMarginCtrl
 
wxStaticText * m_SolderMaskMarginUnits
 
wxStaticText * m_staticTextSolderPaste
 
TEXT_CTRL_EVALm_SolderPasteMarginCtrl
 
wxStaticText * m_SolderPasteMarginUnits
 
wxStaticText * m_staticTextRatio
 
TEXT_CTRL_EVALm_SolderPasteMarginRatioCtrl
 
wxStaticText * m_SolderPasteRatioMarginUnits
 
wxStaticBoxSizer * m_sbSizerZonesSettings
 
wxStaticText * m_staticText40
 
wxChoice * m_ZoneConnectionChoice
 
wxStaticText * m_staticText49
 
TEXT_CTRL_EVALm_ThermalWidthCtrl
 
wxStaticText * m_ThermalWidthUnits
 
wxStaticText * m_staticText52
 
TEXT_CTRL_EVALm_ThermalGapCtrl
 
wxStaticText * m_ThermalGapUnits
 
wxStaticBoxSizer * m_sbSizerCustomShapedZonesSettings
 
wxStaticText * m_staticTextCsZconnTitle
 
wxChoice * m_ZoneConnectionCustom
 
wxStaticText * m_staticTextcps
 
wxChoice * m_ZoneCustomPadShape
 
wxPanel * m_panelCustomShapePrimitives
 
wxBoxSizer * m_bSizerPanelPrimitives
 
wxStaticText * m_staticTextPrimitivesList
 
wxStaticText * m_staticTextPrimitiveListWarning
 
wxListView * m_listCtrlPrimitives
 
wxButton * m_buttonDel
 
wxButton * m_buttonEditShape
 
wxButton * m_buttonAddShape
 
wxButton * m_buttonDup
 
wxButton * m_buttonGeometry
 
wxButton * m_buttonImport
 
wxStaticText * m_staticModuleSideValue
 
wxStaticText * m_staticTitleModuleRot
 
wxStaticText * m_staticModuleRotValue
 
wxPanel * m_panelShowPad
 
PCB_DRAW_PANEL_GALm_panelShowPadGal
 
KIGFX::GAL_DISPLAY_OPTIONS m_galOptions
 
wxCheckBox * m_cbShowPadOutline
 
wxStaticLine * m_staticline13
 
wxStdDialogButtonSizer * m_sdbSizer
 
wxButton * m_sdbSizerOK
 
wxButton * m_sdbSizerCancel
 
bool m_fixupsRun
 
std::string m_hash_key
 
EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 

Detailed Description

Class DIALOG_PAD_PROPERTIES_BASE.

Definition at line 48 of file dialog_pad_properties_base.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

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 14 of file dialog_pad_properties_base.cpp.

References EDA_DRAW_PANEL_GAL::GAL_TYPE_CAIRO, m_bSizerPanelPrimitives, m_buttonAddShape, m_buttonDel, m_buttonDup, m_buttonEditShape, m_buttonGeometry, m_buttonImport, m_cbShowPadOutline, m_customOrientUnits, m_DrillShapeCtrl, m_FlippedWarningIcon, m_FlippedWarningSizer, m_galOptions, m_LengthPadToDieCtrl, m_listCtrlPrimitives, m_localSettingsPanel, m_MaskClearanceTitle, m_NetClearanceUnits, m_NetClearanceValueCtrl, m_notebook, m_PadDrill_X_Ctrl, m_PadDrill_X_Unit, m_PadDrill_Y_Ctrl, m_PadDrill_Y_Unit, m_PadLayerAdhCmp, m_PadLayerAdhCu, m_PadLayerDraft, m_PadLayerECO1, m_PadLayerECO2, m_PadLayerMaskCmp, m_PadLayerMaskCu, m_PadLayerPateCmp, m_PadLayerPateCu, m_PadLayerSilkCmp, m_PadLayerSilkCu, m_PadLengthDie_Unit, m_PadNameText, m_PadNetNameCtrl, m_PadNumCtrl, m_PadNumText, m_PadOrient, m_PadOrientCtrl, m_PadOrientText, m_PadPosition_X_Ctrl, m_PadPosition_Y_Ctrl, m_PadPosX_Unit, m_PadPosY_Unit, m_PadShape, m_PadShapeDelta_Unit, m_PadShapeOffsetX_Unit, m_PadShapeOffsetY_Unit, m_PadShapeSizeX_Unit, m_PadShapeSizeY_Unit, m_PadType, m_panelCustomShapePrimitives, m_panelGeneral, m_panelShowPad, m_panelShowPadGal, m_rbCopperLayersSel, m_sbSizerCustomShapedZonesSettings, m_sbSizerZonesSettings, m_sdbSizer, m_sdbSizerCancel, m_sdbSizerOK, m_ShapeDelta_Ctrl, m_ShapeOffset_X_Ctrl, m_ShapeOffset_Y_Ctrl, m_ShapeSize_X_Ctrl, m_ShapeSize_Y_Ctrl, m_SolderMaskMarginCtrl, m_SolderMaskMarginUnits, m_SolderPasteMarginCtrl, m_SolderPasteMarginRatioCtrl, m_SolderPasteMarginUnits, m_SolderPasteRatioMarginUnits, m_staticline13, m_staticline4, m_staticline5, m_staticline6, m_staticline7, m_staticline8, m_staticline9, m_staticModuleRotValue, m_staticModuleSideValue, m_staticText12, m_staticText15, m_staticText17, m_staticText19, m_staticText21, m_staticText23, m_staticText38, m_staticText4, m_staticText40, m_staticText41, m_staticText44, m_staticText45, m_staticText47, m_staticText49, m_staticText491, m_staticText51, m_staticText511, m_staticText52, m_staticText86, m_staticTextCornerRadius, m_staticTextCornerRadiusValue, m_staticTextCornerSizeRatio, m_staticTextCornerSizeRatioUnit, m_staticTextCornerSizeUnit, m_staticTextcps, m_staticTextCsZconnTitle, m_staticTextInfoNegVal, m_staticTextInfoPosValue, m_staticTextNetClearance, m_staticTextPrimitiveListWarning, m_staticTextPrimitivesList, m_staticTextRatio, m_staticTextSolderPaste, m_staticTextWarning, m_staticTitleModuleRot, m_tcCornerSizeRatio, m_textPadDrillX, m_textPadDrillY, m_ThermalGapCtrl, m_ThermalGapUnits, m_ThermalWidthCtrl, m_ThermalWidthUnits, m_trapDeltaDirChoice, m_ZoneConnectionChoice, m_ZoneConnectionCustom, m_ZoneCustomPadShape, onAddPrimitive(), OnCancel(), onChangePadMode(), onCornerSizePercentChange(), onDeletePrimitive(), OnDrillShapeSelected(), onDuplicatePrimitive(), onEditPrimitive(), onGeometryTransform(), onImportPrimitives(), OnInitDialog(), OnPadShapeSelection(), OnPaintShowPanel(), onPrimitiveDClick(), OnPrimitiveSelection(), OnSetLayers(), OnValuesChanged(), PadOrientEvent(), PadTypeSelected(), wxID_PADNETNAMECTRL, and wxID_PADNUMCTRL.

Referenced by OnCancel().

14  : DIALOG_SHIM( parent, id, title, pos, size, style )
15 {
16  this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
17 
18  wxBoxSizer* m_MainSizer;
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_notebook->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
26 
27  m_panelGeneral = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
28  wxBoxSizer* bGeneralSizer;
29  bGeneralSizer = new wxBoxSizer( wxHORIZONTAL );
30 
31  wxBoxSizer* m_LeftBoxSizer;
32  m_LeftBoxSizer = new wxBoxSizer( wxVERTICAL );
33 
34  wxFlexGridSizer* fgSizerShapeType;
35  fgSizerShapeType = new wxFlexGridSizer( 0, 3, 0, 0 );
36  fgSizerShapeType->AddGrowableCol( 1 );
37  fgSizerShapeType->SetFlexibleDirection( wxBOTH );
38  fgSizerShapeType->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
39 
40  m_PadNumText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad number:"), wxDefaultPosition, wxDefaultSize, 0 );
41  m_PadNumText->Wrap( -1 );
42  fgSizerShapeType->Add( m_PadNumText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
43 
44  m_PadNumCtrl = new wxTextCtrl( m_panelGeneral, wxID_PADNUMCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
45  fgSizerShapeType->Add( m_PadNumCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
46 
47 
48  fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
49 
50  m_PadNameText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Net name:"), wxDefaultPosition, wxDefaultSize, 0 );
51  m_PadNameText->Wrap( -1 );
52  fgSizerShapeType->Add( m_PadNameText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
53 
54  m_PadNetNameCtrl = new wxTextCtrl( m_panelGeneral, wxID_PADNETNAMECTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
55  fgSizerShapeType->Add( m_PadNetNameCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
56 
57 
58  fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
59 
60  m_staticText44 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad type:"), wxDefaultPosition, wxDefaultSize, 0 );
61  m_staticText44->Wrap( -1 );
62  fgSizerShapeType->Add( m_staticText44, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
63 
64  wxString m_PadTypeChoices[] = { _("Through-hole"), _("SMD"), _("Connector"), _("NPTH, Mechanical") };
65  int m_PadTypeNChoices = sizeof( m_PadTypeChoices ) / sizeof( wxString );
66  m_PadType = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_PadTypeNChoices, m_PadTypeChoices, 0 );
67  m_PadType->SetSelection( 0 );
68  fgSizerShapeType->Add( m_PadType, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
69 
70 
71  fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
72 
73  m_staticText45 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Shape:"), wxDefaultPosition, wxDefaultSize, 0 );
74  m_staticText45->Wrap( -1 );
75  fgSizerShapeType->Add( m_staticText45, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5 );
76 
77  wxString m_PadShapeChoices[] = { _("Circular"), _("Oval"), _("Rectangular"), _("Trapezoidal"), _("Rounded Rectangle"), _("Custom (Circ. Anchor)"), _("Custom (Rect. Anchor)") };
78  int m_PadShapeNChoices = sizeof( m_PadShapeChoices ) / sizeof( wxString );
79  m_PadShape = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_PadShapeNChoices, m_PadShapeChoices, 0 );
80  m_PadShape->SetSelection( 0 );
81  fgSizerShapeType->Add( m_PadShape, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
82 
83 
84  fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
85 
86  m_staticText4 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Position X:"), wxDefaultPosition, wxDefaultSize, 0 );
87  m_staticText4->Wrap( -1 );
88  fgSizerShapeType->Add( m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
89 
90  m_PadPosition_X_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
91  fgSizerShapeType->Add( m_PadPosition_X_Ctrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
92 
93  m_PadPosX_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
94  m_PadPosX_Unit->Wrap( -1 );
95  fgSizerShapeType->Add( m_PadPosX_Unit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
96 
97  m_staticText41 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Position Y:"), wxDefaultPosition, wxDefaultSize, 0 );
98  m_staticText41->Wrap( -1 );
99  fgSizerShapeType->Add( m_staticText41, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
100 
101  m_PadPosition_Y_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
102  fgSizerShapeType->Add( m_PadPosition_Y_Ctrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
103 
104  m_PadPosY_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
105  m_PadPosY_Unit->Wrap( -1 );
106  fgSizerShapeType->Add( m_PadPosY_Unit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
107 
108  m_staticText12 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Size X:"), wxDefaultPosition, wxDefaultSize, 0 );
109  m_staticText12->Wrap( -1 );
110  fgSizerShapeType->Add( m_staticText12, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
111 
112  m_ShapeSize_X_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
113  fgSizerShapeType->Add( m_ShapeSize_X_Ctrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
114 
115  m_PadShapeSizeX_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
116  m_PadShapeSizeX_Unit->Wrap( -1 );
117  fgSizerShapeType->Add( m_PadShapeSizeX_Unit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
118 
119  m_staticText15 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Size Y:"), wxDefaultPosition, wxDefaultSize, 0 );
120  m_staticText15->Wrap( -1 );
121  fgSizerShapeType->Add( m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
122 
123  m_ShapeSize_Y_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
124  fgSizerShapeType->Add( m_ShapeSize_Y_Ctrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
125 
126  m_PadShapeSizeY_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
127  m_PadShapeSizeY_Unit->Wrap( -1 );
128  fgSizerShapeType->Add( m_PadShapeSizeY_Unit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
129 
130  m_PadOrientText = new wxStaticText( m_panelGeneral, wxID_ANY, _("Orientation:"), wxDefaultPosition, wxDefaultSize, 0 );
131  m_PadOrientText->Wrap( -1 );
132  fgSizerShapeType->Add( m_PadOrientText, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
133 
134  wxString m_PadOrientChoices[] = { _("0"), _("90"), _("-90"), _("180"), _("Custom") };
135  int m_PadOrientNChoices = sizeof( m_PadOrientChoices ) / sizeof( wxString );
136  m_PadOrient = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_PadOrientNChoices, m_PadOrientChoices, 0 );
137  m_PadOrient->SetSelection( 4 );
138  fgSizerShapeType->Add( m_PadOrient, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
139 
140  m_staticText491 = new wxStaticText( m_panelGeneral, wxID_ANY, _("deg"), wxDefaultPosition, wxDefaultSize, 0 );
141  m_staticText491->Wrap( -1 );
142  fgSizerShapeType->Add( m_staticText491, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
143 
144 
145  fgSizerShapeType->Add( 0, 0, 1, wxEXPAND, 5 );
146 
147  m_PadOrientCtrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
148  fgSizerShapeType->Add( m_PadOrientCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
149 
150  m_customOrientUnits = new wxStaticText( m_panelGeneral, wxID_ANY, _("deg"), wxDefaultPosition, wxDefaultSize, 0 );
151  m_customOrientUnits->Wrap( -1 );
152  fgSizerShapeType->Add( m_customOrientUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
153 
154  m_staticText17 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Shape offset X:"), wxDefaultPosition, wxDefaultSize, 0 );
155  m_staticText17->Wrap( -1 );
156  fgSizerShapeType->Add( m_staticText17, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
157 
158  m_ShapeOffset_X_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
159  fgSizerShapeType->Add( m_ShapeOffset_X_Ctrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
160 
161  m_PadShapeOffsetX_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
162  m_PadShapeOffsetX_Unit->Wrap( -1 );
163  fgSizerShapeType->Add( m_PadShapeOffsetX_Unit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
164 
165  m_staticText19 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Shape offset Y:"), wxDefaultPosition, wxDefaultSize, 0 );
166  m_staticText19->Wrap( -1 );
167  fgSizerShapeType->Add( m_staticText19, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
168 
169  m_ShapeOffset_Y_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
170  fgSizerShapeType->Add( m_ShapeOffset_Y_Ctrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
171 
172  m_PadShapeOffsetY_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
173  m_PadShapeOffsetY_Unit->Wrap( -1 );
174  fgSizerShapeType->Add( m_PadShapeOffsetY_Unit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
175 
176  m_staticText38 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Pad to die length:"), wxDefaultPosition, wxDefaultSize, 0 );
177  m_staticText38->Wrap( -1 );
178  m_staticText38->SetToolTip( _("Wire length from pad to die on chip ( used to calculate actual track length)") );
179 
180  fgSizerShapeType->Add( m_staticText38, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5 );
181 
182  m_LengthPadToDieCtrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
183  fgSizerShapeType->Add( m_LengthPadToDieCtrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
184 
185  m_PadLengthDie_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
186  m_PadLengthDie_Unit->Wrap( -1 );
187  fgSizerShapeType->Add( m_PadLengthDie_Unit, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
188 
189  m_staticline4 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
190  fgSizerShapeType->Add( m_staticline4, 0, wxBOTTOM|wxEXPAND|wxTOP, 6 );
191 
192  m_staticline5 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
193  fgSizerShapeType->Add( m_staticline5, 0, wxBOTTOM|wxEXPAND|wxTOP, 6 );
194 
195  m_staticline6 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
196  fgSizerShapeType->Add( m_staticline6, 0, wxBOTTOM|wxEXPAND|wxTOP, 6 );
197 
198  m_staticText21 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Trapezoid delta:"), wxDefaultPosition, wxDefaultSize, 0 );
199  m_staticText21->Wrap( -1 );
200  fgSizerShapeType->Add( m_staticText21, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
201 
202  m_ShapeDelta_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
203  fgSizerShapeType->Add( m_ShapeDelta_Ctrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
204 
205  m_PadShapeDelta_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
206  m_PadShapeDelta_Unit->Wrap( -1 );
207  fgSizerShapeType->Add( m_PadShapeDelta_Unit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
208 
209  m_staticText23 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Trapezoid axis:"), wxDefaultPosition, wxDefaultSize, 0 );
210  m_staticText23->Wrap( -1 );
211  fgSizerShapeType->Add( m_staticText23, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5 );
212 
213  wxString m_trapDeltaDirChoiceChoices[] = { _("Horizontal"), _("Vertical") };
214  int m_trapDeltaDirChoiceNChoices = sizeof( m_trapDeltaDirChoiceChoices ) / sizeof( wxString );
215  m_trapDeltaDirChoice = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_trapDeltaDirChoiceNChoices, m_trapDeltaDirChoiceChoices, 0 );
216  m_trapDeltaDirChoice->SetSelection( 0 );
217  fgSizerShapeType->Add( m_trapDeltaDirChoice, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
218 
219 
220  fgSizerShapeType->Add( 0, 0, 1, wxBOTTOM|wxEXPAND|wxTOP, 15 );
221 
222  m_staticline7 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
223  fgSizerShapeType->Add( m_staticline7, 0, wxBOTTOM|wxEXPAND|wxTOP, 6 );
224 
225  m_staticline8 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
226  fgSizerShapeType->Add( m_staticline8, 0, wxBOTTOM|wxEXPAND|wxTOP, 6 );
227 
228  m_staticline9 = new wxStaticLine( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
229  fgSizerShapeType->Add( m_staticline9, 0, wxBOTTOM|wxEXPAND|wxTOP, 6 );
230 
231  m_staticTextCornerSizeRatio = new wxStaticText( m_panelGeneral, wxID_ANY, _("Corner size:"), wxDefaultPosition, wxDefaultSize, 0 );
232  m_staticTextCornerSizeRatio->Wrap( -1 );
233  m_staticTextCornerSizeRatio->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.") );
234 
235  fgSizerShapeType->Add( m_staticTextCornerSizeRatio, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
236 
237  m_tcCornerSizeRatio = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
238  fgSizerShapeType->Add( m_tcCornerSizeRatio, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
239 
240  m_staticTextCornerSizeRatioUnit = new wxStaticText( m_panelGeneral, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
242  fgSizerShapeType->Add( m_staticTextCornerSizeRatioUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
243 
244  m_staticTextCornerRadius = new wxStaticText( m_panelGeneral, wxID_ANY, _("Corner radius:"), wxDefaultPosition, wxDefaultSize, 0 );
245  m_staticTextCornerRadius->Wrap( -1 );
246  m_staticTextCornerRadius->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.") );
247 
248  fgSizerShapeType->Add( m_staticTextCornerRadius, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
249 
250  m_staticTextCornerRadiusValue = new wxStaticText( m_panelGeneral, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
251  m_staticTextCornerRadiusValue->Wrap( -1 );
252  m_staticTextCornerRadiusValue->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") );
253 
254  fgSizerShapeType->Add( m_staticTextCornerRadiusValue, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
255 
256  m_staticTextCornerSizeUnit = new wxStaticText( m_panelGeneral, wxID_ANY, _("unit"), wxDefaultPosition, wxDefaultSize, 0 );
257  m_staticTextCornerSizeUnit->Wrap( -1 );
258  fgSizerShapeType->Add( m_staticTextCornerSizeUnit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
259 
260 
261  m_LeftBoxSizer->Add( fgSizerShapeType, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
262 
263 
264  bGeneralSizer->Add( m_LeftBoxSizer, 0, wxALL|wxEXPAND, 5 );
265 
266  wxBoxSizer* bSizer10;
267  bSizer10 = new wxBoxSizer( wxVERTICAL );
268 
269  wxFlexGridSizer* fgSizerGeometry;
270  fgSizerGeometry = new wxFlexGridSizer( 14, 3, 0, 0 );
271  fgSizerGeometry->AddGrowableCol( 1 );
272  fgSizerGeometry->SetFlexibleDirection( wxBOTH );
273  fgSizerGeometry->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
274 
275  m_staticText47 = new wxStaticText( m_panelGeneral, wxID_ANY, _("Hole shape:"), wxDefaultPosition, wxDefaultSize, 0 );
276  m_staticText47->Wrap( -1 );
277  fgSizerGeometry->Add( m_staticText47, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
278 
279  wxString m_DrillShapeCtrlChoices[] = { _("Circular"), _("Oval") };
280  int m_DrillShapeCtrlNChoices = sizeof( m_DrillShapeCtrlChoices ) / sizeof( wxString );
281  m_DrillShapeCtrl = new wxChoice( m_panelGeneral, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_DrillShapeCtrlNChoices, m_DrillShapeCtrlChoices, 0 );
282  m_DrillShapeCtrl->SetSelection( 0 );
283  fgSizerGeometry->Add( m_DrillShapeCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
284 
285  m_staticText51 = new wxStaticText( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
286  m_staticText51->Wrap( -1 );
287  fgSizerGeometry->Add( m_staticText51, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
288 
289  m_textPadDrillX = new wxStaticText( m_panelGeneral, wxID_ANY, _("Hole size X:"), wxDefaultPosition, wxDefaultSize, 0 );
290  m_textPadDrillX->Wrap( -1 );
291  fgSizerGeometry->Add( m_textPadDrillX, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
292 
293  m_PadDrill_X_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
294  fgSizerGeometry->Add( m_PadDrill_X_Ctrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
295 
296  m_PadDrill_X_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
297  m_PadDrill_X_Unit->Wrap( -1 );
298  fgSizerGeometry->Add( m_PadDrill_X_Unit, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
299 
300  m_textPadDrillY = new wxStaticText( m_panelGeneral, wxID_ANY, _("Hole size Y:"), wxDefaultPosition, wxDefaultSize, 0 );
301  m_textPadDrillY->Wrap( -1 );
302  fgSizerGeometry->Add( m_textPadDrillY, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5 );
303 
304  m_PadDrill_Y_Ctrl = new TEXT_CTRL_EVAL( m_panelGeneral, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
305  fgSizerGeometry->Add( m_PadDrill_Y_Ctrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
306 
307  m_PadDrill_Y_Unit = new wxStaticText( m_panelGeneral, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
308  m_PadDrill_Y_Unit->Wrap( -1 );
309  fgSizerGeometry->Add( m_PadDrill_Y_Unit, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
310 
311 
312  bSizer10->Add( fgSizerGeometry, 0, wxEXPAND, 5 );
313 
314  wxStaticBoxSizer* m_LayersSizer;
315  m_LayersSizer = new wxStaticBoxSizer( new wxStaticBox( m_panelGeneral, wxID_ANY, _("Layers:") ), wxVERTICAL );
316 
317  m_FlippedWarningSizer = new wxBoxSizer( wxHORIZONTAL );
318 
319  m_FlippedWarningIcon = new wxStaticBitmap( m_LayersSizer->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 48,48 ), 0 );
320  m_FlippedWarningIcon->SetMinSize( wxSize( 48,48 ) );
321 
322  m_FlippedWarningSizer->Add( m_FlippedWarningIcon, 0, wxALIGN_TOP|wxBOTTOM|wxTOP, 4 );
323 
324  m_staticText86 = new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Parent footprint on board is flipped.\nLayers will be reversed."), wxDefaultPosition, wxDefaultSize, 0 );
325  m_staticText86->Wrap( 150 );
326  m_FlippedWarningSizer->Add( m_staticText86, 1, wxALIGN_TOP|wxBOTTOM|wxLEFT|wxRIGHT, 8 );
327 
328 
329  m_LayersSizer->Add( m_FlippedWarningSizer, 1, wxEXPAND, 5 );
330 
331  wxBoxSizer* bSizer11;
332  bSizer11 = new wxBoxSizer( wxHORIZONTAL );
333 
334  m_staticText511 = new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Copper:"), wxDefaultPosition, wxDefaultSize, 0 );
335  m_staticText511->Wrap( -1 );
336  bSizer11->Add( m_staticText511, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxTOP, 5 );
337 
338  wxString m_rbCopperLayersSelChoices[] = { _("Front layer"), _("Back layer"), _("All copper layers"), _("None") };
339  int m_rbCopperLayersSelNChoices = sizeof( m_rbCopperLayersSelChoices ) / sizeof( wxString );
340  m_rbCopperLayersSel = new wxChoice( m_LayersSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_rbCopperLayersSelNChoices, m_rbCopperLayersSelChoices, 0 );
341  m_rbCopperLayersSel->SetSelection( 0 );
342  bSizer11->Add( m_rbCopperLayersSel, 1, wxALL|wxEXPAND|wxTOP, 5 );
343 
344 
345  m_LayersSizer->Add( bSizer11, 0, wxEXPAND, 5 );
346 
347  wxStaticText* m_staticText85;
348  m_staticText85 = new wxStaticText( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Technical layers:"), wxDefaultPosition, wxDefaultSize, 0 );
349  m_staticText85->Wrap( -1 );
350  m_LayersSizer->Add( m_staticText85, 0, wxALL, 5 );
351 
352  m_PadLayerAdhCmp = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Front adhesive"), wxDefaultPosition, wxDefaultSize, 0 );
353  m_LayersSizer->Add( m_PadLayerAdhCmp, 0, wxLEFT|wxRIGHT, 5 );
354 
355  m_PadLayerAdhCu = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Back adhesive"), wxDefaultPosition, wxDefaultSize, 0 );
356  m_LayersSizer->Add( m_PadLayerAdhCu, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
357 
358  m_PadLayerPateCmp = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Front solder paste"), wxDefaultPosition, wxDefaultSize, 0 );
359  m_LayersSizer->Add( m_PadLayerPateCmp, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
360 
361  m_PadLayerPateCu = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Back solder paste"), wxDefaultPosition, wxDefaultSize, 0 );
362  m_LayersSizer->Add( m_PadLayerPateCu, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
363 
364  m_PadLayerSilkCmp = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Front silk screen"), wxDefaultPosition, wxDefaultSize, 0 );
365  m_LayersSizer->Add( m_PadLayerSilkCmp, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
366 
367  m_PadLayerSilkCu = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Back silk screen"), wxDefaultPosition, wxDefaultSize, 0 );
368  m_LayersSizer->Add( m_PadLayerSilkCu, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
369 
370  m_PadLayerMaskCmp = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Front solder mask"), wxDefaultPosition, wxDefaultSize, 0 );
371  m_LayersSizer->Add( m_PadLayerMaskCmp, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
372 
373  m_PadLayerMaskCu = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Back solder mask"), wxDefaultPosition, wxDefaultSize, 0 );
374  m_LayersSizer->Add( m_PadLayerMaskCu, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
375 
376  m_PadLayerDraft = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("Drafting notes"), wxDefaultPosition, wxDefaultSize, 0 );
377  m_LayersSizer->Add( m_PadLayerDraft, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
378 
379  m_PadLayerECO1 = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("E.C.O.1"), wxDefaultPosition, wxDefaultSize, 0 );
380  m_LayersSizer->Add( m_PadLayerECO1, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
381 
382  m_PadLayerECO2 = new wxCheckBox( m_LayersSizer->GetStaticBox(), wxID_ANY, _("E.C.O.2"), wxDefaultPosition, wxDefaultSize, 0 );
383  m_LayersSizer->Add( m_PadLayerECO2, 0, wxALL, 5 );
384 
385 
386  bSizer10->Add( m_LayersSizer, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
387 
388 
389  bGeneralSizer->Add( bSizer10, 0, wxALL|wxEXPAND, 5 );
390 
391 
392  m_panelGeneral->SetSizer( bGeneralSizer );
393  m_panelGeneral->Layout();
394  bGeneralSizer->Fit( m_panelGeneral );
395  m_notebook->AddPage( m_panelGeneral, _("General"), true );
396  m_localSettingsPanel = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
397  wxBoxSizer* bSizerPanelClearance;
398  bSizerPanelClearance = new wxBoxSizer( wxVERTICAL );
399 
400  wxBoxSizer* bSizerClearance;
401  bSizerClearance = new wxBoxSizer( wxVERTICAL );
402 
403  m_staticTextWarning = new wxStaticText( m_localSettingsPanel, wxID_ANY, _("Set fields to 0 to use parent or global values"), wxDefaultPosition, wxDefaultSize, 0 );
404  m_staticTextWarning->Wrap( -1 );
405  m_staticTextWarning->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
406 
407  bSizerClearance->Add( m_staticTextWarning, 0, wxALL, 5 );
408 
409  m_staticTextInfoPosValue = new wxStaticText( m_localSettingsPanel, wxID_ANY, _("Positive clearance means area bigger than the pad (usual for mask clearance)."), wxDefaultPosition, wxDefaultSize, 0 );
410  m_staticTextInfoPosValue->Wrap( -1 );
411  m_staticTextInfoPosValue->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
412 
413  bSizerClearance->Add( m_staticTextInfoPosValue, 0, wxALL, 5 );
414 
415  m_staticTextInfoNegVal = new wxStaticText( m_localSettingsPanel, wxID_ANY, _("Negative clearance means area smaller than the pad (usual for paste clearance)."), wxDefaultPosition, wxDefaultSize, 0 );
416  m_staticTextInfoNegVal->Wrap( -1 );
417  m_staticTextInfoNegVal->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) );
418 
419  bSizerClearance->Add( m_staticTextInfoNegVal, 0, wxALL, 5 );
420 
421  wxStaticBoxSizer* sbClearancesSizer;
422  sbClearancesSizer = new wxStaticBoxSizer( new wxStaticBox( m_localSettingsPanel, wxID_ANY, _("Clearances:") ), wxVERTICAL );
423 
424  wxFlexGridSizer* fgClearancesGridSizer;
425  fgClearancesGridSizer = new wxFlexGridSizer( 4, 3, 0, 0 );
426  fgClearancesGridSizer->AddGrowableCol( 1 );
427  fgClearancesGridSizer->SetFlexibleDirection( wxBOTH );
428  fgClearancesGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
429 
430  m_staticTextNetClearance = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Net pad clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
431  m_staticTextNetClearance->Wrap( -1 );
432  m_staticTextNetClearance->SetToolTip( _("This is the local net clearance for pad.\nIf 0, the footprint local value or the Netclass value is used") );
433 
434  fgClearancesGridSizer->Add( m_staticTextNetClearance, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
435 
436  m_NetClearanceValueCtrl = new TEXT_CTRL_EVAL( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
437  fgClearancesGridSizer->Add( m_NetClearanceValueCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
438 
439  m_NetClearanceUnits = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
440  m_NetClearanceUnits->Wrap( -1 );
441  fgClearancesGridSizer->Add( m_NetClearanceUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
442 
443  m_MaskClearanceTitle = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
444  m_MaskClearanceTitle->Wrap( -1 );
445  m_MaskClearanceTitle->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") );
446 
447  fgClearancesGridSizer->Add( m_MaskClearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
448 
449  m_SolderMaskMarginCtrl = new TEXT_CTRL_EVAL( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
450  fgClearancesGridSizer->Add( m_SolderMaskMarginCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
451 
452  m_SolderMaskMarginUnits = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
453  m_SolderMaskMarginUnits->Wrap( -1 );
454  fgClearancesGridSizer->Add( m_SolderMaskMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
455 
456  m_staticTextSolderPaste = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Solder paste clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
457  m_staticTextSolderPaste->Wrap( -1 );
458  m_staticTextSolderPaste->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") );
459 
460  fgClearancesGridSizer->Add( m_staticTextSolderPaste, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
461 
462  m_SolderPasteMarginCtrl = new TEXT_CTRL_EVAL( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
463  fgClearancesGridSizer->Add( m_SolderPasteMarginCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
464 
465  m_SolderPasteMarginUnits = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
466  m_SolderPasteMarginUnits->Wrap( -1 );
467  fgClearancesGridSizer->Add( m_SolderPasteMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
468 
469  m_staticTextRatio = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("Solder paste ratio clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
470  m_staticTextRatio->Wrap( -1 );
471  m_staticTextRatio->SetToolTip( _("This is the local clearance ratio in per cent between this pad and the solder paste.\nA value of 10 means the clearance value is 10 per cent 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.") );
472 
473  fgClearancesGridSizer->Add( m_staticTextRatio, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5 );
474 
475  m_SolderPasteMarginRatioCtrl = new TEXT_CTRL_EVAL( sbClearancesSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
476  fgClearancesGridSizer->Add( m_SolderPasteMarginRatioCtrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
477 
478  m_SolderPasteRatioMarginUnits = new wxStaticText( sbClearancesSizer->GetStaticBox(), wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 );
479  m_SolderPasteRatioMarginUnits->Wrap( -1 );
480  fgClearancesGridSizer->Add( m_SolderPasteRatioMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
481 
482 
483  sbClearancesSizer->Add( fgClearancesGridSizer, 0, wxEXPAND, 5 );
484 
485 
486  bSizerClearance->Add( sbClearancesSizer, 0, wxALL|wxEXPAND, 5 );
487 
488  m_sbSizerZonesSettings = new wxStaticBoxSizer( new wxStaticBox( m_localSettingsPanel, wxID_ANY, _("Connection to Copper Zones:") ), wxVERTICAL );
489 
490  wxFlexGridSizer* fgSizerCopperZonesOpts;
491  fgSizerCopperZonesOpts = new wxFlexGridSizer( 0, 3, 0, 0 );
492  fgSizerCopperZonesOpts->AddGrowableCol( 1 );
493  fgSizerCopperZonesOpts->SetFlexibleDirection( wxBOTH );
494  fgSizerCopperZonesOpts->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
495 
496  m_staticText40 = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Pad connection:"), wxDefaultPosition, wxDefaultSize, 0 );
497  m_staticText40->Wrap( -1 );
498  fgSizerCopperZonesOpts->Add( m_staticText40, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
499 
500  wxString m_ZoneConnectionChoiceChoices[] = { _("From parent footprint"), _("Solid"), _("Thermal relief"), _("None") };
501  int m_ZoneConnectionChoiceNChoices = sizeof( m_ZoneConnectionChoiceChoices ) / sizeof( wxString );
502  m_ZoneConnectionChoice = new wxChoice( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneConnectionChoiceNChoices, m_ZoneConnectionChoiceChoices, 0 );
503  m_ZoneConnectionChoice->SetSelection( 0 );
504  fgSizerCopperZonesOpts->Add( m_ZoneConnectionChoice, 0, wxLEFT|wxTOP|wxEXPAND, 5 );
505 
506 
507  fgSizerCopperZonesOpts->Add( 0, 0, 1, wxEXPAND, 5 );
508 
509  m_staticText49 = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Thermal relief width:"), wxDefaultPosition, wxDefaultSize, 0 );
510  m_staticText49->Wrap( -1 );
511  fgSizerCopperZonesOpts->Add( m_staticText49, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
512 
513  m_ThermalWidthCtrl = new TEXT_CTRL_EVAL( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
514  fgSizerCopperZonesOpts->Add( m_ThermalWidthCtrl, 0, wxEXPAND|wxLEFT|wxTOP, 5 );
515 
516  m_ThermalWidthUnits = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
517  m_ThermalWidthUnits->Wrap( -1 );
518  fgSizerCopperZonesOpts->Add( m_ThermalWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
519 
520  m_staticText52 = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Thermal relief gap:"), wxDefaultPosition, wxDefaultSize, 0 );
521  m_staticText52->Wrap( -1 );
522  fgSizerCopperZonesOpts->Add( m_staticText52, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxTOP, 5 );
523 
524  m_ThermalGapCtrl = new TEXT_CTRL_EVAL( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
525  fgSizerCopperZonesOpts->Add( m_ThermalGapCtrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxTOP, 5 );
526 
527  m_ThermalGapUnits = new wxStaticText( m_sbSizerZonesSettings->GetStaticBox(), wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 );
528  m_ThermalGapUnits->Wrap( -1 );
529  fgSizerCopperZonesOpts->Add( m_ThermalGapUnits, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
530 
531 
532  m_sbSizerZonesSettings->Add( fgSizerCopperZonesOpts, 0, wxEXPAND, 5 );
533 
534 
535  bSizerClearance->Add( m_sbSizerZonesSettings, 0, wxALL|wxEXPAND, 5 );
536 
537  m_sbSizerCustomShapedZonesSettings = new wxStaticBoxSizer( new wxStaticBox( m_localSettingsPanel, wxID_ANY, _("Connection to Copper Zones:") ), wxVERTICAL );
538 
539  wxFlexGridSizer* fgSizerCustomShapedCopperZonesOpts;
540  fgSizerCustomShapedCopperZonesOpts = new wxFlexGridSizer( 0, 2, 0, 0 );
541  fgSizerCustomShapedCopperZonesOpts->AddGrowableCol( 1 );
542  fgSizerCustomShapedCopperZonesOpts->SetFlexibleDirection( wxBOTH );
543  fgSizerCustomShapedCopperZonesOpts->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
544 
545  m_staticTextCsZconnTitle = new wxStaticText( m_sbSizerCustomShapedZonesSettings->GetStaticBox(), wxID_ANY, _("Pad connection:"), wxDefaultPosition, wxDefaultSize, 0 );
546  m_staticTextCsZconnTitle->Wrap( -1 );
547  fgSizerCustomShapedCopperZonesOpts->Add( m_staticTextCsZconnTitle, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxTOP, 5 );
548 
549  wxString m_ZoneConnectionCustomChoices[] = { _("None"), _("Solid") };
550  int m_ZoneConnectionCustomNChoices = sizeof( m_ZoneConnectionCustomChoices ) / sizeof( wxString );
551  m_ZoneConnectionCustom = new wxChoice( m_sbSizerCustomShapedZonesSettings->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneConnectionCustomNChoices, m_ZoneConnectionCustomChoices, 0 );
552  m_ZoneConnectionCustom->SetSelection( 0 );
553  fgSizerCustomShapedCopperZonesOpts->Add( m_ZoneConnectionCustom, 0, wxALL|wxEXPAND, 5 );
554 
555  m_staticTextcps = new wxStaticText( m_sbSizerCustomShapedZonesSettings->GetStaticBox(), wxID_ANY, _("Custom pad shape in zone:"), wxDefaultPosition, wxDefaultSize, 0 );
556  m_staticTextcps->Wrap( -1 );
557  fgSizerCustomShapedCopperZonesOpts->Add( m_staticTextcps, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
558 
559  wxString m_ZoneCustomPadShapeChoices[] = { _("Use pad shape"), _("Use pad convex hull") };
560  int m_ZoneCustomPadShapeNChoices = sizeof( m_ZoneCustomPadShapeChoices ) / sizeof( wxString );
561  m_ZoneCustomPadShape = new wxChoice( m_sbSizerCustomShapedZonesSettings->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_ZoneCustomPadShapeNChoices, m_ZoneCustomPadShapeChoices, 0 );
562  m_ZoneCustomPadShape->SetSelection( 0 );
563  fgSizerCustomShapedCopperZonesOpts->Add( m_ZoneCustomPadShape, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
564 
565 
566  m_sbSizerCustomShapedZonesSettings->Add( fgSizerCustomShapedCopperZonesOpts, 0, wxEXPAND, 5 );
567 
568 
569  bSizerClearance->Add( m_sbSizerCustomShapedZonesSettings, 1, wxEXPAND, 5 );
570 
571 
572  bSizerPanelClearance->Add( bSizerClearance, 0, wxALL|wxEXPAND, 5 );
573 
574 
575  m_localSettingsPanel->SetSizer( bSizerPanelClearance );
576  m_localSettingsPanel->Layout();
577  bSizerPanelClearance->Fit( m_localSettingsPanel );
578  m_notebook->AddPage( m_localSettingsPanel, _("Local Clearance and Settings"), false );
579  m_panelCustomShapePrimitives = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
580  m_bSizerPanelPrimitives = new wxBoxSizer( wxVERTICAL );
581 
582  m_staticTextPrimitivesList = new wxStaticText( m_panelCustomShapePrimitives, wxID_ANY, _("Primitives list"), wxDefaultPosition, wxDefaultSize, 0 );
583  m_staticTextPrimitivesList->Wrap( -1 );
584  m_staticTextPrimitivesList->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
585 
586  m_bSizerPanelPrimitives->Add( m_staticTextPrimitivesList, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
587 
588  m_staticTextPrimitiveListWarning = new wxStaticText( m_panelCustomShapePrimitives, wxID_ANY, _("Coordinates are relative to anchor pad, orientation 0"), wxDefaultPosition, wxDefaultSize, 0 );
590  m_staticTextPrimitiveListWarning->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD, false, wxEmptyString ) );
591 
592  m_bSizerPanelPrimitives->Add( m_staticTextPrimitiveListWarning, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
593 
594  m_listCtrlPrimitives = new wxListView( m_panelCustomShapePrimitives, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_HRULES|wxLC_NO_HEADER|wxLC_REPORT );
595  m_bSizerPanelPrimitives->Add( m_listCtrlPrimitives, 1, wxALL|wxEXPAND, 5 );
596 
597  wxBoxSizer* bSizerButtons;
598  bSizerButtons = new wxBoxSizer( wxVERTICAL );
599 
600  wxBoxSizer* bSizerButtonsUpper;
601  bSizerButtonsUpper = new wxBoxSizer( wxHORIZONTAL );
602 
603  m_buttonDel = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Delete Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
604  bSizerButtonsUpper->Add( m_buttonDel, 0, wxALL, 5 );
605 
606  m_buttonEditShape = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Edit Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
607  bSizerButtonsUpper->Add( m_buttonEditShape, 0, wxALL, 5 );
608 
609  m_buttonAddShape = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Add Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
610  bSizerButtonsUpper->Add( m_buttonAddShape, 0, wxALL, 5 );
611 
612  m_buttonDup = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Duplicate Primitive"), wxDefaultPosition, wxDefaultSize, 0 );
613  bSizerButtonsUpper->Add( m_buttonDup, 0, wxALL, 5 );
614 
615 
616  bSizerButtons->Add( bSizerButtonsUpper, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
617 
618  wxBoxSizer* bSizerButtonsLower;
619  bSizerButtonsLower = new wxBoxSizer( wxHORIZONTAL );
620 
621  m_buttonGeometry = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Geometry Transform"), wxDefaultPosition, wxDefaultSize, 0 );
622  bSizerButtonsLower->Add( m_buttonGeometry, 0, wxALL, 5 );
623 
624  m_buttonImport = new wxButton( m_panelCustomShapePrimitives, wxID_ANY, _("Import Primitives"), wxDefaultPosition, wxDefaultSize, 0 );
625  bSizerButtonsLower->Add( m_buttonImport, 0, wxALL, 5 );
626 
627 
628  bSizerButtons->Add( bSizerButtonsLower, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
629 
630 
631  m_bSizerPanelPrimitives->Add( bSizerButtons, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
632 
633 
637  m_notebook->AddPage( m_panelCustomShapePrimitives, _("Custom Shape Primitives"), false );
638 
639  bSizerUpper->Add( m_notebook, 0, wxALL|wxEXPAND, 5 );
640 
641  wxBoxSizer* bSizerDisplayPad;
642  bSizerDisplayPad = new wxBoxSizer( wxVERTICAL );
643 
644  bSizerDisplayPad->SetMinSize( wxSize( 200,-1 ) );
645 
646  bSizerDisplayPad->Add( 0, 0, 0, wxBOTTOM|wxEXPAND|wxTOP, 3 );
647 
648  wxStaticBoxSizer* sbSizeModuleInfo;
649  sbSizeModuleInfo = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Parent Footprint Orientation:") ), wxVERTICAL );
650 
651  m_staticModuleSideValue = new wxStaticText( sbSizeModuleInfo->GetStaticBox(), wxID_ANY, _("Front side"), wxDefaultPosition, wxDefaultSize, 0 );
652  m_staticModuleSideValue->Wrap( -1 );
653  sbSizeModuleInfo->Add( m_staticModuleSideValue, 0, wxALL|wxBOTTOM|wxTOP, 5 );
654 
655  wxBoxSizer* bSizer23;
656  bSizer23 = new wxBoxSizer( wxHORIZONTAL );
657 
658  m_staticTitleModuleRot = new wxStaticText( sbSizeModuleInfo->GetStaticBox(), wxID_ANY, _("Rotation:"), wxDefaultPosition, wxDefaultSize, 0 );
659  m_staticTitleModuleRot->Wrap( -1 );
660  bSizer23->Add( m_staticTitleModuleRot, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
661 
662 
663  bSizer23->Add( 0, 0, 1, wxEXPAND, 5 );
664 
665  m_staticModuleRotValue = new wxStaticText( sbSizeModuleInfo->GetStaticBox(), wxID_ANY, _("180.0"), wxDefaultPosition, wxDefaultSize, 0 );
666  m_staticModuleRotValue->Wrap( -1 );
667  bSizer23->Add( m_staticModuleRotValue, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
668 
669 
670  sbSizeModuleInfo->Add( bSizer23, 1, wxEXPAND, 5 );
671 
672 
673  sbSizeModuleInfo->Add( 0, 0, 1, wxEXPAND, 5 );
674 
675 
676  bSizerDisplayPad->Add( sbSizeModuleInfo, 0, wxBOTTOM|wxEXPAND|wxRIGHT|wxTOP, 8 );
677 
678  m_panelShowPad = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxSize( 220,-1 ), wxFULL_REPAINT_ON_RESIZE|wxSIMPLE_BORDER );
679  m_panelShowPad->SetBackgroundColour( wxColour( 0, 0, 0 ) );
680 
681  bSizerDisplayPad->Add( m_panelShowPad, 12, wxRIGHT|wxTOP|wxEXPAND, 10 );
682 
684  bSizerDisplayPad->Add( m_panelShowPadGal, 12, wxEXPAND|wxRIGHT|wxTOP, 10 );
685 
686  m_cbShowPadOutline = new wxCheckBox( this, wxID_ANY, _("Show pad in outline mode"), wxDefaultPosition, wxDefaultSize, 0 );
687  bSizerDisplayPad->Add( m_cbShowPadOutline, 0, wxBOTTOM|wxRIGHT|wxTOP, 5 );
688 
689 
690  bSizerDisplayPad->Add( 0, 0, 1, wxEXPAND, 5 );
691 
692  m_staticline13 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
693  bSizerDisplayPad->Add( m_staticline13, 0, wxALL|wxEXPAND, 4 );
694 
695 
696  bSizerUpper->Add( bSizerDisplayPad, 1, wxBOTTOM|wxEXPAND|wxRIGHT|wxTOP, 10 );
697 
698 
699  m_MainSizer->Add( bSizerUpper, 1, wxEXPAND, 5 );
700 
701  m_sdbSizer = new wxStdDialogButtonSizer();
702  m_sdbSizerOK = new wxButton( this, wxID_OK );
703  m_sdbSizer->AddButton( m_sdbSizerOK );
704  m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
705  m_sdbSizer->AddButton( m_sdbSizerCancel );
706  m_sdbSizer->Realize();
707 
708  m_MainSizer->Add( m_sdbSizer, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
709 
710 
711  this->SetSizer( m_MainSizer );
712  this->Layout();
713  m_MainSizer->Fit( this );
714 
715  this->Centre( wxBOTH );
716 
717  // Connect Events
718  this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnInitDialog ) );
719  m_PadNumCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
720  m_PadNetNameCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
721  m_PadType->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadTypeSelected ), NULL, this );
722  m_PadShape->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadShapeSelection ), NULL, this );
723  m_ShapeSize_X_Ctrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
724  m_ShapeSize_Y_Ctrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
725  m_PadOrient->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
726  m_PadOrientCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
727  m_ShapeOffset_X_Ctrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
728  m_ShapeOffset_Y_Ctrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
729  m_ShapeDelta_Ctrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
730  m_trapDeltaDirChoice->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
731  m_tcCornerSizeRatio->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
732  m_DrillShapeCtrl->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ), NULL, this );
733  m_PadDrill_X_Ctrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
734  m_PadDrill_Y_Ctrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
735  m_rbCopperLayersSel->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
736  m_PadLayerAdhCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
737  m_PadLayerAdhCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
738  m_PadLayerPateCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
739  m_PadLayerPateCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
740  m_PadLayerSilkCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
741  m_PadLayerSilkCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
742  m_PadLayerMaskCmp->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
743  m_PadLayerMaskCu->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
744  m_PadLayerDraft->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
745  m_PadLayerECO1->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
746  m_PadLayerECO2->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
747  m_NetClearanceValueCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
748  m_listCtrlPrimitives->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_PAD_PROPERTIES_BASE::onPrimitiveDClick ), NULL, this );
749  m_listCtrlPrimitives->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
750  m_listCtrlPrimitives->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
751  m_buttonDel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ), NULL, this );
752  m_buttonEditShape->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ), NULL, this );
753  m_buttonAddShape->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onAddPrimitive ), NULL, this );
754  m_buttonDup->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDuplicatePrimitive ), NULL, this );
755  m_buttonGeometry->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onGeometryTransform ), NULL, this );
756  m_buttonImport->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onImportPrimitives ), NULL, this );
757  m_panelShowPad->Connect( wxEVT_PAINT, wxPaintEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPaintShowPanel ), NULL, this );
758  m_cbShowPadOutline->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onChangePadMode ), NULL, this );
759  m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnCancel ), NULL, this );
760 }
virtual void onPrimitiveDClick(wxMouseEvent &event)
KIGFX::GAL_DISPLAY_OPTIONS m_galOptions
virtual void onAddPrimitive(wxCommandEvent &event)
virtual void OnPaintShowPanel(wxPaintEvent &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 onDeletePrimitive(wxCommandEvent &event)
virtual void onCornerSizePercentChange(wxCommandEvent &event)
virtual void OnPadShapeSelection(wxCommandEvent &event)
wxStaticBoxSizer * m_sbSizerCustomShapedZonesSettings
virtual void PadOrientEvent(wxCommandEvent &event)
wxStdDialogButtonSizer * m_sdbSizer
virtual void onDuplicatePrimitive(wxCommandEvent &event)
wxTextCtrl wrapper to handle math expression evaluation.
virtual void OnSetLayers(wxCommandEvent &event)
DIALOG_SHIM(wxWindow *aParent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE, const wxString &name=wxDialogNameStr)
Definition: dialog_shim.cpp:57
virtual void onEditPrimitive(wxCommandEvent &event)
virtual void onGeometryTransform(wxCommandEvent &event)
virtual void onChangePadMode(wxCommandEvent &event)
virtual void onImportPrimitives(wxCommandEvent &event)
virtual void OnCancel(wxCommandEvent &event)
DIALOG_PAD_PROPERTIES_BASE::~DIALOG_PAD_PROPERTIES_BASE ( )

Definition at line 762 of file dialog_pad_properties_base.cpp.

References m_buttonAddShape, m_buttonDel, m_buttonDup, m_buttonEditShape, m_buttonGeometry, m_buttonImport, m_cbShowPadOutline, m_DrillShapeCtrl, m_listCtrlPrimitives, m_NetClearanceValueCtrl, m_PadDrill_X_Ctrl, m_PadDrill_Y_Ctrl, m_PadLayerAdhCmp, m_PadLayerAdhCu, m_PadLayerDraft, m_PadLayerECO1, m_PadLayerECO2, m_PadLayerMaskCmp, m_PadLayerMaskCu, m_PadLayerPateCmp, m_PadLayerPateCu, m_PadLayerSilkCmp, m_PadLayerSilkCu, m_PadNetNameCtrl, m_PadNumCtrl, m_PadOrient, m_PadOrientCtrl, m_PadShape, m_PadType, m_panelShowPad, m_rbCopperLayersSel, m_sdbSizerCancel, m_ShapeDelta_Ctrl, m_ShapeOffset_X_Ctrl, m_ShapeOffset_Y_Ctrl, m_ShapeSize_X_Ctrl, m_ShapeSize_Y_Ctrl, m_tcCornerSizeRatio, m_trapDeltaDirChoice, onAddPrimitive(), OnCancel(), onChangePadMode(), onCornerSizePercentChange(), onDeletePrimitive(), OnDrillShapeSelected(), onDuplicatePrimitive(), onEditPrimitive(), onGeometryTransform(), onImportPrimitives(), OnInitDialog(), OnPadShapeSelection(), OnPaintShowPanel(), onPrimitiveDClick(), OnPrimitiveSelection(), OnSetLayers(), OnValuesChanged(), PadOrientEvent(), and PadTypeSelected().

Referenced by OnCancel().

763 {
764  // Disconnect Events
765  this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnInitDialog ) );
766  m_PadNumCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
767  m_PadNetNameCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
768  m_PadType->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadTypeSelected ), NULL, this );
769  m_PadShape->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPadShapeSelection ), NULL, this );
770  m_ShapeSize_X_Ctrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
771  m_ShapeSize_Y_Ctrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
772  m_PadOrient->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ), NULL, this );
773  m_PadOrientCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
774  m_ShapeOffset_X_Ctrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
775  m_ShapeOffset_Y_Ctrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
776  m_ShapeDelta_Ctrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
777  m_trapDeltaDirChoice->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
778  m_tcCornerSizeRatio->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ), NULL, this );
779  m_DrillShapeCtrl->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ), NULL, this );
780  m_PadDrill_X_Ctrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
781  m_PadDrill_Y_Ctrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
782  m_rbCopperLayersSel->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
783  m_PadLayerAdhCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
784  m_PadLayerAdhCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
785  m_PadLayerPateCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
786  m_PadLayerPateCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
787  m_PadLayerSilkCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
788  m_PadLayerSilkCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
789  m_PadLayerMaskCmp->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
790  m_PadLayerMaskCu->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
791  m_PadLayerDraft->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
792  m_PadLayerECO1->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
793  m_PadLayerECO2->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ), NULL, this );
794  m_NetClearanceValueCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ), NULL, this );
795  m_listCtrlPrimitives->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_PAD_PROPERTIES_BASE::onPrimitiveDClick ), NULL, this );
796  m_listCtrlPrimitives->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
797  m_listCtrlPrimitives->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ), NULL, this );
798  m_buttonDel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ), NULL, this );
799  m_buttonEditShape->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ), NULL, this );
800  m_buttonAddShape->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onAddPrimitive ), NULL, this );
801  m_buttonDup->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onDuplicatePrimitive ), NULL, this );
802  m_buttonGeometry->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onGeometryTransform ), NULL, this );
803  m_buttonImport->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onImportPrimitives ), NULL, this );
804  m_panelShowPad->Disconnect( wxEVT_PAINT, wxPaintEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnPaintShowPanel ), NULL, this );
805  m_cbShowPadOutline->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::onChangePadMode ), NULL, this );
806  m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PAD_PROPERTIES_BASE::OnCancel ), NULL, this );
807 
808 }
virtual void onPrimitiveDClick(wxMouseEvent &event)
virtual void onAddPrimitive(wxCommandEvent &event)
virtual void OnPaintShowPanel(wxPaintEvent &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 onDeletePrimitive(wxCommandEvent &event)
virtual void onCornerSizePercentChange(wxCommandEvent &event)
virtual void OnPadShapeSelection(wxCommandEvent &event)
virtual void PadOrientEvent(wxCommandEvent &event)
virtual void onDuplicatePrimitive(wxCommandEvent &event)
virtual void OnSetLayers(wxCommandEvent &event)
virtual void onEditPrimitive(wxCommandEvent &event)
virtual void onGeometryTransform(wxCommandEvent &event)
virtual void onChangePadMode(wxCommandEvent &event)
virtual void onImportPrimitives(wxCommandEvent &event)
virtual void OnCancel(wxCommandEvent &event)

Member Function Documentation

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 205 of file dialog_shim.cpp.

Referenced by DIALOG_PRINT_USING_PRINTER::InitValues(), and DIALOG_SHIM::IsQuasiModal().

206 {
207  // so we can do logging of this state change:
208 
209 #if defined(DEBUG)
210  const char* type_id = typeid( *this ).name();
211  printf( "wxDialog %s: %s\n", type_id, enable ? "enabled" : "disabled" );
212 #endif
213 
214  return wxDialog::Enable( enable );
215 }
void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 610 of file dialog_shim.cpp.

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

Referenced by DIALOG_SHIM::OnButton(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCancelButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCancelButtonClick(), DIALOG_EDIT_ONE_FIELD::OnCancelClick(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCloseDialog(), DIALOG_EDIT_ONE_FIELD::OnCloseDialog(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCloseDialog(), DIALOG_CHOOSE_COMPONENT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnOKButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick(), DIALOG_EDIT_ONE_FIELD::OnOkClick(), DIALOG_EXCHANGE_FOOTPRINTS::OnQuit(), DIALOG_CHOOSE_COMPONENT::OnSchViewDClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp(), and DIALOG_SHIM::~DIALOG_SHIM().

611 {
612  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
613  // handle validation in the same way as other dialogs.
614  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
615  return;
616 
617  SetReturnCode( retCode );
618 
619  if( !IsQuasiModal() )
620  {
621  wxFAIL_MSG( wxT( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal wasn't called" ) );
622  return;
623  }
624 
625  m_qmodal_showing = false;
626 
627  if( m_qmodal_loop )
628  {
629  if( m_qmodal_loop->IsRunning() )
630  m_qmodal_loop->Exit( 0 );
631  else
632  m_qmodal_loop->ScheduleExit( 0 );
633 
634  m_qmodal_loop = NULL;
635  }
636 
639 
640  Show( false );
641 }
bool m_qmodal_showing
Definition: dialog_shim.h:155
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:154
bool IsQuasiModal()
Definition: dialog_shim.h:103
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:156
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, when all widgets are initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at end of TransferDataToWindow, or better at end of a wxInitDialogEvent handler

In any case, the best way is to call it in a wxInitDialogEvent handler after calling TransfertDataToWindow(), which is the default wxInitDialogEvent handler wxDialog

Definition at line 104 of file dialog_shim.cpp.

References PCAD2KICAD::Center.

Referenced by COLOR4D_PICKER_DLG::COLOR4D_PICKER_DLG(), DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOM::DIALOG_BOM(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES(), DIALOG_DIMENSION_EDITOR::DIALOG_DIMENSION_EDITOR(), DIALOG_DISPLAY_OPTIONS::DIALOG_DISPLAY_OPTIONS(), DIALOG_DRC_CONTROL::DIALOG_DRC_CONTROL(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EESCHEMA_OPTIONS::DIALOG_EESCHEMA_OPTIONS(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), 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_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GLOBAL_SYM_LIB_TABLE_CONFIG::DIALOG_GLOBAL_SYM_LIB_TABLE_CONFIG(), DIALOG_KEEPOUT_AREA_PROPERTIES::DIALOG_KEEPOUT_AREA_PROPERTIES(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_LIB_NEW_COMPONENT::DIALOG_LIB_NEW_COMPONENT(), DIALOG_LIBEDIT_OPTIONS::DIALOG_LIBEDIT_OPTIONS(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PADS_MASK_CLEARANCE::DIALOG_PADS_MASK_CLEARANCE(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCH_EDIT_SHEET_PIN::DIALOG_SCH_EDIT_SHEET_PIN(), DIALOG_SCH_SHEET_PROPS::DIALOG_SCH_SHEET_PROPS(), DIALOG_SELECT_PRETTY_LIB::DIALOG_SELECT_PRETTY_LIB(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_SHIM::IsQuasiModal(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_LIB_EDIT_PIN::OnInitDialog(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnInitDialog(), DIALOG_TRACK_VIA_PROPERTIES::OnInitDlg(), DIALOG_GRAPHIC_ITEMS_OPTIONS::OnInitDlg(), DIALOG_EDIT_FPTEXT::OnInitDlg(), DIALOG_SET_GRID::OnInitDlg(), DIALOG_PCB_TEXT_PROPERTIES::OnInitDlg(), DIALOG_PRINT_FOR_MODEDIT::OnInitDlg(), DIALOG_FOOTPRINT_FP_EDITOR::OnInitDlg(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_FOOTPRINT_BOARD_EDITOR::OnInitDlg(), DIALOG_PRINT_USING_PRINTER::OnInitDlg(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnInitDlg(), TARGET_PROPERTIES_DIALOG_EDITOR::TARGET_PROPERTIES_DIALOG_EDITOR(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), and DIALOG_UPDATE_FIELDS::TransferDataToWindow().

105 {
106  // must be called from the constructor of derived classes,
107  // when all widgets are initialized, and therefore their size fixed
108 
109  // SetSizeHints fixes the minimal size of sizers in the dialog
110  // (SetSizeHints calls Fit(), so no need to call it)
111  GetSizer()->SetSizeHints( this );
112 
113  // the default position, when calling the first time the dlg
114  Center();
115 }
int DIALOG_SHIM::HorizPixelsFromDU ( int  x)
protectedinherited

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

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 125 of file dialog_shim.cpp.

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

126 {
127  wxSize sz( x, 0 );
128  return ConvertDialogToPixels( sz ).x;
129 }
KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Function Kiway returns 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 60 of file kiway_player.h.

References KIWAY_HOLDER::m_kiway, KIWAY_HOLDER::Prj(), and KIWAY_HOLDER::SetKiway().

Referenced by SCH_EDIT_FRAME::AppendSchematic(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), CVPCB_MAINFRAME::CreateScreenCmp(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_SHIM::DIALOG_SHIM(), EDIT_TOOL::editFootprintInFpEditor(), SCH_EDIT_FRAME::EditSheet(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), LIB_MANAGER::GetBufferedPart(), FOOTPRINT_EDIT_FRAME::GetIconScale(), LIB_MANAGER::getLibraryBuffer(), FOOTPRINT_EDIT_FRAME::GetPlotSettings(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::initBuffers(), SCH_EDIT_FRAME::KiwayMailIn(), KIWAY_PLAYER::language_change(), CVPCB_MAINFRAME::LoadFootprintFiles(), KIWAY_PLAYER::OnChangeIconsOptions(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), SCH_BASE_FRAME::OnEditSymbolLibTable(), DIALOG_CHOOSE_COMPONENT::OnIdle(), KICAD_MANAGER_FRAME::OnImportEagleFiles(), SCH_EDIT_FRAME::OnLeftClick(), SCH_BASE_FRAME::OnOpenLibraryViewer(), SCH_EDIT_FRAME::OnSimulate(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), FOOTPRINT_EDIT_FRAME::OnUpdateInsertModuleInBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadModuleFromBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateReplaceModuleInBoard(), SCH_EDIT_FRAME::OpenProjectFiles(), KIWAY_HOLDER::Prj(), PCB_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Special_Functions(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), FOOTPRINT_WIZARD_FRAME::ReCreateVToolbar(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDIT_FRAME::SaveEEFile(), CVPCB_MAINFRAME::SaveFootprintAssociation(), SCH_BASE_FRAME::SelectComponentFromLibBrowser(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_EDIT_FRAME::SetPlotSettings(), DISPLAY_FOOTPRINTS_FRAME::Show3D_Frame(), FOOTPRINT_EDIT_FRAME::Show3D_Frame(), FOOTPRINT_VIEWER_FRAME::Show3D_Frame(), FOOTPRINT_WIZARD_FRAME::Show3D_Frame(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::showButtonHandler(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::showButtonHandler(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::UpdatePart(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

61  {
62  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
63  return *m_kiway;
64  }
KIWAY * m_kiway
Definition: kiway_player.h:85
virtual void DIALOG_PAD_PROPERTIES_BASE::onAddPrimitive ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 204 of file dialog_pad_properties_base.h.

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

204 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::OnCancel ( wxCommandEvent &  event)
inlineprotectedvirtual
virtual void DIALOG_PAD_PROPERTIES_BASE::onChangePadMode ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 209 of file dialog_pad_properties_base.h.

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

209 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::onCornerSizePercentChange ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 198 of file dialog_pad_properties_base.h.

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

198 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::onDeletePrimitive ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 202 of file dialog_pad_properties_base.h.

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

202 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::OnDrillShapeSelected ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 199 of file dialog_pad_properties_base.h.

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

199 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::onDuplicatePrimitive ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 205 of file dialog_pad_properties_base.h.

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

205 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::onEditPrimitive ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 203 of file dialog_pad_properties_base.h.

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

203 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::onGeometryTransform ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 206 of file dialog_pad_properties_base.h.

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

206 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::onImportPrimitives ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 207 of file dialog_pad_properties_base.h.

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

207 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::OnInitDialog ( wxInitDialogEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 192 of file dialog_pad_properties_base.h.

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

192 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::OnPadShapeSelection ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 195 of file dialog_pad_properties_base.h.

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

195 { event.Skip(); }
void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 271 of file dialog_shim.cpp.

References DIALOG_SHIM::m_fixupsRun, and recursiveDescent().

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

272 {
273  if( !m_fixupsRun )
274  {
275 #if DLGSHIM_SELECT_ALL_IN_TEXT_CONTROLS
276  const bool selectAllInTextCtrls = true;
277 #else
278  const bool selectAllInTextCtrls = false;
279 #endif
280  wxWindow* firstTextCtrl = NULL;
281  wxWindow* windowWithFocus = NULL;
282 
283  recursiveDescent( GetChildren(), selectAllInTextCtrls, firstTextCtrl,
284  windowWithFocus );
285 
286 #if DLGSHIM_USE_SETFOCUS
287  // While it would be nice to honour any focus already set (which was
288  // recorded in windowWithFocus), the reality is that it's currently wrong
289  // far more often than it's right.
290  // So just focus on the first text control if we have one; otherwise the
291  // focus on the dialog itself, which will at least allow esc, return, etc.
292  // to function.
293  if( firstTextCtrl )
294  firstTextCtrl->SetFocus();
295  else
296  SetFocus();
297 #endif
298 
299 #ifdef __WXMAC__
300  fixOSXCancelButtonIssue( this );
301 #endif
302 
303  m_fixupsRun = true;
304  }
305 
306  event.Skip();
307 }
static void recursiveDescent(wxWindowList &children, const bool selectTextInTextCtrls, wxWindow *&firstTextCtrl, wxWindow *&windowWithFocus)
bool m_fixupsRun
Definition: dialog_shim.h:149
virtual void DIALOG_PAD_PROPERTIES_BASE::OnPaintShowPanel ( wxPaintEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 208 of file dialog_pad_properties_base.h.

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

208 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::onPrimitiveDClick ( wxMouseEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 200 of file dialog_pad_properties_base.h.

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

200 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::OnPrimitiveSelection ( wxListEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 201 of file dialog_pad_properties_base.h.

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

201 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::OnSetLayers ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 197 of file dialog_pad_properties_base.h.

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

197 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::OnValuesChanged ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 193 of file dialog_pad_properties_base.h.

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

193 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::PadOrientEvent ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 196 of file dialog_pad_properties_base.h.

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

196 { event.Skip(); }
virtual void DIALOG_PAD_PROPERTIES_BASE::PadTypeSelected ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PAD_PROPERTIES.

Definition at line 194 of file dialog_pad_properties_base.h.

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

194 { event.Skip(); }
PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Function Prj returns a reference to the PROJECT "associated with" this KIWAY.

Definition at line 34 of file kiway_holder.cpp.

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

Referenced by SCH_EDIT_FRAME::AppendSchematic(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), DIALOG_SYMBOL_REMAP::backupProject(), LIB_VIEW_FRAME::BestZoom(), DIALOG_FOOTPRINT_FP_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_FOOTPRINT_BOARD_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::BrowseAndSelectDocFile(), DIALOG_SYMBOL_LIB_TABLE::browseLibrariesHandler(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_FOOTPRINT_FP_EDITOR::Cfg3DPath(), DIALOG_FOOTPRINT_BOARD_EDITOR::Cfg3DPath(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::checkNewAlias(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromCurrentLibrary(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SYMBOL_LIB_TABLE::DIALOG_SYMBOL_LIB_TABLE(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), LIB_VIEW_FRAME::DisplayLibInfos(), LIB_EDIT_FRAME::DisplayLibInfos(), SCH_BASE_FRAME::DisplayListComponentsInLib(), PCB_EDIT_FRAME::doAutoSave(), DIALOG_FOOTPRINT_FP_EDITOR::Edit3DShapeFileName(), DIALOG_FOOTPRINT_BOARD_EDITOR::Edit3DShapeFileName(), SCH_EDIT_FRAME::EditSheet(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::Files_io_from_id(), NETLIST_DIALOG::GenNetlist(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), FOOTPRINT_EDIT_FRAME::GetCurrentLib(), SCH_BASE_FRAME::GetLibAlias(), SCH_BASE_FRAME::GetLibPart(), FOOTPRINT_EDIT_FRAME::getLibPath(), LIB_EDIT_FRAME::getLibraryFileName(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DIALOG_BOM::getPluginFileName(), LIB_VIEW_FRAME::getSelectedAlias(), FP_THREAD_IFACE::GetTable(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), DIALOG_FOOTPRINT_FP_EDITOR::initModeditProperties(), DIALOG_FOOTPRINT_BOARD_EDITOR::InitModeditProperties(), PCB_EDIT_FRAME::InstallNetlistFrame(), SCH_EDIT_FRAME::IsSearchCacheObsolete(), KIWAY_HOLDER::Kiway(), SCH_EDIT_FRAME::Load_Component(), SCH_EDIT_FRAME::LoadCmpToFootprintLinkFile(), LIB_EDIT_FRAME::LoadComponentFromCurrentLib(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), LIB_EDIT_FRAME::LoadOneSymbol(), CVPCB_MAINFRAME::LoadProjectFile(), SCH_EDIT_FRAME::LoadProjectFile(), PCB_EDIT_FRAME::LoadProjectSettings(), DIALOG_DRC_CONTROL::makeValidFileNameReport(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_GENCAD_EXPORT_OPTIONS::onBrowse(), DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), SCH_BASE_FRAME::OnEditSymbolLibTable(), DIALOG_GENDRILL::OnGenReportFile(), DIALOG_CHOOSE_COMPONENT::OnIdle(), SCH_EDIT_FRAME::OnImportProject(), PCB_EDIT_FRAME::OnLeftClick(), DIALOG_NETLIST::OnOpenNetlistClick(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_SVG_PRINT::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), LIB_EDIT_FRAME::OnPlotCurrentComponent(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), SCH_EDIT_FRAME::OnRightClick(), DIALOG_BOM::OnRunPlugin(), SCH_EDIT_FRAME::OnSaveProject(), DIALOG_CHOOSE_COMPONENT::OnSchViewPaint(), DIALOG_SPICE_MODEL::onSelectLibrary(), LIB_VIEW_FRAME::OnSelectSymbol(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnTestChipName(), FOOTPRINT_EDIT_FRAME::OnUpdateSelectCurrentLib(), LIB_EDIT_FRAME::OnViewEntryDoc(), LIB_VIEW_FRAME::onViewSymbolDocument(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::PasteListOfItems(), DIALOG_CHOOSE_COMPONENT::PopulateFootprintSelector(), SCH_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Config(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_VIEW_FRAME::ReCreateHToolbar(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), LIB_VIEW_FRAME::ReCreateListCmp(), LIB_VIEW_FRAME::ReCreateListLib(), LIB_VIEW_FRAME::RedrawActiveWindow(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::saveLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), CVPCB_MAINFRAME::SaveProjectFile(), SCH_EDIT_FRAME::SaveProjectSettings(), PCB_EDIT_FRAME::SaveProjectSettings(), SCH_BASE_FRAME::saveSymbolLibTables(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectComponentFromLibrary(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), LIB_EDIT_FRAME::selectSymLibTable(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), DIALOG_CHOOSE_COMPONENT::ShowFootprintFor(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::symTable(), EDA_3D_VIEWER::takeScreenshot(), SIM_PLOT_FRAME::updateNetlistExporter(), SCH_SCREEN::UpdateSymbolLinks(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_BOARD_EDITOR::~DIALOG_FOOTPRINT_BOARD_EDITOR(), and DIALOG_FOOTPRINT_FP_EDITOR::~DIALOG_FOOTPRINT_FP_EDITOR().

35 {
36  return Kiway().Prj();
37 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_player.h:60
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:142
void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

Function SetKiway.

Parameters
aDestis the recipient of aKiway pointer. It is only used for debugging, since "this" is not a wxWindow*. "this" is a KIWAY_HOLDER mix-in.
aKiwayis often from a parent window, or from KIFACE::CreateWindow().

Definition at line 41 of file kiway_holder.cpp.

References KIWAY_HOLDER::m_kiway, and name.

Referenced by DIALOG_SHIM::DIALOG_SHIM(), KIWAY_HOLDER::Kiway(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

42 {
43 #if defined(DEBUG)
44  // offer a trap point for debugging most any window
45  wxASSERT( aDest );
46  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
47  {
48  int breakhere=1;
49  (void) breakhere;
50  }
51 #endif
52 
53  (void) aDest;
54 
55  m_kiway = aKiway;
56 }
KIWAY * m_kiway
Definition: kiway_player.h:85
const char * name
Definition: DXF_plotter.cpp:61
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 118 of file dialog_shim.cpp.

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_EDIT_COMPONENTS_LIBID::DIALOG_EDIT_COMPONENTS_LIBID(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SYMBOL_LIB_TABLE::DIALOG_SYMBOL_LIB_TABLE(), HOTKEYS_EDITOR_DIALOG::HOTKEYS_EDITOR_DIALOG(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), DIALOG_SHIM::IsQuasiModal(), DIALOG_LAYERS_SETUP::OnInitDialog(), and HTML_MESSAGE_BOX::SetDialogSizeInDU().

119 {
120  wxSize sz( x, y );
121  SetSize( ConvertDialogToPixels( sz ) );
122 }
bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 146 of file dialog_shim.cpp.

References class_map, EDA_RECT::GetPosition(), EDA_RECT::GetSize(), DIALOG_SHIM::m_hash_key, max, wxPoint::x, and wxPoint::y.

Referenced by DisplayHotkeyList(), DIALOG_SHIM::EndQuasiModal(), InvokeDialogERC(), DIALOG_SHIM::IsQuasiModal(), DIALOG_SCH_FIND::OnCancel(), DIALOG_DRC_CONTROL::OnLeftDClickClearance(), DIALOG_DRC_CONTROL::OnLeftDClickUnconnected(), DIALOG_DRC_CONTROL::OnPopupMenu(), DIALOG_EXCHANGE_FOOTPRINTS::OnQuit(), POSITION_RELATIVE_TOOL::PositionRelative(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), SCH_COMPONENT::SetPosition(), DRC::ShowDRCDialog(), and DIALOG_SHIM::ShowQuasiModal().

147 {
148  bool ret;
149  const char* hash_key;
150 
151  if( m_hash_key.size() )
152  {
153  // a special case like EDA_LIST_DIALOG, which has multiple uses.
154  hash_key = m_hash_key.c_str();
155  }
156  else
157  {
158  hash_key = typeid(*this).name();
159  }
160 
161  // Show or hide the window. If hiding, save current position and size.
162  // If showing, use previous position and size.
163  if( show )
164  {
165 #ifndef __WINDOWS__
166  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
167 #endif
168  ret = wxDialog::Show( show );
169 
170  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
171  EDA_RECT savedDialogRect = class_map[ hash_key ];
172 
173  if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
174  {
175  SetSize( savedDialogRect.GetPosition().x,
176  savedDialogRect.GetPosition().y,
177  std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
178  std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
179  0 );
180  }
181 
182  // Be sure that the dialog appears in a visible area
183  // (the dialog position might have been stored at the time when it was
184  // shown on another display)
185  if( wxDisplay::GetFromWindow( this ) == wxNOT_FOUND )
186  Centre();
187  }
188  else
189  {
190  // Save the dialog's position & size before hiding, using classname as key
191  class_map[ hash_key ] = EDA_RECT( wxDialog::GetPosition(), wxDialog::GetSize() );
192 
193 #ifdef __WXMAC__
194  if ( m_eventLoop )
195  m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
196 #endif
197 
198  ret = wxDialog::Show( show );
199  }
200 
201  return ret;
202 }
const wxSize GetSize() const
Definition: eda_rect.h:101
std::string m_hash_key
Definition: dialog_shim.h:151
static RECT_MAP class_map
const wxPoint GetPosition() const
Definition: eda_rect.h:113
#define max(a, b)
Definition: auxiliary.h:86
Class EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44
int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 558 of file dialog_shim.cpp.

References DBG, DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, and DIALOG_SHIM::Show().

Referenced by SCH_EDIT_FRAME::EditComponent(), SCH_EDIT_FRAME::EditComponentFieldText(), LIB_EDIT_FRAME::EditField(), EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_FRAME::InstallExchangeModuleFrame(), LIB_EDIT_FRAME::InstallFieldsEditorDialog(), SCH_EDIT_FRAME::InstallHierarchyFrame(), InvokeDialogCreateBOMEditor(), InvokeDialogEditComponentsLibId(), InvokeDialogUpdateFields(), SCH_EDIT_FRAME::OnRemapSymbols(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), and SCH_BASE_FRAME::SelectComponentFromLibrary().

559 {
560  // This is an exception safe way to zero a pointer before returning.
561  // Yes, even though DismissModal() clears this first normally, this is
562  // here in case there's an exception before the dialog is dismissed.
563  struct NULLER
564  {
565  void*& m_what;
566  NULLER( void*& aPtr ) : m_what( aPtr ) {}
567  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
568  } clear_this( (void*&) m_qmodal_loop );
569 
570  // release the mouse if it's currently captured as the window having it
571  // will be disabled when this dialog is shown -- but will still keep the
572  // capture making it impossible to do anything in the modal dialog itself
573  wxWindow* win = wxWindow::GetCapture();
574  if( win )
575  win->ReleaseMouse();
576 
577  // Get the optimal parent
578  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
579 
580  // Show the optimal parent
581  DBG( if( parent ) printf( "%s: optimal parent: %s\n", __func__, typeid(*parent).name() );)
582 
583  wxASSERT_MSG( !m_qmodal_parent_disabler,
584  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
585 
586  // quasi-modal: disable only my "optimal" parent
588 
589 #ifdef __WXMAC__
590  // Apple in its infinite wisdom will raise a disabled window before even passing
591  // us the event, so we have no way to stop it. Instead, we must set an order on
592  // the windows so that the quasi-modal will be pushed in front of the disabled
593  // window when it is raised.
594  ReparentQuasiModal();
595 #endif
596  Show( true );
597 
598  m_qmodal_showing = true;
599 
600  EVENT_LOOP event_loop;
601 
602  m_qmodal_loop = &event_loop;
603 
604  event_loop.Run();
605 
606  return GetReturnCode();
607 }
bool m_qmodal_showing
Definition: dialog_shim.h:155
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:154
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:156
Toggle a window&#39;s "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:33
#define DBG(x)
Definition: fctsys.h:33
int DIALOG_SHIM::VertPixelsFromDU ( int  y)
protectedinherited

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

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 132 of file dialog_shim.cpp.

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_EDIT_COMPONENTS_LIBID::DIALOG_EDIT_COMPONENTS_LIBID(), DIALOG_SHIM::IsQuasiModal(), and DIALOG_LAYERS_SETUP::OnInitDialog().

133 {
134  wxSize sz( 0, y );
135  return ConvertDialogToPixels( sz ).y;
136 }

Member Data Documentation

wxBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_bSizerPanelPrimitives
protected

Definition at line 169 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonAddShape
protected
wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonDel
protected
wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonDup
protected
wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonEditShape
protected
wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonGeometry
protected
wxButton* DIALOG_PAD_PROPERTIES_BASE::m_buttonImport
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_customOrientUnits
protected

Definition at line 86 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

bool DIALOG_SHIM::m_fixupsRun
protectedinherited

Definition at line 149 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

wxStaticBitmap* DIALOG_PAD_PROPERTIES_BASE::m_FlippedWarningIcon
protected
wxBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_FlippedWarningSizer
protected
KIGFX::GAL_DISPLAY_OPTIONS DIALOG_PAD_PROPERTIES_BASE::m_galOptions
protected

Definition at line 184 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

std::string DIALOG_SHIM::m_hash_key
protectedinherited
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_MaskClearanceTitle
protected

Definition at line 145 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_NetClearanceUnits
protected
TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_NetClearanceValueCtrl
protected
wxNotebook* DIALOG_PAD_PROPERTIES_BASE::m_notebook
protected

Definition at line 60 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadDrill_X_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadDrill_Y_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadLengthDie_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadNameText
protected

Definition at line 64 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadNumText
protected

Definition at line 62 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxChoice* DIALOG_PAD_PROPERTIES_BASE::m_PadOrient
protected
TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_PadOrientCtrl
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadOrientText
protected

Definition at line 82 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_PadPosition_X_Ctrl
protected
TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_PadPosition_Y_Ctrl
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadPosX_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadPosY_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadShapeDelta_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadShapeOffsetX_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadShapeOffsetY_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadShapeSizeX_Unit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_PadShapeSizeY_Unit
protected
wxPanel* DIALOG_PAD_PROPERTIES_BASE::m_panelCustomShapePrimitives
protected

Definition at line 168 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 154 of file dialog_shim.h.

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

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited
bool DIALOG_SHIM::m_qmodal_showing
protectedinherited
wxStaticBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_sbSizerCustomShapedZonesSettings
protected
wxStaticBoxSizer* DIALOG_PAD_PROPERTIES_BASE::m_sbSizerZonesSettings
protected
wxStdDialogButtonSizer* DIALOG_PAD_PROPERTIES_BASE::m_sdbSizer
protected

Definition at line 187 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxButton* DIALOG_PAD_PROPERTIES_BASE::m_sdbSizerCancel
protected
wxButton* DIALOG_PAD_PROPERTIES_BASE::m_sdbSizerOK
protected
TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_SolderMaskMarginCtrl
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_SolderMaskMarginUnits
protected
TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_SolderPasteMarginCtrl
protected
TEXT_CTRL_EVAL* DIALOG_PAD_PROPERTIES_BASE::m_SolderPasteMarginRatioCtrl
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_SolderPasteMarginUnits
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_SolderPasteRatioMarginUnits
protected

Definition at line 153 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline13
protected

Definition at line 186 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline4
protected

Definition at line 96 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline5
protected

Definition at line 97 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline6
protected

Definition at line 98 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline7
protected

Definition at line 104 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline8
protected

Definition at line 105 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticLine* DIALOG_PAD_PROPERTIES_BASE::m_staticline9
protected

Definition at line 106 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticModuleRotValue
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticModuleSideValue
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText12
protected

Definition at line 76 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText15
protected

Definition at line 79 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText17
protected

Definition at line 87 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText19
protected

Definition at line 90 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText21
protected

Definition at line 99 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText23
protected

Definition at line 102 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText38
protected

Definition at line 93 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText4
protected

Definition at line 70 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText40
protected

Definition at line 155 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText41
protected

Definition at line 73 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText44
protected

Definition at line 66 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText45
protected

Definition at line 68 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText47
protected

Definition at line 113 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText49
protected

Definition at line 157 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText491
protected

Definition at line 84 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText51
protected

Definition at line 115 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText511
protected

Definition at line 125 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText52
protected

Definition at line 160 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticText86
protected

Definition at line 124 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextCornerRadius
protected

Definition at line 110 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextCornerRadiusValue
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextCornerSizeRatio
protected

Definition at line 107 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextCornerSizeRatioUnit
protected

Definition at line 109 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextCornerSizeUnit
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextcps
protected

Definition at line 166 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextCsZconnTitle
protected

Definition at line 164 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextInfoNegVal
protected

Definition at line 141 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextInfoPosValue
protected

Definition at line 140 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextNetClearance
protected

Definition at line 142 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextPrimitiveListWarning
protected

Definition at line 171 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextPrimitivesList
protected

Definition at line 170 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextRatio
protected

Definition at line 151 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextSolderPaste
protected

Definition at line 148 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTextWarning
protected

Definition at line 139 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_staticTitleModuleRot
protected

Definition at line 180 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_textPadDrillX
protected

Definition at line 116 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_textPadDrillY
protected

Definition at line 119 of file dialog_pad_properties_base.h.

Referenced by DIALOG_PAD_PROPERTIES_BASE().

wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_ThermalGapUnits
protected
wxStaticText* DIALOG_PAD_PROPERTIES_BASE::m_ThermalWidthUnits
protected
wxChoice* DIALOG_PAD_PROPERTIES_BASE::m_ZoneConnectionChoice
protected
wxChoice* DIALOG_PAD_PROPERTIES_BASE::m_ZoneConnectionCustom
protected
wxChoice* DIALOG_PAD_PROPERTIES_BASE::m_ZoneCustomPadShape
protected

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