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
b6035803
Commit
b6035803
authored
Jan 05, 2009
by
dickelbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WinEDA_BasePcbFrame::m_Pcb is now private, use GetBoard() to access it.
parent
17cc6f49
Changes
90
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
90 changed files
with
929 additions
and
896 deletions
+929
-896
3d_draw.cpp
3d-viewer/3d_draw.cpp
+1
-1
CHANGELOG.txt
CHANGELOG.txt
+7
-1
displayframe.cpp
cvpcb/displayframe.cpp
+2
-2
loadcmp.cpp
cvpcb/loadcmp.cpp
+101
-88
setvisu.cpp
cvpcb/setvisu.cpp
+6
-6
dcode.cpp
gerbview/dcode.cpp
+5
-1
deltrack.cpp
gerbview/deltrack.cpp
+7
-4
edit.cpp
gerbview/edit.cpp
+0
-2
export_to_pcbnew.cpp
gerbview/export_to_pcbnew.cpp
+1
-1
gerberframe.cpp
gerbview/gerberframe.cpp
+4
-4
gerbview.cpp
gerbview/gerbview.cpp
+1
-1
gerbview.h
gerbview/gerbview.h
+1
-0
initpcb.cpp
gerbview/initpcb.cpp
+19
-19
locate.cpp
gerbview/locate.cpp
+4
-4
rs274d.cpp
gerbview/rs274d.cpp
+1
-1
tracepcb.cpp
gerbview/tracepcb.cpp
+5
-5
wxPcbStruct.h
include/wxPcbStruct.h
+12
-6
affiche.cpp
pcbnew/affiche.cpp
+3
-3
attribut.cpp
pcbnew/attribut.cpp
+2
-1
automove.cpp
pcbnew/automove.cpp
+10
-10
autoplac.cpp
pcbnew/autoplac.cpp
+63
-62
autorout.cpp
pcbnew/autorout.cpp
+9
-9
basepcbframe.cpp
pcbnew/basepcbframe.cpp
+3
-3
block_module_editor.cpp
pcbnew/block_module_editor.cpp
+3
-3
board.cpp
pcbnew/board.cpp
+1
-1
class_track.cpp
pcbnew/class_track.cpp
+1
-1
class_zone.cpp
pcbnew/class_zone.cpp
+16
-13
clean.cpp
pcbnew/clean.cpp
+59
-59
cotation.cpp
pcbnew/cotation.cpp
+3
-3
cross-probing.cpp
pcbnew/cross-probing.cpp
+2
-2
deltrack.cpp
pcbnew/deltrack.cpp
+3
-3
dialog_copper_zones.cpp
pcbnew/dialog_copper_zones.cpp
+7
-7
dialog_edit_module.cpp
pcbnew/dialog_edit_module.cpp
+1
-1
dialog_edit_module_text.cpp
pcbnew/dialog_edit_module_text.cpp
+13
-13
dialog_graphic_item_properties.cpp
pcbnew/dialog_graphic_item_properties.cpp
+65
-65
dialog_netlist.cpp
pcbnew/dialog_netlist.cpp
+1
-1
dialog_orient_footprints.cpp
pcbnew/dialog_orient_footprints.cpp
+4
-6
dialog_pad_properties.cpp
pcbnew/dialog_pad_properties.cpp
+5
-5
dialog_pcb_text_properties.cpp
pcbnew/dialog_pcb_text_properties.cpp
+8
-8
dragsegm.cpp
pcbnew/dragsegm.cpp
+2
-2
drc.cpp
pcbnew/drc.cpp
+2
-2
edgemod.cpp
pcbnew/edgemod.cpp
+5
-5
edit.cpp
pcbnew/edit.cpp
+10
-10
edit_pcb_text.cpp
pcbnew/edit_pcb_text.cpp
+2
-2
edit_track_width.cpp
pcbnew/edit_track_width.cpp
+3
-3
editedge.cpp
pcbnew/editedge.cpp
+6
-6
editrack-part2.cpp
pcbnew/editrack-part2.cpp
+25
-25
editrack.cpp
pcbnew/editrack.cpp
+17
-17
export_gencad.cpp
pcbnew/export_gencad.cpp
+13
-13
files.cpp
pcbnew/files.cpp
+3
-3
find.cpp
pcbnew/find.cpp
+10
-10
gen_modules_placefile.cpp
pcbnew/gen_modules_placefile.cpp
+11
-11
gen_self.h
pcbnew/gen_self.h
+1
-1
gendrill.cpp
pcbnew/gendrill.cpp
+5
-5
hotkeys.cpp
pcbnew/hotkeys.cpp
+9
-9
initpcb.cpp
pcbnew/initpcb.cpp
+17
-17
ioascii.cpp
pcbnew/ioascii.cpp
+49
-51
librairi.cpp
pcbnew/librairi.cpp
+9
-9
loadcmp.cpp
pcbnew/loadcmp.cpp
+9
-9
mirepcb.cpp
pcbnew/mirepcb.cpp
+2
-2
modedit.cpp
pcbnew/modedit.cpp
+28
-28
modedit_onclick.cpp
pcbnew/modedit_onclick.cpp
+12
-12
modedit_undo_redo.cpp
pcbnew/modedit_undo_redo.cpp
+8
-8
moduleframe.cpp
pcbnew/moduleframe.cpp
+7
-6
modules.cpp
pcbnew/modules.cpp
+16
-16
move_or_drag_track.cpp
pcbnew/move_or_drag_track.cpp
+9
-9
muonde.cpp
pcbnew/muonde.cpp
+2
-2
netlist.cpp
pcbnew/netlist.cpp
+13
-13
onleftclick.cpp
pcbnew/onleftclick.cpp
+5
-5
onrightclick.cpp
pcbnew/onrightclick.cpp
+6
-6
pcbframe.cpp
pcbnew/pcbframe.cpp
+3
-3
pcbplot.cpp
pcbnew/pcbplot.cpp
+2
-2
print_board_functions.cpp
pcbnew/print_board_functions.cpp
+1
-1
router.cpp
pcbnew/router.cpp
+16
-16
sel_layer.cpp
pcbnew/sel_layer.cpp
+3
-3
set_color.cpp
pcbnew/set_color.cpp
+1
-1
solve.cpp
pcbnew/solve.cpp
+27
-27
specctra_export.cpp
pcbnew/specctra_export.cpp
+3
-3
specctra_import.cpp
pcbnew/specctra_import.cpp
+2
-2
surbrill.cpp
pcbnew/surbrill.cpp
+7
-7
swap_layers.cpp
pcbnew/swap_layers.cpp
+5
-5
tool_pcb.cpp
pcbnew/tool_pcb.cpp
+1
-1
tracepcb.cpp
pcbnew/tracepcb.cpp
+4
-4
track.cpp
pcbnew/track.cpp
+7
-7
via_edit.cpp
pcbnew/via_edit.cpp
+2
-2
xchgmod.cpp
pcbnew/xchgmod.cpp
+14
-14
zone_filling_algorithm.cpp
pcbnew/zone_filling_algorithm.cpp
+4
-4
zones_by_polygon.cpp
pcbnew/zones_by_polygon.cpp
+44
-44
zones_non_copper_type_functions.cpp
pcbnew/zones_non_copper_type_functions.cpp
+1
-1
wxprint.cpp
share/wxprint.cpp
+7
-7
No files found.
3d-viewer/3d_draw.cpp
View file @
b6035803
...
...
@@ -92,7 +92,7 @@ GLuint Pcb3D_GLCanvas::CreateDrawGL_List()
*/
{
WinEDA_BasePcbFrame
*
pcbframe
=
m_Parent
->
m_Parent
;
BOARD
*
pcb
=
pcbframe
->
m_Pcb
;
BOARD
*
pcb
=
pcbframe
->
GetBoard
()
;
TRACK
*
track
;
SEGZONE
*
segzone
;
int
ii
;
...
...
CHANGELOG.txt
View file @
b6035803
...
...
@@ -5,6 +5,13 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.
2009-Jan-04 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
++all
wxPcbStruct.h: made m_Pcb private, added GetBoard(). Am considering
putting each gerber layer into its own BOARD.
2009-Jan-02 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
++Eeschema:
...
...
@@ -13,7 +20,6 @@ email address.
DrawPolylineStruct uses now std::vector<wxPoint> to handle corners.
2008-Dec-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
++Eeschema:
...
...
cvpcb/displayframe.cpp
View file @
b6035803
...
...
@@ -51,7 +51,7 @@ WinEDA_DisplayFrame::WinEDA_DisplayFrame( wxWindow* father,
#endif
SetTitle
(
title
);
m_Pcb
=
new
BOARD
(
NULL
,
this
);
SetBoard
(
new
BOARD
(
NULL
,
this
)
);
SetBaseScreen
(
new
PCB_SCREEN
()
);
...
...
@@ -70,7 +70,7 @@ WinEDA_DisplayFrame::~WinEDA_DisplayFrame()
delete
GetBaseScreen
();
SetBaseScreen
(
0
);
delete
m_Pcb
;
delete
GetBoard
()
;
(
(
WinEDA_CvpcbFrame
*
)
wxGetApp
().
GetTopWindow
()
)
->
DrawFrame
=
NULL
;
}
...
...
cvpcb/loadcmp.cpp
View file @
b6035803
/***************************************************/
/* Localisation des elements pointes par la souris */
/***************************************************/
/***************************************************/
/* Localisation des elements pointes par la souris */
/***************************************************/
#include "fctsys.h"
...
...
@@ -10,94 +10,107 @@
#include "protos.h"
/*****************************************************************/
MODULE
*
WinEDA_DisplayFrame
::
Get_Module
(
const
wxString
&
CmpName
)
MODULE
*
WinEDA_DisplayFrame
::
Get_Module
(
const
wxString
&
CmpName
)
/*****************************************************************/
/*
Analyse les LIBRAIRIES pour trouver le module demande
Si ce module est trouve, le copie en memoire, et le
chaine en fin de liste des modules
- Entree:
name_cmp = nom du module
- Retour:
Pointeur sur le nouveau module.
*/
*
Analyse les LIBRAIRIES pour trouver le module demande
*
Si ce module est trouve, le copie en memoire, et le
*
chaine en fin de liste des modules
*
- Entree:
*
name_cmp = nom du module
*
- Retour:
*
Pointeur sur le nouveau module.
*/
{
int
LineNum
,
Found
=
0
;
unsigned
ii
;
char
Line
[
1024
],
Name
[
255
];
wxString
libname
;
MODULE
*
Module
=
NULL
;
for
(
ii
=
0
;
ii
<
g_LibName_List
.
GetCount
();
ii
++
)
{
/* Calcul du nom complet de la librairie */
libname
=
MakeFileName
(
g_RealLibDirBuffer
,
g_LibName_List
[
ii
],
LibExtBuffer
);
if
((
lib_module
=
wxFopen
(
libname
,
wxT
(
"rt"
)))
==
NULL
)
{
continue
;
}
/* lecture entete chaine definie par ENTETE_LIBRAIRIE */
LineNum
=
0
;
GetLine
(
lib_module
,
Line
,
&
LineNum
)
;
StrPurge
(
Line
);
if
(
strnicmp
(
Line
,
ENTETE_LIBRAIRIE
,
L_ENTETE_LIB
)
!=
0
)
{
DisplayError
(
this
,
_
(
"This file is NOT a library file"
)
);
return
(
NULL
);
}
/* Lecture de la liste des composants de la librairie */
Found
=
0
;
while
(
!
Found
&&
GetLine
(
lib_module
,
Line
,
&
LineNum
)
)
{
if
(
strncmp
(
Line
,
"$MODULE"
,
6
)
==
0
)
break
;
if
(
strnicmp
(
Line
,
"$INDEX"
,
6
)
==
0
)
{
while
(
GetLine
(
lib_module
,
Line
,
&
LineNum
)
)
{
if
(
strnicmp
(
Line
,
"$EndINDEX"
,
9
)
==
0
)
break
;
StrPurge
(
Line
);
if
(
stricmp
(
Line
,
CONV_TO_UTF8
(
CmpName
))
==
0
)
{
Found
=
1
;
break
;
/* Trouve! */
}
}
}
}
/* Lecture de la librairie */
while
(
Found
&&
GetLine
(
lib_module
,
Line
,
&
LineNum
)
)
{
if
(
Line
[
0
]
!=
'$'
)
continue
;
if
(
Line
[
1
]
!=
'M'
)
continue
;
if
(
strnicmp
(
Line
,
"$MODULE"
,
7
)
!=
0
)
continue
;
/* Lecture du nom du composant */
sscanf
(
Line
+
7
,
" %s"
,
Name
);
if
(
stricmp
(
Name
,
CONV_TO_UTF8
(
CmpName
))
==
0
)
/* composant localise */
{
Module
=
new
MODULE
(
m_Pcb
);
// Switch the locale to standard C (needed to print floating point numbers like 1.3)
SetLocaleTo_C_standard
(
);
Module
->
ReadDescr
(
lib_module
,
&
LineNum
);
SetLocaleTo_Default
(
);
// revert to the current locale
Module
->
SetPosition
(
wxPoint
(
0
,
0
)
);
fclose
(
lib_module
);
return
(
Module
)
;
}
}
fclose
(
lib_module
)
;
lib_module
=
0
;
}
if
(
lib_module
)
fclose
(
lib_module
)
;
wxString
msg
;
msg
.
Printf
(
_
(
"Module %s not found"
),
CmpName
.
GetData
());
DisplayError
(
this
,
msg
);
return
(
NULL
)
;
}
int
LineNum
,
Found
=
0
;
unsigned
ii
;
char
Line
[
1024
],
Name
[
255
];
wxString
libname
;
MODULE
*
Module
=
NULL
;
for
(
ii
=
0
;
ii
<
g_LibName_List
.
GetCount
();
ii
++
)
{
/* Calcul du nom complet de la librairie */
libname
=
MakeFileName
(
g_RealLibDirBuffer
,
g_LibName_List
[
ii
],
LibExtBuffer
);
if
(
(
lib_module
=
wxFopen
(
libname
,
wxT
(
"rt"
)
)
)
==
NULL
)
{
continue
;
}
/* lecture entete chaine definie par ENTETE_LIBRAIRIE */
LineNum
=
0
;
GetLine
(
lib_module
,
Line
,
&
LineNum
);
StrPurge
(
Line
);
if
(
strnicmp
(
Line
,
ENTETE_LIBRAIRIE
,
L_ENTETE_LIB
)
!=
0
)
{
DisplayError
(
this
,
_
(
"This file is NOT a library file"
)
);
return
NULL
;
}
/* Lecture de la liste des composants de la librairie */
Found
=
0
;
while
(
!
Found
&&
GetLine
(
lib_module
,
Line
,
&
LineNum
)
)
{
if
(
strncmp
(
Line
,
"$MODULE"
,
6
)
==
0
)
break
;
if
(
strnicmp
(
Line
,
"$INDEX"
,
6
)
==
0
)
{
while
(
GetLine
(
lib_module
,
Line
,
&
LineNum
)
)
{
if
(
strnicmp
(
Line
,
"$EndINDEX"
,
9
)
==
0
)
break
;
StrPurge
(
Line
);
if
(
stricmp
(
Line
,
CONV_TO_UTF8
(
CmpName
)
)
==
0
)
{
Found
=
1
;
break
;
/* Trouve! */
}
}
}
}
/* Lecture de la librairie */
while
(
Found
&&
GetLine
(
lib_module
,
Line
,
&
LineNum
)
)
{
if
(
Line
[
0
]
!=
'$'
)
continue
;
if
(
Line
[
1
]
!=
'M'
)
continue
;
if
(
strnicmp
(
Line
,
"$MODULE"
,
7
)
!=
0
)
continue
;
/* Lecture du nom du composant */
sscanf
(
Line
+
7
,
" %s"
,
Name
);
if
(
stricmp
(
Name
,
CONV_TO_UTF8
(
CmpName
)
)
==
0
)
/* composant localise */
{
Module
=
new
MODULE
(
GetBoard
()
);
// Switch the locale to standard C (needed to print floating point numbers like 1.3)
SetLocaleTo_C_standard
();
Module
->
ReadDescr
(
lib_module
,
&
LineNum
);
SetLocaleTo_Default
();
// revert to the current locale
Module
->
SetPosition
(
wxPoint
(
0
,
0
)
);
fclose
(
lib_module
);
return
Module
;
}
}
fclose
(
lib_module
);
lib_module
=
0
;
}
if
(
lib_module
)
fclose
(
lib_module
);
wxString
msg
;
msg
.
Printf
(
_
(
"Module %s not found"
),
CmpName
.
GetData
()
);
DisplayError
(
this
,
msg
);
return
NULL
;
}
cvpcb/setvisu.cpp
View file @
b6035803
...
...
@@ -50,13 +50,13 @@ void WinEDA_CvpcbFrame::CreateScreenCmp()
DrawFrame
->
SetStatusText
(
msg
,
0
);
if
(
DrawFrame
->
m_Pcb
->
m_Modules
.
GetCount
()
)
if
(
DrawFrame
->
GetBoard
()
->
m_Modules
.
GetCount
()
)
{
// there is only one module in the list
DrawFrame
->
m_Pcb
->
m_Modules
.
DeleteAll
();
DrawFrame
->
GetBoard
()
->
m_Modules
.
DeleteAll
();
}
DrawFrame
->
m_Pcb
->
m_Modules
.
PushBack
(
DrawFrame
->
Get_Module
(
FootprintName
)
);
DrawFrame
->
GetBoard
()
->
m_Modules
.
PushBack
(
DrawFrame
->
Get_Module
(
FootprintName
)
);
DrawFrame
->
Zoom_Automatique
(
FALSE
);
if
(
DrawFrame
->
m_Draw3DFrame
)
...
...
@@ -77,7 +77,7 @@ void WinEDA_DisplayFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
/*******************************************************************/
/* Draws the current highlighted footprint */
{
if
(
!
m_Pcb
)
if
(
!
GetBoard
()
)
return
;
ActiveScreen
=
(
PCB_SCREEN
*
)
GetScreen
();
...
...
@@ -86,9 +86,9 @@ void WinEDA_DisplayFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
DrawPanel
->
EraseScreen
(
DC
);
DrawPanel
->
DrawBackGround
(
DC
);
m_Pcb
->
Draw
(
DrawPanel
,
DC
,
GR_COPY
,
wxPoint
(
0
,
0
)
);
GetBoard
()
->
Draw
(
DrawPanel
,
DC
,
GR_COPY
);
MODULE
*
Module
=
m_Pcb
->
m_Modules
;
MODULE
*
Module
=
GetBoard
()
->
m_Modules
;
if
(
Module
)
Module
->
Display_Infos
(
this
);
Affiche_Status_Box
();
...
...
gerbview/dcode.cpp
View file @
b6035803
...
...
@@ -78,6 +78,8 @@ GERBER::GERBER( int aLayer )
for
(
unsigned
ii
=
0
;
ii
<
DIM
(
m_Aperture_List
);
ii
++
)
m_Aperture_List
[
ii
]
=
0
;
m_Pcb
=
0
;
}
...
...
@@ -88,6 +90,8 @@ GERBER::~GERBER()
delete
m_Aperture_List
[
ii
];
// m_Aperture_List[ii] = NULL;
}
delete
m_Pcb
;
}
...
...
@@ -381,7 +385,7 @@ void WinEDA_GerberFrame::CopyDCodesSizeToItems()
{
static
D_CODE
dummy
(
999
);
//Used if D_CODE not found in list
for
(
TRACK
*
track
=
m_Pcb
->
m_Track
;
track
;
track
=
track
->
Next
()
)
for
(
TRACK
*
track
=
GetBoard
()
->
m_Track
;
track
;
track
=
track
->
Next
()
)
{
GERBER
*
gerber
=
g_GERBER_List
[
track
->
GetLayer
()];
wxASSERT
(
gerber
);
...
...
gerbview/deltrack.cpp
View file @
b6035803
...
...
@@ -23,15 +23,18 @@ void WinEDA_GerberFrame::Delete_DCode_Items( wxDC* DC, int dcode_value, int laye
{
if
(
dcode_value
<
FIRST_DCODE
)
// No tool selected
return
;
BOARD
*
Pcb
=
m_Pcb
;
TRACK
*
track
=
Pcb
->
m_Track
,
*
next_track
;
for
(
;
track
!=
NULL
;
track
=
next_track
)
TRACK
*
next
;
for
(
TRACK
*
track
=
GetBoard
()
->
m_Track
;
track
;
track
=
next
)
{
next_track
=
track
->
Next
();
next
=
track
->
Next
();
if
(
dcode_value
!=
track
->
GetNet
()
)
continue
;
if
(
layer_number
>=
0
&&
layer_number
!=
track
->
GetLayer
()
)
continue
;
Delete_Segment
(
DC
,
track
);
}
...
...
gerbview/edit.cpp
View file @
b6035803
...
...
@@ -225,11 +225,9 @@ void WinEDA_GerberFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_TOOLBARH_PCB_SELECT_LAYER
:
{
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
=
m_SelLayerBox
->
GetChoice
();
DrawPanel
->
Refresh
(
TRUE
);
break
;
}
case
ID_TOOLBARH_GERBER_SELECT_TOOL
:
if
(
gerber_layer
)
...
...
gerbview/export_to_pcbnew.cpp
View file @
b6035803
...
...
@@ -138,7 +138,7 @@ static int SavePcbFormatAscii( WinEDA_GerberFrame* frame, FILE* aFile,
{
char
line
[
256
];
TRACK
*
track
;
BOARD
*
gerberPcb
=
frame
->
m_Pcb
;
BOARD
*
gerberPcb
=
frame
->
GetBoard
()
;
BOARD
*
pcb
;
wxBeginBusyCursor
();
...
...
gerbview/gerberframe.cpp
View file @
b6035803
...
...
@@ -312,10 +312,10 @@ int WinEDA_GerberFrame::BestZoom()
wxSize
size
;
/* calcul du zoom montrant tout le dessim */
m_Pcb
->
ComputeBoundaryBox
();
GetBoard
()
->
ComputeBoundaryBox
();
size
=
DrawPanel
->
GetClientSize
();
ii
=
m_Pcb
->
m_BoundaryBox
.
GetWidth
()
/
size
.
x
;
jj
=
m_Pcb
->
m_BoundaryBox
.
GetHeight
()
/
size
.
y
;
ii
=
GetBoard
()
->
m_BoundaryBox
.
GetWidth
()
/
size
.
x
;
jj
=
GetBoard
()
->
m_BoundaryBox
.
GetHeight
()
/
size
.
y
;
bestzoom
=
MAX
(
ii
,
jj
)
+
1
;
/* determination du zoom existant le plus proche */
...
...
@@ -327,7 +327,7 @@ int WinEDA_GerberFrame::BestZoom()
bestzoom
=
ii
;
GetScreen
()
->
m_Curseur
=
m_Pcb
->
m_BoundaryBox
.
Centre
();
GetScreen
()
->
m_Curseur
=
GetBoard
()
->
m_BoundaryBox
.
Centre
();
return
bestzoom
;
}
gerbview/gerbview.cpp
View file @
b6035803
...
...
@@ -53,7 +53,7 @@ bool WinEDA_App::OnInit()
/* Gerbview mainframe title */
wxString
Title
=
g_Main_Title
+
wxT
(
" "
)
+
GetBuildVersion
();
frame
->
SetTitle
(
Title
);
frame
->
m_Pcb
=
new
BOARD
(
NULL
,
frame
);
frame
->
SetBoard
(
new
BOARD
(
NULL
,
frame
)
);
SetTopWindow
(
frame
);
// Set GerbView mainframe on top
frame
->
Show
(
TRUE
);
// Show GerbView mainframe
...
...
gerbview/gerbview.h
View file @
b6035803
...
...
@@ -316,6 +316,7 @@ class GERBER
D_CODE
*
m_Aperture_List
[
MAX_TOOLS
];
///< Dcode (Aperture) List for this layer
bool
m_Exposure
;
///< whether an aperture macro tool is flashed on or off
BOARD
*
m_Pcb
;
public
:
wxString
m_FileName
;
// Full File Name for this layer
...
...
gerbview/initpcb.cpp
View file @
b6035803
...
...
@@ -24,23 +24,23 @@ bool WinEDA_GerberFrame::Clear_Pcb( bool query )
{
int
layer
;
if
(
m_Pcb
==
NULL
)
if
(
GetBoard
()
==
NULL
)
return
FALSE
;
if
(
query
)
{
if
(
m_Pcb
->
m_Drawings
||
m_Pcb
->
m_Track
||
m_Pcb
->
m_Zone
)
if
(
GetBoard
()
->
m_Drawings
||
GetBoard
()
->
m_Track
||
GetBoard
()
->
m_Zone
)
{
if
(
!
IsOK
(
this
,
_
(
"Current Data will be lost ?"
)
)
)
return
FALSE
;
}
}
m_Pcb
->
m_Drawings
.
DeleteAll
();
GetBoard
()
->
m_Drawings
.
DeleteAll
();
m_Pcb
->
m_Track
.
DeleteAll
();
GetBoard
()
->
m_Track
.
DeleteAll
();
m_Pcb
->
m_Zone
.
DeleteAll
();
GetBoard
()
->
m_Zone
.
DeleteAll
();
for
(
;
g_UnDeleteStackPtr
!=
0
;
)
{
...
...
@@ -56,13 +56,13 @@ bool WinEDA_GerberFrame::Clear_Pcb( bool query )
}
/* remise a 0 ou a une valeur initiale des variables de la structure */
m_Pcb
->
m_BoundaryBox
.
SetOrigin
(
0
,
0
);
m_Pcb
->
m_BoundaryBox
.
SetSize
(
0
,
0
);
m_Pcb
->
m_Status_Pcb
=
0
;
m_Pcb
->
m_NbLoclinks
=
0
;
m_Pcb
->
m_NbLinks
=
0
;
m_Pcb
->
m_NbNodes
=
0
;
m_Pcb
->
m_NbNoconnect
=
0
;
GetBoard
()
->
m_BoundaryBox
.
SetOrigin
(
0
,
0
);
GetBoard
()
->
m_BoundaryBox
.
SetSize
(
0
,
0
);
GetBoard
()
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_NbLoclinks
=
0
;
GetBoard
()
->
m_NbLinks
=
0
;
GetBoard
()
->
m_NbNodes
=
0
;
GetBoard
()
->
m_NbNoconnect
=
0
;
/* Init parametres de gestion des ecrans PAD et PCB */
SetBaseScreen
(
ActiveScreen
=
ScreenPcb
);
...
...
@@ -79,7 +79,7 @@ void WinEDA_GerberFrame::Erase_Zones( bool query )
if
(
query
&&
!
IsOK
(
this
,
_
(
"Delete zones ?"
)
)
)
return
;
m_Pcb
->
m_Zone
.
DeleteAll
();
GetBoard
()
->
m_Zone
.
DeleteAll
();
ScreenPcb
->
SetModify
();
}
...
...
@@ -95,7 +95,7 @@ void WinEDA_GerberFrame::Erase_Segments_Pcb( bool all_layers, bool query )
layer
=
-
1
;
BOARD_ITEM
*
next
;
for
(
BOARD_ITEM
*
item
=
m_Pcb
->
m_Drawings
;
item
;
item
=
next
)
for
(
BOARD_ITEM
*
item
=
GetBoard
()
->
m_Drawings
;
item
;
item
=
next
)
{
next
=
item
->
Next
();
...
...
@@ -106,7 +106,7 @@ void WinEDA_GerberFrame::Erase_Segments_Pcb( bool all_layers, bool query )
case
TYPE_COTATION
:
case
TYPE_MIRE
:
if
(
item
->
GetLayer
()
==
layer
||
layer
<
0
)
m_Pcb
->
Delete
(
item
);
GetBoard
()
->
Delete
(
item
);
break
;
default
:
...
...
@@ -136,7 +136,7 @@ void WinEDA_GerberFrame::Erase_Pistes( int masque_type, bool query )
return
;
/* Marquage des pistes a effacer */
for
(
pt_segm
=
m_Pcb
->
m_Track
;
pt_segm
!=
NULL
;
pt_segm
=
(
TRACK
*
)
PtNext
)
for
(
pt_segm
=
GetBoard
()
->
m_Track
;
pt_segm
!=
NULL
;
pt_segm
=
(
TRACK
*
)
PtNext
)
{
PtNext
=
pt_segm
->
Next
();
if
(
pt_segm
->
GetState
(
SEGM_FIXE
|
SEGM_AR
)
&
masque_type
)
...
...
@@ -158,7 +158,7 @@ void WinEDA_GerberFrame::Erase_Textes_Pcb( bool query )
if
(
query
&&
!
IsOK
(
this
,
_
(
"Delete Pcb Texts"
)
)
)
return
;
PtStruct
=
m_Pcb
->
m_Drawings
;
PtStruct
=
GetBoard
()
->
m_Drawings
;
for
(
;
PtStruct
!=
NULL
;
PtStruct
=
PtNext
)
{
PtNext
=
PtStruct
->
Next
();
...
...
@@ -183,7 +183,7 @@ void WinEDA_GerberFrame::Erase_Current_Layer( bool query )
/* Delete tracks (spots and lines) */
TRACK
*
PtNext
;
for
(
TRACK
*
pt_segm
=
m_Pcb
->
m_Track
;
pt_segm
!=
NULL
;
pt_segm
=
(
TRACK
*
)
PtNext
)
for
(
TRACK
*
pt_segm
=
GetBoard
()
->
m_Track
;
pt_segm
!=
NULL
;
pt_segm
=
(
TRACK
*
)
PtNext
)
{
PtNext
=
pt_segm
->
Next
();
if
(
pt_segm
->
GetLayer
()
!=
layer
)
...
...
@@ -193,7 +193,7 @@ void WinEDA_GerberFrame::Erase_Current_Layer( bool query )
/* Delete polygons */
SEGZONE
*
Nextzone
;
for
(
SEGZONE
*
zone
=
m_Pcb
->
m_Zone
;
zone
!=
NULL
;
zone
=
Nextzone
)
for
(
SEGZONE
*
zone
=
GetBoard
()
->
m_Zone
;
zone
!=
NULL
;
zone
=
Nextzone
)
{
Nextzone
=
zone
->
Next
();
if
(
zone
->
GetLayer
()
!=
layer
)
...
...
gerbview/locate.cpp
View file @
b6035803
...
...
@@ -49,7 +49,7 @@ BOARD_ITEM* WinEDA_GerberFrame::Locate( int typeloc )
/* Localistion des pistes et vias, avec priorite aux vias */
layer
=
GetScreen
()
->
m_Active_Layer
;
Track
=
Locate_Pistes
(
m_Pcb
->
m_Track
,
-
1
,
typeloc
);
Track
=
Locate_Pistes
(
GetBoard
()
->
m_Track
,
-
1
,
typeloc
);
if
(
Track
!=
NULL
)
{
TrackLocate
=
Track
;
/* Reperage d'une piste ou via */
...
...
@@ -67,19 +67,19 @@ BOARD_ITEM* WinEDA_GerberFrame::Locate( int typeloc )
}
pt_texte_pcb
=
Locate_Texte_Pcb
(
(
TEXTE_PCB
*
)
m_Pcb
->
m_Drawings
.
GetFirst
(),
typeloc
);
pt_texte_pcb
=
Locate_Texte_Pcb
(
(
TEXTE_PCB
*
)
GetBoard
()
->
m_Drawings
.
GetFirst
(),
typeloc
);
if
(
pt_texte_pcb
)
// texte type PCB localise
{
pt_texte_pcb
->
Display_Infos
(
this
);
return
pt_texte_pcb
;
}
if
(
(
DrawSegm
=
Locate_Segment_Pcb
(
m_Pcb
,
typeloc
)
)
!=
NULL
)
if
(
(
DrawSegm
=
Locate_Segment_Pcb
(
GetBoard
()
,
typeloc
)
)
!=
NULL
)
{
return
DrawSegm
;
}
if
(
(
TrackLocate
=
Locate_Zone
(
m_Pcb
->
m_Zone
,
if
(
(
TrackLocate
=
Locate_Zone
(
GetBoard
()
->
m_Zone
,
GetScreen
()
->
m_Active_Layer
,
typeloc
)
)
!=
NULL
)
{
TrackLocate
->
Display_Infos
(
this
);
...
...
gerbview/rs274d.cpp
View file @
b6035803
...
...
@@ -837,7 +837,7 @@ bool GERBER::Execute_DCODE_Command( WinEDA_GerberFrame* frame, wxDC* DC,
APERTURE_T
aperture
=
APT_CIRCLE
;
TRACK
*
track
;
BOARD
*
pcb
=
frame
->
m_Pcb
;
BOARD
*
pcb
=
frame
->
GetBoard
()
;
int
activeLayer
=
frame
->
GetScreen
()
->
m_Active_Layer
;
...
...
gerbview/tracepcb.cpp
View file @
b6035803
...
...
@@ -71,7 +71,7 @@ void WinEDA_GerberFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
{
PCB_SCREEN
*
screen
=
(
PCB_SCREEN
*
)
GetScreen
();
if
(
!
m_Pcb
)
if
(
!
GetBoard
()
)
return
;
ActiveScreen
=
screen
;
GRSetDrawMode
(
DC
,
GR_COPY
);
...
...
@@ -110,7 +110,7 @@ void WinEDA_GerberFrame::Trace_Gerber( wxDC* DC, int draw_mode, int printmasklay
* @param printmasklayer = mask for allowed layer (=-1 to draw all layers)
*/
{
if
(
!
m_Pcb
)
if
(
!
GetBoard
()
)
return
;
bool
erase
;
...
...
@@ -123,7 +123,7 @@ void WinEDA_GerberFrame::Trace_Gerber( wxDC* DC, int draw_mode, int printmasklay
// minimize reallocations of the vector's internal array by starting with a good sized one.
points
.
reserve
(
10000
);
for
(
TRACK
*
track
=
m_Pcb
->
m_Zone
;
track
;
track
=
track
->
Next
()
)
for
(
TRACK
*
track
=
GetBoard
()
->
m_Zone
;
track
;
track
=
track
->
Next
()
)
{
if
(
!
(
track
->
ReturnMaskLayer
()
&
printmasklayer
)
)
continue
;
...
...
@@ -179,10 +179,10 @@ void WinEDA_GerberFrame::Trace_Gerber( wxDC* DC, int draw_mode, int printmasklay
}
// Draw tracks and flashes down here. This will probably not be a final solution to drawing order issues
Draw_Track_Buffer
(
DrawPanel
,
DC
,
m_Pcb
,
draw_mode
,
printmasklayer
);
Draw_Track_Buffer
(
DrawPanel
,
DC
,
GetBoard
()
,
draw_mode
,
printmasklayer
);
if
(
DisplayOpt
.
DisplayPadNum
)
Affiche_DCodes_Pistes
(
DrawPanel
,
DC
,
m_Pcb
,
GR_COPY
);
Affiche_DCodes_Pistes
(
DrawPanel
,
DC
,
GetBoard
()
,
GR_COPY
);
GetScreen
()
->
ClrRefreshReq
();
}
include/wxPcbStruct.h
View file @
b6035803
...
...
@@ -51,9 +51,10 @@ class ZONE_CONTAINER;
class
WinEDA_BasePcbFrame
:
public
WinEDA_DrawFrame
{
public
:
BOARD
*
m_Pcb
;
public
:
bool
m_DisplayPadFill
;
// How show pads
bool
m_DisplayPadNum
;
// show pads numbers
...
...
@@ -76,13 +77,18 @@ public:
~
WinEDA_BasePcbFrame
();
/**
* Function SetB
OARD
* Function SetB
oard
* sets the m_Pcb member in such as way as to ensure deleting any previous
* BOARD.
* @param aBoard The BOARD to put into the frame.
*/
void
SetBOARD
(
BOARD
*
aBoard
);
void
SetBoard
(
BOARD
*
aBoard
);
BOARD
*
GetBoard
()
{
wxASSERT
(
m_Pcb
);
// phasing out m_Pcb for gerbview
return
m_Pcb
;
}
// General
virtual
void
OnCloseWindow
(
wxCloseEvent
&
Event
)
=
0
;
...
...
@@ -209,10 +215,10 @@ public:
void
Place_Module
(
MODULE
*
module
,
wxDC
*
DC
);
void
InstallExchangeModuleFrame
(
MODULE
*
ExchangeModuleModule
,
wxDC
*
DC
,
const
wxPoint
&
pos
);
// Graphic items edition:
void
InstallGraphicItemPropertiesDialog
(
DRAWSEGMENT
*
aItem
,
wxDC
*
aDC
);
// Graphic items edition:
void
InstallGraphicItemPropertiesDialog
(
DRAWSEGMENT
*
aItem
,
wxDC
*
aDC
);
// module texts
// module texts
void
RotateTextModule
(
TEXTE_MODULE
*
Text
,
wxDC
*
DC
);
void
DeleteTextModule
(
TEXTE_MODULE
*
Text
,
wxDC
*
DC
);
void
PlaceTexteModule
(
TEXTE_MODULE
*
Text
,
wxDC
*
DC
);
...
...
pcbnew/affiche.cpp
View file @
b6035803
...
...
@@ -30,7 +30,7 @@ void Affiche_Infos_Equipot( int netcode, WinEDA_BasePcbFrame* frame )
frame
->
MsgPanel
->
EraseMsgBox
();
equipot
=
frame
->
m_Pcb
->
FindNet
(
netcode
);
equipot
=
frame
->
GetBoard
()
->
FindNet
(
netcode
);
if
(
equipot
)
Affiche_1_Parametre
(
frame
,
1
,
_
(
"Net Name"
),
equipot
->
GetNetname
(),
RED
);
else
...
...
@@ -39,7 +39,7 @@ void Affiche_Infos_Equipot( int netcode, WinEDA_BasePcbFrame* frame )
txt
.
Printf
(
wxT
(
"%d"
),
netcode
);
Affiche_1_Parametre
(
frame
,
30
,
_
(
"Net Code"
),
txt
,
RED
);
for
(
ii
=
0
,
module
=
frame
->
m_Pcb
->
m_Modules
;
module
!=
0
;
for
(
ii
=
0
,
module
=
frame
->
GetBoard
()
->
m_Modules
;
module
!=
0
;
module
=
module
->
Next
()
)
{
for
(
pad
=
module
->
m_Pads
;
pad
!=
0
;
pad
=
pad
->
Next
()
)
...
...
@@ -52,7 +52,7 @@ void Affiche_Infos_Equipot( int netcode, WinEDA_BasePcbFrame* frame )
txt
.
Printf
(
wxT
(
"%d"
),
ii
);
Affiche_1_Parametre
(
frame
,
40
,
_
(
"Pads"
),
txt
,
DARKGREEN
);
for
(
ii
=
0
,
Struct
=
frame
->
m_Pcb
->
m_Track
;
Struct
!=
NULL
;
Struct
=
Struct
->
Next
()
)
for
(
ii
=
0
,
Struct
=
frame
->
GetBoard
()
->
m_Track
;
Struct
!=
NULL
;
Struct
=
Struct
->
Next
()
)
{
ii
++
;
if
(
Struct
->
Type
()
==
TYPE_VIA
)
...
...
pcbnew/attribut.cpp
View file @
b6035803
...
...
@@ -69,7 +69,7 @@ void WinEDA_PcbFrame::Attribut_net( wxDC* DC, int net_code, bool Flag_On )
* if net_code < 0 all the segments are modified.
*/
{
TRACK
*
Track
=
m_Pcb
->
m_Track
;
TRACK
*
Track
=
GetBoard
()
->
m_Track
;
/* search the first segment for the selected net_code */
if
(
net_code
>=
0
)
...
...
@@ -86,6 +86,7 @@ void WinEDA_PcbFrame::Attribut_net( wxDC* DC, int net_code, bool Flag_On )
{
if
(
(
net_code
>=
0
)
&&
(
net_code
!=
Track
->
GetNet
())
)
break
;
GetScreen
()
->
SetModify
();
Track
->
SetState
(
SEGM_FIXE
,
Flag_On
);
Track
->
Draw
(
DrawPanel
,
DC
,
GR_OR
|
GR_SURBRILL
);
...
...
pcbnew/automove.cpp
View file @
b6035803
...
...
@@ -77,7 +77,7 @@ void WinEDA_PcbFrame::AutoPlace( wxCommandEvent& event )
/* Erase rastnest if needed */
if
(
g_Show_Ratsnest
)
DrawGeneralRatsnest
(
&
dc
);
m_Pcb
->
m_Status_Pcb
|=
DO_NOT_SHOW_GENERAL_RASTNEST
;
GetBoard
()
->
m_Status_Pcb
|=
DO_NOT_SHOW_GENERAL_RASTNEST
;
switch
(
id
)
// Traitement des commandes
{
...
...
@@ -176,7 +176,7 @@ void WinEDA_PcbFrame::AutoPlace( wxCommandEvent& event )
break
;
}
m_Pcb
->
m_Status_Pcb
&=
~
DO_NOT_SHOW_GENERAL_RASTNEST
;
GetBoard
()
->
m_Status_Pcb
&=
~
DO_NOT_SHOW_GENERAL_RASTNEST
;
ReCompile_Ratsnest_After_Changes
(
&
dc
);
SetToolbars
();
}
...
...
@@ -202,7 +202,7 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( wxDC* DC, bool PlaceModulesHorsPcb )
bool
EdgeExists
;
float
surface
;
if
(
m_Pcb
->
m_Modules
==
NULL
)
if
(
GetBoard
()
->
m_Modules
==
NULL
)
{
DisplayError
(
this
,
_
(
"No Modules!"
),
10
);
return
;
}
...
...
@@ -222,22 +222,22 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( wxDC* DC, bool PlaceModulesHorsPcb )
return
;
}
Module
=
m_Pcb
->
m_Modules
;
Module
=
GetBoard
()
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
Module
->
Next
()
)
// remise a jour du rect d'encadrement
{
Module
->
Set_Rectangle_Encadrement
();
Module
->
SetRectangleExinscrit
();
}
BaseListeModules
=
GenListeModules
(
m_Pcb
,
NULL
);
BaseListeModules
=
GenListeModules
(
GetBoard
()
,
NULL
);
/* Si repartition de modules Hors PCB, le curseur est mis au dessous
* du PCB, pour eviter de placer des composants dans la zone PCB
*/
if
(
PlaceModulesHorsPcb
&&
EdgeExists
)
{
if
(
GetScreen
()
->
m_Curseur
.
y
<
(
m_Pcb
->
m_BoundaryBox
.
GetBottom
()
+
2000
)
)
GetScreen
()
->
m_Curseur
.
y
=
m_Pcb
->
m_BoundaryBox
.
GetBottom
()
+
2000
;
if
(
GetScreen
()
->
m_Curseur
.
y
<
(
GetBoard
()
->
m_BoundaryBox
.
GetBottom
()
+
2000
)
)
GetScreen
()
->
m_Curseur
.
y
=
GetBoard
()
->
m_BoundaryBox
.
GetBottom
()
+
2000
;
}
/* calcul de la surface occupee par les circuits */
...
...
@@ -247,7 +247,7 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( wxDC* DC, bool PlaceModulesHorsPcb )
Module
=
*
pt_Dmod
;
if
(
PlaceModulesHorsPcb
&&
EdgeExists
)
{
if
(
m_Pcb
->
m_BoundaryBox
.
Inside
(
Module
->
m_Pos
)
)
if
(
GetBoard
()
->
m_BoundaryBox
.
Inside
(
Module
->
m_Pos
)
)
continue
;
}
surface
+=
Module
->
m_Surface
;
...
...
@@ -267,7 +267,7 @@ void WinEDA_PcbFrame::AutoMoveModulesOnPcb( wxDC* DC, bool PlaceModulesHorsPcb )
if
(
PlaceModulesHorsPcb
&&
EdgeExists
)
{
if
(
m_Pcb
->
m_BoundaryBox
.
Inside
(
Module
->
m_Pos
)
)
if
(
GetBoard
()
->
m_BoundaryBox
.
Inside
(
Module
->
m_Pos
)
)
continue
;
}
...
...
@@ -314,7 +314,7 @@ void WinEDA_PcbFrame::FixeModule( MODULE* Module, bool Fixe )
}
else
{
Module
=
m_Pcb
->
m_Modules
;
Module
=
GetBoard
()
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
Module
->
Next
()
)
{
if
(
WildCompareString
(
ModulesMaskSelection
,
Module
->
m_Reference
->
m_Text
)
)
...
...
pcbnew/autoplac.cpp
View file @
b6035803
This diff is collapsed.
Click to expand it.
pcbnew/autorout.cpp
View file @
b6035803
...
...
@@ -78,12 +78,12 @@ void WinEDA_PcbFrame::Autoroute( wxDC* DC, int mode )
break
;
}
if
(
(
m_Pcb
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
if
(
(
GetBoard
()
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
Compile_Ratsnest
(
DC
,
TRUE
);
/* Placement du flag CH_ROUTE_REQ sur les chevelus demandes */
ptmp
=
(
CHEVELU
*
)
m_Pcb
->
m_Ratsnest
;
for
(
ii
=
m_Pcb
->
GetNumRatsnests
();
ii
>
0
;
ii
--
,
ptmp
++
)
ptmp
=
(
CHEVELU
*
)
GetBoard
()
->
m_Ratsnest
;
for
(
ii
=
GetBoard
()
->
GetNumRatsnests
();
ii
>
0
;
ii
--
,
ptmp
++
)
{
ptmp
->
status
&=
~
CH_ROUTE_REQ
;
...
...
@@ -118,7 +118,7 @@ void WinEDA_PcbFrame::Autoroute( wxDC* DC, int mode )
}
}
ptmp
=
(
CHEVELU
*
)
m_Pcb
->
m_Ratsnest
;
ptmp
=
(
CHEVELU
*
)
GetBoard
()
->
m_Ratsnest
;
start
=
time
(
NULL
);
...
...
@@ -147,10 +147,10 @@ void WinEDA_PcbFrame::Autoroute( wxDC* DC, int mode )
}
Affiche_Message
(
_
(
"Place Cells"
)
);
PlaceCells
(
m_Pcb
,
-
1
,
FORCE_PADS
);
PlaceCells
(
GetBoard
()
,
-
1
,
FORCE_PADS
);
/* Construction de la liste des pistes a router */
Build_Work
(
m_Pcb
,
ptmp
);
Build_Work
(
GetBoard
()
,
ptmp
);
// DisplayBoard(DrawPanel, DC);
...
...
@@ -181,14 +181,14 @@ void WinEDA_PcbFrame::Reset_Noroutable( wxDC* DC )
int
ii
;
CHEVELU
*
pt_rats
;
if
(
(
m_Pcb
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
if
(
(
GetBoard
()
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
Compile_Ratsnest
(
DC
,
TRUE
);
pt_rats
=
(
CHEVELU
*
)
m_Pcb
->
m_Ratsnest
;
pt_rats
=
(
CHEVELU
*
)
GetBoard
()
->
m_Ratsnest
;
if
(
pt_rats
==
NULL
)
return
;
for
(
ii
=
m_Pcb
->
GetNumRatsnests
();
ii
>
0
;
ii
--
,
pt_rats
++
)
for
(
ii
=
GetBoard
()
->
GetNumRatsnests
();
ii
>
0
;
ii
--
,
pt_rats
++
)
{
pt_rats
->
status
&=
~
CH_UNROUTABLE
;
}
...
...
pcbnew/basepcbframe.cpp
View file @
b6035803
...
...
@@ -58,7 +58,7 @@ WinEDA_BasePcbFrame::WinEDA_BasePcbFrame( wxWindow* father,
}
WinEDA_BasePcbFrame
::~
WinEDA_BasePcbFrame
(
void
)
WinEDA_BasePcbFrame
::~
WinEDA_BasePcbFrame
()
{
delete
m_Collector
;
}
...
...
@@ -70,9 +70,9 @@ BASE_SCREEN* WinEDA_BasePcbFrame::GetBaseScreen() const
}
void
WinEDA_BasePcbFrame
::
SetB
OARD
(
BOARD
*
aBoard
)
void
WinEDA_BasePcbFrame
::
SetB
oard
(
BOARD
*
aBoard
)
{
if
(
m_Pcb
!=
g_ModuleEditor_Pcb
)
if
(
m_Pcb
!=
g_ModuleEditor_Pcb
)
delete
m_Pcb
;
m_Pcb
=
aBoard
;
}
...
...
pcbnew/block_module_editor.cpp
View file @
b6035803
...
...
@@ -97,7 +97,7 @@ int WinEDA_ModuleEditFrame::HandleBlockEnd( wxDC* DC )
*/
{
int
ItemsCount
=
0
,
MustDoPlace
=
0
;
MODULE
*
Currentmodule
=
m_Pcb
->
m_Modules
;
MODULE
*
Currentmodule
=
GetBoard
()
->
m_Modules
;
if
(
GetScreen
()
->
BlockLocate
.
m_BlockDrawStruct
)
{
...
...
@@ -216,7 +216,7 @@ void WinEDA_ModuleEditFrame::HandleBlockPlace( wxDC* DC )
*/
{
bool
err
=
FALSE
;
MODULE
*
Currentmodule
=
m_Pcb
->
m_Modules
;
MODULE
*
Currentmodule
=
GetBoard
()
->
m_Modules
;
if
(
DrawPanel
->
ManageCurseur
==
NULL
)
{
...
...
@@ -301,7 +301,7 @@ static void DrawMovingBlockOutlines( WinEDA_DrawPanel* panel, wxDC* DC,
BOARD_ITEM
*
item
;
wxPoint
move_offset
;
MODULE
*
Currentmodule
=
(
(
WinEDA_BasePcbFrame
*
)
wxGetApp
().
GetTopWindow
()
)
->
m_ModuleEditFrame
->
m_Pcb
->
m_Modules
;
(
(
WinEDA_BasePcbFrame
*
)
wxGetApp
().
GetTopWindow
()
)
->
m_ModuleEditFrame
->
GetBoard
()
->
m_Modules
;
PtBlock
=
&
screen
->
BlockLocate
;
GRSetDrawMode
(
DC
,
g_XorMode
);
...
...
pcbnew/board.cpp
View file @
b6035803
...
...
@@ -42,7 +42,7 @@ bool ComputeMatriceSize( WinEDA_BasePcbFrame* frame, int g_GridRoutingSize )
* pour les routages automatiques et calculs de zone
*/
{
BOARD
*
pcb
=
frame
->
m_Pcb
;
BOARD
*
pcb
=
frame
->
GetBoard
()
;
pcb
->
ComputeBoundaryBox
();
...
...
pcbnew/class_track.cpp
View file @
b6035803
...
...
@@ -842,7 +842,7 @@ void TRACK::Display_Infos( WinEDA_DrawFrame* frame )
{
wxString
msg
;
int
text_pos
;
BOARD
*
board
=
(
(
WinEDA_PcbFrame
*
)
frame
)
->
m_Pcb
;
BOARD
*
board
=
(
(
WinEDA_PcbFrame
*
)
frame
)
->
GetBoard
()
;
#ifdef RATSNET_DEBUG
DbgDisplayTrackInfos
(
this
);
...
...
pcbnew/class_zone.cpp
View file @
b6035803
...
...
@@ -472,9 +472,10 @@ void ZONE_CONTAINER::DrawFilledArea( WinEDA_DrawPanel* panel,
{
static
vector
<
char
>
CornersTypeBuffer
;
static
vector
<
wxPoint
>
CornersBuffer
;
// outline_mode is false to show filled polys,
// and true to show polygons outlines only (test and debug purposes)
bool
outline_mode
=
DisplayOpt
.
DisplayZonesMode
==
2
?
true
:
false
;
bool
outline_mode
=
DisplayOpt
.
DisplayZonesMode
==
2
?
true
:
false
;
if
(
DC
==
NULL
)
return
;
...
...
@@ -522,14 +523,15 @@ void ZONE_CONTAINER::DrawFilledArea( WinEDA_DrawPanel* panel,
for
(
int
ic
=
0
;
ic
<=
imax
;
ic
++
)
{
CPolyPt
*
corner
=
&
m_FilledPolysList
[
ic
];
wxPoint
coord
;
coord
.
x
=
corner
->
x
+
offset
.
x
;
coord
.
y
=
corner
->
y
+
offset
.
y
;
wxPoint
coord
(
corner
->
x
+
offset
.
x
,
corner
->
y
+
offset
.
y
)
;
CornersBuffer
.
push_back
(
coord
);
CornersTypeBuffer
.
push_back
((
char
)
corner
->
utility
);
if
(
(
corner
->
end_contour
)
||
(
ic
==
imax
)
)
// the last corner of a filled area is found: draw it
{
{
/* Draw the current filled area: draw segments ouline first
* Curiously, draw segments ouline first and after draw filled polygons
* with oulines thickness = 0 is a faster than
...
...
@@ -539,19 +541,19 @@ void ZONE_CONTAINER::DrawFilledArea( WinEDA_DrawPanel* panel,
*/
{
// Draw outlines:
if
(
(
m_ZoneMinThickness
>
1
)
||
outline_mode
)
if
(
(
m_ZoneMinThickness
>
1
)
||
outline_mode
)
{
int
ilim
=
CornersBuffer
.
size
()
-
1
;
for
(
int
is
=
0
,
ie
=
ilim
;
is
<=
ilim
;
ie
=
is
,
is
++
)
for
(
int
is
=
0
,
ie
=
ilim
;
is
<=
ilim
;
ie
=
is
,
is
++
)
{
int
x0
=
CornersBuffer
[
is
].
x
;
int
y0
=
CornersBuffer
[
is
].
y
;
int
x1
=
CornersBuffer
[
ie
].
x
;
int
y1
=
CornersBuffer
[
ie
].
y
;
if
(
CornersTypeBuffer
[
ie
]
==
0
)
// Draw only basic outlines, not extra segments
if
(
CornersTypeBuffer
[
ie
]
==
0
)
// Draw only basic outlines, not extra segments
{
if
(
(
!
DisplayOpt
.
DisplayPcbTrackFill
)
||
GetState
(
FORCE_SKETCH
)
)
if
(
!
DisplayOpt
.
DisplayPcbTrackFill
||
GetState
(
FORCE_SKETCH
)
)
GRCSegm
(
&
panel
->
m_ClipBox
,
DC
,
x0
,
y0
,
x1
,
y1
,
m_ZoneMinThickness
,
color
);
...
...
@@ -562,8 +564,9 @@ void ZONE_CONTAINER::DrawFilledArea( WinEDA_DrawPanel* panel,
}
}
}
// Draw areas:
if
(
(
m_FillMode
==
0
)
&&
!
outline_mode
)
if
(
m_FillMode
==
0
&&
!
outline_mode
)
GRPoly
(
&
panel
->
m_ClipBox
,
DC
,
CornersBuffer
.
size
(),
&
CornersBuffer
[
0
],
true
,
0
,
color
,
color
);
}
...
...
@@ -862,7 +865,7 @@ void ZONE_CONTAINER::Display_Infos( WinEDA_DrawFrame* frame )
{
if
(
GetNet
()
>=
0
)
{
EQUIPOT
*
equipot
=
(
(
WinEDA_PcbFrame
*
)
frame
)
->
m_Pcb
->
FindNet
(
GetNet
()
);
EQUIPOT
*
equipot
=
(
(
WinEDA_PcbFrame
*
)
frame
)
->
GetBoard
()
->
FindNet
(
GetNet
()
);
if
(
equipot
)
msg
=
equipot
->
GetNetname
();
...
...
pcbnew/clean.cpp
View file @
b6035803
This diff is collapsed.
Click to expand it.
pcbnew/cotation.cpp
View file @
b6035803
...
...
@@ -138,7 +138,7 @@ WinEDA_CotationPropertiesFrame::WinEDA_CotationPropertiesFrame( WinEDA_PcbFrame*
for
(
int
layer
=
FIRST_NO_COPPER_LAYER
;
layer
<
NB_LAYERS
;
layer
++
)
{
m_SelLayerBox
->
Append
(
parent
->
m_Pcb
->
GetLayerName
(
layer
)
);
m_SelLayerBox
->
Append
(
parent
->
GetBoard
()
->
GetLayerName
(
layer
)
);
}
m_SelLayerBox
->
SetSelection
(
Cotation
->
GetLayer
()
-
FIRST_NO_COPPER_LAYER
);
...
...
@@ -226,7 +226,7 @@ COTATION* WinEDA_PcbFrame::Begin_Cotation( COTATION* Cotation, wxDC* DC )
status_cotation
=
1
;
pos
=
GetScreen
()
->
m_Curseur
;
Cotation
=
new
COTATION
(
m_Pcb
);
Cotation
=
new
COTATION
(
GetBoard
()
);
Cotation
->
m_Flags
=
IS_NEW
;
Cotation
->
SetLayer
(
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
);
...
...
@@ -277,7 +277,7 @@ COTATION* WinEDA_PcbFrame::Begin_Cotation( COTATION* Cotation, wxDC* DC )
Cotation
->
m_Flags
=
0
;
/* Insertion de la structure dans le Chainage .Drawings du PCB */
m_Pcb
->
Add
(
Cotation
);
GetBoard
()
->
Add
(
Cotation
);
GetScreen
()
->
SetModify
();
DrawPanel
->
ManageCurseur
=
NULL
;
...
...
pcbnew/cross-probing.cpp
View file @
b6035803
...
...
@@ -55,7 +55,7 @@ void RemoteCommand( const char* cmdline )
{
modName
=
CONV_FROM_UTF8
(
text
);
module
=
frame
->
m_Pcb
->
FindModuleByReference
(
modName
);
module
=
frame
->
GetBoard
()
->
FindModuleByReference
(
modName
);
if
(
module
)
msg
.
Printf
(
_
(
"%s found"
),
modName
.
GetData
()
);
...
...
@@ -80,7 +80,7 @@ void RemoteCommand( const char* cmdline )
modName
=
CONV_FROM_UTF8
(
text
);
module
=
frame
->
m_Pcb
->
FindModuleByReference
(
modName
);
module
=
frame
->
GetBoard
()
->
FindModuleByReference
(
modName
);
if
(
module
)
pad
=
module
->
FindPadByName
(
pinName
);
...
...
pcbnew/deltrack.cpp
View file @
b6035803
...
...
@@ -116,7 +116,7 @@ TRACK* WinEDA_PcbFrame::Delete_Segment( wxDC* DC, TRACK* aTrack )
GetScreen
()
->
SetModify
();
test_1_net_connexion
(
DC
,
current_net_code
);
m_Pcb
->
Display_Infos
(
this
);
GetBoard
()
->
Display_Infos
(
this
);
return
NULL
;
}
...
...
@@ -147,7 +147,7 @@ void WinEDA_PcbFrame::Delete_net( wxDC* DC, TRACK* aTrack )
int
net_code_delete
=
aTrack
->
GetNet
();
/* Recherche du debut de la zone des pistes du net_code courant */
TRACK
*
trackList
=
m_Pcb
->
m_Track
->
GetStartNetCode
(
net_code_delete
);
TRACK
*
trackList
=
GetBoard
()
->
m_Track
->
GetStartNetCode
(
net_code_delete
);
/* Decompte du nombre de segments de la sous-chaine */
...
...
@@ -163,7 +163,7 @@ void WinEDA_PcbFrame::Delete_net( wxDC* DC, TRACK* aTrack )
SaveItemEfface
(
trackList
,
ii
);
GetScreen
()
->
SetModify
();
test_1_net_connexion
(
DC
,
net_code_delete
);
m_Pcb
->
Display_Infos
(
this
);
GetBoard
()
->
Display_Infos
(
this
);
}
}
...
...
pcbnew/dialog_copper_zones.cpp
View file @
b6035803
...
...
@@ -58,7 +58,7 @@ void dialog_copper_zone::OnInitDialog( wxInitDialogEvent& event )
// Initialise all dialog options and values in wxTextCtrl
{
BOARD
*
board
=
m_Parent
->
m_Pcb
;
BOARD
*
board
=
m_Parent
->
GetBoard
()
;
SetFont
(
*
g_DialogFont
);
...
...
@@ -167,7 +167,7 @@ void dialog_copper_zone::OnInitDialog( wxInitDialogEvent& event )
m_NetNameFilter
->
SetValue
(
NetNameFilter
);
wxArrayString
ListNetName
;
m_Parent
->
m_Pcb
->
ReturnSortedNetnamesList
(
ListNetName
,
m_Parent
->
GetBoard
()
->
ReturnSortedNetnamesList
(
ListNetName
,
m_NetSorting
==
0
?
BOARD
::
ALPHA_SORT
:
BOARD
::
PAD_CNT_SORT
);
if
(
m_NetSorting
!=
0
)
...
...
@@ -190,7 +190,7 @@ void dialog_copper_zone::OnInitDialog( wxInitDialogEvent& event )
if
(
net_select
>
0
)
{
EQUIPOT
*
equipot
=
m_Parent
->
m_Pcb
->
FindNet
(
net_select
);
EQUIPOT
*
equipot
=
m_Parent
->
GetBoard
()
->
FindNet
(
net_select
);
if
(
equipot
)
// Search net in list and select it
{
for
(
unsigned
ii
=
0
;
ii
<
ListNetName
.
GetCount
();
ii
++
)
...
...
@@ -338,7 +338,7 @@ bool dialog_copper_zone::AcceptOptions( bool aPromptForErrors, bool aUseExportab
/* Search net_code for this net */
EQUIPOT
*
net
;
g_Zone_Default_Setting
.
m_NetcodeSelection
=
0
;
for
(
net
=
m_Parent
->
m_Pcb
->
m_Equipots
;
net
;
net
=
net
->
Next
()
)
for
(
net
=
m_Parent
->
GetBoard
()
->
m_Equipots
;
net
;
net
=
net
->
Next
()
)
{
if
(
net
->
GetNetname
()
==
net_name
)
{
...
...
@@ -358,7 +358,7 @@ void dialog_copper_zone::OnNetSortingOptionSelected( wxCommandEvent& event )
wxArrayString
ListNetName
;
m_NetSorting
=
m_NetSortingOption
->
GetSelection
();
m_Parent
->
m_Pcb
->
ReturnSortedNetnamesList
(
m_Parent
->
GetBoard
()
->
ReturnSortedNetnamesList
(
ListNetName
,
m_NetSorting
==
0
?
BOARD
::
ALPHA_SORT
:
BOARD
::
PAD_CNT_SORT
);
...
...
@@ -387,7 +387,7 @@ void dialog_copper_zone::OnNetSortingOptionSelected( wxCommandEvent& event )
int
net_select
=
m_Zone_Setting
->
m_NetcodeSelection
;
if
(
net_select
>
0
)
{
EQUIPOT
*
equipot
=
m_Parent
->
m_Pcb
->
FindNet
(
net_select
);
EQUIPOT
*
equipot
=
m_Parent
->
GetBoard
()
->
FindNet
(
net_select
);
if
(
equipot
)
// Search net in list and select it
{
for
(
unsigned
ii
=
0
;
ii
<
ListNetName
.
GetCount
();
ii
++
)
...
...
@@ -421,7 +421,7 @@ void dialog_copper_zone::ExportSetupToOtherCopperZones( wxCommandEvent& event )
return
;
// Export settings ( but layer and netcode ) to others zones:
BOARD
*
pcb
=
m_Parent
->
m_Pcb
;
BOARD
*
pcb
=
m_Parent
->
GetBoard
()
;
for
(
int
ii
=
0
;
ii
<
pcb
->
GetAreaCount
();
ii
++
)
{
ZONE_CONTAINER
*
zone
=
pcb
->
GetArea
(
ii
);
...
...
pcbnew/dialog_edit_module.cpp
View file @
b6035803
...
...
@@ -562,7 +562,7 @@ void WinEDA_ModulePropertiesFrame::OnOkClick( wxCommandEvent& event )
if
(
change_layer
)
{
m_Parent
->
m_Pcb
->
Change_Side_Module
(
m_CurrentModule
,
m_DC
);
m_Parent
->
GetBoard
()
->
Change_Side_Module
(
m_CurrentModule
,
m_DC
);
}
if
(
m_AutoPlaceCtrl
->
GetSelection
()
==
1
)
...
...
pcbnew/dialog_edit_module_text.cpp
View file @
b6035803
...
...
@@ -27,13 +27,13 @@ private:
TEXTE_MODULE
*
m_CurrentTextMod
;
public
:
DialogEditModuleText
(
WinEDA_BasePcbFrame
*
parent
,
TEXTE_MODULE
*
TextMod
,
wxDC
*
DC
);
~
DialogEditModuleText
()
{};
DialogEditModuleText
(
WinEDA_BasePcbFrame
*
parent
,
TEXTE_MODULE
*
TextMod
,
wxDC
*
DC
);
~
DialogEditModuleText
()
{};
private
:
void
OnInitDialog
(
wxInitDialogEvent
&
event
);
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
);
void
OnInitDialog
(
wxInitDialogEvent
&
event
);
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
);
};
/***************************************************************************/
...
...
@@ -53,7 +53,7 @@ void WinEDA_BasePcbFrame::InstallTextModOptionsFrame( TEXTE_MODULE* TextMod,
DialogEditModuleText
::
DialogEditModuleText
(
WinEDA_BasePcbFrame
*
parent
,
TEXTE_MODULE
*
TextMod
,
wxDC
*
DC
)
:
DialogEditModuleText_base
(
parent
)
DialogEditModuleText_base
(
parent
)
{
m_Parent
=
parent
;
...
...
@@ -78,7 +78,7 @@ void DialogEditModuleText::OnInitDialog( wxInitDialogEvent& event )
/********************************************************/
{
SetFont
(
*
g_DialogFont
);
SetFocus
();
SetFocus
();
wxString
msg
;
...
...
@@ -123,8 +123,8 @@ void DialogEditModuleText::OnInitDialog( wxInitDialogEvent& event )
PutValueInLocalUnits
(
*
m_TxtWidthCtlr
,
m_CurrentTextMod
->
m_Width
,
m_Parent
->
m_InternalUnits
);
int
text_orient
=
m_CurrentTextMod
->
m_Orient
;
NORMALIZE_ANGLE_90
(
text_orient
)
int
text_orient
=
m_CurrentTextMod
->
m_Orient
;
NORMALIZE_ANGLE_90
(
text_orient
)
if
(
(
text_orient
!=
0
)
)
m_Orient
->
SetSelection
(
1
);
...
...
@@ -142,7 +142,7 @@ void DialogEditModuleText::OnOkClick( wxCommandEvent& event )
{
wxString
msg
;
m_Parent
->
SaveCopyInUndoList
(
m_Parent
->
m_Pcb
->
m_Modules
);
m_Parent
->
SaveCopyInUndoList
(
m_Parent
->
GetBoard
()
->
m_Modules
);
if
(
m_DC
)
//Erase old text on screen
{
m_CurrentTextMod
->
Draw
(
m_Parent
->
DrawPanel
,
m_DC
,
GR_XOR
,
...
...
@@ -150,7 +150,7 @@ void DialogEditModuleText::OnOkClick( wxCommandEvent& event )
}
m_CurrentTextMod
->
m_Text
=
m_Name
->
GetValue
();
m_CurrentTextMod
->
m_Italic
=
m_Style
->
GetSelection
()
==
1
?
true
:
false
;
m_CurrentTextMod
->
m_Italic
=
m_Style
->
GetSelection
()
==
1
?
true
:
false
;
msg
=
m_TxtPosCtrlX
->
GetValue
();
...
...
@@ -179,13 +179,13 @@ void DialogEditModuleText::OnOkClick( wxCommandEvent& event )
// Test for a reasonnable width:
if
(
width
<=
1
)
width
=
1
;
int
minthickness
=
min
(
m_CurrentTextMod
->
m_Size
.
x
,
m_CurrentTextMod
->
m_Size
.
y
)
/
4
;
int
minthickness
=
min
(
m_CurrentTextMod
->
m_Size
.
x
,
m_CurrentTextMod
->
m_Size
.
y
)
/
4
;
if
(
width
>
minthickness
)
width
=
minthickness
;
m_CurrentTextMod
->
SetWidth
(
width
);
m_CurrentTextMod
->
m_NoShow
=
(
m_Show
->
GetSelection
()
==
0
)
?
0
:
1
;
int
text_orient
=
(
m_Orient
->
GetSelection
()
==
0
)
?
0
:
900
;
int
text_orient
=
(
m_Orient
->
GetSelection
()
==
0
)
?
0
:
900
;
m_CurrentTextMod
->
m_Orient
=
text_orient
;
m_CurrentTextMod
->
SetDrawCoord
();
...
...
pcbnew/dialog_graphic_item_properties.cpp
View file @
b6035803
...
...
@@ -28,22 +28,22 @@ private:
DRAWSEGMENT
*
m_Item
;
public
:
DialogGraphicItemProperties
(
WinEDA_BasePcbFrame
*
aParent
,
DRAWSEGMENT
*
aItem
,
wxDC
*
aDC
);
~
DialogGraphicItemProperties
()
{};
DialogGraphicItemProperties
(
WinEDA_BasePcbFrame
*
aParent
,
DRAWSEGMENT
*
aItem
,
wxDC
*
aDC
);
~
DialogGraphicItemProperties
()
{};
private
:
void
OnInitDialog
(
wxInitDialogEvent
&
event
);
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
);
void
OnLayerChoice
(
wxCommandEvent
&
event
);
void
OnInitDialog
(
wxInitDialogEvent
&
event
);
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
);
void
OnLayerChoice
(
wxCommandEvent
&
event
);
};
DialogGraphicItemProperties
::
DialogGraphicItemProperties
(
WinEDA_BasePcbFrame
*
aParent
,
DRAWSEGMENT
*
aItem
,
wxDC
*
aDC
)
:
DialogGraphicItemProperties_base
(
aParent
)
DialogGraphicItemProperties_base
(
aParent
)
{
m_Parent
=
aParent
;
m_DC
=
aDC
;
m_Item
=
aItem
;
m_Parent
=
aParent
;
m_DC
=
aDC
;
m_Item
=
aItem
;
}
...
...
@@ -67,40 +67,40 @@ void DialogGraphicItemProperties::OnInitDialog( wxInitDialogEvent& event )
*/
{
SetFont
(
*
g_DialogFont
);
SetFocus
();
wxString
msg
;
// Change texts according to the segment shape:
switch
(
m_Item
->
m_Shape
)
{
case
S_CIRCLE
:
m_Start_Center_XText
->
SetLabel
(
_
(
"Center X"
));
m_Start_Center_YText
->
SetLabel
(
_
(
"Center Y"
));
m_EndX_Radius_Text
->
SetLabel
(
_
(
"Point X"
));
m_EndY_Text
->
SetLabel
(
_
(
"Point Y"
));
m_Angle_Text
->
Show
(
false
);
m_Angle_Ctrl
->
Show
(
false
);
break
;
case
S_ARC
:
m_Start_Center_XText
->
SetLabel
(
_
(
"Center X"
));
m_Start_Center_YText
->
SetLabel
(
_
(
"Center Y"
));
m_EndX_Radius_Text
->
SetLabel
(
_
(
"Start Point X"
));
m_EndY_Text
->
SetLabel
(
_
(
"Start Point Y"
));
msg
<<
m_Item
->
m_Angle
;
m_Angle_Ctrl
->
SetValue
(
msg
);
break
;
default
:
m_Angle_Text
->
Show
(
false
);
m_Angle_Ctrl
->
Show
(
false
);
break
;
}
SetFocus
();
wxString
msg
;
// Change texts according to the segment shape:
switch
(
m_Item
->
m_Shape
)
{
case
S_CIRCLE
:
m_Start_Center_XText
->
SetLabel
(
_
(
"Center X"
));
m_Start_Center_YText
->
SetLabel
(
_
(
"Center Y"
));
m_EndX_Radius_Text
->
SetLabel
(
_
(
"Point X"
));
m_EndY_Text
->
SetLabel
(
_
(
"Point Y"
));
m_Angle_Text
->
Show
(
false
);
m_Angle_Ctrl
->
Show
(
false
);
break
;
case
S_ARC
:
m_Start_Center_XText
->
SetLabel
(
_
(
"Center X"
));
m_Start_Center_YText
->
SetLabel
(
_
(
"Center Y"
));
m_EndX_Radius_Text
->
SetLabel
(
_
(
"Start Point X"
));
m_EndY_Text
->
SetLabel
(
_
(
"Start Point Y"
));
msg
<<
m_Item
->
m_Angle
;
m_Angle_Ctrl
->
SetValue
(
msg
);
break
;
default
:
m_Angle_Text
->
Show
(
false
);
m_Angle_Ctrl
->
Show
(
false
);
break
;
}
AddUnitSymbol
(
*
m_Start_Center_XText
);
PutValueInLocalUnits
(
*
m_Center_StartXCtrl
,
m_Item
->
m_Start
.
x
,
m_Parent
->
m_InternalUnits
);
AddUnitSymbol
(
*
m_Start_Center_YText
);
AddUnitSymbol
(
*
m_Start_Center_YText
);
PutValueInLocalUnits
(
*
m_Center_StartYCtrl
,
m_Item
->
m_Start
.
y
,
m_Parent
->
m_InternalUnits
);
...
...
@@ -108,16 +108,16 @@ void DialogGraphicItemProperties::OnInitDialog( wxInitDialogEvent& event )
PutValueInLocalUnits
(
*
m_EndX_Radius_Ctrl
,
m_Item
->
m_End
.
x
,
m_Parent
->
m_InternalUnits
);
AddUnitSymbol
(
*
m_EndY_Text
);
AddUnitSymbol
(
*
m_EndY_Text
);
PutValueInLocalUnits
(
*
m_EndY_Ctrl
,
m_Item
->
m_End
.
y
,
m_Parent
->
m_InternalUnits
);
AddUnitSymbol
(
*
m_ItemThicknessText
);
AddUnitSymbol
(
*
m_ItemThicknessText
);
PutValueInLocalUnits
(
*
m_ThicknessCtrl
,
m_Item
->
m_Width
,
m_Parent
->
m_InternalUnits
);
AddUnitSymbol
(
*
m_DefaultThicknessText
);
int
thickness
;
AddUnitSymbol
(
*
m_DefaultThicknessText
);
int
thickness
;
if
(
m_Item
->
GetLayer
()
==
EDGE_N
)
thickness
=
g_DesignSettings
.
m_EdgeSegmentWidth
;
else
...
...
@@ -127,15 +127,15 @@ void DialogGraphicItemProperties::OnInitDialog( wxInitDialogEvent& event )
for
(
int
layer
=
FIRST_NO_COPPER_LAYER
;
layer
<=
LAST_NO_COPPER_LAYER
;
++
layer
)
{
m_LayerSelection
->
Append
(
m_Parent
->
m_Pcb
->
GetLayerName
(
layer
)
);
m_LayerSelection
->
Append
(
m_Parent
->
GetBoard
()
->
GetLayerName
(
layer
)
);
}
int
layer
=
m_Item
->
GetLayer
();
// Control:
if
(
layer
<
FIRST_NO_COPPER_LAYER
)
layer
=
FIRST_NO_COPPER_LAYER
;
if
(
layer
>
LAST_NO_COPPER_LAYER
)
layer
=
LAST_NO_COPPER_LAYER
;
int
layer
=
m_Item
->
GetLayer
();
// Control:
if
(
layer
<
FIRST_NO_COPPER_LAYER
)
layer
=
FIRST_NO_COPPER_LAYER
;
if
(
layer
>
LAST_NO_COPPER_LAYER
)
layer
=
LAST_NO_COPPER_LAYER
;
m_LayerSelection
->
SetSelection
(
layer
-
FIRST_NO_COPPER_LAYER
);
...
...
@@ -146,7 +146,7 @@ void DialogGraphicItemProperties::OnInitDialog( wxInitDialogEvent& event )
void
DialogGraphicItemProperties
::
OnLayerChoice
(
wxCommandEvent
&
event
)
/*******************************************************************/
{
int
thickness
;
int
thickness
;
if
(
(
m_LayerSelection
->
GetCurrentSelection
()
+
FIRST_NO_COPPER_LAYER
)
==
EDGE_N
)
thickness
=
g_DesignSettings
.
m_EdgeSegmentWidth
;
else
...
...
@@ -161,9 +161,9 @@ void DialogGraphicItemProperties::OnOkClick( wxCommandEvent& event )
/* Copy values in text contro to the item parameters
*/
{
wxString
msg
;
wxString
msg
;
if
(
m_DC
)
m_Item
->
Draw
(
m_Parent
->
DrawPanel
,
m_DC
,
GR_XOR
);
m_Item
->
Draw
(
m_Parent
->
DrawPanel
,
m_DC
,
GR_XOR
);
msg
=
m_Center_StartXCtrl
->
GetValue
();
m_Item
->
m_Start
.
x
=
ReturnValueFromString
(
g_UnitMetric
,
msg
,
...
...
@@ -191,29 +191,29 @@ void DialogGraphicItemProperties::OnOkClick( wxCommandEvent& event )
m_Item
->
SetLayer
(
m_LayerSelection
->
GetCurrentSelection
()
+
FIRST_NO_COPPER_LAYER
);
if
(
m_Item
->
GetLayer
()
==
EDGE_N
)
if
(
m_Item
->
GetLayer
()
==
EDGE_N
)
g_DesignSettings
.
m_EdgeSegmentWidth
=
thickness
;
else
g_DesignSettings
.
m_DrawSegmentWidth
=
thickness
;
if
(
m_Item
->
m_Shape
==
S_ARC
)
{
long
angle
;
m_Angle_Ctrl
->
GetValue
().
ToLong
(
&
angle
);
NORMALIZE_ANGLE
(
angle
);
m_Item
->
m_Angle
=
angle
;
}
if
(
m_Item
->
m_Shape
==
S_ARC
)
{
long
angle
;
m_Angle_Ctrl
->
GetValue
().
ToLong
(
&
angle
);
NORMALIZE_ANGLE
(
angle
);
m_Item
->
m_Angle
=
angle
;
}
m_Parent
->
GetScreen
()
->
SetModify
();
if
(
m_DC
)
m_Item
->
Draw
(
m_Parent
->
DrawPanel
,
m_DC
,
GR_OR
);
m_Item
->
Draw
(
m_Parent
->
DrawPanel
,
m_DC
,
GR_OR
);
m_Item
->
Display_Infos
(
m_Parent
);
Close
(
TRUE
);
Close
(
TRUE
);
}
void
DialogGraphicItemProperties
::
OnCancelClick
(
wxCommandEvent
&
event
)
{
event
.
Skip
();
event
.
Skip
();
}
pcbnew/dialog_netlist.cpp
View file @
b6035803
...
...
@@ -356,7 +356,7 @@ void WinEDA_NetlistFrame::OnReadNetlistFileClick( wxCommandEvent& event )
void
WinEDA_NetlistFrame
::
OnTestNetlistClick
(
wxCommandEvent
&
event
)
{
TestFor_Duplicate_Missing_And_Extra_Footprints
(
this
,
m_NetlistFilenameCtrl
->
GetValue
(),
m_Parent
->
m_Pcb
);
TestFor_Duplicate_Missing_And_Extra_Footprints
(
this
,
m_NetlistFilenameCtrl
->
GetValue
(),
m_Parent
->
GetBoard
()
);
}
...
...
pcbnew/dialog_orient_footprints.cpp
View file @
b6035803
...
...
@@ -248,7 +248,6 @@ void WinEDA_PcbFrame::ReOrientModules( const wxString& ModuleMask,
* @param include_fixe = true to orient locked footprints
*/
{
MODULE
*
Module
;
wxString
line
;
bool
redraw
=
false
;
...
...
@@ -256,17 +255,16 @@ void WinEDA_PcbFrame::ReOrientModules( const wxString& ModuleMask,
if
(
!
IsOK
(
this
,
line
)
)
return
;
Module
=
m_Pcb
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
Module
->
Next
()
)
for
(
MODULE
*
module
=
GetBoard
()
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
{
if
(
M
odule
->
IsLocked
()
&&
!
include_fixe
)
if
(
m
odule
->
IsLocked
()
&&
!
include_fixe
)
continue
;
if
(
WildCompareString
(
ModuleMask
,
M
odule
->
m_Reference
->
m_Text
,
FALSE
)
)
if
(
WildCompareString
(
ModuleMask
,
m
odule
->
m_Reference
->
m_Text
,
FALSE
)
)
{
GetScreen
()
->
SetModify
();
redraw
=
true
;
Rotate_Module
(
NULL
,
M
odule
,
Orient
,
FALSE
);
Rotate_Module
(
NULL
,
m
odule
,
Orient
,
FALSE
);
}
}
...
...
pcbnew/dialog_pad_properties.cpp
View file @
b6035803
...
...
@@ -475,7 +475,7 @@ void DialogPadProperties::PadPropertiesAccept( wxCommandEvent& event )
if
(
m_CurrentPad
)
// Set Pad Name & Num
{
m_Parent
->
SaveCopyInUndoList
(
m_Parent
->
m_Pcb
->
m_Modules
);
m_Parent
->
SaveCopyInUndoList
(
m_Parent
->
GetBoard
()
->
m_Modules
);
MODULE
*
Module
=
(
MODULE
*
)
m_CurrentPad
->
GetParent
();
Module
->
m_LastEdit_Time
=
time
(
NULL
);
...
...
@@ -515,13 +515,13 @@ void DialogPadProperties::PadPropertiesAccept( wxCommandEvent& event )
if
(
m_CurrentPad
->
GetNetname
()
!=
Current_PadNetName
)
{
if
(
Current_PadNetName
.
IsEmpty
()
)
{
{
m_CurrentPad
->
SetNet
(
0
);
m_CurrentPad
->
SetNetname
(
Current_PadNetName
);
}
}
else
{
const
EQUIPOT
*
net
=
m_Parent
->
m_Pcb
->
FindNet
(
Current_PadNetName
);
const
EQUIPOT
*
net
=
m_Parent
->
GetBoard
()
->
FindNet
(
Current_PadNetName
);
if
(
net
)
{
RastnestIsChanged
=
true
;
...
...
@@ -585,5 +585,5 @@ void DialogPadProperties::PadPropertiesAccept( wxCommandEvent& event )
if
(
m_DC
)
m_Parent
->
DrawPanel
->
CursorOn
(
m_DC
);
if
(
RastnestIsChanged
)
// The net ratsnest must be recalculated
m_Parent
->
m_Pcb
->
m_Status_Pcb
=
0
;
m_Parent
->
GetBoard
()
->
m_Status_Pcb
=
0
;
}
pcbnew/dialog_pcb_text_properties.cpp
View file @
b6035803
...
...
@@ -75,7 +75,7 @@ WinEDA_TextPCBPropertiesFrame::WinEDA_TextPCBPropertiesFrame( WinEDA_PcbFrame* p
/************************************************************************************/
{
wxButton
*
Button
;
BOARD
*
board
=
parent
->
m_Pcb
;
BOARD
*
board
=
parent
->
GetBoard
()
;
m_Parent
=
parent
;
...
...
@@ -170,14 +170,14 @@ WinEDA_TextPCBPropertiesFrame::WinEDA_TextPCBPropertiesFrame( WinEDA_PcbFrame* p
m_Mirror
->
SetSelection
(
1
);
MiddleBoxSizer
->
Add
(
m_Mirror
,
0
,
wxGROW
|
wxALL
,
5
);
int
style
=
0
;
if
(
CurrentTextPCB
->
m_Italic
)
style
=
1
;
int
style
=
0
;
if
(
CurrentTextPCB
->
m_Italic
)
style
=
1
;
wxString
style_msg
[]
=
{
_
(
"Normal"
),
_
(
"Italic"
)
};
m_Style
=
new
wxRadioBox
(
this
,
-
1
,
_
(
"Style"
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
2
,
style_msg
,
1
,
wxRA_SPECIFY_COLS
);
m_Style
->
SetSelection
(
style
);
m_Style
->
SetSelection
(
style
);
MiddleBoxSizer
->
Add
(
m_Style
,
0
,
wxGROW
|
wxALL
,
5
);
GetSizer
()
->
Fit
(
this
);
...
...
@@ -222,15 +222,15 @@ void WinEDA_TextPCBPropertiesFrame::OnOkClick( wxCommandEvent& event )
CurrentTextPCB
->
m_Width
=
m_TxtWidthCtlr
->
GetValue
();
// test for acceptable values for parameters:
int
max_tickness
=
min
(
CurrentTextPCB
->
m_Size
.
x
,
CurrentTextPCB
->
m_Size
.
y
);
max_tickness
/=
4
;
int
max_tickness
=
min
(
CurrentTextPCB
->
m_Size
.
x
,
CurrentTextPCB
->
m_Size
.
y
);
max_tickness
/=
4
;
if
(
CurrentTextPCB
->
m_Width
>
max_tickness
)
CurrentTextPCB
->
m_Width
=
max_tickness
;
CurrentTextPCB
->
m_Mirror
=
(
m_Mirror
->
GetSelection
()
==
1
)
?
true
:
false
;
CurrentTextPCB
->
m_Orient
=
m_Orient
->
GetSelection
()
*
900
;
CurrentTextPCB
->
SetLayer
(
m_SelLayerBox
->
GetChoice
()
);
CurrentTextPCB
->
m_Italic
=
m_Style
->
GetSelection
()
?
1
:
0
;
CurrentTextPCB
->
m_Italic
=
m_Style
->
GetSelection
()
?
1
:
0
;
if
(
m_DC
)
// Displya new text
{
...
...
pcbnew/dragsegm.cpp
View file @
b6035803
...
...
@@ -123,7 +123,7 @@ void Build_1_Pad_SegmentsToDrag( WinEDA_DrawPanel* panel, wxDC* DC, D_PAD* PtPad
int
net_code
=
PtPad
->
GetNet
();
int
MasqueLayer
;
wxPoint
pos
;
BOARD
*
pcb
=
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
m_Pcb
;
BOARD
*
pcb
=
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
GetBoard
()
;
Track
=
pcb
->
m_Track
->
GetStartNetCode
(
net_code
);
...
...
@@ -196,7 +196,7 @@ void Collect_TrackSegmentsToDrag( WinEDA_DrawPanel* panel, wxDC* DC,
* Les net_codes sont supposes a jour.
*/
{
BOARD
*
pcb
=
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
m_Pcb
;
BOARD
*
pcb
=
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
GetBoard
()
;
TRACK
*
track
=
pcb
->
m_Track
->
GetStartNetCode
(
net_code
);
for
(
;
track
;
track
=
track
->
Next
()
)
...
...
pcbnew/drc.cpp
View file @
b6035803
...
...
@@ -101,7 +101,7 @@ DRC::DRC( WinEDA_PcbFrame* aPcbWindow )
{
m_mainWindow
=
aPcbWindow
;
m_drawPanel
=
aPcbWindow
->
DrawPanel
;
m_pcb
=
aPcbWindow
->
m_Pcb
;
m_pcb
=
aPcbWindow
->
GetBoard
()
;
m_ui
=
0
;
// establish initial values for everything:
...
...
@@ -227,7 +227,7 @@ void DRC::updatePointers()
{
// update my pointers, m_mainWindow is the only unchangable one
m_drawPanel
=
m_mainWindow
->
DrawPanel
;
m_pcb
=
m_mainWindow
->
m_Pcb
;
m_pcb
=
m_mainWindow
->
GetBoard
()
;
if
(
m_ui
)
// Use diag list boxes only in DRC dialog
{
...
...
pcbnew/edgemod.cpp
View file @
b6035803
...
...
@@ -153,7 +153,7 @@ void WinEDA_ModuleEditFrame::Edit_Edge_Width( EDGE_MODULE* Edge, wxDC* DC )
* @param DC = current Device Context
*/
{
MODULE
*
Module
=
m_Pcb
->
m_Modules
;
MODULE
*
Module
=
GetBoard
()
->
m_Modules
;
SaveCopyInUndoList
(
Module
);
...
...
@@ -187,7 +187,7 @@ void WinEDA_ModuleEditFrame::Edit_Edge_Layer( EDGE_MODULE* Edge, wxDC* DC )
* @param DC = current Device Context
*/
{
MODULE
*
Module
=
m_Pcb
->
m_Modules
;
MODULE
*
Module
=
GetBoard
()
->
m_Modules
;
int
new_layer
=
SILKSCREEN_N_CMP
;
if
(
Edge
!=
NULL
)
new_layer
=
Edge
->
GetLayer
();
...
...
@@ -255,7 +255,7 @@ void WinEDA_ModuleEditFrame::Enter_Edge_Width( EDGE_MODULE* Edge, wxDC* DC )
}
if
(
Edge
)
{
MODULE
*
Module
=
m_Pcb
->
m_Modules
;
MODULE
*
Module
=
GetBoard
()
->
m_Modules
;
Module
->
DrawEdgesOnly
(
DrawPanel
,
DC
,
wxPoint
(
0
,
0
),
GR_XOR
);
Edge
->
m_Width
=
ModuleSegmentWidth
;
Module
->
DrawEdgesOnly
(
DrawPanel
,
DC
,
wxPoint
(
0
,
0
),
GR_XOR
);
...
...
@@ -335,7 +335,7 @@ EDGE_MODULE* WinEDA_ModuleEditFrame::Begin_Edge_Module( EDGE_MODULE* Edge,
* @return the new created edge.
*/
{
MODULE
*
module
=
m_Pcb
->
m_Modules
;
MODULE
*
module
=
GetBoard
()
->
m_Modules
;
int
angle
=
0
;
if
(
module
==
NULL
)
...
...
@@ -439,7 +439,7 @@ void WinEDA_ModuleEditFrame::End_Edge_Module( EDGE_MODULE* Edge, wxDC* DC )
/* Terminate a move or create edge function
*/
{
MODULE
*
Module
=
m_Pcb
->
m_Modules
;
MODULE
*
Module
=
GetBoard
()
->
m_Modules
;
/* If last segment length is 0: deletion */
if
(
Edge
)
...
...
pcbnew/edit.cpp
View file @
b6035803
...
...
@@ -257,7 +257,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
case
ID_TRACK_BUTT
:
SetToolID
(
id
,
wxCURSOR_PENCIL
,
_
(
"Add Tracks"
)
);
DisplayTrackSettings
();
if
(
(
m_Pcb
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
if
(
(
GetBoard
()
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
{
Compile_Ratsnest
(
&
dc
,
TRUE
);
}
...
...
@@ -307,7 +307,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
case
ID_PCB_SHOW_1_RATSNEST_BUTT
:
SetToolID
(
id
,
wxCURSOR_HAND
,
_
(
"Local Ratsnest"
)
);
if
(
(
m_Pcb
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
if
(
(
GetBoard
()
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
Compile_Ratsnest
(
&
dc
,
TRUE
);
break
;
...
...
@@ -564,10 +564,10 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_POPUP_PCB_REMOVE_FILLED_AREAS_IN_ALL_ZONES
:
// Remove all zones :
m_Pcb
->
m_Zone
.
DeleteAll
();
for
(
int
ii
=
0
;
ii
<
m_Pcb
->
GetAreaCount
();
ii
++
)
GetBoard
()
->
m_Zone
.
DeleteAll
();
for
(
int
ii
=
0
;
ii
<
GetBoard
()
->
GetAreaCount
();
ii
++
)
{
ZONE_CONTAINER
*
zone_container
=
m_Pcb
->
GetArea
(
ii
);
ZONE_CONTAINER
*
zone_container
=
GetBoard
()
->
GetArea
(
ii
);
zone_container
->
m_FilledPolysList
.
clear
();;
}
...
...
@@ -666,7 +666,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
SetCurItem
(
GetCurItem
()
->
GetParent
()
);
if
(
!
GetCurItem
()
||
GetCurItem
()
->
Type
()
!=
TYPE_MODULE
)
break
;
m_Pcb
->
Change_Side_Module
(
(
MODULE
*
)
GetCurItem
(),
&
dc
);
GetBoard
()
->
Change_Side_Module
(
(
MODULE
*
)
GetCurItem
(),
&
dc
);
break
;
case
ID_POPUP_PCB_EDIT_MODULE
:
...
...
@@ -842,7 +842,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_POPUP_PCB_EDIT_DRAWING
:
InstallGraphicItemPropertiesDialog
(
(
DRAWSEGMENT
*
)
GetCurItem
(),
&
dc
);
InstallGraphicItemPropertiesDialog
(
(
DRAWSEGMENT
*
)
GetCurItem
(),
&
dc
);
DrawPanel
->
MouseToCursorSchema
();
break
;
...
...
@@ -1107,7 +1107,7 @@ void WinEDA_PcbFrame::RemoveStruct( BOARD_ITEM* Item, wxDC* DC )
(
(
MARKER
*
)
Item
)
->
Draw
(
DrawPanel
,
DC
,
GR_XOR
);
// delete the marker, and free memory. Don't use undelete stack.
m_Pcb
->
Delete
(
Item
);
GetBoard
()
->
Delete
(
Item
);
break
;
case
TYPE_PAD
:
...
...
@@ -1147,7 +1147,7 @@ void WinEDA_PcbFrame::SwitchLayer( wxDC* DC, int layer )
// If only one copper layer is enabled, the only such layer
// that can be selected to is the "Copper" layer (so the
// selection of any other copper layer is disregarded).
if
(
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
<
2
)
if
(
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
<
2
)
{
if
(
layer
!=
COPPER_LAYER_N
)
{
...
...
@@ -1166,7 +1166,7 @@ void WinEDA_PcbFrame::SwitchLayer( wxDC* DC, int layer )
else
{
if
(
(
layer
!=
COPPER_LAYER_N
)
&&
(
layer
!=
LAYER_CMP_N
)
&&
(
layer
>=
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
-
1
)
)
&&
(
layer
>=
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
-
1
)
)
{
// Uncomment following command (and line 17) to beep
// the speaker. (Doing that would provide feedback to
...
...
pcbnew/edit_pcb_text.cpp
View file @
b6035803
...
...
@@ -130,10 +130,10 @@ TEXTE_PCB* WinEDA_PcbFrame::Create_Texte_Pcb( wxDC* DC )
{
TEXTE_PCB
*
TextePcb
;
TextePcb
=
new
TEXTE_PCB
(
m_Pcb
);
TextePcb
=
new
TEXTE_PCB
(
GetBoard
()
);
/* Chainage de la nouvelle structure en debut de liste */
m_Pcb
->
Add
(
TextePcb
);
GetBoard
()
->
Add
(
TextePcb
);
/* Mise a jour des caracteristiques */
TextePcb
->
m_Flags
=
IS_NEW
;
...
...
pcbnew/edit_track_width.cpp
View file @
b6035803
...
...
@@ -41,7 +41,7 @@ int WinEDA_PcbFrame::Edit_TrackSegm_Width( wxDC* DC, TRACK* pt_segm )
if
(
old_w
<
consigne
)
/* DRC utile puisque augm de dimension */
{
if
(
Drc_On
)
errdrc
=
m_drc
->
Drc
(
pt_segm
,
m_Pcb
->
m_Track
);
errdrc
=
m_drc
->
Drc
(
pt_segm
,
GetBoard
()
->
m_Track
);
if
(
errdrc
==
BAD_DRC
)
pt_segm
->
m_Width
=
old_w
;
else
...
...
@@ -97,7 +97,7 @@ void WinEDA_PcbFrame::Edit_Net_Width( wxDC* DC, int Netcode )
return
;
/* balayage des segments */
for
(
pt_segm
=
m_Pcb
->
m_Track
;
pt_segm
!=
NULL
;
pt_segm
=
pt_segm
->
Next
()
)
for
(
pt_segm
=
GetBoard
()
->
m_Track
;
pt_segm
!=
NULL
;
pt_segm
=
pt_segm
->
Next
()
)
{
if
(
Netcode
!=
pt_segm
->
GetNet
()
)
/* mauvaise piste */
continue
;
...
...
@@ -141,7 +141,7 @@ bool WinEDA_PcbFrame::Resize_Pistes_Vias( wxDC* DC, bool Track, bool Via )
return
FALSE
;
}
pt_segm
=
m_Pcb
->
m_Track
;
pt_segm
=
GetBoard
()
->
m_Track
;
for
(
;
pt_segm
!=
NULL
;
pt_segm
=
pt_segm
->
Next
()
)
{
if
(
pt_segm
->
Type
()
==
TYPE_VIA
)
/* mise a jour du diametre de la via */
...
...
pcbnew/editedge.cpp
View file @
b6035803
...
...
@@ -144,12 +144,12 @@ void WinEDA_PcbFrame::Delete_Drawings_All_Layer( DRAWSEGMENT* Segment, wxDC* DC
return
;
}
wxString
msg
=
_
(
"Delete Layer "
)
+
m_Pcb
->
GetLayerName
(
layer
);
wxString
msg
=
_
(
"Delete Layer "
)
+
GetBoard
()
->
GetLayerName
(
layer
);
if
(
!
IsOK
(
this
,
msg
)
)
return
;
BOARD_ITEM
*
PtNext
;
for
(
BOARD_ITEM
*
item
=
m_Pcb
->
m_Drawings
;
item
;
item
=
PtNext
)
for
(
BOARD_ITEM
*
item
=
GetBoard
()
->
m_Drawings
;
item
;
item
=
PtNext
)
{
GetScreen
()
->
SetModify
();
PtNext
=
item
->
Next
();
...
...
@@ -227,7 +227,7 @@ DRAWSEGMENT* WinEDA_PcbFrame::Begin_DrawSegment( DRAWSEGMENT* Segment,
if
(
Segment
==
NULL
)
/* debut reel du trace */
{
SetCurItem
(
Segment
=
new
DRAWSEGMENT
(
m_Pcb
)
);
SetCurItem
(
Segment
=
new
DRAWSEGMENT
(
GetBoard
()
)
);
Segment
->
m_Flags
=
IS_NEW
;
Segment
->
SetLayer
(
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
);
Segment
->
m_Width
=
s_large
;
...
...
@@ -244,7 +244,7 @@ DRAWSEGMENT* WinEDA_PcbFrame::Begin_DrawSegment( DRAWSEGMENT* Segment,
{
if
(
Segment
->
m_Shape
==
S_SEGMENT
)
{
m_Pcb
->
Add
(
Segment
);
GetBoard
()
->
Add
(
Segment
);
GetScreen
()
->
SetModify
();
Segment
->
m_Flags
=
0
;
...
...
@@ -253,7 +253,7 @@ DRAWSEGMENT* WinEDA_PcbFrame::Begin_DrawSegment( DRAWSEGMENT* Segment,
DrawItem
=
Segment
;
SetCurItem
(
Segment
=
new
DRAWSEGMENT
(
m_Pcb
)
);
SetCurItem
(
Segment
=
new
DRAWSEGMENT
(
GetBoard
()
)
);
Segment
->
m_Flags
=
IS_NEW
;
Segment
->
SetLayer
(
DrawItem
->
GetLayer
()
);
...
...
@@ -292,7 +292,7 @@ void WinEDA_PcbFrame::End_Edge( DRAWSEGMENT* Segment, wxDC* DC )
{
Segment
->
m_Flags
=
0
;
m_Pcb
->
Add
(
Segment
);
GetBoard
()
->
Add
(
Segment
);
GetScreen
()
->
SetModify
();
}
...
...
pcbnew/editrack-part2.cpp
View file @
b6035803
...
...
@@ -46,7 +46,7 @@ void WinEDA_PcbFrame::Ratsnest_On_Off( wxDC* DC )
int
ii
;
CHEVELU
*
pt_chevelu
;
if
(
(
m_Pcb
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
if
(
(
GetBoard
()
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
{
if
(
g_Show_Ratsnest
)
Compile_Ratsnest
(
DC
,
TRUE
);
...
...
@@ -55,13 +55,13 @@ void WinEDA_PcbFrame::Ratsnest_On_Off( wxDC* DC )
DrawGeneralRatsnest
(
DC
,
0
);
/* effacement eventuel du chevelu affiche */
pt_chevelu
=
m_Pcb
->
m_Ratsnest
;
pt_chevelu
=
GetBoard
()
->
m_Ratsnest
;
if
(
pt_chevelu
==
NULL
)
return
;
if
(
g_Show_Ratsnest
)
{
for
(
ii
=
m_Pcb
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
for
(
ii
=
GetBoard
()
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
{
pt_chevelu
->
status
|=
CH_VISIBLE
;
}
...
...
@@ -70,7 +70,7 @@ void WinEDA_PcbFrame::Ratsnest_On_Off( wxDC* DC )
}
else
{
for
(
ii
=
m_Pcb
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
for
(
ii
=
GetBoard
()
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
{
pt_chevelu
->
status
&=
~
CH_VISIBLE
;
}
...
...
@@ -123,7 +123,7 @@ void WinEDA_PcbFrame::ExChange_Track_Layer( TRACK* pt_segm, wxDC* DC )
else
if
(
pt_segm
->
GetLayer
()
==
l2
)
pt_segm
->
SetLayer
(
l1
);
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
pt_segm
,
m_Pcb
->
m_Track
)
)
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
pt_segm
,
GetBoard
()
->
m_Track
)
)
{
/* Annulation du changement */
ii
=
0
;
pt_segm
=
pt_track
;
...
...
@@ -143,8 +143,8 @@ void WinEDA_PcbFrame::ExChange_Track_Layer( TRACK* pt_segm, wxDC* DC )
ii
=
0
;
pt_segm
=
pt_track
;
for
(
;
ii
<
nb_segm
;
pt_segm
=
pt_segm
->
Next
(),
ii
++
)
{
pt_segm
->
start
=
Locate_Pad_Connecte
(
m_Pcb
,
pt_segm
,
START
);
pt_segm
->
end
=
Locate_Pad_Connecte
(
m_Pcb
,
pt_segm
,
END
);
pt_segm
->
start
=
Locate_Pad_Connecte
(
GetBoard
()
,
pt_segm
,
START
);
pt_segm
->
end
=
Locate_Pad_Connecte
(
GetBoard
()
,
pt_segm
,
END
);
}
test_1_net_connexion
(
DC
,
pt_track
->
GetNet
()
);
...
...
@@ -173,7 +173,7 @@ bool WinEDA_PcbFrame::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
}
/* Avoid more than one via on the current location: */
if
(
Locate_Via
(
m_Pcb
,
g_CurrentTrackSegment
->
m_End
,
g_CurrentTrackSegment
->
GetLayer
()
)
)
if
(
Locate_Via
(
GetBoard
()
,
g_CurrentTrackSegment
->
m_End
,
g_CurrentTrackSegment
->
GetLayer
()
)
)
return
false
;
for
(
TRACK
*
segm
=
g_FirstTrackSegment
;
segm
;
segm
=
segm
->
Next
()
)
...
...
@@ -185,13 +185,13 @@ bool WinEDA_PcbFrame::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
/* Is the current segment Ok (no DRC error) ? */
if
(
Drc_On
)
{
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
m_Pcb
->
m_Track
)
)
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
GetBoard
()
->
m_Track
)
)
/* DRC error, the change layer is not made */
return
false
;
if
(
g_TwoSegmentTrackBuild
&&
g_CurrentTrackSegment
->
Back
()
)
// We must handle 2 segments
{
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
->
Back
(),
m_Pcb
->
m_Track
)
)
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
->
Back
(),
GetBoard
()
->
m_Track
)
)
return
false
;
}
}
...
...
@@ -205,7 +205,7 @@ bool WinEDA_PcbFrame::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
DrawPanel
->
ManageCurseur
(
DrawPanel
,
DC
,
FALSE
);
/* create the via */
SEGVIA
*
via
=
new
SEGVIA
(
m_Pcb
);
SEGVIA
*
via
=
new
SEGVIA
(
GetBoard
()
);
via
->
m_Flags
=
IS_NEW
;
via
->
m_Shape
=
g_DesignSettings
.
m_CurrentViaType
;
via
->
m_Width
=
g_DesignSettings
.
m_CurrentViaSize
;
...
...
@@ -230,10 +230,10 @@ bool WinEDA_PcbFrame::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
if
(
old_layer
==
COPPER_LAYER_N
)
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
=
LAYER_N_2
;
else
if
(
old_layer
==
LAYER_CMP_N
)
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
=
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
-
2
;
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
=
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
-
2
;
else
if
(
old_layer
==
LAYER_N_2
)
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
=
COPPER_LAYER_N
;
else
if
(
old_layer
==
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
-
2
)
else
if
(
old_layer
==
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
-
2
)
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
=
LAYER_CMP_N
;
// else error
via
->
SetLayerPair
(
old_layer
,
((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
);
...
...
@@ -246,7 +246,7 @@ bool WinEDA_PcbFrame::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
break
;
}
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
via
,
m_Pcb
->
m_Track
)
)
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
via
,
GetBoard
()
->
m_Track
)
)
{
/* DRC fault: the Via cannot be placed here ... */
delete
via
;
...
...
@@ -326,9 +326,9 @@ void WinEDA_PcbFrame::Affiche_Status_Net( wxDC* DC )
TRACK
*
pt_segm
;
int
masquelayer
=
g_TabOneLayerMask
[((
PCB_SCREEN
*
)
GetScreen
())
->
m_Active_Layer
];
pt_segm
=
Locate_Pistes
(
m_Pcb
->
m_Track
,
masquelayer
,
CURSEUR_OFF_GRILLE
);
pt_segm
=
Locate_Pistes
(
GetBoard
()
->
m_Track
,
masquelayer
,
CURSEUR_OFF_GRILLE
);
if
(
pt_segm
==
NULL
)
m_Pcb
->
Display_Infos
(
this
);
GetBoard
()
->
Display_Infos
(
this
);
else
test_1_net_connexion
(
DC
,
pt_segm
->
GetNet
()
);
}
...
...
@@ -352,7 +352,7 @@ void WinEDA_PcbFrame::Show_1_Ratsnest( EDA_BaseStruct* item, wxDC* DC )
if
(
g_Show_Ratsnest
)
return
;
// Deja Affich�
if
(
(
m_Pcb
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
if
(
(
GetBoard
()
->
m_Status_Pcb
&
LISTE_CHEVELU_OK
)
==
0
)
{
Compile_Ratsnest
(
DC
,
TRUE
);
}
...
...
@@ -368,8 +368,8 @@ void WinEDA_PcbFrame::Show_1_Ratsnest( EDA_BaseStruct* item, wxDC* DC )
if
(
pt_pad
)
/* Affichage du chevelu du net correspondant */
{
pt_pad
->
Display_Infos
(
this
);
pt_chevelu
=
(
CHEVELU
*
)
m_Pcb
->
m_Ratsnest
;
for
(
ii
=
m_Pcb
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
pt_chevelu
=
(
CHEVELU
*
)
GetBoard
()
->
m_Ratsnest
;
for
(
ii
=
GetBoard
()
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
{
if
(
pt_chevelu
->
GetNet
()
==
pt_pad
->
GetNet
()
)
{
...
...
@@ -407,8 +407,8 @@ void WinEDA_PcbFrame::Show_1_Ratsnest( EDA_BaseStruct* item, wxDC* DC )
pt_pad
=
Module
->
m_Pads
;
for
(
;
pt_pad
!=
NULL
;
pt_pad
=
(
D_PAD
*
)
pt_pad
->
Next
()
)
{
pt_chevelu
=
(
CHEVELU
*
)
m_Pcb
->
m_Ratsnest
;
for
(
ii
=
m_Pcb
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
pt_chevelu
=
(
CHEVELU
*
)
GetBoard
()
->
m_Ratsnest
;
for
(
ii
=
GetBoard
()
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
{
if
(
(
pt_chevelu
->
pad_start
==
pt_pad
)
||
(
pt_chevelu
->
pad_end
==
pt_pad
)
)
...
...
@@ -441,9 +441,9 @@ void WinEDA_PcbFrame::Show_1_Ratsnest( EDA_BaseStruct* item, wxDC* DC )
if
(
(
pt_pad
==
NULL
)
&&
(
Module
==
NULL
)
)
{
DrawGeneralRatsnest
(
DC
);
pt_chevelu
=
(
CHEVELU
*
)
m_Pcb
->
m_Ratsnest
;
pt_chevelu
=
(
CHEVELU
*
)
GetBoard
()
->
m_Ratsnest
;
for
(
ii
=
m_Pcb
->
GetNumRatsnests
();
(
ii
>
0
)
&&
pt_chevelu
;
pt_chevelu
++
,
ii
--
)
for
(
ii
=
GetBoard
()
->
GetNumRatsnests
();
(
ii
>
0
)
&&
pt_chevelu
;
pt_chevelu
++
,
ii
--
)
pt_chevelu
->
status
&=
~
CH_VISIBLE
;
}
}
...
...
@@ -461,8 +461,8 @@ void WinEDA_PcbFrame::Affiche_PadsNoConnect( wxDC* DC )
CHEVELU
*
pt_chevelu
;
D_PAD
*
pt_pad
;
pt_chevelu
=
(
CHEVELU
*
)
m_Pcb
->
m_Ratsnest
;
for
(
ii
=
m_Pcb
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
pt_chevelu
=
(
CHEVELU
*
)
GetBoard
()
->
m_Ratsnest
;
for
(
ii
=
GetBoard
()
->
GetNumRatsnests
();
ii
>
0
;
pt_chevelu
++
,
ii
--
)
{
if
(
(
pt_chevelu
->
status
&
CH_ACTIF
)
==
0
)
continue
;
...
...
pcbnew/editrack.cpp
View file @
b6035803
...
...
@@ -107,13 +107,13 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
InitialTrackWidthValue
=
-
1
;
// Set to "no value"
g_CurrentTrackList
.
PushBack
(
new
TRACK
(
m_Pcb
)
);
g_CurrentTrackList
.
PushBack
(
new
TRACK
(
GetBoard
()
)
);
g_CurrentTrackSegment
->
m_Flags
=
IS_NEW
;
g_HightLigth_NetCode
=
0
;
// Search for a starting point of the new track, a track or pad
LockPoint
=
LocateLockPoint
(
m_Pcb
,
pos
,
masquelayer
);
LockPoint
=
LocateLockPoint
(
GetBoard
()
,
pos
,
masquelayer
);
if
(
LockPoint
)
// An item (pad or track) is found
{
...
...
@@ -135,7 +135,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
else
// no starting point, but a filled zone area can exist. This is also a good starting point.
{
ZONE_CONTAINER
*
zone
=
m_Pcb
->
HitTestForAnyFilledArea
(
pos
,
GetScreen
()
->
m_Active_Layer
);
ZONE_CONTAINER
*
zone
=
GetBoard
()
->
HitTestForAnyFilledArea
(
pos
,
GetScreen
()
->
m_Active_Layer
);
if
(
zone
)
g_HightLigth_NetCode
=
zone
->
GetNet
();
}
...
...
@@ -197,7 +197,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
if
(
Drc_On
)
{
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
m_Pcb
->
m_Track
)
)
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
GetBoard
()
->
m_Track
)
)
{
return
g_CurrentTrackSegment
;
}
...
...
@@ -210,13 +210,13 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
/* Tst for a D.R.C. error: */
if
(
Drc_On
)
{
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
m_Pcb
->
m_Track
)
)
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
GetBoard
()
->
m_Track
)
)
return
NULL
;
// We must handle 2 segments
if
(
g_TwoSegmentTrackBuild
&&
g_CurrentTrackSegment
->
Back
()
)
{
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
->
Back
(),
m_Pcb
->
m_Track
)
)
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
->
Back
(),
GetBoard
()
->
m_Track
)
)
return
NULL
;
}
}
...
...
@@ -254,7 +254,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
newTrack
->
SetState
(
BEGIN_ONPAD
|
END_ONPAD
,
OFF
);
oneBeforeLatest
->
end
=
Locate_Pad_Connecte
(
m_Pcb
,
oneBeforeLatest
,
END
);
oneBeforeLatest
->
end
=
Locate_Pad_Connecte
(
GetBoard
()
,
oneBeforeLatest
,
END
);
if
(
oneBeforeLatest
->
end
)
{
oneBeforeLatest
->
SetState
(
END_ONPAD
,
ON
);
...
...
@@ -365,7 +365,7 @@ bool WinEDA_PcbFrame::Add_45_degrees_Segment( wxDC* DC )
else
newTrack
->
m_End
.
x
-=
pas_45
;
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
curTrack
,
m_Pcb
->
m_Track
)
)
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
curTrack
,
GetBoard
()
->
m_Track
)
)
{
delete
newTrack
;
return
false
;
...
...
@@ -402,7 +402,7 @@ bool WinEDA_PcbFrame::Add_45_degrees_Segment( wxDC* DC )
else
newTrack
->
m_End
.
y
-=
pas_45
;
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
newTrack
,
m_Pcb
->
m_Track
)
)
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
newTrack
,
GetBoard
()
->
m_Track
)
)
{
delete
newTrack
;
return
false
;
...
...
@@ -432,7 +432,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
if
(
aTrack
==
NULL
)
return
;
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
m_Pcb
->
m_Track
)
)
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
GetBoard
()
->
m_Track
)
)
return
;
/* Sauvegarde des coord du point terminal de la piste */
...
...
@@ -464,7 +464,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
* ceci contribue a la reduction du temps de calcul */
/* Accrochage de la fin de la piste */
EDA_BaseStruct
*
LockPoint
=
LocateLockPoint
(
m_Pcb
,
pos
,
masquelayer
);
EDA_BaseStruct
*
LockPoint
=
LocateLockPoint
(
GetBoard
()
,
pos
,
masquelayer
);
if
(
LockPoint
)
/* La fin de la piste est sur un PAD */
{
...
...
@@ -487,7 +487,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
}
// Delete Null segments:
DeleteNullTrackSegments
(
m_Pcb
,
g_CurrentTrackList
);
DeleteNullTrackSegments
(
GetBoard
()
,
g_CurrentTrackList
);
// Insert new segments if they exist. This can be NULL on a double click on the start point
if
(
g_FirstTrackSegment
!=
NULL
)
...
...
@@ -498,10 +498,10 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
// Put entire new current segment list in BOARD
TRACK
*
track
;
TRACK
*
insertBeforeMe
=
g_CurrentTrackSegment
->
GetBestInsertPoint
(
m_Pcb
);
TRACK
*
insertBeforeMe
=
g_CurrentTrackSegment
->
GetBestInsertPoint
(
GetBoard
()
);
while
(
(
track
=
g_CurrentTrackList
.
PopFront
())
!=
NULL
)
{
m_Pcb
->
m_Track
.
Insert
(
track
,
insertBeforeMe
);
GetBoard
()
->
m_Track
.
Insert
(
track
,
insertBeforeMe
);
}
trace_ratsnest_pad
(
DC
);
...
...
@@ -517,14 +517,14 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
// erase the old track, if exists
if
(
g_AutoDeleteOldTrack
)
{
EraseOldTrack
(
this
,
m_Pcb
,
DC
,
firstTrack
,
newCount
);
EraseOldTrack
(
this
,
GetBoard
()
,
DC
,
firstTrack
,
newCount
);
}
/* compute the new rastnest : */
test_1_net_connexion
(
DC
,
netcode
);
GetScreen
()
->
SetModify
();
m_Pcb
->
Display_Infos
(
this
);
GetBoard
()
->
Display_Infos
(
this
);
}
wxASSERT
(
g_FirstTrackSegment
==
NULL
);
...
...
@@ -605,7 +605,7 @@ TRACK* LocateIntrusion( TRACK* start, int net, int width )
*/
static
void
PushTrack
(
WinEDA_DrawPanel
*
panel
)
{
BOARD
*
pcb
=
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
m_Pcb
;
BOARD
*
pcb
=
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
GetBoard
()
;
wxPoint
cursor
=
ActiveScreen
->
m_Curseur
;
wxPoint
cv
,
vec
,
n
;
TRACK
*
track
=
g_CurrentTrackSegment
;
...
...
pcbnew/export_gencad.cpp
View file @
b6035803
...
...
@@ -85,7 +85,7 @@ void WinEDA_PcbFrame::ExportToGenCAD( wxCommandEvent& event )
}
/* Mise a jour des infos PCB: */
m_Pcb
->
ComputeBoundaryBox
();
GetBoard
()
->
ComputeBoundaryBox
();
offsetX
=
m_Auxiliary_Axis_Position
.
x
;
offsetY
=
m_Auxiliary_Axis_Position
.
y
;
...
...
@@ -98,44 +98,44 @@ void WinEDA_PcbFrame::ExportToGenCAD( wxCommandEvent& event )
* (necessaire pour decrire les formes sous GenCAD,
* qui sont decrites en vue normale, orientation 0)) */
MODULE
*
module
;
for
(
module
=
m_Pcb
->
m_Modules
;
module
!=
NULL
;
module
=
module
->
Next
()
)
for
(
module
=
GetBoard
()
->
m_Modules
;
module
!=
NULL
;
module
=
module
->
Next
()
)
{
module
->
flag
=
0
;
if
(
module
->
GetLayer
()
==
COPPER_LAYER_N
)
{
m_Pcb
->
Change_Side_Module
(
module
,
NULL
);
GetBoard
()
->
Change_Side_Module
(
module
,
NULL
);
module
->
flag
=
1
;
}
}
// Creation de l'entete:
CreateHeaderInfoData
(
file
,
this
);
CreateBoardSection
(
file
,
m_Pcb
);
CreateBoardSection
(
file
,
GetBoard
()
);
/* Creation liste des TRACKS
* (section $TRACK) id liste des outils de tracage de pistes */
CreateTracksInfoData
(
file
,
m_Pcb
);
CreateTracksInfoData
(
file
,
GetBoard
()
);
/* Creation de la liste des formes utilisees
* (formes des composants principalement */
CreatePadsShapesSection
(
file
,
m_Pcb
);
// doit etre appele avant CreateShapesSection()
CreateShapesSection
(
file
,
m_Pcb
);
CreatePadsShapesSection
(
file
,
GetBoard
()
);
// doit etre appele avant CreateShapesSection()
CreateShapesSection
(
file
,
GetBoard
()
);
/* Creation de la liste des equipotentielles: */
CreateSignalsSection
(
file
,
m_Pcb
);
CreateSignalsSection
(
file
,
GetBoard
()
);
CreateDevicesSection
(
file
,
m_Pcb
);
CreateComponentsSection
(
file
,
m_Pcb
);
CreateRoutesSection
(
file
,
m_Pcb
);
CreateDevicesSection
(
file
,
GetBoard
()
);
CreateComponentsSection
(
file
,
GetBoard
()
);
CreateRoutesSection
(
file
,
GetBoard
()
);
fclose
(
file
);
/* Remise en place des modules vus en miroir */
for
(
module
=
m_Pcb
->
m_Modules
;
module
!=
NULL
;
module
=
module
->
Next
()
)
for
(
module
=
GetBoard
()
->
m_Modules
;
module
!=
NULL
;
module
=
module
->
Next
()
)
{
if
(
module
->
flag
)
{
m_Pcb
->
Change_Side_Module
(
module
,
NULL
);
GetBoard
()
->
Change_Side_Module
(
module
,
NULL
);
module
->
flag
=
0
;
}
}
...
...
pcbnew/files.cpp
View file @
b6035803
...
...
@@ -149,7 +149,7 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, bool Append )
{
GetScreen
()
->
m_FileName
=
wxEmptyString
;
GetScreen
()
->
SetModify
();
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
}
wxString
fileName
;
...
...
@@ -253,7 +253,7 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, bool Append )
/* Rebuild the new pad list (for drc and ratsnet control ...) */
build_liste_pads
();
m_Pcb
->
Display_Infos
(
this
);
GetBoard
()
->
Display_Infos
(
this
);
DrawPanel
->
Refresh
(
true
);
/* reset the auto save timer */
...
...
@@ -268,7 +268,7 @@ int WinEDA_PcbFrame::LoadOnePcbFile( const wxString& FullFileName, bool Append )
// the pcbnew program when the pipe it is writing to gets full.
// Output the board object tree to stdout, but please run from command prompt:
m_Pcb
->Show( 0, std::cout );
GetBoard()
->Show( 0, std::cout );
#endif
return
1
;
...
...
pcbnew/find.cpp
View file @
b6035803
...
...
@@ -33,7 +33,7 @@ void WinEDA_PcbFrame::InstallFindFrame( const wxPoint& pos, wxDC* DC )
{
WinEDA_PcbFindFrame
*
frame
=
new
WinEDA_PcbFindFrame
(
this
,
DC
,
pos
);
frame
->
ShowModal
();
frame
->
ShowModal
();
frame
->
Destroy
();
}
...
...
@@ -42,7 +42,7 @@ void WinEDA_PcbFrame::InstallFindFrame( const wxPoint& pos, wxDC* DC )
void
WinEDA_PcbFindFrame
::
FindItem
(
wxCommandEvent
&
event
)
/********************************************************/
{
PCB_SCREEN
*
screen
=
(
PCB_SCREEN
*
)(
m_Parent
->
GetScreen
());
PCB_SCREEN
*
screen
=
(
PCB_SCREEN
*
)(
m_Parent
->
GetScreen
());
wxPoint
locate_pos
;
wxString
msg
;
bool
FindMarker
=
FALSE
;
...
...
@@ -69,7 +69,7 @@ void WinEDA_PcbFindFrame::FindItem( wxCommandEvent& event )
if
(
FindMarker
)
{
MARKER
*
marker
=
m_Parent
->
m_Pcb
->
GetMARKER
(
s_MarkerCount
++
);
MARKER
*
marker
=
m_Parent
->
GetBoard
()
->
GetMARKER
(
s_MarkerCount
++
);
if
(
marker
)
{
foundItem
=
marker
;
...
...
@@ -79,7 +79,7 @@ void WinEDA_PcbFindFrame::FindItem( wxCommandEvent& event )
else
{
int
StartCount
=
0
;
for
(
MODULE
*
module
=
m_Parent
->
m_Pcb
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
for
(
MODULE
*
module
=
m_Parent
->
GetBoard
()
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
{
if
(
WildCompareString
(
s_OldStringFound
,
module
->
GetReference
().
GetData
(),
FALSE
)
)
{
...
...
@@ -109,27 +109,27 @@ void WinEDA_PcbFindFrame::FindItem( wxCommandEvent& event )
if
(
foundItem
)
{
m_Parent
->
SetCurItem
(
foundItem
);
if
(
FindMarker
)
msg
=
_
(
"Marker found"
);
else
msg
.
Printf
(
_
(
"<%s> Found"
),
s_OldStringFound
.
GetData
()
);
msg
.
Printf
(
_
(
"<%s> Found"
),
s_OldStringFound
.
GetData
()
);
m_Parent
->
Affiche_Message
(
msg
);
m_Parent
->
CursorGoto
(
locate_pos
);
EndModal
(
1
);
}
else
{
m_Parent
->
Affiche_Message
(
wxEmptyString
);
if
(
FindMarker
)
msg
=
_
(
"Marker not found"
);
else
msg
.
Printf
(
_
(
"<%s> Not Found"
),
s_OldStringFound
.
GetData
()
);
DisplayError
(
this
,
msg
,
10
);
EndModal
(
0
);
}
...
...
pcbnew/gen_modules_placefile.cpp
View file @
b6035803
...
...
@@ -94,7 +94,7 @@ void WinEDA_PcbFrame::GenModulesPosition( wxCommandEvent& event )
/* Calcul du nombre de modules utiles ( Attribut CMS, non VIRTUAL ) ) */
int
moduleCount
=
0
;
for
(
module
=
m_Pcb
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
for
(
module
=
GetBoard
()
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
{
if
(
module
->
m_Attributs
&
MOD_VIRTUAL
)
{
...
...
@@ -134,7 +134,7 @@ void WinEDA_PcbFrame::GenModulesPosition( wxCommandEvent& event )
fnFront
=
GetScreen
()
->
m_FileName
;
frontLayerName
=
m_Pcb
->
GetLayerName
(
CMP_N
);
frontLayerName
=
GetBoard
()
->
GetLayerName
(
CMP_N
);
extension
.
Printf
(
wxT
(
"-%s.pos"
),
frontLayerName
.
GetData
()
);
ChangeFileNameExt
(
fnFront
,
extension
);
...
...
@@ -151,7 +151,7 @@ void WinEDA_PcbFrame::GenModulesPosition( wxCommandEvent& event )
{
fnBack
=
GetScreen
()
->
m_FileName
;
backLayerName
=
m_Pcb
->
GetLayerName
(
COPPER_LAYER_N
);
backLayerName
=
GetBoard
()
->
GetLayerName
(
COPPER_LAYER_N
);
extension
.
Printf
(
wxT
(
"-%s.pos"
),
backLayerName
.
GetData
()
);
ChangeFileNameExt
(
fnBack
,
extension
);
...
...
@@ -182,7 +182,7 @@ void WinEDA_PcbFrame::GenModulesPosition( wxCommandEvent& event )
/* Etablissement de la liste des modules par ordre alphabetique */
Liste
=
(
LIST_MOD
*
)
MyZMalloc
(
moduleCount
*
sizeof
(
LIST_MOD
)
);
module
=
m_Pcb
->
m_Modules
;
module
=
GetBoard
()
->
m_Modules
;
for
(
int
ii
=
0
;
module
;
module
=
module
->
Next
()
)
{
if
(
module
->
m_Attributs
&
MOD_VIRTUAL
)
...
...
@@ -347,22 +347,22 @@ void WinEDA_PcbFrame::GenModuleReport( wxCommandEvent& event )
fputs
(
"##
\n
"
,
rptfile
);
fputs
(
"
\n
$BeginDESCRIPTION
\n
"
,
rptfile
);
m_Pcb
->
ComputeBoundaryBox
();
GetBoard
()
->
ComputeBoundaryBox
();
fputs
(
"
\n
$BOARD
\n
"
,
rptfile
);
fputs
(
"unit INCH
\n
"
,
rptfile
);
sprintf
(
line
,
"upper_left_corner %9.6f %9.6f
\n
"
,
(
float
)
m_Pcb
->
m_BoundaryBox
.
GetX
()
*
conv_unit
,
(
float
)
m_Pcb
->
m_BoundaryBox
.
GetY
()
*
conv_unit
);
(
float
)
GetBoard
()
->
m_BoundaryBox
.
GetX
()
*
conv_unit
,
(
float
)
GetBoard
()
->
m_BoundaryBox
.
GetY
()
*
conv_unit
);
fputs
(
line
,
rptfile
);
sprintf
(
line
,
"lower_right_corner %9.6f %9.6f
\n
"
,
(
float
)
(
m_Pcb
->
m_BoundaryBox
.
GetRight
()
)
*
conv_unit
,
(
float
)
(
m_Pcb
->
m_BoundaryBox
.
GetBottom
()
)
*
conv_unit
);
(
float
)
(
GetBoard
()
->
m_BoundaryBox
.
GetRight
()
)
*
conv_unit
,
(
float
)
(
GetBoard
()
->
m_BoundaryBox
.
GetBottom
()
)
*
conv_unit
);
fputs
(
line
,
rptfile
);
fputs
(
"$EndBOARD
\n\n
"
,
rptfile
);
Module
=
(
MODULE
*
)
m_Pcb
->
m_Modules
;
Module
=
(
MODULE
*
)
GetBoard
()
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
Module
->
Next
()
)
{
sprintf
(
line
,
"$MODULE
\"
%s
\"\n
"
,
CONV_TO_UTF8
(
Module
->
m_Reference
->
m_Text
)
);
...
...
@@ -447,7 +447,7 @@ void WinEDA_PcbFrame::GenModuleReport( wxCommandEvent& event )
/* Write board Edges */
EDA_BaseStruct
*
PtStruct
;
for
(
PtStruct
=
m_Pcb
->
m_Drawings
;
PtStruct
!=
NULL
;
PtStruct
=
PtStruct
->
Next
()
)
for
(
PtStruct
=
GetBoard
()
->
m_Drawings
;
PtStruct
!=
NULL
;
PtStruct
=
PtStruct
->
Next
()
)
{
if
(
PtStruct
->
Type
()
!=
TYPE_DRAWSEGMENT
)
continue
;
...
...
pcbnew/gen_self.h
View file @
b6035803
...
...
@@ -280,7 +280,7 @@ MODULE* WinEDA_PcbFrame::Genere_Self( wxDC* DC )
if
(
Create_1_Module
(
DC
,
wxEmptyString
)
==
NULL
)
return
NULL
;
Module
=
m_Pcb
->
m_Modules
;
Module
=
GetBoard
()
->
m_Modules
;
Module
->
m_LibRef
=
wxT
(
"MuSelf"
);
Module
->
m_Attributs
=
MOD_VIRTUAL
|
MOD_CMS
;
Module
->
m_Flags
=
0
;
...
...
pcbnew/gendrill.cpp
View file @
b6035803
...
...
@@ -106,7 +106,7 @@ void WinEDA_DrillFrame::InitDisplayParams( void )
m_ThroughViasCount
=
0
;
m_MicroViasCount
=
0
;
m_BlindOrBuriedViasCount
=
0
;
for
(
TRACK
*
track
=
m_Parent
->
m_Pcb
->
m_Track
;
track
!=
NULL
;
track
=
track
->
Next
()
)
for
(
TRACK
*
track
=
m_Parent
->
GetBoard
()
->
m_Track
;
track
!=
NULL
;
track
=
track
->
Next
()
)
{
if
(
track
->
Type
()
!=
TYPE_VIA
)
continue
;
...
...
@@ -123,7 +123,7 @@ void WinEDA_DrillFrame::InitDisplayParams( void )
// Pads holes cound:
m_PadsHoleCount
=
0
;
for
(
MODULE
*
module
=
m_Parent
->
m_Pcb
->
m_Modules
;
module
!=
NULL
;
module
=
module
->
Next
()
)
for
(
MODULE
*
module
=
m_Parent
->
GetBoard
()
->
m_Modules
;
module
!=
NULL
;
module
=
module
->
Next
()
)
{
for
(
D_PAD
*
pad
=
module
->
m_Pads
;
pad
!=
NULL
;
pad
=
pad
->
Next
()
)
{
...
...
@@ -284,7 +284,7 @@ void WinEDA_DrillFrame::GenDrillFiles( wxCommandEvent& event )
Mask
+=
Ext
;
for
(
;
;
)
{
Build_Holes_List
(
m_Parent
->
m_Pcb
,
s_HoleListBuffer
,
s_ToolListBuffer
,
Build_Holes_List
(
m_Parent
->
GetBoard
()
,
s_HoleListBuffer
,
s_ToolListBuffer
,
layer1
,
layer2
,
gen_through_holes
?
false
:
true
);
if
(
s_ToolListBuffer
.
size
()
>
0
)
//holes?
{
...
...
@@ -766,7 +766,7 @@ void WinEDA_DrillFrame::GenDrillMap( const wxString aFileName,
DisplayError
(
this
,
msg
);
return
;
}
GenDrillMapFile
(
m_Parent
->
m_Pcb
,
GenDrillMapFile
(
m_Parent
->
GetBoard
()
,
dest
,
FullFileName
,
m_Parent
->
GetScreen
()
->
m_CurrentSheetDesc
->
m_Size
,
...
...
@@ -811,7 +811,7 @@ void WinEDA_DrillFrame::GenDrillReport( const wxString aFileName )
DisplayError
(
this
,
msg
);
return
;
}
GenDrillReportFile
(
dest
,
m_Parent
->
m_Pcb
,
GenDrillReportFile
(
dest
,
m_Parent
->
GetBoard
()
,
m_Parent
->
GetScreen
()
->
m_FileName
,
s_Unit_Drill_is_Inch
,
s_HoleListBuffer
,
...
...
pcbnew/hotkeys.cpp
View file @
b6035803
...
...
@@ -210,10 +210,10 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
ll
=
GetScreen
()
->
m_Active_Layer
;
if
(
(
ll
<=
COPPER_LAYER_N
)
||
(
ll
>
CMP_N
)
)
break
;
if
(
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
<
2
)
// Single layer
if
(
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
<
2
)
// Single layer
ll
=
COPPER_LAYER_N
;
else
if
(
ll
==
CMP_N
)
ll
=
MAX
(
COPPER_LAYER_N
,
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
-
2
);
ll
=
MAX
(
COPPER_LAYER_N
,
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
-
2
);
else
ll
--
;
SwitchLayer
(
DC
,
ll
);
...
...
@@ -223,9 +223,9 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
ll
=
GetScreen
()
->
m_Active_Layer
;
if
(
(
ll
<
COPPER_LAYER_N
)
||
(
ll
>=
CMP_N
)
)
break
;
if
(
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
<
2
)
// Single layer
if
(
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
<
2
)
// Single layer
ll
=
COPPER_LAYER_N
;
else
if
(
ll
>=
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
-
2
)
else
if
(
ll
>=
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
-
2
)
ll
=
CMP_N
;
else
ll
++
;
...
...
@@ -425,7 +425,7 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
case
HK_LOCK_UNLOCK_FOOTPRINT
:
// toggle module "MODULE_is_LOCKED" status:
// get any module, locked or not locked and toggle its locked status
if
(
ItemFree
)
module
=
Locate_Prefered_Module
(
m_Pcb
,
CURSEUR_OFF_GRILLE
|
VISIBLE_ONLY
);
module
=
Locate_Prefered_Module
(
GetBoard
()
,
CURSEUR_OFF_GRILLE
|
VISIBLE_ONLY
);
else
if
(
GetCurItem
()
->
Type
()
==
TYPE_MODULE
)
module
=
(
MODULE
*
)
GetCurItem
();
if
(
module
)
...
...
@@ -445,7 +445,7 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
case
HK_FLIP_FOOTPRINT
:
// move to other side
if
(
ItemFree
)
{
module
=
Locate_Prefered_Module
(
m_Pcb
,
module
=
Locate_Prefered_Module
(
GetBoard
()
,
CURSEUR_OFF_GRILLE
|
IGNORE_LOCKED
|
VISIBLE_ONLY
#if defined (USE_MATCH_LAYER)
|
MATCH_LAYER
...
...
@@ -454,7 +454,7 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
if
(
module
==
NULL
)
// no footprint found
{
module
=
Locate_Prefered_Module
(
m_Pcb
,
CURSEUR_OFF_GRILLE
|
VISIBLE_ONLY
);
module
=
Locate_Prefered_Module
(
GetBoard
()
,
CURSEUR_OFF_GRILLE
|
VISIBLE_ONLY
);
if
(
module
)
{
// a footprint is found, but locked or on an other layer
...
...
@@ -504,7 +504,7 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
break
;
case
HK_FLIP_FOOTPRINT
:
// move to other side
m_Pcb
->
Change_Side_Module
(
module
,
DC
);
GetBoard
()
->
Change_Side_Module
(
module
,
DC
);
break
;
case
HK_DRAG_FOOTPRINT
:
// Start move (and drag) module
...
...
@@ -624,7 +624,7 @@ bool WinEDA_PcbFrame::OnHotkeyDeleteItem( wxDC* DC, EDA_BaseStruct* DrawStruct )
case
ID_COMPONENT_BUTT
:
if
(
ItemFree
)
{
MODULE
*
module
=
Locate_Prefered_Module
(
m_Pcb
,
CURSEUR_ON_GRILLE
);
MODULE
*
module
=
Locate_Prefered_Module
(
GetBoard
()
,
CURSEUR_ON_GRILLE
);
if
(
module
==
NULL
)
return
FALSE
;
if
(
!
IsOK
(
this
,
_
(
"Delete module?"
)
)
)
...
...
pcbnew/initpcb.cpp
View file @
b6035803
...
...
@@ -114,13 +114,13 @@ bool WinEDA_BasePcbFrame::Clear_Pcb( bool query )
* Si query == FALSE, il n'y aura pas de confirmation
*/
{
if
(
m_Pcb
==
NULL
)
if
(
GetBoard
()
==
NULL
)
return
FALSE
;
if
(
query
&&
GetScreen
()
->
IsModify
()
)
{
if
(
m_Pcb
->
m_Drawings
||
m_Pcb
->
m_Modules
||
m_Pcb
->
m_Track
||
m_Pcb
->
m_Zone
)
if
(
GetBoard
()
->
m_Drawings
||
GetBoard
()
->
m_Modules
||
GetBoard
()
->
m_Track
||
GetBoard
()
->
m_Zone
)
{
if
(
!
IsOK
(
this
,
_
(
"Current Board will be lost ?"
)
)
)
return
FALSE
;
...
...
@@ -129,7 +129,7 @@ bool WinEDA_BasePcbFrame::Clear_Pcb( bool query )
// delete the old BOARD and create a new BOARD so that the default
// layer names are put into the BOARD.
SetB
OARD
(
new
BOARD
(
NULL
,
this
)
);
SetB
oard
(
new
BOARD
(
NULL
,
this
)
);
while
(
g_UnDeleteStackPtr
>
0
)
{
...
...
@@ -161,7 +161,7 @@ bool WinEDA_BasePcbFrame::Clear_Pcb( bool query )
g_DesignSettings
.
m_TrackWidthHistory
[
0
]
=
g_DesignSettings
.
m_CurrentTrackWidth
;
g_DesignSettings
.
m_ViaSizeHistory
[
0
]
=
g_DesignSettings
.
m_CurrentViaSize
;
g_DesignSettings
.
m_CopperLayerCount
=
2
;
// Default copper layers count set to 2: double layer board
g_DesignSettings
.
m_CopperLayerCount
=
2
;
// Default copper layers count set to 2: double layer board
Zoom_Automatique
(
TRUE
);
...
...
@@ -176,8 +176,8 @@ void WinEDA_PcbFrame::Erase_Zones( bool query )
if
(
query
&&
!
IsOK
(
this
,
_
(
"Delete Zones ?"
)
)
)
return
;
m_Pcb
->
m_Zone
.
DeleteAll
();
m_Pcb
->
DeleteZONEOutlines
();
GetBoard
()
->
m_Zone
.
DeleteAll
();
GetBoard
()
->
DeleteZONEOutlines
();
GetScreen
()
->
SetModify
();
}
...
...
@@ -203,7 +203,7 @@ void WinEDA_PcbFrame::Erase_Segments_Pcb( bool is_edges, bool query )
return
;
}
PtStruct
=
m_Pcb
->
m_Drawings
;
PtStruct
=
GetBoard
()
->
m_Drawings
;
for
(
;
PtStruct
!=
NULL
;
PtStruct
=
PtNext
)
{
PtNext
=
PtStruct
->
Next
();
...
...
@@ -215,7 +215,7 @@ void WinEDA_PcbFrame::Erase_Segments_Pcb( bool is_edges, bool query )
case
TYPE_COTATION
:
case
TYPE_MIRE
:
if
(
g_TabOneLayerMask
[
PtStruct
->
GetLayer
()]
&
masque_layer
)
m_Pcb
->
Delete
(
PtStruct
);
GetBoard
()
->
Delete
(
PtStruct
);
break
;
default
:
...
...
@@ -245,7 +245,7 @@ void WinEDA_PcbFrame::Erase_Pistes( wxDC * DC, int masque_type, bool query )
return
;
/* Marquage des pistes a effacer */
for
(
pt_segm
=
m_Pcb
->
m_Track
;
pt_segm
!=
NULL
;
pt_segm
=
(
TRACK
*
)
PtNext
)
for
(
pt_segm
=
GetBoard
()
->
m_Track
;
pt_segm
!=
NULL
;
pt_segm
=
(
TRACK
*
)
PtNext
)
{
PtNext
=
pt_segm
->
Next
();
...
...
@@ -267,12 +267,12 @@ void WinEDA_PcbFrame::Erase_Modules( bool query )
if
(
query
&&
!
IsOK
(
this
,
_
(
"Delete Modules?"
)
)
)
return
;
m_Pcb
->
m_Modules
.
DeleteAll
();
GetBoard
()
->
m_Modules
.
DeleteAll
();
m_Pcb
->
m_Status_Pcb
=
0
;
m_Pcb
->
m_NbNodes
=
0
;
m_Pcb
->
m_NbLinks
=
0
;
m_Pcb
->
m_NbNoconnect
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_NbNodes
=
0
;
GetBoard
()
->
m_NbLinks
=
0
;
GetBoard
()
->
m_NbNoconnect
=
0
;
GetScreen
()
->
SetModify
();
}
...
...
@@ -287,7 +287,7 @@ void WinEDA_PcbFrame::Erase_Textes_Pcb( bool query )
if
(
query
&&
!
IsOK
(
this
,
_
(
"Delete Pcb Texts"
)
)
)
return
;
PtStruct
=
m_Pcb
->
m_Drawings
;
PtStruct
=
GetBoard
()
->
m_Drawings
;
for
(
;
PtStruct
!=
NULL
;
PtStruct
=
PtNext
)
{
PtNext
=
PtStruct
->
Next
();
...
...
@@ -305,7 +305,7 @@ void WinEDA_PcbFrame::Erase_Textes_Pcb( bool query )
void
WinEDA_PcbFrame
::
Erase_Marqueurs
()
/*******************************************/
{
m_Pcb
->
DeleteMARKERs
();
GetBoard
()
->
DeleteMARKERs
();
GetScreen
()
->
SetModify
();
// @todo : why mark this if MARKERs are not saved in the *.brd file?
}
pcbnew/ioascii.cpp
View file @
b6035803
This diff is collapsed.
Click to expand it.
pcbnew/librairi.cpp
View file @
b6035803
...
...
@@ -108,7 +108,7 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
}
}
module
=
new
MODULE
(
m_Pcb
);
module
=
new
MODULE
(
GetBoard
()
);
if
(
Footprint_Is_GPCB_Format
)
{
...
...
@@ -122,12 +122,12 @@ MODULE* WinEDA_ModuleEditFrame::Import_Module( wxDC* DC )
}
/* Insert footprint in list*/
m_Pcb
->
Add
(
module
);
GetBoard
()
->
Add
(
module
);
/* Display info : */
module
->
Display_Infos
(
this
);
Place_Module
(
module
,
DC
);
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
build_liste_pads
();
return
module
;
...
...
@@ -210,7 +210,7 @@ void WinEDA_ModuleEditFrame::Export_Module( MODULE* ptmod, bool createlib )
fprintf
(
dest
,
"%s
\n
"
,
CONV_TO_UTF8
(
ptmod
->
m_LibRef
)
);
fputs
(
"$EndINDEX
\n
"
,
dest
);
m_Pcb
->
m_Modules
->
Save
(
dest
);
GetBoard
()
->
m_Modules
->
Save
(
dest
);
fputs
(
"$EndLIBRARY
\n
"
,
dest
);
fclose
(
dest
);
...
...
@@ -404,7 +404,7 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName,
MODULE
*
Module
;
wxString
FullFileName
=
LibName
;
if
(
m_Pcb
->
m_Modules
==
NULL
)
if
(
GetBoard
()
->
m_Modules
==
NULL
)
{
DisplayInfo
(
this
,
_
(
" No modules to archive!"
)
);
return
;
...
...
@@ -457,14 +457,14 @@ void WinEDA_BasePcbFrame::Archive_Modules( const wxString& LibName,
}
/* Calcul du nombre de modules */
Module
=
(
MODULE
*
)
m_Pcb
->
m_Modules
;
Module
=
(
MODULE
*
)
GetBoard
()
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Next
()
)
NbModules
++
;
Pas
=
(
float
)
100
/
NbModules
;
DisplayActivity
(
0
,
wxEmptyString
);
Module
=
(
MODULE
*
)
m_Pcb
->
m_Modules
;
Module
=
(
MODULE
*
)
GetBoard
()
->
m_Modules
;
for
(
ii
=
1
;
Module
!=
NULL
;
ii
++
,
Module
=
(
MODULE
*
)
Module
->
Next
()
)
{
if
(
Save_1_Module
(
FullFileName
,
Module
,
...
...
@@ -725,9 +725,9 @@ MODULE* WinEDA_BasePcbFrame::Create_1_Module( wxDC* DC, const wxString& module_n
Line
.
Trim
(
FALSE
);
// Creates the new module and add it to the head of the linked list of modules
Module
=
new
MODULE
(
m_Pcb
);
Module
=
new
MODULE
(
GetBoard
()
);
m_Pcb
->
Add
(
Module
);
GetBoard
()
->
Add
(
Module
);
/* Update parameters: position, timestamp ... */
newpos
=
GetScreen
()
->
m_Curseur
;
...
...
pcbnew/loadcmp.cpp
View file @
b6035803
...
...
@@ -47,10 +47,10 @@ void WinEDA_ModuleEditFrame::Load_Module_Module_From_BOARD( MODULE* Module )
if
(
Module
==
NULL
)
{
if
(
parent
->
m_Pcb
==
NULL
||
parent
->
m_Pcb
->
m_Modules
==
NULL
)
if
(
parent
->
GetBoard
()
==
NULL
||
parent
->
GetBoard
()
->
m_Modules
==
NULL
)
return
;
Module
=
Select_1_Module_From_BOARD
(
parent
->
m_Pcb
);
Module
=
Select_1_Module_From_BOARD
(
parent
->
GetBoard
()
);
}
if
(
Module
==
NULL
)
...
...
@@ -60,14 +60,14 @@ void WinEDA_ModuleEditFrame::Load_Module_Module_From_BOARD( MODULE* Module )
Clear_Pcb
(
TRUE
);
m_Pcb
->
m_Status_Pcb
=
0
;
NewModule
=
new
MODULE
(
m_Pcb
);
GetBoard
()
->
m_Status_Pcb
=
0
;
NewModule
=
new
MODULE
(
GetBoard
()
);
NewModule
->
Copy
(
Module
);
NewModule
->
m_Link
=
Module
->
m_TimeStamp
;
Module
=
NewModule
;
m_Pcb
->
Add
(
Module
);
GetBoard
()
->
Add
(
Module
);
Module
->
m_Flags
=
0
;
...
...
@@ -76,7 +76,7 @@ void WinEDA_ModuleEditFrame::Load_Module_Module_From_BOARD( MODULE* Module )
GetScreen
()
->
m_Curseur
.
x
=
GetScreen
()
->
m_Curseur
.
y
=
0
;
Place_Module
(
Module
,
NULL
);
if
(
Module
->
GetLayer
()
!=
CMP_N
)
m_Pcb
->
Change_Side_Module
(
Module
,
NULL
);
GetBoard
()
->
Change_Side_Module
(
Module
,
NULL
);
Rotate_Module
(
NULL
,
Module
,
0
,
FALSE
);
GetScreen
()
->
ClrModify
();
Zoom_Automatique
(
TRUE
);
...
...
@@ -154,7 +154,7 @@ MODULE* WinEDA_BasePcbFrame::Load_Module_From_Library( const wxString& library,
module
->
m_Flags
=
IS_NEW
;
module
->
m_Link
=
0
;
module
->
m_TimeStamp
=
GetTimeStamp
();
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
module
->
SetPosition
(
curspos
);
build_liste_pads
();
...
...
@@ -254,14 +254,14 @@ MODULE* WinEDA_BasePcbFrame::Get_Librairie_Module( wxWindow* winaff,
Name
=
CONV_FROM_UTF8
(
Line
+
8
);
if
(
Name
.
CmpNoCase
(
ComponentName
)
==
0
)
/* composant localise */
{
NewModule
=
new
MODULE
(
m_Pcb
);
NewModule
=
new
MODULE
(
GetBoard
()
);
// Switch the locale to standard C (needed to print floating point numbers like 1.3)
SetLocaleTo_C_standard
(
);
NewModule
->
ReadDescr
(
lib_module
,
&
LineNum
);
SetLocaleTo_Default
(
);
// revert to the current locale
m_Pcb
->
Add
(
NewModule
,
ADD_APPEND
);
GetBoard
()
->
Add
(
NewModule
,
ADD_APPEND
);
fclose
(
lib_module
);
Affiche_Message
(
wxEmptyString
);
return
NewModule
;
...
...
pcbnew/mirepcb.cpp
View file @
b6035803
...
...
@@ -206,9 +206,9 @@ MIREPCB* WinEDA_PcbFrame::Create_Mire( wxDC* DC )
/* Routine de creation d'un Draw Symbole Pcb type MIRE
*/
{
MIREPCB
*
MirePcb
=
new
MIREPCB
(
m_Pcb
);
MIREPCB
*
MirePcb
=
new
MIREPCB
(
GetBoard
()
);
m_Pcb
->
Add
(
MirePcb
);
GetBoard
()
->
Add
(
MirePcb
);
MirePcb
->
SetLayer
(
EDGE_N
);
MirePcb
->
m_Width
=
g_DesignSettings
.
m_EdgeSegmentWidth
;
...
...
pcbnew/modedit.cpp
View file @
b6035803
...
...
@@ -25,7 +25,7 @@ BOARD_ITEM* WinEDA_ModuleEditFrame::ModeditLocateAndDisplay( int aHotKeyCode )
{
BOARD_ITEM
*
item
=
GetCurItem
();
if
(
m_Pcb
->
m_Modules
==
NULL
)
if
(
GetBoard
()
->
m_Modules
==
NULL
)
return
NULL
;
GENERAL_COLLECTORS_GUIDE
guide
=
GetCollectorsGuide
();
...
...
@@ -45,7 +45,7 @@ BOARD_ITEM* WinEDA_ModuleEditFrame::ModeditLocateAndDisplay( int aHotKeyCode )
scanList
=
GENERAL_COLLECTOR
::
ModulesAndTheirItems
;
}
m_Collector
->
Collect
(
m_Pcb
,
scanList
,
GetScreen
()
->
RefPos
(
true
),
guide
);
m_Collector
->
Collect
(
GetBoard
()
,
scanList
,
GetScreen
()
->
RefPos
(
true
),
guide
);
/* Remove redundancies: when an item is found, we can remove the
* module from list
...
...
@@ -92,7 +92,7 @@ BOARD_ITEM* WinEDA_ModuleEditFrame::ModeditLocateAndDisplay( int aHotKeyCode )
item
=
(
*
m_Collector
)[
ii
];
text
=
item
->
MenuText
(
m_Pcb
);
text
=
item
->
MenuText
(
GetBoard
()
);
xpm
=
item
->
MenuIcon
();
ADD_MENUITEM
(
&
itemMenu
,
ID_POPUP_PCB_ITEM_SELECTION_START
+
ii
,
text
,
xpm
);
...
...
@@ -218,8 +218,8 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
if
(
module
)
// i.e. if create module command not aborted
{
module
->
SetPosition
(
wxPoint
(
0
,
0
)
);
if
(
m_Pcb
->
m_Modules
)
m_Pcb
->
m_Modules
->
m_Flags
=
0
;
if
(
GetBoard
()
->
m_Modules
)
GetBoard
()
->
m_Modules
->
m_Flags
=
0
;
Zoom_Automatique
(
TRUE
);
}
}
...
...
@@ -229,7 +229,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
{
wxString
Line
;
Line
=
MakeFileName
(
g_RealLibDirBuffer
,
m_CurrentLib
.
GetData
(),
LibExtBuffer
);
Save_1_Module
(
Line
,
m_Pcb
->
m_Modules
,
TRUE
,
TRUE
);
Save_1_Module
(
Line
,
GetBoard
()
->
m_Modules
,
TRUE
,
TRUE
);
GetScreen
()
->
ClrModify
();
}
break
;
...
...
@@ -248,9 +248,9 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
// update module in the current board,
// not just add it to the board with total disregard for the netlist...
WinEDA_PcbFrame
*
pcbframe
=
(
WinEDA_PcbFrame
*
)
GetParent
();
BOARD
*
mainpcb
=
pcbframe
->
m_Pcb
;
BOARD
*
mainpcb
=
pcbframe
->
GetBoard
()
;
MODULE
*
source_module
=
NULL
;
MODULE
*
module_in_edit
=
m_Pcb
->
m_Modules
;
MODULE
*
module_in_edit
=
GetBoard
()
->
m_Modules
;
// Search the old module (source) if exists
// Because this source could be deleted when editing the main board...
...
...
@@ -318,8 +318,8 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
Clear_Pcb
(
TRUE
);
GetScreen
()
->
m_Curseur
=
wxPoint
(
0
,
0
);
Import_Module
(
&
dc
);
if
(
m_Pcb
->
m_Modules
)
m_Pcb
->
m_Modules
->
m_Flags
=
0
;
if
(
GetBoard
()
->
m_Modules
)
GetBoard
()
->
m_Modules
->
m_Flags
=
0
;
GetScreen
()
->
ClrModify
();
Zoom_Automatique
(
TRUE
);
if
(
m_Draw3DFrame
)
...
...
@@ -327,13 +327,13 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_LIBEDIT_EXPORT_PART
:
if
(
m_Pcb
->
m_Modules
)
Export_Module
(
m_Pcb
->
m_Modules
,
FALSE
);
if
(
GetBoard
()
->
m_Modules
)
Export_Module
(
GetBoard
()
->
m_Modules
,
FALSE
);
break
;
case
ID_LIBEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART
:
if
(
m_Pcb
->
m_Modules
)
Export_Module
(
m_Pcb
->
m_Modules
,
TRUE
);
if
(
GetBoard
()
->
m_Modules
)
Export_Module
(
GetBoard
()
->
m_Modules
,
TRUE
);
break
;
case
ID_MODEDIT_SHEET_SET
:
...
...
@@ -345,15 +345,15 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
Clear_Pcb
(
TRUE
);
GetScreen
()
->
m_Curseur
=
wxPoint
(
0
,
0
);
Load_Module_From_Library
(
m_CurrentLib
,
&
dc
);
if
(
m_Pcb
->
m_Modules
)
m_Pcb
->
m_Modules
->
m_Flags
=
0
;
if
(
GetBoard
()
->
m_Modules
)
GetBoard
()
->
m_Modules
->
m_Flags
=
0
;
//if either m_Reference or m_Value are gone, reinstate them -
//otherwise it becomes hard to see what you are working with in the layout!
if
(
m_Pcb
&&
m_Pcb
->
m_Modules
)
if
(
GetBoard
()
&&
GetBoard
()
->
m_Modules
)
{
TEXTE_MODULE
*
ref
=
m_Pcb
->
m_Modules
->
m_Reference
;
TEXTE_MODULE
*
val
=
m_Pcb
->
m_Modules
->
m_Value
;
TEXTE_MODULE
*
ref
=
GetBoard
()
->
m_Modules
->
m_Reference
;
TEXTE_MODULE
*
val
=
GetBoard
()
->
m_Modules
->
m_Value
;
if
(
val
&&
ref
)
{
ref
->
m_Type
=
TEXT_is_REFERENCE
;
// just in case ...
...
...
@@ -378,9 +378,9 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_MODEDIT_EDIT_MODULE_PROPERTIES
:
if
(
m_Pcb
->
m_Modules
)
if
(
GetBoard
()
->
m_Modules
)
{
SetCurItem
(
m_Pcb
->
m_Modules
);
SetCurItem
(
GetBoard
()
->
m_Modules
);
InstallModuleOptionsFrame
(
(
MODULE
*
)
GetScreen
()
->
GetCurItem
(),
&
dc
,
pos
);
GetScreen
()
->
GetCurItem
()
->
m_Flags
=
0
;
...
...
@@ -388,7 +388,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_MODEDIT_ADD_PAD
:
if
(
m_Pcb
->
m_Modules
)
if
(
GetBoard
()
->
m_Modules
)
SetToolID
(
id
,
wxCURSOR_PENCIL
,
_
(
"Add Pad"
)
);
else
{
...
...
@@ -452,20 +452,20 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_POPUP_PCB_DELETE_PAD
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
DeletePad
(
(
D_PAD
*
)
GetScreen
()
->
GetCurItem
(),
&
dc
);
SetCurItem
(
NULL
);
DrawPanel
->
MouseToCursorSchema
();
break
;
case
ID_POPUP_PCB_IMPORT_PAD_SETTINGS
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
DrawPanel
->
MouseToCursorSchema
();
Import_Pad_Settings
(
(
D_PAD
*
)
GetScreen
()
->
GetCurItem
(),
true
);
break
;
case
ID_POPUP_PCB_GLOBAL_IMPORT_PAD_SETTINGS
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
Global_Import_Pad_Settings
(
(
D_PAD
*
)
GetScreen
()
->
GetCurItem
(),
true
);
DrawPanel
->
MouseToCursorSchema
();
break
;
...
...
@@ -494,7 +494,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_POPUP_PCB_DELETE_TEXTMODULE
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
DeleteTextModule
(
(
TEXTE_MODULE
*
)
GetScreen
()
->
GetCurItem
(),
&
dc
);
SetCurItem
(
NULL
);
...
...
@@ -550,7 +550,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
break
;
case
ID_POPUP_PCB_DELETE_EDGE
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
DrawPanel
->
MouseToCursorSchema
();
RemoveStruct
(
GetScreen
()
->
GetCurItem
(),
&
dc
);
SetCurItem
(
NULL
);
...
...
@@ -561,7 +561,7 @@ void WinEDA_ModuleEditFrame::Process_Special_Functions( wxCommandEvent& event )
case
ID_MODEDIT_MODULE_SCALE
:
case
ID_MODEDIT_MODULE_SCALEX
:
case
ID_MODEDIT_MODULE_SCALEY
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
Transform
(
(
MODULE
*
)
GetScreen
()
->
GetCurItem
(),
&
dc
,
id
);
break
;
...
...
pcbnew/modedit_onclick.cpp
View file @
b6035803
...
...
@@ -32,12 +32,12 @@ void WinEDA_ModuleEditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
switch
(
DrawStruct
->
Type
()
)
{
case
TYPE_TEXTE_MODULE
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
PlaceTexteModule
(
(
TEXTE_MODULE
*
)
DrawStruct
,
DC
);
break
;
case
TYPE_EDGE_MODULE
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
Place_EdgeMod
(
(
EDGE_MODULE
*
)
DrawStruct
,
DC
);
break
;
...
...
@@ -119,7 +119,7 @@ void WinEDA_ModuleEditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
DrawStruct
=
ModeditLocateAndDisplay
();
if
(
DrawStruct
&&
(
DrawStruct
->
m_Flags
==
0
)
)
{
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
RemoveStruct
(
DrawStruct
,
DC
);
SetCurItem
(
DrawStruct
=
NULL
);
}
...
...
@@ -127,27 +127,27 @@ void WinEDA_ModuleEditFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
break
;
case
ID_MODEDIT_PLACE_ANCHOR
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
Place_Ancre
(
m_Pcb
->
m_Modules
,
DC
);
m_Pcb
->
m_Modules
->
m_Flags
=
0
;
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
Place_Ancre
(
GetBoard
()
->
m_Modules
,
DC
);
GetBoard
()
->
m_Modules
->
m_Flags
=
0
;
GetScreen
()
->
m_Curseur
=
wxPoint
(
0
,
0
);
Recadre_Trace
(
TRUE
);
Place_Module
(
m_Pcb
->
m_Modules
,
DC
);
Place_Module
(
GetBoard
()
->
m_Modules
,
DC
);
RedrawActiveWindow
(
DC
,
TRUE
);
SetToolID
(
0
,
wxCURSOR_ARROW
,
wxEmptyString
);
SetCurItem
(
NULL
);
break
;
case
ID_TEXT_COMMENT_BUTT
:
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
CreateTextModule
(
m_Pcb
->
m_Modules
,
DC
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
CreateTextModule
(
GetBoard
()
->
m_Modules
,
DC
);
break
;
case
ID_MODEDIT_ADD_PAD
:
if
(
m_Pcb
->
m_Modules
)
if
(
GetBoard
()
->
m_Modules
)
{
SaveCopyInUndoList
(
m_Pcb
->
m_Modules
);
AddPad
(
m_Pcb
->
m_Modules
,
true
);
SaveCopyInUndoList
(
GetBoard
()
->
m_Modules
);
AddPad
(
GetBoard
()
->
m_Modules
,
true
);
}
break
;
...
...
pcbnew/modedit_undo_redo.cpp
View file @
b6035803
...
...
@@ -20,9 +20,9 @@ void WinEDA_ModuleEditFrame::SaveCopyInUndoList( EDA_BaseStruct* ItemToCopy,
EDA_BaseStruct
*
item
;
MODULE
*
CopyItem
;
CopyItem
=
new
MODULE
(
m_Pcb
);
CopyItem
=
new
MODULE
(
GetBoard
()
);
CopyItem
->
Copy
(
(
MODULE
*
)
ItemToCopy
);
CopyItem
->
SetParent
(
m_Pcb
);
CopyItem
->
SetParent
(
GetBoard
()
);
GetScreen
()
->
AddItemToUndoList
(
(
EDA_BaseStruct
*
)
CopyItem
);
/* Clear current flags (which can be temporary set by a current edit command) */
...
...
@@ -51,9 +51,9 @@ void WinEDA_ModuleEditFrame::GetComponentFromRedoList()
if
(
GetScreen
()
->
m_RedoList
==
NULL
)
return
;
GetScreen
()
->
AddItemToUndoList
(
m_Pcb
->
m_Modules
.
PopFront
()
);
GetScreen
()
->
AddItemToUndoList
(
GetBoard
()
->
m_Modules
.
PopFront
()
);
m_Pcb
->
Add
(
(
MODULE
*
)
GetScreen
()
->
GetItemFromRedoList
()
);
GetBoard
()
->
Add
(
(
MODULE
*
)
GetScreen
()
->
GetItemFromRedoList
()
);
SetCurItem
(
NULL
);;
GetScreen
()
->
SetModify
();
...
...
@@ -74,15 +74,15 @@ void WinEDA_ModuleEditFrame::GetComponentFromUndoList()
if
(
GetScreen
()
->
m_UndoList
==
NULL
)
return
;
GetScreen
()
->
AddItemToRedoList
(
m_Pcb
->
m_Modules
.
PopFront
()
);
GetScreen
()
->
AddItemToRedoList
(
GetBoard
()
->
m_Modules
.
PopFront
()
);
MODULE
*
module
=
(
MODULE
*
)
GetScreen
()
->
GetItemFromUndoList
();
if
(
module
)
m_Pcb
->
Add
(
module
,
ADD_APPEND
);
GetBoard
()
->
Add
(
module
,
ADD_APPEND
);
/* Add() calls PushBack(), no need for this
if(
m_Pcb
->m_Modules )
m_Pcb
->m_Modules->SetNext( NULL );
if(
GetBoard()
->m_Modules )
GetBoard()
->m_Modules->SetNext( NULL );
*/
GetScreen
()
->
SetModify
();
...
...
pcbnew/moduleframe.cpp
View file @
b6035803
...
...
@@ -176,9 +176,10 @@ WinEDA_ModuleEditFrame::WinEDA_ModuleEditFrame( wxWindow* father,
if
(
g_ModuleEditor_Pcb
==
NULL
)
g_ModuleEditor_Pcb
=
new
BOARD
(
NULL
,
this
);
m_Pcb
=
g_ModuleEditor_Pcb
;
SetBoard
(
g_ModuleEditor_Pcb
);
GetBoard
()
->
m_PcbFrame
=
this
;
m_Pcb
->
m_PcbFrame
=
this
;
SetBaseScreen
(
ScreenModule
);
GetScreen
()
->
SetCurItem
(
NULL
);
GetSettings
();
...
...
@@ -260,7 +261,7 @@ void WinEDA_ModuleEditFrame::SetToolbars()
m_HToolBar
->
EnableTool
(
ID_MODEDIT_SAVE_LIBMODULE
,
islib
);
m_HToolBar
->
EnableTool
(
ID_LIBEDIT_DELETE_PART
,
islib
);
if
(
m_Pcb
->
m_Modules
==
NULL
)
if
(
GetBoard
()
->
m_Modules
==
NULL
)
active
=
FALSE
;
else
active
=
TRUE
;
...
...
@@ -269,10 +270,10 @@ void WinEDA_ModuleEditFrame::SetToolbars()
m_HToolBar
->
EnableTool
(
ID_LIBEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART
,
active
);
m_HToolBar
->
EnableTool
(
ID_MODEDIT_SAVE_LIBMODULE
,
active
&&
islib
);
MODULE
*
module_in_edit
=
m_Pcb
->
m_Modules
;
MODULE
*
module_in_edit
=
GetBoard
()
->
m_Modules
;
if
(
module_in_edit
&&
module_in_edit
->
m_Link
)
// this is not a new module ...
{
BOARD
*
mainpcb
=
frame
->
m_Pcb
;
BOARD
*
mainpcb
=
frame
->
GetBoard
()
;
MODULE
*
source_module
=
mainpcb
->
m_Modules
;
// search if the source module was not deleted:
...
...
@@ -305,7 +306,7 @@ void WinEDA_ModuleEditFrame::SetToolbars()
m_HToolBar
->
EnableTool
(
ID_MODEDIT_REDO
,
GetScreen
()
->
m_RedoList
&&
active
);
}
if
(
frame
->
m_Pcb
->
m_Modules
)
if
(
frame
->
GetBoard
()
->
m_Modules
)
{
m_HToolBar
->
EnableTool
(
ID_MODEDIT_LOAD_MODULE_FROM_BOARD
,
TRUE
);
}
...
...
pcbnew/modules.cpp
View file @
b6035803
...
...
@@ -81,7 +81,7 @@ MODULE* WinEDA_BasePcbFrame::GetModuleByName()
Get_Message
(
_
(
"Name:"
),
_
(
"Search footprint"
),
modulename
,
this
);
if
(
!
modulename
.
IsEmpty
()
)
{
module
=
m_Pcb
->
m_Modules
;
module
=
GetBoard
()
->
m_Modules
;
while
(
module
)
{
if
(
module
->
m_Reference
->
m_Text
.
CmpNoCase
(
modulename
)
==
0
)
...
...
@@ -101,7 +101,7 @@ void WinEDA_PcbFrame::StartMove_Module( MODULE* module, wxDC* DC )
return
;
SetCurItem
(
module
);
m_Pcb
->
m_Status_Pcb
&=
~
CHEVELU_LOCAL_OK
;
GetBoard
()
->
m_Status_Pcb
&=
~
CHEVELU_LOCAL_OK
;
module
->
m_Flags
|=
IS_MOVED
;
ModuleInitOrient
=
module
->
m_Orient
;
ModuleInitLayer
=
module
->
GetLayer
();
...
...
@@ -120,7 +120,7 @@ void WinEDA_PcbFrame::StartMove_Module( MODULE* module, wxDC* DC )
Build_Drag_Liste
(
DrawPanel
,
DC
,
module
);
}
m_Pcb
->
m_Status_Pcb
|=
DO_NOT_SHOW_GENERAL_RASTNEST
;
GetBoard
()
->
m_Status_Pcb
|=
DO_NOT_SHOW_GENERAL_RASTNEST
;
DrawPanel
->
ManageCurseur
=
Montre_Position_Empreinte
;
DrawPanel
->
ForceCloseManageCurseur
=
Abort_MoveOrCopyModule
;
DrawPanel
->
m_AutoPAN_Request
=
TRUE
;
...
...
@@ -152,7 +152,7 @@ void Abort_MoveOrCopyModule( WinEDA_DrawPanel* Panel, wxDC* DC )
WinEDA_BasePcbFrame
*
pcbframe
=
(
WinEDA_BasePcbFrame
*
)
Panel
->
m_Parent
;
module
=
(
MODULE
*
)
pcbframe
->
GetScreen
()
->
GetCurItem
();
pcbframe
->
m_Pcb
->
m_Status_Pcb
&=
~
CHEVELU_LOCAL_OK
;
pcbframe
->
GetBoard
()
->
m_Status_Pcb
&=
~
CHEVELU_LOCAL_OK
;
if
(
module
)
{
...
...
@@ -192,7 +192,7 @@ void Abort_MoveOrCopyModule( WinEDA_DrawPanel* Panel, wxDC* DC )
{
module
->
DeleteStructure
();
module
=
NULL
;
pcbframe
->
m_Pcb
->
m_Status_Pcb
=
0
;
pcbframe
->
GetBoard
()
->
m_Status_Pcb
=
0
;
pcbframe
->
build_liste_pads
();
}
}
...
...
@@ -203,7 +203,7 @@ void Abort_MoveOrCopyModule( WinEDA_DrawPanel* Panel, wxDC* DC )
if
(
ModuleInitOrient
!=
module
->
m_Orient
)
pcbframe
->
Rotate_Module
(
NULL
,
module
,
ModuleInitOrient
,
FALSE
);
if
(
ModuleInitLayer
!=
module
->
GetLayer
()
)
pcbframe
->
m_Pcb
->
Change_Side_Module
(
module
,
NULL
);
pcbframe
->
GetBoard
()
->
Change_Side_Module
(
module
,
NULL
);
module
->
Draw
(
Panel
,
DC
,
GR_OR
);
}
g_Drag_Pistes_On
=
FALSE
;
...
...
@@ -211,7 +211,7 @@ void Abort_MoveOrCopyModule( WinEDA_DrawPanel* Panel, wxDC* DC )
Panel
->
ForceCloseManageCurseur
=
NULL
;
pcbframe
->
SetCurItem
(
NULL
);
pcbframe
->
m_Pcb
->
m_Status_Pcb
&=
~
DO_NOT_SHOW_GENERAL_RASTNEST
;
// Display ratsnest is allowed
pcbframe
->
GetBoard
()
->
m_Status_Pcb
&=
~
DO_NOT_SHOW_GENERAL_RASTNEST
;
// Display ratsnest is allowed
if
(
g_Show_Ratsnest
)
pcbframe
->
DrawGeneralRatsnest
(
DC
);
}
...
...
@@ -236,22 +236,22 @@ MODULE* WinEDA_BasePcbFrame::Copie_Module( MODULE* module )
GetScreen
()
->
SetModify
();
/* Duplication du module */
m_Pcb
->
m_Status_Pcb
=
0
;
newmodule
=
new
MODULE
(
m_Pcb
);
GetBoard
()
->
m_Status_Pcb
=
0
;
newmodule
=
new
MODULE
(
GetBoard
()
);
newmodule
->
Copy
(
module
);
/* no, Add() below does this
newmodule->SetParent(
m_Pcb
);
newmodule->SetParent(
GetBoard()
);
*/
m_Pcb
->
Add
(
newmodule
,
ADD_APPEND
);
GetBoard
()
->
Add
(
newmodule
,
ADD_APPEND
);
newmodule
->
m_Flags
=
IS_NEW
;
build_liste_pads
();
newmodule
->
Display_Infos
(
this
);
m_Pcb
->
m_Status_Pcb
&=
~
CHEVELU_LOCAL_OK
;
GetBoard
()
->
m_Status_Pcb
&=
~
CHEVELU_LOCAL_OK
;
return
newmodule
;
}
...
...
@@ -326,7 +326,7 @@ bool WinEDA_PcbFrame::Delete_Module( MODULE* module, wxDC* DC, bool aAskBeforeDe
/* Sauvegarde en buffer des undelete */
SaveItemEfface
(
module
,
1
);
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
build_liste_pads
();
ReCompile_Ratsnest_After_Changes
(
DC
);
...
...
@@ -667,9 +667,9 @@ void WinEDA_BasePcbFrame::Place_Module( MODULE* module, wxDC* DC )
return
;
GetScreen
()
->
SetModify
();
m_Pcb
->
m_Status_Pcb
&=
~
(
LISTE_CHEVELU_OK
|
CONNEXION_OK
);
GetBoard
()
->
m_Status_Pcb
&=
~
(
LISTE_CHEVELU_OK
|
CONNEXION_OK
);
if
(
g_Show_Module_Ratsnest
&&
(
m_Pcb
->
m_Status_Pcb
&
LISTE_PAD_OK
)
&&
DC
)
if
(
g_Show_Module_Ratsnest
&&
(
GetBoard
()
->
m_Status_Pcb
&
LISTE_PAD_OK
)
&&
DC
)
trace_ratsnest_module
(
DC
);
newpos
=
GetScreen
()
->
m_Curseur
;
...
...
@@ -748,7 +748,7 @@ void WinEDA_BasePcbFrame::Rotate_Module( wxDC* DC, MODULE* module,
}
}
m_Pcb
->
m_Status_Pcb
&=
~
(
LISTE_CHEVELU_OK
|
CONNEXION_OK
);
GetBoard
()
->
m_Status_Pcb
&=
~
(
LISTE_CHEVELU_OK
|
CONNEXION_OK
);
if
(
incremental
)
module
->
SetOrientation
(
module
->
m_Orient
+
angle
);
...
...
pcbnew/move_or_drag_track.cpp
View file @
b6035803
...
...
@@ -715,7 +715,7 @@ bool WinEDA_PcbFrame::MergeCollinearTracks( TRACK* track, wxDC* DC, int end )
{
TRACK
*
testtrack
=
NULL
;
testtrack
=
(
TRACK
*
)
Locate_Piste_Connectee
(
track
,
m_Pcb
->
m_Track
,
NULL
,
end
);
testtrack
=
(
TRACK
*
)
Locate_Piste_Connectee
(
track
,
GetBoard
()
->
m_Track
,
NULL
,
end
);
if
(
testtrack
)
{
SortTrackEndPoints
(
track
);
...
...
@@ -767,25 +767,25 @@ void WinEDA_PcbFrame::Start_DragTrackSegmentAndKeepSlope( TRACK* track, wxDC* DC
s_StartSegmentPresent
=
s_EndSegmentPresent
=
TRUE
;
if
(
(
track
->
start
==
NULL
)
||
(
track
->
start
->
Type
()
==
TYPE_TRACK
)
)
TrackToStartPoint
=
(
TRACK
*
)
Locate_Piste_Connectee
(
track
,
m_Pcb
->
m_Track
,
NULL
,
START
);
TrackToStartPoint
=
(
TRACK
*
)
Locate_Piste_Connectee
(
track
,
GetBoard
()
->
m_Track
,
NULL
,
START
);
// Test if more than one segment is connected to this point
if
(
TrackToStartPoint
)
{
TrackToStartPoint
->
SetState
(
BUSY
,
ON
);
if
(
Locate_Piste_Connectee
(
track
,
m_Pcb
->
m_Track
,
NULL
,
START
)
)
if
(
Locate_Piste_Connectee
(
track
,
GetBoard
()
->
m_Track
,
NULL
,
START
)
)
error
=
TRUE
;
TrackToStartPoint
->
SetState
(
BUSY
,
OFF
);
}
if
(
(
track
->
end
==
NULL
)
||
(
track
->
end
->
Type
()
==
TYPE_TRACK
)
)
TrackToEndPoint
=
(
TRACK
*
)
Locate_Piste_Connectee
(
track
,
m_Pcb
->
m_Track
,
NULL
,
END
);
TrackToEndPoint
=
(
TRACK
*
)
Locate_Piste_Connectee
(
track
,
GetBoard
()
->
m_Track
,
NULL
,
END
);
// Test if more than one segment is connected to this point
if
(
TrackToEndPoint
)
{
TrackToEndPoint
->
SetState
(
BUSY
,
ON
);
if
(
Locate_Piste_Connectee
(
track
,
m_Pcb
->
m_Track
,
NULL
,
END
)
)
if
(
Locate_Piste_Connectee
(
track
,
GetBoard
()
->
m_Track
,
NULL
,
END
)
)
error
=
TRUE
;
TrackToEndPoint
->
SetState
(
BUSY
,
OFF
);
}
...
...
@@ -870,14 +870,14 @@ bool WinEDA_PcbFrame::PlaceDraggedTrackSegment( TRACK* Track, wxDC* DC )
// DRC control:
if
(
Drc_On
)
{
errdrc
=
m_drc
->
Drc
(
Track
,
m_Pcb
->
m_Track
);
errdrc
=
m_drc
->
Drc
(
Track
,
GetBoard
()
->
m_Track
);
if
(
errdrc
==
BAD_DRC
)
return
FALSE
;
/* Redraw the dragged segments */
pt_drag
=
g_DragSegmentList
;
for
(
;
pt_drag
!=
NULL
;
pt_drag
=
pt_drag
->
Pnext
)
{
errdrc
=
m_drc
->
Drc
(
pt_drag
->
m_Segm
,
m_Pcb
->
m_Track
);
errdrc
=
m_drc
->
Drc
(
pt_drag
->
m_Segm
,
GetBoard
()
->
m_Track
);
if
(
errdrc
==
BAD_DRC
)
return
FALSE
;
}
...
...
@@ -902,8 +902,8 @@ bool WinEDA_PcbFrame::PlaceDraggedTrackSegment( TRACK* Track, wxDC* DC )
/* Test the connections modified by the move
* (only pad connection must be tested, track connection will be tested by test_1_net_connexion() ) */
int
masque_layer
=
g_TabOneLayerMask
[
Track
->
GetLayer
()];
Track
->
start
=
Fast_Locate_Pad_Connecte
(
m_Pcb
,
Track
->
m_Start
,
masque_layer
);
Track
->
end
=
Fast_Locate_Pad_Connecte
(
m_Pcb
,
Track
->
m_End
,
masque_layer
);
Track
->
start
=
Fast_Locate_Pad_Connecte
(
GetBoard
()
,
Track
->
m_Start
,
masque_layer
);
Track
->
end
=
Fast_Locate_Pad_Connecte
(
GetBoard
()
,
Track
->
m_End
,
masque_layer
);
}
EraseDragListe
();
...
...
pcbnew/muonde.cpp
View file @
b6035803
...
...
@@ -258,7 +258,7 @@ MODULE* WinEDA_PcbFrame::Create_MuWaveComponent( int shape_type )
}
Module
->
Set_Rectangle_Encadrement
();
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
GetScreen
()
->
SetModify
();
return
Module
;
}
...
...
@@ -612,7 +612,7 @@ MODULE* WinEDA_PcbFrame::Create_MuWavePolygonShape( )
PolyEdges
=
NULL
;
Module
->
Set_Rectangle_Encadrement
();
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
GetScreen
()
->
SetModify
();
return
Module
;
}
...
...
pcbnew/netlist.cpp
View file @
b6035803
...
...
@@ -188,7 +188,7 @@ void ReadPcbNetlist( WinEDA_PcbFrame* aFrame,
aMessageWindow
->
AppendText
(
msg
);
aFrame
->
GetScreen
()
->
SetModify
();
aFrame
->
m_Pcb
->
m_Status_Pcb
=
0
;
State
=
0
;
LineNum
=
0
;
Comment
=
0
;
aFrame
->
GetBoard
()
->
m_Status_Pcb
=
0
;
State
=
0
;
LineNum
=
0
;
Comment
=
0
;
s_NbNewModules
=
0
;
wxBusyCursor
dummy
;
// Shows an hourglass while calculating
...
...
@@ -323,7 +323,7 @@ void ReadPcbNetlist( WinEDA_PcbFrame* aFrame,
if
(
NbModulesNetListe
)
{
MODULE
*
NextModule
;
Module
=
aFrame
->
m_Pcb
->
m_Modules
;
Module
=
aFrame
->
GetBoard
()
->
m_Modules
;
bool
ask_for_confirmation
=
true
;
for
(
;
Module
!=
NULL
;
Module
=
NextModule
)
{
...
...
@@ -357,7 +357,7 @@ void ReadPcbNetlist( WinEDA_PcbFrame* aFrame,
/* Rebuild the connectivity */
aFrame
->
Compile_Ratsnest
(
NULL
,
TRUE
);
if
(
aFrame
->
m_Pcb
->
m_Track
)
if
(
aFrame
->
GetBoard
()
->
m_Track
)
{
if
(
aDeleteBadTracks
)
// Remove erroneous tracks
{
...
...
@@ -367,7 +367,7 @@ void ReadPcbNetlist( WinEDA_PcbFrame* aFrame,
}
aFrame
->
DrawPanel
->
Refresh
();
aFrame
->
m_Pcb
->
Display_Infos
(
aFrame
);
aFrame
->
GetBoard
()
->
Display_Infos
(
aFrame
);
}
...
...
@@ -442,7 +442,7 @@ MODULE* ReadNetModule( WinEDA_PcbFrame* aFrame,
LocalTimeStamp
.
ToULong
(
&
TimeStamp
,
16
);
/* Tst si composant deja charge */
Module
=
aFrame
->
m_Pcb
->
m_Modules
;
Module
=
aFrame
->
GetBoard
()
->
m_Modules
;
MODULE
*
NextModule
;
for
(
Found
=
FALSE
;
Module
!=
NULL
;
Module
=
NextModule
)
{
...
...
@@ -631,18 +631,18 @@ MODULE* WinEDA_PcbFrame::ListAndSelectModuleName( void )
WinEDAListBox
*
ListBox
;
const
wxChar
**
ListNames
=
NULL
;
if
(
m_Pcb
->
m_Modules
==
NULL
)
if
(
GetBoard
()
->
m_Modules
==
NULL
)
{
DisplayError
(
this
,
_
(
"No Modules"
)
);
return
0
;
}
/* Calcul du nombre des modules */
nb_empr
=
0
;
Module
=
(
MODULE
*
)
m_Pcb
->
m_Modules
;
nb_empr
=
0
;
Module
=
(
MODULE
*
)
GetBoard
()
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Next
()
)
nb_empr
++
;
ListNames
=
(
const
wxChar
**
)
MyZMalloc
(
(
nb_empr
+
1
)
*
sizeof
(
wxChar
*
)
);
Module
=
(
MODULE
*
)
m_Pcb
->
m_Modules
;
Module
=
(
MODULE
*
)
GetBoard
()
->
m_Modules
;
for
(
ii
=
0
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Next
(),
ii
++
)
{
ListNames
[
ii
]
=
Module
->
m_Reference
->
m_Text
.
GetData
();
...
...
@@ -659,7 +659,7 @@ MODULE* WinEDA_PcbFrame::ListAndSelectModuleName( void )
}
else
/* Recherche du module selectionne */
{
Module
=
(
MODULE
*
)
m_Pcb
->
m_Modules
;
Module
=
(
MODULE
*
)
GetBoard
()
->
m_Modules
;
for
(
jj
=
0
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Next
(),
jj
++
)
{
if
(
Module
->
m_Reference
->
m_Text
.
Cmp
(
ListNames
[
ii
]
)
==
0
)
...
...
@@ -1015,9 +1015,9 @@ void LoadListeModules( WinEDA_PcbFrame* aPcbFrame, wxDC* DC )
// Calculate the footprint "best" position:
if
(
aPcbFrame
->
SetBoardBoundaryBoxFromEdgesOnly
()
)
{
aPcbFrame
->
GetScreen
()
->
m_Curseur
.
x
=
aPcbFrame
->
m_Pcb
->
m_BoundaryBox
.
GetRight
()
+
aPcbFrame
->
GetScreen
()
->
m_Curseur
.
x
=
aPcbFrame
->
GetBoard
()
->
m_BoundaryBox
.
GetRight
()
+
5000
;
aPcbFrame
->
GetScreen
()
->
m_Curseur
.
y
=
aPcbFrame
->
m_Pcb
->
m_BoundaryBox
.
GetBottom
()
+
aPcbFrame
->
GetScreen
()
->
m_Curseur
.
y
=
aPcbFrame
->
GetBoard
()
->
m_BoundaryBox
.
GetBottom
()
+
10000
;
}
else
...
...
@@ -1054,10 +1054,10 @@ void LoadListeModules( WinEDA_PcbFrame* aPcbFrame, wxDC* DC )
if
(
Module
==
NULL
)
continue
;
/* module non existant en libr */
newmodule
=
new
MODULE
(
aPcbFrame
->
m_Pcb
);
newmodule
=
new
MODULE
(
aPcbFrame
->
GetBoard
()
);
newmodule
->
Copy
(
Module
);
aPcbFrame
->
m_Pcb
->
Add
(
newmodule
,
ADD_APPEND
);
aPcbFrame
->
GetBoard
()
->
Add
(
newmodule
,
ADD_APPEND
);
Module
=
newmodule
;
Module
->
m_Reference
->
m_Text
=
cmp
->
m_CmpName
;
...
...
pcbnew/onleftclick.cpp
View file @
b6035803
...
...
@@ -133,7 +133,7 @@ void WinEDA_PcbFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
{
int
netcode
=
Select_High_Light
(
DC
);
if
(
netcode
<
0
)
m_Pcb
->
Display_Infos
(
this
);
GetBoard
()
->
Display_Infos
(
this
);
else
Affiche_Infos_Equipot
(
netcode
,
this
);
}
...
...
@@ -225,7 +225,7 @@ void WinEDA_PcbFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
{
if
(
Begin_Zone
(
DC
)
)
{
DrawStruct
=
m_Pcb
->
m_CurrentZoneContour
;
DrawStruct
=
GetBoard
()
->
m_CurrentZoneContour
;
GetScreen
()
->
SetCurItem
(
DrawStruct
);
}
}
...
...
@@ -234,7 +234,7 @@ void WinEDA_PcbFrame::OnLeftClick( wxDC* DC, const wxPoint& MousePos )
&&
(
DrawStruct
->
m_Flags
&
IS_NEW
)
)
{
Begin_Zone
(
DC
);
DrawStruct
=
m_Pcb
->
m_CurrentZoneContour
;
DrawStruct
=
GetBoard
()
->
m_CurrentZoneContour
;
GetScreen
()
->
SetCurItem
(
DrawStruct
);
}
else
...
...
@@ -402,8 +402,8 @@ void WinEDA_PcbFrame::OnLeftDClick( wxDC* DC, const wxPoint& MousePos )
break
;
case
TYPE_DRAWSEGMENT
:
InstallGraphicItemPropertiesDialog
((
DRAWSEGMENT
*
)
DrawStruct
,
&
dc
);
break
;
InstallGraphicItemPropertiesDialog
((
DRAWSEGMENT
*
)
DrawStruct
,
&
dc
);
break
;
case
TYPE_ZONE_CONTAINER
:
if
(
DrawStruct
->
m_Flags
)
...
...
pcbnew/onrightclick.cpp
View file @
b6035803
...
...
@@ -336,7 +336,7 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
switch
(
m_ID_current_state
)
{
case
ID_PCB_ZONES_BUTT
:
if
(
m_Pcb
->
m_ZoneDescriptorList
.
size
()
>
0
)
if
(
GetBoard
()
->
m_ZoneDescriptorList
.
size
()
>
0
)
{
aPopMenu
->
AppendSeparator
();
ADD_MENUITEM
(
aPopMenu
,
ID_POPUP_PCB_FILL_ALL_ZONES
,
...
...
@@ -413,7 +413,7 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu )
commands
->
Append
(
ID_POPUP_PCB_AUTOROUTE_ALL_MODULES
,
_
(
"Autoroute All Modules"
)
);
commands
->
AppendSeparator
();
commands
->
Append
(
ID_POPUP_PCB_AUTOROUTE_RESET_UNROUTED
,
_
(
"Reset Unrouted"
)
);
if
(
m_Pcb
->
m_Modules
)
if
(
GetBoard
()
->
m_Modules
)
{
commands
->
AppendSeparator
();
commands
->
Append
(
ID_POPUP_PCB_AUTOROUTE_GET_AUTOROUTER
,
...
...
@@ -710,7 +710,7 @@ void WinEDA_PcbFrame::createPopUpMenuForFootprints( MODULE* aModule, wxMenu* men
sub_menu_footprint
=
new
wxMenu
;
msg
=
aModule
->
MenuText
(
m_Pcb
);
msg
=
aModule
->
MenuText
(
GetBoard
()
);
ADD_MENUITEM_WITH_SUBMENU
(
menu
,
sub_menu_footprint
,
-
1
,
msg
,
module_xpm
);
if
(
!
flags
)
{
...
...
@@ -751,7 +751,7 @@ void WinEDA_PcbFrame::createPopUpMenuForFpTexts( TEXTE_MODULE* FpText, wxMenu* m
wxMenu
*
sub_menu_Fp_text
;
int
flags
=
FpText
->
m_Flags
;
wxString
msg
=
FpText
->
MenuText
(
m_Pcb
);
wxString
msg
=
FpText
->
MenuText
(
GetBoard
()
);
sub_menu_Fp_text
=
new
wxMenu
;
...
...
@@ -790,7 +790,7 @@ void WinEDA_PcbFrame::createPopUpMenuForFpPads( D_PAD* Pad, wxMenu* menu )
wxMenu
*
sub_menu_Pad
;
int
flags
=
Pad
->
m_Flags
;
wxString
msg
=
Pad
->
MenuText
(
m_Pcb
);
wxString
msg
=
Pad
->
MenuText
(
GetBoard
()
);
sub_menu_Pad
=
new
wxMenu
;
ADD_MENUITEM_WITH_SUBMENU
(
menu
,
sub_menu_Pad
,
-
1
,
msg
,
pad_xpm
);
...
...
@@ -854,7 +854,7 @@ void WinEDA_PcbFrame::createPopUpMenuForTexts( TEXTE_PCB* Text, wxMenu* menu )
wxMenu
*
sub_menu_Text
;
int
flags
=
Text
->
m_Flags
;
wxString
msg
=
Text
->
MenuText
(
m_Pcb
);
wxString
msg
=
Text
->
MenuText
(
GetBoard
()
);
sub_menu_Text
=
new
wxMenu
;
...
...
pcbnew/pcbframe.cpp
View file @
b6035803
...
...
@@ -214,7 +214,7 @@ WinEDA_PcbFrame::WinEDA_PcbFrame( wxWindow* father,
m_drc
=
new
DRC
(
this
);
// these 2 objects point to each other
SetB
OARD
(
new
BOARD
(
NULL
,
this
)
);
SetB
oard
(
new
BOARD
(
NULL
,
this
)
);
m_DisplayPcbTrackFill
=
DisplayOpt
.
DisplayPcbTrackFill
;
m_DisplayPadFill
=
DisplayOpt
.
DisplayPadFill
;
...
...
@@ -273,8 +273,8 @@ WinEDA_PcbFrame::~WinEDA_PcbFrame()
delete
m_drc
;
if
(
m_Pcb
!=
g_ModuleEditor_Pcb
)
delete
m_Pcb
;
if
(
GetBoard
()
!=
g_ModuleEditor_Pcb
)
delete
GetBoard
()
;
}
...
...
pcbnew/pcbplot.cpp
View file @
b6035803
...
...
@@ -163,7 +163,7 @@ void WinEDA_PlotFrame::OnInitDialog( wxInitDialogEvent& event )
wxButton
*
button
;
BOARD
*
board
=
m_Parent
->
m_Pcb
;
BOARD
*
board
=
m_Parent
->
GetBoard
()
;
wxConfig
*
config
=
wxGetApp
().
m_EDA_Config
;
// Current config used by application
...
...
@@ -641,7 +641,7 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
wxString
FullFileName
,
BaseFileName
;
wxString
ext
;
BOARD
*
board
=
m_Parent
->
m_Pcb
;
BOARD
*
board
=
m_Parent
->
GetBoard
()
;
SaveOptPlot
(
event
);
...
...
pcbnew/print_board_functions.cpp
View file @
b6035803
...
...
@@ -30,7 +30,7 @@ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmaskl
DISPLAY_OPTIONS
save_opt
;
TRACK
*
pt_piste
;
WinEDA_BasePcbFrame
*
frame
=
(
WinEDA_BasePcbFrame
*
)
m_Parent
;
BOARD
*
Pcb
=
frame
->
m_Pcb
;
BOARD
*
Pcb
=
frame
->
GetBoard
()
;
save_opt
=
DisplayOpt
;
if
(
printmasklayer
&
ALL_CU_LAYERS
)
...
...
pcbnew/router.cpp
View file @
b6035803
...
...
@@ -67,27 +67,27 @@ void WinEDA_PcbFrame::GlobalRoute( wxDC* DC )
SetStatusText
(
msg
);
/* calcul ratsnest */
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
Compile_Ratsnest
(
DC
,
TRUE
);
m_Pcb
->
ComputeBoundaryBox
();
GetBoard
()
->
ComputeBoundaryBox
();
g_GridRoutingSize
=
GetScreen
()
->
GetGrid
().
x
;
// Sortie de la dimension hors tout du pcb (dimensions + marge + g_GridRoutingSize)
#define B_MARGE 1000 // en 1/10000 inch
fprintf
(
outfile
,
"j %d %d %d %d"
,
(
-
B_MARGE
-
g_GridRoutingSize
+
m_Pcb
->
m_BoundaryBox
.
GetX
()
)
/
PSCALE
,
(
-
B_MARGE
-
g_GridRoutingSize
+
m_Pcb
->
m_BoundaryBox
.
GetY
()
)
/
PSCALE
,
(
B_MARGE
+
g_GridRoutingSize
+
m_Pcb
->
m_BoundaryBox
.
GetRight
()
)
/
PSCALE
,
(
B_MARGE
+
g_GridRoutingSize
+
m_Pcb
->
m_BoundaryBox
.
GetBottom
()
)
/
PSCALE
);
(
-
B_MARGE
-
g_GridRoutingSize
+
GetBoard
()
->
m_BoundaryBox
.
GetX
()
)
/
PSCALE
,
(
-
B_MARGE
-
g_GridRoutingSize
+
GetBoard
()
->
m_BoundaryBox
.
GetY
()
)
/
PSCALE
,
(
B_MARGE
+
g_GridRoutingSize
+
GetBoard
()
->
m_BoundaryBox
.
GetRight
()
)
/
PSCALE
,
(
B_MARGE
+
g_GridRoutingSize
+
GetBoard
()
->
m_BoundaryBox
.
GetBottom
()
)
/
PSCALE
);
/* calcul du nombre de couches cuivre */
min_layer
=
1
;
/* -> couche soudure = min layer */
max_layer
=
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
;
max_layer
=
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
;
fprintf
(
outfile
,
" %d %d"
,
min_layer
,
max_layer
);
net_number
=
m_Pcb
->
m_Equipots
.
GetCount
();
net_number
=
GetBoard
()
->
m_Equipots
.
GetCount
();
fprintf
(
outfile
,
" %d"
,
net_number
);
...
...
@@ -126,8 +126,8 @@ void WinEDA_PcbFrame::GlobalRoute( wxDC* DC )
fprintf
(
outfile
,
"l %d %d
\n
"
,
ii
,
dir
);
/* layer direction record */
}
Out_Pads
(
m_Pcb
,
outfile
);
GenEdges
(
m_Pcb
,
outfile
);
Out_Pads
(
GetBoard
()
,
outfile
);
GenEdges
(
GetBoard
()
,
outfile
);
fclose
(
outfile
);
...
...
@@ -557,7 +557,7 @@ void WinEDA_PcbFrame::ReadAutoroutedTracks( wxDC* DC )
int
track_count
,
track_layer
,
image
,
track_width
;
int
via_layer1
,
via_layer2
,
via_size
;
wxPoint
track_start
,
track_end
;
int
max_layer
=
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
;
int
max_layer
=
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
;
/* Calcule du nom du fichier intermediaire de communication */
FullFileName
=
GetScreen
()
->
m_FileName
;
...
...
@@ -600,7 +600,7 @@ void WinEDA_PcbFrame::ReadAutoroutedTracks( wxDC* DC )
via_layer1
=
CMP_N
;
if
(
via_layer2
==
max_layer
-
1
)
via_layer2
=
CMP_N
;
newVia
=
new
SEGVIA
(
m_Pcb
);
newVia
=
new
SEGVIA
(
GetBoard
()
);
newVia
->
m_Start
=
newVia
->
m_End
=
track_start
;
newVia
->
m_Width
=
via_size
;
...
...
@@ -610,7 +610,7 @@ void WinEDA_PcbFrame::ReadAutoroutedTracks( wxDC* DC )
else
newVia
->
m_Shape
=
VIA_BLIND_BURIED
;
m_Pcb
->
m_Track
.
PushFront
(
newVia
);
GetBoard
()
->
m_Track
.
PushFront
(
newVia
);
NbTrack
++
;
break
;
...
...
@@ -632,7 +632,7 @@ void WinEDA_PcbFrame::ReadAutoroutedTracks( wxDC* DC )
else
{
sscanf
(
Line
+
2
,
"%d %d"
,
&
track_end
.
x
,
&
track_end
.
y
);
newTrack
=
new
TRACK
(
m_Pcb
);
newTrack
=
new
TRACK
(
GetBoard
()
);
newTrack
->
m_Width
=
track_width
;
newTrack
->
SetLayer
(
track_layer
);
...
...
@@ -640,7 +640,7 @@ void WinEDA_PcbFrame::ReadAutoroutedTracks( wxDC* DC )
newTrack
->
m_End
=
track_end
;
track_start
=
track_end
;
m_Pcb
->
m_Track
.
PushFront
(
newTrack
);
GetBoard
()
->
m_Track
.
PushFront
(
newTrack
);
NbTrack
++
;
}
}
...
...
@@ -663,7 +663,7 @@ void WinEDA_PcbFrame::ReadAutoroutedTracks( wxDC* DC )
DisplayError
(
this
,
wxT
(
"Warning: No tracks"
),
10
);
else
{
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
GetScreen
()
->
SetModify
();
}
...
...
pcbnew/sel_layer.cpp
View file @
b6035803
...
...
@@ -101,7 +101,7 @@ WinEDA_SelLayerFrame::WinEDA_SelLayerFrame( WinEDA_BasePcbFrame* parent,
* to the right of that radiobox.
*/
{
BOARD
*
board
=
parent
->
m_Pcb
;
BOARD
*
board
=
parent
->
GetBoard
()
;
wxButton
*
Button
;
int
ii
;
wxString
LayerList
[
NB_LAYERS
+
1
];
// One extra element for "(Deselect)" radiobutton
...
...
@@ -233,7 +233,7 @@ void WinEDA_BasePcbFrame::SelectLayerPair()
// Check whether more than one copper layer has been enabled for the
// current PCB file, as Layer Pairs can only meaningfully be defined
// within PCB files which contain at least two copper layers.
if
(
m_Pcb
->
m_BoardSettings
->
m_CopperLayerCount
<
2
)
if
(
GetBoard
()
->
m_BoardSettings
->
m_CopperLayerCount
<
2
)
{
wxString
InfoMsg
;
InfoMsg
=
_
(
"Less than two copper layers are being used."
);
...
...
@@ -265,7 +265,7 @@ WinEDA_SelLayerPairFrame::WinEDA_SelLayerPairFrame( WinEDA_BasePcbFrame* parent
wxSize
(
470
,
250
),
DIALOG_STYLE
)
/*******************************************************************************/
{
BOARD
*
board
=
parent
->
m_Pcb
;
BOARD
*
board
=
parent
->
GetBoard
()
;
wxButton
*
Button
;
int
ii
,
LayerCount
;
wxString
LayerList
[
NB_COPPER_LAYERS
];
...
...
pcbnew/set_color.cpp
View file @
b6035803
...
...
@@ -225,7 +225,7 @@ void WinEDA_SetColorsFrame::CreateControls()
if
(
laytool_list
[
lyr
]
->
m_Title
==
wxT
(
"*"
)
)
msg
=
g_ViaType_Name
[
laytool_list
[
lyr
]
->
m_LayerNumber
];
else
msg
=
m_Parent
->
m_Pcb
->
GetLayerName
(
laytool_list
[
lyr
]
->
m_LayerNumber
);
msg
=
m_Parent
->
GetBoard
()
->
GetLayerName
(
laytool_list
[
lyr
]
->
m_LayerNumber
);
}
else
msg
=
wxGetTranslation
(
laytool_list
[
lyr
]
->
m_Title
.
GetData
()
);
...
...
pcbnew/solve.cpp
View file @
b6035803
...
...
@@ -215,7 +215,7 @@ int WinEDA_PcbFrame::Solve( wxDC* DC, int two_sides )
Ncurrent
=
0
;
MsgPanel
->
EraseMsgBox
();
msg
.
Printf
(
wxT
(
"%d "
),
m_Pcb
->
m_NbNoconnect
);
msg
.
Printf
(
wxT
(
"%d "
),
GetBoard
()
->
m_NbNoconnect
);
Affiche_1_Parametre
(
this
,
72
,
wxT
(
"NoConn"
),
msg
,
CYAN
);
...
...
@@ -242,7 +242,7 @@ int WinEDA_PcbFrame::Solve( wxDC* DC, int two_sides )
}
Ncurrent
++
;
pt_equipot
=
m_Pcb
->
FindNet
(
current_net_code
);
pt_equipot
=
GetBoard
()
->
FindNet
(
current_net_code
);
if
(
pt_equipot
)
{
msg
.
Printf
(
wxT
(
"[%8.8s]"
),
pt_equipot
->
GetNetname
().
GetData
()
);
...
...
@@ -252,10 +252,10 @@ int WinEDA_PcbFrame::Solve( wxDC* DC, int two_sides )
}
pt_cur_ch
=
pt_cur_ch
;
segm_oX
=
m_Pcb
->
m_BoundaryBox
.
m_Pos
.
x
+
(
g_GridRoutingSize
*
col_source
);
segm_oY
=
m_Pcb
->
m_BoundaryBox
.
m_Pos
.
y
+
(
g_GridRoutingSize
*
row_source
);
segm_fX
=
m_Pcb
->
m_BoundaryBox
.
m_Pos
.
x
+
(
g_GridRoutingSize
*
col_target
);
segm_fY
=
m_Pcb
->
m_BoundaryBox
.
m_Pos
.
y
+
(
g_GridRoutingSize
*
row_target
);
segm_oX
=
GetBoard
()
->
m_BoundaryBox
.
m_Pos
.
x
+
(
g_GridRoutingSize
*
col_source
);
segm_oY
=
GetBoard
()
->
m_BoundaryBox
.
m_Pos
.
y
+
(
g_GridRoutingSize
*
row_source
);
segm_fX
=
GetBoard
()
->
m_BoundaryBox
.
m_Pos
.
x
+
(
g_GridRoutingSize
*
col_target
);
segm_fY
=
GetBoard
()
->
m_BoundaryBox
.
m_Pos
.
y
+
(
g_GridRoutingSize
*
row_target
);
/* Affiche Liaison */
GRLine
(
&
DrawPanel
->
m_ClipBox
,
DC
,
segm_oX
,
segm_oY
,
segm_fX
,
segm_fY
,
0
,
WHITE
|
GR_XOR
);
...
...
@@ -289,7 +289,7 @@ int WinEDA_PcbFrame::Solve( wxDC* DC, int two_sides )
Affiche_1_Parametre
(
this
,
22
,
wxT
(
"Ok"
),
msg
,
GREEN
);
msg
.
Printf
(
wxT
(
"%d "
),
nbunsucces
);
Affiche_1_Parametre
(
this
,
30
,
wxT
(
"Fail"
),
msg
,
RED
);
msg
.
Printf
(
wxT
(
"%d "
),
m_Pcb
->
m_NbNoconnect
);
msg
.
Printf
(
wxT
(
"%d "
),
GetBoard
()
->
m_NbNoconnect
);
Affiche_1_Parametre
(
this
,
38
,
wxT
(
"NoConn"
),
msg
,
CYAN
);
/* Effacement des affichages de routage sur l'ecran */
...
...
@@ -381,8 +381,8 @@ static int Route_1_Trace( WinEDA_PcbFrame* pcbframe, wxDC* DC,
/* Test 2 Si routage possible c.a.d si les pads sont accessibles
* sur la grille de routage ( 1 point de grille doit etre dans le pad)*/
{
int
cX
=
(
g_GridRoutingSize
*
col_source
)
+
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
m_Pos
.
x
;
int
cY
=
(
g_GridRoutingSize
*
row_source
)
+
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
m_Pos
.
y
;
int
cX
=
(
g_GridRoutingSize
*
col_source
)
+
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
m_Pos
.
x
;
int
cY
=
(
g_GridRoutingSize
*
row_source
)
+
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
m_Pos
.
y
;
int
dx
=
pt_cur_ch
->
pad_start
->
m_Size
.
x
/
2
;
int
dy
=
pt_cur_ch
->
pad_start
->
m_Size
.
y
/
2
;
int
px
=
pt_cur_ch
->
pad_start
->
GetPosition
().
x
;
...
...
@@ -393,8 +393,8 @@ static int Route_1_Trace( WinEDA_PcbFrame* pcbframe, wxDC* DC,
if
(
(
abs
(
cX
-
px
)
>
dx
)
||
(
abs
(
cY
-
py
)
>
dy
)
)
goto
end_of_route
;
cX
=
(
g_GridRoutingSize
*
col_target
)
+
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
m_Pos
.
x
;
cY
=
(
g_GridRoutingSize
*
row_target
)
+
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
m_Pos
.
y
;
cX
=
(
g_GridRoutingSize
*
col_target
)
+
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
m_Pos
.
x
;
cY
=
(
g_GridRoutingSize
*
row_target
)
+
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
m_Pos
.
y
;
dx
=
pt_cur_ch
->
pad_end
->
m_Size
.
x
/
2
;
dy
=
pt_cur_ch
->
pad_end
->
m_Size
.
y
/
2
;
px
=
pt_cur_ch
->
pad_end
->
GetPosition
().
x
;
...
...
@@ -419,18 +419,18 @@ static int Route_1_Trace( WinEDA_PcbFrame* pcbframe, wxDC* DC,
/* Placement du bit de suppression d'obstacle relative aux 2 pads a relier */
pcbframe
->
Affiche_Message
(
wxT
(
"Gen Cells"
)
);
Place_1_Pad_Board
(
pcbframe
->
m_Pcb
,
pt_cur_ch
->
pad_start
,
CURRENT_PAD
,
marge
,
WRITE_OR_CELL
);
Place_1_Pad_Board
(
pcbframe
->
m_Pcb
,
pt_cur_ch
->
pad_end
,
CURRENT_PAD
,
marge
,
WRITE_OR_CELL
);
Place_1_Pad_Board
(
pcbframe
->
GetBoard
()
,
pt_cur_ch
->
pad_start
,
CURRENT_PAD
,
marge
,
WRITE_OR_CELL
);
Place_1_Pad_Board
(
pcbframe
->
GetBoard
()
,
pt_cur_ch
->
pad_end
,
CURRENT_PAD
,
marge
,
WRITE_OR_CELL
);
/* Regenere les barrieres restantes (qui peuvent empieter sur le placement
* des bits precedents) */
ptr
=
(
LISTE_PAD
*
)
&
pcbframe
->
m_Pcb
->
m_Pads
[
0
];
i
=
pcbframe
->
m_Pcb
->
m_Pads
.
size
();
ptr
=
(
LISTE_PAD
*
)
&
pcbframe
->
GetBoard
()
->
m_Pads
[
0
];
i
=
pcbframe
->
GetBoard
()
->
m_Pads
.
size
();
for
(
;
i
>
0
;
i
--
,
ptr
++
)
{
if
(
(
pt_cur_ch
->
pad_start
!=
*
ptr
)
&&
(
pt_cur_ch
->
pad_end
!=
*
ptr
)
)
{
Place_1_Pad_Board
(
pcbframe
->
m_Pcb
,
*
ptr
,
~
CURRENT_PAD
,
marge
,
WRITE_AND_CELL
);
Place_1_Pad_Board
(
pcbframe
->
GetBoard
()
,
*
ptr
,
~
CURRENT_PAD
,
marge
,
WRITE_AND_CELL
);
}
}
...
...
@@ -678,8 +678,8 @@ static int Route_1_Trace( WinEDA_PcbFrame* pcbframe, wxDC* DC,
}
end_of_route
:
Place_1_Pad_Board
(
pcbframe
->
m_Pcb
,
pt_cur_ch
->
pad_start
,
~
CURRENT_PAD
,
marge
,
WRITE_AND_CELL
);
Place_1_Pad_Board
(
pcbframe
->
m_Pcb
,
pt_cur_ch
->
pad_end
,
~
CURRENT_PAD
,
marge
,
WRITE_AND_CELL
);
Place_1_Pad_Board
(
pcbframe
->
GetBoard
()
,
pt_cur_ch
->
pad_start
,
~
CURRENT_PAD
,
marge
,
WRITE_AND_CELL
);
Place_1_Pad_Board
(
pcbframe
->
GetBoard
()
,
pt_cur_ch
->
pad_end
,
~
CURRENT_PAD
,
marge
,
WRITE_AND_CELL
);
return
result
;
}
...
...
@@ -827,7 +827,7 @@ static int Retrace( WinEDA_PcbFrame* pcbframe, wxDC* DC,
return
0
;
}
OrCell_Trace
(
pcbframe
->
m_Pcb
,
r1
,
c1
,
s1
,
p_dir
,
current_net_code
);
OrCell_Trace
(
pcbframe
->
GetBoard
()
,
r1
,
c1
,
s1
,
p_dir
,
current_net_code
);
}
else
{
...
...
@@ -842,9 +842,9 @@ static int Retrace( WinEDA_PcbFrame* pcbframe, wxDC* DC,
||
x
==
FROM_OTHERSIDE
)
&&
(
(
b
=
bit
[
y
-
1
][
x
-
1
])
!=
0
)
)
{
OrCell_Trace
(
pcbframe
->
m_Pcb
,
r1
,
c1
,
s1
,
b
,
current_net_code
);
OrCell_Trace
(
pcbframe
->
GetBoard
()
,
r1
,
c1
,
s1
,
b
,
current_net_code
);
if
(
b
&
HOLE
)
OrCell_Trace
(
pcbframe
->
m_Pcb
,
r2
,
c2
,
s2
,
HOLE
,
current_net_code
);
OrCell_Trace
(
pcbframe
->
GetBoard
()
,
r2
,
c2
,
s2
,
HOLE
,
current_net_code
);
}
else
{
...
...
@@ -889,7 +889,7 @@ static int Retrace( WinEDA_PcbFrame* pcbframe, wxDC* DC,
return
0
;
}
OrCell_Trace
(
pcbframe
->
m_Pcb
,
r2
,
c2
,
s2
,
p_dir
,
current_net_code
);
OrCell_Trace
(
pcbframe
->
GetBoard
()
,
r2
,
c2
,
s2
,
p_dir
,
current_net_code
);
}
/* move to next cell */
r0
=
r1
;
c0
=
c1
;
s0
=
s1
;
...
...
@@ -1047,16 +1047,16 @@ static void Place_Piste_en_Buffer( WinEDA_PcbFrame* pcbframe, wxDC* DC )
g_CurrentTrackList
.
PushBack
(
newTrack
);
}
g_FirstTrackSegment
->
start
=
Locate_Pad_Connecte
(
pcbframe
->
m_Pcb
,
g_FirstTrackSegment
,
START
);
g_FirstTrackSegment
->
start
=
Locate_Pad_Connecte
(
pcbframe
->
GetBoard
()
,
g_FirstTrackSegment
,
START
);
if
(
g_FirstTrackSegment
->
start
)
g_FirstTrackSegment
->
SetState
(
BEGIN_ONPAD
,
ON
);
g_CurrentTrackSegment
->
end
=
Locate_Pad_Connecte
(
pcbframe
->
m_Pcb
,
g_CurrentTrackSegment
,
END
);
g_CurrentTrackSegment
->
end
=
Locate_Pad_Connecte
(
pcbframe
->
GetBoard
()
,
g_CurrentTrackSegment
,
END
);
if
(
g_CurrentTrackSegment
->
end
)
g_CurrentTrackSegment
->
SetState
(
END_ONPAD
,
ON
);
/* recherche de la zone de rangement et insertion de la nouvelle piste */
pcbframe
->
m_Pcb
->
Add
(
g_FirstTrackSegment
);
pcbframe
->
GetBoard
()
->
Add
(
g_FirstTrackSegment
);
Trace_Une_Piste
(
panel
,
DC
,
g_FirstTrackSegment
,
g_CurrentTrackList
.
GetCount
(),
GR_OR
);
...
...
@@ -1065,8 +1065,8 @@ static void Place_Piste_en_Buffer( WinEDA_PcbFrame* pcbframe, wxDC* DC )
/* Trace de la forme exacte de la piste en BOARD */
for
(
TRACK
*
track
=
g_FirstTrackSegment
;
track
;
track
=
track
->
Next
()
)
{
TraceSegmentPcb
(
pcbframe
->
m_Pcb
,
track
,
HOLE
,
marge
,
WRITE_CELL
);
TraceSegmentPcb
(
pcbframe
->
m_Pcb
,
track
,
VIA_IMPOSSIBLE
,
via_marge
,
WRITE_OR_CELL
);
TraceSegmentPcb
(
pcbframe
->
GetBoard
()
,
track
,
HOLE
,
marge
,
WRITE_CELL
);
TraceSegmentPcb
(
pcbframe
->
GetBoard
()
,
track
,
VIA_IMPOSSIBLE
,
via_marge
,
WRITE_OR_CELL
);
}
ActiveScreen
->
SetModify
();
...
...
pcbnew/specctra_export.cpp
View file @
b6035803
...
...
@@ -87,11 +87,11 @@ void WinEDA_PcbFrame::ExportToSpecctra( wxCommandEvent& event )
// DSN Images (=Kicad MODULES and pads) must be presented from the
// top view. So we temporarily flip any modules which are on the back
// side of the board to the front, and record this in the MODULE's flag field.
db
.
FlipMODULEs
(
m_Pcb
);
db
.
FlipMODULEs
(
GetBoard
()
);
try
{
db
.
FromBOARD
(
m_Pcb
);
db
.
FromBOARD
(
GetBoard
()
);
db
.
ExportPCB
(
fullFileName
,
true
);
// if an exception is thrown by FromBOARD or ExportPCB(), then
...
...
@@ -108,7 +108,7 @@ void WinEDA_PcbFrame::ExportToSpecctra( wxCommandEvent& event )
SetLocaleTo_Default
(
);
// revert to the current locale
// done assuredly, even if an exception was thrown and caught.
db
.
RevertMODULEs
(
m_Pcb
);
db
.
RevertMODULEs
(
GetBoard
()
);
// The two calls below to BOARD::Change_Side_Module(), both set the
...
...
pcbnew/specctra_import.cpp
View file @
b6035803
...
...
@@ -90,7 +90,7 @@ void WinEDA_PcbFrame::ImportSpecctraSession( wxCommandEvent& event )
try
{
db
.
LoadSESSION
(
fullFileName
);
db
.
FromSESSION
(
m_Pcb
);
db
.
FromSESSION
(
GetBoard
()
);
}
catch
(
IOError
ioe
)
{
...
...
@@ -111,7 +111,7 @@ void WinEDA_PcbFrame::ImportSpecctraSession( wxCommandEvent& event )
m_SelViaSizeBox_Changed
=
TRUE
;
GetScreen
()
->
SetModify
();
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
Affiche_Message
(
wxString
(
_
(
"Session file imported and merged OK."
))
);
...
...
pcbnew/surbrill.cpp
View file @
b6035803
...
...
@@ -40,7 +40,7 @@ void WinEDA_PcbFrame::Liste_Equipot( wxCommandEvent& event )
List
=
new
WinEDA_TextFrame
(
this
,
_
(
"List Nets"
)
);
Equipot
=
(
EQUIPOT
*
)
m_Pcb
->
m_Equipots
;
Equipot
=
(
EQUIPOT
*
)
GetBoard
()
->
m_Equipots
;
for
(
;
Equipot
!=
NULL
;
Equipot
=
(
EQUIPOT
*
)
Equipot
->
Next
()
)
{
wxString
Line
;
...
...
@@ -61,7 +61,7 @@ void WinEDA_PcbFrame::Liste_Equipot( wxCommandEvent& event )
return
;
/* Recherche du numero de net rellement selectionn�*/
Equipot
=
(
EQUIPOT
*
)
m_Pcb
->
m_Equipots
;
Equipot
=
(
EQUIPOT
*
)
GetBoard
()
->
m_Equipots
;
for
(
jj
=
0
;
Equipot
!=
NULL
;
Equipot
=
(
EQUIPOT
*
)
Equipot
->
Next
()
)
{
/* calcul adr relative du nom de la pastille reference de la piste */
...
...
@@ -108,7 +108,7 @@ int WinEDA_PcbFrame::Select_High_Light( wxDC* DC )
// optionally, modify the "guide" here as needed using its member functions
m_Collector
->
Collect
(
m_Pcb
,
GENERAL_COLLECTOR
::
PadsTracksOrZones
,
m_Collector
->
Collect
(
GetBoard
()
,
GENERAL_COLLECTOR
::
PadsTracksOrZones
,
GetScreen
()
->
RefPos
(
true
),
guide
);
BOARD_ITEM
*
item
=
(
*
m_Collector
)[
0
];
...
...
@@ -175,7 +175,7 @@ void WinEDA_PcbFrame::DrawHightLight( wxDC* DC, int NetCode )
#if 0 // does not unhighlight properly
// redraw the zones with the NetCode
for( SEGZONE* zone =
m_Pcb
->m_Zone; zone; zone = zone->Next() )
for( SEGZONE* zone =
GetBoard()
->m_Zone; zone; zone = zone->Next() )
{
if( zone->GetNet() == NetCode )
{
...
...
@@ -185,7 +185,7 @@ void WinEDA_PcbFrame::DrawHightLight( wxDC* DC, int NetCode )
#endif
// Redraw ZONE_CONTAINERS
BOARD
::
ZONE_CONTAINERS
&
zones
=
m_Pcb
->
m_ZoneDescriptorList
;
BOARD
::
ZONE_CONTAINERS
&
zones
=
GetBoard
()
->
m_ZoneDescriptorList
;
for
(
BOARD
::
ZONE_CONTAINERS
::
iterator
zc
=
zones
.
begin
();
zc
!=
zones
.
end
();
++
zc
)
{
if
(
(
*
zc
)
->
GetNet
()
==
NetCode
)
...
...
@@ -195,13 +195,13 @@ void WinEDA_PcbFrame::DrawHightLight( wxDC* DC, int NetCode )
}
/* Redraw pads */
for
(
MODULE
*
module
=
m_Pcb
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
for
(
MODULE
*
module
=
GetBoard
()
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
{
Pad_Surbrillance
(
DrawPanel
,
DC
,
module
,
NetCode
);
}
/* Redraw track and vias: */
for
(
TRACK
*
pts
=
m_Pcb
->
m_Track
;
pts
;
pts
=
pts
->
Next
()
)
for
(
TRACK
*
pts
=
GetBoard
()
->
m_Track
;
pts
;
pts
=
pts
->
Next
()
)
{
if
(
pts
->
GetNet
()
==
NetCode
)
{
...
...
pcbnew/swap_layers.cpp
View file @
b6035803
...
...
@@ -71,7 +71,7 @@ WinEDA_SwapLayerFrame::WinEDA_SwapLayerFrame( WinEDA_BasePcbFrame* parent ) :
wxDefaultSize
,
wxDEFAULT_DIALOG_STYLE
|
MAYBE_RESIZE_BORDER
)
/*************************************************************************/
{
BOARD
*
board
=
parent
->
m_Pcb
;
BOARD
*
board
=
parent
->
GetBoard
()
;
OuterBoxSizer
=
NULL
;
MainBoxSizer
=
NULL
;
...
...
@@ -283,7 +283,7 @@ void WinEDA_SwapLayerFrame::Sel_Layer( wxCommandEvent& event )
}
else
{
layer_list
[
ii
]
->
SetLabel
(
m_Parent
->
m_Pcb
->
GetLayerName
(
jj
)
);
layer_list
[
ii
]
->
SetLabel
(
m_Parent
->
GetBoard
()
->
GetLayerName
(
jj
)
);
// Change the text color to fushia (to highlight
// that this layer *is* being swapped)
layer_list
[
ii
]
->
SetForegroundColour
(
wxColour
(
255
,
0
,
128
)
);
...
...
@@ -332,7 +332,7 @@ void WinEDA_PcbFrame::Swap_Layers( wxCommandEvent& event )
return
;
// (Cancelled dialog box returns -1 instead)
/* Modifications des pistes */
pt_segm
=
m_Pcb
->
m_Track
;
pt_segm
=
GetBoard
()
->
m_Track
;
for
(
;
pt_segm
!=
NULL
;
pt_segm
=
pt_segm
->
Next
()
)
{
GetScreen
()
->
SetModify
();
...
...
@@ -358,7 +358,7 @@ void WinEDA_PcbFrame::Swap_Layers( wxCommandEvent& event )
}
/* Modifications des zones */
for
(
pt_segm
=
m_Pcb
->
m_Zone
;
pt_segm
;
pt_segm
=
pt_segm
->
Next
()
)
for
(
pt_segm
=
GetBoard
()
->
m_Zone
;
pt_segm
;
pt_segm
=
pt_segm
->
Next
()
)
{
GetScreen
()
->
SetModify
();
jj
=
pt_segm
->
GetLayer
();
...
...
@@ -367,7 +367,7 @@ void WinEDA_PcbFrame::Swap_Layers( wxCommandEvent& event )
}
/* Modifications des autres segments */
PtStruct
=
m_Pcb
->
m_Drawings
;
PtStruct
=
GetBoard
()
->
m_Drawings
;
for
(
;
PtStruct
!=
NULL
;
PtStruct
=
PtStruct
->
Next
()
)
{
if
(
PtStruct
->
Type
()
==
TYPE_DRAWSEGMENT
)
...
...
pcbnew/tool_pcb.cpp
View file @
b6035803
...
...
@@ -749,7 +749,7 @@ WinEDAChoiceBox* WinEDA_PcbFrame::ReCreateLayerBox( WinEDA_Toolbar* parent )
if
(
g_TabOneLayerMask
[
layer
]
&
layer_mask
)
{
wxString
msg
=
m_Pcb
->
GetLayerName
(
layer
);
wxString
msg
=
GetBoard
()
->
GetLayerName
(
layer
);
msg
=
AddHotkeyName
(
msg
,
s_Board_Editor_Hokeys_Descr
,
HK_SwitchLayer
[
layer
]
);
m_SelLayerBox
->
Append
(
msg
);
...
...
pcbnew/tracepcb.cpp
View file @
b6035803
...
...
@@ -31,7 +31,7 @@ void WinEDA_ModuleEditFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
{
PCB_SCREEN
*
screen
=
(
PCB_SCREEN
*
)
GetScreen
();
if
(
!
m_Pcb
||
!
screen
)
if
(
!
GetBoard
()
||
!
screen
)
return
;
ActiveScreen
=
screen
;
...
...
@@ -44,7 +44,7 @@ void WinEDA_ModuleEditFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
TraceWorkSheet
(
DC
,
screen
,
0
);
/* Redraw the footprint */
for
(
MODULE
*
module
=
m_Pcb
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
for
(
MODULE
*
module
=
GetBoard
()
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
{
module
->
Draw
(
DrawPanel
,
DC
,
GR_OR
);
}
...
...
@@ -70,7 +70,7 @@ void WinEDA_PcbFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
{
PCB_SCREEN
*
screen
=
GetScreen
();
if
(
!
m_Pcb
||
!
screen
)
if
(
!
GetBoard
()
||
!
screen
)
return
;
ActiveScreen
=
screen
;
...
...
@@ -83,7 +83,7 @@ void WinEDA_PcbFrame::RedrawActiveWindow( wxDC* DC, bool EraseBg )
TraceWorkSheet
(
DC
,
GetScreen
(),
0
);
m_Pcb
->
Draw
(
DrawPanel
,
DC
,
GR_OR
);
GetBoard
()
->
Draw
(
DrawPanel
,
DC
,
GR_OR
);
if
(
g_HightLigt_Status
)
DrawHightLight
(
DC
,
g_HightLigth_NetCode
);
...
...
pcbnew/track.cpp
View file @
b6035803
...
...
@@ -71,7 +71,7 @@ TRACK* Marque_Une_Piste( WinEDA_BasePcbFrame* frame, wxDC* DC,
if
(
aTrackList
->
Type
()
==
TYPE_VIA
)
{
TRACK
*
Segm1
,
*
Segm2
=
NULL
,
*
Segm3
=
NULL
;
Segm1
=
Fast_Locate_Piste
(
frame
->
m_Pcb
->
m_Track
,
NULL
,
Segm1
=
Fast_Locate_Piste
(
frame
->
GetBoard
()
->
m_Track
,
NULL
,
aTrackList
->
m_Start
,
masque_layer
);
if
(
Segm1
)
{
...
...
@@ -91,19 +91,19 @@ TRACK* Marque_Une_Piste( WinEDA_BasePcbFrame* frame, wxDC* DC,
if
(
Segm1
)
{
masque_layer
=
Segm1
->
ReturnMaskLayer
();
Marque_Chaine_segments
(
frame
->
m_Pcb
,
aTrackList
->
m_Start
,
masque_layer
,
&
trackList
);
Marque_Chaine_segments
(
frame
->
GetBoard
()
,
aTrackList
->
m_Start
,
masque_layer
,
&
trackList
);
}
if
(
Segm2
)
{
masque_layer
=
Segm2
->
ReturnMaskLayer
();
Marque_Chaine_segments
(
frame
->
m_Pcb
,
aTrackList
->
m_Start
,
masque_layer
,
&
trackList
);
Marque_Chaine_segments
(
frame
->
GetBoard
()
,
aTrackList
->
m_Start
,
masque_layer
,
&
trackList
);
}
}
else
// mark the chain using both ends of the initial segment
{
Marque_Chaine_segments
(
frame
->
m_Pcb
,
aTrackList
->
m_Start
,
masque_layer
,
&
trackList
);
Marque_Chaine_segments
(
frame
->
m_Pcb
,
aTrackList
->
m_End
,
masque_layer
,
&
trackList
);
Marque_Chaine_segments
(
frame
->
GetBoard
()
,
aTrackList
->
m_Start
,
masque_layer
,
&
trackList
);
Marque_Chaine_segments
(
frame
->
GetBoard
()
,
aTrackList
->
m_End
,
masque_layer
,
&
trackList
);
}
// marquage des vias (vias non connectees ou inutiles
...
...
@@ -122,7 +122,7 @@ TRACK* Marque_Une_Piste( WinEDA_BasePcbFrame* frame, wxDC* DC,
masque_layer
=
via
->
ReturnMaskLayer
();
TRACK
*
track
=
Fast_Locate_Piste
(
frame
->
m_Pcb
->
m_Track
,
TRACK
*
track
=
Fast_Locate_Piste
(
frame
->
GetBoard
()
->
m_Track
,
NULL
,
via
->
m_Start
,
masque_layer
);
if
(
track
==
NULL
)
continue
;
...
...
@@ -144,7 +144,7 @@ TRACK* Marque_Une_Piste( WinEDA_BasePcbFrame* frame, wxDC* DC,
/* Reclassement des segments marques en une chaine */
NbSegmBusy
=
0
;
TRACK
*
firstTrack
;
for
(
firstTrack
=
frame
->
m_Pcb
->
m_Track
;
firstTrack
;
firstTrack
=
firstTrack
->
Next
()
)
for
(
firstTrack
=
frame
->
GetBoard
()
->
m_Track
;
firstTrack
;
firstTrack
=
firstTrack
->
Next
()
)
{
// recherche du debut de la liste des segments marques a BUSY
if
(
firstTrack
->
GetState
(
BUSY
)
)
...
...
pcbnew/via_edit.cpp
View file @
b6035803
...
...
@@ -63,7 +63,7 @@ void WinEDA_PcbFrame::Via_Edit_Control( wxDC* DC, int command_type, SEGVIA* via
case
ID_POPUP_PCB_VIA_HOLE_EXPORT_TO_OTHERS
:
// Export the current drill value to via which have the same size
if
(
via
->
GetDrillValue
()
>
0
)
g_DesignSettings
.
m_ViaDrillCustomValue
=
via
->
GetDrillValue
();
via_struct
=
m_Pcb
->
m_Track
;
via_struct
=
GetBoard
()
->
m_Track
;
for
(
;
via_struct
!=
NULL
;
via_struct
=
via_struct
->
Next
()
)
{
if
(
via_struct
->
Type
()
==
TYPE_VIA
)
/* mise a jour du diametre de la via */
...
...
@@ -87,7 +87,7 @@ void WinEDA_PcbFrame::Via_Edit_Control( wxDC* DC, int command_type, SEGVIA* via
break
;
case
ID_POPUP_PCB_VIA_HOLE_RESET_TO_DEFAULT
:
// Reset all via hole to default value
via_struct
=
m_Pcb
->
m_Track
;
via_struct
=
GetBoard
()
->
m_Track
;
for
(
;
via_struct
!=
NULL
;
via_struct
=
via_struct
->
Next
()
)
{
if
(
via_struct
->
Type
()
==
TYPE_VIA
)
/* mise a jour du diametre de la via */
...
...
pcbnew/xchgmod.cpp
View file @
b6035803
...
...
@@ -302,7 +302,7 @@ void WinEDA_ExchangeModuleFrame::Change_Module( wxCommandEvent& event )
if
(
Change_1_Module
(
m_CurrentModule
,
newmodulename
,
TRUE
)
)
{
m_Parent
->
m_Pcb
->
m_Status_Pcb
=
0
;
m_Parent
->
GetBoard
()
->
m_Status_Pcb
=
0
;
m_Parent
->
build_liste_pads
();
}
}
...
...
@@ -331,7 +331,7 @@ void WinEDA_ExchangeModuleFrame::Change_ModuleId( wxCommandEvent& event )
bool
check_module_value
=
FALSE
;
int
ShowErr
=
5
;
// Affiche 5 messages d'err maxi
if
(
m_Parent
->
m_Pcb
->
m_Modules
==
NULL
)
if
(
m_Parent
->
GetBoard
()
->
m_Modules
==
NULL
)
return
;
if
(
newmodulename
==
wxEmptyString
)
return
;
...
...
@@ -359,7 +359,7 @@ void WinEDA_ExchangeModuleFrame::Change_ModuleId( wxCommandEvent& event )
* Change_1_Module() modifie le dernier module de la liste
*/
PtModule
=
m_Parent
->
m_Pcb
->
m_Modules
;
PtModule
=
m_Parent
->
GetBoard
()
->
m_Modules
;
for
(
;
PtModule
!=
NULL
;
PtModule
=
PtModule
->
Next
()
)
{
if
(
PtModule
->
Next
()
==
NULL
)
...
...
@@ -367,7 +367,7 @@ void WinEDA_ExchangeModuleFrame::Change_ModuleId( wxCommandEvent& event )
}
/* Ici PtModule pointe le dernier module de la liste */
for
(
;
(
BOARD
*
)
PtModule
!=
m_Parent
->
m_Pcb
;
PtModule
=
PtBack
)
for
(
;
(
BOARD
*
)
PtModule
!=
m_Parent
->
GetBoard
()
;
PtModule
=
PtBack
)
{
MODULE
*
module
;
PtBack
=
PtModule
->
Back
();
...
...
@@ -387,7 +387,7 @@ void WinEDA_ExchangeModuleFrame::Change_ModuleId( wxCommandEvent& event )
if
(
change
)
{
m_Parent
->
m_Pcb
->
m_Status_Pcb
=
0
;
m_Parent
->
GetBoard
()
->
m_Status_Pcb
=
0
;
m_Parent
->
build_liste_pads
();
}
}
...
...
@@ -409,7 +409,7 @@ void WinEDA_ExchangeModuleFrame::Change_ModuleAll( wxCommandEvent& event )
bool
change
=
FALSE
;
int
ShowErr
=
5
;
// Affiche 5 messages d'err maxi
if
(
m_Parent
->
m_Pcb
->
m_Modules
==
NULL
)
if
(
m_Parent
->
GetBoard
()
->
m_Modules
==
NULL
)
return
;
if
(
!
IsOK
(
this
,
_
(
"Change ALL modules ?"
)
)
)
...
...
@@ -419,7 +419,7 @@ void WinEDA_ExchangeModuleFrame::Change_ModuleAll( wxCommandEvent& event )
* Change_1_Module() modifie le dernier module de la liste
*/
PtModule
=
m_Parent
->
m_Pcb
->
m_Modules
;
PtModule
=
m_Parent
->
GetBoard
()
->
m_Modules
;
for
(
;
PtModule
!=
NULL
;
PtModule
=
PtModule
->
Next
()
)
{
if
(
PtModule
->
Next
()
==
NULL
)
...
...
@@ -427,7 +427,7 @@ void WinEDA_ExchangeModuleFrame::Change_ModuleAll( wxCommandEvent& event )
}
/* Ici PtModule pointe le dernier module de la liste */
for
(
;
(
BOARD
*
)
PtModule
!=
m_Parent
->
m_Pcb
;
PtModule
=
PtBack
)
for
(
;
(
BOARD
*
)
PtModule
!=
m_Parent
->
GetBoard
()
;
PtModule
=
PtBack
)
{
PtBack
=
PtModule
->
Back
();
if
(
Change_1_Module
(
PtModule
,
PtModule
->
m_LibRef
.
GetData
(),
ShowErr
)
)
...
...
@@ -438,7 +438,7 @@ void WinEDA_ExchangeModuleFrame::Change_ModuleAll( wxCommandEvent& event )
if
(
change
)
{
m_Parent
->
m_Pcb
->
m_Status_Pcb
=
0
;
m_Parent
->
GetBoard
()
->
m_Status_Pcb
=
0
;
m_Parent
->
build_liste_pads
();
}
}
...
...
@@ -524,9 +524,9 @@ MODULE* WinEDA_BasePcbFrame::Exchange_Module( wxWindow* winaff,
DisplayError
(
winaff
,
wxT
(
"WinEDA_BasePcbFrame::Exchange_Module() StuctType error"
)
);
}
NewModule
->
SetParent
(
m_Pcb
);
NewModule
->
SetParent
(
GetBoard
()
);
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
oldpos
=
GetScreen
()
->
m_Curseur
;
GetScreen
()
->
m_Curseur
=
OldModule
->
m_Pos
;
Place_Module
(
NewModule
,
NULL
);
...
...
@@ -535,7 +535,7 @@ MODULE* WinEDA_BasePcbFrame::Exchange_Module( wxWindow* winaff,
/* Changement eventuel de couche */
if
(
OldModule
->
GetLayer
()
!=
NewModule
->
GetLayer
()
)
{
m_Pcb
->
Change_Side_Module
(
NewModule
,
NULL
);
GetBoard
()
->
Change_Side_Module
(
NewModule
,
NULL
);
}
/* Rotation eventuelle du module */
...
...
@@ -573,7 +573,7 @@ MODULE* WinEDA_BasePcbFrame::Exchange_Module( wxWindow* winaff,
/* Effacement de l'ancien module */
OldModule
->
DeleteStructure
();
m_Pcb
->
m_Status_Pcb
=
0
;
GetBoard
()
->
m_Status_Pcb
=
0
;
NewModule
->
m_Flags
=
0
;
GetScreen
()
->
SetModify
();
...
...
@@ -604,7 +604,7 @@ bool WinEDA_PcbFrame::RecreateCmpFileFromBoard()
wxString
FullFileNameCmp
,
mask
;
FILE
*
FichCmp
;
char
Line
[
1024
];
MODULE
*
Module
=
m_Pcb
->
m_Modules
;
MODULE
*
Module
=
GetBoard
()
->
m_Modules
;
wxString
msg
;
if
(
Module
==
NULL
)
...
...
pcbnew/zone_filling_algorithm.cpp
View file @
b6035803
...
...
@@ -137,7 +137,7 @@ int ZONE_CONTAINER::Fill_Zone_Areas_With_Segments( WinEDA_PcbFrame* aFrame )
int
seg_startY
=
m_FilledPolysList
[
ics
].
y
;
int
seg_endX
=
m_FilledPolysList
[
ice
].
x
;
int
seg_endY
=
m_FilledPolysList
[
ice
].
y
;
/* Trivial cases: skip if ref above or below the segment to test */
if
(
(
seg_startY
>
refy
)
&&
(
seg_endY
>
refy
)
)
...
...
@@ -185,7 +185,7 @@ int ZONE_CONTAINER::Fill_Zone_Areas_With_Segments( WinEDA_PcbFrame* aFrame )
wxMessageBox
(
msg
);
error
=
true
;
}
if
(
error
)
break
;
int
iimax
=
x_coordinates
.
size
()
-
1
;
for
(
int
ii
=
0
;
ii
<
iimax
;
ii
+=
2
)
...
...
@@ -196,14 +196,14 @@ int ZONE_CONTAINER::Fill_Zone_Areas_With_Segments( WinEDA_PcbFrame* aFrame )
seg_start
.
y
=
refy
;
seg_end
.
x
=
x_coordinates
[
ii
+
1
];
seg_end
.
y
=
refy
;
SEGZONE
*
segment
=
new
SEGZONE
(
aFrame
->
m_Pcb
);
SEGZONE
*
segment
=
new
SEGZONE
(
aFrame
->
GetBoard
()
);
segment
->
m_Start
=
seg_start
;
segment
->
m_End
=
seg_end
;
segment
->
SetNet
(
GetNet
()
);
segment
->
m_TimeStamp
=
m_TimeStamp
;
segment
->
m_Width
=
m_ZoneMinThickness
;
segment
->
SetLayer
(
GetLayer
()
);
aFrame
->
m_Pcb
->
Add
(
segment
);
aFrame
->
GetBoard
()
->
Add
(
segment
);
}
}
//End examine segments in one area
if
(
error
)
break
;
...
...
pcbnew/zones_by_polygon.cpp
View file @
b6035803
This diff is collapsed.
Click to expand it.
pcbnew/zones_non_copper_type_functions.cpp
View file @
b6035803
...
...
@@ -95,7 +95,7 @@ void DialogNonCopperZonesEditor::InitDialog( wxInitDialogEvent& event )
{
wxString
msg
;
msg
=
m_Parent
->
m_Pcb
->
GetLayerName
(
layer_number
).
Trim
();
msg
=
m_Parent
->
GetBoard
()
->
GetLayerName
(
layer_number
).
Trim
();
m_LayerSelectionCtrl
->
InsertItems
(
1
,
&
msg
,
ii
);
if
(
m_Zone_Container
)
...
...
share/wxprint.cpp
View file @
b6035803
...
...
@@ -200,7 +200,7 @@ void WinEDA_PrintFrame::SetOthersDatas()
{
m_BoxSelecLayer
[
ii
]
=
new
wxCheckBox
(
this
,
-
1
,
#if defined (PCBNEW)
(
(
WinEDA_PcbFrame
*
)
m_Parent
)
->
m_Pcb
->
GetLayerName
(
(
(
WinEDA_PcbFrame
*
)
m_Parent
)
->
GetBoard
()
->
GetLayerName
(
ii
)
);
#else
ReturnLayerName
(
ii
)
);
...
...
@@ -690,22 +690,22 @@ void EDA_Printout::DrawPage()
#ifdef PCBNEW
WinEDA_BasePcbFrame
*
pcbframe
=
(
WinEDA_BasePcbFrame
*
)
m_Parent
;
pcbframe
->
m_Pcb
->
ComputeBoundaryBox
();
pcbframe
->
GetBoard
()
->
ComputeBoundaryBox
();
/* Compute the PCB size in internal units*/
userscale
=
s_ScaleList
[
s_Scale_Select
];
if
(
userscale
==
0
)
// fit in page
{
int
extra_margin
=
8000
;
// Margin = 8000/2 units pcb = 0,4 inch
SheetSize
.
x
=
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
GetWidth
()
+
extra_margin
;
SheetSize
.
y
=
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
GetHeight
()
+
extra_margin
;
SheetSize
.
x
=
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
GetWidth
()
+
extra_margin
;
SheetSize
.
y
=
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
GetHeight
()
+
extra_margin
;
userscale
=
0.99
;
}
if
(
(
s_ScaleList
[
s_Scale_Select
]
>
1.0
)
// scale > 1 -> Recadrage
||
(
s_ScaleList
[
s_Scale_Select
]
==
0
)
)
// fit in page
{
DrawOffset
.
x
+=
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
Centre
().
x
;
DrawOffset
.
y
+=
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
Centre
().
y
;
DrawOffset
.
x
+=
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
Centre
().
x
;
DrawOffset
.
y
+=
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
Centre
().
y
;
}
#else
userscale
=
1
;
...
...
@@ -818,7 +818,7 @@ void EDA_Printout::DrawPage()
* for scales > 1, the DrawOffset was already computed to have the board centre
* to the middle of the page.
*/
wxPoint
pcb_centre
=
pcbframe
->
m_Pcb
->
m_BoundaryBox
.
Centre
();
wxPoint
pcb_centre
=
pcbframe
->
GetBoard
()
->
m_BoundaryBox
.
Centre
();
if
(
userscale
<=
1.0
)
DrawOffset
.
y
+=
pcb_centre
.
y
-
(
ysize
/
2
);
ActiveScreen
->
m_DrawOrg
=
DrawOffset
;
...
...
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