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
dc35a18c
Commit
dc35a18c
authored
Dec 28, 2010
by
Dick Hollenbeck
Browse files
Options
Browse Files
Download
Plain Diff
merge from testing, new work
parents
4e97b4e1
258cebf1
Changes
34
Show whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
312 additions
and
159 deletions
+312
-159
CHANGELOG.txt
CHANGELOG.txt
+14
-0
TokenList2DsnLexer.cmake
CMakeModules/TokenList2DsnLexer.cmake
+21
-3
build_version.cpp
common/build_version.cpp
+1
-1
common_plotDXF_functions.cpp
common/common_plotDXF_functions.cpp
+10
-12
drawtxt.cpp
common/drawtxt.cpp
+18
-16
dsnlexer.cpp
common/dsnlexer.cpp
+25
-1
richio.cpp
common/richio.cpp
+12
-10
xnode.cpp
common/xnode.cpp
+5
-7
block.cpp
eeschema/block.cpp
+5
-4
sch_items.h
eeschema/sch_items.h
+1
-1
base_struct.h
include/base_struct.h
+7
-7
class_base_screen.h
include/class_base_screen.h
+1
-1
class_board_item.h
include/class_board_item.h
+2
-2
class_drawpanel.h
include/class_drawpanel.h
+13
-3
drawtxt.h
include/drawtxt.h
+3
-1
dsnlexer.h
include/dsnlexer.h
+33
-11
gr_basic.h
include/gr_basic.h
+1
-3
hotkeys_basic.h
include/hotkeys_basic.h
+1
-1
kicad_exceptions.h
include/kicad_exceptions.h
+4
-0
richio.h
include/richio.h
+3
-4
wxBasePcbFrame.h
include/wxBasePcbFrame.h
+6
-4
wxEeschemaStruct.h
include/wxEeschemaStruct.h
+3
-3
wxstruct.h
include/wxstruct.h
+1
-1
xnode.h
include/xnode.h
+6
-0
sch_lib_table.cpp
new/sch_lib_table.cpp
+56
-6
sch_lib_table.h
new/sch_lib_table.h
+34
-32
board_undo_redo.cpp
pcbnew/board_undo_redo.cpp
+1
-1
class_text_mod.cpp
pcbnew/class_text_mod.cpp
+4
-4
class_text_mod.h
pcbnew/class_text_mod.h
+1
-1
gen_drill_report_files.cpp
pcbnew/gen_drill_report_files.cpp
+5
-4
gen_holes_and_tools_lists_for_drill.cpp
pcbnew/gen_holes_and_tools_lists_for_drill.cpp
+1
-1
gendrill.h
pcbnew/gendrill.h
+8
-9
gpcb_exchange.cpp
pcbnew/gpcb_exchange.cpp
+3
-3
muonde.cpp
pcbnew/muonde.cpp
+3
-2
No files found.
CHANGELOG.txt
View file @
dc35a18c
...
@@ -4,6 +4,20 @@ KiCad ChangeLog 2010
...
@@ -4,6 +4,20 @@ KiCad ChangeLog 2010
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.
2010-Dec-28 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
++new:
Completed a good portion of /new class LIB_TABLE.
Starting LPID.
++common:
Tricked xnode.h into not issuing deprecation warnings.
++richio:
* Added support of DSNLEXER( LINE_READER* ) to TokenList2DsnLexer.cmake, which
allows the chaining of different grammars on top of a common LINE_READER.
* Changed OUTPUT_FORMATTER::Quoted() to return a std::string and not modify
its input parameter.
2010-dec-21 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
2010-dec-21 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
================================================================================
================================================================================
++all
++all
...
...
CMakeModules/TokenList2DsnLexer.cmake
View file @
dc35a18c
...
@@ -223,8 +223,9 @@ using namespace DSN; // enum ${enum} is in this namespace
...
@@ -223,8 +223,9 @@ using namespace DSN; // enum ${enum} is in this namespace
class
${
RESULT
}
_LEXER : public DSNLEXER
class
${
RESULT
}
_LEXER : public DSNLEXER
{
{
public:
public:
/**
/**
* Constructor
${
RESULT
}
_LEXER
* Constructor
( const std::string&, const wxString& )
* @param aSExpression is (utf8) text possibly from the clipboard that you want to parse.
* @param aSExpression is (utf8) text possibly from the clipboard that you want to parse.
* @param aSource is a description of the origin of @a aSExpression, such as a filename.
* @param aSource is a description of the origin of @a aSExpression, such as a filename.
* If left empty, then _("
clipboard
") is used.
* If left empty, then _("
clipboard
") is used.
...
@@ -236,7 +237,7 @@ public:
...
@@ -236,7 +237,7 @@ public:
}
}
/**
/**
* Constructor
${
RESULT
}
_LEXER
* Constructor
( FILE* )
* takes @a aFile already opened for reading and @a aFilename as parameters.
* takes @a aFile already opened for reading and @a aFilename as parameters.
* The opened file is assumed to be positioned at the beginning of the file
* The opened file is assumed to be positioned at the beginning of the file
* for purposes of accurate line number reporting in error messages. The
* for purposes of accurate line number reporting in error messages. The
...
@@ -250,6 +251,23 @@ public:
...
@@ -250,6 +251,23 @@ public:
{
{
}
}
/**
* Constructor ( LINE_READER* )
* intializes a lexer and prepares to read from @a aLineReader which
* is assumed ready, and may be in use by other DSNLEXERs also. No ownership
* is taken of @a aLineReader. This enables it to be used by other lexers also.
* The transition between grammars in such a case, must happen on a text
* line boundary, not within the same line of text.
*
* @param aLineReader is any subclassed instance of LINE_READER, such as
* STRING_LINE_READER or FILE_LINE_READER. No ownership is taken of aLineReader.
*/
${
RESULT
}
_LEXER( LINE_READER* aLineReader ) :
DSNLEXER( DSN::
${
result
}
_keywords, DSN::
${
result
}
_keyword_count,
aLineReader )
{
}
/**
/**
* Function NextTok
* Function NextTok
* returns the next token found in the input file or T_EOF when reaching
* returns the next token found in the input file or T_EOF when reaching
...
...
common/build_version.cpp
View file @
dc35a18c
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
#endif
#endif
#ifndef KICAD_BUILD_VERSION
#ifndef KICAD_BUILD_VERSION
#define KICAD_BUILD_VERSION "(2010-12-2
2 BZR 2676
)"
#define KICAD_BUILD_VERSION "(2010-12-2
3 BZR 2682
)"
#endif
#endif
//#define VERSION_STABILITY "stable"
//#define VERSION_STABILITY "stable"
...
...
common/common_plotDXF_functions.cpp
View file @
dc35a18c
...
@@ -170,29 +170,27 @@ void DXF_PLOTTER::pen_to( wxPoint pos, char plume )
...
@@ -170,29 +170,27 @@ void DXF_PLOTTER::pen_to( wxPoint pos, char plume )
void
DXF_PLOTTER
::
set_dash
(
bool
dashed
)
void
DXF_PLOTTER
::
set_dash
(
bool
dashed
)
{
{
/* NOP for now */
/* NOP for now */
wxASSERT
(
output_file
);
}
}
/**
/**
* Function Plot a filled segment (track)
* Function thick_segment
* @param start = starting point
* Plot a filled segment (track)
* @param end = ending point
* @param aStart = starting point
* @param aEnd = ending point
* @param aWidth = segment width (thickness)
* @param aWidth = segment width (thickness)
* @param aPlotMode = FILLED, SKETCH ..
* @param aPlotMode = FILLED, SKETCH ..
*/
*/
void
DXF_PLOTTER
::
thick_segment
(
wxPoint
start
,
wxPoint
end
,
int
w
idth
,
void
DXF_PLOTTER
::
thick_segment
(
wxPoint
aStart
,
wxPoint
aEnd
,
int
aW
idth
,
GRTraceMode
tracem
ode
)
GRTraceMode
aPlotM
ode
)
{
{
wxASSERT
(
output_file
);
if
(
aPlotMode
==
FILAIRE
)
/* just a line is Ok */
if
(
tracemode
==
FILAIRE
)
/* just a line is Ok */
{
{
move_to
(
s
tart
);
move_to
(
aS
tart
);
finish_to
(
e
nd
);
finish_to
(
aE
nd
);
}
}
else
else
segment_as_oval
(
start
,
end
,
width
,
tracem
ode
);
segment_as_oval
(
aStart
,
aEnd
,
aWidth
,
aPlotM
ode
);
}
}
...
...
common/drawtxt.cpp
View file @
dc35a18c
...
@@ -157,21 +157,21 @@ static void DrawGraphicTextPline(
...
@@ -157,21 +157,21 @@ static void DrawGraphicTextPline(
wxDC
*
aDC
,
wxDC
*
aDC
,
EDA_Colors
aColor
,
EDA_Colors
aColor
,
int
aWidth
,
int
aWidth
,
bool
sketch_m
ode
,
bool
aSketchM
ode
,
int
point_count
,
int
point_count
,
wxPoint
*
coord
,
wxPoint
*
coord
,
void
(
*
aCallback
)(
int
x0
,
int
y0
,
int
xf
,
int
yf
),
void
(
*
aCallback
)(
int
x0
,
int
y0
,
int
xf
,
int
yf
),
PLOTTER
*
p
lotter
)
PLOTTER
*
aP
lotter
)
{
{
if
(
p
lotter
)
if
(
aP
lotter
)
{
{
p
lotter
->
move_to
(
coord
[
0
]
);
aP
lotter
->
move_to
(
coord
[
0
]
);
for
(
int
ik
=
1
;
ik
<
point_count
;
ik
++
)
for
(
int
ik
=
1
;
ik
<
point_count
;
ik
++
)
{
{
p
lotter
->
line_to
(
coord
[
ik
]
);
aP
lotter
->
line_to
(
coord
[
ik
]
);
}
}
p
lotter
->
pen_finish
();
aP
lotter
->
pen_finish
();
}
}
else
if
(
aCallback
)
else
if
(
aCallback
)
{
{
...
@@ -181,7 +181,7 @@ static void DrawGraphicTextPline(
...
@@ -181,7 +181,7 @@ static void DrawGraphicTextPline(
coord
[
ik
+
1
].
x
,
coord
[
ik
+
1
].
y
);
coord
[
ik
+
1
].
x
,
coord
[
ik
+
1
].
y
);
}
}
}
}
else
if
(
sketch_m
ode
)
else
if
(
aSketchM
ode
)
{
{
for
(
int
ik
=
0
;
ik
<
(
point_count
-
1
);
ik
++
)
for
(
int
ik
=
0
;
ik
<
(
point_count
-
1
);
ik
++
)
GRCSegm
(
aClipBox
,
aDC
,
coord
[
ik
].
x
,
coord
[
ik
].
y
,
GRCSegm
(
aClipBox
,
aDC
,
coord
[
ik
].
x
,
coord
[
ik
].
y
,
...
@@ -218,8 +218,11 @@ static int overbar_position( int size_v, int thickness )
...
@@ -218,8 +218,11 @@ static int overbar_position( int size_v, int thickness )
* Use a value min(aSize.x, aSize.y) / 5 for a bold text
* Use a value min(aSize.x, aSize.y) / 5 for a bold text
* @param aItalic = true to simulate an italic font
* @param aItalic = true to simulate an italic font
* @param aBold = true to use a bold font. Useful only with default width value (aWidth = 0)
* @param aBold = true to use a bold font. Useful only with default width value (aWidth = 0)
* @param aCallback() = function called (if non null) to draw each segment.
* used to draw 3D texts or for plotting, NULL for normal drawings
* @param aPlotter = a pointer to a PLOTTER instance, when this function is used to plot
* the text. NULL to draw this text.
*/
*/
/****************************************************************************************************/
void
DrawGraphicText
(
WinEDA_DrawPanel
*
aPanel
,
void
DrawGraphicText
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
aDC
,
wxDC
*
aDC
,
const
wxPoint
&
aPos
,
const
wxPoint
&
aPos
,
...
@@ -233,8 +236,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
...
@@ -233,8 +236,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
bool
aItalic
,
bool
aItalic
,
bool
aBold
,
bool
aBold
,
void
(
*
aCallback
)(
int
x0
,
int
y0
,
int
xf
,
int
yf
),
void
(
*
aCallback
)(
int
x0
,
int
y0
,
int
xf
,
int
yf
),
PLOTTER
*
plotter
)
PLOTTER
*
aPlotter
)
/****************************************************************************************************/
{
{
int
AsciiCode
;
int
AsciiCode
;
int
x0
,
y0
;
int
x0
,
y0
;
...
@@ -353,10 +355,10 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
...
@@ -353,10 +355,10 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
RotatePoint
(
&
current_char_pos
,
aPos
,
aOrient
);
RotatePoint
(
&
current_char_pos
,
aPos
,
aOrient
);
RotatePoint
(
&
end
,
aPos
,
aOrient
);
RotatePoint
(
&
end
,
aPos
,
aOrient
);
if
(
p
lotter
)
if
(
aP
lotter
)
{
{
p
lotter
->
move_to
(
current_char_pos
);
aP
lotter
->
move_to
(
current_char_pos
);
p
lotter
->
finish_to
(
end
);
aP
lotter
->
finish_to
(
end
);
}
}
else
if
(
aCallback
)
else
if
(
aCallback
)
{
{
...
@@ -410,7 +412,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
...
@@ -410,7 +412,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
coord
[
1
]
=
overbar_pos
;
coord
[
1
]
=
overbar_pos
;
/* Plot the overbar segment */
/* Plot the overbar segment */
DrawGraphicTextPline
(
clipBox
,
aDC
,
aColor
,
aWidth
,
DrawGraphicTextPline
(
clipBox
,
aDC
,
aColor
,
aWidth
,
sketch_mode
,
2
,
coord
,
aCallback
,
p
lotter
);
sketch_mode
,
2
,
coord
,
aCallback
,
aP
lotter
);
}
}
continue
;
/* Skip ~ processing */
continue
;
/* Skip ~ processing */
}
}
...
@@ -450,7 +452,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
...
@@ -450,7 +452,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
aWidth
=
0
;
aWidth
=
0
;
DrawGraphicTextPline
(
clipBox
,
aDC
,
aColor
,
aWidth
,
DrawGraphicTextPline
(
clipBox
,
aDC
,
aColor
,
aWidth
,
sketch_mode
,
point_count
,
coord
,
sketch_mode
,
point_count
,
coord
,
aCallback
,
p
lotter
);
aCallback
,
aP
lotter
);
}
}
point_count
=
0
;
point_count
=
0
;
}
}
...
@@ -492,7 +494,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
...
@@ -492,7 +494,7 @@ void DrawGraphicText( WinEDA_DrawPanel* aPanel,
coord
[
1
]
=
overbar_pos
;
coord
[
1
]
=
overbar_pos
;
/* Plot the overbar segment */
/* Plot the overbar segment */
DrawGraphicTextPline
(
clipBox
,
aDC
,
aColor
,
aWidth
,
DrawGraphicTextPline
(
clipBox
,
aDC
,
aColor
,
aWidth
,
sketch_mode
,
2
,
coord
,
aCallback
,
p
lotter
);
sketch_mode
,
2
,
coord
,
aCallback
,
aP
lotter
);
}
}
}
}
...
...
common/dsnlexer.cpp
View file @
dc35a18c
...
@@ -62,6 +62,7 @@ void DSNLEXER::init()
...
@@ -62,6 +62,7 @@ void DSNLEXER::init()
DSNLEXER
::
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
DSNLEXER
::
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
FILE
*
aFile
,
const
wxString
&
aFilename
)
:
FILE
*
aFile
,
const
wxString
&
aFilename
)
:
iOwnReaders
(
true
),
keywords
(
aKeywordTable
),
keywords
(
aKeywordTable
),
keywordCount
(
aKeywordCount
)
keywordCount
(
aKeywordCount
)
{
{
...
@@ -73,6 +74,7 @@ DSNLEXER::DSNLEXER( const KEYWORD* aKeywordTable, unsigned aKeywordCount,
...
@@ -73,6 +74,7 @@ DSNLEXER::DSNLEXER( const KEYWORD* aKeywordTable, unsigned aKeywordCount,
DSNLEXER
::
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
DSNLEXER
::
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
const
std
::
string
&
aClipboardTxt
,
const
wxString
&
aSource
)
:
const
std
::
string
&
aClipboardTxt
,
const
wxString
&
aSource
)
:
iOwnReaders
(
true
),
keywords
(
aKeywordTable
),
keywords
(
aKeywordTable
),
keywordCount
(
aKeywordCount
)
keywordCount
(
aKeywordCount
)
{
{
...
@@ -83,6 +85,28 @@ DSNLEXER::DSNLEXER( const KEYWORD* aKeywordTable, unsigned aKeywordCount,
...
@@ -83,6 +85,28 @@ DSNLEXER::DSNLEXER( const KEYWORD* aKeywordTable, unsigned aKeywordCount,
}
}
DSNLEXER
::
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
LINE_READER
*
aLineReader
)
:
iOwnReaders
(
false
),
keywords
(
aKeywordTable
),
keywordCount
(
aKeywordCount
)
{
PushReader
(
aLineReader
);
init
();
}
DSNLEXER
::~
DSNLEXER
()
{
if
(
iOwnReaders
)
{
// delete the LINE_READERs from the stack, since I own them.
for
(
READER_STACK
::
iterator
it
=
readerStack
.
begin
();
it
!=
readerStack
.
end
();
++
it
)
delete
*
it
;
}
}
void
DSNLEXER
::
PushReader
(
LINE_READER
*
aLineReader
)
void
DSNLEXER
::
PushReader
(
LINE_READER
*
aLineReader
)
{
{
readerStack
.
push_back
(
aLineReader
);
readerStack
.
push_back
(
aLineReader
);
...
@@ -102,7 +126,7 @@ bool DSNLEXER::PopReader()
...
@@ -102,7 +126,7 @@ bool DSNLEXER::PopReader()
{
{
readerStack
.
pop_back
();
readerStack
.
pop_back
();
reader
=
&
readerStack
.
back
();
reader
=
readerStack
.
back
();
start
=
(
char
*
)
(
*
reader
);
start
=
(
char
*
)
(
*
reader
);
// force a new readLine() as first thing.
// force a new readLine() as first thing.
...
...
common/richio.cpp
View file @
dc35a18c
...
@@ -278,30 +278,32 @@ int OUTPUTFORMATTER::Print( int nestLevel, const char* fmt, ... ) throw( IO_ERRO
...
@@ -278,30 +278,32 @@ int OUTPUTFORMATTER::Print( int nestLevel, const char* fmt, ... ) throw( IO_ERRO
}
}
const
char
*
OUTPUTFORMATTER
::
Quoted
(
std
::
string
*
aWrapee
)
throw
(
IO_ERROR
)
std
::
string
OUTPUTFORMATTER
::
Quoted
(
const
std
::
string
&
aWrapee
)
throw
(
IO_ERROR
)
{
{
// derived class's notion of what a quote character is
// derived class's notion of what a quote character is
char
quote
=
*
GetQuoteChar
(
"("
);
char
quote
=
*
GetQuoteChar
(
"("
);
// Will the string be wrapped based on its interior content?
// Will the string be wrapped based on its interior content?
const
char
*
squote
=
GetQuoteChar
(
aWrapee
->
c_str
()
);
const
char
*
squote
=
GetQuoteChar
(
aWrapee
.
c_str
()
);
std
::
string
wrapee
=
aWrapee
;
// return this
// Search the interior of the string for 'quote' chars
// Search the interior of the string for 'quote' chars
// and replace them as found with duplicated quotes.
// and replace them as found with duplicated quotes.
// Note that necessarily any string which has internal quotes will
// Note that necessarily any string which has internal quotes will
// also be wrapped in quotes later in this function.
// also be wrapped in quotes later in this function.
for
(
unsigned
i
=
0
;
i
<
aWrapee
->
size
();
++
i
)
for
(
unsigned
i
=
0
;
i
<
wrapee
.
size
();
++
i
)
{
{
if
(
(
*
aWrapee
)
[
i
]
==
quote
)
if
(
wrapee
[
i
]
==
quote
)
{
{
aWrapee
->
insert
(
aWrapee
->
begin
()
+
i
,
quote
);
wrapee
.
insert
(
wrapee
.
begin
()
+
i
,
quote
);
++
i
;
++
i
;
}
}
else
if
(
(
*
aWrapee
)[
0
]
==
'\r'
||
(
*
aWrapee
)[
0
]
==
'\n'
)
else
if
(
wrapee
[
i
]
==
'\r'
||
wrapee
[
i
]
==
'\n'
)
{
{
// In a desire to maintain accurate line number reporting within DSNLEXER
// In a desire to maintain accurate line number reporting within DSNLEXER
// a decision was made to make all S-expression strings be on a single
// a decision was made to make all S-expression strings be on a single
// line. You can embed
d
\n (human readable) in the text but not
// line. You can embed \n (human readable) in the text but not
// '\n' which is 0x0a.
// '\n' which is 0x0a.
throw
IO_ERROR
(
_
(
"S-expression string has newline"
)
);
throw
IO_ERROR
(
_
(
"S-expression string has newline"
)
);
}
}
...
@@ -310,11 +312,11 @@ const char* OUTPUTFORMATTER::Quoted( std::string* aWrapee ) throw( IO_ERROR )
...
@@ -310,11 +312,11 @@ const char* OUTPUTFORMATTER::Quoted( std::string* aWrapee ) throw( IO_ERROR )
if
(
*
squote
)
if
(
*
squote
)
{
{
// wrap the beginning and end of the string in a quote.
// wrap the beginning and end of the string in a quote.
aWrapee
->
insert
(
aWrapee
->
begin
(),
quote
);
wrapee
.
insert
(
wrapee
.
begin
(),
quote
);
aWrapee
->
insert
(
aWrapee
->
end
(),
quote
);
wrapee
.
insert
(
wrapee
.
end
(),
quote
);
}
}
return
aWrapee
->
c_str
()
;
return
wrapee
;
}
}
...
...
common/xnode.cpp
View file @
dc35a18c
...
@@ -50,17 +50,14 @@ void XNODE::Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
...
@@ -50,17 +50,14 @@ void XNODE::Format( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERROR )
void
XNODE
::
FormatContents
(
OUTPUTFORMATTER
*
out
,
int
nestLevel
)
throw
(
IO_ERROR
)
void
XNODE
::
FormatContents
(
OUTPUTFORMATTER
*
out
,
int
nestLevel
)
throw
(
IO_ERROR
)
{
{
std
::
string
utf8
;
// output attributes first if they exist
// output attributes first if they exist
for
(
XATTR
*
attr
=
(
XATTR
*
)
GetAttributes
();
attr
;
attr
=
(
XATTR
*
)
attr
->
GetNext
()
)
for
(
XATTR
*
attr
=
(
XATTR
*
)
GetAttributes
();
attr
;
attr
=
(
XATTR
*
)
attr
->
GetNext
()
)
{
{
utf8
=
CONV_TO_UTF8
(
attr
->
GetValue
()
);
// capture the content
out
->
Print
(
0
,
" (%s %s)"
,
out
->
Print
(
0
,
" (%s %s)"
,
// attr names should never need quoting, no spaces, we designed the file.
// attr names should never need quoting, no spaces, we designed the file.
CONV_TO_UTF8
(
attr
->
GetName
()
),
CONV_TO_UTF8
(
attr
->
GetName
()
),
out
->
Quoted
(
&
utf8
)
);
out
->
Quoted
(
CONV_TO_UTF8
(
attr
->
GetValue
()
)
).
c_str
()
);
}
}
// we only expect to have used one of two types here:
// we only expect to have used one of two types here:
...
@@ -85,8 +82,9 @@ void XNODE::FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERRO
...
@@ -85,8 +82,9 @@ void XNODE::FormatContents( OUTPUTFORMATTER* out, int nestLevel ) throw( IO_ERRO
break
;
break
;
case
wxXML_TEXT_NODE
:
case
wxXML_TEXT_NODE
:
utf8
=
CONV_TO_UTF8
(
GetContent
()
);
out
->
Print
(
0
,
" %s"
,
out
->
Print
(
0
,
" %s"
,
out
->
Quoted
(
&
utf8
)
);
out
->
Quoted
(
CONV_TO_UTF8
(
GetContent
()
)
).
c_str
()
);
break
;
break
;
default
:
default
:
...
...
eeschema/block.cpp
View file @
dc35a18c
...
@@ -859,13 +859,14 @@ static void AddPickedItem( SCH_SCREEN* screen, wxPoint position )
...
@@ -859,13 +859,14 @@ static void AddPickedItem( SCH_SCREEN* screen, wxPoint position )
}
}
/** GetNextPinPosition()
/**
* Function GetNextPinPosition()
* calculate position of the "next" pin of the aDrawLibItem component
* calculate position of the "next" pin of the aDrawLibItem component
* @param aComponent = component to test.
* @param aComponent = component to test.
* @param aPosition = the
calculated pin position
, according to the component
* @param aPosition = the
actual next pin position in schematic
, according to the component
* orientation and position
* orientation and position
* @param a
SearchFirst = if true, search for the first pin
* @param a
Pin = search for the next pin after aPin. aPin = NULL to find the first pin in list
* @return a pointer to the
pin
* @return a pointer to the
next pin found or NULL
*/
*/
static
LIB_PIN
*
GetNextPinPosition
(
SCH_COMPONENT
*
aComponent
,
static
LIB_PIN
*
GetNextPinPosition
(
SCH_COMPONENT
*
aComponent
,
wxPoint
&
aPosition
,
wxPoint
&
aPosition
,
...
...
eeschema/sch_items.h
View file @
dc35a18c
/**
/**
* @file sch_item.h
* @file sch_item
s
.h
*
*
*/
*/
...
...
include/base_struct.h
View file @
dc35a18c
...
@@ -662,10 +662,10 @@ public:
...
@@ -662,10 +662,10 @@ public:
* @param aPanel = the current DrawPanel
* @param aPanel = the current DrawPanel
* @param aDC = the current Device Context
* @param aDC = the current Device Context
* @param aOffset = draw offset (usually (0,0))
* @param aOffset = draw offset (usually (0,0))
* @param
EDA_Colors
aColor = text color
* @param aColor = text color
* @param aDrawMode = GR_OR, GR_XOR.., -1 to use the current mode.
* @param aDrawMode = GR_OR, GR_XOR.., -1 to use the current mode.
* @param
GRTraceMode
aDisplay_mode = FILAIRE, FILLED or SKETCH
* @param aDisplay_mode = FILAIRE, FILLED or SKETCH
* @param
EDA_Colors
aAnchor_color = anchor color ( UNSPECIFIED_COLOR = do
* @param aAnchor_color = anchor color ( UNSPECIFIED_COLOR = do
* not draw anchor ).
* not draw anchor ).
*/
*/
void
Draw
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
aDC
,
void
Draw
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
aDC
,
...
@@ -682,13 +682,13 @@ private:
...
@@ -682,13 +682,13 @@ private:
* @param aPanel = the current DrawPanel
* @param aPanel = the current DrawPanel
* @param aDC = the current Device Context
* @param aDC = the current Device Context
* @param aOffset = draw offset (usually (0,0))
* @param aOffset = draw offset (usually (0,0))
* @param
EDA_Colors
aColor = text color
* @param aColor = text color
* @param aDrawMode = GR_OR, GR_XOR.., -1 to use the current mode.
* @param aDrawMode = GR_OR, GR_XOR.., -1 to use the current mode.
* @param aFillMode = FILAIRE, FILLED or SKETCH
* @param aFillMode = FILAIRE, FILLED or SKETCH
* @param
EDA_Colors
aAnchor_color = anchor color ( UNSPECIFIED_COLOR = do
* @param aAnchor_color = anchor color ( UNSPECIFIED_COLOR = do
* not draw anchor ).
* not draw anchor ).
* @param
EDA_Colors
aText = the single line of text to draw.
* @param aText = the single line of text to draw.
* @param
EDA_Colors
aPos = the position of this line ).
* @param aPos = the position of this line ).
*/
*/
void
DrawOneLineOfText
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
aDC
,
void
DrawOneLineOfText
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
aDC
,
const
wxPoint
&
aOffset
,
EDA_Colors
aColor
,
const
wxPoint
&
aOffset
,
EDA_Colors
aColor
,
...
...
include/class_base_screen.h
View file @
dc35a18c
...
@@ -270,7 +270,7 @@ public:
...
@@ -270,7 +270,7 @@ public:
/**
/**
* Function SetScalingFactor
* Function SetScalingFactor
* @param the the current scale used to draw items on screen
* @param
aScale =
the the current scale used to draw items on screen
* draw coordinates are user coordinates * GetScalingFactor( )
* draw coordinates are user coordinates * GetScalingFactor( )
*/
*/
void
SetScalingFactor
(
double
aScale
);
void
SetScalingFactor
(
double
aScale
);
...
...
include/class_board_item.h
View file @
dc35a18c
...
@@ -200,7 +200,7 @@ public:
...
@@ -200,7 +200,7 @@ public:
/**
/**
* Function Rotate
* Function Rotate
* Rotate this object.
* Rotate this object.
* @param
const wxPoint&
aRotCentre - the rotation point.
* @param aRotCentre - the rotation point.
* @param aAngle - the rotation angle in 0.1 degree.
* @param aAngle - the rotation angle in 0.1 degree.
*/
*/
virtual
void
Rotate
(
const
wxPoint
&
aRotCentre
,
int
aAngle
)
virtual
void
Rotate
(
const
wxPoint
&
aRotCentre
,
int
aAngle
)
...
@@ -211,7 +211,7 @@ public:
...
@@ -211,7 +211,7 @@ public:
/**
/**
* Function Flip
* Function Flip
* Flip this object, i.e. change the board side for this object
* Flip this object, i.e. change the board side for this object
* @param
const wxPoint&
aCentre - the rotation point.
* @param aCentre - the rotation point.
*/
*/
virtual
void
Flip
(
const
wxPoint
&
aCentre
)
virtual
void
Flip
(
const
wxPoint
&
aCentre
)
{
{
...
...
include/class_drawpanel.h
View file @
dc35a18c
...
@@ -115,10 +115,20 @@ public:
...
@@ -115,10 +115,20 @@ public:
* Function DrawAuxiliaryAxis
* Function DrawAuxiliaryAxis
* Draw the Auxiliary Axis, used in pcbnew which as origin coordinates
* Draw the Auxiliary Axis, used in pcbnew which as origin coordinates
* for gerber and excellon files
* for gerber and excellon files
* @param DC = current Device Context
* @param aDC = current Device Context
* @param aDrawMode = draw mode (GR_COPY, GR_OR ..)
*/
*/
void
DrawAuxiliaryAxis
(
wxDC
*
DC
,
int
drawmode
);
void
DrawAuxiliaryAxis
(
wxDC
*
aDC
,
int
aDrawMode
);
void
DrawGridAxis
(
wxDC
*
DC
,
int
drawmode
);
/**
* Function DrawGridAxis
* Draw on auxiliary axis, used in pcbnew to show grid origin, when
* the grid origin is set by user, and is not (0,0)
* @param aDC = current Device Context
* @param aDrawMode = draw mode (GR_COPY, GR_OR ..)
*/
void
DrawGridAxis
(
wxDC
*
aDC
,
int
aDrawMode
);
void
OnEraseBackground
(
wxEraseEvent
&
event
);
void
OnEraseBackground
(
wxEraseEvent
&
event
);
void
OnActivate
(
wxActivateEvent
&
event
);
void
OnActivate
(
wxActivateEvent
&
event
);
...
...
include/drawtxt.h
View file @
dc35a18c
...
@@ -65,6 +65,8 @@ int NegableTextLength( const wxString& aText );
...
@@ -65,6 +65,8 @@ int NegableTextLength( const wxString& aText );
* @param aBold = true to use a bold font
* @param aBold = true to use a bold font
* @param aCallback() = function called (if non null) to draw each segment.
* @param aCallback() = function called (if non null) to draw each segment.
* used to draw 3D texts or for plotting, NULL for normal drawings
* used to draw 3D texts or for plotting, NULL for normal drawings
* @param aPlotter = a pointer to a PLOTTER instance, when this function is used to plot
* the text. NULL to draw this text.
*/
*/
void
DrawGraphicText
(
WinEDA_DrawPanel
*
aPanel
,
void
DrawGraphicText
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
aDC
,
wxDC
*
aDC
,
...
@@ -79,7 +81,7 @@ void DrawGraphicText( WinEDA_DrawPanel * aPanel,
...
@@ -79,7 +81,7 @@ void DrawGraphicText( WinEDA_DrawPanel * aPanel,
bool
aItalic
,
bool
aItalic
,
bool
aBold
,
bool
aBold
,
void
(
*
aCallback
)(
int
x0
,
int
y0
,
int
xf
,
int
yf
)
=
NULL
,
void
(
*
aCallback
)(
int
x0
,
int
y0
,
int
xf
,
int
yf
)
=
NULL
,
PLOTTER
*
p
lotter
=
NULL
);
PLOTTER
*
aP
lotter
=
NULL
);
#endif
/* __INCLUDE__DRAWTXT_H__ */
#endif
/* __INCLUDE__DRAWTXT_H__ */
include/dsnlexer.h
View file @
dc35a18c
...
@@ -27,9 +27,7 @@
...
@@ -27,9 +27,7 @@
#include <cstdio>
#include <cstdio>
#include <string>
#include <string>
#include <boost/ptr_container/ptr_vector.hpp>
#include <vector>
//#include "fctsys.h"
#include "richio.h"
#include "richio.h"
...
@@ -78,14 +76,15 @@ enum DSN_SYNTAX_T {
...
@@ -78,14 +76,15 @@ enum DSN_SYNTAX_T {
*/
*/
class
DSNLEXER
class
DSNLEXER
{
{
bool
iOwnReaders
;
///< on readerStack, should I delete them?
char
*
start
;
char
*
start
;
char
*
next
;
char
*
next
;
char
*
limit
;
char
*
limit
;
typedef
boost
::
ptr_vector
<
LINE_READER
>
READER_STACK
;
typedef
std
::
vector
<
LINE_READER
*
>
READER_STACK
;
READER_STACK
readerStack
;
///<
owns
all the LINE_READERs by pointer.
READER_STACK
readerStack
;
///< all the LINE_READERs by pointer.
LINE_READER
*
reader
;
///< no ownership. ownership is via readerStack
.
LINE_READER
*
reader
;
///< no ownership. ownership is via readerStack
, maybe, if iOwnReaders
int
stringDelimiter
;
int
stringDelimiter
;
bool
space_in_quoted_tokens
;
///< blank spaces within quoted strings
bool
space_in_quoted_tokens
;
///< blank spaces within quoted strings
bool
commentsAreTokens
;
///< true if should return comments as tokens
bool
commentsAreTokens
;
///< true if should return comments as tokens
...
@@ -155,7 +154,7 @@ class DSNLEXER
...
@@ -155,7 +154,7 @@ class DSNLEXER
public
:
public
:
/**
/**
* Constructor
DSNLEXER
* Constructor
( FILE*, const wxString& )
* intializes a DSN lexer and prepares to read from aFile which
* intializes a DSN lexer and prepares to read from aFile which
* is already open and has aFilename.
* is already open and has aFilename.
*
*
...
@@ -168,12 +167,35 @@ public:
...
@@ -168,12 +167,35 @@ public:
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
FILE
*
aFile
,
const
wxString
&
aFileName
);
FILE
*
aFile
,
const
wxString
&
aFileName
);
/**
* Constructor ( std::string&*, const wxString& )
* intializes a DSN lexer and prepares to read from @a aSExpression.
*
* @param aKeywordTable is an array of KEYWORDS holding \a aKeywordCount. This
* token table need not contain the lexer separators such as '(' ')', etc.
* @param aKeywordTable is the count of tokens in aKeywordTable.
* @param aSExpression is text to feed through a STRING_LINE_READER
* @param aSource is a description of aSExpression, used for error reporting.
*/
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
const
std
::
string
&
a
ClipboardTxt
,
const
wxString
&
aSource
=
wxEmptyString
);
const
std
::
string
&
a
SExpression
,
const
wxString
&
aSource
=
wxEmptyString
);
~
DSNLEXER
()
/**
{
* Constructor ( LINE_READER* )
}
* intializes a DSN lexer and prepares to read from @a aLineReader which
* is already open, and may be in use by other DSNLEXERs also. No ownership
* is taken of @a aLineReader. This enables it to be used by other DSNLEXERs also.
*
* @param aKeywordTable is an array of KEYWORDS holding \a aKeywordCount. This
* token table need not contain the lexer separators such as '(' ')', etc.
* @param aKeywordTable is the count of tokens in aKeywordTable.
* @param aLineReader is any subclassed instance of LINE_READER, such as
* STRING_LINE_READER or FILE_LINE_READER.
*/
DSNLEXER
(
const
KEYWORD
*
aKeywordTable
,
unsigned
aKeywordCount
,
LINE_READER
*
aLineReader
);
virtual
~
DSNLEXER
();
/**
/**
* Function PushReader
* Function PushReader
...
...
include/gr_basic.h
View file @
dc35a18c
...
@@ -96,7 +96,6 @@ void GRBezier( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
...
@@ -96,7 +96,6 @@ void GRBezier( EDA_Rect* ClipBox, wxDC* DC, int x1, int y1, int x2, int y2,
* @param aDC the device context into which drawing should occur.
* @param aDC the device context into which drawing should occur.
* @param aPointCount the number of points in the array \a aPoints.
* @param aPointCount the number of points in the array \a aPoints.
* @param aPoints The points to draw.
* @param aPoints The points to draw.
* @param aPointArray an array holding the wxPoints in the polygon.
* @param doFill true if polygon is to be filled, else false and only the boundary is drawn.
* @param doFill true if polygon is to be filled, else false and only the boundary is drawn.
* @param aPenColor the color index of the border.
* @param aPenColor the color index of the border.
* @param aFillColor the fill color of the polygon's interior.
* @param aFillColor the fill color of the polygon's interior.
...
@@ -120,7 +119,6 @@ void GRClosedPoly( EDA_Rect* ClipBox,
...
@@ -120,7 +119,6 @@ void GRClosedPoly( EDA_Rect* ClipBox,
* @param aDC the device context into which drawing should occur.
* @param aDC the device context into which drawing should occur.
* @param aPointCount the number of points in the array \a aPointArray.
* @param aPointCount the number of points in the array \a aPointArray.
* @param aPoints the points to draw.
* @param aPoints the points to draw.
* @param aPointArray an array holding the wxPoints in the polygon.
* @param doFill true if polygon is to be filled, else false and only the boundary is drawn.
* @param doFill true if polygon is to be filled, else false and only the boundary is drawn.
* @param aPenWidth is the width of the pen to use on the perimeter, can be zero.
* @param aPenWidth is the width of the pen to use on the perimeter, can be zero.
* @param aPenColor the color index of the border.
* @param aPenColor the color index of the border.
...
@@ -144,7 +142,7 @@ void GRClosedPoly( EDA_Rect* ClipBox,
...
@@ -144,7 +142,7 @@ void GRClosedPoly( EDA_Rect* ClipBox,
* @param ClipBox defines a rectangular boundary outside of which no drawing will occur.
* @param ClipBox defines a rectangular boundary outside of which no drawing will occur.
* @param aDC the device context into which drawing should occur.
* @param aDC the device context into which drawing should occur.
* @param x The x coordinate in user space of the center of the circle.
* @param x The x coordinate in user space of the center of the circle.
* @param
x
The y coordinate in user space of the center of the circle.
* @param
y
The y coordinate in user space of the center of the circle.
* @param aRadius is the radius of the circle.
* @param aRadius is the radius of the circle.
* @param aColor is an index into our color table of RGB colors.
* @param aColor is an index into our color table of RGB colors.
* @see EDA_Colors and colors.h
* @see EDA_Colors and colors.h
...
...
include/hotkeys_basic.h
View file @
dc35a18c
...
@@ -108,7 +108,7 @@ wxString AddHotkeyName( const wxString& aText, Ki_HotkeyInfo** aList,
...
@@ -108,7 +108,7 @@ wxString AddHotkeyName( const wxString& aText, Ki_HotkeyInfo** aList,
* Function AddHotkeyName
* Function AddHotkeyName
* Add the key name from the Command id value ( m_Idcommand member value)
* Add the key name from the Command id value ( m_Idcommand member value)
* @param aText = a wxString. returns aText + key name
* @param aText = a wxString. returns aText + key name
* @param aList = pointer to a Ki_HotkeyInfoSectionDescriptor DescrList of commands
* @param a
Descr
List = pointer to a Ki_HotkeyInfoSectionDescriptor DescrList of commands
* @param aCommandId = Command Id value
* @param aCommandId = Command Id value
* @param aIsShortCut = true to add <tab><keyname> (active shortcuts in menus)
* @param aIsShortCut = true to add <tab><keyname> (active shortcuts in menus)
* = false to add <spaces><(keyname)>
* = false to add <spaces><(keyname)>
...
...
include/kicad_exceptions.h
View file @
dc35a18c
...
@@ -42,6 +42,10 @@ struct IO_ERROR
...
@@ -42,6 +42,10 @@ struct IO_ERROR
{
{
wxString
errorText
;
wxString
errorText
;
/**
* Constructor ( const wxChar* )
* handles the case where _() is passed as aMsg.
*/
IO_ERROR
(
const
wxChar
*
aMsg
)
:
IO_ERROR
(
const
wxChar
*
aMsg
)
:
errorText
(
aMsg
)
errorText
(
aMsg
)
{
{
...
...
include/richio.h
View file @
dc35a18c
...
@@ -336,15 +336,14 @@ public:
...
@@ -336,15 +336,14 @@ public:
*
*
* @param aWrapee is a string that might need wraping in double quotes,
* @param aWrapee is a string that might need wraping in double quotes,
* and it might need to have its internal quotes doubled up, or not.
* and it might need to have its internal quotes doubled up, or not.
* Caller's copy may be modified, or not.
*
*
* @return
const char* - useful for passing to printf() style functions that
* @return
std::string - whose c_str() function can be called for passing
*
must output utf8
streams.
*
to printf() style functions that must output utf8 encoded s-expression
streams.
* @throw IO_ERROR, if aWrapee has any \r or \n bytes in it which is
* @throw IO_ERROR, if aWrapee has any \r or \n bytes in it which is
* illegal according to the DSNLEXER who does not ever want them
* illegal according to the DSNLEXER who does not ever want them
* within a string.
* within a string.
*/
*/
virtual
const
char
*
Quoted
(
std
::
string
*
aWrapee
)
throw
(
IO_ERROR
);
virtual
std
::
string
Quoted
(
const
std
::
string
&
aWrapee
)
throw
(
IO_ERROR
);
//-----</interface functions>-----------------------------------------
//-----</interface functions>-----------------------------------------
};
};
...
...
include/wxBasePcbFrame.h
View file @
dc35a18c
...
@@ -234,10 +234,11 @@ public:
...
@@ -234,10 +234,11 @@ public:
* Second = VALUE: "VAL**"
* Second = VALUE: "VAL**"
* the new module is added to the board module list
* the new module is added to the board module list
* @param aModuleName = name of the new footprint
* @param aModuleName = name of the new footprint
*
(will
the component reference in board)
*
(will be
the component reference in board)
* @return a pointer to the new module
* @return a pointer to the new module
*/
*/
MODULE
*
Create_1_Module
(
const
wxString
&
module_name
);
MODULE
*
Create_1_Module
(
const
wxString
&
aModuleName
);
void
Edit_Module
(
MODULE
*
module
,
wxDC
*
DC
);
void
Edit_Module
(
MODULE
*
module
,
wxDC
*
DC
);
void
Rotate_Module
(
wxDC
*
DC
,
void
Rotate_Module
(
wxDC
*
DC
,
MODULE
*
module
,
MODULE
*
module
,
...
@@ -285,11 +286,11 @@ public:
...
@@ -285,11 +286,11 @@ public:
*
*
* Read active libraries or one library to find and load a given module
* Read active libraries or one library to find and load a given module
* If found the module is linked to the tail of linked list of modules
* If found the module is linked to the tail of linked list of modules
* @param aLibraryFullFile
N
ame - the full filename of the library to read. If empty,
* @param aLibraryFullFile
n
ame - the full filename of the library to read. If empty,
* all active libraries are read
* all active libraries are read
* @param aModuleName = module name to load
* @param aModuleName = module name to load
* @param aDisplayMessageError = true to display an error message if any.
* @param aDisplayMessageError = true to display an error message if any.
* @return a
MODULE *
pointer to the new module, or NULL
* @return a pointer to the new module, or NULL
*
*
*/
*/
MODULE
*
Get_Librairie_Module
(
const
wxString
&
aLibraryFullFilename
,
MODULE
*
Get_Librairie_Module
(
const
wxString
&
aLibraryFullFilename
,
...
@@ -299,6 +300,7 @@ public:
...
@@ -299,6 +300,7 @@ public:
/**
/**
* Function Select_1_Module_From_List
* Function Select_1_Module_From_List
* Display a list of modules found in active libraries or a given library
* Display a list of modules found in active libraries or a given library
* @param active_window = the current window ( parent window )
* @param aLibraryFullFilename = library to list (if aLibraryFullFilename
* @param aLibraryFullFilename = library to list (if aLibraryFullFilename
* == void, list all modules)
* == void, list all modules)
* @param aMask = Display filter (wildcart)( Mask = wxEmptyString if not
* @param aMask = Display filter (wildcart)( Mask = wxEmptyString if not
...
...
include/wxEeschemaStruct.h
View file @
dc35a18c
...
@@ -540,10 +540,10 @@ public:
...
@@ -540,10 +540,10 @@ public:
* sub-hierarchy will be deleted. If it is only a copy, the GetDrawItems() and the
* sub-hierarchy will be deleted. If it is only a copy, the GetDrawItems() and the
* sub-hierarchy must NOT be deleted.
* sub-hierarchy must NOT be deleted.
*
*
* @
N
ote
* @
n
ote
* Edit wires and buses is a bit complex.
* Edit wires and buses is a bit complex.
* because when a new wire is added,
modifications in wire list
* because when a new wire is added,
a lot of modifications in wire list is made
* (wire concatenation)
there are
modified items, deleted items and new items
* (wire concatenation)
:
modified items, deleted items and new items
* so flag_type_command is UR_WIRE_IMAGE: the struct ItemToCopy is a list of
* so flag_type_command is UR_WIRE_IMAGE: the struct ItemToCopy is a list of
* wires saved in Undo List (for Undo or Redo commands, saved wires will be
* wires saved in Undo List (for Undo or Redo commands, saved wires will be
* exchanged with current wire list
* exchanged with current wire list
...
...
include/wxstruct.h
View file @
dc35a18c
...
@@ -157,7 +157,7 @@ public:
...
@@ -157,7 +157,7 @@ public:
* @param aFilename = file name to read.
* @param aFilename = file name to read.
* @param aDescList = current hotkey list descr. to initialise.
* @param aDescList = current hotkey list descr. to initialise.
*/
*/
int
ReadHotkeyConfigFile
(
const
wxString
&
Filename
,
int
ReadHotkeyConfigFile
(
const
wxString
&
a
Filename
,
struct
Ki_HotkeyInfoSectionDescriptor
*
aDescList
);
struct
Ki_HotkeyInfoSectionDescriptor
*
aDescList
);
/**
/**
...
...
include/xnode.h
View file @
dc35a18c
...
@@ -26,6 +26,12 @@
...
@@ -26,6 +26,12 @@
*/
*/
#include "richio.h"
#include "richio.h"
// quiet the deprecated warnings with 3 lines:
#include <wx/defs.h>
#undef wxDEPRECATED
#define wxDEPRECATED(x) x
#include <wx/xml/xml.h>
#include <wx/xml/xml.h>
...
...
new/sch_lib_table.cpp
View file @
dc35a18c
...
@@ -25,6 +25,7 @@
...
@@ -25,6 +25,7 @@
#include <sch_lib_table.h>
#include <sch_lib_table.h>
#include <sch_lib_table_lexer.h>
#include <sch_lib_table_lexer.h>
#include <set>
using
namespace
std
;
using
namespace
std
;
using
namespace
SCH
;
using
namespace
SCH
;
...
@@ -156,21 +157,59 @@ void LIB_TABLE::Format( OUTPUTFORMATTER* out, int nestLevel ) const
...
@@ -156,21 +157,59 @@ void LIB_TABLE::Format( OUTPUTFORMATTER* out, int nestLevel ) const
out
->
Print
(
nestLevel
,
")
\n
"
);
out
->
Print
(
nestLevel
,
")
\n
"
);
}
}
void
LIB_TABLE
::
ROW
::
Format
(
OUTPUTFORMATTER
*
out
,
int
nestLevel
)
const
void
LIB_TABLE
::
ROW
::
Format
(
OUTPUTFORMATTER
*
out
,
int
nestLevel
)
const
throw
(
IO_ERROR
)
throw
(
IO_ERROR
)
{
{
out
->
Print
(
nestLevel
,
"(lib (logical
\"
%s
\"
)(type
\"
%s
\"
)(full_uri
\"
%s
\"
)(options
\"
%s
\"
))
\n
"
,
out
->
Print
(
nestLevel
,
"(lib (logical %s)(type %s)(full_uri %s)(options %s))
\n
"
,
logicalName
.
c_str
(),
libType
.
c_str
(),
fullURI
.
c_str
(),
options
.
c_str
()
);
out
->
Quoted
(
logicalName
).
c_str
(),
out
->
Quoted
(
libType
).
c_str
(),
out
->
Quoted
(
fullURI
).
c_str
(),
out
->
Quoted
(
options
).
c_str
()
);
}
STRINGS
LIB_TABLE
::
GetLogicalLibs
()
{
// only return unique logical library names. Use std::set::insert() to
// quietly reject any duplicates, which can happen in the fall back table(s).
set
<
STRING
>
unique
;
STRINGS
ret
;
const
LIB_TABLE
*
cur
=
this
;
do
{
for
(
ROWS_CITER
it
=
cur
->
rows
.
begin
();
it
!=
cur
->
rows
.
end
();
++
it
)
{
unique
.
insert
(
it
->
second
->
logicalName
);
}
}
while
(
(
cur
=
cur
->
fallBack
)
!=
0
);
// return a sorted, unique set of STRINGS to caller
for
(
set
<
STRING
>::
const_iterator
it
=
unique
.
begin
();
it
!=
unique
.
end
();
++
it
)
ret
.
push_back
(
*
it
);
return
ret
;
}
PART
*
LIB_TABLE
::
GetPart
(
const
LPID
&
aLogicalPartID
)
throw
(
IO_ERROR
)
{
// need LIPD done.
return
0
;
}
}
const
LIB_TABLE
::
ROW
*
LIB_TABLE
::
FindRow
(
const
STRING
&
aLogicalName
)
const
LIB_TABLE
::
ROW
*
LIB_TABLE
::
FindRow
(
const
STRING
&
aLogicalName
)
const
{
{
// this function must be *super* fast, so therefore should not instantiate
// this function must be *super* fast, so therefore should not instantiate
// anything which would require using the heap. This function is the reason
// anything which would require using the heap. This function is the reason
// ptr_map<> was used instead of ptr_set<>, which would have required
// ptr_map<> was used instead of ptr_set<>, which would have required
// instantiating a ROW just to find a ROW.
// instantiating a ROW just to find a ROW.
LIB_TABLE
*
cur
=
this
;
const
LIB_TABLE
*
cur
=
this
;
do
do
{
{
...
@@ -203,7 +242,8 @@ bool LIB_TABLE::InsertRow( auto_ptr<ROW>& aRow, bool doReplace )
...
@@ -203,7 +242,8 @@ bool LIB_TABLE::InsertRow( auto_ptr<ROW>& aRow, bool doReplace )
rows
.
insert
(
key
,
aRow
);
rows
.
insert
(
key
,
aRow
);
return
true
;
return
true
;
}
}
else
if
(
doReplace
)
if
(
doReplace
)
{
{
rows
.
erase
(
aRow
->
logicalName
);
rows
.
erase
(
aRow
->
logicalName
);
...
@@ -229,9 +269,10 @@ void LIB_TABLE::Test()
...
@@ -229,9 +269,10 @@ void LIB_TABLE::Test()
// To pass an empty string, we can pass " " to (options " ")
// To pass an empty string, we can pass " " to (options " ")
SCH_LIB_TABLE_LEXER
slr
(
SCH_LIB_TABLE_LEXER
slr
(
"(lib_table
\n
"
"(lib_table
\n
"
" (lib (logical www) (type http) (full_uri http://kicad.org/libs) (options
\"
\"
))
\n
"
" (lib (logical meparts) (type dir) (full_uri /tmp/eeschema-lib) (options
\"
\"
))
\n
"
" (lib (logical meparts) (type dir) (full_uri /tmp/eeschema-lib) (options
\"
\"
))
\n
"
" (lib (logical old-project) (type schematic)(full_uri /tmp/old-schematic.sch) (options
\"
\"
))
\n
"
" (lib (logical old-project) (type schematic)(full_uri /tmp/old-schematic.sch) (options
\"
\"
))
\n
"
" (lib (logical www) (type http) (full_uri http://kicad.org/libs) (options
\"
\"
))
\n
"
,
,
wxT
(
"inline text"
)
// source
wxT
(
"inline text"
)
// source
);
);
...
@@ -258,6 +299,7 @@ void LIB_TABLE::Test()
...
@@ -258,6 +299,7 @@ void LIB_TABLE::Test()
STRING_FORMATTER
sf
;
STRING_FORMATTER
sf
;
// format this whole table into sf, it will be sorted by logicalName.
Format
(
&
sf
,
0
);
Format
(
&
sf
,
0
);
printf
(
"test 'Parse() <-> Format()' round tripping:
\n
"
);
printf
(
"test 'Parse() <-> Format()' round tripping:
\n
"
);
...
@@ -275,6 +317,14 @@ void LIB_TABLE::Test()
...
@@ -275,6 +317,14 @@ void LIB_TABLE::Test()
}
}
else
else
printf
(
"not found
\n
"
);
printf
(
"not found
\n
"
);
printf
(
"
\n
list of logical libraries:
\n
"
);
STRINGS
logNames
=
GetLogicalLibs
();
for
(
STRINGS
::
const_iterator
it
=
logNames
.
begin
();
it
!=
logNames
.
end
();
++
it
)
{
printf
(
"logicalName: %s
\n
"
,
it
->
c_str
()
);
}
}
}
...
...
new/sch_lib_table.h
View file @
dc35a18c
...
@@ -58,13 +58,6 @@ public:
...
@@ -58,13 +58,6 @@ public:
public
:
public
:
/* was needed for ptr_set<> but not ptr_map<>
bool operator<( const ROW& other ) const
{
return logicalName < other.logicalName;
}
*/
/**
/**
* Function GetLogicalName
* Function GetLogicalName
* returns the logical name of this library table entry.
* returns the logical name of this library table entry.
...
@@ -223,46 +216,54 @@ public:
...
@@ -223,46 +216,54 @@ public:
*/
*/
PART
*
GetPart
(
const
LPID
&
aLogicalPartID
)
throw
(
IO_ERROR
);
PART
*
GetPart
(
const
LPID
&
aLogicalPartID
)
throw
(
IO_ERROR
);
#if 0 // moved here from LPID
/**
/**
* Function GetLogicalLib
rarie
s
* Function GetLogicalLibs
* returns the logical library names, all of them that are in
the
* returns the logical library names, all of them that are in
pertinent to
*
library table
.
*
a lookup done on this LIB_TABLE
.
*/
*/
STRINGS GetLogicalLibraries();
STRINGS
GetLogicalLibs
();
//----<read accessors>----------------------------------------------------
// the returning of a const STRING* tells if not found, but might be too
// promiscuous?
/**
/**
* Function GetLib
rary
URI
* Function GetLibURI
* returns the full library path from a logical library name.
* returns the full library path from a logical library name.
* @param aLogicalLibraryName is the short name for the library of interest.
* @param aLogicalLibraryName is the short name for the library of interest.
* @param aSchematic provides access to the full library table inclusive
* @return const STRING* - or NULL if not found.
* of the schematic contribution, or may be NULL to exclude the schematic rows.
*/
*/
STRING GetLibraryURI( const STRING& aLogicalLibraryName,
const
STRING
*
GetLibURI
(
const
STRING
&
aLogicalLibraryName
)
const
SCHEMATIC* aSchematic=NULL ) const;
{
const
ROW
*
row
=
FindRow
(
aLogicalLibraryName
);
return
row
?
&
row
->
fullURI
:
0
;
}
/**
/**
* Function GetLib
rary
Type
* Function GetLibType
* returns the type of a logical library.
* returns the type of a logical library.
* @param aLogicalLibraryName is the short name for the library of interest.
* @param aLogicalLibraryName is the short name for the library of interest.
* @param aSchematic provides access to the full library table inclusive
* @return const STRING* - or NULL if not found.
* of the schematic contribution, or may be NULL to exclude the schematic rows.
*/
*/
STRING GetLibraryType( const STRING& aLogicalLibraryName,
const
STRING
*
GetLibType
(
const
STRING
&
aLogicalLibraryName
)
const
SCHEMATIC* aSchematic=NULL ) const;
{
const
ROW
*
row
=
FindRow
(
aLogicalLibraryName
);
return
row
?
&
row
->
libType
:
0
;
}
/**
/**
* Function GetOptions
* Function Get
Lib
Options
* returns the options string for \a aLogicalLibraryName.
* returns the options string for \a aLogicalLibraryName.
* @param aLogicalLibraryName is the short name for the library of interest.
* @param aLogicalLibraryName is the short name for the library of interest.
* @param aSchematic provides access to the full library table inclusive
* @return const STRING* - or NULL if not found.
* of the schematic contribution, or may be NULL to exclude the schematic rows.
*/
*/
STRING GetOptions( const STRING& aLogicalLibraryName,
const
STRING
*
GetLibOptions
(
const
STRING
&
aLogicalLibraryName
)
const
SCHEMATIC* aSchematic=NULL ) const;
{
#endif
const
ROW
*
row
=
FindRow
(
aLogicalLibraryName
);
return
row
?
&
row
->
options
:
0
;
}
//----</read accessors>---------------------------------------------------
#if defined(DEBUG)
#if defined(DEBUG)
/// implement the tests in here so we can honor the priviledge levels of the
/// implement the tests in here so we can honor the priviledge levels of the
...
@@ -276,9 +277,10 @@ protected: // only a table editor can use these
...
@@ -276,9 +277,10 @@ protected: // only a table editor can use these
* Function InsertRow
* Function InsertRow
* adds aRow if it does not already exist or if doReplace is true. If doReplace
* adds aRow if it does not already exist or if doReplace is true. If doReplace
* is not true and the key for aRow already exists, the function fails and returns false.
* is not true and the key for aRow already exists, the function fails and returns false.
* The key for the table is the logicalName, and all in this table must be unique.
* @param aRow is the new row to insert, or to forcibly add if doReplace is true.
* @param aRow is the new row to insert, or to forcibly add if doReplace is true.
* @param doReplace if true, means insert regardless
if aRow's key already exists. If false, then fail
* @param doReplace if true, means insert regardless
of whether aRow's key already
* if the key already exists.
*
exists. If false, then fail
if the key already exists.
* @return bool - true if the operation succeeded.
* @return bool - true if the operation succeeded.
*/
*/
bool
InsertRow
(
std
::
auto_ptr
<
ROW
>&
aRow
,
bool
doReplace
=
false
);
bool
InsertRow
(
std
::
auto_ptr
<
ROW
>&
aRow
,
bool
doReplace
=
false
);
...
@@ -287,7 +289,7 @@ protected: // only a table editor can use these
...
@@ -287,7 +289,7 @@ protected: // only a table editor can use these
* Function FindRow
* Function FindRow
* returns a ROW* if aLogicalName is found in this table or in fallBack, else NULL.
* returns a ROW* if aLogicalName is found in this table or in fallBack, else NULL.
*/
*/
const
ROW
*
FindRow
(
const
STRING
&
aLogicalName
);
const
ROW
*
FindRow
(
const
STRING
&
aLogicalName
)
const
;
private
:
private
:
...
...
pcbnew/board_undo_redo.cpp
View file @
dc35a18c
...
@@ -71,7 +71,7 @@ BOARD_ITEM* DuplicateStruct( BOARD_ITEM* aItem );
...
@@ -71,7 +71,7 @@ BOARD_ITEM* DuplicateStruct( BOARD_ITEM* aItem );
* - if a call to SaveCopyInUndoList was forgotten in pcbnew
* - if a call to SaveCopyInUndoList was forgotten in pcbnew
* - in zones outlines, when a change in one zone merges this zone with an other
* - in zones outlines, when a change in one zone merges this zone with an other
* This function avoids a pcbnew crash
* This function avoids a pcbnew crash
* @param a
Board
= board to test
* @param a
Pcb
= board to test
* @param aItem = item to find
* @param aItem = item to find
*/
*/
static
bool
TestForExistingItem
(
BOARD
*
aPcb
,
BOARD_ITEM
*
aItem
)
static
bool
TestForExistingItem
(
BOARD
*
aPcb
,
BOARD_ITEM
*
aItem
)
...
...
pcbnew/class_text_mod.cpp
View file @
dc35a18c
...
@@ -277,7 +277,7 @@ EDA_Rect TEXTE_MODULE::GetTextRect( void ) const
...
@@ -277,7 +277,7 @@ EDA_Rect TEXTE_MODULE::GetTextRect( void ) const
* Function HitTest
* Function HitTest
* tests if the given wxPoint is within the bounds of this object.
* tests if the given wxPoint is within the bounds of this object.
* @param refPos A wxPoint to test
* @param refPos A wxPoint to test
* @return
bool -
true if a hit, else false
* @return true if a hit, else false
*/
*/
bool
TEXTE_MODULE
::
HitTest
(
const
wxPoint
&
refPos
)
bool
TEXTE_MODULE
::
HitTest
(
const
wxPoint
&
refPos
)
{
{
...
@@ -419,6 +419,8 @@ void TEXTE_MODULE::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode,
...
@@ -419,6 +419,8 @@ void TEXTE_MODULE::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode,
size
,
m_HJustify
,
m_VJustify
,
width
,
m_Italic
,
m_Bold
);
size
,
m_HJustify
,
m_VJustify
,
width
,
m_Italic
,
m_Bold
);
}
}
/* Rraws a line from the TEXTE_MODULE origin to parent MODULE origin.
*/
void
TEXTE_MODULE
::
DrawUmbilical
(
WinEDA_DrawPanel
*
aPanel
,
void
TEXTE_MODULE
::
DrawUmbilical
(
WinEDA_DrawPanel
*
aPanel
,
wxDC
*
aDC
,
wxDC
*
aDC
,
int
aDrawMode
,
int
aDrawMode
,
...
@@ -430,9 +432,7 @@ void TEXTE_MODULE::DrawUmbilical( WinEDA_DrawPanel* aPanel,
...
@@ -430,9 +432,7 @@ void TEXTE_MODULE::DrawUmbilical( WinEDA_DrawPanel* aPanel,
GRSetDrawMode
(
aDC
,
GR_XOR
);
GRSetDrawMode
(
aDC
,
GR_XOR
);
GRLine
(
&
aPanel
->
m_ClipBox
,
aDC
,
GRLine
(
&
aPanel
->
m_ClipBox
,
aDC
,
parent
->
GetPosition
().
x
,
parent
->
GetPosition
().
y
,
parent
->
GetPosition
(),
GetPosition
()
+
aOffset
,
GetPosition
().
x
+
aOffset
.
x
,
GetPosition
().
y
+
aOffset
.
y
,
0
,
UMBILICAL_COLOR
);
0
,
UMBILICAL_COLOR
);
}
}
...
...
pcbnew/class_text_mod.h
View file @
dc35a18c
...
@@ -154,7 +154,7 @@ public: TEXTE_MODULE( MODULE* parent, int text_type = TEXT_is_DIVERS );
...
@@ -154,7 +154,7 @@ public: TEXTE_MODULE( MODULE* parent, int text_type = TEXT_is_DIVERS );
/**
/**
* Function GetClass
* Function GetClass
* returns the class name.
* returns the class name.
* @return wxString
* @return wxString
= "MTEXT"
*/
*/
virtual
wxString
GetClass
()
const
virtual
wxString
GetClass
()
const
{
{
...
...
pcbnew/gen_drill_report_files.cpp
View file @
dc35a18c
...
@@ -242,11 +242,12 @@ void GenDrillMapFile( BOARD* aPcb, FILE* aFile, const wxString& aFullFileName,
...
@@ -242,11 +242,12 @@ void GenDrillMapFile( BOARD* aPcb, FILE* aFile, const wxString& aFullFileName,
/** Creates the drill map aFile in HPGL or POSTSCRIPT format
/** Creates the drill map aFile in HPGL or POSTSCRIPT format
* @param aPcb BOARD
* @param aPcb = the BOARD
* @param aPlotter = a PLOTTER instance (HPGL or POSTSCRIPT plotter).
* @param aHoleListBuffer = std::vector<HOLE_INFO> list of holes descriptors
* @param aHoleListBuffer = std::vector<HOLE_INFO> list of holes descriptors
* @param aToolListBuffer = std::vector<DRILL_TOOL> drill list buffer
* @param aToolListBuffer = std::vector<DRILL_TOOL> drill list buffer
*/
*/
void
Gen_Drill_PcbMap
(
BOARD
*
aPcb
,
PLOTTER
*
p
lotter
,
void
Gen_Drill_PcbMap
(
BOARD
*
aPcb
,
PLOTTER
*
aP
lotter
,
std
::
vector
<
HOLE_INFO
>&
aHoleListBuffer
,
std
::
vector
<
HOLE_INFO
>&
aHoleListBuffer
,
std
::
vector
<
DRILL_TOOL
>&
aToolListBuffer
)
std
::
vector
<
DRILL_TOOL
>&
aToolListBuffer
)
{
{
...
@@ -269,14 +270,14 @@ void Gen_Drill_PcbMap( BOARD* aPcb, PLOTTER* plotter,
...
@@ -269,14 +270,14 @@ void Gen_Drill_PcbMap( BOARD* aPcb, PLOTTER* plotter,
/* Always plot the drill symbol (for slots identifies the needed
/* Always plot the drill symbol (for slots identifies the needed
* cutter!) */
* cutter!) */
p
lotter
->
marker
(
pos
,
aHoleListBuffer
[
ii
].
m_Hole_Diameter
,
aP
lotter
->
marker
(
pos
,
aHoleListBuffer
[
ii
].
m_Hole_Diameter
,
aHoleListBuffer
[
ii
].
m_Tool_Reference
-
1
);
aHoleListBuffer
[
ii
].
m_Tool_Reference
-
1
);
if
(
aHoleListBuffer
[
ii
].
m_Hole_Shape
!=
0
)
if
(
aHoleListBuffer
[
ii
].
m_Hole_Shape
!=
0
)
{
{
wxSize
oblong_size
;
wxSize
oblong_size
;
oblong_size
.
x
=
aHoleListBuffer
[
ii
].
m_Hole_SizeX
;
oblong_size
.
x
=
aHoleListBuffer
[
ii
].
m_Hole_SizeX
;
oblong_size
.
y
=
aHoleListBuffer
[
ii
].
m_Hole_SizeY
;
oblong_size
.
y
=
aHoleListBuffer
[
ii
].
m_Hole_SizeY
;
p
lotter
->
flash_pad_oval
(
pos
,
oblong_size
,
aP
lotter
->
flash_pad_oval
(
pos
,
oblong_size
,
aHoleListBuffer
[
ii
].
m_Hole_Orient
,
FILAIRE
);
aHoleListBuffer
[
ii
].
m_Hole_Orient
,
FILAIRE
);
}
}
}
}
...
...
pcbnew/gen_holes_and_tools_lists_for_drill.cpp
View file @
dc35a18c
...
@@ -35,7 +35,7 @@ static bool CmpHoleDiameterValue( const HOLE_INFO& a, const HOLE_INFO& b )
...
@@ -35,7 +35,7 @@ static bool CmpHoleDiameterValue( const HOLE_INFO& a, const HOLE_INFO& b )
* Create the list of holes and tools for a given board
* Create the list of holes and tools for a given board
* The list is sorted by increasing drill values
* The list is sorted by increasing drill values
* Only holes from aFirstLayer to aLastLayer copper layers are listed (for vias, because pad holes are always through holes)
* Only holes from aFirstLayer to aLastLayer copper layers are listed (for vias, because pad holes are always through holes)
* @param Pcb : the given board
* @param
a
Pcb : the given board
* @param aHoleListBuffer : the std::vector<HOLE_INFO> to fill with pcb holes info
* @param aHoleListBuffer : the std::vector<HOLE_INFO> to fill with pcb holes info
* @param aToolListBuffer : the std::vector<DRILL_TOOL> to fill with tools to use
* @param aToolListBuffer : the std::vector<DRILL_TOOL> to fill with tools to use
* @param aFirstLayer = first layer to consider. if < 0 aFirstLayer is ignored (used to creates report file)
* @param aFirstLayer = first layer to consider. if < 0 aFirstLayer is ignored (used to creates report file)
...
...
pcbnew/gendrill.h
View file @
dc35a18c
...
@@ -137,7 +137,7 @@ public: EXCELLON_WRITER( BOARD* aPcb, FILE* aFile,
...
@@ -137,7 +137,7 @@ public: EXCELLON_WRITER( BOARD* aPcb, FILE* aFile,
/**
/**
* SetFormat
*
Function
SetFormat
* Initialize internal parameters to match the given format
* Initialize internal parameters to match the given format
* @param aMetric = true for metric coordinates, false for imperial units
* @param aMetric = true for metric coordinates, false for imperial units
* @param aZerosFmt = DECIMAL_FORMAT, SUPPRESS_LEADING, SUPPRESS_TRAILING, KEEP_ZEROS
* @param aZerosFmt = DECIMAL_FORMAT, SUPPRESS_LEADING, SUPPRESS_TRAILING, KEEP_ZEROS
...
@@ -147,12 +147,11 @@ public: EXCELLON_WRITER( BOARD* aPcb, FILE* aFile,
...
@@ -147,12 +147,11 @@ public: EXCELLON_WRITER( BOARD* aPcb, FILE* aFile,
void
SetFormat
(
bool
aMetric
,
zeros_fmt
aZerosFmt
,
int
aLeftDigits
,
int
aRightDigits
);
void
SetFormat
(
bool
aMetric
,
zeros_fmt
aZerosFmt
,
int
aLeftDigits
,
int
aRightDigits
);
/**
/**
* SetOptions
*
Function
SetOptions
* Initialize internal parameters to match drill options
* Initialize internal parameters to match drill options
* @param aMetric = true for metric coordinates, false for imperial units
* @param aMirror = true to create mirrored coordinates (Y coordinates negated)
* @param aZerosFmt = DECIMAL_FORMAT, SUPPRESS_LEADING, SUPPRESS_TRAILING, KEEP_ZEROS
* @param aMinimalHeader = true to use a minimal header (no comments, no info)
* @param aLeftDigits = number of digits for integer part of coordinates
* @param aOffset = drill coordinates offset
* @param aRightDigits = number of digits for mantissa part of coordinates
*/
*/
void
SetOptions
(
bool
aMirror
,
bool
aMinimalHeader
,
wxPoint
aOffset
)
void
SetOptions
(
bool
aMirror
,
bool
aMinimalHeader
,
wxPoint
aOffset
)
{
{
...
@@ -163,7 +162,7 @@ public: EXCELLON_WRITER( BOARD* aPcb, FILE* aFile,
...
@@ -163,7 +162,7 @@ public: EXCELLON_WRITER( BOARD* aPcb, FILE* aFile,
/**
/**
* CreateDrillFile
*
Function
CreateDrillFile
* Creates an Excellon drill file
* Creates an Excellon drill file
* @return hole count
* @return hole count
*/
*/
...
@@ -180,14 +179,14 @@ private:
...
@@ -180,14 +179,14 @@ private:
* Create the list of holes and tools for a given board
* Create the list of holes and tools for a given board
* The list is sorted by increasing drill values
* The list is sorted by increasing drill values
* Only holes from aFirstLayer to aLastLayer copper layers are listed (for vias, because pad holes are always through holes)
* Only holes from aFirstLayer to aLastLayer copper layers are listed (for vias, because pad holes are always through holes)
* @param Pcb : the given board
* @param
a
Pcb : the given board
* @param aHoleListBuffer : the std::vector<HOLE_INFO> to fill with pcb holes info
* @param aHoleListBuffer : the std::vector<HOLE_INFO> to fill with pcb holes info
* @param aToolListBuffer : the std::vector<DRILL_TOOL> to fill with tools to use
* @param aToolListBuffer : the std::vector<DRILL_TOOL> to fill with tools to use
* @param aFirstLayer = first layer to consider. if < 0 aFirstLayer is ignored
* @param aFirstLayer = first layer to consider. if < 0 aFirstLayer is ignored
* @param aLastLayer = last layer to consider. if < 0 aLastLayer is ignored
* @param aLastLayer = last layer to consider. if < 0 aLastLayer is ignored
* @param aExcludeThroughHoles : if true, exclude through holes ( pads and vias through )
* @param aExcludeThroughHoles : if true, exclude through holes ( pads and vias through )
*/
*/
void
Build_Holes_List
(
BOARD
*
Pcb
,
std
::
vector
<
HOLE_INFO
>&
aHoleListBuffer
,
void
Build_Holes_List
(
BOARD
*
a
Pcb
,
std
::
vector
<
HOLE_INFO
>&
aHoleListBuffer
,
std
::
vector
<
DRILL_TOOL
>&
aToolListBuffer
,
std
::
vector
<
DRILL_TOOL
>&
aToolListBuffer
,
int
aFirstLayer
,
int
aLastLayer
,
bool
aExcludeThroughHoles
);
int
aFirstLayer
,
int
aLastLayer
,
bool
aExcludeThroughHoles
);
...
...
pcbnew/gpcb_exchange.cpp
View file @
dc35a18c
...
@@ -509,9 +509,9 @@ bool TestFlags( const wxString& flg_string, long flg_mask, const wxChar* flg_nam
...
@@ -509,9 +509,9 @@ bool TestFlags( const wxString& flg_string, long flg_mask, const wxChar* flg_nam
* Test flag flg_mask or flg_name.
* Test flag flg_mask or flg_name.
* @param flg_string = flsg list to test: can be a bit field flag or a list name flsg
* @param flg_string = flsg list to test: can be a bit field flag or a list name flsg
* a bit field flag is an hexadecimal value: Ox00020000
* a bit field flag is an hexadecimal value: Ox00020000
* a list name fl
s
g is a string list of flags, comma separated like square,option1
* a list name fl
a
g is a string list of flags, comma separated like square,option1
* @param flg_mask = fl
s
g list to test
* @param flg_mask = fl
a
g list to test
* @param flg_
mask = flsg list to te
st
* @param flg_
name = flag name to find in li
st
* @return true if found
* @return true if found
*/
*/
{
{
...
...
pcbnew/muonde.cpp
View file @
dc35a18c
...
@@ -342,10 +342,11 @@ static void gen_arc( std::vector <wxPoint>& aBuffer,
...
@@ -342,10 +342,11 @@ static void gen_arc( std::vector <wxPoint>& aBuffer,
/**
/**
* Function BuildCornersList_S_Shape
* Function BuildCornersList_S_Shape
* Create a path like a S-shaped coil
* Create a path like a S-shaped coil
* @param aBuffer = a vector <wxPoint>& buffer where to put points
* @param aBuffer = a buffer where to store points (ends of segments)
* @param aStartPoint = starting point of the path
* @param aEndPoint = ending point of the path
* @param aEndPoint = ending point of the path
* @param aLength = full lenght of the path
* @param aLength = full lenght of the path
* @param aWidth =
witdth of lines
* @param aWidth =
segment width
*/
*/
int
BuildCornersList_S_Shape
(
std
::
vector
<
wxPoint
>&
aBuffer
,
int
BuildCornersList_S_Shape
(
std
::
vector
<
wxPoint
>&
aBuffer
,
wxPoint
aStartPoint
,
wxPoint
aEndPoint
,
wxPoint
aStartPoint
,
wxPoint
aEndPoint
,
...
...
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