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
138 sbSizer4->Add( gSizer4, 0, wxEXPAND, 5 );
139
140
141 bSizer5->Add( sbSizer4, 1, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
142
143
144 bColumns->Add( bSizer5, 1, wxEXPAND, 5 );
145
146
147 bMainSizer->Add( bColumns, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
148
149 m_stdButtons = new wxStdDialogButtonSizer();
150 m_stdButtonsOK = new wxButton( this, wxID_OK );
151 m_stdButtons->AddButton( m_stdButtonsOK );
152 m_stdButtonsCancel = new wxButton( this, wxID_CANCEL );
153 m_stdButtons->AddButton( m_stdButtonsCancel );
154 m_stdButtons->Realize();
155
156 bMainSizer->Add( m_stdButtons, 0, wxALL|wxEXPAND, 5 );
157
158
159 this->SetSizer( bMainSizer );
160 this->Layout();
161 bMainSizer->Fit( this );
162
163 // Connect Events
164 m_rbMarkObstacles->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
165 m_freeAngleMode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onFreeAngleModeChange ), NULL, this );
166 m_rbShove->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
167 m_rbWalkaround->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
168 m_stdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::OnOkClick ), NULL, this );
169}
170
172{
173 // Disconnect Events
174 m_rbMarkObstacles->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
175 m_freeAngleMode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onFreeAngleModeChange ), NULL, this );
176 m_rbShove->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
177 m_rbWalkaround->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
178 m_stdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::OnOkClick ), NULL, this );
179
180}
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)