16DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS_BASE::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
18 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
20 wxBoxSizer* bMainSizer;
21 bMainSizer =
new wxBoxSizer( wxVERTICAL );
23 wxBoxSizer* bSizerTop;
24 bSizerTop =
new wxBoxSizer( wxHORIZONTAL );
26 wxStaticBoxSizer* sbScope;
27 sbScope =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Scope") ), wxVERTICAL );
29 wxFlexGridSizer* fgSizer3;
30 fgSizer3 =
new wxFlexGridSizer( 0, 2, 5, 30 );
31 fgSizer3->SetFlexibleDirection( wxBOTH );
32 fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
34 m_references =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Reference designators"), wxDefaultPosition, wxDefaultSize, 0 );
35 fgSizer3->Add( m_references, 0, 0, 5 );
37 m_boardGraphics =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB graphic items"), wxDefaultPosition, wxDefaultSize, 0 );
38 fgSizer3->Add( m_boardGraphics, 0, 0, 5 );
40 m_values =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Values"), wxDefaultPosition, wxDefaultSize, 0 );
41 fgSizer3->Add( m_values, 0, 0, 5 );
43 m_boardText =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB text items"), wxDefaultPosition, wxDefaultSize, 0 );
44 fgSizer3->Add( m_boardText, 0, 0, 5 );
46 m_otherFootprintFields =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Other footprint fields"), wxDefaultPosition, wxDefaultSize, 0 );
47 m_otherFootprintFields->SetToolTip(
_(
"Footprint fields that are not the reference designator or value field") );
49 fgSizer3->Add( m_otherFootprintFields, 0, 0, 5 );
51 m_boardDimensions =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB dimensions"), wxDefaultPosition, wxDefaultSize, 0 );
52 fgSizer3->Add( m_boardDimensions, 0, 0, 5 );
54 m_footprintGraphics =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Footprint graphic items"), wxDefaultPosition, wxDefaultSize, 0 );
55 fgSizer3->Add( m_footprintGraphics, 0, wxTOP, 5 );
58 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
60 m_footprintTexts =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Footprint text items"), wxDefaultPosition, wxDefaultSize, 0 );
61 m_footprintTexts->SetToolTip(
_(
"Footprint text items not associated with a field") );
63 fgSizer3->Add( m_footprintTexts, 0, 0, 5 );
66 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
68 m_footprintDimensions =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Footprint dimensions"), wxDefaultPosition, wxDefaultSize, 0 );
69 fgSizer3->Add( m_footprintDimensions, 0, 0, 5 );
72 sbScope->Add( fgSizer3, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
75 bSizerTop->Add( sbScope, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
77 wxStaticBoxSizer* sbFilters;
78 sbFilters =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Filter Items") ), wxVERTICAL );
80 wxFlexGridSizer* fgSizer2;
81 fgSizer2 =
new wxFlexGridSizer( 0, 2, 3, 0 );
82 fgSizer2->AddGrowableCol( 1 );
83 fgSizer2->SetFlexibleDirection( wxBOTH );
84 fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
86 m_layerFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"By layer:"), wxDefaultPosition, wxDefaultSize, 0 );
87 fgSizer2->Add( m_layerFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
89 m_layerFilter =
new PCB_LAYER_BOX_SELECTOR( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
90 fgSizer2->Add( m_layerFilter, 0, wxEXPAND|wxLEFT, 5 );
93 fgSizer2->Add( 0, 0, 1, wxEXPAND|wxTOP|wxBOTTOM, 2 );
96 fgSizer2->Add( 0, 0, 1, wxEXPAND|wxTOP|wxBOTTOM, 2 );
98 m_referenceFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"By parent reference designator:"), wxDefaultPosition, wxDefaultSize, 0 );
99 fgSizer2->Add( m_referenceFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
101 m_referenceFilter =
new wxTextCtrl( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
102 fgSizer2->Add( m_referenceFilter, 0, wxEXPAND|wxLEFT, 5 );
104 m_footprintFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"By parent footprint library link:"), wxDefaultPosition, wxDefaultSize, 0 );
105 fgSizer2->Add( m_footprintFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
107 m_footprintFilter =
new wxTextCtrl( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
108 fgSizer2->Add( m_footprintFilter, 0, wxBOTTOM|wxEXPAND|wxLEFT, 5 );
110 m_selectedItemsFilter =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Selected items only"), wxDefaultPosition, wxDefaultSize, 0 );
111 fgSizer2->Add( m_selectedItemsFilter, 0, wxALL, 5 );
114 sbFilters->Add( fgSizer2, 1, wxEXPAND|wxRIGHT, 5 );
117 bSizerTop->Add( sbFilters, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
120 bMainSizer->Add( bSizerTop, 1, wxEXPAND, 5 );
122 wxStaticBoxSizer* sbAction;
123 sbAction =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Action") ), wxVERTICAL );
125 m_setToSpecifiedValues =
new wxRadioButton( sbAction->GetStaticBox(), wxID_ANY,
_(
"Set to specified values:"), wxDefaultPosition, wxDefaultSize, 0 );
126 m_setToSpecifiedValues->SetValue(
true );
127 sbAction->Add( m_setToSpecifiedValues, 0, wxRIGHT, 5 );
129 m_specifiedValues =
new wxPanel( sbAction->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
131 bSizer2 =
new wxBoxSizer( wxVERTICAL );
133 wxFlexGridSizer* fgSizer1;
134 fgSizer1 =
new wxFlexGridSizer( 0, 5, 2, 0 );
135 fgSizer1->AddGrowableCol( 1 );
136 fgSizer1->AddGrowableCol( 4 );
137 fgSizer1->SetFlexibleDirection( wxBOTH );
138 fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
140 m_LayerLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
141 m_LayerLabel->Wrap( -1 );
142 fgSizer1->Add( m_LayerLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
144 m_LayerCtrl =
new PCB_LAYER_BOX_SELECTOR( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
145 fgSizer1->Add( m_LayerCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
148 fgSizer1->Add( 0, 0, 0, wxEXPAND, 5 );
151 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
153 m_visible =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Visible (fields only)"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
154 m_visible->SetValue(
true);
155 fgSizer1->Add( m_visible, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 120 );
157 m_lineWidthLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Line thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
158 m_lineWidthLabel->Wrap( -1 );
159 fgSizer1->Add( m_lineWidthLabel, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
161 m_LineWidthCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
162 fgSizer1->Add( m_LineWidthCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
164 m_lineWidthUnits =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
165 m_lineWidthUnits->Wrap( -1 );
166 fgSizer1->Add( m_lineWidthUnits, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
169 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
172 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
175 fgSizer1->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
178 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
181 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
184 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
187 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
189 m_fontLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Font:"), wxDefaultPosition, wxDefaultSize, 0 );
190 m_fontLabel->Wrap( -1 );
191 fgSizer1->Add( m_fontLabel, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
193 wxString m_fontCtrlChoices[] = {
_(
"KiCad Font") };
194 int m_fontCtrlNChoices =
sizeof( m_fontCtrlChoices ) /
sizeof( wxString );
195 m_fontCtrl =
new FONT_CHOICE( m_specifiedValues, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fontCtrlNChoices, m_fontCtrlChoices, 0 );
196 m_fontCtrl->SetSelection( 0 );
197 fgSizer1->Add( m_fontCtrl, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
200 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
203 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
205 m_bold =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Bold"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
206 fgSizer1->Add( m_bold, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 120 );
208 m_SizeXlabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text width:"), wxDefaultPosition, wxDefaultSize, 0 );
209 m_SizeXlabel->Wrap( -1 );
210 fgSizer1->Add( m_SizeXlabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
212 m_SizeXCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
213 m_SizeXCtrl->SetMinSize( wxSize( 120,-1 ) );
215 fgSizer1->Add( m_SizeXCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
217 m_SizeXunit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
218 m_SizeXunit->Wrap( -1 );
219 fgSizer1->Add( m_SizeXunit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
222 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 20 );
224 m_italic =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Italic"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
225 fgSizer1->Add( m_italic, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 120 );
227 m_SizeYlabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
228 m_SizeYlabel->Wrap( -1 );
229 fgSizer1->Add( m_SizeYlabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
231 m_SizeYCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
232 fgSizer1->Add( m_SizeYCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
234 m_SizeYunit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
235 m_SizeYunit->Wrap( -1 );
236 fgSizer1->Add( m_SizeYunit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
239 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 20 );
241 m_keepUpright =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Keep upright"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
242 m_keepUpright->SetValue(
true);
243 fgSizer1->Add( m_keepUpright, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 120 );
245 m_ThicknessLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
246 m_ThicknessLabel->Wrap( -1 );
247 fgSizer1->Add( m_ThicknessLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
249 m_ThicknessCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
250 fgSizer1->Add( m_ThicknessCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
253 bSizer4 =
new wxBoxSizer( wxHORIZONTAL );
255 m_ThicknessUnit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
256 m_ThicknessUnit->Wrap( -1 );
257 bSizer4->Add( m_ThicknessUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
259 m_autoTextThickness =
new BITMAP_BUTTON( m_specifiedValues, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBORDER_NONE );
260 m_autoTextThickness->SetToolTip(
_(
"Adjust the text thickness") );
262 bSizer4->Add( m_autoTextThickness, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
265 fgSizer1->Add( bSizer4, 0, wxALIGN_CENTER_VERTICAL, 5 );
268 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxLEFT|wxRIGHT, 20 );
270 m_centerOnFP =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Center on footprint"), wxDefaultPosition, wxDefaultSize, 0 );
271 m_centerOnFP->SetToolTip(
_(
"Move footprint texts to the center of their parent") );
273 fgSizer1->Add( m_centerOnFP, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 120 );
276 bSizer2->Add( fgSizer1, 1, wxBOTTOM|wxEXPAND|wxTOP, 2 );
279 m_specifiedValues->SetSizer( bSizer2 );
280 m_specifiedValues->Layout();
281 bSizer2->Fit( m_specifiedValues );
282 sbAction->Add( m_specifiedValues, 0, wxEXPAND|wxBOTTOM|wxLEFT, 18 );
284 m_setToLayerDefaults =
new wxRadioButton( sbAction->GetStaticBox(), wxID_ANY,
_(
"Set to layer default values:"), wxDefaultPosition, wxDefaultSize, 0 );
285 sbAction->Add( m_setToLayerDefaults, 0, wxTOP|wxBOTTOM|wxEXPAND, 3 );
287 m_grid =
new wxGrid( sbAction->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE );
290 m_grid->CreateGrid( 7, 7 );
291 m_grid->EnableEditing(
false );
292 m_grid->EnableGridLines(
true );
293 m_grid->EnableDragGridSize(
false );
294 m_grid->SetMargins( 0, 0 );
297 m_grid->SetColSize( 0, 132 );
298 m_grid->SetColSize( 1, 120 );
299 m_grid->SetColSize( 2, 120 );
300 m_grid->SetColSize( 3, 120 );
301 m_grid->SetColSize( 4, 120 );
302 m_grid->SetColSize( 5, 96 );
303 m_grid->SetColSize( 6, 96 );
304 m_grid->EnableDragColMove(
false );
305 m_grid->EnableDragColSize(
false );
306 m_grid->SetColLabelSize( 0 );
307 m_grid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
310 m_grid->EnableDragRowSize(
false );
311 m_grid->SetRowLabelSize( 0 );
312 m_grid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
317 m_grid->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
318 m_grid->SetDefaultCellFont( wxFont( 11, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
319 m_grid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
320 sbAction->Add( m_grid, 0, wxEXPAND|wxLEFT, 23 );
323 sbAction->Add( 0, 0, 0, wxEXPAND|wxBOTTOM, 5 );
326 bMainSizer->Add( sbAction, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
328 m_sdbSizerButtons =
new wxStdDialogButtonSizer();
329 m_sdbSizerButtonsOK =
new wxButton(
this, wxID_OK );
330 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsOK );
331 m_sdbSizerButtonsApply =
new wxButton(
this, wxID_APPLY );
332 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsApply );
333 m_sdbSizerButtonsCancel =
new wxButton(
this, wxID_CANCEL );
334 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsCancel );
335 m_sdbSizerButtons->Realize();
337 bMainSizer->Add( m_sdbSizerButtons, 0, wxALL|wxEXPAND, 5 );
340 this->SetSizer( bMainSizer );
342 bMainSizer->Fit(
this );
PCB_LAYER_BOX_SELECTOR * m_LayerCtrl
virtual void onFontSelected(wxCommandEvent &event)
wxCheckBox * m_footprintDimensions
wxStaticText * m_LayerLabel
DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Edit Text and Graphic Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
virtual void OnFootprintFilterText(wxCommandEvent &event)
virtual void onSpecifiedValueUpdateUI(wxUpdateUIEvent &event)
PCB_LAYER_BOX_SELECTOR * m_layerFilter
~DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS_BASE()
virtual void onActionButtonChange(wxCommandEvent &event)
virtual void OnReferenceFilterText(wxCommandEvent &event)
virtual void onTextSize(wxCommandEvent &event)
wxTextCtrl * m_referenceFilter
virtual void OnSizeNetclassGrid(wxSizeEvent &event)
wxCheckBox * m_keepUpright
virtual void OnLayerFilterSelect(wxCommandEvent &event)
wxRadioButton * m_setToSpecifiedValues
BITMAP_BUTTON * m_autoTextThickness
virtual void onDimensionItemCheckbox(wxCommandEvent &event)
wxTextCtrl * m_footprintFilter
wxCheckBox * m_boardDimensions
wxRadioButton * m_setToLayerDefaults
virtual void onAutoTextThickness(wxCommandEvent &event)
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.