14 DIALOG_DRC_CONTROL_BASE::DIALOG_DRC_CONTROL_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* m_MainSizer;
19 m_MainSizer =
new wxBoxSizer( wxVERTICAL );
21 wxGridBagSizer* gbSizer1;
22 gbSizer1 =
new wxGridBagSizer( 0, 10 );
23 gbSizer1->SetFlexibleDirection( wxBOTH );
24 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
26 wxBoxSizer* bSizerOptions;
27 bSizerOptions =
new wxBoxSizer( wxVERTICAL );
29 wxFlexGridSizer* fgMinValuesSizer;
30 fgMinValuesSizer =
new wxFlexGridSizer( 4, 3, 0, 0 );
31 fgMinValuesSizer->AddGrowableCol( 1 );
32 fgMinValuesSizer->SetFlexibleDirection( wxHORIZONTAL );
33 fgMinValuesSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
35 m_TrackMinWidthTitle =
new wxStaticText(
this, wxID_ANY,
_(
"Minimum track width:"), wxDefaultPosition, wxDefaultSize, 0 );
39 fgMinValuesSizer->Add(
m_TrackMinWidthTitle, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxLEFT, 5 );
41 m_SetTrackMinWidthCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
44 m_TrackMinWidthUnit =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
50 m_ViaMinTitle =
new wxStaticText(
this, wxID_ANY,
_(
"Minimum via size:"), wxDefaultPosition, wxDefaultSize, 0 );
52 m_ViaMinTitle->SetHelpText(
_(
"Enter the minimum acceptable diameter for a standard via") );
54 fgMinValuesSizer->Add(
m_ViaMinTitle, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
56 m_SetViaMinSizeCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
57 fgMinValuesSizer->Add(
m_SetViaMinSizeCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 3 );
59 m_ViaMinUnit =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
61 m_ViaMinUnit->SetHelpText(
_(
"Enter the minimum acceptable diameter for a standard via") );
63 fgMinValuesSizer->Add(
m_ViaMinUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
65 m_MicroViaMinTitle =
new wxStaticText(
this, wxID_ANY,
_(
"Minimum uVia size:"), wxDefaultPosition, wxDefaultSize, 0 );
67 m_MicroViaMinTitle->SetToolTip(
_(
"Enter the minimum acceptable diameter for a micro via") );
74 m_MicroViaMinUnit =
new wxStaticText(
this, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
76 m_MicroViaMinUnit->SetToolTip(
_(
"Enter the minimum acceptable diameter for a micro via") );
78 fgMinValuesSizer->Add(
m_MicroViaMinUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
81 bSizerOptions->Add( fgMinValuesSizer, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
83 wxBoxSizer* bSizerOptSettings;
84 bSizerOptSettings =
new wxBoxSizer( wxVERTICAL );
86 m_cbRefillZones =
new wxCheckBox(
this, wxID_ANY,
_(
"Refill all zones before performing DRC"), wxDefaultPosition, wxDefaultSize, 0 );
89 m_cbReportAllTrackErrors =
new wxCheckBox(
this, wxID_ANY,
_(
"Report all errors for tracks (slower)"), wxDefaultPosition, wxDefaultSize, 0 );
90 m_cbReportAllTrackErrors->SetToolTip(
_(
"If selected, all DRC violations for tracks will be reported. This can be slow for complicated designs.\n\nIf unselected, only the first DRC violation will be reported for each track connection.") );
94 m_cbReportTracksToZonesErrors =
new wxCheckBox(
this, wxID_ANY,
_(
"Test tracks against filled copper areas (very slow)"), wxDefaultPosition, wxDefaultSize, 0 );
95 m_cbReportTracksToZonesErrors->SetToolTip(
_(
"If selected, tracks will be tested against copper zones. \nIf copper zones are up to date, this test should be not needed.\n\nThis test can be *very slow* for complicated designs.") );
99 m_cbTestFootprints =
new wxCheckBox(
this, wxID_ANY,
_(
"Test footprints against schematic"), wxDefaultPosition, wxDefaultSize, 0 );
103 bSizerOptions->Add( bSizerOptSettings, 1, wxEXPAND, 5 );
106 gbSizer1->Add( bSizerOptions, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxEXPAND|wxRIGHT|wxLEFT, 5 );
108 m_Messages =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTE_MULTILINE|wxTE_READONLY );
111 gbSizer1->Add(
m_Messages, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND|wxTOP|wxLEFT, 5 );
113 wxFlexGridSizer* fgSizerRpt;
114 fgSizerRpt =
new wxFlexGridSizer( 0, 3, 0, 0 );
115 fgSizerRpt->AddGrowableCol( 1 );
116 fgSizerRpt->SetFlexibleDirection( wxBOTH );
117 fgSizerRpt->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
122 fgSizerRpt->Add(
m_CreateRptCtrl, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 );
124 m_RptFilenameCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
128 fgSizerRpt->Add(
m_RptFilenameCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM, 3 );
136 gbSizer1->Add( fgSizerRpt, wxGBPosition( 1, 0 ), wxGBSpan( 1, 3 ), wxEXPAND|wxTOP|wxRIGHT, 7 );
139 gbSizer1->AddGrowableCol( 0 );
140 gbSizer1->AddGrowableCol( 1 );
142 m_MainSizer->Add( gbSizer1, 0, wxEXPAND|wxALL, 5 );
148 wxBoxSizer* bSizerViolationsBox;
149 bSizerViolationsBox =
new wxBoxSizer( wxVERTICAL );
152 m_ClearanceListBox->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
153 m_ClearanceListBox->SetToolTip(
_(
"Left-click to center on problem marker. Right-click to highlight items.") );
163 wxBoxSizer* bSizerUnconnectedBox;
164 bSizerUnconnectedBox =
new wxBoxSizer( wxVERTICAL );
167 m_UnconnectedListBox->SetToolTip(
_(
"Left-click to center on unconnected pair. Right-click to highlight unconnected items.") );
177 wxBoxSizer* bSizerFootprintsBox;
178 bSizerFootprintsBox =
new wxBoxSizer( wxVERTICAL );
189 m_MainSizer->Add(
m_Notebook, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 );
212 this->SetSizer( m_MainSizer );
214 m_MainSizer->Fit(
this );
virtual void OnFootprintsSelectionEvent(wxCommandEvent &event)
wxStaticText * m_MicroViaMinTitle
#define ID_CLEARANCE_LIST
virtual void OnCancelClick(wxCommandEvent &event)
virtual void OnLeftUpUnconnected(wxMouseEvent &event)
virtual void OnLeftDClickUnconnected(wxMouseEvent &event)
wxStaticText * m_TrackMinWidthTitle
virtual void OnChangingMarkerList(wxNotebookEvent &event)
wxCheckBox * m_cbTestFootprints
virtual void OnDeleteOneClick(wxCommandEvent &event)
wxButton * m_sdbSizer1Cancel
wxCheckBox * m_cbRefillZones
wxCheckBox * m_CreateRptCtrl
virtual void OnLeftDClickFootprints(wxMouseEvent &event)
wxPanel * m_panelViolations
wxTextCtrl * m_RptFilenameCtrl
wxCheckBox * m_cbReportTracksToZonesErrors
wxStaticText * m_ViaMinUnit
wxButton * m_DeleteCurrentMarkerButton
Class DIALOG_SHIM may sit in the inheritance tree between wxDialog and any class written by wxFormBui...
virtual void OnRightUpFootprints(wxMouseEvent &event)
DRCLISTBOX * m_UnconnectedListBox
virtual void OnRightUpUnconnected(wxMouseEvent &event)
wxPanel * m_panelFootprintWarnings
wxStaticText * m_ViaMinTitle
wxPanel * m_panelUnconnectedItems
wxTextCtrl * m_SetViaMinSizeCtrl
wxStaticText * m_MicroViaMinUnit
DRCLISTBOX * m_ClearanceListBox
wxBitmapButton * m_BrowseButton
wxCheckBox * m_cbReportAllTrackErrors
virtual void OnStartdrcClick(wxCommandEvent &event)
Class DRCLISTBOX is used to display a DRC_ITEM_LIST.
virtual void OnButtonBrowseRptFileClick(wxCommandEvent &event)
wxButton * m_DeleteAllMarkersButton
virtual void OnReportFilenameEdited(wxCommandEvent &event)
#define ID_BUTTON_BROWSE_RPT_FILE
virtual void OnRightUpClearance(wxMouseEvent &event)
DRCLISTBOX * m_FootprintsListBox
wxTextCtrl * m_SetMicroViakMinSizeCtrl
virtual void OnUnconnectedSelectionEvent(wxCommandEvent &event)
virtual void OnReportCheckBoxClicked(wxCommandEvent &event)
wxStaticText * m_TrackMinWidthUnit
wxTextCtrl * m_SetTrackMinWidthCtrl
virtual void OnMarkerSelectionEvent(wxCommandEvent &event)
#define ID_CHECKBOX_RPT_FILE
#define ID_FOOTPRINTS_LIST
wxStdDialogButtonSizer * m_sdbSizer1
virtual void OnLeftUpClearance(wxMouseEvent &event)
#define ID_UNCONNECTED_LIST
wxBoxSizer * m_sizerButtons
DIALOG_DRC_CONTROL_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("DRC Control"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
virtual void OnActivateDlg(wxActivateEvent &event)
virtual void OnLeftDClickClearance(wxMouseEvent &event)
~DIALOG_DRC_CONTROL_BASE()
virtual void OnDeleteAllClick(wxCommandEvent &event)