KiCad PCB EDA Suite
DIALOG_TRACK_VIA_PROPERTIES Class Reference

#include <dialog_track_via_properties.h>

Inheritance diagram for DIALOG_TRACK_VIA_PROPERTIES:
DIALOG_TRACK_VIA_PROPERTIES_BASE DIALOG_SHIM KIWAY_HOLDER

Public Types

enum  HOLDER_TYPE { DIALOG , FRAME , PANEL }
 

Public Member Functions

 DIALOG_TRACK_VIA_PROPERTIES (PCB_BASE_FRAME *aParent, const PCB_SELECTION &aItems, COMMIT &aCommit)
 
 ~DIALOG_TRACK_VIA_PROPERTIES ()
 
bool TransferDataFromWindow () override
 
void SetInitialFocus (wxWindow *aWindow)
 Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown. More...
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal () const
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
void OnModify ()
 
void SetPosition (const wxPoint &aNewPosition)
 Force the position of the dialog to a new position. More...
 
EDA_UNITS GetUserUnits () const
 
void SetupStandardButtons (std::map< int, wxString > aLabels={})
 
HOLDER_TYPE GetType () const
 
KIWAYKiway () const
 Return a reference to the KIWAY that this object has an opportunity to participate in. More...
 
bool HasKiway () const
 Safety check before asking for the Kiway reference. More...
 
PROJECTPrj () const
 Return a reference to the PROJECT associated with this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 It is only used for debugging, since "this" is not a wxWindow*. More...
 

Static Public Member Functions

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

Protected Member Functions

void finishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void setSizeInDU (int x, int y)
 Set the dialog to the given dimensions in "dialog units". More...
 
int horizPixelsFromDU (int x) const
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int vertPixelsFromDU (int y) const
 Convert an integer number of dialog units to pixels, vertically. More...
 
void resetSize ()
 Clear the existing dialog size and position. More...
 
virtual void OnCharHook (wxKeyEvent &aEvt)
 

Protected Attributes

wxBoxSizer * m_MainSizer
 
wxStaticBoxSizer * m_sbCommonSizer
 
wxStaticText * m_netSelectorLabel
 
NET_SELECTORm_netSelector
 
wxCheckBox * m_viaNotFree
 
wxStaticLine * m_staticline1
 
wxCheckBox * m_lockedCbox
 
wxStaticBoxSizer * m_sbTrackSizer
 
wxStaticText * m_TrackStartXLabel
 
wxTextCtrl * m_TrackStartXCtrl
 
wxStaticText * m_TrackStartXUnit
 
wxStaticText * m_TrackStartYLabel
 
wxTextCtrl * m_TrackStartYCtrl
 
wxStaticText * m_TrackStartYUnit
 
wxStaticText * m_TrackEndXLabel
 
wxTextCtrl * m_TrackEndXCtrl
 
wxStaticText * m_TrackEndXUnit
 
wxStaticText * m_TrackEndYLabel
 
wxTextCtrl * m_TrackEndYCtrl
 
wxStaticText * m_TrackEndYUnit
 
wxStaticText * m_DesignRuleWidths
 
wxChoice * m_DesignRuleWidthsCtrl
 
wxStaticText * m_DesignRuleWidthsUnits
 
wxStaticText * m_TrackWidthLabel
 
wxTextCtrl * m_TrackWidthCtrl
 
wxStaticText * m_TrackWidthUnit
 
wxCheckBox * m_trackNetclass
 
wxStaticText * m_TrackLayerLabel
 
PCB_LAYER_BOX_SELECTORm_TrackLayerCtrl
 
wxStaticBoxSizer * m_sbViaSizer
 
wxStaticText * m_ViaXLabel
 
wxTextCtrl * m_ViaXCtrl
 
wxStaticText * m_ViaXUnit
 
wxStaticText * m_ViaYLabel
 
wxTextCtrl * m_ViaYCtrl
 
wxStaticText * m_ViaYUnit
 
wxStaticText * m_DesignRuleVias
 
wxChoice * m_DesignRuleViasCtrl
 
wxStaticText * m_DesignRuleViasUnit
 
wxStaticText * m_ViaDiameterLabel
 
wxTextCtrl * m_ViaDiameterCtrl
 
wxStaticText * m_ViaDiameterUnit
 
wxStaticText * m_ViaDrillLabel
 
wxTextCtrl * m_ViaDrillCtrl
 
wxStaticText * m_ViaDrillUnit
 
wxCheckBox * m_viaNetclass
 
wxStaticText * m_ViaTypeLabel
 
wxChoice * m_ViaTypeChoice
 
wxStaticText * m_ViaStartLayerLabel
 
PCB_LAYER_BOX_SELECTORm_ViaStartLayer
 
wxStaticText * m_ViaEndLayerLabel1
 
PCB_LAYER_BOX_SELECTORm_ViaEndLayer
 
wxStaticText * m_annularRingsLabel
 
wxChoice * m_annularRingsCtrl
 
wxStdDialogButtonSizer * m_StdButtons
 
wxButton * m_StdButtonsOK
 
wxButton * m_StdButtonsCancel
 
EDA_UNITS m_units
 
std::string m_hash_key
 
bool m_useCalculatedSize
 
bool m_firstPaintEvent
 
wxWindow * m_initialFocusTarget
 
WX_EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 
EDA_BASE_FRAMEm_parentFrame
 
std::vector< wxWindow * > m_tabOrder
 
wxSize m_initialSize
 

Private Member Functions

void onViaNotFreeClicked (wxCommandEvent &event) override
 
void onTrackNetclassCheck (wxCommandEvent &aEvent) override
 
void onWidthSelect (wxCommandEvent &aEvent) override
 
void onWidthEdit (wxCommandEvent &aEvent) override
 
void onViaNetclassCheck (wxCommandEvent &aEvent) override
 
void onViaSelect (wxCommandEvent &aEvent) override
 
void onViaEdit (wxCommandEvent &aEvent) override
 
void onUnitsChanged (wxCommandEvent &aEvent)
 
bool confirmPadChange (const std::vector< PAD * > &connectedPads)
 
void OnCloseWindow (wxCloseEvent &aEvent)
 Properly handle the wxCloseEvent when in the quasimodal mode when not calling EndQuasiModal which is possible with any dialog derived from DIALOG_SHIM. More...
 
void OnButton (wxCommandEvent &aEvent)
 Properly handle the default button events when in the quasimodal mode when not calling EndQuasiModal which is possible with any dialog derived from DIALOG_SHIM. More...
 
void OnGridEditorShown (wxGridEvent &event)
 
void OnGridEditorHidden (wxGridEvent &event)
 
 DECLARE_EVENT_TABLE ()
 

Private Attributes

PCB_BASE_FRAMEm_frame
 
const PCB_SELECTIONm_items
 
COMMITm_commit
 
UNIT_BINDER m_trackStartX
 
UNIT_BINDER m_trackStartY
 
UNIT_BINDER m_trackEndX
 
UNIT_BINDER m_trackEndY
 
UNIT_BINDER m_trackWidth
 
UNIT_BINDER m_viaX
 
UNIT_BINDER m_viaY
 
UNIT_BINDER m_viaDiameter
 
UNIT_BINDER m_viaDrill
 
bool m_tracks
 
bool m_vias
 
KIWAYm_kiway
 
HOLDER_TYPE m_type
 

Detailed Description

Definition at line 35 of file dialog_track_via_properties.h.

Member Enumeration Documentation

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 39 of file kiway_holder.h.

Constructor & Destructor Documentation

◆ DIALOG_TRACK_VIA_PROPERTIES()

DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES ( PCB_BASE_FRAME aParent,
const PCB_SELECTION aItems,
COMMIT aCommit 
)

Definition at line 42 of file dialog_track_via_properties.cpp.

44 :
46 m_frame( aParent ),
47 m_items( aItems ),
48 m_commit( aCommit ),
58 m_tracks( false ),
59 m_vias( false )
60{
62
63 wxASSERT( !m_items.Empty() );
64
65 // Configure display origin transforms
72
74
79
84
87 m_ViaEndLayer->SetBoardFrame( aParent );
89
90 bool nets = false;
91 int net = 0;
92 bool hasLocked = false;
93 bool hasUnlocked = false;
94
95 // Start and end layers of vias
96 // if at least 2 vias do not have the same start or the same end layer
97 // the layers will be set as undefined
98 int selection_first_layer = -1;
99 int selection_last_layer = -1;
100
101 // The selection layer for tracks
102 int track_selection_layer = -1;
103
104 auto getAnnularRingSelection =
105 []( const PCB_VIA* via ) -> int
106 {
107 if( !via->GetRemoveUnconnected() )
108 return 0;
109 else if( via->GetKeepTopBottom() )
110 return 1;
111 else
112 return 2;
113 };
114
115 // Look for values that are common for every item that is selected
116 for( EDA_ITEM* item : m_items )
117 {
118 if( !nets )
119 {
120 net = static_cast<BOARD_CONNECTED_ITEM*>( item )->GetNetCode();
121 nets = true;
122 }
123 else if( net != static_cast<BOARD_CONNECTED_ITEM*>( item )->GetNetCode() )
124 {
125 net = -1;
126 }
127
128 switch( item->Type() )
129 {
130 case PCB_TRACE_T:
131 case PCB_ARC_T:
132 {
133 const PCB_TRACK* t = static_cast<const PCB_TRACK*>( item );
134
135 if( !m_tracks ) // first track in the list
136 {
142 track_selection_layer = t->GetLayer();
143 m_tracks = true;
144 }
145 else // check if values are the same for every selected track
146 {
147 if( m_trackStartX.GetValue() != t->GetStart().x )
149
150 if( m_trackStartY.GetValue() != t->GetStart().y )
152
153 if( m_trackEndX.GetValue() != t->GetEnd().x )
155
156 if( m_trackEndY.GetValue() != t->GetEnd().y )
158
159 if( m_trackWidth.GetValue() != t->GetWidth() )
161
162 if( track_selection_layer != t->GetLayer() )
163 {
164 track_selection_layer = UNDEFINED_LAYER;
165 }
166 }
167
168 if( t->IsLocked() )
169 hasLocked = true;
170 else
171 hasUnlocked = true;
172
173 break;
174 }
175
176 case PCB_VIA_T:
177 {
178 const PCB_VIA* v = static_cast<const PCB_VIA*>( item );
179
180 if( !m_vias ) // first via in the list
181 {
186 m_vias = true;
187 viaType = v->GetViaType();
188 m_viaNotFree->SetValue( !v->GetIsFree() );
189 m_annularRingsCtrl->SetSelection( getAnnularRingSelection( v ) );
190 selection_first_layer = v->TopLayer();
191 selection_last_layer = v->BottomLayer();
192 }
193 else // check if values are the same for every selected via
194 {
195 if( m_viaX.GetValue() != v->GetPosition().x )
197
198 if( m_viaY.GetValue() != v->GetPosition().y )
200
201 if( m_viaDiameter.GetValue() != v->GetWidth() )
203
204 if( m_viaDrill.GetValue() != v->GetDrillValue() )
206
207 if( viaType != v->GetViaType() )
208 viaType = VIATYPE::NOT_DEFINED;
209
210 if( v->GetIsFree() != !m_viaNotFree->GetValue() )
211 m_viaNotFree->Set3StateValue( wxCHK_UNDETERMINED );
212
213 if( selection_first_layer != v->TopLayer() )
214 {
215 selection_first_layer = UNDEFINED_LAYER;
216 }
217
218 if( selection_last_layer != v->BottomLayer() )
219 {
220 selection_last_layer = UNDEFINED_LAYER;
221 }
222
223 if( m_annularRingsCtrl->GetSelection() != getAnnularRingSelection( v ) )
224 {
225 if( m_annularRingsCtrl->GetStrings().size() < 4 )
227
228 m_annularRingsCtrl->SetSelection( 3 );
229 }
230 }
231
232 if( v->IsLocked() )
233 hasLocked = true;
234 else
235 hasUnlocked = true;
236
237 break;
238 }
239
240 default:
241 {
242 wxASSERT( false );
243 break;
244 }
245 }
246 }
247
248 if( m_tracks )
249 {
250 // Set the track layer selection state:
251 if( track_selection_layer == UNDEFINED_LAYER )
252 {
255 }
256
257 m_TrackLayerCtrl->SetLayerSelection( track_selection_layer );
258 }
259
260 // Set the vias layers selections state:
261 if( m_vias )
262 {
263 if( selection_first_layer == UNDEFINED_LAYER )
264 {
267 }
268 m_ViaStartLayer->SetLayerSelection( selection_first_layer );
269
270 if( selection_last_layer == UNDEFINED_LAYER )
271 {
274 }
275 m_ViaEndLayer->SetLayerSelection( selection_last_layer );
276 }
277
278 m_netSelector->SetBoard( aParent->GetBoard() );
279 m_netSelector->SetNetInfo( &aParent->GetBoard()->GetNetInfo() );
280
281 if ( net >= 0 )
282 {
284 }
285 else
286 {
289 }
290
291 wxASSERT( m_tracks || m_vias );
292
293 if( m_vias )
294 {
295 if( m_viaNotFree->GetValue() )
296 {
297 m_netSelectorLabel->Disable();
298 m_netSelector->Disable();
299 }
300
301 m_DesignRuleViasUnit->SetLabel( GetAbbreviatedUnitsLabel( m_frame->GetUserUnits() ).Trim( false ) );
302
303 int viaSelection = wxNOT_FOUND;
304
305 // 0 is the netclass place-holder
306 for( unsigned ii = 1; ii < aParent->GetDesignSettings().m_ViasDimensionsList.size(); ii++ )
307 {
308 VIA_DIMENSION* viaDimension = &aParent->GetDesignSettings().m_ViasDimensionsList[ii];
309 wxString msg = StringFromValue( m_frame->GetUserUnits(), viaDimension->m_Diameter )
310 + wxT( " / " )
311 + StringFromValue( m_frame->GetUserUnits(), viaDimension->m_Drill );
312 m_DesignRuleViasCtrl->Append( msg, viaDimension );
313
314 if( viaSelection == wxNOT_FOUND
315 && m_viaDiameter.GetValue() == viaDimension->m_Diameter
316 && m_viaDrill.GetValue() == viaDimension->m_Drill )
317 {
318 viaSelection = ii - 1;
319 }
320 }
321
322 m_DesignRuleViasCtrl->SetSelection( viaSelection );
323
324 m_ViaTypeChoice->Enable();
325
326 switch( viaType )
327 {
328 case VIATYPE::THROUGH: m_ViaTypeChoice->SetSelection( 0 ); break;
329 case VIATYPE::MICROVIA: m_ViaTypeChoice->SetSelection( 1 ); break;
330 case VIATYPE::BLIND_BURIED: m_ViaTypeChoice->SetSelection( 2 ); break;
331 case VIATYPE::NOT_DEFINED: m_ViaTypeChoice->SetSelection( wxNOT_FOUND ); break;
332 }
333
334 m_ViaStartLayer->Enable( viaType != VIATYPE::THROUGH );
335 m_ViaEndLayer->Enable( viaType != VIATYPE::THROUGH );
336 }
337 else
338 {
339 m_viaNotFree->Hide();
340 m_MainSizer->Hide( m_sbViaSizer, true );
341 }
342
343 if( m_tracks )
344 {
346
347 int widthSelection = wxNOT_FOUND;
348
349 // 0 is the netclass place-holder
350 for( unsigned ii = 1; ii < aParent->GetDesignSettings().m_TrackWidthList.size(); ii++ )
351 {
352 int width = aParent->GetDesignSettings().m_TrackWidthList[ii];
353 wxString msg = StringFromValue( m_frame->GetUserUnits(), width );
354 m_DesignRuleWidthsCtrl->Append( msg );
355
356 if( widthSelection == wxNOT_FOUND && m_trackWidth.GetValue() == width )
357 widthSelection = ii - 1;
358 }
359
360 m_DesignRuleWidthsCtrl->SetSelection( widthSelection );
361 }
362 else
363 {
364 m_MainSizer->Hide( m_sbTrackSizer, true );
365 }
366
367 if( hasLocked && hasUnlocked )
368 m_lockedCbox->Set3StateValue( wxCHK_UNDETERMINED );
369 else if( hasLocked )
370 m_lockedCbox->Set3StateValue( wxCHK_CHECKED );
371 else
372 m_lockedCbox->Set3StateValue( wxCHK_UNCHECKED );
373
374 if( m_tracks )
376 else if( m_netSelector->IsEnabled() )
378 else
380
382
383 m_frame->Bind( UNITS_CHANGED, &DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged, this );
384
385 // Now all widgets have the size fixed, call FinishDialogSettings
387}
wxString GetAbbreviatedUnitsLabel(EDA_UNITS aUnits, EDA_DATA_TYPE aType)
Get the units string for a given units type.
Definition: base_units.cpp:391
wxString StringFromValue(EDA_UNITS aUnits, double aValue, bool aAddUnitSymbol, EDA_DATA_TYPE aType)
Convert a value to a string using double notation.
Definition: base_units.cpp:209
#define INDETERMINATE_STATE
Used for holding indeterminate values, such as with multiple selections holding different values or c...
Definition: base_units.h:48
A base class derived from BOARD_ITEM for items that can be connected and have a net,...
std::vector< int > m_TrackWidthList
std::vector< VIA_DIMENSION > m_ViasDimensionsList
virtual PCB_LAYER_ID GetLayer() const
Return the primary layer this item is on.
Definition: board_item.h:170
virtual bool IsLocked() const
Definition: board_item.cpp:65
const NETINFO_LIST & GetNetInfo() const
Definition: board.h:737
void SetInitialFocus(wxWindow *aWindow)
Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.
Definition: dialog_shim.h:97
void SetupStandardButtons(std::map< int, wxString > aLabels={})
bool m_useCalculatedSize
Definition: dialog_shim.h:207
void finishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
DIALOG_TRACK_VIA_PROPERTIES_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Track & Via Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxSYSTEM_MENU)
void onUnitsChanged(wxCommandEvent &aEvent)
EDA_UNITS GetUserUnits() const
Return the user units currently in use.
A base class for most all the KiCad significant classes used in schematics and boards.
Definition: eda_item.h:100
int SetLayerSelection(int layer)
bool SetLayersHotkeys(bool value)
static LSET AllNonCuMask()
Return a mask holding all layer minus CU layers.
Definition: lset.cpp:794
void SetBoard(BOARD *aBoard)
void SetIndeterminateString(const wxString &aString)
void SetSelectedNetcode(int aNetcode)
void SetIndeterminate()
void SetNetInfo(NETINFO_LIST *aNetInfoList)
BOARD * GetBoard() const
virtual BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Returns the BOARD_DESIGN_SETTINGS for the open project.
void SetBoardFrame(PCB_BASE_FRAME *aFrame)
void SetNotAllowedLayerSet(LSET aMask)
void SetUndefinedLayerName(const wxString &aName)
int GetWidth() const
Definition: pcb_track.h:103
const VECTOR2I & GetStart() const
Definition: pcb_track.h:109
const VECTOR2I & GetEnd() const
Definition: pcb_track.h:106
bool GetIsFree() const
Checks if the via is a free via (as opposed to one created on a track by the router).
Definition: pcb_track.h:495
PCB_LAYER_ID BottomLayer() const
Definition: pcb_track.cpp:529
VECTOR2I GetPosition() const override
Definition: pcb_track.h:404
PCB_LAYER_ID TopLayer() const
Definition: pcb_track.cpp:523
int GetDrillValue() const
Function GetDrillValue "calculates" the drill value for vias (m-Drill if > 0, or default drill value ...
Definition: pcb_track.cpp:184
VIATYPE GetViaType() const
Definition: pcb_track.h:356
bool Empty() const
Checks if there is anything selected.
Definition: selection.h:98
virtual long long int GetValue()
Return the current value in Internal Units.
virtual void SetValue(long long int aValue)
Set new value (in Internal Units) for the text field, taking care of units conversion.
void SetCoordType(ORIGIN_TRANSFORMS::COORD_TYPES_T aCoordType)
Set the current origin transform mode.
Definition: unit_binder.h:184
@ UNDEFINED_LAYER
Definition: layer_ids.h:60
VIATYPE
Definition: pcb_track.h:62
@ BLIND_BURIED
Container to handle a stock of specific vias each with unique diameter and drill sizes in the BOARD c...
@ PCB_VIA_T
class PCB_VIA, a via (like a track segment on a copper layer)
Definition: typeinfo.h:104
@ PCB_ARC_T
class PCB_ARC, an arc track segment on a copper layer
Definition: typeinfo.h:105
@ PCB_TRACE_T
class PCB_TRACK, a track segment (segment on a copper layer)
Definition: typeinfo.h:103

References ORIGIN_TRANSFORMS::ABS_X_COORD, ORIGIN_TRANSFORMS::ABS_Y_COORD, LSET::AllNonCuMask(), BLIND_BURIED, PCB_VIA::BottomLayer(), SELECTION::Empty(), DIALOG_SHIM::finishDialogSettings(), GetAbbreviatedUnitsLabel(), PCB_BASE_FRAME::GetBoard(), PCB_BASE_FRAME::GetDesignSettings(), PCB_VIA::GetDrillValue(), PCB_TRACK::GetEnd(), PCB_VIA::GetIsFree(), BOARD_ITEM::GetLayer(), BOARD_CONNECTED_ITEM::GetNetCode(), BOARD::GetNetInfo(), PCB_VIA::GetPosition(), PCB_TRACK::GetStart(), EDA_BASE_FRAME::GetUserUnits(), UNIT_BINDER::GetValue(), PCB_VIA::GetViaType(), PCB_TRACK::GetWidth(), INDETERMINATE_STATE, BOARD_ITEM::IsLocked(), DIALOG_TRACK_VIA_PROPERTIES_BASE::m_annularRingsCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleViasCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleViasUnit, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidthsCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidthsUnits, VIA_DIMENSION::m_Diameter, VIA_DIMENSION::m_Drill, m_frame, m_items, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_lockedCbox, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_MainSizer, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_netSelector, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_netSelectorLabel, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_sbTrackSizer, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_sbViaSizer, m_trackEndX, m_trackEndY, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackLayerCtrl, m_tracks, m_trackStartX, m_trackStartY, m_trackWidth, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackWidthCtrl, BOARD_DESIGN_SETTINGS::m_TrackWidthList, DIALOG_SHIM::m_useCalculatedSize, m_viaDiameter, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaDiameterCtrl, m_viaDrill, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaEndLayer, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_viaNotFree, m_vias, BOARD_DESIGN_SETTINGS::m_ViasDimensionsList, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaStartLayer, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaTypeChoice, m_viaX, m_viaY, MICROVIA, NOT_DEFINED, onUnitsChanged(), PCB_ARC_T, PCB_TRACE_T, PCB_VIA_T, PCB_LAYER_BOX_SELECTOR::Resync(), NET_SELECTOR::SetBoard(), PCB_LAYER_BOX_SELECTOR::SetBoardFrame(), UNIT_BINDER::SetCoordType(), NET_SELECTOR::SetIndeterminate(), NET_SELECTOR::SetIndeterminateString(), DIALOG_SHIM::SetInitialFocus(), LAYER_BOX_SELECTOR::SetLayerSelection(), LAYER_SELECTOR::SetLayersHotkeys(), NET_SELECTOR::SetNetInfo(), PCB_LAYER_BOX_SELECTOR::SetNotAllowedLayerSet(), NET_SELECTOR::SetSelectedNetcode(), PCB_LAYER_BOX_SELECTOR::SetUndefinedLayerName(), DIALOG_SHIM::SetupStandardButtons(), UNIT_BINDER::SetValue(), StringFromValue(), THROUGH, PCB_VIA::TopLayer(), UNDEFINED_LAYER, via, VECTOR2< T >::x, and VECTOR2< T >::y.

◆ ~DIALOG_TRACK_VIA_PROPERTIES()

DIALOG_TRACK_VIA_PROPERTIES::~DIALOG_TRACK_VIA_PROPERTIES ( )

Definition at line 390 of file dialog_track_via_properties.cpp.

391{
392 m_frame->Unbind( UNITS_CHANGED, &DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged, this );
393}

References m_frame, and onUnitsChanged().

Member Function Documentation

◆ confirmPadChange()

bool DIALOG_TRACK_VIA_PROPERTIES::confirmPadChange ( const std::vector< PAD * > &  connectedPads)
private

Definition at line 440 of file dialog_track_via_properties.cpp.

441{
442 wxString msg;
443
444 if( changingPads.size() == 1 )
445 {
446 PAD* pad = *changingPads.begin();
447 msg.Printf( _( "Changing the net will also update %s pad %s to %s." ),
448 pad->GetParent()->GetReference(),
449 pad->GetNumber(),
450 m_netSelector->GetValue() );
451 }
452 else if( changingPads.size() == 2 )
453 {
454 PAD* pad1 = *changingPads.begin();
455 PAD* pad2 = *( ++changingPads.begin() );
456 msg.Printf( _( "Changing the net will also update %s pad %s and %s pad %s to %s." ),
457 pad1->GetParent()->GetReference(),
458 pad1->GetNumber(),
459 pad2->GetParent()->GetReference(),
460 pad2->GetNumber(),
461 m_netSelector->GetValue() );
462 }
463 else
464 {
465 msg.Printf( _( "Changing the net will also update %lu connected pads to %s." ),
466 static_cast<unsigned long>( changingPads.size() ),
467 m_netSelector->GetValue() );
468 }
469
470 KIDIALOG dlg( this, msg, _( "Confirmation" ), wxOK | wxCANCEL | wxICON_WARNING );
471 dlg.SetOKCancelLabels( _( "Change Nets" ), _( "Leave Nets Unchanged" ) );
472 dlg.DoNotShowCheckbox( __FILE__, __LINE__ );
473
474 return dlg.ShowModal() == wxID_OK;
475}
const wxString & GetReference() const
Definition: footprint.h:468
Helper class to create more flexible dialogs, including 'do not show again' checkbox handling.
Definition: confirm.h:46
Definition: pad.h:59
const wxString & GetNumber() const
Definition: pad.h:135
FOOTPRINT * GetParent() const
Definition: pad.cpp:1430
#define _(s)

References _, KIDIALOG::DoNotShowCheckbox(), PAD::GetNumber(), PAD::GetParent(), FOOTPRINT::GetReference(), DIALOG_TRACK_VIA_PROPERTIES_BASE::m_netSelector, pad, KIDIALOG::SetOKCancelLabels(), and KIDIALOG::ShowModal().

Referenced by TransferDataFromWindow().

◆ DECLARE_EVENT_TABLE()

DIALOG_SHIM::DECLARE_EVENT_TABLE ( )
privateinherited

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 319 of file dialog_shim.cpp.

320{
321 // so we can do logging of this state change:
322 return wxDialog::Enable( enable );
323}

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 487 of file dialog_shim.cpp.

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

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

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

◆ finishDialogSettings()

void DIALOG_SHIM::finishDialogSettings ( )
protectedinherited

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

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

Definition at line 158 of file dialog_shim.cpp.

159{
160 // must be called from the constructor of derived classes,
161 // when all widgets are initialized, and therefore their size fixed
162
163 // SetSizeHints fixes the minimal size of sizers in the dialog
164 // (SetSizeHints calls Fit(), so no need to call it)
165 GetSizer()->SetSizeHints( this );
166}

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

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( ) const
inlineinherited

Definition at line 46 of file kiway_holder.h.

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

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUserUnits()

◆ HasKiway()

bool KIWAY_HOLDER::HasKiway ( ) const
inlineinherited

Safety check before asking for the Kiway reference.

Returns
true if kiway is non-null

Definition at line 63 of file kiway_holder.h.

64 {
65 return m_kiway != nullptr;
66 }
KIWAY * m_kiway
Definition: kiway_holder.h:84

References KIWAY_HOLDER::m_kiway.

Referenced by DIALOG_SHIM::~DIALOG_SHIM().

◆ horizPixelsFromDU()

int DIALOG_SHIM::horizPixelsFromDU ( int  x) const
protectedinherited

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

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 176 of file dialog_shim.cpp.

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

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

◆ IsCtrl()

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

Definition at line 128 of file dialog_shim.h.

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

◆ IsQuasiModal()

◆ IsShiftCtrl()

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

Definition at line 134 of file dialog_shim.h.

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

◆ Kiway()

KIWAY & KIWAY_HOLDER::Kiway ( ) const
inlineinherited

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

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 53 of file kiway_holder.h.

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

References KIWAY_HOLDER::m_kiway.

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

◆ OnButton()

void DIALOG_SHIM::OnButton ( wxCommandEvent &  aEvent)
privateinherited

Properly handle the default button events when in the quasimodal mode when not calling EndQuasiModal which is possible with any dialog derived from DIALOG_SHIM.

Definition at line 533 of file dialog_shim.cpp.

534{
535 const int id = aEvent.GetId();
536
537 // If we are pressing a button to exit, we need to enable the escapeID
538 // otherwise the dialog does not process cancel
539 if( id == wxID_CANCEL )
540 SetEscapeId( wxID_ANY );
541
542 if( IsQuasiModal() )
543 {
544 if( id == GetAffirmativeId() )
545 {
546 EndQuasiModal( id );
547 }
548 else if( id == wxID_APPLY )
549 {
550 // Dialogs that provide Apply buttons should make sure data is valid before
551 // allowing a transfer, as there is no other way to indicate failure
552 // (i.e. the dialog can't refuse to close as it might with OK, because it
553 // isn't closing anyway)
554 if( Validate() )
555 {
556 ignore_unused( TransferDataFromWindow() );
557 }
558 }
559 else if( id == GetEscapeId() || (id == wxID_CANCEL && GetEscapeId() == wxID_ANY) )
560 {
561 EndQuasiModal( wxID_CANCEL );
562 }
563 else // not a standard button
564 {
565 aEvent.Skip();
566 }
567
568 return;
569 }
570
571 // This is mandatory to allow wxDialogBase::OnButton() to be called.
572 aEvent.Skip();
573}
void EndQuasiModal(int retCode)
void ignore_unused(const T &)
Definition: ignore.h:24

References DIALOG_SHIM::EndQuasiModal(), ignore_unused(), and DIALOG_SHIM::IsQuasiModal().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ OnCharHook()

void DIALOG_SHIM::OnCharHook ( wxKeyEvent &  aEvt)
protectedvirtualinherited

Reimplemented in HK_PROMPT_DIALOG, DIALOG_CHOOSE_SYMBOL, and HTML_MESSAGE_BOX.

Definition at line 576 of file dialog_shim.cpp.

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

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

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

◆ OnCloseWindow()

void DIALOG_SHIM::OnCloseWindow ( wxCloseEvent &  aEvent)
privateinherited

Properly handle the wxCloseEvent when in the quasimodal mode when not calling EndQuasiModal which is possible with any dialog derived from DIALOG_SHIM.

Definition at line 520 of file dialog_shim.cpp.

521{
522 if( IsQuasiModal() )
523 {
524 EndQuasiModal( wxID_CANCEL );
525 return;
526 }
527
528 // This is mandatory to allow wxDialogBase::OnCloseWindow() to be called.
529 aEvent.Skip();
530}

References DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::IsQuasiModal().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ OnGridEditorHidden()

void DIALOG_SHIM::OnGridEditorHidden ( wxGridEvent &  event)
privateinherited

Definition at line 642 of file dialog_shim.cpp.

643{
644 SetEscapeId( wxID_ANY );
645 event.Skip();
646}

◆ OnGridEditorShown()

void DIALOG_SHIM::OnGridEditorShown ( wxGridEvent &  event)
privateinherited

Definition at line 635 of file dialog_shim.cpp.

636{
637 SetEscapeId( wxID_NONE );
638 event.Skip();
639}

◆ OnModify()

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 387 of file dialog_shim.cpp.

388{
390 {
392
393 selectAllInTextCtrls( GetChildren() );
394
397 else
398 KIPLATFORM::UI::ForceFocus( this ); // Focus the dialog itself
399
400 m_firstPaintEvent = false;
401 }
402
403 event.Skip();
404}
bool m_firstPaintEvent
Definition: dialog_shim.h:212
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:213
static void selectAllInTextCtrls(wxWindowList &children)
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:71
void ForceFocus(wxWindow *aWindow)
Pass the current focus to the window.
Definition: gtk/ui.cpp:44

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

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ onTrackNetclassCheck()

void DIALOG_TRACK_VIA_PROPERTIES::onTrackNetclassCheck ( wxCommandEvent &  aEvent)
overrideprivatevirtual

Reimplemented from DIALOG_TRACK_VIA_PROPERTIES_BASE.

Definition at line 740 of file dialog_track_via_properties.cpp.

741{
742 bool enableNC = aEvent.IsChecked();
743
744 m_DesignRuleWidths->Enable( !enableNC );
745 m_DesignRuleWidthsCtrl->Enable( !enableNC );
746 m_DesignRuleWidthsUnits->Enable( !enableNC );
747
748 m_trackWidth.Enable( !enableNC );
749}
void Enable(bool aEnable)
Enable/disable the label, widget and units label.

References UNIT_BINDER::Enable(), DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidths, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidthsCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidthsUnits, and m_trackWidth.

◆ onUnitsChanged()

void DIALOG_TRACK_VIA_PROPERTIES::onUnitsChanged ( wxCommandEvent &  aEvent)
private

Definition at line 396 of file dialog_track_via_properties.cpp.

397{
398 if( m_vias )
399 {
400 int viaSel = m_DesignRuleViasCtrl->GetSelection();
401
402 m_DesignRuleViasCtrl->Clear();
403
404 // 0 is the netclass place-holder
405 for( unsigned ii = 1; ii < m_frame->GetDesignSettings().m_ViasDimensionsList.size(); ii++ )
406 {
408 wxString msg = StringFromValue( m_frame->GetUserUnits(), viaDimension->m_Diameter )
409 + wxT( " / " )
410 + StringFromValue( m_frame->GetUserUnits(), viaDimension->m_Drill );
411 m_DesignRuleViasCtrl->Append( msg, viaDimension );
412 }
413
414 m_DesignRuleViasCtrl->SetSelection( viaSel );
416 }
417
418 if( m_tracks )
419 {
420 int trackSel = m_DesignRuleWidthsCtrl->GetSelection();
421
422 m_DesignRuleWidthsCtrl->Clear();
423
424 // 0 is the netclass place-holder
425 for( unsigned ii = 1; ii < m_frame->GetDesignSettings().m_TrackWidthList.size(); ii++ )
426 {
427 int width = m_frame->GetDesignSettings().m_TrackWidthList[ii];
428 wxString msg = StringFromValue( m_frame->GetUserUnits(), width );
429 m_DesignRuleWidthsCtrl->Append( msg );
430 }
431
432 m_DesignRuleWidthsCtrl->SetSelection( trackSel );
434 }
435
436 aEvent.Skip();
437}

References GetAbbreviatedUnitsLabel(), PCB_BASE_FRAME::GetDesignSettings(), EDA_BASE_FRAME::GetUserUnits(), DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleViasCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleViasUnit, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidthsCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidthsUnits, VIA_DIMENSION::m_Diameter, VIA_DIMENSION::m_Drill, m_frame, m_tracks, BOARD_DESIGN_SETTINGS::m_TrackWidthList, m_vias, BOARD_DESIGN_SETTINGS::m_ViasDimensionsList, and StringFromValue().

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

◆ onViaEdit()

void DIALOG_TRACK_VIA_PROPERTIES::onViaEdit ( wxCommandEvent &  aEvent)
overrideprivatevirtual

Reimplemented from DIALOG_TRACK_VIA_PROPERTIES_BASE.

Definition at line 787 of file dialog_track_via_properties.cpp.

788{
789 m_DesignRuleViasCtrl->SetSelection( wxNOT_FOUND );
790
791 if( m_vias )
792 {
793 if( m_ViaTypeChoice->GetSelection() != 0 ) // check if selected type isn't through.
794 {
795 m_ViaStartLayer->Enable();
796 m_ViaEndLayer->Enable();
797 }
798 else
799 {
802
803 m_ViaStartLayer->Enable( false );
804 m_ViaEndLayer->Enable( false );
805 }
806 }
807}
@ B_Cu
Definition: layer_ids.h:95
@ F_Cu
Definition: layer_ids.h:64

References B_Cu, F_Cu, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleViasCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaEndLayer, m_vias, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaStartLayer, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaTypeChoice, and LAYER_BOX_SELECTOR::SetLayerSelection().

◆ onViaNetclassCheck()

void DIALOG_TRACK_VIA_PROPERTIES::onViaNetclassCheck ( wxCommandEvent &  aEvent)
overrideprivatevirtual

Reimplemented from DIALOG_TRACK_VIA_PROPERTIES_BASE.

Definition at line 765 of file dialog_track_via_properties.cpp.

766{
767 bool enableNC = aEvent.IsChecked();
768
769 m_DesignRuleVias->Enable( !enableNC );
770 m_DesignRuleViasCtrl->Enable( !enableNC );
771 m_DesignRuleViasUnit->Enable( !enableNC );
772
773 m_viaDiameter.Enable( !enableNC );
774 m_viaDrill.Enable( !enableNC );
775}

References UNIT_BINDER::Enable(), DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleVias, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleViasCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleViasUnit, m_viaDiameter, and m_viaDrill.

◆ onViaNotFreeClicked()

void DIALOG_TRACK_VIA_PROPERTIES::onViaNotFreeClicked ( wxCommandEvent &  event)
overrideprivatevirtual

◆ onViaSelect()

void DIALOG_TRACK_VIA_PROPERTIES::onViaSelect ( wxCommandEvent &  aEvent)
overrideprivatevirtual

Reimplemented from DIALOG_TRACK_VIA_PROPERTIES_BASE.

Definition at line 778 of file dialog_track_via_properties.cpp.

779{
780 VIA_DIMENSION* viaDimension = static_cast<VIA_DIMENSION*> ( aEvent.GetClientData() );
781
782 m_viaDiameter.ChangeValue( viaDimension->m_Diameter );
783 m_viaDrill.ChangeValue( viaDimension->m_Drill );
784}
virtual void ChangeValue(int aValue)
Set new value (in Internal Units) for the text field, taking care of units conversion WITHOUT trigger...

References UNIT_BINDER::ChangeValue(), VIA_DIMENSION::m_Diameter, VIA_DIMENSION::m_Drill, m_viaDiameter, and m_viaDrill.

◆ onWidthEdit()

void DIALOG_TRACK_VIA_PROPERTIES::onWidthEdit ( wxCommandEvent &  aEvent)
overrideprivatevirtual

◆ onWidthSelect()

void DIALOG_TRACK_VIA_PROPERTIES::onWidthSelect ( wxCommandEvent &  aEvent)
overrideprivatevirtual

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Return a reference to the PROJECT associated with this KIWAY.

Definition at line 36 of file kiway_holder.cpp.

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

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

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

◆ resetSize()

void DIALOG_SHIM::resetSize ( )
protectedinherited

Clear the existing dialog size and position.

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

Definition at line 294 of file dialog_shim.cpp.

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

References class_map, and DIALOG_SHIM::m_hash_key.

Referenced by DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES().

◆ SetInitialFocus()

void DIALOG_SHIM::SetInitialFocus ( wxWindow *  aWindow)
inlineinherited

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

Definition at line 97 of file dialog_shim.h.

98 {
99 m_initialFocusTarget = aWindow;
100 }

References DIALOG_SHIM::m_initialFocusTarget.

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

◆ SetKiway()

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

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

"this" is a KIWAY_HOLDER mix-in.

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

Definition at line 43 of file kiway_holder.cpp.

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

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

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

◆ SetPosition()

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

Force the position of the dialog to a new position.

Parameters
aNewPositionis the new forced position

Definition at line 197 of file dialog_shim.cpp.

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

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

Referenced by PCB_BASE_FRAME::SelectOneLayer().

◆ setSizeInDU()

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

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

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

Definition at line 169 of file dialog_shim.cpp.

170{
171 wxSize sz( x, y );
172 SetSize( ConvertDialogToPixels( sz ) );
173}

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

◆ SetupStandardButtons()

void DIALOG_SHIM::SetupStandardButtons ( std::map< int, wxString >  aLabels = {})
inherited

Definition at line 709 of file dialog_shim.cpp.

710{
711 recursiveDescent( GetSizer(), aLabels );
712}
static void recursiveDescent(wxSizer *aSizer, std::map< int, wxString > &aLabels)

References recursiveDescent().

Referenced by CONVERT_SETTINGS_DIALOG::CONVERT_SETTINGS_DIALOG(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_ASSIGN_NETCLASS::DIALOG_ASSIGN_NETCLASS(), DIALOG_BOM::DIALOG_BOM(), DIALOG_BUS_MANAGER::DIALOG_BUS_MANAGER(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL(), DIALOG_CLEANUP_GRAPHICS::DIALOG_CLEANUP_GRAPHICS(), DIALOG_COLOR_PICKER::DIALOG_COLOR_PICKER(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_CREATE_ARRAY::DIALOG_CREATE_ARRAY(), DIALOG_DIELECTRIC_MATERIAL::DIALOG_DIELECTRIC_MATERIAL(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_DRC::DIALOG_DRC(), DIALOG_ERC::DIALOG_ERC(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FILTER_SELECTION::DIALOG_FILTER_SELECTION(), DIALOG_FOOTPRINT_CHECKER::DIALOG_FOOTPRINT_CHECKER(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR::DIALOG_FOOTPRINT_PROPERTIES_FP_EDITOR(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GEN_FOOTPRINT_POSITION::DIALOG_GEN_FOOTPRINT_POSITION(), DIALOG_GENDRILL::DIALOG_GENDRILL(), DIALOG_GET_FOOTPRINT_BY_NAME::DIALOG_GET_FOOTPRINT_BY_NAME(), DIALOG_GLOBAL_DELETION::DIALOG_GLOBAL_DELETION(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::DIALOG_GLOBAL_LIB_TABLE_CONFIG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMAGE_PROPERTIES::DIALOG_IMAGE_PROPERTIES(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_IMPORT_SETTINGS::DIALOG_IMPORT_SETTINGS(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_PROPERTIES::DIALOG_LABEL_PROPERTIES(), DIALOG_LIB_EDIT_PIN_TABLE::DIALOG_LIB_EDIT_PIN_TABLE(), DIALOG_LIB_NEW_SYMBOL::DIALOG_LIB_NEW_SYMBOL(), DIALOG_LIB_SHAPE_PROPERTIES::DIALOG_LIB_SHAPE_PROPERTIES(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIB_TEXT_PROPERTIES::DIALOG_LIB_TEXT_PROPERTIES(), DIALOG_LIB_TEXTBOX_PROPERTIES::DIALOG_LIB_TEXTBOX_PROPERTIES(), DIALOG_LINE_PROPERTIES::DIALOG_LINE_PROPERTIES(), DIALOG_LOCKED_ITEMS_QUERY::DIALOG_LOCKED_ITEMS_QUERY(), DIALOG_MIGRATE_SETTINGS::DIALOG_MIGRATE_SETTINGS(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NET_INSPECTOR::DIALOG_NET_INSPECTOR(), DIALOG_NETLIST_IMPORT::DIALOG_NETLIST_IMPORT(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PRIMITIVES_TRANSFORM::DIALOG_PAD_PRIMITIVES_TRANSFORM(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_PCM::DIALOG_PCM(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_PLOT::DIALOG_PLOT(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_PNS_DIFF_PAIR_DIMENSIONS::DIALOG_PNS_DIFF_PAIR_DIMENSIONS(), DIALOG_PNS_LENGTH_TUNING_SETTINGS::DIALOG_PNS_LENGTH_TUNING_SETTINGS(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_PRINT_GENERIC::DIALOG_PRINT_GENERIC(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_REGULATOR_FORM::DIALOG_REGULATOR_FORM(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SCH_IMPORT_SETTINGS::DIALOG_SCH_IMPORT_SETTINGS(), DIALOG_SHAPE_PROPERTIES::DIALOG_SHAPE_PROPERTIES(), DIALOG_SHEET_PIN_PROPERTIES::DIALOG_SHEET_PIN_PROPERTIES(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SIM_SETTINGS::DIALOG_SIM_SETTINGS(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TEXTBOX_PROPERTIES::DIALOG_TEXTBOX_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_UNUSED_PAD_LAYERS::DIALOG_UNUSED_PAD_LAYERS(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), DIALOG_UPDATE_SYMBOL_FIELDS::DIALOG_UPDATE_SYMBOL_FIELDS(), DIALOG_WIRE_BUS_PROPERTIES::DIALOG_WIRE_BUS_PROPERTIES(), EDA_LIST_DIALOG::EDA_LIST_DIALOG(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), DIALOG_FIELD_PROPERTIES::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), NETLIST_DIALOG_ADD_GENERATOR::NETLIST_DIALOG_ADD_GENERATOR(), PAGED_DIALOG::PAGED_DIALOG(), DIALOG_CLEANUP_TRACKS_AND_VIAS::setupOKButtonLabel(), WX_TEXT_ENTRY_DIALOG::WX_TEXT_ENTRY_DIALOG(), and WX_UNIT_ENTRY_DIALOG::WX_UNIT_ENTRY_DIALOG().

◆ Show()

bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 226 of file dialog_shim.cpp.

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

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

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

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 437 of file dialog_shim.cpp.

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

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

Referenced by SCH_EDIT_TOOL::ChangeSymbols(), S3D::Configure3DPaths(), MICROWAVE_TOOL::createFootprint(), MICROWAVE_TOOL::createMicrowaveInductor(), SCH_DRAWING_TOOLS::createNewText(), PCB::IFACE::CreateWindow(), SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape(), SYMBOL_EDITOR_EDIT_TOOL::editFieldProperties(), SCH_EDIT_TOOL::editFieldText(), SCH_EDITOR_CONTROL::EditSymbolFields(), SYMBOL_EDITOR_EDIT_TOOL::editSymbolProperties(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), InvokeCopperZonesEditor(), InvokeDialogCreateBOM(), InvokeDialogEditSymbolsLibId(), InvokeDialogRescueEach(), InvokeNonCopperZonesEditor(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), PCB_EDIT_FRAME::OnEditItemRequest(), SYMBOL_VIEWER_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::RemapSymbols(), S3D::Select3DModel(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowExchangeFootprintsDialog(), PCB_BASE_EDIT_FRAME::ShowGraphicItemPropertiesDialog(), PCB_BASE_FRAME::ShowPadPropertiesDialog(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), PCB_BASE_EDIT_FRAME::ShowTextBoxPropertiesDialog(), PCB_BASE_EDIT_FRAME::ShowTextPropertiesDialog(), and PCB_EDIT_FRAME::ToPlotter().

◆ TransferDataFromWindow()

bool DIALOG_TRACK_VIA_PROPERTIES::TransferDataFromWindow ( )
override

Definition at line 478 of file dialog_track_via_properties.cpp.

479{
480 // Run validations:
481
482 if( m_vias )
483 {
485 || !m_viaDrill.Validate( GEOMETRY_MIN_SIZE, INT_MAX ) )
486 return false;
487
488 if( m_ViaDiameterCtrl->IsEnabled() && !m_viaDiameter.IsIndeterminate()
489 && m_ViaDrillCtrl->IsEnabled() && !m_viaDrill.IsIndeterminate()
491 {
492 DisplayError( GetParent(), _( "Via hole size must be smaller than via diameter" ) );
493 m_ViaDrillCtrl->SelectAll();
494 m_ViaDrillCtrl->SetFocus();
495 return false;
496 }
497
500 {
501 DisplayError( GetParent(), _( "Via start layer and end layer cannot be the same" ) );
502 return false;
503 }
504 }
505
506 if( m_tracks )
507 {
508 if( !m_trackWidth.Validate( GEOMETRY_MIN_SIZE, INT_MAX ) )
509 return false;
510 }
511
512 // If we survived that, then save the changes:
513 //
514 // We don't bother with updating the nets at this point as it will be useless (any connected
515 // pads will simply drive their existing nets back onto the track segments and vias).
516
517 bool changeLock = m_lockedCbox->Get3StateValue() != wxCHK_UNDETERMINED;
518 bool setLock = m_lockedCbox->Get3StateValue() == wxCHK_CHECKED;
519
520 for( EDA_ITEM* item : m_items )
521 {
522 m_commit.Modify( item );
523
524 switch( item->Type() )
525 {
526 case PCB_TRACE_T:
527 case PCB_ARC_T:
528 {
529 wxASSERT( m_tracks );
530 PCB_TRACK* t = static_cast<PCB_TRACK*>( item );
531
533 t->SetStart( wxPoint( m_trackStartX.GetValue(), t->GetStart().y ) );
534
536 t->SetStart( wxPoint( t->GetStart().x, m_trackStartY.GetValue() ) );
537
539 t->SetEnd( wxPoint( m_trackEndX.GetValue(), t->GetEnd().y ) );
540
542 t->SetEnd( wxPoint( t->GetEnd().x, m_trackEndY.GetValue() ) );
543
544 if( m_trackNetclass->IsChecked() )
546 else if( !m_trackWidth.IsIndeterminate() )
548
549 int layer = m_TrackLayerCtrl->GetLayerSelection();
550
551 if( layer != UNDEFINED_LAYER )
552 t->SetLayer( (PCB_LAYER_ID) layer );
553
554 if( changeLock )
555 t->SetLocked( setLock );
556
557 break;
558 }
559
560 case PCB_VIA_T:
561 {
562 wxASSERT( m_vias );
563 PCB_VIA* v = static_cast<PCB_VIA*>( item );
564
565 if( !m_viaX.IsIndeterminate() )
566 v->SetPosition( wxPoint( m_viaX.GetValue(), v->GetPosition().y ) );
567
568 if( !m_viaY.IsIndeterminate() )
569 v->SetPosition( wxPoint( v->GetPosition().x, m_viaY.GetValue() ) );
570
571 if( m_viaNotFree->Get3StateValue() != wxCHK_UNDETERMINED )
572 v->SetIsFree( !m_viaNotFree->GetValue() );
573
574 switch( m_ViaTypeChoice->GetSelection() )
575 {
576 case 0:
578 v->SanitizeLayers();
579 break;
580 case 1:
582 break;
583 case 2:
585 break;
586 default:
587 break;
588 }
589
590 auto startLayer = static_cast<PCB_LAYER_ID>( m_ViaStartLayer->GetLayerSelection() );
591 auto endLayer = static_cast<PCB_LAYER_ID>( m_ViaEndLayer->GetLayerSelection() );
592
593 if (startLayer != UNDEFINED_LAYER )
594 v->SetTopLayer( startLayer );
595
596 if (endLayer != UNDEFINED_LAYER )
597 v->SetBottomLayer( endLayer );
598
599 switch( m_annularRingsCtrl->GetSelection() )
600 {
601 case 0:
602 v->SetRemoveUnconnected( false );
603 break;
604 case 1:
605 v->SetRemoveUnconnected( true );
606 v->SetKeepTopBottom( true );
607 break;
608 case 2:
609 v->SetRemoveUnconnected( true );
610 v->SetKeepTopBottom( false );
611 break;
612 default:
613 break;
614 }
615
616 v->SanitizeLayers();
617
618 if( m_viaNetclass->IsChecked() )
619 {
620 NETCLASS* netclass = v->GetEffectiveNetClass();
621
622 switch( v->GetViaType() )
623 {
624 default:
625 wxFAIL_MSG( wxT( "Unhandled via type" ) );
627
628 case VIATYPE::THROUGH:
630 v->SetWidth( netclass->GetViaDiameter() );
631 v->SetDrill( netclass->GetViaDrill() );
632 break;
633
635 v->SetWidth( netclass->GetuViaDiameter() );
636 v->SetDrill( netclass->GetuViaDrill() );
637 break;
638 }
639 }
640 else
641 {
644
647 }
648
649 if( changeLock )
650 v->SetLocked( setLock );
651
652 break;
653 }
654
655 default:
656 wxASSERT( false );
657 break;
658 }
659 }
660
661 m_commit.Push( _( "Edit track/via properties" ) );
662
663 // Pushing the commit will have updated the connectivity so we can now test to see if we
664 // need to update any pad nets.
665
666 auto connectivity = m_frame->GetBoard()->GetConnectivity();
667 int newNetCode = m_netSelector->GetSelectedNetcode();
668 bool updateNets = false;
669 std::vector<PAD*> changingPads;
670
672 {
673 updateNets = true;
674
675 for( EDA_ITEM* item : m_items )
676 {
677 BOARD_CONNECTED_ITEM* boardItem = static_cast<BOARD_CONNECTED_ITEM*>( item );
678 auto connectedItems = connectivity->GetConnectedItems( boardItem,
680
681 for ( BOARD_CONNECTED_ITEM* citem : connectedItems )
682 {
683 if( citem->Type() == PCB_PAD_T )
684 {
685 PAD* pad = static_cast<PAD*>( citem );
686
687 if( pad->GetNetCode() != newNetCode && !alg::contains( changingPads, citem ) )
688 changingPads.push_back( pad );
689 }
690 }
691 }
692 }
693
694 if( changingPads.size() && !confirmPadChange( changingPads ) )
695 updateNets = false;
696
697 if( updateNets )
698 {
699 for( EDA_ITEM* item : m_items )
700 {
701 m_commit.Modify( item );
702
703 switch( item->Type() )
704 {
705 case PCB_TRACE_T:
706 case PCB_ARC_T:
707 static_cast<PCB_TRACK*>( item )->SetNetCode( newNetCode );
708 break;
709
710 case PCB_VIA_T:
711 static_cast<PCB_VIA*>( item )->SetNetCode( newNetCode );
712 break;
713
714 default:
715 wxASSERT( false );
716 break;
717 }
718 }
719
720 for( PAD* pad : changingPads )
721 {
723 pad->SetNetCode( newNetCode );
724 }
725
726 m_commit.Push( _( "Updating nets" ) );
727 }
728
729 return true;
730}
virtual NETCLASS * GetEffectiveNetClass() const
Return the NETCLASS for this item.
virtual void SetLocked(bool aLocked)
Definition: board_item.h:238
virtual void SetLayer(PCB_LAYER_ID aLayer)
Set the layer this item is on.
Definition: board_item.h:198
std::shared_ptr< CONNECTIVITY_DATA > GetConnectivity() const
Return a list of missing connections between components/tracks.
Definition: board.h:399
COMMIT & Modify(EDA_ITEM *aItem)
Create an undo entry for an item that has been already modified.
Definition: commit.h:103
virtual void Push(const wxString &aMessage=wxT("A commit"), int aFlags=0)=0
Revert the commit by restoring the modified items state.
bool confirmPadChange(const std::vector< PAD * > &connectedPads)
A collection of nets and the parameters used to route or test these nets.
Definition: netclass.h:47
int GetViaDiameter() const
Definition: netclass.h:80
int GetViaDrill() const
Definition: netclass.h:84
int GetuViaDrill() const
Definition: netclass.h:92
int GetuViaDiameter() const
Definition: netclass.h:88
int GetTrackWidth() const
Definition: netclass.h:76
bool IsIndeterminate()
int GetSelectedNetcode()
void SetWidth(int aWidth)
Definition: pcb_track.h:102
void SetEnd(const VECTOR2I &aEnd)
Definition: pcb_track.h:105
void SetStart(const VECTOR2I &aStart)
Definition: pcb_track.h:108
void SetRemoveUnconnected(bool aSet)
Sets the unconnected removal property.
Definition: pcb_track.h:439
void SetBottomLayer(PCB_LAYER_ID aLayer)
Definition: pcb_track.cpp:495
void SetKeepTopBottom(bool aSet)
Sets whether we keep the top and bottom connections even if they are not connected.
Definition: pcb_track.h:445
void SetDrill(int aDrill)
Function SetDrill sets the drill value for vias.
Definition: pcb_track.h:467
void SetIsFree(bool aFree=true)
Definition: pcb_track.h:496
void SetTopLayer(PCB_LAYER_ID aLayer)
Definition: pcb_track.cpp:489
void SetPosition(const VECTOR2I &aPoint) override
Definition: pcb_track.h:405
void SanitizeLayers()
Function SanitizeLayers Check so that the layers are correct dependin on the type of via,...
Definition: pcb_track.cpp:535
void SetViaType(VIATYPE aViaType)
Definition: pcb_track.h:357
bool IsIndeterminate() const
Return true if the control holds the indeterminate value (for instance, if it represents a multiple s...
virtual bool Validate(double aMin, double aMax, EDA_UNITS aUnits=EDA_UNITS::UNSCALED)
Validate the control against the given range, informing the user of any errors found.
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:280
PCB_LAYER_ID
A quick note on layer IDs:
Definition: layer_ids.h:59
#define KI_FALLTHROUGH
The KI_FALLTHROUGH macro is to be used when switch statement cases should purposely fallthrough from ...
Definition: macros.h:83
bool contains(const _Container &__container, _Value __value)
Returns true if the container contains the given value.
Definition: kicad_algo.h:99
#define GEOMETRY_MIN_SIZE
Definition: pcb_track.h:73
@ PCB_FOOTPRINT_T
class FOOTPRINT, a footprint
Definition: typeinfo.h:88
@ PCB_PAD_T
class PAD, a pad in a footprint
Definition: typeinfo.h:89

References _, BLIND_BURIED, confirmPadChange(), alg::contains(), DisplayError(), GEOMETRY_MIN_SIZE, PCB_BASE_FRAME::GetBoard(), BOARD::GetConnectivity(), BOARD_CONNECTED_ITEM::GetEffectiveNetClass(), PCB_TRACK::GetEnd(), LAYER_BOX_SELECTOR::GetLayerSelection(), PCB_VIA::GetPosition(), NET_SELECTOR::GetSelectedNetcode(), PCB_TRACK::GetStart(), NETCLASS::GetTrackWidth(), NETCLASS::GetuViaDiameter(), NETCLASS::GetuViaDrill(), UNIT_BINDER::GetValue(), NETCLASS::GetViaDiameter(), NETCLASS::GetViaDrill(), PCB_VIA::GetViaType(), NET_SELECTOR::IsIndeterminate(), UNIT_BINDER::IsIndeterminate(), KI_FALLTHROUGH, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_annularRingsCtrl, m_commit, m_frame, m_items, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_lockedCbox, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_netSelector, m_trackEndX, m_trackEndY, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackLayerCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_trackNetclass, m_tracks, m_trackStartX, m_trackStartY, m_trackWidth, m_viaDiameter, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaDiameterCtrl, m_viaDrill, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaDrillCtrl, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaEndLayer, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_viaNetclass, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_viaNotFree, m_vias, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaStartLayer, DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaTypeChoice, m_viaX, m_viaY, MICROVIA, COMMIT::Modify(), pad, PCB_ARC_T, PCB_FOOTPRINT_T, PCB_PAD_T, PCB_TRACE_T, PCB_VIA_T, COMMIT::Push(), PCB_VIA::SanitizeLayers(), PCB_VIA::SetBottomLayer(), PCB_VIA::SetDrill(), PCB_TRACK::SetEnd(), PCB_VIA::SetIsFree(), PCB_VIA::SetKeepTopBottom(), BOARD_ITEM::SetLayer(), BOARD_ITEM::SetLocked(), PCB_VIA::SetPosition(), PCB_VIA::SetRemoveUnconnected(), PCB_TRACK::SetStart(), PCB_VIA::SetTopLayer(), PCB_VIA::SetViaType(), PCB_TRACK::SetWidth(), THROUGH, UNDEFINED_LAYER, UNIT_BINDER::Validate(), VECTOR2< T >::x, and VECTOR2< T >::y.

◆ vertPixelsFromDU()

int DIALOG_SHIM::vertPixelsFromDU ( int  y) const
protectedinherited

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

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 183 of file dialog_shim.cpp.

184{
185 wxSize sz( 0, y );
186 return ConvertDialogToPixels( sz ).y;
187}

Referenced by DIALOG_CHOOSE_SYMBOL::DIALOG_CHOOSE_SYMBOL().

Member Data Documentation

◆ m_annularRingsCtrl

wxChoice* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_annularRingsCtrl
protectedinherited

◆ m_annularRingsLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_annularRingsLabel
protectedinherited

◆ m_commit

COMMIT& DIALOG_TRACK_VIA_PROPERTIES::m_commit
private

Definition at line 60 of file dialog_track_via_properties.h.

Referenced by TransferDataFromWindow().

◆ m_DesignRuleVias

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleVias
protectedinherited

◆ m_DesignRuleViasCtrl

◆ m_DesignRuleViasUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleViasUnit
protectedinherited

◆ m_DesignRuleWidths

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidths
protectedinherited

◆ m_DesignRuleWidthsCtrl

◆ m_DesignRuleWidthsUnits

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_DesignRuleWidthsUnits
protectedinherited

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 212 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_frame

PCB_BASE_FRAME* DIALOG_TRACK_VIA_PROPERTIES::m_frame
private

◆ m_hash_key

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 213 of file dialog_shim.h.

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

◆ m_initialSize

wxSize DIALOG_SHIM::m_initialSize
protectedinherited

Definition at line 225 of file dialog_shim.h.

Referenced by DIALOG_SHIM::Show().

◆ m_items

const PCB_SELECTION& DIALOG_TRACK_VIA_PROPERTIES::m_items
private

◆ m_kiway

KIWAY* KIWAY_HOLDER::m_kiway
privateinherited

◆ m_lockedCbox

wxCheckBox* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_lockedCbox
protectedinherited

◆ m_MainSizer

wxBoxSizer* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_MainSizer
protectedinherited

◆ m_netSelector

◆ m_netSelectorLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_netSelectorLabel
protectedinherited

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 215 of file dialog_shim.h.

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

◆ m_qmodal_parent_disabler

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited

◆ m_qmodal_showing

bool DIALOG_SHIM::m_qmodal_showing
protectedinherited

Definition at line 217 of file dialog_shim.h.

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

◆ m_sbCommonSizer

wxStaticBoxSizer* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_sbCommonSizer
protectedinherited

◆ m_sbTrackSizer

wxStaticBoxSizer* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_sbTrackSizer
protectedinherited

◆ m_sbViaSizer

wxStaticBoxSizer* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_sbViaSizer
protectedinherited

◆ m_staticline1

wxStaticLine* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_staticline1
protectedinherited

◆ m_StdButtons

wxStdDialogButtonSizer* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_StdButtons
protectedinherited

◆ m_StdButtonsCancel

wxButton* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_StdButtonsCancel
protectedinherited

◆ m_StdButtonsOK

wxButton* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_StdButtonsOK
protectedinherited

◆ m_tabOrder

◆ m_trackEndX

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_trackEndX
private

◆ m_TrackEndXCtrl

wxTextCtrl* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackEndXCtrl
protectedinherited

◆ m_TrackEndXLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackEndXLabel
protectedinherited

◆ m_TrackEndXUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackEndXUnit
protectedinherited

◆ m_trackEndY

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_trackEndY
private

◆ m_TrackEndYCtrl

wxTextCtrl* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackEndYCtrl
protectedinherited

◆ m_TrackEndYLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackEndYLabel
protectedinherited

◆ m_TrackEndYUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackEndYUnit
protectedinherited

◆ m_TrackLayerCtrl

PCB_LAYER_BOX_SELECTOR* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackLayerCtrl
protectedinherited

◆ m_TrackLayerLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackLayerLabel
protectedinherited

◆ m_trackNetclass

wxCheckBox* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_trackNetclass
protectedinherited

◆ m_tracks

bool DIALOG_TRACK_VIA_PROPERTIES::m_tracks
private

◆ m_trackStartX

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_trackStartX
private

◆ m_TrackStartXCtrl

wxTextCtrl* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackStartXCtrl
protectedinherited

◆ m_TrackStartXLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackStartXLabel
protectedinherited

◆ m_TrackStartXUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackStartXUnit
protectedinherited

◆ m_trackStartY

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_trackStartY
private

◆ m_TrackStartYCtrl

wxTextCtrl* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackStartYCtrl
protectedinherited

◆ m_TrackStartYLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackStartYLabel
protectedinherited

◆ m_TrackStartYUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackStartYUnit
protectedinherited

◆ m_trackWidth

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_trackWidth
private

◆ m_TrackWidthCtrl

◆ m_TrackWidthLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackWidthLabel
protectedinherited

◆ m_TrackWidthUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_TrackWidthUnit
protectedinherited

◆ m_type

HOLDER_TYPE KIWAY_HOLDER::m_type
privateinherited

Definition at line 85 of file kiway_holder.h.

Referenced by KIWAY_HOLDER::GetType(), and SIM_PLOT_FRAME::onSimFinished().

◆ m_units

◆ m_useCalculatedSize

bool DIALOG_SHIM::m_useCalculatedSize
protectedinherited

◆ m_viaDiameter

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_viaDiameter
private

◆ m_ViaDiameterCtrl

◆ m_ViaDiameterLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaDiameterLabel
protectedinherited

◆ m_ViaDiameterUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaDiameterUnit
protectedinherited

◆ m_viaDrill

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_viaDrill
private

◆ m_ViaDrillCtrl

wxTextCtrl* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaDrillCtrl
protectedinherited

◆ m_ViaDrillLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaDrillLabel
protectedinherited

◆ m_ViaDrillUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaDrillUnit
protectedinherited

◆ m_ViaEndLayer

◆ m_ViaEndLayerLabel1

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaEndLayerLabel1
protectedinherited

◆ m_viaNetclass

wxCheckBox* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_viaNetclass
protectedinherited

◆ m_viaNotFree

◆ m_vias

bool DIALOG_TRACK_VIA_PROPERTIES::m_vias
private

◆ m_ViaStartLayer

PCB_LAYER_BOX_SELECTOR* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaStartLayer
protectedinherited

◆ m_ViaStartLayerLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaStartLayerLabel
protectedinherited

◆ m_ViaTypeChoice

◆ m_ViaTypeLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaTypeLabel
protectedinherited

◆ m_viaX

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_viaX
private

◆ m_ViaXCtrl

wxTextCtrl* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaXCtrl
protectedinherited

◆ m_ViaXLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaXLabel
protectedinherited

◆ m_ViaXUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaXUnit
protectedinherited

◆ m_viaY

UNIT_BINDER DIALOG_TRACK_VIA_PROPERTIES::m_viaY
private

◆ m_ViaYCtrl

wxTextCtrl* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaYCtrl
protectedinherited

◆ m_ViaYLabel

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaYLabel
protectedinherited

◆ m_ViaYUnit

wxStaticText* DIALOG_TRACK_VIA_PROPERTIES_BASE::m_ViaYUnit
protectedinherited

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