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
716d21d8
Commit
716d21d8
authored
Feb 02, 2012
by
Dick Hollenbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
get rid of some globals, share BOARD_DESIGN_SETTINGS from PCB_EDIT_FRAME with FOOTPRINT_EDIT_FRAME
parent
cc46daa6
Changes
21
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
251 additions
and
208 deletions
+251
-208
3d_draw.cpp
3d-viewer/3d_draw.cpp
+19
-19
pcbcommon.cpp
common/pcbcommon.cpp
+0
-2
pcbcommon.h
include/pcbcommon.h
+6
-8
wxBasePcbFrame.h
include/wxBasePcbFrame.h
+10
-2
basepcbframe.cpp
pcbnew/basepcbframe.cpp
+16
-4
class_board.cpp
pcbnew/class_board.cpp
+0
-7
class_board.h
pcbnew/class_board.h
+4
-4
class_pad.cpp
pcbnew/class_pad.cpp
+3
-3
edgemod.cpp
pcbnew/edgemod.cpp
+87
-87
edit.cpp
pcbnew/edit.cpp
+3
-3
editedge.cpp
pcbnew/editedge.cpp
+5
-5
editrack-part2.cpp
pcbnew/editrack-part2.cpp
+9
-9
edtxtmod.cpp
pcbnew/edtxtmod.cpp
+18
-18
event_handlers_tracks_vias_sizes.cpp
pcbnew/event_handlers_tracks_vias_sizes.cpp
+5
-5
librairi.cpp
pcbnew/librairi.cpp
+4
-4
mirepcb.cpp
pcbnew/mirepcb.cpp
+1
-1
module_editor_frame.h
pcbnew/module_editor_frame.h
+11
-6
moduleframe.cpp
pcbnew/moduleframe.cpp
+45
-16
pcbframe.cpp
pcbnew/pcbframe.cpp
+1
-1
tool_pcb.cpp
pcbnew/tool_pcb.cpp
+1
-1
toolbars_update_user_interface.cpp
pcbnew/toolbars_update_user_interface.cpp
+3
-3
No files found.
3d-viewer/3d_draw.cpp
View file @
716d21d8
...
...
@@ -89,7 +89,7 @@ static void CALLBACK tesswxPoint2Vertex( const GLvoid* data );
void
EDA_3D_CANVAS
::
Redraw
(
bool
finish
)
{
/
* SwapBuffer requires the window to be shown before calling */
/
/ SwapBuffer requires the window to be shown before calling
if
(
!
IsShown
()
)
return
;
...
...
@@ -112,8 +112,8 @@ void EDA_3D_CANVAS::Redraw( bool finish )
InitGL
();
glMatrixMode
(
GL_MODELVIEW
);
/
* position viewer */
/
* transformations */
glMatrixMode
(
GL_MODELVIEW
);
/
/ position viewer
/
/ transformations
GLfloat
mat
[
4
][
4
];
// Translate motion first, so rotations don't mess up the orientation...
...
...
@@ -180,7 +180,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List()
g_Parm_3D_Visu
.
m_Epoxy_Width
=
pcb
->
GetDesignSettings
().
m_BoardThickness
*
g_Parm_3D_Visu
.
m_BoardScale
;
/
* calculate z position for each layer */
/
/ calculate z position for each layer
for
(
ii
=
0
;
ii
<
32
;
ii
++
)
{
if
(
ii
<
g_Parm_3D_Visu
.
m_Layers
)
...
...
@@ -205,7 +205,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List()
glColorMaterial
(
GL_FRONT_AND_BACK
,
GL_AMBIENT_AND_DIFFUSE
);
/
* draw axis */
/
/ draw axis
if
(
g_Parm_3D_Visu
.
m_Draw3DAxis
)
{
glEnable
(
GL_COLOR_MATERIAL
);
...
...
@@ -222,7 +222,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List()
glEnd
();
}
/
* Draw epoxy limits (do not use, works and test in progress) */
/
/ Draw epoxy limits (do not use, works and test in progress)
#if 0
glEnable( GL_FOG );
GLfloat param;
...
...
@@ -255,14 +255,14 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List()
glEnd();
#endif
/
* move the board in order to draw it with its center at 0,0 3D coordinates */
/
/ move the board in order to draw it with its center at 0,0 3D coordinates
glTranslatef
(
-
g_Parm_3D_Visu
.
m_BoardPos
.
x
*
g_Parm_3D_Visu
.
m_BoardScale
,
-
g_Parm_3D_Visu
.
m_BoardPos
.
y
*
g_Parm_3D_Visu
.
m_BoardScale
,
0.0
F
);
glNormal3f
(
0.0
,
0.0
,
1.0
);
// Normal is Z axis
/
* draw tracks and vias : */
/
/ draw tracks and vias :
for
(
track
=
pcb
->
m_Track
;
track
!=
NULL
;
track
=
track
->
Next
()
)
{
if
(
track
->
Type
()
==
PCB_VIA_T
)
...
...
@@ -370,7 +370,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List()
}
}
/
* draw graphic items */
/
/ draw graphic items
EDA_ITEM
*
PtStruct
;
for
(
PtStruct
=
pcb
->
m_Drawings
;
PtStruct
!=
NULL
;
PtStruct
=
PtStruct
->
Next
()
)
...
...
@@ -390,7 +390,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List()
}
}
/
* draw footprints */
/
/ draw footprints
MODULE
*
Module
=
pcb
->
m_Modules
;
for
(
;
Module
!=
NULL
;
Module
=
Module
->
Next
()
)
...
...
@@ -400,7 +400,7 @@ GLuint EDA_3D_CANVAS::CreateDrawGL_List()
glEndList
();
/
* Test for errors */
/
/ Test for errors
CheckGLError
();
return
m_gllist
;
...
...
@@ -694,7 +694,7 @@ void MODULE::Draw3D( EDA_3D_CANVAS* glcanvas )
{
D_PAD
*
pad
=
m_Pads
;
/
* Draw pads */
/
/ Draw pads
glColorMaterial
(
GL_FRONT_AND_BACK
,
GL_AMBIENT_AND_DIFFUSE
);
glNormal3f
(
0.0
,
0.0
,
1.0
);
// Normal is Z axis
...
...
@@ -703,7 +703,7 @@ void MODULE::Draw3D( EDA_3D_CANVAS* glcanvas )
pad
->
Draw3D
(
glcanvas
);
}
/
* Draw module shape: 3D shape if exists (or module outlines if not exists) */
/
/ Draw module shape: 3D shape if exists (or module outlines if not exists)
S3D_MASTER
*
Struct3D
=
m_3D_Drawings
;
bool
As3dShape
=
false
;
...
...
@@ -890,7 +890,7 @@ void EDGE_MODULE::Draw3D( EDA_3D_CANVAS* glcanvas )
}
/
* Draw 3D pads. */
/
/ Draw 3D pads.
void
D_PAD
::
Draw3D
(
EDA_3D_CANVAS
*
glcanvas
)
{
int
ii
,
ll
,
layer
,
nlmax
;
...
...
@@ -912,7 +912,7 @@ void D_PAD::Draw3D( EDA_3D_CANVAS* glcanvas )
holeY
=
(
double
)
m_Drill
.
y
*
scale
/
2
;
hole
=
fmin
(
holeX
,
holeY
);
/
* Calculate the center of the pad. */
/
/ Calculate the center of the pad.
shape_pos
=
ReturnShapePos
();
ux0
=
shape_pos
.
x
;
uy0
=
shape_pos
.
y
;
...
...
@@ -926,7 +926,7 @@ void D_PAD::Draw3D( EDA_3D_CANVAS* glcanvas )
drillx
=
m_Pos
.
x
*
scale
;
drilly
=
m_Pos
.
y
*
scale
;
/
* Draw the pad hole (TODO: draw OBLONG hole) */
/
/ Draw the pad hole (TODO: draw OBLONG hole)
if
(
holeX
&&
holeY
)
{
SetGLColor
(
DARKGRAY
);
...
...
@@ -981,13 +981,13 @@ void D_PAD::Draw3D( EDA_3D_CANVAS* glcanvas )
break
;
case
PAD_OVAL
:
if
(
dx
>
dy
)
/
* Horizontal ellipse */
if
(
dx
>
dy
)
/
/ Horizontal ellipse
{
delta_cx
=
dx
-
dy
;
delta_cy
=
0
;
w
=
m_Size
.
y
*
scale
;
}
else
/
* Vertical ellipse */
else
/
/ Vertical ellipse
{
delta_cx
=
0
;
delta_cy
=
dy
-
dx
;
...
...
@@ -1195,7 +1195,7 @@ static void Draw3D_FilledCylinder( double posx, double posy, double rayon,
}
/
* Draw a polygon similar to a segment has rounded tips */
/
/ Draw a polygon similar to a segment has rounded tips
static
void
Draw3D_FilledSegment
(
double
startx
,
double
starty
,
double
endx
,
double
endy
,
double
width
,
double
zpos
)
{
...
...
common/pcbcommon.cpp
View file @
716d21d8
...
...
@@ -111,8 +111,6 @@ class BOARD_DESIGN_SETTINGS g_DesignSettings;
*/
DLIST
<
TRACK
>
g_CurrentTrackList
;
BOARD
*
g_ModuleEditor_Pcb
=
NULL
;
bool
g_Zone_45_Only
=
false
;
// Default setting used when creating a new zone
...
...
include/pcbcommon.h
View file @
716d21d8
...
...
@@ -2,8 +2,8 @@
* @file pcbcommon.h
*/
#ifndef
__PCBCOMMON_H_
_
#define
__PCBCOMMON_H_
_
#ifndef
PCBCOMMON_H
_
#define
PCBCOMMON_H
_
#include <dlist.h>
...
...
@@ -13,7 +13,7 @@
//#include <wx/arrstr.h> // wxArrayString class.
#define MIN_DRAW_WIDTH
1
/* Minimum trace drawing width. */
#define MIN_DRAW_WIDTH
1 ///< Minimum trace drawing width.
//class PCB_SCREEN;
...
...
@@ -30,7 +30,7 @@ class DISPLAY_OPTIONS;
*/
int
GetLayerMask
(
int
aLayerNumber
);
/
* Look up Table for conversion copper layer count -> general copper layer mask: */
/
// Look up Table for conversion copper layer count -> general copper layer mask:
extern
int
g_TabAllCopperLayerMask
[
NB_COPPER_LAYERS
];
extern
DISPLAY_OPTIONS
DisplayOpt
;
...
...
@@ -52,10 +52,8 @@ extern DLIST<TRACK> g_CurrentTrackList;
#define g_FirstTrackSegment g_CurrentTrackList.GetFirst() ///< first segment created
extern
BOARD
*
g_ModuleEditor_Pcb
;
/* Pad editing */
/// Pad editing
extern
D_PAD
g_Pad_Master
;
#endif
/
* __PCBCOMMON_H__ */
#endif /
/ PCBCOMMON_H_
include/wxBasePcbFrame.h
View file @
716d21d8
...
...
@@ -122,6 +122,14 @@ public:
const
TITLE_BLOCK
&
GetTitleBlock
()
const
;
// overload
void
SetTitleBlock
(
const
TITLE_BLOCK
&
aTitleBlock
);
// overload
/**
* Function GetDesignSettings
* returns the BOARD_DESIGN_SETTINGS for the BOARD owned by this frame.
* Overloaded in FOOTPRINT_EDIT_FRAME.
*/
virtual
BOARD_DESIGN_SETTINGS
&
GetDesignSettings
()
const
;
virtual
void
SetDesignSettings
(
const
BOARD_DESIGN_SETTINGS
&
aSettings
);
/**
* Function SetBoard
* sets the m_Pcb member in such as way as to ensure deleting any previous
...
...
@@ -130,9 +138,9 @@ public:
*/
void
SetBoard
(
BOARD
*
aBoard
);
BOARD
*
GetBoard
()
BOARD
*
GetBoard
()
const
{
wxASSERT
(
m_Pcb
);
// phasing out m_Pcb for GerbView
wxASSERT
(
m_Pcb
);
return
m_Pcb
;
}
...
...
pcbnew/basepcbframe.cpp
View file @
716d21d8
...
...
@@ -113,15 +113,13 @@ PCB_BASE_FRAME::~PCB_BASE_FRAME()
{
delete
m_Collector
;
// delete m_Pcb;
delete
m_Pcb
;
// is already NULL for FOOTPRINT_EDIT_FRAME
}
void
PCB_BASE_FRAME
::
SetBoard
(
BOARD
*
aBoard
)
{
if
(
m_Pcb
!=
g_ModuleEditor_Pcb
)
delete
m_Pcb
;
delete
m_Pcb
;
m_Pcb
=
aBoard
;
}
...
...
@@ -182,6 +180,20 @@ void PCB_BASE_FRAME::SetTitleBlock( const TITLE_BLOCK& aTitleBlock )
}
BOARD_DESIGN_SETTINGS
&
PCB_BASE_FRAME
::
GetDesignSettings
()
const
{
wxASSERT
(
m_Pcb
);
return
m_Pcb
->
GetDesignSettings
();
}
void
PCB_BASE_FRAME
::
SetDesignSettings
(
const
BOARD_DESIGN_SETTINGS
&
aSettings
)
{
wxASSERT
(
m_Pcb
);
m_Pcb
->
SetDesignSettings
(
aSettings
);
}
EDA_RECT
PCB_BASE_FRAME
::
GetBoardBoundingBox
(
bool
aBoardEdgesOnly
)
const
{
wxASSERT
(
m_Pcb
);
...
...
pcbnew/class_board.cpp
View file @
716d21d8
...
...
@@ -93,13 +93,6 @@ BOARD::~BOARD()
}
void
BOARD
::
SetDesignSettings
(
const
BOARD_DESIGN_SETTINGS
&
aDesignSettings
)
{
// copy all members.
m_designSettings
=
aDesignSettings
;
}
void
BOARD
::
chainMarkedSegments
(
wxPoint
aPosition
,
int
aLayerMask
,
TRACK_PTRS
*
aList
)
{
TRACK
*
segment
;
// The current segment being analyzed.
...
...
pcbnew/class_board.h
View file @
716d21d8
...
...
@@ -528,17 +528,17 @@ public:
* Function GetDesignSettings
* @return the BOARD_DESIGN_SETTINGS for this BOARD
*/
// const BOARD_DESIGN_SETTINGS& GetDesignSettings() const want to use this one
BOARD_DESIGN_SETTINGS
&
GetDesignSettings
()
BOARD_DESIGN_SETTINGS
&
GetDesignSettings
()
const
{
return
m_designSettings
;
// remove const-ness with cast.
return
(
BOARD_DESIGN_SETTINGS
&
)
m_designSettings
;
}
/**
* Function SetDesignSettings
* @param aDesignSettings the new BOARD_DESIGN_SETTINGS to use
*/
void
SetDesignSettings
(
const
BOARD_DESIGN_SETTINGS
&
aDesignSettings
)
;
void
SetDesignSettings
(
const
BOARD_DESIGN_SETTINGS
&
aDesignSettings
)
{
m_designSettings
=
aDesignSettings
;
}
const
PAGE_INFO
&
GetPageSettings
()
const
{
return
m_paper
;
}
void
SetPageSettings
(
const
PAGE_INFO
&
aPageSettings
)
{
m_paper
=
aPageSettings
;
}
...
...
pcbnew/class_pad.cpp
View file @
716d21d8
...
...
@@ -331,8 +331,8 @@ int D_PAD::GetClearance( BOARD_CONNECTED_ITEM* aItem ) const
*/
int
D_PAD
::
GetSolderMaskMargin
()
{
int
margin
=
m_LocalSolderMaskMargin
;
MODULE
*
module
=
(
MODULE
*
)
GetParent
();
int
margin
=
m_LocalSolderMaskMargin
;
MODULE
*
module
=
(
MODULE
*
)
GetParent
();
if
(
module
)
{
...
...
@@ -344,7 +344,7 @@ int D_PAD::GetSolderMaskMargin()
if
(
margin
==
0
)
{
BOARD
*
brd
=
GetBoard
();
BOARD
*
brd
=
GetBoard
();
margin
=
brd
->
GetDesignSettings
().
m_SolderMaskMargin
;
}
}
...
...
pcbnew/edgemod.cpp
View file @
716d21d8
This diff is collapsed.
Click to expand it.
pcbnew/edit.cpp
View file @
716d21d8
...
...
@@ -355,14 +355,14 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
}
else
{
int
v_type
=
Get
Board
()
->
Get
DesignSettings
().
m_CurrentViaType
;
int
v_type
=
GetDesignSettings
().
m_CurrentViaType
;
// place micro via and switch layer.
if
(
id
==
ID_POPUP_PCB_PLACE_MICROVIA
)
Get
Board
()
->
Get
DesignSettings
().
m_CurrentViaType
=
VIA_MICROVIA
;
GetDesignSettings
().
m_CurrentViaType
=
VIA_MICROVIA
;
Other_Layer_Route
(
(
TRACK
*
)
GetCurItem
(),
&
dc
);
Get
Board
()
->
Get
DesignSettings
().
m_CurrentViaType
=
v_type
;
GetDesignSettings
().
m_CurrentViaType
=
v_type
;
if
(
DisplayOpt
.
ContrastModeDisplay
)
m_canvas
->
Refresh
();
...
...
pcbnew/editedge.cpp
View file @
716d21d8
...
...
@@ -51,7 +51,7 @@ static wxPoint s_InitialPosition; // Initial cursor position.
static
wxPoint
s_LastPosition
;
// Current cursor position.
/
* Start move of a graphic element type DRAWSEGMENT */
/
/ Start move of a graphic element type DRAWSEGMENT
void
PCB_EDIT_FRAME
::
Start_Move_DrawItem
(
DRAWSEGMENT
*
drawitem
,
wxDC
*
DC
)
{
if
(
drawitem
==
NULL
)
...
...
@@ -119,7 +119,7 @@ void PCB_EDIT_FRAME::Delete_Segment_Edge( DRAWSEGMENT* Segment, wxDC* DC )
if
(
Segment
->
IsNew
()
)
// Trace in progress.
{
/
* Delete current segment. */
/
/ Delete current segment.
DisplayOpt
.
DisplayDrawItems
=
SKETCH
;
Segment
->
Draw
(
m_canvas
,
DC
,
GR_XOR
);
PtStruct
=
Segment
->
Back
();
...
...
@@ -236,14 +236,14 @@ DRAWSEGMENT* PCB_EDIT_FRAME::Begin_DrawSegment( DRAWSEGMENT* Segment, int shape,
int
s_large
;
DRAWSEGMENT
*
DrawItem
;
s_large
=
Get
Board
()
->
Get
DesignSettings
().
m_DrawSegmentWidth
;
s_large
=
GetDesignSettings
().
m_DrawSegmentWidth
;
if
(
getActiveLayer
()
==
EDGE_N
)
{
s_large
=
Get
Board
()
->
Get
DesignSettings
().
m_EdgeSegmentWidth
;
s_large
=
GetDesignSettings
().
m_EdgeSegmentWidth
;
}
if
(
Segment
==
NULL
)
/
* Create new trace. */
if
(
Segment
==
NULL
)
/
/ Create new trace.
{
SetCurItem
(
Segment
=
new
DRAWSEGMENT
(
GetBoard
()
)
);
Segment
->
SetFlags
(
IS_NEW
);
...
...
pcbnew/editrack-part2.cpp
View file @
716d21d8
...
...
@@ -60,7 +60,7 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
return
true
;
}
/
* Avoid more than one via on the current location: */
/
/ Avoid more than one via on the current location:
if
(
GetBoard
()
->
GetViaByPosition
(
g_CurrentTrackSegment
->
m_End
,
g_CurrentTrackSegment
->
GetLayer
()
)
)
return
false
;
...
...
@@ -71,11 +71,11 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
return
false
;
}
/
* Is the current segment Ok (no DRC error) ? */
/
/ Is the current segment Ok (no DRC error) ?
if
(
Drc_On
)
{
if
(
BAD_DRC
==
m_drc
->
Drc
(
g_CurrentTrackSegment
,
GetBoard
()
->
m_Track
)
)
/
* DRC error, the change layer is not made */
/
/ DRC error, the change layer is not made
return
false
;
// Handle 2 segments.
...
...
@@ -94,10 +94,10 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
m_canvas
->
CallMouseCapture
(
DC
,
wxDefaultPosition
,
false
);
/
* create the via */
/
/ create the via
SEGVIA
*
via
=
new
SEGVIA
(
GetBoard
()
);
via
->
SetFlags
(
IS_NEW
);
via
->
m_Shape
=
Get
Board
()
->
Get
DesignSettings
().
m_CurrentViaType
;
via
->
m_Shape
=
GetDesignSettings
().
m_CurrentViaType
;
via
->
m_Width
=
GetBoard
()
->
GetCurrentViaSize
();
via
->
SetNet
(
GetBoard
()
->
GetHighLightNetCode
()
);
via
->
m_Start
=
via
->
m_End
=
g_CurrentTrackSegment
->
m_End
;
...
...
@@ -116,7 +116,7 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
else
last_layer
=
GetScreen
()
->
m_Route_Layer_BOTTOM
;
/
* Adjust the actual via layer pair */
/
/ Adjust the actual via layer pair
switch
(
via
->
GetShape
()
)
{
case
VIA_BLIND_BURIED
:
...
...
@@ -150,7 +150,7 @@ bool PCB_EDIT_FRAME::Other_Layer_Route( TRACK* aTrack, wxDC* DC )
if
(
Drc_On
&&
BAD_DRC
==
m_drc
->
Drc
(
via
,
GetBoard
()
->
m_Track
)
)
{
/
* DRC fault: the Via cannot be placed here ... */
/
/ DRC fault: the Via cannot be placed here ...
delete
via
;
m_canvas
->
CallMouseCapture
(
DC
,
wxDefaultPosition
,
false
);
...
...
@@ -235,7 +235,7 @@ void PCB_EDIT_FRAME::Show_1_Ratsnest( EDA_ITEM* item, wxDC* DC )
Module
=
(
MODULE
*
)
pt_pad
->
GetParent
();
}
if
(
pt_pad
)
/
* Displaying the ratsnest of the corresponding net. */
if
(
pt_pad
)
/
/ Displaying the ratsnest of the corresponding net.
{
pt_pad
->
DisplayInfo
(
this
);
...
...
@@ -300,7 +300,7 @@ void PCB_EDIT_FRAME::Show_1_Ratsnest( EDA_ITEM* item, wxDC* DC )
}
}
/
* Erase if no pad or module has been selected. */
/
/ Erase if no pad or module has been selected.
if
(
(
pt_pad
==
NULL
)
&&
(
Module
==
NULL
)
)
{
DrawGeneralRatsnest
(
DC
);
...
...
pcbnew/edtxtmod.cpp
View file @
716d21d8
...
...
@@ -76,10 +76,10 @@ TEXTE_MODULE* PCB_BASE_FRAME::CreateTextModule( MODULE* Module, wxDC* DC )
Text
->
m_Text
=
wxT
(
"text"
);
Get
Board
()
->
GetDesignSettings
().
m_ModuleTextWidth
=
Clamp_Text_PenSize
(
GetBoard
()
->
GetDesignSettings
().
m_ModuleTextWidth
,
MIN
(
Get
Board
()
->
GetDesignSettings
().
m_ModuleTextSize
.
x
,
GetBoard
()
->
GetDesignSettings
().
m_ModuleTextSize
.
y
),
true
);
Text
->
m_Size
=
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextSize
;
Text
->
m_Thickness
=
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextWidth
;
Get
DesignSettings
().
m_ModuleTextWidth
=
Clamp_Text_PenSize
(
GetDesignSettings
().
m_ModuleTextWidth
,
MIN
(
Get
DesignSettings
().
m_ModuleTextSize
.
x
,
GetDesignSettings
().
m_ModuleTextSize
.
y
),
true
);
Text
->
m_Size
=
GetDesignSettings
().
m_ModuleTextSize
;
Text
->
m_Thickness
=
GetDesignSettings
().
m_ModuleTextWidth
;
Text
->
m_Pos
=
GetScreen
()
->
GetCrossHairPosition
();
Text
->
SetLocalCoord
();
...
...
@@ -309,15 +309,15 @@ void PCB_BASE_FRAME::ResetTextSize( BOARD_ITEM* aItem, wxDC* aDC )
switch
(
aItem
->
Type
()
)
{
case
PCB_TEXT_T
:
newSize
=
Get
Board
()
->
Get
DesignSettings
().
m_PcbTextSize
;
newThickness
=
Get
Board
()
->
Get
DesignSettings
().
m_PcbTextWidth
;
newSize
=
GetDesignSettings
().
m_PcbTextSize
;
newThickness
=
GetDesignSettings
().
m_PcbTextWidth
;
pcbText
=
(
TEXTE_PCB
*
)
aItem
;
text
=
(
EDA_TEXT
*
)
pcbText
;
break
;
case
PCB_MODULE_TEXT_T
:
newSize
=
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextSize
;
newThickness
=
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextWidth
;
newSize
=
GetDesignSettings
().
m_ModuleTextSize
;
newThickness
=
GetDesignSettings
().
m_ModuleTextWidth
;
moduleText
=
(
TEXTE_MODULE
*
)
aItem
;
text
=
(
EDA_TEXT
*
)
moduleText
;
break
;
...
...
@@ -380,7 +380,7 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
case
TEXT_is_REFERENCE
:
item
=
module
->
m_Reference
;
if
(
item
->
GetSize
()
!=
Get
Board
()
->
GetDesignSettings
().
m_ModuleTextSize
||
item
->
GetThickness
()
!=
GetBoard
()
->
GetDesignSettings
().
m_ModuleTextWidth
)
if
(
item
->
GetSize
()
!=
Get
DesignSettings
().
m_ModuleTextSize
||
item
->
GetThickness
()
!=
GetDesignSettings
().
m_ModuleTextWidth
)
undoItemList
.
PushItem
(
itemWrapper
);
break
;
...
...
@@ -388,7 +388,7 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
case
TEXT_is_VALUE
:
item
=
module
->
m_Value
;
if
(
item
->
GetSize
()
!=
Get
Board
()
->
GetDesignSettings
().
m_ModuleTextSize
||
item
->
GetThickness
()
!=
GetBoard
()
->
GetDesignSettings
().
m_ModuleTextWidth
)
if
(
item
->
GetSize
()
!=
Get
DesignSettings
().
m_ModuleTextSize
||
item
->
GetThickness
()
!=
GetDesignSettings
().
m_ModuleTextWidth
)
undoItemList
.
PushItem
(
itemWrapper
);
break
;
...
...
@@ -401,8 +401,8 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
{
item
=
(
TEXTE_MODULE
*
)
boardItem
;
if
(
item
->
GetSize
()
!=
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextSize
||
item
->
GetThickness
()
!=
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextWidth
)
if
(
item
->
GetSize
()
!=
GetDesignSettings
().
m_ModuleTextSize
||
item
->
GetThickness
()
!=
GetDesignSettings
().
m_ModuleTextWidth
)
{
undoItemList
.
PushItem
(
itemWrapper
);
break
;
...
...
@@ -432,13 +432,13 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
switch
(
aType
)
{
case
TEXT_is_REFERENCE
:
module
->
m_Reference
->
SetThickness
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextWidth
);
module
->
m_Reference
->
SetSize
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextSize
);
module
->
m_Reference
->
SetThickness
(
GetDesignSettings
().
m_ModuleTextWidth
);
module
->
m_Reference
->
SetSize
(
GetDesignSettings
().
m_ModuleTextSize
);
break
;
case
TEXT_is_VALUE
:
module
->
m_Value
->
SetThickness
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextWidth
);
module
->
m_Value
->
SetSize
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextSize
);
module
->
m_Value
->
SetThickness
(
GetDesignSettings
().
m_ModuleTextWidth
);
module
->
m_Value
->
SetSize
(
GetDesignSettings
().
m_ModuleTextSize
);
break
;
case
TEXT_is_DIVERS
:
...
...
@@ -447,8 +447,8 @@ void PCB_BASE_FRAME::ResetModuleTextSizes( int aType, wxDC* aDC )
if
(
boardItem
->
Type
()
==
PCB_MODULE_TEXT_T
)
{
item
=
(
TEXTE_MODULE
*
)
boardItem
;
item
->
SetThickness
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextWidth
);
item
->
SetSize
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextSize
);
item
->
SetThickness
(
GetDesignSettings
().
m_ModuleTextWidth
);
item
->
SetSize
(
GetDesignSettings
().
m_ModuleTextSize
);
}
}
...
...
pcbnew/event_handlers_tracks_vias_sizes.cpp
View file @
716d21d8
...
...
@@ -35,19 +35,19 @@ void PCB_EDIT_FRAME::Tracks_and_Vias_Size_Event( wxCommandEvent& event )
switch
(
id
)
{
case
ID_AUX_TOOLBAR_PCB_SELECT_AUTO_WIDTH
:
Get
Board
()
->
Get
DesignSettings
().
m_UseConnectedTrackWidth
=
not
Get
Board
()
->
Get
DesignSettings
().
m_UseConnectedTrackWidth
;
GetDesignSettings
().
m_UseConnectedTrackWidth
=
not
GetDesignSettings
().
m_UseConnectedTrackWidth
;
break
;
case
ID_POPUP_PCB_SELECT_USE_NETCLASS_VALUES
:
Get
Board
()
->
Get
DesignSettings
().
m_UseConnectedTrackWidth
=
false
;
GetDesignSettings
().
m_UseConnectedTrackWidth
=
false
;
GetBoard
()
->
m_TrackWidthSelector
=
0
;
GetBoard
()
->
m_ViaSizeSelector
=
0
;
break
;
case
ID_POPUP_PCB_SELECT_AUTO_WIDTH
:
m_canvas
->
MoveCursorToCrossHair
();
Get
Board
()
->
Get
DesignSettings
().
m_UseConnectedTrackWidth
=
true
;
GetDesignSettings
().
m_UseConnectedTrackWidth
=
true
;
break
;
case
ID_POPUP_PCB_SELECT_WIDTH1
:
// this is the default Netclass selection
...
...
@@ -59,7 +59,7 @@ void PCB_EDIT_FRAME::Tracks_and_Vias_Size_Event( wxCommandEvent& event )
case
ID_POPUP_PCB_SELECT_WIDTH7
:
case
ID_POPUP_PCB_SELECT_WIDTH8
:
m_canvas
->
MoveCursorToCrossHair
();
Get
Board
()
->
Get
DesignSettings
().
m_UseConnectedTrackWidth
=
false
;
GetDesignSettings
().
m_UseConnectedTrackWidth
=
false
;
ii
=
id
-
ID_POPUP_PCB_SELECT_WIDTH1
;
GetBoard
()
->
m_TrackWidthSelector
=
ii
;
break
;
...
...
pcbnew/librairi.cpp
View file @
716d21d8
...
...
@@ -703,13 +703,13 @@ MODULE* PCB_BASE_FRAME::Create_1_Module( const wxString& aModuleName )
// Update reference:
Module
->
m_Reference
->
m_Text
=
moduleName
;
Module
->
m_Reference
->
SetThickness
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextWidth
);
Module
->
m_Reference
->
SetSize
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextSize
);
Module
->
m_Reference
->
SetThickness
(
GetDesignSettings
().
m_ModuleTextWidth
);
Module
->
m_Reference
->
SetSize
(
GetDesignSettings
().
m_ModuleTextSize
);
// Set the value field to a default value
Module
->
m_Value
->
m_Text
=
wxT
(
"VAL**"
);
Module
->
m_Value
->
SetThickness
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextWidth
);
Module
->
m_Value
->
SetSize
(
Get
Board
()
->
Get
DesignSettings
().
m_ModuleTextSize
);
Module
->
m_Value
->
SetThickness
(
GetDesignSettings
().
m_ModuleTextWidth
);
Module
->
m_Value
->
SetSize
(
GetDesignSettings
().
m_ModuleTextSize
);
Module
->
SetPosition
(
wxPoint
(
0
,
0
)
);
...
...
pcbnew/mirepcb.cpp
View file @
716d21d8
...
...
@@ -215,7 +215,7 @@ PCB_TARGET* PCB_EDIT_FRAME::CreateTarget( wxDC* DC )
GetBoard
()
->
Add
(
target
);
target
->
SetLayer
(
EDGE_N
);
target
->
SetWidth
(
Get
Board
()
->
Get
DesignSettings
().
m_EdgeSegmentWidth
);
target
->
SetWidth
(
GetDesignSettings
().
m_EdgeSegmentWidth
);
target
->
SetSize
(
MireDefaultSize
);
target
->
SetPosition
(
m_canvas
->
GetScreen
()
->
GetCrossHairPosition
()
);
...
...
pcbnew/module_editor_frame.h
View file @
716d21d8
...
...
@@ -3,8 +3,8 @@
* @brief Definition of class FOOTPRINT_EDIT_FRAME.
*/
#ifndef
_
MODULE_EDITOR_FRAME_H_
#define
_
MODULE_EDITOR_FRAME_H_
#ifndef MODULE_EDITOR_FRAME_H_
#define MODULE_EDITOR_FRAME_H_
class
FOOTPRINT_EDIT_FRAME
:
public
PCB_BASE_FRAME
...
...
@@ -13,13 +13,16 @@ public:
MODULE
*
CurrentModule
;
public
:
FOOTPRINT_EDIT_FRAME
(
wxWindow
*
father
,
FOOTPRINT_EDIT_FRAME
(
PCB_EDIT_FRAME
*
aParent
,
const
wxString
&
title
,
const
wxPoint
&
pos
,
const
wxSize
&
size
,
long
style
=
KICAD_DEFAULT_DRAWFRAME_STYLE
);
~
FOOTPRINT_EDIT_FRAME
();
BOARD_DESIGN_SETTINGS
&
GetDesignSettings
()
const
;
// overload PCB_BASE_FRAME, get parent's
void
SetDesignSettings
(
const
BOARD_DESIGN_SETTINGS
&
aSettings
);
// overload
void
InstallOptionsFrame
(
const
wxPoint
&
pos
);
void
OnCloseWindow
(
wxCloseEvent
&
Event
);
...
...
@@ -199,6 +202,8 @@ public:
private
:
static
wxString
m_CurrentLib
;
static
BOARD
*
s_Pcb
;
///< retain board accross invocations of module editor
/**
* Function GetComponentFromUndoList
* performs an undo operation on the last edition:
...
...
@@ -328,10 +333,10 @@ public:
*/
void
Enter_Edge_Width
(
EDGE_MODULE
*
aEdge
);
/
* Function to initialize the move function params of a graphic item type DRAWSEGMENT */
/
// Function to initialize the move function params of a graphic item type DRAWSEGMENT
void
Start_Move_EdgeMod
(
EDGE_MODULE
*
drawitem
,
wxDC
*
DC
);
/
* Function to place a graphic item type EDGE_MODULE currently moved */
/
// Function to place a graphic item type EDGE_MODULE currently moved
void
Place_EdgeMod
(
EDGE_MODULE
*
drawitem
);
/**
...
...
@@ -355,4 +360,4 @@ public:
DECLARE_EVENT_TABLE
()
};
#endif //
#define _
MODULE_EDITOR_FRAME_H_
#endif // MODULE_EDITOR_FRAME_H_
pcbnew/moduleframe.cpp
View file @
716d21d8
...
...
@@ -49,11 +49,9 @@
static
PCB_SCREEN
*
s_screenModule
=
NULL
;
// the PCB_SCREEN used by the footprint editor
// Design setting for the module editor:
static
BOARD_DESIGN_SETTINGS
s_ModuleEditorDesignSetting
;
wxString
FOOTPRINT_EDIT_FRAME
::
m_CurrentLib
=
wxEmptyString
;
BOARD
*
FOOTPRINT_EDIT_FRAME
::
s_Pcb
;
BEGIN_EVENT_TABLE
(
FOOTPRINT_EDIT_FRAME
,
PCB_BASE_FRAME
)
EVT_MENU_RANGE
(
ID_POPUP_PCB_ITEM_SELECTION_START
,
ID_POPUP_PCB_ITEM_SELECTION_END
,
...
...
@@ -134,12 +132,12 @@ BEGIN_EVENT_TABLE( FOOTPRINT_EDIT_FRAME, PCB_BASE_FRAME )
END_EVENT_TABLE
()
FOOTPRINT_EDIT_FRAME
::
FOOTPRINT_EDIT_FRAME
(
wxWindow
*
father
,
FOOTPRINT_EDIT_FRAME
::
FOOTPRINT_EDIT_FRAME
(
PCB_EDIT_FRAME
*
aParent
,
const
wxString
&
title
,
const
wxPoint
&
pos
,
const
wxSize
&
size
,
long
style
)
:
PCB_BASE_FRAME
(
father
,
MODULE_EDITOR_FRAME
,
wxEmptyString
,
pos
,
size
,
style
)
PCB_BASE_FRAME
(
aParent
,
MODULE_EDITOR_FRAME
,
wxEmptyString
,
pos
,
size
,
style
)
{
m_FrameName
=
wxT
(
"ModEditFrame"
);
m_showBorderAndTitleBlock
=
false
;
// true to show the frame references
...
...
@@ -154,16 +152,21 @@ FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME( wxWindow* father,
UpdateTitle
();
if
(
g_ModuleEditor_Pcb
==
NULL
)
g_ModuleEditor
_Pcb
=
new
BOARD
();
if
(
!
s_Pcb
)
s
_Pcb
=
new
BOARD
();
SetBoard
(
g_ModuleEditor
_Pcb
);
SetBoard
(
s
_Pcb
);
if
(
s_screenModule
==
NULL
)
s_screenModule
=
new
PCB_SCREEN
(
GetPageSettings
().
GetSizeIU
()
);
SetScreen
(
s_screenModule
);
GetBoard
()
->
SetDesignSettings
(
s_ModuleEditorDesignSetting
);
/* not sure why this was here, formerly s_ModuleEditorDesignSetting, since
we get default BOARD_DESIGN_SETTINGS in BOARD's constructor.
GetBoard()->SetDesignSettings( BOARD_DESIGN_SETTINGS() );
*/
GetScreen
()
->
SetCurItem
(
NULL
);
LoadSettings
();
...
...
@@ -215,16 +218,42 @@ FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME( wxWindow* father,
FOOTPRINT_EDIT_FRAME
::~
FOOTPRINT_EDIT_FRAME
()
{
/* g_ModuleEditor_Pcb and its corresponding PCB_SCREEN are not deleted
* here, because if we reopen the Footprint editor, we expect to find
* the last edited item
*/
SetScreen
(
NULL
);
/* Do not delete (by the destructor of EDA_DRAW_FRAME) the
* PCB_SCREEN handling g_ModuleEditor_Pcb
*/
// When user reopens the Footprint editor, user would like to find the last edited item.
// Do not delete PCB_SCREEN (by the destructor of EDA_DRAW_FRAME)
SetScreen
(
NULL
);
PCB_BASE_FRAME
*
frame
=
(
PCB_BASE_FRAME
*
)
GetParent
();
frame
->
m_ModuleEditFrame
=
NULL
;
// Do not allow PCB_BASE_FRAME::~PCB_BASE_FRAME()
// to delete our precious BOARD, which is also in static FOOTPRINT_EDIT_FRAME::s_Pcb.
// That function, PCB_BASE_FRAME::~PCB_BASE_FRAME(), runs immediately next
// as we return from here.
m_Pcb
=
0
;
}
BOARD_DESIGN_SETTINGS
&
FOOTPRINT_EDIT_FRAME
::
GetDesignSettings
()
const
{
// get the BOARD_DESIGN_SETTINGS from the parent editor, not our BOARD.
PCB_BASE_FRAME
*
parentFrame
=
(
PCB_BASE_FRAME
*
)
GetParent
();
wxASSERT
(
parentFrame
);
return
parentFrame
->
GetDesignSettings
();
}
void
FOOTPRINT_EDIT_FRAME
::
SetDesignSettings
(
const
BOARD_DESIGN_SETTINGS
&
aSettings
)
{
// set the BOARD_DESIGN_SETTINGS int parent editor, not our BOARD.
PCB_BASE_FRAME
*
parentFrame
=
(
PCB_BASE_FRAME
*
)
GetParent
();
wxASSERT
(
parentFrame
);
parentFrame
->
SetDesignSettings
(
aSettings
);
}
...
...
pcbnew/pcbframe.cpp
View file @
716d21d8
...
...
@@ -623,7 +623,7 @@ bool PCB_EDIT_FRAME::IsMicroViaAcceptable( void )
int
copperlayercnt
=
GetBoard
()
->
GetCopperLayerCount
(
);
int
currLayer
=
getActiveLayer
();
if
(
!
Get
Board
()
->
Get
DesignSettings
().
m_MicroViasAllowed
)
if
(
!
GetDesignSettings
().
m_MicroViasAllowed
)
return
false
;
// Obvious..
if
(
copperlayercnt
<
4
)
...
...
pcbnew/tool_pcb.cpp
View file @
716d21d8
...
...
@@ -127,7 +127,7 @@ void PCB_EDIT_FRAME::PrepareLayerIndicator()
change
=
true
;
}
int
via_type
=
Get
Board
()
->
Get
DesignSettings
().
m_CurrentViaType
;
int
via_type
=
GetDesignSettings
().
m_CurrentViaType
;
via_color
=
GetBoard
()
->
GetVisibleElementColor
(
VIAS_VISIBLE
+
via_type
);
if
(
previous_via_color
!=
via_color
)
...
...
pcbnew/toolbars_update_user_interface.cpp
View file @
716d21d8
...
...
@@ -60,7 +60,7 @@ void PCB_EDIT_FRAME::OnUpdateSelectTrackWidth( wxUpdateUIEvent& aEvent )
{
bool
check
=
(
(
(
ID_POPUP_PCB_SELECT_WIDTH1
+
(
int
)
GetBoard
()
->
m_TrackWidthSelector
)
==
aEvent
.
GetId
()
)
&&
!
Get
Board
()
->
Get
DesignSettings
().
m_UseConnectedTrackWidth
);
!
GetDesignSettings
().
m_UseConnectedTrackWidth
);
aEvent
.
Check
(
check
);
}
}
...
...
@@ -68,7 +68,7 @@ void PCB_EDIT_FRAME::OnUpdateSelectTrackWidth( wxUpdateUIEvent& aEvent )
void
PCB_EDIT_FRAME
::
OnUpdateSelectAutoTrackWidth
(
wxUpdateUIEvent
&
aEvent
)
{
aEvent
.
Check
(
Get
Board
()
->
Get
DesignSettings
().
m_UseConnectedTrackWidth
);
aEvent
.
Check
(
GetDesignSettings
().
m_UseConnectedTrackWidth
);
}
...
...
@@ -85,7 +85,7 @@ void PCB_EDIT_FRAME::OnUpdateSelectViaSize( wxUpdateUIEvent& aEvent )
{
bool
check
=
(
(
(
ID_POPUP_PCB_SELECT_VIASIZE1
+
(
int
)
GetBoard
()
->
m_ViaSizeSelector
)
==
aEvent
.
GetId
()
)
&&
!
Get
Board
()
->
Get
DesignSettings
().
m_UseConnectedTrackWidth
);
!
GetDesignSettings
().
m_UseConnectedTrackWidth
);
aEvent
.
Check
(
check
);
}
...
...
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