From 5cec27481e992172e418a8f98fc5a3da601b2e91 Mon Sep 17 00:00:00 2001 From: Andrey Fedorushkov Date: Fri, 14 May 2010 23:31:46 +0400 Subject: [PATCH 1/7] fix minor bug russian GOST --- common/common_plot_functions.cpp | 6 ++++-- common/worksheet.cpp | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/common/common_plot_functions.cpp b/common/common_plot_functions.cpp index 14f42e8114..371fffa757 100644 --- a/common/common_plot_functions.cpp +++ b/common/common_plot_functions.cpp @@ -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,8 @@ void WinEDA_DrawFrame::PlotWorkSheet( PLOTTER* plotter, BASE_SCREEN* screen ) case WS_SHEETS: if( WsItem->m_Legende ) msg = WsItem->m_Legende; - msg << screen->m_NumberOfScreen; + if( screen->m_NumberOfScreen > 1 ) + msg << screen->m_NumberOfScreen; plotter->text( pos, color, msg, TEXT_ORIENT_HORIZ, text_size, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_CENTER, diff --git a/common/worksheet.cpp b/common/worksheet.cpp index 293ec18b7f..9184e0ecb0 100644 --- a/common/worksheet.cpp +++ b/common/worksheet.cpp @@ -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, @@ -1157,7 +1158,8 @@ void WinEDA_DrawFrame::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, case WS_SHEETS: if( WsItem->m_Legende ) msg = WsItem->m_Legende; - msg << screen->m_NumberOfScreen; + if( screen->m_NumberOfScreen > 1 ) + msg << screen->m_NumberOfScreen; DrawGraphicText( DrawPanel, DC, pos, Color, msg, TEXT_ORIENT_HORIZ, size, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_CENTER, width, false, false, From a867a89d08fc9f19a9f7beca2863533293309b7e Mon Sep 17 00:00:00 2001 From: Andrey Fedorushkov Date: Sat, 15 May 2010 00:12:20 +0400 Subject: [PATCH 2/7] fix russian translation windows installer --- packaging/windows/nsis/Russian.nsh | 37 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/packaging/windows/nsis/Russian.nsh b/packaging/windows/nsis/Russian.nsh index 7efb6a80aa..f50f69c250 100644 --- a/packaging/windows/nsis/Russian.nsh +++ b/packaging/windows/nsis/Russian.nsh @@ -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 \ + . \ +?" From aaea7473d8b86bb8c80d15becef37f5c2c62389b Mon Sep 17 00:00:00 2001 From: Dick Hollenbeck Date: Sat, 15 May 2010 06:30:57 -0500 Subject: [PATCH 3/7] carve out specctra_test.cpp unit testing program from specctra.cpp --- pcbnew/CMakeLists.txt | 2 +- pcbnew/specctra.cpp | 83 ------------------------------------------- 2 files changed, 1 insertion(+), 84 deletions(-) diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index ba44b3ce58..10332fb299 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -237,7 +237,7 @@ install(TARGETS ${PCBNEW_NAME} # 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) diff --git a/pcbnew/specctra.cpp b/pcbnew/specctra.cpp index 6173a734d0..a95549f851 100644 --- a/pcbnew/specctra.cpp +++ b/pcbnew/specctra.cpp @@ -47,25 +47,13 @@ */ - #include #include #include "specctra.h" -#include "common.h" // IsOK() & EDA_FileSelector() #include -// 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 - From 7a73d87abe66ac2154c0939e2726ce5f380f4c24 Mon Sep 17 00:00:00 2001 From: Dick Hollenbeck Date: Sat, 15 May 2010 06:31:37 -0500 Subject: [PATCH 4/7] carve out specctra_test.cpp unit testing program from specctra.cpp --- pcbnew/specctra_test.cpp | 110 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 pcbnew/specctra_test.cpp diff --git a/pcbnew/specctra_test.cpp b/pcbnew/specctra_test.cpp new file mode 100644 index 0000000000..21fa18b072 --- /dev/null +++ b/pcbnew/specctra_test.cpp @@ -0,0 +1,110 @@ +/* + * This program source code file is part of KICAD, a free EDA CAD application. + * + * Copyright (C) 2010 SoftPLC Corporation, Dick Hollenbeck + * 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 +#include + +#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 +} + +//-------------------------------------------------------- + +// 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; +} + +//------------------------------------------------------- + +//EOF From 67a959a5130965c1fe991d6b9fa94d80de940cdb Mon Sep 17 00:00:00 2001 From: Andrey Fedorushkov Date: Sun, 16 May 2010 10:32:38 +0400 Subject: [PATCH 5/7] fix minor bug russian GOST --- common/common_plot_functions.cpp | 3 +-- common/worksheet.cpp | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/common/common_plot_functions.cpp b/common/common_plot_functions.cpp index 371fffa757..37a3b14751 100644 --- a/common/common_plot_functions.cpp +++ b/common/common_plot_functions.cpp @@ -295,8 +295,7 @@ void WinEDA_DrawFrame::PlotWorkSheet( PLOTTER* plotter, BASE_SCREEN* screen ) case WS_SHEETS: if( WsItem->m_Legende ) msg = WsItem->m_Legende; - if( screen->m_NumberOfScreen > 1 ) - 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, diff --git a/common/worksheet.cpp b/common/worksheet.cpp index 9184e0ecb0..03a566afab 100644 --- a/common/worksheet.cpp +++ b/common/worksheet.cpp @@ -1158,8 +1158,7 @@ void WinEDA_DrawFrame::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, case WS_SHEETS: if( WsItem->m_Legende ) msg = WsItem->m_Legende; - if( screen->m_NumberOfScreen > 1 ) - msg << screen->m_NumberOfScreen; + msg << screen->m_NumberOfScreen; DrawGraphicText( DrawPanel, DC, pos, Color, msg, TEXT_ORIENT_HORIZ, size, GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_VJUSTIFY_CENTER, width, false, false, From 0dddb720024bea1d63796e2b749d7c47d426aecd Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Sun, 16 May 2010 16:05:04 +0200 Subject: [PATCH 6/7] Set minimum cmake version to 2.6.4. Added footprint name edition in the module editor dialog properties. --- CMakeLists.txt | 4 +- common/confirm.cpp | 4 +- demos/interf_u/interf_u.pro | 214 +- pcbnew/dialog_edit_module_for_Modedit.cpp | 8 +- .../dialog_edit_module_for_Modedit_base.cpp | 544 +- .../dialog_edit_module_for_Modedit_base.fbp | 4435 +++++++++-------- pcbnew/dialog_edit_module_for_Modedit_base.h | 217 +- pcbnew/librairi.cpp | 10 +- 8 files changed, 2756 insertions(+), 2680 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 470446e4f1..fe70fcc87d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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. diff --git a/common/confirm.cpp b/common/confirm.cpp index ba72842d8c..7d00da24e5 100644 --- a/common/confirm.cpp +++ b/common/confirm.cpp @@ -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 diff --git a/demos/interf_u/interf_u.pro b/demos/interf_u/interf_u.pro index 2c918b7edb..0135362439 100644 --- a/demos/interf_u/interf_u.pro +++ b/demos/interf_u/interf_u.pro @@ -1,125 +1,89 @@ -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 diff --git a/pcbnew/dialog_edit_module_for_Modedit.cpp b/pcbnew/dialog_edit_module_for_Modedit.cpp index 1a2638d3ac..8cd92ecb12 100644 --- a/pcbnew/dialog_edit_module_for_Modedit.cpp +++ b/pcbnew/dialog_edit_module_for_Modedit.cpp @@ -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); } + diff --git a/pcbnew/dialog_edit_module_for_Modedit_base.cpp b/pcbnew/dialog_edit_module_for_Modedit_base.cpp index 7c5cefee69..059f872fcf 100644 --- a/pcbnew/dialog_edit_module_for_Modedit_base.cpp +++ b/pcbnew/dialog_edit_module_for_Modedit_base.cpp @@ -1,265 +1,279 @@ -/////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Apr 16 2008) -// http://www.wxformbuilder.org/ -// -// PLEASE DO "NOT" EDIT THIS FILE! -/////////////////////////////////////////////////////////////////////////// - -#include "dialog_edit_module_for_Modedit_base.h" - -/////////////////////////////////////////////////////////////////////////// - -DIALOG_MODULE_MODULE_EDITOR_BASE::DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) -{ - this->SetSizeHints( wxDefaultSize, wxDefaultSize ); - - m_GeneralBoxSizer = new wxBoxSizer( wxVERTICAL ); - - m_NoteBook = new wxNotebook( this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize, 0 ); - m_PanelProperties = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL ); - wxBoxSizer* m_PanelPropertiesBoxSizer; - m_PanelPropertiesBoxSizer = new wxBoxSizer( wxHORIZONTAL ); - - wxStaticBoxSizer* PropLeftSizer; - PropLeftSizer = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Fields:") ), wxVERTICAL ); - - wxStaticBoxSizer* sbSizerDoc; - sbSizerDoc = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Doc") ), wxHORIZONTAL ); - - sbSizerDoc->SetMinSize( wxSize( 300,-1 ) ); - m_DocCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - sbSizerDoc->Add( m_DocCtrl, 1, 0, 5 ); - - PropLeftSizer->Add( sbSizerDoc, 0, wxEXPAND, 5 ); - - wxStaticBoxSizer* sbSizerKeysW; - sbSizerKeysW = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Keywords") ), wxHORIZONTAL ); - - m_KeywordCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - sbSizerKeysW->Add( m_KeywordCtrl, 1, 0, 5 ); - - PropLeftSizer->Add( sbSizerKeysW, 0, wxEXPAND, 5 ); - - - PropLeftSizer->Add( 0, 20, 0, 0, 5 ); - - wxStaticBoxSizer* sbSizerRef; - sbSizerRef = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Reference") ), wxHORIZONTAL ); - - m_ReferenceCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); - sbSizerRef->Add( m_ReferenceCtrl, 1, 0, 5 ); - - m_button4 = new wxButton( m_PanelProperties, wxID_ANY, _("Edit"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); - sbSizerRef->Add( m_button4, 0, 0, 5 ); - - PropLeftSizer->Add( sbSizerRef, 0, wxEXPAND, 5 ); - - wxStaticBoxSizer* sbSizerValue; - sbSizerValue = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Value") ), wxHORIZONTAL ); - - m_ValueCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); - sbSizerValue->Add( m_ValueCtrl, 1, 0, 5 ); - - m_button5 = new wxButton( m_PanelProperties, wxID_ANY, _("Edit"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); - sbSizerValue->Add( m_button5, 0, 0, 5 ); - - PropLeftSizer->Add( sbSizerValue, 0, wxEXPAND, 5 ); - - m_PanelPropertiesBoxSizer->Add( PropLeftSizer, 1, wxEXPAND, 5 ); - - m_PropRightSizer = new wxBoxSizer( wxVERTICAL ); - - wxString m_AttributsCtrlChoices[] = { _("Normal"), _("Normal+Insert"), _("Virtual") }; - int m_AttributsCtrlNChoices = sizeof( m_AttributsCtrlChoices ) / sizeof( wxString ); - m_AttributsCtrl = new wxRadioBox( m_PanelProperties, wxID_ANY, _("Attributs:"), wxDefaultPosition, wxDefaultSize, m_AttributsCtrlNChoices, m_AttributsCtrlChoices, 1, wxRA_SPECIFY_COLS ); - m_AttributsCtrl->SetSelection( 0 ); - m_PropRightSizer->Add( m_AttributsCtrl, 0, wxALL|wxEXPAND, 5 ); - - wxString m_AutoPlaceCtrlChoices[] = { _("Free"), _("Locked") }; - int m_AutoPlaceCtrlNChoices = sizeof( m_AutoPlaceCtrlChoices ) / sizeof( wxString ); - m_AutoPlaceCtrl = new wxRadioBox( m_PanelProperties, wxID_ANY, _("Move and Auto Place"), wxDefaultPosition, wxDefaultSize, m_AutoPlaceCtrlNChoices, m_AutoPlaceCtrlChoices, 1, wxRA_SPECIFY_COLS ); - m_AutoPlaceCtrl->SetSelection( 0 ); - m_PropRightSizer->Add( m_AutoPlaceCtrl, 0, wxALL|wxEXPAND, 5 ); - - wxStaticBoxSizer* sbSizerAutoplace; - sbSizerAutoplace = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Auto Move and Place") ), wxHORIZONTAL ); - - wxBoxSizer* bSizerRot90; - bSizerRot90 = new wxBoxSizer( wxVERTICAL ); - - m_staticText11 = new wxStaticText( m_PanelProperties, wxID_ANY, _("Rotation 90 degree"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText11->Wrap( -1 ); - bSizerRot90->Add( m_staticText11, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 ); - - m_CostRot90Ctrl = new wxSlider( m_PanelProperties, wxID_ANY, 0, 0, 10, wxDefaultPosition, wxSize( -1,-1 ), wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS ); - bSizerRot90->Add( m_CostRot90Ctrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - sbSizerAutoplace->Add( bSizerRot90, 1, 0, 5 ); - - wxBoxSizer* bSizerRot180; - bSizerRot180 = new wxBoxSizer( wxVERTICAL ); - - m_staticText12 = new wxStaticText( m_PanelProperties, wxID_ANY, _("Rotation 180 degree"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText12->Wrap( -1 ); - bSizerRot180->Add( m_staticText12, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 ); - - m_CostRot180Ctrl = new wxSlider( m_PanelProperties, wxID_ANY, 0, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS ); - bSizerRot180->Add( m_CostRot180Ctrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - sbSizerAutoplace->Add( bSizerRot180, 1, 0, 5 ); - - m_PropRightSizer->Add( sbSizerAutoplace, 1, wxEXPAND|wxALL, 5 ); - - wxStaticBoxSizer* sbSizer8; - sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Masks clearances local values:") ), wxVERTICAL ); - - m_staticTextInfo = new wxStaticText( m_PanelProperties, wxID_ANY, _("Set these values to 0 to use global values"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextInfo->Wrap( -1 ); - m_staticTextInfo->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) ); - - sbSizer8->Add( m_staticTextInfo, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 ); - - wxFlexGridSizer* fgSizer1; - fgSizer1 = new wxFlexGridSizer( 3, 3, 0, 0 ); - fgSizer1->SetFlexibleDirection( wxBOTH ); - fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - - m_staticTextNetClearance = new wxStaticText( m_PanelProperties, wxID_ANY, _("All pads nets clearance"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextNetClearance->Wrap( -1 ); - fgSizer1->Add( m_staticTextNetClearance, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); - - m_NetClearanceValueCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer1->Add( m_NetClearanceValueCtrl, 0, wxALL, 5 ); - - m_NetClearanceUnits = new wxStaticText( m_PanelProperties, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 ); - m_NetClearanceUnits->Wrap( -1 ); - fgSizer1->Add( m_NetClearanceUnits, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 ); - - m_staticline1 = new wxStaticLine( m_PanelProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - fgSizer1->Add( m_staticline1, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - m_staticline2 = new wxStaticLine( m_PanelProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - fgSizer1->Add( m_staticline2, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - m_staticline3 = new wxStaticLine( m_PanelProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - fgSizer1->Add( m_staticline3, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - m_MaskClearanceTitle = new wxStaticText( m_PanelProperties, wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_MaskClearanceTitle->Wrap( -1 ); - m_MaskClearanceTitle->SetToolTip( _("This is the local clearance between pads and the solder mask\nfor this footprint\nThis value can be superseded by a pad local value.\nIf 0, the global value is used") ); - - fgSizer1->Add( m_MaskClearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); - - m_SolderMaskMarginCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer1->Add( m_SolderMaskMarginCtrl, 0, wxALL, 5 ); - - m_SolderMaskMarginUnits = new wxStaticText( m_PanelProperties, wxID_ANY, _("inch"), wxDefaultPosition, wxDefaultSize, 0 ); - m_SolderMaskMarginUnits->Wrap( -1 ); - fgSizer1->Add( m_SolderMaskMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - - m_staticTextSolderPaste = new wxStaticText( m_PanelProperties, wxID_ANY, _("Solder paste clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextSolderPaste->Wrap( -1 ); - m_staticTextSolderPaste->SetToolTip( _("This is the local clearance between pads and the solder paste\nfor this footprint.\nThis value can be superseded by a pad local values.\nThe final clearance value is the sum of this value and the clearance value ratio\nA negative value means a smaller mask size than pad size") ); - - fgSizer1->Add( m_staticTextSolderPaste, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); - - m_SolderPasteMarginCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer1->Add( m_SolderPasteMarginCtrl, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); - - m_SolderPasteMarginUnits = new wxStaticText( m_PanelProperties, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 ); - m_SolderPasteMarginUnits->Wrap( -1 ); - fgSizer1->Add( m_SolderPasteMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - - m_staticTextRatio = new wxStaticText( m_PanelProperties, wxID_ANY, _("Solder mask ratio clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextRatio->Wrap( -1 ); - m_staticTextRatio->SetToolTip( _("This is the local clearance ratio in per cent between pads and the solder paste\nfor this footprint.\nA value of 10 means the clearance value is 10 per cent of the pad size\nThis value can be superseded by a pad local value.\nThe final clearance value is the sum of this value and the clearance value\nA negative value means a smaller mask size than pad size.") ); - - fgSizer1->Add( m_staticTextRatio, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); - - m_SolderPasteMarginRatioCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer1->Add( m_SolderPasteMarginRatioCtrl, 0, wxALL, 5 ); - - m_SolderPasteRatioMarginUnits = new wxStaticText( m_PanelProperties, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 ); - m_SolderPasteRatioMarginUnits->Wrap( -1 ); - fgSizer1->Add( m_SolderPasteRatioMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - - sbSizer8->Add( fgSizer1, 1, wxEXPAND, 5 ); - - m_PropRightSizer->Add( sbSizer8, 0, wxEXPAND|wxALL, 5 ); - - m_PanelPropertiesBoxSizer->Add( m_PropRightSizer, 0, 0, 5 ); - - m_PanelProperties->SetSizer( m_PanelPropertiesBoxSizer ); - m_PanelProperties->Layout(); - m_PanelPropertiesBoxSizer->Fit( m_PanelProperties ); - m_NoteBook->AddPage( m_PanelProperties, _("Properties"), true ); - m_Panel3D = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL ); - wxBoxSizer* bSizerMain3D; - bSizerMain3D = new wxBoxSizer( wxVERTICAL ); - - m_staticText3Dname = new wxStaticText( m_Panel3D, wxID_ANY, _("3D Shape Name"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText3Dname->Wrap( -1 ); - bSizerMain3D->Add( m_staticText3Dname, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); - - m_3D_ShapeNameListBox = new wxListBox( m_Panel3D, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE ); - bSizerMain3D->Add( m_3D_ShapeNameListBox, 0, wxALL|wxEXPAND, 5 ); - - wxBoxSizer* bLowerSizer3D; - bLowerSizer3D = new wxBoxSizer( wxHORIZONTAL ); - - m_Sizer3DValues = new wxStaticBoxSizer( new wxStaticBox( m_Panel3D, wxID_ANY, _("3D Scale and Pos") ), wxVERTICAL ); - - bLowerSizer3D->Add( m_Sizer3DValues, 1, wxEXPAND, 5 ); - - wxBoxSizer* bSizer3DButtons; - bSizer3DButtons = new wxBoxSizer( wxVERTICAL ); - - m_buttonBrowse = new wxButton( m_Panel3D, ID_BROWSE_3D_LIB, _("Add 3D Shape"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer3DButtons->Add( m_buttonBrowse, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 ); - - m_buttonRemove = new wxButton( m_Panel3D, ID_REMOVE_3D_SHAPE, _("Remove 3D Shape"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer3DButtons->Add( m_buttonRemove, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 ); - - bLowerSizer3D->Add( bSizer3DButtons, 0, wxALIGN_CENTER_VERTICAL, 5 ); - - bSizerMain3D->Add( bLowerSizer3D, 1, wxEXPAND, 5 ); - - m_Panel3D->SetSizer( bSizerMain3D ); - m_Panel3D->Layout(); - bSizerMain3D->Fit( m_Panel3D ); - m_NoteBook->AddPage( m_Panel3D, _("3D settings"), false ); - - m_GeneralBoxSizer->Add( m_NoteBook, 1, wxEXPAND | wxALL, 5 ); - - m_sdbSizerStdButtons = new wxStdDialogButtonSizer(); - m_sdbSizerStdButtonsOK = new wxButton( this, wxID_OK ); - m_sdbSizerStdButtons->AddButton( m_sdbSizerStdButtonsOK ); - m_sdbSizerStdButtonsCancel = new wxButton( this, wxID_CANCEL ); - m_sdbSizerStdButtons->AddButton( m_sdbSizerStdButtonsCancel ); - m_sdbSizerStdButtons->Realize(); - m_GeneralBoxSizer->Add( m_sdbSizerStdButtons, 0, wxEXPAND|wxALIGN_RIGHT|wxALL, 5 ); - - this->SetSizer( m_GeneralBoxSizer ); - this->Layout(); - - // Connect Events - m_button4->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditReference ), NULL, this ); - m_button5->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditValue ), NULL, this ); - m_3D_ShapeNameListBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::On3DShapeNameSelected ), NULL, this ); - m_buttonBrowse->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::BrowseAndAdd3DLib ), NULL, this ); - m_buttonRemove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Remove3DShape ), NULL, this ); - m_sdbSizerStdButtonsCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnCancelClick ), NULL, this ); - m_sdbSizerStdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnOkClick ), NULL, this ); -} - -DIALOG_MODULE_MODULE_EDITOR_BASE::~DIALOG_MODULE_MODULE_EDITOR_BASE() -{ - // Disconnect Events - m_button4->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditReference ), NULL, this ); - m_button5->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditValue ), NULL, this ); - m_3D_ShapeNameListBox->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::On3DShapeNameSelected ), NULL, this ); - m_buttonBrowse->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::BrowseAndAdd3DLib ), NULL, this ); - m_buttonRemove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Remove3DShape ), NULL, this ); - m_sdbSizerStdButtonsCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnCancelClick ), NULL, this ); - m_sdbSizerStdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnOkClick ), NULL, this ); -} +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Apr 16 2008) +// http://www.wxformbuilder.org/ +// +// PLEASE DO "NOT" EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#include "dialog_edit_module_for_Modedit_base.h" + +/////////////////////////////////////////////////////////////////////////// + +DIALOG_MODULE_MODULE_EDITOR_BASE::DIALOG_MODULE_MODULE_EDITOR_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style ) +{ + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + + m_GeneralBoxSizer = new wxBoxSizer( wxVERTICAL ); + + m_NoteBook = new wxNotebook( this, ID_NOTEBOOK, wxDefaultPosition, wxDefaultSize, 0 ); + m_PanelProperties = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL ); + wxBoxSizer* m_PanelPropertiesBoxSizer; + m_PanelPropertiesBoxSizer = new wxBoxSizer( wxHORIZONTAL ); + + wxStaticBoxSizer* PropLeftSizer; + PropLeftSizer = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Fields:") ), wxVERTICAL ); + + wxStaticBoxSizer* sbSizerDoc; + sbSizerDoc = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Doc") ), wxHORIZONTAL ); + + sbSizerDoc->SetMinSize( wxSize( 300,-1 ) ); + m_DocCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + sbSizerDoc->Add( m_DocCtrl, 1, 0, 5 ); + + PropLeftSizer->Add( sbSizerDoc, 0, wxEXPAND, 5 ); + + wxStaticBoxSizer* sbSizerKeysW; + sbSizerKeysW = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Keywords") ), wxHORIZONTAL ); + + m_KeywordCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + sbSizerKeysW->Add( m_KeywordCtrl, 1, 0, 5 ); + + PropLeftSizer->Add( sbSizerKeysW, 0, wxEXPAND, 5 ); + + + PropLeftSizer->Add( 0, 20, 0, 0, 5 ); + + wxStaticBoxSizer* sbSizerRef; + sbSizerRef = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Reference") ), wxHORIZONTAL ); + + m_ReferenceCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); + sbSizerRef->Add( m_ReferenceCtrl, 1, 0, 5 ); + + m_button4 = new wxButton( m_PanelProperties, wxID_ANY, _("Edit"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + sbSizerRef->Add( m_button4, 0, 0, 5 ); + + PropLeftSizer->Add( sbSizerRef, 0, wxEXPAND, 5 ); + + wxStaticBoxSizer* sbSizerValue; + sbSizerValue = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Value") ), wxHORIZONTAL ); + + m_ValueCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY ); + sbSizerValue->Add( m_ValueCtrl, 1, 0, 5 ); + + m_button5 = new wxButton( m_PanelProperties, wxID_ANY, _("Edit"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT ); + sbSizerValue->Add( m_button5, 0, 0, 5 ); + + PropLeftSizer->Add( sbSizerValue, 0, wxEXPAND, 5 ); + + + PropLeftSizer->Add( 0, 20, 0, 0, 5 ); + + wxStaticBoxSizer* sbSizerFootprintName; + sbSizerFootprintName = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Footprint Name in Lib") ), wxHORIZONTAL ); + + m_FootprintNameCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + sbSizerFootprintName->Add( m_FootprintNameCtrl, 1, 0, 5 ); + + + sbSizerFootprintName->Add( 0, 0, 0, 0, 5 ); + + PropLeftSizer->Add( sbSizerFootprintName, 0, wxEXPAND, 5 ); + + m_PanelPropertiesBoxSizer->Add( PropLeftSizer, 1, wxEXPAND, 5 ); + + m_PropRightSizer = new wxBoxSizer( wxVERTICAL ); + + wxString m_AttributsCtrlChoices[] = { _("Normal"), _("Normal+Insert"), _("Virtual") }; + int m_AttributsCtrlNChoices = sizeof( m_AttributsCtrlChoices ) / sizeof( wxString ); + m_AttributsCtrl = new wxRadioBox( m_PanelProperties, wxID_ANY, _("Attributs:"), wxDefaultPosition, wxDefaultSize, m_AttributsCtrlNChoices, m_AttributsCtrlChoices, 1, wxRA_SPECIFY_COLS ); + m_AttributsCtrl->SetSelection( 0 ); + m_PropRightSizer->Add( m_AttributsCtrl, 0, wxALL|wxEXPAND, 5 ); + + wxString m_AutoPlaceCtrlChoices[] = { _("Free"), _("Locked") }; + int m_AutoPlaceCtrlNChoices = sizeof( m_AutoPlaceCtrlChoices ) / sizeof( wxString ); + m_AutoPlaceCtrl = new wxRadioBox( m_PanelProperties, wxID_ANY, _("Move and Auto Place"), wxDefaultPosition, wxDefaultSize, m_AutoPlaceCtrlNChoices, m_AutoPlaceCtrlChoices, 1, wxRA_SPECIFY_COLS ); + m_AutoPlaceCtrl->SetSelection( 0 ); + m_PropRightSizer->Add( m_AutoPlaceCtrl, 0, wxALL|wxEXPAND, 5 ); + + wxStaticBoxSizer* sbSizerAutoplace; + sbSizerAutoplace = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Auto Move and Place") ), wxHORIZONTAL ); + + wxBoxSizer* bSizerRot90; + bSizerRot90 = new wxBoxSizer( wxVERTICAL ); + + m_staticText11 = new wxStaticText( m_PanelProperties, wxID_ANY, _("Rotation 90 degree"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText11->Wrap( -1 ); + bSizerRot90->Add( m_staticText11, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 ); + + m_CostRot90Ctrl = new wxSlider( m_PanelProperties, wxID_ANY, 0, 0, 10, wxDefaultPosition, wxSize( -1,-1 ), wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS ); + bSizerRot90->Add( m_CostRot90Ctrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + + sbSizerAutoplace->Add( bSizerRot90, 1, 0, 5 ); + + wxBoxSizer* bSizerRot180; + bSizerRot180 = new wxBoxSizer( wxVERTICAL ); + + m_staticText12 = new wxStaticText( m_PanelProperties, wxID_ANY, _("Rotation 180 degree"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText12->Wrap( -1 ); + bSizerRot180->Add( m_staticText12, 0, wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 ); + + m_CostRot180Ctrl = new wxSlider( m_PanelProperties, wxID_ANY, 0, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS ); + bSizerRot180->Add( m_CostRot180Ctrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + + sbSizerAutoplace->Add( bSizerRot180, 1, 0, 5 ); + + m_PropRightSizer->Add( sbSizerAutoplace, 1, wxEXPAND|wxALL, 5 ); + + wxStaticBoxSizer* sbSizer8; + sbSizer8 = new wxStaticBoxSizer( new wxStaticBox( m_PanelProperties, wxID_ANY, _("Masks clearances local values:") ), wxVERTICAL ); + + m_staticTextInfo = new wxStaticText( m_PanelProperties, wxID_ANY, _("Set these values to 0 to use global values"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextInfo->Wrap( -1 ); + m_staticTextInfo->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) ); + + sbSizer8->Add( m_staticTextInfo, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 ); + + wxFlexGridSizer* fgSizer1; + fgSizer1 = new wxFlexGridSizer( 3, 3, 0, 0 ); + fgSizer1->SetFlexibleDirection( wxBOTH ); + fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + + m_staticTextNetClearance = new wxStaticText( m_PanelProperties, wxID_ANY, _("All pads nets clearance"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextNetClearance->Wrap( -1 ); + fgSizer1->Add( m_staticTextNetClearance, 0, wxLEFT|wxALIGN_CENTER_VERTICAL, 5 ); + + m_NetClearanceValueCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizer1->Add( m_NetClearanceValueCtrl, 0, wxALL, 5 ); + + m_NetClearanceUnits = new wxStaticText( m_PanelProperties, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 ); + m_NetClearanceUnits->Wrap( -1 ); + fgSizer1->Add( m_NetClearanceUnits, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 ); + + m_staticline1 = new wxStaticLine( m_PanelProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + fgSizer1->Add( m_staticline1, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + + m_staticline2 = new wxStaticLine( m_PanelProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + fgSizer1->Add( m_staticline2, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + + m_staticline3 = new wxStaticLine( m_PanelProperties, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + fgSizer1->Add( m_staticline3, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + + m_MaskClearanceTitle = new wxStaticText( m_PanelProperties, wxID_ANY, _("Solder mask clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_MaskClearanceTitle->Wrap( -1 ); + m_MaskClearanceTitle->SetToolTip( _("This is the local clearance between pads and the solder mask\nfor this footprint\nThis value can be superseded by a pad local value.\nIf 0, the global value is used") ); + + fgSizer1->Add( m_MaskClearanceTitle, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_SolderMaskMarginCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizer1->Add( m_SolderMaskMarginCtrl, 0, wxALL, 5 ); + + m_SolderMaskMarginUnits = new wxStaticText( m_PanelProperties, wxID_ANY, _("inch"), wxDefaultPosition, wxDefaultSize, 0 ); + m_SolderMaskMarginUnits->Wrap( -1 ); + fgSizer1->Add( m_SolderMaskMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + m_staticTextSolderPaste = new wxStaticText( m_PanelProperties, wxID_ANY, _("Solder paste clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextSolderPaste->Wrap( -1 ); + m_staticTextSolderPaste->SetToolTip( _("This is the local clearance between pads and the solder paste\nfor this footprint.\nThis value can be superseded by a pad local values.\nThe final clearance value is the sum of this value and the clearance value ratio\nA negative value means a smaller mask size than pad size") ); + + fgSizer1->Add( m_staticTextSolderPaste, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_SolderPasteMarginCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizer1->Add( m_SolderPasteMarginCtrl, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); + + m_SolderPasteMarginUnits = new wxStaticText( m_PanelProperties, wxID_ANY, _("Inch"), wxDefaultPosition, wxDefaultSize, 0 ); + m_SolderPasteMarginUnits->Wrap( -1 ); + fgSizer1->Add( m_SolderPasteMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + m_staticTextRatio = new wxStaticText( m_PanelProperties, wxID_ANY, _("Solder mask ratio clearance:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextRatio->Wrap( -1 ); + m_staticTextRatio->SetToolTip( _("This is the local clearance ratio in per cent between pads and the solder paste\nfor this footprint.\nA value of 10 means the clearance value is 10 per cent of the pad size\nThis value can be superseded by a pad local value.\nThe final clearance value is the sum of this value and the clearance value\nA negative value means a smaller mask size than pad size.") ); + + fgSizer1->Add( m_staticTextRatio, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + + m_SolderPasteMarginRatioCtrl = new wxTextCtrl( m_PanelProperties, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizer1->Add( m_SolderPasteMarginRatioCtrl, 0, wxALL, 5 ); + + m_SolderPasteRatioMarginUnits = new wxStaticText( m_PanelProperties, wxID_ANY, _("%"), wxDefaultPosition, wxDefaultSize, 0 ); + m_SolderPasteRatioMarginUnits->Wrap( -1 ); + fgSizer1->Add( m_SolderPasteRatioMarginUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + sbSizer8->Add( fgSizer1, 1, wxEXPAND, 5 ); + + m_PropRightSizer->Add( sbSizer8, 0, wxEXPAND|wxALL, 5 ); + + m_PanelPropertiesBoxSizer->Add( m_PropRightSizer, 0, 0, 5 ); + + m_PanelProperties->SetSizer( m_PanelPropertiesBoxSizer ); + m_PanelProperties->Layout(); + m_PanelPropertiesBoxSizer->Fit( m_PanelProperties ); + m_NoteBook->AddPage( m_PanelProperties, _("Properties"), true ); + m_Panel3D = new wxPanel( m_NoteBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL ); + wxBoxSizer* bSizerMain3D; + bSizerMain3D = new wxBoxSizer( wxVERTICAL ); + + m_staticText3Dname = new wxStaticText( m_Panel3D, wxID_ANY, _("3D Shape Name"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText3Dname->Wrap( -1 ); + bSizerMain3D->Add( m_staticText3Dname, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); + + m_3D_ShapeNameListBox = new wxListBox( m_Panel3D, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_SINGLE ); + bSizerMain3D->Add( m_3D_ShapeNameListBox, 0, wxALL|wxEXPAND, 5 ); + + wxBoxSizer* bLowerSizer3D; + bLowerSizer3D = new wxBoxSizer( wxHORIZONTAL ); + + m_Sizer3DValues = new wxStaticBoxSizer( new wxStaticBox( m_Panel3D, wxID_ANY, _("3D Scale and Pos") ), wxVERTICAL ); + + bLowerSizer3D->Add( m_Sizer3DValues, 1, wxEXPAND, 5 ); + + wxBoxSizer* bSizer3DButtons; + bSizer3DButtons = new wxBoxSizer( wxVERTICAL ); + + m_buttonBrowse = new wxButton( m_Panel3D, ID_BROWSE_3D_LIB, _("Add 3D Shape"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizer3DButtons->Add( m_buttonBrowse, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 ); + + m_buttonRemove = new wxButton( m_Panel3D, ID_REMOVE_3D_SHAPE, _("Remove 3D Shape"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizer3DButtons->Add( m_buttonRemove, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 ); + + bLowerSizer3D->Add( bSizer3DButtons, 0, wxALIGN_CENTER_VERTICAL, 5 ); + + bSizerMain3D->Add( bLowerSizer3D, 1, wxEXPAND, 5 ); + + m_Panel3D->SetSizer( bSizerMain3D ); + m_Panel3D->Layout(); + bSizerMain3D->Fit( m_Panel3D ); + m_NoteBook->AddPage( m_Panel3D, _("3D settings"), false ); + + m_GeneralBoxSizer->Add( m_NoteBook, 1, wxEXPAND | wxALL, 5 ); + + m_sdbSizerStdButtons = new wxStdDialogButtonSizer(); + m_sdbSizerStdButtonsOK = new wxButton( this, wxID_OK ); + m_sdbSizerStdButtons->AddButton( m_sdbSizerStdButtonsOK ); + m_sdbSizerStdButtonsCancel = new wxButton( this, wxID_CANCEL ); + m_sdbSizerStdButtons->AddButton( m_sdbSizerStdButtonsCancel ); + m_sdbSizerStdButtons->Realize(); + m_GeneralBoxSizer->Add( m_sdbSizerStdButtons, 0, wxEXPAND|wxALIGN_RIGHT|wxALL, 5 ); + + this->SetSizer( m_GeneralBoxSizer ); + this->Layout(); + + // Connect Events + m_button4->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditReference ), NULL, this ); + m_button5->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditValue ), NULL, this ); + m_3D_ShapeNameListBox->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::On3DShapeNameSelected ), NULL, this ); + m_buttonBrowse->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::BrowseAndAdd3DLib ), NULL, this ); + m_buttonRemove->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Remove3DShape ), NULL, this ); + m_sdbSizerStdButtonsCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnCancelClick ), NULL, this ); + m_sdbSizerStdButtonsOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnOkClick ), NULL, this ); +} + +DIALOG_MODULE_MODULE_EDITOR_BASE::~DIALOG_MODULE_MODULE_EDITOR_BASE() +{ + // Disconnect Events + m_button4->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditReference ), NULL, this ); + m_button5->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnEditValue ), NULL, this ); + m_3D_ShapeNameListBox->Disconnect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::On3DShapeNameSelected ), NULL, this ); + m_buttonBrowse->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::BrowseAndAdd3DLib ), NULL, this ); + m_buttonRemove->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::Remove3DShape ), NULL, this ); + m_sdbSizerStdButtonsCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnCancelClick ), NULL, this ); + m_sdbSizerStdButtonsOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_MODULE_MODULE_EDITOR_BASE::OnOkClick ), NULL, this ); +} diff --git a/pcbnew/dialog_edit_module_for_Modedit_base.fbp b/pcbnew/dialog_edit_module_for_Modedit_base.fbp index d5f71c67b4..a900f32aa1 100644 --- a/pcbnew/dialog_edit_module_for_Modedit_base.fbp +++ b/pcbnew/dialog_edit_module_for_Modedit_base.fbp @@ -1,2173 +1,2262 @@ - - - - - - C++ - 1 - UTF-8 - connect - dialog_edit_module_for_Modedit_base - 1000 - none - 1 - dialog_edit_module_for_Modedit_base - - . - - 1 - 0 - 0 - - - - - 1 - - - - 0 - wxID_ANY - - - DIALOG_MODULE_MODULE_EDITOR_BASE - - 541,540 - wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER - - Module properties - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - m_GeneralBoxSizer - wxVERTICAL - private - - 5 - wxEXPAND | wxALL - 1 - - - - - 1 - - - 0 - ID_NOTEBOOK - - - m_NoteBook - protected - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Properties - 1 - - - - 1 - - - 0 - wxID_ANY - - - m_PanelProperties - protected - - - - - - - wxSUNKEN_BORDER|wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - - - - m_PanelPropertiesBoxSizer - wxHORIZONTAL - none - - 5 - wxEXPAND - 1 - - wxID_ANY - Fields: - - PropLeftSizer - wxVERTICAL - none - - - 5 - wxEXPAND - 0 - - wxID_ANY - Doc - 300,-1 - sbSizerDoc - wxHORIZONTAL - none - - - 5 - - 1 - - - - 1 - - - 0 - wxID_ANY - - 0 - - m_DocCtrl - protected - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND - 0 - - wxID_ANY - Keywords - - sbSizerKeysW - wxHORIZONTAL - none - - - 5 - - 1 - - - - 1 - - - 0 - wxID_ANY - - 0 - - m_KeywordCtrl - protected - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - 0 - - 20 - protected - 0 - - - - 5 - wxEXPAND - 0 - - wxID_ANY - Reference - - sbSizerRef - wxHORIZONTAL - none - - - 5 - - 1 - - - - 1 - - - 0 - wxID_ANY - - 0 - - m_ReferenceCtrl - protected - - - wxTE_READONLY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - 0 - - - - 0 - 1 - - - 0 - wxID_ANY - Edit - - - m_button4 - protected - - - wxBU_EXACTFIT - - - - - - OnEditReference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND - 0 - - wxID_ANY - Value - - sbSizerValue - wxHORIZONTAL - none - - - 5 - - 1 - - - - 1 - - - 0 - wxID_ANY - - 0 - - m_ValueCtrl - protected - - - wxTE_READONLY - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - 0 - - - - 0 - 1 - - - 0 - wxID_ANY - Edit - - - m_button5 - protected - - - wxBU_EXACTFIT - - - - - - OnEditValue - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - 0 - - - m_PropRightSizer - wxVERTICAL - private - - 5 - wxALL|wxEXPAND - 0 - - - "Normal" "Normal+Insert" "Virtual" - - 1 - - - 0 - wxID_ANY - Attributs: - 1 - - - m_AttributsCtrl - protected - - 0 - - wxRA_SPECIFY_COLS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 0 - - - "Free" "Locked" - - 1 - - - 0 - wxID_ANY - Move and Auto Place - 1 - - - m_AutoPlaceCtrl - protected - - 0 - - wxRA_SPECIFY_COLS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxALL - 1 - - wxID_ANY - Auto Move and Place - - sbSizerAutoplace - wxHORIZONTAL - none - - - 5 - - 1 - - - bSizerRot90 - wxVERTICAL - none - - 5 - wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL - 0 - - - - 1 - - - 0 - wxID_ANY - Rotation 90 degree - - - m_staticText11 - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - 10 - - 0 - -1,-1 - m_CostRot90Ctrl - protected - - -1,-1 - wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - 1 - - - bSizerRot180 - wxVERTICAL - none - - 5 - wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL - 0 - - - - 1 - - - 0 - wxID_ANY - Rotation 180 degree - - - m_staticText12 - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - 10 - - 0 - -1,-1 - m_CostRot180Ctrl - protected - - - wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxALL - 0 - - wxID_ANY - Masks clearances local values: - - sbSizer8 - wxVERTICAL - none - - - 5 - wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL - 0 - - - - 1 - - ,90,92,-1,70,0 - 0 - wxID_ANY - Set these values to 0 to use global values - - - m_staticTextInfo - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND - 1 - - 3 - wxBOTH - - - 0 - - fgSizer1 - wxFLEX_GROWMODE_SPECIFIED - none - 3 - 0 - - 5 - wxLEFT|wxALIGN_CENTER_VERTICAL - 0 - - - - 1 - - - 0 - wxID_ANY - All pads nets clearance - - - m_staticTextNetClearance - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - - - 1 - - - 0 - wxID_ANY - - 0 - - m_NetClearanceValueCtrl - protected - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxRIGHT|wxALIGN_CENTER_VERTICAL - 0 - - - - 1 - - - 0 - wxID_ANY - Inch - - - m_NetClearanceUnits - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - - - m_staticline1 - protected - - - wxLI_HORIZONTAL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - - - m_staticline2 - protected - - - wxLI_HORIZONTAL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxRIGHT|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - - - m_staticline3 - protected - - - wxLI_HORIZONTAL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - Solder mask clearance: - - - m_MaskClearanceTitle - protected - - - - - This is the local clearance between pads and the solder mask for this footprint This value can be superseded by a pad local value. If 0, the global value is used - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - - - 1 - - - 0 - wxID_ANY - - 0 - - m_SolderMaskMarginCtrl - protected - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - - - 1 - - - 0 - wxID_ANY - inch - - - m_SolderMaskMarginUnits - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - Solder paste clearance: - - - m_staticTextSolderPaste - protected - - - - - This is the local clearance between pads and the solder paste for this footprint. This value can be superseded by a pad local values. The final clearance value is the sum of this value and the clearance value ratio A negative value means a smaller mask size than pad size - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxTOP|wxRIGHT|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - - 0 - - m_SolderPasteMarginCtrl - protected - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - - - 1 - - - 0 - wxID_ANY - Inch - - - m_SolderPasteMarginUnits - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - Solder mask ratio clearance: - - - m_staticTextRatio - protected - - - - - This is the local clearance ratio in per cent between pads and the solder paste for this footprint. A value of 10 means the clearance value is 10 per cent of the pad size This value can be superseded by a pad local value. The final clearance value is the sum of this value and the clearance value A negative value means a smaller mask size than pad size. - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL - 0 - - - - 1 - - - 0 - wxID_ANY - - 0 - - m_SolderPasteMarginRatioCtrl - protected - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - - - 1 - - - 0 - wxID_ANY - % - - - m_SolderPasteRatioMarginUnits - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 3D settings - 0 - - - - 1 - - - 0 - wxID_ANY - - - m_Panel3D - protected - - - - - - - wxSUNKEN_BORDER|wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - - - - bSizerMain3D - wxVERTICAL - none - - 5 - wxTOP|wxRIGHT|wxLEFT - 0 - - - - 1 - - - 0 - wxID_ANY - 3D Shape Name - - - m_staticText3Dname - protected - - - - - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxEXPAND - 0 - - - - - 1 - - - 0 - wxID_ANY - - - m_3D_ShapeNameListBox - protected - - - wxLB_SINGLE - - - - - - - - - - - - - - - - On3DShapeNameSelected - - - - - - - - - - - - - - - - - - 5 - wxEXPAND - 1 - - - bLowerSizer3D - wxHORIZONTAL - none - - 5 - wxEXPAND - 1 - - wxID_ANY - 3D Scale and Pos - - m_Sizer3DValues - wxVERTICAL - public - - - - - 5 - wxALIGN_CENTER_VERTICAL - 0 - - - bSizer3DButtons - wxVERTICAL - none - - 5 - wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND - 0 - - - - 0 - 1 - - - 0 - ID_BROWSE_3D_LIB - Add 3D Shape - - - m_buttonBrowse - protected - - - - - - - - - BrowseAndAdd3DLib - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND - 0 - - - - 0 - 1 - - - 0 - ID_REMOVE_3D_SHAPE - Remove 3D Shape - - - m_buttonRemove - protected - - - - - - - - - Remove3DShape - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxALIGN_RIGHT|wxALL - 0 - - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - - m_sdbSizerStdButtons - protected - - OnCancelClick - - - - OnOkClick - - - - - - - - + + + + + + C++ + 1 + UTF-8 + connect + dialog_edit_module_for_Modedit_base + 1000 + none + 1 + dialog_edit_module_for_Modedit_base + + . + + 1 + 0 + 0 + + + + + 1 + + + + 0 + wxID_ANY + + + DIALOG_MODULE_MODULE_EDITOR_BASE + + 541,540 + wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER + + Module properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + m_GeneralBoxSizer + wxVERTICAL + private + + 5 + wxEXPAND | wxALL + 1 + + + + + 1 + + + 0 + ID_NOTEBOOK + + + m_NoteBook + protected + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Properties + 1 + + + + 1 + + + 0 + wxID_ANY + + + m_PanelProperties + protected + + + + + + + wxSUNKEN_BORDER|wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + m_PanelPropertiesBoxSizer + wxHORIZONTAL + none + + 5 + wxEXPAND + 1 + + wxID_ANY + Fields: + + PropLeftSizer + wxVERTICAL + none + + + 5 + wxEXPAND + 0 + + wxID_ANY + Doc + 300,-1 + sbSizerDoc + wxHORIZONTAL + none + + + 5 + + 1 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_DocCtrl + protected + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 0 + + wxID_ANY + Keywords + + sbSizerKeysW + wxHORIZONTAL + none + + + 5 + + 1 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_KeywordCtrl + protected + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + 0 + + 20 + protected + 0 + + + + 5 + wxEXPAND + 0 + + wxID_ANY + Reference + + sbSizerRef + wxHORIZONTAL + none + + + 5 + + 1 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_ReferenceCtrl + protected + + + wxTE_READONLY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + 0 + + + + 0 + 1 + + + 0 + wxID_ANY + Edit + + + m_button4 + protected + + + wxBU_EXACTFIT + + + + + + OnEditReference + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 0 + + wxID_ANY + Value + + sbSizerValue + wxHORIZONTAL + none + + + 5 + + 1 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_ValueCtrl + protected + + + wxTE_READONLY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + 0 + + + + 0 + 1 + + + 0 + wxID_ANY + Edit + + + m_button5 + protected + + + wxBU_EXACTFIT + + + + + + OnEditValue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + 0 + + 20 + protected + 0 + + + + 5 + wxEXPAND + 0 + + wxID_ANY + Footprint Name in Lib + + sbSizerFootprintName + wxHORIZONTAL + none + + + 5 + + 1 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_FootprintNameCtrl + protected + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + 0 + + 0 + protected + 0 + + + + + + + + 5 + + 0 + + + m_PropRightSizer + wxVERTICAL + private + + 5 + wxALL|wxEXPAND + 0 + + + "Normal" "Normal+Insert" "Virtual" + + 1 + + + 0 + wxID_ANY + Attributs: + 1 + + + m_AttributsCtrl + protected + + 0 + + wxRA_SPECIFY_COLS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL|wxEXPAND + 0 + + + "Free" "Locked" + + 1 + + + 0 + wxID_ANY + Move and Auto Place + 1 + + + m_AutoPlaceCtrl + protected + + 0 + + wxRA_SPECIFY_COLS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxALL + 1 + + wxID_ANY + Auto Move and Place + + sbSizerAutoplace + wxHORIZONTAL + none + + + 5 + + 1 + + + bSizerRot90 + wxVERTICAL + none + + 5 + wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL + 0 + + + + 1 + + + 0 + wxID_ANY + Rotation 90 degree + + + m_staticText11 + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + 10 + + 0 + -1,-1 + m_CostRot90Ctrl + protected + + -1,-1 + wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + 1 + + + bSizerRot180 + wxVERTICAL + none + + 5 + wxTOP|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL + 0 + + + + 1 + + + 0 + wxID_ANY + Rotation 180 degree + + + m_staticText12 + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + 10 + + 0 + -1,-1 + m_CostRot180Ctrl + protected + + + wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxALL + 0 + + wxID_ANY + Masks clearances local values: + + sbSizer8 + wxVERTICAL + none + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL + 0 + + + + 1 + + ,90,92,-1,70,0 + 0 + wxID_ANY + Set these values to 0 to use global values + + + m_staticTextInfo + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + 3 + wxBOTH + + + 0 + + fgSizer1 + wxFLEX_GROWMODE_SPECIFIED + none + 3 + 0 + + 5 + wxLEFT|wxALIGN_CENTER_VERTICAL + 0 + + + + 1 + + + 0 + wxID_ANY + All pads nets clearance + + + m_staticTextNetClearance + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_NetClearanceValueCtrl + protected + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxRIGHT|wxALIGN_CENTER_VERTICAL + 0 + + + + 1 + + + 0 + wxID_ANY + Inch + + + m_NetClearanceUnits + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + + + m_staticline1 + protected + + + wxLI_HORIZONTAL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + + + m_staticline2 + protected + + + wxLI_HORIZONTAL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + + + m_staticline3 + protected + + + wxLI_HORIZONTAL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + Solder mask clearance: + + + m_MaskClearanceTitle + protected + + + + + This is the local clearance between pads and the solder mask for this footprint This value can be superseded by a pad local value. If 0, the global value is used + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_SolderMaskMarginCtrl + protected + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + + + 1 + + + 0 + wxID_ANY + inch + + + m_SolderMaskMarginUnits + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + Solder paste clearance: + + + m_staticTextSolderPaste + protected + + + + + This is the local clearance between pads and the solder paste for this footprint. This value can be superseded by a pad local values. The final clearance value is the sum of this value and the clearance value ratio A negative value means a smaller mask size than pad size + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxTOP|wxRIGHT|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_SolderPasteMarginCtrl + protected + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + + + 1 + + + 0 + wxID_ANY + Inch + + + m_SolderPasteMarginUnits + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + Solder mask ratio clearance: + + + m_staticTextRatio + protected + + + + + This is the local clearance ratio in per cent between pads and the solder paste for this footprint. A value of 10 means the clearance value is 10 per cent of the pad size This value can be superseded by a pad local value. The final clearance value is the sum of this value and the clearance value A negative value means a smaller mask size than pad size. + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL + 0 + + + + 1 + + + 0 + wxID_ANY + + 0 + + m_SolderPasteMarginRatioCtrl + protected + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + + + 1 + + + 0 + wxID_ANY + % + + + m_SolderPasteRatioMarginUnits + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3D settings + 0 + + + + 1 + + + 0 + wxID_ANY + + + m_Panel3D + protected + + + + + + + wxSUNKEN_BORDER|wxTAB_TRAVERSAL + + + + + + + + + + + + + + + + + + + + + + + + + + bSizerMain3D + wxVERTICAL + none + + 5 + wxTOP|wxRIGHT|wxLEFT + 0 + + + + 1 + + + 0 + wxID_ANY + 3D Shape Name + + + m_staticText3Dname + protected + + + + + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL|wxEXPAND + 0 + + + + + 1 + + + 0 + wxID_ANY + + + m_3D_ShapeNameListBox + protected + + + wxLB_SINGLE + + + + + + + + + + + + + + + + On3DShapeNameSelected + + + + + + + + + + + + + + + + + + 5 + wxEXPAND + 1 + + + bLowerSizer3D + wxHORIZONTAL + none + + 5 + wxEXPAND + 1 + + wxID_ANY + 3D Scale and Pos + + m_Sizer3DValues + wxVERTICAL + public + + + + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + + bSizer3DButtons + wxVERTICAL + none + + 5 + wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND + 0 + + + + 0 + 1 + + + 0 + ID_BROWSE_3D_LIB + Add 3D Shape + + + m_buttonBrowse + protected + + + + + + + + + BrowseAndAdd3DLib + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND + 0 + + + + 0 + 1 + + + 0 + ID_REMOVE_3D_SHAPE + Remove 3D Shape + + + m_buttonRemove + protected + + + + + + + + + Remove3DShape + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxALIGN_RIGHT|wxALL + 0 + + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + + m_sdbSizerStdButtons + protected + + OnCancelClick + + + + OnOkClick + + + + + + + + diff --git a/pcbnew/dialog_edit_module_for_Modedit_base.h b/pcbnew/dialog_edit_module_for_Modedit_base.h index de2cf44133..fab290ce9c 100644 --- a/pcbnew/dialog_edit_module_for_Modedit_base.h +++ b/pcbnew/dialog_edit_module_for_Modedit_base.h @@ -1,107 +1,110 @@ -/////////////////////////////////////////////////////////////////////////// -// 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 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////// - -#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 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////// + +#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__ diff --git a/pcbnew/librairi.cpp b/pcbnew/librairi.cpp index 964f30ff4f..67e9bacf04 100644 --- a/pcbnew/librairi.cpp +++ b/pcbnew/librairi.cpp @@ -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 ); From 12ce0a7bb80782a4a831a38f834dee13afe3f7c8 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Sun, 16 May 2010 16:10:32 +0200 Subject: [PATCH 7/7] Set minimum cmake version to 2.6.4. Added footprint name edition in the module editor dialog properties (see changelog). --- CHANGELOG.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 0f99b7e82b..c81c84821b 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -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 +================================================================================ +++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 ================================================================================ ++Pcbnew: