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
f3230893
Commit
f3230893
authored
Aug 17, 2008
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Solved minor problems in eeschema, and code cleaning.
parent
ae0768c3
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
724 additions
and
667 deletions
+724
-667
3d_draw.cpp
3d-viewer/3d_draw.cpp
+292
-271
3d_toolbar.cpp
3d-viewer/3d_toolbar.cpp
+19
-8
about_kicad.cpp
common/about_kicad.cpp
+6
-6
controle.cpp
eeschema/controle.cpp
+6
-0
libedit_onleftclick.cpp
eeschema/libedit_onleftclick.cpp
+3
-3
symbdraw.cpp
eeschema/symbdraw.cpp
+0
-3
kicad.mo
internat/fr/kicad.mo
+0
-0
kicad.po
internat/fr/kicad.po
+398
-376
No files found.
3d-viewer/3d_draw.cpp
View file @
f3230893
//////////////////////////////////////
//////////////////////////////////////
// Name: 3d_draw.cpp
// Name: 3d_draw.cpp
//////////////////////////////////////
//////////////////////////////////////
...
@@ -42,12 +43,12 @@ static void Draw3D_FilledSegmentWithHole( double startx,
...
@@ -42,12 +43,12 @@ static void Draw3D_FilledSegmentWithHole( double startx,
double
holey
,
double
holey
,
double
holeradius
,
double
holeradius
,
double
zpos
);
double
zpos
);
static
void
Draw3D_ArcSegment
(
double
startx
,
double
starty
,
static
void
Draw3D_ArcSegment
(
double
startx
,
double
starty
,
double
endx
,
double
endy
,
double
width
,
double
zpos
);
double
endx
,
double
endy
,
double
width
,
double
zpos
);
static
void
Draw3D_CircleSegment
(
double
startx
,
double
starty
,
static
void
Draw3D_CircleSegment
(
double
startx
,
double
starty
,
double
endx
,
double
endy
,
double
width
,
double
zpos
);
double
endx
,
double
endy
,
double
width
,
double
zpos
);
static
int
Get3DLayerEnable
(
int
act_layer
);
static
int
Get3DLayerEnable
(
int
act_layer
);
static
GLfloat
Get3DLayerSide
(
int
act_layer
);
static
GLfloat
Get3DLayerSide
(
int
act_layer
);
/******************************************/
/******************************************/
void
Pcb3D_GLCanvas
::
Redraw
(
bool
finish
)
void
Pcb3D_GLCanvas
::
Redraw
(
bool
finish
)
...
@@ -88,15 +89,17 @@ void Pcb3D_GLCanvas::Redraw( bool finish )
...
@@ -88,15 +89,17 @@ void Pcb3D_GLCanvas::Redraw( bool finish )
/**********************************************/
/**********************************************/
GLuint
Pcb3D_GLCanvas
::
CreateDrawGL_List
()
GLuint
Pcb3D_GLCanvas
::
CreateDrawGL_List
()
/**********************************************/
/**********************************************/
/* Create the draw list items
/* Create the draw list items
*/
*/
{
{
WinEDA_BasePcbFrame
*
pcbframe
=
m_Parent
->
m_Parent
;
WinEDA_BasePcbFrame
*
pcbframe
=
m_Parent
->
m_Parent
;
BOARD
*
pcb
=
pcbframe
->
m_Pcb
;
BOARD
*
pcb
=
pcbframe
->
m_Pcb
;
TRACK
*
pt_piste
;
TRACK
*
track
;
int
ii
;
SEGZONE
*
segzone
;
int
ii
;
wxBusyCursor
dummy
;
wxBusyCursor
dummy
;
m_gllist
=
glGenLists
(
1
);
m_gllist
=
glGenLists
(
1
);
...
@@ -107,7 +110,7 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
...
@@ -107,7 +110,7 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
g_Parm_3D_Visu
.
m_BoardPos
.
y
=
-
g_Parm_3D_Visu
.
m_BoardPos
.
y
;
g_Parm_3D_Visu
.
m_BoardPos
.
y
=
-
g_Parm_3D_Visu
.
m_BoardPos
.
y
;
g_Parm_3D_Visu
.
m_Layers
=
pcb
->
m_BoardSettings
->
m_CopperLayerCount
;
g_Parm_3D_Visu
.
m_Layers
=
pcb
->
m_BoardSettings
->
m_CopperLayerCount
;
g_Parm_3D_Visu
.
m_BoardScale
=
2.0
/
MAX
(
g_Parm_3D_Visu
.
m_BoardSize
.
x
,
g_Parm_3D_Visu
.
m_BoardScale
=
2.0
/
MAX
(
g_Parm_3D_Visu
.
m_BoardSize
.
x
,
g_Parm_3D_Visu
.
m_BoardSize
.
y
);
g_Parm_3D_Visu
.
m_BoardSize
.
y
);
float
epoxy_width
=
1.6
;
// epoxy width in mm
float
epoxy_width
=
1.6
;
// epoxy width in mm
g_Parm_3D_Visu
.
m_Epoxy_Width
=
epoxy_width
/
2.54
*
1000
g_Parm_3D_Visu
.
m_Epoxy_Width
=
epoxy_width
/
2.54
*
1000
*
g_Parm_3D_Visu
.
m_BoardScale
;
*
g_Parm_3D_Visu
.
m_BoardScale
;
...
@@ -123,7 +126,7 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
...
@@ -123,7 +126,7 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
}
}
//GLfloat zpos_cu = 500 * g_Parm_3D_Visu.m_BoardScale;
//GLfloat zpos_cu = 500 * g_Parm_3D_Visu.m_BoardScale;
GLfloat
zpos_cu
=
10
*
g_Parm_3D_Visu
.
m_BoardScale
;
GLfloat
zpos_cu
=
10
*
g_Parm_3D_Visu
.
m_BoardScale
;
GLfloat
zpos_cmp
=
g_Parm_3D_Visu
.
m_Epoxy_Width
+
zpos_cu
;
GLfloat
zpos_cmp
=
g_Parm_3D_Visu
.
m_Epoxy_Width
+
zpos_cu
;
g_Parm_3D_Visu
.
m_LayerZcoord
[
ADHESIVE_N_CU
]
=
-
zpos_cu
*
2
;
g_Parm_3D_Visu
.
m_LayerZcoord
[
ADHESIVE_N_CU
]
=
-
zpos_cu
*
2
;
g_Parm_3D_Visu
.
m_LayerZcoord
[
ADHESIVE_N_CMP
]
=
zpos_cmp
+
zpos_cu
;
g_Parm_3D_Visu
.
m_LayerZcoord
[
ADHESIVE_N_CMP
]
=
zpos_cmp
+
zpos_cu
;
...
@@ -138,22 +141,23 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
...
@@ -138,22 +141,23 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
glColorMaterial
(
GL_FRONT_AND_BACK
,
GL_AMBIENT_AND_DIFFUSE
);
glColorMaterial
(
GL_FRONT_AND_BACK
,
GL_AMBIENT_AND_DIFFUSE
);
/* draw axes */
/* draw axis */
if
(
g_Parm_3D_Visu
.
m_Draw3DAxis
){
if
(
g_Parm_3D_Visu
.
m_Draw3DAxis
)
glEnable
(
GL_COLOR_MATERIAL
);
{
SetGLColor
(
WHITE
);
glEnable
(
GL_COLOR_MATERIAL
);
glBegin
(
GL_LINES
);
SetGLColor
(
WHITE
);
glNormal3f
(
0.0
,
0.0
,
1.0
);
// Normal is Z axis
glBegin
(
GL_LINES
);
glVertex3f
(
0.0
,
0.0
,
0.0
);
glNormal3f
(
0.0
,
0.0
,
1.0
);
// Normal is Z axis
glVertex3f
(
1.0
,
0.0
,
0.0
);
// X axis
glVertex3f
(
0.0
,
0.0
,
0.0
);
glVertex3f
(
0.0
,
0.0
,
0.0
);
glVertex3f
(
1.0
,
0.0
,
0.0
);
// X axis
glVertex3f
(
0.0
,
-
1.0
,
0.0
);
// Y axis
glVertex3f
(
0.0
,
0.0
,
0.0
);
glNormal3f
(
1.0
,
0.0
,
0.0
);
// Normal is Y axis
glVertex3f
(
0.0
,
-
1.0
,
0.0
);
// Y axis
glVertex3f
(
0.0
,
0.0
,
0.0
);
glNormal3f
(
1.0
,
0.0
,
0.0
);
// Normal is Y axis
glVertex3f
(
0.0
,
0.0
,
0.3
);
// Z axis
glVertex3f
(
0.0
,
0.0
,
0.0
);
glEnd
();
glVertex3f
(
0.0
,
0.0
,
0.3
);
// Z axis
}
glEnd
();
}
/* Draw epoxy limits (do not use, works and test in progress) */
/* Draw epoxy limits (do not use, works and test in progress) */
#if 0
#if 0
glEnable( GL_FOG );
glEnable( GL_FOG );
...
@@ -187,51 +191,52 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
...
@@ -187,51 +191,52 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
glEnd();
glEnd();
#endif
#endif
/*
Translation du trac du BOARD pour placer son centre en 0, 0
*/
/*
move the board in order to draw it with its centre at 0,0 3D coordinates
*/
glTranslatef
(
-
g_Parm_3D_Visu
.
m_BoardPos
.
x
*
g_Parm_3D_Visu
.
m_BoardScale
,
glTranslatef
(
-
g_Parm_3D_Visu
.
m_BoardPos
.
x
*
g_Parm_3D_Visu
.
m_BoardScale
,
-
g_Parm_3D_Visu
.
m_BoardPos
.
y
*
g_Parm_3D_Visu
.
m_BoardScale
,
-
g_Parm_3D_Visu
.
m_BoardPos
.
y
*
g_Parm_3D_Visu
.
m_BoardScale
,
0.0
F
);
0.0
F
);
glNormal3f
(
0.0
,
0.0
,
1.0
);
// Normal is Z axis
glNormal3f
(
0.0
,
0.0
,
1.0
);
// Normal is Z axis
/*
Trac des piste
s : */
/*
draw tracks and via
s : */
for
(
pt_piste
=
pcb
->
m_Track
;
pt_piste
!=
NULL
;
pt_piste
=
(
TRACK
*
)
pt_piste
->
Pnext
)
for
(
track
=
pcb
->
m_Track
;
track
!=
NULL
;
track
=
track
->
Next
()
)
{
{
if
(
pt_piste
->
Type
()
==
TYPEVIA
)
if
(
track
->
Type
()
==
TYPEVIA
)
Draw3D_Via
(
(
SEGVIA
*
)
pt_piste
);
Draw3D_Via
(
(
SEGVIA
*
)
track
);
else
else
Draw3D_Track
(
pt_piste
);
Draw3D_Track
(
track
);
}
}
if
(
g_Parm_3D_Visu
.
m_Draw3DZone
){
for
(
pt_piste
=
pcb
->
m_Zone
;
pt_piste
!=
NULL
;
pt_piste
=
(
TRACK
*
)
pt_piste
->
Pnext
)
if
(
g_Parm_3D_Visu
.
m_Draw3DZone
)
{
{
if
(
pt_piste
->
Type
()
==
TYPEZONE
)
for
(
segzone
=
pcb
->
m_Zone
;
segzone
!=
NULL
;
segzone
=
segzone
->
Next
()
)
Draw3D_Track
(
pt_piste
);
{
}
if
(
segzone
->
Type
()
==
TYPEZONE
)
}
Draw3D_Track
(
segzone
);
}
/* Trac des edges */
}
/* draw graphic items */
EDA_BaseStruct
*
PtStruct
;
EDA_BaseStruct
*
PtStruct
;
for
(
PtStruct
=
pcb
->
m_Drawings
;
PtStruct
!=
NULL
;
PtStruct
=
PtStruct
->
Pnext
)
for
(
PtStruct
=
pcb
->
m_Drawings
;
PtStruct
!=
NULL
;
PtStruct
=
PtStruct
->
Pnext
)
{
{
//if( PtStruct->Type() != TYPEDRAWSEGMENT )
switch
(
PtStruct
->
Type
()
)
// continue;
{
if
(
PtStruct
->
Type
()
==
TYPEDRAWSEGMENT
)
case
TYPEDRAWSEGMENT
:
{
Draw3D_DrawSegment
(
(
DRAWSEGMENT
*
)
PtStruct
);
#undef STRUCT
break
;
#define STRUCT ( (DRAWSEGMENT*) PtStruct )
Draw3D_DrawSegment
(
STRUCT
);
case
TYPETEXTE
:
}
Draw3D_DrawText
(
(
TEXTE_PCB
*
)
PtStruct
);
if
(
PtStruct
->
Type
()
==
TYPETEXTE
)
break
;
{
#undef STRUCT
default
:
#define STRUCT ( (TEXTE_PCB*) PtStruct )
break
;
Draw3D_DrawText
(
STRUCT
);
}
}
}
}
/*
trac des module
s */
/*
draw footprint
s */
MODULE
*
Module
=
(
MODULE
*
)
pcb
->
m_Modules
;
MODULE
*
Module
=
pcb
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Pnext
)
for
(
;
Module
!=
NULL
;
Module
=
Module
->
Next
()
)
{
{
Module
->
Draw3D
(
this
);
Module
->
Draw3D
(
this
);
}
}
...
@@ -304,18 +309,22 @@ void Pcb3D_GLCanvas::Draw3D_Via( SEGVIA* via )
...
@@ -304,18 +309,22 @@ void Pcb3D_GLCanvas::Draw3D_Via( SEGVIA* via )
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_LayerColor
[
CMP_N
];
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_LayerColor
[
CMP_N
];
if
(
color
&
ITEM_NOT_SHOW
)
if
(
color
&
ITEM_NOT_SHOW
)
continue
;
continue
;
//SetGLColor( color );
SetGLColor
(
LIGHTGRAY
);
SetGLColor
(
color
);
// SetGLColor( LIGHTGRAY );
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
if
(
layer
==
COPPER_LAYER_N
)
zpos
=
zpos
-
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
if
(
layer
==
COPPER_LAYER_N
)
else
zpos
=
zpos
+
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
zpos
=
zpos
-
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
else
zpos
=
zpos
+
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
Draw3D_FilledCircle
(
x
,
-
y
,
r
,
hole
,
zpos
);
Draw3D_FilledCircle
(
x
,
-
y
,
r
,
hole
,
zpos
);
if
(
layer
>=
top_layer
)
if
(
layer
>=
top_layer
)
break
;
break
;
}
}
// Drawing hole:
// Drawing hole:
SetGLColor
(
DARKGRAY
);
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_ViaColor
[
via
->
m_Shape
];
SetGLColor
(
color
);
height
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
top_layer
]
-
g_Parm_3D_Visu
.
m_LayerZcoord
[
bottom_layer
];
height
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
top_layer
]
-
g_Parm_3D_Visu
.
m_LayerZcoord
[
bottom_layer
];
Draw3D_FilledCylinder
(
x
,
-
y
,
hole
,
height
,
g_Parm_3D_Visu
.
m_LayerZcoord
[
bottom_layer
]
);
Draw3D_FilledCylinder
(
x
,
-
y
,
hole
,
height
,
g_Parm_3D_Visu
.
m_LayerZcoord
[
bottom_layer
]
);
}
}
...
@@ -346,43 +355,49 @@ void Pcb3D_GLCanvas::Draw3D_DrawSegment( DRAWSEGMENT* segment )
...
@@ -346,43 +355,49 @@ void Pcb3D_GLCanvas::Draw3D_DrawSegment( DRAWSEGMENT* segment )
{
{
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
switch
(
segment
->
m_Shape
)
{
switch
(
segment
->
m_Shape
)
case
S_ARC
:
{
Draw3D_ArcSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
case
S_ARC
:
break
;
Draw3D_ArcSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
case
S_CIRCLE
:
break
;
Draw3D_CircleSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
break
;
case
S_CIRCLE
:
default
:
Draw3D_CircleSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
Draw3D_FilledSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
break
;
break
;
}
default
:
Draw3D_FilledSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
break
;
}
}
}
}
}
else
else
{
{
layer
=
segment
->
GetLayer
();
layer
=
segment
->
GetLayer
();
glNormal3f
(
0.0
,
0.0
,
Get3DLayerSide
(
layer
)
);
glNormal3f
(
0.0
,
0.0
,
Get3DLayerSide
(
layer
)
);
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
if
(
Get3DLayerEnable
(
layer
))
if
(
Get3DLayerEnable
(
layer
)
)
{
{
switch
(
segment
->
m_Shape
)
switch
(
segment
->
m_Shape
)
{
{
case
S_ARC
:
case
S_ARC
:
Draw3D_ArcSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
Draw3D_ArcSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
break
;
break
;
case
S_CIRCLE
:
Draw3D_CircleSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
case
S_CIRCLE
:
break
;
Draw3D_CircleSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
default
:
break
;
Draw3D_FilledSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
break
;
default
:
}
Draw3D_FilledSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
}
break
;
}
}
}
}
}
}
/*************************************************************/
/*************************************************************/
void
Pcb3D_GLCanvas
::
Draw3D_DrawText
(
TEXTE_PCB
*
text
)
void
Pcb3D_GLCanvas
::
Draw3D_DrawText
(
TEXTE_PCB
*
text
)
/*************************************************************/
/*************************************************************/
...
@@ -391,47 +406,48 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text )
...
@@ -391,47 +406,48 @@ void Pcb3D_GLCanvas::Draw3D_DrawText( TEXTE_PCB* text )
double
x
,
y
,
xf
,
yf
;
double
x
,
y
,
xf
,
yf
;
double
zpos
,
w
;
double
zpos
,
w
;
int
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_LayerColor
[
layer
];
int
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_LayerColor
[
layer
];
int
coord
[
104
];
int
coord
[
104
];
int
ii
,
jj
,
kk
,
ll
,
nbpoints
;
int
ii
,
jj
,
kk
,
ll
,
nbpoints
;
if
(
Get3DLayerEnable
(
layer
))
if
(
Get3DLayerEnable
(
layer
)
)
{
{
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
glNormal3f
(
0.0
,
0.0
,
Get3DLayerSide
(
layer
)
);
glNormal3f
(
0.0
,
0.0
,
Get3DLayerSide
(
layer
)
);
text
->
CreateDrawData
();
text
->
CreateDrawData
();
jj
=
5
;
ii
=
jj
+
1
;
jj
=
5
;
ii
=
jj
+
1
;
while
(
ii
<
text
->
m_TextDrawingsSize
)
while
(
ii
<
text
->
m_TextDrawingsSize
)
{
{
nbpoints
=
text
->
m_TextDrawings
[
jj
];
nbpoints
=
text
->
m_TextDrawings
[
jj
];
if
(
nbpoints
>
50
)
if
(
nbpoints
>
50
)
nbpoints
=
50
;
nbpoints
=
50
;
for
(
kk
=
0
,
ll
=
0
;
(
kk
<
nbpoints
)
&&
(
ii
<
text
->
m_TextDrawingsSize
);
kk
++
)
for
(
kk
=
0
,
ll
=
0
;
(
kk
<
nbpoints
)
&&
(
ii
<
text
->
m_TextDrawingsSize
);
kk
++
)
{
{
coord
[
ll
++
]
=
text
->
m_TextDrawings
[
ii
++
]
+
text
->
m_Pos
.
x
;
coord
[
ll
++
]
=
text
->
m_TextDrawings
[
ii
++
]
+
text
->
m_Pos
.
x
;
coord
[
ll
++
]
=
text
->
m_TextDrawings
[
ii
++
]
+
text
->
m_Pos
.
y
;
coord
[
ll
++
]
=
text
->
m_TextDrawings
[
ii
++
]
+
text
->
m_Pos
.
y
;
}
}
jj
=
ii
++
;
jj
=
ii
++
;
for
(
kk
=
0
,
ll
=
0
;
kk
<
(
nbpoints
-
1
);
kk
++
,
ll
+=
2
)
for
(
kk
=
0
,
ll
=
0
;
kk
<
(
nbpoints
-
1
);
kk
++
,
ll
+=
2
)
{
{
SetGLColor
(
color
);
SetGLColor
(
color
);
w
=
text
->
m_Width
*
g_Parm_3D_Visu
.
m_BoardScale
;
w
=
text
->
m_Width
*
g_Parm_3D_Visu
.
m_BoardScale
;
x
=
coord
[
ll
]
*
g_Parm_3D_Visu
.
m_BoardScale
;
x
=
coord
[
ll
]
*
g_Parm_3D_Visu
.
m_BoardScale
;
y
=
coord
[
ll
+
1
]
*
g_Parm_3D_Visu
.
m_BoardScale
;
y
=
coord
[
ll
+
1
]
*
g_Parm_3D_Visu
.
m_BoardScale
;
xf
=
coord
[
ll
+
2
]
*
g_Parm_3D_Visu
.
m_BoardScale
;
xf
=
coord
[
ll
+
2
]
*
g_Parm_3D_Visu
.
m_BoardScale
;
yf
=
coord
[
ll
+
3
]
*
g_Parm_3D_Visu
.
m_BoardScale
;
yf
=
coord
[
ll
+
3
]
*
g_Parm_3D_Visu
.
m_BoardScale
;
//printf("text koordinata x=%d, y=%d, x2=%d, y2=%d\n",x,y,xf,yf);
//printf("text koordinata x=%d, y=%d, x2=%d, y2=%d\n",x,y,xf,yf);
Draw3D_FilledSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
Draw3D_FilledSegment
(
x
,
-
y
,
xf
,
-
yf
,
w
,
zpos
);
}
}
}
}
}
}
}
}
/*********************************************/
/*********************************************/
void
MODULE
::
Draw3D
(
Pcb3D_GLCanvas
*
glcanvas
)
void
MODULE
::
Draw3D
(
Pcb3D_GLCanvas
*
glcanvas
)
/*********************************************/
/*********************************************/
...
@@ -460,44 +476,38 @@ void MODULE::Draw3D( Pcb3D_GLCanvas* glcanvas )
...
@@ -460,44 +476,38 @@ void MODULE::Draw3D( Pcb3D_GLCanvas* glcanvas )
}
}
/* Draw module shape: 3D shape if exists (or module edge if not exists) */
/* Draw module shape: 3D shape if exists (or module edge if not exists) */
Struct3D_Master
*
Struct3D
=
m_3D_Drawings
;
Struct3D_Master
*
Struct3D
=
m_3D_Drawings
;
bool
As3dShape
=
FALSE
;
bool
As3dShape
=
FALSE
;
bool
Place3D
;
if
(
g_Parm_3D_Visu
.
m_Draw3DModule
)
if
(
(
Struct3D
->
m_Shape3DName
.
Find
(
wxString
(
wxT
(
"placa"
)))
!=
-
1
)
||
{
(
Struct3D
->
m_Shape3DName
.
Find
(
wxString
(
wxT
(
"place"
)))
!=
-
1
)
)
glPushMatrix
();
Place3D
=
TRUE
;
glTranslatef
(
m_Pos
.
x
*
g_Parm_3D_Visu
.
m_BoardScale
,
else
Place3D
=
FALSE
;
-
m_Pos
.
y
*
g_Parm_3D_Visu
.
m_BoardScale
,
g_Parm_3D_Visu
.
m_LayerZcoord
[
m_Layer
]
);
if
(
(
g_Parm_3D_Visu
.
m_Draw3DModule
&&
!
Place3D
)
||
if
(
m_Orient
)
(
g_Parm_3D_Visu
.
m_Draw3DPlace
&&
Place3D
)
)
{
{
glRotatef
(
(
double
)
m_Orient
/
10
,
0.0
,
0.0
,
1.0
);
glPushMatrix
();
}
glTranslatef
(
m_Pos
.
x
*
g_Parm_3D_Visu
.
m_BoardScale
,
if
(
m_Layer
==
COPPER_LAYER_N
)
-
m_Pos
.
y
*
g_Parm_3D_Visu
.
m_BoardScale
,
{
g_Parm_3D_Visu
.
m_LayerZcoord
[
m_Layer
]
);
glRotatef
(
180.0
,
0.0
,
1.0
,
0.0
);
if
(
m_Orient
)
glRotatef
(
180.0
,
0.0
,
0.0
,
1.0
);
{
}
glRotatef
(
(
double
)
m_Orient
/
10
,
0.0
,
0.0
,
1.0
);
DataScale3D
=
g_Parm_3D_Visu
.
m_BoardScale
*
UNITS3D_TO_UNITSPCB
;
}
if
(
m_Layer
==
COPPER_LAYER_N
)
for
(
;
Struct3D
!=
NULL
;
Struct3D
=
(
Struct3D_Master
*
)
Struct3D
->
Pnext
)
{
{
glRotatef
(
180.0
,
0.0
,
1.0
,
0.0
);
if
(
!
Struct3D
->
m_Shape3DName
.
IsEmpty
()
)
glRotatef
(
180.0
,
0.0
,
0.0
,
1.0
);
{
}
As3dShape
=
TRUE
;
DataScale3D
=
g_Parm_3D_Visu
.
m_BoardScale
*
UNITS3D_TO_UNITSPCB
;
Struct3D
->
ReadData
();
}
for
(
;
Struct3D
!=
NULL
;
Struct3D
=
(
Struct3D_Master
*
)
Struct3D
->
Pnext
)
}
{
if
(
!
Struct3D
->
m_Shape3DName
.
IsEmpty
()
)
glPopMatrix
();
{
}
As3dShape
=
TRUE
;
Struct3D
->
ReadData
();
if
(
!
As3dShape
)
// The footprint does not have a 3D shape, draw its 2D shape instead
}
}
glPopMatrix
();
}
if
(
!
As3dShape
)
{
{
EDA_BaseStruct
*
Struct
=
m_Drawings
;
EDA_BaseStruct
*
Struct
=
m_Drawings
;
glNormal3f
(
0.0
,
0.0
,
1.0
);
// Normal is Z axis
glNormal3f
(
0.0
,
0.0
,
1.0
);
// Normal is Z axis
...
@@ -524,10 +534,10 @@ void MODULE::Draw3D( Pcb3D_GLCanvas* glcanvas )
...
@@ -524,10 +534,10 @@ void MODULE::Draw3D( Pcb3D_GLCanvas* glcanvas )
void
EDGE_MODULE
::
Draw3D
(
Pcb3D_GLCanvas
*
glcanvas
)
void
EDGE_MODULE
::
Draw3D
(
Pcb3D_GLCanvas
*
glcanvas
)
/***************************************************/
/***************************************************/
{
{
wxString
s
;
wxString
s
;
int
dx
,
dy
;
int
dx
,
dy
;
double
scale
,
x
,
y
,
fx
,
fy
,
w
,
zpos
;
double
scale
,
x
,
y
,
fx
,
fy
,
w
,
zpos
;
int
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_LayerColor
[
m_Layer
];
int
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_LayerColor
[
m_Layer
];
if
(
color
&
ITEM_NOT_SHOW
)
if
(
color
&
ITEM_NOT_SHOW
)
return
;
return
;
...
@@ -540,30 +550,30 @@ void EDGE_MODULE::Draw3D( Pcb3D_GLCanvas* glcanvas )
...
@@ -540,30 +550,30 @@ void EDGE_MODULE::Draw3D( Pcb3D_GLCanvas* glcanvas )
dy
=
m_End
.
y
;
dy
=
m_End
.
y
;
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
m_Layer
];
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
m_Layer
];
w
=
m_Width
*
g_Parm_3D_Visu
.
m_BoardScale
;
w
=
m_Width
*
g_Parm_3D_Visu
.
m_BoardScale
;
x
=
m_Start
.
x
*
g_Parm_3D_Visu
.
m_BoardScale
;
x
=
m_Start
.
x
*
g_Parm_3D_Visu
.
m_BoardScale
;
y
=
m_Start
.
y
*
g_Parm_3D_Visu
.
m_BoardScale
;
y
=
m_Start
.
y
*
g_Parm_3D_Visu
.
m_BoardScale
;
fx
=
dx
*
g_Parm_3D_Visu
.
m_BoardScale
;
fx
=
dx
*
g_Parm_3D_Visu
.
m_BoardScale
;
fy
=
dy
*
g_Parm_3D_Visu
.
m_BoardScale
;
fy
=
dy
*
g_Parm_3D_Visu
.
m_BoardScale
;
switch
(
m_Shape
)
switch
(
m_Shape
)
{
{
case
S_SEGMENT
:
case
S_SEGMENT
:
Draw3D_FilledSegment
(
x
,
-
y
,
fx
,
-
fy
,
w
,
zpos
);
Draw3D_FilledSegment
(
x
,
-
y
,
fx
,
-
fy
,
w
,
zpos
);
break
;
break
;
case
S_CIRCLE
:
case
S_CIRCLE
:
Draw3D_CircleSegment
(
x
,
-
y
,
fx
,
-
fy
,
w
,
zpos
);
Draw3D_CircleSegment
(
x
,
-
y
,
fx
,
-
fy
,
w
,
zpos
);
break
;
break
;
case
S_ARC
:
case
S_ARC
:
Draw3D_ArcSegment
(
x
,
-
y
,
fx
,
-
fy
,
w
,
zpos
);
Draw3D_ArcSegment
(
x
,
-
y
,
fx
,
-
fy
,
w
,
zpos
);
break
;
break
;
default
:
default
:
s
.
Printf
(
wxT
(
"Error: Shape nr %d not implemented!
\n
"
),
m_Shape
);
s
.
Printf
(
wxT
(
"Error: Shape nr %d not implemented!
\n
"
),
m_Shape
);
printf
(
CONV_TO_UTF8
(
s
)
);
printf
(
CONV_TO_UTF8
(
s
)
);
break
;
break
;
}
}
}
}
...
@@ -642,12 +652,14 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
...
@@ -642,12 +652,14 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_LayerColor
[
layer
];
color
=
g_Parm_3D_Visu
.
m_BoardSettings
->
m_LayerColor
[
layer
];
if
(
color
&
ITEM_NOT_SHOW
)
if
(
color
&
ITEM_NOT_SHOW
)
continue
;
continue
;
//SetGLColor( color );
SetGLColor
(
LIGHTGRAY
);
SetGLColor
(
color
);
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
if
(
layer
==
COPPER_LAYER_N
)
zpos
=
zpos
-
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
if
(
layer
==
COPPER_LAYER_N
)
else
zpos
=
zpos
+
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
zpos
=
zpos
-
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
else
zpos
=
zpos
+
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
Draw3D_FilledCircle
(
x
,
-
y
,
r
,
hole
,
zpos
);
Draw3D_FilledCircle
(
x
,
-
y
,
r
,
hole
,
zpos
);
}
}
...
@@ -690,11 +702,13 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
...
@@ -690,11 +702,13 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
if
(
color
&
ITEM_NOT_SHOW
)
if
(
color
&
ITEM_NOT_SHOW
)
continue
;
continue
;
//SetGLColor( color );
SetGLColor
(
LIGHTGRAY
);
SetGLColor
(
color
);
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
if
(
layer
==
COPPER_LAYER_N
)
zpos
=
zpos
-
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
if
(
layer
==
COPPER_LAYER_N
)
else
zpos
=
zpos
+
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
zpos
=
zpos
-
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
else
zpos
=
zpos
+
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
Draw3D_FilledSegmentWithHole
(
ox
,
-
oy
,
fx
,
-
fy
,
w
,
drillx
,
-
drilly
,
hole
,
zpos
);
Draw3D_FilledSegmentWithHole
(
ox
,
-
oy
,
fx
,
-
fy
,
w
,
drillx
,
-
drilly
,
hole
,
zpos
);
}
}
}
}
...
@@ -702,7 +716,6 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
...
@@ -702,7 +716,6 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
case
PAD_RECT
:
case
PAD_RECT
:
// case SPECIAL_PAD:
case
PAD_TRAPEZOID
:
case
PAD_TRAPEZOID
:
{
{
int
ddx
,
ddy
;
int
ddx
,
ddy
;
...
@@ -745,7 +758,7 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
...
@@ -745,7 +758,7 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
f_hole_coord
[
ii
][
0
]
=
-
hole
*
0.707
;
f_hole_coord
[
ii
][
0
]
=
-
hole
*
0.707
;
f_hole_coord
[
ii
][
1
]
=
hole
*
0.707
;
f_hole_coord
[
ii
][
1
]
=
hole
*
0.707
;
RotatePoint
(
&
f_hole_coord
[
ii
][
0
],
&
f_hole_coord
[
ii
][
1
],
RotatePoint
(
&
f_hole_coord
[
ii
][
0
],
&
f_hole_coord
[
ii
][
1
],
angle
-
(
ii
*
450
)
);
angle
-
(
ii
*
450
)
);
f_hole_coord
[
ii
][
0
]
+=
drillx
;
f_hole_coord
[
ii
][
0
]
+=
drillx
;
f_hole_coord
[
ii
][
1
]
+=
drilly
;
f_hole_coord
[
ii
][
1
]
+=
drilly
;
}
}
...
@@ -764,11 +777,13 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
...
@@ -764,11 +777,13 @@ void D_PAD::Draw3D( Pcb3D_GLCanvas* glcanvas )
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
glNormal3f
(
0.0
,
0.0
,
(
layer
==
COPPER_LAYER_N
)
?
-
1.0
:
1.0
);
if
(
color
&
ITEM_NOT_SHOW
)
if
(
color
&
ITEM_NOT_SHOW
)
continue
;
continue
;
//SetGLColor( color );
SetGLColor
(
LIGHTGRAY
);
SetGLColor
(
color
);
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
zpos
=
g_Parm_3D_Visu
.
m_LayerZcoord
[
layer
];
if
(
layer
==
COPPER_LAYER_N
)
zpos
=
zpos
-
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
if
(
layer
==
COPPER_LAYER_N
)
else
zpos
=
zpos
+
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
zpos
=
zpos
-
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
else
zpos
=
zpos
+
5
*
g_Parm_3D_Visu
.
m_BoardScale
;
glBegin
(
GL_QUAD_STRIP
);
glBegin
(
GL_QUAD_STRIP
);
for
(
ii
=
0
;
ii
<
8
;
ii
++
)
for
(
ii
=
0
;
ii
<
8
;
ii
++
)
{
{
...
@@ -1003,88 +1018,94 @@ static void Draw3D_FilledSegmentWithHole( double startx,
...
@@ -1003,88 +1018,94 @@ static void Draw3D_FilledSegmentWithHole( double startx,
glEnd
();
glEnd
();
}
}
/********************************************************/
/********************************************************/
static
void
Draw3D_ArcSegment
(
double
startx
,
double
starty
,
static
void
Draw3D_ArcSegment
(
double
startx
,
double
starty
,
double
endx
,
double
endy
,
double
width
,
double
zpos
)
double
endx
,
double
endy
,
double
width
,
double
zpos
)
{
{
int
ii
,
slice
=
36
;
int
ii
,
slice
=
36
;
double
x
,
y
,
hole
,
rayon
;
double
x
,
y
,
hole
,
rayon
;
int
angle
;
int
angle
;
angle
=
static_cast
<
int
>
(
atan2
(
startx
-
endx
,
starty
-
endy
)
*
1800
/
M_PI
)
+
900
;
angle
=
static_cast
<
int
>
(
atan2
(
startx
-
endx
,
starty
-
endy
)
*
1800
/
M_PI
)
+
900
;
rayon
=
hypot
(
startx
-
endx
,
starty
-
endy
)
+
(
width
/
2
);
rayon
=
hypot
(
startx
-
endx
,
starty
-
endy
)
+
(
width
/
2
);
hole
=
rayon
-
width
;
hole
=
rayon
-
width
;
glBegin
(
GL_QUAD_STRIP
);
glBegin
(
GL_QUAD_STRIP
);
for
(
ii
=
0
;
ii
<=
slice
/
4
;
ii
++
)
for
(
ii
=
0
;
ii
<=
slice
/
4
;
ii
++
)
{
{
x
=
hole
;
y
=
0.0
;
x
=
hole
;
y
=
0.0
;
RotatePoint
(
&
x
,
&
y
,
angle
+
(
ii
*
3600
/
slice
));
RotatePoint
(
&
x
,
&
y
,
angle
+
(
ii
*
3600
/
slice
)
);
glVertex3f
(
x
+
startx
,
y
+
starty
,
zpos
);
glVertex3f
(
x
+
startx
,
y
+
starty
,
zpos
);
x
=
rayon
;
y
=
0.0
;
x
=
rayon
;
y
=
0.0
;
RotatePoint
(
&
x
,
&
y
,
angle
+
(
ii
*
3600
/
slice
));
RotatePoint
(
&
x
,
&
y
,
angle
+
(
ii
*
3600
/
slice
)
);
glVertex3f
(
x
+
startx
,
y
+
starty
,
zpos
);
glVertex3f
(
x
+
startx
,
y
+
starty
,
zpos
);
}
}
glEnd
();
glEnd
();
}
}
/*******************************************************************/
/*******************************************************************/
static
void
Draw3D_CircleSegment
(
double
startx
,
double
starty
,
static
void
Draw3D_CircleSegment
(
double
startx
,
double
starty
,
double
endx
,
double
endy
,
double
width
,
double
zpos
)
double
endx
,
double
endy
,
double
width
,
double
zpos
)
/*******************************************************************/
/*******************************************************************/
{
{
int
ii
,
slice
=
36
;
int
ii
,
slice
=
36
;
double
x
,
y
,
hole
,
rayon
;
double
x
,
y
,
hole
,
rayon
;
rayon
=
hypot
(
startx
-
endx
,
starty
-
endy
)
+
(
width
/
2
);
rayon
=
hypot
(
startx
-
endx
,
starty
-
endy
)
+
(
width
/
2
);
hole
=
rayon
-
width
;
hole
=
rayon
-
width
;
glBegin
(
GL_QUAD_STRIP
);
glBegin
(
GL_QUAD_STRIP
);
for
(
ii
=
0
;
ii
<=
slice
;
ii
++
)
for
(
ii
=
0
;
ii
<=
slice
;
ii
++
)
{
{
x
=
hole
;
y
=
0.0
;
x
=
hole
;
y
=
0.0
;
RotatePoint
(
&
x
,
&
y
,
ii
*
3600
/
slice
);
RotatePoint
(
&
x
,
&
y
,
ii
*
3600
/
slice
);
glVertex3f
(
x
+
startx
,
y
+
starty
,
zpos
);
glVertex3f
(
x
+
startx
,
y
+
starty
,
zpos
);
x
=
rayon
;
y
=
0.0
;
x
=
rayon
;
y
=
0.0
;
RotatePoint
(
&
x
,
&
y
,
ii
*
3600
/
slice
);
RotatePoint
(
&
x
,
&
y
,
ii
*
3600
/
slice
);
glVertex3f
(
x
+
startx
,
y
+
starty
,
zpos
);
glVertex3f
(
x
+
startx
,
y
+
starty
,
zpos
);
}
}
glEnd
();
glEnd
();
}
}
/******************************************/
/******************************************/
static
int
Get3DLayerEnable
(
int
act_layer
)
static
int
Get3DLayerEnable
(
int
act_layer
)
/******************************************/
/******************************************/
{
{
bool
enablelayer
;
bool
enablelayer
;
enablelayer
=
TRUE
;
enablelayer
=
TRUE
;
if
(
act_layer
==
DRAW_N
&&
!
g_Parm_3D_Visu
.
m_Draw3DDrawings
)
if
(
act_layer
==
DRAW_N
&&
!
g_Parm_3D_Visu
.
m_Draw3DDrawings
)
enablelayer
=
FALSE
;
enablelayer
=
FALSE
;
if
(
act_layer
==
COMMENT_N
&&
!
g_Parm_3D_Visu
.
m_Draw3DComments
)
if
(
act_layer
==
COMMENT_N
&&
!
g_Parm_3D_Visu
.
m_Draw3DComments
)
enablelayer
=
FALSE
;
enablelayer
=
FALSE
;
if
(
act_layer
==
ECO1_N
&&
!
g_Parm_3D_Visu
.
m_Draw3DEco1
)
if
(
act_layer
==
ECO1_N
&&
!
g_Parm_3D_Visu
.
m_Draw3DEco1
)
enablelayer
=
FALSE
;
enablelayer
=
FALSE
;
if
(
act_layer
==
ECO2_N
&&
!
g_Parm_3D_Visu
.
m_Draw3DEco2
)
if
(
act_layer
==
ECO2_N
&&
!
g_Parm_3D_Visu
.
m_Draw3DEco2
)
enablelayer
=
FALSE
;
enablelayer
=
FALSE
;
return
enablelayer
;
return
enablelayer
;
}
}
/******************************************/
/******************************************/
static
GLfloat
Get3DLayerSide
(
int
act_layer
)
static
GLfloat
Get3DLayerSide
(
int
act_layer
)
/******************************************/
/******************************************/
{
{
GLfloat
nZ
;
GLfloat
nZ
;
nZ
=
1.0
;
if
(
nZ
=
1.0
;
(
act_layer
<=
LAST_COPPER_LAYER
-
1
)
||
if
(
(
act_layer
==
ADHESIVE_N_CU
)
||
(
act_layer
<=
LAST_COPPER_LAYER
-
1
)
(
act_layer
==
SOLDERPASTE_N_CU
)
||
||
(
act_layer
==
ADHESIVE_N_CU
)
(
act_layer
==
SILKSCREEN_N_CU
)
||
||
(
act_layer
==
SOLDERPASTE_N_CU
)
(
act_layer
==
SOLDERMASK
_N_CU
)
||
(
act_layer
==
SILKSCREEN
_N_CU
)
)
||
(
act_layer
==
SOLDERMASK_N_CU
)
nZ
=
-
1.0
;
)
return
nZ
;
nZ
=
-
1.0
;
return
nZ
;
}
}
3d-viewer/3d_toolbar.cpp
View file @
f3230893
...
@@ -103,6 +103,12 @@ void WinEDA3D_DrawFrame::ReCreateVToolbar()
...
@@ -103,6 +103,12 @@ void WinEDA3D_DrawFrame::ReCreateVToolbar()
void
WinEDA3D_DrawFrame
::
ReCreateMenuBar
()
void
WinEDA3D_DrawFrame
::
ReCreateMenuBar
()
/**********************************************/
/**********************************************/
{
{
bool
full_options
=
true
;
// If called from the display frame of cvpcb, only some options are relevant
if
(
m_Parent
->
m_FrameName
==
wxT
(
"CmpFrame"
)
)
// Called from cvpcb !
full_options
=
false
;
// Do not display all options
wxMenuBar
*
menuBar
=
new
wxMenuBar
;
wxMenuBar
*
menuBar
=
new
wxMenuBar
;
wxMenu
*
fileMenu
=
new
wxMenu
;
wxMenu
*
fileMenu
=
new
wxMenu
;
...
@@ -121,28 +127,33 @@ void WinEDA3D_DrawFrame::ReCreateMenuBar()
...
@@ -121,28 +127,33 @@ void WinEDA3D_DrawFrame::ReCreateMenuBar()
_
(
"Choose background color"
),
palette_xpm
);
_
(
"Choose background color"
),
palette_xpm
);
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_AXIS_ONOFF
,
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_AXIS_ONOFF
,
_
(
"Axis On/Off"
),
axis3d_front_xpm
);
_
(
"
3D
Axis On/Off"
),
axis3d_front_xpm
);
if
(
full_options
)
{
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_MODULE_ONOFF
,
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_MODULE_ONOFF
,
_
(
"
Module 3D
On/Off"
),
add_component_xpm
);
_
(
"
3D Footprints Shapes
On/Off"
),
add_component_xpm
);
#if 0
ADD_MENUITEM( referencesMenu, ID_MENU3D_PLACE_ONOFF,
ADD_MENUITEM( referencesMenu, ID_MENU3D_PLACE_ONOFF,
_( "PCB place 3D On/off" ), select_w_layer_xpm );
_( "PCB place 3D On/off" ), select_w_layer_xpm );
#endif
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_ZONE_ONOFF
,
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_ZONE_ONOFF
,
_
(
"Zone On/Off"
),
add_zone_xpm
);
_
(
"Zone
Filling
On/Off"
),
add_zone_xpm
);
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_COMMENTS_ONOFF
,
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_COMMENTS_ONOFF
,
_
(
"Comments On/Off"
),
edit_sheet_xpm
);
_
(
"Comments
Layer
On/Off"
),
edit_sheet_xpm
);
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_DRAWINGS_ONOFF
,
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_DRAWINGS_ONOFF
,
_
(
"Drawings
On/Off"
),
options_text
_xpm
);
_
(
"Drawings
Layer On/Off"
),
add_polygon
_xpm
);
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_ECO1_ONOFF
,
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_ECO1_ONOFF
,
_
(
"Eco1
On/Off"
),
options_text
_xpm
);
_
(
"Eco1
Layer On/Off"
),
tools
_xpm
);
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_ECO2_ONOFF
,
ADD_MENUITEM
(
referencesMenu
,
ID_MENU3D_ECO2_ONOFF
,
_
(
"Eco2 On/Off"
),
options_text_xpm
);
_
(
"Eco2 Layer On/Off"
),
tools_xpm
);
}
SetMenuBar
(
menuBar
);
SetMenuBar
(
menuBar
);
}
}
...
...
common/about_kicad.cpp
View file @
f3230893
...
@@ -44,17 +44,17 @@ void InitKiCadAbout(wxAboutDialogInfo& info)
...
@@ -44,17 +44,17 @@ void InitKiCadAbout(wxAboutDialogInfo& info)
/* Add developers */
/* Add developers */
info
.
AddDeveloper
(
_T
(
"Dick Hollenbeck <dick@softplc.com>"
));
info
.
AddDeveloper
(
_T
(
"Dick Hollenbeck <dick@softplc.com>"
));
info
.
AddDeveloper
(
_T
(
"Jean-Pierre Charras <jean-pierre.charras@inpg.fr>"
));
info
.
AddDeveloper
(
_T
(
"
\n
Jean-Pierre Charras <jean-pierre.charras@inpg.fr>"
));
/* Add document writers */
/* Add document writers */
info
.
AddDocWriter
(
_T
(
"Jean-Pierre Charras <jean-pierre.charras@inpg.fr>"
));
info
.
AddDocWriter
(
_T
(
"Jean-Pierre Charras <jean-pierre.charras@inpg.fr>"
));
info
.
AddDocWriter
(
_T
(
"Igor Plyatov <plyatov@gmail.com>"
));
info
.
AddDocWriter
(
_T
(
"
\n
Igor Plyatov <plyatov@gmail.com>"
));
/* Add translators */
/* Add translators */
info
.
AddTranslator
(
_T
(
"Czech (CZ) Milan Horák <stranger@tiscali.cz>"
));
info
.
AddTranslator
(
_T
(
"Czech (CZ) Milan Horák <stranger@tiscali.cz>"
));
info
.
AddTranslator
(
_T
(
"Dutch (NL) Jerry Jacobs <jerkejacobs@gmail.com>"
));
info
.
AddTranslator
(
_T
(
"
\n
Dutch (NL) Jerry Jacobs <jerkejacobs@gmail.com>"
));
info
.
AddTranslator
(
_T
(
"French (FR) Jean-Pierre Charras <jean-pierre.charras@inpg.fr>"
));
info
.
AddTranslator
(
_T
(
"
\n
French (FR) Jean-Pierre Charras <jean-pierre.charras@inpg.fr>"
));
info
.
AddTranslator
(
_T
(
"Polish (PL) Mateusz Skowroński <skowri@gmail.com>"
));
info
.
AddTranslator
(
_T
(
"
\n
Polish (PL) Mateusz Skowroński <skowri@gmail.com>"
));
info
.
AddTranslator
(
_T
(
"Russian (RU) Igor Plyatov <plyatov@gmail.com>"
));
info
.
AddTranslator
(
_T
(
"
\n
Russian (RU) Igor Plyatov <plyatov@gmail.com>"
));
}
}
eeschema/controle.cpp
View file @
f3230893
...
@@ -226,6 +226,8 @@ void WinEDA_SchematicFrame::GeneralControle( wxDC* DC, wxPoint MousePositionInPi
...
@@ -226,6 +226,8 @@ void WinEDA_SchematicFrame::GeneralControle( wxDC* DC, wxPoint MousePositionInPi
wxPoint
curpos
,
oldpos
;
wxPoint
curpos
,
oldpos
;
int
hotkey
=
0
;
int
hotkey
=
0
;
ActiveScreen
=
screen
;
curpos
=
screen
->
m_MousePosition
;
curpos
=
screen
->
m_MousePosition
;
oldpos
=
screen
->
m_Curseur
;
oldpos
=
screen
->
m_Curseur
;
...
@@ -355,6 +357,8 @@ void WinEDA_LibeditFrame::GeneralControle( wxDC* DC, wxPoint MousePositionInPixe
...
@@ -355,6 +357,8 @@ void WinEDA_LibeditFrame::GeneralControle( wxDC* DC, wxPoint MousePositionInPixe
wxPoint
curpos
,
oldpos
;
wxPoint
curpos
,
oldpos
;
int
hotkey
=
0
;
int
hotkey
=
0
;
ActiveScreen
=
screen
;
curpos
=
screen
->
m_MousePosition
;
curpos
=
screen
->
m_MousePosition
;
oldpos
=
screen
->
m_Curseur
;
oldpos
=
screen
->
m_Curseur
;
...
@@ -483,6 +487,8 @@ void WinEDA_ViewlibFrame::GeneralControle( wxDC* DC, wxPoint MousePositionInPixe
...
@@ -483,6 +487,8 @@ void WinEDA_ViewlibFrame::GeneralControle( wxDC* DC, wxPoint MousePositionInPixe
wxPoint
curpos
,
oldpos
;
wxPoint
curpos
,
oldpos
;
int
hotkey
=
0
;
int
hotkey
=
0
;
ActiveScreen
=
screen
;
curpos
=
screen
->
m_MousePosition
;
curpos
=
screen
->
m_MousePosition
;
oldpos
=
screen
->
m_Curseur
;
oldpos
=
screen
->
m_Curseur
;
...
...
eeschema/libedit_onleftclick.cpp
View file @
f3230893
...
@@ -25,7 +25,7 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
...
@@ -25,7 +25,7 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
{
{
LibEDA_BaseStruct
*
DrawEntry
=
CurrentDrawItem
;
LibEDA_BaseStruct
*
DrawEntry
=
CurrentDrawItem
;
if
(
CurrentLibEntry
==
NULL
)
if
(
CurrentLibEntry
==
NULL
)
// No component loaded !
return
;
return
;
if
(
m_ID_current_state
==
0
)
if
(
m_ID_current_state
==
0
)
...
@@ -107,11 +107,11 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
...
@@ -107,11 +107,11 @@ void WinEDA_LibeditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
case
ID_LIBEDIT_BODY_CIRCLE_BUTT
:
case
ID_LIBEDIT_BODY_CIRCLE_BUTT
:
case
ID_LIBEDIT_BODY_RECT_BUTT
:
case
ID_LIBEDIT_BODY_RECT_BUTT
:
case
ID_LIBEDIT_BODY_TEXT_BUTT
:
case
ID_LIBEDIT_BODY_TEXT_BUTT
:
if
(
CurrentDrawItem
==
NULL
)
if
(
CurrentDrawItem
==
NULL
||
CurrentDrawItem
->
m_Flags
==
0
)
{
{
CurrentDrawItem
=
CreateGraphicItem
(
DC
);
CurrentDrawItem
=
CreateGraphicItem
(
DC
);
}
}
else
else
if
(
CurrentDrawItem
)
{
{
if
(
CurrentDrawItem
->
m_Flags
&
IS_NEW
)
if
(
CurrentDrawItem
->
m_Flags
&
IS_NEW
)
GraphicItemBeginDraw
(
DC
);
GraphicItemBeginDraw
(
DC
);
...
...
eeschema/symbdraw.cpp
View file @
f3230893
...
@@ -181,9 +181,6 @@ LibEDA_BaseStruct* WinEDA_LibeditFrame::CreateGraphicItem( wxDC* DC )
...
@@ -181,9 +181,6 @@ LibEDA_BaseStruct* WinEDA_LibeditFrame::CreateGraphicItem( wxDC* DC )
int
DrawType
;
int
DrawType
;
int
*
ptpoly
;
int
*
ptpoly
;
if
(
CurrentDrawItem
)
return
NULL
;
DrawPanel
->
m_IgnoreMouseEvents
=
TRUE
;
DrawPanel
->
m_IgnoreMouseEvents
=
TRUE
;
// Creation du nouvel element
// Creation du nouvel element
...
...
internat/fr/kicad.mo
View file @
f3230893
No preview for this file type
internat/fr/kicad.po
View file @
f3230893
...
@@ -2,8 +2,8 @@ msgid ""
...
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
msgstr ""
"Project-Id-Version: kicad\n"
"Project-Id-Version: kicad\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-08-1
2 13:05
+0100\n"
"POT-Creation-Date: 2008-08-1
7 18:59
+0100\n"
"PO-Revision-Date: 2008-08-1
2 13:05
+0100\n"
"PO-Revision-Date: 2008-08-1
7 19:02
+0100\n"
"Last-Translator: \n"
"Last-Translator: \n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"Language-Team: kicad team <jean-pierre.charras@ujf-grenoble.fr>\n"
"MIME-Version: 1.0\n"
"MIME-Version: 1.0\n"
...
@@ -3583,98 +3583,6 @@ msgstr " fichier %s non trouvé"
...
@@ -3583,98 +3583,6 @@ msgstr " fichier %s non trouvé"
msgid "Save preferences"
msgid "Save preferences"
msgstr "Sauver préférences"
msgstr "Sauver préférences"
#: pcbnew/pcbframe.cpp:280
msgid "Board modified, Save before exit ?"
msgstr "Circuit Imprimé modifiée, Sauver avant de quitter ?"
#: pcbnew/pcbframe.cpp:281
msgid "Confirmation"
msgstr "Confirmation"
#: pcbnew/pcbframe.cpp:383
msgid "DRC Off (Disable !!!), Currently: DRC is active"
msgstr "DRC off (désactivée !!!), actuellement DRC active"
#: pcbnew/pcbframe.cpp:385
msgid "DRC On (Currently: DRC is inactive !!!)"
msgstr "DRC On (Actuellement, DRC désactivée !!!)"
#: pcbnew/pcbframe.cpp:396
msgid "Polar Coords not show"
msgstr "Coord Polaires non affichées"
#: pcbnew/pcbframe.cpp:397
msgid "Display Polar Coords"
msgstr "Affichage coord Polaires"
#: pcbnew/pcbframe.cpp:402
msgid "Grid not show"
msgstr "Grille non montrée"
#: pcbnew/pcbframe.cpp:402
msgid "Show Grid"
msgstr "Afficher grille"
#: pcbnew/pcbframe.cpp:411
msgid "General ratsnest not show"
msgstr "Chevelu général non affiché"
#: pcbnew/pcbframe.cpp:412
msgid "Show General ratsnest"
msgstr "Afficher le chevelu général"
#: pcbnew/pcbframe.cpp:418
msgid "Module ratsnest not show"
msgstr "Ne pas montrer le chevelu du module pendant déplacement"
#: pcbnew/pcbframe.cpp:419
msgid "Show Module ratsnest"
msgstr "Montrer le chevelu du module"
#: pcbnew/pcbframe.cpp:426
msgid "Disable Auto Delete old Track"
msgstr "Ne pas Autoriser l'effacement automatique des pistes"
#: pcbnew/pcbframe.cpp:427
msgid "Enable Auto Delete old Track"
msgstr "Autoriser l'effacement automatique des pistes"
#: pcbnew/pcbframe.cpp:434
msgid "Do not Show Zones"
msgstr "Ne pas monter Zones"
#: pcbnew/pcbframe.cpp:434
msgid "Show Zones"
msgstr "Monter Zones"
#: pcbnew/pcbframe.cpp:440
msgid "Show Pads Sketch mode"
msgstr "Afficher pastilles en contour"
#: pcbnew/pcbframe.cpp:441
msgid "Show pads filled mode"
msgstr "Afficher pastilles en mode plein"
#: pcbnew/pcbframe.cpp:447
msgid "Show Tracks Sketch mode"
msgstr "Afficher pistes en contour"
#: pcbnew/pcbframe.cpp:448
msgid "Show Tracks filled mode"
msgstr "Afficher pistes en mode plein"
#: pcbnew/pcbframe.cpp:454
msgid "Normal Contrast Mode Display"
msgstr "Mode d'affichage Contraste normal"
#: pcbnew/pcbframe.cpp:455
msgid "Hight Contrast Mode Display"
msgstr "Mode d'affichage Haut Contraste"
#: pcbnew/pcbnew.cpp:43
msgid "Pcbnew is already running, Continue?"
msgstr "Pcbnew est est cours d'exécution. Continuer ?"
#: pcbnew/pcbplot.cpp:147
#: pcbnew/pcbplot.cpp:147
#: pcbnew/pcbplot.cpp:272
#: pcbnew/pcbplot.cpp:272
msgid "Plot"
msgid "Plot"
...
@@ -4368,10 +4276,18 @@ msgstr "Monter le chevelu du module pendant déplacement"
...
@@ -4368,10 +4276,18 @@ msgstr "Monter le chevelu du module pendant déplacement"
msgid "Enable Auto Del Track"
msgid "Enable Auto Del Track"
msgstr "Autoriser l'effacement automatique des pistes"
msgstr "Autoriser l'effacement automatique des pistes"
#: pcbnew/tool_pcb.cpp:355
msgid "Show Zones"
msgstr "Monter Zones"
#: pcbnew/tool_pcb.cpp:364
#: pcbnew/tool_pcb.cpp:364
msgid "Show Tracks Sketch"
msgid "Show Tracks Sketch"
msgstr "Afficher Pistes en Contour"
msgstr "Afficher Pistes en Contour"
#: pcbnew/tool_pcb.cpp:368
msgid "Hight Contrast Mode Display"
msgstr "Mode d'affichage Haut Contraste"
#: pcbnew/tool_pcb.cpp:377
#: pcbnew/tool_pcb.cpp:377
msgid ""
msgid ""
"Display auxiliary vertical toolbar (tools for micro wave applications)\n"
"Display auxiliary vertical toolbar (tools for micro wave applications)\n"
...
@@ -4551,6 +4467,10 @@ msgstr "Pas de pads ou de points de départ pour remplir ce contour de zone"
...
@@ -4551,6 +4467,10 @@ msgstr "Pas de pads ou de points de départ pour remplir ce contour de zone"
msgid "Ok"
msgid "Ok"
msgstr "Ok"
msgstr "Ok"
#: pcbnew/pcbnew.cpp:43
msgid "Pcbnew is already running, Continue?"
msgstr "Pcbnew est est cours d'exécution. Continuer ?"
#: pcbnew/specctra_export.cpp:64
#: pcbnew/specctra_export.cpp:64
msgid "Specctra DSN file:"
msgid "Specctra DSN file:"
msgstr "Fichier Specctra DSN"
msgstr "Fichier Specctra DSN"
...
@@ -4871,6 +4791,86 @@ msgstr "Via Traversantes:"
...
@@ -4871,6 +4791,86 @@ msgstr "Via Traversantes:"
msgid "Buried Vias:"
msgid "Buried Vias:"
msgstr "Via Enterrées:"
msgstr "Via Enterrées:"
#: pcbnew/pcbframe.cpp:280
msgid "Board modified, Save before exit ?"
msgstr "Circuit Imprimé modifiée, Sauver avant de quitter ?"
#: pcbnew/pcbframe.cpp:281
msgid "Confirmation"
msgstr "Confirmation"
#: pcbnew/pcbframe.cpp:383
msgid "DRC Off (Disable !!!), Currently: DRC is active"
msgstr "DRC off (désactivée !!!), actuellement DRC active"
#: pcbnew/pcbframe.cpp:385
msgid "DRC On (Currently: DRC is inactive !!!)"
msgstr "DRC On (Actuellement, DRC désactivée !!!)"
#: pcbnew/pcbframe.cpp:396
msgid "Polar Coords not show"
msgstr "Coord Polaires non affichées"
#: pcbnew/pcbframe.cpp:397
msgid "Display Polar Coords"
msgstr "Affichage coord Polaires"
#: pcbnew/pcbframe.cpp:402
msgid "Grid not show"
msgstr "Grille non montrée"
#: pcbnew/pcbframe.cpp:402
msgid "Show Grid"
msgstr "Afficher grille"
#: pcbnew/pcbframe.cpp:411
msgid "General ratsnest not show"
msgstr "Chevelu général non affiché"
#: pcbnew/pcbframe.cpp:412
msgid "Show General ratsnest"
msgstr "Afficher le chevelu général"
#: pcbnew/pcbframe.cpp:418
msgid "Module ratsnest not show"
msgstr "Ne pas montrer le chevelu du module pendant déplacement"
#: pcbnew/pcbframe.cpp:419
msgid "Show Module ratsnest"
msgstr "Montrer le chevelu du module"
#: pcbnew/pcbframe.cpp:426
msgid "Disable Auto Delete old Track"
msgstr "Ne pas Autoriser l'effacement automatique des pistes"
#: pcbnew/pcbframe.cpp:427
msgid "Enable Auto Delete old Track"
msgstr "Autoriser l'effacement automatique des pistes"
#: pcbnew/pcbframe.cpp:434
msgid "Do not Show Zones"
msgstr "Ne pas monter Zones"
#: pcbnew/pcbframe.cpp:440
msgid "Show Pads Sketch mode"
msgstr "Afficher pastilles en contour"
#: pcbnew/pcbframe.cpp:441
msgid "Show pads filled mode"
msgstr "Afficher pastilles en mode plein"
#: pcbnew/pcbframe.cpp:447
msgid "Show Tracks Sketch mode"
msgstr "Afficher pistes en contour"
#: pcbnew/pcbframe.cpp:448
msgid "Show Tracks filled mode"
msgstr "Afficher pistes en mode plein"
#: pcbnew/pcbframe.cpp:454
msgid "Normal Contrast Mode Display"
msgstr "Mode d'affichage Contraste normal"
#: eeschema/affiche.cpp:22
#: eeschema/affiche.cpp:22
msgid "Name"
msgid "Name"
msgstr "Nom"
msgstr "Nom"
...
@@ -6553,11 +6553,11 @@ msgstr "Fin ligne"
...
@@ -6553,11 +6553,11 @@ msgstr "Fin ligne"
#: eeschema/libedit_onrightclick.cpp:148
#: eeschema/libedit_onrightclick.cpp:148
msgid "Line Options"
msgid "Line Options"
msgstr "Options"
msgstr "Options
pour Ligne
"
#: eeschema/libedit_onrightclick.cpp:151
#: eeschema/libedit_onrightclick.cpp:151
msgid "Delete Line "
msgid "Delete Line "
msgstr "Efface
r
Ligne"
msgstr "Efface Ligne"
#: eeschema/libedit_onrightclick.cpp:158
#: eeschema/libedit_onrightclick.cpp:158
msgid "Delete Segment "
msgid "Delete Segment "
...
@@ -7573,27 +7573,6 @@ msgstr "Importer Connecteur de hiérarchie"
...
@@ -7573,27 +7573,6 @@ msgstr "Importer Connecteur de hiérarchie"
msgid "Add Power"
msgid "Add Power"
msgstr "Add Alims"
msgstr "Add Alims"
#: eeschema/schframe.cpp:310
msgid "Schematic modified, Save before exit ?"
msgstr "Schematique modifiée, Sauver avant de quitter ?"
#: eeschema/schframe.cpp:422
msgid "No show Hidden Pins"
msgstr "N'affichage pas les pins invisibles"
#: eeschema/schframe.cpp:422
#: eeschema/tool_sch.cpp:267
msgid "Show Hidden Pins"
msgstr "Force affichage des pins invisibles"
#: eeschema/schframe.cpp:426
msgid "Draw lines at any direction"
msgstr "Tracer traits de direction quelconque"
#: eeschema/schframe.cpp:427
msgid "Draw lines H, V or 45 deg only"
msgstr "Tracer traits H, V ou 45 deg seulement"
#: eeschema/selpart.cpp:45
#: eeschema/selpart.cpp:45
msgid "Select Lib"
msgid "Select Lib"
msgstr "Sélection librairie"
msgstr "Sélection librairie"
...
@@ -7635,7 +7614,7 @@ msgstr "Forme Pin de hiérarchie:"
...
@@ -7635,7 +7614,7 @@ msgstr "Forme Pin de hiérarchie:"
msgid "No New Hierarchal Label found"
msgid "No New Hierarchal Label found"
msgstr "Pas de nouvea Label Hiérarchique trouvé"
msgstr "Pas de nouvea Label Hiérarchique trouvé"
#: eeschema/symbdraw.cpp:79
3
#: eeschema/symbdraw.cpp:79
0
#, c-format
#, c-format
msgid "Arc %.1f deg"
msgid "Arc %.1f deg"
msgstr "Arc %.1f deg"
msgstr "Arc %.1f deg"
...
@@ -7852,6 +7831,11 @@ msgstr "Place une pin de hierarchie dans la feuille"
...
@@ -7852,6 +7831,11 @@ msgstr "Place une pin de hierarchie dans la feuille"
msgid "Place the graphic line or polygon"
msgid "Place the graphic line or polygon"
msgstr "Placer la ligne ou le polygones graphique"
msgstr "Placer la ligne ou le polygones graphique"
#: eeschema/tool_sch.cpp:267
#: eeschema/schframe.cpp:422
msgid "Show Hidden Pins"
msgstr "Force affichage des pins invisibles"
#: eeschema/tool_sch.cpp:272
#: eeschema/tool_sch.cpp:272
msgid "HV orientation for Wires and Bus"
msgid "HV orientation for Wires and Bus"
msgstr "Force direction H, V et X pour les fils et bus"
msgstr "Force direction H, V et X pour les fils et bus"
...
@@ -8055,6 +8039,22 @@ msgstr "Emetteur ouv."
...
@@ -8055,6 +8039,22 @@ msgstr "Emetteur ouv."
msgid "Electrical Type:"
msgid "Electrical Type:"
msgstr "Type électrique:"
msgstr "Type électrique:"
#: eeschema/schframe.cpp:310
msgid "Schematic modified, Save before exit ?"
msgstr "Schematique modifiée, Sauver avant de quitter ?"
#: eeschema/schframe.cpp:422
msgid "No show Hidden Pins"
msgstr "N'affichage pas les pins invisibles"
#: eeschema/schframe.cpp:426
msgid "Draw lines at any direction"
msgstr "Tracer traits de direction quelconque"
#: eeschema/schframe.cpp:427
msgid "Draw lines H, V or 45 deg only"
msgstr "Tracer traits H, V ou 45 deg seulement"
#: eeschema/component_wizard/ki_component_setup.cpp:141
#: eeschema/component_wizard/ki_component_setup.cpp:141
msgid "Quick KICAD Library Component Builder"
msgid "Quick KICAD Library Component Builder"
msgstr ""
msgstr ""
...
@@ -8068,9 +8068,8 @@ msgid "Component Name"
...
@@ -8068,9 +8068,8 @@ msgid "Component Name"
msgstr "Nom du Composant!"
msgstr "Nom du Composant!"
#: eeschema/component_wizard/ki_component_setup.cpp:156
#: eeschema/component_wizard/ki_component_setup.cpp:156
#, fuzzy
msgid "MyComponent"
msgid "MyComponent"
msgstr "
Composa
nt"
msgstr "
MyCompone
nt"
#: eeschema/component_wizard/ki_component_setup.cpp:159
#: eeschema/component_wizard/ki_component_setup.cpp:159
msgid " Symbol Text Size "
msgid " Symbol Text Size "
...
@@ -8165,65 +8164,32 @@ msgstr "%d équivalences"
...
@@ -8165,65 +8164,32 @@ msgstr "%d équivalences"
msgid "Component %s: Footprint %s not found in libraries"
msgid "Component %s: Footprint %s not found in libraries"
msgstr "Composant %s: Module %s non trouvé en librairies"
msgstr "Composant %s: Module %s non trouvé en librairies"
#: cvpcb/cv
frame.cpp:176
#: cvpcb/cv
pcb.cpp:41
msgid "
Netlist and Cmp list modified, Save before exit
?"
msgid "
Cvpcb is already running, Continue
?"
msgstr "
Netlist et liste composants modifiés, Sauver avant de quitt
er ?"
msgstr "
Cvpcb est est cours d'exécution. Continu
er ?"
#: cvpcb/
cvframe.cpp:199
#: cvpcb/
displayframe.cpp:118
msgid "
Problem when saving files, Exit anyway
"
msgid "
Display Options
"
msgstr "
Problemes en sauvant les fichiers, quitter quand mêm
e"
msgstr "
Options d'affichag
e"
#: cvpcb/cvframe.cpp:326
#: cvpcb/genorcad.cpp:134
msgid "Delete selections"
#, c-format
msgstr "Effacement des associations existantes"
msgid "%s %s pin %s : Different Nets"
msgstr "%s %s pin %s : Nets Differents"
#: cvpcb/init.cpp:64
#, c-format
msgid "Components: %d (free: %d)"
msgstr "Composants: %d (libres: %d)"
#: cvpcb/cvframe.cpp:340
#: cvpcb/init.cpp:112
#: cvpcb/init.cpp:112
#, c-format
#, c-format
msgid "Componants: %d (free: %d)"
msgid "Componants: %d (free: %d)"
msgstr "Composants: %d (libres: %d)"
msgstr "Composants: %d (libres: %d)"
#: cvpcb/cvframe.cpp:424
#: cvpcb/init.cpp:142
msgid "font for dialog boxes"
msgid "Save NetList and Components List files"
msgstr "fonte pour boites de dialogue"
msgstr "Sauver Netliste et Cmp Liste"
#: cvpcb/cvframe.cpp:426
msgid "font for Lists"
msgstr "fonte pour listes"
#: cvpcb/cvframe.cpp:428
msgid "font for Status Line"
msgstr "fonte pour Ligne d'état"
#: cvpcb/cvframe.cpp:431
msgid "&Font selection"
msgstr "Sélection Fonte"
#: cvpcb/cvframe.cpp:433
msgid "Choose font type and size for dialogs, infos and status box"
msgstr "Choisir les fontes et leur taille pour les dialogues, infos et ligne d'état"
#: cvpcb/cvpcb.cpp:41
msgid "Cvpcb is already running, Continue?"
msgstr "Cvpcb est est cours d'exécution. Continuer ?"
#: cvpcb/displayframe.cpp:118
msgid "Display Options"
msgstr "Options d'affichage"
#: cvpcb/genorcad.cpp:134
#, c-format
msgid "%s %s pin %s : Different Nets"
msgstr "%s %s pin %s : Nets Differents"
#: cvpcb/init.cpp:64
#, c-format
msgid "Components: %d (free: %d)"
msgstr "Composants: %d (libres: %d)"
#: cvpcb/init.cpp:142
msgid "Save NetList and Components List files"
msgstr "Sauver Netliste et Cmp Liste"
#: cvpcb/init.cpp:158
#: cvpcb/init.cpp:158
msgid "Unable to create component file (.cmp)"
msgid "Unable to create component file (.cmp)"
...
@@ -8445,6 +8411,38 @@ msgstr "Lire Cfg"
...
@@ -8445,6 +8411,38 @@ msgstr "Lire Cfg"
msgid "Equiv"
msgid "Equiv"
msgstr "Equiv"
msgstr "Equiv"
#: cvpcb/cvframe.cpp:176
msgid "Netlist and Cmp list modified, Save before exit ?"
msgstr "Netlist et liste composants modifiés, Sauver avant de quitter ?"
#: cvpcb/cvframe.cpp:199
msgid "Problem when saving files, Exit anyway"
msgstr "Problemes en sauvant les fichiers, quitter quand même"
#: cvpcb/cvframe.cpp:326
msgid "Delete selections"
msgstr "Effacement des associations existantes"
#: cvpcb/cvframe.cpp:424
msgid "font for dialog boxes"
msgstr "fonte pour boites de dialogue"
#: cvpcb/cvframe.cpp:426
msgid "font for Lists"
msgstr "fonte pour listes"
#: cvpcb/cvframe.cpp:428
msgid "font for Status Line"
msgstr "fonte pour Ligne d'état"
#: cvpcb/cvframe.cpp:431
msgid "&Font selection"
msgstr "Sélection Fonte"
#: cvpcb/cvframe.cpp:433
msgid "Choose font type and size for dialogs, infos and status box"
msgstr "Choisir les fontes et leur taille pour les dialogues, infos et ligne d'état"
#: kicad/buildmnu.cpp:92
#: kicad/buildmnu.cpp:92
msgid "&Open Project Descr"
msgid "&Open Project Descr"
msgstr "&Ouvrir Descr de projet"
msgstr "&Ouvrir Descr de projet"
...
@@ -8656,23 +8654,6 @@ msgstr ""
...
@@ -8656,23 +8654,6 @@ msgstr ""
"\n"
"\n"
"Créer Archive zippée"
"Créer Archive zippée"
#: kicad/mainframe.cpp:103
#, c-format
msgid ""
"Ready\n"
"Working dir: %s\n"
msgstr ""
"Pret\n"
"Répertoire de travail: %s\n"
#: kicad/mainframe.cpp:339
msgid "Execute Python Script:"
msgstr "Executer le Script Python:"
#: kicad/mainframe.cpp:362
msgid "Load file:"
msgstr "Charger Fichiers:"
#: kicad/preferences.cpp:33
#: kicad/preferences.cpp:33
msgid "Prefered Pdf Browser:"
msgid "Prefered Pdf Browser:"
msgstr "Visualisateur PDF préféré:"
msgstr "Visualisateur PDF préféré:"
...
@@ -8851,6 +8832,23 @@ msgstr "noname"
...
@@ -8851,6 +8832,23 @@ msgstr "noname"
msgid "Change File Name: "
msgid "Change File Name: "
msgstr "ChangerNom Fichier: "
msgstr "ChangerNom Fichier: "
#: kicad/mainframe.cpp:103
#, c-format
msgid ""
"Ready\n"
"Working dir: %s\n"
msgstr ""
"Pret\n"
"Répertoire de travail: %s\n"
#: kicad/mainframe.cpp:339
msgid "Execute Python Script:"
msgstr "Executer le Script Python:"
#: kicad/mainframe.cpp:362
msgid "Load file:"
msgstr "Charger Fichiers:"
#: gerbview/affiche.cpp:34
#: gerbview/affiche.cpp:34
msgid "Layer "
msgid "Layer "
msgstr "Couche "
msgstr "Couche "
...
@@ -8908,10 +8906,6 @@ msgstr "Fichiers Gerber:"
...
@@ -8908,10 +8906,6 @@ msgstr "Fichiers Gerber:"
msgid "D codes files:"
msgid "D codes files:"
msgstr "Fichiers D-Codes:"
msgstr "Fichiers D-Codes:"
#: gerbview/gerberframe.cpp:183
msgid "Layer modified, Continue ?"
msgstr "Couche modifiée, Continuer ?"
#: gerbview/gerbview.cpp:37
#: gerbview/gerbview.cpp:37
msgid "GerbView is already running. Continue?"
msgid "GerbView is already running. Continue?"
msgstr "Gerbview est est cours d'exécution. Continuer ?"
msgstr "Gerbview est est cours d'exécution. Continuer ?"
...
@@ -9204,10 +9198,9 @@ msgstr "Afficher Poiygones en Mode Ccontour"
...
@@ -9204,10 +9198,9 @@ msgstr "Afficher Poiygones en Mode Ccontour"
msgid "Show dcode number"
msgid "Show dcode number"
msgstr "Afficher le n° de DCode"
msgstr "Afficher le n° de DCode"
#: common/basicframe.cpp:239
#: gerbview/gerberframe.cpp:183
#, c-format
msgid "Layer modified, Continue ?"
msgid "Help file %s not found"
msgstr "Couche modifiée, Continuer ?"
msgstr "Fichier d'aide %s non trouvé"
#: common/block_commande.cpp:57
#: common/block_commande.cpp:57
msgid "Block Move"
msgid "Block Move"
...
@@ -9249,126 +9242,6 @@ msgstr "Inversion Bloc"
...
@@ -9249,126 +9242,6 @@ msgstr "Inversion Bloc"
msgid "Block Mirror"
msgid "Block Mirror"
msgstr "Bloc Miroir"
msgstr "Bloc Miroir"
#: common/common.cpp:84
msgid " (\"):"
msgstr " (\"):"
#: common/common.cpp:340
msgid "Copper "
msgstr "Cuivre "
#: common/common.cpp:340
msgid "Inner L1 "
msgstr "Interne 1"
#: common/common.cpp:340
msgid "Inner L2 "
msgstr "Interne 2"
#: common/common.cpp:340
msgid "Inner L3 "
msgstr "Interne 3"
#: common/common.cpp:341
msgid "Inner L4 "
msgstr "Interne 4"
#: common/common.cpp:341
msgid "Inner L5 "
msgstr "Interne 5"
#: common/common.cpp:341
msgid "Inner L6 "
msgstr "Interne 6"
#: common/common.cpp:341
msgid "Inner L7 "
msgstr "Interne 7"
#: common/common.cpp:342
msgid "Inner L8 "
msgstr "Interne 8"
#: common/common.cpp:342
msgid "Inner L9 "
msgstr "Interne 9"
#: common/common.cpp:342
msgid "Inner L10"
msgstr "Interne 10"
#: common/common.cpp:342
msgid "Inner L11"
msgstr "Interne 11"
#: common/common.cpp:343
msgid "Inner L12"
msgstr "Interne 12"
#: common/common.cpp:343
msgid "Inner L13"
msgstr "Interne 13"
#: common/common.cpp:343
msgid "Inner L14"
msgstr "Interne 14"
#: common/common.cpp:344
msgid "Adhes Cop"
msgstr "Adhes Cu "
#: common/common.cpp:344
msgid "Adhes Cmp"
msgstr "Adhe Cmp"
#: common/common.cpp:344
msgid "SoldP Cop"
msgstr "SoldP Cu "
#: common/common.cpp:344
msgid "SoldP Cmp"
msgstr "SoldP Cmp"
#: common/common.cpp:345
msgid "SilkS Cop"
msgstr "Sérigr Cu "
#: common/common.cpp:345
msgid "SilkS Cmp"
msgstr "Sérigr Cmp"
#: common/common.cpp:345
msgid "Mask Cop "
msgstr "Masque Cu "
#: common/common.cpp:345
msgid "Mask Cmp "
msgstr "Masque Cmp"
#: common/common.cpp:346
msgid "Drawings "
msgstr "Drawings "
#: common/common.cpp:346
msgid "Comments "
msgstr "Comments "
#: common/common.cpp:346
msgid "Eco1 "
msgstr "Eco1 "
#: common/common.cpp:346
msgid "Eco2 "
msgstr "Eco2 "
#: common/common.cpp:347
msgid "Edges Pcb"
msgstr "Contour Pcb"
#: common/common.cpp:347
msgid "BAD INDEX"
msgstr "BAD INDEX"
#: common/confirm.cpp:106
#: common/confirm.cpp:106
msgid "Infos:"
msgid "Infos:"
msgstr "Infos:"
msgstr "Infos:"
...
@@ -9559,48 +9432,6 @@ msgstr "Emplacement des Fichiers des Hotkeys"
...
@@ -9559,48 +9432,6 @@ msgstr "Emplacement des Fichiers des Hotkeys"
msgid "Hotkey config file location selection (home directory or kicad tree)"
msgid "Hotkey config file location selection (home directory or kicad tree)"
msgstr "Selection emplacement des fichiers de config. des hotkeys(\"home\" ou répertoire kicad)"
msgstr "Selection emplacement des fichiers de config. des hotkeys(\"home\" ou répertoire kicad)"
#: common/infospgm.cpp:33
msgid "Build Version:"
msgstr "Build Version:"
#: common/infospgm.cpp:48
msgid "Author:"
msgstr "Autheur:"
#: common/infospgm.cpp:49
msgid "Based on wxWidgets "
msgstr "Based on wxWidgets "
#: common/infospgm.cpp:54
msgid ""
"\n"
"\n"
"GPL License"
msgstr ""
"\n"
"\n"
"GPL Licence"
#: common/infospgm.cpp:55
msgid ""
"\n"
"\n"
"Author's sites:\n"
msgstr ""
"\n"
"\n"
"Sites Web de l'auteur:\n"
#: common/infospgm.cpp:58
msgid ""
"\n"
"\n"
"International wiki:\n"
msgstr ""
"\n"
"\n"
"International wiki:\n"
#: common/selcolor.cpp:76
#: common/selcolor.cpp:76
msgid "Colors"
msgid "Colors"
msgstr "Couleurs"
msgstr "Couleurs"
...
@@ -9618,59 +9449,188 @@ msgstr "X"
...
@@ -9618,59 +9449,188 @@ msgstr "X"
msgid "Y"
msgid "Y"
msgstr "Y"
msgstr "Y"
#: 3d-viewer/3d_aux.cpp:199
#: common/common.cpp:93
msgid " (\"):"
msgstr " (\"):"
#: common/common.cpp:349
msgid "Copper "
msgstr "Cuivre "
#: common/common.cpp:349
msgid "Inner L1 "
msgstr "Interne 1"
#: common/common.cpp:349
msgid "Inner L2 "
msgstr "Interne 2"
#: common/common.cpp:349
msgid "Inner L3 "
msgstr "Interne 3"
#: common/common.cpp:350
msgid "Inner L4 "
msgstr "Interne 4"
#: common/common.cpp:350
msgid "Inner L5 "
msgstr "Interne 5"
#: common/common.cpp:350
msgid "Inner L6 "
msgstr "Interne 6"
#: common/common.cpp:350
msgid "Inner L7 "
msgstr "Interne 7"
#: common/common.cpp:351
msgid "Inner L8 "
msgstr "Interne 8"
#: common/common.cpp:351
msgid "Inner L9 "
msgstr "Interne 9"
#: common/common.cpp:351
msgid "Inner L10"
msgstr "Interne 10"
#: common/common.cpp:351
msgid "Inner L11"
msgstr "Interne 11"
#: common/common.cpp:352
msgid "Inner L12"
msgstr "Interne 12"
#: common/common.cpp:352
msgid "Inner L13"
msgstr "Interne 13"
#: common/common.cpp:352
msgid "Inner L14"
msgstr "Interne 14"
#: common/common.cpp:353
msgid "Adhes Cop"
msgstr "Adhes Cu "
#: common/common.cpp:353
msgid "Adhes Cmp"
msgstr "Adhe Cmp"
#: common/common.cpp:353
msgid "SoldP Cop"
msgstr "SoldP Cu "
#: common/common.cpp:353
msgid "SoldP Cmp"
msgstr "SoldP Cmp"
#: common/common.cpp:354
msgid "SilkS Cop"
msgstr "Sérigr Cu "
#: common/common.cpp:354
msgid "SilkS Cmp"
msgstr "Sérigr Cmp"
#: common/common.cpp:354
msgid "Mask Cop "
msgstr "Masque Cu "
#: common/common.cpp:354
msgid "Mask Cmp "
msgstr "Masque Cmp"
#: common/common.cpp:355
msgid "Drawings "
msgstr "Drawings "
#: common/common.cpp:355
msgid "Comments "
msgstr "Comments "
#: common/common.cpp:355
msgid "Eco1 "
msgstr "Eco1 "
#: common/common.cpp:355
msgid "Eco2 "
msgstr "Eco2 "
#: common/common.cpp:356
msgid "Edges Pcb"
msgstr "Contour Pcb"
#: common/common.cpp:356
msgid "BAD INDEX"
msgstr "BAD INDEX"
#: common/basicframe.cpp:244
#, c-format
msgid "Help file %s not found"
msgstr "Fichier d'aide %s non trouvé"
#: 3d-viewer/3d_aux.cpp:207
msgid "Vertex "
msgid "Vertex "
msgstr "Vertex "
msgstr "Vertex "
#: 3d-viewer/3d_canvas.cpp:32
8
#: 3d-viewer/3d_canvas.cpp:32
9
msgid "Zoom +"
msgid "Zoom +"
msgstr "Zoom +"
msgstr "Zoom +"
#: 3d-viewer/3d_canvas.cpp:33
3
#: 3d-viewer/3d_canvas.cpp:33
4
msgid "Zoom -"
msgid "Zoom -"
msgstr "Zoom -"
msgstr "Zoom -"
#: 3d-viewer/3d_canvas.cpp:3
39
#: 3d-viewer/3d_canvas.cpp:3
40
msgid "Top View"
msgid "Top View"
msgstr "Vue de dessus"
msgstr "Vue de dessus"
#: 3d-viewer/3d_canvas.cpp:34
4
#: 3d-viewer/3d_canvas.cpp:34
5
msgid "Bottom View"
msgid "Bottom View"
msgstr "Vue de dessous"
msgstr "Vue de dessous"
#: 3d-viewer/3d_canvas.cpp:35
0
#: 3d-viewer/3d_canvas.cpp:35
1
msgid "Right View"
msgid "Right View"
msgstr "Vue a Droite"
msgstr "Vue a Droite"
#: 3d-viewer/3d_canvas.cpp:35
5
#: 3d-viewer/3d_canvas.cpp:35
6
msgid "Left View"
msgid "Left View"
msgstr "Vue à Gauche"
msgstr "Vue à Gauche"
#: 3d-viewer/3d_canvas.cpp:36
2
#: 3d-viewer/3d_canvas.cpp:36
3
msgid "Front View"
msgid "Front View"
msgstr "Vue de face"
msgstr "Vue de face"
#: 3d-viewer/3d_canvas.cpp:36
7
#: 3d-viewer/3d_canvas.cpp:36
8
msgid "Back View"
msgid "Back View"
msgstr "Vue arrière"
msgstr "Vue arrière"
#: 3d-viewer/3d_canvas.cpp:373
#: 3d-viewer/3d_canvas.cpp:374
#: 3d-viewer/3d_toolbar.cpp:77
msgid "Move left <-"
msgid "Move left <-"
msgstr "Vers la gauche <-"
msgstr "Vers la gauche <-"
#: 3d-viewer/3d_canvas.cpp:378
#: 3d-viewer/3d_canvas.cpp:379
#: 3d-viewer/3d_toolbar.cpp:80
msgid "Move right ->"
msgid "Move right ->"
msgstr "Vers la droite ->"
msgstr "Vers la droite ->"
#: 3d-viewer/3d_canvas.cpp:383
#: 3d-viewer/3d_canvas.cpp:384
#: 3d-viewer/3d_toolbar.cpp:83
msgid "Move Up ^"
msgid "Move Up ^"
msgstr "Vers le haut ^"
msgstr "Vers le haut ^"
#: 3d-viewer/3d_canvas.cpp:388
#: 3d-viewer/3d_canvas.cpp:389
#: 3d-viewer/3d_toolbar.cpp:86
msgid "Move Down"
msgid "Move Down"
msgstr "Vers le bas"
msgstr "Vers le bas"
#: 3d-viewer/3d_canvas.cpp:64
1
#: 3d-viewer/3d_canvas.cpp:64
2
msgid "3D Image filename:"
msgid "3D Image filename:"
msgstr "Non fichier Image 3D:"
msgstr "Non fichier Image 3D:"
...
@@ -9706,22 +9666,54 @@ msgstr "Rotation Z <-"
...
@@ -9706,22 +9666,54 @@ msgstr "Rotation Z <-"
msgid "Rotate Z ->"
msgid "Rotate Z ->"
msgstr "Rotation Z ->"
msgstr "Rotation Z ->"
#: 3d-viewer/3d_toolbar.cpp:11
2
#: 3d-viewer/3d_toolbar.cpp:11
8
msgid "Create Image (png format)"
msgid "Create Image (png format)"
msgstr "Créer fichier Image (format png)"
msgstr "Créer fichier Image (format png)"
#: 3d-viewer/3d_toolbar.cpp:11
3
#: 3d-viewer/3d_toolbar.cpp:11
9
msgid "Create Image (jpeg format)"
msgid "Create Image (jpeg format)"
msgstr "Créer fichier Image (format jpeg)"
msgstr "Créer fichier Image (format jpeg)"
#: 3d-viewer/3d_toolbar.cpp:1
15
#: 3d-viewer/3d_toolbar.cpp:1
21
msgid "&Exit"
msgid "&Exit"
msgstr "&Quitter"
msgstr "&Quitter"
#: 3d-viewer/3d_toolbar.cpp:12
1
#: 3d-viewer/3d_toolbar.cpp:12
7
msgid "Choose background color"
msgid "Choose background color"
msgstr "Choix Couleur du fond"
msgstr "Choix Couleur du fond"
#: 3d-viewer/3d_toolbar.cpp:130
msgid "3D Axis On/Off"
msgstr "Axes 3D On/Off"
#: 3d-viewer/3d_toolbar.cpp:135
msgid "3D Footprints Shapes On/Off"
msgstr "Modules 3D On/Off"
#: 3d-viewer/3d_toolbar.cpp:139
msgid "PCB place 3D On/off"
msgstr ""
#: 3d-viewer/3d_toolbar.cpp:143
msgid "Zone Filling On/Off"
msgstr " Remplissage de Zone On/Off"
#: 3d-viewer/3d_toolbar.cpp:146
msgid "Comments Layer On/Off"
msgstr "Couche Comments On/Off "
#: 3d-viewer/3d_toolbar.cpp:149
msgid "Drawings Layer On/Off"
msgstr "Couche Drawings On/Off"
#: 3d-viewer/3d_toolbar.cpp:152
msgid "Eco1 Layer On/Off"
msgstr "Couche ECO1 On/Off"
#: 3d-viewer/3d_toolbar.cpp:155
msgid "Eco2 Layer On/Off"
msgstr "Couche ECO2 On/Off"
#: share/dialog_print.cpp:137
#: share/dialog_print.cpp:137
msgid "fit in page"
msgid "fit in page"
msgstr "Ajustage en page"
msgstr "Ajustage en page"
...
@@ -10436,6 +10428,36 @@ msgstr "Ajustage opt Page"
...
@@ -10436,6 +10428,36 @@ msgstr "Ajustage opt Page"
msgid "Create SVG file"
msgid "Create SVG file"
msgstr "Créer Fichier SVG"
msgstr "Créer Fichier SVG"
#~ msgid "Build Version:"
#~ msgstr "Build Version:"
#~ msgid "Author:"
#~ msgstr "Autheur:"
#~ msgid "Based on wxWidgets "
#~ msgstr "Based on wxWidgets "
#~ msgid ""
#~ "\n"
#~ "\n"
#~ "GPL License"
#~ msgstr ""
#~ "\n"
#~ "\n"
#~ "GPL Licence"
#~ msgid ""
#~ "\n"
#~ "\n"
#~ "Author's sites:\n"
#~ msgstr ""
#~ "\n"
#~ "\n"
#~ "Sites Web de l'auteur:\n"
#~ msgid ""
#~ "\n"
#~ "\n"
#~ "International wiki:\n"
#~ msgstr ""
#~ "\n"
#~ "\n"
#~ "International wiki:\n"
#~ msgid "WinEDA_DrillFrame"
#~ msgid "WinEDA_DrillFrame"
#~ msgstr "WinEDA_DrillFrame"
#~ msgstr "WinEDA_DrillFrame"
#~ msgid "Spot min"
#~ msgid "Spot min"
...
...
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