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
66080848
Commit
66080848
authored
Aug 08, 2007
by
CHARRAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug fix in class_hierarchy_sheet.cpp.
parent
6719900e
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
107 additions
and
59 deletions
+107
-59
change_log.txt
change_log.txt
+12
-0
base_struct.cpp
common/base_struct.cpp
+1
-1
class_hierarchy_sheet.cpp
eeschema/class_hierarchy_sheet.cpp
+1
-1
base_struct.h
include/base_struct.h
+1
-1
block.cpp
pcbnew/block.cpp
+32
-20
connect.cpp
pcbnew/connect.cpp
+60
-36
No files found.
change_log.txt
View file @
66080848
...
...
@@ -5,6 +5,18 @@ Please add newer entries at the top, list the date and your name with
email address.
2007-aug-08 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
+ eeschema
bug in class_hierarchy_sheet.cpp.
+ pcbnew
small change in block commands:
rastnest was updated for each footprint, while moving footprints.
Now it is updated at the end of changes.
enhancements in block.cpp and connect.cpp
2007-Aug-07 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+ pcbnew & common
...
...
common/base_struct.cpp
View file @
66080848
...
...
@@ -390,7 +390,7 @@ void EDA_TextStruct::Draw( WinEDA_DrawPanel* panel, wxDC* DC,
* offset = Offset de trace (usuellement (0,0)
* color = couleur du texte
* draw_mode = GR_OR, GR_XOR.., -1 si mode courant.
* display_mo
s
e = FILAIRE, FILLED ou SKETCH
* display_mo
d
e = FILAIRE, FILLED ou SKETCH
* anchor_color = couleur de l'ancre ( -1 si pas d'ancre ).
*/
{
...
...
eeschema/class_hierarchy_sheet.cpp
View file @
66080848
...
...
@@ -236,7 +236,7 @@ void DrawSheetLabelStruct::Draw(WinEDA_DrawPanel * panel,wxDC * DC, const wxPoin
int
side
,
txtcolor
;
int
posx
,
tposx
,
posy
,
size2
;
wxSize
size
;
int
NbSegm
,
coord
[
12
];
int
NbSegm
,
coord
[
20
];
int
LineWidth
=
g_DrawMinimunLineWidth
;
if
(
Color
>=
0
)
txtcolor
=
Color
;
...
...
include/base_struct.h
View file @
66080848
...
...
@@ -309,7 +309,7 @@ typedef enum {
#define SKETCH 2
#define DEFAULT_SIZE_TEXT 60
/*
Hauteur (en 1/000" par defaut des textes
*/
#define DEFAULT_SIZE_TEXT 60
/*
default text height (in mils or 1/1000")
*/
/* classe de gestion des textes (labels, textes composants ..)
* (Non utilisee seule) */
...
...
pcbnew/block.cpp
View file @
66080848
...
...
@@ -535,6 +535,7 @@ int masque_layer;
/* Rafraichissement de l'ecran : */
RedrawActiveWindow
(
DC
,
TRUE
);
if
(
g_Show_Ratsnest
)
Compile_Ratsnest
(
DC
,
TRUE
);
}
...
...
@@ -567,6 +568,7 @@ int Nx, Ny, centerX, centerY; /* centre de rotation de l'ensemble des elements
if
(
Block_Include_Modules
)
{
Affiche_Message
(
_
(
"Footprint rotation"
)
);
bool
Show_Ratsnest_tmp
=
g_Show_Ratsnest
;
g_Show_Ratsnest
=
false
;
int
Angle_Rot_Module
=
900
;
module
=
m_Pcb
->
m_Modules
;
for
(
;
module
!=
NULL
;
module
=
(
MODULE
*
)
module
->
Pnext
)
...
...
@@ -590,6 +592,7 @@ int Nx, Ny, centerX, centerY; /* centre de rotation de l'ensemble des elements
}
/* regeneration des valeurs originelles */
GetScreen
()
->
m_Curseur
=
oldpos
;
g_Show_Ratsnest
=
Show_Ratsnest_tmp
;
}
/* Deplacement des Segments de piste */
...
...
@@ -722,6 +725,7 @@ int Nx, Ny, centerX, centerY; /* centre de rotation de l'ensemble des elements
}
}
RedrawActiveWindow
(
DC
,
TRUE
)
;
if
(
g_Show_Ratsnest
)
Compile_Ratsnest
(
DC
,
TRUE
);
}
...
...
@@ -756,6 +760,7 @@ int Ny, centerY; /* position de l'axe d'inversion de l'ensemble des elements */
/* Inversion des modules */
if
(
Block_Include_Modules
)
{
bool
Show_Ratsnest_tmp
=
g_Show_Ratsnest
;
g_Show_Ratsnest
=
false
;
Affiche_Message
(
_
(
"Footprint mirroring"
)
);
module
=
m_Pcb
->
m_Modules
;
for
(
;
module
!=
NULL
;
module
=
(
MODULE
*
)
module
->
Pnext
)
...
...
@@ -779,6 +784,7 @@ int Ny, centerY; /* position de l'axe d'inversion de l'ensemble des elements */
/* regeneration des valeurs originelles */
GetScreen
()
->
m_Curseur
=
memo
;
}
g_Show_Ratsnest
=
Show_Ratsnest_tmp
;
}
/* Deplacement des Segments de piste */
...
...
@@ -927,6 +933,7 @@ int Ny, centerY; /* position de l'axe d'inversion de l'ensemble des elements */
}
}
RedrawActiveWindow
(
DC
,
TRUE
)
;
if
(
g_Show_Ratsnest
)
Compile_Ratsnest
(
DC
,
TRUE
);
}
...
...
@@ -935,7 +942,7 @@ int Ny, centerY; /* position de l'axe d'inversion de l'ensemble des elements */
void
WinEDA_BasePcbFrame
::
Block_Move
(
wxDC
*
DC
)
/************************************************/
/*
routine de deplacement des elements du block deja selectionne
Function to move items withing the selected block
*/
{
MODULE
*
module
;
...
...
@@ -957,6 +964,7 @@ wxPoint oldpos;
/* Deplacement des modules */
if
(
Block_Include_Modules
)
{
bool
Show_Ratsnest_tmp
=
g_Show_Ratsnest
;
g_Show_Ratsnest
=
false
;
Affiche_Message
(
_
(
"Move footprints"
)
);
module
=
m_Pcb
->
m_Modules
;
oldpos
=
GetScreen
()
->
m_Curseur
;
...
...
@@ -976,6 +984,7 @@ wxPoint oldpos;
Place_Module
(
module
,
DC
);
}
GetScreen
()
->
m_Curseur
=
oldpos
;
g_Show_Ratsnest
=
Show_Ratsnest_tmp
;
}
/* calcul du vecteur de deplacement pour les deplacements suivants */
...
...
@@ -1100,6 +1109,7 @@ wxPoint oldpos;
}
}
DrawPanel
->
Refresh
(
TRUE
);;
if
(
g_Show_Ratsnest
)
Compile_Ratsnest
(
DC
,
TRUE
);
}
...
...
@@ -1129,6 +1139,7 @@ wxPoint oldpos;
/* Module copy */
if
(
Block_Include_Modules
)
{
bool
Show_Ratsnest_tmp
=
g_Show_Ratsnest
;
g_Show_Ratsnest
=
false
;
Affiche_Message
(
_
(
"Module copy"
)
);
module
=
m_Pcb
->
m_Modules
;
oldpos
=
GetScreen
()
->
m_Curseur
;
...
...
@@ -1154,6 +1165,7 @@ wxPoint oldpos;
Place_Module
(
new_module
,
DC
);
}
GetScreen
()
->
m_Curseur
=
oldpos
;
g_Show_Ratsnest
=
Show_Ratsnest_tmp
;
}
/* calcul du vecteur de deplacement pour les deplacements suivants */
...
...
pcbnew/connect.cpp
View file @
66080848
...
...
@@ -43,7 +43,7 @@ D_PAD * pt_pad;
if
(
old_val
==
new_val
)
return
(
0
)
;
if
(
old_val
<
new_val
)
EXCHG
(
old_val
,
new_val
)
;
if
(
(
old_val
>
0
)
&&
(
old_val
<
new_val
)
)
EXCHG
(
old_val
,
new_val
)
;
pt_conn
=
pt_start_conn
;
for
(
;
pt_conn
!=
NULL
;
pt_conn
=
(
TRACK
*
)
pt_conn
->
Pnext
)
...
...
@@ -551,7 +551,7 @@ char new_passe_request = 1, flag;
LISTE_PAD
*
pt_mem
;
EDA_BaseStruct
*
PtStruct
;
int
masque_layer
;
wxString
msg
;
if
(
m_Pcb
->
m_NbPads
==
0
)
return
;
a_color
=
CYAN
;
...
...
@@ -615,18 +615,16 @@ int masque_layer;
if
(
affiche
)
Affiche_1_Parametre
(
this
,
POS_AFF_CHREF
,
wxEmptyString
,
wxT
(
"Conn Segm"
),
a_color
);
for
(
pt_piste
=
m_Pcb
->
m_Track
;
pt_piste
!=
NULL
;
pt_piste
=
(
TRACK
*
)
pt_piste
->
Pnext
)
for
(
pt_piste
=
m_Pcb
->
m_Track
;
pt_piste
!=
NULL
;
pt_piste
=
pt_piste
->
Next
()
)
{
if
(
pt_piste
->
start
==
NULL
)
{
pt_piste
->
start
=
Locate_Piste_Connectee
(
pt_piste
,
m_Pcb
->
m_Track
,
NULL
,
START
);
pt_piste
->
start
=
Locate_Piste_Connectee
(
pt_piste
,
m_Pcb
->
m_Track
,
NULL
,
START
);
}
if
(
pt_piste
->
end
==
NULL
)
{
pt_piste
->
end
=
Locate_Piste_Connectee
(
pt_piste
,
m_Pcb
->
m_Track
,
NULL
,
END
);
pt_piste
->
end
=
Locate_Piste_Connectee
(
pt_piste
,
m_Pcb
->
m_Track
,
NULL
,
END
);
}
}
...
...
@@ -635,20 +633,47 @@ int masque_layer;
////////////////////////////////
a_color
=
YELLOW
;
if
(
affiche
)
Affiche_1_Parametre
(
this
,
POS_AFF_CHREF
,
wxEmptyString
,
wxT
(
"Net->Segm"
),
a_color
);
while
(
new_passe_request
)
{
bool
reset_flag
=
FALSE
;
new_passe_request
=
0
;
if
(
affiche
)
{
msg
.
Printf
(
wxT
(
"Net->Segm pass %d "
),
new_passe_request
+
1
);
Affiche_1_Parametre
(
this
,
POS_AFF_CHREF
,
wxEmptyString
,
msg
,
a_color
);
}
for
(
pt_piste
=
m_Pcb
->
m_Track
;
pt_piste
!=
NULL
;
pt_piste
=
(
TRACK
*
)
pt_piste
->
Pnext
)
/* look for vias which could be connect many tracks */
for
(
TRACK
*
via
=
m_Pcb
->
m_Track
;
via
!=
NULL
;
via
=
via
->
Next
()
)
{
if
(
via
->
m_StructType
!=
TYPEVIA
)
continue
;
if
(
via
->
m_NetCode
>
0
)
continue
;
// Netcode already known
// Lock for a connection to a track with a known netcode
pt_next
=
m_Pcb
->
m_Track
;
while
(
(
pt_next
=
Locate_Piste_Connectee
(
via
,
pt_next
,
NULL
,
START
))
!=
NULL
)
{
if
(
pt_next
->
m_NetCode
)
{
via
->
m_NetCode
=
pt_next
->
m_NetCode
;
break
;
}
pt_next
->
SetState
(
BUSY
,
ON
);
reset_flag
=
TRUE
;
}
}
if
(
reset_flag
)
for
(
pt_piste
=
m_Pcb
->
m_Track
;
pt_piste
!=
NULL
;
pt_piste
=
pt_piste
->
Next
())
{
pt_piste
->
SetState
(
BUSY
,
OFF
);
}
for
(
pt_piste
=
m_Pcb
->
m_Track
;
pt_piste
!=
NULL
;
pt_piste
=
pt_piste
->
Next
())
{
/* Traitement du point de debut */
PtStruct
=
(
EDA_BaseStruct
*
)
pt_piste
->
start
;
if
(
PtStruct
&&
(
PtStruct
->
m_StructType
!=
TYPEPAD
)
)
{
// start sur piste
{
// Begin on an other track segment
pt_next
=
(
TRACK
*
)
PtStruct
;
if
(
pt_piste
->
m_NetCode
)
{
...
...
@@ -694,9 +719,8 @@ int masque_layer;
}
}
if
(
affiche
)
Affiche_1_Parametre
(
this
,
-
1
,
wxEmptyString
,
wxT
(
"Reorder "
),
a_color
);
/* Reclassemment des pistes par numero de net: */
if
(
affiche
)
Affiche_1_Parametre
(
this
,
-
1
,
wxEmptyString
,
wxT
(
"Reorder "
),
a_color
);
RebuildTrackChain
(
m_Pcb
);
if
(
affiche
)
Affiche_1_Parametre
(
this
,
-
1
,
wxEmptyString
,
wxT
(
" "
),
a_color
);
...
...
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