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 )
16 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
18 wxBoxSizer* bSizerMain;
19 bSizerMain =
new wxBoxSizer( wxVERTICAL );
21 wxBoxSizer* bSizerTop;
22 bSizerTop =
new wxBoxSizer( wxHORIZONTAL );
24 wxStaticBoxSizer* sbSizer3;
25 sbSizer3 =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Actions") ), wxVERTICAL );
27 m_cbRefillZones =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Refill zones before and after cleanup"), wxDefaultPosition, wxDefaultSize, 0 );
32 sbSizer3->Add( 0, 12, 1, wxEXPAND, 5 );
34 m_cleanShortCircuitOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Delete &tracks connecting different nets"), wxDefaultPosition, wxDefaultSize, 0 );
36 m_cleanShortCircuitOpt->SetToolTip(
_(
"remove track segments connecting nodes belonging to different nets (short circuit)") );
41 sbSizer3->Add( 0, 10, 1, wxEXPAND, 5 );
43 m_cleanViasOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"&Delete redundant vias"), wxDefaultPosition, wxDefaultSize, 0 );
45 m_cleanViasOpt->SetToolTip(
_(
"remove vias on through hole pads and superimposed vias") );
49 m_deleteDanglingViasOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Delete vias connected on only one layer"), wxDefaultPosition, wxDefaultSize, 0 );
54 sbSizer3->Add( 0, 10, 1, wxEXPAND, 5 );
56 m_mergeSegmOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"&Merge co-linear tracks"), wxDefaultPosition, wxDefaultSize, 0 );
58 m_mergeSegmOpt->SetToolTip(
_(
"merge aligned track segments, and remove null segments") );
62 m_deleteUnconnectedOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Delete tracks unconnected at one end"), wxDefaultPosition, wxDefaultSize, 0 );
68 m_deleteTracksInPadsOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Delete tracks fully inside pads"), wxDefaultPosition, wxDefaultSize, 0 );
74 bSizerTop->Add( sbSizer3, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
76 wxStaticBoxSizer* sbFilters;
77 sbFilters =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Filter Items") ), wxVERTICAL );
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 );
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 );
93 fgSizer3->Add(
m_netFilter, 1, wxEXPAND|wxRIGHT, 5 );
95 m_netclassFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Filter items by net class:"), wxDefaultPosition, wxDefaultSize, 0 );
98 wxArrayString m_netclassFilterChoices;
99 m_netclassFilter =
new wxChoice( sbFilters->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_netclassFilterChoices, 0 );
103 fgSizer3->Add(
m_netclassFilter, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
106 fgSizer3->Add( 0, 7, 1, wxEXPAND, 5 );
109 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
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 );
115 fgSizer3->Add(
m_layerFilter, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
118 fgSizer3->Add( 0, 7, 1, wxEXPAND, 5 );
121 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
124 sbFilters->Add( fgSizer3, 0, wxEXPAND|wxBOTTOM, 5 );
127 sbFilters->Add( 0, 5, 0, 0, 5 );
129 m_selectedItemsFilter =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Selected items only"), wxDefaultPosition, wxDefaultSize, 0 );
133 sbFilters->Add( 0, 0, 1, wxEXPAND, 5 );
136 bSizerTop->Add( sbFilters, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
139 bSizerMain->Add( bSizerTop, 0, wxEXPAND|wxALL, 5 );
141 wxBoxSizer* bLowerSizer;
142 bLowerSizer =
new wxBoxSizer( wxVERTICAL );
144 bLowerSizer->SetMinSize( wxSize( 660,250 ) );
145 m_outputBook =
new wxSimplebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
147 wxBoxSizer* changesSizer;
148 changesSizer =
new wxBoxSizer( wxVERTICAL );
163 wxBoxSizer* progressSizer;
164 progressSizer =
new wxBoxSizer( wxVERTICAL );
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 );
182 bSizerMain->Add( bLowerSizer, 1, wxEXPAND|wxALL, 5 );
191 bSizerMain->Add(
m_sdbSizer, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_RIGHT, 5 );
194 this->SetSizer( bSizerMain );
196 bSizerMain->Fit(
this );
198 this->Centre( wxBOTH );