KiCad PCB EDA Suite
Loading...
Searching...
No Matches
dialog_pns_settings_base.cpp
Go to the documentation of this file.
1
2// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6)
3// http://www.wxformbuilder.org/
4//
5// PLEASE DO *NOT* EDIT THIS FILE!
7
9
11
12DIALOG_PNS_SETTINGS_BASE::DIALOG_PNS_SETTINGS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
13{
14 this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
15
16 wxBoxSizer* bMainSizer;
17 bMainSizer = new wxBoxSizer( wxVERTICAL );
18
19 wxBoxSizer* bColumns;
20 bColumns = new wxBoxSizer( wxHORIZONTAL );
21
22 wxStaticBoxSizer* sbModeSizer;
23 sbModeSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Mode") ), wxVERTICAL );
24
25 m_rbMarkObstacles = new wxRadioButton( sbModeSizer->GetStaticBox(), wxID_ANY, _("Highlight collisions"), wxDefaultPosition, wxDefaultSize, 0 );
26 sbModeSizer->Add( m_rbMarkObstacles, 0, wxRIGHT, 5 );
27
28 wxBoxSizer* bSizer2;
29 bSizer2 = new wxBoxSizer( wxVERTICAL );
30
31 m_freeAngleMode = new wxCheckBox( sbModeSizer->GetStaticBox(), wxID_ANY, _("Free angle mode"), wxDefaultPosition, wxDefaultSize, 0 );
32 bSizer2->Add( m_freeAngleMode, 0, wxTOP|wxRIGHT|wxLEFT, 3 );
33
34 m_violateDrc = new wxCheckBox( sbModeSizer->GetStaticBox(), wxID_ANY, _("Allow DRC violations"), wxDefaultPosition, wxDefaultSize, 0 );
35 m_violateDrc->SetToolTip( _("(Highlight collisions mode only) - allows one to establish a track even if is violating the DRC rules.") );
36
37 bSizer2->Add( m_violateDrc, 0, wxTOP|wxRIGHT|wxLEFT, 3 );
38
39
40 sbModeSizer->Add( bSizer2, 0, wxRIGHT|wxLEFT, 20 );
41
42
43 sbModeSizer->Add( 0, 15, 1, wxEXPAND, 5 );
44
45 m_rbShove = new wxRadioButton( sbModeSizer->GetStaticBox(), wxID_ANY, _("Shove"), wxDefaultPosition, wxDefaultSize, 0 );
46 sbModeSizer->Add( m_rbShove, 0, wxRIGHT, 5 );
47
48 wxBoxSizer* bSizer3;
49 bSizer3 = new wxBoxSizer( wxVERTICAL );
50
51 m_shoveVias = new wxCheckBox( sbModeSizer->GetStaticBox(), wxID_ANY, _("Shove vias"), wxDefaultPosition, wxDefaultSize, 0 );
52 m_shoveVias->SetToolTip( _("When disabled, vias are treated as un-movable objects and hugged instead of shoved.") );
53
54 bSizer3->Add( m_shoveVias, 0, wxTOP|wxRIGHT|wxLEFT, 3 );
55
56 m_backPressure = new wxCheckBox( sbModeSizer->GetStaticBox(), wxID_ANY, _("Jump over obstacles"), wxDefaultPosition, wxDefaultSize, 0 );
57 m_backPressure->SetToolTip( _("When enabled, the router tries to move colliding tracks behind solid obstacles (e.g. pads) instead of \"reflecting\" back the collision") );
58
59 bSizer3->Add( m_backPressure, 0, wxTOP|wxRIGHT|wxLEFT, 3 );
60
61
62 sbModeSizer->Add( bSizer3, 0, wxRIGHT|wxLEFT, 20 );
63
64
65 sbModeSizer->Add( 0, 15, 1, wxEXPAND, 5 );
66
67 m_rbWalkaround = new wxRadioButton( sbModeSizer->GetStaticBox(), wxID_ANY, _("Walk around"), wxDefaultPosition, wxDefaultSize, 0 );
68 sbModeSizer->Add( m_rbWalkaround, 0, wxBOTTOM|wxRIGHT, 5 );
69
70
71 bColumns->Add( sbModeSizer, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
72
73
74 bColumns->Add( 5, 0, 0, 0, 5 );
75
76 wxBoxSizer* bSizer5;
77 bSizer5 = new wxBoxSizer( wxVERTICAL );
78
79 wxStaticBoxSizer* bOptions;
80 bOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Routing") ), wxVERTICAL );
81
82 wxGridSizer* gSizer1;
83 gSizer1 = new wxGridSizer( 0, 1, 2, 0 );
84
85 m_removeLoops = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Remove redundant tracks"), wxDefaultPosition, wxDefaultSize, 0 );
86 m_removeLoops->SetToolTip( _("If the new track has the same connection as an already existing track, the old track is removed.") );
87
88 gSizer1->Add( m_removeLoops, 0, wxRIGHT|wxLEFT, 5 );
89
90 m_smartPads = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Optimize pad connections"), wxDefaultPosition, wxDefaultSize, 0 );
91 m_smartPads->SetToolTip( _("When enabled, the router tries to break out pads/vias in a clean way, avoiding acute angles and jagged breakout tracks.") );
92
93 gSizer1->Add( m_smartPads, 0, wxRIGHT|wxLEFT, 5 );
94
95 m_autoPosture = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Use mouse path to set track posture"), wxDefaultPosition, wxDefaultSize, 0 );
96 m_autoPosture->SetToolTip( _("When enabled, the posture of tracks will be guided by how the mouse is moved from the starting location") );
97
98 gSizer1->Add( m_autoPosture, 0, wxRIGHT|wxLEFT, 5 );
99
100 m_fixAllSegments = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Fix all segments on click"), wxDefaultPosition, wxDefaultSize, 0 );
101 m_fixAllSegments->SetToolTip( _("When enabled, all track segments will be fixed in place up to the cursor location. When disabled, the last segment (closest to the cursor) will remain free and follow the cursor.") );
102
103 gSizer1->Add( m_fixAllSegments, 0, wxRIGHT|wxLEFT, 5 );
104
105 m_suggestEnding = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Suggest track finish"), wxDefaultPosition, wxDefaultSize, 0 );
106 m_suggestEnding->Enable( false );
107
108 gSizer1->Add( m_suggestEnding, 0, wxRIGHT|wxLEFT, 5 );
109
110
111 bOptions->Add( gSizer1, 1, wxEXPAND, 5 );
112
113
114 bSizer5->Add( bOptions, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
115
116 wxStaticBoxSizer* sbSizer4;
117 sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Dragging") ), wxVERTICAL );
118
119 wxGridSizer* gSizer4;
120 gSizer4 = new wxGridSizer( 0, 1, 2, 0 );
121
122 m_smoothDragged = new wxCheckBox( sbSizer4->GetStaticBox(), wxID_ANY, _("Smooth dragged segments"), wxDefaultPosition, wxDefaultSize, 0 );
123 m_smoothDragged->SetToolTip( _("When enabled, the router attempts to merge several jagged segments into a single straight one (dragging mode).") );
124
125 gSizer4->Add( m_smoothDragged, 0, wxRIGHT|wxLEFT, 5 );
126
127 m_optimizeEntireDraggedTrack = new wxCheckBox( sbSizer4->GetStaticBox(), wxID_ANY, _("Optimize entire track being dragged"), wxDefaultPosition, wxDefaultSize, 0 );
128 m_optimizeEntireDraggedTrack->SetToolTip( _("When enabled, the entire portion of the track that is visible on the screen will be optimized and re-routed when a segment is dragged. When disabled, only the area near the segment being dragged will be optimized.") );
129
130 gSizer4->Add( m_optimizeEntireDraggedTrack, 0, wxRIGHT|wxLEFT, 5 );
131
132 m_restrictAngles = new wxCheckBox( sbSizer4->GetStaticBox(), wxID_ANY, _("Avoid sharp angles"), wxDefaultPosition, wxDefaultSize, 0 );
133 m_restrictAngles->SetToolTip( _("When enabled, dragged traces will be optimized to avoid creating 90-degree or acute corners in most situations.") );
134
135 gSizer4->Add( m_restrictAngles, 0, wxLEFT|wxRIGHT, 5 );
136
137 m_keepDPCouplingWhenDragging = new wxCheckBox( sbSizer4->GetStaticBox(), wxID_ANY, _("Keep coupling between differential pairs"), wxDefaultPosition, wxDefaultSize, 0 );
138 m_keepDPCouplingWhenDragging->SetValue(true);
139 m_keepDPCouplingWhenDragging->SetToolTip( _("When enabled, dragging one track belonging to a differential pair drags the other, maintaining their coupling,") );
140
141 gSizer4->Add( m_keepDPCouplingWhenDragging, 0, wxRIGHT|wxLEFT, 5 );
142
143
144 sbSizer4->Add( gSizer4, 0, wxEXPAND, 5 );
145
146
147 bSizer5->Add( sbSizer4, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
148
149
150 bColumns->Add( bSizer5, 1, wxEXPAND, 5 );
151
152
153 bMainSizer->Add( bColumns, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
154
155 m_stdButtons = new wxStdDialogButtonSizer();
156 m_stdButtonsOK = new wxButton( this, wxID_OK );
157 m_stdButtons->AddButton( m_stdButtonsOK );
158 m_stdButtonsCancel = new wxButton( this, wxID_CANCEL );
159 m_stdButtons->AddButton( m_stdButtonsCancel );
160 m_stdButtons->Realize();
161
162 bMainSizer->Add( m_stdButtons, 0, wxALL|wxEXPAND, 5 );
163
164
165 this->SetSizer( bMainSizer );
166 this->Layout();
167 bMainSizer->Fit( this );
168
169 // Connect Events
170 m_rbMarkObstacles->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
171 m_freeAngleMode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onFreeAngleModeChange ), NULL, this );
172 m_rbShove->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
173 m_rbWalkaround->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
174 m_stdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::OnOkClick ), NULL, this );
175}
176
178{
179 // Disconnect Events
180 m_rbMarkObstacles->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
181 m_freeAngleMode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onFreeAngleModeChange ), NULL, this );
182 m_rbShove->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
183 m_rbWalkaround->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
184 m_stdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::OnOkClick ), NULL, this );
185
186}
virtual void OnOkClick(wxCommandEvent &event)
wxStdDialogButtonSizer * m_stdButtons
DIALOG_PNS_SETTINGS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Interactive Router Settings"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
virtual void onFreeAngleModeChange(wxCommandEvent &event)
virtual void onModeChange(wxCommandEvent &event)
DIALOG_SHIM(wxWindow *aParent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER, const wxString &name=wxDialogNameStr)
#define _(s)