27DIALOG_SHAPE_PROPERTIES_BASE::
DIALOG_SHAPE_PROPERTIES_BASE( wxWindow* parent, wxWindowID
id, const wxString& title, const wxPoint& pos, const wxSize& size,
long style ) :
DIALOG_SHIM( parent,
id, title, pos, size, style )
29 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
31 wxBoxSizer* mainSizer;
32 mainSizer =
new wxBoxSizer( wxVERTICAL );
35 m_infoBar->SetShowHideEffects( wxSHOW_EFFECT_NONE, wxSHOW_EFFECT_NONE );
36 m_infoBar->SetEffectDuration( 500 );
39 mainSizer->Add( m_infoBar, 0, wxBOTTOM|wxEXPAND, 5 );
41 m_ruleAreaSizer =
new wxBoxSizer( wxVERTICAL );
43 m_cbExcludeFromSim =
new wxCheckBox(
this, wxID_ANY,
_(
"Exclude from simulation"), wxDefaultPosition, wxDefaultSize, 0 );
44 m_ruleAreaSizer->Add( m_cbExcludeFromSim, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
47 m_ruleAreaSizer->Add( 0, 10, 0, wxEXPAND, 5 );
49 m_cbExcludeFromBom =
new wxCheckBox(
this, wxID_ANY,
_(
"Exclude from bill of materials"), wxDefaultPosition, wxDefaultSize, 0 );
50 m_cbExcludeFromBom->SetToolTip(
_(
"This is useful for adding symbols for board footprints such as fiducials\nand logos that you do not want to appear in the bill of materials export") );
52 m_ruleAreaSizer->Add( m_cbExcludeFromBom, 0, wxALL, 5 );
54 m_cbExcludeFromBoard =
new wxCheckBox(
this, wxID_ANY,
_(
"Exclude from board"), wxDefaultPosition, wxDefaultSize, 0 );
55 m_cbExcludeFromBoard->SetToolTip(
_(
"This is useful for adding symbols that only get exported to the bill of materials but\nnot required to layout the board such as mechanical fasteners and enclosures") );
57 m_ruleAreaSizer->Add( m_cbExcludeFromBoard, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
59 m_cbDNP =
new wxCheckBox(
this, wxID_ANY,
_(
"Do not populate"), wxDefaultPosition, wxDefaultSize, 0 );
60 m_ruleAreaSizer->Add( m_cbDNP, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 );
63 m_ruleAreaSizer->Add( 0, 5, 1, wxEXPAND, 5 );
66 mainSizer->Add( m_ruleAreaSizer, 1, wxEXPAND|wxALL, 5 );
69 bColumns =
new wxBoxSizer( wxHORIZONTAL );
71 m_borderSizer =
new wxGridBagSizer( 3, 3 );
72 m_borderSizer->SetFlexibleDirection( wxBOTH );
73 m_borderSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
74 m_borderSizer->SetEmptyCellSize( wxSize( 36,-1 ) );
76 m_borderCheckbox =
new wxCheckBox(
this, wxID_ANY,
_(
"Border"), wxDefaultPosition, wxDefaultSize, 0 );
77 m_borderSizer->Add( m_borderCheckbox, wxGBPosition( 0, 0 ), wxGBSpan( 1, 2 ), wxBOTTOM, 2 );
79 m_borderWidthLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Width:"), wxDefaultPosition, wxDefaultSize, 0 );
80 m_borderWidthLabel->Wrap( -1 );
81 m_borderSizer->Add( m_borderWidthLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
84 bSizer7 =
new wxBoxSizer( wxHORIZONTAL );
86 m_borderWidthCtrl =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), 0 );
87 bSizer7->Add( m_borderWidthCtrl, 0, wxALIGN_CENTER_VERTICAL, 5 );
89 m_borderWidthUnits =
new wxStaticText(
this, wxID_ANY,
_(
"mm"), wxDefaultPosition, wxDefaultSize, 0 );
90 m_borderWidthUnits->Wrap( -1 );
91 bSizer7->Add( m_borderWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 3 );
93 m_borderColorLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Color:"), wxDefaultPosition, wxDefaultSize, 0 );
94 m_borderColorLabel->Wrap( -1 );
95 bSizer7->Add( m_borderColorLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 15 );
98 bSizer7->Add( 5, 0, 0, 0, 5 );
100 m_panelBorderColor =
new wxPanel(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE|wxTAB_TRAVERSAL );
101 wxBoxSizer* bSizer23;
102 bSizer23 =
new wxBoxSizer( wxVERTICAL );
104 m_borderColorSwatch =
new COLOR_SWATCH( m_panelBorderColor, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
105 bSizer23->Add( m_borderColorSwatch, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
108 m_panelBorderColor->SetSizer( bSizer23 );
109 m_panelBorderColor->Layout();
110 bSizer23->Fit( m_panelBorderColor );
111 bSizer7->Add( m_panelBorderColor, 0, wxALIGN_CENTER_VERTICAL, 5 );
114 m_borderSizer->Add( bSizer7, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxEXPAND, 5 );
116 m_borderStyleLabel =
new wxStaticText(
this, wxID_ANY,
_(
"Style:"), wxDefaultPosition, wxDefaultSize, 0 );
117 m_borderStyleLabel->Wrap( -1 );
118 m_borderSizer->Add( m_borderStyleLabel, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
120 m_borderStyleCombo =
new wxBitmapComboBox(
this, wxID_ANY,
_(
"Combo!"), wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY );
121 m_borderStyleCombo->SetMinSize( wxSize( 240,-1 ) );
123 m_borderSizer->Add( m_borderStyleCombo, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
125 m_helpLabel1 =
new wxStaticText(
this, wxID_ANY,
_(
"Set border width to 0 to use schematic's default line width."), wxDefaultPosition, wxDefaultSize, 0 );
126 m_helpLabel1->Wrap( 320 );
127 m_borderSizer->Add( m_helpLabel1, wxGBPosition( 3, 0 ), wxGBSpan( 1, 2 ), wxTOP, 8 );
130 bColumns->Add( m_borderSizer, 9, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
133 bColumns->Add( 15, 0, 0, wxEXPAND, 5 );
135 m_fillBook =
new wxSimplebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
136 m_schematicPage =
new wxPanel( m_fillBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
138 bSizer8 =
new wxBoxSizer( wxVERTICAL );
140 m_fillSizer =
new wxGridBagSizer( 3, 3 );
141 m_fillSizer->SetFlexibleDirection( wxBOTH );
142 m_fillSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
143 m_fillSizer->SetEmptyCellSize( wxSize( 36,12 ) );
145 m_fillLabel =
new wxStaticText( m_schematicPage, wxID_ANY,
_(
"Fill:"), wxDefaultPosition, wxDefaultSize, 0 );
146 m_fillLabel->Wrap( -1 );
147 m_fillSizer->Add( m_fillLabel, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
149 wxString m_fillCtrlChoices[] = {
_(
"None"),
_(
"Solid"),
_(
"Hatch"),
_(
"Reverse Hatch"),
_(
"Cross-hatch") };
150 int m_fillCtrlNChoices =
sizeof( m_fillCtrlChoices ) /
sizeof( wxString );
151 m_fillCtrl =
new wxChoice( m_schematicPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fillCtrlNChoices, m_fillCtrlChoices, 0 );
152 m_fillCtrl->SetSelection( 0 );
153 m_fillSizer->Add( m_fillCtrl, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
155 m_fillColorLabel =
new wxStaticText( m_schematicPage, wxID_ANY,
_(
"Fill color:"), wxDefaultPosition, wxDefaultSize, 0 );
156 m_fillColorLabel->Wrap( -1 );
157 m_fillSizer->Add( m_fillColorLabel, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
159 m_panelFillColor =
new wxPanel( m_schematicPage, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE|wxTAB_TRAVERSAL );
160 wxBoxSizer* bSizer21;
161 bSizer21 =
new wxBoxSizer( wxVERTICAL );
163 m_fillColorSwatch =
new COLOR_SWATCH( m_panelFillColor, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
164 bSizer21->Add( m_fillColorSwatch, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
167 m_panelFillColor->SetSizer( bSizer21 );
168 m_panelFillColor->Layout();
169 bSizer21->Fit( m_panelFillColor );
170 m_fillSizer->Add( m_panelFillColor, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
172 m_helpLabel2 =
new wxStaticText( m_schematicPage, wxID_ANY,
_(
"Clear colors to use Schematic Editor colors."), wxDefaultPosition, wxDefaultSize, 0 );
173 m_helpLabel2->Wrap( -1 );
174 m_fillSizer->Add( m_helpLabel2, wxGBPosition( 4, 0 ), wxGBSpan( 1, 2 ), wxTOP|wxRIGHT, 8 );
177 bSizer8->Add( m_fillSizer, 1, wxEXPAND|wxBOTTOM|wxRIGHT, 5 );
180 m_schematicPage->SetSizer( bSizer8 );
181 m_schematicPage->Layout();
182 bSizer8->Fit( m_schematicPage );
183 m_fillBook->AddPage( m_schematicPage,
_(
"a page"),
false );
184 m_symbolEditorPage =
new wxPanel( m_fillBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
186 bSizer9 =
new wxBoxSizer( wxVERTICAL );
188 wxStaticBoxSizer* bSizerFill;
189 bSizerFill =
new wxStaticBoxSizer(
new wxStaticBox( m_symbolEditorPage, wxID_ANY,
_(
"Fill Style") ), wxVERTICAL );
191 wxGridBagSizer* gbSizer1;
192 gbSizer1 =
new wxGridBagSizer( 3, 0 );
193 gbSizer1->SetFlexibleDirection( wxBOTH );
194 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
196 m_rbFillNone =
new wxRadioButton( bSizerFill->GetStaticBox(),
NO_FILL,
_(
"Do not fill"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
197 gbSizer1->Add( m_rbFillNone, wxGBPosition( 0, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
199 m_rbFillOutline =
new wxRadioButton( bSizerFill->GetStaticBox(),
FILLED_SHAPE,
_(
"Fill with body outline color"), wxDefaultPosition, wxDefaultSize, 0 );
200 gbSizer1->Add( m_rbFillOutline, wxGBPosition( 1, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
202 m_rbFillBackground =
new wxRadioButton( bSizerFill->GetStaticBox(),
FILLED_WITH_BG_BODYCOLOR,
_(
"Fill with body background color"), wxDefaultPosition, wxDefaultSize, 0 );
203 gbSizer1->Add( m_rbFillBackground, wxGBPosition( 2, 0 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL, 5 );
205 m_rbFillCustom =
new wxRadioButton( bSizerFill->GetStaticBox(),
FILLED_WITH_COLOR,
_(
"Fill with:"), wxDefaultPosition, wxDefaultSize, 0 );
206 gbSizer1->Add( m_rbFillCustom, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 );
208 m_customColorSwatch =
new COLOR_SWATCH( bSizerFill->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
209 gbSizer1->Add( m_customColorSwatch, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
212 bSizerFill->Add( gbSizer1, 1, wxEXPAND|wxBOTTOM, 5 );
215 bSizer9->Add( bSizerFill, 1, wxEXPAND, 5 );
218 m_symbolEditorPage->SetSizer( bSizer9 );
219 m_symbolEditorPage->Layout();
220 bSizer9->Fit( m_symbolEditorPage );
221 m_fillBook->AddPage( m_symbolEditorPage,
_(
"a page"),
false );
223 bColumns->Add( m_fillBook, 8, wxEXPAND | wxALL, 10 );
226 mainSizer->Add( bColumns, 0, wxEXPAND, 5 );
228 m_symbolEditorSizer =
new wxBoxSizer( wxVERTICAL );
231 m_symbolEditorSizer->Add( 0, 10, 0, wxEXPAND, 5 );
233 wxBoxSizer* bColumns2;
234 bColumns2 =
new wxBoxSizer( wxHORIZONTAL );
237 bLeft2 =
new wxBoxSizer( wxVERTICAL );
239 m_privateCheckbox =
new wxCheckBox(
this, wxID_ANY,
_(
"Private to Symbol Editor"), wxDefaultPosition, wxDefaultSize, 0 );
240 bLeft2->Add( m_privateCheckbox, 0, wxTOP, 5 );
243 bColumns2->Add( bLeft2, 9, wxEXPAND|wxRIGHT|wxLEFT, 10 );
246 bColumns2->Add( 15, 0, 0, wxEXPAND, 5 );
249 bRight2 =
new wxBoxSizer( wxVERTICAL );
251 m_checkApplyToAllUnits =
new wxCheckBox(
this, wxID_ANY,
_(
"Common to all &units in symbol"), wxDefaultPosition, wxDefaultSize, 0 );
252 bRight2->Add( m_checkApplyToAllUnits, 0, wxTOP|wxRIGHT, 5 );
254 m_checkApplyToAllBodyStyles =
new wxCheckBox(
this, wxID_ANY,
_(
"Common to all body &styles (De Morgan)"), wxDefaultPosition, wxDefaultSize, 0 );
255 bRight2->Add( m_checkApplyToAllBodyStyles, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
258 bColumns2->Add( bRight2, 8, wxEXPAND|wxRIGHT|wxLEFT, 10 );
261 m_symbolEditorSizer->Add( bColumns2, 1, wxEXPAND, 5 );
264 mainSizer->Add( m_symbolEditorSizer, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 );
266 m_sdbSizer =
new wxStdDialogButtonSizer();
267 m_sdbSizerOK =
new wxButton(
this, wxID_OK );
268 m_sdbSizer->AddButton( m_sdbSizerOK );
269 m_sdbSizerCancel =
new wxButton(
this, wxID_CANCEL );
270 m_sdbSizer->AddButton( m_sdbSizerCancel );
271 m_sdbSizer->Realize();
273 mainSizer->Add( m_sdbSizer, 0, wxALL|wxEXPAND, 5 );
276 this->SetSizer( mainSizer );
278 mainSizer->Fit(
this );
280 this->Centre( wxBOTH );
A simple color swatch of the kind used to set layer colors.
Class DIALOG_SHAPE_PROPERTIES_BASE.
void _wxFB_onFillChoice(wxCommandEvent &event)
~DIALOG_SHAPE_PROPERTIES_BASE()
void _wxFB_onBorderChecked(wxCommandEvent &event)
void _wxFB_OnCheckBox(wxCommandEvent &event)
void _wxFB_onFillRadioButton(wxCommandEvent &event)
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
A modified version of the wxInfoBar class that allows us to:
@ FILLED_WITH_BG_BODYCOLOR
@ FILLED_SHAPE
Fill with object color.