Rename PCB IO classes/files
This commit is contained in:
parent
85f62c1fde
commit
e6632bb983
|
@ -722,11 +722,11 @@ set( PCB_COMMON_SRCS
|
|||
# IO files
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/pcb_io.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/pcb_io_mgr.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/legacy/legacy_plugin.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/kicad/pcb_plugin.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/kicad/pcb_parser.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/eagle/eagle_plugin.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/geda/gpcb_plugin.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/kicad_legacy/pcb_io_kicad_legacy.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr_parser.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/eagle/pcb_io_eagle.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/pcb_io/geda/pcb_io_geda.cpp
|
||||
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/tools/pcb_grid_helper.cpp
|
||||
${CMAKE_SOURCE_DIR}/pcbnew/tools/pcb_actions.cpp
|
||||
|
|
|
@ -193,7 +193,7 @@ private:
|
|||
|
||||
for( int i = 0; i < aCount; ++i )
|
||||
{
|
||||
// this fires on some eagle board after EAGLE_PLUGIN::Load()
|
||||
// this fires on some eagle board after PCB_IO_EAGLE::Load()
|
||||
wxASSERT( unsigned( aLayers[i] ) <= unsigned( VIEW::VIEW_MAX_LAYERS ) );
|
||||
|
||||
m_layers.push_back( aLayers[i] );
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
/**
|
||||
* The set of pad shapes, used with PAD::{Set,Get}Shape()
|
||||
*
|
||||
* --> DO NOT REORDER, legacy_plugin is dependent on the integer values <--
|
||||
* --> DO NOT REORDER, PCB_IO_KICAD_LEGACY is dependent on the integer values <--
|
||||
*/
|
||||
enum class PAD_SHAPE : int
|
||||
{
|
||||
|
|
|
@ -40,7 +40,7 @@ grammar. The tipping point depends on whether you want to read only a small
|
|||
portion of a much larger document. If so, then using the ptree will likely be a
|
||||
"faster to code" route. Documentation on how to navigate a ptree can be found on
|
||||
the boost website and there are a number of examples in the
|
||||
pcbnew/eagle_plugin.cpp file in this project. Powerful path navigation support
|
||||
pcbnew/pcb_io_eagle.cpp file in this project. Powerful path navigation support
|
||||
makes it easy to extract a subset of a ptree.
|
||||
*/
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
#include <update_manager.h>
|
||||
|
||||
|
||||
#include <../pcbnew/pcb_io/kicad/pcb_plugin.h> // for SEXPR_BOARD_FILE_VERSION def
|
||||
#include <../pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h> // for SEXPR_BOARD_FILE_VERSION def
|
||||
|
||||
|
||||
#ifdef __WXMAC__
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#include <footprint_preview_panel.h>
|
||||
#include <drawing_sheet/ds_proxy_view_item.h>
|
||||
#include <pcb_painter.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <wx/treebook.h>
|
||||
|
||||
|
||||
|
@ -793,7 +793,7 @@ void PANEL_PCBNEW_COLOR_SETTINGS::createPreviewItems()
|
|||
m_page->SetWidthMils( 6000 );
|
||||
|
||||
STRING_LINE_READER reader( g_previewBoard, wxT( "preview" ) );
|
||||
PCB_PLUGIN pi;
|
||||
PCB_IO_KICAD_SEXPR pi;
|
||||
|
||||
try
|
||||
{
|
||||
|
|
|
@ -58,8 +58,8 @@
|
|||
#include <project/net_settings.h>
|
||||
#include <io/common/plugin_common_choose_project.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
#include <pcb_io/cadstar/cadstar_pcb_archive_plugin.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/cadstar/pcb_io_cadstar_archive.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <dialogs/dialog_export_2581.h>
|
||||
#include <dialogs/dialog_imported_layers.h>
|
||||
#include <dialogs/dialog_import_choose_project.h>
|
||||
|
@ -653,7 +653,7 @@ bool PCB_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in
|
|||
if( m_importProperties )
|
||||
props.insert( m_importProperties->begin(), m_importProperties->end() );
|
||||
|
||||
// EAGLE_PLUGIN can use this info to center the BOARD, but it does not yet.
|
||||
// PCB_IO_EAGLE can use this info to center the BOARD, but it does not yet.
|
||||
props["page_width"] = std::to_string( GetPageSizeIU().x );
|
||||
props["page_height"] = std::to_string( GetPageSizeIU().y );
|
||||
|
||||
|
|
|
@ -42,8 +42,8 @@
|
|||
#include <board_commit.h>
|
||||
#include <footprint_edit_frame.h>
|
||||
#include <wildcards_and_files_ext.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/legacy/legacy_plugin.h>
|
||||
#include <pcb_io/kicad_legacy/pcb_io_kicad_legacy.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <env_paths.h>
|
||||
#include <paths.h>
|
||||
#include <settings/settings_manager.h>
|
||||
|
@ -250,7 +250,7 @@ void FOOTPRINT_EDIT_FRAME::ExportFootprint( FOOTPRINT* aFootprint )
|
|||
// Export as *.kicad_pcb format, using a strategy which is specifically chosen
|
||||
// as an example on how it could also be used to send it to the system clipboard.
|
||||
|
||||
PCB_PLUGIN pcb_io(CTL_FOR_LIBRARY );
|
||||
PCB_IO_KICAD_SEXPR pcb_io(CTL_FOR_LIBRARY );
|
||||
|
||||
/* This footprint should *already* be "normalized" in a way such that
|
||||
orientation is zero, etc., since it came from the Footprint Editor.
|
||||
|
|
|
@ -23,8 +23,8 @@
|
|||
|
||||
#include "kigit_pcb_merge.h"
|
||||
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad/pcb_parser.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr_parser.h>
|
||||
#include <richio.h>
|
||||
|
||||
#include <board.h>
|
||||
|
@ -111,11 +111,11 @@ int KIGIT_PCB_MERGE::Merge()
|
|||
|
||||
// Get the raw data from the blobs
|
||||
BLOB_READER ancestor_reader( ancestor_blob );
|
||||
PCB_PARSER ancestor_parser( &ancestor_reader, nullptr, nullptr );
|
||||
PCB_IO_KICAD_SEXPR_PARSER ancestor_parser( &ancestor_reader, nullptr, nullptr );
|
||||
BLOB_READER ours_reader( ours_blob );
|
||||
PCB_PARSER ours_parser( &ours_reader, nullptr, nullptr );
|
||||
PCB_IO_KICAD_SEXPR_PARSER ours_parser( &ours_reader, nullptr, nullptr );
|
||||
BLOB_READER theirs_reader( theirs_blob );
|
||||
PCB_PARSER theirs_parser( &theirs_reader, nullptr, nullptr );
|
||||
PCB_IO_KICAD_SEXPR_PARSER theirs_parser( &theirs_reader, nullptr, nullptr );
|
||||
|
||||
std::unique_ptr<BOARD> ancestor_board;
|
||||
std::unique_ptr<BOARD> ours_board;
|
||||
|
@ -167,7 +167,7 @@ std::unique_ptr<BOARD> readBoard( wxString& aFilename )
|
|||
// Take input from stdin
|
||||
FILE_LINE_READER reader( aFilename );
|
||||
|
||||
PCB_PARSER parser( &reader, nullptr, nullptr );
|
||||
PCB_IO_KICAD_SEXPR_PARSER parser( &reader, nullptr, nullptr );
|
||||
std::unique_ptr<BOARD> board;
|
||||
|
||||
try
|
||||
|
|
|
@ -37,13 +37,13 @@
|
|||
#include <zone.h>
|
||||
#include <locale_io.h>
|
||||
#include <netinfo.h>
|
||||
#include <pcb_io/kicad/pcb_parser.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr_parser.h>
|
||||
#include <kicad_clipboard.h>
|
||||
#include "confirm.h"
|
||||
|
||||
CLIPBOARD_IO::CLIPBOARD_IO():
|
||||
PCB_PLUGIN(CTL_FOR_CLIPBOARD ),
|
||||
PCB_IO_KICAD_SEXPR(CTL_FOR_CLIPBOARD ),
|
||||
m_formatter()
|
||||
{
|
||||
m_out = &m_formatter;
|
||||
|
@ -318,7 +318,7 @@ BOARD_ITEM* CLIPBOARD_IO::Parse()
|
|||
|
||||
try
|
||||
{
|
||||
item = PCB_PLUGIN::Parse( result );
|
||||
item = PCB_IO_KICAD_SEXPR::Parse( result );
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
|
@ -411,7 +411,7 @@ BOARD* CLIPBOARD_IO::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
|||
};
|
||||
|
||||
STRING_LINE_READER reader( result, wxT( "clipboard" ) );
|
||||
PCB_PARSER parser( &reader, aAppendToMe, queryUser );
|
||||
PCB_IO_KICAD_SEXPR_PARSER parser( &reader, aAppendToMe, queryUser );
|
||||
|
||||
init( aProperties );
|
||||
|
||||
|
|
|
@ -32,20 +32,20 @@
|
|||
|
||||
#include <board_item.h>
|
||||
#include <footprint.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad/pcb_parser.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr_parser.h>
|
||||
#include <memory.h>
|
||||
#include <tools/pcb_selection.h>
|
||||
|
||||
|
||||
class CLIPBOARD_IO : public PCB_PLUGIN
|
||||
class CLIPBOARD_IO : public PCB_IO_KICAD_SEXPR
|
||||
{
|
||||
public:
|
||||
CLIPBOARD_IO();
|
||||
~CLIPBOARD_IO();
|
||||
|
||||
/*
|
||||
* Saves the entire board to the clipboard formatted using the PCB_PLUGIN formatting
|
||||
* Saves the entire board to the clipboard formatted using the PCB_IO_KICAD_SEXPR formatting
|
||||
*/
|
||||
void SaveBoard( const wxString& aFileName, BOARD* aBoard,
|
||||
const STRING_UTF8_MAP* aProperties = nullptr,
|
||||
|
@ -53,7 +53,7 @@ public:
|
|||
|
||||
/*
|
||||
* Write all the settings of the BOARD* set by setBoard() and then adds all the
|
||||
* BOARD_ITEMs found in selection formatted by PCB_PLUGIN to clipboard as sexpr text
|
||||
* BOARD_ITEMs found in selection formatted by PCB_IO_KICAD_SEXPR to clipboard as sexpr text
|
||||
*/
|
||||
void SaveSelection( const PCB_SELECTION& selected, bool isFootprintEditor );
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
# Sources for the pcbnew PLUGIN called ALTIUM_DESIGNER_PLUGIN, ALTIUM_CIRCUIT_STUDIO_PLUGIN and ALTIUM_CIRCUIT_MAKER_PLUGIN
|
||||
|
||||
set( ALTIUM2PCBNEW_SRCS
|
||||
altium_circuit_maker_plugin.cpp
|
||||
altium_circuit_studio_plugin.cpp
|
||||
altium_designer_plugin.cpp
|
||||
altium_parser_pcb.cpp
|
||||
altium_pcb.cpp
|
||||
altium_rule_transformer.cpp
|
||||
solidworks_pcb_plugin.cpp
|
||||
pcb_io_altium_circuit_maker.cpp
|
||||
pcb_io_altium_circuit_studio.cpp
|
||||
pcb_io_altium_designer.cpp
|
||||
pcb_io_solidworks.cpp
|
||||
)
|
||||
|
||||
add_library( altium2pcbnew STATIC ${ALTIUM2PCBNEW_SRCS} )
|
||||
|
|
|
@ -23,14 +23,13 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file altium_circuit_maker_plugin.cpp
|
||||
* @brief Pcbnew PLUGIN for Altium *.PcbDoc format.
|
||||
* @brief Pcbnew PLUGIN for Altium *.PcbDoc format.
|
||||
*/
|
||||
|
||||
#include <wx/string.h>
|
||||
|
||||
#include <altium_circuit_maker_plugin.h>
|
||||
#include <altium_designer_plugin.h>
|
||||
#include <pcb_io_altium_circuit_maker.h>
|
||||
#include <pcb_io_altium_designer.h>
|
||||
#include <altium_pcb.h>
|
||||
#include <io/altium/altium_parser.h>
|
||||
#include <pcb_io/pcb_io.h>
|
||||
|
@ -40,40 +39,40 @@
|
|||
#include <compoundfilereader.h>
|
||||
#include <utf.h>
|
||||
|
||||
ALTIUM_CIRCUIT_MAKER_PLUGIN::ALTIUM_CIRCUIT_MAKER_PLUGIN()
|
||||
PCB_IO_ALTIUM_CIRCUIT_MAKER::PCB_IO_ALTIUM_CIRCUIT_MAKER()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
}
|
||||
|
||||
|
||||
ALTIUM_CIRCUIT_MAKER_PLUGIN::~ALTIUM_CIRCUIT_MAKER_PLUGIN()
|
||||
PCB_IO_ALTIUM_CIRCUIT_MAKER::~PCB_IO_ALTIUM_CIRCUIT_MAKER()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
const wxString ALTIUM_CIRCUIT_MAKER_PLUGIN::PluginName() const
|
||||
const wxString PCB_IO_ALTIUM_CIRCUIT_MAKER::PluginName() const
|
||||
{
|
||||
return wxT( "Altium Circuit Maker" );
|
||||
}
|
||||
|
||||
|
||||
PLUGIN_FILE_DESC ALTIUM_CIRCUIT_MAKER_PLUGIN::GetBoardFileDesc() const
|
||||
PLUGIN_FILE_DESC PCB_IO_ALTIUM_CIRCUIT_MAKER::GetBoardFileDesc() const
|
||||
{
|
||||
return PLUGIN_FILE_DESC( _HKI( "Altium Circuit Maker PCB files" ), { "CMPcbDoc" } );
|
||||
}
|
||||
|
||||
|
||||
bool ALTIUM_CIRCUIT_MAKER_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_ALTIUM_CIRCUIT_MAKER::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
||||
return ALTIUM_DESIGNER_PLUGIN::checkFileHeader( aFileName );
|
||||
return PCB_IO_ALTIUM_DESIGNER::checkFileHeader( aFileName );
|
||||
}
|
||||
|
||||
|
||||
BOARD* ALTIUM_CIRCUIT_MAKER_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_ALTIUM_CIRCUIT_MAKER::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties,
|
||||
PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
|
@ -22,14 +22,14 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef ALTIUM_CIRCUIT_MAKER_PLUGIN_H_
|
||||
#define ALTIUM_CIRCUIT_MAKER_PLUGIN_H_
|
||||
#ifndef PCB_IO_ALTIUM_CIRCUIT_MAKER_H_
|
||||
#define PCB_IO_ALTIUM_CIRCUIT_MAKER_H_
|
||||
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
class ALTIUM_CIRCUIT_MAKER_PLUGIN : public PCB_IO
|
||||
class PCB_IO_ALTIUM_CIRCUIT_MAKER : public PCB_IO
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override;
|
||||
|
@ -48,12 +48,12 @@ public:
|
|||
return 0;
|
||||
}
|
||||
|
||||
ALTIUM_CIRCUIT_MAKER_PLUGIN();
|
||||
~ALTIUM_CIRCUIT_MAKER_PLUGIN();
|
||||
PCB_IO_ALTIUM_CIRCUIT_MAKER();
|
||||
~PCB_IO_ALTIUM_CIRCUIT_MAKER();
|
||||
|
||||
private:
|
||||
const STRING_UTF8_MAP* m_props;
|
||||
BOARD* m_board;
|
||||
};
|
||||
|
||||
#endif // ALTIUM_CIRCUIT_MAKER_PLUGIN_H_
|
||||
#endif // PCB_IO_ALTIUM_CIRCUIT_MAKER_H_
|
|
@ -23,14 +23,13 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file altium_circuit_studio_plugin.cpp
|
||||
* @brief Pcbnew PLUGIN for Altium *.PcbDoc format.
|
||||
* @brief Pcbnew PLUGIN for Altium *.PcbDoc format.
|
||||
*/
|
||||
|
||||
#include <wx/string.h>
|
||||
|
||||
#include <altium_circuit_studio_plugin.h>
|
||||
#include <altium_designer_plugin.h>
|
||||
#include <pcb_io_altium_circuit_studio.h>
|
||||
#include <pcb_io_altium_designer.h>
|
||||
#include <altium_pcb.h>
|
||||
#include <io/altium/altium_parser.h>
|
||||
#include <pcb_io/pcb_io.h>
|
||||
|
@ -40,40 +39,40 @@
|
|||
#include <compoundfilereader.h>
|
||||
#include <utf.h>
|
||||
|
||||
ALTIUM_CIRCUIT_STUDIO_PLUGIN::ALTIUM_CIRCUIT_STUDIO_PLUGIN()
|
||||
PCB_IO_ALTIUM_CIRCUIT_STUDIO::PCB_IO_ALTIUM_CIRCUIT_STUDIO()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
}
|
||||
|
||||
|
||||
ALTIUM_CIRCUIT_STUDIO_PLUGIN::~ALTIUM_CIRCUIT_STUDIO_PLUGIN()
|
||||
PCB_IO_ALTIUM_CIRCUIT_STUDIO::~PCB_IO_ALTIUM_CIRCUIT_STUDIO()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
const wxString ALTIUM_CIRCUIT_STUDIO_PLUGIN::PluginName() const
|
||||
const wxString PCB_IO_ALTIUM_CIRCUIT_STUDIO::PluginName() const
|
||||
{
|
||||
return wxT( "Altium Circuit Studio" );
|
||||
}
|
||||
|
||||
|
||||
PLUGIN_FILE_DESC ALTIUM_CIRCUIT_STUDIO_PLUGIN::GetBoardFileDesc() const
|
||||
PLUGIN_FILE_DESC PCB_IO_ALTIUM_CIRCUIT_STUDIO::GetBoardFileDesc() const
|
||||
{
|
||||
return PLUGIN_FILE_DESC( _HKI( "Altium Circuit Studio PCB files" ), { "CSPcbDoc" } );
|
||||
}
|
||||
|
||||
|
||||
bool ALTIUM_CIRCUIT_STUDIO_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_ALTIUM_CIRCUIT_STUDIO::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
||||
return ALTIUM_DESIGNER_PLUGIN::checkFileHeader( aFileName );
|
||||
return PCB_IO_ALTIUM_DESIGNER::checkFileHeader( aFileName );
|
||||
}
|
||||
|
||||
|
||||
BOARD* ALTIUM_CIRCUIT_STUDIO_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_ALTIUM_CIRCUIT_STUDIO::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties,
|
||||
PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
|
@ -22,13 +22,13 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef ALTIUM_CIRCUIT_STUDIO_PLUGIN_H_
|
||||
#define ALTIUM_CIRCUIT_STUDIO_PLUGIN_H_
|
||||
#ifndef PCB_IO_ALTIUM_CIRCUIT_STUDIO_H_
|
||||
#define PCB_IO_ALTIUM_CIRCUIT_STUDIO_H_
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
class ALTIUM_CIRCUIT_STUDIO_PLUGIN : public PCB_IO
|
||||
class PCB_IO_ALTIUM_CIRCUIT_STUDIO : public PCB_IO
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override;
|
||||
|
@ -47,12 +47,12 @@ public:
|
|||
return 0;
|
||||
}
|
||||
|
||||
ALTIUM_CIRCUIT_STUDIO_PLUGIN();
|
||||
~ALTIUM_CIRCUIT_STUDIO_PLUGIN();
|
||||
PCB_IO_ALTIUM_CIRCUIT_STUDIO();
|
||||
~PCB_IO_ALTIUM_CIRCUIT_STUDIO();
|
||||
|
||||
private:
|
||||
const STRING_UTF8_MAP* m_props;
|
||||
BOARD* m_board;
|
||||
};
|
||||
|
||||
#endif // ALTIUM_CIRCUIT_STUDIO_PLUGIN_H_
|
||||
#endif // PCB_IO_ALTIUM_CIRCUIT_STUDIO_H_
|
|
@ -23,13 +23,12 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file altium_designer_plugin.cpp
|
||||
* @brief Pcbnew PLUGIN for Altium *.PcbDoc format.
|
||||
*/
|
||||
|
||||
#include <wx/string.h>
|
||||
|
||||
#include <altium_designer_plugin.h>
|
||||
#include <pcb_io_altium_designer.h>
|
||||
#include <altium_pcb.h>
|
||||
#include <io/io_utils.h>
|
||||
#include <io/altium/altium_parser.h>
|
||||
|
@ -40,26 +39,26 @@
|
|||
#include <compoundfilereader.h>
|
||||
#include <utf.h>
|
||||
|
||||
ALTIUM_DESIGNER_PLUGIN::ALTIUM_DESIGNER_PLUGIN()
|
||||
PCB_IO_ALTIUM_DESIGNER::PCB_IO_ALTIUM_DESIGNER()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
}
|
||||
|
||||
|
||||
ALTIUM_DESIGNER_PLUGIN::~ALTIUM_DESIGNER_PLUGIN()
|
||||
PCB_IO_ALTIUM_DESIGNER::~PCB_IO_ALTIUM_DESIGNER()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool ALTIUM_DESIGNER_PLUGIN::checkFileHeader( const wxString& aFileName )
|
||||
bool PCB_IO_ALTIUM_DESIGNER::checkFileHeader( const wxString& aFileName )
|
||||
{
|
||||
// Compound File Binary Format header
|
||||
return IO_UTILS::fileStartsWithBinaryHeader( aFileName, IO_UTILS::COMPOUND_FILE_HEADER );
|
||||
}
|
||||
|
||||
|
||||
bool ALTIUM_DESIGNER_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_ALTIUM_DESIGNER::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
@ -68,7 +67,7 @@ bool ALTIUM_DESIGNER_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
bool ALTIUM_DESIGNER_PLUGIN::CanReadFootprintLib( const wxString& aFileName ) const
|
||||
bool PCB_IO_ALTIUM_DESIGNER::CanReadFootprintLib( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadFootprintLib( aFileName ) )
|
||||
return false;
|
||||
|
@ -77,7 +76,7 @@ bool ALTIUM_DESIGNER_PLUGIN::CanReadFootprintLib( const wxString& aFileName ) co
|
|||
}
|
||||
|
||||
|
||||
BOARD* ALTIUM_DESIGNER_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_ALTIUM_DESIGNER::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
|
@ -132,7 +131,7 @@ BOARD* ALTIUM_DESIGNER_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aApp
|
|||
}
|
||||
|
||||
|
||||
long long ALTIUM_DESIGNER_PLUGIN::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
long long PCB_IO_ALTIUM_DESIGNER::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
{
|
||||
// File hasn't been loaded yet.
|
||||
if( aLibraryPath.IsEmpty() )
|
||||
|
@ -153,7 +152,7 @@ long long ALTIUM_DESIGNER_PLUGIN::GetLibraryTimestamp( const wxString& aLibraryP
|
|||
}
|
||||
|
||||
|
||||
void ALTIUM_DESIGNER_PLUGIN::loadAltiumLibrary( const wxString& aLibraryPath )
|
||||
void PCB_IO_ALTIUM_DESIGNER::loadAltiumLibrary( const wxString& aLibraryPath )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -186,7 +185,7 @@ void ALTIUM_DESIGNER_PLUGIN::loadAltiumLibrary( const wxString& aLibraryPath )
|
|||
}
|
||||
|
||||
|
||||
void ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames,
|
||||
void PCB_IO_ALTIUM_DESIGNER::FootprintEnumerate( wxArrayString& aFootprintNames,
|
||||
const wxString& aLibraryPath, bool aBestEfforts,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -261,7 +260,7 @@ void ALTIUM_DESIGNER_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* ALTIUM_DESIGNER_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
||||
FOOTPRINT* PCB_IO_ALTIUM_DESIGNER::FootprintLoad( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName, bool aKeepUUID,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
|
@ -22,8 +22,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef ALTIUM_DESIGNER_PLUGIN_H_
|
||||
#define ALTIUM_DESIGNER_PLUGIN_H_
|
||||
#ifndef PCB_IO_ALTIUM_DESIGNER_H_
|
||||
#define PCB_IO_ALTIUM_DESIGNER_H_
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
@ -33,7 +33,7 @@
|
|||
|
||||
class ALTIUM_COMPOUND_FILE;
|
||||
|
||||
class ALTIUM_DESIGNER_PLUGIN : public PCB_IO
|
||||
class PCB_IO_ALTIUM_DESIGNER : public PCB_IO
|
||||
{
|
||||
public:
|
||||
// -----<PUBLIC PCB_IO API>--------------------------------------------------
|
||||
|
@ -75,8 +75,8 @@ public:
|
|||
|
||||
// -----</PUBLIC PCB_IO API>-------------------------------------------------
|
||||
|
||||
ALTIUM_DESIGNER_PLUGIN();
|
||||
~ALTIUM_DESIGNER_PLUGIN();
|
||||
PCB_IO_ALTIUM_DESIGNER();
|
||||
~PCB_IO_ALTIUM_DESIGNER();
|
||||
|
||||
static bool checkFileHeader( const wxString& aFileName );
|
||||
|
||||
|
@ -89,4 +89,4 @@ private:
|
|||
void loadAltiumLibrary( const wxString& aLibraryPath );
|
||||
};
|
||||
|
||||
#endif // ALTIUM_DESIGNER_PLUGIN_H_
|
||||
#endif // PCB_IO_ALTIUM_DESIGNER_H_
|
|
@ -19,8 +19,8 @@
|
|||
|
||||
#include <wx/string.h>
|
||||
|
||||
#include <solidworks_pcb_plugin.h>
|
||||
#include <altium_designer_plugin.h>
|
||||
#include <pcb_io_solidworks.h>
|
||||
#include <pcb_io_altium_designer.h>
|
||||
#include <altium_pcb.h>
|
||||
#include <io/altium/altium_parser.h>
|
||||
#include <pcb_io/pcb_io.h>
|
||||
|
@ -30,40 +30,40 @@
|
|||
#include <compoundfilereader.h>
|
||||
#include <utf.h>
|
||||
|
||||
SOLIDWORKS_PCB_PLUGIN::SOLIDWORKS_PCB_PLUGIN()
|
||||
PCB_IO_SOLIDWORKS::PCB_IO_SOLIDWORKS()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
}
|
||||
|
||||
|
||||
SOLIDWORKS_PCB_PLUGIN::~SOLIDWORKS_PCB_PLUGIN()
|
||||
PCB_IO_SOLIDWORKS::~PCB_IO_SOLIDWORKS()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
const wxString SOLIDWORKS_PCB_PLUGIN::PluginName() const
|
||||
const wxString PCB_IO_SOLIDWORKS::PluginName() const
|
||||
{
|
||||
return wxT( "Solidworks PCB" );
|
||||
}
|
||||
|
||||
|
||||
PLUGIN_FILE_DESC SOLIDWORKS_PCB_PLUGIN::GetBoardFileDesc() const
|
||||
PLUGIN_FILE_DESC PCB_IO_SOLIDWORKS::GetBoardFileDesc() const
|
||||
{
|
||||
return PLUGIN_FILE_DESC( _HKI( "Solidworks PCB files" ), { "SWPcbDoc" } );
|
||||
}
|
||||
|
||||
|
||||
bool SOLIDWORKS_PCB_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_SOLIDWORKS::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
||||
return ALTIUM_DESIGNER_PLUGIN::checkFileHeader( aFileName );
|
||||
return PCB_IO_ALTIUM_DESIGNER::checkFileHeader( aFileName );
|
||||
}
|
||||
|
||||
|
||||
BOARD* SOLIDWORKS_PCB_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_SOLIDWORKS::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
|
@ -17,13 +17,13 @@
|
|||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef KICAD_SOLIDWORKS_PCB_PLUGIN_H
|
||||
#define KICAD_SOLIDWORKS_PCB_PLUGIN_H
|
||||
#ifndef PCB_IO_SOLIDWORKS_H_
|
||||
#define PCB_IO_SOLIDWORKS_H_
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
class SOLIDWORKS_PCB_PLUGIN : public PCB_IO
|
||||
class PCB_IO_SOLIDWORKS : public PCB_IO
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override;
|
||||
|
@ -41,8 +41,8 @@ public:
|
|||
return 0;
|
||||
}
|
||||
|
||||
SOLIDWORKS_PCB_PLUGIN();
|
||||
~SOLIDWORKS_PCB_PLUGIN();
|
||||
PCB_IO_SOLIDWORKS();
|
||||
~PCB_IO_SOLIDWORKS();
|
||||
|
||||
private:
|
||||
const STRING_UTF8_MAP* m_props;
|
||||
|
@ -51,4 +51,4 @@ private:
|
|||
|
||||
|
||||
|
||||
#endif //KICAD_SOLIDWORKS_PCB_PLUGIN_H
|
||||
#endif //PCB_IO_SOLIDWORKS_H_
|
|
@ -2,9 +2,9 @@
|
|||
include_directories( . )
|
||||
|
||||
set( CADSTAR2PCBNEW_SRCS
|
||||
cadstar_pcb_archive_plugin.cpp
|
||||
cadstar_pcb_archive_parser.cpp
|
||||
cadstar_pcb_archive_loader.cpp
|
||||
pcb_io_cadstar_archive.cpp
|
||||
)
|
||||
|
||||
add_library( cadstar2pcbnew STATIC ${CADSTAR2PCBNEW_SRCS} )
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#define CADSTAR_PCB_ARCHIVE_LOADER_H_
|
||||
|
||||
#include <cadstar_pcb_archive_parser.h>
|
||||
#include <cadstar_pcb_archive_plugin.h>
|
||||
#include <pcb_io_cadstar_archive.h>
|
||||
#include <board.h>
|
||||
#include <footprint.h>
|
||||
|
||||
|
|
|
@ -19,13 +19,12 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file cadstar_pcb_archive_plugin.cpp
|
||||
* @brief Pcbnew PLUGIN for CADSTAR PCB Archive (*.cpa) format: an ASCII format
|
||||
* based on S-expressions.
|
||||
*/
|
||||
|
||||
#include <cadstar_pcb_archive_loader.h>
|
||||
#include <cadstar_pcb_archive_plugin.h>
|
||||
#include <pcb_io_cadstar_archive.h>
|
||||
#include <board.h>
|
||||
#include <footprint.h>
|
||||
#include <string_utf8_map.h>
|
||||
|
@ -33,7 +32,7 @@
|
|||
#include <pcb_io/pcb_io.h>
|
||||
|
||||
|
||||
std::map<wxString, PCB_LAYER_ID> CADSTAR_PCB_ARCHIVE_PLUGIN::DefaultLayerMappingCallback(
|
||||
std::map<wxString, PCB_LAYER_ID> PCB_IO_CADSTAR_ARCHIVE::DefaultLayerMappingCallback(
|
||||
const std::vector<INPUT_LAYER_DESC>& aInputLayerDescriptionVector )
|
||||
{
|
||||
std::map<wxString, PCB_LAYER_ID> retval;
|
||||
|
@ -48,7 +47,7 @@ std::map<wxString, PCB_LAYER_ID> CADSTAR_PCB_ARCHIVE_PLUGIN::DefaultLayerMapping
|
|||
}
|
||||
|
||||
|
||||
void CADSTAR_PCB_ARCHIVE_PLUGIN::RegisterLayerMappingCallback(
|
||||
void PCB_IO_CADSTAR_ARCHIVE::RegisterLayerMappingCallback(
|
||||
LAYER_MAPPING_HANDLER aLayerMappingHandler )
|
||||
{
|
||||
LAYER_REMAPPABLE_PLUGIN::RegisterLayerMappingCallback( aLayerMappingHandler );
|
||||
|
@ -56,23 +55,23 @@ void CADSTAR_PCB_ARCHIVE_PLUGIN::RegisterLayerMappingCallback(
|
|||
}
|
||||
|
||||
|
||||
CADSTAR_PCB_ARCHIVE_PLUGIN::CADSTAR_PCB_ARCHIVE_PLUGIN()
|
||||
PCB_IO_CADSTAR_ARCHIVE::PCB_IO_CADSTAR_ARCHIVE()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
m_show_layer_mapping_warnings = true;
|
||||
LAYER_REMAPPABLE_PLUGIN::RegisterLayerMappingCallback(
|
||||
CADSTAR_PCB_ARCHIVE_PLUGIN::DefaultLayerMappingCallback );
|
||||
PCB_IO_CADSTAR_ARCHIVE::DefaultLayerMappingCallback );
|
||||
}
|
||||
|
||||
|
||||
CADSTAR_PCB_ARCHIVE_PLUGIN::~CADSTAR_PCB_ARCHIVE_PLUGIN()
|
||||
PCB_IO_CADSTAR_ARCHIVE::~PCB_IO_CADSTAR_ARCHIVE()
|
||||
{
|
||||
clearLoadedFootprints();
|
||||
}
|
||||
|
||||
|
||||
void CADSTAR_PCB_ARCHIVE_PLUGIN::clearLoadedFootprints()
|
||||
void PCB_IO_CADSTAR_ARCHIVE::clearLoadedFootprints()
|
||||
{
|
||||
for( FOOTPRINT* fp : m_loaded_footprints )
|
||||
{
|
||||
|
@ -83,7 +82,7 @@ void CADSTAR_PCB_ARCHIVE_PLUGIN::clearLoadedFootprints()
|
|||
}
|
||||
|
||||
|
||||
std::vector<FOOTPRINT*> CADSTAR_PCB_ARCHIVE_PLUGIN::GetImportedCachedLibraryFootprints()
|
||||
std::vector<FOOTPRINT*> PCB_IO_CADSTAR_ARCHIVE::GetImportedCachedLibraryFootprints()
|
||||
{
|
||||
std::vector<FOOTPRINT*> retval;
|
||||
|
||||
|
@ -96,7 +95,7 @@ std::vector<FOOTPRINT*> CADSTAR_PCB_ARCHIVE_PLUGIN::GetImportedCachedLibraryFoot
|
|||
}
|
||||
|
||||
|
||||
BOARD* CADSTAR_PCB_ARCHIVE_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_CADSTAR_ARCHIVE::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
|
@ -139,13 +138,13 @@ BOARD* CADSTAR_PCB_ARCHIVE_PLUGIN::LoadBoard( const wxString& aFileName, BOARD*
|
|||
}
|
||||
|
||||
|
||||
bool CADSTAR_PCB_ARCHIVE_PLUGIN::checkBoardHeader( const wxString& aFileName ) const
|
||||
bool PCB_IO_CADSTAR_ARCHIVE::checkBoardHeader( const wxString& aFileName ) const
|
||||
{
|
||||
return IO_UTILS::fileStartsWithPrefix( aFileName, wxT( "(CADSTARPCB" ), true );
|
||||
}
|
||||
|
||||
|
||||
bool CADSTAR_PCB_ARCHIVE_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_CADSTAR_ARCHIVE::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
@ -154,7 +153,7 @@ bool CADSTAR_PCB_ARCHIVE_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
bool CADSTAR_PCB_ARCHIVE_PLUGIN::CanReadFootprintLib( const wxString& aFileName ) const
|
||||
bool PCB_IO_CADSTAR_ARCHIVE::CanReadFootprintLib( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadFootprintLib( aFileName ) )
|
||||
return false;
|
||||
|
@ -163,7 +162,7 @@ bool CADSTAR_PCB_ARCHIVE_PLUGIN::CanReadFootprintLib( const wxString& aFileName
|
|||
}
|
||||
|
||||
|
||||
bool CADSTAR_PCB_ARCHIVE_PLUGIN::CanReadFootprint( const wxString& aFileName ) const
|
||||
bool PCB_IO_CADSTAR_ARCHIVE::CanReadFootprint( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadFootprint( aFileName ) )
|
||||
return false;
|
||||
|
@ -172,7 +171,7 @@ bool CADSTAR_PCB_ARCHIVE_PLUGIN::CanReadFootprint( const wxString& aFileName ) c
|
|||
}
|
||||
|
||||
|
||||
void CADSTAR_PCB_ARCHIVE_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames,
|
||||
void PCB_IO_CADSTAR_ARCHIVE::FootprintEnumerate( wxArrayString& aFootprintNames,
|
||||
const wxString& aLibraryPath,
|
||||
bool aBestEfforts,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
|
@ -187,7 +186,7 @@ void CADSTAR_PCB_ARCHIVE_PLUGIN::FootprintEnumerate( wxArrayString& aFoo
|
|||
}
|
||||
|
||||
|
||||
bool CADSTAR_PCB_ARCHIVE_PLUGIN::FootprintExists( const wxString& aLibraryPath,
|
||||
bool PCB_IO_CADSTAR_ARCHIVE::FootprintExists( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -203,7 +202,7 @@ bool CADSTAR_PCB_ARCHIVE_PLUGIN::FootprintExists( const wxString& aLibrar
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* CADSTAR_PCB_ARCHIVE_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
||||
FOOTPRINT* PCB_IO_CADSTAR_ARCHIVE::FootprintLoad( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName,
|
||||
bool aKeepUUID,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
|
@ -223,7 +222,7 @@ FOOTPRINT* CADSTAR_PCB_ARCHIVE_PLUGIN::FootprintLoad( const wxString& aLi
|
|||
}
|
||||
|
||||
|
||||
long long CADSTAR_PCB_ARCHIVE_PLUGIN::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
long long PCB_IO_CADSTAR_ARCHIVE::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
{
|
||||
wxFileName fn( aLibraryPath );
|
||||
|
||||
|
@ -234,7 +233,7 @@ long long CADSTAR_PCB_ARCHIVE_PLUGIN::GetLibraryTimestamp( const wxString& aLibr
|
|||
}
|
||||
|
||||
|
||||
void CADSTAR_PCB_ARCHIVE_PLUGIN::ensureLoadedLibrary( const wxString& aLibraryPath )
|
||||
void PCB_IO_CADSTAR_ARCHIVE::ensureLoadedLibrary( const wxString& aLibraryPath )
|
||||
{
|
||||
if( m_cache.count( aLibraryPath ) )
|
||||
{
|
|
@ -18,12 +18,6 @@
|
|||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file cadstar_pcb_archive_plugin.h
|
||||
* @brief Pcbnew #PLUGIN for CADSTAR PCB Archive (*.cpa) format: an ASCII format
|
||||
* based on S-expressions.
|
||||
*/
|
||||
|
||||
#ifndef CADSTAR_ARCHIVE_PLUGIN_H_
|
||||
#define CADSTAR_ARCHIVE_PLUGIN_H_
|
||||
|
||||
|
@ -35,7 +29,7 @@
|
|||
#include <memory>
|
||||
|
||||
|
||||
class CADSTAR_PCB_ARCHIVE_PLUGIN : public PCB_IO, public LAYER_REMAPPABLE_PLUGIN
|
||||
class PCB_IO_CADSTAR_ARCHIVE : public PCB_IO, public LAYER_REMAPPABLE_PLUGIN
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override { return wxT( "CADSTAR PCB Archive" ); }
|
||||
|
@ -95,8 +89,8 @@ public:
|
|||
*/
|
||||
bool IsFootprintLibWritable( const wxString& aLibraryPath ) override { return false; }
|
||||
|
||||
CADSTAR_PCB_ARCHIVE_PLUGIN();
|
||||
~CADSTAR_PCB_ARCHIVE_PLUGIN();
|
||||
PCB_IO_CADSTAR_ARCHIVE();
|
||||
~PCB_IO_CADSTAR_ARCHIVE();
|
||||
|
||||
private:
|
||||
void clearLoadedFootprints();
|
|
@ -79,7 +79,7 @@ Load() TODO's
|
|||
#include <pcb_dimension.h>
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/eagle/eagle_plugin.h>
|
||||
#include <pcb_io/eagle/pcb_io_eagle.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
@ -117,7 +117,7 @@ static wxString makeKey( const wxString& aFirst, const wxString& aSecond )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::setKeepoutSettingsToZone( ZONE* aZone, int aLayer ) const
|
||||
void PCB_IO_EAGLE::setKeepoutSettingsToZone( ZONE* aZone, int aLayer ) const
|
||||
{
|
||||
if( aLayer == EAGLE_LAYER::TRESTRICT || aLayer == EAGLE_LAYER::BRESTRICT )
|
||||
{
|
||||
|
@ -220,7 +220,7 @@ void ERULES::parse( wxXmlNode* aRules, std::function<void()> aCheckpoint )
|
|||
}
|
||||
|
||||
|
||||
EAGLE_PLUGIN::EAGLE_PLUGIN() :
|
||||
PCB_IO_EAGLE::PCB_IO_EAGLE() :
|
||||
m_rules( new ERULES() ),
|
||||
m_xpath( new XPATH() ),
|
||||
m_progressReporter( nullptr ),
|
||||
|
@ -233,12 +233,12 @@ EAGLE_PLUGIN::EAGLE_PLUGIN() :
|
|||
|
||||
init( nullptr );
|
||||
clear_cu_map();
|
||||
RegisterLayerMappingCallback( std::bind( &EAGLE_PLUGIN::DefaultLayerMappingCallback,
|
||||
RegisterLayerMappingCallback( std::bind( &PCB_IO_EAGLE::DefaultLayerMappingCallback,
|
||||
this, _1 ) );
|
||||
}
|
||||
|
||||
|
||||
EAGLE_PLUGIN::~EAGLE_PLUGIN()
|
||||
PCB_IO_EAGLE::~PCB_IO_EAGLE()
|
||||
{
|
||||
deleteTemplates();
|
||||
delete m_rules;
|
||||
|
@ -246,7 +246,7 @@ EAGLE_PLUGIN::~EAGLE_PLUGIN()
|
|||
}
|
||||
|
||||
|
||||
bool EAGLE_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_EAGLE::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
@ -255,7 +255,7 @@ bool EAGLE_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
bool EAGLE_PLUGIN::CanReadFootprintLib( const wxString& aFileName ) const
|
||||
bool PCB_IO_EAGLE::CanReadFootprintLib( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadFootprintLib( aFileName ) )
|
||||
return false;
|
||||
|
@ -264,13 +264,13 @@ bool EAGLE_PLUGIN::CanReadFootprintLib( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
bool EAGLE_PLUGIN::CanReadFootprint( const wxString& aFileName ) const
|
||||
bool PCB_IO_EAGLE::CanReadFootprint( const wxString& aFileName ) const
|
||||
{
|
||||
return CanReadFootprintLib( aFileName );
|
||||
}
|
||||
|
||||
|
||||
bool EAGLE_PLUGIN::checkHeader(const wxString& aFileName) const
|
||||
bool PCB_IO_EAGLE::checkHeader(const wxString& aFileName) const
|
||||
{
|
||||
wxFileInputStream input( aFileName );
|
||||
|
||||
|
@ -292,7 +292,7 @@ bool EAGLE_PLUGIN::checkHeader(const wxString& aFileName) const
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::checkpoint()
|
||||
void PCB_IO_EAGLE::checkpoint()
|
||||
{
|
||||
const unsigned PROGRESS_DELTA = 50;
|
||||
|
||||
|
@ -312,7 +312,7 @@ void EAGLE_PLUGIN::checkpoint()
|
|||
}
|
||||
|
||||
|
||||
VECTOR2I inline EAGLE_PLUGIN::kicad_fontsize( const ECOORD& d, int aTextThickness ) const
|
||||
VECTOR2I inline PCB_IO_EAGLE::kicad_fontsize( const ECOORD& d, int aTextThickness ) const
|
||||
{
|
||||
// Eagle includes stroke thickness in the text size, KiCAD does not
|
||||
int kz = d.ToPcbUnits();
|
||||
|
@ -320,7 +320,7 @@ VECTOR2I inline EAGLE_PLUGIN::kicad_fontsize( const ECOORD& d, int aTextThicknes
|
|||
}
|
||||
|
||||
|
||||
BOARD* EAGLE_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_EAGLE::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
|
@ -443,7 +443,7 @@ BOARD* EAGLE_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
|||
}
|
||||
|
||||
|
||||
std::vector<FOOTPRINT*> EAGLE_PLUGIN::GetImportedCachedLibraryFootprints()
|
||||
std::vector<FOOTPRINT*> PCB_IO_EAGLE::GetImportedCachedLibraryFootprints()
|
||||
{
|
||||
std::vector<FOOTPRINT*> retval;
|
||||
|
||||
|
@ -454,7 +454,7 @@ std::vector<FOOTPRINT*> EAGLE_PLUGIN::GetImportedCachedLibraryFootprints()
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::init( const STRING_UTF8_MAP* aProperties )
|
||||
void PCB_IO_EAGLE::init( const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
m_hole_count = 0;
|
||||
m_min_trace = 0;
|
||||
|
@ -473,7 +473,7 @@ void EAGLE_PLUGIN::init( const STRING_UTF8_MAP* aProperties )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::clear_cu_map()
|
||||
void PCB_IO_EAGLE::clear_cu_map()
|
||||
{
|
||||
// All cu layers are invalid until we see them in the <layers> section while
|
||||
// loading either a board or library. See loadLayerDefs().
|
||||
|
@ -482,7 +482,7 @@ void EAGLE_PLUGIN::clear_cu_map()
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadAllSections( wxXmlNode* aDoc )
|
||||
void PCB_IO_EAGLE::loadAllSections( wxXmlNode* aDoc )
|
||||
{
|
||||
wxXmlNode* drawing = MapChildren( aDoc )["drawing"];
|
||||
NODE_MAP drawingChildren = MapChildren( drawing );
|
||||
|
@ -568,7 +568,7 @@ void EAGLE_PLUGIN::loadAllSections( wxXmlNode* aDoc )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadDesignRules( wxXmlNode* aDesignRules )
|
||||
void PCB_IO_EAGLE::loadDesignRules( wxXmlNode* aDesignRules )
|
||||
{
|
||||
if( aDesignRules )
|
||||
{
|
||||
|
@ -579,7 +579,7 @@ void EAGLE_PLUGIN::loadDesignRules( wxXmlNode* aDesignRules )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadLayerDefs( wxXmlNode* aLayers )
|
||||
void PCB_IO_EAGLE::loadLayerDefs( wxXmlNode* aLayers )
|
||||
{
|
||||
if( !aLayers )
|
||||
return;
|
||||
|
@ -650,7 +650,7 @@ void EAGLE_PLUGIN::loadLayerDefs( wxXmlNode* aLayers )
|
|||
#define DIMENSION_PRECISION DIM_PRECISION::X_XX // 0.01 mm
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadPlain( wxXmlNode* aGraphics )
|
||||
void PCB_IO_EAGLE::loadPlain( wxXmlNode* aGraphics )
|
||||
{
|
||||
if( !aGraphics )
|
||||
return;
|
||||
|
@ -1089,7 +1089,7 @@ void EAGLE_PLUGIN::loadPlain( wxXmlNode* aGraphics )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadLibrary( wxXmlNode* aLib, const wxString* aLibName )
|
||||
void PCB_IO_EAGLE::loadLibrary( wxXmlNode* aLib, const wxString* aLibName )
|
||||
{
|
||||
if( !aLib )
|
||||
return;
|
||||
|
@ -1147,7 +1147,7 @@ void EAGLE_PLUGIN::loadLibrary( wxXmlNode* aLib, const wxString* aLibName )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadLibraries( wxXmlNode* aLibs )
|
||||
void PCB_IO_EAGLE::loadLibraries( wxXmlNode* aLibs )
|
||||
{
|
||||
if( !aLibs )
|
||||
return;
|
||||
|
@ -1170,7 +1170,7 @@ void EAGLE_PLUGIN::loadLibraries( wxXmlNode* aLibs )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadElements( wxXmlNode* aElements )
|
||||
void PCB_IO_EAGLE::loadElements( wxXmlNode* aElements )
|
||||
{
|
||||
if( !aElements )
|
||||
return;
|
||||
|
@ -1432,7 +1432,7 @@ void EAGLE_PLUGIN::loadElements( wxXmlNode* aElements )
|
|||
}
|
||||
|
||||
|
||||
ZONE* EAGLE_PLUGIN::loadPolygon( wxXmlNode* aPolyNode )
|
||||
ZONE* PCB_IO_EAGLE::loadPolygon( wxXmlNode* aPolyNode )
|
||||
{
|
||||
EPOLYGON p( aPolyNode );
|
||||
PCB_LAYER_ID layer = kicad_layer( p.layer );
|
||||
|
@ -1589,7 +1589,7 @@ ZONE* EAGLE_PLUGIN::loadPolygon( wxXmlNode* aPolyNode )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::orientFootprintAndText( FOOTPRINT* aFootprint, const EELEMENT& e,
|
||||
void PCB_IO_EAGLE::orientFootprintAndText( FOOTPRINT* aFootprint, const EELEMENT& e,
|
||||
const EATTR* aNameAttr, const EATTR* aValueAttr )
|
||||
{
|
||||
if( e.rot )
|
||||
|
@ -1610,7 +1610,7 @@ void EAGLE_PLUGIN::orientFootprintAndText( FOOTPRINT* aFootprint, const EELEMENT
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::orientFPText( FOOTPRINT* aFootprint, const EELEMENT& e, PCB_TEXT* aFPText,
|
||||
void PCB_IO_EAGLE::orientFPText( FOOTPRINT* aFootprint, const EELEMENT& e, PCB_TEXT* aFPText,
|
||||
const EATTR* aAttr )
|
||||
{
|
||||
// Smashed part ?
|
||||
|
@ -1758,7 +1758,7 @@ void EAGLE_PLUGIN::orientFPText( FOOTPRINT* aFootprint, const EELEMENT& e, PCB_T
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* EAGLE_PLUGIN::makeFootprint( wxXmlNode* aPackage, const wxString& aPkgName )
|
||||
FOOTPRINT* PCB_IO_EAGLE::makeFootprint( wxXmlNode* aPackage, const wxString& aPkgName )
|
||||
{
|
||||
std::unique_ptr<FOOTPRINT> m = std::make_unique<FOOTPRINT>( m_board );
|
||||
|
||||
|
@ -1807,7 +1807,7 @@ FOOTPRINT* EAGLE_PLUGIN::makeFootprint( wxXmlNode* aPackage, const wxString& aPk
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::packageWire( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
void PCB_IO_EAGLE::packageWire( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
{
|
||||
EWIRE w( aTree );
|
||||
PCB_LAYER_ID layer = kicad_layer( w.layer );
|
||||
|
@ -1880,7 +1880,7 @@ void EAGLE_PLUGIN::packageWire( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::packagePad( FOOTPRINT* aFootprint, wxXmlNode* aTree )
|
||||
void PCB_IO_EAGLE::packagePad( FOOTPRINT* aFootprint, wxXmlNode* aTree )
|
||||
{
|
||||
// this is thru hole technology here, no SMDs
|
||||
EPAD e( aTree );
|
||||
|
@ -1987,7 +1987,7 @@ void EAGLE_PLUGIN::packagePad( FOOTPRINT* aFootprint, wxXmlNode* aTree )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::packageText( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
void PCB_IO_EAGLE::packageText( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
{
|
||||
ETEXT t( aTree );
|
||||
PCB_LAYER_ID layer = kicad_layer( t.layer );
|
||||
|
@ -2110,7 +2110,7 @@ void EAGLE_PLUGIN::packageText( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::packageRectangle( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
void PCB_IO_EAGLE::packageRectangle( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
{
|
||||
ERECT r( aTree );
|
||||
|
||||
|
@ -2179,7 +2179,7 @@ void EAGLE_PLUGIN::packageRectangle( FOOTPRINT* aFootprint, wxXmlNode* aTree ) c
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::packagePolygon( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
void PCB_IO_EAGLE::packagePolygon( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
{
|
||||
EPOLYGON p( aTree );
|
||||
|
||||
|
@ -2284,7 +2284,7 @@ void EAGLE_PLUGIN::packagePolygon( FOOTPRINT* aFootprint, wxXmlNode* aTree ) con
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::packageCircle( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
void PCB_IO_EAGLE::packageCircle( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
{
|
||||
ECIRCLE e( aTree );
|
||||
|
||||
|
@ -2374,7 +2374,7 @@ void EAGLE_PLUGIN::packageCircle( FOOTPRINT* aFootprint, wxXmlNode* aTree ) cons
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::packageHole( FOOTPRINT* aFootprint, wxXmlNode* aTree, bool aCenter ) const
|
||||
void PCB_IO_EAGLE::packageHole( FOOTPRINT* aFootprint, wxXmlNode* aTree, bool aCenter ) const
|
||||
{
|
||||
EHOLE e( aTree );
|
||||
|
||||
|
@ -2416,7 +2416,7 @@ void EAGLE_PLUGIN::packageHole( FOOTPRINT* aFootprint, wxXmlNode* aTree, bool aC
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::packageSMD( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
void PCB_IO_EAGLE::packageSMD( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
||||
{
|
||||
ESMD e( aTree );
|
||||
PCB_LAYER_ID layer = kicad_layer( e.layer );
|
||||
|
@ -2494,7 +2494,7 @@ void EAGLE_PLUGIN::packageSMD( FOOTPRINT* aFootprint, wxXmlNode* aTree ) const
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::transferPad( const EPAD_COMMON& aEaglePad, PAD* aPad ) const
|
||||
void PCB_IO_EAGLE::transferPad( const EPAD_COMMON& aEaglePad, PAD* aPad ) const
|
||||
{
|
||||
aPad->SetNumber( aEaglePad.name );
|
||||
|
||||
|
@ -2519,7 +2519,7 @@ void EAGLE_PLUGIN::transferPad( const EPAD_COMMON& aEaglePad, PAD* aPad ) const
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::deleteTemplates()
|
||||
void PCB_IO_EAGLE::deleteTemplates()
|
||||
{
|
||||
for( const auto& [ name, footprint ] : m_templates )
|
||||
{
|
||||
|
@ -2531,7 +2531,7 @@ void EAGLE_PLUGIN::deleteTemplates()
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadClasses( wxXmlNode* aClasses )
|
||||
void PCB_IO_EAGLE::loadClasses( wxXmlNode* aClasses )
|
||||
{
|
||||
BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings();
|
||||
|
||||
|
@ -2595,7 +2595,7 @@ void EAGLE_PLUGIN::loadClasses( wxXmlNode* aClasses )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::loadSignals( wxXmlNode* aSignals )
|
||||
void PCB_IO_EAGLE::loadSignals( wxXmlNode* aSignals )
|
||||
{
|
||||
ZONES zones; // per net
|
||||
int netCode = 1;
|
||||
|
@ -2855,7 +2855,7 @@ void EAGLE_PLUGIN::loadSignals( wxXmlNode* aSignals )
|
|||
}
|
||||
|
||||
|
||||
std::map<wxString, PCB_LAYER_ID> EAGLE_PLUGIN::DefaultLayerMappingCallback(
|
||||
std::map<wxString, PCB_LAYER_ID> PCB_IO_EAGLE::DefaultLayerMappingCallback(
|
||||
const std::vector<INPUT_LAYER_DESC>& aInputLayerDescriptionVector )
|
||||
{
|
||||
std::map<wxString, PCB_LAYER_ID> layer_map;
|
||||
|
@ -2870,7 +2870,7 @@ std::map<wxString, PCB_LAYER_ID> EAGLE_PLUGIN::DefaultLayerMappingCallback(
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::mapEagleLayersToKicad( bool aIsLibraryCache )
|
||||
void PCB_IO_EAGLE::mapEagleLayersToKicad( bool aIsLibraryCache )
|
||||
{
|
||||
std::vector<INPUT_LAYER_DESC> inputDescs;
|
||||
|
||||
|
@ -2900,14 +2900,14 @@ void EAGLE_PLUGIN::mapEagleLayersToKicad( bool aIsLibraryCache )
|
|||
}
|
||||
|
||||
|
||||
PCB_LAYER_ID EAGLE_PLUGIN::kicad_layer( int aEagleLayer ) const
|
||||
PCB_LAYER_ID PCB_IO_EAGLE::kicad_layer( int aEagleLayer ) const
|
||||
{
|
||||
auto result = m_layer_map.find( eagle_layer_name( aEagleLayer ) );
|
||||
return result == m_layer_map.end() ? UNDEFINED_LAYER : result->second;
|
||||
}
|
||||
|
||||
|
||||
std::tuple<PCB_LAYER_ID, LSET, bool> EAGLE_PLUGIN::defaultKicadLayer( int aEagleLayer,
|
||||
std::tuple<PCB_LAYER_ID, LSET, bool> PCB_IO_EAGLE::defaultKicadLayer( int aEagleLayer,
|
||||
bool aIsLibraryCache ) const
|
||||
{
|
||||
// eagle copper layer:
|
||||
|
@ -3041,7 +3041,7 @@ std::tuple<PCB_LAYER_ID, LSET, bool> EAGLE_PLUGIN::defaultKicadLayer( int aEagle
|
|||
}
|
||||
|
||||
|
||||
const wxString& EAGLE_PLUGIN::eagle_layer_name( int aLayer ) const
|
||||
const wxString& PCB_IO_EAGLE::eagle_layer_name( int aLayer ) const
|
||||
{
|
||||
static const wxString unknown( "unknown" );
|
||||
auto it = m_eagleLayers.find( aLayer );
|
||||
|
@ -3049,7 +3049,7 @@ const wxString& EAGLE_PLUGIN::eagle_layer_name( int aLayer ) const
|
|||
}
|
||||
|
||||
|
||||
int EAGLE_PLUGIN::eagle_layer_id( const wxString& aLayerName ) const
|
||||
int PCB_IO_EAGLE::eagle_layer_id( const wxString& aLayerName ) const
|
||||
{
|
||||
static const int unknown = -1;
|
||||
auto it = m_eagleLayersIds.find( aLayerName );
|
||||
|
@ -3057,7 +3057,7 @@ int EAGLE_PLUGIN::eagle_layer_id( const wxString& aLayerName ) const
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::centerBoard()
|
||||
void PCB_IO_EAGLE::centerBoard()
|
||||
{
|
||||
if( m_props )
|
||||
{
|
||||
|
@ -3081,7 +3081,7 @@ void EAGLE_PLUGIN::centerBoard()
|
|||
}
|
||||
|
||||
|
||||
wxDateTime EAGLE_PLUGIN::getModificationTime( const wxString& aPath )
|
||||
wxDateTime PCB_IO_EAGLE::getModificationTime( const wxString& aPath )
|
||||
{
|
||||
// File hasn't been loaded yet.
|
||||
if( aPath.IsEmpty() )
|
||||
|
@ -3096,7 +3096,7 @@ wxDateTime EAGLE_PLUGIN::getModificationTime( const wxString& aPath )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::cacheLib( const wxString& aLibPath )
|
||||
void PCB_IO_EAGLE::cacheLib( const wxString& aLibPath )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -3180,7 +3180,7 @@ void EAGLE_PLUGIN::cacheLib( const wxString& aLibPath )
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames, const wxString& aLibraryPath,
|
||||
void PCB_IO_EAGLE::FootprintEnumerate( wxArrayString& aFootprintNames, const wxString& aLibraryPath,
|
||||
bool aBestEfforts, const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
wxString errorMsg;
|
||||
|
@ -3207,7 +3207,7 @@ void EAGLE_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames, const wxS
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* EAGLE_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
||||
FOOTPRINT* PCB_IO_EAGLE::FootprintLoad( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName, bool aKeepUUID,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -3225,12 +3225,12 @@ FOOTPRINT* EAGLE_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
void EAGLE_PLUGIN::FootprintLibOptions( STRING_UTF8_MAP* aListToAppendTo ) const
|
||||
void PCB_IO_EAGLE::FootprintLibOptions( STRING_UTF8_MAP* aListToAppendTo ) const
|
||||
{
|
||||
PCB_IO::FootprintLibOptions( aListToAppendTo );
|
||||
}
|
||||
|
||||
int EAGLE_PLUGIN::getMinimumCopperLayerCount() const
|
||||
int PCB_IO_EAGLE::getMinimumCopperLayerCount() const
|
||||
{
|
||||
int minLayerCount = 2;
|
||||
|
|
@ -22,8 +22,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef EAGLE_PLUGIN_H
|
||||
#define EAGLE_PLUGIN_H
|
||||
#ifndef PCB_IO_EAGLE_H_
|
||||
#define PCB_IO_EAGLE_H_
|
||||
|
||||
#include <io/eagle/eagle_parser.h>
|
||||
#include <pcb_io/pcb_io.h>
|
||||
|
@ -128,7 +128,7 @@ struct ERULES
|
|||
* Works with Eagle 6.x XML board files and footprints to implement the Pcbnew #PLUGIN API
|
||||
* or a portion of it.
|
||||
*/
|
||||
class EAGLE_PLUGIN : public PCB_IO, public LAYER_REMAPPABLE_PLUGIN
|
||||
class PCB_IO_EAGLE : public PCB_IO, public LAYER_REMAPPABLE_PLUGIN
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override { return wxT( "Eagle" ); }
|
||||
|
@ -176,15 +176,15 @@ public:
|
|||
|
||||
typedef int BIU;
|
||||
|
||||
EAGLE_PLUGIN();
|
||||
~EAGLE_PLUGIN();
|
||||
PCB_IO_EAGLE();
|
||||
~PCB_IO_EAGLE();
|
||||
|
||||
/**
|
||||
* Return the automapped layers.
|
||||
*
|
||||
* The callback needs to have the context of the current board so it can
|
||||
* correctly determine copper layer mapping. Thus, it is not static and is
|
||||
* expected to be bind to an instance of EAGLE_PLUGIN.
|
||||
* expected to be bind to an instance of PCB_IO_EAGLE.
|
||||
*
|
||||
* @param aInputLayerDescriptionVector
|
||||
* @return Auto-mapped layers
|
||||
|
@ -373,4 +373,4 @@ private:
|
|||
wxDateTime m_mod_time;
|
||||
};
|
||||
|
||||
#endif // EAGLE_PLUGIN_H
|
||||
#endif // PCB_IO_EAGLE_H_
|
|
@ -5,8 +5,8 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} )
|
|||
|
||||
|
||||
set( EASYEDA_SRCS
|
||||
pcb_easyeda_plugin.cpp
|
||||
pcb_easyeda_parser.cpp
|
||||
pcb_io_easyeda_plugin.cpp
|
||||
pcb_io_easyeda_parser.cpp
|
||||
)
|
||||
|
||||
add_library( easyeda STATIC ${EASYEDA_SRCS} )
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "pcb_easyeda_parser.h"
|
||||
#include "pcb_io_easyeda_parser.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
|
@ -56,15 +56,15 @@ static const int SHAPE_JOIN_DISTANCE = pcbIUScale.mmToIU( 1.5 );
|
|||
static const VECTOR2I HIDDEN_TEXT_SIZE( pcbIUScale.mmToIU( 0.5 ), pcbIUScale.mmToIU( 0.5 ) );
|
||||
|
||||
|
||||
PCB_EASYEDA_PARSER::PCB_EASYEDA_PARSER( PROGRESS_REPORTER* aProgressReporter )
|
||||
PCB_IO_EASYEDA_PARSER::PCB_IO_EASYEDA_PARSER( PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
}
|
||||
|
||||
PCB_EASYEDA_PARSER::~PCB_EASYEDA_PARSER()
|
||||
PCB_IO_EASYEDA_PARSER::~PCB_IO_EASYEDA_PARSER()
|
||||
{
|
||||
}
|
||||
|
||||
PCB_LAYER_ID PCB_EASYEDA_PARSER::LayerToKi( const wxString& aLayer )
|
||||
PCB_LAYER_ID PCB_IO_EASYEDA_PARSER::LayerToKi( const wxString& aLayer )
|
||||
{
|
||||
int elayer = wxAtoi( aLayer );
|
||||
|
||||
|
@ -143,7 +143,7 @@ static LIB_ID EasyEdaToKiCadLibID( const wxString& aLibName, const wxString& aLi
|
|||
}
|
||||
|
||||
|
||||
void PCB_EASYEDA_PARSER::ParseToBoardItemContainer(
|
||||
void PCB_IO_EASYEDA_PARSER::ParseToBoardItemContainer(
|
||||
BOARD_ITEM_CONTAINER* aContainer, BOARD* aParent, std::map<wxString, wxString> paramMap,
|
||||
std::map<wxString, std::unique_ptr<FOOTPRINT>>& aFootprintMap, wxArrayString aShapes )
|
||||
{
|
||||
|
@ -1037,7 +1037,7 @@ void PCB_EASYEDA_PARSER::ParseToBoardItemContainer(
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* PCB_EASYEDA_PARSER::ParseFootprint(
|
||||
FOOTPRINT* PCB_IO_EASYEDA_PARSER::ParseFootprint(
|
||||
const VECTOR2D& aOrigin, const EDA_ANGLE& aOrientation, int aLayer, BOARD* aParent,
|
||||
std::map<wxString, wxString> aParams,
|
||||
std::map<wxString, std::unique_ptr<FOOTPRINT>>& aFootprintMap, wxArrayString aShapes )
|
||||
|
@ -1083,7 +1083,7 @@ FOOTPRINT* PCB_EASYEDA_PARSER::ParseFootprint(
|
|||
}
|
||||
|
||||
|
||||
void PCB_EASYEDA_PARSER::ParseBoard( BOARD* aBoard, const VECTOR2D& aOrigin,
|
||||
void PCB_IO_EASYEDA_PARSER::ParseBoard( BOARD* aBoard, const VECTOR2D& aOrigin,
|
||||
std::map<wxString, std::unique_ptr<FOOTPRINT>>& aFootprintMap,
|
||||
wxArrayString aShapes )
|
||||
{
|
|
@ -22,8 +22,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef PCB_EASYEDA_PARSER_H_
|
||||
#define PCB_EASYEDA_PARSER_H_
|
||||
#ifndef PCB_IO_EASYEDA_PARSER_H_
|
||||
#define PCB_IO_EASYEDA_PARSER_H_
|
||||
|
||||
#include <io/easyeda/easyeda_parser_base.h>
|
||||
|
||||
|
@ -43,11 +43,11 @@
|
|||
class BOARD;
|
||||
class PROGRESS_REPORTER;
|
||||
|
||||
class PCB_EASYEDA_PARSER : public EASYEDA_PARSER_BASE
|
||||
class PCB_IO_EASYEDA_PARSER : public EASYEDA_PARSER_BASE
|
||||
{
|
||||
public:
|
||||
explicit PCB_EASYEDA_PARSER( PROGRESS_REPORTER* aProgressReporter );
|
||||
~PCB_EASYEDA_PARSER();
|
||||
explicit PCB_IO_EASYEDA_PARSER( PROGRESS_REPORTER* aProgressReporter );
|
||||
~PCB_IO_EASYEDA_PARSER();
|
||||
|
||||
PCB_LAYER_ID LayerToKi( const wxString& aLayer );
|
||||
|
||||
|
@ -72,4 +72,4 @@ public:
|
|||
};
|
||||
|
||||
|
||||
#endif // PCB_EASYEDA_PARSER_H_
|
||||
#endif // PCB_IO_EASYEDA_PARSER_H_
|
|
@ -23,8 +23,8 @@
|
|||
*/
|
||||
|
||||
#include <io/easyeda/easyeda_parser_structs.h>
|
||||
#include <pcb_io/easyeda/pcb_easyeda_plugin.h>
|
||||
#include <pcb_io/easyeda/pcb_easyeda_parser.h>
|
||||
#include <pcb_io/easyeda/pcb_io_easyeda_plugin.h>
|
||||
#include <pcb_io/easyeda/pcb_io_easyeda_parser.h>
|
||||
#include <pcb_io/pcb_io.h>
|
||||
|
||||
#include <progress_reporter.h>
|
||||
|
@ -43,14 +43,14 @@
|
|||
#include <core/map_helpers.h>
|
||||
|
||||
|
||||
EASYEDA_PLUGIN::EASYEDA_PLUGIN()
|
||||
PCB_IO_EASYEDA::PCB_IO_EASYEDA()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
}
|
||||
|
||||
|
||||
EASYEDA_PLUGIN::~EASYEDA_PLUGIN()
|
||||
PCB_IO_EASYEDA::~PCB_IO_EASYEDA()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -98,7 +98,7 @@ static bool FindBoardInStream( const wxString& aName, wxInputStream& aStream, nl
|
|||
}
|
||||
|
||||
|
||||
bool EASYEDA_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_EASYEDA::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
@ -122,19 +122,19 @@ bool EASYEDA_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
bool EASYEDA_PLUGIN::CanReadFootprint( const wxString& aFileName ) const
|
||||
bool PCB_IO_EASYEDA::CanReadFootprint( const wxString& aFileName ) const
|
||||
{
|
||||
return CanReadBoard( aFileName );
|
||||
}
|
||||
|
||||
|
||||
bool EASYEDA_PLUGIN::CanReadFootprintLib( const wxString& aFileName ) const
|
||||
bool PCB_IO_EASYEDA::CanReadFootprintLib( const wxString& aFileName ) const
|
||||
{
|
||||
return CanReadBoard( aFileName );
|
||||
}
|
||||
|
||||
|
||||
BOARD* EASYEDA_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_EASYEDA::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
|
@ -155,7 +155,7 @@ BOARD* EASYEDA_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
|||
THROW_IO_ERROR( _( "Open cancelled by user." ) );
|
||||
}
|
||||
|
||||
PCB_EASYEDA_PARSER parser( nullptr );
|
||||
PCB_IO_EASYEDA_PARSER parser( nullptr );
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -276,13 +276,13 @@ BOARD* EASYEDA_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
|||
}
|
||||
|
||||
|
||||
long long EASYEDA_PLUGIN::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
long long PCB_IO_EASYEDA::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void EASYEDA_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames,
|
||||
void PCB_IO_EASYEDA::FootprintEnumerate( wxArrayString& aFootprintNames,
|
||||
const wxString& aLibraryPath, bool aBestEfforts,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -371,11 +371,11 @@ void EASYEDA_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames,
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* EASYEDA_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
||||
FOOTPRINT* PCB_IO_EASYEDA::FootprintLoad( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName, bool aKeepUUID,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
PCB_EASYEDA_PARSER parser( nullptr );
|
||||
PCB_IO_EASYEDA_PARSER parser( nullptr );
|
||||
|
||||
m_loadedFootprints.clear();
|
||||
|
||||
|
@ -525,7 +525,7 @@ FOOTPRINT* EASYEDA_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
std::vector<FOOTPRINT*> EASYEDA_PLUGIN::GetImportedCachedLibraryFootprints()
|
||||
std::vector<FOOTPRINT*> PCB_IO_EASYEDA::GetImportedCachedLibraryFootprints()
|
||||
{
|
||||
std::vector<FOOTPRINT*> result;
|
||||
|
|
@ -22,14 +22,14 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef PCB_EASYEDA_PLUGIN_H_
|
||||
#define PCB_EASYEDA_PLUGIN_H_
|
||||
#ifndef PCB_IO_EASYEDA_PLUGIN_H_
|
||||
#define PCB_IO_EASYEDA_PLUGIN_H_
|
||||
|
||||
#include <footprint.h>
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
class EASYEDA_PLUGIN : public PCB_IO
|
||||
class PCB_IO_EASYEDA : public PCB_IO
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override
|
||||
|
@ -70,8 +70,8 @@ public:
|
|||
|
||||
bool IsFootprintLibWritable( const wxString& aLibraryPath ) override { return false; }
|
||||
|
||||
EASYEDA_PLUGIN();
|
||||
~EASYEDA_PLUGIN();
|
||||
PCB_IO_EASYEDA();
|
||||
~PCB_IO_EASYEDA();
|
||||
|
||||
private:
|
||||
const STRING_UTF8_MAP* m_props;
|
||||
|
@ -81,4 +81,4 @@ private:
|
|||
};
|
||||
|
||||
|
||||
#endif // PCB_EASYEDA_PLUGIN_H_
|
||||
#endif // PCB_IO_EASYEDA_PLUGIN_H_
|
|
@ -5,8 +5,8 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} )
|
|||
|
||||
|
||||
set( EASYEDAPRO_SRCS
|
||||
pcb_easyedapro_plugin.cpp
|
||||
pcb_easyedapro_parser.cpp
|
||||
pcb_io_easyedapro.cpp
|
||||
pcb_io_easyedapro_parser.cpp
|
||||
)
|
||||
|
||||
add_library( easyedapro STATIC ${EASYEDAPRO_SRCS} )
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
|
||||
#include <io/easyedapro/easyedapro_import_utils.h>
|
||||
#include <io/easyedapro/easyedapro_parser.h>
|
||||
#include <pcb_io/easyedapro/pcb_easyedapro_plugin.h>
|
||||
#include <pcb_io/easyedapro/pcb_easyedapro_parser.h>
|
||||
#include <pcb_io/easyedapro/pcb_io_easyedapro.h>
|
||||
#include <pcb_io/easyedapro/pcb_io_easyedapro_parser.h>
|
||||
#include <pcb_io/pcb_io.h>
|
||||
|
||||
#include <board.h>
|
||||
|
@ -47,7 +47,7 @@
|
|||
#include <string_utf8_map.h>
|
||||
|
||||
|
||||
struct EASYEDAPRO_PLUGIN::PRJ_DATA
|
||||
struct PCB_IO_EASYEDAPRO::PRJ_DATA
|
||||
{
|
||||
std::map<wxString, std::unique_ptr<FOOTPRINT>> m_Footprints;
|
||||
std::map<wxString, EASYEDAPRO::BLOB> m_Blobs;
|
||||
|
@ -55,21 +55,21 @@ struct EASYEDAPRO_PLUGIN::PRJ_DATA
|
|||
};
|
||||
|
||||
|
||||
EASYEDAPRO_PLUGIN::EASYEDAPRO_PLUGIN()
|
||||
PCB_IO_EASYEDAPRO::PCB_IO_EASYEDAPRO()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
}
|
||||
|
||||
|
||||
EASYEDAPRO_PLUGIN::~EASYEDAPRO_PLUGIN()
|
||||
PCB_IO_EASYEDAPRO::~PCB_IO_EASYEDAPRO()
|
||||
{
|
||||
if( m_projectData )
|
||||
delete m_projectData;
|
||||
}
|
||||
|
||||
|
||||
bool EASYEDAPRO_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_EASYEDAPRO::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( aFileName.Lower().EndsWith( wxS( ".epro" ) ) )
|
||||
{
|
||||
|
@ -99,7 +99,7 @@ bool EASYEDAPRO_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
BOARD* EASYEDAPRO_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_EASYEDAPRO::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
|
@ -119,7 +119,7 @@ BOARD* EASYEDAPRO_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendTo
|
|||
THROW_IO_ERROR( _( "Open cancelled by user." ) );
|
||||
}
|
||||
|
||||
PCB_EASYEDAPRO_PARSER parser( nullptr, nullptr );
|
||||
PCB_IO_EASYEDAPRO_PARSER parser( nullptr, nullptr );
|
||||
|
||||
wxFileName fname( aFileName );
|
||||
|
||||
|
@ -189,13 +189,13 @@ BOARD* EASYEDAPRO_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendTo
|
|||
}
|
||||
|
||||
|
||||
long long EASYEDAPRO_PLUGIN::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
long long PCB_IO_EASYEDAPRO::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void EASYEDAPRO_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames,
|
||||
void PCB_IO_EASYEDAPRO::FootprintEnumerate( wxArrayString& aFootprintNames,
|
||||
const wxString& aLibraryPath, bool aBestEfforts,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -231,7 +231,7 @@ void EASYEDAPRO_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames,
|
|||
}
|
||||
|
||||
|
||||
void EASYEDAPRO_PLUGIN::LoadAllDataFromProject( const wxString& aProjectPath,
|
||||
void PCB_IO_EASYEDAPRO::LoadAllDataFromProject( const wxString& aProjectPath,
|
||||
const nlohmann::json& aProject )
|
||||
{
|
||||
if( m_projectData )
|
||||
|
@ -239,7 +239,7 @@ void EASYEDAPRO_PLUGIN::LoadAllDataFromProject( const wxString& aProjectPa
|
|||
|
||||
m_projectData = new PRJ_DATA();
|
||||
|
||||
PCB_EASYEDAPRO_PARSER parser( nullptr, nullptr );
|
||||
PCB_IO_EASYEDAPRO_PARSER parser( nullptr, nullptr );
|
||||
wxFileName fname( aProjectPath );
|
||||
wxString fpLibName = EASYEDAPRO::ShortenLibName( fname.GetName() );
|
||||
|
||||
|
@ -301,11 +301,11 @@ void EASYEDAPRO_PLUGIN::LoadAllDataFromProject( const wxString& aProjectPa
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* EASYEDAPRO_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
||||
FOOTPRINT* PCB_IO_EASYEDAPRO::FootprintLoad( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName, bool aKeepUUID,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
PCB_EASYEDAPRO_PARSER parser( nullptr, nullptr );
|
||||
PCB_IO_EASYEDAPRO_PARSER parser( nullptr, nullptr );
|
||||
FOOTPRINT* footprint = nullptr;
|
||||
|
||||
wxFileName libFname( aLibraryPath );
|
||||
|
@ -403,7 +403,7 @@ FOOTPRINT* EASYEDAPRO_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
std::vector<FOOTPRINT*> EASYEDAPRO_PLUGIN::GetImportedCachedLibraryFootprints()
|
||||
std::vector<FOOTPRINT*> PCB_IO_EASYEDAPRO::GetImportedCachedLibraryFootprints()
|
||||
{
|
||||
std::vector<FOOTPRINT*> result;
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
|
||||
class EASYEDAPRO_PLUGIN : public PCB_IO, public PROJECT_CHOOSER_PLUGIN
|
||||
class PCB_IO_EASYEDAPRO : public PCB_IO, public PROJECT_CHOOSER_PLUGIN
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override
|
||||
|
@ -75,8 +75,8 @@ public:
|
|||
|
||||
bool IsFootprintLibWritable( const wxString& aLibraryPath ) override { return false; }
|
||||
|
||||
EASYEDAPRO_PLUGIN();
|
||||
~EASYEDAPRO_PLUGIN();
|
||||
PCB_IO_EASYEDAPRO();
|
||||
~PCB_IO_EASYEDAPRO();
|
||||
|
||||
private:
|
||||
struct PRJ_DATA; // Opaque data structure
|
|
@ -22,7 +22,7 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include "pcb_easyedapro_parser.h"
|
||||
#include "pcb_io_easyedapro_parser.h"
|
||||
#include <io/easyedapro/easyedapro_import_utils.h>
|
||||
|
||||
#include <memory>
|
||||
|
@ -65,7 +65,7 @@ static const wxString MODEL_SIZE_KEY = wxS( "JLC_3D_Size" );
|
|||
static const int SHAPE_JOIN_DISTANCE = pcbIUScale.mmToIU( 1.5 );
|
||||
|
||||
|
||||
double PCB_EASYEDAPRO_PARSER::Convert( wxString aValue )
|
||||
double PCB_IO_EASYEDAPRO_PARSER::Convert( wxString aValue )
|
||||
{
|
||||
double value = 0;
|
||||
|
||||
|
@ -76,18 +76,18 @@ double PCB_EASYEDAPRO_PARSER::Convert( wxString aValue )
|
|||
}
|
||||
|
||||
|
||||
PCB_EASYEDAPRO_PARSER::PCB_EASYEDAPRO_PARSER( BOARD* aBoard, PROGRESS_REPORTER* aProgressReporter )
|
||||
PCB_IO_EASYEDAPRO_PARSER::PCB_IO_EASYEDAPRO_PARSER( BOARD* aBoard, PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
m_board = aBoard;
|
||||
}
|
||||
|
||||
|
||||
PCB_EASYEDAPRO_PARSER::~PCB_EASYEDAPRO_PARSER()
|
||||
PCB_IO_EASYEDAPRO_PARSER::~PCB_IO_EASYEDAPRO_PARSER()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
PCB_LAYER_ID PCB_EASYEDAPRO_PARSER::LayerToKi( int aLayer )
|
||||
PCB_LAYER_ID PCB_IO_EASYEDAPRO_PARSER::LayerToKi( int aLayer )
|
||||
{
|
||||
switch( aLayer )
|
||||
{
|
||||
|
@ -198,7 +198,7 @@ static void AlignText( EDA_TEXT* text, int align )
|
|||
}
|
||||
|
||||
|
||||
void PCB_EASYEDAPRO_PARSER::fillFootprintModelInfo( FOOTPRINT* footprint, const wxString& modelUuid,
|
||||
void PCB_IO_EASYEDAPRO_PARSER::fillFootprintModelInfo( FOOTPRINT* footprint, const wxString& modelUuid,
|
||||
const wxString& modelTitle,
|
||||
const wxString& modelTransform ) const
|
||||
{
|
||||
|
@ -257,7 +257,7 @@ void PCB_EASYEDAPRO_PARSER::fillFootprintModelInfo( FOOTPRINT* footprint, const
|
|||
|
||||
|
||||
std::vector<std::unique_ptr<PCB_SHAPE>>
|
||||
PCB_EASYEDAPRO_PARSER::ParsePoly( BOARD_ITEM_CONTAINER* aContainer, nlohmann::json polyData,
|
||||
PCB_IO_EASYEDAPRO_PARSER::ParsePoly( BOARD_ITEM_CONTAINER* aContainer, nlohmann::json polyData,
|
||||
bool aClosed, bool aInFill ) const
|
||||
{
|
||||
std::vector<std::unique_ptr<PCB_SHAPE>> results;
|
||||
|
@ -454,7 +454,7 @@ PCB_EASYEDAPRO_PARSER::ParsePoly( BOARD_ITEM_CONTAINER* aContainer, nlohmann::js
|
|||
|
||||
|
||||
SHAPE_LINE_CHAIN
|
||||
PCB_EASYEDAPRO_PARSER::ParseContour( nlohmann::json polyData, bool aInFill,
|
||||
PCB_IO_EASYEDAPRO_PARSER::ParseContour( nlohmann::json polyData, bool aInFill,
|
||||
double aArcAccuracy ) const
|
||||
{
|
||||
SHAPE_LINE_CHAIN result;
|
||||
|
@ -585,7 +585,7 @@ PCB_EASYEDAPRO_PARSER::ParseContour( nlohmann::json polyData, bool aInFill,
|
|||
}
|
||||
|
||||
|
||||
std::unique_ptr<PAD> PCB_EASYEDAPRO_PARSER::createPAD( FOOTPRINT* aFootprint,
|
||||
std::unique_ptr<PAD> PCB_IO_EASYEDAPRO_PARSER::createPAD( FOOTPRINT* aFootprint,
|
||||
const nlohmann::json& line )
|
||||
{
|
||||
wxString uuid = line.at( 1 );
|
||||
|
@ -719,7 +719,7 @@ std::unique_ptr<PAD> PCB_EASYEDAPRO_PARSER::createPAD( FOOTPRINT* aFo
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* PCB_EASYEDAPRO_PARSER::ParseFootprint( const nlohmann::json& aProject,
|
||||
FOOTPRINT* PCB_IO_EASYEDAPRO_PARSER::ParseFootprint( const nlohmann::json& aProject,
|
||||
const wxString& aFpUuid,
|
||||
const std::vector<nlohmann::json>& aLines )
|
||||
{
|
||||
|
@ -929,7 +929,7 @@ FOOTPRINT* PCB_EASYEDAPRO_PARSER::ParseFootprint( const nlohmann::json&
|
|||
}
|
||||
|
||||
|
||||
void PCB_EASYEDAPRO_PARSER::ParseBoard(
|
||||
void PCB_IO_EASYEDAPRO_PARSER::ParseBoard(
|
||||
BOARD* aBoard, const nlohmann::json& aProject,
|
||||
std::map<wxString, std::unique_ptr<FOOTPRINT>>& aFootprintMap,
|
||||
const std::map<wxString, EASYEDAPRO::BLOB>& aBlobMap,
|
|
@ -22,8 +22,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef PCB_EASYEDAPRO_PARSER_H_
|
||||
#define PCB_EASYEDAPRO_PARSER_H_
|
||||
#ifndef PCB_IO_EASYEDAPRO_PARSER_H_
|
||||
#define PCB_IO_EASYEDAPRO_PARSER_H_
|
||||
|
||||
#include <io/easyedapro/easyedapro_parser.h>
|
||||
|
||||
|
@ -44,11 +44,11 @@
|
|||
class BOARD;
|
||||
class PROGRESS_REPORTER;
|
||||
|
||||
class PCB_EASYEDAPRO_PARSER
|
||||
class PCB_IO_EASYEDAPRO_PARSER
|
||||
{
|
||||
public:
|
||||
explicit PCB_EASYEDAPRO_PARSER( BOARD* aBoard, PROGRESS_REPORTER* aProgressReporter );
|
||||
~PCB_EASYEDAPRO_PARSER();
|
||||
explicit PCB_IO_EASYEDAPRO_PARSER( BOARD* aBoard, PROGRESS_REPORTER* aProgressReporter );
|
||||
~PCB_IO_EASYEDAPRO_PARSER();
|
||||
|
||||
PCB_LAYER_ID LayerToKi( int aLayer );
|
||||
|
||||
|
@ -99,4 +99,4 @@ private:
|
|||
};
|
||||
|
||||
|
||||
#endif // PCB_EASYEDAPRO_PARSER_H_
|
||||
#endif // PCB_IO_EASYEDAPRO_PARSER_H_
|
|
@ -5,7 +5,7 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} )
|
|||
|
||||
|
||||
set( FABMASTER_SRCS
|
||||
fabmaster_plugin.cpp
|
||||
pcb_io_fabmaster.cpp
|
||||
import_fabmaster.cpp
|
||||
)
|
||||
|
||||
|
|
|
@ -26,38 +26,38 @@
|
|||
* @brief Pcbnew PLUGIN for FABMASTER ASCII *.txt / *.fab format.
|
||||
*/
|
||||
|
||||
#include "fabmaster_plugin.h"
|
||||
#include "pcb_io_fabmaster.h"
|
||||
#include <board.h>
|
||||
#include <progress_reporter.h>
|
||||
#include <common.h>
|
||||
#include <macros.h>
|
||||
|
||||
|
||||
FABMASTER_PLUGIN::FABMASTER_PLUGIN()
|
||||
PCB_IO_FABMASTER::PCB_IO_FABMASTER()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
}
|
||||
|
||||
|
||||
FABMASTER_PLUGIN::~FABMASTER_PLUGIN()
|
||||
PCB_IO_FABMASTER::~PCB_IO_FABMASTER()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
const wxString FABMASTER_PLUGIN::PluginName() const
|
||||
const wxString PCB_IO_FABMASTER::PluginName() const
|
||||
{
|
||||
return wxT( "Fabmaster" );
|
||||
}
|
||||
|
||||
|
||||
PLUGIN_FILE_DESC FABMASTER_PLUGIN::GetBoardFileDesc() const
|
||||
PLUGIN_FILE_DESC PCB_IO_FABMASTER::GetBoardFileDesc() const
|
||||
{
|
||||
return PLUGIN_FILE_DESC( _HKI( "Fabmaster PCB files" ), { "txt", "fab" } );
|
||||
}
|
||||
|
||||
|
||||
BOARD* FABMASTER_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_FABMASTER::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
|
@ -21,12 +21,7 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file fabmaster_plugin.h
|
||||
* @brief Pcbnew PLUGIN for Fabmaster (Allegro) ASCII format.
|
||||
*/
|
||||
|
||||
#ifndef FABMASTER_PLUGIN_H_
|
||||
#ifndef PCB_IO_FABMASTER_H_
|
||||
#define FABMASTER_PLUGIN_H_
|
||||
|
||||
|
||||
|
@ -35,7 +30,7 @@
|
|||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
class FABMASTER_PLUGIN : public PCB_IO
|
||||
class PCB_IO_FABMASTER : public PCB_IO
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override;
|
||||
|
@ -52,8 +47,8 @@ public:
|
|||
return 0;
|
||||
}
|
||||
|
||||
FABMASTER_PLUGIN();
|
||||
~FABMASTER_PLUGIN();
|
||||
PCB_IO_FABMASTER();
|
||||
~PCB_IO_FABMASTER();
|
||||
|
||||
private:
|
||||
const STRING_UTF8_MAP* m_props;
|
||||
|
@ -62,4 +57,4 @@ private:
|
|||
FABMASTER m_fabmaster;
|
||||
};
|
||||
|
||||
#endif // FABMASTER_PLUGIN_H_
|
||||
#endif // PCB_IO_FABMASTER_H_
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file gpcb_plugin.cpp
|
||||
* @file pcb_io_geda.cpp
|
||||
* @brief Geda PCB file plugin implementation file.
|
||||
*/
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
|||
#include <macros.h>
|
||||
#include <pcb_text.h>
|
||||
#include <pcb_shape.h>
|
||||
#include <pcb_io/geda/gpcb_plugin.h>
|
||||
#include <pcb_io/geda/pcb_io_geda.h>
|
||||
#include <wx_filename.h>
|
||||
|
||||
#include <wx/dir.h>
|
||||
|
@ -102,7 +102,7 @@ static inline long parseInt( const wxString& aValue, double aScalar )
|
|||
*
|
||||
* The new footprint library design is a file path of individual footprint files
|
||||
* that contain a single footprint per file. This class is a helper only for the
|
||||
* footprint portion of the PLUGIN API, and only for the #PCB_PLUGIN plugin. It is
|
||||
* footprint portion of the PLUGIN API, and only for the #PCB_IO_KICAD_SEXPR plugin. It is
|
||||
* private to this implementation file so it is not placed into a header.
|
||||
*/
|
||||
class GPCB_FPL_CACHE_ITEM
|
||||
|
@ -132,7 +132,7 @@ typedef boost::ptr_map< std::string, GPCB_FPL_CACHE_ITEM > FOOTPRINT_MAP;
|
|||
class GPCB_FPL_CACHE
|
||||
{
|
||||
public:
|
||||
GPCB_FPL_CACHE( GPCB_PLUGIN* aOwner, const wxString& aLibraryPath );
|
||||
GPCB_FPL_CACHE( PCB_IO_GEDA* aOwner, const wxString& aLibraryPath );
|
||||
|
||||
wxString GetPath() const { return m_lib_path.GetPath(); }
|
||||
bool IsWritable() const { return m_lib_path.IsOk() && m_lib_path.IsDirWritable(); }
|
||||
|
@ -193,7 +193,7 @@ private:
|
|||
*/
|
||||
void parseParameters( wxArrayString& aParameterList, LINE_READER* aLineReader );
|
||||
|
||||
GPCB_PLUGIN* m_owner; ///< Plugin object that owns the cache.
|
||||
PCB_IO_GEDA* m_owner; ///< Plugin object that owns the cache.
|
||||
wxFileName m_lib_path; ///< The path of the library.
|
||||
FOOTPRINT_MAP m_footprints; ///< Map of footprint file name to FOOTPRINT*.
|
||||
|
||||
|
@ -204,7 +204,7 @@ private:
|
|||
};
|
||||
|
||||
|
||||
GPCB_FPL_CACHE::GPCB_FPL_CACHE( GPCB_PLUGIN* aOwner, const wxString& aLibraryPath )
|
||||
GPCB_FPL_CACHE::GPCB_FPL_CACHE( PCB_IO_GEDA* aOwner, const wxString& aLibraryPath )
|
||||
{
|
||||
m_owner = aOwner;
|
||||
m_lib_path.SetPath( aLibraryPath );
|
||||
|
@ -792,7 +792,7 @@ bool GPCB_FPL_CACHE::testFlags( const wxString& aFlag, long aMask, const wxChar*
|
|||
}
|
||||
|
||||
|
||||
GPCB_PLUGIN::GPCB_PLUGIN() :
|
||||
PCB_IO_GEDA::PCB_IO_GEDA() :
|
||||
m_cache( nullptr ),
|
||||
m_ctl( 0 )
|
||||
{
|
||||
|
@ -801,7 +801,7 @@ GPCB_PLUGIN::GPCB_PLUGIN() :
|
|||
}
|
||||
|
||||
|
||||
GPCB_PLUGIN::GPCB_PLUGIN( int aControlFlags ) :
|
||||
PCB_IO_GEDA::PCB_IO_GEDA( int aControlFlags ) :
|
||||
m_cache( nullptr ),
|
||||
m_ctl( aControlFlags )
|
||||
{
|
||||
|
@ -810,19 +810,19 @@ GPCB_PLUGIN::GPCB_PLUGIN( int aControlFlags ) :
|
|||
}
|
||||
|
||||
|
||||
GPCB_PLUGIN::~GPCB_PLUGIN()
|
||||
PCB_IO_GEDA::~PCB_IO_GEDA()
|
||||
{
|
||||
delete m_cache;
|
||||
}
|
||||
|
||||
|
||||
void GPCB_PLUGIN::init( const STRING_UTF8_MAP* aProperties )
|
||||
void PCB_IO_GEDA::init( const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
m_props = aProperties;
|
||||
}
|
||||
|
||||
|
||||
void GPCB_PLUGIN::validateCache( const wxString& aLibraryPath, bool checkModified )
|
||||
void PCB_IO_GEDA::validateCache( const wxString& aLibraryPath, bool checkModified )
|
||||
{
|
||||
if( !m_cache || ( checkModified && m_cache->IsModified() ) )
|
||||
{
|
||||
|
@ -834,7 +834,7 @@ void GPCB_PLUGIN::validateCache( const wxString& aLibraryPath, bool checkModifie
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* GPCB_PLUGIN::ImportFootprint( const wxString& aFootprintPath,
|
||||
FOOTPRINT* PCB_IO_GEDA::ImportFootprint( const wxString& aFootprintPath,
|
||||
wxString& aFootprintNameOut,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -858,7 +858,7 @@ FOOTPRINT* GPCB_PLUGIN::ImportFootprint( const wxString& aFootprintPath,
|
|||
}
|
||||
|
||||
|
||||
void GPCB_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames, const wxString& aLibraryPath,
|
||||
void PCB_IO_GEDA::FootprintEnumerate( wxArrayString& aFootprintNames, const wxString& aLibraryPath,
|
||||
bool aBestEfforts, const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
LOCALE_IO toggle; // toggles on, then off, the C locale.
|
||||
|
@ -898,7 +898,7 @@ void GPCB_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames, const wxSt
|
|||
}
|
||||
|
||||
|
||||
const FOOTPRINT* GPCB_PLUGIN::getFootprint( const wxString& aLibraryPath,
|
||||
const FOOTPRINT* PCB_IO_GEDA::getFootprint( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName,
|
||||
const STRING_UTF8_MAP* aProperties,
|
||||
bool checkModified )
|
||||
|
@ -920,7 +920,7 @@ const FOOTPRINT* GPCB_PLUGIN::getFootprint( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
const FOOTPRINT* GPCB_PLUGIN::GetEnumeratedFootprint( const wxString& aLibraryPath,
|
||||
const FOOTPRINT* PCB_IO_GEDA::GetEnumeratedFootprint( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -928,7 +928,7 @@ const FOOTPRINT* GPCB_PLUGIN::GetEnumeratedFootprint( const wxString& aLibraryPa
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* GPCB_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
||||
FOOTPRINT* PCB_IO_GEDA::FootprintLoad( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName,
|
||||
bool aKeepUUID,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
|
@ -946,7 +946,7 @@ FOOTPRINT* GPCB_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
void GPCB_PLUGIN::FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName,
|
||||
void PCB_IO_GEDA::FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
LOCALE_IO toggle; // toggles on, then off, the C locale.
|
||||
|
@ -965,7 +965,7 @@ void GPCB_PLUGIN::FootprintDelete( const wxString& aLibraryPath, const wxString&
|
|||
}
|
||||
|
||||
|
||||
bool GPCB_PLUGIN::FootprintLibDelete( const wxString& aLibraryPath, const STRING_UTF8_MAP* aProperties )
|
||||
bool PCB_IO_GEDA::FootprintLibDelete( const wxString& aLibraryPath, const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
wxFileName fn;
|
||||
fn.SetPath( aLibraryPath );
|
||||
|
@ -1043,13 +1043,13 @@ bool GPCB_PLUGIN::FootprintLibDelete( const wxString& aLibraryPath, const STRING
|
|||
}
|
||||
|
||||
|
||||
long long GPCB_PLUGIN::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
long long PCB_IO_GEDA::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
{
|
||||
return GPCB_FPL_CACHE::GetTimestamp( aLibraryPath );
|
||||
}
|
||||
|
||||
|
||||
bool GPCB_PLUGIN::IsFootprintLibWritable( const wxString& aLibraryPath )
|
||||
bool PCB_IO_GEDA::IsFootprintLibWritable( const wxString& aLibraryPath )
|
||||
{
|
||||
LOCALE_IO toggle;
|
||||
|
|
@ -23,12 +23,12 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file gpcb_plugin.cpp
|
||||
* @file pcb_io_geda.cpp
|
||||
* @brief Geda PCB file plugin definition file.
|
||||
*/
|
||||
|
||||
#ifndef _GPCB_PLUGIN_H_
|
||||
#define _GPCB_PLUGIN_H_
|
||||
#ifndef PCB_IO_GEDA_H_
|
||||
#define PCB_IO_GEDA_H_
|
||||
|
||||
#include <string>
|
||||
|
||||
|
@ -44,7 +44,7 @@ class GPCB_FPL_CACHE;
|
|||
* @note This class is not thread safe, but it is re-entrant multiple times in sequence.
|
||||
* @note Currently only reading GPCB footprint files is implemented.
|
||||
*/
|
||||
class GPCB_PLUGIN : public PCB_IO
|
||||
class PCB_IO_GEDA : public PCB_IO
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override
|
||||
|
@ -90,11 +90,11 @@ public:
|
|||
|
||||
//-----</PLUGIN API>--------------------------------------------------------
|
||||
|
||||
GPCB_PLUGIN();
|
||||
PCB_IO_GEDA();
|
||||
|
||||
GPCB_PLUGIN( int aControlFlags );
|
||||
PCB_IO_GEDA( int aControlFlags );
|
||||
|
||||
~GPCB_PLUGIN();
|
||||
~PCB_IO_GEDA();
|
||||
|
||||
private:
|
||||
void validateCache( const wxString& aLibraryPath, bool checkModified = true );
|
||||
|
@ -115,4 +115,4 @@ protected:
|
|||
wxString m_filename; ///< for saves only, name is in m_reader for loads
|
||||
};
|
||||
|
||||
#endif // _GPCB_PLUGIN_H_
|
||||
#endif // PCB_IO_GEDA_H_
|
|
@ -5,7 +5,7 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR} )
|
|||
|
||||
|
||||
set( IPC2581_SRCS
|
||||
ipc2581_plugin.cpp
|
||||
pcb_io_ipc2581.cpp
|
||||
)
|
||||
|
||||
add_library( ipc2581 STATIC ${IPC2581_SRCS} )
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ipc2581_plugin.h"
|
||||
#include "pcb_io_ipc2581.h"
|
||||
|
||||
#include <base_units.h>
|
||||
#include <bezier_curves.h>
|
||||
|
@ -55,13 +55,13 @@
|
|||
#include <wx/mstream.h>
|
||||
#include <wx/xml/xml.h>
|
||||
|
||||
IPC2581_PLUGIN::~IPC2581_PLUGIN()
|
||||
PCB_IO_IPC2581::~PCB_IO_IPC2581()
|
||||
{
|
||||
clearLoadedFootprints();
|
||||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::clearLoadedFootprints()
|
||||
void PCB_IO_IPC2581::clearLoadedFootprints()
|
||||
{
|
||||
for( FOOTPRINT* fp : m_loaded_footprints )
|
||||
{
|
||||
|
@ -72,13 +72,13 @@ void IPC2581_PLUGIN::clearLoadedFootprints()
|
|||
}
|
||||
|
||||
|
||||
const wxString IPC2581_PLUGIN::PluginName() const
|
||||
const wxString PCB_IO_IPC2581::PluginName() const
|
||||
{
|
||||
return wxT( "IPC-2581" );
|
||||
}
|
||||
|
||||
|
||||
std::vector<FOOTPRINT*> IPC2581_PLUGIN::GetImportedCachedLibraryFootprints()
|
||||
std::vector<FOOTPRINT*> PCB_IO_IPC2581::GetImportedCachedLibraryFootprints()
|
||||
{
|
||||
std::vector<FOOTPRINT*> retval;
|
||||
|
||||
|
@ -91,7 +91,7 @@ std::vector<FOOTPRINT*> IPC2581_PLUGIN::GetImportedCachedLibraryFootprints()
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::insertNode( wxXmlNode* aParent, wxXmlNode* aNode )
|
||||
void PCB_IO_IPC2581::insertNode( wxXmlNode* aParent, wxXmlNode* aNode )
|
||||
{
|
||||
// insertNode places the node at the start of the list of children
|
||||
|
||||
|
@ -105,7 +105,7 @@ void IPC2581_PLUGIN::insertNode( wxXmlNode* aParent, wxXmlNode* aNode )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::insertNodeAfter( wxXmlNode* aPrev, wxXmlNode* aNode )
|
||||
void PCB_IO_IPC2581::insertNodeAfter( wxXmlNode* aPrev, wxXmlNode* aNode )
|
||||
{
|
||||
// insertNode places the node directly after aPrev
|
||||
|
||||
|
@ -115,7 +115,7 @@ void IPC2581_PLUGIN::insertNodeAfter( wxXmlNode* aPrev, wxXmlNode* aNode )
|
|||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::insertNode( wxXmlNode* aParent, const wxString& aName )
|
||||
wxXmlNode* PCB_IO_IPC2581::insertNode( wxXmlNode* aParent, const wxString& aName )
|
||||
{
|
||||
// Opening tag, closing tag, brackets and the closing slash
|
||||
m_total_bytes += 2 * aName.size() + 5;
|
||||
|
@ -125,7 +125,7 @@ wxXmlNode* IPC2581_PLUGIN::insertNode( wxXmlNode* aParent, const wxString& aName
|
|||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::appendNode( wxXmlNode* aParent, const wxString& aName )
|
||||
wxXmlNode* PCB_IO_IPC2581::appendNode( wxXmlNode* aParent, const wxString& aName )
|
||||
{
|
||||
// AddChild iterates through the entire list of children, so we want to avoid
|
||||
// that if possible. When we share a parent and our next sibling is null,
|
||||
|
@ -153,7 +153,7 @@ wxXmlNode* IPC2581_PLUGIN::appendNode( wxXmlNode* aParent, const wxString& aName
|
|||
}
|
||||
|
||||
|
||||
wxString IPC2581_PLUGIN::genString( const wxString& aStr, const char* aPrefix ) const
|
||||
wxString PCB_IO_IPC2581::genString( const wxString& aStr, const char* aPrefix ) const
|
||||
{
|
||||
wxString str;
|
||||
|
||||
|
@ -185,7 +185,7 @@ wxString IPC2581_PLUGIN::genString( const wxString& aStr, const char* aPrefix )
|
|||
}
|
||||
|
||||
|
||||
wxString IPC2581_PLUGIN::pinName( const PAD* aPad ) const
|
||||
wxString PCB_IO_IPC2581::pinName( const PAD* aPad ) const
|
||||
{
|
||||
wxString name = aPad->GetNumber();
|
||||
|
||||
|
@ -212,7 +212,7 @@ wxString IPC2581_PLUGIN::pinName( const PAD* aPad ) const
|
|||
}
|
||||
|
||||
|
||||
wxString IPC2581_PLUGIN::componentName( FOOTPRINT* aFootprint )
|
||||
wxString PCB_IO_IPC2581::componentName( FOOTPRINT* aFootprint )
|
||||
{
|
||||
auto tryInsert =
|
||||
[&]( const wxString& aName )
|
||||
|
@ -248,7 +248,7 @@ wxString IPC2581_PLUGIN::componentName( FOOTPRINT* aFootprint )
|
|||
}
|
||||
|
||||
|
||||
wxString IPC2581_PLUGIN::floatVal( double aVal )
|
||||
wxString PCB_IO_IPC2581::floatVal( double aVal )
|
||||
{
|
||||
wxString str = wxString::FromCDouble( aVal, m_sigfig );
|
||||
|
||||
|
@ -264,7 +264,7 @@ wxString IPC2581_PLUGIN::floatVal( double aVal )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addXY( wxXmlNode* aNode, const VECTOR2I& aVec, const char* aXName,
|
||||
void PCB_IO_IPC2581::addXY( wxXmlNode* aNode, const VECTOR2I& aVec, const char* aXName,
|
||||
const char* aYName )
|
||||
{
|
||||
if( aXName )
|
||||
|
@ -279,14 +279,14 @@ void IPC2581_PLUGIN::addXY( wxXmlNode* aNode, const VECTOR2I& aVec, const char*
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addAttribute( wxXmlNode* aNode, const wxString& aName, const wxString& aValue )
|
||||
void PCB_IO_IPC2581::addAttribute( wxXmlNode* aNode, const wxString& aName, const wxString& aValue )
|
||||
{
|
||||
m_total_bytes += aName.size() + aValue.size() + 4;
|
||||
aNode->AddAttribute( aName, aValue );
|
||||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::generateXmlHeader()
|
||||
wxXmlNode* PCB_IO_IPC2581::generateXmlHeader()
|
||||
{
|
||||
|
||||
wxXmlNode* xmlHeaderNode = new wxXmlNode(wxXML_ELEMENT_NODE, "IPC-2581");
|
||||
|
@ -305,7 +305,7 @@ wxXmlNode* IPC2581_PLUGIN::generateXmlHeader()
|
|||
return xmlHeaderNode;
|
||||
}
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::generateContentSection()
|
||||
wxXmlNode* PCB_IO_IPC2581::generateContentSection()
|
||||
{
|
||||
if( m_progress_reporter )
|
||||
m_progress_reporter->AdvancePhase( _( "Generating content section" ) );
|
||||
|
@ -359,13 +359,13 @@ wxXmlNode* IPC2581_PLUGIN::generateContentSection()
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addLocationNode( wxXmlNode* aNode, double aX, double aY )
|
||||
void PCB_IO_IPC2581::addLocationNode( wxXmlNode* aNode, double aX, double aY )
|
||||
{
|
||||
wxXmlNode* location_node = appendNode( aNode, "Location" );
|
||||
addXY( location_node, VECTOR2I( aX, aY ) );
|
||||
}
|
||||
|
||||
void IPC2581_PLUGIN::addLocationNode( wxXmlNode* aNode, const PAD& aPad, bool aRelative )
|
||||
void PCB_IO_IPC2581::addLocationNode( wxXmlNode* aNode, const PAD& aPad, bool aRelative )
|
||||
{
|
||||
VECTOR2D pos{};
|
||||
|
||||
|
@ -381,7 +381,7 @@ void IPC2581_PLUGIN::addLocationNode( wxXmlNode* aNode, const PAD& aPad, bool aR
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addLocationNode( wxXmlNode* aNode, const PCB_SHAPE& aShape )
|
||||
void PCB_IO_IPC2581::addLocationNode( wxXmlNode* aNode, const PCB_SHAPE& aShape )
|
||||
{
|
||||
VECTOR2D pos{};
|
||||
|
||||
|
@ -410,7 +410,7 @@ void IPC2581_PLUGIN::addLocationNode( wxXmlNode* aNode, const PCB_SHAPE& aShape
|
|||
}
|
||||
|
||||
|
||||
size_t IPC2581_PLUGIN::lineHash( int aWidth, LINE_STYLE aDashType )
|
||||
size_t PCB_IO_IPC2581::lineHash( int aWidth, LINE_STYLE aDashType )
|
||||
{
|
||||
size_t hash = hash_val( aWidth );
|
||||
hash_combine( hash, aDashType );
|
||||
|
@ -418,13 +418,13 @@ size_t IPC2581_PLUGIN::lineHash( int aWidth, LINE_STYLE aDashType )
|
|||
return hash;
|
||||
}
|
||||
|
||||
size_t IPC2581_PLUGIN::shapeHash( const PCB_SHAPE& aShape )
|
||||
size_t PCB_IO_IPC2581::shapeHash( const PCB_SHAPE& aShape )
|
||||
{
|
||||
return hash_fp_item( &aShape, HASH_POS | REL_COORD );
|
||||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::generateContentStackup( wxXmlNode* aContentNode )
|
||||
wxXmlNode* PCB_IO_IPC2581::generateContentStackup( wxXmlNode* aContentNode )
|
||||
{
|
||||
|
||||
BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings();
|
||||
|
@ -501,7 +501,7 @@ wxXmlNode* IPC2581_PLUGIN::generateContentStackup( wxXmlNode* aContentNode )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addFillDesc( wxXmlNode* aNode, FILL_T aFill, bool aForce )
|
||||
void PCB_IO_IPC2581::addFillDesc( wxXmlNode* aNode, FILL_T aFill, bool aForce )
|
||||
{
|
||||
if( aFill == FILL_T::FILLED_SHAPE )
|
||||
{
|
||||
|
@ -521,7 +521,7 @@ void IPC2581_PLUGIN::addFillDesc( wxXmlNode* aNode, FILL_T aFill, bool aForce )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addLineDesc( wxXmlNode* aNode, int aWidth, LINE_STYLE aDashType, bool aForce )
|
||||
void PCB_IO_IPC2581::addLineDesc( wxXmlNode* aNode, int aWidth, LINE_STYLE aDashType, bool aForce )
|
||||
{
|
||||
wxCHECK_RET( aNode, "aNode is null" );
|
||||
|
||||
|
@ -576,7 +576,7 @@ void IPC2581_PLUGIN::addLineDesc( wxXmlNode* aNode, int aWidth, LINE_STYLE aDash
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addText( wxXmlNode* aContentNode, EDA_TEXT* aText, const KIFONT::METRICS& aFontMetrics )
|
||||
void PCB_IO_IPC2581::addText( wxXmlNode* aContentNode, EDA_TEXT* aText, const KIFONT::METRICS& aFontMetrics )
|
||||
{
|
||||
if( !aText->IsVisible() )
|
||||
return;
|
||||
|
@ -696,7 +696,7 @@ void IPC2581_PLUGIN::addText( wxXmlNode* aContentNode, EDA_TEXT* aText, const KI
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addShape( wxXmlNode* aContentNode, const PAD& aPad, PCB_LAYER_ID aLayer )
|
||||
void PCB_IO_IPC2581::addShape( wxXmlNode* aContentNode, const PAD& aPad, PCB_LAYER_ID aLayer )
|
||||
{
|
||||
size_t hash = hash_fp_item( &aPad, 0 );
|
||||
auto iter = m_std_shape_dict.find( hash );
|
||||
|
@ -890,7 +890,7 @@ void IPC2581_PLUGIN::addShape( wxXmlNode* aContentNode, const PAD& aPad, PCB_LAY
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addShape( wxXmlNode* aContentNode, const PCB_SHAPE& aShape )
|
||||
void PCB_IO_IPC2581::addShape( wxXmlNode* aContentNode, const PCB_SHAPE& aShape )
|
||||
{
|
||||
size_t hash = shapeHash( aShape );
|
||||
auto iter = m_user_shape_dict.find( hash );
|
||||
|
@ -1081,7 +1081,7 @@ void IPC2581_PLUGIN::addShape( wxXmlNode* aContentNode, const PCB_SHAPE& aShape
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addSlotCavity( wxXmlNode* aNode, const PAD& aPad, const wxString& aName )
|
||||
void PCB_IO_IPC2581::addSlotCavity( wxXmlNode* aNode, const PAD& aPad, const wxString& aName )
|
||||
{
|
||||
wxXmlNode* slotNode = appendNode( aNode, "SlotCavity" );
|
||||
addAttribute( slotNode, "name", aName );
|
||||
|
@ -1099,7 +1099,7 @@ void IPC2581_PLUGIN::addSlotCavity( wxXmlNode* aNode, const PAD& aPad, const wxS
|
|||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::generateLogisticSection()
|
||||
wxXmlNode* PCB_IO_IPC2581::generateLogisticSection()
|
||||
{
|
||||
wxXmlNode* logisticNode = appendNode( m_xml_root, "LogisticHeader" );
|
||||
|
||||
|
@ -1120,7 +1120,7 @@ wxXmlNode* IPC2581_PLUGIN::generateLogisticSection()
|
|||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::generateHistorySection()
|
||||
wxXmlNode* PCB_IO_IPC2581::generateHistorySection()
|
||||
{
|
||||
if( m_progress_reporter )
|
||||
m_progress_reporter->AdvancePhase( _( "Generating history section" ) );
|
||||
|
@ -1147,7 +1147,7 @@ wxXmlNode* IPC2581_PLUGIN::generateHistorySection()
|
|||
return historyNode;
|
||||
}
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::generateBOMSection( wxXmlNode* aEcadNode )
|
||||
wxXmlNode* PCB_IO_IPC2581::generateBOMSection( wxXmlNode* aEcadNode )
|
||||
{
|
||||
if( m_progress_reporter )
|
||||
m_progress_reporter->AdvancePhase( _( "Generating BOM section" ) );
|
||||
|
@ -1311,7 +1311,7 @@ wxXmlNode* IPC2581_PLUGIN::generateBOMSection( wxXmlNode* aEcadNode )
|
|||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::generateEcadSection()
|
||||
wxXmlNode* PCB_IO_IPC2581::generateEcadSection()
|
||||
{
|
||||
if( m_progress_reporter )
|
||||
m_progress_reporter->AdvancePhase( _( "Generating CAD data" ) );
|
||||
|
@ -1330,20 +1330,20 @@ wxXmlNode* IPC2581_PLUGIN::generateEcadSection()
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addCadHeader( wxXmlNode* aEcadNode )
|
||||
void PCB_IO_IPC2581::addCadHeader( wxXmlNode* aEcadNode )
|
||||
{
|
||||
wxXmlNode* cadHeaderNode = appendNode( aEcadNode, "CadHeader" );
|
||||
addAttribute( cadHeaderNode, "units", m_units_str );
|
||||
}
|
||||
|
||||
|
||||
bool IPC2581_PLUGIN::isValidLayerFor2581( PCB_LAYER_ID aLayer )
|
||||
bool PCB_IO_IPC2581::isValidLayerFor2581( PCB_LAYER_ID aLayer )
|
||||
{
|
||||
return ( aLayer >= F_Cu && aLayer <= User_9 ) || aLayer == UNDEFINED_LAYER;
|
||||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addLayerAttributes( wxXmlNode* aNode, PCB_LAYER_ID aLayer )
|
||||
void PCB_IO_IPC2581::addLayerAttributes( wxXmlNode* aNode, PCB_LAYER_ID aLayer )
|
||||
{
|
||||
switch( aLayer )
|
||||
{
|
||||
|
@ -1423,7 +1423,7 @@ void IPC2581_PLUGIN::addLayerAttributes( wxXmlNode* aNode, PCB_LAYER_ID aLayer )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::generateCadLayers( wxXmlNode* aCadLayerNode )
|
||||
void PCB_IO_IPC2581::generateCadLayers( wxXmlNode* aCadLayerNode )
|
||||
{
|
||||
|
||||
BOARD_DESIGN_SETTINGS& dsnSettings = m_board->GetDesignSettings();
|
||||
|
@ -1497,7 +1497,7 @@ void IPC2581_PLUGIN::generateCadLayers( wxXmlNode* aCadLayerNode )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::generateDrillLayers( wxXmlNode* aCadLayerNode )
|
||||
void PCB_IO_IPC2581::generateDrillLayers( wxXmlNode* aCadLayerNode )
|
||||
{
|
||||
for( BOARD_ITEM* item : m_board->Tracks() )
|
||||
{
|
||||
|
@ -1552,7 +1552,7 @@ void IPC2581_PLUGIN::generateDrillLayers( wxXmlNode* aCadLayerNode )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::generateStepSection( wxXmlNode* aCadNode )
|
||||
void PCB_IO_IPC2581::generateStepSection( wxXmlNode* aCadNode )
|
||||
{
|
||||
wxXmlNode* stepNode = appendNode( aCadNode, "Step" );
|
||||
wxFileName fn( m_board->GetFileName() );
|
||||
|
@ -1578,7 +1578,7 @@ void IPC2581_PLUGIN::generateStepSection( wxXmlNode* aCadNode )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::addPad( wxXmlNode* aContentNode, const PAD* aPad, PCB_LAYER_ID aLayer )
|
||||
void PCB_IO_IPC2581::addPad( wxXmlNode* aContentNode, const PAD* aPad, PCB_LAYER_ID aLayer )
|
||||
{
|
||||
wxXmlNode* padNode = appendNode( aContentNode, "Pad" );
|
||||
FOOTPRINT* fp = aPad->GetParentFootprint();
|
||||
|
@ -1607,7 +1607,7 @@ void IPC2581_PLUGIN::addPad( wxXmlNode* aContentNode, const PAD* aPad, PCB_LAYER
|
|||
}
|
||||
}
|
||||
|
||||
void IPC2581_PLUGIN::addVia( wxXmlNode* aContentNode, const PCB_VIA* aVia, PCB_LAYER_ID aLayer )
|
||||
void PCB_IO_IPC2581::addVia( wxXmlNode* aContentNode, const PCB_VIA* aVia, PCB_LAYER_ID aLayer )
|
||||
{
|
||||
if( !aVia->FlashLayer( aLayer ) )
|
||||
return;
|
||||
|
@ -1624,7 +1624,7 @@ void IPC2581_PLUGIN::addVia( wxXmlNode* aContentNode, const PCB_VIA* aVia, PCB_L
|
|||
|
||||
}
|
||||
|
||||
void IPC2581_PLUGIN::addPadStack( wxXmlNode* aPadNode, const PAD* aPad )
|
||||
void PCB_IO_IPC2581::addPadStack( wxXmlNode* aPadNode, const PAD* aPad )
|
||||
{
|
||||
size_t hash = hash_fp_item( aPad, 0 );
|
||||
wxString name = wxString::Format( "PADSTACK_%zu", m_padstack_dict.size() + 1 );
|
||||
|
@ -1686,7 +1686,7 @@ void IPC2581_PLUGIN::addPadStack( wxXmlNode* aPadNode, const PAD* aPad )
|
|||
}
|
||||
}
|
||||
|
||||
void IPC2581_PLUGIN::addPadStack( wxXmlNode* aContentNode, const PCB_VIA* aVia )
|
||||
void PCB_IO_IPC2581::addPadStack( wxXmlNode* aContentNode, const PCB_VIA* aVia )
|
||||
{
|
||||
size_t hash = hash_fp_item( aVia, 0 );
|
||||
wxString name = wxString::Format( "PADSTACK_%zu", m_padstack_dict.size() + 1 );
|
||||
|
@ -1737,7 +1737,7 @@ void IPC2581_PLUGIN::addPadStack( wxXmlNode* aContentNode, const PCB_VIA* aVia )
|
|||
}
|
||||
|
||||
|
||||
bool IPC2581_PLUGIN::addPolygonNode( wxXmlNode* aParentNode,
|
||||
bool PCB_IO_IPC2581::addPolygonNode( wxXmlNode* aParentNode,
|
||||
const SHAPE_POLY_SET::POLYGON& aPolygon, FILL_T aFillType,
|
||||
int aWidth, LINE_STYLE aDashType )
|
||||
{
|
||||
|
@ -1787,7 +1787,7 @@ bool IPC2581_PLUGIN::addPolygonNode( wxXmlNode* aParentNode,
|
|||
}
|
||||
|
||||
|
||||
bool IPC2581_PLUGIN::addPolygonCutouts( wxXmlNode* aParentNode, const SHAPE_POLY_SET::POLYGON& aPolygon )
|
||||
bool PCB_IO_IPC2581::addPolygonCutouts( wxXmlNode* aParentNode, const SHAPE_POLY_SET::POLYGON& aPolygon )
|
||||
{
|
||||
for( size_t ii = 1; ii < aPolygon.size(); ++ii )
|
||||
{
|
||||
|
@ -1813,7 +1813,7 @@ bool IPC2581_PLUGIN::addPolygonCutouts( wxXmlNode* aParentNode, const SHAPE_POLY
|
|||
}
|
||||
|
||||
|
||||
bool IPC2581_PLUGIN::addOutlineNode( wxXmlNode* aParentNode, const SHAPE_POLY_SET& aPolySet, int aWidth, LINE_STYLE aDashType )
|
||||
bool PCB_IO_IPC2581::addOutlineNode( wxXmlNode* aParentNode, const SHAPE_POLY_SET& aPolySet, int aWidth, LINE_STYLE aDashType )
|
||||
{
|
||||
if( aPolySet.OutlineCount() == 0 )
|
||||
return false;
|
||||
|
@ -1841,7 +1841,7 @@ bool IPC2581_PLUGIN::addOutlineNode( wxXmlNode* aParentNode, const SHAPE_POLY_SE
|
|||
}
|
||||
|
||||
|
||||
bool IPC2581_PLUGIN::addContourNode( wxXmlNode* aParentNode, const SHAPE_POLY_SET& aPolySet,
|
||||
bool PCB_IO_IPC2581::addContourNode( wxXmlNode* aParentNode, const SHAPE_POLY_SET& aPolySet,
|
||||
int aOutline, FILL_T aFillType, int aWidth,
|
||||
LINE_STYLE aDashType )
|
||||
{
|
||||
|
@ -1867,7 +1867,7 @@ bool IPC2581_PLUGIN::addContourNode( wxXmlNode* aParentNode, const SHAPE_POLY_SE
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::generateProfile( wxXmlNode* aStepNode )
|
||||
void PCB_IO_IPC2581::generateProfile( wxXmlNode* aStepNode )
|
||||
{
|
||||
SHAPE_POLY_SET board_outline;
|
||||
|
||||
|
@ -1887,7 +1887,7 @@ void IPC2581_PLUGIN::generateProfile( wxXmlNode* aStepNode )
|
|||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::addPackage( wxXmlNode* aContentNode, FOOTPRINT* aFp )
|
||||
wxXmlNode* PCB_IO_IPC2581::addPackage( wxXmlNode* aContentNode, FOOTPRINT* aFp )
|
||||
{
|
||||
std::unique_ptr<FOOTPRINT> fp( static_cast<FOOTPRINT*>( aFp->Clone() ) );
|
||||
fp->SetParentGroup( nullptr );
|
||||
|
@ -2175,7 +2175,7 @@ wxXmlNode* IPC2581_PLUGIN::addPackage( wxXmlNode* aContentNode, FOOTPRINT* aFp )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::generateComponents( wxXmlNode* aStepNode )
|
||||
void PCB_IO_IPC2581::generateComponents( wxXmlNode* aStepNode )
|
||||
{
|
||||
std::vector<wxXmlNode*> componentNodes;
|
||||
std::vector<wxXmlNode*> packageNodes;
|
||||
|
@ -2252,7 +2252,7 @@ void IPC2581_PLUGIN::generateComponents( wxXmlNode* aStepNode )
|
|||
aStepNode->AddChild( cmp );
|
||||
}
|
||||
|
||||
void IPC2581_PLUGIN::generateLogicalNets( wxXmlNode* aStepNode )
|
||||
void PCB_IO_IPC2581::generateLogicalNets( wxXmlNode* aStepNode )
|
||||
{
|
||||
for( auto& [ net, pin_pair] : m_net_pin_dict )
|
||||
{
|
||||
|
@ -2271,7 +2271,7 @@ void IPC2581_PLUGIN::generateLogicalNets( wxXmlNode* aStepNode )
|
|||
|
||||
//TODO: Add PhyNetGroup section
|
||||
|
||||
void IPC2581_PLUGIN::generateLayerFeatures( wxXmlNode* aStepNode )
|
||||
void PCB_IO_IPC2581::generateLayerFeatures( wxXmlNode* aStepNode )
|
||||
{
|
||||
LSEQ layers = m_board->GetEnabledLayers().Seq();
|
||||
const NETINFO_LIST& nets = m_board->GetNetInfo();
|
||||
|
@ -2387,7 +2387,7 @@ void IPC2581_PLUGIN::generateLayerFeatures( wxXmlNode* aStepNode )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::generateLayerSetDrill( wxXmlNode* aLayerNode )
|
||||
void PCB_IO_IPC2581::generateLayerSetDrill( wxXmlNode* aLayerNode )
|
||||
{
|
||||
int hole_count = 1;
|
||||
for( const auto& [layer_pair, vec] : m_drill_layers )
|
||||
|
@ -2478,7 +2478,7 @@ void IPC2581_PLUGIN::generateLayerSetDrill( wxXmlNode* aLayerNode )
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::generateLayerSetNet( wxXmlNode* aLayerNode, PCB_LAYER_ID aLayer,
|
||||
void PCB_IO_IPC2581::generateLayerSetNet( wxXmlNode* aLayerNode, PCB_LAYER_ID aLayer,
|
||||
std::vector<BOARD_ITEM*>& aItems )
|
||||
{
|
||||
auto it = aItems.begin();
|
||||
|
@ -2739,7 +2739,7 @@ void IPC2581_PLUGIN::generateLayerSetNet( wxXmlNode* aLayerNode, PCB_LAYER_ID aL
|
|||
}
|
||||
|
||||
|
||||
wxXmlNode* IPC2581_PLUGIN::generateAvlSection()
|
||||
wxXmlNode* PCB_IO_IPC2581::generateAvlSection()
|
||||
{
|
||||
if( m_progress_reporter )
|
||||
m_progress_reporter->AdvancePhase( _( "Generating BOM section" ) );
|
||||
|
@ -2832,7 +2832,7 @@ wxXmlNode* IPC2581_PLUGIN::generateAvlSection()
|
|||
}
|
||||
|
||||
|
||||
void IPC2581_PLUGIN::SaveBoard( const wxString& aFileName, BOARD* aBoard,
|
||||
void PCB_IO_IPC2581::SaveBoard( const wxString& aFileName, BOARD* aBoard,
|
||||
const STRING_UTF8_MAP* aProperties,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
|
@ -17,8 +17,8 @@
|
|||
* with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef IPC2581_PLUGIN_H
|
||||
#define IPC2581_PLUGIN_H
|
||||
#ifndef PCB_IO_IPC2581_H_
|
||||
#define PCB_IO_IPC2581_H_
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
@ -46,14 +46,14 @@ class PROGRESS_REPORTER;
|
|||
class SHAPE_POLY_SET;
|
||||
class SHAPE_SEGMENT;
|
||||
|
||||
class IPC2581_PLUGIN : public PCB_IO, public LAYER_REMAPPABLE_PLUGIN
|
||||
class PCB_IO_IPC2581 : public PCB_IO, public LAYER_REMAPPABLE_PLUGIN
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* @brief IPC2581_PLUGIN
|
||||
* @brief PCB_IO_IPC2581
|
||||
*
|
||||
*/
|
||||
IPC2581_PLUGIN()
|
||||
PCB_IO_IPC2581()
|
||||
{
|
||||
m_show_layer_mapping_warnings = false;
|
||||
m_total_bytes = 0;
|
||||
|
@ -72,10 +72,10 @@ public:
|
|||
m_xml_root = nullptr;
|
||||
}
|
||||
|
||||
~IPC2581_PLUGIN() override;
|
||||
~PCB_IO_IPC2581() override;
|
||||
|
||||
/**
|
||||
* @brief IPC2581_PLUGIN
|
||||
* @brief PCB_IO_IPC2581
|
||||
*/
|
||||
const wxString PluginName() const override;
|
||||
|
||||
|
@ -351,4 +351,4 @@ private:
|
|||
wxXmlNode* m_xml_root;
|
||||
};
|
||||
|
||||
#endif // IPC2581_PLUGIN_H
|
||||
#endif // PCB_IO_IPC2581_H_
|
|
@ -61,7 +61,7 @@
|
|||
#include <cmath>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include <pcb_io/legacy/legacy_plugin.h> // implement this here
|
||||
#include <pcb_io/kicad_legacy/pcb_io_kicad_legacy.h> // implement this here
|
||||
#include <wx/ffile.h>
|
||||
#include <wx/log.h>
|
||||
#include <wx/string.h>
|
||||
|
@ -95,7 +95,7 @@
|
|||
#include <math/util.h> // for KiROUND
|
||||
#include <progress_reporter.h>
|
||||
|
||||
typedef LEGACY_PLUGIN::BIU BIU;
|
||||
typedef PCB_IO_KICAD_LEGACY::BIU BIU;
|
||||
|
||||
|
||||
typedef unsigned LEG_MASK;
|
||||
|
@ -204,7 +204,7 @@ static bool inline isSpace( int c ) { return strchr( delims, c ) != nullptr; }
|
|||
#define MASK(x) (1<<(x))
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::checkpoint()
|
||||
void PCB_IO_KICAD_LEGACY::checkpoint()
|
||||
{
|
||||
const unsigned PROGRESS_DELTA = 250;
|
||||
|
||||
|
@ -307,7 +307,7 @@ inline bool is_leg_copperlayer_valid( int aCu_Count, int aLegacyLayerNum )
|
|||
}
|
||||
|
||||
|
||||
PCB_LAYER_ID LEGACY_PLUGIN::leg_layer2new( int cu_count, int aLayerNum )
|
||||
PCB_LAYER_ID PCB_IO_KICAD_LEGACY::leg_layer2new( int cu_count, int aLayerNum )
|
||||
{
|
||||
int newid;
|
||||
unsigned old = aLayerNum;
|
||||
|
@ -363,7 +363,7 @@ PCB_LAYER_ID LEGACY_PLUGIN::leg_layer2new( int cu_count, int aLayerNum )
|
|||
}
|
||||
|
||||
|
||||
LSET LEGACY_PLUGIN::leg_mask2new( int cu_count, unsigned aMask )
|
||||
LSET PCB_IO_KICAD_LEGACY::leg_mask2new( int cu_count, unsigned aMask )
|
||||
{
|
||||
LSET ret;
|
||||
|
||||
|
@ -410,7 +410,7 @@ static inline long hexParse( const char* next, const char** out = nullptr )
|
|||
}
|
||||
|
||||
|
||||
bool LEGACY_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_KICAD_LEGACY::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
@ -429,7 +429,7 @@ bool LEGACY_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
bool LEGACY_PLUGIN::CanReadFootprint( const wxString& aFileName ) const
|
||||
bool PCB_IO_KICAD_LEGACY::CanReadFootprint( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadFootprint( aFileName ) )
|
||||
return false;
|
||||
|
@ -465,7 +465,7 @@ bool LEGACY_PLUGIN::CanReadFootprint( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
BOARD* LEGACY_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_KICAD_LEGACY::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
|
@ -520,7 +520,7 @@ BOARD* LEGACY_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadAllSections( bool doAppend )
|
||||
void PCB_IO_KICAD_LEGACY::loadAllSections( bool doAppend )
|
||||
{
|
||||
// $GENERAL section is first
|
||||
|
||||
|
@ -627,7 +627,7 @@ void LEGACY_PLUGIN::loadAllSections( bool doAppend )
|
|||
}
|
||||
|
||||
|
||||
int LEGACY_PLUGIN::getVersion( LINE_READER* aReader )
|
||||
int PCB_IO_KICAD_LEGACY::getVersion( LINE_READER* aReader )
|
||||
{
|
||||
// Read first line and TEST if it is a PCB file format header like this:
|
||||
// "PCBNEW-BOARD Version 1 ...."
|
||||
|
@ -661,7 +661,7 @@ int LEGACY_PLUGIN::getVersion( LINE_READER* aReader )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadGENERAL()
|
||||
void PCB_IO_KICAD_LEGACY::loadGENERAL()
|
||||
{
|
||||
char* line;
|
||||
char* saveptr;
|
||||
|
@ -773,7 +773,7 @@ void LEGACY_PLUGIN::loadGENERAL()
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadSHEET()
|
||||
void PCB_IO_KICAD_LEGACY::loadSHEET()
|
||||
{
|
||||
char buf[260];
|
||||
TITLE_BLOCK tb;
|
||||
|
@ -904,7 +904,7 @@ void LEGACY_PLUGIN::loadSHEET()
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadSETUP()
|
||||
void PCB_IO_KICAD_LEGACY::loadSETUP()
|
||||
{
|
||||
BOARD_DESIGN_SETTINGS& bds = m_board->GetDesignSettings();
|
||||
ZONE_SETTINGS zoneSettings = m_board->GetZoneSettings();
|
||||
|
@ -1192,7 +1192,7 @@ void LEGACY_PLUGIN::loadSETUP()
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadFOOTPRINT( FOOTPRINT* aFootprint )
|
||||
void PCB_IO_KICAD_LEGACY::loadFOOTPRINT( FOOTPRINT* aFootprint )
|
||||
{
|
||||
char* line;
|
||||
|
||||
|
@ -1367,7 +1367,7 @@ void LEGACY_PLUGIN::loadFOOTPRINT( FOOTPRINT* aFootprint )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadPAD( FOOTPRINT* aFootprint )
|
||||
void PCB_IO_KICAD_LEGACY::loadPAD( FOOTPRINT* aFootprint )
|
||||
{
|
||||
std::unique_ptr<PAD> pad = std::make_unique<PAD>( aFootprint );
|
||||
char* line;
|
||||
|
@ -1588,7 +1588,7 @@ void LEGACY_PLUGIN::loadPAD( FOOTPRINT* aFootprint )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadFP_SHAPE( FOOTPRINT* aFootprint )
|
||||
void PCB_IO_KICAD_LEGACY::loadFP_SHAPE( FOOTPRINT* aFootprint )
|
||||
{
|
||||
SHAPE_T shape;
|
||||
char* line = m_reader->Line(); // obtain current (old) line
|
||||
|
@ -1712,7 +1712,7 @@ void LEGACY_PLUGIN::loadFP_SHAPE( FOOTPRINT* aFootprint )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadMODULE_TEXT( PCB_TEXT* aText )
|
||||
void PCB_IO_KICAD_LEGACY::loadMODULE_TEXT( PCB_TEXT* aText )
|
||||
{
|
||||
const char* data;
|
||||
const char* txt_end;
|
||||
|
@ -1795,7 +1795,7 @@ void LEGACY_PLUGIN::loadMODULE_TEXT( PCB_TEXT* aText )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::load3D( FOOTPRINT* aFootprint )
|
||||
void PCB_IO_KICAD_LEGACY::load3D( FOOTPRINT* aFootprint )
|
||||
{
|
||||
FP_3DMODEL t3D;
|
||||
|
||||
|
@ -1835,7 +1835,7 @@ void LEGACY_PLUGIN::load3D( FOOTPRINT* aFootprint )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadPCB_LINE()
|
||||
void PCB_IO_KICAD_LEGACY::loadPCB_LINE()
|
||||
{
|
||||
/* example:
|
||||
$DRAWSEGMENT
|
||||
|
@ -1955,7 +1955,7 @@ void LEGACY_PLUGIN::loadPCB_LINE()
|
|||
THROW_IO_ERROR( wxT( "Missing '$EndDRAWSEGMENT'" ) );
|
||||
}
|
||||
|
||||
void LEGACY_PLUGIN::loadNETINFO_ITEM()
|
||||
void PCB_IO_KICAD_LEGACY::loadNETINFO_ITEM()
|
||||
{
|
||||
/* a net description is something like
|
||||
* $EQUIPOT
|
||||
|
@ -2023,7 +2023,7 @@ void LEGACY_PLUGIN::loadNETINFO_ITEM()
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadPCB_TEXT()
|
||||
void PCB_IO_KICAD_LEGACY::loadPCB_TEXT()
|
||||
{
|
||||
/* examples:
|
||||
For a single line text:
|
||||
|
@ -2133,7 +2133,7 @@ void LEGACY_PLUGIN::loadPCB_TEXT()
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadTrackList( int aStructType )
|
||||
void PCB_IO_KICAD_LEGACY::loadTrackList( int aStructType )
|
||||
{
|
||||
char* line;
|
||||
|
||||
|
@ -2286,7 +2286,7 @@ void LEGACY_PLUGIN::loadTrackList( int aStructType )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadNETCLASS()
|
||||
void PCB_IO_KICAD_LEGACY::loadNETCLASS()
|
||||
{
|
||||
char buf[1024];
|
||||
wxString netname;
|
||||
|
@ -2377,7 +2377,7 @@ void LEGACY_PLUGIN::loadNETCLASS()
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadZONE_CONTAINER()
|
||||
void PCB_IO_KICAD_LEGACY::loadZONE_CONTAINER()
|
||||
{
|
||||
std::unique_ptr<ZONE> zc = std::make_unique<ZONE>( m_board );
|
||||
|
||||
|
@ -2655,7 +2655,7 @@ void LEGACY_PLUGIN::loadZONE_CONTAINER()
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadDIMENSION()
|
||||
void PCB_IO_KICAD_LEGACY::loadDIMENSION()
|
||||
{
|
||||
std::unique_ptr<PCB_DIM_ALIGNED> dim = std::make_unique<PCB_DIM_ALIGNED>( m_board,
|
||||
PCB_DIM_ALIGNED_T );
|
||||
|
@ -2794,7 +2794,7 @@ void LEGACY_PLUGIN::loadDIMENSION()
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::loadPCB_TARGET()
|
||||
void PCB_IO_KICAD_LEGACY::loadPCB_TARGET()
|
||||
{
|
||||
char* line;
|
||||
|
||||
|
@ -2833,7 +2833,7 @@ void LEGACY_PLUGIN::loadPCB_TARGET()
|
|||
}
|
||||
|
||||
|
||||
BIU LEGACY_PLUGIN::biuParse( const char* aValue, const char** nptrptr )
|
||||
BIU PCB_IO_KICAD_LEGACY::biuParse( const char* aValue, const char** nptrptr )
|
||||
{
|
||||
char* nptr;
|
||||
|
||||
|
@ -2872,7 +2872,7 @@ BIU LEGACY_PLUGIN::biuParse( const char* aValue, const char** nptrptr )
|
|||
}
|
||||
|
||||
|
||||
EDA_ANGLE LEGACY_PLUGIN::degParse( const char* aValue, const char** nptrptr )
|
||||
EDA_ANGLE PCB_IO_KICAD_LEGACY::degParse( const char* aValue, const char** nptrptr )
|
||||
{
|
||||
char* nptr;
|
||||
|
||||
|
@ -2907,7 +2907,7 @@ EDA_ANGLE LEGACY_PLUGIN::degParse( const char* aValue, const char** nptrptr )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::init( const STRING_UTF8_MAP* aProperties )
|
||||
void PCB_IO_KICAD_LEGACY::init( const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
m_loading_format_version = 0;
|
||||
m_cu_count = 16;
|
||||
|
@ -2950,12 +2950,12 @@ typedef boost::ptr_map< std::string, FOOTPRINT > FOOTPRINT_MAP;
|
|||
|
||||
|
||||
/**
|
||||
* The footprint portion of the PLUGIN API, and only for the LEGACY_PLUGIN, so therefore is
|
||||
* The footprint portion of the PLUGIN API, and only for the PCB_IO_KICAD_LEGACY, so therefore is
|
||||
* private to this implementation file, i.e. not placed into a header.
|
||||
*/
|
||||
struct LP_CACHE
|
||||
{
|
||||
LP_CACHE( LEGACY_PLUGIN* aOwner, const wxString& aLibraryPath );
|
||||
LP_CACHE( PCB_IO_KICAD_LEGACY* aOwner, const wxString& aLibraryPath );
|
||||
|
||||
// Most all functions in this class throw IO_ERROR exceptions. There are no
|
||||
// error codes nor user interface calls from here, nor in any PLUGIN.
|
||||
|
@ -2972,7 +2972,7 @@ struct LP_CACHE
|
|||
bool IsModified();
|
||||
static long long GetTimestamp( const wxString& aLibPath );
|
||||
|
||||
LEGACY_PLUGIN* m_owner; // my owner, I need its LEGACY_PLUGIN::loadFOOTPRINT()
|
||||
PCB_IO_KICAD_LEGACY* m_owner; // my owner, I need its PCB_IO_KICAD_LEGACY::loadFOOTPRINT()
|
||||
wxString m_lib_path;
|
||||
FOOTPRINT_MAP m_footprints; // map or tuple of footprint_name vs. FOOTPRINT*
|
||||
bool m_writable;
|
||||
|
@ -2984,7 +2984,7 @@ struct LP_CACHE
|
|||
};
|
||||
|
||||
|
||||
LP_CACHE::LP_CACHE( LEGACY_PLUGIN* aOwner, const wxString& aLibraryPath ) :
|
||||
LP_CACHE::LP_CACHE( PCB_IO_KICAD_LEGACY* aOwner, const wxString& aLibraryPath ) :
|
||||
m_owner( aOwner ),
|
||||
m_lib_path( aLibraryPath ),
|
||||
m_writable( true ),
|
||||
|
@ -3117,7 +3117,7 @@ void LP_CACHE::LoadModules( LINE_READER* aReader )
|
|||
/*
|
||||
|
||||
There was a bug in old legacy library management code
|
||||
(pre-LEGACY_PLUGIN) which was introducing duplicate footprint names
|
||||
(pre-PCB_IO_KICAD_LEGACY) which was introducing duplicate footprint names
|
||||
in legacy libraries without notification. To best recover from such
|
||||
bad libraries, and use them to their fullest, there are a few
|
||||
strategies that could be used. (Note: footprints must have unique
|
||||
|
@ -3174,13 +3174,13 @@ void LP_CACHE::LoadModules( LINE_READER* aReader )
|
|||
}
|
||||
|
||||
|
||||
long long LEGACY_PLUGIN::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
long long PCB_IO_KICAD_LEGACY::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
{
|
||||
return LP_CACHE::GetTimestamp( aLibraryPath );
|
||||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::cacheLib( const wxString& aLibraryPath )
|
||||
void PCB_IO_KICAD_LEGACY::cacheLib( const wxString& aLibraryPath )
|
||||
{
|
||||
if( !m_cache || m_cache->m_lib_path != aLibraryPath || m_cache->IsModified() )
|
||||
{
|
||||
|
@ -3192,7 +3192,7 @@ void LEGACY_PLUGIN::cacheLib( const wxString& aLibraryPath )
|
|||
}
|
||||
|
||||
|
||||
void LEGACY_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames, const wxString& aLibPath,
|
||||
void PCB_IO_KICAD_LEGACY::FootprintEnumerate( wxArrayString& aFootprintNames, const wxString& aLibPath,
|
||||
bool aBestEfforts, const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
LOCALE_IO toggle; // toggles on, then off, the C locale.
|
||||
|
@ -3220,7 +3220,7 @@ void LEGACY_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames, const wx
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* LEGACY_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
||||
FOOTPRINT* PCB_IO_KICAD_LEGACY::FootprintLoad( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName, bool aKeepUUID,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -3245,7 +3245,7 @@ FOOTPRINT* LEGACY_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
bool LEGACY_PLUGIN::FootprintLibDelete( const wxString& aLibraryPath,
|
||||
bool PCB_IO_KICAD_LEGACY::FootprintLibDelete( const wxString& aLibraryPath,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
wxFileName fn = aLibraryPath;
|
||||
|
@ -3271,7 +3271,7 @@ bool LEGACY_PLUGIN::FootprintLibDelete( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
bool LEGACY_PLUGIN::IsFootprintLibWritable( const wxString& aLibraryPath )
|
||||
bool PCB_IO_KICAD_LEGACY::IsFootprintLibWritable( const wxString& aLibraryPath )
|
||||
{
|
||||
#if 0 // no support for 32 Cu layers in legacy format
|
||||
return false;
|
||||
|
@ -3287,7 +3287,7 @@ bool LEGACY_PLUGIN::IsFootprintLibWritable( const wxString& aLibraryPath )
|
|||
}
|
||||
|
||||
|
||||
LEGACY_PLUGIN::LEGACY_PLUGIN() :
|
||||
PCB_IO_KICAD_LEGACY::PCB_IO_KICAD_LEGACY() :
|
||||
m_cu_count( 16 ), // for FootprintLoad()
|
||||
m_board( nullptr ),
|
||||
m_props( nullptr ),
|
||||
|
@ -3302,7 +3302,7 @@ LEGACY_PLUGIN::LEGACY_PLUGIN() :
|
|||
}
|
||||
|
||||
|
||||
LEGACY_PLUGIN::~LEGACY_PLUGIN()
|
||||
PCB_IO_KICAD_LEGACY::~PCB_IO_KICAD_LEGACY()
|
||||
{
|
||||
delete m_cache;
|
||||
}
|
|
@ -1,6 +1,3 @@
|
|||
#ifndef LEGACY_PLUGIN_H_
|
||||
#define LEGACY_PLUGIN_H_
|
||||
|
||||
/*
|
||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||
*
|
||||
|
@ -25,6 +22,9 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef PCB_IO_KICAD_LEGACY_H_
|
||||
#define PCB_IO_KICAD_LEGACY_H_
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
|
@ -58,13 +58,13 @@ struct LP_CACHE;
|
|||
*
|
||||
* As with any PLUGIN, there is no UI, i.e. windowing calls allowed.
|
||||
*/
|
||||
class LEGACY_PLUGIN : public PCB_IO
|
||||
class PCB_IO_KICAD_LEGACY : public PCB_IO
|
||||
{
|
||||
friend struct LP_CACHE;
|
||||
|
||||
public:
|
||||
LEGACY_PLUGIN();
|
||||
~LEGACY_PLUGIN();
|
||||
PCB_IO_KICAD_LEGACY();
|
||||
~PCB_IO_KICAD_LEGACY();
|
||||
|
||||
const wxString PluginName() const override
|
||||
{
|
||||
|
@ -216,4 +216,4 @@ protected:
|
|||
///< with this scale factor
|
||||
};
|
||||
|
||||
#endif // LEGACY_PLUGIN_H_
|
||||
#endif // PCB_IO_KICAD_LEGACY_H_
|
|
@ -48,8 +48,8 @@
|
|||
#include <pcbnew_settings.h>
|
||||
#include <pgm_base.h>
|
||||
#include <io/kicad/kicad_io_utils.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad/pcb_parser.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr_parser.h>
|
||||
#include <trace_helpers.h>
|
||||
#include <progress_reporter.h>
|
||||
#include <wildcards_and_files_ext.h>
|
||||
|
@ -75,7 +75,7 @@ FP_CACHE_ITEM::FP_CACHE_ITEM( FOOTPRINT* aFootprint, const WX_FILENAME& aFileNam
|
|||
{ }
|
||||
|
||||
|
||||
FP_CACHE::FP_CACHE( PCB_PLUGIN* aOwner, const wxString& aLibraryPath )
|
||||
FP_CACHE::FP_CACHE( PCB_IO_KICAD_SEXPR* aOwner, const wxString& aLibraryPath )
|
||||
{
|
||||
m_owner = aOwner;
|
||||
m_lib_raw_path = aLibraryPath;
|
||||
|
@ -188,7 +188,7 @@ void FP_CACHE::Load()
|
|||
try
|
||||
{
|
||||
FILE_LINE_READER reader( fn.GetFullPath() );
|
||||
PCB_PARSER parser( &reader, nullptr, nullptr );
|
||||
PCB_IO_KICAD_SEXPR_PARSER parser( &reader, nullptr, nullptr );
|
||||
|
||||
FOOTPRINT* footprint = dynamic_cast<FOOTPRINT*>( parser.Parse() );
|
||||
wxString fpName = fn.GetName();
|
||||
|
@ -273,7 +273,7 @@ long long FP_CACHE::GetTimestamp( const wxString& aLibPath )
|
|||
}
|
||||
|
||||
|
||||
bool PCB_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_KICAD_SEXPR::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
@ -281,7 +281,7 @@ bool PCB_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
try
|
||||
{
|
||||
FILE_LINE_READER reader( aFileName );
|
||||
PCB_PARSER parser( &reader, nullptr, m_queryUserCallback );
|
||||
PCB_IO_KICAD_SEXPR_PARSER parser( &reader, nullptr, m_queryUserCallback );
|
||||
|
||||
return parser.IsValidBoardHeader();
|
||||
}
|
||||
|
@ -293,7 +293,7 @@ bool PCB_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::SaveBoard( const wxString& aFileName, BOARD* aBoard,
|
||||
void PCB_IO_KICAD_SEXPR::SaveBoard( const wxString& aFileName, BOARD* aBoard,
|
||||
const STRING_UTF8_MAP* aProperties,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
|
@ -336,12 +336,12 @@ void PCB_PLUGIN::SaveBoard( const wxString& aFileName, BOARD* aBoard,
|
|||
}
|
||||
|
||||
|
||||
BOARD_ITEM* PCB_PLUGIN::Parse( const wxString& aClipboardSourceInput )
|
||||
BOARD_ITEM* PCB_IO_KICAD_SEXPR::Parse( const wxString& aClipboardSourceInput )
|
||||
{
|
||||
std::string input = TO_UTF8( aClipboardSourceInput );
|
||||
|
||||
STRING_LINE_READER reader( input, wxT( "clipboard" ) );
|
||||
PCB_PARSER parser( &reader, nullptr, m_queryUserCallback );
|
||||
PCB_IO_KICAD_SEXPR_PARSER parser( &reader, nullptr, m_queryUserCallback );
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -357,7 +357,7 @@ BOARD_ITEM* PCB_PLUGIN::Parse( const wxString& aClipboardSourceInput )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::Format( const BOARD_ITEM* aItem, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::Format( const BOARD_ITEM* aItem, int aNestLevel ) const
|
||||
{
|
||||
LOCALE_IO toggle; // public API function, perform anything convenient for caller
|
||||
|
||||
|
@ -456,7 +456,7 @@ std::string formatInternalUnits( const VECTOR2I& aCoord, const FOOTPRINT* aParen
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatLayer( PCB_LAYER_ID aLayer, bool aIsKnockout ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatLayer( PCB_LAYER_ID aLayer, bool aIsKnockout ) const
|
||||
{
|
||||
m_out->Print( 0, " (layer %s%s)",
|
||||
m_out->Quotew( LSET::Name( aLayer ) ).c_str(),
|
||||
|
@ -464,7 +464,7 @@ void PCB_PLUGIN::formatLayer( PCB_LAYER_ID aLayer, bool aIsKnockout ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatPolyPts( const SHAPE_LINE_CHAIN& outline, int aNestLevel,
|
||||
void PCB_IO_KICAD_SEXPR::formatPolyPts( const SHAPE_LINE_CHAIN& outline, int aNestLevel,
|
||||
bool aCompact, const FOOTPRINT* aParentFP ) const
|
||||
{
|
||||
m_out->Print( aNestLevel + 1, "(pts\n" );
|
||||
|
@ -517,7 +517,7 @@ void PCB_PLUGIN::formatPolyPts( const SHAPE_LINE_CHAIN& outline, int aNestLevel,
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatRenderCache( const EDA_TEXT* aText, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatRenderCache( const EDA_TEXT* aText, int aNestLevel ) const
|
||||
{
|
||||
wxString resolvedText( aText->GetShownText( true ) );
|
||||
std::vector<std::unique_ptr<KIFONT::GLYPH>>* cache = aText->GetRenderCache( aText->GetFont(),
|
||||
|
@ -545,7 +545,7 @@ void PCB_PLUGIN::formatRenderCache( const EDA_TEXT* aText, int aNestLevel ) cons
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatSetup( const BOARD* aBoard, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatSetup( const BOARD* aBoard, int aNestLevel ) const
|
||||
{
|
||||
// Setup
|
||||
m_out->Print( aNestLevel, "(setup\n" );
|
||||
|
@ -606,7 +606,7 @@ void PCB_PLUGIN::formatSetup( const BOARD* aBoard, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatGeneral( const BOARD* aBoard, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatGeneral( const BOARD* aBoard, int aNestLevel ) const
|
||||
{
|
||||
const BOARD_DESIGN_SETTINGS& dsnSettings = aBoard->GetDesignSettings();
|
||||
|
||||
|
@ -626,7 +626,7 @@ void PCB_PLUGIN::formatGeneral( const BOARD* aBoard, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatBoardLayers( const BOARD* aBoard, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatBoardLayers( const BOARD* aBoard, int aNestLevel ) const
|
||||
{
|
||||
m_out->Print( aNestLevel, "(layers\n" );
|
||||
|
||||
|
@ -696,7 +696,7 @@ void PCB_PLUGIN::formatBoardLayers( const BOARD* aBoard, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatNetInformation( const BOARD* aBoard, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatNetInformation( const BOARD* aBoard, int aNestLevel ) const
|
||||
{
|
||||
for( NETINFO_ITEM* net : *m_mapping )
|
||||
{
|
||||
|
@ -712,7 +712,7 @@ void PCB_PLUGIN::formatNetInformation( const BOARD* aBoard, int aNestLevel ) con
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatProperties( const BOARD* aBoard, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatProperties( const BOARD* aBoard, int aNestLevel ) const
|
||||
{
|
||||
for( const std::pair<const wxString, wxString>& prop : aBoard->GetProperties() )
|
||||
{
|
||||
|
@ -726,7 +726,7 @@ void PCB_PLUGIN::formatProperties( const BOARD* aBoard, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatHeader( const BOARD* aBoard, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatHeader( const BOARD* aBoard, int aNestLevel ) const
|
||||
{
|
||||
formatGeneral( aBoard, aNestLevel );
|
||||
|
||||
|
@ -760,7 +760,7 @@ bool isDefaultTeardropParameters( const TEARDROP_PARAMETERS& tdParams )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatTeardropParameters( const TEARDROP_PARAMETERS& tdParams,
|
||||
void PCB_IO_KICAD_SEXPR::formatTeardropParameters( const TEARDROP_PARAMETERS& tdParams,
|
||||
int aNestLevel ) const
|
||||
{
|
||||
m_out->Print( aNestLevel, "(teardrops%s%s%s (best_length_ratio %s) (max_length %s) "
|
||||
|
@ -778,7 +778,7 @@ void PCB_PLUGIN::formatTeardropParameters( const TEARDROP_PARAMETERS& tdParams,
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const BOARD* aBoard, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const BOARD* aBoard, int aNestLevel ) const
|
||||
{
|
||||
std::set<BOARD_ITEM*, BOARD_ITEM::ptr_cmp> sorted_footprints( aBoard->Footprints().begin(),
|
||||
aBoard->Footprints().end() );
|
||||
|
@ -831,7 +831,7 @@ void PCB_PLUGIN::format( const BOARD* aBoard, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_DIMENSION_BASE* aDimension, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_DIMENSION_BASE* aDimension, int aNestLevel ) const
|
||||
{
|
||||
const PCB_DIM_ALIGNED* aligned = dynamic_cast<const PCB_DIM_ALIGNED*>( aDimension );
|
||||
const PCB_DIM_ORTHOGONAL* ortho = dynamic_cast<const PCB_DIM_ORTHOGONAL*>( aDimension );
|
||||
|
@ -935,7 +935,7 @@ void PCB_PLUGIN::format( const PCB_DIMENSION_BASE* aDimension, int aNestLevel )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_SHAPE* aShape, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_SHAPE* aShape, int aNestLevel ) const
|
||||
{
|
||||
FOOTPRINT* parentFP = aShape->GetParentFootprint();
|
||||
std::string prefix = parentFP ? "fp" : "gr";
|
||||
|
@ -1026,7 +1026,7 @@ void PCB_PLUGIN::format( const PCB_SHAPE* aShape, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_REFERENCE_IMAGE* aBitmap, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_REFERENCE_IMAGE* aBitmap, int aNestLevel ) const
|
||||
{
|
||||
wxCHECK_RET( aBitmap != nullptr && m_out != nullptr, "" );
|
||||
|
||||
|
@ -1072,7 +1072,7 @@ void PCB_PLUGIN::format( const PCB_REFERENCE_IMAGE* aBitmap, int aNestLevel ) co
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_TARGET* aTarget, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_TARGET* aTarget, int aNestLevel ) const
|
||||
{
|
||||
m_out->Print( aNestLevel, "(target %s (at %s) (size %s)",
|
||||
( aTarget->GetShape() ) ? "x" : "plus",
|
||||
|
@ -1090,7 +1090,7 @@ void PCB_PLUGIN::format( const PCB_TARGET* aTarget, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const FOOTPRINT* aFootprint, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const FOOTPRINT* aFootprint, int aNestLevel ) const
|
||||
{
|
||||
if( !( m_ctl & CTL_OMIT_INITIAL_COMMENTS ) )
|
||||
{
|
||||
|
@ -1351,7 +1351,7 @@ void PCB_PLUGIN::format( const FOOTPRINT* aFootprint, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::formatLayers( LSET aLayerMask, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::formatLayers( LSET aLayerMask, int aNestLevel ) const
|
||||
{
|
||||
std::string output;
|
||||
|
||||
|
@ -1437,7 +1437,7 @@ void PCB_PLUGIN::formatLayers( LSET aLayerMask, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PAD* aPad, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PAD* aPad, int aNestLevel ) const
|
||||
{
|
||||
const BOARD* board = aPad->GetBoard();
|
||||
const char* shape;
|
||||
|
@ -1817,7 +1817,7 @@ void PCB_PLUGIN::format( const PAD* aPad, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_TEXT* aText, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_TEXT* aText, int aNestLevel ) const
|
||||
{
|
||||
FOOTPRINT* parentFP = aText->GetParentFootprint();
|
||||
std::string prefix;
|
||||
|
@ -1879,7 +1879,7 @@ void PCB_PLUGIN::format( const PCB_TEXT* aText, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_TEXTBOX* aTextBox, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_TEXTBOX* aTextBox, int aNestLevel ) const
|
||||
{
|
||||
FOOTPRINT* parentFP = aTextBox->GetParentFootprint();
|
||||
|
||||
|
@ -1938,7 +1938,7 @@ void PCB_PLUGIN::format( const PCB_TEXTBOX* aTextBox, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_GROUP* aGroup, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_GROUP* aGroup, int aNestLevel ) const
|
||||
{
|
||||
// Don't write empty groups
|
||||
if( aGroup->GetItems().empty() )
|
||||
|
@ -1968,7 +1968,7 @@ void PCB_PLUGIN::format( const PCB_GROUP* aGroup, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_GENERATOR* aGenerator, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_GENERATOR* aGenerator, int aNestLevel ) const
|
||||
{
|
||||
m_out->Print( aNestLevel, "(generated (id %s)\n", TO_UTF8( aGenerator->m_Uuid.AsString() ) );
|
||||
|
||||
|
@ -2063,7 +2063,7 @@ void PCB_PLUGIN::format( const PCB_GENERATOR* aGenerator, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const PCB_TRACK* aTrack, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const PCB_TRACK* aTrack, int aNestLevel ) const
|
||||
{
|
||||
if( aTrack->Type() == PCB_VIA_T )
|
||||
{
|
||||
|
@ -2182,7 +2182,7 @@ void PCB_PLUGIN::format( const PCB_TRACK* aTrack, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::format( const ZONE* aZone, int aNestLevel ) const
|
||||
void PCB_IO_KICAD_SEXPR::format( const ZONE* aZone, int aNestLevel ) const
|
||||
{
|
||||
// Save the NET info.
|
||||
// For keepout and non copper zones, net code and net name are irrelevant
|
||||
|
@ -2397,7 +2397,7 @@ void PCB_PLUGIN::format( const ZONE* aZone, int aNestLevel ) const
|
|||
}
|
||||
|
||||
|
||||
PCB_PLUGIN::PCB_PLUGIN( int aControlFlags ) :
|
||||
PCB_IO_KICAD_SEXPR::PCB_IO_KICAD_SEXPR( int aControlFlags ) :
|
||||
m_cache( nullptr ),
|
||||
m_ctl( aControlFlags ),
|
||||
m_mapping( new NETINFO_MAPPING() )
|
||||
|
@ -2407,14 +2407,14 @@ PCB_PLUGIN::PCB_PLUGIN( int aControlFlags ) :
|
|||
}
|
||||
|
||||
|
||||
PCB_PLUGIN::~PCB_PLUGIN()
|
||||
PCB_IO_KICAD_SEXPR::~PCB_IO_KICAD_SEXPR()
|
||||
{
|
||||
delete m_cache;
|
||||
delete m_mapping;
|
||||
}
|
||||
|
||||
|
||||
BOARD* PCB_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_KICAD_SEXPR::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
||||
|
@ -2445,12 +2445,12 @@ BOARD* PCB_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
|||
}
|
||||
|
||||
|
||||
BOARD* PCB_PLUGIN::DoLoad( LINE_READER& aReader, BOARD* aAppendToMe, const STRING_UTF8_MAP* aProperties,
|
||||
BOARD* PCB_IO_KICAD_SEXPR::DoLoad( LINE_READER& aReader, BOARD* aAppendToMe, const STRING_UTF8_MAP* aProperties,
|
||||
PROGRESS_REPORTER* aProgressReporter, unsigned aLineCount)
|
||||
{
|
||||
init( aProperties );
|
||||
|
||||
PCB_PARSER parser( &aReader, aAppendToMe, m_queryUserCallback, aProgressReporter, aLineCount );
|
||||
PCB_IO_KICAD_SEXPR_PARSER parser( &aReader, aAppendToMe, m_queryUserCallback, aProgressReporter, aLineCount );
|
||||
BOARD* board;
|
||||
|
||||
try
|
||||
|
@ -2481,7 +2481,7 @@ BOARD* PCB_PLUGIN::DoLoad( LINE_READER& aReader, BOARD* aAppendToMe, const STRIN
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::init( const STRING_UTF8_MAP* aProperties )
|
||||
void PCB_IO_KICAD_SEXPR::init( const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_reader = nullptr;
|
||||
|
@ -2489,7 +2489,7 @@ void PCB_PLUGIN::init( const STRING_UTF8_MAP* aProperties )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::validateCache( const wxString& aLibraryPath, bool checkModified )
|
||||
void PCB_IO_KICAD_SEXPR::validateCache( const wxString& aLibraryPath, bool checkModified )
|
||||
{
|
||||
if( !m_cache || !m_cache->IsPath( aLibraryPath ) || ( checkModified && m_cache->IsModified() ) )
|
||||
{
|
||||
|
@ -2501,7 +2501,7 @@ void PCB_PLUGIN::validateCache( const wxString& aLibraryPath, bool checkModified
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames, const wxString& aLibPath,
|
||||
void PCB_IO_KICAD_SEXPR::FootprintEnumerate( wxArrayString& aFootprintNames, const wxString& aLibPath,
|
||||
bool aBestEfforts, const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
LOCALE_IO toggle; // toggles on, then off, the C locale.
|
||||
|
@ -2530,7 +2530,7 @@ void PCB_PLUGIN::FootprintEnumerate( wxArrayString& aFootprintNames, const wxStr
|
|||
}
|
||||
|
||||
|
||||
const FOOTPRINT* PCB_PLUGIN::getFootprint( const wxString& aLibraryPath,
|
||||
const FOOTPRINT* PCB_IO_KICAD_SEXPR::getFootprint( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName,
|
||||
const STRING_UTF8_MAP* aProperties,
|
||||
bool checkModified )
|
||||
|
@ -2558,7 +2558,7 @@ const FOOTPRINT* PCB_PLUGIN::getFootprint( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
const FOOTPRINT* PCB_PLUGIN::GetEnumeratedFootprint( const wxString& aLibraryPath,
|
||||
const FOOTPRINT* PCB_IO_KICAD_SEXPR::GetEnumeratedFootprint( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
|
@ -2566,7 +2566,7 @@ const FOOTPRINT* PCB_PLUGIN::GetEnumeratedFootprint( const wxString& aLibraryPat
|
|||
}
|
||||
|
||||
|
||||
bool PCB_PLUGIN::FootprintExists( const wxString& aLibraryPath, const wxString& aFootprintName,
|
||||
bool PCB_IO_KICAD_SEXPR::FootprintExists( const wxString& aLibraryPath, const wxString& aFootprintName,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
// Note: checking the cache sounds like a good idea, but won't catch files which differ
|
||||
|
@ -2582,7 +2582,7 @@ bool PCB_PLUGIN::FootprintExists( const wxString& aLibraryPath, const wxString&
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* PCB_PLUGIN::ImportFootprint( const wxString& aFootprintPath, wxString& aFootprintNameOut,
|
||||
FOOTPRINT* PCB_IO_KICAD_SEXPR::ImportFootprint( const wxString& aFootprintPath, wxString& aFootprintNameOut,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
wxString fcontents;
|
||||
|
@ -2599,7 +2599,7 @@ FOOTPRINT* PCB_PLUGIN::ImportFootprint( const wxString& aFootprintPath, wxString
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* PCB_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
||||
FOOTPRINT* PCB_IO_KICAD_SEXPR::FootprintLoad( const wxString& aLibraryPath,
|
||||
const wxString& aFootprintName,
|
||||
bool aKeepUUID,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
|
@ -2623,7 +2623,7 @@ FOOTPRINT* PCB_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::FootprintSave( const wxString& aLibraryPath, const FOOTPRINT* aFootprint,
|
||||
void PCB_IO_KICAD_SEXPR::FootprintSave( const wxString& aLibraryPath, const FOOTPRINT* aFootprint,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
LOCALE_IO toggle; // toggles on, then off, the C locale.
|
||||
|
@ -2720,7 +2720,7 @@ void PCB_PLUGIN::FootprintSave( const wxString& aLibraryPath, const FOOTPRINT* a
|
|||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName,
|
||||
void PCB_IO_KICAD_SEXPR::FootprintDelete( const wxString& aLibraryPath, const wxString& aFootprintName,
|
||||
const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
LOCALE_IO toggle; // toggles on, then off, the C locale.
|
||||
|
@ -2740,13 +2740,13 @@ void PCB_PLUGIN::FootprintDelete( const wxString& aLibraryPath, const wxString&
|
|||
|
||||
|
||||
|
||||
long long PCB_PLUGIN::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
long long PCB_IO_KICAD_SEXPR::GetLibraryTimestamp( const wxString& aLibraryPath ) const
|
||||
{
|
||||
return FP_CACHE::GetTimestamp( aLibraryPath );
|
||||
}
|
||||
|
||||
|
||||
void PCB_PLUGIN::FootprintLibCreate( const wxString& aLibraryPath, const STRING_UTF8_MAP* aProperties )
|
||||
void PCB_IO_KICAD_SEXPR::FootprintLibCreate( const wxString& aLibraryPath, const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
if( wxDir::Exists( aLibraryPath ) )
|
||||
{
|
||||
|
@ -2764,7 +2764,7 @@ void PCB_PLUGIN::FootprintLibCreate( const wxString& aLibraryPath, const STRING_
|
|||
}
|
||||
|
||||
|
||||
bool PCB_PLUGIN::FootprintLibDelete( const wxString& aLibraryPath, const STRING_UTF8_MAP* aProperties )
|
||||
bool PCB_IO_KICAD_SEXPR::FootprintLibDelete( const wxString& aLibraryPath, const STRING_UTF8_MAP* aProperties )
|
||||
{
|
||||
wxFileName fn;
|
||||
fn.SetPath( aLibraryPath );
|
||||
|
@ -2841,7 +2841,7 @@ bool PCB_PLUGIN::FootprintLibDelete( const wxString& aLibraryPath, const STRING_
|
|||
}
|
||||
|
||||
|
||||
bool PCB_PLUGIN::IsFootprintLibWritable( const wxString& aLibraryPath )
|
||||
bool PCB_IO_KICAD_SEXPR::IsFootprintLibWritable( const wxString& aLibraryPath )
|
||||
{
|
||||
LOCALE_IO toggle;
|
||||
|
|
@ -22,8 +22,8 @@
|
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#ifndef PCB_PLUGIN_H
|
||||
#define PCB_PLUGIN_H
|
||||
#ifndef PCB_IO_KICAD_SEXPR_H_
|
||||
#define PCB_IO_KICAD_SEXPR_H_
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
@ -38,7 +38,7 @@
|
|||
class BOARD;
|
||||
class BOARD_ITEM;
|
||||
class FP_CACHE;
|
||||
class PCB_PARSER;
|
||||
class PCB_IO_KICAD_SEXPR_PARSER;
|
||||
class NETINFO_MAPPING;
|
||||
class BOARD_DESIGN_SETTINGS;
|
||||
class PCB_DIMENSION_BASE;
|
||||
|
@ -55,7 +55,7 @@ class PCB_TEXTBOX;
|
|||
class EDA_TEXT;
|
||||
class SHAPE_LINE_CHAIN;
|
||||
class TEARDROP_PARAMETERS;
|
||||
class PCB_PLUGIN; // forward decl
|
||||
class PCB_IO_KICAD_SEXPR; // forward decl
|
||||
|
||||
/// Current s-expression file format version. 2 was the last legacy format version.
|
||||
|
||||
|
@ -204,7 +204,7 @@ typedef boost::ptr_map<wxString, FP_CACHE_ITEM> FP_CACHE_FOOTPRINT_MAP;
|
|||
|
||||
class FP_CACHE
|
||||
{
|
||||
PCB_PLUGIN* m_owner; // Plugin object that owns the cache.
|
||||
PCB_IO_KICAD_SEXPR* m_owner; // Plugin object that owns the cache.
|
||||
wxFileName m_lib_path; // The path of the library.
|
||||
wxString m_lib_raw_path; // For quick comparisons.
|
||||
FP_CACHE_FOOTPRINT_MAP m_footprints; // Map of footprint filename to FOOTPRINT*.
|
||||
|
@ -215,7 +215,7 @@ class FP_CACHE
|
|||
// files.
|
||||
|
||||
public:
|
||||
FP_CACHE( PCB_PLUGIN* aOwner, const wxString& aLibraryPath );
|
||||
FP_CACHE( PCB_IO_KICAD_SEXPR* aOwner, const wxString& aLibraryPath );
|
||||
|
||||
wxString GetPath() const { return m_lib_raw_path; }
|
||||
|
||||
|
@ -274,7 +274,7 @@ public:
|
|||
*
|
||||
* @note This class is not thread safe, but it is re-entrant multiple times in sequence.
|
||||
*/
|
||||
class PCB_PLUGIN : public PCB_IO
|
||||
class PCB_IO_KICAD_SEXPR : public PCB_IO
|
||||
{
|
||||
public:
|
||||
const wxString PluginName() const override
|
||||
|
@ -353,9 +353,9 @@ public:
|
|||
|
||||
bool IsFootprintLibWritable( const wxString& aLibraryPath ) override;
|
||||
|
||||
PCB_PLUGIN( int aControlFlags = CTL_FOR_BOARD );
|
||||
PCB_IO_KICAD_SEXPR( int aControlFlags = CTL_FOR_BOARD );
|
||||
|
||||
virtual ~PCB_PLUGIN();
|
||||
virtual ~PCB_IO_KICAD_SEXPR();
|
||||
|
||||
/**
|
||||
* Output \a aItem to \a aFormatter in s-expression format.
|
||||
|
@ -464,4 +464,4 @@ protected:
|
|||
std::function<bool( wxString aTitle, int aIcon, wxString aMsg, wxString aAction )> m_queryUserCallback;
|
||||
};
|
||||
|
||||
#endif // PCB_PLUGIN_H
|
||||
#endif // PCB_IO_KICAD_SEXPR_H_
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file pcb_parser.cpp
|
||||
* @file pcb_io_kicad_sexpr_parser.cpp
|
||||
* @brief Pcbnew s-expression file format parser implementation.
|
||||
*/
|
||||
|
||||
|
@ -53,12 +53,12 @@
|
|||
#include <font/font.h>
|
||||
#include <core/ignore.h>
|
||||
#include <netclass.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcb_plot_params_parser.h>
|
||||
#include <pcb_plot_params.h>
|
||||
#include <locale_io.h>
|
||||
#include <zones.h>
|
||||
#include <pcb_io/kicad/pcb_parser.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr_parser.h>
|
||||
#include <convert_basic_shapes_to_polygon.h> // for RECT_CHAMFER_POSITIONS definition
|
||||
#include <math/util.h> // KiROUND, Clamp
|
||||
#include <string_utils.h>
|
||||
|
@ -85,7 +85,7 @@ constexpr double INT_LIMIT = std::numeric_limits<int>::max() - 10;
|
|||
using namespace PCB_KEYS_T;
|
||||
|
||||
|
||||
void PCB_PARSER::init()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::init()
|
||||
{
|
||||
m_showLegacySegmentZoneWarning = true;
|
||||
m_showLegacy5ZoneWarning = true;
|
||||
|
@ -131,7 +131,7 @@ void PCB_PARSER::init()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::checkpoint()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::checkpoint()
|
||||
{
|
||||
if( m_progressReporter )
|
||||
{
|
||||
|
@ -153,7 +153,7 @@ void PCB_PARSER::checkpoint()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::skipCurrent()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::skipCurrent()
|
||||
{
|
||||
int curr_level = 0;
|
||||
T token;
|
||||
|
@ -174,7 +174,7 @@ void PCB_PARSER::skipCurrent()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::pushValueIntoMap( int aIndex, int aValue )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::pushValueIntoMap( int aIndex, int aValue )
|
||||
{
|
||||
// Add aValue in netcode mapping (m_netCodes) at index aNetCode
|
||||
// ensure there is room in m_netCodes for that, and add room if needed.
|
||||
|
@ -186,7 +186,7 @@ void PCB_PARSER::pushValueIntoMap( int aIndex, int aValue )
|
|||
}
|
||||
|
||||
|
||||
int PCB_PARSER::parseBoardUnits()
|
||||
int PCB_IO_KICAD_SEXPR_PARSER::parseBoardUnits()
|
||||
{
|
||||
// There should be no major rounding issues here, since the values in
|
||||
// the file are in mm and get converted to nano-meters.
|
||||
|
@ -203,7 +203,7 @@ int PCB_PARSER::parseBoardUnits()
|
|||
}
|
||||
|
||||
|
||||
int PCB_PARSER::parseBoardUnits( const char* aExpected )
|
||||
int PCB_IO_KICAD_SEXPR_PARSER::parseBoardUnits( const char* aExpected )
|
||||
{
|
||||
auto retval = parseDouble( aExpected ) * pcbIUScale.IU_PER_MM;
|
||||
|
||||
|
@ -214,7 +214,7 @@ int PCB_PARSER::parseBoardUnits( const char* aExpected )
|
|||
}
|
||||
|
||||
|
||||
bool PCB_PARSER::parseBool()
|
||||
bool PCB_IO_KICAD_SEXPR_PARSER::parseBool()
|
||||
{
|
||||
T token = NextTok();
|
||||
|
||||
|
@ -232,7 +232,7 @@ bool PCB_PARSER::parseBool()
|
|||
/*
|
||||
* e.g. "hide", "hide)", "(hide yes)"
|
||||
*/
|
||||
bool PCB_PARSER::parseMaybeAbsentBool( bool aDefaultValue )
|
||||
bool PCB_IO_KICAD_SEXPR_PARSER::parseMaybeAbsentBool( bool aDefaultValue )
|
||||
{
|
||||
bool ret = aDefaultValue;
|
||||
|
||||
|
@ -263,7 +263,7 @@ bool PCB_PARSER::parseMaybeAbsentBool( bool aDefaultValue )
|
|||
}
|
||||
|
||||
|
||||
wxString PCB_PARSER::GetRequiredVersion()
|
||||
wxString PCB_IO_KICAD_SEXPR_PARSER::GetRequiredVersion()
|
||||
{
|
||||
int year, month, day;
|
||||
|
||||
|
@ -287,7 +287,7 @@ wxString PCB_PARSER::GetRequiredVersion()
|
|||
}
|
||||
|
||||
|
||||
VECTOR2I PCB_PARSER::parseXY()
|
||||
VECTOR2I PCB_IO_KICAD_SEXPR_PARSER::parseXY()
|
||||
{
|
||||
if( CurTok() != T_LEFT )
|
||||
NeedLEFT();
|
||||
|
@ -307,7 +307,7 @@ VECTOR2I PCB_PARSER::parseXY()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseOutlinePoints( SHAPE_LINE_CHAIN& aPoly )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseOutlinePoints( SHAPE_LINE_CHAIN& aPoly )
|
||||
{
|
||||
if( CurTok() != T_LEFT )
|
||||
NeedLEFT();
|
||||
|
@ -392,7 +392,7 @@ void PCB_PARSER::parseOutlinePoints( SHAPE_LINE_CHAIN& aPoly )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseXY( int* aX, int* aY )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseXY( int* aX, int* aY )
|
||||
{
|
||||
VECTOR2I pt = parseXY();
|
||||
|
||||
|
@ -404,7 +404,7 @@ void PCB_PARSER::parseXY( int* aX, int* aY )
|
|||
}
|
||||
|
||||
|
||||
std::pair<wxString, wxString> PCB_PARSER::parseBoardProperty()
|
||||
std::pair<wxString, wxString> PCB_IO_KICAD_SEXPR_PARSER::parseBoardProperty()
|
||||
{
|
||||
wxString pName;
|
||||
wxString pValue;
|
||||
|
@ -419,7 +419,7 @@ std::pair<wxString, wxString> PCB_PARSER::parseBoardProperty()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseTEARDROP_PARAMETERS( TEARDROP_PARAMETERS* tdParams )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseTEARDROP_PARAMETERS( TEARDROP_PARAMETERS* tdParams )
|
||||
{
|
||||
tdParams->m_Enabled = false;
|
||||
tdParams->m_AllowUseTwoTracks = false;
|
||||
|
@ -482,7 +482,7 @@ void PCB_PARSER::parseTEARDROP_PARAMETERS( TEARDROP_PARAMETERS* tdParams )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseEDA_TEXT( EDA_TEXT* aText )
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_effects,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as EDA_TEXT." ) );
|
||||
|
@ -632,7 +632,7 @@ void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseRenderCache( EDA_TEXT* text )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseRenderCache( EDA_TEXT* text )
|
||||
{
|
||||
T token;
|
||||
|
||||
|
@ -682,7 +682,7 @@ void PCB_PARSER::parseRenderCache( EDA_TEXT* text )
|
|||
}
|
||||
|
||||
|
||||
FP_3DMODEL* PCB_PARSER::parse3DModel()
|
||||
FP_3DMODEL* PCB_IO_KICAD_SEXPR_PARSER::parse3DModel()
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_model, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as FP_3DMODEL." ) );
|
||||
|
@ -791,7 +791,7 @@ FP_3DMODEL* PCB_PARSER::parse3DModel()
|
|||
}
|
||||
|
||||
|
||||
bool PCB_PARSER::IsValidBoardHeader()
|
||||
bool PCB_IO_KICAD_SEXPR_PARSER::IsValidBoardHeader()
|
||||
{
|
||||
LOCALE_IO toggle;
|
||||
|
||||
|
@ -811,7 +811,7 @@ bool PCB_PARSER::IsValidBoardHeader()
|
|||
}
|
||||
|
||||
|
||||
BOARD_ITEM* PCB_PARSER::Parse()
|
||||
BOARD_ITEM* PCB_IO_KICAD_SEXPR_PARSER::Parse()
|
||||
{
|
||||
T token;
|
||||
BOARD_ITEM* item;
|
||||
|
@ -861,7 +861,7 @@ BOARD_ITEM* PCB_PARSER::Parse()
|
|||
}
|
||||
|
||||
|
||||
BOARD* PCB_PARSER::parseBOARD()
|
||||
BOARD* PCB_IO_KICAD_SEXPR_PARSER::parseBOARD()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -877,7 +877,7 @@ BOARD* PCB_PARSER::parseBOARD()
|
|||
}
|
||||
|
||||
|
||||
BOARD* PCB_PARSER::parseBOARD_unchecked()
|
||||
BOARD* PCB_IO_KICAD_SEXPR_PARSER::parseBOARD_unchecked()
|
||||
{
|
||||
T token;
|
||||
std::map<wxString, wxString> properties;
|
||||
|
@ -1160,7 +1160,7 @@ BOARD* PCB_PARSER::parseBOARD_unchecked()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::resolveGroups( BOARD_ITEM* aParent )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::resolveGroups( BOARD_ITEM* aParent )
|
||||
{
|
||||
auto getItem = [&]( const KIID& aId )
|
||||
{
|
||||
|
@ -1269,7 +1269,7 @@ void PCB_PARSER::resolveGroups( BOARD_ITEM* aParent )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseHeader()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseHeader()
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_kicad_pcb,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as a header." ) );
|
||||
|
@ -1295,7 +1295,7 @@ void PCB_PARSER::parseHeader()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseGeneralSection()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseGeneralSection()
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_general,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) +
|
||||
|
@ -1332,7 +1332,7 @@ void PCB_PARSER::parseGeneralSection()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parsePAGE_INFO()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parsePAGE_INFO()
|
||||
{
|
||||
wxCHECK_RET( ( CurTok() == T_page && m_requiredVersion <= 20200119 ) || CurTok() == T_paper,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as a PAGE_INFO." ) );
|
||||
|
@ -1388,7 +1388,7 @@ void PCB_PARSER::parsePAGE_INFO()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseTITLE_BLOCK()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseTITLE_BLOCK()
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_title_block,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as TITLE_BLOCK." ) );
|
||||
|
@ -1496,7 +1496,7 @@ void PCB_PARSER::parseTITLE_BLOCK()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseLayer( LAYER* aLayer )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseLayer( LAYER* aLayer )
|
||||
{
|
||||
T token;
|
||||
|
||||
|
@ -1553,7 +1553,7 @@ void PCB_PARSER::parseLayer( LAYER* aLayer )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseBoardStackup()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseBoardStackup()
|
||||
{
|
||||
T token;
|
||||
wxString name;
|
||||
|
@ -1774,7 +1774,7 @@ void PCB_PARSER::parseBoardStackup()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::createOldLayerMapping( std::unordered_map< std::string, std::string >& aMap )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::createOldLayerMapping( std::unordered_map< std::string, std::string >& aMap )
|
||||
{
|
||||
// N.B. This mapping only includes Italian, Polish and French as they were the only languages
|
||||
// that mapped the layer names as of cc2022b1ac739aa673d2a0b7a2047638aa7a47b3 (kicad-i18n)
|
||||
|
@ -1824,7 +1824,7 @@ void PCB_PARSER::createOldLayerMapping( std::unordered_map< std::string, std::st
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseLayers()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseLayers()
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_layers,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as layers." ) );
|
||||
|
@ -1956,7 +1956,7 @@ void PCB_PARSER::parseLayers()
|
|||
|
||||
|
||||
template<class T, class M>
|
||||
T PCB_PARSER::lookUpLayer( const M& aMap )
|
||||
T PCB_IO_KICAD_SEXPR_PARSER::lookUpLayer( const M& aMap )
|
||||
{
|
||||
// avoid constructing another std::string, use lexer's directly
|
||||
typename M::const_iterator it = aMap.find( curText );
|
||||
|
@ -1975,7 +1975,7 @@ T PCB_PARSER::lookUpLayer( const M& aMap )
|
|||
}
|
||||
|
||||
|
||||
PCB_LAYER_ID PCB_PARSER::parseBoardItemLayer()
|
||||
PCB_LAYER_ID PCB_IO_KICAD_SEXPR_PARSER::parseBoardItemLayer()
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_layer, UNDEFINED_LAYER,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as layer." ) );
|
||||
|
@ -1990,7 +1990,7 @@ PCB_LAYER_ID PCB_PARSER::parseBoardItemLayer()
|
|||
}
|
||||
|
||||
|
||||
LSET PCB_PARSER::parseBoardItemLayersAsMask()
|
||||
LSET PCB_IO_KICAD_SEXPR_PARSER::parseBoardItemLayersAsMask()
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_layers, LSET(),
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as item layers." ) );
|
||||
|
@ -2007,7 +2007,7 @@ LSET PCB_PARSER::parseBoardItemLayersAsMask()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseSetup()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseSetup()
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_setup,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as setup." ) );
|
||||
|
@ -2362,7 +2362,7 @@ void PCB_PARSER::parseSetup()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseDefaults( BOARD_DESIGN_SETTINGS& designSettings )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseDefaults( BOARD_DESIGN_SETTINGS& designSettings )
|
||||
{
|
||||
T token;
|
||||
|
||||
|
@ -2446,7 +2446,7 @@ void PCB_PARSER::parseDefaults( BOARD_DESIGN_SETTINGS& designSettings )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseDefaultTextDims( BOARD_DESIGN_SETTINGS& aSettings, int aLayer )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseDefaultTextDims( BOARD_DESIGN_SETTINGS& aSettings, int aLayer )
|
||||
{
|
||||
T token;
|
||||
|
||||
|
@ -2483,7 +2483,7 @@ void PCB_PARSER::parseDefaultTextDims( BOARD_DESIGN_SETTINGS& aSettings, int aLa
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseNETINFO_ITEM()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseNETINFO_ITEM()
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_net,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as net." ) );
|
||||
|
@ -2514,7 +2514,7 @@ void PCB_PARSER::parseNETINFO_ITEM()
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseNETCLASS()
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseNETCLASS()
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_net_class,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as net class." ) );
|
||||
|
@ -2621,7 +2621,7 @@ void PCB_PARSER::parseNETCLASS()
|
|||
}
|
||||
|
||||
|
||||
PCB_SHAPE* PCB_PARSER::parsePCB_SHAPE( BOARD_ITEM* aParent )
|
||||
PCB_SHAPE* PCB_IO_KICAD_SEXPR_PARSER::parsePCB_SHAPE( BOARD_ITEM* aParent )
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_fp_arc || CurTok() == T_fp_circle || CurTok() == T_fp_curve ||
|
||||
CurTok() == T_fp_rect || CurTok() == T_fp_line || CurTok() == T_fp_poly ||
|
||||
|
@ -3031,7 +3031,7 @@ PCB_SHAPE* PCB_PARSER::parsePCB_SHAPE( BOARD_ITEM* aParent )
|
|||
}
|
||||
|
||||
|
||||
PCB_REFERENCE_IMAGE* PCB_PARSER::parsePCB_REFERENCE_IMAGE( BOARD_ITEM* aParent )
|
||||
PCB_REFERENCE_IMAGE* PCB_IO_KICAD_SEXPR_PARSER::parsePCB_REFERENCE_IMAGE( BOARD_ITEM* aParent )
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_image, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as a reference image." ) );
|
||||
|
@ -3126,7 +3126,7 @@ PCB_REFERENCE_IMAGE* PCB_PARSER::parsePCB_REFERENCE_IMAGE( BOARD_ITEM* aParent )
|
|||
}
|
||||
|
||||
|
||||
PCB_TEXT* PCB_PARSER::parsePCB_TEXT( BOARD_ITEM* aParent )
|
||||
PCB_TEXT* PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT( BOARD_ITEM* aParent )
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_gr_text || CurTok() == T_fp_text, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as PCB_TEXT." ) );
|
||||
|
@ -3181,7 +3181,7 @@ PCB_TEXT* PCB_PARSER::parsePCB_TEXT( BOARD_ITEM* aParent )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parsePCB_TEXT_effects( PCB_TEXT* aText )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXT_effects( PCB_TEXT* aText )
|
||||
{
|
||||
FOOTPRINT* parentFP = dynamic_cast<FOOTPRINT*>( aText->GetParent() );
|
||||
bool hasAngle = false; // Old files do not have a angle specified.
|
||||
|
@ -3313,7 +3313,7 @@ void PCB_PARSER::parsePCB_TEXT_effects( PCB_TEXT* aText )
|
|||
}
|
||||
|
||||
|
||||
PCB_TEXTBOX* PCB_PARSER::parsePCB_TEXTBOX( BOARD_ITEM* aParent )
|
||||
PCB_TEXTBOX* PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TEXTBOX( BOARD_ITEM* aParent )
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_gr_text_box || CurTok() == T_fp_text_box, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as PCB_TEXTBOX." ) );
|
||||
|
@ -3441,7 +3441,7 @@ PCB_TEXTBOX* PCB_PARSER::parsePCB_TEXTBOX( BOARD_ITEM* aParent )
|
|||
}
|
||||
|
||||
|
||||
PCB_DIMENSION_BASE* PCB_PARSER::parseDIMENSION( BOARD_ITEM* aParent )
|
||||
PCB_DIMENSION_BASE* PCB_IO_KICAD_SEXPR_PARSER::parseDIMENSION( BOARD_ITEM* aParent )
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_dimension, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as DIMENSION." ) );
|
||||
|
@ -3873,7 +3873,7 @@ PCB_DIMENSION_BASE* PCB_PARSER::parseDIMENSION( BOARD_ITEM* aParent )
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* PCB_PARSER::parseFOOTPRINT( wxArrayString* aInitialComments )
|
||||
FOOTPRINT* PCB_IO_KICAD_SEXPR_PARSER::parseFOOTPRINT( wxArrayString* aInitialComments )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -3889,7 +3889,7 @@ FOOTPRINT* PCB_PARSER::parseFOOTPRINT( wxArrayString* aInitialComments )
|
|||
}
|
||||
|
||||
|
||||
FOOTPRINT* PCB_PARSER::parseFOOTPRINT_unchecked( wxArrayString* aInitialComments )
|
||||
FOOTPRINT* PCB_IO_KICAD_SEXPR_PARSER::parseFOOTPRINT_unchecked( wxArrayString* aInitialComments )
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_module || CurTok() == T_footprint, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as FOOTPRINT." ) );
|
||||
|
@ -4378,7 +4378,7 @@ FOOTPRINT* PCB_PARSER::parseFOOTPRINT_unchecked( wxArrayString* aInitialComments
|
|||
}
|
||||
|
||||
|
||||
PAD* PCB_PARSER::parsePAD( FOOTPRINT* aParent )
|
||||
PAD* PCB_IO_KICAD_SEXPR_PARSER::parsePAD( FOOTPRINT* aParent )
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_pad, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as PAD." ) );
|
||||
|
@ -4915,7 +4915,7 @@ PAD* PCB_PARSER::parsePAD( FOOTPRINT* aParent )
|
|||
}
|
||||
|
||||
|
||||
bool PCB_PARSER::parsePAD_option( PAD* aPad )
|
||||
bool PCB_IO_KICAD_SEXPR_PARSER::parsePAD_option( PAD* aPad )
|
||||
{
|
||||
// Parse only the (option ...) inside a pad description
|
||||
for( T token = NextTok(); token != T_RIGHT; token = NextTok() )
|
||||
|
@ -4987,7 +4987,7 @@ bool PCB_PARSER::parsePAD_option( PAD* aPad )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseGROUP_members( GROUP_INFO& aGroupInfo )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseGROUP_members( GROUP_INFO& aGroupInfo )
|
||||
{
|
||||
T token;
|
||||
|
||||
|
@ -5002,7 +5002,7 @@ void PCB_PARSER::parseGROUP_members( GROUP_INFO& aGroupInfo )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseGROUP( BOARD_ITEM* aParent )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseGROUP( BOARD_ITEM* aParent )
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_group,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as PCB_GROUP." ) );
|
||||
|
@ -5057,7 +5057,7 @@ void PCB_PARSER::parseGROUP( BOARD_ITEM* aParent )
|
|||
}
|
||||
|
||||
|
||||
void PCB_PARSER::parseGENERATOR( BOARD_ITEM* aParent )
|
||||
void PCB_IO_KICAD_SEXPR_PARSER::parseGENERATOR( BOARD_ITEM* aParent )
|
||||
{
|
||||
wxCHECK_RET( CurTok() == T_generated, wxT( "Cannot parse " ) + GetTokenString( CurTok() )
|
||||
+ wxT( " as PCB_GENERATOR." ) );
|
||||
|
@ -5195,7 +5195,7 @@ void PCB_PARSER::parseGENERATOR( BOARD_ITEM* aParent )
|
|||
}
|
||||
|
||||
|
||||
PCB_ARC* PCB_PARSER::parseARC()
|
||||
PCB_ARC* PCB_IO_KICAD_SEXPR_PARSER::parseARC()
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_arc, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as ARC." ) );
|
||||
|
@ -5287,7 +5287,7 @@ PCB_ARC* PCB_PARSER::parseARC()
|
|||
}
|
||||
|
||||
|
||||
PCB_TRACK* PCB_PARSER::parsePCB_TRACK()
|
||||
PCB_TRACK* PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TRACK()
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_segment, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as PCB_TRACK." ) );
|
||||
|
@ -5372,7 +5372,7 @@ PCB_TRACK* PCB_PARSER::parsePCB_TRACK()
|
|||
}
|
||||
|
||||
|
||||
PCB_VIA* PCB_PARSER::parsePCB_VIA()
|
||||
PCB_VIA* PCB_IO_KICAD_SEXPR_PARSER::parsePCB_VIA()
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_via, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as PCB_VIA." ) );
|
||||
|
@ -5519,7 +5519,7 @@ PCB_VIA* PCB_PARSER::parsePCB_VIA()
|
|||
}
|
||||
|
||||
|
||||
ZONE* PCB_PARSER::parseZONE( BOARD_ITEM_CONTAINER* aParent )
|
||||
ZONE* PCB_IO_KICAD_SEXPR_PARSER::parseZONE( BOARD_ITEM_CONTAINER* aParent )
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_zone, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as ZONE." ) );
|
||||
|
@ -6180,7 +6180,7 @@ ZONE* PCB_PARSER::parseZONE( BOARD_ITEM_CONTAINER* aParent )
|
|||
}
|
||||
|
||||
|
||||
PCB_TARGET* PCB_PARSER::parsePCB_TARGET()
|
||||
PCB_TARGET* PCB_IO_KICAD_SEXPR_PARSER::parsePCB_TARGET()
|
||||
{
|
||||
wxCHECK_MSG( CurTok() == T_target, nullptr,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as PCB_TARGET." ) );
|
||||
|
@ -6243,7 +6243,7 @@ PCB_TARGET* PCB_PARSER::parsePCB_TARGET()
|
|||
}
|
||||
|
||||
|
||||
KIID PCB_PARSER::CurStrToKIID()
|
||||
KIID PCB_IO_KICAD_SEXPR_PARSER::CurStrToKIID()
|
||||
{
|
||||
KIID aId;
|
||||
std::string idStr( CurStr() );
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file pcb_parser.h
|
||||
* @file pcb_io_kicad_sexpr_parser.h
|
||||
* @brief Pcbnew s-expression file format parser definition.
|
||||
*/
|
||||
|
||||
|
@ -71,10 +71,10 @@ class TEARDROP_PARAMETERS;
|
|||
* Read a Pcbnew s-expression formatted #LINE_READER object and returns the appropriate
|
||||
* #BOARD_ITEM object.
|
||||
*/
|
||||
class PCB_PARSER : public PCB_LEXER
|
||||
class PCB_IO_KICAD_SEXPR_PARSER : public PCB_LEXER
|
||||
{
|
||||
public:
|
||||
PCB_PARSER( LINE_READER* aReader, BOARD* aAppendToMe,
|
||||
PCB_IO_KICAD_SEXPR_PARSER( LINE_READER* aReader, BOARD* aAppendToMe,
|
||||
std::function<bool( wxString, int, wxString, wxString )> aQueryUserCallback,
|
||||
PROGRESS_REPORTER* aProgressReporter = nullptr, unsigned aLineCount = 0 ) :
|
||||
PCB_LEXER( aReader ),
|
||||
|
@ -88,7 +88,7 @@ public:
|
|||
init();
|
||||
}
|
||||
|
||||
// ~PCB_PARSER() {}
|
||||
// ~PCB_IO_KICAD_SEXPR_PARSER() {}
|
||||
|
||||
BOARD_ITEM* Parse();
|
||||
|
|
@ -4,8 +4,8 @@
|
|||
# This CMakeLists.txt is included from pcbnew, so we are inheriting its include_directories(),
|
||||
|
||||
set( PCAD2PCBNEW_SRCS
|
||||
pcb_io_pcad.cpp
|
||||
pcad2kicad_common.cpp
|
||||
pcad_plugin.cpp
|
||||
pcad_pcb.cpp
|
||||
pcad_arc.cpp
|
||||
pcad_pcb_component.cpp
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* @file pcad_plugin.cpp
|
||||
* @file pcb_io_pcad.cpp
|
||||
* @brief Pcbnew PLUGIN for P-Cad 200x ASCII *.pcb format.
|
||||
*/
|
||||
|
||||
#include <pcad/pcad_plugin.h>
|
||||
#include <pcad/pcb_io_pcad.h>
|
||||
#include <pcad/pcad_pcb.h>
|
||||
#include <pcad/s_expr_loader.h>
|
||||
#include <io/io_utils.h>
|
||||
|
@ -43,19 +43,19 @@
|
|||
using namespace PCAD2KICAD;
|
||||
|
||||
|
||||
PCAD_PLUGIN::PCAD_PLUGIN()
|
||||
PCB_IO_PCAD::PCB_IO_PCAD()
|
||||
{
|
||||
m_board = nullptr;
|
||||
m_props = nullptr;
|
||||
}
|
||||
|
||||
|
||||
PCAD_PLUGIN::~PCAD_PLUGIN()
|
||||
PCB_IO_PCAD::~PCB_IO_PCAD()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool PCAD_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
||||
bool PCB_IO_PCAD::CanReadBoard( const wxString& aFileName ) const
|
||||
{
|
||||
if( !PCB_IO::CanReadBoard( aFileName ) )
|
||||
return false;
|
||||
|
@ -64,7 +64,7 @@ bool PCAD_PLUGIN::CanReadBoard( const wxString& aFileName ) const
|
|||
}
|
||||
|
||||
|
||||
BOARD* PCAD_PLUGIN::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
BOARD* PCB_IO_PCAD::LoadBoard( const wxString& aFileName, BOARD* aAppendToMe,
|
||||
const STRING_UTF8_MAP* aProperties, PROJECT* aProject,
|
||||
PROGRESS_REPORTER* aProgressReporter )
|
||||
{
|
|
@ -27,17 +27,17 @@
|
|||
* @brief Pcbnew PLUGIN for P-Cad 200x ASCII *.pcb format.
|
||||
*/
|
||||
|
||||
#ifndef PCAD_PLUGIN_H_
|
||||
#define PCAD_PLUGIN_H_
|
||||
#ifndef PCB_IO_PCAD_H_
|
||||
#define PCB_IO_PCAD_H_
|
||||
|
||||
#include <pcb_io/pcb_io.h>
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
class PCAD_PLUGIN : public PCB_IO
|
||||
class PCB_IO_PCAD : public PCB_IO
|
||||
{
|
||||
public:
|
||||
PCAD_PLUGIN();
|
||||
~PCAD_PLUGIN();
|
||||
PCB_IO_PCAD();
|
||||
~PCB_IO_PCAD();
|
||||
|
||||
const wxString PluginName() const override { return wxT( "P-Cad" ); }
|
||||
|
||||
|
@ -63,4 +63,4 @@ private:
|
|||
BOARD* m_board;
|
||||
};
|
||||
|
||||
#endif // PCAD_PLUGIN_H_
|
||||
#endif // PCB_IO_PCAD_H_
|
|
@ -31,20 +31,20 @@
|
|||
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
|
||||
#include <pcb_io/eagle/eagle_plugin.h>
|
||||
#include <pcb_io/geda/gpcb_plugin.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/legacy/legacy_plugin.h>
|
||||
#include <pcb_io/pcad/pcad_plugin.h>
|
||||
#include <pcb_io/altium/altium_circuit_maker_plugin.h>
|
||||
#include <pcb_io/altium/altium_circuit_studio_plugin.h>
|
||||
#include <pcb_io/altium/altium_designer_plugin.h>
|
||||
#include <pcb_io/altium/solidworks_pcb_plugin.h>
|
||||
#include <pcb_io/cadstar/cadstar_pcb_archive_plugin.h>
|
||||
#include <pcb_io/fabmaster/fabmaster_plugin.h>
|
||||
#include <pcb_io/easyeda/pcb_easyeda_plugin.h>
|
||||
#include <pcb_io/easyedapro/pcb_easyedapro_plugin.h>
|
||||
#include <pcb_io/ipc2581/ipc2581_plugin.h>
|
||||
#include <pcb_io/eagle/pcb_io_eagle.h>
|
||||
#include <pcb_io/geda/pcb_io_geda.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcb_io/kicad_legacy/pcb_io_kicad_legacy.h>
|
||||
#include <pcb_io/pcad/pcb_io_pcad.h>
|
||||
#include <pcb_io/altium/pcb_io_altium_circuit_maker.h>
|
||||
#include <pcb_io/altium/pcb_io_altium_circuit_studio.h>
|
||||
#include <pcb_io/altium/pcb_io_altium_designer.h>
|
||||
#include <pcb_io/altium/pcb_io_solidworks.h>
|
||||
#include <pcb_io/cadstar/pcb_io_cadstar_archive.h>
|
||||
#include <pcb_io/fabmaster/pcb_io_fabmaster.h>
|
||||
#include <pcb_io/easyeda/pcb_io_easyeda_plugin.h>
|
||||
#include <pcb_io/easyedapro/pcb_io_easyedapro.h>
|
||||
#include <pcb_io/ipc2581/pcb_io_ipc2581.h>
|
||||
|
||||
#define FMT_UNIMPLEMENTED _( "Plugin \"%s\" does not implement the \"%s\" function." )
|
||||
#define FMT_NOTFOUND _( "Plugin type \"%s\" is not found." )
|
||||
|
@ -201,72 +201,72 @@ void PCB_IO_MGR::Save( PCB_FILE_T aFileType, const wxString& aFileName, BOARD* a
|
|||
static PCB_IO_MGR::REGISTER_PLUGIN registerKicadPlugin(
|
||||
PCB_IO_MGR::KICAD_SEXP,
|
||||
wxT( "KiCad" ),
|
||||
[]() -> PCB_IO* { return new PCB_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_KICAD_SEXPR; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerLegacyPlugin(
|
||||
PCB_IO_MGR::LEGACY,
|
||||
wxT( "Legacy" ),
|
||||
[]() -> PCB_IO* { return new LEGACY_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_KICAD_LEGACY; } );
|
||||
|
||||
// Keep non-KiCad plugins in alphabetical order
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerAltiumCircuitMakerPlugin(
|
||||
PCB_IO_MGR::ALTIUM_CIRCUIT_MAKER,
|
||||
wxT( "Altium Circuit Maker" ),
|
||||
[]() -> PCB_IO* { return new ALTIUM_CIRCUIT_MAKER_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_ALTIUM_CIRCUIT_MAKER; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerAltiumCircuitStudioPlugin(
|
||||
PCB_IO_MGR::ALTIUM_CIRCUIT_STUDIO,
|
||||
wxT( "Altium Circuit Studio" ),
|
||||
[]() -> PCB_IO* { return new ALTIUM_CIRCUIT_STUDIO_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_ALTIUM_CIRCUIT_STUDIO; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerAltiumDesignerPlugin(
|
||||
PCB_IO_MGR::ALTIUM_DESIGNER,
|
||||
wxT( "Altium Designer" ),
|
||||
[]() -> PCB_IO* { return new ALTIUM_DESIGNER_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_ALTIUM_DESIGNER; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerCadstarArchivePlugin(
|
||||
PCB_IO_MGR::CADSTAR_PCB_ARCHIVE,
|
||||
wxT( "CADSTAR PCB Archive" ),
|
||||
[]() -> PCB_IO* { return new CADSTAR_PCB_ARCHIVE_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_CADSTAR_ARCHIVE; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerEaglePlugin(
|
||||
PCB_IO_MGR::EAGLE,
|
||||
wxT( "Eagle" ),
|
||||
[]() -> PCB_IO* { return new EAGLE_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_EAGLE; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerEasyEDAPlugin(
|
||||
PCB_IO_MGR::EASYEDA,
|
||||
wxT( "EasyEDA / JLCEDA Std" ),
|
||||
[]() -> PCB_IO* { return new EASYEDA_PLUGIN; });
|
||||
[]() -> PCB_IO* { return new PCB_IO_EASYEDA; });
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerEasyEDAProPlugin(
|
||||
PCB_IO_MGR::EASYEDAPRO,
|
||||
wxT( "EasyEDA / JLCEDA Pro" ),
|
||||
[]() -> PCB_IO* { return new EASYEDAPRO_PLUGIN; });
|
||||
[]() -> PCB_IO* { return new PCB_IO_EASYEDAPRO; });
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerFabmasterPlugin(
|
||||
PCB_IO_MGR::FABMASTER,
|
||||
wxT( "Fabmaster" ),
|
||||
[]() -> PCB_IO* { return new FABMASTER_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_FABMASTER; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerGPCBPlugin(
|
||||
PCB_IO_MGR::GEDA_PCB,
|
||||
wxT( "GEDA/Pcb" ),
|
||||
[]() -> PCB_IO* { return new GPCB_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_GEDA; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerPcadPlugin(
|
||||
PCB_IO_MGR::PCAD,
|
||||
wxT( "P-Cad" ),
|
||||
[]() -> PCB_IO* { return new PCAD_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_PCAD; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerSolidworksPCBPlugin(
|
||||
PCB_IO_MGR::SOLIDWORKS_PCB,
|
||||
wxT( "Solidworks PCB" ),
|
||||
[]() -> PCB_IO* { return new SOLIDWORKS_PCB_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_SOLIDWORKS; } );
|
||||
|
||||
static PCB_IO_MGR::REGISTER_PLUGIN registerIPC2581Plugin(
|
||||
PCB_IO_MGR::IPC2581,
|
||||
wxT( "IPC-2581" ),
|
||||
[]() -> PCB_IO* { return new IPC2581_PLUGIN; } );
|
||||
[]() -> PCB_IO* { return new PCB_IO_IPC2581; } );
|
||||
// clang-format on
|
|
@ -58,7 +58,7 @@
|
|||
#include <pcbnew_settings.h>
|
||||
#include <pcbplot.h>
|
||||
#include <pgm_base.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <reporter.h>
|
||||
#include <wildcards_and_files_ext.h>
|
||||
#include <export_vrml.h>
|
||||
|
@ -750,7 +750,7 @@ int PCBNEW_JOBS_HANDLER::JobExportFpUpgrade( JOB* aJob )
|
|||
}
|
||||
}
|
||||
|
||||
PCB_PLUGIN pcb_io( CTL_FOR_LIBRARY );
|
||||
PCB_IO_KICAD_SEXPR pcb_io( CTL_FOR_LIBRARY );
|
||||
FP_CACHE fpLib( &pcb_io, upgradeJob->m_libraryPath );
|
||||
|
||||
try
|
||||
|
@ -811,7 +811,7 @@ int PCBNEW_JOBS_HANDLER::JobExportFpSvg( JOB* aJob )
|
|||
if( aJob->IsCli() )
|
||||
m_reporter->Report( _( "Loading footprint library\n" ), RPT_SEVERITY_INFO );
|
||||
|
||||
PCB_PLUGIN pcb_io( CTL_FOR_LIBRARY );
|
||||
PCB_IO_KICAD_SEXPR pcb_io( CTL_FOR_LIBRARY );
|
||||
FP_CACHE fpLib( &pcb_io, svgJob->m_libraryPath );
|
||||
|
||||
try
|
||||
|
|
|
@ -111,9 +111,9 @@ HANDLE_EXCEPTIONS(PLUGIN::FootprintEnumerate)
|
|||
HANDLE_EXCEPTIONS(PLUGIN::FootprintLoad)
|
||||
HANDLE_EXCEPTIONS(PLUGIN::FootprintSave)
|
||||
HANDLE_EXCEPTIONS(PLUGIN::FootprintDelete)
|
||||
%include <pcb_io/kicad/pcb_plugin.h>
|
||||
%include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
%{
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
%}
|
||||
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ using namespace std::placeholders;
|
|||
|
||||
#include <ratsnest/ratsnest_data.h>
|
||||
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
|
||||
using namespace KIGFX;
|
||||
|
||||
|
@ -611,7 +611,7 @@ void ROUTER_TOOL::saveRouterDebugLog()
|
|||
// Export as *.kicad_pcb format, using a strategy which is specifically chosen
|
||||
// as an example on how it could also be used to send it to the system clipboard.
|
||||
|
||||
PCB_PLUGIN pcb_io;
|
||||
PCB_IO_KICAD_SEXPR pcb_io;
|
||||
|
||||
pcb_io.SaveBoard( fname_dump.GetFullPath(), m_iface->GetBoard(), nullptr );
|
||||
|
||||
|
|
|
@ -1282,7 +1282,7 @@ int PCB_CONTROL::AppendBoard( PCB_IO& pi, wxString& fileName )
|
|||
{
|
||||
STRING_UTF8_MAP props;
|
||||
|
||||
// EAGLE_PLUGIN can use this info to center the BOARD, but it does not yet.
|
||||
// PCB_IO_EAGLE can use this info to center the BOARD, but it does not yet.
|
||||
|
||||
props["page_width"] = std::to_string( editFrame->GetPageSizeIU().x );
|
||||
props["page_height"] = std::to_string( editFrame->GetPageSizeIU().y );
|
||||
|
|
|
@ -44,7 +44,7 @@ using namespace std::placeholders;
|
|||
#include "pcb_selection_tool.h"
|
||||
#include "pcb_actions.h"
|
||||
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -24,8 +24,8 @@
|
|||
#include <pcbnew_utils/board_file_utils.h>
|
||||
|
||||
// For PCB parsing
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad/pcb_parser.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr_parser.h>
|
||||
#include <richio.h>
|
||||
|
||||
#include <board.h>
|
||||
|
@ -65,7 +65,7 @@ std::string GetPcbnewTestDataDir()
|
|||
|
||||
void DumpBoardToFile( BOARD& board, const std::string& aFilename )
|
||||
{
|
||||
PCB_PLUGIN io;
|
||||
PCB_IO_KICAD_SEXPR io;
|
||||
io.SaveBoard( aFilename, &board );
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,7 @@ std::unique_ptr<BOARD_ITEM> ReadBoardItemFromStream( std::istream& aStream )
|
|||
STDISTREAM_LINE_READER reader;
|
||||
reader.SetStream( aStream );
|
||||
|
||||
PCB_PARSER parser( &reader, nullptr, nullptr );
|
||||
PCB_IO_KICAD_SEXPR_PARSER parser( &reader, nullptr, nullptr );
|
||||
std::unique_ptr<BOARD_ITEM> board;
|
||||
|
||||
try
|
||||
|
|
|
@ -48,9 +48,9 @@ std::string GetPcbnewTestDataDir();
|
|||
* Utility function to simply write a Board out to a file.
|
||||
*
|
||||
* Helps debug tests and utility programs by making it easy to quickly
|
||||
* write to disk without directly using the PCB_PLUGIN API.
|
||||
* write to disk without directly using the PCB_IO_KICAD_SEXPR API.
|
||||
*
|
||||
* Note: The aBoard param is non-const because PCB_PLUGIN::Save demands it
|
||||
* Note: The aBoard param is non-const because PCB_IO_KICAD_SEXPR::Save demands it
|
||||
* and I am not confident a const_cast will be a true assurance.
|
||||
*
|
||||
* @param aBoard the board to write out
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
#include <connectivity/connectivity_data.h>
|
||||
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
|
||||
#include <memory>
|
||||
|
||||
|
@ -101,7 +101,7 @@ void PCB_TEST_FRAME_BASE::SetBoard( std::shared_ptr<BOARD> b )
|
|||
|
||||
BOARD* PCB_TEST_FRAME_BASE::LoadAndDisplayBoard( const std::string& filename )
|
||||
{
|
||||
PLUGIN::RELEASER pi( new PCB_PLUGIN );
|
||||
PLUGIN::RELEASER pi( new PCB_IO_KICAD_SEXPR );
|
||||
BOARD* brd = nullptr;
|
||||
|
||||
try
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
#include <pcbnew_utils/board_file_utils.h>
|
||||
#include <qa_utils/wx_utils/unit_test_utils.h>
|
||||
|
||||
#include <pcbnew/pcb_io/altium/altium_designer_plugin.h>
|
||||
#include <pcbnew/pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcbnew/pcb_io/altium/pcb_io_altium_designer.h>
|
||||
#include <pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
|
||||
#include <footprint.h>
|
||||
#include <pad.h>
|
||||
|
@ -42,8 +42,8 @@ struct ALTIUM_PCBLIB_IMPORT_FIXTURE
|
|||
{
|
||||
ALTIUM_PCBLIB_IMPORT_FIXTURE() {}
|
||||
|
||||
ALTIUM_DESIGNER_PLUGIN altiumPlugin;
|
||||
PCB_PLUGIN kicadPlugin;
|
||||
PCB_IO_ALTIUM_DESIGNER altiumPlugin;
|
||||
PCB_IO_KICAD_SEXPR kicadPlugin;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
#include <pcbnew_utils/board_file_utils.h>
|
||||
#include <qa_utils/wx_utils/unit_test_utils.h>
|
||||
|
||||
#include <pcbnew/pcb_io/cadstar/cadstar_pcb_archive_plugin.h>
|
||||
#include <pcbnew/pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcbnew/pcb_io/cadstar/pcb_io_cadstar_archive.h>
|
||||
#include <pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
|
||||
#include <footprint.h>
|
||||
#include <pad.h>
|
||||
|
@ -39,8 +39,8 @@ struct CADSTAR_IMPORT_FIXTURE
|
|||
{
|
||||
CADSTAR_IMPORT_FIXTURE() {}
|
||||
|
||||
CADSTAR_PCB_ARCHIVE_PLUGIN cstarPlugin;
|
||||
PCB_PLUGIN kicadPlugin;
|
||||
PCB_IO_CADSTAR_ARCHIVE cstarPlugin;
|
||||
PCB_IO_KICAD_SEXPR kicadPlugin;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
#include <pcbnew_utils/board_file_utils.h>
|
||||
#include <qa_utils/wx_utils/unit_test_utils.h>
|
||||
|
||||
#include <pcbnew/pcb_io/eagle/eagle_plugin.h>
|
||||
#include <pcbnew/pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcbnew/pcb_io/eagle/pcb_io_eagle.h>
|
||||
#include <pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
|
||||
#include <footprint.h>
|
||||
#include <pad.h>
|
||||
|
@ -42,8 +42,8 @@ struct EAGLE_LBR_IMPORT_FIXTURE
|
|||
{
|
||||
EAGLE_LBR_IMPORT_FIXTURE() {}
|
||||
|
||||
EAGLE_PLUGIN eaglePlugin;
|
||||
PCB_PLUGIN kicadPlugin;
|
||||
PCB_IO_EAGLE eaglePlugin;
|
||||
PCB_IO_KICAD_SEXPR kicadPlugin;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
#include <qa_utils/wx_utils/unit_test_utils.h>
|
||||
#include <pcbnew_utils/board_test_utils.h>
|
||||
#include <pcbnew_utils/board_file_utils.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <board.h>
|
||||
#include <footprint.h>
|
||||
#include <settings/settings_manager.h>
|
||||
|
@ -54,7 +54,7 @@ BOOST_FIXTURE_TEST_CASE( FootprintPrettifier, PRETTIFIER_TEST_FIXTURE )
|
|||
};
|
||||
|
||||
std::unique_ptr<FOOTPRINT> original, converted;
|
||||
PCB_PLUGIN plugin;
|
||||
PCB_IO_KICAD_SEXPR plugin;
|
||||
|
||||
std::string tempLibPath = fmt::format( "{}/prettifier.pretty",
|
||||
std::filesystem::temp_directory_path() );
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#include <pcbexpr_evaluator.h>
|
||||
|
||||
#include <pcb_io/pcb_io_mgr.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
|
||||
#include <unordered_set>
|
||||
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
#include <wx/msgout.h>
|
||||
|
||||
#include <board_item.h>
|
||||
#include <pcb_io/kicad/pcb_plugin.h>
|
||||
#include <pcb_io/kicad/pcb_parser.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcb_io/kicad_sexpr/pcb_io_kicad_sexpr_parser.h>
|
||||
#include <richio.h>
|
||||
#include <qa_utils/stdstream_line_reader.h>
|
||||
|
||||
|
@ -53,7 +53,7 @@ bool parse( std::istream& aStream, bool aVerbose )
|
|||
STDISTREAM_LINE_READER reader;
|
||||
reader.SetStream( aStream );
|
||||
|
||||
PCB_PARSER parser( &reader, nullptr, nullptr );
|
||||
PCB_IO_KICAD_SEXPR_PARSER parser( &reader, nullptr, nullptr );
|
||||
BOARD_ITEM* board = nullptr;
|
||||
|
||||
PARSE_DURATION duration{};
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
#include <board_design_settings.h>
|
||||
|
||||
#include <pcbnew/plugins/kicad/pcb_plugin.h>
|
||||
#include <pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.h>
|
||||
#include <pcbnew/drc/drc_engine.h>
|
||||
|
||||
#include <project.h>
|
||||
|
@ -347,7 +347,7 @@ bool PNS_LOG_FILE::Load( const wxFileName& logFileName, REPORTER* aRpt )
|
|||
|
||||
try
|
||||
{
|
||||
PCB_PLUGIN io;
|
||||
PCB_IO_KICAD_SEXPR io;
|
||||
aRpt->Report( wxString::Format( wxT("Loading board snapshot from '%s'"),
|
||||
fname_dump.GetFullPath() ) );
|
||||
|
||||
|
|
|
@ -893,7 +893,7 @@ void PNS_LOG_VIEWER_FRAME::updatePnsPreviewItems( int iter )
|
|||
|
||||
static BOARD* loadBoard( const std::string& filename )
|
||||
{
|
||||
PLUGIN::RELEASER pi( new PCB_PLUGIN );
|
||||
PLUGIN::RELEASER pi( new PCB_IO_KICAD_SEXPR );
|
||||
BOARD* brd = nullptr;
|
||||
|
||||
try
|
||||
|
|
Loading…
Reference in New Issue