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 m_references =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Reference designators"), wxDefaultPosition, wxDefaultSize, 0 );
29 sbScope->Add( m_references, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
31 m_values =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Values"), wxDefaultPosition, wxDefaultSize, 0 );
32 sbScope->Add( m_values, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
34 m_otherFields =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Other footprint text items"), wxDefaultPosition, wxDefaultSize, 0 );
35 sbScope->Add( m_otherFields, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
37 m_footprintGraphics =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Footprint graphic items"), wxDefaultPosition, wxDefaultSize, 0 );
38 sbScope->Add( m_footprintGraphics, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
40 m_footprintDimensions =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"Footprint dimension items"), wxDefaultPosition, wxDefaultSize, 0 );
41 sbScope->Add( m_footprintDimensions, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
44 sbScope->Add( 0, 0, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
46 m_boardGraphics =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB graphic items"), wxDefaultPosition, wxDefaultSize, 0 );
47 sbScope->Add( m_boardGraphics, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
49 m_boardText =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB text items"), wxDefaultPosition, wxDefaultSize, 0 );
50 sbScope->Add( m_boardText, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
52 m_boardDimensions =
new wxCheckBox( sbScope->GetStaticBox(), wxID_ANY,
_(
"PCB dimension items"), wxDefaultPosition, wxDefaultSize, 0 );
53 sbScope->Add( m_boardDimensions, 0, wxBOTTOM|wxRIGHT|wxLEFT, 4 );
56 bSizerTop->Add( sbScope, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
58 wxStaticBoxSizer* sbFilters;
59 sbFilters =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Filters") ), wxVERTICAL );
61 wxFlexGridSizer* fgSizer2;
62 fgSizer2 =
new wxFlexGridSizer( 0, 2, 4, 0 );
63 fgSizer2->AddGrowableCol( 1 );
64 fgSizer2->SetFlexibleDirection( wxBOTH );
65 fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
67 m_layerFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Filter items by layer:"), wxDefaultPosition, wxDefaultSize, 0 );
68 fgSizer2->Add( m_layerFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
70 m_layerFilter =
new PCB_LAYER_BOX_SELECTOR( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
71 fgSizer2->Add( m_layerFilter, 0, wxEXPAND|wxLEFT, 5 );
74 fgSizer2->Add( 0, 0, 1, wxEXPAND|wxTOP|wxBOTTOM, 3 );
77 fgSizer2->Add( 0, 0, 1, wxEXPAND|wxTOP|wxBOTTOM, 3 );
79 m_referenceFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Filter items by parent reference designator:"), wxDefaultPosition, wxDefaultSize, 0 );
80 fgSizer2->Add( m_referenceFilterOpt, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
82 m_referenceFilter =
new wxTextCtrl( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
83 fgSizer2->Add( m_referenceFilter, 0, wxEXPAND|wxLEFT, 5 );
85 m_footprintFilterOpt =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Filter items by parent footprint library id:"), wxDefaultPosition, wxDefaultSize, 0 );
86 fgSizer2->Add( m_footprintFilterOpt, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
88 m_footprintFilter =
new wxTextCtrl( sbFilters->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
89 fgSizer2->Add( m_footprintFilter, 0, wxBOTTOM|wxEXPAND|wxLEFT, 5 );
91 m_selectedItemsFilter =
new wxCheckBox( sbFilters->GetStaticBox(), wxID_ANY,
_(
"Only include selected items"), wxDefaultPosition, wxDefaultSize, 0 );
92 fgSizer2->Add( m_selectedItemsFilter, 0, wxALL, 5 );
95 sbFilters->Add( fgSizer2, 1, wxEXPAND|wxRIGHT, 5 );
98 bSizerTop->Add( sbFilters, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 );
101 bMainSizer->Add( bSizerTop, 1, wxEXPAND, 5 );
104 bMainSizer->Add( 0, 0, 0, wxTOP, 5 );
107 bMainSizer->Add( 0, 0, 0, wxTOP, 5 );
109 wxStaticBoxSizer* sbAction;
110 sbAction =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Action") ), wxVERTICAL );
112 m_setToSpecifiedValues =
new wxRadioButton( sbAction->GetStaticBox(),
ID_SPECIFIED_NET_TO_NETCLASS_VALUES,
_(
"Set to specified values:"), wxDefaultPosition, wxDefaultSize, 0 );
113 m_setToSpecifiedValues->SetValue(
true );
114 sbAction->Add( m_setToSpecifiedValues, 0, wxRIGHT, 5 );
116 m_specifiedValues =
new wxPanel( sbAction->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
118 bSizer2 =
new wxBoxSizer( wxVERTICAL );
120 wxFlexGridSizer* fgSizer1;
121 fgSizer1 =
new wxFlexGridSizer( 0, 5, 2, 0 );
122 fgSizer1->AddGrowableCol( 1 );
123 fgSizer1->AddGrowableCol( 4 );
124 fgSizer1->SetFlexibleDirection( wxBOTH );
125 fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
127 m_LayerLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
128 m_LayerLabel->Wrap( -1 );
129 fgSizer1->Add( m_LayerLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
131 m_LayerCtrl =
new PCB_LAYER_BOX_SELECTOR( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
132 fgSizer1->Add( m_LayerCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
135 fgSizer1->Add( 0, 0, 0, wxEXPAND, 5 );
138 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
140 m_visible =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Visible"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
141 m_visible->SetValue(
true);
142 fgSizer1->Add( m_visible, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 120 );
144 m_lineWidthLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Line thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
145 m_lineWidthLabel->Wrap( -1 );
146 fgSizer1->Add( m_lineWidthLabel, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
148 m_LineWidthCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
149 fgSizer1->Add( m_LineWidthCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
151 m_lineWidthUnits =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
152 m_lineWidthUnits->Wrap( -1 );
153 fgSizer1->Add( m_lineWidthUnits, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
156 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
159 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
162 fgSizer1->Add( 0, 0, 1, wxEXPAND|wxTOP, 5 );
165 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
168 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
171 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
174 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
176 m_fontLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Font:"), wxDefaultPosition, wxDefaultSize, 0 );
177 m_fontLabel->Wrap( -1 );
178 fgSizer1->Add( m_fontLabel, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
180 wxString m_fontCtrlChoices[] = {
_(
"KiCad Font") };
181 int m_fontCtrlNChoices =
sizeof( m_fontCtrlChoices ) /
sizeof( wxString );
182 m_fontCtrl =
new FONT_CHOICE( m_specifiedValues, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_fontCtrlNChoices, m_fontCtrlChoices, 0 );
183 m_fontCtrl->SetSelection( 0 );
184 fgSizer1->Add( m_fontCtrl, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
187 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
190 fgSizer1->Add( 0, 0, 1, wxEXPAND, 5 );
192 m_bold =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Bold"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
193 fgSizer1->Add( m_bold, 0, wxEXPAND|wxLEFT|wxALIGN_CENTER_VERTICAL, 120 );
195 m_SizeXlabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text width:"), wxDefaultPosition, wxDefaultSize, 0 );
196 m_SizeXlabel->Wrap( -1 );
197 fgSizer1->Add( m_SizeXlabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
199 m_SizeXCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
200 m_SizeXCtrl->SetMinSize( wxSize( 120,-1 ) );
202 fgSizer1->Add( m_SizeXCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
204 m_SizeXunit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
205 m_SizeXunit->Wrap( -1 );
206 fgSizer1->Add( m_SizeXunit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
209 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 20 );
211 m_italic =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Italic"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
212 fgSizer1->Add( m_italic, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 120 );
214 m_SizeYlabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text height:"), wxDefaultPosition, wxDefaultSize, 0 );
215 m_SizeYlabel->Wrap( -1 );
216 fgSizer1->Add( m_SizeYlabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
218 m_SizeYCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
219 fgSizer1->Add( m_SizeYCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
221 m_SizeYunit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
222 m_SizeYunit->Wrap( -1 );
223 fgSizer1->Add( m_SizeYunit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
226 fgSizer1->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 20 );
228 m_keepUpright =
new wxCheckBox( m_specifiedValues, wxID_ANY,
_(
"Keep upright"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE|wxCHK_ALLOW_3RD_STATE_FOR_USER );
229 m_keepUpright->SetValue(
true);
230 fgSizer1->Add( m_keepUpright, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 120 );
232 m_ThicknessLabel =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"Text thickness:"), wxDefaultPosition, wxDefaultSize, 0 );
233 m_ThicknessLabel->Wrap( -1 );
234 fgSizer1->Add( m_ThicknessLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
236 m_ThicknessCtrl =
new wxTextCtrl( m_specifiedValues, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
237 fgSizer1->Add( m_ThicknessCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
239 m_ThicknessUnit =
new wxStaticText( m_specifiedValues, wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
240 m_ThicknessUnit->Wrap( -1 );
241 fgSizer1->Add( m_ThicknessUnit, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 );
244 bSizer2->Add( fgSizer1, 1, wxEXPAND|wxTOP, 2 );
247 m_specifiedValues->SetSizer( bSizer2 );
248 m_specifiedValues->Layout();
249 bSizer2->Fit( m_specifiedValues );
250 sbAction->Add( m_specifiedValues, 0, wxEXPAND|wxBOTTOM|wxLEFT, 12 );
252 m_setToLayerDefaults =
new wxRadioButton( sbAction->GetStaticBox(),
ID_ALL_TRACKS_VIAS,
_(
"Set to layer default values:"), wxDefaultPosition, wxDefaultSize, 0 );
253 sbAction->Add( m_setToLayerDefaults, 0, wxTOP|wxBOTTOM|wxEXPAND, 5 );
255 m_grid =
new wxGrid( sbAction->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_SIMPLE );
258 m_grid->CreateGrid( 7, 7 );
259 m_grid->EnableEditing(
false );
260 m_grid->EnableGridLines(
true );
261 m_grid->EnableDragGridSize(
false );
262 m_grid->SetMargins( 0, 0 );
265 m_grid->SetColSize( 0, 132 );
266 m_grid->SetColSize( 1, 116 );
267 m_grid->SetColSize( 2, 116 );
268 m_grid->SetColSize( 3, 116 );
269 m_grid->SetColSize( 4, 116 );
270 m_grid->SetColSize( 5, 96 );
271 m_grid->SetColSize( 6, 96 );
272 m_grid->EnableDragColMove(
false );
273 m_grid->EnableDragColSize(
false );
274 m_grid->SetColLabelSize( 0 );
275 m_grid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
278 m_grid->EnableDragRowSize(
false );
279 m_grid->SetRowLabelSize( 0 );
280 m_grid->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
285 m_grid->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
286 m_grid->SetDefaultCellFont( wxFont( 11, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
false, wxEmptyString ) );
287 m_grid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER );
288 sbAction->Add( m_grid, 0, wxEXPAND|wxLEFT, 15 );
291 sbAction->Add( 0, 0, 0, wxEXPAND|wxBOTTOM, 5 );
294 bMainSizer->Add( sbAction, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
296 m_sdbSizerButtons =
new wxStdDialogButtonSizer();
297 m_sdbSizerButtonsOK =
new wxButton(
this, wxID_OK );
298 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsOK );
299 m_sdbSizerButtonsApply =
new wxButton(
this, wxID_APPLY );
300 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsApply );
301 m_sdbSizerButtonsCancel =
new wxButton(
this, wxID_CANCEL );
302 m_sdbSizerButtons->AddButton( m_sdbSizerButtonsCancel );
303 m_sdbSizerButtons->Realize();
305 bMainSizer->Add( m_sdbSizerButtons, 0, wxALL|wxEXPAND, 5 );
308 this->SetSizer( bMainSizer );
310 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.
#define ID_ALL_TRACKS_VIAS
#define ID_SPECIFIED_NET_TO_NETCLASS_VALUES