KiCad PCB EDA Suite
NETLIST_DIALOG Class Reference
Inheritance diagram for NETLIST_DIALOG:
NETLIST_DIALOG_BASE DIALOG_SHIM KIWAY_HOLDER

Public Types

enum  HOLDER_TYPE { DIALOG, FRAME, PANEL }
 

Public Member Functions

 NETLIST_DIALOG (SCH_EDIT_FRAME *parent)
 
 ~NETLIST_DIALOG ()
 
void SetInitialFocus (wxWindow *aWindow)
 Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown. More...
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal ()
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
EDA_UNITS GetUserUnits () const
 
HOLDER_TYPE GetType ()
 
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...
 

Static Public Member Functions

static bool IsCtrl (int aChar, const wxKeyEvent &e)
 
static bool IsShiftCtrl (int aChar, const wxKeyEvent &e)
 
static void FixOSXCancelButtonIssue (wxWindow *aWindow)
 

Public Attributes

SCH_EDIT_FRAMEm_Parent
 
wxString m_DefaultNetFmtName
 
NETLIST_PAGE_DIALOGm_PanelNetType [4+CUSTOMPANEL_COUNTMAX]
 

Protected Types

enum  { ID_CHANGE_NOTEBOOK_PAGE = 1000, ID_ADD_PLUGIN, ID_DEL_PLUGIN }
 

Protected Member Functions

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 SetSizeInDU (int x, int y)
 Set the dialog to the given dimensions in "dialog units". More...
 
int HorizPixelsFromDU (int x)
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int VertPixelsFromDU (int y)
 Convert an integer number of dialog units to pixels, vertically. More...
 
void ResetSize ()
 Clear the existing dialog size and position. More...
 

Protected Attributes

bool m_asFormatSelected
 
wxNotebook * m_NoteBook
 
wxBoxSizer * m_buttonSizer
 
wxButton * m_buttonAddGenerator
 
wxButton * m_buttonDelGenerator
 
wxStdDialogButtonSizer * m_sdbSizer2
 
wxButton * m_sdbSizer2OK
 
wxButton * m_sdbSizer2Cancel
 
EDA_UNITS m_units
 
std::string m_hash_key
 
bool m_firstPaintEvent
 
wxWindow * m_initialFocusTarget
 
WX_EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 
EDA_BASE_FRAMEm_parentFrame
 
std::vector< wxWindow * > m_tabOrder
 

Private Member Functions

void InstallCustomPages ()
 
NETLIST_PAGE_DIALOGAddOneCustomPage (const wxString &aTitle, const wxString &aCommandString, NETLIST_TYPE_ID aNetTypeId)
 
void InstallPageSpice ()
 
bool TransferDataFromWindow () override
 
void NetlistUpdateOpt ()
 
void OnNetlistTypeSelection (wxNotebookEvent &event) override
 
void SelectDefaultNetlistType (wxCommandEvent &event)
 
void OnAddGenerator (wxCommandEvent &event) override
 Function OnAddGenerator Add a new panel for a new netlist plugin. More...
 
void OnDelGenerator (wxCommandEvent &event) override
 Function OnDelGenerator Remove a panel relative to a netlist plugin. More...
 
void WriteCurrentNetlistSetup ()
 Function WriteCurrentNetlistSetup Write the current netlist options setup in the configuration. More...
 
bool FilenamePrms (NETLIST_TYPE_ID aType, wxString *aExt, wxString *aWildCard)
 Function FilenamePrms returns the filename extension and the wildcard string for this curr or a void name if there is no default name. More...
 

Friends

class NETLIST_PAGE_DIALOG
 

Detailed Description

Definition at line 107 of file eeschema/dialogs/dialog_netlist.cpp.

Member Enumeration Documentation

◆ anonymous enum

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 42 of file kiway_holder.h.

Constructor & Destructor Documentation

◆ NETLIST_DIALOG()

NETLIST_DIALOG::NETLIST_DIALOG ( SCH_EDIT_FRAME parent)

Definition at line 258 of file eeschema/dialogs/dialog_netlist.cpp.

258  :
259  NETLIST_DIALOG_BASE( parent )
260 {
261  m_Parent = parent;
262 
264 
265  for( NETLIST_PAGE_DIALOG*& page : m_PanelNetType)
266  page = NULL;
267 
268  // Add notebook pages:
269  m_asFormatSelected = false; // Will be set to true, if a format is selected
270 
271  m_PanelNetType[PANELPCBNEW] = new NETLIST_PAGE_DIALOG( m_NoteBook, wxT( "Pcbnew" ),
272  NET_TYPE_PCBNEW );
273 
274  m_PanelNetType[PANELORCADPCB2] = new NETLIST_PAGE_DIALOG( m_NoteBook, wxT( "OrcadPCB2" ),
276 
277  m_PanelNetType[PANELCADSTAR] = new NETLIST_PAGE_DIALOG( m_NoteBook, wxT( "CadStar" ),
279 
282 
283  // Ensure a netlist format is selected:
284  if( !m_asFormatSelected )
285  {
286  m_PanelNetType[PANELPCBNEW]->m_IsCurrentFormat->SetValue( true );
287  m_NoteBook->SetSelection( PANELPCBNEW );
289  // call OnNetlistTypeSelection to update some widgets.
290  // SetSelection() do nothing if the current page is already PANELPCBNEW
291  wxNotebookEvent event;
292  OnNetlistTypeSelection( event );
293  }
294 
295  // We use a sdbSizer here to get the order right, which is platform-dependent
296  m_sdbSizer2OK->SetLabel( _( "Export Netlist" ) );
297  m_sdbSizer2Cancel->SetLabel( _( "Close" ) );
298  m_buttonSizer->Layout();
299 
300  m_sdbSizer2OK->SetDefault();
301 
302  // Now all widgets have the size fixed, call FinishDialogSettings
304 }
void FinishDialogSettings()
In all dialogs, we must call the same functions to fix minimal dlg size, the default position and per...
const wxString & GetNetListFormatName() const
#define NULL
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
#define _(s)
Definition: 3d_actions.cpp:33
NETLIST_DIALOG_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Export Netlist"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
void OnNetlistTypeSelection(wxNotebookEvent &event) override
const wxString GetPageNetFmtName()
function GetPageNetFmtName

References _, DIALOG_SHIM::FinishDialogSettings(), SCH_EDIT_FRAME::GetNetListFormatName(), NETLIST_PAGE_DIALOG::GetPageNetFmtName(), InstallCustomPages(), InstallPageSpice(), m_asFormatSelected, NETLIST_DIALOG_BASE::m_buttonSizer, m_DefaultNetFmtName, NETLIST_PAGE_DIALOG::m_IsCurrentFormat, NETLIST_DIALOG_BASE::m_NoteBook, m_PanelNetType, m_Parent, NETLIST_DIALOG_BASE::m_sdbSizer2Cancel, NETLIST_DIALOG_BASE::m_sdbSizer2OK, NET_TYPE_CADSTAR, NET_TYPE_ORCADPCB2, NET_TYPE_PCBNEW, NETLIST_PAGE_DIALOG, NULL, OnNetlistTypeSelection(), PANELCADSTAR, PANELORCADPCB2, and PANELPCBNEW.

◆ ~NETLIST_DIALOG()

NETLIST_DIALOG::~NETLIST_DIALOG ( )
inline

Definition at line 122 of file eeschema/dialogs/dialog_netlist.cpp.

122 { };

Member Function Documentation

◆ AddOneCustomPage()

NETLIST_PAGE_DIALOG * NETLIST_DIALOG::AddOneCustomPage ( const wxString &  aTitle,
const wxString &  aCommandString,
NETLIST_TYPE_ID  aNetTypeId 
)
private

Definition at line 350 of file eeschema/dialogs/dialog_netlist.cpp.

353 {
354  NETLIST_PAGE_DIALOG* currPage = new NETLIST_PAGE_DIALOG( m_NoteBook, aTitle, aNetTypeId );
355 
356  currPage->m_LowBoxSizer->Add( new wxStaticText( currPage, -1, _( "Title:" ) ), 0,
357  wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );
358 
359  currPage->m_TitleStringCtrl = new wxTextCtrl( currPage, -1, aTitle,
360  wxDefaultPosition, wxDefaultSize );
361 
362  currPage->m_TitleStringCtrl->SetInsertionPoint( 1 );
363  currPage->m_LowBoxSizer->Add( currPage->m_TitleStringCtrl, 0,
364  wxGROW | wxTOP | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
365 
366  currPage->m_LowBoxSizer->Add( new wxStaticText( currPage, -1, _( "Netlist command:" ) ), 0,
367  wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );
368 
369  currPage->m_CommandStringCtrl = new wxTextCtrl( currPage, -1, aCommandString,
370  wxDefaultPosition, wxDefaultSize );
371 
372  currPage->m_CommandStringCtrl->SetInsertionPoint( 1 );
373  currPage->m_LowBoxSizer->Add( currPage->m_CommandStringCtrl, 0,
374  wxGROW | wxTOP | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
375 
376  return currPage;
377 }
#define _(s)
Definition: 3d_actions.cpp:33

References _, NETLIST_PAGE_DIALOG::m_CommandStringCtrl, NETLIST_PAGE_DIALOG::m_LowBoxSizer, NETLIST_DIALOG_BASE::m_NoteBook, NETLIST_PAGE_DIALOG::m_TitleStringCtrl, and NETLIST_PAGE_DIALOG.

Referenced by InstallCustomPages(), and OnAddGenerator().

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 267 of file dialog_shim.cpp.

268 {
269  // so we can do logging of this state change:
270 
271 #if 0 && defined(DEBUG)
272  const char* type_id = typeid( *this ).name();
273  printf( "DIALOG_SHIM %s: %s\n", type_id, enable ? "enabled" : "disabled" );
274  fflush(0); //Needed on msys2 to immediately print the message
275 #endif
276 
277  return wxDialog::Enable( enable );
278 }

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 397 of file dialog_shim.cpp.

398 {
399  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
400  // handle validation in the same way as other dialogs.
401  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
402  return;
403 
404  SetReturnCode( retCode );
405 
406  if( !IsQuasiModal() )
407  {
408  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
409  "wasn't called" );
410  return;
411  }
412 
413  if( m_qmodal_loop )
414  {
415  if( m_qmodal_loop->IsRunning() )
416  m_qmodal_loop->Exit( 0 );
417  else
418  m_qmodal_loop->ScheduleExit( 0 );
419 
421  }
422 
425 
426  Show( false );
427 }
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:206
#define NULL
bool IsQuasiModal()
Definition: dialog_shim.h:123
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:209

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

Referenced by HK_PROMPT_DIALOG::EndFlexible(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_COMPONENTS_LIBID::onCancel(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCancelButtonClick(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_PRINT_GENERIC::onCloseButton(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_CHOOSE_COMPONENT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), HTML_MESSAGE_BOX::OnOKButtonClick(), DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser(), DIALOG_CHOOSE_COMPONENT::OnUseBrowser(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ FilenamePrms()

bool NETLIST_DIALOG::FilenamePrms ( NETLIST_TYPE_ID  aType,
wxString *  aExt,
wxString *  aWildCard 
)
private

Function FilenamePrms returns the filename extension and the wildcard string for this curr or a void name if there is no default name.

Parameters
aType= the netlist type ( NET_TYPE_PCBNEW ... )
aExt= a reference to a wxString to return the default file ext.
aWildCard= reference to a wxString to return the default wildcard.
Returns
true for known netlist type, false for custom formats

Definition at line 512 of file eeschema/dialogs/dialog_netlist.cpp.

513 {
514  wxString fileExt;
515  wxString fileWildcard;
516  bool ret = true;
517 
518  switch( aType )
519  {
520  case NET_TYPE_SPICE:
521  fileExt = wxT( "cir" );
522  fileWildcard = SpiceNetlistFileWildcard();
523  break;
524 
525  case NET_TYPE_CADSTAR:
526  fileExt = wxT( "frp" );
527  fileWildcard = CadstarNetlistFileWildcard();
528  break;
529 
530  case NET_TYPE_PCBNEW:
531  case NET_TYPE_ORCADPCB2:
532  fileExt = NetlistFileExtension;
533  fileWildcard = NetlistFileWildcard();
534  break;
535 
536  default: // custom, NET_TYPE_CUSTOM1 and greater
537  fileWildcard = AllFilesWildcard();
538  ret = false;
539  }
540 
541  if( aExt )
542  *aExt = fileExt;
543 
544  if( aWildCard )
545  *aWildCard = fileWildcard;
546 
547  return ret;
548 }
const std::string NetlistFileExtension
wxString SpiceNetlistFileWildcard()
wxString AllFilesWildcard()
wxString NetlistFileWildcard()
wxString CadstarNetlistFileWildcard()

References AllFilesWildcard(), CadstarNetlistFileWildcard(), NET_TYPE_CADSTAR, NET_TYPE_ORCADPCB2, NET_TYPE_PCBNEW, NET_TYPE_SPICE, NetlistFileExtension, NetlistFileWildcard(), and SpiceNetlistFileWildcard().

Referenced by TransferDataFromWindow().

◆ FinishDialogSettings()

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 142 of file dialog_shim.cpp.

143 {
144  // must be called from the constructor of derived classes,
145  // when all widgets are initialized, and therefore their size fixed
146 
147  // SetSizeHints fixes the minimal size of sizers in the dialog
148  // (SetSizeHints calls Fit(), so no need to call it)
149  GetSizer()->SetSizeHints( this );
150 
151  // the default position, when calling the first time the dlg
152  Center();
153 }

References PCAD2KICAD::Center.

Referenced by DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOM::DIALOG_BOM(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DRC::DIALOG_DRC(), DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC(), DIALOG_EDIT_COMPONENTS_LIBID::DIALOG_EDIT_COMPONENTS_LIBID(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EDIT_SHEET_PIN::DIALOG_EDIT_SHEET_PIN(), DIALOG_EDITOR_DATA::DIALOG_EDITOR_DATA(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_ERC::DIALOG_ERC(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::DIALOG_GLOBAL_LIB_TABLE_CONFIG(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_IMAGE_EDITOR::DIALOG_IMAGE_EDITOR(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), 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_PIN::DIALOG_LIB_EDIT_PIN(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_LIB_NEW_COMPONENT::DIALOG_LIB_NEW_COMPONENT(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_PRINT_GENERIC::DIALOG_PRINT_GENERIC(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_SCH_SHEET_PROPS::DIALOG_SCH_SHEET_PROPS(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SELECT_NET_FROM_LIST::DIALOG_SELECT_NET_FROM_LIST(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), DLG_SELECT_3DMODEL::DLG_SELECT_3DMODEL(), PAGED_DIALOG::finishInitialization(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SCH_SHEET_PROPS::OnInitDlg(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), DIALOG_UPDATE_FIELDS::TransferDataToWindow(), DIALOG_COLOR_PICKER::TransferDataToWindow(), and DIALOG_BOARD_STATISTICS::TransferDataToWindow().

◆ FixOSXCancelButtonIssue()

static void DIALOG_SHIM::FixOSXCancelButtonIssue ( wxWindow *  aWindow)
staticinherited

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( )
inlineinherited

Definition at line 49 of file kiway_holder.h.

49 { return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:82

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUserUnits()

◆ HorizPixelsFromDU()

int DIALOG_SHIM::HorizPixelsFromDU ( int  x)
protectedinherited

Convert an integer number of dialog units to pixels, horizontally.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 163 of file dialog_shim.cpp.

164 {
165  wxSize sz( x, 0 );
166  return ConvertDialogToPixels( sz ).x;
167 }

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), and DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT().

◆ InstallCustomPages()

void NETLIST_DIALOG::InstallCustomPages ( )
private

Definition at line 320 of file eeschema/dialogs/dialog_netlist.cpp.

321 {
322  NETLIST_PAGE_DIALOG* currPage;
323 
324  auto cfg = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() );
325  wxASSERT( cfg );
326 
327  if( cfg )
328  {
329  for( size_t i = 0;
330  i < CUSTOMPANEL_COUNTMAX && i < cfg->m_NetlistPanel.custom_command_titles.size();
331  i++ )
332  {
333  // pairs of (title, command) are stored
334  wxString title = cfg->m_NetlistPanel.custom_command_titles[i];
335 
336  if( i >= cfg->m_NetlistPanel.custom_command_paths.size() )
337  break; // No more panel to install
338 
339  wxString command = cfg->m_NetlistPanel.custom_command_paths[i];
340 
341  currPage = AddOneCustomPage( title, command,
342  static_cast<NETLIST_TYPE_ID>( NET_TYPE_CUSTOM1 + i ) );
343 
344  m_PanelNetType[PANELCUSTOMBASE + i] = currPage;
345  }
346  }
347 }
#define CUSTOMPANEL_COUNTMAX
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
NETLIST_PAGE_DIALOG * AddOneCustomPage(const wxString &aTitle, const wxString &aCommandString, NETLIST_TYPE_ID aNetTypeId)

References AddOneCustomPage(), CUSTOMPANEL_COUNTMAX, Kiface(), m_PanelNetType, NET_TYPE_CUSTOM1, and PANELCUSTOMBASE.

Referenced by NETLIST_DIALOG().

◆ InstallPageSpice()

void NETLIST_DIALOG::InstallPageSpice ( )
private

Definition at line 307 of file eeschema/dialogs/dialog_netlist.cpp.

308 {
310  new NETLIST_PAGE_DIALOG( m_NoteBook, wxT( "Spice" ), NET_TYPE_SPICE );
311 
312  page->m_AdjustPassiveValues = new wxCheckBox( page, ID_USE_NETCODE_AS_NETNAME,
313  _( "Reformat passive symbol values" ) );
314  page->m_AdjustPassiveValues->SetToolTip( _( "Reformat passive symbol values e.g. 1M -> 1Meg" ) );
316  page->m_LeftBoxSizer->Add( page->m_AdjustPassiveValues, 0, wxGROW | wxBOTTOM | wxRIGHT, 5 );
317 }
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
#define _(s)
Definition: 3d_actions.cpp:33
bool GetSpiceAjustPassiveValues() const

References _, SCH_EDIT_FRAME::GetSpiceAjustPassiveValues(), ID_USE_NETCODE_AS_NETNAME, NETLIST_PAGE_DIALOG::m_AdjustPassiveValues, NETLIST_PAGE_DIALOG::m_LeftBoxSizer, NETLIST_DIALOG_BASE::m_NoteBook, m_PanelNetType, m_Parent, NET_TYPE_SPICE, NETLIST_PAGE_DIALOG, and PANELSPICE.

Referenced by NETLIST_DIALOG().

◆ IsCtrl()

static bool DIALOG_SHIM::IsCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 136 of file dialog_shim.h.

137  {
138  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
139  !e.ShiftDown() && !e.MetaDown();
140  }

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook().

◆ IsQuasiModal()

◆ IsShiftCtrl()

static bool DIALOG_SHIM::IsShiftCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 142 of file dialog_shim.h.

143  {
144  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
145  e.ShiftDown() && !e.MetaDown();
146  }

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook().

◆ Kiway()

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 56 of file kiway_holder.h.

57  {
58  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
59  return *m_kiway;
60  }
KIWAY * m_kiway
Definition: kiway_holder.h:81

References KIWAY_HOLDER::m_kiway.

Referenced by TREEPROJECT_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_CONTROL::AddSymbolToSchematic(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), CVPCB_MAINFRAME::DisplayStatus(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), PCB_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithLibEdit(), BACK_ANNOTATE::FetchNetlistFromPCB(), DISPLAY_FOOTPRINTS_FRAME::GetModule(), PCB_EDIT_FRAME::importFile(), KICAD_MANAGER_FRAME::language_change(), KIWAY_PLAYER::language_change(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), CVPCB_MAINFRAME::LoadFootprintFiles(), KICAD_MANAGER_FRAME::LoadProject(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), KICAD_MANAGER_FRAME::OnCloseWindow(), SCH_EDIT_FRAME::OnCloseWindow(), PL_EDITOR_FRAME::OnExit(), SCH_EDIT_FRAME::OnExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), LIB_EDIT_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), KICAD_MANAGER_FRAME::OnImportEagleFiles(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), FOOTPRINT_EDIT_FRAME::OnUpdateInsertModuleInBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadModuleFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), KIWAY_HOLDER::Prj(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDITOR_CONTROL::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), LIB_TREE_MODEL_ADAPTER::SavePinnedItems(), SCH_BASE_FRAME::SelectComponentFromLibBrowser(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), SCH_EDIT_FRAME::SetCrossProbeConnection(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), PCB_EDITOR_CONTROL::UpdateSchematicFromPCB(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ NetlistUpdateOpt()

void NETLIST_DIALOG::NetlistUpdateOpt ( )
private

Definition at line 410 of file eeschema/dialogs/dialog_netlist.cpp.

411 {
412  bool adjust = m_PanelNetType[ PANELSPICE ]->m_AdjustPassiveValues->IsChecked();
413 
415  m_Parent->SetNetListFormatName( wxEmptyString );
416 
417  for( NETLIST_PAGE_DIALOG*& page : m_PanelNetType)
418  {
419  if( page == NULL )
420  break;
421 
422  if( page->m_IsCurrentFormat->GetValue() == true )
423  m_Parent->SetNetListFormatName( page->GetPageNetFmtName() );
424  }
425 }
void SetSpiceAdjustPassiveValues(bool aEnable)
#define NULL
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
void SetNetListFormatName(const wxString &aFormat)

References NETLIST_PAGE_DIALOG::m_AdjustPassiveValues, m_PanelNetType, m_Parent, NULL, PANELSPICE, SCH_EDIT_FRAME::SetNetListFormatName(), and SCH_EDIT_FRAME::SetSpiceAdjustPassiveValues().

Referenced by TransferDataFromWindow(), and WriteCurrentNetlistSetup().

◆ OnAddGenerator()

void NETLIST_DIALOG::OnAddGenerator ( wxCommandEvent &  event)
overrideprivatevirtual

Function OnAddGenerator Add a new panel for a new netlist plugin.

Reimplemented from NETLIST_DIALOG_BASE.

Definition at line 604 of file eeschema/dialogs/dialog_netlist.cpp.

605 {
606  NETLIST_DIALOG_ADD_GENERATOR dlg( this );
607 
608  if( dlg.ShowModal() != wxID_OK )
609  return;
610 
611  // Creates a new custom plugin page
612  wxString title = dlg.GetGeneratorTitle();
613 
614  // Verify it does not exists
615  int netTypeId = PANELCUSTOMBASE; // the first not used type id
616  NETLIST_PAGE_DIALOG* currPage;
617 
618  for( int ii = 0; ii < CUSTOMPANEL_COUNTMAX; ii++ )
619  {
620  netTypeId = PANELCUSTOMBASE + ii;
621  currPage = m_PanelNetType[ii + PANELCUSTOMBASE];
622 
623  if( currPage == NULL )
624  break;
625 
626  if( currPage->GetPageNetFmtName() == title )
627  {
628  wxMessageBox( _("This plugin already exists.") );
629  return;
630  }
631  }
632 
633  wxString cmd = dlg.GetGeneratorTCommandLine();
634  currPage = AddOneCustomPage( title,cmd, (NETLIST_TYPE_ID)netTypeId );
635  m_PanelNetType[netTypeId] = currPage;
637 
638  // Close and reopen dialog to rebuild the dialog after changes
639  EndModal( NET_PLUGIN_CHANGE );
640 }
NETLIST_TYPE_ID
netlist types
Definition: netlist.h:35
void WriteCurrentNetlistSetup()
Function WriteCurrentNetlistSetup Write the current netlist options setup in the configuration.
#define NULL
#define CUSTOMPANEL_COUNTMAX
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
NETLIST_PAGE_DIALOG * AddOneCustomPage(const wxString &aTitle, const wxString &aCommandString, NETLIST_TYPE_ID aNetTypeId)
#define _(s)
Definition: 3d_actions.cpp:33
#define NET_PLUGIN_CHANGE
Create and shows NETLIST_DIALOG and returns whatever NETLIST_DIALOG::ShowModal() returns.
const wxString GetPageNetFmtName()
function GetPageNetFmtName

References _, AddOneCustomPage(), CUSTOMPANEL_COUNTMAX, NETLIST_DIALOG_ADD_GENERATOR::GetGeneratorTCommandLine(), NETLIST_DIALOG_ADD_GENERATOR::GetGeneratorTitle(), NETLIST_PAGE_DIALOG::GetPageNetFmtName(), m_PanelNetType, NET_PLUGIN_CHANGE, NULL, PANELCUSTOMBASE, and WriteCurrentNetlistSetup().

◆ OnDelGenerator()

void NETLIST_DIALOG::OnDelGenerator ( wxCommandEvent &  event)
overrideprivatevirtual

Function OnDelGenerator Remove a panel relative to a netlist plugin.

Reimplemented from NETLIST_DIALOG_BASE.

Definition at line 586 of file eeschema/dialogs/dialog_netlist.cpp.

587 {
588  NETLIST_PAGE_DIALOG* currPage = (NETLIST_PAGE_DIALOG*) m_NoteBook->GetCurrentPage();
589 
590  currPage->m_CommandStringCtrl->SetValue( wxEmptyString );
591  currPage->m_TitleStringCtrl->SetValue( wxEmptyString );
592 
593  if( currPage->m_IsCurrentFormat->IsChecked() )
594  {
595  currPage->m_IsCurrentFormat->SetValue( false );
596  m_PanelNetType[PANELPCBNEW]->m_IsCurrentFormat->SetValue( true );
597  }
598 
600  EndModal( NET_PLUGIN_CHANGE );
601 }
void WriteCurrentNetlistSetup()
Function WriteCurrentNetlistSetup Write the current netlist options setup in the configuration.
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
#define NET_PLUGIN_CHANGE
Create and shows NETLIST_DIALOG and returns whatever NETLIST_DIALOG::ShowModal() returns.

References NETLIST_PAGE_DIALOG::m_CommandStringCtrl, NETLIST_PAGE_DIALOG::m_IsCurrentFormat, NETLIST_DIALOG_BASE::m_NoteBook, m_PanelNetType, NETLIST_PAGE_DIALOG::m_TitleStringCtrl, NET_PLUGIN_CHANGE, PANELPCBNEW, and WriteCurrentNetlistSetup().

◆ OnNetlistTypeSelection()

void NETLIST_DIALOG::OnNetlistTypeSelection ( wxNotebookEvent &  event)
overrideprivatevirtual

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 300 of file dialog_shim.cpp.

301 {
302  if( m_firstPaintEvent )
303  {
305 
306  selectAllInTextCtrls( GetChildren() );
307 
309  m_initialFocusTarget->SetFocus();
310  else
311  SetFocus(); // Focus the dialog itself
312 
313  m_firstPaintEvent = false;
314  }
315 
316  event.Skip();
317 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:204
bool m_firstPaintEvent
Definition: dialog_shim.h:203
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:38
static void selectAllInTextCtrls(wxWindowList &children)

References KIPLATFORM::UI::FixupCancelButtonCmdKeyCollision(), DIALOG_SHIM::m_firstPaintEvent, DIALOG_SHIM::m_initialFocusTarget, and selectAllInTextCtrls().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

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

Definition at line 35 of file kiway_holder.cpp.

36 {
37  return Kiway().Prj();
38 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_holder.h:56
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:172

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

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_MANAGER::addLibrary(), SCH_EDIT_FRAME::AppendSchematic(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_FOOTPRINT_FP_EDITOR::Cfg3DPath(), DIALOG_FOOTPRINT_BOARD_EDITOR::Cfg3DPath(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_EDIT_FRAME::CreateScreens(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromLibrary(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), LIB_VIEW_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PL_DRAW_PANEL_GAL::DisplayWorksheet(), PCB_EDIT_FRAME::doAutoSave(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), DIALOG_EXPORT_SVG::ExportSVGFile(), LIB_CONTROL::ExportSymbolAsSVG(), LIB_CONTROL::ExportView(), PCB_EDIT_FRAME::ExportVRML_File(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DIALOG_GENDRILL::GenDrillAndMapFiles(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), SCH_BASE_FRAME::GetLibPart(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DISPLAY_FOOTPRINTS_FRAME::GetModule(), KICAD_MANAGER_FRAME::GetProjectFileName(), LIB_VIEW_FRAME::GetSelectedSymbol(), FP_THREAD_IFACE::GetTable(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), DIALOG_CONFIG_EQUFILES::Init(), FOOTPRINT_EDIT_FRAME::initLibraryTree(), LIB_EDIT_FRAME::KiwayMailIn(), EDA_DRAW_FRAME::LibraryFileBrowser(), LIB_EDIT_FRAME::LoadComponentFromCurrentLib(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), LIB_EDIT_FRAME::LoadOneSymbol(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProjectSettings(), PCB_EDIT_FRAME::LoadProjectSettings(), DRC::LoadRules(), SCH_EDIT_FRAME::LoadSheetFromFile(), DIALOG_FOOTPRINT_FP_EDITOR::On3DModelCellChanged(), DIALOG_FOOTPRINT_BOARD_EDITOR::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_FOOTPRINT_FP_EDITOR::OnAdd3DModel(), DIALOG_FOOTPRINT_BOARD_EDITOR::OnAdd3DModel(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), SCH_EDIT_FRAME::OnCloseWindow(), DIALOG_GENDRILL::OnGenReportFile(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), DIALOG_CONFIG_EQUFILES::OnOkClick(), SCH_EDIT_FRAME::OnOpenCvpcb(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_BOM::OnRunGenerator(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_LABEL_EDITOR::onScintillaCharAdded(), DIALOG_SCH_EDIT_ONE_FIELD::onScintillaCharAdded(), DIALOG_SPICE_MODEL::onSelectLibrary(), LIB_VIEW_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), PANEL_PREV_3D::PANEL_PREV_3D(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_TOOLS::PasteFootprint(), PCB_BASE_EDIT_FRAME::PCB_BASE_EDIT_FRAME(), DIALOG_PLOT::Plot(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_CHOOSE_COMPONENT::PopulateFootprintSelector(), SCH_EDITOR_CONTROL::Print(), SCH_EDIT_FRAME::PrintPage(), EDA_DRAW_FRAME::PrintWorkSheet(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), LIB_VIEW_FRAME::ReCreateListCmp(), LIB_VIEW_FRAME::ReCreateListLib(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), DIALOG_EDIT_COMPONENTS_LIBID::revertChanges(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::saveLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), LIB_EDIT_FRAME::savePartAs(), PCB_EDIT_FRAME::SavePcbFile(), SCH_EDIT_FRAME::SaveProject(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), SCH_BASE_FRAME::saveSymbolLibTables(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectCompFromLibTree(), PCB_BASE_FRAME::SelectLibrary(), LIB_EDIT_FRAME::SelectLibraryFromList(), LIB_EDIT_FRAME::selectSymLibTable(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), GERBVIEW_FRAME::SetPageSettings(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_COMPONENT::ShowFootprintFor(), COMMON_CONTROL::ShowHelp(), LIB_VIEW_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER::takeScreenshot(), PANEL_SETUP_RULES::TransferDataFromWindow(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow(), TransferDataFromWindow(), DIALOG_EDIT_COMPONENTS_LIBID::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), DIALOG_FOOTPRINT_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_BOARD_EDITOR::TransferDataToWindow(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::UpdateFieldsFromLibrary(), DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::UpdateTitle(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::Validate(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_BOARD_EDITOR::~DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::~DIALOG_FOOTPRINT_FP_EDITOR(), and PCB_BASE_EDIT_FRAME::~PCB_BASE_EDIT_FRAME().

◆ ResetSize()

void DIALOG_SHIM::ResetSize ( )
protectedinherited

Clear the existing dialog size and position.

This will cause the dialog size to be clear so the next time the dialog is shown the sizers will layout the dialog accordingly. This useful when there are dialog windows that size changes due to layout dependency hidden controls.

Definition at line 242 of file dialog_shim.cpp.

243 {
244  const char* hash_key;
245 
246  if( m_hash_key.size() )
247  {
248  // a special case like EDA_LIST_DIALOG, which has multiple uses.
249  hash_key = m_hash_key.c_str();
250  }
251  else
252  {
253  hash_key = typeid(*this).name();
254  }
255 
256  RECT_MAP::iterator it = class_map.find( hash_key );
257 
258  if( it == class_map.end() )
259  return;
260 
261  EDA_RECT rect = it->second;
262  rect.SetSize( 0, 0 );
263  class_map[ hash_key ] = rect;
264 }
std::string m_hash_key
Definition: dialog_shim.h:198
static RECT_MAP class_map
void SetSize(const wxSize &size)
Definition: eda_rect.h:144
EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44

References class_map, DIALOG_SHIM::m_hash_key, and EDA_RECT::SetSize().

Referenced by DIALOG_EDIT_COMPONENT_IN_LIBRARY::DIALOG_EDIT_COMPONENT_IN_LIBRARY().

◆ SelectDefaultNetlistType()

void NETLIST_DIALOG::SelectDefaultNetlistType ( wxCommandEvent &  event)
private

Definition at line 380 of file eeschema/dialogs/dialog_netlist.cpp.

381 {
382  for( NETLIST_PAGE_DIALOG*& page : m_PanelNetType)
383  {
384  if( page )
385  page->m_IsCurrentFormat->SetValue( false );
386  }
387 
388  NETLIST_PAGE_DIALOG* currPage = (NETLIST_PAGE_DIALOG*) m_NoteBook->GetCurrentPage();
389 
390  if( currPage == NULL )
391  return;
392 
395  currPage->m_IsCurrentFormat->SetValue( true );
396 }
#define NULL
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
void SetNetListFormatName(const wxString &aFormat)
const wxString GetPageNetFmtName()
function GetPageNetFmtName

References NETLIST_PAGE_DIALOG::GetPageNetFmtName(), m_DefaultNetFmtName, NETLIST_PAGE_DIALOG::m_IsCurrentFormat, NETLIST_DIALOG_BASE::m_NoteBook, m_PanelNetType, m_Parent, NULL, and SCH_EDIT_FRAME::SetNetListFormatName().

◆ SetInitialFocus()

void DIALOG_SHIM::SetInitialFocus ( wxWindow *  aWindow)
inlineinherited

Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.

Definition at line 114 of file dialog_shim.h.

115  {
116  m_initialFocusTarget = aWindow;
117  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:204

References DIALOG_SHIM::m_initialFocusTarget.

Referenced by DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EDIT_SHEET_PIN::DIALOG_EDIT_SHEET_PIN(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_FIND::DIALOG_FIND(), DIALOG_FOOTPRINT_BOARD_EDITOR::DIALOG_FOOTPRINT_BOARD_EDITOR(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_PIN::DIALOG_LIB_EDIT_PIN(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_SCH_FIND::DIALOG_SCH_FIND(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchAllClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchIDClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchRefClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchSelectedClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchValueClicked(), PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), LIB_EDIT_FRAME::savePartAs(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), DIALOG_KEEPOUT_AREA_PROPERTIES::TransferDataToWindow(), and DIALOG_COPPER_ZONE::TransferDataToWindow().

◆ SetKiway()

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 42 of file kiway_holder.cpp.

43 {
44 #if defined(DEBUG)
45  // offer a trap point for debugging most any window
46  wxASSERT( aDest );
47  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
48  {
49  int breakhere=1;
50  (void) breakhere;
51  }
52 #endif
53 
54  (void) aDest;
55 
56  m_kiway = aKiway;
57 }
KIWAY * m_kiway
Definition: kiway_holder.h:81
const char * name
Definition: DXF_plotter.cpp:60

References KIWAY_HOLDER::m_kiway, and name.

Referenced by BM2CMP_FRAME::BM2CMP_FRAME(), PCB::IFACE::CreateWindow(), InvokePcbLibTableEditor(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

◆ SetSizeInDU()

void DIALOG_SHIM::SetSizeInDU ( int  x,
int  y 
)
protectedinherited

Set the dialog to the given dimensions in "dialog units".

These are units equivalent to 4* the average character width and 8* the average character height, allowing a dialog to be sized in a way that scales it with the system font.

Definition at line 156 of file dialog_shim.cpp.

157 {
158  wxSize sz( x, y );
159  SetSize( ConvertDialogToPixels( sz ) );
160 }

Referenced by DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), and HTML_MESSAGE_BOX::SetDialogSizeInDU().

◆ Show()

bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 183 of file dialog_shim.cpp.

184 {
185  bool ret;
186  const char* hash_key;
187 
188  if( m_hash_key.size() )
189  {
190  // a special case like EDA_LIST_DIALOG, which has multiple uses.
191  hash_key = m_hash_key.c_str();
192  }
193  else
194  {
195  hash_key = typeid(*this).name();
196  }
197 
198  // Show or hide the window. If hiding, save current position and size.
199  // If showing, use previous position and size.
200  if( show )
201  {
202 #ifndef __WINDOWS__
203  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
204 #endif
205  ret = wxDialog::Show( show );
206 
207  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
208  EDA_RECT savedDialogRect = class_map[ hash_key ];
209 
210  if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
211  {
212  SetSize( savedDialogRect.GetPosition().x,
213  savedDialogRect.GetPosition().y,
214  std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
215  std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
216  0 );
217  }
218 
219  // Be sure that the dialog appears in a visible area
220  // (the dialog position might have been stored at the time when it was
221  // shown on another display)
222  if( wxDisplay::GetFromWindow( this ) == wxNOT_FOUND )
223  Centre();
224  }
225  else
226  {
227  // Save the dialog's position & size before hiding, using classname as key
228  class_map[ hash_key ] = EDA_RECT( wxDialog::GetPosition(), wxDialog::GetSize() );
229 
230 #ifdef __WXMAC__
231  if ( m_eventLoop )
232  m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
233 #endif
234 
235  ret = wxDialog::Show( show );
236  }
237 
238  return ret;
239 }
std::string m_hash_key
Definition: dialog_shim.h:198
static RECT_MAP class_map
const wxPoint GetPosition() const
Definition: eda_rect.h:115
EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44
const wxSize GetSize() const
Definition: eda_rect.h:103

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

Referenced by DIALOG_SHIM::EndQuasiModal(), InvokeDialogERC(), SCH_EDIT_FRAME::OnAnnotate(), DIALOG_DRC::OnDRCItemDClick(), DIALOG_ERC::OnERCItemDClick(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnLeftDClickItem(), DIALOG_CLEANUP_GRAPHICS::OnLeftDClickItem(), POSITION_RELATIVE_TOOL::PositionRelative(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), DRC::ShowDRCDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), DIALOG_SHIM::ShowQuasiModal(), DIALOG_POSITION_RELATIVE::UpdateAnchor(), and SCH_EDIT_FRAME::UpdateHierarchyNavigator().

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 343 of file dialog_shim.cpp.

344 {
345  // This is an exception safe way to zero a pointer before returning.
346  // Yes, even though DismissModal() clears this first normally, this is
347  // here in case there's an exception before the dialog is dismissed.
348  struct NULLER
349  {
350  void*& m_what;
351  NULLER( void*& aPtr ) : m_what( aPtr ) {}
352  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
353  } clear_this( (void*&) m_qmodal_loop );
354 
355  // release the mouse if it's currently captured as the window having it
356  // will be disabled when this dialog is shown -- but will still keep the
357  // capture making it impossible to do anything in the modal dialog itself
358  wxWindow* win = wxWindow::GetCapture();
359  if( win )
360  win->ReleaseMouse();
361 
362  // Get the optimal parent
363  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
364 
365  // Show the optimal parent
366  DBG( if( parent ) printf( "%s: optimal parent: %s\n", __func__, typeid(*parent).name() );)
367 
368  wxASSERT_MSG( !m_qmodal_parent_disabler,
369  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
370 
371  // quasi-modal: disable only my "optimal" parent
373 
374 
375  // Apple in its infinite wisdom will raise a disabled window before even passing
376  // us the event, so we have no way to stop it. Instead, we must set an order on
377  // the windows so that the quasi-modal will be pushed in front of the disabled
378  // window when it is raised.
380 
381  Show( true );
382 
383  m_qmodal_showing = true;
384 
385  WX_EVENT_LOOP event_loop;
386 
387  m_qmodal_loop = &event_loop;
388 
389  event_loop.Run();
390 
391  m_qmodal_showing = false;
392 
393  return GetReturnCode();
394 }
bool m_qmodal_showing
Definition: dialog_shim.h:208
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:206
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:209
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:38
#define DBG(x)
Definition: fctsys.h:33
void ReparentQuasiModal(wxNonOwnedWindow *aWindow)
Move a window's parent to be the top-level window and force the window to be on top.
Definition: gtk/ui.cpp:32

References DBG, DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, KIPLATFORM::UI::ReparentQuasiModal(), DIALOG_SHIM::Show(), and WX_EVENT_LOOP.

Referenced by LIB_EDIT_TOOL::editFieldProperties(), SCH_EDITOR_CONTROL::EditSymbolFields(), LIB_EDIT_TOOL::editSymbolProperties(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), PCB_EDIT_FRAME::InstallExchangeModuleFrame(), PCB_BASE_FRAME::InstallPadOptionsFrame(), InvokeDialogEditComponentsLibId(), InvokeDialogRescueEach(), InvokeDialogUpdateFields(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::RemapSymbols(), SCH_BASE_FRAME::SelectCompFromLibTree(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), and SCH_EDIT_FRAME::ShowSchematicSetupDialog().

◆ TransferDataFromWindow()

bool NETLIST_DIALOG::TransferDataFromWindow ( )
overrideprivate

Definition at line 428 of file eeschema/dialogs/dialog_netlist.cpp.

429 {
430  wxFileName fn;
431  wxString fileWildcard;
432  wxString fileExt;
433  wxString title = _( "Save Netlist File" );
434 
436 
437  NETLIST_PAGE_DIALOG* currPage;
438  currPage = (NETLIST_PAGE_DIALOG*) m_NoteBook->GetCurrentPage();
439 
440  unsigned netlist_opt = 0;
441 
442  // Calculate the netlist filename
443  fn = m_Parent->Schematic().GetFileName();
444  FilenamePrms( currPage->m_IdNetType, &fileExt, &fileWildcard );
445 
446  // Set some parameters
447  switch( currPage->m_IdNetType )
448  {
449  case NET_TYPE_SPICE:
450  // Set spice netlist options:
451  if( currPage->m_AdjustPassiveValues->GetValue() )
452  netlist_opt |= NET_ADJUST_PASSIVE_VALS;
453  break;
454 
455  case NET_TYPE_CADSTAR:
456  break;
457 
458  case NET_TYPE_PCBNEW:
459  break;
460 
461  case NET_TYPE_ORCADPCB2:
462  break;
463 
464  default: // custom, NET_TYPE_CUSTOM1 and greater
465  {
466  wxString command = currPage->m_CommandStringCtrl->GetValue();
467  wxRegEx extRE( wxT( ".*\\.([[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]]?)\\.xslt?\".*" ) );
468 
469  if( extRE.Matches( command ) )
470  fileExt = extRE.GetMatch( command, 1 );
471 
472  title.Printf( _( "%s Export" ), currPage->m_TitleStringCtrl->GetValue().GetData() );
473  }
474  break;
475  }
476 
477  fn.SetExt( fileExt );
478 
479  if( fn.GetPath().IsEmpty() )
480  fn.SetPath( wxPathOnly( Prj().GetProjectFullName() ) );
481 
482  wxString fullpath = fn.GetFullPath();
483  wxString fullname = fn.GetFullName();
484  wxString path = fn.GetPath();
485 
486  // fullname does not and should not include the path, per wx docs.
487  wxFileDialog dlg( this, title, path, fullname, fileWildcard, wxFD_SAVE );
488 
489  if( dlg.ShowModal() == wxID_CANCEL )
490  return false;
491 
492  fullpath = dlg.GetPath(); // directory + filename
493 
495 
496  if( currPage->m_CommandStringCtrl )
497  m_Parent->SetNetListerCommand( currPage->m_CommandStringCtrl->GetValue() );
498  else
499  m_Parent->SetNetListerCommand( wxEmptyString );
500 
501  if( m_Parent->ReadyToNetlist( false, false ) )
502  m_Parent->WriteNetListFile( currPage->m_IdNetType, fullpath, netlist_opt, nullptr );
503  else
504  wxMessageBox( _( "Schematic netlist not available" ) );
505 
507 
508  return true;
509 }
bool WriteNetListFile(int aFormat, const wxString &aFullFileName, unsigned aNetlistOptions, REPORTER *aReporter=NULL)
Create a netlist file.
bool FilenamePrms(NETLIST_TYPE_ID aType, wxString *aExt, wxString *aWildCard)
Function FilenamePrms returns the filename extension and the wildcard string for this curr or a void ...
bool ReadyToNetlist(bool aSilent=false, bool aSilentAnnotate=false)
Checks if we are ready to write a netlist file for the current schematic.
wxString GetFileName() const
Helper to retrieve the filename from the root sheet screen.
Definition: schematic.cpp:131
void WriteCurrentNetlistSetup()
Function WriteCurrentNetlistSetup Write the current netlist options setup in the configuration.
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
SCHEMATIC & Schematic() const
virtual void ClearMsgPanel()
Clear all messages from the message panel.
#define _(s)
Definition: 3d_actions.cpp:33
void SetNetListerCommand(const wxString &aCommand)

References _, EDA_DRAW_FRAME::ClearMsgPanel(), FilenamePrms(), SCHEMATIC::GetFileName(), NETLIST_PAGE_DIALOG::m_AdjustPassiveValues, NETLIST_PAGE_DIALOG::m_CommandStringCtrl, NETLIST_PAGE_DIALOG::m_IdNetType, NETLIST_DIALOG_BASE::m_NoteBook, m_Parent, NETLIST_PAGE_DIALOG::m_TitleStringCtrl, NET_ADJUST_PASSIVE_VALS, NET_TYPE_CADSTAR, NET_TYPE_ORCADPCB2, NET_TYPE_PCBNEW, NET_TYPE_SPICE, NetlistUpdateOpt(), KIWAY_HOLDER::Prj(), SCH_EDIT_FRAME::ReadyToNetlist(), SCH_EDIT_FRAME::Schematic(), SCH_EDIT_FRAME::SetNetListerCommand(), WriteCurrentNetlistSetup(), and SCH_EDIT_FRAME::WriteNetListFile().

◆ VertPixelsFromDU()

int DIALOG_SHIM::VertPixelsFromDU ( int  y)
protectedinherited

Convert an integer number of dialog units to pixels, vertically.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 170 of file dialog_shim.cpp.

171 {
172  wxSize sz( 0, y );
173  return ConvertDialogToPixels( sz ).y;
174 }

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT().

◆ WriteCurrentNetlistSetup()

void NETLIST_DIALOG::WriteCurrentNetlistSetup ( )
private

Function WriteCurrentNetlistSetup Write the current netlist options setup in the configuration.

Definition at line 551 of file eeschema/dialogs/dialog_netlist.cpp.

552 {
553  wxString msg;
554 
556 
557  EESCHEMA_SETTINGS* cfg = dynamic_cast<EESCHEMA_SETTINGS*>( Kiface().KifaceSettings() );
558  wxASSERT( cfg );
559 
560  if( cfg )
561  {
564 
565  // Update existing custom pages
566  for( int ii = 0; ii < CUSTOMPANEL_COUNTMAX; ii++ )
567  {
569 
570  if( currPage == NULL )
571  break;
572 
573  wxString title = currPage->m_TitleStringCtrl->GetValue();
574 
575  if( title.IsEmpty() )
576  continue;
577 
578  cfg->m_NetlistPanel.custom_command_titles.emplace_back( title.ToStdString() );
579  cfg->m_NetlistPanel.custom_command_paths.emplace_back(
580  currPage->m_CommandStringCtrl->GetValue().ToStdString() );
581  }
582  }
583 }
std::vector< wxString > custom_command_titles
#define NULL
#define CUSTOMPANEL_COUNTMAX
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
std::vector< wxString > custom_command_paths
PANEL_NETLIST m_NetlistPanel

References EESCHEMA_SETTINGS::PANEL_NETLIST::custom_command_paths, EESCHEMA_SETTINGS::PANEL_NETLIST::custom_command_titles, CUSTOMPANEL_COUNTMAX, Kiface(), NETLIST_PAGE_DIALOG::m_CommandStringCtrl, EESCHEMA_SETTINGS::m_NetlistPanel, m_PanelNetType, NETLIST_PAGE_DIALOG::m_TitleStringCtrl, NetlistUpdateOpt(), NULL, and PANELCUSTOMBASE.

Referenced by OnAddGenerator(), OnDelGenerator(), and TransferDataFromWindow().

Friends And Related Function Documentation

◆ NETLIST_PAGE_DIALOG

friend class NETLIST_PAGE_DIALOG
friend

Member Data Documentation

◆ m_asFormatSelected

bool NETLIST_DIALOG::m_asFormatSelected
protected

Definition at line 117 of file eeschema/dialogs/dialog_netlist.cpp.

Referenced by NETLIST_DIALOG().

◆ m_buttonAddGenerator

wxButton* NETLIST_DIALOG_BASE::m_buttonAddGenerator
protectedinherited

Definition at line 53 of file eeschema/dialogs/dialog_netlist_base.h.

◆ m_buttonDelGenerator

wxButton* NETLIST_DIALOG_BASE::m_buttonDelGenerator
protectedinherited

Definition at line 54 of file eeschema/dialogs/dialog_netlist_base.h.

Referenced by OnNetlistTypeSelection().

◆ m_buttonSizer

wxBoxSizer* NETLIST_DIALOG_BASE::m_buttonSizer
protectedinherited

Definition at line 52 of file eeschema/dialogs/dialog_netlist_base.h.

Referenced by NETLIST_DIALOG().

◆ m_DefaultNetFmtName

wxString NETLIST_DIALOG::m_DefaultNetFmtName

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 203 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_hash_key

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 204 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint(), and DIALOG_SHIM::SetInitialFocus().

◆ m_NoteBook

wxNotebook* NETLIST_DIALOG_BASE::m_NoteBook
protectedinherited

◆ m_PanelNetType

◆ m_Parent

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

Definition at line 211 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnCharHook(), and DIALOG_DRC::OnDRCItemRClick().

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 206 of file dialog_shim.h.

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

◆ m_qmodal_parent_disabler

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited

◆ m_qmodal_showing

bool DIALOG_SHIM::m_qmodal_showing
protectedinherited

Definition at line 208 of file dialog_shim.h.

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

◆ m_sdbSizer2

wxStdDialogButtonSizer* NETLIST_DIALOG_BASE::m_sdbSizer2
protectedinherited

Definition at line 55 of file eeschema/dialogs/dialog_netlist_base.h.

◆ m_sdbSizer2Cancel

wxButton* NETLIST_DIALOG_BASE::m_sdbSizer2Cancel
protectedinherited

Definition at line 57 of file eeschema/dialogs/dialog_netlist_base.h.

Referenced by NETLIST_DIALOG().

◆ m_sdbSizer2OK

wxButton* NETLIST_DIALOG_BASE::m_sdbSizer2OK
protectedinherited

Definition at line 56 of file eeschema/dialogs/dialog_netlist_base.h.

Referenced by NETLIST_DIALOG().

◆ m_tabOrder

◆ m_units


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