KiCad PCB EDA Suite
DIALOG_COPPER_ZONE_BASE Class Reference

Class DIALOG_COPPER_ZONE_BASE. More...

#include <dialog_copper_zones_base.h>

Inheritance diagram for DIALOG_COPPER_ZONE_BASE:
DIALOG_SHIM KIWAY_HOLDER DIALOG_COPPER_ZONE

Public Member Functions

 DIALOG_COPPER_ZONE_BASE (wxWindow *parent, wxWindowID id=ID_DIALOG_COPPER_ZONE_BASE, const wxString &title=_("Copper Zone Properties"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(567, 507), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
 
 ~DIALOG_COPPER_ZONE_BASE ()
 
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_DIALOG_COPPER_ZONE_BASE = 1000, ID_NETNAME_SELECTION, ID_M_NETDISPLAYOPTION, ID_TEXTCTRL_NETNAMES_FILTER,
  wxID_APPLY_FILTERS, ID_CORNER_SMOOTHING, ID_M_CORNERSMOOTHINGCTRL, ID_M_PADINZONEOPT,
  wxID_ANTIPAD_SIZE, wxID_COPPER_BRIDGE_VALUE, ID_M_PRIORITYLEVELCTRL, ID_M_FILLMODECTRL,
  ID_M_ARCAPPROXIMATIONOPT, ID_M_ORIENTEDGESOPT, ID_M_OUTLINEAPPEARANCECTRL, wxID_BUTTON_EXPORT
}
 

Protected Member Functions

virtual void OnClose (wxCloseEvent &event)
 
virtual void OnNetSortingOptionSelected (wxCommandEvent &event)
 
virtual void OnRunFiltersButtonClick (wxCommandEvent &event)
 
virtual void OnCornerSmoothingModeChoice (wxCommandEvent &event)
 
virtual void OnPadsInZoneClick (wxCommandEvent &event)
 
virtual void ExportSetupToOtherCopperZones (wxCommandEvent &event)
 
virtual void OnButtonCancelClick (wxCommandEvent &event)
 
virtual void OnButtonOkClick (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_MainBoxSizer
 
wxStaticText * m_staticText17
 
wxListView * m_LayerSelectionCtrl
 
wxStaticText * m_staticText2
 
wxListBox * m_ListNetNameSelection
 
wxStaticText * m_staticText16
 
wxChoice * m_NetDisplayOption
 
wxStaticText * m_staticText5
 
wxTextCtrl * m_DoNotShowNetNameFilter
 
wxStaticText * m_staticText51
 
wxTextCtrl * m_ShowNetNameFilter
 
wxButton * m_buttonRunFilter
 
wxStaticText * m_ClearanceValueTitle
 
wxTextCtrl * m_ZoneClearanceCtrl
 
wxStaticText * m_MinThicknessValueTitle
 
wxTextCtrl * m_ZoneMinThicknessCtrl
 
wxStaticText * m_staticText151
 
wxChoice * m_cornerSmoothingChoice
 
wxStaticText * m_cornerSmoothingTitle
 
wxTextCtrl * m_cornerSmoothingCtrl
 
wxStaticText * m_staticText13
 
wxChoice * m_PadInZoneOpt
 
wxStaticText * m_AntipadSizeText
 
wxTextCtrl * m_AntipadSizeValue
 
wxStaticText * m_CopperBridgeWidthText
 
wxTextCtrl * m_CopperWidthValue
 
wxStaticText * m_staticText171
 
wxSpinCtrl * m_PriorityLevelCtrl
 
wxStaticText * m_staticText11
 
wxChoice * m_FillModeCtrl
 
wxStaticText * m_staticText12
 
wxChoice * m_ArcApproximationOpt
 
wxStaticText * m_staticText14
 
wxChoice * m_OrientEdgesOpt
 
wxStaticText * m_staticText15
 
wxChoice * m_OutlineAppearanceCtrl
 
wxButton * m_ExportSetupButton
 
wxStdDialogButtonSizer * m_sdbSizer
 
wxButton * m_sdbSizerOK
 
wxButton * m_sdbSizerCancel
 
std::string m_hash_key
 
EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 

Private Member Functions

void _wxFB_OnClose (wxCloseEvent &event)
 
void _wxFB_OnNetSortingOptionSelected (wxCommandEvent &event)
 
void _wxFB_OnRunFiltersButtonClick (wxCommandEvent &event)
 
void _wxFB_OnCornerSmoothingModeChoice (wxCommandEvent &event)
 
void _wxFB_OnPadsInZoneClick (wxCommandEvent &event)
 
void _wxFB_ExportSetupToOtherCopperZones (wxCommandEvent &event)
 
void _wxFB_OnButtonCancelClick (wxCommandEvent &event)
 
void _wxFB_OnButtonOkClick (wxCommandEvent &event)
 

Detailed Description

Class DIALOG_COPPER_ZONE_BASE.

Definition at line 39 of file dialog_copper_zones_base.h.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
ID_DIALOG_COPPER_ZONE_BASE 
ID_NETNAME_SELECTION 
ID_M_NETDISPLAYOPTION 
ID_TEXTCTRL_NETNAMES_FILTER 
wxID_APPLY_FILTERS 
ID_CORNER_SMOOTHING 
ID_M_CORNERSMOOTHINGCTRL 
ID_M_PADINZONEOPT 
wxID_ANTIPAD_SIZE 
wxID_COPPER_BRIDGE_VALUE 
ID_M_PRIORITYLEVELCTRL 
ID_M_FILLMODECTRL 
ID_M_ARCAPPROXIMATIONOPT 
ID_M_ORIENTEDGESOPT 
ID_M_OUTLINEAPPEARANCECTRL 
wxID_BUTTON_EXPORT 

Definition at line 56 of file dialog_copper_zones_base.h.

57  {
74  };

Constructor & Destructor Documentation

DIALOG_COPPER_ZONE_BASE::DIALOG_COPPER_ZONE_BASE ( wxWindow *  parent,
wxWindowID  id = ID_DIALOG_COPPER_ZONE_BASE,
const wxString &  title = _("Copper Zone Properties"),
const wxPoint pos = wxDefaultPosition,
const wxSize &  size = wxSize( 567,507 ),
long  style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER 
)

Definition at line 25 of file dialog_copper_zones_base.cpp.

25  : DIALOG_SHIM( parent, id, title, pos, size, style )
26 {
27  this->SetSizeHints( wxDefaultSize, wxDefaultSize );
28 
29  m_MainBoxSizer = new wxBoxSizer( wxVERTICAL );
30 
31  wxBoxSizer* m_OptionsBoxSizer;
32  m_OptionsBoxSizer = new wxBoxSizer( wxHORIZONTAL );
33 
34  wxBoxSizer* m_layerSizer;
35  m_layerSizer = new wxBoxSizer( wxVERTICAL );
36 
37  m_staticText17 = new wxStaticText( this, wxID_ANY, _("Layer:"), wxDefaultPosition, wxDefaultSize, 0 );
38  m_staticText17->Wrap( -1 );
39  m_layerSizer->Add( m_staticText17, 0, wxTOP|wxRIGHT, 5 );
40 
41  m_LayerSelectionCtrl = new wxListView( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ALIGN_LEFT|wxLC_NO_HEADER|wxLC_REPORT|wxLC_SINGLE_SEL );
42  m_layerSizer->Add( m_LayerSelectionCtrl, 1, wxRIGHT, 5 );
43 
44 
45  m_OptionsBoxSizer->Add( m_layerSizer, 0, wxEXPAND, 5 );
46 
47  wxBoxSizer* bSizerNets;
48  bSizerNets = new wxBoxSizer( wxVERTICAL );
49 
50  m_staticText2 = new wxStaticText( this, wxID_ANY, _("Net:"), wxDefaultPosition, wxDefaultSize, 0 );
51  m_staticText2->Wrap( -1 );
52  bSizerNets->Add( m_staticText2, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
53 
54  m_ListNetNameSelection = new wxListBox( this, ID_NETNAME_SELECTION, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
55  bSizerNets->Add( m_ListNetNameSelection, 1, wxEXPAND, 5 );
56 
57 
58  m_OptionsBoxSizer->Add( bSizerNets, 1, wxEXPAND, 5 );
59 
60  wxStaticBoxSizer* m_NetSortOptSizer;
61  m_NetSortOptSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Net Filtering") ), wxVERTICAL );
62 
63  m_staticText16 = new wxStaticText( m_NetSortOptSizer->GetStaticBox(), wxID_ANY, _("Display:"), wxDefaultPosition, wxDefaultSize, 0 );
64  m_staticText16->Wrap( -1 );
65  m_NetSortOptSizer->Add( m_staticText16, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
66 
67  wxString m_NetDisplayOptionChoices[] = { _("Show all (alphabetical)"), _("Show all (pad count)"), _("Filtered (alphabetical)"), _("Filtered (pad count)") };
68  int m_NetDisplayOptionNChoices = sizeof( m_NetDisplayOptionChoices ) / sizeof( wxString );
69  m_NetDisplayOption = new wxChoice( m_NetSortOptSizer->GetStaticBox(), ID_M_NETDISPLAYOPTION, wxDefaultPosition, wxDefaultSize, m_NetDisplayOptionNChoices, m_NetDisplayOptionChoices, 0 );
70  m_NetDisplayOption->SetSelection( 0 );
71  m_NetSortOptSizer->Add( m_NetDisplayOption, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
72 
73  m_staticText5 = new wxStaticText( m_NetSortOptSizer->GetStaticBox(), wxID_ANY, _("Hidden net filter:"), wxDefaultPosition, wxDefaultSize, 0 );
74  m_staticText5->Wrap( -1 );
75  m_NetSortOptSizer->Add( m_staticText5, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
76 
77  m_DoNotShowNetNameFilter = new wxTextCtrl( m_NetSortOptSizer->GetStaticBox(), ID_TEXTCTRL_NETNAMES_FILTER, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
78  m_DoNotShowNetNameFilter->SetToolTip( _("Pattern to filter net names in filtered list.\nNet names matching this pattern are not displayed.") );
79 
80  m_NetSortOptSizer->Add( m_DoNotShowNetNameFilter, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
81 
82  m_staticText51 = new wxStaticText( m_NetSortOptSizer->GetStaticBox(), wxID_ANY, _("Visible net filter:"), wxDefaultPosition, wxDefaultSize, 0 );
83  m_staticText51->Wrap( -1 );
84  m_NetSortOptSizer->Add( m_staticText51, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
85 
86  m_ShowNetNameFilter = new wxTextCtrl( m_NetSortOptSizer->GetStaticBox(), ID_TEXTCTRL_NETNAMES_FILTER, _("*"), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
87  m_ShowNetNameFilter->SetToolTip( _("Pattern to filter net names in filtered list.\nOnly net names matching this pattern are displayed.") );
88 
89  m_NetSortOptSizer->Add( m_ShowNetNameFilter, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
90 
91  m_buttonRunFilter = new wxButton( m_NetSortOptSizer->GetStaticBox(), wxID_APPLY_FILTERS, _("Apply Filters"), wxDefaultPosition, wxDefaultSize, 0 );
92  m_NetSortOptSizer->Add( m_buttonRunFilter, 0, wxALL|wxEXPAND, 5 );
93 
94 
95  m_OptionsBoxSizer->Add( m_NetSortOptSizer, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
96 
97 
98  m_MainBoxSizer->Add( m_OptionsBoxSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
99 
100  wxStaticBoxSizer* m_ExportableSetupSizer;
101  m_ExportableSetupSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Settings") ), wxHORIZONTAL );
102 
103  wxBoxSizer* bSizerSettings;
104  bSizerSettings = new wxBoxSizer( wxVERTICAL );
105 
106  m_ClearanceValueTitle = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Clearance"), wxDefaultPosition, wxDefaultSize, 0 );
107  m_ClearanceValueTitle->Wrap( -1 );
108  bSizerSettings->Add( m_ClearanceValueTitle, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
109 
110  m_ZoneClearanceCtrl = new wxTextCtrl( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
111  bSizerSettings->Add( m_ZoneClearanceCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
112 
113  m_MinThicknessValueTitle = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Minimum width"), wxDefaultPosition, wxDefaultSize, 0 );
114  m_MinThicknessValueTitle->Wrap( -1 );
115  m_MinThicknessValueTitle->SetToolTip( _("Minimum thickness of filled areas.") );
116 
117  bSizerSettings->Add( m_MinThicknessValueTitle, 0, wxRIGHT|wxLEFT, 5 );
118 
119  m_ZoneMinThicknessCtrl = new wxTextCtrl( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
120  bSizerSettings->Add( m_ZoneMinThicknessCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
121 
122  m_staticText151 = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Corner smoothing:"), wxDefaultPosition, wxDefaultSize, 0 );
123  m_staticText151->Wrap( -1 );
124  bSizerSettings->Add( m_staticText151, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
125 
126  wxString m_cornerSmoothingChoiceChoices[] = { _("None"), _("Chamfer"), _("Fillet") };
127  int m_cornerSmoothingChoiceNChoices = sizeof( m_cornerSmoothingChoiceChoices ) / sizeof( wxString );
128  m_cornerSmoothingChoice = new wxChoice( m_ExportableSetupSizer->GetStaticBox(), ID_CORNER_SMOOTHING, wxDefaultPosition, wxDefaultSize, m_cornerSmoothingChoiceNChoices, m_cornerSmoothingChoiceChoices, 0 );
129  m_cornerSmoothingChoice->SetSelection( 0 );
130  bSizerSettings->Add( m_cornerSmoothingChoice, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
131 
132  m_cornerSmoothingTitle = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Chamfer distance (mm):"), wxDefaultPosition, wxDefaultSize, 0 );
133  m_cornerSmoothingTitle->Wrap( -1 );
134  bSizerSettings->Add( m_cornerSmoothingTitle, 0, wxRIGHT|wxLEFT, 5 );
135 
136  m_cornerSmoothingCtrl = new wxTextCtrl( m_ExportableSetupSizer->GetStaticBox(), ID_M_CORNERSMOOTHINGCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
137  bSizerSettings->Add( m_cornerSmoothingCtrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
138 
139 
140  m_ExportableSetupSizer->Add( bSizerSettings, 0, wxEXPAND, 5 );
141 
142  wxBoxSizer* bSizerPadsConnection;
143  bSizerPadsConnection = new wxBoxSizer( wxVERTICAL );
144 
145  m_staticText13 = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Default pad connection:"), wxDefaultPosition, wxDefaultSize, 0 );
146  m_staticText13->Wrap( -1 );
147  m_staticText13->SetToolTip( _("Default pad connection type to zone.\nThis setting can be overridden by local pad settings") );
148 
149  bSizerPadsConnection->Add( m_staticText13, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
150 
151  wxString m_PadInZoneOptChoices[] = { _("Solid"), _("Thermal relief"), _("THT thermal"), _("None") };
152  int m_PadInZoneOptNChoices = sizeof( m_PadInZoneOptChoices ) / sizeof( wxString );
153  m_PadInZoneOpt = new wxChoice( m_ExportableSetupSizer->GetStaticBox(), ID_M_PADINZONEOPT, wxDefaultPosition, wxDefaultSize, m_PadInZoneOptNChoices, m_PadInZoneOptChoices, 0 );
154  m_PadInZoneOpt->SetSelection( 0 );
155  bSizerPadsConnection->Add( m_PadInZoneOpt, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
156 
157  wxStaticBoxSizer* m_ThermalShapesParamsSizer;
158  m_ThermalShapesParamsSizer = new wxStaticBoxSizer( new wxStaticBox( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Thermal Reliefs") ), wxVERTICAL );
159 
160  m_AntipadSizeText = new wxStaticText( m_ThermalShapesParamsSizer->GetStaticBox(), wxID_ANY, _("Antipad clearance"), wxDefaultPosition, wxDefaultSize, 0 );
161  m_AntipadSizeText->Wrap( -1 );
162  m_ThermalShapesParamsSizer->Add( m_AntipadSizeText, 0, wxTOP|wxRIGHT, 5 );
163 
164  m_AntipadSizeValue = new wxTextCtrl( m_ThermalShapesParamsSizer->GetStaticBox(), wxID_ANTIPAD_SIZE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
165  m_AntipadSizeValue->SetToolTip( _("Clearance between pads in the same net and filled areas.") );
166 
167  m_ThermalShapesParamsSizer->Add( m_AntipadSizeValue, 0, wxEXPAND|wxBOTTOM, 5 );
168 
169  m_CopperBridgeWidthText = new wxStaticText( m_ThermalShapesParamsSizer->GetStaticBox(), wxID_ANY, _("Spoke width"), wxDefaultPosition, wxDefaultSize, 0 );
170  m_CopperBridgeWidthText->Wrap( -1 );
171  m_ThermalShapesParamsSizer->Add( m_CopperBridgeWidthText, 0, wxTOP|wxRIGHT, 5 );
172 
173  m_CopperWidthValue = new wxTextCtrl( m_ThermalShapesParamsSizer->GetStaticBox(), wxID_COPPER_BRIDGE_VALUE, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
174  m_CopperWidthValue->SetToolTip( _("Width of copper in thermal reliefs.") );
175 
176  m_ThermalShapesParamsSizer->Add( m_CopperWidthValue, 0, wxEXPAND|wxBOTTOM, 5 );
177 
178 
179  bSizerPadsConnection->Add( m_ThermalShapesParamsSizer, 0, wxALL|wxEXPAND, 5 );
180 
181 
182  m_ExportableSetupSizer->Add( bSizerPadsConnection, 0, wxEXPAND, 5 );
183 
184  wxBoxSizer* m_MiddleBox;
185  m_MiddleBox = new wxBoxSizer( wxVERTICAL );
186 
187  m_staticText171 = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Zone priority level:"), wxDefaultPosition, wxDefaultSize, 0 );
188  m_staticText171->Wrap( -1 );
189  m_staticText171->SetToolTip( _("On each copper layer, zones are filled by priority order.\nSo when a zone is inside an other zone:\n* If its priority is highter: its outlines are removed from the other layer.\n* If its priority is equal: a DRC error is set.") );
190 
191  m_MiddleBox->Add( m_staticText171, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
192 
193  m_PriorityLevelCtrl = new wxSpinCtrl( m_ExportableSetupSizer->GetStaticBox(), ID_M_PRIORITYLEVELCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 0 );
194  m_MiddleBox->Add( m_PriorityLevelCtrl, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
195 
196  m_staticText11 = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Fill mode:"), wxDefaultPosition, wxDefaultSize, 0 );
197  m_staticText11->Wrap( -1 );
198  m_MiddleBox->Add( m_staticText11, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
199 
200  wxString m_FillModeCtrlChoices[] = { _("Polygon"), _("Segment") };
201  int m_FillModeCtrlNChoices = sizeof( m_FillModeCtrlChoices ) / sizeof( wxString );
202  m_FillModeCtrl = new wxChoice( m_ExportableSetupSizer->GetStaticBox(), ID_M_FILLMODECTRL, wxDefaultPosition, wxDefaultSize, m_FillModeCtrlNChoices, m_FillModeCtrlChoices, 0 );
203  m_FillModeCtrl->SetSelection( 0 );
204  m_MiddleBox->Add( m_FillModeCtrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
205 
206  m_staticText12 = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Segments / 360 deg:"), wxDefaultPosition, wxDefaultSize, 0 );
207  m_staticText12->Wrap( -1 );
208  m_MiddleBox->Add( m_staticText12, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
209 
210  wxString m_ArcApproximationOptChoices[] = { _("16"), _("32") };
211  int m_ArcApproximationOptNChoices = sizeof( m_ArcApproximationOptChoices ) / sizeof( wxString );
212  m_ArcApproximationOpt = new wxChoice( m_ExportableSetupSizer->GetStaticBox(), ID_M_ARCAPPROXIMATIONOPT, wxDefaultPosition, wxDefaultSize, m_ArcApproximationOptNChoices, m_ArcApproximationOptChoices, 0 );
213  m_ArcApproximationOpt->SetSelection( 0 );
214  m_MiddleBox->Add( m_ArcApproximationOpt, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
215 
216 
217  m_ExportableSetupSizer->Add( m_MiddleBox, 0, wxEXPAND, 5 );
218 
219  wxBoxSizer* bSizerLowerRight;
220  bSizerLowerRight = new wxBoxSizer( wxVERTICAL );
221 
222  m_staticText14 = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Outline slope:"), wxDefaultPosition, wxDefaultSize, 0 );
223  m_staticText14->Wrap( -1 );
224  bSizerLowerRight->Add( m_staticText14, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
225 
226  wxString m_OrientEdgesOptChoices[] = { _("Arbitrary"), _("H, V, and 45 deg only") };
227  int m_OrientEdgesOptNChoices = sizeof( m_OrientEdgesOptChoices ) / sizeof( wxString );
228  m_OrientEdgesOpt = new wxChoice( m_ExportableSetupSizer->GetStaticBox(), ID_M_ORIENTEDGESOPT, wxDefaultPosition, wxDefaultSize, m_OrientEdgesOptNChoices, m_OrientEdgesOptChoices, 0 );
229  m_OrientEdgesOpt->SetSelection( 0 );
230  bSizerLowerRight->Add( m_OrientEdgesOpt, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
231 
232  m_staticText15 = new wxStaticText( m_ExportableSetupSizer->GetStaticBox(), wxID_ANY, _("Outline style:"), wxDefaultPosition, wxDefaultSize, 0 );
233  m_staticText15->Wrap( -1 );
234  bSizerLowerRight->Add( m_staticText15, 0, wxLEFT|wxRIGHT|wxTOP, 5 );
235 
236  wxString m_OutlineAppearanceCtrlChoices[] = { _("Line"), _("Hatched"), _("Fully hatched") };
237  int m_OutlineAppearanceCtrlNChoices = sizeof( m_OutlineAppearanceCtrlChoices ) / sizeof( wxString );
238  m_OutlineAppearanceCtrl = new wxChoice( m_ExportableSetupSizer->GetStaticBox(), ID_M_OUTLINEAPPEARANCECTRL, wxDefaultPosition, wxDefaultSize, m_OutlineAppearanceCtrlNChoices, m_OutlineAppearanceCtrlChoices, 0 );
239  m_OutlineAppearanceCtrl->SetSelection( 0 );
240  bSizerLowerRight->Add( m_OutlineAppearanceCtrl, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
241 
242 
243  m_ExportableSetupSizer->Add( bSizerLowerRight, 0, wxEXPAND, 5 );
244 
245 
246  m_MainBoxSizer->Add( m_ExportableSetupSizer, 0, wxALL|wxEXPAND, 5 );
247 
248  wxBoxSizer* bSizerbottom;
249  bSizerbottom = new wxBoxSizer( wxHORIZONTAL );
250 
251  m_ExportSetupButton = new wxButton( this, wxID_BUTTON_EXPORT, _("Export Settings to Other Zones"), wxDefaultPosition, wxDefaultSize, 0 );
252  m_ExportSetupButton->SetToolTip( _("Export this zone setup (excluding layer and net selection) to all other copper zones.") );
253 
254  bSizerbottom->Add( m_ExportSetupButton, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
255 
256  m_sdbSizer = new wxStdDialogButtonSizer();
257  m_sdbSizerOK = new wxButton( this, wxID_OK );
258  m_sdbSizer->AddButton( m_sdbSizerOK );
259  m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
260  m_sdbSizer->AddButton( m_sdbSizerCancel );
261  m_sdbSizer->Realize();
262 
263  bSizerbottom->Add( m_sdbSizer, 1, wxEXPAND, 5 );
264 
265 
266  m_MainBoxSizer->Add( bSizerbottom, 0, wxALIGN_RIGHT|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
267 
268 
269  this->SetSizer( m_MainBoxSizer );
270  this->Layout();
271 }
wxStdDialogButtonSizer * m_sdbSizer
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
DIALOG_COPPER_ZONE_BASE::~DIALOG_COPPER_ZONE_BASE ( )

Definition at line 273 of file dialog_copper_zones_base.cpp.

274 {
275 }

Member Function Documentation

void DIALOG_COPPER_ZONE_BASE::_wxFB_ExportSetupToOtherCopperZones ( wxCommandEvent &  event)
inlineprivate

Definition at line 50 of file dialog_copper_zones_base.h.

References ExportSetupToOtherCopperZones().

virtual void ExportSetupToOtherCopperZones(wxCommandEvent &event)
void DIALOG_COPPER_ZONE_BASE::_wxFB_OnButtonCancelClick ( wxCommandEvent &  event)
inlineprivate

Definition at line 51 of file dialog_copper_zones_base.h.

References OnButtonCancelClick().

51 { OnButtonCancelClick( event ); }
virtual void OnButtonCancelClick(wxCommandEvent &event)
void DIALOG_COPPER_ZONE_BASE::_wxFB_OnButtonOkClick ( wxCommandEvent &  event)
inlineprivate

Definition at line 52 of file dialog_copper_zones_base.h.

References OnButtonOkClick().

52 { OnButtonOkClick( event ); }
virtual void OnButtonOkClick(wxCommandEvent &event)
void DIALOG_COPPER_ZONE_BASE::_wxFB_OnClose ( wxCloseEvent &  event)
inlineprivate

Definition at line 45 of file dialog_copper_zones_base.h.

References OnClose().

45 { OnClose( event ); }
virtual void OnClose(wxCloseEvent &event)
void DIALOG_COPPER_ZONE_BASE::_wxFB_OnCornerSmoothingModeChoice ( wxCommandEvent &  event)
inlineprivate

Definition at line 48 of file dialog_copper_zones_base.h.

References OnCornerSmoothingModeChoice().

48 { OnCornerSmoothingModeChoice( event ); }
virtual void OnCornerSmoothingModeChoice(wxCommandEvent &event)
void DIALOG_COPPER_ZONE_BASE::_wxFB_OnNetSortingOptionSelected ( wxCommandEvent &  event)
inlineprivate

Definition at line 46 of file dialog_copper_zones_base.h.

References OnNetSortingOptionSelected().

46 { OnNetSortingOptionSelected( event ); }
virtual void OnNetSortingOptionSelected(wxCommandEvent &event)
void DIALOG_COPPER_ZONE_BASE::_wxFB_OnPadsInZoneClick ( wxCommandEvent &  event)
inlineprivate

Definition at line 49 of file dialog_copper_zones_base.h.

References OnPadsInZoneClick().

49 { OnPadsInZoneClick( event ); }
virtual void OnPadsInZoneClick(wxCommandEvent &event)
void DIALOG_COPPER_ZONE_BASE::_wxFB_OnRunFiltersButtonClick ( wxCommandEvent &  event)
inlineprivate

Definition at line 47 of file dialog_copper_zones_base.h.

References OnRunFiltersButtonClick().

47 { OnRunFiltersButtonClick( event ); }
virtual void OnRunFiltersButtonClick(wxCommandEvent &event)
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
virtual void DIALOG_COPPER_ZONE_BASE::ExportSetupToOtherCopperZones ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_COPPER_ZONE.

Definition at line 123 of file dialog_copper_zones_base.h.

Referenced by _wxFB_ExportSetupToOtherCopperZones().

123 { event.Skip(); }
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_COPPER_ZONE_BASE::OnButtonCancelClick ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_COPPER_ZONE.

Definition at line 124 of file dialog_copper_zones_base.h.

Referenced by _wxFB_OnButtonCancelClick().

124 { event.Skip(); }
virtual void DIALOG_COPPER_ZONE_BASE::OnButtonOkClick ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_COPPER_ZONE.

Definition at line 125 of file dialog_copper_zones_base.h.

Referenced by _wxFB_OnButtonOkClick().

125 { event.Skip(); }
virtual void DIALOG_COPPER_ZONE_BASE::OnClose ( wxCloseEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_COPPER_ZONE.

Definition at line 118 of file dialog_copper_zones_base.h.

Referenced by _wxFB_OnClose().

118 { event.Skip(); }
virtual void DIALOG_COPPER_ZONE_BASE::OnCornerSmoothingModeChoice ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_COPPER_ZONE.

Definition at line 121 of file dialog_copper_zones_base.h.

Referenced by _wxFB_OnCornerSmoothingModeChoice().

121 { event.Skip(); }
virtual void DIALOG_COPPER_ZONE_BASE::OnNetSortingOptionSelected ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_COPPER_ZONE.

Definition at line 119 of file dialog_copper_zones_base.h.

Referenced by _wxFB_OnNetSortingOptionSelected().

119 { event.Skip(); }
virtual void DIALOG_COPPER_ZONE_BASE::OnPadsInZoneClick ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_COPPER_ZONE.

Definition at line 122 of file dialog_copper_zones_base.h.

Referenced by _wxFB_OnPadsInZoneClick().

122 { event.Skip(); }
virtual void DIALOG_COPPER_ZONE_BASE::OnRunFiltersButtonClick ( wxCommandEvent &  event)
inlineprotectedvirtual

Reimplemented in DIALOG_COPPER_ZONE.

Definition at line 120 of file dialog_copper_zones_base.h.

Referenced by _wxFB_OnRunFiltersButtonClick().

120 { 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(), 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_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_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(), 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(), 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.

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
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

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_AntipadSizeText
protected

Definition at line 98 of file dialog_copper_zones_base.h.

Referenced by DIALOG_COPPER_ZONE::initDialog().

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_AntipadSizeValue
protected
wxChoice* DIALOG_COPPER_ZONE_BASE::m_ArcApproximationOpt
protected
wxButton* DIALOG_COPPER_ZONE_BASE::m_buttonRunFilter
protected

Definition at line 87 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_ClearanceValueTitle
protected

Definition at line 88 of file dialog_copper_zones_base.h.

Referenced by DIALOG_COPPER_ZONE::initDialog().

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_CopperBridgeWidthText
protected

Definition at line 100 of file dialog_copper_zones_base.h.

Referenced by DIALOG_COPPER_ZONE::initDialog().

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_CopperWidthValue
protected
wxChoice* DIALOG_COPPER_ZONE_BASE::m_cornerSmoothingChoice
protected
wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_cornerSmoothingCtrl
protected
wxStaticText* DIALOG_COPPER_ZONE_BASE::m_cornerSmoothingTitle
protected
wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_DoNotShowNetNameFilter
protected
wxButton* DIALOG_COPPER_ZONE_BASE::m_ExportSetupButton
protected

Definition at line 112 of file dialog_copper_zones_base.h.

wxChoice* DIALOG_COPPER_ZONE_BASE::m_FillModeCtrl
protected
std::string DIALOG_SHIM::m_hash_key
protectedinherited
wxListView* DIALOG_COPPER_ZONE_BASE::m_LayerSelectionCtrl
protected
wxListBox* DIALOG_COPPER_ZONE_BASE::m_ListNetNameSelection
protected
wxBoxSizer* DIALOG_COPPER_ZONE_BASE::m_MainBoxSizer
protected

Definition at line 76 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_MinThicknessValueTitle
protected

Definition at line 90 of file dialog_copper_zones_base.h.

Referenced by DIALOG_COPPER_ZONE::initDialog().

wxChoice* DIALOG_COPPER_ZONE_BASE::m_OrientEdgesOpt
protected
wxChoice* DIALOG_COPPER_ZONE_BASE::m_OutlineAppearanceCtrl
protected
wxChoice* DIALOG_COPPER_ZONE_BASE::m_PadInZoneOpt
protected
wxSpinCtrl* DIALOG_COPPER_ZONE_BASE::m_PriorityLevelCtrl
protected
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
wxStdDialogButtonSizer* DIALOG_COPPER_ZONE_BASE::m_sdbSizer
protected

Definition at line 113 of file dialog_copper_zones_base.h.

wxButton* DIALOG_COPPER_ZONE_BASE::m_sdbSizerCancel
protected

Definition at line 115 of file dialog_copper_zones_base.h.

wxButton* DIALOG_COPPER_ZONE_BASE::m_sdbSizerOK
protected

Definition at line 114 of file dialog_copper_zones_base.h.

Referenced by DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE().

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText11
protected

Definition at line 104 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText12
protected

Definition at line 106 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText13
protected

Definition at line 96 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText14
protected

Definition at line 108 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText15
protected

Definition at line 110 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText151
protected

Definition at line 92 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText16
protected

Definition at line 81 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText17
protected

Definition at line 77 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText171
protected

Definition at line 102 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText2
protected

Definition at line 79 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText5
protected

Definition at line 83 of file dialog_copper_zones_base.h.

wxStaticText* DIALOG_COPPER_ZONE_BASE::m_staticText51
protected

Definition at line 85 of file dialog_copper_zones_base.h.

wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_ZoneClearanceCtrl
protected
wxTextCtrl* DIALOG_COPPER_ZONE_BASE::m_ZoneMinThicknessCtrl
protected

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