15DIALOG_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 )
17 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
19 wxBoxSizer* bMainSizer;
20 bMainSizer =
new wxBoxSizer( wxVERTICAL );
22 wxBoxSizer* bSizerTop;
23 bSizerTop =
new wxBoxSizer( wxHORIZONTAL );
25 wxStaticBoxSizer* sbScope;
26 sbScope =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Scope") ), wxVERTICAL );
28 wxFlexGridSizer* fgSizer3;
29 fgSizer3 =
new wxFlexGridSizer( 0, 2, 5, 30 );
30 fgSizer3->SetFlexibleDirection( wxBOTH );
31 fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
33 m_references =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Reference designators"), wxDefaultPosition, wxDefaultSize, 0 );
34 fgSizer3->Add( m_references, 0, 0, 5 );
36 m_boardGraphics =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB graphic items"), wxDefaultPosition, wxDefaultSize, 0 );
37 fgSizer3->Add( m_boardGraphics, 0, 0, 5 );
39 m_values =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Values"), wxDefaultPosition, wxDefaultSize, 0 );
40 fgSizer3->Add( m_values, 0, 0, 5 );
42 m_boardText =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB text items"), wxDefaultPosition, wxDefaultSize, 0 );
43 fgSizer3->Add( m_boardText, 0, 0, 5 );
45 m_otherFootprintFields =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Other footprint fields"), wxDefaultPosition, wxDefaultSize, 0 );
46 m_otherFootprintFields->SetToolTip(
_(
"Footprint fields that are not the reference designator or value field") );
48 fgSizer3->Add( m_otherFootprintFields, 0, 0, 5 );
50 m_boardDimensions =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB dimensions"), wxDefaultPosition, wxDefaultSize, 0 );
51 fgSizer3->Add( m_boardDimensions, 0, 0, 5 );
53 m_footprintGraphics =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Footprint graphic items"), wxDefaultPosition, wxDefaultSize, 0 );
54 fgSizer3->Add( m_footprintGraphics, 0, wxTOP, 5 );
57 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
59 m_footprintTexts =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Footprint text items"), wxDefaultPosition, wxDefaultSize, 0 );
60 m_footprintTexts->SetToolTip(
_(
"Footprint text items not associated with a field") );
62 fgSizer3->Add( m_footprintTexts, 0, 0, 5 );
65 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
67 m_footprintDimensions =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Footprint dimensions"), wxDefaultPosition, wxDefaultSize, 0 );
68 fgSizer3->Add( m_footprintDimensions, 0, 0, 5 );
71 sbScope->Add( fgSizer3, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
74 bSizerTop->Add( sbScope, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
76 wxStaticBoxSizer* sbFilters;
77 sbFilters =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Filter Items") ), wxVERTICAL );
79 wxFlexGridSizer* fgSizer2;
80 fgSizer2 =
new wxFlexGridSizer( 0, 2, 3, 0 );
81 fgSizer2->AddGrowableCol( 1 );
82 fgSizer2->SetFlexibleDirection( wxBOTH );
83 fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
85 m_layerFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"By layer:"), wxDefaultPosition, wxDefaultSize, 0 );
86 fgSizer2->Add( m_layerFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
88 m_layerFilter =
new PCB_LAYER_BOX_SELECTOR( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
89 fgSizer2->Add( m_layerFilter, 0, wxEXPAND|wxLEFT, 5 );
92 fgSizer2->Add( 0, 0, 1, wxEXPAND|wxTOP|wxBOTTOM, 2 );
95 fgSizer2->Add( 0, 0, 1, wxEXPAND|wxTOP|wxBOTTOM, 2 );
97 m_referenceFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"By parent reference designator:"), wxDefaultPosition, wxDefaultSize, 0 );
98 fgSizer2->Add( m_referenceFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
100 m_referenceFilter =
new wxTextCtrl( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
101 fgSizer2->Add( m_referenceFilter, 0, wxEXPAND|wxLEFT, 5 );
103 m_footprintFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"By parent footprint library link:"), wxDefaultPosition, wxDefaultSize, 0 );
104 fgSizer2->Add( m_footprintFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT, 5 );
106 m_footprintFilter =
new wxTextCtrl( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
107 fgSizer2->Add( m_footprintFilter, 0, wxBOTTOM|wxEXPAND|wxLEFT, 5 );
109 m_selectedItemsFilter =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Selected items only"), wxDefaultPosition, wxDefaultSize, 0 );
110 fgSizer2->Add( m_selectedItemsFilter, 0, wxALL, 5 );
113 sbFilters->Add( fgSizer2, 1, wxEXPAND|wxRIGHT, 5 );
116 bSizerTop->Add( sbFilters, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
119 bMainSizer->Add( bSizerTop, 1, wxEXPAND, 5 );
121 wxStaticBoxSizer* sbAction;
122 sbAction =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Action") ), wxVERTICAL );
124 m_setToSpecifiedValues =
new wxRadioButton( sbAction->GetStaticBox(), wxID_ANY,
_(
"Set to specified values:"), wxDefaultPosition, wxDefaultSize, 0 );
125 m_setToSpecifiedValues->SetValue(
true );
126 sbAction->Add( m_setToSpecifiedValues, 0, wxRIGHT, 5 );
128 m_specifiedValues =
new wxPanel( sbAction->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
130 bSizer2 =
new wxBoxSizer( wxVERTICAL );
132 wxFlexGridSizer* fgSizer1;
133 fgSizer1 =
new wxFlexGridSizer( 0, 5, 2, 0 );
134 fgSizer1->AddGrowableCol( 1 );
135 fgSizer1->AddGrowableCol( 4 );
136 fgSizer1->SetFlexibleDirection( wxBOTH );
137 fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
139 m_LayerLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
140 m_LayerLabel->Wrap( -1 );
141 fgSizer1->Add( m_LayerLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
143 m_LayerCtrl =
new PCB_LAYER_BOX_SELECTOR( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
144 fgSizer1->Add( m_LayerCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
147 fgSizer1->Add( 0, 0, 0, wxEXPAND, 5 );
150 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
152 m_visible =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Visible (fields only)"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
153 m_visible->SetValue(
true);
154 fgSizer1->Add( m_visible, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 120 );
156 m_lineWidthLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Line thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
157 m_lineWidthLabel->Wrap( -1 );
158 fgSizer1->Add( m_lineWidthLabel, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
160 m_LineWidthCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
161 fgSizer1->Add( m_LineWidthCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
163 m_lineWidthUnits =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
164 m_lineWidthUnits->Wrap( -1 );
165 fgSizer1->Add( m_lineWidthUnits, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
168 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
171 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
174 fgSizer1->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
177 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
180 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
183 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
186 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
188 m_fontLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Font:"), wxDefaultPosition, wxDefaultSize, 0 );
189 m_fontLabel->Wrap( -1 );
190 fgSizer1->Add( m_fontLabel, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
192 wxString m_fontCtrlChoices[] = {
_(
"KiCad Font") };
193 int m_fontCtrlNChoices =
sizeof( m_fontCtrlChoices ) /
sizeof( wxString );
194 m_fontCtrl =
new FONT_CHOICE( m_specifiedValues, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fontCtrlNChoices, m_fontCtrlChoices, 0 );
195 m_fontCtrl->SetSelection( 0 );
196 fgSizer1->Add( m_fontCtrl, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
199 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
202 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
204 m_bold =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Bold"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
205 fgSizer1->Add( m_bold, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 120 );
207 m_SizeXlabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text width:"), wxDefaultPosition, wxDefaultSize, 0 );
208 m_SizeXlabel->Wrap( -1 );
209 fgSizer1->Add( m_SizeXlabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
211 m_SizeXCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
212 m_SizeXCtrl->SetMinSize( wxSize( 120,-1 ) );
214 fgSizer1->Add( m_SizeXCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
216 m_SizeXunit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
217 m_SizeXunit->Wrap( -1 );
218 fgSizer1->Add( m_SizeXunit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
221 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 20 );
223 m_italic =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Italic"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
224 fgSizer1->Add( m_italic, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 120 );
226 m_SizeYlabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
227 m_SizeYlabel->Wrap( -1 );
228 fgSizer1->Add( m_SizeYlabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
230 m_SizeYCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
231 fgSizer1->Add( m_SizeYCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
233 m_SizeYunit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
234 m_SizeYunit->Wrap( -1 );
235 fgSizer1->Add( m_SizeYunit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
238 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 20 );
240 m_keepUpright =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Keep upright"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
241 m_keepUpright->SetValue(
true);
242 fgSizer1->Add( m_keepUpright, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 120 );
244 m_ThicknessLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
245 m_ThicknessLabel->Wrap( -1 );
246 fgSizer1->Add( m_ThicknessLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
248 m_ThicknessCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
249 fgSizer1->Add( m_ThicknessCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
251 m_ThicknessUnit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
252 m_ThicknessUnit->Wrap( -1 );
253 fgSizer1->Add( m_ThicknessUnit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
256 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxLEFT|wxRIGHT, 20 );
258 m_centerOnFP =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Center on footprint"), wxDefaultPosition, wxDefaultSize, 0 );
259 m_centerOnFP->SetToolTip(
_(
"Move footprint texts to the center of their parent") );
261 fgSizer1->Add( m_centerOnFP, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 120 );
264 bSizer2->Add( fgSizer1, 1, wxBOTTOM|wxEXPAND|wxTOP, 2 );
267 m_specifiedValues->SetSizer( bSizer2 );
268 m_specifiedValues->Layout();
269 bSizer2->Fit( m_specifiedValues );
270 sbAction->Add( m_specifiedValues, 0, wxEXPAND|wxBOTTOM|wxLEFT, 18 );
272 m_setToLayerDefaults =
new wxRadioButton( sbAction->GetStaticBox(), wxID_ANY,
_(
"Set to layer default values:"), wxDefaultPosition, wxDefaultSize, 0 );
273 sbAction->Add( m_setToLayerDefaults, 0, wxTOP|wxBOTTOM|wxEXPAND, 3 );
275 m_grid =
new wxGrid( sbAction->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE );
278 m_grid->CreateGrid( 7, 7 );
279 m_grid->EnableEditing(
false );
280 m_grid->EnableGridLines(
true );
281 m_grid->EnableDragGridSize(
false );
282 m_grid->SetMargins( 0, 0 );
285 m_grid->SetColSize( 0, 132 );
286 m_grid->SetColSize( 1, 120 );
287 m_grid->SetColSize( 2, 120 );
288 m_grid->SetColSize( 3, 120 );
289 m_grid->SetColSize( 4, 120 );
290 m_grid->SetColSize( 5, 96 );
291 m_grid->SetColSize( 6, 96 );
292 m_grid->EnableDragColMove(
false );
293 m_grid->EnableDragColSize(
false );
294 m_grid->SetColLabelSize( 0 );
295 m_grid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
298 m_grid->EnableDragRowSize(
false );
299 m_grid->SetRowLabelSize( 0 );
300 m_grid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
305 m_grid->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
306 m_grid->SetDefaultCellFont( wxFont( 11, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
307 m_grid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
308 sbAction->Add( m_grid, 0, wxEXPAND|wxLEFT, 23 );
311 sbAction->Add( 0, 0, 0, wxEXPAND|wxBOTTOM, 5 );
314 bMainSizer->Add( sbAction, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
316 m_sdbSizerButtons =
new wxStdDialogButtonSizer();
317 m_sdbSizerButtonsOK =
new wxButton(
this, wxID_OK );
318 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsOK );
319 m_sdbSizerButtonsApply =
new wxButton(
this, wxID_APPLY );
320 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsApply );
321 m_sdbSizerButtonsCancel =
new wxButton(
this, wxID_CANCEL );
322 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsCancel );
323 m_sdbSizerButtons->Realize();
325 bMainSizer->Add( m_sdbSizerButtons, 0, wxALL|wxEXPAND, 5 );
328 this->SetSizer( bMainSizer );
330 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)
wxTextCtrl * m_referenceFilter
virtual void OnSizeNetclassGrid(wxSizeEvent &event)
wxCheckBox * m_keepUpright
virtual void OnLayerFilterSelect(wxCommandEvent &event)
wxRadioButton * m_setToSpecifiedValues
virtual void onDimensionItemCheckbox(wxCommandEvent &event)
wxTextCtrl * m_footprintFilter
wxCheckBox * m_boardDimensions
wxRadioButton * m_setToLayerDefaults
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.