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, SCREEN }
 

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)
 

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
 
wxConfigBase * m_config
 
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
 
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...
 
const wxString UserNetlistTypeName (bool first_item)
 Function UserNetlistTypeName to retrieve user netlist type names. 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 105 of file eeschema/dialogs/dialog_netlist.cpp.

Member Enumeration Documentation

◆ anonymous enum

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 
SCREEN 

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 274 of file eeschema/dialogs/dialog_netlist.cpp.

274  :
275  NETLIST_DIALOG_BASE( parent )
276 {
277  m_Parent = parent;
279 
280  long tmp;
281  m_config->Read( NETLIST_USE_DEFAULT_NETNAME, &tmp, 0l );
283 
284  for( NETLIST_PAGE_DIALOG*& page : m_PanelNetType)
285  page = NULL;
286 
287  // Add notebook pages:
288  m_asFormatSelected = false; // Will be set to true, if a format is selected
289 
290  m_PanelNetType[PANELPCBNEW] = new NETLIST_PAGE_DIALOG( m_NoteBook, wxT( "Pcbnew" ),
291  NET_TYPE_PCBNEW );
292 
293  m_PanelNetType[PANELORCADPCB2] = new NETLIST_PAGE_DIALOG( m_NoteBook, wxT( "OrcadPCB2" ),
295 
296  m_PanelNetType[PANELCADSTAR] = new NETLIST_PAGE_DIALOG( m_NoteBook, wxT( "CadStar" ),
298 
301 
302  // Ensure a netlist format is selected:
303  if( !m_asFormatSelected )
304  {
305  m_PanelNetType[PANELPCBNEW]->m_IsCurrentFormat->SetValue( true );
306  m_NoteBook->SetSelection( PANELPCBNEW );
308  // call OnNetlistTypeSelection to update some widgets.
309  // SetSelection() do nothing if the current page is already PANELPCBNEW
310  wxNotebookEvent event;
311  OnNetlistTypeSelection( event );
312  }
313 
314  // We use a sdbSizer here to get the order right, which is platform-dependent
315  m_sdbSizer2OK->SetLabel( _( "Export Netlist" ) );
316  m_sdbSizer2Cancel->SetLabel( _( "Close" ) );
317  m_buttonSizer->Layout();
318 
319  m_sdbSizer2OK->SetDefault();
320 
321  // Now all widgets have the size fixed, call FinishDialogSettings
323 }
wxConfigBase * KifaceSettings() const
Definition: kiface_i.h:103
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 NETLIST_USE_DEFAULT_NETNAME
#define NULL
KIFACE_I & Kiface()
Global KIFACE_I "get" accessor.
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
#define _(s)
Definition: 3d_actions.cpp:31
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(), Kiface(), KIFACE_I::KifaceSettings(), m_asFormatSelected, NETLIST_DIALOG_BASE::m_buttonSizer, m_config, 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, NETLIST_USE_DEFAULT_NETNAME, NULL, OnNetlistTypeSelection(), PANELCADSTAR, PANELORCADPCB2, and PANELPCBNEW.

◆ ~NETLIST_DIALOG()

NETLIST_DIALOG::~NETLIST_DIALOG ( )
inline

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

121 { };

Member Function Documentation

◆ AddOneCustomPage()

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

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

382 {
383  NETLIST_PAGE_DIALOG* currPage = new NETLIST_PAGE_DIALOG( m_NoteBook, aTitle, aNetTypeId );
384 
385  currPage->m_LowBoxSizer->Add( new wxStaticText( currPage, -1, _( "Title:" ) ), 0,
386  wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );
387 
388  currPage->m_TitleStringCtrl = new wxTextCtrl( currPage, -1, aTitle,
389  wxDefaultPosition, wxDefaultSize );
390 
391  currPage->m_TitleStringCtrl->SetInsertionPoint( 1 );
392  currPage->m_LowBoxSizer->Add( currPage->m_TitleStringCtrl, 0,
393  wxGROW | wxTOP | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
394 
395  currPage->m_LowBoxSizer->Add( new wxStaticText( currPage, -1, _( "Netlist command:" ) ), 0,
396  wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );
397 
398  currPage->m_CommandStringCtrl = new wxTextCtrl( currPage, -1, aCommandString,
399  wxDefaultPosition, wxDefaultSize );
400 
401  currPage->m_CommandStringCtrl->SetInsertionPoint( 1 );
402  currPage->m_LowBoxSizer->Add( currPage->m_CommandStringCtrl, 0,
403  wxGROW | wxTOP | wxLEFT | wxRIGHT | wxBOTTOM, 5 );
404 
405  return currPage;
406 }
#define _(s)
Definition: 3d_actions.cpp:31

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

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

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 419 of file dialog_shim.cpp.

420 {
421  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
422  // handle validation in the same way as other dialogs.
423  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
424  return;
425 
426  SetReturnCode( retCode );
427 
428  if( !IsQuasiModal() )
429  {
430  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
431  "wasn't called" );
432  return;
433  }
434 
435  if( m_qmodal_loop )
436  {
437  if( m_qmodal_loop->IsRunning() )
438  m_qmodal_loop->Exit( 0 );
439  else
440  m_qmodal_loop->ScheduleExit( 0 );
441 
443  }
444 
447 
448  Show( false );
449 }
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:205
#define NULL
bool IsQuasiModal()
Definition: dialog_shim.h:124
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:208

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 543 of file eeschema/dialogs/dialog_netlist.cpp.

544 {
545  wxString fileExt;
546  wxString fileWildcard;
547  bool ret = true;
548 
549  switch( aType )
550  {
551  case NET_TYPE_SPICE:
552  fileExt = wxT( "cir" );
553  fileWildcard = SpiceNetlistFileWildcard();
554  break;
555 
556  case NET_TYPE_CADSTAR:
557  fileExt = wxT( "frp" );
558  fileWildcard = CadstarNetlistFileWildcard();
559  break;
560 
561  case NET_TYPE_PCBNEW:
562  case NET_TYPE_ORCADPCB2:
563  fileExt = NetlistFileExtension;
564  fileWildcard = NetlistFileWildcard();
565  break;
566 
567  default: // custom, NET_TYPE_CUSTOM1 and greater
568  fileWildcard = AllFilesWildcard();
569  ret = false;
570  }
571 
572  if( aExt )
573  *aExt = fileExt;
574 
575  if( aWildCard )
576  *aWildCard = fileWildcard;
577 
578  return ret;
579 }
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 137 of file dialog_shim.cpp.

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

References PCAD2KICAD::Center.

Referenced by DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOM::DIALOG_BOM(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DRC_CONTROL::DIALOG_DRC_CONTROL(), 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_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_FOOTPRINTS_DISPLAY_OPTIONS::DIALOG_FOOTPRINTS_DISPLAY_OPTIONS(), DIALOG_FP_BROWSER_DISPLAY_OPTIONS::DIALOG_FP_BROWSER_DISPLAY_OPTIONS(), 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_IMAGE_EDITOR::DIALOG_IMAGE_EDITOR(), 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_SELECT_NET_FROM_LIST::DIALOG_SELECT_NET_FROM_LIST(), DIALOG_SET_GRID::DIALOG_SET_GRID(), 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_PCB::DIALOG_UPDATE_PCB(), PAGED_DIALOG::finishInitialization(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::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().

◆ 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(), and GERBVIEW_FRAME::SaveSettings().

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

159 {
160  wxSize sz( x, 0 );
161  return ConvertDialogToPixels( sz ).x;
162 }

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

◆ InstallCustomPages()

void NETLIST_DIALOG::InstallCustomPages ( )
private

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

356 {
357  int ii;
358  wxString title;
359  NETLIST_PAGE_DIALOG* currPage;
360 
361  for( ii = 0; ii < CUSTOMPANEL_COUNTMAX; ii++ )
362  {
363  title = UserNetlistTypeName( ii == 0 ? true : false );
364 
365  if( title.IsEmpty() )
366  break; // No more panel to install
367 
368  // Install a plugin panel
369  wxString msg = CUSTOM_NETLIST_COMMAND;
370  msg << ii + 1;
371  wxString command = m_config->Read( msg );
372 
373  currPage = AddOneCustomPage( title, command, (NETLIST_TYPE_ID)(NET_TYPE_CUSTOM1 + ii) );
374  m_PanelNetType[PANELCUSTOMBASE + ii] = currPage;
375  }
376 }
#define CUSTOM_NETLIST_COMMAND
NETLIST_TYPE_ID
netlist types
Definition: netlist.h:35
#define CUSTOMPANEL_COUNTMAX
const wxString UserNetlistTypeName(bool first_item)
Function UserNetlistTypeName to retrieve user netlist type names.
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
NETLIST_PAGE_DIALOG * AddOneCustomPage(const wxString &aTitle, const wxString &aCommandString, NETLIST_TYPE_ID aNetTypeId)

References AddOneCustomPage(), CUSTOM_NETLIST_COMMAND, CUSTOMPANEL_COUNTMAX, m_config, m_PanelNetType, NET_TYPE_CUSTOM1, PANELCUSTOMBASE, and UserNetlistTypeName().

Referenced by NETLIST_DIALOG().

◆ InstallPageSpice()

void NETLIST_DIALOG::InstallPageSpice ( )
private

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

343 {
345  new NETLIST_PAGE_DIALOG( m_NoteBook, wxT( "Spice" ), NET_TYPE_SPICE );
346 
347  page->m_AdjustPassiveValues = new wxCheckBox( page, ID_USE_NETCODE_AS_NETNAME,
348  _( "Reformat passive symbol values" ) );
349  page->m_AdjustPassiveValues->SetToolTip( _( "Reformat passive symbol values e.g. 1M -> 1Meg" ) );
351  page->m_LeftBoxSizer->Add( page->m_AdjustPassiveValues, 0, wxGROW | wxBOTTOM | wxRIGHT, 5 );
352 }
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]
#define _(s)
Definition: 3d_actions.cpp:31
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 137 of file dialog_shim.h.

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

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook(), and DIALOG_LABEL_EDITOR::OnCharHook().

◆ IsQuasiModal()

◆ IsShiftCtrl()

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

Definition at line 143 of file dialog_shim.h.

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

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook(), and DIALOG_LABEL_EDITOR::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(), SCH_EDIT_FRAME::CreateScreens(), 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(), EDIT_TOOL::EditFpInFpEditor(), SCH_EDIT_FRAME::EditSheet(), SCH_EDITOR_CONTROL::EditWithLibEdit(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), LIB_MANAGER::GetBufferedPart(), LIB_MANAGER::getLibraryBuffer(), FOOTPRINT_EDIT_FRAME::GetPlotSettings(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::InitSheet(), KICAD_MANAGER_FRAME::language_change(), KIWAY_PLAYER::language_change(), CVPCB_MAINFRAME::LoadFootprintFiles(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadSheetFromFile(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), KICAD_MANAGER_FRAME::OnCloseWindow(), SCH_EDIT_FRAME::OnCloseWindow(), 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(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDITOR_CONTROL::Paste(), KIWAY_HOLDER::Prj(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDIT_FRAME::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), SCH_EDIT_FRAME::SaveEEFile(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), 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(), FOOTPRINT_EDIT_FRAME::SetPlotSettings(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::UpdatePart(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ NetlistUpdateOpt()

void NETLIST_DIALOG::NetlistUpdateOpt ( )
private

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

440 {
441  bool adjust = m_PanelNetType[ PANELSPICE ]->m_AdjustPassiveValues->IsChecked();
442 
444  m_Parent->SetNetListFormatName( wxEmptyString );
445 
446  for( NETLIST_PAGE_DIALOG*& page : m_PanelNetType)
447  {
448  if( page == NULL )
449  break;
450 
451  if( page->m_IsCurrentFormat->GetValue() == true )
452  m_Parent->SetNetListFormatName( page->GetPageNetFmtName() );
453  }
454 }
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 645 of file eeschema/dialogs/dialog_netlist.cpp.

646 {
647  NETLIST_DIALOG_ADD_GENERATOR dlg( this );
648 
649  if( dlg.ShowModal() != wxID_OK )
650  return;
651 
652  // Creates a new custom plugin page
653  wxString title = dlg.GetGeneratorTitle();
654 
655  // Verify it does not exists
656  int netTypeId = PANELCUSTOMBASE; // the first not used type id
657  NETLIST_PAGE_DIALOG* currPage;
658 
659  for( int ii = 0; ii < CUSTOMPANEL_COUNTMAX; ii++ )
660  {
661  netTypeId = PANELCUSTOMBASE + ii;
662  currPage = m_PanelNetType[ii + PANELCUSTOMBASE];
663 
664  if( currPage == NULL )
665  break;
666 
667  if( currPage->GetPageNetFmtName() == title )
668  {
669  wxMessageBox( _("This plugin already exists.") );
670  return;
671  }
672  }
673 
674  wxString cmd = dlg.GetGeneratorTCommandLine();
675  currPage = AddOneCustomPage( title,cmd, (NETLIST_TYPE_ID)netTypeId );
676  m_PanelNetType[netTypeId] = currPage;
678 
679  // Close and reopen dialog to rebuild the dialog after changes
680  EndModal( NET_PLUGIN_CHANGE );
681 }
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:31
#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 627 of file eeschema/dialogs/dialog_netlist.cpp.

628 {
629  NETLIST_PAGE_DIALOG* currPage = (NETLIST_PAGE_DIALOG*) m_NoteBook->GetCurrentPage();
630 
631  currPage->m_CommandStringCtrl->SetValue( wxEmptyString );
632  currPage->m_TitleStringCtrl->SetValue( wxEmptyString );
633 
634  if( currPage->m_IsCurrentFormat->IsChecked() )
635  {
636  currPage->m_IsCurrentFormat->SetValue( false );
637  m_PanelNetType[PANELPCBNEW]->m_IsCurrentFormat->SetValue( true );
638  }
639 
641  EndModal( NET_PLUGIN_CHANGE );
642 }
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 320 of file dialog_shim.cpp.

321 {
322  if( m_firstPaintEvent )
323  {
324 #ifdef __WXMAC__
325  fixOSXCancelButtonIssue( this );
326 #endif
327 
328  selectAllInTextCtrls( GetChildren() );
329 
331  m_initialFocusTarget->SetFocus();
332  else
333  SetFocus(); // Focus the dialog itself
334 
335  m_firstPaintEvent = false;
336  }
337 
338  event.Skip();
339 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:203
bool m_firstPaintEvent
Definition: dialog_shim.h:202
static void selectAllInTextCtrls(wxWindowList &children)

References 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:171

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

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_MANAGER::addLibrary(), LIB_CONTROL::AddSymbolToSchematic(), SCH_EDIT_FRAME::AppendSchematic(), PCB_EDIT_FRAME::ArchiveModulesOnBoard(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_FOOTPRINT_FP_EDITOR::Cfg3DPath(), DIALOG_FOOTPRINT_BOARD_EDITOR::Cfg3DPath(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), KICAD_MANAGER_FRAME::CreateNewProject(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromLibrary(), 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_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), LIB_VIEW_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PCB_EDIT_FRAME::doAutoSave(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), LIB_CONTROL::ExportSymbolAsSVG(), LIB_CONTROL::ExportView(), PCB_EDIT_FRAME::ExportVRML_File(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DISPLAY_FOOTPRINTS_FRAME::Get_Module(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), SCH_BASE_FRAME::GetLibPart(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), KICAD_MANAGER_FRAME::GetProjectFileName(), LIB_VIEW_FRAME::GetSelectedSymbol(), FP_THREAD_IFACE::GetTable(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), 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::LoadProjectFile(), CVPCB_MAINFRAME::LoadProjectFile(), PCB_EDIT_FRAME::LoadProjectSettings(), SCH_EDIT_FRAME::LoadSheetFromFile(), DIALOG_DRC_CONTROL::makeValidFileNameReport(), DIALOG_FOOTPRINT_FP_EDITOR::On3DModelCellChanged(), DIALOG_FOOTPRINT_BOARD_EDITOR::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_FOOTPRINT_FP_EDITOR::OnAdd3DModel(), DIALOG_FOOTPRINT_BOARD_EDITOR::OnAdd3DModel(), DIALOG_SCH_SHEET_PROPS::OnBrowseClicked(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), DIALOG_DRC_CONTROL::OnButtonBrowseRptFileClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), SCH_EDIT_FRAME::OnCloseWindow(), DIALOG_GENDRILL::OnGenReportFile(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), 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_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(), MODULE_EDITOR_TOOLS::PasteFootprint(), PCB_BASE_EDIT_FRAME::PCB_BASE_EDIT_FRAME(), SCH_DRAWING_TOOLS::PlaceComponent(), DIALOG_CHOOSE_COMPONENT::PopulateFootprintSelector(), SCH_EDIT_FRAME::Print(), SCH_EDIT_FRAME::PrintPage(), 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_EDIT_FRAME::RescueLegacyProject(), SCH_EDIT_FRAME::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), 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(), SCH_EDIT_FRAME::SaveProject(), CVPCB_MAINFRAME::SaveProjectFile(), SCH_EDIT_FRAME::SaveProjectSettings(), 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(), KICAD_MANAGER_FRAME::SetProjectFileName(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_COMPONENT::ShowFootprintFor(), 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(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::TransferDataFromWindow(), TransferDataFromWindow(), DIALOG_FOOTPRINT_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_BOARD_EDITOR::TransferDataToWindow(), DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::UpdateFieldsFromLibrary(), SIM_PLOT_FRAME::updateNetlistExporter(), SCH_SCREEN::UpdateSymbolLinks(), 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 237 of file dialog_shim.cpp.

238 {
239  const char* hash_key;
240 
241  if( m_hash_key.size() )
242  {
243  // a special case like EDA_LIST_DIALOG, which has multiple uses.
244  hash_key = m_hash_key.c_str();
245  }
246  else
247  {
248  hash_key = typeid(*this).name();
249  }
250 
251  RECT_MAP::iterator it = class_map.find( hash_key );
252 
253  if( it == class_map.end() )
254  return;
255 
256  EDA_RECT rect = it->second;
257  rect.SetSize( 0, 0 );
258  class_map[ hash_key ] = rect;
259 }
std::string m_hash_key
Definition: dialog_shim.h:197
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 409 of file eeschema/dialogs/dialog_netlist.cpp.

410 {
411  for( NETLIST_PAGE_DIALOG*& page : m_PanelNetType)
412  {
413  if( page )
414  page->m_IsCurrentFormat->SetValue( false );
415  }
416 
417  NETLIST_PAGE_DIALOG* currPage = (NETLIST_PAGE_DIALOG*) m_NoteBook->GetCurrentPage();
418 
419  if( currPage == NULL )
420  return;
421 
424  currPage->m_IsCurrentFormat->SetValue( true );
425 }
#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 115 of file dialog_shim.h.

116  {
117  m_initialFocusTarget = aWindow;
118  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:203

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_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_IMPORT_GFX::DIALOG_IMPORT_GFX(), 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_SCH_SHEET_PROPS::DIALOG_SCH_SHEET_PROPS(), DIALOG_SET_GRID::DIALOG_SET_GRID(), 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(), 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 151 of file dialog_shim.cpp.

152 {
153  wxSize sz( x, y );
154  SetSize( ConvertDialogToPixels( sz ) );
155 }

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

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

366 {
367  // This is an exception safe way to zero a pointer before returning.
368  // Yes, even though DismissModal() clears this first normally, this is
369  // here in case there's an exception before the dialog is dismissed.
370  struct NULLER
371  {
372  void*& m_what;
373  NULLER( void*& aPtr ) : m_what( aPtr ) {}
374  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
375  } clear_this( (void*&) m_qmodal_loop );
376 
377  // release the mouse if it's currently captured as the window having it
378  // will be disabled when this dialog is shown -- but will still keep the
379  // capture making it impossible to do anything in the modal dialog itself
380  wxWindow* win = wxWindow::GetCapture();
381  if( win )
382  win->ReleaseMouse();
383 
384  // Get the optimal parent
385  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
386 
387  // Show the optimal parent
388  DBG( if( parent ) printf( "%s: optimal parent: %s\n", __func__, typeid(*parent).name() );)
389 
390  wxASSERT_MSG( !m_qmodal_parent_disabler,
391  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
392 
393  // quasi-modal: disable only my "optimal" parent
395 
396 #ifdef __WXMAC__
397  // Apple in its infinite wisdom will raise a disabled window before even passing
398  // us the event, so we have no way to stop it. Instead, we must set an order on
399  // the windows so that the quasi-modal will be pushed in front of the disabled
400  // window when it is raised.
401  ReparentQuasiModal();
402 #endif
403  Show( true );
404 
405  m_qmodal_showing = true;
406 
407  WX_EVENT_LOOP event_loop;
408 
409  m_qmodal_loop = &event_loop;
410 
411  event_loop.Run();
412 
413  m_qmodal_showing = false;
414 
415  return GetReturnCode();
416 }
bool m_qmodal_showing
Definition: dialog_shim.h:207
#define WX_EVENT_LOOP
Definition: kiway_player.h:41
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:205
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:208
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:35
#define DBG(x)
Definition: fctsys.h:33

References DBG, DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, 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(), SCH_EDIT_FRAME::OnRemapSymbols(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_BASE_FRAME::SelectCompFromLibTree(), and PCB_BASE_FRAME::SelectFootprintFromLibTree().

◆ TransferDataFromWindow()

bool NETLIST_DIALOG::TransferDataFromWindow ( )
overrideprivate

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

458 {
459  wxFileName fn;
460  wxString fileWildcard;
461  wxString fileExt;
462  wxString title = _( "Save Netlist File" );
463 
465 
466  NETLIST_PAGE_DIALOG* currPage;
467  currPage = (NETLIST_PAGE_DIALOG*) m_NoteBook->GetCurrentPage();
468 
469  unsigned netlist_opt = 0;
470 
471  // Calculate the netlist filename
472  fn = g_RootSheet->GetScreen()->GetFileName();
473  FilenamePrms( currPage->m_IdNetType, &fileExt, &fileWildcard );
474 
475  // Set some parameters
476  switch( currPage->m_IdNetType )
477  {
478  case NET_TYPE_SPICE:
479  // Set spice netlist options:
480  if( currPage->m_AdjustPassiveValues->GetValue() )
481  netlist_opt |= NET_ADJUST_PASSIVE_VALS;
482  break;
483 
484  case NET_TYPE_CADSTAR:
485  break;
486 
487  case NET_TYPE_PCBNEW:
488  break;
489 
490  case NET_TYPE_ORCADPCB2:
491  break;
492 
493  default: // custom, NET_TYPE_CUSTOM1 and greater
494  {
495  wxString command = currPage->m_CommandStringCtrl->GetValue();
496  wxRegEx extRE( wxT( ".*\\.([[:alnum:]][[:alnum:]][[:alnum:]][[:alnum:]]?)\\.xslt?\".*" ) );
497 
498  if( extRE.Matches( command ) )
499  fileExt = extRE.GetMatch( command, 1 );
500 
501  title.Printf( _( "%s Export" ), currPage->m_TitleStringCtrl->GetValue().GetData() );
502  }
503  break;
504  }
505 
506  fn.SetExt( fileExt );
507 
508  if( fn.GetPath().IsEmpty() )
509  fn.SetPath( wxPathOnly( Prj().GetProjectFullName() ) );
510 
511  wxString fullpath = fn.GetFullPath();
512  wxString fullname = fn.GetFullName();
513  wxString path = fn.GetPath();
514 
515  // fullname does not and should not include the path, per wx docs.
516  wxFileDialog dlg( this, title, path, fullname, fileWildcard, wxFD_SAVE );
517 
518  if( dlg.ShowModal() == wxID_CANCEL )
519  return false;
520 
521  fullpath = dlg.GetPath(); // directory + filename
522 
524 
525  if( currPage->m_CommandStringCtrl )
526  m_Parent->SetNetListerCommand( currPage->m_CommandStringCtrl->GetValue() );
527  else
528  m_Parent->SetNetListerCommand( wxEmptyString );
529 
530  auto netlist = m_Parent->CreateNetlist( false, false );
531 
532  if( netlist == nullptr )
533  wxMessageBox( _( "Schematic netlist not available" ) );
534  else
535  m_Parent->WriteNetListFile( netlist, currPage->m_IdNetType, fullpath, netlist_opt, NULL );
536 
538 
539  return true;
540 }
const wxString & GetFileName() const
Definition: sch_screen.h:157
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 ...
SCH_SCREEN * GetScreen()
Definition: sch_sheet.h:278
void WriteCurrentNetlistSetup()
Function WriteCurrentNetlistSetup Write the current netlist options setup in the configuration.
#define NULL
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
virtual void ClearMsgPanel()
Clear all messages from the message panel.
NETLIST_OBJECT_LIST * CreateNetlist(bool aSilent=false, bool aSilentAnnotate=false)
Create a netlist for the current schematic.
#define _(s)
Definition: 3d_actions.cpp:31
SCH_SHEET * g_RootSheet
bool WriteNetListFile(NETLIST_OBJECT_LIST *aConnectedItemsList, int aFormat, const wxString &aFullFileName, unsigned aNetlistOptions, REPORTER *aReporter=NULL)
Create a netlist file.
void SetNetListerCommand(const wxString &aCommand)

References _, EDA_DRAW_FRAME::ClearMsgPanel(), SCH_EDIT_FRAME::CreateNetlist(), FilenamePrms(), g_RootSheet, SCH_SCREEN::GetFileName(), SCH_SHEET::GetScreen(), 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(), NULL, KIWAY_HOLDER::Prj(), SCH_EDIT_FRAME::SetNetListerCommand(), WriteCurrentNetlistSetup(), and SCH_EDIT_FRAME::WriteNetListFile().

◆ UserNetlistTypeName()

const wxString NETLIST_DIALOG::UserNetlistTypeName ( bool  first_item)
private

Function UserNetlistTypeName to retrieve user netlist type names.

Parameters
first_item= true: return first name of the list, false = return next
Returns
a wxString : name of the type netlist or empty string this function must be called first with "first_item" = true and after with "first_item" = false to get all the other existing netlist names

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

327 {
328  static int index;
329 
330  if( first_item )
331  index = 0;
332  else
333  index++;
334 
335  wxString msg = CUSTOM_NETLIST_TITLE;
336  msg << index + 1;
337 
338  return m_config->Read( msg );
339 }
#define CUSTOM_NETLIST_TITLE

References CUSTOM_NETLIST_TITLE, and m_config.

Referenced by InstallCustomPages().

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

166 {
167  wxSize sz( 0, y );
168  return ConvertDialogToPixels( sz ).y;
169 }

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

◆ WriteCurrentNetlistSetup()

void NETLIST_DIALOG::WriteCurrentNetlistSetup ( )
private

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

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

583 {
584  wxString msg;
585 
587 
588  // Update existing custom pages
589  int jj = 0;
590  for( int ii = 0; ii < CUSTOMPANEL_COUNTMAX; ii++ )
591  {
593 
594  if( currPage == NULL )
595  break;
596 
597  wxString title = currPage->m_TitleStringCtrl->GetValue();
598 
599  if( title.IsEmpty() )
600  continue;
601 
602  msg = CUSTOM_NETLIST_TITLE;
603  msg << jj + 1;
604  m_config->Write( msg, title );
605 
606  wxString Command = currPage->m_CommandStringCtrl->GetValue();
608  msg << jj + 1;
609  m_config->Write( msg, Command );
610  jj++;
611  }
612 
613  // Ensure all other pages are void
614  for( ; jj < CUSTOMPANEL_COUNTMAX; jj++ )
615  {
616  msg = CUSTOM_NETLIST_TITLE;
617  msg << jj + 1;
618  m_config->Write( msg, wxEmptyString );
619 
621  msg << jj + 1;
622  m_config->Write( msg, wxEmptyString );
623  }
624 }
#define CUSTOM_NETLIST_COMMAND
#define NULL
#define CUSTOMPANEL_COUNTMAX
#define CUSTOM_NETLIST_TITLE
NETLIST_PAGE_DIALOG * m_PanelNetType[4+CUSTOMPANEL_COUNTMAX]

References CUSTOM_NETLIST_COMMAND, CUSTOM_NETLIST_TITLE, CUSTOMPANEL_COUNTMAX, NETLIST_PAGE_DIALOG::m_CommandStringCtrl, m_config, 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 115 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_config

wxConfigBase* NETLIST_DIALOG::m_config
protected

◆ m_DefaultNetFmtName

wxString NETLIST_DIALOG::m_DefaultNetFmtName

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 202 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_hash_key

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 203 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_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 205 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 207 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: