KiCad PCB EDA Suite
DIALOG_PLOT_BASE Class Reference

Class DIALOG_PLOT_BASE. More...

#include <dialog_plot_base.h>

Inheritance diagram for DIALOG_PLOT_BASE:
DIALOG_SHIM KIWAY_HOLDER DIALOG_PLOT

Public Member Functions

 DIALOG_PLOT_BASE (wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Plot"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(733, 808), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
 
 ~DIALOG_PLOT_BASE ()
 
void DIALOG_PLOT_BASEOnContextMenu (wxMouseEvent &event)
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal ()
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
KIWAYKiway () const
 Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Function Prj returns a reference to the PROJECT "associated with" this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 Function SetKiway. More...
 

Protected Types

enum  {
  ID_ALLOW_PRINT_PAD_ON_SILKSCREEN = 1000, ID_PRINT_REF, ID_MIROR_OPT, ID_CREATE_DRILL_FILE,
  ID_LAYER_FAB, ID_SELECT_COPPER_LAYERS, ID_DESELECT_COPPER_LAYERS, ID_SELECT_ALL_LAYERS,
  ID_DESELECT_ALL_LAYERS
}
 

Protected Member Functions

virtual void OnClose (wxCloseEvent &event)
 
virtual void OnInitDialog (wxInitDialogEvent &event)
 
virtual void OnRightClick (wxMouseEvent &event)
 
virtual void SetPlotFormat (wxCommandEvent &event)
 
virtual void OnOutputDirectoryBrowseClicked (wxCommandEvent &event)
 
virtual void OnSetScaleOpt (wxCommandEvent &event)
 
virtual void OnGerberX2Checked (wxCommandEvent &event)
 
virtual void Plot (wxCommandEvent &event)
 
virtual void CreateDrillFile (wxCommandEvent &event)
 
virtual void onRunDRC (wxCommandEvent &event)
 
virtual void OnQuit (wxCommandEvent &event)
 
virtual void OnPopUpLayers (wxCommandEvent &event)
 
void FinishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void FixOSXCancelButtonIssue ()
 A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms. More...
 

Protected Attributes

wxBoxSizer * m_MainSizer
 
wxStaticText * m_staticTextPlotFmt
 
wxChoice * m_plotFormatOpt
 
wxStaticText * m_staticTextDir
 
wxTextCtrl * m_outputDirectoryName
 
wxButton * m_browseButton
 
wxStaticBoxSizer * m_LayersSizer
 
wxCheckListBox * m_layerCheckListBox
 
wxBoxSizer * m_PlotOptionsSizer
 
wxCheckBox * m_plotSheetRef
 
wxCheckBox * m_plotPads_on_Silkscreen
 
wxCheckBox * m_plotModuleValueOpt
 
wxCheckBox * m_plotModuleRefOpt
 
wxCheckBox * m_plotInvisibleText
 
wxCheckBox * m_plotNoViaOnMaskOpt
 
wxCheckBox * m_excludeEdgeLayerOpt
 
wxCheckBox * m_plotMirrorOpt
 
wxCheckBox * m_plotPSNegativeOpt
 
wxCheckBox * m_useAuxOriginCheckBox
 
wxCheckBox * m_plotOutlineModeOpt
 
wxStaticText * m_staticText11
 
wxChoice * m_drillShapeOpt
 
wxStaticText * m_staticText12
 
wxChoice * m_scaleOpt
 
wxStaticText * m_staticText13
 
wxChoice * m_plotModeOpt
 
wxStaticText * m_textDefaultPenSize
 
wxTextCtrl * m_linesWidth
 
wxStaticText * m_SolderMaskMarginLabel
 
wxStaticText * m_SolderMaskMarginCurrValue
 
wxStaticText * m_solderMaskMinWidthLabel
 
wxStaticText * m_SolderMaskMinWidthCurrValue
 
wxStaticBoxSizer * m_GerberOptionsSizer
 
wxCheckBox * m_useGerberExtensions
 
wxCheckBox * m_useGerberX2Attributes
 
wxCheckBox * m_useGerberNetAttributes
 
wxCheckBox * m_subtractMaskFromSilk
 
wxRadioBox * m_rbGerberFormat
 
wxStaticBoxSizer * m_HPGLOptionsSizer
 
wxStaticText * m_textPenSize
 
wxTextCtrl * m_HPGLPenSizeOpt
 
wxStaticBoxSizer * m_PSOptionsSizer
 
wxStaticText * m_staticText7
 
wxTextCtrl * m_fineAdjustXscaleOpt
 
wxStaticText * m_staticText8
 
wxTextCtrl * m_fineAdjustYscaleOpt
 
wxStaticText * m_textPSFineAdjustWidth
 
wxTextCtrl * m_PSFineAdjustWidthOpt
 
wxCheckBox * m_forcePSA4OutputOpt
 
WX_HTML_REPORT_PANELm_messagesPanel
 
wxButton * m_plotButton
 
wxButton * m_buttonDrill
 
wxButton * m_buttonDRC
 
wxButton * m_buttonQuit
 
wxMenu * m_popMenu
 
std::string m_hash_key
 
EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 

Detailed Description

Class DIALOG_PLOT_BASE.

Definition at line 44 of file dialog_plot_base.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

DIALOG_PLOT_BASE::DIALOG_PLOT_BASE ( wxWindow *  parent,
wxWindowID  id = wxID_ANY,
const wxString &  title = _("Plot"),
const wxPoint pos = wxDefaultPosition,
const wxSize &  size = wxSize( 733,808 ),
long  style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER 
)

Definition at line 14 of file dialog_plot_base.cpp.

References CreateDrillFile(), DIALOG_PLOT_BASEOnContextMenu(), ID_ALLOW_PRINT_PAD_ON_SILKSCREEN, ID_CREATE_DRILL_FILE, ID_DESELECT_ALL_LAYERS, ID_DESELECT_COPPER_LAYERS, ID_LAYER_FAB, ID_MIROR_OPT, ID_PRINT_REF, ID_SELECT_ALL_LAYERS, ID_SELECT_COPPER_LAYERS, m_browseButton, m_buttonDRC, m_buttonDrill, m_buttonQuit, m_drillShapeOpt, m_excludeEdgeLayerOpt, m_fineAdjustXscaleOpt, m_fineAdjustYscaleOpt, m_forcePSA4OutputOpt, m_GerberOptionsSizer, m_HPGLOptionsSizer, m_HPGLPenSizeOpt, m_layerCheckListBox, m_LayersSizer, m_linesWidth, m_MainSizer, m_messagesPanel, m_outputDirectoryName, m_plotButton, m_plotFormatOpt, m_plotInvisibleText, m_plotMirrorOpt, m_plotModeOpt, m_plotModuleRefOpt, m_plotModuleValueOpt, m_plotNoViaOnMaskOpt, m_PlotOptionsSizer, m_plotOutlineModeOpt, m_plotPads_on_Silkscreen, m_plotPSNegativeOpt, m_plotSheetRef, m_popMenu, m_PSFineAdjustWidthOpt, m_PSOptionsSizer, m_rbGerberFormat, m_scaleOpt, m_SolderMaskMarginCurrValue, m_SolderMaskMarginLabel, m_SolderMaskMinWidthCurrValue, m_solderMaskMinWidthLabel, m_staticText11, m_staticText12, m_staticText13, m_staticText7, m_staticText8, m_staticTextDir, m_staticTextPlotFmt, m_subtractMaskFromSilk, m_textDefaultPenSize, m_textPenSize, m_textPSFineAdjustWidth, m_useAuxOriginCheckBox, m_useGerberExtensions, m_useGerberNetAttributes, m_useGerberX2Attributes, OnClose(), OnGerberX2Checked(), OnInitDialog(), OnOutputDirectoryBrowseClicked(), OnPopUpLayers(), OnQuit(), OnRightClick(), onRunDRC(), OnSetScaleOpt(), Plot(), and SetPlotFormat().

14  : 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, _("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, _("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  m_plotOutlineModeOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot lines in outline mode"), wxDefaultPosition, wxDefaultSize, 0 );
132  m_plotOutlineModeOpt->SetValue(true);
133  m_plotOutlineModeOpt->SetToolTip( _("Otherwise plot with sketch lines in layers that don't support polygons (*.SilkS, *_User, Edge.Cuts, Margin, *.CrtYd, *.Fab) and plot in outline mode in other layers (*.Cu, *.Adhes, *.Paste, *.Mask)") );
134 
135  bSizerPlotItems->Add( m_plotOutlineModeOpt, 0, wxALL, 2 );
136 
137 
138  bSizer192->Add( bSizerPlotItems, 0, wxEXPAND, 5 );
139 
140  wxBoxSizer* bSizer14;
141  bSizer14 = new wxBoxSizer( wxVERTICAL );
142 
143  m_staticText11 = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Drill marks:"), wxDefaultPosition, wxDefaultSize, 0 );
144  m_staticText11->Wrap( -1 );
145  bSizer14->Add( m_staticText11, 0, wxRIGHT|wxLEFT, 5 );
146 
147  wxString m_drillShapeOptChoices[] = { _("None"), _("Small"), _("Actual size") };
148  int m_drillShapeOptNChoices = sizeof( m_drillShapeOptChoices ) / sizeof( wxString );
149  m_drillShapeOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_drillShapeOptNChoices, m_drillShapeOptChoices, 0 );
150  m_drillShapeOpt->SetSelection( 0 );
151  bSizer14->Add( m_drillShapeOpt, 0, wxEXPAND|wxLEFT, 5 );
152 
153  m_staticText12 = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Scaling:"), wxDefaultPosition, wxDefaultSize, 0 );
154  m_staticText12->Wrap( -1 );
155  bSizer14->Add( m_staticText12, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
156 
157  wxString m_scaleOptChoices[] = { _("Auto"), _("1:1"), _("3:2"), _("2:1"), _("3:1") };
158  int m_scaleOptNChoices = sizeof( m_scaleOptChoices ) / sizeof( wxString );
159  m_scaleOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_scaleOptNChoices, m_scaleOptChoices, 0 );
160  m_scaleOpt->SetSelection( 1 );
161  bSizer14->Add( m_scaleOpt, 0, wxEXPAND|wxLEFT, 5 );
162 
163  m_staticText13 = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot mode:"), wxDefaultPosition, wxDefaultSize, 0 );
164  m_staticText13->Wrap( -1 );
165  bSizer14->Add( m_staticText13, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
166 
167  wxString m_plotModeOptChoices[] = { _("Filled"), _("Sketch") };
168  int m_plotModeOptNChoices = sizeof( m_plotModeOptChoices ) / sizeof( wxString );
169  m_plotModeOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_plotModeOptNChoices, m_plotModeOptChoices, 0 );
170  m_plotModeOpt->SetSelection( 0 );
171  bSizer14->Add( m_plotModeOpt, 0, wxEXPAND|wxLEFT, 5 );
172 
173  m_textDefaultPenSize = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Default line width"), wxDefaultPosition, wxDefaultSize, 0 );
174  m_textDefaultPenSize->Wrap( -1 );
175  m_textDefaultPenSize->SetToolTip( _("Pen size used to draw items that have no pen size specified.\nUsed mainly to draw items in sketch mode.") );
176 
177  bSizer14->Add( m_textDefaultPenSize, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
178 
179  m_linesWidth = new wxTextCtrl( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
180  m_linesWidth->SetToolTip( _("Line width for, e.g., sheet references.") );
181 
182  bSizer14->Add( m_linesWidth, 0, wxBOTTOM|wxEXPAND|wxLEFT, 5 );
183 
184 
185  bSizer192->Add( bSizer14, 1, wxRIGHT|wxLEFT, 3 );
186 
187 
188  sbOptionsSizer->Add( bSizer192, 0, wxEXPAND, 5 );
189 
190 
191  m_PlotOptionsSizer->Add( sbOptionsSizer, 0, wxALL|wxEXPAND, 3 );
192 
193  wxStaticBoxSizer* sbSizerSoldMaskLayerOpt;
194  sbSizerSoldMaskLayerOpt = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Current solder mask settings:") ), wxVERTICAL );
195 
196  wxFlexGridSizer* fgSizerSoldMaskOpts;
197  fgSizerSoldMaskOpts = new wxFlexGridSizer( 2, 2, 0, 0 );
198  fgSizerSoldMaskOpts->SetFlexibleDirection( wxBOTH );
199  fgSizerSoldMaskOpts->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
200 
201  m_SolderMaskMarginLabel = new wxStaticText( sbSizerSoldMaskLayerOpt->GetStaticBox(), wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 );
202  m_SolderMaskMarginLabel->Wrap( -1 );
203  m_SolderMaskMarginLabel->SetToolTip( _("Margin between pads and solder mask") );
204 
205  fgSizerSoldMaskOpts->Add( m_SolderMaskMarginLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
206 
207  m_SolderMaskMarginCurrValue = new wxStaticText( sbSizerSoldMaskLayerOpt->GetStaticBox(), wxID_ANY, _("val"), wxDefaultPosition, wxDefaultSize, 0 );
208  m_SolderMaskMarginCurrValue->Wrap( -1 );
209  fgSizerSoldMaskOpts->Add( m_SolderMaskMarginCurrValue, 0, wxALL, 5 );
210 
211  m_solderMaskMinWidthLabel = new wxStaticText( sbSizerSoldMaskLayerOpt->GetStaticBox(), wxID_ANY, _("Solder mask min width:"), wxDefaultPosition, wxDefaultSize, 0 );
212  m_solderMaskMinWidthLabel->Wrap( -1 );
213  m_solderMaskMinWidthLabel->SetToolTip( _("Minimum distance between 2 pad areas.\nTwo pad areas nearer than this value will be merged during plotting") );
214 
215  fgSizerSoldMaskOpts->Add( m_solderMaskMinWidthLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
216 
217  m_SolderMaskMinWidthCurrValue = new wxStaticText( sbSizerSoldMaskLayerOpt->GetStaticBox(), wxID_ANY, _("val"), wxDefaultPosition, wxDefaultSize, 0 );
218  m_SolderMaskMinWidthCurrValue->Wrap( -1 );
219  fgSizerSoldMaskOpts->Add( m_SolderMaskMinWidthCurrValue, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
220 
221 
222  sbSizerSoldMaskLayerOpt->Add( fgSizerSoldMaskOpts, 1, wxEXPAND, 5 );
223 
224 
225  m_PlotOptionsSizer->Add( sbSizerSoldMaskLayerOpt, 1, wxEXPAND, 5 );
226 
227  m_GerberOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Gerber Options") ), wxHORIZONTAL );
228 
229  wxBoxSizer* bSizerGbrOpt;
230  bSizerGbrOpt = new wxBoxSizer( wxVERTICAL );
231 
232  m_useGerberExtensions = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Use Protel filename extensions"), wxDefaultPosition, wxDefaultSize, 0 );
233  m_useGerberExtensions->SetToolTip( _("Use Protel Gerber extensions (.GBL, .GTL, etc...)\nNo longer recommended. The official extension is .gbr") );
234 
235  bSizerGbrOpt->Add( m_useGerberExtensions, 0, wxALL, 2 );
236 
237  m_useGerberX2Attributes = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Include extended (X2) attributes"), wxDefaultPosition, wxDefaultSize, 0 );
238  m_useGerberX2Attributes->SetToolTip( _("Include extended attributes (X2 Gerber files format) in the Gerber file.\nMainly File Format attributes.") );
239 
240  bSizerGbrOpt->Add( m_useGerberX2Attributes, 0, wxALL, 2 );
241 
242  m_useGerberNetAttributes = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Include advanced X2 features"), wxDefaultPosition, wxDefaultSize, 0 );
243  m_useGerberNetAttributes->SetToolTip( _("Only available in X2 Gerber files format.\nInclude netlist metadata and aperture attributes.") );
244 
245  bSizerGbrOpt->Add( m_useGerberNetAttributes, 0, wxALL, 2 );
246 
247  m_subtractMaskFromSilk = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Subtract soldermask from silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
248  m_subtractMaskFromSilk->SetToolTip( _("Remove silkscreen from areas without soldermask") );
249 
250  bSizerGbrOpt->Add( m_subtractMaskFromSilk, 0, wxALL, 2 );
251 
252 
253  m_GerberOptionsSizer->Add( bSizerGbrOpt, 0, wxALIGN_CENTER_VERTICAL, 5 );
254 
255  wxString m_rbGerberFormatChoices[] = { _("4.5 (unit mm)"), _("4.6 (unit mm)") };
256  int m_rbGerberFormatNChoices = sizeof( m_rbGerberFormatChoices ) / sizeof( wxString );
257  m_rbGerberFormat = new wxRadioBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Format"), wxDefaultPosition, wxDefaultSize, m_rbGerberFormatNChoices, m_rbGerberFormatChoices, 1, wxRA_SPECIFY_COLS );
258  m_rbGerberFormat->SetSelection( 0 );
259  m_rbGerberFormat->SetToolTip( _("Resolution of coordinates in Gerber files.\nUse the higher value if possible.") );
260 
261  m_GerberOptionsSizer->Add( m_rbGerberFormat, 1, wxEXPAND|wxALL, 5 );
262 
263 
264  m_PlotOptionsSizer->Add( m_GerberOptionsSizer, 0, wxALL|wxEXPAND, 3 );
265 
266  m_HPGLOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("HPGL Options") ), wxVERTICAL );
267 
268  wxBoxSizer* bSizer22;
269  bSizer22 = new wxBoxSizer( wxVERTICAL );
270 
271  m_textPenSize = new wxStaticText( m_HPGLOptionsSizer->GetStaticBox(), wxID_ANY, _("Pen size"), wxDefaultPosition, wxDefaultSize, 0 );
272  m_textPenSize->Wrap( -1 );
273  bSizer22->Add( m_textPenSize, 0, wxRIGHT|wxLEFT, 5 );
274 
275  m_HPGLPenSizeOpt = new wxTextCtrl( m_HPGLOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
276  bSizer22->Add( m_HPGLPenSizeOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
277 
278 
279  m_HPGLOptionsSizer->Add( bSizer22, 1, wxEXPAND, 5 );
280 
281 
282  m_PlotOptionsSizer->Add( m_HPGLOptionsSizer, 0, wxALL|wxEXPAND, 3 );
283 
284  m_PSOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Postscript Options") ), wxVERTICAL );
285 
286  wxBoxSizer* bSizer17;
287  bSizer17 = new wxBoxSizer( wxHORIZONTAL );
288 
289  wxBoxSizer* bSizer18;
290  bSizer18 = new wxBoxSizer( wxVERTICAL );
291 
292  m_staticText7 = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("X scale:"), wxDefaultPosition, wxDefaultSize, 0 );
293  m_staticText7->Wrap( -1 );
294  bSizer18->Add( m_staticText7, 0, wxRIGHT|wxLEFT, 5 );
295 
296  m_fineAdjustXscaleOpt = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
297  m_fineAdjustXscaleOpt->SetToolTip( _("Set global X scale adjust for exact scale postscript output.") );
298 
299  bSizer18->Add( m_fineAdjustXscaleOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
300 
301 
302  bSizer17->Add( bSizer18, 1, wxEXPAND, 5 );
303 
304  wxBoxSizer* bSizer19;
305  bSizer19 = new wxBoxSizer( wxVERTICAL );
306 
307  m_staticText8 = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Y scale:"), wxDefaultPosition, wxDefaultSize, 0 );
308  m_staticText8->Wrap( -1 );
309  bSizer19->Add( m_staticText8, 0, wxRIGHT|wxLEFT, 5 );
310 
311  m_fineAdjustYscaleOpt = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
312  m_fineAdjustYscaleOpt->SetToolTip( _("Set global Y scale adjust for exact scale postscript output.") );
313 
314  bSizer19->Add( m_fineAdjustYscaleOpt, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
315 
316 
317  bSizer17->Add( bSizer19, 1, wxEXPAND, 5 );
318 
319  wxBoxSizer* bSizer191;
320  bSizer191 = new wxBoxSizer( wxVERTICAL );
321 
322  m_textPSFineAdjustWidth = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Width correction"), wxDefaultPosition, wxDefaultSize, 0 );
323  m_textPSFineAdjustWidth->Wrap( -1 );
324  bSizer191->Add( m_textPSFineAdjustWidth, 0, wxRIGHT|wxLEFT, 5 );
325 
326  m_PSFineAdjustWidthOpt = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
327  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.") );
328 
329  bSizer191->Add( m_PSFineAdjustWidthOpt, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
330 
331 
332  bSizer17->Add( bSizer191, 1, wxEXPAND, 5 );
333 
334 
335  m_PSOptionsSizer->Add( bSizer17, 1, wxEXPAND, 5 );
336 
337  m_forcePSA4OutputOpt = new wxCheckBox( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Force A4 output"), wxDefaultPosition, wxDefaultSize, 0 );
338  m_PSOptionsSizer->Add( m_forcePSA4OutputOpt, 0, wxALL, 2 );
339 
340 
341  m_PlotOptionsSizer->Add( m_PSOptionsSizer, 0, wxALL|wxEXPAND, 3 );
342 
343 
344  bmiddleSizer->Add( m_PlotOptionsSizer, 0, 0, 5 );
345 
346 
347  m_MainSizer->Add( bmiddleSizer, 0, wxEXPAND, 5 );
348 
349  wxBoxSizer* sbSizerMsg;
350  sbSizerMsg = new wxBoxSizer( wxVERTICAL );
351 
352  m_messagesPanel = new WX_HTML_REPORT_PANEL( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
353  m_messagesPanel->SetMinSize( wxSize( -300,150 ) );
354 
355  sbSizerMsg->Add( m_messagesPanel, 1, wxEXPAND | wxALL, 5 );
356 
357 
358  m_MainSizer->Add( sbSizerMsg, 1, wxEXPAND, 5 );
359 
360  wxBoxSizer* bSizerButtons;
361  bSizerButtons = new wxBoxSizer( wxHORIZONTAL );
362 
363  m_plotButton = new wxButton( this, wxID_ANY, _("Plot"), wxDefaultPosition, wxDefaultSize, 0 );
364  m_plotButton->SetDefault();
365  bSizerButtons->Add( m_plotButton, 0, wxALL, 5 );
366 
367  m_buttonDrill = new wxButton( this, ID_CREATE_DRILL_FILE, _("Generate Drill File"), wxDefaultPosition, wxDefaultSize, 0 );
368  bSizerButtons->Add( m_buttonDrill, 0, wxALL, 5 );
369 
370 
371  bSizerButtons->Add( 10, 0, 1, wxEXPAND, 5 );
372 
373  m_buttonDRC = new wxButton( this, wxID_ANY, _("Run DRC"), wxDefaultPosition, wxDefaultSize, 0 );
374  bSizerButtons->Add( m_buttonDRC, 0, wxALL, 5 );
375 
376  m_buttonQuit = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
377  bSizerButtons->Add( m_buttonQuit, 0, wxALL, 5 );
378 
379 
380  m_MainSizer->Add( bSizerButtons, 0, wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
381 
382 
383  this->SetSizer( m_MainSizer );
384  this->Layout();
385  m_popMenu = new wxMenu();
386  wxMenuItem* m_menuItem1;
387  m_menuItem1 = new wxMenuItem( m_popMenu, ID_LAYER_FAB, wxString( _("Select Fab Layers") ) , wxEmptyString, wxITEM_NORMAL );
388  m_popMenu->Append( m_menuItem1 );
389 
390  wxMenuItem* m_menuItem2;
391  m_menuItem2 = new wxMenuItem( m_popMenu, ID_SELECT_COPPER_LAYERS, wxString( _("Select all Copper Layers") ) , wxEmptyString, wxITEM_NORMAL );
392  m_popMenu->Append( m_menuItem2 );
393 
394  wxMenuItem* m_menuItem3;
395  m_menuItem3 = new wxMenuItem( m_popMenu, ID_DESELECT_COPPER_LAYERS, wxString( _("Deselect all Copper Layers") ) , wxEmptyString, wxITEM_NORMAL );
396  m_popMenu->Append( m_menuItem3 );
397 
398  wxMenuItem* m_menuItem4;
399  m_menuItem4 = new wxMenuItem( m_popMenu, ID_SELECT_ALL_LAYERS, wxString( _("Select all Layers") ) , wxEmptyString, wxITEM_NORMAL );
400  m_popMenu->Append( m_menuItem4 );
401 
402  wxMenuItem* m_menuItem5;
403  m_menuItem5 = new wxMenuItem( m_popMenu, ID_DESELECT_ALL_LAYERS, wxString( _("Deselect all Layers") ) , wxEmptyString, wxITEM_NORMAL );
404  m_popMenu->Append( m_menuItem5 );
405 
406  this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::DIALOG_PLOT_BASEOnContextMenu ), NULL, this );
407 
408 
409  this->Centre( wxBOTH );
410 
411  // Connect Events
412  this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_PLOT_BASE::OnClose ) );
413  this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PLOT_BASE::OnInitDialog ) );
414  this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ) );
415  m_plotFormatOpt->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::SetPlotFormat ), NULL, this );
416  m_browseButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnOutputDirectoryBrowseClicked ), NULL, this );
417  m_layerCheckListBox->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ), NULL, this );
418  m_scaleOpt->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnSetScaleOpt ), NULL, this );
419  m_useGerberX2Attributes->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnGerberX2Checked ), NULL, this );
420  m_plotButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::Plot ), NULL, this );
421  m_buttonDrill->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::CreateDrillFile ), NULL, this );
422  m_buttonDRC->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::onRunDRC ), NULL, this );
423  m_buttonQuit->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnQuit ), NULL, this );
424  this->Connect( m_menuItem1->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
425  this->Connect( m_menuItem2->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
426  this->Connect( m_menuItem3->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
427  this->Connect( m_menuItem4->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
428  this->Connect( m_menuItem5->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
429 }
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)
void DIALOG_PLOT_BASEOnContextMenu(wxMouseEvent &event)
wxChoice * m_plotFormatOpt
wxCheckBox * m_useGerberX2Attributes
wxButton * m_browseButton
wxCheckBox * m_plotSheetRef
wxTextCtrl * m_PSFineAdjustWidthOpt
wxStaticText * m_staticText13
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
wxTextCtrl * m_outputDirectoryName
wxStaticText * m_staticText11
virtual void OnRightClick(wxMouseEvent &event)
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
DIALOG_SHIM(wxWindow *aParent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_DIALOG_STYLE, const wxString &name=wxDialogNameStr)
Definition: dialog_shim.cpp:57
wxTextCtrl * m_fineAdjustXscaleOpt
wxStaticBoxSizer * m_LayersSizer
wxStaticText * m_staticTextDir
wxStaticText * m_staticText12
wxTextCtrl * m_HPGLPenSizeOpt
wxCheckBox * m_plotInvisibleText
wxCheckBox * m_plotOutlineModeOpt
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.
DIALOG_PLOT_BASE::~DIALOG_PLOT_BASE ( )

Definition at line 431 of file dialog_plot_base.cpp.

References CreateDrillFile(), ID_DESELECT_ALL_LAYERS, ID_DESELECT_COPPER_LAYERS, ID_LAYER_FAB, ID_SELECT_ALL_LAYERS, ID_SELECT_COPPER_LAYERS, m_browseButton, m_buttonDRC, m_buttonDrill, m_buttonQuit, m_layerCheckListBox, m_plotButton, m_plotFormatOpt, m_popMenu, m_scaleOpt, m_useGerberX2Attributes, OnClose(), OnGerberX2Checked(), OnInitDialog(), OnOutputDirectoryBrowseClicked(), OnPopUpLayers(), OnQuit(), OnRightClick(), onRunDRC(), OnSetScaleOpt(), Plot(), and SetPlotFormat().

432 {
433  // Disconnect Events
434  this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_PLOT_BASE::OnClose ) );
435  this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PLOT_BASE::OnInitDialog ) );
436  this->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ) );
437  m_plotFormatOpt->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::SetPlotFormat ), NULL, this );
438  m_browseButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnOutputDirectoryBrowseClicked ), NULL, this );
439  m_layerCheckListBox->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ), NULL, this );
440  m_scaleOpt->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnSetScaleOpt ), NULL, this );
441  m_useGerberX2Attributes->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnGerberX2Checked ), NULL, this );
442  m_plotButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::Plot ), NULL, this );
443  m_buttonDrill->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::CreateDrillFile ), NULL, this );
444  m_buttonDRC->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::onRunDRC ), NULL, this );
445  m_buttonQuit->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnQuit ), NULL, this );
446  this->Disconnect( ID_LAYER_FAB, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
447  this->Disconnect( ID_SELECT_COPPER_LAYERS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
448  this->Disconnect( ID_DESELECT_COPPER_LAYERS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
449  this->Disconnect( ID_SELECT_ALL_LAYERS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
450  this->Disconnect( ID_DESELECT_ALL_LAYERS, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnPopUpLayers ) );
451 
452  delete m_popMenu;
453 }
virtual void OnPopUpLayers(wxCommandEvent &event)
virtual void OnQuit(wxCommandEvent &event)
virtual void SetPlotFormat(wxCommandEvent &event)
virtual void OnSetScaleOpt(wxCommandEvent &event)
virtual void CreateDrillFile(wxCommandEvent &event)
wxButton * m_plotButton
virtual void OnOutputDirectoryBrowseClicked(wxCommandEvent &event)
wxChoice * m_plotFormatOpt
wxCheckBox * m_useGerberX2Attributes
wxButton * m_browseButton
virtual void OnClose(wxCloseEvent &event)
virtual void Plot(wxCommandEvent &event)
wxButton * m_buttonDrill
virtual void OnRightClick(wxMouseEvent &event)
wxChoice * m_scaleOpt
virtual void OnInitDialog(wxInitDialogEvent &event)
virtual void OnGerberX2Checked(wxCommandEvent &event)
virtual void onRunDRC(wxCommandEvent &event)
wxButton * m_buttonDRC
wxCheckListBox * m_layerCheckListBox
wxButton * m_buttonQuit

Member Function Documentation

virtual void DIALOG_PLOT_BASE::CreateDrillFile ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 127 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

127 { event.Skip(); }
void DIALOG_PLOT_BASE::DIALOG_PLOT_BASEOnContextMenu ( wxMouseEvent &  event)
inline

Definition at line 138 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

139  {
140  this->PopupMenu( m_popMenu, event.GetPosition() );
141  }
bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 181 of file dialog_shim.cpp.

Referenced by DIALOG_PRINT_USING_PRINTER::InitValues().

182 {
183  // so we can do logging of this state change:
184 
185 #if defined(DEBUG)
186  const char* type_id = typeid( *this ).name();
187  printf( "wxDialog %s: %s\n", type_id, enable ? "enabled" : "disabled" );
188 #endif
189 
190  return wxDialog::Enable( enable );
191 }
void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 539 of file dialog_shim.cpp.

References DIALOG_SHIM::IsQuasiModal(), DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, and DIALOG_SHIM::Show().

Referenced by HK_PROMPT_DIALOG::EndFlexible(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCancelButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCancelButtonClick(), DIALOG_EDIT_ONE_FIELD::OnCancelClick(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnCloseDialog(), DIALOG_EDIT_ONE_FIELD::OnCloseDialog(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCloseDialog(), DIALOG_CHOOSE_COMPONENT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnOKButtonClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick(), DIALOG_EDIT_ONE_FIELD::OnOkClick(), DIALOG_EXCHANGE_MODULE::OnQuit(), DIALOG_CHOOSE_COMPONENT::OnSchViewDClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp(), and DIALOG_SHIM::~DIALOG_SHIM().

540 {
541  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
542  // handle validation in the same way as other dialogs.
543  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
544  return;
545 
546  SetReturnCode( retCode );
547 
548  if( !IsQuasiModal() )
549  {
550  wxFAIL_MSG( wxT( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal wasn't called" ) );
551  return;
552  }
553 
554  m_qmodal_showing = false;
555 
556  if( m_qmodal_loop )
557  {
558  if( m_qmodal_loop->IsRunning() )
559  m_qmodal_loop->Exit( 0 );
560  else
561  m_qmodal_loop->ScheduleExit( 0 );
562 
563  m_qmodal_loop = NULL;
564  }
565 
568 
569  Show( false );
570 }
bool m_qmodal_showing
Definition: dialog_shim.h:132
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:131
bool IsQuasiModal()
Definition: dialog_shim.h:93
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:133
void DIALOG_SHIM::FinishDialogSettings ( )
protectedinherited

In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls.

FinishDialogSettings must be called from derived classes, when all widgets are initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at end of TransferDataToWindow, or better at end of a wxInitDialogEvent handler

In any case, the best way is to call it in a wxInitDialogEvent handler after calling TransfertDataToWindow(), which is the default wxInitDialogEvent handler wxDialog

Definition at line 103 of file dialog_shim.cpp.

References PCAD2KICAD::Center.

Referenced by DIALOG_BOM::DIALOG_BOM(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES(), DIALOG_DIMENSION_EDITOR::DIALOG_DIMENSION_EDITOR(), DIALOG_DISPLAY_OPTIONS::DIALOG_DISPLAY_OPTIONS(), DIALOG_DRC_CONTROL::DIALOG_DRC_CONTROL(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY(), DIALOG_EESCHEMA_OPTIONS::DIALOG_EESCHEMA_OPTIONS(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_KEEPOUT_AREA_PROPERTIES::DIALOG_KEEPOUT_AREA_PROPERTIES(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_LIB_NEW_COMPONENT::DIALOG_LIB_NEW_COMPONENT(), DIALOG_LIBEDIT_OPTIONS::DIALOG_LIBEDIT_OPTIONS(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_SCH_EDIT_SHEET_PIN::DIALOG_SCH_EDIT_SHEET_PIN(), DIALOG_SCH_SHEET_PROPS::DIALOG_SCH_SHEET_PROPS(), DIALOG_SELECT_PRETTY_LIB::DIALOG_SELECT_PRETTY_LIB(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_EDIT_ONE_FIELD::init(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_LIB_EDIT_PIN::OnInitDialog(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::OnInitDialog(), DIALOG_TRACK_VIA_PROPERTIES::OnInitDlg(), DIALOG_GRAPHIC_ITEMS_OPTIONS::OnInitDlg(), DialogEditModuleText::OnInitDlg(), DIALOG_SET_GRID::OnInitDlg(), DIALOG_PCB_TEXT_PROPERTIES::OnInitDlg(), DIALOG_PRINT_FOR_MODEDIT::OnInitDlg(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_MODULE_MODULE_EDITOR::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_MODULE_BOARD_EDITOR::OnInitDlg(), DIALOG_PRINT_USING_PRINTER::OnInitDlg(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnInitDlg(), TARGET_PROPERTIES_DIALOG_EDITOR::TARGET_PROPERTIES_DIALOG_EDITOR(), and DIALOG_SIGNAL_LIST::TransferDataToWindow().

104 {
105  // must be called from the constructor of derived classes,
106  // when all widgets are initialized, and therefore their size fixed
107 
108  // SetSizeHints fixes the minimal size of sizers in the dialog
109  // (SetSizeHints calls Fit(), so no need to call it)
110  GetSizer()->SetSizeHints( this );
111 
112  // the default position, when calling the first time the dlg
113  Center();
114 }
void DIALOG_SHIM::FixOSXCancelButtonIssue ( )
protectedinherited

A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms.

Definition at line 116 of file dialog_shim.cpp.

Referenced by DIALOG_SHIM::Show().

117 {
118 #ifdef __WXMAC__
119  // A ugly hack to fix an issue on OSX: ctrl+c closes the dialog instead of
120  // copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer
121  // created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority
122  // to copy text standard accelerator, and the dlg is closed when trying to copy text
123  wxButton* button = dynamic_cast< wxButton* > ( wxWindow::FindWindowById( wxID_CANCEL, this ) );
124 
125  if( button )
126  button->SetLabel( _( "Cancel" ) );
127 #endif
128 }
KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in.

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 60 of file kiway_player.h.

References KIWAY_HOLDER::m_kiway.

Referenced by SCH_EDIT_FRAME::AppendOneEEProject(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), CVPCB_MAINFRAME::CreateScreenCmp(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_SHIM::DIALOG_SHIM(), EDIT_TOOL::editFootprintInFpEditor(), SCH_EDIT_FRAME::EditSheet(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_EDIT_FRAME::GetPlotSettings(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::initBuffers(), LIB_EDIT_FRAME::InstallConfigFrame(), PCB_EDIT_FRAME::InstallModuleOptionsFrame(), KIWAY_PLAYER::language_change(), SCH_SHEET::Load(), CVPCB_MAINFRAME::LoadFootprintFiles(), KIWAY_PLAYER::OnChangeIconsOptions(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), SCH_EDIT_FRAME::OnLeftClick(), SCH_BASE_FRAME::OnOpenLibraryViewer(), SCH_EDIT_FRAME::OnSimulate(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), FOOTPRINT_EDIT_FRAME::OnUpdateInsertModuleInBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadModuleFromBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateReplaceModuleInBoard(), SCH_EDIT_FRAME::OpenProjectFiles(), KIWAY_HOLDER::Prj(), PCB_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Special_Functions(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndLinkFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDIT_FRAME::SaveEEFile(), CVPCB_MAINFRAME::SaveFootprintAssociation(), SCH_BASE_FRAME::SelectComponentFromLibBrowser(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_EDIT_FRAME::SetPlotSettings(), DISPLAY_FOOTPRINTS_FRAME::Show3D_Frame(), FOOTPRINT_VIEWER_FRAME::Show3D_Frame(), FOOTPRINT_EDIT_FRAME::Show3D_Frame(), FOOTPRINT_WIZARD_FRAME::Show3D_Frame(), DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::showButtonHandler(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::showButtonHandler(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), and DIALOG_EXCHANGE_MODULE::ViewAndSelectFootprint().

61  {
62  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
63  return *m_kiway;
64  }
KIWAY * m_kiway
Definition: kiway_player.h:85
virtual void DIALOG_PLOT_BASE::OnClose ( wxCloseEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 119 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

119 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::OnGerberX2Checked ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 125 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

125 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::OnInitDialog ( wxInitDialogEvent &  event)
inlineprotectedvirtual

Definition at line 120 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

120 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::OnOutputDirectoryBrowseClicked ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 123 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

123 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::OnPopUpLayers ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 130 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

130 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::OnQuit ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 129 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

129 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::OnRightClick ( wxMouseEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 121 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

121 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::onRunDRC ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 128 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

128 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::OnSetScaleOpt ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 124 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

124 { event.Skip(); }
virtual void DIALOG_PLOT_BASE::Plot ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 126 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

126 { event.Skip(); }
PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Function Prj returns a reference to the PROJECT "associated with" this KIWAY.

Definition at line 34 of file kiway_holder.cpp.

References KIWAY_HOLDER::Kiway(), and KIWAY::Prj().

Referenced by SCH_EDIT_FRAME::AnnotateComponents(), SCH_EDIT_FRAME::AppendOneEEProject(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), LIB_VIEW_FRAME::BestZoom(), DIALOG_MODULE_MODULE_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_MODULE_BOARD_EDITOR::BrowseAndAdd3DShapeFile(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::BrowseAndSelectDocFile(), DIALOG_EXCHANGE_MODULE::BrowseAndSelectFootprint(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_MODULE_MODULE_EDITOR::Cfg3DPath(), DIALOG_MODULE_BOARD_EDITOR::Cfg3DPath(), SCH_EDIT_FRAME::CheckAnnotate(), SCH_SCREEN::CheckComponentsToPartsLinks(), SCH_EDIT_FRAME::ConvertPart(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions(), SCH_EDIT_FRAME::CreateArchiveLibrary(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromCurrentLibrary(), LIB_EDIT_FRAME::DeleteOnePart(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_EESCHEMA_CONFIG::DIALOG_EESCHEMA_CONFIG(), DIALOG_FP_LIB_TABLE::DIALOG_FP_LIB_TABLE(), DIALOG_MODULE_BOARD_EDITOR::DIALOG_MODULE_BOARD_EDITOR(), DIALOG_MODULE_MODULE_EDITOR::DIALOG_MODULE_MODULE_EDITOR(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SCH_EDIT_ONE_FIELD::DIALOG_SCH_EDIT_ONE_FIELD(), LIB_VIEW_FRAME::DisplayLibInfos(), SCH_BASE_FRAME::DisplayListComponentsInLib(), PCB_EDIT_FRAME::doAutoSave(), DIALOG_MODULE_MODULE_EDITOR::Edit3DShapeFileName(), DIALOG_MODULE_BOARD_EDITOR::Edit3DShapeFileName(), SCH_EDIT_FRAME::EditComponentFieldText(), SCH_EDIT_FRAME::EditSheet(), PCB_EDIT_FRAME::Export_IDF3(), PCB_EDIT_FRAME::ExportToGenCAD(), PCB_EDIT_FRAME::ExportVRML_File(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DIALOG_GENDRILL::GenDrillAndMapFiles(), NETLIST_DIALOG::GenNetlist(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), LIB_EDIT_FRAME::GetCurPart(), FOOTPRINT_EDIT_FRAME::GetCurrentLib(), FOOTPRINT_EDIT_FRAME::getLibPath(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DIALOG_BOM::getPluginFileName(), LIB_VIEW_FRAME::getSelectedAlias(), FP_THREAD_IFACE::GetTable(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers(), DIALOG_MODULE_MODULE_EDITOR::initModeditProperties(), DIALOG_MODULE_BOARD_EDITOR::InitModeditProperties(), LIB_EDIT_FRAME::InstallConfigFrame(), SCH_EDIT_FRAME::InstallConfigFrame(), PCB_EDIT_FRAME::InstallNetlistFrame(), SCH_EDIT_FRAME::IsSearchCacheObsolete(), SCH_EDIT_FRAME::Load_Component(), SCH_EDIT_FRAME::LoadCmpToFootprintLinkFile(), CVPCB_MAINFRAME::LoadFootprintFiles(), SCH_EDIT_FRAME::LoadOneEEFile(), LIB_EDIT_FRAME::LoadOneLibraryPart(), LIB_EDIT_FRAME::LoadOneSymbol(), CVPCB_MAINFRAME::LoadProjectFile(), SCH_EDIT_FRAME::LoadProjectFile(), PCB_EDIT_FRAME::LoadProjectSettings(), DIALOG_DRC_CONTROL::makeValidFileNameReport(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_EESCHEMA_CONFIG::OnAddOrInsertLibClick(), DIALOG_EESCHEMA_CONFIG::OnAddOrInsertPath(), DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick(), LIB_EDIT_FRAME::OnCloseWindow(), CVPCB_MAINFRAME::OnEditFootprintLibraryTable(), DIALOG_GENDRILL::OnGenReportFile(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), PCB_EDIT_FRAME::OnLeftClick(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnOKButtonClick(), DIALOG_NETLIST::OnOpenNetlistClick(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_SVG_PRINT::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_MODULE_POSITION::OnOutputDirectoryBrowseClicked(), LIB_EDIT_FRAME::OnPlotCurrentComponent(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), SCH_EDIT_FRAME::OnRightClick(), DIALOG_BOM::OnRunPlugin(), DIALOG_NETLIST::OnSaveMessagesToFile(), SCH_EDIT_FRAME::OnSaveProject(), DIALOG_SPICE_MODEL::onSelectIcLib(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OnSelectUnit(), DIALOG_SPICE_MODEL::onSemiSelectLib(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnTestChipName(), FOOTPRINT_EDIT_FRAME::OnUpdateSelectCurrentLib(), LIB_EDIT_FRAME::OnViewEntryDoc(), LIB_VIEW_FRAME::onViewSymbolDocument(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_FRAME::PasteListOfItems(), PCB_EDITOR_CONTROL::PlaceModule(), SCH_EDIT_FRAME::prepareForNetlist(), SCH_EDIT_FRAME::Process_Config(), PCB_EDIT_FRAME::Process_Config(), SCH_EDIT_FRAME::Process_Special_Functions(), SCH_EDIT_FRAME::ProcessCmpToFootprintLinkFile(), FOOTPRINT_EDIT_FRAME::ProcessPreferences(), CVPCB_MAINFRAME::ReadNetListAndLinkFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_VIEW_FRAME::ReCreateHToolbar(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), LIB_VIEW_FRAME::ReCreateListCmp(), LIB_VIEW_FRAME::ReCreateListLib(), LIB_VIEW_FRAME::RedrawActiveWindow(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SCH_EDIT_FRAME::RescueProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_SCREEN::Save(), LIB_EDIT_FRAME::SaveActiveLibrary(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), CVPCB_MAINFRAME::SaveProjectFile(), SCH_EDIT_FRAME::SaveProjectSettings(), PCB_EDIT_FRAME::SaveProjectSettings(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectComponentFromLibrary(), FOOTPRINT_VIEWER_FRAME::SelectCurrentFootprint(), PCB_BASE_FRAME::SelectLibrary(), SCH_BASE_FRAME::SelectLibraryFromList(), SCH_EDIT_FRAME::sendNetlist(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::SetInitCmp(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), EDA_3D_VIEWER::takeScreenshot(), DIALOG_ERC::TestErc(), DIALOG_SPICE_MODEL::updateFromFile(), SIM_PLOT_FRAME::updateNetlistExporter(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), CVPCB_MAINFRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_MODULE_BOARD_EDITOR::~DIALOG_MODULE_BOARD_EDITOR(), and DIALOG_MODULE_MODULE_EDITOR::~DIALOG_MODULE_MODULE_EDITOR().

35 {
36  return Kiway().Prj();
37 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_player.h:60
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:144
void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

Function SetKiway.

Parameters
aDestis the recipient of aKiway pointer. It is only used for debugging, since "this" is not a wxWindow*. "this" is a KIWAY_HOLDER mix-in.
aKiwayis often from a parent window, or from KIFACE::CreateWindow().

Definition at line 41 of file kiway_holder.cpp.

References KIWAY_HOLDER::m_kiway, and name.

Referenced by DIALOG_SHIM::DIALOG_SHIM(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

42 {
43 #if defined(DEBUG)
44  // offer a trap point for debugging most any window
45  wxASSERT( aDest );
46  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
47  {
48  int breakhere=1;
49  (void) breakhere;
50  }
51 #endif
52 
53  (void) aDest;
54 
55  m_kiway = aKiway;
56 }
KIWAY * m_kiway
Definition: kiway_player.h:85
const char * name
virtual void DIALOG_PLOT_BASE::SetPlotFormat ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_PLOT.

Definition at line 122 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

122 { event.Skip(); }
bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 138 of file dialog_shim.cpp.

References class_map, DIALOG_SHIM::FixOSXCancelButtonIssue(), EDA_RECT::GetPosition(), EDA_RECT::GetSize(), DIALOG_SHIM::m_hash_key, wxPoint::x, and wxPoint::y.

Referenced by DisplayHotkeyList(), DIALOG_SHIM::EndQuasiModal(), InvokeDialogERC(), DIALOG_SCH_FIND::OnCancel(), DIALOG_DRC_CONTROL::OnLeftDClickClearance(), DIALOG_DRC_CONTROL::OnLeftDClickUnconnected(), DIALOG_DRC_CONTROL::OnPopupMenu(), DIALOG_EXCHANGE_MODULE::OnQuit(), CVPCB_MAINFRAME::ReadNetListAndLinkFiles(), DRC::ShowDRCDialog(), and DIALOG_SHIM::ShowQuasiModal().

139 {
140  bool ret;
141  const char* hash_key;
142 
143  if( m_hash_key.size() )
144  {
145  // a special case like EDA_LIST_DIALOG, which has multiple uses.
146  hash_key = m_hash_key.c_str();
147  }
148  else
149  {
150  hash_key = typeid(*this).name();
151  }
152 
153  // Show or hide the window. If hiding, save current position and size.
154  // If showing, use previous position and size.
155  if( show )
156  {
157  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
158  ret = wxDialog::Show( show );
159 
160  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
161  EDA_RECT r = class_map[ hash_key ];
162 
163  if( r.GetSize().x != 0 && r.GetSize().y != 0 )
164  SetSize( r.GetPosition().x, r.GetPosition().y, r.GetSize().x, r.GetSize().y, 0 );
165  }
166  else
167  {
168  // Save the dialog's position & size before hiding, using classname as key
169  EDA_RECT r( wxDialog::GetPosition(), wxDialog::GetSize() );
170  class_map[ hash_key ] = r;
171 
172  ret = wxDialog::Show( show );
173  }
174 
176 
177  return ret;
178 }
std::string m_hash_key
Definition: dialog_shim.h:128
void FixOSXCancelButtonIssue()
A ugly hack to fix an issue on OSX: when typing ctrl+c in a wxTextCtrl inside a dialog, it is closed instead of copying a text if a button with wxID_CANCEL is used in a wxStdDialogButtonSizer, when the dlg is created by wxFormBuilder: the label is &Cancel, and this accelerator key has priority to copy text standard accelerator, and the dlg is closed when trying to copy text this function do nothing on other platforms.
static RECT_MAP class_map
const wxPoint & GetPosition() const
Class EDA_RECT handles the component boundary box.
const wxSize & GetSize() const
int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 494 of file dialog_shim.cpp.

References DBG, DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, and DIALOG_SHIM::Show().

Referenced by LIB_EDIT_FRAME::DeleteOnePart(), SCH_EDIT_FRAME::EditComponent(), SCH_EDIT_FRAME::EditComponentFieldText(), LIB_EDIT_FRAME::EditField(), EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_FRAME::InstallExchangeModuleFrame(), LIB_EDIT_FRAME::InstallFieldsEditorDialog(), LIB_VIEW_FRAME::OnSelectSymbol(), and SCH_BASE_FRAME::SelectComponentFromLibrary().

495 {
496  // This is an exception safe way to zero a pointer before returning.
497  // Yes, even though DismissModal() clears this first normally, this is
498  // here in case there's an exception before the dialog is dismissed.
499  struct NULLER
500  {
501  void*& m_what;
502  NULLER( void*& aPtr ) : m_what( aPtr ) {}
503  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
504  } clear_this( (void*&) m_qmodal_loop );
505 
506  // release the mouse if it's currently captured as the window having it
507  // will be disabled when this dialog is shown -- but will still keep the
508  // capture making it impossible to do anything in the modal dialog itself
509  wxWindow* win = wxWindow::GetCapture();
510  if( win )
511  win->ReleaseMouse();
512 
513  // Get the optimal parent
514  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
515 
516  // Show the optimal parent
517  DBG( if( parent ) printf( "%s: optimal parent: %s\n", __func__, typeid(*parent).name() );)
518 
519  wxASSERT_MSG( !m_qmodal_parent_disabler,
520  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
521 
522  // quasi-modal: disable only my "optimal" parent
524 
525  Show( true );
526 
527  m_qmodal_showing = true;
528 
529  EVENT_LOOP event_loop;
530 
531  m_qmodal_loop = &event_loop;
532 
533  event_loop.Run();
534 
535  return GetReturnCode();
536 }
bool m_qmodal_showing
Definition: dialog_shim.h:132
EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:131
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:133
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:33
#define DBG(x)
Definition: fctsys.h:33

Member Data Documentation

wxButton* DIALOG_PLOT_BASE::m_browseButton
protected

Definition at line 67 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

wxButton* DIALOG_PLOT_BASE::m_buttonDRC
protected

Definition at line 114 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

wxButton* DIALOG_PLOT_BASE::m_buttonDrill
protected

Definition at line 113 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

wxButton* DIALOG_PLOT_BASE::m_buttonQuit
protected

Definition at line 115 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

wxChoice* DIALOG_PLOT_BASE::m_drillShapeOpt
protected
wxCheckBox* DIALOG_PLOT_BASE::m_excludeEdgeLayerOpt
protected
wxTextCtrl* DIALOG_PLOT_BASE::m_fineAdjustXscaleOpt
protected
wxTextCtrl* DIALOG_PLOT_BASE::m_fineAdjustYscaleOpt
protected
wxCheckBox* DIALOG_PLOT_BASE::m_forcePSA4OutputOpt
protected
wxStaticBoxSizer* DIALOG_PLOT_BASE::m_GerberOptionsSizer
protected

Definition at line 94 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::SetPlotFormat().

std::string DIALOG_SHIM::m_hash_key
protectedinherited
wxStaticBoxSizer* DIALOG_PLOT_BASE::m_HPGLOptionsSizer
protected

Definition at line 100 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::SetPlotFormat().

wxTextCtrl* DIALOG_PLOT_BASE::m_HPGLPenSizeOpt
protected
wxCheckListBox* DIALOG_PLOT_BASE::m_layerCheckListBox
protected
wxStaticBoxSizer* DIALOG_PLOT_BASE::m_LayersSizer
protected

Definition at line 68 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxTextCtrl* DIALOG_PLOT_BASE::m_linesWidth
protected
wxBoxSizer* DIALOG_PLOT_BASE::m_MainSizer
protected

Definition at line 62 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::SetPlotFormat().

WX_HTML_REPORT_PANEL* DIALOG_PLOT_BASE::m_messagesPanel
protected
wxTextCtrl* DIALOG_PLOT_BASE::m_outputDirectoryName
protected
wxButton* DIALOG_PLOT_BASE::m_plotButton
protected

Definition at line 112 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and ~DIALOG_PLOT_BASE().

wxChoice* DIALOG_PLOT_BASE::m_plotFormatOpt
protected
wxCheckBox* DIALOG_PLOT_BASE::m_plotInvisibleText
protected
wxCheckBox* DIALOG_PLOT_BASE::m_plotMirrorOpt
protected
wxChoice* DIALOG_PLOT_BASE::m_plotModeOpt
protected
wxCheckBox* DIALOG_PLOT_BASE::m_plotModuleRefOpt
protected
wxCheckBox* DIALOG_PLOT_BASE::m_plotModuleValueOpt
protected
wxCheckBox* DIALOG_PLOT_BASE::m_plotNoViaOnMaskOpt
protected
wxBoxSizer* DIALOG_PLOT_BASE::m_PlotOptionsSizer
protected

Definition at line 70 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::SetPlotFormat().

wxCheckBox* DIALOG_PLOT_BASE::m_plotOutlineModeOpt
protected
wxCheckBox* DIALOG_PLOT_BASE::m_plotPads_on_Silkscreen
protected
wxCheckBox* DIALOG_PLOT_BASE::m_plotPSNegativeOpt
protected
wxCheckBox* DIALOG_PLOT_BASE::m_plotSheetRef
protected
wxMenu* DIALOG_PLOT_BASE::m_popMenu
protected
wxTextCtrl* DIALOG_PLOT_BASE::m_PSFineAdjustWidthOpt
protected
wxStaticBoxSizer* DIALOG_PLOT_BASE::m_PSOptionsSizer
protected

Definition at line 103 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::SetPlotFormat().

EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 131 of file dialog_shim.h.

Referenced by DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited
bool DIALOG_SHIM::m_qmodal_showing
protectedinherited
wxRadioBox* DIALOG_PLOT_BASE::m_rbGerberFormat
protected
wxStaticText* DIALOG_PLOT_BASE::m_SolderMaskMarginCurrValue
protected

Definition at line 91 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::Init_Dialog().

wxStaticText* DIALOG_PLOT_BASE::m_SolderMaskMarginLabel
protected

Definition at line 90 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxStaticText* DIALOG_PLOT_BASE::m_SolderMaskMinWidthCurrValue
protected

Definition at line 93 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::Init_Dialog().

wxStaticText* DIALOG_PLOT_BASE::m_solderMaskMinWidthLabel
protected

Definition at line 92 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxStaticText* DIALOG_PLOT_BASE::m_staticText11
protected

Definition at line 82 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxStaticText* DIALOG_PLOT_BASE::m_staticText12
protected

Definition at line 84 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxStaticText* DIALOG_PLOT_BASE::m_staticText13
protected

Definition at line 86 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxStaticText* DIALOG_PLOT_BASE::m_staticText7
protected

Definition at line 104 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxStaticText* DIALOG_PLOT_BASE::m_staticText8
protected

Definition at line 106 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxStaticText* DIALOG_PLOT_BASE::m_staticTextDir
protected

Definition at line 65 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxStaticText* DIALOG_PLOT_BASE::m_staticTextPlotFmt
protected

Definition at line 63 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE().

wxCheckBox* DIALOG_PLOT_BASE::m_subtractMaskFromSilk
protected
wxStaticText* DIALOG_PLOT_BASE::m_textDefaultPenSize
protected

Definition at line 88 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::Init_Dialog().

wxStaticText* DIALOG_PLOT_BASE::m_textPenSize
protected

Definition at line 101 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::Init_Dialog().

wxStaticText* DIALOG_PLOT_BASE::m_textPSFineAdjustWidth
protected

Definition at line 108 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE(), and DIALOG_PLOT::Init_Dialog().

wxCheckBox* DIALOG_PLOT_BASE::m_useAuxOriginCheckBox
protected
wxCheckBox* DIALOG_PLOT_BASE::m_useGerberExtensions
protected
wxCheckBox* DIALOG_PLOT_BASE::m_useGerberNetAttributes
protected
wxCheckBox* DIALOG_PLOT_BASE::m_useGerberX2Attributes
protected

The documentation for this class was generated from the following files: