removed bug: forgotten paths when adding lib files when not in the default lib path

This commit is contained in:
charras 2008-04-09 17:27:59 +00:00
parent 03569ca112
commit 0750a215e5
5 changed files with 1214 additions and 1219 deletions

View File

@ -5,6 +5,14 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.
2008-Apr-09 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+eeschema
removed bug: forgotten paths when adding lib files when not in the default lib path
Also: adding SCH_COMPONENT.m_PartPerPackageSelections to handle multiple parts per package selection
in a complex hierarchy, but yet, no other code to do that.
2008-Mar-30 UPDATE Jonas Diemer <diemer-at-gmx.de>
================================================================================
+eeschema

View File

@ -37,8 +37,8 @@ enum NumFieldType {
* component fields are texts attached to the component (not the graphic texts)
* There are 2 major fields : Reference and Value
*/
class PartTextStruct : public EDA_BaseStruct
, public EDA_TextStruct
class PartTextStruct : public EDA_BaseStruct,
public EDA_TextStruct
{
public:
int m_Layer;
@ -74,7 +74,7 @@ WX_DECLARE_OBJARRAY( DrawSheetPath, ArrayOfSheetLists );
class SCH_COMPONENT : public SCH_ITEM
{
public:
int m_Multi; /* In multi unit chip - which unit to draw. */
int m_Multi; /* In multi unit chip - which unit to draw. */
wxPoint m_Pos;
@ -83,13 +83,14 @@ public:
//int m_FlagControlMulti;
ArrayOfSheetLists m_UsedOnSheets;
int m_Convert; /* Gestion (management) des mutiples representations (ex: conversion De Morgan) */
int m_Transform[2][2]; /* The rotation/mirror transformation matrix. */
bool* m_PinIsDangling; // liste des indicateurs de pin non connectee
int m_Convert; /* Gestion (management) des mutiples representations (ex: conversion De Morgan) */
int m_Transform[2][2]; /* The rotation/mirror transformation matrix. */
bool* m_PinIsDangling; // liste des indicateurs de pin non connectee
wxArrayString m_Paths; // /sheet1/C102, /sh2/sh1/U32 etc.
wxArrayString m_References; // C102, U32 etc.
wxString m_PrefixString; /*C, R, U, Q etc - the first character which typically indicates what the component is.
wxArrayString m_Paths; // /sheet1/C102, /sh2/sh1/U32 etc.
wxArrayString m_References; // C102, U32 etc.
wxArrayString m_PartPerPackageSelections; // "1", "2" etc. when a component has more than 1 partper package
wxString m_PrefixString; /* C, R, U, Q etc - the first character which typically indicates what the component is.
* determined, upon placement, from the library component.
* determined, upon file load, by the first non-digits in the reference fields. */
@ -103,7 +104,7 @@ public:
}
SCH_COMPONENT* GenCopy();
SCH_COMPONENT* GenCopy();
void SetRotationMiroir( int type );
int GetRotationMiroir();
wxPoint GetScreenCoord( const wxPoint& coord );
@ -112,7 +113,7 @@ public:
EDA_Rect GetBoundaryBox() const;
EDA_Rect GetBoundingBox();
const wxString& ReturnFieldName( int aFieldNdx ) const;
const wxString& ReturnFieldName( int aFieldNdx ) const;
/**
@ -121,7 +122,7 @@ public:
* @param aFieldNdx An index into the array of fields, 0 - FIELD8
* @return const wxString& - the field value or wxEmptyString
*/
const wxString& GetFieldValue( int aFieldNdx ) const;
const wxString& GetFieldValue( int aFieldNdx ) const;
virtual void Draw( WinEDA_DrawPanel* panel,

View File

@ -1,12 +1,12 @@
/////////////////////////////////////////////////////////////////////////////
// Name: dialog_eeschema_config.cpp
// Purpose:
// Purpose:
// Author: jean-pierre Charras
// Modified by:
// Modified by:
// Created: 17/02/2006 21:14:46
// RCS-ID:
// RCS-ID:
// Copyright: License GNU
// Licence:
// Licence:
/////////////////////////////////////////////////////////////////////////////
// Generated by DialogBlocks (unregistered), 17/02/2006 21:14:46
@ -103,7 +103,7 @@ wxString msg;
m_LibListChanged = FALSE;
Create(parent, id, caption, pos, size, style);
msg = _("from ") + g_EDA_Appl->m_CurrentOptionFile;
SetTitle(msg);
SetFormatsNetListes();
@ -143,7 +143,7 @@ bool KiConfigEeschemaFrame::Create( wxWindow* parent, wxWindowID id, const wxStr
*/
void KiConfigEeschemaFrame::CreateControls()
{
{
SetFont(*g_DialogFont);
////@begin KiConfigEeschemaFrame content construction
@ -254,7 +254,7 @@ wxString msg = _("Cmp file Ext: ") + g_NetCmpExtBuffer;
msg = _("Schematic file Ext: ") + g_SchExtBuffer;
text = new wxStaticText( itemDialog1, -1, msg, wxDefaultPosition, wxDefaultSize, 0 );
m_FileExtList->Add(text, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxADJUST_MINSIZE, 5);
wxArrayString NetlistNameItems;
NetlistNameItems.Add(wxT("Pcbnew"));
NetlistNameItems.Add(wxT("OrcadPcb2"));
@ -366,15 +366,15 @@ wxString FullLibName,ShortLibName, Mask;
}
Mask = wxT("*") + g_LibExtBuffer;
wxFileDialog FilesDialog(this, _("Library files:"), g_RealLibDirBuffer,
wxEmptyString, Mask,
wxFD_DEFAULT_STYLE | wxFD_MULTIPLE);
FilesDialog.ShowModal();
wxArrayString Filenames;
FilesDialog.GetFilenames(Filenames);
FilesDialog.GetPaths(Filenames);
for ( unsigned jj = 0; jj < Filenames.GetCount(); jj ++ )
{
FullLibName = Filenames[jj];
@ -468,7 +468,7 @@ void KiConfigEeschemaFrame::OnSaveCfgClick( wxCommandEvent& event )
void KiConfigEeschemaFrame::OnLibPathSelClick( wxCommandEvent& event )
{
wxString path = g_RealLibDirBuffer;
bool select = EDA_DirectorySelector(_(" Default Path for libraries"), /* Titre de la fenetre */
path, /* Chemin par defaut */
wxDD_DEFAULT_STYLE,
@ -476,7 +476,7 @@ bool select = EDA_DirectorySelector(_(" Default Path for libraries"), /* Titre
wxDefaultPosition);
if ( !select ) return;
m_LibDirCtrl->SetValue(path);
}

Binary file not shown.

File diff suppressed because it is too large Load Diff