Loading include/wxPcbStruct.h +437 −423 Original line number Original line Diff line number Diff line Loading @@ -90,6 +90,7 @@ public: return m_Pcb; return m_Pcb; } } // General // General virtual void OnCloseWindow( wxCloseEvent& Event ) = 0; virtual void OnCloseWindow( wxCloseEvent& Event ) = 0; virtual void Process_Special_Functions( wxCommandEvent& event ) = 0; virtual void Process_Special_Functions( wxCommandEvent& event ) = 0; Loading Loading @@ -199,8 +200,20 @@ public: MODULE* Exchange_Module( wxWindow* winaff, MODULE* Exchange_Module( wxWindow* winaff, MODULE* old_module, MODULE* old_module, MODULE* new_module ); MODULE* new_module ); int Save_1_Module( const wxString& LibName, MODULE* Module, bool Overwrite, bool DisplayDialog ); /** Function Save_Module_In_Library * Save in an existing library a given footprint * @param aLibName = name of the library to use * @param aModule = the given footprint * @param aOverwrite = true to overwrite an existing footprint, false to abort an existing footprint is found * @param aDisplayDialog = true to display a dialog to enter or confirm the footprint name * @param aCreateDocFile = true to creates the associated doc file * @return : 1 if OK,0 if abort */ int Save_Module_In_Library( const wxString& aLibName, MODULE* aModule, bool aOverwrite, bool aDisplayDialog, bool aCreateDocFile ); void Archive_Modules( const wxString& LibName, bool NewModulesOnly ); void Archive_Modules( const wxString& LibName, bool NewModulesOnly ); MODULE* Select_1_Module_From_BOARD( BOARD* Pcb ); MODULE* Select_1_Module_From_BOARD( BOARD* Pcb ); MODULE* GetModuleByName(); MODULE* GetModuleByName(); Loading @@ -215,6 +228,7 @@ public: void Place_Module( MODULE* module, wxDC* DC ); void Place_Module( MODULE* module, wxDC* DC ); void InstallExchangeModuleFrame( MODULE* ExchangeModuleModule, void InstallExchangeModuleFrame( MODULE* ExchangeModuleModule, wxDC* DC, const wxPoint& pos ); wxDC* DC, const wxPoint& pos ); // Graphic items edition: // Graphic items edition: void InstallGraphicItemPropertiesDialog( DRAWSEGMENT* aItem, wxDC* aDC ); void InstallGraphicItemPropertiesDialog( DRAWSEGMENT* aItem, wxDC* aDC ); Loading Loading @@ -294,7 +308,6 @@ public: void Block_Duplicate( wxDC* DC ); void Block_Duplicate( wxDC* DC ); // layerhandling: // layerhandling: // (See pcbnew/sel_layer.cpp for description of why null_layer parameter is provided) // (See pcbnew/sel_layer.cpp for description of why null_layer parameter is provided) int SelectLayer( int default_layer, int min_layer, int max_layer, int SelectLayer( int default_layer, int min_layer, int max_layer, Loading Loading @@ -539,7 +552,6 @@ public: void Delete_Zone_Fill( wxDC* DC, SEGZONE* Track, long aTimestamp = 0 ); void Delete_Zone_Fill( wxDC* DC, SEGZONE* Track, long aTimestamp = 0 ); /** Function Delete_LastCreatedCorner /** Function Delete_LastCreatedCorner * Used only while creating a new zone outline * Used only while creating a new zone outline * Remove and delete the current outline segment in progress * Remove and delete the current outline segment in progress Loading Loading @@ -683,10 +695,12 @@ public: // Autoplacement: // Autoplacement: void AutoPlace( wxCommandEvent& event ); void AutoPlace( wxCommandEvent& event ); /** function OnOrientFootprints /** function OnOrientFootprints * install the dialog box for the comman Orient Footprints * install the dialog box for the comman Orient Footprints */ */ void OnOrientFootprints( void ); void OnOrientFootprints( void ); /** function ReOrientModules /** function ReOrientModules * Set the orientation of footprints * Set the orientation of footprints * @param ModuleMask = mask (wildcard allowed) selection * @param ModuleMask = mask (wildcard allowed) selection Loading pcbnew/librairi.cpp +95 −88 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC ) MODULE* module = NULL; MODULE* module = NULL; bool Footprint_Is_GPCB_Format = false; bool Footprint_Is_GPCB_Format = false; wxString mask = wxT( "*.*;" ); mask += EXT_CMP_MASK; wxString mask = wxT( "*.*;" ); mask += EXT_CMP_MASK; wxString LastOpenedPathForLoading; wxString LastOpenedPathForLoading; wxConfig* Config = wxGetApp().m_EDA_Config; wxConfig* Config = wxGetApp().m_EDA_Config; Loading @@ -64,7 +65,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC ) mask, /* Masque d'affichage */ mask, /* Masque d'affichage */ this, this, wxFD_OPEN, wxFD_OPEN, TRUE true ); ); if( CmpFullFileName == wxEmptyString ) if( CmpFullFileName == wxEmptyString ) Loading Loading @@ -137,6 +138,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC ) /************************************************************************/ /************************************************************************/ void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib ) void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib ) /************************************************************************/ /************************************************************************/ /** /** * Function Export_Module * Function Export_Module * Create a file containing only one footprint. * Create a file containing only one footprint. Loading Loading @@ -176,7 +178,7 @@ void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib ) Mask, /* Masque d'affichage */ Mask, /* Masque d'affichage */ this, this, wxFD_SAVE, wxFD_SAVE, TRUE true ); ); if( FullFileName.IsEmpty() ) if( FullFileName.IsEmpty() ) Loading Loading @@ -395,7 +397,7 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName, /* /* * Sauve en Librairie: * Sauve en Librairie: * tous les nouveaux modules ( c.a.d. les modules * tous les nouveaux modules ( c.a.d. les modules * n'existant pas deja (si NewModulesOnly == TRUE) * n'existant pas deja (si NewModulesOnly == true) * tous les modules (si NewModulesOnly == FALSE) * tous les modules (si NewModulesOnly == FALSE) */ */ { { Loading @@ -420,7 +422,7 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName, Mask, /* Masque d'affichage */ Mask, /* Masque d'affichage */ this, this, wxFD_SAVE, wxFD_SAVE, TRUE true ); ); if( FullFileName.IsEmpty() ) if( FullFileName.IsEmpty() ) Loading Loading @@ -467,8 +469,8 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName, Module = (MODULE*) GetBoard()->m_Modules; Module = (MODULE*) GetBoard()->m_Modules; for( ii = 1; Module != NULL; ii++, Module = (MODULE*) Module->Next() ) for( ii = 1; Module != NULL; ii++, Module = (MODULE*) Module->Next() ) { { if( Save_1_Module( FullFileName, Module, if( Save_Module_In_Library( FullFileName, Module, NewModulesOnly ? FALSE : TRUE, FALSE ) == 0 ) NewModulesOnly ? FALSE : true, FALSE, false ) == 0 ) break; break; DisplayActivity( (int) ( ii * Pas ), wxEmptyString ); DisplayActivity( (int) ( ii * Pas ), wxEmptyString ); /* Tst demande d'arret de sauvegarde ( key ESCAPE actionnee ) */ /* Tst demande d'arret de sauvegarde ( key ESCAPE actionnee ) */ Loading @@ -476,22 +478,24 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName, break; break; } } CreateDocLibrary( LibName ); CreateDocLibrary( FullFileName ); } } /*****************************************************************/ /*****************************************************************/ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, int WinEDA_BasePcbFrame::Save_Module_In_Library( const wxString& aLibName, MODULE* Module, bool Overwrite, bool DisplayDialog ) MODULE* aModule, bool aOverwrite, bool aDisplayDialog, bool aCreateDocFile ) /*****************************************************************/ /*****************************************************************/ /* /** Function Save_Module_In_Library * sauve en Librairie le module Module: * Save in an existing library a given footprint * si no_replace == TRUE, s'il est nouveau. * @param aLibName = name of the library to use * * @param aModule = the given footprint * retourne * @param aOverwrite = true to overwrite an existing footprint, false to abort an existing footprint is found * 1 si OK * @param aDisplayDialog = true to display a dialog to enter or confirm the footprint name * 0 si abort ou probleme * @param aCreateDocFile = true to creates the associated doc file * @return : 1 if OK, 0 if abort */ */ { { int newmodule, end; int newmodule, end; Loading @@ -500,49 +504,49 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, wxString Name_Cmp; wxString Name_Cmp; wxString NewLib, OldLib, msg; wxString NewLib, OldLib, msg; FILE* lib_module, * dest; FILE* lib_module, * dest; bool added = TRUE; bool added = true; Module->Display_Infos( this ); aModule->Display_Infos( this ); if( !wxFileExists( LibName ) ) if( !wxFileExists( aLibName ) ) { { msg.Printf( _( "Library %s not found" ), LibName.GetData() ); msg.Printf( _( "Library %s not found" ), aLibName.GetData() ); DisplayError( this, msg ); DisplayError( this, msg ); return 0; return 0; } } /* Demande du nom du composant en librairie */ /* Ask for the footprint name in lib */ Name_Cmp = Module->m_LibRef; Name_Cmp = aModule->m_LibRef; if( DisplayDialog ) if( aDisplayDialog ) { { Get_Message( _( "Name:" ), _( "Save module" ), Name_Cmp, this ); Get_Message( _( "Name:" ), _( "Save module" ), Name_Cmp, this ); if( Name_Cmp.IsEmpty() ) if( Name_Cmp.IsEmpty() ) return 0; return 0; Name_Cmp.Trim( TRUE ); Name_Cmp.Trim( true ); Name_Cmp.Trim( FALSE ); Name_Cmp.Trim( FALSE ); Module->m_LibRef = Name_Cmp; aModule->m_LibRef = Name_Cmp; } } if( ( lib_module = wxFopen( LibName, wxT( "rt" ) ) ) == NULL ) if( ( lib_module = wxFopen( aLibName, wxT( "rt" ) ) ) == NULL ) { { msg.Printf( _( "Unable to open %s" ), LibName.GetData() ); msg.Printf( _( "Unable to open %s" ), aLibName.GetData() ); DisplayError( this, msg ); DisplayError( this, msg ); return 0; return 0; } } /* lecture entete : ENTETE_LIBRAIRIE */ /* lRead library file : library header */ GetLine( lib_module, Line, &LineNum ); GetLine( lib_module, Line, &LineNum ); if( strnicmp( Line, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 ) if( strnicmp( Line, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 ) { { fclose( lib_module ); fclose( lib_module ); msg.Printf( _( "File %s is not a eeschema library" ), LibName.GetData() ); msg.Printf( _( "File %s is not a eeschema library" ), aLibName.GetData() ); DisplayError( this, msg ); DisplayError( this, msg ); return 0; return 0; } } /* lecture des noms des composants - verif si le module est deja existant */ /* Reaf footprints in lib: - search for an existing footprint */ newmodule = 1; end = 0; newmodule = 1; end = 0; while( !end && GetLine( lib_module, Line, &LineNum ) ) while( !end && GetLine( lib_module, Line, &LineNum ) ) { { Loading @@ -560,17 +564,17 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, StrPurge( Line ); StrPurge( Line ); msg = CONV_FROM_UTF8( Line ); msg = CONV_FROM_UTF8( Line ); if( Name_Cmp.CmpNoCase( msg ) == 0 ) /* composant trouve */ if( Name_Cmp.CmpNoCase( msg ) == 0 ) /* an existing footprint is found */ { { added = FALSE; added = FALSE; newmodule = 0; newmodule = 0; if( DisplayDialog ) if( aDisplayDialog ) { { msg = _( "Module exists\n Line: " ); msg = _( "Module exists\n Line: " ); msg << LineNum; msg << LineNum; Affiche_Message( msg ); Affiche_Message( msg ); } } if( !Overwrite ) /* le module n'est pas a sauver car deja existant */ if( !aOverwrite ) /* lDo not save the given footprint: an old one exists */ { { fclose( lib_module ); return 1; fclose( lib_module ); return 1; } } Loading @@ -581,15 +585,15 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, fclose( lib_module ); fclose( lib_module ); /* Creation de la nouvelle librairie */ /* Creates the new library */ if( ( lib_module = wxFopen( LibName, wxT( "rt" ) ) ) == NULL ) if( ( lib_module = wxFopen( aLibName, wxT( "rt" ) ) ) == NULL ) { { DisplayError( this, wxT( "Librairi.cpp: Error oldlib not found" ) ); DisplayError( this, wxT( "Librairi.cpp: Error oldlib not found" ) ); return 0; return 0; } } NewLib = LibName; NewLib = aLibName; ChangeFileNameExt( NewLib, FILETMP_EXT ); ChangeFileNameExt( NewLib, FILETMP_EXT ); if( ( dest = wxFopen( NewLib, wxT( "w+t" ) ) ) == NULL ) if( ( dest = wxFopen( NewLib, wxT( "w+t" ) ) ) == NULL ) { { Loading @@ -601,7 +605,7 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, wxBeginBusyCursor(); wxBeginBusyCursor(); /* Creation de l'entete avec nouvelle date */ /* Create the library header with a new date */ fprintf( dest, ENTETE_LIBRAIRIE ); fprintf( dest, ENTETE_LIBRAIRIE ); fprintf( dest, " %s\n$INDEX\n", DateAndTime( Line ) ); fprintf( dest, " %s\n$INDEX\n", DateAndTime( Line ) ); Loading Loading @@ -629,7 +633,7 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, fprintf( dest, "$EndINDEX\n" ); fprintf( dest, "$EndINDEX\n" ); /* Copie des modules, jusqu'au module a supprimer */ /* Copy footprints, until the old footprint to delete */ while( GetLine( lib_module, Line, &LineNum ) ) while( GetLine( lib_module, Line, &LineNum ) ) { { StrPurge( Line ); StrPurge( Line ); Loading @@ -641,7 +645,7 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, msg = CONV_FROM_UTF8( Name ); msg = CONV_FROM_UTF8( Name ); if( msg.CmpNoCase( Name_Cmp ) == 0 ) if( msg.CmpNoCase( Name_Cmp ) == 0 ) { { /* suppression ancien module */ /* skip old footprint descr (delete from the lib)*/ while( GetLine( lib_module, Line, &LineNum ) ) while( GetLine( lib_module, Line, &LineNum ) ) { { if( strnicmp( Line, "$EndMODULE", 9 ) == 0 ) if( strnicmp( Line, "$EndMODULE", 9 ) == 0 ) Loading @@ -654,40 +658,42 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, fprintf( dest, "%s\n", Line ); fprintf( dest, "%s\n", Line ); } } /* Ecriture du module ( en fin de librairie ) */ /* Write the new footprint ( append it to the list of footprint ) */ tmp = Module->m_TimeStamp; Module->m_TimeStamp = 0; tmp = aModule->m_TimeStamp; aModule->m_TimeStamp = 0; Module->Save( dest ); aModule->Save( dest ); fprintf( dest, "$EndLIBRARY\n" ); fprintf( dest, "$EndLIBRARY\n" ); Module->m_TimeStamp = tmp; aModule->m_TimeStamp = tmp; fclose( dest ); fclose( lib_module ); fclose( dest ); fclose( lib_module ); wxEndBusyCursor(); wxEndBusyCursor(); /* L'ancien fichier librairie est renomme en .bak */ /* The old library file is renamed .bak */ OldLib = LibName; OldLib = aLibName; ChangeFileNameExt( OldLib, OLD_EXT ); ChangeFileNameExt( OldLib, OLD_EXT ); if( wxFileExists( OldLib ) ) if( wxFileExists( OldLib ) ) wxRemoveFile( OldLib ); wxRemoveFile( OldLib ); if( !wxRenameFile( LibName, OldLib ) ) if( !wxRenameFile( aLibName, OldLib ) ) DisplayError( this, wxT( "Librairi.cpp: rename .bak err" ) ); DisplayError( this, wxT( "Librairi.cpp: rename .bak err" ) ); /* Le nouveau fichier librairie est renomme */ /* The new library file is renamed */ if( !wxRenameFile( NewLib, LibName ) ) if( !wxRenameFile( NewLib, aLibName ) ) { { DisplayError( this, wxT( "Librairi.cpp: rename NewLib err" ) ); DisplayError( this, wxT( "Librairi.cpp: rename NewLib err" ) ); return 0; return 0; } } CreateDocLibrary( OldLib ); /* creates the new .dcm doc file corresponding to the new library */ if ( aCreateDocFile ) CreateDocLibrary( aLibName ); if( DisplayDialog ) if( aDisplayDialog ) { { msg = _( "Component " ); msg += Name_Cmp; msg = _( "Component " ); msg += Name_Cmp; msg += added ? _( " added in " ) : _( " replaced in " ); msg += added ? _( " added in " ) : _( " replaced in " ); msg += LibName; msg += aLibName; Affiche_Message( msg ); Affiche_Message( msg ); } } Loading Loading @@ -721,7 +727,7 @@ MODULE* WinEDA_BasePcbFrame::Create_1_Module( wxDC* DC, const wxString& module_n } } else else Line = module_name; Line = module_name; Line.Trim( TRUE ); Line.Trim( true ); Line.Trim( FALSE ); Line.Trim( FALSE ); // Creates the new module and add it to the head of the linked list of modules // Creates the new module and add it to the head of the linked list of modules Loading Loading @@ -762,7 +768,8 @@ void WinEDA_ModuleEditFrame::Select_Active_Library() return; return; WinEDAListBox* LibListBox = new WinEDAListBox( this, _( "Active Lib:" ), WinEDAListBox* LibListBox = new WinEDAListBox( this, _( "Active Lib:" ), NULL, m_CurrentLib, NULL, wxColour( 200, 200, 255 ) ); NULL, m_CurrentLib, NULL, wxColour( 200, 200, 255 ) ); LibListBox->InsertItems( g_LibName_List ); LibListBox->InsertItems( g_LibName_List ); Loading Loading @@ -919,5 +926,5 @@ static bool CreateDocLibrary( const wxString& LibName ) fclose( LibMod ); fclose( LibMod ); fprintf( LibDoc, "#\n$EndLIBDOC\n" ); fprintf( LibDoc, "#\n$EndLIBDOC\n" ); fclose( LibDoc ); fclose( LibDoc ); return TRUE; return true; } } pcbnew/modedit.cpp +13 −13 Original line number Original line Diff line number Diff line Loading @@ -192,7 +192,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) switch( id ) // Traitement des commandes switch( id ) // Traitement des commandes { { case ID_EXIT: case ID_EXIT: Close( TRUE ); Close( true ); break; break; case ID_LIBEDIT_SELECT_CURRENT_LIB: case ID_LIBEDIT_SELECT_CURRENT_LIB: Loading @@ -209,7 +209,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_MODEDIT_NEW_MODULE: case ID_MODEDIT_NEW_MODULE: { { Clear_Pcb( TRUE ); Clear_Pcb( true ); GetScreen()->ClearUndoRedoList(); GetScreen()->ClearUndoRedoList(); SetCurItem( NULL ); SetCurItem( NULL ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); Loading @@ -220,7 +220,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) module->SetPosition( wxPoint(0, 0) ); module->SetPosition( wxPoint(0, 0) ); if( GetBoard()->m_Modules ) if( GetBoard()->m_Modules ) GetBoard()->m_Modules->m_Flags = 0; GetBoard()->m_Modules->m_Flags = 0; Zoom_Automatique( TRUE ); Zoom_Automatique( true ); } } } } break; break; Loading @@ -229,7 +229,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) { { wxString Line; wxString Line; Line = MakeFileName( g_RealLibDirBuffer, m_CurrentLib.GetData(), LibExtBuffer ); Line = MakeFileName( g_RealLibDirBuffer, m_CurrentLib.GetData(), LibExtBuffer ); Save_1_Module( Line, GetBoard()->m_Modules, TRUE, TRUE ); Save_Module_In_Library( Line, GetBoard()->m_Modules, true, true, true ); GetScreen()->ClrModify(); GetScreen()->ClrModify(); } } break; break; Loading Loading @@ -315,13 +315,13 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_LIBEDIT_IMPORT_PART: case ID_LIBEDIT_IMPORT_PART: GetScreen()->ClearUndoRedoList(); GetScreen()->ClearUndoRedoList(); SetCurItem( NULL ); SetCurItem( NULL ); Clear_Pcb( TRUE ); Clear_Pcb( true ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); Import_Module( &dc ); Import_Module( &dc ); if( GetBoard()->m_Modules ) if( GetBoard()->m_Modules ) GetBoard()->m_Modules->m_Flags = 0; GetBoard()->m_Modules->m_Flags = 0; GetScreen()->ClrModify(); GetScreen()->ClrModify(); Zoom_Automatique( TRUE ); Zoom_Automatique( true ); if( m_Draw3DFrame ) if( m_Draw3DFrame ) m_Draw3DFrame->NewDisplay(); m_Draw3DFrame->NewDisplay(); break; break; Loading @@ -333,7 +333,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_LIBEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART: case ID_LIBEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART: if( GetBoard()->m_Modules ) if( GetBoard()->m_Modules ) Export_Module( GetBoard()->m_Modules, TRUE ); Export_Module( GetBoard()->m_Modules, true ); break; break; case ID_MODEDIT_SHEET_SET: case ID_MODEDIT_SHEET_SET: Loading @@ -342,7 +342,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_MODEDIT_LOAD_MODULE: case ID_MODEDIT_LOAD_MODULE: GetScreen()->ClearUndoRedoList(); GetScreen()->ClearUndoRedoList(); SetCurItem( NULL ); SetCurItem( NULL ); Clear_Pcb( TRUE ); Clear_Pcb( true ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); Load_Module_From_Library( m_CurrentLib, &dc ); Load_Module_From_Library( m_CurrentLib, &dc ); if( GetBoard()->m_Modules ) if( GetBoard()->m_Modules ) Loading @@ -365,7 +365,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) } } } } GetScreen()->ClrModify(); GetScreen()->ClrModify(); Zoom_Automatique( TRUE ); Zoom_Automatique( true ); if( m_Draw3DFrame ) if( m_Draw3DFrame ) m_Draw3DFrame->NewDisplay(); m_Draw3DFrame->NewDisplay(); break; break; Loading Loading @@ -425,12 +425,12 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_POPUP_PCB_ROTATE_MODULE_COUNTERCLOCKWISE: case ID_POPUP_PCB_ROTATE_MODULE_COUNTERCLOCKWISE: DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema(); Rotate_Module( &dc, (MODULE*) GetScreen()->GetCurItem(), 900, TRUE ); Rotate_Module( &dc, (MODULE*) GetScreen()->GetCurItem(), 900, true ); break; break; case ID_POPUP_PCB_ROTATE_MODULE_CLOCKWISE: case ID_POPUP_PCB_ROTATE_MODULE_CLOCKWISE: DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema(); Rotate_Module( &dc, (MODULE*) GetScreen()->GetCurItem(), -900, TRUE ); Rotate_Module( &dc, (MODULE*) GetScreen()->GetCurItem(), -900, true ); break; break; case ID_POPUP_PCB_EDIT_MODULE: case ID_POPUP_PCB_EDIT_MODULE: Loading Loading @@ -587,12 +587,12 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_MODEDIT_UNDO: case ID_MODEDIT_UNDO: GetComponentFromUndoList(); GetComponentFromUndoList(); DrawPanel->Refresh( TRUE ); DrawPanel->Refresh( true ); break; break; case ID_MODEDIT_REDO: case ID_MODEDIT_REDO: GetComponentFromRedoList(); GetComponentFromRedoList(); DrawPanel->Refresh( TRUE ); DrawPanel->Refresh( true ); break; break; case ID_POPUP_PLACE_BLOCK: case ID_POPUP_PLACE_BLOCK: Loading Loading
include/wxPcbStruct.h +437 −423 Original line number Original line Diff line number Diff line Loading @@ -90,6 +90,7 @@ public: return m_Pcb; return m_Pcb; } } // General // General virtual void OnCloseWindow( wxCloseEvent& Event ) = 0; virtual void OnCloseWindow( wxCloseEvent& Event ) = 0; virtual void Process_Special_Functions( wxCommandEvent& event ) = 0; virtual void Process_Special_Functions( wxCommandEvent& event ) = 0; Loading Loading @@ -199,8 +200,20 @@ public: MODULE* Exchange_Module( wxWindow* winaff, MODULE* Exchange_Module( wxWindow* winaff, MODULE* old_module, MODULE* old_module, MODULE* new_module ); MODULE* new_module ); int Save_1_Module( const wxString& LibName, MODULE* Module, bool Overwrite, bool DisplayDialog ); /** Function Save_Module_In_Library * Save in an existing library a given footprint * @param aLibName = name of the library to use * @param aModule = the given footprint * @param aOverwrite = true to overwrite an existing footprint, false to abort an existing footprint is found * @param aDisplayDialog = true to display a dialog to enter or confirm the footprint name * @param aCreateDocFile = true to creates the associated doc file * @return : 1 if OK,0 if abort */ int Save_Module_In_Library( const wxString& aLibName, MODULE* aModule, bool aOverwrite, bool aDisplayDialog, bool aCreateDocFile ); void Archive_Modules( const wxString& LibName, bool NewModulesOnly ); void Archive_Modules( const wxString& LibName, bool NewModulesOnly ); MODULE* Select_1_Module_From_BOARD( BOARD* Pcb ); MODULE* Select_1_Module_From_BOARD( BOARD* Pcb ); MODULE* GetModuleByName(); MODULE* GetModuleByName(); Loading @@ -215,6 +228,7 @@ public: void Place_Module( MODULE* module, wxDC* DC ); void Place_Module( MODULE* module, wxDC* DC ); void InstallExchangeModuleFrame( MODULE* ExchangeModuleModule, void InstallExchangeModuleFrame( MODULE* ExchangeModuleModule, wxDC* DC, const wxPoint& pos ); wxDC* DC, const wxPoint& pos ); // Graphic items edition: // Graphic items edition: void InstallGraphicItemPropertiesDialog( DRAWSEGMENT* aItem, wxDC* aDC ); void InstallGraphicItemPropertiesDialog( DRAWSEGMENT* aItem, wxDC* aDC ); Loading Loading @@ -294,7 +308,6 @@ public: void Block_Duplicate( wxDC* DC ); void Block_Duplicate( wxDC* DC ); // layerhandling: // layerhandling: // (See pcbnew/sel_layer.cpp for description of why null_layer parameter is provided) // (See pcbnew/sel_layer.cpp for description of why null_layer parameter is provided) int SelectLayer( int default_layer, int min_layer, int max_layer, int SelectLayer( int default_layer, int min_layer, int max_layer, Loading Loading @@ -539,7 +552,6 @@ public: void Delete_Zone_Fill( wxDC* DC, SEGZONE* Track, long aTimestamp = 0 ); void Delete_Zone_Fill( wxDC* DC, SEGZONE* Track, long aTimestamp = 0 ); /** Function Delete_LastCreatedCorner /** Function Delete_LastCreatedCorner * Used only while creating a new zone outline * Used only while creating a new zone outline * Remove and delete the current outline segment in progress * Remove and delete the current outline segment in progress Loading Loading @@ -683,10 +695,12 @@ public: // Autoplacement: // Autoplacement: void AutoPlace( wxCommandEvent& event ); void AutoPlace( wxCommandEvent& event ); /** function OnOrientFootprints /** function OnOrientFootprints * install the dialog box for the comman Orient Footprints * install the dialog box for the comman Orient Footprints */ */ void OnOrientFootprints( void ); void OnOrientFootprints( void ); /** function ReOrientModules /** function ReOrientModules * Set the orientation of footprints * Set the orientation of footprints * @param ModuleMask = mask (wildcard allowed) selection * @param ModuleMask = mask (wildcard allowed) selection Loading
pcbnew/librairi.cpp +95 −88 Original line number Original line Diff line number Diff line Loading @@ -50,6 +50,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC ) MODULE* module = NULL; MODULE* module = NULL; bool Footprint_Is_GPCB_Format = false; bool Footprint_Is_GPCB_Format = false; wxString mask = wxT( "*.*;" ); mask += EXT_CMP_MASK; wxString mask = wxT( "*.*;" ); mask += EXT_CMP_MASK; wxString LastOpenedPathForLoading; wxString LastOpenedPathForLoading; wxConfig* Config = wxGetApp().m_EDA_Config; wxConfig* Config = wxGetApp().m_EDA_Config; Loading @@ -64,7 +65,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC ) mask, /* Masque d'affichage */ mask, /* Masque d'affichage */ this, this, wxFD_OPEN, wxFD_OPEN, TRUE true ); ); if( CmpFullFileName == wxEmptyString ) if( CmpFullFileName == wxEmptyString ) Loading Loading @@ -137,6 +138,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC ) /************************************************************************/ /************************************************************************/ void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib ) void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib ) /************************************************************************/ /************************************************************************/ /** /** * Function Export_Module * Function Export_Module * Create a file containing only one footprint. * Create a file containing only one footprint. Loading Loading @@ -176,7 +178,7 @@ void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib ) Mask, /* Masque d'affichage */ Mask, /* Masque d'affichage */ this, this, wxFD_SAVE, wxFD_SAVE, TRUE true ); ); if( FullFileName.IsEmpty() ) if( FullFileName.IsEmpty() ) Loading Loading @@ -395,7 +397,7 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName, /* /* * Sauve en Librairie: * Sauve en Librairie: * tous les nouveaux modules ( c.a.d. les modules * tous les nouveaux modules ( c.a.d. les modules * n'existant pas deja (si NewModulesOnly == TRUE) * n'existant pas deja (si NewModulesOnly == true) * tous les modules (si NewModulesOnly == FALSE) * tous les modules (si NewModulesOnly == FALSE) */ */ { { Loading @@ -420,7 +422,7 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName, Mask, /* Masque d'affichage */ Mask, /* Masque d'affichage */ this, this, wxFD_SAVE, wxFD_SAVE, TRUE true ); ); if( FullFileName.IsEmpty() ) if( FullFileName.IsEmpty() ) Loading Loading @@ -467,8 +469,8 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName, Module = (MODULE*) GetBoard()->m_Modules; Module = (MODULE*) GetBoard()->m_Modules; for( ii = 1; Module != NULL; ii++, Module = (MODULE*) Module->Next() ) for( ii = 1; Module != NULL; ii++, Module = (MODULE*) Module->Next() ) { { if( Save_1_Module( FullFileName, Module, if( Save_Module_In_Library( FullFileName, Module, NewModulesOnly ? FALSE : TRUE, FALSE ) == 0 ) NewModulesOnly ? FALSE : true, FALSE, false ) == 0 ) break; break; DisplayActivity( (int) ( ii * Pas ), wxEmptyString ); DisplayActivity( (int) ( ii * Pas ), wxEmptyString ); /* Tst demande d'arret de sauvegarde ( key ESCAPE actionnee ) */ /* Tst demande d'arret de sauvegarde ( key ESCAPE actionnee ) */ Loading @@ -476,22 +478,24 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName, break; break; } } CreateDocLibrary( LibName ); CreateDocLibrary( FullFileName ); } } /*****************************************************************/ /*****************************************************************/ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, int WinEDA_BasePcbFrame::Save_Module_In_Library( const wxString& aLibName, MODULE* Module, bool Overwrite, bool DisplayDialog ) MODULE* aModule, bool aOverwrite, bool aDisplayDialog, bool aCreateDocFile ) /*****************************************************************/ /*****************************************************************/ /* /** Function Save_Module_In_Library * sauve en Librairie le module Module: * Save in an existing library a given footprint * si no_replace == TRUE, s'il est nouveau. * @param aLibName = name of the library to use * * @param aModule = the given footprint * retourne * @param aOverwrite = true to overwrite an existing footprint, false to abort an existing footprint is found * 1 si OK * @param aDisplayDialog = true to display a dialog to enter or confirm the footprint name * 0 si abort ou probleme * @param aCreateDocFile = true to creates the associated doc file * @return : 1 if OK, 0 if abort */ */ { { int newmodule, end; int newmodule, end; Loading @@ -500,49 +504,49 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, wxString Name_Cmp; wxString Name_Cmp; wxString NewLib, OldLib, msg; wxString NewLib, OldLib, msg; FILE* lib_module, * dest; FILE* lib_module, * dest; bool added = TRUE; bool added = true; Module->Display_Infos( this ); aModule->Display_Infos( this ); if( !wxFileExists( LibName ) ) if( !wxFileExists( aLibName ) ) { { msg.Printf( _( "Library %s not found" ), LibName.GetData() ); msg.Printf( _( "Library %s not found" ), aLibName.GetData() ); DisplayError( this, msg ); DisplayError( this, msg ); return 0; return 0; } } /* Demande du nom du composant en librairie */ /* Ask for the footprint name in lib */ Name_Cmp = Module->m_LibRef; Name_Cmp = aModule->m_LibRef; if( DisplayDialog ) if( aDisplayDialog ) { { Get_Message( _( "Name:" ), _( "Save module" ), Name_Cmp, this ); Get_Message( _( "Name:" ), _( "Save module" ), Name_Cmp, this ); if( Name_Cmp.IsEmpty() ) if( Name_Cmp.IsEmpty() ) return 0; return 0; Name_Cmp.Trim( TRUE ); Name_Cmp.Trim( true ); Name_Cmp.Trim( FALSE ); Name_Cmp.Trim( FALSE ); Module->m_LibRef = Name_Cmp; aModule->m_LibRef = Name_Cmp; } } if( ( lib_module = wxFopen( LibName, wxT( "rt" ) ) ) == NULL ) if( ( lib_module = wxFopen( aLibName, wxT( "rt" ) ) ) == NULL ) { { msg.Printf( _( "Unable to open %s" ), LibName.GetData() ); msg.Printf( _( "Unable to open %s" ), aLibName.GetData() ); DisplayError( this, msg ); DisplayError( this, msg ); return 0; return 0; } } /* lecture entete : ENTETE_LIBRAIRIE */ /* lRead library file : library header */ GetLine( lib_module, Line, &LineNum ); GetLine( lib_module, Line, &LineNum ); if( strnicmp( Line, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 ) if( strnicmp( Line, ENTETE_LIBRAIRIE, L_ENTETE_LIB ) != 0 ) { { fclose( lib_module ); fclose( lib_module ); msg.Printf( _( "File %s is not a eeschema library" ), LibName.GetData() ); msg.Printf( _( "File %s is not a eeschema library" ), aLibName.GetData() ); DisplayError( this, msg ); DisplayError( this, msg ); return 0; return 0; } } /* lecture des noms des composants - verif si le module est deja existant */ /* Reaf footprints in lib: - search for an existing footprint */ newmodule = 1; end = 0; newmodule = 1; end = 0; while( !end && GetLine( lib_module, Line, &LineNum ) ) while( !end && GetLine( lib_module, Line, &LineNum ) ) { { Loading @@ -560,17 +564,17 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, StrPurge( Line ); StrPurge( Line ); msg = CONV_FROM_UTF8( Line ); msg = CONV_FROM_UTF8( Line ); if( Name_Cmp.CmpNoCase( msg ) == 0 ) /* composant trouve */ if( Name_Cmp.CmpNoCase( msg ) == 0 ) /* an existing footprint is found */ { { added = FALSE; added = FALSE; newmodule = 0; newmodule = 0; if( DisplayDialog ) if( aDisplayDialog ) { { msg = _( "Module exists\n Line: " ); msg = _( "Module exists\n Line: " ); msg << LineNum; msg << LineNum; Affiche_Message( msg ); Affiche_Message( msg ); } } if( !Overwrite ) /* le module n'est pas a sauver car deja existant */ if( !aOverwrite ) /* lDo not save the given footprint: an old one exists */ { { fclose( lib_module ); return 1; fclose( lib_module ); return 1; } } Loading @@ -581,15 +585,15 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, fclose( lib_module ); fclose( lib_module ); /* Creation de la nouvelle librairie */ /* Creates the new library */ if( ( lib_module = wxFopen( LibName, wxT( "rt" ) ) ) == NULL ) if( ( lib_module = wxFopen( aLibName, wxT( "rt" ) ) ) == NULL ) { { DisplayError( this, wxT( "Librairi.cpp: Error oldlib not found" ) ); DisplayError( this, wxT( "Librairi.cpp: Error oldlib not found" ) ); return 0; return 0; } } NewLib = LibName; NewLib = aLibName; ChangeFileNameExt( NewLib, FILETMP_EXT ); ChangeFileNameExt( NewLib, FILETMP_EXT ); if( ( dest = wxFopen( NewLib, wxT( "w+t" ) ) ) == NULL ) if( ( dest = wxFopen( NewLib, wxT( "w+t" ) ) ) == NULL ) { { Loading @@ -601,7 +605,7 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, wxBeginBusyCursor(); wxBeginBusyCursor(); /* Creation de l'entete avec nouvelle date */ /* Create the library header with a new date */ fprintf( dest, ENTETE_LIBRAIRIE ); fprintf( dest, ENTETE_LIBRAIRIE ); fprintf( dest, " %s\n$INDEX\n", DateAndTime( Line ) ); fprintf( dest, " %s\n$INDEX\n", DateAndTime( Line ) ); Loading Loading @@ -629,7 +633,7 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, fprintf( dest, "$EndINDEX\n" ); fprintf( dest, "$EndINDEX\n" ); /* Copie des modules, jusqu'au module a supprimer */ /* Copy footprints, until the old footprint to delete */ while( GetLine( lib_module, Line, &LineNum ) ) while( GetLine( lib_module, Line, &LineNum ) ) { { StrPurge( Line ); StrPurge( Line ); Loading @@ -641,7 +645,7 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, msg = CONV_FROM_UTF8( Name ); msg = CONV_FROM_UTF8( Name ); if( msg.CmpNoCase( Name_Cmp ) == 0 ) if( msg.CmpNoCase( Name_Cmp ) == 0 ) { { /* suppression ancien module */ /* skip old footprint descr (delete from the lib)*/ while( GetLine( lib_module, Line, &LineNum ) ) while( GetLine( lib_module, Line, &LineNum ) ) { { if( strnicmp( Line, "$EndMODULE", 9 ) == 0 ) if( strnicmp( Line, "$EndMODULE", 9 ) == 0 ) Loading @@ -654,40 +658,42 @@ int WinEDA_BasePcbFrame::Save_1_Module( const wxString& LibName, fprintf( dest, "%s\n", Line ); fprintf( dest, "%s\n", Line ); } } /* Ecriture du module ( en fin de librairie ) */ /* Write the new footprint ( append it to the list of footprint ) */ tmp = Module->m_TimeStamp; Module->m_TimeStamp = 0; tmp = aModule->m_TimeStamp; aModule->m_TimeStamp = 0; Module->Save( dest ); aModule->Save( dest ); fprintf( dest, "$EndLIBRARY\n" ); fprintf( dest, "$EndLIBRARY\n" ); Module->m_TimeStamp = tmp; aModule->m_TimeStamp = tmp; fclose( dest ); fclose( lib_module ); fclose( dest ); fclose( lib_module ); wxEndBusyCursor(); wxEndBusyCursor(); /* L'ancien fichier librairie est renomme en .bak */ /* The old library file is renamed .bak */ OldLib = LibName; OldLib = aLibName; ChangeFileNameExt( OldLib, OLD_EXT ); ChangeFileNameExt( OldLib, OLD_EXT ); if( wxFileExists( OldLib ) ) if( wxFileExists( OldLib ) ) wxRemoveFile( OldLib ); wxRemoveFile( OldLib ); if( !wxRenameFile( LibName, OldLib ) ) if( !wxRenameFile( aLibName, OldLib ) ) DisplayError( this, wxT( "Librairi.cpp: rename .bak err" ) ); DisplayError( this, wxT( "Librairi.cpp: rename .bak err" ) ); /* Le nouveau fichier librairie est renomme */ /* The new library file is renamed */ if( !wxRenameFile( NewLib, LibName ) ) if( !wxRenameFile( NewLib, aLibName ) ) { { DisplayError( this, wxT( "Librairi.cpp: rename NewLib err" ) ); DisplayError( this, wxT( "Librairi.cpp: rename NewLib err" ) ); return 0; return 0; } } CreateDocLibrary( OldLib ); /* creates the new .dcm doc file corresponding to the new library */ if ( aCreateDocFile ) CreateDocLibrary( aLibName ); if( DisplayDialog ) if( aDisplayDialog ) { { msg = _( "Component " ); msg += Name_Cmp; msg = _( "Component " ); msg += Name_Cmp; msg += added ? _( " added in " ) : _( " replaced in " ); msg += added ? _( " added in " ) : _( " replaced in " ); msg += LibName; msg += aLibName; Affiche_Message( msg ); Affiche_Message( msg ); } } Loading Loading @@ -721,7 +727,7 @@ MODULE* WinEDA_BasePcbFrame::Create_1_Module( wxDC* DC, const wxString& module_n } } else else Line = module_name; Line = module_name; Line.Trim( TRUE ); Line.Trim( true ); Line.Trim( FALSE ); Line.Trim( FALSE ); // Creates the new module and add it to the head of the linked list of modules // Creates the new module and add it to the head of the linked list of modules Loading Loading @@ -762,7 +768,8 @@ void WinEDA_ModuleEditFrame::Select_Active_Library() return; return; WinEDAListBox* LibListBox = new WinEDAListBox( this, _( "Active Lib:" ), WinEDAListBox* LibListBox = new WinEDAListBox( this, _( "Active Lib:" ), NULL, m_CurrentLib, NULL, wxColour( 200, 200, 255 ) ); NULL, m_CurrentLib, NULL, wxColour( 200, 200, 255 ) ); LibListBox->InsertItems( g_LibName_List ); LibListBox->InsertItems( g_LibName_List ); Loading Loading @@ -919,5 +926,5 @@ static bool CreateDocLibrary( const wxString& LibName ) fclose( LibMod ); fclose( LibMod ); fprintf( LibDoc, "#\n$EndLIBDOC\n" ); fprintf( LibDoc, "#\n$EndLIBDOC\n" ); fclose( LibDoc ); fclose( LibDoc ); return TRUE; return true; } }
pcbnew/modedit.cpp +13 −13 Original line number Original line Diff line number Diff line Loading @@ -192,7 +192,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) switch( id ) // Traitement des commandes switch( id ) // Traitement des commandes { { case ID_EXIT: case ID_EXIT: Close( TRUE ); Close( true ); break; break; case ID_LIBEDIT_SELECT_CURRENT_LIB: case ID_LIBEDIT_SELECT_CURRENT_LIB: Loading @@ -209,7 +209,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_MODEDIT_NEW_MODULE: case ID_MODEDIT_NEW_MODULE: { { Clear_Pcb( TRUE ); Clear_Pcb( true ); GetScreen()->ClearUndoRedoList(); GetScreen()->ClearUndoRedoList(); SetCurItem( NULL ); SetCurItem( NULL ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); Loading @@ -220,7 +220,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) module->SetPosition( wxPoint(0, 0) ); module->SetPosition( wxPoint(0, 0) ); if( GetBoard()->m_Modules ) if( GetBoard()->m_Modules ) GetBoard()->m_Modules->m_Flags = 0; GetBoard()->m_Modules->m_Flags = 0; Zoom_Automatique( TRUE ); Zoom_Automatique( true ); } } } } break; break; Loading @@ -229,7 +229,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) { { wxString Line; wxString Line; Line = MakeFileName( g_RealLibDirBuffer, m_CurrentLib.GetData(), LibExtBuffer ); Line = MakeFileName( g_RealLibDirBuffer, m_CurrentLib.GetData(), LibExtBuffer ); Save_1_Module( Line, GetBoard()->m_Modules, TRUE, TRUE ); Save_Module_In_Library( Line, GetBoard()->m_Modules, true, true, true ); GetScreen()->ClrModify(); GetScreen()->ClrModify(); } } break; break; Loading Loading @@ -315,13 +315,13 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_LIBEDIT_IMPORT_PART: case ID_LIBEDIT_IMPORT_PART: GetScreen()->ClearUndoRedoList(); GetScreen()->ClearUndoRedoList(); SetCurItem( NULL ); SetCurItem( NULL ); Clear_Pcb( TRUE ); Clear_Pcb( true ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); Import_Module( &dc ); Import_Module( &dc ); if( GetBoard()->m_Modules ) if( GetBoard()->m_Modules ) GetBoard()->m_Modules->m_Flags = 0; GetBoard()->m_Modules->m_Flags = 0; GetScreen()->ClrModify(); GetScreen()->ClrModify(); Zoom_Automatique( TRUE ); Zoom_Automatique( true ); if( m_Draw3DFrame ) if( m_Draw3DFrame ) m_Draw3DFrame->NewDisplay(); m_Draw3DFrame->NewDisplay(); break; break; Loading @@ -333,7 +333,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_LIBEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART: case ID_LIBEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART: if( GetBoard()->m_Modules ) if( GetBoard()->m_Modules ) Export_Module( GetBoard()->m_Modules, TRUE ); Export_Module( GetBoard()->m_Modules, true ); break; break; case ID_MODEDIT_SHEET_SET: case ID_MODEDIT_SHEET_SET: Loading @@ -342,7 +342,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_MODEDIT_LOAD_MODULE: case ID_MODEDIT_LOAD_MODULE: GetScreen()->ClearUndoRedoList(); GetScreen()->ClearUndoRedoList(); SetCurItem( NULL ); SetCurItem( NULL ); Clear_Pcb( TRUE ); Clear_Pcb( true ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); GetScreen()->m_Curseur = wxPoint( 0, 0 ); Load_Module_From_Library( m_CurrentLib, &dc ); Load_Module_From_Library( m_CurrentLib, &dc ); if( GetBoard()->m_Modules ) if( GetBoard()->m_Modules ) Loading @@ -365,7 +365,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) } } } } GetScreen()->ClrModify(); GetScreen()->ClrModify(); Zoom_Automatique( TRUE ); Zoom_Automatique( true ); if( m_Draw3DFrame ) if( m_Draw3DFrame ) m_Draw3DFrame->NewDisplay(); m_Draw3DFrame->NewDisplay(); break; break; Loading Loading @@ -425,12 +425,12 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_POPUP_PCB_ROTATE_MODULE_COUNTERCLOCKWISE: case ID_POPUP_PCB_ROTATE_MODULE_COUNTERCLOCKWISE: DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema(); Rotate_Module( &dc, (MODULE*) GetScreen()->GetCurItem(), 900, TRUE ); Rotate_Module( &dc, (MODULE*) GetScreen()->GetCurItem(), 900, true ); break; break; case ID_POPUP_PCB_ROTATE_MODULE_CLOCKWISE: case ID_POPUP_PCB_ROTATE_MODULE_CLOCKWISE: DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema(); Rotate_Module( &dc, (MODULE*) GetScreen()->GetCurItem(), -900, TRUE ); Rotate_Module( &dc, (MODULE*) GetScreen()->GetCurItem(), -900, true ); break; break; case ID_POPUP_PCB_EDIT_MODULE: case ID_POPUP_PCB_EDIT_MODULE: Loading Loading @@ -587,12 +587,12 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_MODEDIT_UNDO: case ID_MODEDIT_UNDO: GetComponentFromUndoList(); GetComponentFromUndoList(); DrawPanel->Refresh( TRUE ); DrawPanel->Refresh( true ); break; break; case ID_MODEDIT_REDO: case ID_MODEDIT_REDO: GetComponentFromRedoList(); GetComponentFromRedoList(); DrawPanel->Refresh( TRUE ); DrawPanel->Refresh( true ); break; break; case ID_POPUP_PLACE_BLOCK: case ID_POPUP_PLACE_BLOCK: Loading