Eeschema: fix bug #1168116. Netlist generation: remove dead code and fully outdated option pspice "use net number"
Pcbnew: layer manager: display tooltips using translated form (where internationalized, but always shown in English).
This commit is contained in:
parent
70dc51d1f9
commit
c4dc992c03
|
@ -188,9 +188,6 @@ NETLIST_DIALOG::NETLIST_DIALOG( SCH_EDIT_FRAME* parent ) :
|
|||
long tmp;
|
||||
m_config->Read( NETLIST_USE_DEFAULT_NETNAME, &tmp, 0l );
|
||||
m_cbUseDefaultNetlistName->SetValue( tmp );
|
||||
m_config->Read( NETLIST_PSPICE_USE_NETNAME, &m_spiceNetlistUseNames, true );
|
||||
|
||||
|
||||
m_NetFmtName = m_Parent->GetNetListFormatName();
|
||||
|
||||
for( int ii = 0; ii < PANELCUSTOMBASE + CUSTOMPANEL_COUNTMAX; ii++ )
|
||||
|
@ -268,18 +265,6 @@ void NETLIST_DIALOG::InstallPageSpice()
|
|||
page->m_AddSubPrefix->SetValue( m_Parent->GetAddReferencePrefix() );
|
||||
page->m_LeftBoxSizer->Add( page->m_AddSubPrefix, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
|
||||
wxString netlist_opt[2] = { _( "Use Net Names" ), _( "Use Net Numbers" ) };
|
||||
page->m_NetOption = new wxRadioBox( page, -1, _( "Netlist Options:" ),
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
2, netlist_opt, 1,
|
||||
wxRA_SPECIFY_COLS );
|
||||
|
||||
if( !m_spiceNetlistUseNames )
|
||||
page->m_NetOption->SetSelection( 1 );
|
||||
|
||||
page->m_LeftBoxSizer->Add( page->m_NetOption, 0, wxGROW | wxALL, 5 );
|
||||
|
||||
page->m_LowBoxSizer->Add( new wxStaticText( page, -1, _( "Simulator command:" ) ), 0,
|
||||
wxGROW | wxLEFT | wxRIGHT | wxTOP, 5 );
|
||||
|
||||
|
@ -438,11 +423,6 @@ void NETLIST_DIALOG::NetlistUpdateOpt()
|
|||
if( m_PanelNetType[ii]->m_IsCurrentFormat->GetValue() == true )
|
||||
m_Parent->SetNetListFormatName( m_PanelNetType[ii]->GetPageNetFmtName() );
|
||||
}
|
||||
|
||||
m_spiceNetlistUseNames = true; // Used for pspice, gnucap
|
||||
|
||||
if( m_PanelNetType[PANELSPICE]->m_NetOption->GetSelection() == 1 )
|
||||
m_spiceNetlistUseNames = false;
|
||||
}
|
||||
|
||||
|
||||
|
@ -475,8 +455,6 @@ void NETLIST_DIALOG::GenNetlist( wxCommandEvent& event )
|
|||
{
|
||||
case NET_TYPE_SPICE:
|
||||
// Set spice netlist options:
|
||||
if( m_spiceNetlistUseNames )
|
||||
netlist_opt |= NET_USE_NETNAMES;
|
||||
if( currPage->m_AddSubPrefix->GetValue() )
|
||||
netlist_opt |= NET_USE_X_PREFIX;
|
||||
break;
|
||||
|
@ -647,13 +625,10 @@ void NETLIST_DIALOG::RunSimulator( wxCommandEvent& event )
|
|||
|
||||
NETLIST_PAGE_DIALOG* currPage;
|
||||
currPage = (NETLIST_PAGE_DIALOG*) m_NoteBook->GetCurrentPage();
|
||||
m_spiceNetlistUseNames = currPage->m_NetOption->GetSelection() == 0;
|
||||
|
||||
// Set spice netlist options:
|
||||
unsigned netlist_opt = 0;
|
||||
|
||||
if( m_spiceNetlistUseNames )
|
||||
netlist_opt |= NET_USE_NETNAMES;
|
||||
if( currPage->m_AddSubPrefix && currPage->m_AddSubPrefix->GetValue() )
|
||||
netlist_opt |= NET_USE_X_PREFIX;
|
||||
|
||||
|
@ -676,7 +651,6 @@ void NETLIST_DIALOG::WriteCurrentNetlistSetup( void )
|
|||
NetlistUpdateOpt();
|
||||
|
||||
m_config->Write( NETLIST_USE_DEFAULT_NETNAME, GetUseDefaultNetlistName() );
|
||||
m_config->Write( NETLIST_PSPICE_USE_NETNAME, m_spiceNetlistUseNames );
|
||||
|
||||
// Update the new titles
|
||||
for( int ii = 0; ii < CUSTOMPANEL_COUNTMAX; ii++ )
|
||||
|
|
|
@ -110,7 +110,6 @@ public:
|
|||
|
||||
// Options for Spice netlist generation (OR'ed bits
|
||||
enum netlistOptions {
|
||||
NET_USE_NETNAMES = 1, // for Spice netlist : use netnames instead of numbers
|
||||
NET_USE_X_PREFIX = 2, // for Spice netlist : change "U" and "IC" reference prefix to "X"
|
||||
NET_PCBNEW_USE_NEW_FORMAT = 1, // For Pcbnew use the new format (S expression and SWEET)
|
||||
};
|
||||
|
@ -125,8 +124,6 @@ public:
|
|||
|
||||
private:
|
||||
wxConfig* m_config;
|
||||
bool m_spiceNetlistUseNames; /* true to use names rather than net
|
||||
* numbers (PSPICE netlist only) */
|
||||
|
||||
public:
|
||||
|
||||
|
|
|
@ -32,10 +32,9 @@ void SCH_EDIT_FRAME::OnCopySchematicItemRequest( wxCommandEvent& event )
|
|||
newitem->SetTimeStamp( GetNewTimeStamp() );
|
||||
newitem->ClearAnnotation( NULL );
|
||||
newitem->SetFlags( IS_NEW );
|
||||
MoveItem( (SCH_ITEM*) newitem, &dc );
|
||||
|
||||
// Redraw the original part, because StartMovePart() erased it from screen.
|
||||
curr_item->Draw( m_canvas, &dc, wxPoint( 0, 0 ), g_XorMode );
|
||||
// Draw the new part, MoveItem() expects it to be already on screen.
|
||||
newitem->Draw( m_canvas, &dc, wxPoint( 0, 0 ), g_XorMode );
|
||||
MoveItem( newitem, &dc );
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -46,10 +45,9 @@ void SCH_EDIT_FRAME::OnCopySchematicItemRequest( wxCommandEvent& event )
|
|||
{
|
||||
SCH_TEXT* newitem = (SCH_TEXT*) curr_item->Clone();
|
||||
newitem->SetFlags( IS_NEW );
|
||||
MoveItem( (SCH_ITEM*) newitem, &dc );
|
||||
|
||||
/* Redraw the original part in XOR mode */
|
||||
curr_item->Draw( m_canvas, &dc, wxPoint( 0, 0 ), g_XorMode );
|
||||
// Draw the new item, MoveItem() expects it to be already on screen.
|
||||
newitem->Draw( m_canvas, &dc, wxPoint( 0, 0 ), g_XorMode );
|
||||
MoveItem( newitem, &dc );
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -298,12 +298,10 @@ public:
|
|||
* .-PSpice or .-gnucap put at beginning of the netlist
|
||||
* .+PSpice or .-genucap are put at end of the netList
|
||||
* @param f = the file to write to
|
||||
* @param use_netnames = true, to use netnames in netlist,
|
||||
* false to use net number.
|
||||
* @param aUsePrefix = true, adds an 'X' prefix to any reference designator starting with "U" or "IC",
|
||||
* false to leave reference designator unchanged.
|
||||
*/
|
||||
bool WriteNetListPspice( FILE* f, bool use_netnames, bool aUsePrefix );
|
||||
bool WriteNetListPspice( FILE* f, bool aUsePrefix );
|
||||
|
||||
/**
|
||||
* Function MakeCommandLine
|
||||
|
@ -360,8 +358,6 @@ wxString NETLIST_EXPORT_TOOL::MakeCommandLine( const wxString& aFormatString,
|
|||
* param aFullFileName = full netlist file name
|
||||
* param aNetlistOptions = netlist options using OR'ed bits.
|
||||
* For SPICE netlist only:
|
||||
* if NET_USE_NETNAMES is set, use net names from labels in schematic
|
||||
* else use net numbers (net codes)
|
||||
* if NET_USE_X_PREFIX is set : change "U" and "IC" refernce prefix to "X"
|
||||
* return true if success.
|
||||
*/
|
||||
|
@ -381,7 +377,7 @@ bool SCH_EDIT_FRAME::WriteNetListFile( int aFormat, const wxString& aFullFileNam
|
|||
if( ( f = wxFopen( aFullFileName, wxT( "wt" ) ) ) == NULL )
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _( "Failed to create file <%s>" ),
|
||||
msg.Printf( _( "Failed to create file <%s>" ),
|
||||
GetChars( aFullFileName ) );
|
||||
DisplayError( this, msg );
|
||||
return false;
|
||||
|
@ -413,9 +409,7 @@ bool SCH_EDIT_FRAME::WriteNetListFile( int aFormat, const wxString& aFullFileNam
|
|||
break;
|
||||
|
||||
case NET_TYPE_SPICE:
|
||||
ret = helper.WriteNetListPspice( f,
|
||||
aNetlistOptions & NET_USE_NETNAMES,
|
||||
aNetlistOptions & NET_USE_X_PREFIX );
|
||||
ret = helper.WriteNetListPspice( f, aNetlistOptions & NET_USE_X_PREFIX );
|
||||
fclose( f );
|
||||
break;
|
||||
|
||||
|
@ -1086,110 +1080,16 @@ bool NETLIST_EXPORT_TOOL::WriteGENERICNetList( const wxString& aOutFileName )
|
|||
for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ )
|
||||
g_NetObjectslist[ii]->m_Flag = 0;
|
||||
|
||||
#if 1
|
||||
// output the XML format netlist.
|
||||
wxXmlDocument xdoc;
|
||||
|
||||
xdoc.SetRoot( makeGenericRoot() );
|
||||
|
||||
return xdoc.Save( aOutFileName, 2 /* indent bug, today was ignored by wxXml lib */ );
|
||||
|
||||
#else // output the well established/old generic net list format which was not XML.
|
||||
|
||||
wxString field;
|
||||
wxString footprint;
|
||||
wxString netname;
|
||||
FILE* out;
|
||||
int ret = 0; // OR on each call, test sign bit at very end.
|
||||
|
||||
if( ( out = wxFopen( aOutFileName, wxT( "wt" ) ) ) == NULL )
|
||||
{
|
||||
wxString msg;
|
||||
msg.Printf( _( "Failed to create file <%s>" ), GetChars( aOutFileName ) );
|
||||
DisplayError( NULL, msg );
|
||||
return false;
|
||||
}
|
||||
|
||||
m_ReferencesAlreadyFound.Clear();
|
||||
|
||||
ret |= fprintf( out, "$BeginNetlist\n" );
|
||||
|
||||
// Create netlist module section
|
||||
ret |= fprintf( out, "$BeginComponentList\n" );
|
||||
|
||||
SCH_SHEET_LIST sheetList;
|
||||
|
||||
for( SCH_SHEET_PATH* path = sheetList.GetFirst(); path; path = sheetList.GetNext() )
|
||||
{
|
||||
for( EDA_ITEM* schItem = path->LastDrawList(); schItem; schItem = schItem->Next() )
|
||||
{
|
||||
SCH_COMPONENT* comp = findNextComponentAndCreatePinList( schItem, path );
|
||||
if( !comp )
|
||||
break; // No component left
|
||||
|
||||
schItem = comp;
|
||||
|
||||
footprint.Empty();
|
||||
if( !comp->GetField( FOOTPRINT )->IsVoid() )
|
||||
{
|
||||
footprint = comp->GetField( FOOTPRINT )->m_Text;
|
||||
footprint.Replace( wxT( " " ), wxT( "_" ) );
|
||||
}
|
||||
|
||||
ret |= fprintf( out, "\n$BeginComponent\n" );
|
||||
ret |= fprintf( out, "TimeStamp=%8.8lX\n", comp->m_TimeStamp );
|
||||
ret |= fprintf( out, "Footprint=%s\n", TO_UTF8( footprint ) );
|
||||
|
||||
field = wxT( "Reference=" ) + comp->GetRef( path ) + wxT( "\n" );
|
||||
field.Replace( wxT( " " ), wxT( "_" ) );
|
||||
ret |= fputs( TO_UTF8( field ), out );
|
||||
|
||||
field = comp->GetField( VALUE )->m_Text;
|
||||
field.Replace( wxT( " " ), wxT( "_" ) );
|
||||
ret |= fprintf( out, "Value=%s\n", TO_UTF8( field ) );
|
||||
|
||||
field = comp->GetLibName();
|
||||
field.Replace( wxT( " " ), wxT( "_" ) );
|
||||
ret |= fprintf( out, "Libref=%s\n", TO_UTF8( field ) );
|
||||
|
||||
// Write pin list:
|
||||
ret |= fprintf( out, "$BeginPinList\n" );
|
||||
for( unsigned ii = 0; ii < m_SortedComponentPinList.size(); ii++ )
|
||||
{
|
||||
NETLIST_OBJECT* Pin = m_SortedComponentPinList[ii];
|
||||
if( !Pin )
|
||||
continue;
|
||||
|
||||
sprintPinNetName( &netname, wxT( "$-%.6d" ), Pin );
|
||||
if( netname.IsEmpty() )
|
||||
netname = wxT( "?" );
|
||||
|
||||
ret |= fprintf( out, "%.4s=%s\n", (char*) &Pin->m_PinNum, TO_UTF8( netname ) );
|
||||
}
|
||||
|
||||
ret |= fprintf( out, "$EndPinList\n" );
|
||||
ret |= fprintf( out, "$EndComponent\n" );
|
||||
}
|
||||
}
|
||||
|
||||
ret |= fprintf( out, "$EndComponentList\n" );
|
||||
|
||||
ret |= fprintf( out, "\n$BeginNets\n" );
|
||||
|
||||
if( !writeGENERICListOfNets( out, g_NetObjectslist ) )
|
||||
ret = -1;
|
||||
|
||||
ret |= fprintf( out, "$EndNets\n" );
|
||||
|
||||
ret |= fprintf( out, "\n$EndNetlist\n" );
|
||||
ret |= fclose( out );
|
||||
|
||||
return ret >= 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
bool NETLIST_EXPORT_TOOL::WriteNetListPspice( FILE* f, bool use_netnames, bool aUsePrefix )
|
||||
bool NETLIST_EXPORT_TOOL::WriteNetListPspice( FILE* f, bool aUsePrefix )
|
||||
{
|
||||
int ret = 0;
|
||||
int nbitems;
|
||||
|
@ -1406,17 +1306,8 @@ bool NETLIST_EXPORT_TOOL::WriteNetListPspice( FILE* f, bool use_netnames, bool a
|
|||
if( netName.IsEmpty() )
|
||||
netName = wxT( "?" );
|
||||
|
||||
if( use_netnames )
|
||||
ret |= fprintf( f, " %s", TO_UTF8( netName ) );
|
||||
ret |= fprintf( f, " %s", TO_UTF8( netName ) );
|
||||
|
||||
else // Use number for net names (net number = 0 for "GND")
|
||||
{
|
||||
// NetName = "0" is "GND" net for Spice
|
||||
if( netName == wxT( "0" ) || netName == wxT( "GND" ) )
|
||||
ret |= fprintf( f, " 0" );
|
||||
else
|
||||
ret |= fprintf( f, " %d", pin->GetNet() );
|
||||
}
|
||||
}
|
||||
|
||||
// Get Component Value Name:
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
||||
* Copyright (C) 2013 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||
* Copyright (C) 2008-2013 Wayne Stambaugh <stambaughw@verizon.net>
|
||||
* Copyright (C) 2004-2013 KiCad Developers, see change_log.txt for contributors.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
|
|
|
@ -209,9 +209,14 @@ void PCB_LAYER_WIDGET::ReFillRender()
|
|||
ClearRenderRows();
|
||||
|
||||
// Add "Render" tab rows to LAYER_WIDGET, after setting color and checkbox state.
|
||||
// Because s_render_rows is created static, we must explicitely call
|
||||
// wxGetTranslation for texts which are internationalized (tool tips
|
||||
// and item names)
|
||||
for( unsigned row=0; row<DIM(s_render_rows); ++row )
|
||||
{
|
||||
LAYER_WIDGET::ROW renderRow = s_render_rows[row];
|
||||
renderRow.tooltip = wxGetTranslation( s_render_rows[row].tooltip);
|
||||
renderRow.rowName = wxGetTranslation( s_render_rows[row].rowName);
|
||||
|
||||
if( renderRow.color != -1 ) // does this row show a color?
|
||||
{
|
||||
|
@ -288,12 +293,15 @@ void PCB_LAYER_WIDGET::ReFill()
|
|||
}
|
||||
|
||||
AppendLayerRow( LAYER_WIDGET::ROW(
|
||||
brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ), dsc, true ) );
|
||||
brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ),
|
||||
dsc, true ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// technical layers are shown in this order:
|
||||
// Because they are static, wxGetTranslation must be explicitely
|
||||
// called for tooltips.
|
||||
static const struct {
|
||||
LAYER_NUM layerId;
|
||||
wxString tooltip;
|
||||
|
@ -322,7 +330,7 @@ void PCB_LAYER_WIDGET::ReFill()
|
|||
|
||||
AppendLayerRow( LAYER_WIDGET::ROW(
|
||||
brd->GetLayerName( layer ), layer, brd->GetLayerColor( layer ),
|
||||
techLayerSeq[i].tooltip, true ) );
|
||||
wxGetTranslation( techLayerSeq[i].tooltip ), true ) );
|
||||
}
|
||||
|
||||
installRightLayerClickHandler();
|
||||
|
|
Loading…
Reference in New Issue