本文整理汇总了C++中PART_LIB::SetFileName方法的典型用法代码示例。如果您正苦于以下问题:C++ PART_LIB::SetFileName方法的具体用法?C++ PART_LIB::SetFileName怎么用?C++ PART_LIB::SetFileName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PART_LIB
的用法示例。
在下文中一共展示了PART_LIB::SetFileName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SaveActiveLibrary
//.........这里部分代码省略.........
if( !default_path )
default_path = search->LastVisitedPath();
wxFileDialog dlg( this, _( "Part Library Name:" ), default_path,
wxEmptyString, SchematicLibraryFileWildcard,
wxFD_SAVE | wxFD_OVERWRITE_PROMPT );
if( dlg.ShowModal() == wxID_CANCEL )
return false;
fn = dlg.GetPath();
// The GTK file chooser doesn't return the file extension added to
// file name so add it here.
if( fn.GetExt().IsEmpty() )
fn.SetExt( SchematicLibraryFileExtension );
prj.SetRString( PROJECT::SCH_LIB_PATH, fn.GetPath() );
}
else
{
fn = wxFileName( lib->GetFullFileName() );
msg.Printf( _( "Modify library file '%s' ?" ), GetChars( fn.GetFullPath() ) );
if( !IsOK( this, msg ) )
return false;
}
// Verify the user has write privileges before attempting to save the library file.
if( !IsWritable( fn ) )
return false;
ClearMsgPanel();
wxFileName libFileName = fn;
wxFileName backupFileName = fn;
// Rename the old .lib file to .bak.
if( libFileName.FileExists() )
{
backupFileName.SetExt( "bak" );
if( backupFileName.FileExists() )
wxRemoveFile( backupFileName.GetFullPath() );
if( !wxRenameFile( libFileName.GetFullPath(), backupFileName.GetFullPath() ) )
{
libFileName.MakeAbsolute();
msg = _( "Failed to rename old component library file " ) +
backupFileName.GetFullPath();
DisplayError( this, msg );
}
}
wxFileName docFileName = libFileName;
docFileName.SetExt( DOC_EXT );
// Rename .doc file to .bck.
if( docFileName.FileExists() )
{
backupFileName.SetExt( "bck" );
if( backupFileName.FileExists() )
wxRemoveFile( backupFileName.GetFullPath() );
if( !wxRenameFile( docFileName.GetFullPath(), backupFileName.GetFullPath() ) )
{
msg = _( "Failed to save old library document file " ) + backupFileName.GetFullPath();
DisplayError( this, msg );
}
}
try
{
lib->SetFileName( fn.GetFullPath() );
lib->Save();
}
catch( ... /* IO_ERROR ioe */ )
{
lib->SetFileName( oldFileName );
msg.Printf( _( "Failed to create symbol library file '%s'" ),
GetChars( docFileName.GetFullPath() ) );
DisplayError( this, msg );
return false;
}
lib->SetFileName( oldFileName );
msg.Printf( _( "Library file '%s' saved" ), GetChars( fn.GetFullPath() ) );
fn.SetExt( DOC_EXT );
wxString msg1;
msg1.Printf( _( "Documentation file '%s' saved" ), GetChars( fn.GetFullPath() ) );
AppendMsgPanel( msg, msg1, BLUE );
UpdateAliasSelectList();
UpdatePartSelectList();
refreshSchematic();
return true;
}