KiCad PCB EDA Suite
dialog_plot_base.cpp
Go to the documentation of this file.
1 // C++ code generated with wxFormBuilder (version May 6 2016)
3 // http://www.wxformbuilder.org/
4 //
5 // PLEASE DO "NOT" EDIT THIS FILE!
7 
8 #include "wx_html_report_panel.h"
9 
10 #include "dialog_plot_base.h"
11 
13 
14 DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
15 {
16  this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
17 
18  m_MainSizer = new wxBoxSizer( wxVERTICAL );
19 
20  wxBoxSizer* bupperSizer;
21  bupperSizer = new wxBoxSizer( wxHORIZONTAL );
22 
23  wxBoxSizer* bSizerPlotFmt;
24  bSizerPlotFmt = new wxBoxSizer( wxVERTICAL );
25 
26  m_staticTextPlotFmt = new wxStaticText( this, wxID_ANY, _("Plot format:"), wxDefaultPosition, wxDefaultSize, 0 );
27  m_staticTextPlotFmt->Wrap( -1 );
28  bSizerPlotFmt->Add( m_staticTextPlotFmt, 0, wxTOP, 5 );
29 
30  wxString m_plotFormatOptChoices[] = { _("Gerber"), _("Postscript"), _("SVG"), _("DXF"), _("HPGL"), _("PDF") };
31  int m_plotFormatOptNChoices = sizeof( m_plotFormatOptChoices ) / sizeof( wxString );
32  m_plotFormatOpt = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_plotFormatOptNChoices, m_plotFormatOptChoices, 0 );
33  m_plotFormatOpt->SetSelection( 0 );
34  bSizerPlotFmt->Add( m_plotFormatOpt, 0, 0, 5 );
35 
36 
37  bupperSizer->Add( bSizerPlotFmt, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
38 
39  wxBoxSizer* bSizerOutDir;
40  bSizerOutDir = new wxBoxSizer( wxVERTICAL );
41 
42  m_staticTextDir = new wxStaticText( this, wxID_ANY, _("Output directory:"), wxDefaultPosition, wxDefaultSize, 0 );
43  m_staticTextDir->Wrap( -1 );
44  bSizerOutDir->Add( m_staticTextDir, 0, wxEXPAND|wxTOP|wxLEFT, 5 );
45 
46  wxBoxSizer* bSizer29;
47  bSizer29 = new wxBoxSizer( wxHORIZONTAL );
48 
49  m_outputDirectoryName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
50  m_outputDirectoryName->SetToolTip( _("Target directory for plot files. Can be absolute or relative to the board file location.") );
51 
52  bSizer29->Add( m_outputDirectoryName, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
53 
54  m_browseButton = new wxButton( this, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
55  bSizer29->Add( m_browseButton, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 );
56 
57 
58  bSizerOutDir->Add( bSizer29, 1, wxEXPAND, 5 );
59 
60 
61  bupperSizer->Add( bSizerOutDir, 1, 0, 5 );
62 
63 
64  m_MainSizer->Add( bupperSizer, 0, wxEXPAND, 5 );
65 
66  wxBoxSizer* bmiddleSizer;
67  bmiddleSizer = new wxBoxSizer( wxHORIZONTAL );
68 
69  m_LayersSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Included layers:") ), wxHORIZONTAL );
70 
71  wxArrayString m_layerCheckListBoxChoices;
72  m_layerCheckListBox = new wxCheckListBox( m_LayersSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_layerCheckListBoxChoices, 0 );
73  m_LayersSizer->Add( m_layerCheckListBox, 1, wxEXPAND, 5 );
74 
75 
76  bmiddleSizer->Add( m_LayersSizer, 1, wxALL|wxEXPAND, 3 );
77 
78  m_PlotOptionsSizer = new wxBoxSizer( wxVERTICAL );
79 
80  wxStaticBoxSizer* sbOptionsSizer;
81  sbOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("General Options") ), wxVERTICAL );
82 
83  wxBoxSizer* bSizer192;
84  bSizer192 = new wxBoxSizer( wxHORIZONTAL );
85 
86  wxBoxSizer* bSizerPlotItems;
87  bSizerPlotItems = new wxBoxSizer( wxVERTICAL );
88 
89  m_plotSheetRef = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot sheet reference on all layers"), wxDefaultPosition, wxDefaultSize, 0 );
90  bSizerPlotItems->Add( m_plotSheetRef, 0, wxTOP|wxRIGHT|wxLEFT, 2 );
91 
92  m_plotPads_on_Silkscreen = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_ALLOW_PRINT_PAD_ON_SILKSCREEN, _("Plot pads on silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
93  m_plotPads_on_Silkscreen->SetToolTip( _("Enable plotting of pads on silkscreen layers\nWhen disabled, pads are never plotted on silkscreen layers\nWhen enabled, pads are plotted only if they appear on silkscreen layers") );
94 
95  bSizerPlotItems->Add( m_plotPads_on_Silkscreen, 0, wxALL, 2 );
96 
97  m_plotModuleValueOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot footprint values"), wxDefaultPosition, wxDefaultSize, 0 );
98  m_plotModuleValueOpt->SetValue(true);
99  bSizerPlotItems->Add( m_plotModuleValueOpt, 0, wxTOP|wxRIGHT|wxLEFT, 2 );
100 
101  m_plotModuleRefOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_PRINT_REF, _("Plot footprint references"), wxDefaultPosition, wxDefaultSize, 0 );
102  m_plotModuleRefOpt->SetValue(true);
103  bSizerPlotItems->Add( m_plotModuleRefOpt, 0, wxTOP|wxRIGHT|wxLEFT, 2 );
104 
105  m_plotInvisibleText = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Force plotting of invisible values/references"), wxDefaultPosition, wxDefaultSize, 0 );
106  m_plotInvisibleText->SetToolTip( _("Force plot invisible values and/or references") );
107 
108  bSizerPlotItems->Add( m_plotInvisibleText, 0, wxALL, 2 );
109 
110  m_plotNoViaOnMaskOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Do not tent vias"), wxDefaultPosition, wxDefaultSize, 0 );
111  m_plotNoViaOnMaskOpt->SetToolTip( _("Remove soldermask on vias") );
112 
113  bSizerPlotItems->Add( m_plotNoViaOnMaskOpt, 0, wxTOP|wxRIGHT|wxLEFT, 2 );
114 
115  m_excludeEdgeLayerOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Exclude PCB edge layer from other layers"), wxDefaultPosition, wxDefaultSize, 0 );
116  m_excludeEdgeLayerOpt->SetToolTip( _("Exclude contents of the pcb edge layer from all other layers") );
117 
118  bSizerPlotItems->Add( m_excludeEdgeLayerOpt, 0, wxALL, 2 );
119 
120  m_plotMirrorOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_MIROR_OPT, _("Mirrored plot"), wxDefaultPosition, wxDefaultSize, 0 );
121  bSizerPlotItems->Add( m_plotMirrorOpt, 0, wxALL, 2 );
122 
123  m_plotPSNegativeOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Negative plot"), wxDefaultPosition, wxDefaultSize, 0 );
124  bSizerPlotItems->Add( m_plotPSNegativeOpt, 0, wxALL, 2 );
125 
126  m_useAuxOriginCheckBox = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Use auxiliary axis as origin"), wxDefaultPosition, wxDefaultSize, 0 );
127  m_useAuxOriginCheckBox->SetToolTip( _("Use auxiliary axis as coordinates origin in plot files") );
128 
129  bSizerPlotItems->Add( m_useAuxOriginCheckBox, 0, wxALL, 2 );
130 
131 
132  bSizer192->Add( bSizerPlotItems, 0, wxEXPAND, 5 );
133 
134  wxBoxSizer* bSizer14;
135  bSizer14 = new wxBoxSizer( wxVERTICAL );
136 
137  m_staticText11 = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Drill marks:"), wxDefaultPosition, wxDefaultSize, 0 );
138  m_staticText11->Wrap( -1 );
139  bSizer14->Add( m_staticText11, 0, wxRIGHT|wxLEFT, 5 );
140 
141  wxString m_drillShapeOptChoices[] = { _("None"), _("Small"), _("Actual size") };
142  int m_drillShapeOptNChoices = sizeof( m_drillShapeOptChoices ) / sizeof( wxString );
143  m_drillShapeOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_drillShapeOptNChoices, m_drillShapeOptChoices, 0 );
144  m_drillShapeOpt->SetSelection( 0 );
145  bSizer14->Add( m_drillShapeOpt, 0, wxEXPAND|wxLEFT, 5 );
146 
147  m_staticText12 = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Scaling:"), wxDefaultPosition, wxDefaultSize, 0 );
148  m_staticText12->Wrap( -1 );
149  bSizer14->Add( m_staticText12, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
150 
151  wxString m_scaleOptChoices[] = { _("Auto"), _("1:1"), _("3:2"), _("2:1"), _("3:1") };
152  int m_scaleOptNChoices = sizeof( m_scaleOptChoices ) / sizeof( wxString );
153  m_scaleOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_scaleOptNChoices, m_scaleOptChoices, 0 );
154  m_scaleOpt->SetSelection( 1 );
155  bSizer14->Add( m_scaleOpt, 0, wxEXPAND|wxLEFT, 5 );
156 
157  m_staticText13 = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot mode:"), wxDefaultPosition, wxDefaultSize, 0 );
158  m_staticText13->Wrap( -1 );
159  bSizer14->Add( m_staticText13, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
160 
161  wxString m_plotModeOptChoices[] = { _("Filled"), _("Sketch") };
162  int m_plotModeOptNChoices = sizeof( m_plotModeOptChoices ) / sizeof( wxString );
163  m_plotModeOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_plotModeOptNChoices, m_plotModeOptChoices, 0 );
164  m_plotModeOpt->SetSelection( 0 );
165  bSizer14->Add( m_plotModeOpt, 0, wxEXPAND|wxLEFT, 5 );
166 
167  m_textDefaultPenSize = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Line width"), wxDefaultPosition, wxDefaultSize, 0 );
168  m_textDefaultPenSize->Wrap( -1 );
169  m_textDefaultPenSize->SetToolTip( _("Pen size used to draw items that have no pen size specified.\nUsed mainly to draw items in sketch mode.") );
170 
171  bSizer14->Add( m_textDefaultPenSize, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
172 
173  m_linesWidth = new wxTextCtrl( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
174  m_linesWidth->SetToolTip( _("Line width for, e.g., sheet references.") );
175 
176  bSizer14->Add( m_linesWidth, 0, wxBOTTOM|wxEXPAND|wxLEFT, 5 );
177 
178 
179  bSizer192->Add( bSizer14, 1, wxRIGHT|wxLEFT, 3 );
180 
181 
182  sbOptionsSizer->Add( bSizer192, 0, wxEXPAND, 5 );
183 
184 
185  m_PlotOptionsSizer->Add( sbOptionsSizer, 0, wxALL|wxEXPAND, 3 );
186 
187  wxStaticBoxSizer* sbSizerSoldMaskLayerOpt;
188  sbSizerSoldMaskLayerOpt = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Solder Mask Options") ), wxVERTICAL );
189 
190  wxFlexGridSizer* fgSizerSoldMaskOpts;
191  fgSizerSoldMaskOpts = new wxFlexGridSizer( 2, 2, 0, 0 );
192  fgSizerSoldMaskOpts->SetFlexibleDirection( wxBOTH );
193  fgSizerSoldMaskOpts->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
194 
195  m_SolderMaskMarginLabel = new wxStaticText( sbSizerSoldMaskLayerOpt->GetStaticBox(), wxID_ANY, _("Clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
196  m_SolderMaskMarginLabel->Wrap( -1 );
197  m_SolderMaskMarginLabel->SetToolTip( _("Margin between pads and solder mask") );
198 
199  fgSizerSoldMaskOpts->Add( m_SolderMaskMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
200 
201  m_SolderMaskMarginCurrValue = new wxStaticText( sbSizerSoldMaskLayerOpt->GetStaticBox(), wxID_ANY, _("val"), wxDefaultPosition, wxDefaultSize, 0 );
202  m_SolderMaskMarginCurrValue->Wrap( -1 );
203  fgSizerSoldMaskOpts->Add( m_SolderMaskMarginCurrValue, 0, wxALL, 5 );
204 
205  m_solderMaskMinWidthLabel = new wxStaticText( sbSizerSoldMaskLayerOpt->GetStaticBox(), wxID_ANY, _("Width:"), wxDefaultPosition, wxDefaultSize, 0 );
206  m_solderMaskMinWidthLabel->Wrap( -1 );
207  m_solderMaskMinWidthLabel->SetToolTip( _("Minimum distance between 2 pad areas.\nTwo pad areas nearer than this value will be merged during plotting") );
208 
209  fgSizerSoldMaskOpts->Add( m_solderMaskMinWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
210 
211  m_SolderMaskMinWidthCurrValue = new wxStaticText( sbSizerSoldMaskLayerOpt->GetStaticBox(), wxID_ANY, _("val"), wxDefaultPosition, wxDefaultSize, 0 );
212  m_SolderMaskMinWidthCurrValue->Wrap( -1 );
213  fgSizerSoldMaskOpts->Add( m_SolderMaskMinWidthCurrValue, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
214 
215 
216  sbSizerSoldMaskLayerOpt->Add( fgSizerSoldMaskOpts, 1, wxEXPAND, 5 );
217 
218 
219  m_PlotOptionsSizer->Add( sbSizerSoldMaskLayerOpt, 1, wxEXPAND, 5 );
220 
221  m_GerberOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Gerber Options") ), wxHORIZONTAL );
222 
223  wxBoxSizer* bSizerGbrOpt;
224  bSizerGbrOpt = new wxBoxSizer( wxVERTICAL );
225 
226  m_useGerberExtensions = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Use Protel filename extensions"), wxDefaultPosition, wxDefaultSize, 0 );
227  m_useGerberExtensions->SetToolTip( _("Use Protel Gerber extensions (.GBL, .GTL, etc...)\nNo longer recommended. The official extension is .gbr") );
228 
229  bSizerGbrOpt->Add( m_useGerberExtensions, 0, wxALL, 2 );
230 
231  m_useGerberX2Attributes = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Include extended (X2) attributes"), wxDefaultPosition, wxDefaultSize, 0 );
232  m_useGerberX2Attributes->SetToolTip( _("Include extended attributes (X2 Gerber files format) in the Gerber file.\nMainly File Format attributes.") );
233 
234  bSizerGbrOpt->Add( m_useGerberX2Attributes, 0, wxALL, 2 );
235 
236  m_useGerberNetAttributes = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Include advanced X2 features"), wxDefaultPosition, wxDefaultSize, 0 );
237  m_useGerberNetAttributes->SetToolTip( _("Only available in X2 Gerber files format.\nInclude netlist metadata and aperture attributes.") );
238 
239  bSizerGbrOpt->Add( m_useGerberNetAttributes, 0, wxALL, 2 );
240 
241  m_generateGerberJobFile = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Generate Gerber job file"), wxDefaultPosition, wxDefaultSize, 0 );
242  m_generateGerberJobFile->SetToolTip( _("Generate a Gerber job file that contains info about the board,\nand the list of generated Gerber plot files") );
243 
244  bSizerGbrOpt->Add( m_generateGerberJobFile, 0, wxALL, 2 );
245 
246  m_subtractMaskFromSilk = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Subtract soldermask from silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
247  m_subtractMaskFromSilk->SetToolTip( _("Remove silkscreen from areas without soldermask") );
248 
249  bSizerGbrOpt->Add( m_subtractMaskFromSilk, 0, wxALL, 2 );
250 
251 
252  m_GerberOptionsSizer->Add( bSizerGbrOpt, 0, wxALIGN_CENTER_VERTICAL, 5 );
253 
254  wxString m_rbGerberFormatChoices[] = { _("4.5, unit mm"), _("4.6, unit mm") };
255  int m_rbGerberFormatNChoices = sizeof( m_rbGerberFormatChoices ) / sizeof( wxString );
256  m_rbGerberFormat = new wxRadioBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Coordinate Format"), wxDefaultPosition, wxDefaultSize, m_rbGerberFormatNChoices, m_rbGerberFormatChoices, 1, wxRA_SPECIFY_COLS );
257  m_rbGerberFormat->SetSelection( 0 );
258  m_rbGerberFormat->SetToolTip( _("Resolution of coordinates in Gerber files.\nUse the higher value if possible.") );
259 
260  m_GerberOptionsSizer->Add( m_rbGerberFormat, 1, wxEXPAND|wxALL, 5 );
261 
262 
263  m_PlotOptionsSizer->Add( m_GerberOptionsSizer, 0, wxALL|wxEXPAND, 3 );
264 
265  m_HPGLOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("HPGL Options") ), wxVERTICAL );
266 
267  wxBoxSizer* bSizerHPGL_options;
268  bSizerHPGL_options = new wxBoxSizer( wxVERTICAL );
269 
270  m_textPenSize = new wxStaticText( m_HPGLOptionsSizer->GetStaticBox(), wxID_ANY, _("Pen size"), wxDefaultPosition, wxDefaultSize, 0 );
271  m_textPenSize->Wrap( -1 );
272  bSizerHPGL_options->Add( m_textPenSize, 0, wxRIGHT|wxLEFT, 5 );
273 
274  m_HPGLPenSizeOpt = new wxTextCtrl( m_HPGLOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
275  bSizerHPGL_options->Add( m_HPGLPenSizeOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
276 
277 
278  m_HPGLOptionsSizer->Add( bSizerHPGL_options, 1, wxEXPAND, 5 );
279 
280 
281  m_PlotOptionsSizer->Add( m_HPGLOptionsSizer, 0, wxALL|wxEXPAND, 3 );
282 
283  m_PSOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Postscript Options") ), wxVERTICAL );
284 
285  wxBoxSizer* bSizer17;
286  bSizer17 = new wxBoxSizer( wxHORIZONTAL );
287 
288  wxBoxSizer* bSizer18;
289  bSizer18 = new wxBoxSizer( wxVERTICAL );
290 
291  m_staticText7 = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("X scale:"), wxDefaultPosition, wxDefaultSize, 0 );
292  m_staticText7->Wrap( -1 );
293  bSizer18->Add( m_staticText7, 0, wxRIGHT|wxLEFT, 5 );
294 
295  m_fineAdjustXscaleOpt = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
296  m_fineAdjustXscaleOpt->SetToolTip( _("Set global X scale adjust for exact scale postscript output.") );
297 
298  bSizer18->Add( m_fineAdjustXscaleOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
299 
300 
301  bSizer17->Add( bSizer18, 1, wxEXPAND, 5 );
302 
303  wxBoxSizer* bSizer19;
304  bSizer19 = new wxBoxSizer( wxVERTICAL );
305 
306  m_staticText8 = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Y scale:"), wxDefaultPosition, wxDefaultSize, 0 );
307  m_staticText8->Wrap( -1 );
308  bSizer19->Add( m_staticText8, 0, wxRIGHT|wxLEFT, 5 );
309 
310  m_fineAdjustYscaleOpt = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
311  m_fineAdjustYscaleOpt->SetToolTip( _("Set global Y scale adjust for exact scale postscript output.") );
312 
313  bSizer19->Add( m_fineAdjustYscaleOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
314 
315 
316  bSizer17->Add( bSizer19, 1, wxEXPAND, 5 );
317 
318  wxBoxSizer* bSizer191;
319  bSizer191 = new wxBoxSizer( wxVERTICAL );
320 
321  m_textPSFineAdjustWidth = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Width correction:"), wxDefaultPosition, wxDefaultSize, 0 );
322  m_textPSFineAdjustWidth->Wrap( -1 );
323  bSizer191->Add( m_textPSFineAdjustWidth, 0, wxRIGHT|wxLEFT, 5 );
324 
325  m_PSFineAdjustWidthOpt = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
326  m_PSFineAdjustWidthOpt->SetToolTip( _("Set global width correction for exact width postscript output.\nThese width correction is intended to compensate tracks width and also pads and vias size errors.\nThe reasonable width correction value must be in a range of [-(MinTrackWidth-1), +(MinClearanceValue-1)] in decimils.") );
327 
328  bSizer191->Add( m_PSFineAdjustWidthOpt, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
329 
330 
331  bSizer17->Add( bSizer191, 1, wxEXPAND, 5 );
332 
333 
334  m_PSOptionsSizer->Add( bSizer17, 1, wxEXPAND, 5 );
335 
336  m_forcePSA4OutputOpt = new wxCheckBox( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Force A4 output"), wxDefaultPosition, wxDefaultSize, 0 );
337  m_PSOptionsSizer->Add( m_forcePSA4OutputOpt, 0, wxALL, 2 );
338 
339 
340  m_PlotOptionsSizer->Add( m_PSOptionsSizer, 0, wxALL|wxEXPAND, 3 );
341 
342  m_SizerDXF_options = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("DXF options") ), wxVERTICAL );
343 
344  m_DXF_plotModeOpt = new wxCheckBox( m_SizerDXF_options->GetStaticBox(), wxID_ANY, _("Plot all layers in outline (polygon) mode"), wxDefaultPosition, wxDefaultSize, 0 );
345  m_DXF_plotModeOpt->SetValue(true);
346  m_DXF_plotModeOpt->SetToolTip( _("DXF only:\nCheck to plot all layers in polygon mode.\nUncheck to plot in sketch mode layers that don't support polygons (*.SilkS, *_User, Edge.Cuts, Margin, *.CrtYd, *.Fab)\nand plot in polygon mode other layers (*.Cu, *.Adhes, *.Paste, *.Mask)") );
347 
348  m_SizerDXF_options->Add( m_DXF_plotModeOpt, 0, wxALL, 2 );
349 
350  m_DXF_plotTextStrokeFontOpt = new wxCheckBox( m_SizerDXF_options->GetStaticBox(), wxID_ANY, _("Use Pcbnew font to plot texts"), wxDefaultPosition, wxDefaultSize, 0 );
351  m_DXF_plotTextStrokeFontOpt->SetToolTip( _("Check to use Pcbnew stroke font\nUncheck to plot oneline ASCII texts as editable text (using DXF font)") );
352 
353  m_SizerDXF_options->Add( m_DXF_plotTextStrokeFontOpt, 0, wxALL, 2 );
354 
355 
356  m_PlotOptionsSizer->Add( m_SizerDXF_options, 0, wxEXPAND, 5 );
357 
358 
359  bmiddleSizer->Add( m_PlotOptionsSizer, 0, 0, 5 );
360 
361 
362  m_MainSizer->Add( bmiddleSizer, 0, wxEXPAND, 5 );
363 
364  wxBoxSizer* sbSizerMsg;
365  sbSizerMsg = new wxBoxSizer( wxVERTICAL );
366 
367  m_messagesPanel = new WX_HTML_REPORT_PANEL( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
368  m_messagesPanel->SetMinSize( wxSize( -300,150 ) );
369 
370  sbSizerMsg->Add( m_messagesPanel, 1, wxEXPAND | wxALL, 5 );
371 
372 
373  m_MainSizer->Add( sbSizerMsg, 1, wxEXPAND, 5 );
374 
375  wxBoxSizer* bSizerButtons;
376  bSizerButtons = new wxBoxSizer( wxHORIZONTAL );
377 
378  m_plotButton = new wxButton( this, wxID_ANY, _("Plot"), wxDefaultPosition, wxDefaultSize, 0 );
379  m_plotButton->SetDefault();
380  bSizerButtons->Add( m_plotButton, 0, wxALL, 5 );
381 
382  m_buttonDrill = new wxButton( this, ID_CREATE_DRILL_FILE, _("Generate Drill File"), wxDefaultPosition, wxDefaultSize, 0 );
383  bSizerButtons->Add( m_buttonDrill, 0, wxALL, 5 );
384 
385 
386  bSizerButtons->Add( 10, 0, 1, wxEXPAND, 5 );
387 
388  m_buttonDRC = new wxButton( this, wxID_ANY, _("Run DRC"), wxDefaultPosition, wxDefaultSize, 0 );
389  bSizerButtons->Add( m_buttonDRC, 0, wxALL, 5 );
390 
391  m_buttonQuit = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
392  bSizerButtons->Add( m_buttonQuit, 0, wxALL, 5 );
393 
394 
395  m_MainSizer->Add( bSizerButtons, 0, wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
396 
397 
398  this->SetSizer( m_MainSizer );
399  this->Layout();
400  m_popMenu = new wxMenu();
401  wxMenuItem* m_menuItem1;
402  m_menuItem1 = new wxMenuItem( m_popMenu, ID_LAYER_FAB, wxString( _("Select Fab Layers") ) , wxEmptyString, wxITEM_NORMAL );
403  m_popMenu->Append( m_menuItem1 );
404 
405  wxMenuItem* m_menuItem2;
406  m_menuItem2 = new wxMenuItem( m_popMenu, ID_SELECT_COPPER_LAYERS, wxString( _("Select all Copper Layers") ) , wxEmptyString, wxITEM_NORMAL );
407  m_popMenu->Append( m_menuItem2 );
408 
409  wxMenuItem* m_menuItem3;
410  m_menuItem3 = new wxMenuItem( m_popMenu, ID_DESELECT_COPPER_LAYERS, wxString( _("Deselect all Copper Layers") ) , wxEmptyString, wxITEM_NORMAL );
411  m_popMenu->Append( m_menuItem3 );
412 
413  wxMenuItem* m_menuItem4;
414  m_menuItem4 = new wxMenuItem( m_popMenu, ID_SELECT_ALL_LAYERS, wxString( _("Select all Layers") ) , wxEmptyString, wxITEM_NORMAL );
415  m_popMenu->Append( m_menuItem4 );
416 
417  wxMenuItem* m_menuItem5;
418  m_menuItem5 = new wxMenuItem( m_popMenu, ID_DESELECT_ALL_LAYERS, wxString( _("Deselect all Layers") ) , wxEmptyString, wxITEM_NORMAL );
419  m_popMenu->Append( m_menuItem5 );
420 
421  this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::DIALOG_PLOT_BASEOnContextMenu ), NULL, this );
422 
423 
424  this->Centre( wxBOTH );
425 
426  // Connect Events
427  this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_PLOT_BASE::OnClose ) );
428  this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PLOT_BASE::OnInitDialog ) );
429  this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ) );
430  m_plotFormatOpt->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::SetPlotFormat ), NULL, this );
431  m_browseButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnOutputDirectoryBrowseClicked ), NULL, this );
432  m_layerCheckListBox->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ), NULL, this );
433  m_scaleOpt->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnSetScaleOpt ), NULL, this );
434  m_useGerberX2Attributes->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnGerberX2Checked ), NULL, this );
435  m_DXF_plotModeOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnChangeDXFPlotMode ), NULL, this );
436  m_plotButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::Plot ), NULL, this );
437  m_buttonDrill->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::CreateDrillFile ), NULL, this );
438  m_buttonDRC->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::onRunDRC ), NULL, this );
439  m_buttonQuit->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnQuit ), NULL, this );
440  this->Connect( m_menuItem1->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
441  this->Connect( m_menuItem2->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
442  this->Connect( m_menuItem3->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
443  this->Connect( m_menuItem4->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
444  this->Connect( m_menuItem5->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
445 }
446 
448 {
449  // Disconnect Events
450  this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_PLOT_BASE::OnClose ) );
451  this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PLOT_BASE::OnInitDialog ) );
452  this->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ) );
453  m_plotFormatOpt->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::SetPlotFormat ), NULL, this );
454  m_browseButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnOutputDirectoryBrowseClicked ), NULL, this );
455  m_layerCheckListBox->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ), NULL, this );
456  m_scaleOpt->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnSetScaleOpt ), NULL, this );
457  m_useGerberX2Attributes->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnGerberX2Checked ), NULL, this );
458  m_DXF_plotModeOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnChangeDXFPlotMode ), NULL, this );
459  m_plotButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::Plot ), NULL, this );
460  m_buttonDrill->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::CreateDrillFile ), NULL, this );
461  m_buttonDRC->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::onRunDRC ), NULL, this );
462  m_buttonQuit->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnQuit ), NULL, this );
463  this->Disconnect( ID_LAYER_FAB, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
464  this->Disconnect( ID_SELECT_COPPER_LAYERS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
465  this->Disconnect( ID_DESELECT_COPPER_LAYERS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
466  this->Disconnect( ID_SELECT_ALL_LAYERS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
467  this->Disconnect( ID_DESELECT_ALL_LAYERS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
468 
469  delete m_popMenu;
470 }
virtual void OnPopUpLayers(wxCommandEvent &event)
WX_HTML_REPORT_PANEL * m_messagesPanel
wxStaticBoxSizer * m_HPGLOptionsSizer
wxStaticText * m_textPSFineAdjustWidth
virtual void OnQuit(wxCommandEvent &event)
wxTextCtrl * m_linesWidth
virtual void SetPlotFormat(wxCommandEvent &event)
wxTextCtrl * m_fineAdjustYscaleOpt
wxCheckBox * m_useGerberExtensions
virtual void OnSetScaleOpt(wxCommandEvent &event)
virtual void CreateDrillFile(wxCommandEvent &event)
wxCheckBox * m_plotPads_on_Silkscreen
wxButton * m_plotButton
wxStaticText * m_SolderMaskMarginCurrValue
wxStaticText * m_textPenSize
wxCheckBox * m_plotPSNegativeOpt
wxRadioBox * m_rbGerberFormat
wxCheckBox * m_excludeEdgeLayerOpt
wxCheckBox * m_plotMirrorOpt
virtual void OnOutputDirectoryBrowseClicked(wxCommandEvent &event)
Class DIALOG_SHIM may sit in the inheritance tree between wxDialog and any class written by wxFormBui...
Definition: dialog_shim.h:60
void DIALOG_PLOT_BASEOnContextMenu(wxMouseEvent &event)
wxChoice * m_plotFormatOpt
virtual void OnChangeDXFPlotMode(wxCommandEvent &event)
wxStaticBoxSizer * m_SizerDXF_options
wxCheckBox * m_useGerberX2Attributes
wxCheckBox * m_DXF_plotModeOpt
wxButton * m_browseButton
wxCheckBox * m_plotSheetRef
wxTextCtrl * m_PSFineAdjustWidthOpt
wxStaticText * m_staticText13
DIALOG_PLOT_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Plot"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(733, 809), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxStaticText * m_SolderMaskMinWidthCurrValue
virtual void OnClose(wxCloseEvent &event)
wxStaticText * m_staticText7
virtual void Plot(wxCommandEvent &event)
wxButton * m_buttonDrill
wxCheckBox * m_forcePSA4OutputOpt
wxStaticBoxSizer * m_GerberOptionsSizer
wxCheckBox * m_useGerberNetAttributes
wxCheckBox * m_generateGerberJobFile
wxTextCtrl * m_outputDirectoryName
wxStaticText * m_staticText11
virtual void OnRightClick(wxMouseEvent &event)
wxCheckBox * m_DXF_plotTextStrokeFontOpt
wxStaticText * m_staticTextPlotFmt
wxChoice * m_scaleOpt
wxCheckBox * m_plotModuleRefOpt
wxCheckBox * m_subtractMaskFromSilk
virtual void OnInitDialog(wxInitDialogEvent &event)
wxStaticText * m_staticText8
wxCheckBox * m_plotNoViaOnMaskOpt
wxCheckBox * m_plotModuleValueOpt
wxChoice * m_drillShapeOpt
wxTextCtrl * m_fineAdjustXscaleOpt
wxStaticBoxSizer * m_LayersSizer
wxStaticText * m_staticTextDir
wxStaticText * m_staticText12
wxTextCtrl * m_HPGLPenSizeOpt
wxCheckBox * m_plotInvisibleText
wxCheckBox * m_useAuxOriginCheckBox
virtual void OnGerberX2Checked(wxCommandEvent &event)
wxChoice * m_plotModeOpt
virtual void onRunDRC(wxCommandEvent &event)
wxButton * m_buttonDRC
wxBoxSizer * m_MainSizer
wxStaticText * m_textDefaultPenSize
wxCheckListBox * m_layerCheckListBox
wxStaticBoxSizer * m_PSOptionsSizer
wxButton * m_buttonQuit
wxBoxSizer * m_PlotOptionsSizer
wxStaticText * m_solderMaskMinWidthLabel
wxStaticText * m_SolderMaskMarginLabel
Class WX_HTML_REPORT_PANEL.