KiCad PCB EDA Suite
Loading...
Searching...
No Matches
dialog_cleanup_tracks_and_vias_base.cpp
Go to the documentation of this file.
1
2// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6a)
3// http://www.wxformbuilder.org/
4//
5// PLEASE DO *NOT* EDIT THIS FILE!
7
9
11
13
14DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
15{
16 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
17
18 wxBoxSizer* bSizerMain;
19 bSizerMain = new wxBoxSizer( wxVERTICAL );
20
21 wxBoxSizer* bSizerTop;
22 bSizerTop = new wxBoxSizer( wxHORIZONTAL );
23
24 wxStaticBoxSizer* sbSizer3;
25 sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Actions") ), wxVERTICAL );
26
27 m_cbRefillZones = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("Refill zones before and after cleanup"), wxDefaultPosition, wxDefaultSize, 0 );
28 m_cbRefillZones->SetValue(true);
29 sbSizer3->Add( m_cbRefillZones, 0, wxRIGHT|wxLEFT, 5 );
30
31
32 sbSizer3->Add( 0, 12, 1, wxEXPAND, 5 );
33
34 m_cleanShortCircuitOpt = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("Delete &tracks connecting different nets"), wxDefaultPosition, wxDefaultSize, 0 );
35 m_cleanShortCircuitOpt->SetValue(true);
36 m_cleanShortCircuitOpt->SetToolTip( _("remove track segments connecting nodes belonging to different nets (short circuit)") );
37
38 sbSizer3->Add( m_cleanShortCircuitOpt, 0, wxRIGHT|wxLEFT, 5 );
39
40
41 sbSizer3->Add( 0, 10, 1, wxEXPAND, 5 );
42
43 m_cleanViasOpt = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("&Delete redundant vias"), wxDefaultPosition, wxDefaultSize, 0 );
44 m_cleanViasOpt->SetValue(true);
45 m_cleanViasOpt->SetToolTip( _("remove vias on through hole pads and superimposed vias") );
46
47 sbSizer3->Add( m_cleanViasOpt, 0, wxRIGHT|wxLEFT, 5 );
48
49 m_deleteDanglingViasOpt = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("Delete vias connected on only one layer"), wxDefaultPosition, wxDefaultSize, 0 );
50 m_deleteDanglingViasOpt->SetValue(true);
51 sbSizer3->Add( m_deleteDanglingViasOpt, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
52
53
54 sbSizer3->Add( 0, 10, 1, wxEXPAND, 5 );
55
56 m_mergeSegmOpt = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("&Merge co-linear tracks"), wxDefaultPosition, wxDefaultSize, 0 );
57 m_mergeSegmOpt->SetValue(true);
58 m_mergeSegmOpt->SetToolTip( _("merge aligned track segments, and remove null segments") );
59
60 sbSizer3->Add( m_mergeSegmOpt, 0, wxRIGHT|wxLEFT, 5 );
61
62 m_deleteUnconnectedOpt = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("Delete tracks unconnected at one end"), wxDefaultPosition, wxDefaultSize, 0 );
63 m_deleteUnconnectedOpt->SetValue(true);
64 m_deleteUnconnectedOpt->SetToolTip( _("delete tracks having at least one dangling end") );
65
66 sbSizer3->Add( m_deleteUnconnectedOpt, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
67
68 m_deleteTracksInPadsOpt = new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY, _("Delete tracks fully inside pads"), wxDefaultPosition, wxDefaultSize, 0 );
69 m_deleteTracksInPadsOpt->SetToolTip( _("Delete tracks that have both start and end positions inside of a pad") );
70
71 sbSizer3->Add( m_deleteTracksInPadsOpt, 0, wxALL, 5 );
72
73
74 bSizerTop->Add( sbSizer3, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
75
76 wxStaticBoxSizer* sbFilters;
77 sbFilters = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Filter Items") ), wxVERTICAL );
78
79 wxFlexGridSizer* fgSizer3;
80 fgSizer3 = new wxFlexGridSizer( 0, 2, 3, 0 );
81 fgSizer3->AddGrowableCol( 1 );
82 fgSizer3->AddGrowableRow( 0 );
83 fgSizer3->AddGrowableRow( 1 );
84 fgSizer3->AddGrowableRow( 2 );
85 fgSizer3->AddGrowableRow( 3 );
86 fgSizer3->SetFlexibleDirection( wxBOTH );
87 fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
88
89 m_netFilterOpt = new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY, _("Filter items by net:"), wxDefaultPosition, wxDefaultSize, 0 );
90 fgSizer3->Add( m_netFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
91
92 m_netFilter = new NET_SELECTOR( sbFilters->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
93 fgSizer3->Add( m_netFilter, 1, wxEXPAND|wxRIGHT, 5 );
94
95 m_netclassFilterOpt = new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY, _("Filter items by net class:"), wxDefaultPosition, wxDefaultSize, 0 );
96 fgSizer3->Add( m_netclassFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
97
98 wxArrayString m_netclassFilterChoices;
99 m_netclassFilter = new wxChoice( sbFilters->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_netclassFilterChoices, 0 );
100 m_netclassFilter->SetSelection( 0 );
101 m_netclassFilter->SetMinSize( wxSize( 140,-1 ) );
102
103 fgSizer3->Add( m_netclassFilter, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
104
105
106 fgSizer3->Add( 0, 7, 1, wxEXPAND, 5 );
107
108
109 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
110
111 m_layerFilterOpt = new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY, _("Filter items by layer:"), wxDefaultPosition, wxDefaultSize, 0 );
112 fgSizer3->Add( m_layerFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
113
114 m_layerFilter = new PCB_LAYER_BOX_SELECTOR( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
115 fgSizer3->Add( m_layerFilter, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
116
117
118 fgSizer3->Add( 0, 7, 1, wxEXPAND, 5 );
119
120
121 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
122
123
124 sbFilters->Add( fgSizer3, 0, wxEXPAND|wxBOTTOM, 5 );
125
126
127 sbFilters->Add( 0, 5, 0, 0, 5 );
128
129 m_selectedItemsFilter = new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY, _("Selected items only"), wxDefaultPosition, wxDefaultSize, 0 );
130 sbFilters->Add( m_selectedItemsFilter, 0, wxALL, 5 );
131
132
133 sbFilters->Add( 0, 0, 1, wxEXPAND, 5 );
134
135
136 bSizerTop->Add( sbFilters, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
137
138
139 bSizerMain->Add( bSizerTop, 0, wxEXPAND|wxALL, 5 );
140
141 wxBoxSizer* bLowerSizer;
142 bLowerSizer = new wxBoxSizer( wxVERTICAL );
143
144 bLowerSizer->SetMinSize( wxSize( 660,250 ) );
145 m_outputBook = new wxSimplebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
146 m_changesPanel = new wxPanel( m_outputBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
147 wxBoxSizer* changesSizer;
148 changesSizer = new wxBoxSizer( wxVERTICAL );
149
150 staticChangesLabel = new wxStaticText( m_changesPanel, wxID_ANY, _("Changes to be applied:"), wxDefaultPosition, wxDefaultSize, 0 );
151 staticChangesLabel->Wrap( -1 );
152 changesSizer->Add( staticChangesLabel, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
153
154 m_changesDataView = new wxDataViewCtrl( m_changesPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_NO_HEADER );
155 changesSizer->Add( m_changesDataView, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
156
157
158 m_changesPanel->SetSizer( changesSizer );
159 m_changesPanel->Layout();
160 changesSizer->Fit( m_changesPanel );
161 m_outputBook->AddPage( m_changesPanel, _("a page"), false );
162 m_runningPanel = new wxPanel( m_outputBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
163 wxBoxSizer* progressSizer;
164 progressSizer = new wxBoxSizer( wxVERTICAL );
165
166 staticProgressLabel = new wxStaticText( m_runningPanel, wxID_ANY, _("Progress:"), wxDefaultPosition, wxDefaultSize, 0 );
167 staticProgressLabel->Wrap( -1 );
168 progressSizer->Add( staticProgressLabel, 0, wxALL, 5 );
169
170 m_tcReport = new wxTextCtrl( m_runningPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY );
171 progressSizer->Add( m_tcReport, 1, wxEXPAND|wxRIGHT|wxLEFT, 3 );
172
173
174 m_runningPanel->SetSizer( progressSizer );
175 m_runningPanel->Layout();
176 progressSizer->Fit( m_runningPanel );
177 m_outputBook->AddPage( m_runningPanel, _("a page"), false );
178
179 bLowerSizer->Add( m_outputBook, 1, wxEXPAND, 5 );
180
181
182 bSizerMain->Add( bLowerSizer, 1, wxEXPAND|wxALL, 5 );
183
184 m_sdbSizer = new wxStdDialogButtonSizer();
185 m_sdbSizerOK = new wxButton( this, wxID_OK );
186 m_sdbSizer->AddButton( m_sdbSizerOK );
187 m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
188 m_sdbSizer->AddButton( m_sdbSizerCancel );
189 m_sdbSizer->Realize();
190
191 bSizerMain->Add( m_sdbSizer, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_RIGHT, 5 );
192
193
194 this->SetSizer( bSizerMain );
195 this->Layout();
196 bSizerMain->Fit( this );
197
198 this->Centre( wxBOTH );
199
200 // Connect Events
201 this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::onInitDialog ) );
202 m_cleanShortCircuitOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
203 m_cleanViasOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
204 m_deleteDanglingViasOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
205 m_mergeSegmOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
206 m_deleteUnconnectedOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
207 m_deleteTracksInPadsOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
208 m_netFilterOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
209 m_netclassFilterOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
210 m_netclassFilter->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnNetclassFilterSelect ), NULL, this );
211 m_layerFilterOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
212 m_layerFilter->Connect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnLayerFilterSelect ), NULL, this );
213 m_selectedItemsFilter->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
214 m_changesDataView->Connect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnSelectItem ), NULL, this );
215 m_changesDataView->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnLeftDClickItem ), NULL, this );
216}
217
219{
220 // Disconnect Events
221 this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::onInitDialog ) );
222 m_cleanShortCircuitOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
223 m_cleanViasOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
224 m_deleteDanglingViasOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
225 m_mergeSegmOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
226 m_deleteUnconnectedOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
227 m_deleteTracksInPadsOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
228 m_netFilterOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
229 m_netclassFilterOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
230 m_netclassFilter->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnNetclassFilterSelect ), NULL, this );
231 m_layerFilterOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
232 m_layerFilter->Disconnect( wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnLayerFilterSelect ), NULL, this );
233 m_selectedItemsFilter->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnCheckBox ), NULL, this );
234 m_changesDataView->Disconnect( wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnSelectItem ), NULL, this );
235 m_changesDataView->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE::OnLeftDClickItem ), NULL, this );
236
237}
virtual void OnLayerFilterSelect(wxCommandEvent &event)
virtual void onInitDialog(wxInitDialogEvent &event)
DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Cleanup Tracks and Vias"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
virtual void OnNetclassFilterSelect(wxCommandEvent &event)
virtual void OnSelectItem(wxDataViewEvent &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)
Class to display a pcb layer list in a wxBitmapComboBox.
#define _(s)