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 3.10.1-0-g8feb16b)
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 traces 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, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
72
73
74 bColumns->Add( 5, 0, 0, 0, 5 );
75
76 wxStaticBoxSizer* bOptions;
77 bOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("General Options") ), wxVERTICAL );
78
79 wxGridSizer* gSizer1;
80 gSizer1 = new wxGridSizer( 0, 1, 2, 0 );
81
82 m_removeLoops = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Remove redundant tracks"), wxDefaultPosition, wxDefaultSize, 0 );
83 m_removeLoops->SetToolTip( _("Removes loops while routing (e.g. if the new track ensures same connectivity as an already existing one, the old track is removed).\nLoop removal works locally (only between the start and end of the currently routed trace).") );
84
85 gSizer1->Add( m_removeLoops, 0, wxRIGHT|wxLEFT, 5 );
86
87 m_smartPads = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Optimize pad connections"), wxDefaultPosition, wxDefaultSize, 0 );
88 m_smartPads->SetToolTip( _("When enabled, the router tries to break out pads/vias in a clean way, avoiding acute angles and jagged breakout traces.") );
89
90 gSizer1->Add( m_smartPads, 0, wxRIGHT|wxLEFT, 5 );
91
92 m_smoothDragged = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Smooth dragged segments"), wxDefaultPosition, wxDefaultSize, 0 );
93 m_smoothDragged->SetToolTip( _("When enabled, the router attempts to merge several jagged segments into a single straight one (dragging mode).") );
94
95 gSizer1->Add( m_smoothDragged, 0, wxRIGHT|wxLEFT, 5 );
96
97 m_suggestEnding = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Suggest track finish"), wxDefaultPosition, wxDefaultSize, 0 );
98 m_suggestEnding->Enable( false );
99
100 gSizer1->Add( m_suggestEnding, 0, wxRIGHT|wxLEFT, 5 );
101
102 m_optimizeEntireDraggedTrack = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Optimize entire track being dragged"), wxDefaultPosition, wxDefaultSize, 0 );
103 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.") );
104
105 gSizer1->Add( m_optimizeEntireDraggedTrack, 0, wxRIGHT|wxLEFT, 5 );
106
107 m_autoPosture = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Use mouse path to set track posture"), wxDefaultPosition, wxDefaultSize, 0 );
108 m_autoPosture->SetToolTip( _("When enabled, the posture of tracks will be guided by how the mouse is moved from the starting location") );
109
110 gSizer1->Add( m_autoPosture, 0, wxRIGHT|wxLEFT, 5 );
111
112 m_fixAllSegments = new wxCheckBox( bOptions->GetStaticBox(), wxID_ANY, _("Fix all segments on click"), wxDefaultPosition, wxDefaultSize, 0 );
113 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.") );
114
115 gSizer1->Add( m_fixAllSegments, 0, wxRIGHT|wxLEFT, 5 );
116
117
118 bOptions->Add( gSizer1, 1, wxEXPAND, 5 );
119
120
121 bColumns->Add( bOptions, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
122
123
124 bMainSizer->Add( bColumns, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
125
126 m_stdButtons = new wxStdDialogButtonSizer();
127 m_stdButtonsOK = new wxButton( this, wxID_OK );
128 m_stdButtons->AddButton( m_stdButtonsOK );
129 m_stdButtonsCancel = new wxButton( this, wxID_CANCEL );
130 m_stdButtons->AddButton( m_stdButtonsCancel );
131 m_stdButtons->Realize();
132
133 bMainSizer->Add( m_stdButtons, 0, wxALL|wxEXPAND, 5 );
134
135
136 this->SetSizer( bMainSizer );
137 this->Layout();
138 bMainSizer->Fit( this );
139
140 // Connect Events
141 m_rbMarkObstacles->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
142 m_freeAngleMode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onFreeAngleModeChange ), NULL, this );
143 m_rbShove->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
144 m_rbWalkaround->Connect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
145 m_stdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::OnOkClick ), NULL, this );
146}
147
149{
150 // Disconnect Events
151 m_rbMarkObstacles->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
152 m_freeAngleMode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onFreeAngleModeChange ), NULL, this );
153 m_rbShove->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
154 m_rbWalkaround->Disconnect( wxEVT_COMMAND_RADIOBUTTON_SELECTED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::onModeChange ), NULL, this );
155 m_stdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PNS_SETTINGS_BASE::OnOkClick ), NULL, this );
156
157}
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 helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
Definition: dialog_shim.h:84
#define _(s)