Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kicad-source-mirror
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
kicad-source-mirror
Commits
6910df39
Commit
6910df39
authored
Feb 22, 2011
by
jean-pierre charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pcbnew: fix 2 (minor) issues
Cvpcb: code cleaning.
parent
ee003180
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
145 additions
and
80 deletions
+145
-80
autosel.cpp
cvpcb/autosel.cpp
+2
-8
class_footprints_listbox.cpp
cvpcb/class_footprints_listbox.cpp
+8
-16
cvframe.cpp
cvpcb/cvframe.cpp
+45
-0
footprint_info.h
cvpcb/footprint_info.h
+70
-1
listlib.cpp
cvpcb/listlib.cpp
+16
-46
setvisu.cpp
cvpcb/setvisu.cpp
+1
-3
id.h
include/id.h
+1
-1
onleftclick.cpp
pcbnew/onleftclick.cpp
+2
-5
No files found.
cvpcb/autosel.cpp
View file @
6910df39
...
...
@@ -149,14 +149,8 @@ found in the default search paths." ),
if
(
alias
.
m_Name
.
CmpNoCase
(
component
.
m_Value
)
!=
0
)
continue
;
BOOST_FOREACH
(
FOOTPRINT_INFO
&
footprint
,
m_footprints
)
{
if
(
alias
.
m_FootprintName
.
CmpNoCase
(
footprint
.
m_Module
)
==
0
)
{
SetNewPkg
(
footprint
.
m_Module
);
break
;
}
}
if
(
m_footprints
.
GetModuleInfo
(
alias
.
m_FootprintName
)
)
SetNewPkg
(
alias
.
m_FootprintName
);
if
(
component
.
m_Module
.
IsEmpty
()
)
{
...
...
cvpcb/class_footprints_listbox.cpp
View file @
6910df39
...
...
@@ -12,17 +12,6 @@
#include "cvstruct.h"
FOOTPRINT_INFO
*
GetModuleDescrByName
(
const
wxString
&
FootprintName
,
FOOTPRINT_LIST
&
list
)
{
BOOST_FOREACH
(
FOOTPRINT_INFO
&
footprint
,
list
)
{
if
(
footprint
.
m_Module
==
FootprintName
)
return
&
footprint
;
}
return
NULL
;
}
/***************************************/
/* ListBox handling the footprint list */
/***************************************/
...
...
@@ -127,9 +116,11 @@ void FOOTPRINTS_LISTBOX::SetFootprintFullList( FOOTPRINT_LIST& list )
m_FullFootprintList
.
Clear
();
BOOST_FOREACH
(
FOOTPRINT_INFO
&
footprint
,
list
)
{
for
(
unsigned
ii
=
0
;
ii
<
list
.
GetCount
();
ii
++
)
{
FOOTPRINT_INFO
&
footprint
=
list
.
GetItem
(
ii
);
msg
.
Printf
(
wxT
(
"%3d %s"
),
m_FullFootprintList
.
GetCount
()
+
1
,
footprint
.
m_Module
.
GetData
(
)
);
GetChars
(
footprint
.
m_Module
)
);
m_FullFootprintList
.
Add
(
msg
);
}
...
...
@@ -145,7 +136,6 @@ void FOOTPRINTS_LISTBOX::SetFootprintFullList( FOOTPRINT_LIST& list )
void
FOOTPRINTS_LISTBOX
::
SetFootprintFilteredList
(
COMPONENT
*
Component
,
FOOTPRINT_LIST
&
list
)
{
FOOTPRINT_LIST
::
iterator
i
;
wxString
msg
;
unsigned
jj
;
int
OldSelection
=
GetSelection
();
...
...
@@ -153,7 +143,9 @@ void FOOTPRINTS_LISTBOX::SetFootprintFilteredList( COMPONENT* Component,
m_FilteredFootprintList
.
Clear
();
BOOST_FOREACH
(
FOOTPRINT_INFO
&
footprint
,
list
)
{
for
(
unsigned
ii
=
0
;
ii
<
list
.
GetCount
();
ii
++
)
{
FOOTPRINT_INFO
&
footprint
=
list
.
GetItem
(
ii
);
/* Search for matching footprints */
for
(
jj
=
0
;
jj
<
Component
->
m_FootprintFilter
.
GetCount
();
jj
++
)
{
...
...
@@ -250,7 +242,7 @@ void FOOTPRINTS_LISTBOX::OnLeftClick( wxListEvent& event )
FOOTPRINT_INFO
*
Module
;
wxString
FootprintName
=
GetSelectedFootprint
();
Module
=
Get
ModuleDescrByName
(
FootprintName
,
GetParent
()
->
m_footprints
);
Module
=
Get
Parent
()
->
m_footprints
.
GetModuleInfo
(
FootprintName
);
wxASSERT
(
Module
);
if
(
GetParent
()
->
DrawFrame
)
{
...
...
cvpcb/cvframe.cpp
View file @
6910df39
...
...
@@ -17,6 +17,8 @@
#include "dialog_cvpcb_config.h"
#include "class_DisplayFootprintsFrame.h"
#include "cvpcb_id.h"
#include "dialog_load_error.h"
#include "build_version.h"
...
...
@@ -603,3 +605,46 @@ void CVPCB_MAINFRAME::DisplayStatus()
msg
.
Empty
();
SetStatusText
(
msg
,
2
);
}
/*
* Read the list of libraries (*.mod files) and populates m_footprints
* ( list of availaible modules in libs ).
* for each module are stored
* the module name
* documentation string
* associated keywords
*/
bool
CVPCB_MAINFRAME
::
LoadFootprintFiles
(
)
{
/* Check if there are footprint libraries in project file */
if
(
m_ModuleLibNames
.
GetCount
()
==
0
)
{
wxMessageBox
(
_
(
"No PCB footprint libraries are listed in the current project file."
),
_
(
"Project File Error"
),
wxOK
|
wxICON_ERROR
);
return
false
;
}
m_footprints
.
ReadFootprintFiles
(
m_ModuleLibNames
);
/* Display error messages, if any */
if
(
!
m_footprints
.
m_filesNotFound
.
IsEmpty
()
||
!
m_footprints
.
m_filesInvalid
.
IsEmpty
()
)
{
DIALOG_LOAD_ERROR
dialog
(
NULL
);
if
(
!
m_footprints
.
m_filesNotFound
.
IsEmpty
()
)
{
wxString
message
=
_
(
"Some files could not be found!"
);
dialog
.
MessageSet
(
message
);
dialog
.
ListSet
(
m_footprints
.
m_filesNotFound
);
}
/* Display if there are invalid files */
if
(
!
m_footprints
.
m_filesInvalid
.
IsEmpty
()
)
{
dialog
.
MessageSet
(
_
(
"Some files are invalid!"
));
dialog
.
ListSet
(
m_footprints
.
m_filesInvalid
);
}
dialog
.
ShowModal
();
}
return
true
;
}
cvpcb/footprint_info.h
View file @
6910df39
...
...
@@ -27,7 +27,76 @@ public:
}
};
typedef
boost
::
ptr_vector
<
FOOTPRINT_INFO
>
FOOTPRINT_LIST
;
class
FOOTPRINT_LIST
{
public
:
boost
::
ptr_vector
<
FOOTPRINT_INFO
>
m_List
;
wxString
m_filesNotFound
;
wxString
m_filesInvalid
;
public
:
/**
* Function GetCount
* @return the number of items stored in list
*/
unsigned
GetCount
()
{
return
m_List
.
size
();
}
/**
* Function GetModuleInfo
* @return the item stored in list if found
* @param aFootprintName = the name of item
*/
FOOTPRINT_INFO
*
GetModuleInfo
(
const
wxString
&
aFootprintName
)
{
BOOST_FOREACH
(
FOOTPRINT_INFO
&
footprint
,
m_List
)
{
if
(
aFootprintName
.
CmpNoCase
(
footprint
.
m_Module
)
==
0
)
return
&
footprint
;
}
return
NULL
;
}
/**
* Function GetItem
* @return the aIdx item in list
* @param aIdx = index of the given item
*/
FOOTPRINT_INFO
&
GetItem
(
unsigned
aIdx
)
{
return
m_List
[
aIdx
];
}
/**
* Function AddItem
* add aItem in list
* @param aItem = item to add
*/
void
AddItem
(
FOOTPRINT_INFO
*
aItem
)
{
m_List
.
push_back
(
aItem
);
}
/**
* Function ReadFootprintFiles
* Read the list of libraries (*.mod files) and populates m_List ( list of availaible modules in libs ).
* for each module, are stored
* the module name
* documentation string
* associated keywords
* library name
* Module description format:
* $MODULE c64acmd First line of module description
* Li c64acmd DIN connector Library reference
* Cd Europe 96 AC male vertical documentation string
* Kw PAD_CONN DIN associated keywords
* ...... other data (pads, outlines ..)
* $Endmodule
*
* @param aFootprintsLibNames = an array string giving the list of libraries to load
*/
bool
ReadFootprintFiles
(
wxArrayString
&
aFootprintsLibNames
);
};
/* FOOTPRINT object list sort function. */
inline
bool
operator
<
(
const
FOOTPRINT_INFO
&
item1
,
const
FOOTPRINT_INFO
&
item2
)
...
...
cvpcb/listlib.cpp
View file @
6910df39
...
...
@@ -4,7 +4,7 @@
/*
* Functions to read footprint libraries and fill m_footprints by avail
l
able footprints names
* Functions to read footprint libraries and fill m_footprints by available footprints names
* and their documentation (comments and keywords)
*/
#include "fctsys.h"
...
...
@@ -20,14 +20,13 @@
#include "filter_reader.h"
#include "footprint_info.h"
#include "dialog_load_error.h"
/*
* Read the list of libraries (*.mod files) and populates m_footprints ( list of availaible modules in libs ).
/* Read the list of libraries (*.mod files)
* for each module are stored
* the module name
* documentation string
* associated keywords
* lib name
* Module description format:
* $MODULE c64acmd First line of module description
* Li c64acmd DIN connector Library reference
...
...
@@ -35,39 +34,29 @@
* Kw PAD_CONN DIN associated keywords
* ...... other data (pads, outlines ..)
* $Endmodule
*
*/
bool
CVPCB_MAINFRAME
::
LoadFootprintFiles
(
)
bool
FOOTPRINT_LIST
::
ReadFootprintFiles
(
wxArrayString
&
aFootprintsLibNames
)
{
FILE
*
file
;
wxFileName
filename
;
wxString
libname
;
wxString
files_not_found
;
wxString
files_invalid
;
/* Check if footprint m_footprints is not empty */
if
(
!
m_footprints
.
empty
()
)
m_footprints
.
clear
();
/* Check if there are footprint libraries in project file */
if
(
m_ModuleLibNames
.
GetCount
()
==
0
)
{
wxMessageBox
(
_
(
"No PCB footprint libraries are listed in the current project file."
),
_
(
"Project File Error"
),
wxOK
|
wxICON_ERROR
);
return
false
;
}
// Clear data before reading files
m_filesNotFound
.
Empty
();
m_filesInvalid
.
Empty
();
m_List
.
clear
();
/* Parse Libraries Listed */
for
(
unsigned
ii
=
0
;
ii
<
m_Module
LibNames
.
GetCount
();
ii
++
)
for
(
unsigned
ii
=
0
;
ii
<
aFootprints
LibNames
.
GetCount
();
ii
++
)
{
filename
=
m_Module
LibNames
[
ii
];
filename
=
aFootprints
LibNames
[
ii
];
filename
.
SetExt
(
ModuleFileExtension
);
libname
=
wxGetApp
().
FindLibraryPath
(
filename
);
if
(
libname
.
IsEmpty
()
)
{
files_not_f
ound
<<
filename
.
GetFullName
()
<<
wxT
(
"
\n
"
);
m_filesNotF
ound
<<
filename
.
GetFullName
()
<<
wxT
(
"
\n
"
);
continue
;
}
...
...
@@ -76,7 +65,7 @@ bool CVPCB_MAINFRAME::LoadFootprintFiles( )
if
(
file
==
NULL
)
{
files_i
nvalid
<<
libname
<<
_
(
" (file cannot be opened)"
)
<<
wxT
(
"
\n
"
);
m_filesI
nvalid
<<
libname
<<
_
(
" (file cannot be opened)"
)
<<
wxT
(
"
\n
"
);
continue
;
}
...
...
@@ -93,7 +82,7 @@ bool CVPCB_MAINFRAME::LoadFootprintFiles( )
wxString
msg
;
msg
.
Printf
(
_
(
"<%s> is not a valid Kicad PCB footprint library."
),
GetChars
(
libname
)
);
files_i
nvalid
<<
msg
<<
wxT
(
"
\n
"
);
m_filesI
nvalid
<<
msg
<<
wxT
(
"
\n
"
);
continue
;
}
...
...
@@ -115,7 +104,7 @@ bool CVPCB_MAINFRAME::LoadFootprintFiles( )
FOOTPRINT_INFO
*
ItemLib
=
new
FOOTPRINT_INFO
();
ItemLib
->
m_Module
=
CONV_FROM_UTF8
(
StrPurge
(
line
)
);
ItemLib
->
m_LibName
=
libname
;
m_footprints
.
push_back
(
ItemLib
);
AddItem
(
ItemLib
);
while
(
reader
.
ReadLine
()
)
{
...
...
@@ -143,30 +132,11 @@ bool CVPCB_MAINFRAME::LoadFootprintFiles( )
if
(
!
end
)
{
files_i
nvalid
<<
libname
<<
_
(
" (Unexpected end of file)"
)
<<
wxT
(
"
\n
"
);
m_filesI
nvalid
<<
libname
<<
_
(
" (Unexpected end of file)"
)
<<
wxT
(
"
\n
"
);
}
}
m_footprints
.
sort
();
/* Display error messages, if any */
if
(
!
files_not_found
.
IsEmpty
()
||
!
files_invalid
.
IsEmpty
()
)
{
DIALOG_LOAD_ERROR
dialog
(
NULL
);
if
(
!
files_not_found
.
IsEmpty
()
)
{
wxString
message
=
_
(
"Some files could not be found!"
);
dialog
.
MessageSet
(
message
);
dialog
.
ListSet
(
files_not_found
);
}
/* Display if there are invalid files */
if
(
!
files_invalid
.
IsEmpty
()
)
{
dialog
.
MessageSet
(
_
(
"Some files are invalid!"
));
dialog
.
ListSet
(
files_invalid
);
}
dialog
.
ShowModal
();
}
m_List
.
sort
();
return
true
;
}
cvpcb/setvisu.cpp
View file @
6910df39
...
...
@@ -20,8 +20,6 @@
#include "3d_viewer.h"
extern
FOOTPRINT_INFO
*
GetModuleDescrByName
(
const
wxString
&
FootprintName
,
FOOTPRINT_LIST
&
list
);
/*
* Create or Update the frame showing the current highlighted footprint
* and (if showed) the 3D display frame
...
...
@@ -48,7 +46,7 @@ void CVPCB_MAINFRAME::CreateScreenCmp()
{
msg
=
_
(
"Footprint: "
)
+
FootprintName
;
DrawFrame
->
SetTitle
(
msg
);
FOOTPRINT_INFO
*
Module
=
GetModuleDescrByName
(
FootprintName
,
m_footprints
);
FOOTPRINT_INFO
*
Module
=
m_footprints
.
GetModuleInfo
(
FootprintName
);
msg
=
_
(
"Lib: "
);
if
(
Module
)
...
...
include/id.h
View file @
6910df39
...
...
@@ -208,6 +208,7 @@ enum main_id
ID_TB_OPTIONS_SELECT_CURSOR
,
ID_TB_OPTIONS_SHOW_POLAR_COORD
,
ID_TB_OPTIONS_SHOW_GRID
,
ID_TB_OPTIONS_SHOW_PADS_SKETCH
,
ID_TB_OPTIONS_SHOW_ZONES
,
ID_TB_OPTIONS_SHOW_ZONES_DISABLE
,
...
...
@@ -222,7 +223,6 @@ enum main_id
ID_TB_OPTIONS_HIDDEN_PINS
,
ID_TB_OPTIONS_BUS_WIRES_ORIENT
,
ID_TB_OPTIONS_SHOW_PADS_SKETCH
,
ID_TB_OPTIONS_SHOW_VIAS_SKETCH
,
ID_TB_OPTIONS_SHOW_TRACKS_SKETCH
,
ID_TB_OPTIONS_SHOW_MODULE_TEXT_SKETCH
,
...
...
pcbnew/onleftclick.cpp
View file @
6910df39
...
...
@@ -78,11 +78,8 @@ void WinEDA_PcbFrame::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
break
;
case
TYPE_DRAWSEGMENT
:
if
(
m_ID_current_state
==
0
)
{
Place_DrawItem
(
(
DRAWSEGMENT
*
)
DrawStruct
,
aDC
);
exit
=
true
;
}
Place_DrawItem
(
(
DRAWSEGMENT
*
)
DrawStruct
,
aDC
);
exit
=
true
;
break
;
case
TYPE_DIMENSION
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment