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
c2648237
Commit
c2648237
authored
Jan 02, 2014
by
Dick Hollenbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
8 bit string relief via class UTF8
parent
f3467272
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
142 additions
and
125 deletions
+142
-125
footprint_info.cpp
common/footprint_info.cpp
+2
-2
fp_lib_table.cpp
common/fp_lib_table.cpp
+18
-18
fpid.cpp
common/fpid.cpp
+6
-6
stroke_font.cpp
common/gal/stroke_font.cpp
+17
-16
utf8.cpp
common/utf8.cpp
+2
-2
fp_lib_table.h
include/fp_lib_table.h
+1
-1
fpid.h
include/fpid.h
+13
-13
stroke_font.h
include/gal/stroke_font.h
+9
-10
richio.h
include/richio.h
+1
-1
utf8.h
include/utf8.h
+17
-0
class_board.cpp
pcbnew/class_board.cpp
+7
-7
dialog_edit_module_for_Modedit.cpp
pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp
+1
-1
dialog_fp_plugin_options.cpp
pcbnew/dialogs/dialog_fp_plugin_options.cpp
+5
-7
eagle_plugin.cpp
pcbnew/eagle_plugin.cpp
+4
-4
gen_modules_placefile.cpp
pcbnew/gen_modules_placefile.cpp
+3
-1
github_plugin.cpp
pcbnew/github/github_plugin.cpp
+8
-8
io_mgr.cpp
pcbnew/io_mgr.cpp
+1
-1
io_mgr.h
pcbnew/io_mgr.h
+2
-2
kicad_plugin.cpp
pcbnew/kicad_plugin.cpp
+1
-2
legacy_plugin.cpp
pcbnew/legacy_plugin.cpp
+5
-4
librairi.cpp
pcbnew/librairi.cpp
+3
-3
loadcmp.cpp
pcbnew/loadcmp.cpp
+2
-2
plugin.cpp
pcbnew/plugin.cpp
+12
-12
xchgmod.cpp
pcbnew/xchgmod.cpp
+2
-2
No files found.
common/footprint_info.cpp
View file @
c2648237
...
@@ -273,8 +273,8 @@ FOOTPRINT_INFO* FOOTPRINT_LIST::GetModuleInfo( const wxString& aFootprintName )
...
@@ -273,8 +273,8 @@ FOOTPRINT_INFO* FOOTPRINT_LIST::GetModuleInfo( const wxString& aFootprintName )
wxString
::
Format
(
wxT
(
"'%s' is not a valid FPID."
),
wxString
::
Format
(
wxT
(
"'%s' is not a valid FPID."
),
GetChars
(
aFootprintName
)
)
);
GetChars
(
aFootprintName
)
)
);
wxString
libNickname
=
FROM_UTF8
(
fpid
.
GetLibNickname
().
c_str
()
);
wxString
libNickname
=
fpid
.
GetLibNickname
(
);
wxString
footprintName
=
FROM_UTF8
(
fpid
.
GetFootprintName
().
c_str
()
);
wxString
footprintName
=
fpid
.
GetFootprintName
(
);
if
(
libNickname
==
fp
.
GetNickname
()
&&
footprintName
==
fp
.
GetFootprintName
()
)
if
(
libNickname
==
fp
.
GetNickname
()
&&
footprintName
==
fp
.
GetFootprintName
()
)
return
&
fp
;
return
&
fp
;
...
...
common/fp_lib_table.cpp
View file @
c2648237
...
@@ -173,7 +173,7 @@ MODULE* FP_LIB_TABLE::FootprintLoad( const wxString& aNickname, const wxString&
...
@@ -173,7 +173,7 @@ MODULE* FP_LIB_TABLE::FootprintLoad( const wxString& aNickname, const wxString&
FPID
&
fpid
=
(
FPID
&
)
ret
->
GetFPID
();
FPID
&
fpid
=
(
FPID
&
)
ret
->
GetFPID
();
// Catch any misbehaving plugin, which should be setting internal footprint name properly:
// Catch any misbehaving plugin, which should be setting internal footprint name properly:
wxASSERT
(
aFootprintName
==
FROM_UTF8
(
fpid
.
GetFootprintName
().
c_str
()
)
);
wxASSERT
(
aFootprintName
==
(
wxString
)
fpid
.
GetFootprintName
(
)
);
// and clearing nickname
// and clearing nickname
wxASSERT
(
!
fpid
.
GetLibNickname
().
size
()
);
wxASSERT
(
!
fpid
.
GetLibNickname
().
size
()
);
...
@@ -195,7 +195,7 @@ FP_LIB_TABLE::SAVE_T FP_LIB_TABLE::FootprintSave( const wxString& aNickname, con
...
@@ -195,7 +195,7 @@ FP_LIB_TABLE::SAVE_T FP_LIB_TABLE::FootprintSave( const wxString& aNickname, con
// Try loading the footprint to see if it already exists, caller wants overwrite
// Try loading the footprint to see if it already exists, caller wants overwrite
// protection, which is atypical, not the default.
// protection, which is atypical, not the default.
wxString
fpname
=
FROM_UTF8
(
aFootprint
->
GetFPID
().
GetFootprintName
().
c_str
()
);
wxString
fpname
=
aFootprint
->
GetFPID
().
GetFootprintName
(
);
std
::
auto_ptr
<
MODULE
>
m
(
row
->
plugin
->
FootprintLoad
(
row
->
GetFullURI
(
true
),
fpname
,
row
->
GetProperties
()
)
);
std
::
auto_ptr
<
MODULE
>
m
(
row
->
plugin
->
FootprintLoad
(
row
->
GetFullURI
(
true
),
fpname
,
row
->
GetProperties
()
)
);
...
@@ -480,16 +480,17 @@ PROPERTIES* FP_LIB_TABLE::ParseOptions( const std::string& aOptionsList )
...
@@ -480,16 +480,17 @@ PROPERTIES* FP_LIB_TABLE::ParseOptions( const std::string& aOptionsList )
}
}
std
::
string
FP_LIB_TABLE
::
FormatOptions
(
const
PROPERTIES
*
aProperties
)
UTF8
FP_LIB_TABLE
::
FormatOptions
(
const
PROPERTIES
*
aProperties
)
{
{
std
::
string
ret
;
UTF8
ret
;
if
(
aProperties
)
if
(
aProperties
)
{
{
for
(
PROPERTIES
::
const_iterator
it
=
aProperties
->
begin
();
it
!=
aProperties
->
end
();
++
it
)
for
(
PROPERTIES
::
const_iterator
it
=
aProperties
->
begin
();
it
!=
aProperties
->
end
();
++
it
)
{
{
const
std
::
string
&
name
=
it
->
first
;
const
std
::
string
&
name
=
it
->
first
;
const
std
::
string
&
value
=
it
->
second
;
const
UTF8
&
value
=
it
->
second
;
if
(
ret
.
size
()
)
if
(
ret
.
size
()
)
ret
+=
OPT_SEP
;
ret
+=
OPT_SEP
;
...
@@ -741,7 +742,7 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
...
@@ -741,7 +742,7 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
{
{
if
(
aReporter
)
if
(
aReporter
)
{
{
msg
.
Printf
(
_
(
"Cannot find footprint library file
\"
%s
\"
in any of the "
msg
.
Printf
(
_
(
"Cannot find footprint library file
'%s'
in any of the "
"KiCad legacy library search paths.
\n
"
),
"KiCad legacy library search paths.
\n
"
),
GetChars
(
fn
.
GetFullPath
()
)
);
GetChars
(
fn
.
GetFullPath
()
)
);
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
...
@@ -751,8 +752,7 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
...
@@ -751,8 +752,7 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
continue
;
continue
;
}
}
module
=
pi
->
FootprintLoad
(
libPath
,
module
=
pi
->
FootprintLoad
(
libPath
,
component
->
GetFPID
().
GetFootprintName
()
);
FROM_UTF8
(
component
->
GetFPID
().
GetFootprintName
().
c_str
()
)
);
if
(
module
)
if
(
module
)
{
{
...
@@ -766,10 +766,10 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
...
@@ -766,10 +766,10 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
{
{
if
(
aReporter
)
if
(
aReporter
)
{
{
msg
.
Printf
(
_
(
"Component `%s` footprint
<%s>
was not found in any legacy "
msg
.
Printf
(
_
(
"Component `%s` footprint
'%s'
was not found in any legacy "
"library.
\n
"
),
"library.
\n
"
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
FROM_UTF8
(
component
->
GetFPID
().
Format
().
c_str
()
)
)
);
GetChars
(
component
->
GetFPID
().
Format
(
)
)
);
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
}
}
...
@@ -811,10 +811,10 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
...
@@ -811,10 +811,10 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
{
{
if
(
aReporter
)
if
(
aReporter
)
{
{
msg
.
Printf
(
_
(
"Component `%s` footprint
<%s>
legacy library path <%s > "
msg
.
Printf
(
_
(
"Component `%s` footprint
'%s'
legacy library path <%s > "
"was not found in the footprint library table.
\n
"
),
"was not found in the footprint library table.
\n
"
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
FROM_UTF8
(
component
->
GetFPID
().
Format
().
c_str
()
)
)
);
GetChars
(
component
->
GetFPID
().
Format
(
)
)
);
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
}
}
...
@@ -830,9 +830,9 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
...
@@ -830,9 +830,9 @@ bool FP_LIB_TABLE::ConvertFromLegacy( NETLIST& aNetList, const wxArrayString& aL
{
{
if
(
aReporter
)
if
(
aReporter
)
{
{
msg
.
Printf
(
_
(
"Component `%s` FPID
<%s>
is not valid.
\n
"
),
msg
.
Printf
(
_
(
"Component `%s` FPID
'%s'
is not valid.
\n
"
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
FROM_UTF8
(
newFPID
.
Format
().
c_str
()
)
)
);
GetChars
(
newFPID
.
Format
(
)
)
);
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
}
}
...
@@ -860,7 +860,7 @@ void FP_LIB_TABLE::SetProjectPathEnvVariable( const wxFileName& aPath )
...
@@ -860,7 +860,7 @@ void FP_LIB_TABLE::SetProjectPathEnvVariable( const wxFileName& aPath )
else
else
path
=
aPath
.
GetPath
();
path
=
aPath
.
GetPath
();
wxLogTrace
(
traceFpLibTable
,
wxT
(
"Setting env %s to
<%s>
."
),
wxLogTrace
(
traceFpLibTable
,
wxT
(
"Setting env %s to
'%s'
."
),
GetChars
(
ProjectPathEnvVariableName
()
),
GetChars
(
path
)
);
GetChars
(
ProjectPathEnvVariableName
()
),
GetChars
(
path
)
);
wxSetEnv
(
ProjectPathEnvVariableName
(),
path
);
wxSetEnv
(
ProjectPathEnvVariableName
(),
path
);
}
}
...
@@ -899,7 +899,7 @@ wxString FP_LIB_TABLE::GetProjectFileName( const wxFileName& aPath )
...
@@ -899,7 +899,7 @@ wxString FP_LIB_TABLE::GetProjectFileName( const wxFileName& aPath )
fn
.
SetName
(
defaultFileName
);
fn
.
SetName
(
defaultFileName
);
}
}
wxLogTrace
(
traceFpLibTable
,
wxT
(
"Project specific footprint library table file
<%s>
."
),
wxLogTrace
(
traceFpLibTable
,
wxT
(
"Project specific footprint library table file
'%s'
."
),
GetChars
(
fn
.
GetFullPath
()
)
);
GetChars
(
fn
.
GetFullPath
()
)
);
return
fn
.
GetFullPath
();
return
fn
.
GetFullPath
();
...
@@ -917,7 +917,7 @@ bool FP_LIB_TABLE::LoadGlobalTable( FP_LIB_TABLE& aTable ) throw (IO_ERROR, PARS
...
@@ -917,7 +917,7 @@ bool FP_LIB_TABLE::LoadGlobalTable( FP_LIB_TABLE& aTable ) throw (IO_ERROR, PARS
if
(
!
fn
.
DirExists
()
&&
!
fn
.
Mkdir
(
0x777
,
wxPATH_MKDIR_FULL
)
)
if
(
!
fn
.
DirExists
()
&&
!
fn
.
Mkdir
(
0x777
,
wxPATH_MKDIR_FULL
)
)
{
{
THROW_IO_ERROR
(
wxString
::
Format
(
_
(
"Cannot create global library table path
<%s>
."
),
THROW_IO_ERROR
(
wxString
::
Format
(
_
(
"Cannot create global library table path
'%s'
."
),
GetChars
(
fn
.
GetPath
()
)
)
);
GetChars
(
fn
.
GetPath
()
)
)
);
}
}
...
@@ -954,7 +954,7 @@ wxString FP_LIB_TABLE::GetGlobalTableFileName()
...
@@ -954,7 +954,7 @@ wxString FP_LIB_TABLE::GetGlobalTableFileName()
fn
.
SetName
(
GetFileName
()
);
fn
.
SetName
(
GetFileName
()
);
wxLogTrace
(
traceFpLibTable
,
wxT
(
"Global footprint library table file
<%s>
."
),
wxLogTrace
(
traceFpLibTable
,
wxT
(
"Global footprint library table file
'%s'
."
),
GetChars
(
fn
.
GetFullPath
()
)
);
GetChars
(
fn
.
GetFullPath
()
)
);
return
fn
.
GetFullPath
();
return
fn
.
GetFullPath
();
...
...
common/fpid.cpp
View file @
c2648237
...
@@ -265,9 +265,9 @@ int FPID::SetRevision( const std::string& aRevision )
...
@@ -265,9 +265,9 @@ int FPID::SetRevision( const std::string& aRevision )
}
}
std
::
string
FPID
::
Format
()
const
UTF8
FPID
::
Format
()
const
{
{
std
::
string
ret
;
UTF8
ret
;
if
(
nickname
.
size
()
)
if
(
nickname
.
size
()
)
{
{
...
@@ -287,9 +287,9 @@ std::string FPID::Format() const
...
@@ -287,9 +287,9 @@ std::string FPID::Format() const
}
}
std
::
string
FPID
::
GetFootprintNameAndRev
()
const
UTF8
FPID
::
GetFootprintNameAndRev
()
const
{
{
std
::
string
ret
;
UTF8
ret
;
if
(
revision
.
size
()
)
if
(
revision
.
size
()
)
{
{
...
@@ -301,11 +301,11 @@ std::string FPID::GetFootprintNameAndRev() const
...
@@ -301,11 +301,11 @@ std::string FPID::GetFootprintNameAndRev() const
}
}
std
::
string
FPID
::
Format
(
const
std
::
string
&
aLogicalLib
,
const
std
::
string
&
aFootprintName
,
UTF8
FPID
::
Format
(
const
std
::
string
&
aLogicalLib
,
const
std
::
string
&
aFootprintName
,
const
std
::
string
&
aRevision
)
const
std
::
string
&
aRevision
)
throw
(
PARSE_ERROR
)
throw
(
PARSE_ERROR
)
{
{
std
::
string
ret
;
UTF8
ret
;
int
offset
;
int
offset
;
if
(
aLogicalLib
.
size
()
)
if
(
aLogicalLib
.
size
()
)
...
...
common/gal/stroke_font.cpp
View file @
c2648237
...
@@ -147,7 +147,7 @@ BOX2D STROKE_FONT::computeBoundingBox( const GLYPH& aGLYPH, const VECTOR2D& aGLY
...
@@ -147,7 +147,7 @@ BOX2D STROKE_FONT::computeBoundingBox( const GLYPH& aGLYPH, const VECTOR2D& aGLY
}
}
void
STROKE_FONT
::
Draw
(
const
wxString
&
aText
,
const
VECTOR2D
&
aPosition
,
double
aRotationAngle
)
void
STROKE_FONT
::
Draw
(
const
UTF8
&
aText
,
const
VECTOR2D
&
aPosition
,
double
aRotationAngle
)
{
{
// Context needs to be saved before any transformations
// Context needs to be saved before any transformations
m_gal
->
Save
();
m_gal
->
Save
();
...
@@ -192,7 +192,7 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double
...
@@ -192,7 +192,7 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double
{
{
size_t
length
=
newlinePos
-
begin
;
size_t
length
=
newlinePos
-
begin
;
drawSingleLineText
(
aText
.
Mid
(
begin
,
length
)
);
drawSingleLineText
(
aText
.
substr
(
begin
,
length
)
);
m_gal
->
Translate
(
VECTOR2D
(
0.0
,
lineHeight
)
);
m_gal
->
Translate
(
VECTOR2D
(
0.0
,
lineHeight
)
);
begin
=
newlinePos
+
1
;
begin
=
newlinePos
+
1
;
...
@@ -200,20 +200,20 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double
...
@@ -200,20 +200,20 @@ void STROKE_FONT::Draw( const wxString& aText, const VECTOR2D& aPosition, double
}
}
// Draw the last (or the only one) line
// Draw the last (or the only one) line
if
(
!
aText
.
IsE
mpty
()
)
if
(
!
aText
.
e
mpty
()
)
drawSingleLineText
(
aText
.
Mid
(
begin
)
);
drawSingleLineText
(
aText
.
substr
(
begin
)
);
m_gal
->
Restore
();
m_gal
->
Restore
();
}
}
void
STROKE_FONT
::
drawSingleLineText
(
const
wxString
&
aText
)
void
STROKE_FONT
::
drawSingleLineText
(
const
UTF8
&
aText
)
{
{
// By default the overbar is turned off
// By default the overbar is turned off
m_overbar
=
false
;
m_overbar
=
false
;
double
xOffset
;
double
xOffset
;
VECTOR2D
glyphSize
(
m_glyphSize
);
VECTOR2D
glyphSize
(
m_glyphSize
);
// Compute the text size
// Compute the text size
VECTOR2D
textSize
=
computeTextSize
(
aText
);
VECTOR2D
textSize
=
computeTextSize
(
aText
);
...
@@ -254,12 +254,12 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText )
...
@@ -254,12 +254,12 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText )
xOffset
=
0.0
;
xOffset
=
0.0
;
}
}
for
(
wxString
::
const_iterator
chIt
=
aText
.
begin
();
chIt
!=
aText
.
end
()
;
++
chIt
)
for
(
UTF8
::
uni_iter
chIt
=
aText
.
ubegin
(),
end
=
aText
.
uend
();
chIt
<
end
;
++
chIt
)
{
{
// Toggle overbar
// Toggle overbar
if
(
*
chIt
==
'~'
)
if
(
*
chIt
==
'~'
)
{
{
if
(
++
chIt
==
aText
.
end
()
)
if
(
++
chIt
>=
end
)
break
;
break
;
if
(
*
chIt
!=
'~'
)
// It was a single tilda, it toggles overbar
if
(
*
chIt
!=
'~'
)
// It was a single tilda, it toggles overbar
...
@@ -274,13 +274,14 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText )
...
@@ -274,13 +274,14 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText )
dd
=
'?'
-
' '
;
dd
=
'?'
-
' '
;
GLYPH
&
glyph
=
m_glyphs
[
dd
];
GLYPH
&
glyph
=
m_glyphs
[
dd
];
BOX2D
&
bbox
=
m_glyphBoundingBoxes
[
dd
];
BOX2D
&
bbox
=
m_glyphBoundingBoxes
[
dd
];
if
(
m_overbar
)
if
(
m_overbar
)
{
{
VECTOR2D
startOverbar
(
xOffset
,
-
getInterline
()
*
OVERBAR_HEIGHT
);
VECTOR2D
startOverbar
(
xOffset
,
-
getInterline
()
*
OVERBAR_HEIGHT
);
VECTOR2D
endOverbar
(
xOffset
+
glyphSize
.
x
*
bbox
.
GetEnd
().
x
,
VECTOR2D
endOverbar
(
xOffset
+
glyphSize
.
x
*
bbox
.
GetEnd
().
x
,
-
getInterline
()
*
OVERBAR_HEIGHT
);
-
getInterline
()
*
OVERBAR_HEIGHT
);
m_gal
->
DrawLine
(
startOverbar
,
endOverbar
);
m_gal
->
DrawLine
(
startOverbar
,
endOverbar
);
}
}
...
@@ -317,25 +318,25 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText )
...
@@ -317,25 +318,25 @@ void STROKE_FONT::drawSingleLineText( const wxString& aText )
}
}
VECTOR2D
STROKE_FONT
::
computeTextSize
(
const
wxString
&
aText
)
const
VECTOR2D
STROKE_FONT
::
computeTextSize
(
const
UTF8
&
aText
)
const
{
{
VECTOR2D
result
=
VECTOR2D
(
0.0
,
m_glyphSize
.
y
);
VECTOR2D
result
=
VECTOR2D
(
0.0
,
m_glyphSize
.
y
);
for
(
wxString
::
const_iterator
chIt
=
aText
.
begin
();
chIt
!=
aText
.
end
();
++
chI
t
)
for
(
UTF8
::
uni_iter
it
=
aText
.
ubegin
(),
end
=
aText
.
uend
();
it
<
end
;
++
i
t
)
{
{
wxASSERT_MSG
(
*
chI
t
!=
'\n'
,
wxASSERT_MSG
(
*
i
t
!=
'\n'
,
wxT
(
"This function is intended to work with single line strings"
)
);
wxT
(
"This function is intended to work with single line strings"
)
);
// If it is double tilda, then it is displayed as a single tilda
// If it is double tilda, then it is displayed as a single tilda
// If it is single tilda, then it is toggling overbar, so we need to skip it
// If it is single tilda, then it is toggling overbar, so we need to skip it
if
(
*
chI
t
==
'~'
)
if
(
*
i
t
==
'~'
)
{
{
if
(
++
chIt
==
aText
.
end
()
)
if
(
++
it
>=
end
)
break
;
break
;
}
}
// Index in the bounding boxes table
// Index in the bounding boxes table
unsigned
dd
=
*
chI
t
-
' '
;
unsigned
dd
=
*
i
t
-
' '
;
if
(
dd
>=
m_glyphBoundingBoxes
.
size
()
||
dd
<
0
)
if
(
dd
>=
m_glyphBoundingBoxes
.
size
()
||
dd
<
0
)
dd
=
'?'
-
' '
;
dd
=
'?'
-
' '
;
...
...
common/utf8.cpp
View file @
c2648237
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
#include <utf8.h>
#include <utf8.h>
/* THROW_IO_ERROR needs this, but it
will soon be including
this file, so until some
/* THROW_IO_ERROR needs this, but it
includes
this file, so until some
factoring of THROW_IO_ERROR into a separate header, defer and use the asserts.
factoring of THROW_IO_ERROR into a separate header, defer and use the asserts.
#include <richio.h>
#include <richio.h>
*/
*/
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
/*
/*
These are not inlined so that code space is saved by encapsulating the
These are not inlined so that code space is saved by encapsulating the
creation of intermediate objects and
referencing
wxConvUTF8.
creation of intermediate objects and
the referencing of
wxConvUTF8.
*/
*/
...
...
include/fp_lib_table.h
View file @
c2648237
...
@@ -339,7 +339,7 @@ public:
...
@@ -339,7 +339,7 @@ public:
* @param aProperties is the PROPERTIES to format or NULL. If NULL the returned
* @param aProperties is the PROPERTIES to format or NULL. If NULL the returned
* string will be empty.
* string will be empty.
*/
*/
static
std
::
string
FormatOptions
(
const
PROPERTIES
*
aProperties
);
static
UTF8
FormatOptions
(
const
PROPERTIES
*
aProperties
);
/**
/**
* Function Format
* Function Format
...
...
include/fpid.h
View file @
c2648237
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
#define _FPID_H_
#define _FPID_H_
#include <richio.h>
#include <richio.h>
#include <utf8.h>
/**
/**
* Class FPID
* Class FPID
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
*
*
* @author Dick Hollenbeck
* @author Dick Hollenbeck
*/
*/
class
FPID
// aka GUID
class
FPID
{
{
public
:
public
:
...
@@ -88,7 +88,7 @@ public:
...
@@ -88,7 +88,7 @@ public:
* Function GetLibNickname
* Function GetLibNickname
* returns the logical library name portion of a FPID.
* returns the logical library name portion of a FPID.
*/
*/
const
std
::
string
&
GetLibNickname
()
const
const
UTF8
&
GetLibNickname
()
const
{
{
return
nickname
;
return
nickname
;
}
}
...
@@ -108,7 +108,7 @@ public:
...
@@ -108,7 +108,7 @@ public:
* Function GetFootprintName
* Function GetFootprintName
* returns the footprint name, i.e. footprintName.
* returns the footprint name, i.e. footprintName.
*/
*/
const
std
::
string
&
GetFootprintName
()
const
{
return
footprint
;
}
const
UTF8
&
GetFootprintName
()
const
{
return
footprint
;
}
/**
/**
* Function SetFootprintName
* Function SetFootprintName
...
@@ -120,15 +120,15 @@ public:
...
@@ -120,15 +120,15 @@ public:
int
SetRevision
(
const
std
::
string
&
aRevision
);
int
SetRevision
(
const
std
::
string
&
aRevision
);
const
std
::
string
&
GetRevision
()
const
{
return
revision
;
}
const
UTF8
&
GetRevision
()
const
{
return
revision
;
}
std
::
string
GetFootprintNameAndRev
()
const
;
UTF8
GetFootprintNameAndRev
()
const
;
/**
/**
* Function Format
* Function Format
* returns the fully formatted text of the FPID.
* returns the fully formatted text of the FPID.
*/
*/
std
::
string
Format
()
const
;
UTF8
Format
()
const
;
/**
/**
* Function Format
* Function Format
...
@@ -137,7 +137,7 @@ public:
...
@@ -137,7 +137,7 @@ public:
*
*
* @throw PARSE_ERROR if any of the pieces are illegal.
* @throw PARSE_ERROR if any of the pieces are illegal.
*/
*/
static
std
::
string
Format
(
const
std
::
string
&
aLibNickname
,
const
std
::
string
&
aFootprintName
,
static
UTF8
Format
(
const
std
::
string
&
aLibNickname
,
const
std
::
string
&
aFootprintName
,
const
std
::
string
&
aRevision
)
const
std
::
string
&
aRevision
)
throw
(
PARSE_ERROR
);
throw
(
PARSE_ERROR
);
...
@@ -182,8 +182,8 @@ public:
...
@@ -182,8 +182,8 @@ public:
*/
*/
int
compare
(
const
FPID
&
aFPID
)
const
;
int
compare
(
const
FPID
&
aFPID
)
const
;
bool
operator
<
(
const
FPID
&
aFPID
)
const
{
return
this
->
compare
(
aFPID
)
<
0
;
}
bool
operator
<
(
const
FPID
&
aFPID
)
const
{
return
this
->
compare
(
aFPID
)
<
0
;
}
bool
operator
>
(
const
FPID
&
aFPID
)
const
{
return
this
->
compare
(
aFPID
)
>
0
;
}
bool
operator
>
(
const
FPID
&
aFPID
)
const
{
return
this
->
compare
(
aFPID
)
>
0
;
}
bool
operator
==
(
const
FPID
&
aFPID
)
const
{
return
this
->
compare
(
aFPID
)
==
0
;
}
bool
operator
==
(
const
FPID
&
aFPID
)
const
{
return
this
->
compare
(
aFPID
)
==
0
;
}
bool
operator
!=
(
const
FPID
&
aFPID
)
const
{
return
!
(
*
this
==
aFPID
);
}
bool
operator
!=
(
const
FPID
&
aFPID
)
const
{
return
!
(
*
this
==
aFPID
);
}
...
@@ -192,9 +192,9 @@ public:
...
@@ -192,9 +192,9 @@ public:
#endif
#endif
protected
:
protected
:
std
::
string
nickname
;
///< The nickname of the footprint library or empty.
UTF8
nickname
;
///< The nickname of the footprint library or empty.
std
::
string
footprint
;
///< The name of the footprint in the logical library.
UTF8
footprint
;
///< The name of the footprint in the logical library.
std
::
string
revision
;
///< The footprint revision.
UTF8
revision
;
///< The footprint revision.
};
};
...
...
include/gal/stroke_font.h
View file @
c2648237
...
@@ -29,8 +29,8 @@
...
@@ -29,8 +29,8 @@
#ifndef STROKE_FONT_H_
#ifndef STROKE_FONT_H_
#define STROKE_FONT_H_
#define STROKE_FONT_H_
#include <string>
#include <deque>
#include <deque>
#include <utf8.h>
#include <eda_text.h>
#include <eda_text.h>
...
@@ -70,7 +70,7 @@ public:
...
@@ -70,7 +70,7 @@ public:
* @param aPosition is the text position in world coordinates.
* @param aPosition is the text position in world coordinates.
* @param aRotationAngle is the text rotation angle.
* @param aRotationAngle is the text rotation angle.
*/
*/
void
Draw
(
const
wxString
&
aText
,
const
VECTOR2D
&
aPosition
,
double
aRotationAngle
);
void
Draw
(
const
UTF8
&
aText
,
const
VECTOR2D
&
aPosition
,
double
aRotationAngle
);
/**
/**
* @brief Set the glyph size.
* @brief Set the glyph size.
...
@@ -173,7 +173,7 @@ private:
...
@@ -173,7 +173,7 @@ private:
*
*
* @param aText is the text to be drawn.
* @param aText is the text to be drawn.
*/
*/
void
drawSingleLineText
(
const
wxString
&
aText
);
void
drawSingleLineText
(
const
UTF8
&
aText
);
/**
/**
* @brief Compute the size of a given text.
* @brief Compute the size of a given text.
...
@@ -181,20 +181,19 @@ private:
...
@@ -181,20 +181,19 @@ private:
* @param aText is the text string.
* @param aText is the text string.
* @return is the text size.
* @return is the text size.
*/
*/
VECTOR2D
computeTextSize
(
const
wxString
&
aText
)
const
;
VECTOR2D
computeTextSize
(
const
UTF8
&
aText
)
const
;
/**
/**
* @brief Returns number of lines for a given text.
* @brief Returns number of lines for a given text.
*
*
* @param aText is the text to be checked.
* @param aText is the text to be checked.
* @return
Number of lines of
aText.
* @return
unsigned - The number of lines in
aText.
*/
*/
unsigned
int
linesCount
(
const
wxString
&
aText
)
const
unsigned
linesCount
(
const
UTF8
&
aText
)
const
{
{
wxString
::
const_iterator
it
,
itEnd
;
unsigned
lines
=
1
;
unsigned
int
lines
=
1
;
for
(
it
=
aText
.
begin
(),
itEnd
=
aText
.
end
();
it
!=
itEnd
;
++
it
)
for
(
UTF8
::
const_iterator
it
=
aText
.
begin
(),
itEnd
=
aText
.
end
();
it
!=
itEnd
;
++
it
)
{
{
if
(
*
it
==
'\n'
)
if
(
*
it
==
'\n'
)
++
lines
;
++
lines
;
...
@@ -214,4 +213,4 @@ private:
...
@@ -214,4 +213,4 @@ private:
};
};
}
// namespace KIGFX
}
// namespace KIGFX
#endif
/
* STROKE_FONT_H_ */
#endif /
/ STROKE_FONT_H_
include/richio.h
View file @
c2648237
...
@@ -29,8 +29,8 @@
...
@@ -29,8 +29,8 @@
// "richio" after its author, Richard Hollenbeck, aka Dick Hollenbeck.
// "richio" after its author, Richard Hollenbeck, aka Dick Hollenbeck.
#include <string>
#include <vector>
#include <vector>
#include <utf8.h>
// I really did not want to be dependent on wxWidgets in richio
// I really did not want to be dependent on wxWidgets in richio
// but the errorText needs to be wide char so wxString rules.
// but the errorText needs to be wide char so wxString rules.
...
...
include/utf8.h
View file @
c2648237
...
@@ -83,6 +83,23 @@ public:
...
@@ -83,6 +83,23 @@ public:
return
*
this
;
return
*
this
;
}
}
UTF8
&
operator
=
(
const
char
*
s
)
{
std
::
string
::
operator
=
(
s
);
return
*
this
;
}
UTF8
&
operator
=
(
char
c
)
{
std
::
string
::
operator
=
(
c
);
return
*
this
;
}
UTF8
substr
(
size_t
pos
=
0
,
size_t
len
=
npos
)
const
{
return
std
::
string
::
substr
(
pos
,
len
);
}
operator
wxString
()
const
;
operator
wxString
()
const
;
/// This one is not in std::string, and one wonders why... might be a solid
/// This one is not in std::string, and one wonders why... might be a solid
...
...
pcbnew/class_board.cpp
View file @
c2648237
...
@@ -2447,7 +2447,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
...
@@ -2447,7 +2447,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
msg
.
Printf
(
_
(
"Checking netlist component footprint
\"
%s:%s:%s
\"
.
\n
"
),
msg
.
Printf
(
_
(
"Checking netlist component footprint
\"
%s:%s:%s
\"
.
\n
"
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetTimeStamp
()
),
GetChars
(
component
->
GetTimeStamp
()
),
GetChars
(
FROM_UTF8
(
component
->
GetFPID
().
Format
().
c_str
()
)
)
);
GetChars
(
component
->
GetFPID
().
Format
(
)
)
);
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
}
}
...
@@ -2465,7 +2465,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
...
@@ -2465,7 +2465,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
msg
.
Printf
(
_
(
"Adding new component
\"
%s:%s
\"
footprint
\"
%s
\"
.
\n
"
),
msg
.
Printf
(
_
(
"Adding new component
\"
%s:%s
\"
footprint
\"
%s
\"
.
\n
"
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetTimeStamp
()
),
GetChars
(
component
->
GetTimeStamp
()
),
GetChars
(
FROM_UTF8
(
component
->
GetFPID
().
Format
().
c_str
()
)
)
);
GetChars
(
component
->
GetFPID
().
Format
(
)
)
);
if
(
aReporter
->
ReportWarnings
()
)
if
(
aReporter
->
ReportWarnings
()
)
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
...
@@ -2476,7 +2476,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
...
@@ -2476,7 +2476,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
"footprint
\"
%s
\"
.
\n
"
),
"footprint
\"
%s
\"
.
\n
"
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetTimeStamp
()
),
GetChars
(
component
->
GetTimeStamp
()
),
GetChars
(
FROM_UTF8
(
component
->
GetFPID
().
Format
().
c_str
()
)
)
);
GetChars
(
component
->
GetFPID
().
Format
(
)
)
);
if
(
aReporter
->
ReportErrors
()
)
if
(
aReporter
->
ReportErrors
()
)
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
...
@@ -2509,8 +2509,8 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
...
@@ -2509,8 +2509,8 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
"
\"
%s
\"
.
\n
"
),
"
\"
%s
\"
.
\n
"
),
GetChars
(
footprint
->
GetReference
()
),
GetChars
(
footprint
->
GetReference
()
),
GetChars
(
footprint
->
GetPath
()
),
GetChars
(
footprint
->
GetPath
()
),
GetChars
(
FROM_UTF8
(
footprint
->
GetFPID
().
Format
().
c_str
()
)
),
GetChars
(
footprint
->
GetFPID
().
Format
(
)
),
GetChars
(
FROM_UTF8
(
component
->
GetFPID
().
Format
().
c_str
()
)
)
);
GetChars
(
component
->
GetFPID
().
Format
(
)
)
);
if
(
aReporter
->
ReportWarnings
()
)
if
(
aReporter
->
ReportWarnings
()
)
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
...
@@ -2521,7 +2521,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
...
@@ -2521,7 +2521,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
"footprint
\"
%s
\"
.
\n
"
),
"footprint
\"
%s
\"
.
\n
"
),
GetChars
(
footprint
->
GetReference
()
),
GetChars
(
footprint
->
GetReference
()
),
GetChars
(
footprint
->
GetPath
()
),
GetChars
(
footprint
->
GetPath
()
),
GetChars
(
FROM_UTF8
(
component
->
GetFPID
().
Format
().
c_str
()
)
)
);
GetChars
(
component
->
GetFPID
().
Format
(
)
)
);
if
(
aReporter
->
ReportErrors
()
)
if
(
aReporter
->
ReportErrors
()
)
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
...
@@ -2755,7 +2755,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
...
@@ -2755,7 +2755,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
msg
.
Printf
(
_
(
"** Error: Component
\"
%s
\"
pad '%s' not found in footprint
\"
%s
\"
**
\n
"
),
msg
.
Printf
(
_
(
"** Error: Component
\"
%s
\"
pad '%s' not found in footprint
\"
%s
\"
**
\n
"
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
component
->
GetReference
()
),
GetChars
(
padname
),
GetChars
(
padname
),
footprint
->
GetFPID
().
Format
().
c_str
(
)
);
GetChars
(
footprint
->
GetFPID
().
Format
()
)
);
aReporter
->
Report
(
msg
);
aReporter
->
Report
(
msg
);
}
}
}
}
...
...
pcbnew/dialogs/dialog_edit_module_for_Modedit.cpp
View file @
c2648237
...
@@ -117,7 +117,7 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
...
@@ -117,7 +117,7 @@ void DIALOG_MODULE_MODULE_EDITOR::initModeditProperties()
m_ReferenceCtrl
->
SetValue
(
m_referenceCopy
->
GetText
()
);
m_ReferenceCtrl
->
SetValue
(
m_referenceCopy
->
GetText
()
);
m_ValueCtrl
->
SetValue
(
m_valueCopy
->
GetText
()
);
m_ValueCtrl
->
SetValue
(
m_valueCopy
->
GetText
()
);
m_ValueCtrl
->
SetValue
(
m_valueCopy
->
GetText
()
);
m_ValueCtrl
->
SetValue
(
m_valueCopy
->
GetText
()
);
m_FootprintNameCtrl
->
SetValue
(
FROM_UTF8
(
m_currentModule
->
GetFPID
().
Format
().
c_str
()
)
);
m_FootprintNameCtrl
->
SetValue
(
m_currentModule
->
GetFPID
().
Format
(
)
);
m_AttributsCtrl
->
SetItemToolTip
(
0
,
_
(
"Use this attribute for most non SMD components"
)
);
m_AttributsCtrl
->
SetItemToolTip
(
0
,
_
(
"Use this attribute for most non SMD components"
)
);
m_AttributsCtrl
->
SetItemToolTip
(
1
,
m_AttributsCtrl
->
SetItemToolTip
(
1
,
...
...
pcbnew/dialogs/dialog_fp_plugin_options.cpp
View file @
c2648237
...
@@ -84,7 +84,7 @@ public:
...
@@ -84,7 +84,7 @@ public:
for
(
PROPERTIES
::
const_iterator
it
=
props
->
begin
();
it
!=
props
->
end
();
++
it
,
++
row
)
for
(
PROPERTIES
::
const_iterator
it
=
props
->
begin
();
it
!=
props
->
end
();
++
it
,
++
row
)
{
{
m_grid
->
SetCellValue
(
row
,
0
,
FROM_UTF8
(
it
->
first
.
c_str
()
)
);
m_grid
->
SetCellValue
(
row
,
0
,
FROM_UTF8
(
it
->
first
.
c_str
()
)
);
m_grid
->
SetCellValue
(
row
,
1
,
FROM_UTF8
(
it
->
second
.
c_str
()
)
);
m_grid
->
SetCellValue
(
row
,
1
,
it
->
second
);
}
}
delete
props
;
delete
props
;
...
@@ -184,7 +184,7 @@ private:
...
@@ -184,7 +184,7 @@ private:
for
(
int
row
=
0
;
row
<
rowCount
;
++
row
)
for
(
int
row
=
0
;
row
<
rowCount
;
++
row
)
{
{
string
name
=
TO_UTF8
(
m_grid
->
GetCellValue
(
row
,
0
).
Trim
(
false
).
Trim
()
);
string
name
=
TO_UTF8
(
m_grid
->
GetCellValue
(
row
,
0
).
Trim
(
false
).
Trim
()
);
string
value
=
TO_UTF8
(
m_grid
->
GetCellValue
(
row
,
1
).
Trim
(
false
).
Trim
()
);
UTF8
value
=
m_grid
->
GetCellValue
(
row
,
1
).
Trim
(
false
).
Trim
(
);
if
(
name
.
size
()
)
if
(
name
.
size
()
)
{
{
...
@@ -192,9 +192,7 @@ private:
...
@@ -192,9 +192,7 @@ private:
}
}
}
}
string
options
=
FP_LIB_TABLE
::
FormatOptions
(
&
props
);
return
FP_LIB_TABLE
::
FormatOptions
(
&
props
);
return
FROM_UTF8
(
options
.
c_str
()
);
}
}
void
saveColSizes
()
void
saveColSizes
()
...
@@ -261,11 +259,11 @@ private:
...
@@ -261,11 +259,11 @@ private:
if
(
event
.
IsSelection
()
)
if
(
event
.
IsSelection
()
)
{
{
string
option
=
TO_UTF8
(
event
.
GetString
()
);
string
option
=
TO_UTF8
(
event
.
GetString
()
);
string
help_text
;
UTF8
help_text
;
if
(
m_choices
.
Value
(
option
.
c_str
(),
&
help_text
)
)
if
(
m_choices
.
Value
(
option
.
c_str
(),
&
help_text
)
)
{
{
wxString
page
=
FROM_UTF8
(
help_text
.
c_str
()
)
;
wxString
page
=
help_text
;
m_html
->
SetPage
(
page
);
m_html
->
SetPage
(
page
);
}
}
...
...
pcbnew/eagle_plugin.cpp
View file @
c2648237
...
@@ -2711,8 +2711,8 @@ void EAGLE_PLUGIN::centerBoard()
...
@@ -2711,8 +2711,8 @@ void EAGLE_PLUGIN::centerBoard()
{
{
if
(
m_props
)
if
(
m_props
)
{
{
string
page_width
;
UTF8
page_width
;
string
page_height
;
UTF8
page_height
;
if
(
m_props
->
Value
(
"page_width"
,
&
page_width
)
&&
if
(
m_props
->
Value
(
"page_width"
,
&
page_width
)
&&
m_props
->
Value
(
"page_height"
,
&
page_height
)
)
m_props
->
Value
(
"page_height"
,
&
page_height
)
)
...
@@ -2873,10 +2873,10 @@ void EAGLE_PLUGIN::FootprintLibOptions( PROPERTIES* aListToAppendTo ) const
...
@@ -2873,10 +2873,10 @@ void EAGLE_PLUGIN::FootprintLibOptions( PROPERTIES* aListToAppendTo ) const
PLUGIN
::
FootprintLibOptions
(
aListToAppendTo
);
PLUGIN
::
FootprintLibOptions
(
aListToAppendTo
);
/*
/*
(*aListToAppendTo)["ignore_duplicates"] =
wxString
( _(
(*aListToAppendTo)["ignore_duplicates"] =
UTF8
( _(
"Ignore duplicately named footprints within the same Eagle library. "
"Ignore duplicately named footprints within the same Eagle library. "
"Only the first similarly named footprint will be loaded."
"Only the first similarly named footprint will be loaded."
))
.utf8_str()
;
));
*/
*/
}
}
...
...
pcbnew/gen_modules_placefile.cpp
View file @
c2648237
...
@@ -479,9 +479,11 @@ int PCB_EDIT_FRAME::DoGenFootprintsPositionFile( const wxString& aFullFileName,
...
@@ -479,9 +479,11 @@ int PCB_EDIT_FRAME::DoGenFootprintsPositionFile( const wxString& aFullFileName,
for
(
int
ii
=
0
;
ii
<
moduleCount
;
ii
++
)
for
(
int
ii
=
0
;
ii
<
moduleCount
;
ii
++
)
{
{
wxPoint
module_pos
;
wxPoint
module_pos
;
const
wxString
&
ref
=
list
[
ii
].
m_Reference
;
const
wxString
&
ref
=
list
[
ii
].
m_Reference
;
const
wxString
&
val
=
list
[
ii
].
m_Value
;
const
wxString
&
val
=
list
[
ii
].
m_Value
;
const
wxString
&
pkg
=
FROM_UTF8
(
list
[
ii
].
m_Module
->
GetFPID
().
Format
().
c_str
()
);
const
wxString
&
pkg
=
list
[
ii
].
m_Module
->
GetFPID
().
Format
();
sprintf
(
line
,
"%-8.8s %-16.16s %-16.16s"
,
sprintf
(
line
,
"%-8.8s %-16.16s %-16.16s"
,
TO_UTF8
(
ref
),
TO_UTF8
(
val
),
TO_UTF8
(
pkg
)
);
TO_UTF8
(
ref
),
TO_UTF8
(
val
),
TO_UTF8
(
pkg
)
);
...
...
pcbnew/github/github_plugin.cpp
View file @
c2648237
...
@@ -166,7 +166,7 @@ MODULE* GITHUB_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
...
@@ -166,7 +166,7 @@ MODULE* GITHUB_PLUGIN::FootprintLoad( const wxString& aLibraryPath,
}
}
}
}
string
fp_name
=
TO_UTF8
(
aFootprintName
)
;
UTF8
fp_name
=
aFootprintName
;
MODULE_CITER
it
=
m_gh_cache
->
find
(
fp_name
);
MODULE_CITER
it
=
m_gh_cache
->
find
(
fp_name
);
...
@@ -321,20 +321,20 @@ void GITHUB_PLUGIN::FootprintLibOptions( PROPERTIES* aListToAppendTo ) const
...
@@ -321,20 +321,20 @@ void GITHUB_PLUGIN::FootprintLibOptions( PROPERTIES* aListToAppendTo ) const
// inherit options supported by all PLUGINs.
// inherit options supported by all PLUGINs.
PLUGIN
::
FootprintLibOptions
(
aListToAppendTo
);
PLUGIN
::
FootprintLibOptions
(
aListToAppendTo
);
(
*
aListToAppendTo
)[
PRETTY_DIR
]
=
wxString
(
_
(
(
*
aListToAppendTo
)[
PRETTY_DIR
]
=
UTF8
(
_
(
"Set this property to a directory where footprints are to be written as pretty "
"Set this property to a directory where footprints are to be written as pretty "
"footprints when saving to this library. Anything saved will take precedence over "
"footprints when saving to this library. Anything saved will take precedence over "
"footprints by the same name in the github repo. These saved footprints can then "
"footprints by the same name in the github repo. These saved footprints can then "
"be sent to the library maintainer as updates. "
"be sent to the library maintainer as updates. "
"<p>The directory <b>must</b> have a <b>.pretty</b> file extension because the "
"<p>The directory <b>must</b> have a <b>.pretty</b> file extension because the "
"format of the save is pretty.</p>"
"format of the save is pretty.</p>"
))
.
utf8_str
()
;
));
/*
/*
(*aListToAppendTo)["cache_github_zip_in_this_dir"] =
wxString
( _(
(*aListToAppendTo)["cache_github_zip_in_this_dir"] =
UTF8
( _(
"Set this property to a directory where the github *.zip file will be cached. "
"Set this property to a directory where the github *.zip file will be cached. "
"This should speed up subsequent visits to this library."
"This should speed up subsequent visits to this library."
))
.utf8_str()
;
));
*/
*/
}
}
...
@@ -356,11 +356,11 @@ void GITHUB_PLUGIN::cacheLib( const wxString& aLibraryPath, const PROPERTIES* aP
...
@@ -356,11 +356,11 @@ void GITHUB_PLUGIN::cacheLib( const wxString& aLibraryPath, const PROPERTIES* aP
if
(
aProperties
)
if
(
aProperties
)
{
{
string
pretty_dir
;
UTF8
pretty_dir
;
if
(
aProperties
->
Value
(
PRETTY_DIR
,
&
pretty_dir
)
)
if
(
aProperties
->
Value
(
PRETTY_DIR
,
&
pretty_dir
)
)
{
{
wxString
wx_pretty_dir
=
FROM_UTF8
(
pretty_dir
.
c_str
()
)
;
wxString
wx_pretty_dir
=
pretty_dir
;
wx_pretty_dir
=
FP_LIB_TABLE
::
ExpandSubstitutions
(
wx_pretty_dir
);
wx_pretty_dir
=
FP_LIB_TABLE
::
ExpandSubstitutions
(
wx_pretty_dir
);
...
@@ -409,7 +409,7 @@ void GITHUB_PLUGIN::cacheLib( const wxString& aLibraryPath, const PROPERTIES* aP
...
@@ -409,7 +409,7 @@ void GITHUB_PLUGIN::cacheLib( const wxString& aLibraryPath, const PROPERTIES* aP
if
(
fn
.
GetExt
()
==
kicad_mod
)
if
(
fn
.
GetExt
()
==
kicad_mod
)
{
{
string
fp_name
=
TO_UTF8
(
fn
.
GetName
()
);
// omit extension & path
UTF8
fp_name
=
fn
.
GetName
();
// omit extension & path
m_gh_cache
->
insert
(
fp_name
,
entry
);
m_gh_cache
->
insert
(
fp_name
,
entry
);
}
}
...
...
pcbnew/io_mgr.cpp
View file @
c2648237
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
// is there a better place for this function?
// is there a better place for this function?
bool
PROPERTIES
::
Value
(
const
char
*
aName
,
std
::
string
*
aFetchedValue
)
const
bool
PROPERTIES
::
Value
(
const
char
*
aName
,
UTF8
*
aFetchedValue
)
const
{
{
PROPERTIES
::
const_iterator
it
=
find
(
aName
);
PROPERTIES
::
const_iterator
it
=
find
(
aName
);
...
...
pcbnew/io_mgr.h
View file @
c2648237
...
@@ -38,7 +38,7 @@ class MODULE;
...
@@ -38,7 +38,7 @@ class MODULE;
* is a name/value tuple with unique names and optional values. The names
* is a name/value tuple with unique names and optional values. The names
* may be iterated alphabetically.
* may be iterated alphabetically.
*/
*/
class
PROPERTIES
:
public
std
::
map
<
std
::
string
,
std
::
string
>
class
PROPERTIES
:
public
std
::
map
<
std
::
string
,
UTF8
>
{
{
// alphabetical tuple of name and value hereby defined.
// alphabetical tuple of name and value hereby defined.
...
@@ -53,7 +53,7 @@ public:
...
@@ -53,7 +53,7 @@ public:
* exists and aFetchedValue is not NULL.
* exists and aFetchedValue is not NULL.
* @return bool - true if property is found, else false.
* @return bool - true if property is found, else false.
*/
*/
bool
Value
(
const
char
*
aName
,
std
::
string
*
aFetchedValue
=
NULL
)
const
;
bool
Value
(
const
char
*
aName
,
UTF8
*
aFetchedValue
=
NULL
)
const
;
};
};
...
...
pcbnew/kicad_plugin.cpp
View file @
c2648237
...
@@ -1782,8 +1782,7 @@ void PCB_IO::FootprintSave( const wxString& aLibraryPath, const MODULE* aFootpri
...
@@ -1782,8 +1782,7 @@ void PCB_IO::FootprintSave( const wxString& aLibraryPath, const MODULE* aFootpri
MODULE_MAP
&
mods
=
m_cache
->
GetModules
();
MODULE_MAP
&
mods
=
m_cache
->
GetModules
();
// Quietly overwrite module and delete module file from path for any by same name.
// Quietly overwrite module and delete module file from path for any by same name.
wxFileName
fn
(
aLibraryPath
,
FROM_UTF8
(
aFootprint
->
GetFPID
().
GetFootprintName
().
c_str
()
),
wxFileName
fn
(
aLibraryPath
,
aFootprint
->
GetFPID
().
GetFootprintName
(),
KiCadFootprintFileExtension
);
KiCadFootprintFileExtension
);
if
(
!
fn
.
IsOk
()
)
if
(
!
fn
.
IsOk
()
)
{
{
...
...
pcbnew/legacy_plugin.cpp
View file @
c2648237
...
@@ -1144,8 +1144,9 @@ void LEGACY_PLUGIN::LoadMODULE( MODULE* aModule )
...
@@ -1144,8 +1144,9 @@ void LEGACY_PLUGIN::LoadMODULE( MODULE* aModule )
}
}
}
}
wxString
msg
=
wxString
::
Format
(
wxT
(
"Missing '$EndMODULE' for MODULE '%s'"
),
wxString
msg
=
wxString
::
Format
(
aModule
->
GetFPID
().
GetFootprintName
().
c_str
()
);
wxT
(
"Missing '$EndMODULE' for MODULE '%s'"
),
GetChars
(
aModule
->
GetFPID
().
GetFootprintName
()
)
);
THROW_IO_ERROR
(
msg
);
THROW_IO_ERROR
(
msg
);
}
}
...
@@ -1200,7 +1201,7 @@ void LEGACY_PLUGIN::loadPAD( MODULE* aModule )
...
@@ -1200,7 +1201,7 @@ void LEGACY_PLUGIN::loadPAD( MODULE* aModule )
padchar
,
padchar
,
padchar
,
padchar
,
m_reader
->
LineNumber
(),
m_reader
->
LineNumber
(),
aModule
->
GetFPID
().
GetFootprintName
().
c_str
(
)
GetChars
(
aModule
->
GetFPID
().
GetFootprintName
()
)
);
);
THROW_IO_ERROR
(
m_error
);
THROW_IO_ERROR
(
m_error
);
}
}
...
@@ -1401,7 +1402,7 @@ void LEGACY_PLUGIN::loadMODULE_EDGE( MODULE* aModule )
...
@@ -1401,7 +1402,7 @@ void LEGACY_PLUGIN::loadMODULE_EDGE( MODULE* aModule )
(
unsigned
char
)
line
[
1
],
(
unsigned
char
)
line
[
1
],
(
unsigned
char
)
line
[
1
],
(
unsigned
char
)
line
[
1
],
m_reader
->
LineNumber
(),
m_reader
->
LineNumber
(),
aModule
->
GetFPID
().
GetFootprintName
().
c_str
(
)
GetChars
(
aModule
->
GetFPID
().
GetFootprintName
()
)
);
);
THROW_IO_ERROR
(
m_error
);
THROW_IO_ERROR
(
m_error
);
}
}
...
...
pcbnew/librairi.cpp
View file @
c2648237
...
@@ -285,7 +285,7 @@ void FOOTPRINT_EDIT_FRAME::Export_Module( MODULE* aModule )
...
@@ -285,7 +285,7 @@ void FOOTPRINT_EDIT_FRAME::Export_Module( MODULE* aModule )
if
(
aModule
==
NULL
)
if
(
aModule
==
NULL
)
return
;
return
;
fn
.
SetName
(
FROM_UTF8
(
aModule
->
GetFPID
().
GetFootprintName
().
c_str
()
)
);
fn
.
SetName
(
aModule
->
GetFPID
().
GetFootprintName
(
)
);
wxString
wildcard
=
wxGetTranslation
(
KiCadFootprintLibFileWildcard
);
wxString
wildcard
=
wxGetTranslation
(
KiCadFootprintLibFileWildcard
);
...
@@ -485,7 +485,7 @@ bool FOOTPRINT_EDIT_FRAME::DeleteModuleFromCurrentLibrary()
...
@@ -485,7 +485,7 @@ bool FOOTPRINT_EDIT_FRAME::DeleteModuleFromCurrentLibrary()
return
false
;
return
false
;
FPID
fpid
(
fpid_txt
);
FPID
fpid
(
fpid_txt
);
wxString
fpname
=
FROM_UTF8
(
fpid
.
GetFootprintName
().
c_str
()
);
wxString
fpname
=
fpid
.
GetFootprintName
(
);
// Confirmation
// Confirmation
wxString
msg
=
wxString
::
Format
(
FMT_OK_DELETE
,
fpname
.
GetData
(),
nickname
.
GetData
()
);
wxString
msg
=
wxString
::
Format
(
FMT_OK_DELETE
,
fpname
.
GetData
(),
nickname
.
GetData
()
);
...
@@ -581,7 +581,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibrary,
...
@@ -581,7 +581,7 @@ bool PCB_BASE_FRAME::Save_Module_In_Library( const wxString& aLibrary,
SetMsgPanel
(
aModule
);
SetMsgPanel
(
aModule
);
// Ask what to use as the footprint name in the library
// Ask what to use as the footprint name in the library
wxString
footprintName
=
FROM_UTF8
(
aModule
->
GetFPID
().
GetFootprintName
().
c_str
()
);
wxString
footprintName
=
aModule
->
GetFPID
().
GetFootprintName
(
);
if
(
aDisplayDialog
)
if
(
aDisplayDialog
)
{
{
...
...
pcbnew/loadcmp.cpp
View file @
c2648237
...
@@ -451,8 +451,8 @@ MODULE* PCB_BASE_FRAME::loadFootprint( const FPID& aFootprintId )
...
@@ -451,8 +451,8 @@ MODULE* PCB_BASE_FRAME::loadFootprint( const FPID& aFootprintId )
wxCHECK_MSG
(
m_footprintLibTable
!=
NULL
,
NULL
,
wxCHECK_MSG
(
m_footprintLibTable
!=
NULL
,
NULL
,
wxT
(
"Cannot look up FPID in NULL FP_LIB_TABLE."
)
);
wxT
(
"Cannot look up FPID in NULL FP_LIB_TABLE."
)
);
wxString
nickname
=
FROM_UTF8
(
aFootprintId
.
GetLibNickname
().
c_str
()
);
wxString
nickname
=
aFootprintId
.
GetLibNickname
(
);
wxString
fpname
=
FROM_UTF8
(
aFootprintId
.
GetFootprintName
().
c_str
()
);
wxString
fpname
=
aFootprintId
.
GetFootprintName
(
);
if
(
nickname
.
size
()
)
if
(
nickname
.
size
()
)
{
{
...
...
pcbnew/plugin.cpp
View file @
c2648237
...
@@ -114,34 +114,34 @@ void PLUGIN::FootprintLibOptions( PROPERTIES* aListToAppendTo ) const
...
@@ -114,34 +114,34 @@ void PLUGIN::FootprintLibOptions( PROPERTIES* aListToAppendTo ) const
{
{
// disable all these in another couple of months, after everyone has seen them:
// disable all these in another couple of months, after everyone has seen them:
#if 1
#if 1
(
*
aListToAppendTo
)[
"debug_level"
]
=
wxString
(
_
(
(
*
aListToAppendTo
)[
"debug_level"
]
=
UTF8
(
_
(
"Enable <b>debug</b> logging for Footprint*() functions in this PLUGIN."
"Enable <b>debug</b> logging for Footprint*() functions in this PLUGIN."
))
.
utf8_str
()
;
));
(
*
aListToAppendTo
)[
"read_filter_regex"
]
=
wxString
(
_
(
(
*
aListToAppendTo
)[
"read_filter_regex"
]
=
UTF8
(
_
(
"Regular expression <b>footprint name</b> filter."
"Regular expression <b>footprint name</b> filter."
))
.
utf8_str
()
;
));
(
*
aListToAppendTo
)[
"enable_transaction_logging"
]
=
wxString
(
_
(
(
*
aListToAppendTo
)[
"enable_transaction_logging"
]
=
UTF8
(
_
(
"Enable transaction logging. The mere presence of this option turns on the "
"Enable transaction logging. The mere presence of this option turns on the "
" logging, no need to set a Value."
" logging, no need to set a Value."
))
.
utf8_str
()
;
));
(
*
aListToAppendTo
)[
"username"
]
=
wxString
(
_
(
(
*
aListToAppendTo
)[
"username"
]
=
UTF8
(
_
(
"User name for <b>login</b> to some special library server."
"User name for <b>login</b> to some special library server."
))
.
utf8_str
()
;
));
(
*
aListToAppendTo
)[
"password"
]
=
wxString
(
_
(
(
*
aListToAppendTo
)[
"password"
]
=
UTF8
(
_
(
"Password for <b>login</b> to some special library server."
"Password for <b>login</b> to some special library server."
))
.
utf8_str
()
;
));
#endif
#endif
#if 1
#if 1
// Suitable for a C++ to python PLUGIN::Footprint*() adapter, move it to the adapter
// Suitable for a C++ to python PLUGIN::Footprint*() adapter, move it to the adapter
// if and when implemented.
// if and when implemented.
(
*
aListToAppendTo
)[
"python_footprint_plugin"
]
=
wxString
(
_
(
(
*
aListToAppendTo
)[
"python_footprint_plugin"
]
=
UTF8
(
_
(
"Enter the python module which implements the PLUGIN::Footprint*() functions."
"Enter the python module which implements the PLUGIN::Footprint*() functions."
))
.
utf8_str
()
;
));
#endif
#endif
}
}
pcbnew/xchgmod.cpp
View file @
c2648237
...
@@ -394,8 +394,8 @@ bool DIALOG_EXCHANGE_MODULE::Change_1_Module( MODULE* aModule,
...
@@ -394,8 +394,8 @@ bool DIALOG_EXCHANGE_MODULE::Change_1_Module( MODULE* aModule,
aNewFootprintFPID
.
Format
().
c_str
()
);
aNewFootprintFPID
.
Format
().
c_str
()
);
m_WinMessages
->
AppendText
(
line
);
m_WinMessages
->
AppendText
(
line
);
wxString
moduleName
=
FROM_UTF8
(
aNewFootprintFPID
.
GetFootprintName
().
c_str
()
);
wxString
moduleName
=
aNewFootprintFPID
.
GetFootprintName
(
);
wxString
libName
=
FROM_UTF8
(
aNewFootprintFPID
.
GetLibNickname
().
c_str
()
);
wxString
libName
=
aNewFootprintFPID
.
GetLibNickname
(
);
newModule
=
m_parent
->
LoadFootprint
(
aNewFootprintFPID
);
newModule
=
m_parent
->
LoadFootprint
(
aNewFootprintFPID
);
...
...
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