eeschema: some fixes, see CHANGELOG
This commit is contained in:
parent
54ee98bbc8
commit
f3e4682f54
|
@ -4,6 +4,23 @@ KiCad ChangeLog 2009
|
||||||
Please add newer entries at the top, list the date and your name with
|
Please add newer entries at the top, list the date and your name with
|
||||||
email address.
|
email address.
|
||||||
|
|
||||||
|
2009-apr-12 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
||||||
|
================================================================================
|
||||||
|
++eeschema:
|
||||||
|
Default libraries path are now differents for pcbnew and eeschema (as it do)
|
||||||
|
Fixed: bad library search path for schematic component docs (docs were not found)
|
||||||
|
Added: display actual lib paths in eeschema lib config dialog.
|
||||||
|
|
||||||
|
These next fix give the same behavior than "old" version
|
||||||
|
Use relative paths in libraries and doc filenames when possible
|
||||||
|
i.e when a file is found in a sub path in a default path
|
||||||
|
(very important for Windows/linux/mac compatibility of projects and their configs)
|
||||||
|
|
||||||
|
TODO: allows user to add paths in list. Currently the user path for lib is broken
|
||||||
|
(but the new code could allow the user to add more than one user path)
|
||||||
|
|
||||||
|
TODO: do the same for pcbnew and cvpcb
|
||||||
|
|
||||||
2009-apr-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
2009-apr-10 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
||||||
================================================================================
|
================================================================================
|
||||||
++eeschema:
|
++eeschema:
|
||||||
|
|
|
@ -78,13 +78,13 @@ static const wxFileTypeInfo EDAfallbacks[] =
|
||||||
* @param aDocName = filename of file to open (Full filename or short filename)
|
* @param aDocName = filename of file to open (Full filename or short filename)
|
||||||
* @param aPaths = a wxPathList to explore.
|
* @param aPaths = a wxPathList to explore.
|
||||||
* if NULL or aDocName is a full filename, aPath is not used.
|
* if NULL or aDocName is a full filename, aPath is not used.
|
||||||
*/
|
*/
|
||||||
bool GetAssociatedDocument( wxFrame* aFrame,
|
bool GetAssociatedDocument( wxFrame* aFrame,
|
||||||
const wxString& aDocName,
|
const wxString& aDocName,
|
||||||
const wxPathList* aPaths)
|
const wxPathList* aPaths)
|
||||||
|
|
||||||
{
|
{
|
||||||
wxString fullfilename, file_ext;
|
wxString docname, fullfilename, file_ext;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
wxString command;
|
wxString command;
|
||||||
bool success = FALSE;
|
bool success = FALSE;
|
||||||
|
@ -101,6 +101,14 @@ bool GetAssociatedDocument( wxFrame* aFrame,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
docname = aDocName;
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
docname.Replace( UNIX_STRING_DIR_SEP, WIN_STRING_DIR_SEP );
|
||||||
|
#else
|
||||||
|
docname.Replace( WIN_STRING_DIR_SEP, UNIX_STRING_DIR_SEP );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Compute the full file name */
|
/* Compute the full file name */
|
||||||
if( wxIsAbsolutePath( aDocName ) || aPaths == NULL)
|
if( wxIsAbsolutePath( aDocName ) || aPaths == NULL)
|
||||||
fullfilename = aDocName;
|
fullfilename = aDocName;
|
||||||
|
@ -109,12 +117,6 @@ bool GetAssociatedDocument( wxFrame* aFrame,
|
||||||
fullfilename = aPaths->FindValidPath( aDocName );
|
fullfilename = aPaths->FindValidPath( aDocName );
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
|
||||||
fullfilename.Replace( UNIX_STRING_DIR_SEP, WIN_STRING_DIR_SEP );
|
|
||||||
#else
|
|
||||||
fullfilename.Replace( WIN_STRING_DIR_SEP, UNIX_STRING_DIR_SEP );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
wxString mask( wxT( "*" ) ), extension;
|
wxString mask( wxT( "*" ) ), extension;
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
|
|
|
@ -258,14 +258,20 @@ WinEDA_App::~WinEDA_App()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/** Function InitEDA_Appl
|
||||||
* TODO brief
|
* initialise some general parameters
|
||||||
|
* - Default paths (help, libs, bin)and configuration flies names
|
||||||
|
* - Language and locale
|
||||||
|
* - fonts
|
||||||
|
* @param aName : used as paths in configuration files
|
||||||
|
* @param aId = flag : APP_TYPE_EESCHEMA, APP_TYPE_PCBNEW..
|
||||||
|
* used to choose what default library path must be used
|
||||||
*/
|
*/
|
||||||
void WinEDA_App::InitEDA_Appl( const wxString& name )
|
void WinEDA_App::InitEDA_Appl( const wxString& aName, id_app_type aId )
|
||||||
{
|
{
|
||||||
wxString EnvLang;
|
wxString EnvLang;
|
||||||
|
m_Id = aId;
|
||||||
m_Checker = new wxSingleInstanceChecker( name.Lower() + wxT( "-" ) +
|
m_Checker = new wxSingleInstanceChecker( aName.Lower() + wxT( "-" ) +
|
||||||
wxGetUserId() );
|
wxGetUserId() );
|
||||||
|
|
||||||
/* Init kicad environment
|
/* Init kicad environment
|
||||||
|
@ -283,17 +289,17 @@ void WinEDA_App::InitEDA_Appl( const wxString& name )
|
||||||
/* Prepare On Line Help. Use only lower case for help filenames, in order to
|
/* Prepare On Line Help. Use only lower case for help filenames, in order to
|
||||||
* avoid problems with upper/lower case filenames under windows and unix */
|
* avoid problems with upper/lower case filenames under windows and unix */
|
||||||
#if defined ONLINE_HELP_FILES_FORMAT_IS_HTML
|
#if defined ONLINE_HELP_FILES_FORMAT_IS_HTML
|
||||||
m_HelpFileName = name.Lower() + wxT( ".html" );
|
m_HelpFileName = aName.Lower() + wxT( ".html" );
|
||||||
#elif defined ONLINE_HELP_FILES_FORMAT_IS_PDF
|
#elif defined ONLINE_HELP_FILES_FORMAT_IS_PDF
|
||||||
m_HelpFileName = name.Lower() + wxT( ".pdf" );
|
m_HelpFileName = aName.Lower() + wxT( ".pdf" );
|
||||||
#else
|
#else
|
||||||
#error Help files format not defined
|
#error Help files format not defined
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Init parameters for configuration */
|
/* Init parameters for configuration */
|
||||||
SetVendorName( wxT( "kicad" ) );
|
SetVendorName( wxT( "kicad" ) );
|
||||||
SetAppName( name.Lower() );
|
SetAppName( aName.Lower() );
|
||||||
SetTitle( name );
|
SetTitle( aName );
|
||||||
m_EDA_Config = new wxConfig( );
|
m_EDA_Config = new wxConfig( );
|
||||||
wxASSERT( m_EDA_Config != NULL );
|
wxASSERT( m_EDA_Config != NULL );
|
||||||
m_EDA_CommonConfig = new wxConfig( CommonConfigPath );
|
m_EDA_CommonConfig = new wxConfig( CommonConfigPath );
|
||||||
|
@ -320,7 +326,7 @@ void WinEDA_App::InitEDA_Appl( const wxString& name )
|
||||||
g_FixedFont = new wxFont( g_FixedFontPointSize, wxFONTFAMILY_MODERN,
|
g_FixedFont = new wxFont( g_FixedFontPointSize, wxFONTFAMILY_MODERN,
|
||||||
wxNORMAL, wxNORMAL );
|
wxNORMAL, wxNORMAL );
|
||||||
|
|
||||||
/* TODO installation des gestionnaires de visu d'images (pour help) TODO*/
|
/* Install some image handlers, mainly for help */
|
||||||
wxImage::AddHandler( new wxPNGHandler );
|
wxImage::AddHandler( new wxPNGHandler );
|
||||||
wxImage::AddHandler( new wxGIFHandler );
|
wxImage::AddHandler( new wxGIFHandler );
|
||||||
wxImage::AddHandler( new wxJPEGHandler );
|
wxImage::AddHandler( new wxJPEGHandler );
|
||||||
|
@ -478,6 +484,8 @@ void WinEDA_App::SetDefaultSearchPaths( void )
|
||||||
size_t i;
|
size_t i;
|
||||||
wxString path = m_BinDir;
|
wxString path = m_BinDir;
|
||||||
|
|
||||||
|
m_searchPaths.Clear();
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WINDOWS__
|
||||||
/* m_BinDir path is in unix notation.
|
/* m_BinDir path is in unix notation.
|
||||||
* But wxFileName expect (to work fine) native notation
|
* But wxFileName expect (to work fine) native notation
|
||||||
|
@ -528,31 +536,34 @@ void WinEDA_App::SetDefaultSearchPaths( void )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Add schematic library file path to search path list. */
|
|
||||||
fn.Clear();
|
fn.Clear();
|
||||||
fn.SetPath( m_searchPaths[i] );
|
fn.SetPath( m_searchPaths[i] );
|
||||||
fn.AppendDir( wxT( "library") );
|
/* Add schematic library file path to search path list.
|
||||||
|
* we must add <kicad path>/library and <kicad path>/library/doc
|
||||||
if( fn.IsDirReadable() )
|
*/
|
||||||
|
if ( m_Id == APP_TYPE_EESCHEMA )
|
||||||
{
|
{
|
||||||
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
fn.AppendDir( wxT( "library") );
|
||||||
fn.GetPath().c_str() );
|
if( fn.IsDirReadable() )
|
||||||
m_libSearchPaths.Add( fn.GetPath() );
|
{
|
||||||
}
|
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
||||||
|
fn.GetPath().c_str() );
|
||||||
|
m_libSearchPaths.Add( fn.GetPath() );
|
||||||
|
}
|
||||||
|
|
||||||
/* Add schematic doc file path (library/doc)to search path list. */
|
/* Add schematic doc file path (library/doc)to search path list. */
|
||||||
fn.RemoveLastDir();
|
fn.AppendDir( wxT( "doc") );
|
||||||
fn.AppendDir( wxT( "doc") );
|
if( fn.IsDirReadable() )
|
||||||
|
{
|
||||||
if( fn.IsDirReadable() )
|
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
||||||
{
|
fn.GetPath().c_str() );
|
||||||
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
m_libSearchPaths.Add( fn.GetPath() );
|
||||||
fn.GetPath().c_str() );
|
}
|
||||||
m_libSearchPaths.Add( fn.GetPath() );
|
fn.RemoveLastDir();
|
||||||
|
fn.RemoveLastDir(); // point to <kicad path>
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add kicad template file path to search path list. */
|
/* Add kicad template file path to search path list. */
|
||||||
fn.RemoveLastDir();
|
|
||||||
fn.AppendDir( wxT( "template" ) );
|
fn.AppendDir( wxT( "template" ) );
|
||||||
|
|
||||||
if( fn.IsDirReadable() )
|
if( fn.IsDirReadable() )
|
||||||
|
@ -561,26 +572,29 @@ void WinEDA_App::SetDefaultSearchPaths( void )
|
||||||
fn.GetPath().c_str() );
|
fn.GetPath().c_str() );
|
||||||
m_libSearchPaths.Add( fn.GetPath() );
|
m_libSearchPaths.Add( fn.GetPath() );
|
||||||
}
|
}
|
||||||
|
fn.RemoveLastDir();
|
||||||
|
|
||||||
/* Add PCB library file path to search path list. */
|
/* Add PCB library file path to search path list. */
|
||||||
fn.RemoveLastDir();
|
if ( (m_Id == APP_TYPE_PCBNEW) || (m_Id == APP_TYPE_CVPCB) )
|
||||||
fn.AppendDir( wxT( "modules" ) );
|
|
||||||
|
|
||||||
if( fn.IsDirReadable() )
|
|
||||||
{
|
{
|
||||||
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
fn.AppendDir( wxT( "modules" ) );
|
||||||
fn.GetPath().c_str() );
|
|
||||||
m_libSearchPaths.Add( fn.GetPath() );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add 3D module library file path to search path list. */
|
if( fn.IsDirReadable() )
|
||||||
fn.AppendDir( wxT( "packages3d" ) );
|
{
|
||||||
|
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
||||||
|
fn.GetPath().c_str() );
|
||||||
|
m_libSearchPaths.Add( fn.GetPath() );
|
||||||
|
}
|
||||||
|
|
||||||
if( fn.IsDirReadable() )
|
/* Add 3D module library file path to search path list. */
|
||||||
{
|
fn.AppendDir( wxT( "packages3d" ) );
|
||||||
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
|
||||||
fn.GetPath().c_str() );
|
if( fn.IsDirReadable() )
|
||||||
m_libSearchPaths.Add( fn.GetPath() );
|
{
|
||||||
|
wxLogDebug( wxT( "Adding <%s> to library search path list" ),
|
||||||
|
fn.GetPath().c_str() );
|
||||||
|
m_libSearchPaths.Add( fn.GetPath() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "appl_wxstruct.h"
|
#include "appl_wxstruct.h"
|
||||||
|
#include "wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
|
@ -64,7 +65,7 @@ bool WinEDA_App::OnInit()
|
||||||
wxString currCWD = wxGetCwd();
|
wxString currCWD = wxGetCwd();
|
||||||
WinEDA_CvpcbFrame* frame = NULL;
|
WinEDA_CvpcbFrame* frame = NULL;
|
||||||
|
|
||||||
InitEDA_Appl( wxT( "CVpcb" ) );
|
InitEDA_Appl( wxT( "CVpcb" ), APP_TYPE_CVPCB );
|
||||||
|
|
||||||
if( m_Checker && m_Checker->IsAnotherRunning() )
|
if( m_Checker && m_Checker->IsAnotherRunning() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -54,9 +54,9 @@ public:
|
||||||
void WinEDA_SchematicFrame::InstallConfigFrame( const wxPoint& pos )
|
void WinEDA_SchematicFrame::InstallConfigFrame( const wxPoint& pos )
|
||||||
/******************************************************************/
|
/******************************************************************/
|
||||||
{
|
{
|
||||||
DIALOG_EESCHEMA_CONFIG* CfgFrame = new DIALOG_EESCHEMA_CONFIG( this );
|
DIALOG_EESCHEMA_CONFIG CfgFrame( this );
|
||||||
|
|
||||||
CfgFrame->ShowModal(); CfgFrame->Destroy();
|
CfgFrame.ShowModal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,6 +126,13 @@ void DIALOG_EESCHEMA_CONFIG::Init()
|
||||||
|
|
||||||
m_ListLibr->InsertItems( g_LibName_List, 0 );
|
m_ListLibr->InsertItems( g_LibName_List, 0 );
|
||||||
m_LibDirCtrl->SetValue( g_UserLibDirBuffer );
|
m_LibDirCtrl->SetValue( g_UserLibDirBuffer );
|
||||||
|
|
||||||
|
// Display actual libraries paths:
|
||||||
|
wxPathList libpaths = wxGetApp().GetLibraryPathList();
|
||||||
|
for( unsigned ii = 0; ii < libpaths.GetCount(); ii++ )
|
||||||
|
{
|
||||||
|
m_DefaultLibraryPathslistBox->Append( libpaths[ii]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -148,6 +155,7 @@ void DIALOG_EESCHEMA_CONFIG::OnOkClick( wxCommandEvent& event )
|
||||||
if ( g_UserLibDirBuffer != m_LibDirCtrl->GetValue() )
|
if ( g_UserLibDirBuffer != m_LibDirCtrl->GetValue() )
|
||||||
{
|
{
|
||||||
g_UserLibDirBuffer = m_LibDirCtrl->GetValue();
|
g_UserLibDirBuffer = m_LibDirCtrl->GetValue();
|
||||||
|
wxGetApp().SetDefaultSearchPaths( );
|
||||||
m_LibListChanged = true;
|
m_LibListChanged = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -206,7 +214,7 @@ void DIALOG_EESCHEMA_CONFIG::OnAddOrInsertLibClick( wxCommandEvent& event )
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
int ii;
|
int ii;
|
||||||
wxString tmp;
|
wxString libfilename;
|
||||||
wxFileName fn;
|
wxFileName fn;
|
||||||
|
|
||||||
ii = m_ListLibr->GetSelection();
|
ii = m_ListLibr->GetSelection();
|
||||||
|
@ -233,24 +241,38 @@ void DIALOG_EESCHEMA_CONFIG::OnAddOrInsertLibClick( wxCommandEvent& event )
|
||||||
|
|
||||||
/* If the library path is already in the library search paths
|
/* If the library path is already in the library search paths
|
||||||
* list, just add the library name to the list. Otherwise, add
|
* list, just add the library name to the list. Otherwise, add
|
||||||
* the library name with the full path. */
|
* the library name with the full or relative path.
|
||||||
if( wxGetApp().GetLibraryPathList().Index( fn.GetPath() ) == wxNOT_FOUND )
|
* the relative path, when possible is preferable,
|
||||||
tmp = fn.GetPathWithSep() + fn.GetName();
|
* because it preserve use of default libraries paths, when the path is a sub path of these default paths
|
||||||
else
|
*
|
||||||
tmp = fn.GetName();
|
*/
|
||||||
|
if( wxGetApp().GetLibraryPathList().Index( fn.GetPath() ) != wxNOT_FOUND ) // Ok, trivial case
|
||||||
|
libfilename = fn.GetName();
|
||||||
|
else // not in the default, : see if this file is in a subpath:
|
||||||
|
{
|
||||||
|
libfilename = fn.GetPathWithSep() + fn.GetName();
|
||||||
|
for ( unsigned kk = 0; kk < wxGetApp().GetLibraryPathList().GetCount(); kk ++ )
|
||||||
|
{
|
||||||
|
if( fn.MakeRelativeTo(wxGetApp().GetLibraryPathList()[kk] ) )
|
||||||
|
{
|
||||||
|
libfilename = fn.GetPathWithSep() + fn.GetName();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Add or insert new library name, if not already in list
|
//Add or insert new library name, if not already in list
|
||||||
if( m_ListLibr->FindString( tmp, fn.IsCaseSensitive() ) == wxNOT_FOUND )
|
if( m_ListLibr->FindString( libfilename, fn.IsCaseSensitive() ) == wxNOT_FOUND )
|
||||||
{
|
{
|
||||||
m_LibListChanged = TRUE;
|
m_LibListChanged = TRUE;
|
||||||
if( event.GetId() == ID_ADD_LIB )
|
if( event.GetId() == ID_ADD_LIB )
|
||||||
m_ListLibr->Append( tmp );
|
m_ListLibr->Append( libfilename );
|
||||||
else
|
else
|
||||||
m_ListLibr->Insert( tmp, ii++ );
|
m_ListLibr->Insert( libfilename, ii++ );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wxString msg = wxT( "<" ) + tmp + wxT( "> : " ) +
|
wxString msg = wxT( "<" ) + libfilename + wxT( "> : " ) +
|
||||||
_( "Library already in use" );
|
_( "Library already in use" );
|
||||||
DisplayError( this, msg );
|
DisplayError( this, msg );
|
||||||
}
|
}
|
||||||
|
|
|
@ -124,15 +124,29 @@ DIALOG_EESCHEMA_CONFIG_FBP::DIALOG_EESCHEMA_CONFIG_FBP( wxWindow* parent, wxWind
|
||||||
bMainSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
|
bMainSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
|
||||||
|
|
||||||
wxStaticBoxSizer* sbLibPathSizer;
|
wxStaticBoxSizer* sbLibPathSizer;
|
||||||
sbLibPathSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Default library file path:") ), wxHORIZONTAL );
|
sbLibPathSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Libraries Files Main Default Path:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
wxBoxSizer* bUserLibPathSizer;
|
||||||
|
bUserLibPathSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||||
|
|
||||||
m_LibDirCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
m_LibDirCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
m_LibDirCtrl->SetToolTip( _("Default path to search libraries which have no absolute path in name,\nor a name which does not start by ./ or ../\nIf void, the default path is kicad/share/library") );
|
m_LibDirCtrl->SetToolTip( _("Default path to search libraries which have no absolute path in name,\nor a name which does not start by ./ or ../\nIf void, the default path is kicad/share/library") );
|
||||||
|
|
||||||
sbLibPathSizer->Add( m_LibDirCtrl, 1, wxALL, 5 );
|
bUserLibPathSizer->Add( m_LibDirCtrl, 1, wxALL, 5 );
|
||||||
|
|
||||||
m_buttonBrowse = new wxButton( this, ID_LIB_PATH_SEL, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_buttonBrowse = new wxButton( this, ID_LIB_PATH_SEL, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
sbLibPathSizer->Add( m_buttonBrowse, 0, wxALL, 5 );
|
bUserLibPathSizer->Add( m_buttonBrowse, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
sbLibPathSizer->Add( bUserLibPathSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_staticTextcurrenpaths = new wxStaticText( this, wxID_ANY, _("Current Libraries Full Paths in Use:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticTextcurrenpaths->Wrap( -1 );
|
||||||
|
sbLibPathSizer->Add( m_staticTextcurrenpaths, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_DefaultLibraryPathslistBox = new wxListBox( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_NEEDED_SB );
|
||||||
|
m_DefaultLibraryPathslistBox->SetMinSize( wxSize( -1,70 ) );
|
||||||
|
|
||||||
|
sbLibPathSizer->Add( m_DefaultLibraryPathslistBox, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
bMainSizer->Add( sbLibPathSizer, 0, wxEXPAND, 5 );
|
bMainSizer->Add( sbLibPathSizer, 0, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<property name="minimum_size"></property>
|
<property name="minimum_size"></property>
|
||||||
<property name="name">DIALOG_EESCHEMA_CONFIG_FBP</property>
|
<property name="name">DIALOG_EESCHEMA_CONFIG_FBP</property>
|
||||||
<property name="pos"></property>
|
<property name="pos"></property>
|
||||||
<property name="size">593,400</property>
|
<property name="size">593,445</property>
|
||||||
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
|
||||||
<property name="subclass"></property>
|
<property name="subclass"></property>
|
||||||
<property name="title"></property>
|
<property name="title"></property>
|
||||||
|
@ -995,17 +995,135 @@
|
||||||
<property name="proportion">0</property>
|
<property name="proportion">0</property>
|
||||||
<object class="wxStaticBoxSizer" expanded="1">
|
<object class="wxStaticBoxSizer" expanded="1">
|
||||||
<property name="id">wxID_ANY</property>
|
<property name="id">wxID_ANY</property>
|
||||||
<property name="label">Default library file path:</property>
|
<property name="label">Libraries Files Main Default Path:</property>
|
||||||
<property name="minimum_size"></property>
|
<property name="minimum_size"></property>
|
||||||
<property name="name">sbLibPathSizer</property>
|
<property name="name">sbLibPathSizer</property>
|
||||||
<property name="orient">wxHORIZONTAL</property>
|
<property name="orient">wxVERTICAL</property>
|
||||||
<property name="permission">none</property>
|
<property name="permission">none</property>
|
||||||
<event name="OnUpdateUI"></event>
|
<event name="OnUpdateUI"></event>
|
||||||
<object class="sizeritem" expanded="1">
|
<object class="sizeritem" expanded="1">
|
||||||
<property name="border">5</property>
|
<property name="border">5</property>
|
||||||
<property name="flag">wxALL</property>
|
<property name="flag">wxEXPAND</property>
|
||||||
<property name="proportion">1</property>
|
<property name="proportion">1</property>
|
||||||
<object class="wxTextCtrl" expanded="1">
|
<object class="wxBoxSizer" expanded="1">
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="name">bUserLibPathSizer</property>
|
||||||
|
<property name="orient">wxHORIZONTAL</property>
|
||||||
|
<property name="permission">none</property>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL</property>
|
||||||
|
<property name="proportion">1</property>
|
||||||
|
<object class="wxTextCtrl" expanded="1">
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="hidden">0</property>
|
||||||
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="maxlength">0</property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="name">m_LibDirCtrl</property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="size"></property>
|
||||||
|
<property name="style"></property>
|
||||||
|
<property name="subclass"></property>
|
||||||
|
<property name="tooltip">Default path to search libraries which have no absolute path in name,
or a name which does not start by ./ or ../
If void, the default path is kicad/share/library</property>
|
||||||
|
<property name="value"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<event name="OnChar"></event>
|
||||||
|
<event name="OnEnterWindow"></event>
|
||||||
|
<event name="OnEraseBackground"></event>
|
||||||
|
<event name="OnKeyDown"></event>
|
||||||
|
<event name="OnKeyUp"></event>
|
||||||
|
<event name="OnKillFocus"></event>
|
||||||
|
<event name="OnLeaveWindow"></event>
|
||||||
|
<event name="OnLeftDClick"></event>
|
||||||
|
<event name="OnLeftDown"></event>
|
||||||
|
<event name="OnLeftUp"></event>
|
||||||
|
<event name="OnMiddleDClick"></event>
|
||||||
|
<event name="OnMiddleDown"></event>
|
||||||
|
<event name="OnMiddleUp"></event>
|
||||||
|
<event name="OnMotion"></event>
|
||||||
|
<event name="OnMouseEvents"></event>
|
||||||
|
<event name="OnMouseWheel"></event>
|
||||||
|
<event name="OnPaint"></event>
|
||||||
|
<event name="OnRightDClick"></event>
|
||||||
|
<event name="OnRightDown"></event>
|
||||||
|
<event name="OnRightUp"></event>
|
||||||
|
<event name="OnSetFocus"></event>
|
||||||
|
<event name="OnSize"></event>
|
||||||
|
<event name="OnText"></event>
|
||||||
|
<event name="OnTextEnter"></event>
|
||||||
|
<event name="OnTextMaxLen"></event>
|
||||||
|
<event name="OnTextURL"></event>
|
||||||
|
<event name="OnUpdateUI"></event>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxALL</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxButton" expanded="1">
|
||||||
|
<property name="bg"></property>
|
||||||
|
<property name="context_help"></property>
|
||||||
|
<property name="default">0</property>
|
||||||
|
<property name="enabled">1</property>
|
||||||
|
<property name="fg"></property>
|
||||||
|
<property name="font"></property>
|
||||||
|
<property name="hidden">0</property>
|
||||||
|
<property name="id">ID_LIB_PATH_SEL</property>
|
||||||
|
<property name="label">Browse</property>
|
||||||
|
<property name="maximum_size"></property>
|
||||||
|
<property name="minimum_size"></property>
|
||||||
|
<property name="name">m_buttonBrowse</property>
|
||||||
|
<property name="permission">protected</property>
|
||||||
|
<property name="pos"></property>
|
||||||
|
<property name="size"></property>
|
||||||
|
<property name="style"></property>
|
||||||
|
<property name="subclass"></property>
|
||||||
|
<property name="tooltip"></property>
|
||||||
|
<property name="window_extra_style"></property>
|
||||||
|
<property name="window_name"></property>
|
||||||
|
<property name="window_style"></property>
|
||||||
|
<event name="OnButtonClick">OnLibPathSelClick</event>
|
||||||
|
<event name="OnChar"></event>
|
||||||
|
<event name="OnEnterWindow"></event>
|
||||||
|
<event name="OnEraseBackground"></event>
|
||||||
|
<event name="OnKeyDown"></event>
|
||||||
|
<event name="OnKeyUp"></event>
|
||||||
|
<event name="OnKillFocus"></event>
|
||||||
|
<event name="OnLeaveWindow"></event>
|
||||||
|
<event name="OnLeftDClick"></event>
|
||||||
|
<event name="OnLeftDown"></event>
|
||||||
|
<event name="OnLeftUp"></event>
|
||||||
|
<event name="OnMiddleDClick"></event>
|
||||||
|
<event name="OnMiddleDown"></event>
|
||||||
|
<event name="OnMiddleUp"></event>
|
||||||
|
<event name="OnMotion"></event>
|
||||||
|
<event name="OnMouseEvents"></event>
|
||||||
|
<event name="OnMouseWheel"></event>
|
||||||
|
<event name="OnPaint"></event>
|
||||||
|
<event name="OnRightDClick"></event>
|
||||||
|
<event name="OnRightDown"></event>
|
||||||
|
<event name="OnRightUp"></event>
|
||||||
|
<event name="OnSetFocus"></event>
|
||||||
|
<event name="OnSize"></event>
|
||||||
|
<event name="OnUpdateUI"></event>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
</object>
|
||||||
|
<object class="sizeritem" expanded="1">
|
||||||
|
<property name="border">5</property>
|
||||||
|
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
|
||||||
|
<property name="proportion">0</property>
|
||||||
|
<object class="wxStaticText" expanded="1">
|
||||||
<property name="bg"></property>
|
<property name="bg"></property>
|
||||||
<property name="context_help"></property>
|
<property name="context_help"></property>
|
||||||
<property name="enabled">1</property>
|
<property name="enabled">1</property>
|
||||||
|
@ -1013,20 +1131,20 @@
|
||||||
<property name="font"></property>
|
<property name="font"></property>
|
||||||
<property name="hidden">0</property>
|
<property name="hidden">0</property>
|
||||||
<property name="id">wxID_ANY</property>
|
<property name="id">wxID_ANY</property>
|
||||||
|
<property name="label">Current Libraries Full Paths in Use:</property>
|
||||||
<property name="maximum_size"></property>
|
<property name="maximum_size"></property>
|
||||||
<property name="maxlength">0</property>
|
|
||||||
<property name="minimum_size"></property>
|
<property name="minimum_size"></property>
|
||||||
<property name="name">m_LibDirCtrl</property>
|
<property name="name">m_staticTextcurrenpaths</property>
|
||||||
<property name="permission">protected</property>
|
<property name="permission">protected</property>
|
||||||
<property name="pos"></property>
|
<property name="pos"></property>
|
||||||
<property name="size"></property>
|
<property name="size"></property>
|
||||||
<property name="style"></property>
|
<property name="style"></property>
|
||||||
<property name="subclass"></property>
|
<property name="subclass"></property>
|
||||||
<property name="tooltip">Default path to search libraries which have no absolute path in name,
or a name which does not start by ./ or ../
If void, the default path is kicad/share/library</property>
|
<property name="tooltip"></property>
|
||||||
<property name="value"></property>
|
|
||||||
<property name="window_extra_style"></property>
|
<property name="window_extra_style"></property>
|
||||||
<property name="window_name"></property>
|
<property name="window_name"></property>
|
||||||
<property name="window_style"></property>
|
<property name="window_style"></property>
|
||||||
|
<property name="wrap">-1</property>
|
||||||
<event name="OnChar"></event>
|
<event name="OnChar"></event>
|
||||||
<event name="OnEnterWindow"></event>
|
<event name="OnEnterWindow"></event>
|
||||||
<event name="OnEraseBackground"></event>
|
<event name="OnEraseBackground"></event>
|
||||||
|
@ -1049,40 +1167,34 @@
|
||||||
<event name="OnRightUp"></event>
|
<event name="OnRightUp"></event>
|
||||||
<event name="OnSetFocus"></event>
|
<event name="OnSetFocus"></event>
|
||||||
<event name="OnSize"></event>
|
<event name="OnSize"></event>
|
||||||
<event name="OnText"></event>
|
|
||||||
<event name="OnTextEnter"></event>
|
|
||||||
<event name="OnTextMaxLen"></event>
|
|
||||||
<event name="OnTextURL"></event>
|
|
||||||
<event name="OnUpdateUI"></event>
|
<event name="OnUpdateUI"></event>
|
||||||
</object>
|
</object>
|
||||||
</object>
|
</object>
|
||||||
<object class="sizeritem" expanded="1">
|
<object class="sizeritem" expanded="1">
|
||||||
<property name="border">5</property>
|
<property name="border">5</property>
|
||||||
<property name="flag">wxALL</property>
|
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
|
||||||
<property name="proportion">0</property>
|
<property name="proportion">0</property>
|
||||||
<object class="wxButton" expanded="1">
|
<object class="wxListBox" expanded="1">
|
||||||
<property name="bg"></property>
|
<property name="bg"></property>
|
||||||
|
<property name="choices"></property>
|
||||||
<property name="context_help"></property>
|
<property name="context_help"></property>
|
||||||
<property name="default">0</property>
|
|
||||||
<property name="enabled">1</property>
|
<property name="enabled">1</property>
|
||||||
<property name="fg"></property>
|
<property name="fg"></property>
|
||||||
<property name="font"></property>
|
<property name="font"></property>
|
||||||
<property name="hidden">0</property>
|
<property name="hidden">0</property>
|
||||||
<property name="id">ID_LIB_PATH_SEL</property>
|
<property name="id">wxID_ANY</property>
|
||||||
<property name="label">Browse</property>
|
|
||||||
<property name="maximum_size"></property>
|
<property name="maximum_size"></property>
|
||||||
<property name="minimum_size"></property>
|
<property name="minimum_size">-1,70</property>
|
||||||
<property name="name">m_buttonBrowse</property>
|
<property name="name">m_DefaultLibraryPathslistBox</property>
|
||||||
<property name="permission">protected</property>
|
<property name="permission">protected</property>
|
||||||
<property name="pos"></property>
|
<property name="pos"></property>
|
||||||
<property name="size"></property>
|
<property name="size"></property>
|
||||||
<property name="style"></property>
|
<property name="style">wxLB_NEEDED_SB</property>
|
||||||
<property name="subclass"></property>
|
<property name="subclass"></property>
|
||||||
<property name="tooltip"></property>
|
<property name="tooltip"></property>
|
||||||
<property name="window_extra_style"></property>
|
<property name="window_extra_style"></property>
|
||||||
<property name="window_name"></property>
|
<property name="window_name"></property>
|
||||||
<property name="window_style"></property>
|
<property name="window_style"></property>
|
||||||
<event name="OnButtonClick">OnLibPathSelClick</event>
|
|
||||||
<event name="OnChar"></event>
|
<event name="OnChar"></event>
|
||||||
<event name="OnEnterWindow"></event>
|
<event name="OnEnterWindow"></event>
|
||||||
<event name="OnEraseBackground"></event>
|
<event name="OnEraseBackground"></event>
|
||||||
|
@ -1093,6 +1205,8 @@
|
||||||
<event name="OnLeftDClick"></event>
|
<event name="OnLeftDClick"></event>
|
||||||
<event name="OnLeftDown"></event>
|
<event name="OnLeftDown"></event>
|
||||||
<event name="OnLeftUp"></event>
|
<event name="OnLeftUp"></event>
|
||||||
|
<event name="OnListBox"></event>
|
||||||
|
<event name="OnListBoxDClick"></event>
|
||||||
<event name="OnMiddleDClick"></event>
|
<event name="OnMiddleDClick"></event>
|
||||||
<event name="OnMiddleDown"></event>
|
<event name="OnMiddleDown"></event>
|
||||||
<event name="OnMiddleUp"></event>
|
<event name="OnMiddleUp"></event>
|
||||||
|
|
|
@ -62,6 +62,8 @@ class DIALOG_EESCHEMA_CONFIG_FBP : public wxDialog
|
||||||
wxStaticLine* m_staticline1;
|
wxStaticLine* m_staticline1;
|
||||||
wxTextCtrl* m_LibDirCtrl;
|
wxTextCtrl* m_LibDirCtrl;
|
||||||
wxButton* m_buttonBrowse;
|
wxButton* m_buttonBrowse;
|
||||||
|
wxStaticText* m_staticTextcurrenpaths;
|
||||||
|
wxListBox* m_DefaultLibraryPathslistBox;
|
||||||
|
|
||||||
// Virtual event handlers, overide them in your derived class
|
// Virtual event handlers, overide them in your derived class
|
||||||
virtual void OnCloseWindow( wxCloseEvent& event ){ event.Skip(); }
|
virtual void OnCloseWindow( wxCloseEvent& event ){ event.Skip(); }
|
||||||
|
@ -74,7 +76,7 @@ class DIALOG_EESCHEMA_CONFIG_FBP : public wxDialog
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DIALOG_EESCHEMA_CONFIG_FBP( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 593,400 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
DIALOG_EESCHEMA_CONFIG_FBP( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 593,445 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||||
~DIALOG_EESCHEMA_CONFIG_FBP();
|
~DIALOG_EESCHEMA_CONFIG_FBP();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
|
#include "appl_wxstruct.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "confirm.h"
|
#include "confirm.h"
|
||||||
#include "gestfich.h"
|
#include "gestfich.h"
|
||||||
|
@ -198,7 +199,7 @@ void WinEDA_PartPropertiesFrame::BuildPanelFootprintFilter()
|
||||||
PanelFpFilterBoxSizer->Add( RightBoxSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
PanelFpFilterBoxSizer->Add( RightBoxSizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 5 );
|
||||||
|
|
||||||
wxButton* Button = new wxButton( m_PanelFootprintFilter,
|
wxButton* Button = new wxButton( m_PanelFootprintFilter,
|
||||||
ID_ADD_FOOTPRINT_FILTER, _(
|
ID_ADD_FOOTPRINT_FILTER, _(
|
||||||
"Add" ) );
|
"Add" ) );
|
||||||
|
|
||||||
Button->SetForegroundColour( *wxBLUE );
|
Button->SetForegroundColour( *wxBLUE );
|
||||||
|
@ -380,8 +381,8 @@ void WinEDA_PartPropertiesFrame::PartPropertiesAccept( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CurrentLibEntry->m_AliasList[m_AliasLocation + ALIAS_DOC] = m_Doc->GetValue();
|
CurrentLibEntry->m_AliasList[m_AliasLocation + ALIAS_DOC] = m_Doc->GetValue();
|
||||||
CurrentLibEntry->m_AliasList[m_AliasLocation + ALIAS_KEYWORD] = m_Keywords->GetValue();
|
CurrentLibEntry->m_AliasList[m_AliasLocation + ALIAS_KEYWORD] = m_Keywords->GetValue();
|
||||||
CurrentLibEntry->m_AliasList[m_AliasLocation + ALIAS_DOC_FILENAME] = m_Docfile->GetValue();
|
CurrentLibEntry->m_AliasList[m_AliasLocation + ALIAS_DOC_FILENAME] = m_Docfile->GetValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -391,7 +392,8 @@ void WinEDA_PartPropertiesFrame::PartPropertiesAccept( wxCommandEvent& event )
|
||||||
for( ii = 0; ii < jj; ii++ )
|
for( ii = 0; ii < jj; ii++ )
|
||||||
{
|
{
|
||||||
if( LocateAlias( CurrentLibEntry->m_AliasList, m_PartAliasList->GetString( ii ) ) < 0 )
|
if( LocateAlias( CurrentLibEntry->m_AliasList, m_PartAliasList->GetString( ii ) ) < 0 )
|
||||||
{ // new alias must be created
|
{
|
||||||
|
// new alias must be created
|
||||||
CurrentLibEntry->m_AliasList.Add( m_PartAliasList->GetString( ii ) );
|
CurrentLibEntry->m_AliasList.Add( m_PartAliasList->GetString( ii ) );
|
||||||
CurrentLibEntry->m_AliasList.Add( wxEmptyString ); // Add a void doc string
|
CurrentLibEntry->m_AliasList.Add( wxEmptyString ); // Add a void doc string
|
||||||
CurrentLibEntry->m_AliasList.Add( wxEmptyString ); // Add a void keyword list string
|
CurrentLibEntry->m_AliasList.Add( wxEmptyString ); // Add a void keyword list string
|
||||||
|
@ -528,7 +530,7 @@ void WinEDA_PartPropertiesFrame::AddAliasOfPart( wxCommandEvent& WXUNUSED (event
|
||||||
if( CurrentLibEntry == NULL )
|
if( CurrentLibEntry == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( Get_Message( _( "New alias:" ), _("Component Alias"), Line, this ) != 0 )
|
if( Get_Message( _( "New alias:" ), _( "Component Alias" ), Line, this ) != 0 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Line.Replace( wxT( " " ), wxT( "_" ) );
|
Line.Replace( wxT( " " ), wxT( "_" ) );
|
||||||
|
@ -706,7 +708,7 @@ bool WinEDA_PartPropertiesFrame::SetUnsetConvert()
|
||||||
NextDrawItem = CopyDrawEntryStruct( this, DrawItem );
|
NextDrawItem = CopyDrawEntryStruct( this, DrawItem );
|
||||||
NextDrawItem->SetNext( CurrentLibEntry->m_Drawings );
|
NextDrawItem->SetNext( CurrentLibEntry->m_Drawings );
|
||||||
CurrentLibEntry->m_Drawings = NextDrawItem;
|
CurrentLibEntry->m_Drawings = NextDrawItem;
|
||||||
NextDrawItem->m_Convert = 2;
|
NextDrawItem->m_Convert = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -756,7 +758,7 @@ void WinEDA_PartPropertiesFrame::BrowseAndSelectDocFile( wxCommandEvent& event )
|
||||||
|
|
||||||
docpath += wxT( "doc" );
|
docpath += wxT( "doc" );
|
||||||
docpath += STRING_DIR_SEP;
|
docpath += STRING_DIR_SEP;
|
||||||
mask = wxT( "*" );
|
mask = wxT( "*" );
|
||||||
FullFileName = EDA_FileSelector( _( "Doc Files" ),
|
FullFileName = EDA_FileSelector( _( "Doc Files" ),
|
||||||
docpath, /* Chemin par defaut */
|
docpath, /* Chemin par defaut */
|
||||||
wxEmptyString, /* nom fichier par defaut */
|
wxEmptyString, /* nom fichier par defaut */
|
||||||
|
@ -770,7 +772,35 @@ void WinEDA_PartPropertiesFrame::BrowseAndSelectDocFile( wxCommandEvent& event )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Suppression du chemin par defaut pour le fichier de doc:
|
// Suppression du chemin par defaut pour le fichier de doc:
|
||||||
filename = MakeReducedFileName( FullFileName, docpath, wxEmptyString );
|
|
||||||
|
/* If the library path is already in the library search paths
|
||||||
|
* list, just add the library name to the list. Otherwise, add
|
||||||
|
* the library name with the full or relative path.
|
||||||
|
* the relative path, when possible is preferable,
|
||||||
|
* because it preserve use of default libraries paths, when the path is a sub path of these default paths
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
wxFileName fn = FullFileName;
|
||||||
|
int pathlen = -1; // path len, used to find the better subpath within defualts paths
|
||||||
|
if( wxGetApp().GetLibraryPathList().Index( fn.GetPath() ) != wxNOT_FOUND ) // Ok, trivial case
|
||||||
|
filename = fn.GetName();
|
||||||
|
else // not in the default, : see if this file is in a subpath:
|
||||||
|
{
|
||||||
|
filename = fn.GetPathWithSep() + fn.GetName();
|
||||||
|
for( unsigned kk = 0; kk < wxGetApp().GetLibraryPathList().GetCount(); kk++ )
|
||||||
|
{
|
||||||
|
if( fn.MakeRelativeTo( wxGetApp().GetLibraryPathList()[kk] ) )
|
||||||
|
{
|
||||||
|
if( pathlen < 0 // a subpath is found
|
||||||
|
|| pathlen > (int) fn.GetPath().Len() ) // a better subpath if found
|
||||||
|
{
|
||||||
|
filename = fn.GetPathWithSep() + fn.GetName();
|
||||||
|
pathlen = fn.GetPath().Len();
|
||||||
|
}
|
||||||
|
fn = FullFileName; //Try to find a better subpath
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
m_Docfile->SetValue( filename );
|
m_Docfile->SetValue( filename );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -802,7 +832,7 @@ void WinEDA_PartPropertiesFrame::AddFootprintFilter( wxCommandEvent& WXUNUSED (e
|
||||||
if( CurrentLibEntry == NULL )
|
if( CurrentLibEntry == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( Get_Message( _( "New FootprintFilter:" ), _("Footprint Filter"), Line, this ) != 0 )
|
if( Get_Message( _( "New FootprintFilter:" ), _( "Footprint Filter" ), Line, this ) != 0 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Line.Replace( wxT( " " ), wxT( "_" ) );
|
Line.Replace( wxT( " " ), wxT( "_" ) );
|
||||||
|
|
|
@ -148,7 +148,7 @@ bool WinEDA_App::OnInit()
|
||||||
|
|
||||||
g_DebugLevel = 0; // Debug level */
|
g_DebugLevel = 0; // Debug level */
|
||||||
|
|
||||||
InitEDA_Appl( wxT( "EESchema" ) );
|
InitEDA_Appl( wxT( "EESchema" ), APP_TYPE_EESCHEMA );
|
||||||
|
|
||||||
if( m_Checker && m_Checker->IsAnotherRunning() )
|
if( m_Checker && m_Checker->IsAnotherRunning() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,7 +39,7 @@ bool WinEDA_App::OnInit()
|
||||||
wxFileName fn;
|
wxFileName fn;
|
||||||
WinEDA_GerberFrame* frame = NULL;
|
WinEDA_GerberFrame* frame = NULL;
|
||||||
|
|
||||||
InitEDA_Appl( wxT( "GerbView" ) );
|
InitEDA_Appl( wxT( "GerbView" ), APP_TYPE_GERBVIEW );
|
||||||
|
|
||||||
ScreenPcb = new PCB_SCREEN();
|
ScreenPcb = new PCB_SCREEN();
|
||||||
ScreenPcb->m_CurrentSheetDesc = &g_Sheet_GERBER;
|
ScreenPcb->m_CurrentSheetDesc = &g_Sheet_GERBER;
|
||||||
|
|
|
@ -15,6 +15,14 @@
|
||||||
#include <wx/config.h>
|
#include <wx/config.h>
|
||||||
#include <wx/filename.h>
|
#include <wx/filename.h>
|
||||||
|
|
||||||
|
enum id_app_type {
|
||||||
|
APP_TYPE_UNKOWN,
|
||||||
|
APP_TYPE_EESCHEMA,
|
||||||
|
APP_TYPE_PCBNEW,
|
||||||
|
APP_TYPE_CVPCB,
|
||||||
|
APP_TYPE_GERBVIEW,
|
||||||
|
APP_TYPE_KICAD,
|
||||||
|
};
|
||||||
|
|
||||||
class wxConfigBase;
|
class wxConfigBase;
|
||||||
class wxFileConfig;
|
class wxFileConfig;
|
||||||
|
@ -30,6 +38,9 @@ class wxHtmlHelpController;
|
||||||
class WinEDA_App : public wxApp
|
class WinEDA_App : public wxApp
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
id_app_type m_Id; /* Used mainly to handle default paths libs
|
||||||
|
* m_Id = APP_TYPE_EESCHEMA, APP_TYPE_PCBNEW ...
|
||||||
|
*/
|
||||||
wxString m_Project;
|
wxString m_Project;
|
||||||
wxSingleInstanceChecker* m_Checker;
|
wxSingleInstanceChecker* m_Checker;
|
||||||
|
|
||||||
|
@ -50,30 +61,41 @@ public:
|
||||||
* variable d'environnement KICAD,
|
* variable d'environnement KICAD,
|
||||||
* typiquement /usr/local/kicad ou
|
* typiquement /usr/local/kicad ou
|
||||||
* c:\kicad */
|
* c:\kicad */
|
||||||
bool m_Env_Defined; // TRUE si variable d'environnement KICAD definie
|
bool m_Env_Defined; // TRUE si variable d'environnement KICAD definie
|
||||||
|
|
||||||
wxLocale* m_Locale; // Gestion de la localisation
|
wxLocale* m_Locale; // Gestion de la localisation
|
||||||
int m_LanguageId; // indicateur de choix du langage ( 0 = defaut)
|
int m_LanguageId; // indicateur de choix du langage ( 0 = defaut)
|
||||||
wxString m_PdfBrowser; // Name of the selected browser, for browsing pdf datasheets
|
wxString m_PdfBrowser; // Name of the selected browser, for browsing pdf datasheets
|
||||||
bool m_PdfBrowserIsDefault; // True if the pdf browser is the default (m_PdfBrowser not used)
|
bool m_PdfBrowserIsDefault; // True if the pdf browser is the default (m_PdfBrowser not used)
|
||||||
wxPathList m_searchPaths;
|
wxPathList m_searchPaths;
|
||||||
wxFileHistory m_fileHistory;
|
wxFileHistory m_fileHistory;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxString m_Title;
|
wxString m_Title;
|
||||||
wxPathList m_libSearchPaths;
|
wxPathList m_libSearchPaths;
|
||||||
wxFileName m_projectFileName;
|
wxFileName m_projectFileName;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
WinEDA_App();
|
WinEDA_App();
|
||||||
~WinEDA_App();
|
~WinEDA_App();
|
||||||
bool OnInit();
|
bool OnInit();
|
||||||
int OnRun();
|
int OnRun();
|
||||||
|
|
||||||
bool SetBinDir();
|
bool SetBinDir();
|
||||||
void SetDefaultSearchPaths( void );
|
void SetDefaultSearchPaths( void );
|
||||||
void InitEDA_Appl( const wxString& name );
|
|
||||||
bool SetLanguage( bool first_time = FALSE );
|
/** Function InitEDA_Appl
|
||||||
|
* initialise some general parameters
|
||||||
|
* - Default paths (help, libs, bin)and configuration flies names
|
||||||
|
* - Language and locale
|
||||||
|
* - fonts
|
||||||
|
* @param aName : used as paths in configuration files
|
||||||
|
* @param aId = flag : LIBRARY_TYPE_EESCHEMA or LIBRARY_TYPE_PCBNEW
|
||||||
|
* used to choose what default library path must be used
|
||||||
|
*/
|
||||||
|
void InitEDA_Appl( const wxString& aName, id_app_type aId = APP_TYPE_UNKOWN);
|
||||||
|
|
||||||
|
bool SetLanguage( bool first_time = FALSE );
|
||||||
|
|
||||||
/** Function AddMenuLanguageList
|
/** Function AddMenuLanguageList
|
||||||
*
|
*
|
||||||
|
@ -85,47 +107,48 @@ public:
|
||||||
*
|
*
|
||||||
* @return the sub menu Language list
|
* @return the sub menu Language list
|
||||||
*/
|
*/
|
||||||
void AddMenuLanguageList( wxMenu* MasterMenu );
|
void AddMenuLanguageList( wxMenu* MasterMenu );
|
||||||
void SetLanguageIdentifier( int menu_id );
|
void SetLanguageIdentifier( int menu_id );
|
||||||
void SetLanguagePath( void );
|
void SetLanguagePath( void );
|
||||||
void InitOnLineHelp();
|
void InitOnLineHelp();
|
||||||
|
|
||||||
// Sauvegarde de configurations et options:
|
// Sauvegarde de configurations et options:
|
||||||
void GetSettings();
|
void GetSettings();
|
||||||
void SaveSettings();
|
void SaveSettings();
|
||||||
|
|
||||||
|
void WriteProjectConfig( const wxString& local_config_filename,
|
||||||
|
const wxString& GroupName,
|
||||||
|
PARAM_CFG_BASE** List );
|
||||||
|
|
||||||
void WriteProjectConfig( const wxString& local_config_filename,
|
|
||||||
const wxString& GroupName,
|
|
||||||
PARAM_CFG_BASE** List );
|
|
||||||
/** Function SaveCurrentSetupValues()
|
/** Function SaveCurrentSetupValues()
|
||||||
* Save the current setup values in m_EDA_Config
|
* Save the current setup values in m_EDA_Config
|
||||||
* saved parameters are parameters that have the .m_Setup member set to true
|
* saved parameters are parameters that have the .m_Setup member set to true
|
||||||
* @param aList = array of PARAM_CFG_BASE pointers
|
* @param aList = array of PARAM_CFG_BASE pointers
|
||||||
*/
|
*/
|
||||||
void SaveCurrentSetupValues( PARAM_CFG_BASE** aList );
|
void SaveCurrentSetupValues( PARAM_CFG_BASE** aList );
|
||||||
|
|
||||||
/** Function ReadCurrentSetupValues()
|
/** Function ReadCurrentSetupValues()
|
||||||
* Raed the current setup values previously saved, from m_EDA_Config
|
* Raed the current setup values previously saved, from m_EDA_Config
|
||||||
* saved parameters are parameters that have the .m_Setup member set to true
|
* saved parameters are parameters that have the .m_Setup member set to true
|
||||||
* @param aList = array of PARAM_CFG_BASE pointers
|
* @param aList = array of PARAM_CFG_BASE pointers
|
||||||
*/
|
*/
|
||||||
void ReadCurrentSetupValues( PARAM_CFG_BASE** aList );
|
void ReadCurrentSetupValues( PARAM_CFG_BASE** aList );
|
||||||
|
|
||||||
bool ReadProjectConfig( const wxString& local_config_filename,
|
bool ReadProjectConfig( const wxString& local_config_filename,
|
||||||
const wxString& GroupName, PARAM_CFG_BASE** List,
|
const wxString& GroupName, PARAM_CFG_BASE** List,
|
||||||
bool Load_Only_if_New );
|
bool Load_Only_if_New );
|
||||||
bool ReCreatePrjConfig( const wxString& local_config_filename,
|
bool ReCreatePrjConfig( const wxString& local_config_filename,
|
||||||
const wxString& GroupName,
|
const wxString& GroupName,
|
||||||
bool ForceUseLocalConfig );
|
bool ForceUseLocalConfig );
|
||||||
|
|
||||||
void ReadPdfBrowserInfos();
|
void ReadPdfBrowserInfos();
|
||||||
void WritePdfBrowserInfos();
|
void WritePdfBrowserInfos();
|
||||||
|
|
||||||
wxString FindFileInSearchPaths( const wxString& filename,
|
wxString FindFileInSearchPaths( const wxString& filename,
|
||||||
const wxArrayString* subdirs = NULL );
|
const wxArrayString* subdirs = NULL );
|
||||||
|
|
||||||
wxString GetHelpFile( void );
|
wxString GetHelpFile( void );
|
||||||
wxString GetLibraryFile( const wxString& filename );
|
wxString GetLibraryFile( const wxString& filename );
|
||||||
wxString& GetEditorName();
|
wxString& GetEditorName();
|
||||||
|
|
||||||
const wxString& GetTitle() { return m_Title; }
|
const wxString& GetTitle() { return m_Title; }
|
||||||
|
@ -133,10 +156,13 @@ public:
|
||||||
|
|
||||||
wxPathList& GetLibraryPathList() { return m_libSearchPaths; }
|
wxPathList& GetLibraryPathList() { return m_libSearchPaths; }
|
||||||
wxString FindLibraryPath( const wxString& fileName );
|
wxString FindLibraryPath( const wxString& fileName );
|
||||||
|
|
||||||
wxString FindLibraryPath( const wxFileName& fileName )
|
wxString FindLibraryPath( const wxFileName& fileName )
|
||||||
{
|
{
|
||||||
return FindLibraryPath( fileName.GetFullPath() );
|
return FindLibraryPath( fileName.GetFullPath() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RemoveLibraryPath( const wxString& path );
|
void RemoveLibraryPath( const wxString& path );
|
||||||
void InsertLibraryPath( const wxString& path, size_t index );
|
void InsertLibraryPath( const wxString& path, size_t index );
|
||||||
};
|
};
|
||||||
|
@ -146,6 +172,6 @@ public:
|
||||||
* of the application pointer all over the place or worse yet in a global
|
* of the application pointer all over the place or worse yet in a global
|
||||||
* variable.
|
* variable.
|
||||||
*/
|
*/
|
||||||
DECLARE_APP(WinEDA_App);
|
DECLARE_APP( WinEDA_App );
|
||||||
|
|
||||||
#endif /* APPL_WXSTRUCT_H */
|
#endif /* APPL_WXSTRUCT_H */
|
||||||
|
|
|
@ -369,7 +369,7 @@ bool WinEDA_App::OnInit()
|
||||||
{
|
{
|
||||||
WinEDA_MainFrame* frame;
|
WinEDA_MainFrame* frame;
|
||||||
|
|
||||||
InitEDA_Appl( wxT( "KiCad" ) );
|
InitEDA_Appl( wxT( "KiCad" ), APP_TYPE_KICAD );
|
||||||
|
|
||||||
/* init kicad */
|
/* init kicad */
|
||||||
GetSettings(); // read current setup
|
GetSettings(); // read current setup
|
||||||
|
|
|
@ -96,7 +96,7 @@ bool WinEDA_App::OnInit()
|
||||||
wxFileName fn;
|
wxFileName fn;
|
||||||
WinEDA_PcbFrame* frame = NULL;
|
WinEDA_PcbFrame* frame = NULL;
|
||||||
|
|
||||||
InitEDA_Appl( wxT( "PCBnew" ) );
|
InitEDA_Appl( wxT( "PCBnew" ), APP_TYPE_PCBNEW );
|
||||||
|
|
||||||
if( m_Checker && m_Checker->IsAnotherRunning() )
|
if( m_Checker && m_Checker->IsAnotherRunning() )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue