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 );
31 sbSizer3->Add( 0, 12, 1, wxEXPAND, 5 );
33 m_cleanShortCircuitOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Delete &tracks connecting different nets"), wxDefaultPosition, wxDefaultSize, 0 );
34 m_cleanShortCircuitOpt->SetToolTip(
_(
"remove track segments connecting nodes belonging to different nets (short circuit)") );
39 sbSizer3->Add( 0, 10, 1, wxEXPAND, 5 );
41 m_cleanViasOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"&Delete redundant vias"), wxDefaultPosition, wxDefaultSize, 0 );
42 m_cleanViasOpt->SetToolTip(
_(
"remove vias on through hole pads and superimposed vias") );
46 m_deleteDanglingViasOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Delete vias connected on only one layer"), wxDefaultPosition, wxDefaultSize, 0 );
50 sbSizer3->Add( 0, 10, 1, wxEXPAND, 5 );
52 m_mergeSegmOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"&Merge co-linear tracks"), wxDefaultPosition, wxDefaultSize, 0 );
53 m_mergeSegmOpt->SetToolTip(
_(
"merge aligned track segments, and remove null segments") );
57 m_deleteUnconnectedOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Delete tracks unconnected at one end"), wxDefaultPosition, wxDefaultSize, 0 );
62 m_deleteTracksInPadsOpt =
new wxCheckBox( sbSizer3->GetStaticBox(), wxID_ANY,
_(
"Delete tracks fully inside pads"), wxDefaultPosition, wxDefaultSize, 0 );
68 bSizerTop->Add( sbSizer3, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
70 wxStaticBoxSizer* sbFilters;
71 sbFilters =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Filter Items") ), wxVERTICAL );
73 wxFlexGridSizer* fgSizer3;
74 fgSizer3 =
new wxFlexGridSizer( 0, 2, 3, 0 );
75 fgSizer3->AddGrowableCol( 1 );
76 fgSizer3->AddGrowableRow( 0 );
77 fgSizer3->AddGrowableRow( 1 );
78 fgSizer3->AddGrowableRow( 2 );
79 fgSizer3->AddGrowableRow( 3 );
80 fgSizer3->SetFlexibleDirection( wxBOTH );
81 fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
83 m_netFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Filter items by net:"), wxDefaultPosition, wxDefaultSize, 0 );
84 fgSizer3->Add(
m_netFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
87 fgSizer3->Add(
m_netFilter, 1, wxEXPAND|wxRIGHT, 5 );
89 m_netclassFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Filter items by net class:"), wxDefaultPosition, wxDefaultSize, 0 );
92 wxArrayString m_netclassFilterChoices;
93 m_netclassFilter =
new wxChoice( sbFilters->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_netclassFilterChoices, 0 );
97 fgSizer3->Add(
m_netclassFilter, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
100 fgSizer3->Add( 0, 7, 1, wxEXPAND, 5 );
103 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
105 m_layerFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Filter items by layer:"), wxDefaultPosition, wxDefaultSize, 0 );
106 fgSizer3->Add(
m_layerFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
109 fgSizer3->Add(
m_layerFilter, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
112 fgSizer3->Add( 0, 7, 1, wxEXPAND, 5 );
115 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
118 sbFilters->Add( fgSizer3, 0, wxEXPAND|wxBOTTOM, 5 );
121 sbFilters->Add( 0, 5, 0, 0, 5 );
123 m_selectedItemsFilter =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Selected items only"), wxDefaultPosition, wxDefaultSize, 0 );
127 sbFilters->Add( 0, 0, 1, wxEXPAND, 5 );
130 bSizerTop->Add( sbFilters, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
133 bSizerMain->Add( bSizerTop, 0, wxEXPAND|wxALL, 5 );
135 wxBoxSizer* bLowerSizer;
136 bLowerSizer =
new wxBoxSizer( wxVERTICAL );
138 bLowerSizer->SetMinSize( wxSize( 660,250 ) );
139 m_outputBook =
new wxSimplebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
141 wxBoxSizer* changesSizer;
142 changesSizer =
new wxBoxSizer( wxVERTICAL );
157 wxBoxSizer* progressSizer;
158 progressSizer =
new wxBoxSizer( wxVERTICAL );
164 m_tcReport =
new wxTextCtrl(
m_runningPanel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY );
165 progressSizer->Add(
m_tcReport, 1, wxEXPAND|wxRIGHT|wxLEFT, 3 );
176 bSizerMain->Add( bLowerSizer, 1, wxEXPAND|wxALL, 5 );
185 bSizerMain->Add(
m_sdbSizer, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_RIGHT, 5 );
188 this->SetSizer( bSizerMain );
190 bSizerMain->Fit(
this );
192 this->Centre( wxBOTH );
wxStaticText * staticChangesLabel
virtual void OnLayerFilterSelect(wxCommandEvent &event)
wxCheckBox * m_cbRefillZones
wxChoice * m_netclassFilter
wxSimplebook * m_outputBook
PCB_LAYER_BOX_SELECTOR * m_layerFilter
wxCheckBox * m_layerFilterOpt
wxDataViewCtrl * m_changesDataView
virtual void onInitDialog(wxInitDialogEvent &event)
wxCheckBox * m_netclassFilterOpt
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)
NET_SELECTOR * m_netFilter
~DIALOG_CLEANUP_TRACKS_AND_VIAS_BASE()
wxCheckBox * m_deleteTracksInPadsOpt
wxCheckBox * m_selectedItemsFilter
wxStaticText * staticProgressLabel
wxCheckBox * m_deleteDanglingViasOpt
virtual void OnNetclassFilterSelect(wxCommandEvent &event)
wxCheckBox * m_deleteUnconnectedOpt
virtual void OnCheckBox(wxCommandEvent &event)
virtual void OnLeftDClickItem(wxMouseEvent &event)
wxCheckBox * m_cleanViasOpt
virtual void OnSelectItem(wxDataViewEvent &event)
wxButton * m_sdbSizerCancel
wxCheckBox * m_netFilterOpt
wxCheckBox * m_cleanShortCircuitOpt
wxCheckBox * m_mergeSegmOpt
wxStdDialogButtonSizer * m_sdbSizer
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
Class to display a pcb layer list in a wxBitmapComboBox.