Commit a2765a85 authored by Jerry Jacobs's avatar Jerry Jacobs

Merge

parents d2994d58 727f77db
......@@ -4,6 +4,17 @@ KiCad ChangeLog 2010
Please add newer entries at the top, list the date and your name with
email address.
2010-may-18, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
++All:
Set minimum cmake version requirement to 2.6.4
(does not works with 2.6.1)
++Pcbnew, Module Editor:
Added footprint name edition in the module properties dialog.
Until now, the footprint name used to retrieve a footprint in lib was
set only when saving the footprint in lib, and could not be edited without saving
the footprint in lib.
2010-may-01, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
++Pcbnew:
......
......@@ -2,9 +2,9 @@ project(kicad)
# test the minimum Cmake version requirement (could be different under unix or Windows
if(WIN32)
cmake_minimum_required(VERSION 2.8.0 FATAL_ERROR)
cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
else(WIN32)
cmake_minimum_required(VERSION 2.8.0 FATAL_ERROR)
cmake_minimum_required(VERSION 2.6.4 FATAL_ERROR)
endif(WIN32)
# Path to local CMake modules.
......
......@@ -284,7 +284,8 @@ void WinEDA_DrawFrame::PlotWorkSheet( PLOTTER* plotter, BASE_SCREEN* screen )
case WS_IDENTSHEET:
if( WsItem->m_Legende )
msg = WsItem->m_Legende;
msg << screen->m_ScreenNumber;
if( screen->m_NumberOfScreen > 1 )
msg << screen->m_ScreenNumber;
plotter->text( pos, color,
msg, TEXT_ORIENT_HORIZ, text_size,
GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_CENTER,
......@@ -294,7 +295,7 @@ void WinEDA_DrawFrame::PlotWorkSheet( PLOTTER* plotter, BASE_SCREEN* screen )
case WS_SHEETS:
if( WsItem->m_Legende )
msg = WsItem->m_Legende;
msg << screen->m_NumberOfScreen;
msg << screen->m_NumberOfScreen;
plotter->text( pos, color,
msg, TEXT_ORIENT_HORIZ, text_size,
GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_CENTER,
......
......@@ -121,8 +121,8 @@ bool IsOK( wxWindow* parent, const wxString& text )
* Leading and trailing spaces are removed
* Buffer is the initial text displayed, anr the returned text
* Return:
* 1 if OK
* 0 if ESCAPE
* 0 if OK
* 1 if CANCEL
*/
int Get_Message( const wxString& title, // The question
const wxString& frame_caption, // The frame caption
......
......@@ -549,7 +549,7 @@ Ki_WorkSheetData WS_Art =
&WS_Mass,
STAMP_X_50 - 30, STAMP_Y_35 + 90,
0, 0,
wxT( "Арт." ),NULL
wxT( "Лит." ),NULL
};
Ki_WorkSheetData WS_Mass =
......@@ -1147,7 +1147,8 @@ void WinEDA_DrawFrame::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen,
case WS_IDENTSHEET:
if( WsItem->m_Legende )
msg = WsItem->m_Legende;
msg << screen->m_ScreenNumber;
if( screen->m_NumberOfScreen > 1 )
msg << screen->m_ScreenNumber;
DrawGraphicText( DrawPanel, DC, pos, Color, msg,
TEXT_ORIENT_HORIZ, size, GR_TEXT_HJUSTIFY_LEFT,
GR_TEXT_VJUSTIFY_CENTER, width, false, false,
......
update=13/5/2006-07:55:36
version=1
last_client=pcbnew
[common]
NetDir=
[eeschema]
version=1
LibDir=
NetFmt=1
HPGLSpd=20
HPGLDm=15
HPGLNum=1
offX_A4=0
offY_A4=0
offX_A3=0
offY_A3=0
offX_A2=0
offY_A2=0
offX_A1=0
offY_A1=0
offX_A0=0
offY_A0=0
offX_A=0
offY_A=0
offX_B=0
offY_B=0
offX_C=0
offY_C=0
offX_D=0
offY_D=0
offX_E=0
offY_E=0
RptD_X=0
RptD_Y=100
RptLab=1
PenMin=20
SimCmd=
UseNetN=0
[eeschema/libraries]
LibName1=power
LibName2=device
LibName3=conn
LibName4=linear
LibName5=regul
LibName6=74xx
LibName7=cmos4000
LibName8=adc-dac
LibName9=memory
LibName10=xilinx
LibName11=special
[general]
version=1
RootSch=interf_u.sch
BoardNm=interf_u.brd
[cvpcb]
version=1
NetITyp=0
NetIExt=.net
PkgIExt=.pkg
NetType=0
[cvpcb/libraries]
EquName1=devcms
[pcbnew]
version=1
PadDril=1200
PadDimH=1500
PadDimV=1500
PadForm=1
PadMask=14745599
ViaDiam=600
ViaDril=250
Isol=110
Countlayer=2
Lpiste=170
RouteTo=15
RouteBo=0
TypeVia=3
Segm45=1
Racc45=1
Unite=0
SegFill=1
SegAffG=0
NewAffG=1
PadFill=1
PadAffG=1
PadSNum=1
ModAffC=1
ModAffT=1
PcbAffT=1
SgPcb45=1
TxtPcbV=800
TxtPcbH=600
TxtModV=600
TxtModH=600
TxtModW=120
HPGLnum=1
HPGdiam=15
HPGLSpd=20
HPGLrec=2
HPGLorg=0
GERBmin=15
VEgarde=100
DrawLar=150
EdgeLar=150
TxtLar=170
MSegLar=150
ForPlot=1
WpenSer=10
UserGrX=0,1
UserGrY=0,1
UserGrU=0
DivGrPc=1
TimeOut=600
MaxLnkS=3
ShowRat=0
ShowMRa=1
[pcbnew/libraries]
LibDir=
LibName1=connect
LibName2=discret
LibName3=pin_array
LibName4=divers
LibName5=libcms
LibName6=supports
LibName7=display
update=16/05/2010 14:21:37
version=1
last_client=pcbnew
[common]
NetDir=
[eeschema]
version=1
LibDir=
NetFmt=1
HPGLSpd=20
HPGLDm=15
HPGLNum=1
offX_A4=0
offY_A4=0
offX_A3=0
offY_A3=0
offX_A2=0
offY_A2=0
offX_A1=0
offY_A1=0
offX_A0=0
offY_A0=0
offX_A=0
offY_A=0
offX_B=0
offY_B=0
offX_C=0
offY_C=0
offX_D=0
offY_D=0
offX_E=0
offY_E=0
RptD_X=0
RptD_Y=100
RptLab=1
PenMin=20
SimCmd=
UseNetN=0
[eeschema/libraries]
LibName1=power
LibName2=device
LibName3=conn
LibName4=linear
LibName5=regul
LibName6=74xx
LibName7=cmos4000
LibName8=adc-dac
LibName9=memory
LibName10=xilinx
LibName11=special
[general]
version=1
RootSch=interf_u.sch
BoardNm=interf_u.brd
[cvpcb]
version=1
NetITyp=0
NetIExt=.net
PkgIExt=.pkg
NetType=0
[cvpcb/libraries]
EquName1=devcms
[pcbnew]
version=1
PadDrlX=430
PadDimH=550
PadDimV=550
BoardThickness=630
SgPcb45=1
TxtPcbV=800
TxtPcbH=600
TxtModV=600
TxtModH=600
TxtModW=120
VEgarde=100
DrawLar=150
EdgeLar=50
TxtLar=170
MSegLar=150
LastNetListRead=interf_u.net
[pcbnew/libraries]
LibDir=
LibName1=connect
LibName2=discret
LibName3=pin_array
LibName4=sockets
LibName5=divers
LibName6=libcms
LibName7=display
......@@ -4,27 +4,28 @@
LicenseLangString MUILicense ${LANG_RUSSIAN} "..\licendoc.txt"
;component option
LangString TITLE_SEC01 ${LANG_RUSSIAN} " "
LangString TITLE_SEC02 ${LANG_RUSSIAN} " "
LangString TITLE_SEC03 ${LANG_RUSSIAN} " "
LangString TITLE_SEC04 ${LANG_RUSSIAN} " "
LangString TITLE_SEC01 ${LANG_RUSSIAN} " "
LangString TITLE_SEC02 ${LANG_RUSSIAN} " "
LangString TITLE_SEC03 ${LANG_RUSSIAN} " "
LangString TITLE_SEC04 ${LANG_RUSSIAN} " "
;component option descriptions
LangString DESC_SEC01 ${LANG_RUSSIAN} " ."
LangString DESC_SEC02 ${LANG_RUSSIAN} " ."
LangString DESC_SEC03 ${LANG_RUSSIAN} " ."
LangString DESC_SEC04 ${LANG_RUSSIAN} " ."
LangString DESC_SEC01 ${LANG_RUSSIAN} " ."
LangString DESC_SEC02 ${LANG_RUSSIAN} " , ."
LangString DESC_SEC03 ${LANG_RUSSIAN} " ."
LangString DESC_SEC04 ${LANG_RUSSIAN} " pdf."
;warning messages
LangString WINGS3D_PROMPT ${LANG_RUSSIAN} " , 3D Wings3D. \
Wings3D download web page Wings3D \
web page Wings3D."
LangString WINGS3D_PROMPT ${LANG_RUSSIAN} " 3D Wings3D. \
Wings3D web- Wings3D. \
, web- Wings3D."
LangString UNINST_PROMPT ${LANG_RUSSIAN} " $(^name) ? $\n \
, "
LangString UNINST_PROMPT ${LANG_RUSSIAN} " , ${product_name} ? $\n \
, "
LangString UNINST_SUCCESS ${LANG_RUSSIAN} "$(^name) ."
LangString INSTALLER_RUNNING ${LANG_RUSSIAN} " ."
LangString UNINSTALLER_RUNNING ${LANG_RUSSIAN} " ."
LangString ALREADY_INSTALLED ${LANG_RUSSIAN} "${product_name} . overwrite existing . \
?"
\ No newline at end of file
LangString UNINST_SUCCESS ${LANG_RUSSIAN} "$(^name) ."
LangString INSTALLER_RUNNING ${LANG_RUSSIAN} " $(^name) ."
LangString UNINSTALLER_RUNNING ${LANG_RUSSIAN} " $(^name) ."
LangString ALREADY_INSTALLED ${LANG_RUSSIAN} "${product_name} . $\n \
. \
?"
......@@ -259,7 +259,7 @@ install(TARGETS pcbnew
# The specctra test fails to build properly using MS Visual Studio.
if(NOT MSVC)
# This one gets made only when testing.
add_executable(specctra_test EXCLUDE_FROM_ALL specctra.cpp)
add_executable(specctra_test EXCLUDE_FROM_ALL specctra_test.cpp specctra.cpp)
target_link_libraries(specctra_test common ${wxWidgets_LIBRARIES})
endif(NOT MSVC)
......
......@@ -77,7 +77,8 @@ void DIALOG_MODULE_MODULE_EDITOR::InitModeditProperties()
m_ValueCopy->Copy(m_CurrentModule->m_Value);
m_ReferenceCtrl->SetValue( m_ReferenceCopy->m_Text );
m_ValueCtrl->SetValue( m_ValueCopy->m_Text );
m_ValueCtrl->SetValue( m_ValueCopy->m_Text );
m_FootprintNameCtrl->SetValue( m_CurrentModule->m_LibRef );
#if wxCHECK_VERSION( 2, 8, 0 )
m_AttributsCtrl->SetItemToolTip( 0, _( "Use this attribute for most non smd components" ) );
......@@ -343,6 +344,10 @@ void DIALOG_MODULE_MODULE_EDITOR::OnOkClick( wxCommandEvent& event )
m_CurrentModule->m_Doc = m_DocCtrl->GetValue();
m_CurrentModule->m_KeyWord = m_KeywordCtrl->GetValue();
// Init footprint name in library
if( ! m_FootprintNameCtrl->GetValue( ).IsEmpty() )
m_CurrentModule->m_LibRef = m_FootprintNameCtrl->GetValue( );
// Init Fields:
m_CurrentModule->m_Reference->Copy(m_ReferenceCopy );
m_CurrentModule->m_Value->Copy(m_ValueCopy );
......@@ -429,3 +434,4 @@ void DIALOG_MODULE_MODULE_EDITOR::OnEditValue(wxCommandEvent& event)
m_Parent->GetScreen()->m_Curseur = tmp;
m_ValueCtrl->SetValue(m_ValueCopy->m_Text);
}
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Apr 16 2008)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __dialog_edit_module_for_Modedit_base__
#define __dialog_edit_module_for_Modedit_base__
#include <wx/intl.h>
#include <wx/string.h>
#include <wx/textctrl.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/sizer.h>
#include <wx/statbox.h>
#include <wx/button.h>
#include <wx/radiobox.h>
#include <wx/stattext.h>
#include <wx/slider.h>
#include <wx/statline.h>
#include <wx/panel.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/listbox.h>
#include <wx/notebook.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
#define ID_NOTEBOOK 1000
#define ID_BROWSE_3D_LIB 1001
#define ID_REMOVE_3D_SHAPE 1002
///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_MODULE_MODULE_EDITOR_BASE
///////////////////////////////////////////////////////////////////////////////
class DIALOG_MODULE_MODULE_EDITOR_BASE : public wxDialog
{
private:
wxBoxSizer* m_GeneralBoxSizer;
wxBoxSizer* m_PropRightSizer;
protected:
wxNotebook* m_NoteBook;
wxPanel* m_PanelProperties;
wxTextCtrl* m_DocCtrl;
wxTextCtrl* m_KeywordCtrl;
wxTextCtrl* m_ReferenceCtrl;
wxButton* m_button4;
wxTextCtrl* m_ValueCtrl;
wxButton* m_button5;
wxRadioBox* m_AttributsCtrl;
wxRadioBox* m_AutoPlaceCtrl;
wxStaticText* m_staticText11;
wxSlider* m_CostRot90Ctrl;
wxStaticText* m_staticText12;
wxSlider* m_CostRot180Ctrl;
wxStaticText* m_staticTextInfo;
wxStaticText* m_staticTextNetClearance;
wxTextCtrl* m_NetClearanceValueCtrl;
wxStaticText* m_NetClearanceUnits;
wxStaticLine* m_staticline1;
wxStaticLine* m_staticline2;
wxStaticLine* m_staticline3;
wxStaticText* m_MaskClearanceTitle;
wxTextCtrl* m_SolderMaskMarginCtrl;
wxStaticText* m_SolderMaskMarginUnits;
wxStaticText* m_staticTextSolderPaste;
wxTextCtrl* m_SolderPasteMarginCtrl;
wxStaticText* m_SolderPasteMarginUnits;
wxStaticText* m_staticTextRatio;
wxTextCtrl* m_SolderPasteMarginRatioCtrl;
wxStaticText* m_SolderPasteRatioMarginUnits;
wxPanel* m_Panel3D;
wxStaticText* m_staticText3Dname;
wxListBox* m_3D_ShapeNameListBox;
wxButton* m_buttonBrowse;
wxButton* m_buttonRemove;
wxStdDialogButtonSizer* m_sdbSizerStdButtons;
wxButton* m_sdbSizerStdButtonsOK;
wxButton* m_sdbSizerStdButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnEditReference( wxCommandEvent& event ){ event.Skip(); }
virtual void OnEditValue( wxCommandEvent& event ){ event.Skip(); }
virtual void On3DShapeNameSelected( wxCommandEvent& event ){ event.Skip(); }
virtual void BrowseAndAdd3DLib( wxCommandEvent& event ){ event.Skip(); }
virtual void Remove3DShape( wxCommandEvent& event ){ event.Skip(); }
virtual void OnCancelClick( wxCommandEvent& event ){ event.Skip(); }
virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); }
public:
wxStaticBoxSizer* m_Sizer3DValues;
DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Module properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 541,540 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_MODULE_MODULE_EDITOR_BASE();
};
#endif //__dialog_edit_module_for_Modedit_base__
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Apr 16 2008)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __dialog_edit_module_for_Modedit_base__
#define __dialog_edit_module_for_Modedit_base__
#include <wx/intl.h>
#include <wx/string.h>
#include <wx/textctrl.h>
#include <wx/gdicmn.h>
#include <wx/font.h>
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/sizer.h>
#include <wx/statbox.h>
#include <wx/button.h>
#include <wx/radiobox.h>
#include <wx/stattext.h>
#include <wx/slider.h>
#include <wx/statline.h>
#include <wx/panel.h>
#include <wx/bitmap.h>
#include <wx/image.h>
#include <wx/icon.h>
#include <wx/listbox.h>
#include <wx/notebook.h>
#include <wx/dialog.h>
///////////////////////////////////////////////////////////////////////////
#define ID_NOTEBOOK 1000
#define ID_BROWSE_3D_LIB 1001
#define ID_REMOVE_3D_SHAPE 1002
///////////////////////////////////////////////////////////////////////////////
/// Class DIALOG_MODULE_MODULE_EDITOR_BASE
///////////////////////////////////////////////////////////////////////////////
class DIALOG_MODULE_MODULE_EDITOR_BASE : public wxDialog
{
private:
wxBoxSizer* m_GeneralBoxSizer;
wxBoxSizer* m_PropRightSizer;
protected:
wxNotebook* m_NoteBook;
wxPanel* m_PanelProperties;
wxTextCtrl* m_DocCtrl;
wxTextCtrl* m_KeywordCtrl;
wxTextCtrl* m_ReferenceCtrl;
wxButton* m_button4;
wxTextCtrl* m_ValueCtrl;
wxButton* m_button5;
wxTextCtrl* m_FootprintNameCtrl;
wxRadioBox* m_AttributsCtrl;
wxRadioBox* m_AutoPlaceCtrl;
wxStaticText* m_staticText11;
wxSlider* m_CostRot90Ctrl;
wxStaticText* m_staticText12;
wxSlider* m_CostRot180Ctrl;
wxStaticText* m_staticTextInfo;
wxStaticText* m_staticTextNetClearance;
wxTextCtrl* m_NetClearanceValueCtrl;
wxStaticText* m_NetClearanceUnits;
wxStaticLine* m_staticline1;
wxStaticLine* m_staticline2;
wxStaticLine* m_staticline3;
wxStaticText* m_MaskClearanceTitle;
wxTextCtrl* m_SolderMaskMarginCtrl;
wxStaticText* m_SolderMaskMarginUnits;
wxStaticText* m_staticTextSolderPaste;
wxTextCtrl* m_SolderPasteMarginCtrl;
wxStaticText* m_SolderPasteMarginUnits;
wxStaticText* m_staticTextRatio;
wxTextCtrl* m_SolderPasteMarginRatioCtrl;
wxStaticText* m_SolderPasteRatioMarginUnits;
wxPanel* m_Panel3D;
wxStaticText* m_staticText3Dname;
wxListBox* m_3D_ShapeNameListBox;
wxButton* m_buttonBrowse;
wxButton* m_buttonRemove;
wxStdDialogButtonSizer* m_sdbSizerStdButtons;
wxButton* m_sdbSizerStdButtonsOK;
wxButton* m_sdbSizerStdButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnEditReference( wxCommandEvent& event ){ event.Skip(); }
virtual void OnEditValue( wxCommandEvent& event ){ event.Skip(); }
virtual void On3DShapeNameSelected( wxCommandEvent& event ){ event.Skip(); }
virtual void BrowseAndAdd3DLib( wxCommandEvent& event ){ event.Skip(); }
virtual void Remove3DShape( wxCommandEvent& event ){ event.Skip(); }
virtual void OnCancelClick( wxCommandEvent& event ){ event.Skip(); }
virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); }
public:
wxStaticBoxSizer* m_Sizer3DValues;
DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Module properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 541,540 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_MODULE_MODULE_EDITOR_BASE();
};
#endif //__dialog_edit_module_for_Modedit_base__
......@@ -391,9 +391,9 @@ void WinEDA_ModuleEditFrame::Delete_Module_In_Library(
}
/*
* Save library:
* All new modules (ie modules not already exist (if NewModulesOnly == true)
/** function Archive_Modules
* Save in the library:
* All new modules (ie modules not found in this lib) (if NewModulesOnly == true)
* all modules (if NewModulesOnly == FALSE)
*/
void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName,
......@@ -522,8 +522,8 @@ int WinEDA_BasePcbFrame::Save_Module_In_Library( const wxString& aLibName,
if( aDisplayDialog )
{
Get_Message( _( "Name:" ), _( "Save module" ), Name_Cmp, this );
if( Name_Cmp.IsEmpty() )
int cancel = Get_Message( _( "Name:" ), _( "Save module" ), Name_Cmp, this );
if( Name_Cmp.IsEmpty() || cancel )
return 0;
Name_Cmp.Trim( true );
Name_Cmp.Trim( FALSE );
......
......@@ -47,25 +47,13 @@
*/
#include <cstdarg>
#include <cstdio>
#include "specctra.h"
#include "common.h" // IsOK() & EDA_FileSelector()
#include <wx/ffile.h>
// To build the DSN beautifier and unit tester, simply uncomment this and then
// use CMake's makefile to build target "specctra_test".
//#define SPECCTRA_TEST // define for "stand alone, i.e. unit testing"
#if defined(SPECCTRA_TEST)
#define EDA_BASE // build_version.h behavior
#undef COMMON_GLOBL
#define COMMON_GLOBL // build_version.h behavior
#endif
#include "build_version.h"
......@@ -510,9 +498,6 @@ wxString SPECCTRA_DB::GetTokenString( int aTok )
return ret;
}
#if !defined(SPECCTRA_TEST)
void SPECCTRA_DB::buildLayerMaps( BOARD* aBoard )
{
// specctra wants top physical layer first, then going down to the
......@@ -536,7 +521,6 @@ void SPECCTRA_DB::buildLayerMaps( BOARD* aBoard )
layerIds.push_back( CONV_TO_UTF8( aBoard->GetLayerName( kilayer ) ) );
}
}
#endif
int SPECCTRA_DB::findLayerName( const std::string& aLayerName ) const
......@@ -4321,71 +4305,4 @@ void PLACE::Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IOError )
} // namespace DSN
// unit test this source file. You can use the beautifiers below to output
// exactly what you read in but beautified and without #comments. This can
// then be used along with program 'diff' to test the parsing and formatting
// of every element. You may have to run the first output back through to
// get two files that should match, the 2nd and 3rd outputs.
#if defined(SPECCTRA_TEST)
using namespace DSN;
int main( int argc, char** argv )
{
// wxString filename( wxT("/tmp/fpcroute/Sample_1sided/demo_1sided.dsn") );
// wxString filename( wxT("/tmp/testdesigns/test.dsn") );
// wxString filename( wxT("/tmp/testdesigns/test.ses") );
wxString filename( wxT("/tmp/specctra_big.dsn") );
SPECCTRA_DB db;
bool failed = false;
SetLocaleTo_C_standard( ); // Switch the locale to standard C
if( argc == 2 )
{
filename = CONV_FROM_UTF8( argv[1] );
}
try
{
// db.LoadPCB( filename );
db.LoadSESSION( filename );
}
catch( IOError ioe )
{
fprintf( stderr, "%s\n", CONV_TO_UTF8(ioe.errorText) );
failed = true;
}
if( !failed )
fprintf( stderr, "loaded OK\n" );
// export what we read in, making this test program basically a beautifier
// hose the beautified DSN file to stdout. If an exception occurred,
// we will be outputting only a portion of what we wanted to read in.
db.SetFILE( stdout );
#if 0
// export a PCB
DSN::PCB* pcb = db.GetPCB();
pcb->Format( &db, 0 );
#else
// export a SESSION file.
DSN::SESSION* ses = db.GetSESSION();
ses->Format( &db, 0 );
#endif
SetLocaleTo_Default( ); // revert to the current locale
}
#endif
//EOF
/*
* This program source code file is part of KICAD, a free EDA CAD application.
*
* Copyright (C) 2010 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com>
* Copyright (C) 2010 Kicad Developers, see change_log.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
// unit test the specctra.cpp file. You can use the beautifiers below to output
// exactly what you read in but beautified and without #comments. This can
// then be used along with program 'diff' to test the parsing and formatting
// of every element. You may have to run the first output back through to
// get two files that should match, the 2nd and 3rd outputs.
#include <cstdarg>
#include <cstdio>
#include "specctra.h"
#include "common.h"
using namespace DSN;
int main( int argc, char** argv )
{
// wxString filename( wxT("/tmp/fpcroute/Sample_1sided/demo_1sided.dsn") );
// wxString filename( wxT("/tmp/testdesigns/test.dsn") );
// wxString filename( wxT("/tmp/testdesigns/test.ses") );
wxString filename( wxT("/tmp/specctra_big.dsn") );
SPECCTRA_DB db;
bool failed = false;
SetLocaleTo_C_standard( ); // Switch the locale to standard C
if( argc == 2 )
{
filename = CONV_FROM_UTF8( argv[1] );
}
try
{
// db.LoadPCB( filename );
db.LoadSESSION( filename );
}
catch( IOError ioe )
{
fprintf( stderr, "%s\n", CONV_TO_UTF8(ioe.errorText) );
failed = true;
}
if( !failed )
fprintf( stderr, "loaded OK\n" );
// export what we read in, making this test program basically a beautifier
// hose the beautified DSN file to stdout. If an exception occurred,
// we will be outputting only a portion of what we wanted to read in.
db.SetFILE( stdout );
#if 0
// export a PCB
DSN::PCB* pcb = db.GetPCB();
pcb->Format( &db, 0 );
#else
// export a SESSION file.
DSN::SESSION* ses = db.GetSESSION();
ses->Format( &db, 0 );
#endif
SetLocaleTo_Default( ); // revert to the current locale
}
//-----<dummy code>---------------------------------------------------
// a dummy to satisfy link of specctra_test without pulling in BOARD stuff.
int BOARD::GetCopperLayerCount() const
{
return 0;
}
// a dummy to satisfy link of specctra_test without pulling in BOARD stuff.
wxString BOARD::GetLayerName( int aLayer ) const
{
return wxEmptyString;
}
//-----</dummy code>--------------------------------------------------
//EOF
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment