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
8a5ea7ec
Commit
8a5ea7ec
authored
Jan 09, 2013
by
Wayne Stambaugh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pcbnew BOARD object encapsulation improvements.
parent
8b6d5cb4
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
181 additions
and
97 deletions
+181
-97
solve.cpp
pcbnew/autorouter/solve.cpp
+1
-1
class_board.cpp
pcbnew/class_board.cpp
+32
-20
class_board.h
pcbnew/class_board.h
+95
-34
class_netinfolist.cpp
pcbnew/class_netinfolist.cpp
+1
-1
connect.cpp
pcbnew/connect.cpp
+3
-1
dialog_global_edit_tracks_and_vias.cpp
pcbnew/dialogs/dialog_global_edit_tracks_and_vias.cpp
+9
-5
event_handlers_tracks_vias_sizes.cpp
pcbnew/event_handlers_tracks_vias_sizes.cpp
+6
-6
hotkeys_board_editor.cpp
pcbnew/hotkeys_board_editor.cpp
+5
-5
kicad_plugin.cpp
pcbnew/kicad_plugin.cpp
+1
-1
legacy_plugin.cpp
pcbnew/legacy_plugin.cpp
+2
-2
onrightclick.cpp
pcbnew/onrightclick.cpp
+4
-4
pcb_parser.cpp
pcbnew/pcb_parser.cpp
+1
-1
ratsnest.cpp
pcbnew/ratsnest.cpp
+8
-4
tool_pcb.cpp
pcbnew/tool_pcb.cpp
+7
-6
toolbars_update_user_interface.cpp
pcbnew/toolbars_update_user_interface.cpp
+6
-6
No files found.
pcbnew/autorouter/solve.cpp
View file @
8a5ea7ec
...
...
@@ -365,7 +365,7 @@ int PCB_EDIT_FRAME::Solve( wxDC* DC, int aLayersCount )
AppendMsgPanel
(
wxT
(
"Ok"
),
msg
,
GREEN
);
msg
.
Printf
(
wxT
(
"%d"
),
nbunsucces
);
AppendMsgPanel
(
wxT
(
"Fail"
),
msg
,
RED
);
msg
.
Printf
(
wxT
(
" %d"
),
GetBoard
()
->
m_NbNoconnect
);
msg
.
Printf
(
wxT
(
" %d"
),
GetBoard
()
->
GetUnconnectedNetCount
()
);
AppendMsgPanel
(
wxT
(
"Not Connected"
),
msg
,
CYAN
);
/* Delete routing from display. */
...
...
pcbnew/class_board.cpp
View file @
8a5ea7ec
...
...
@@ -66,8 +66,8 @@ BOARD::BOARD() :
m_Status_Pcb
=
0
;
// Status word: bit 1 = calculate.
SetColorsSettings
(
&
g_ColorsSettings
);
m_
NbNodes
=
0
;
// Number of connected pads.
m_
NbNoconnect
=
0
;
// Number of unconnected nets.
m_
nodeCount
=
0
;
// Number of connected pads.
m_
unconnectedNetCount
=
0
;
// Number of unconnected nets.
m_CurrentZoneContour
=
NULL
;
// This ZONE_CONTAINER handle the
// zone contour currently in progress
...
...
@@ -86,8 +86,8 @@ BOARD::BOARD() :
m_NetClasses
.
GetDefault
()
->
SetDescription
(
_
(
"This is the default net class."
)
);
m_
ViaSizeSelector
=
0
;
m_
TrackWidthSelector
=
0
;
m_
viaSizeIndex
=
0
;
m_
trackWidthIndex
=
0
;
/* Dick 5-Feb-2012: this seems unnecessary. I don't believe the comment
near line 70 of class_netclass.cpp. I stepped through with debugger.
...
...
@@ -258,7 +258,7 @@ bool BOARD::SetCurrentNetClass( const wxString& aNetClassName )
if
(
netClass
==
NULL
)
netClass
=
m_NetClasses
.
GetDefault
();
m_
C
urrentNetClassName
=
netClass
->
GetName
();
m_
c
urrentNetClassName
=
netClass
->
GetName
();
// Initialize others values:
if
(
m_ViasDimensionsList
.
size
()
==
0
)
...
...
@@ -287,11 +287,11 @@ bool BOARD::SetCurrentNetClass( const wxString& aNetClassName )
m_TrackWidthList
[
0
]
=
netClass
->
GetTrackWidth
();
if
(
m_
ViaSizeSelector
>=
m_ViasDimensionsList
.
size
()
)
m_
ViaSizeSelector
=
m_ViasDimensionsList
.
size
();
if
(
m_
viaSizeIndex
>=
m_ViasDimensionsList
.
size
()
)
m_
viaSizeIndex
=
m_ViasDimensionsList
.
size
();
if
(
m_
TrackWidthSelector
>=
m_TrackWidthList
.
size
()
)
m_
TrackWidthSelector
=
m_TrackWidthList
.
size
();
if
(
m_
trackWidthIndex
>=
m_TrackWidthList
.
size
()
)
m_
trackWidthIndex
=
m_TrackWidthList
.
size
();
return
lists_sizes_modified
;
}
...
...
@@ -329,7 +329,7 @@ int BOARD::GetSmallestClearanceValue()
int
BOARD
::
GetCurrentMicroViaSize
()
{
NETCLASS
*
netclass
=
m_NetClasses
.
Find
(
m_
C
urrentNetClassName
);
NETCLASS
*
netclass
=
m_NetClasses
.
Find
(
m_
c
urrentNetClassName
);
return
netclass
->
GetuViaDiameter
();
}
...
...
@@ -337,7 +337,7 @@ int BOARD::GetCurrentMicroViaSize()
int
BOARD
::
GetCurrentMicroViaDrill
()
{
NETCLASS
*
netclass
=
m_NetClasses
.
Find
(
m_
C
urrentNetClassName
);
NETCLASS
*
netclass
=
m_NetClasses
.
Find
(
m_
c
urrentNetClassName
);
return
netclass
->
GetuViaDrill
();
}
...
...
@@ -925,15 +925,9 @@ int BOARD::GetNumSegmZone() const
}
unsigned
BOARD
::
GetNoconnectCount
()
const
{
return
m_NbNoconnect
;
}
unsigned
BOARD
::
GetNodesCount
()
const
{
return
m_
NbNodes
;
return
m_
nodeCount
;
}
...
...
@@ -1053,10 +1047,10 @@ void BOARD::DisplayInfo( EDA_DRAW_FRAME* frame )
txt
.
Printf
(
wxT
(
"%d"
),
GetRatsnestsCount
()
);
frame
->
AppendMsgPanel
(
_
(
"Links"
),
txt
,
DARKGREEN
);
txt
.
Printf
(
wxT
(
"%d"
),
GetRatsnestsCount
()
-
Get
Noconnec
tCount
()
);
txt
.
Printf
(
wxT
(
"%d"
),
GetRatsnestsCount
()
-
Get
UnconnectedNe
tCount
()
);
frame
->
AppendMsgPanel
(
_
(
"Connect"
),
txt
,
DARKGREEN
);
txt
.
Printf
(
wxT
(
"%d"
),
Get
Noconnec
tCount
()
);
txt
.
Printf
(
wxT
(
"%d"
),
Get
UnconnectedNe
tCount
()
);
frame
->
AppendMsgPanel
(
_
(
"Unconnected"
),
txt
,
BLUE
);
}
}
...
...
@@ -2238,6 +2232,24 @@ TRACK* BOARD::CreateLockPoint( wxPoint& aPosition, TRACK* aSegment, PICKED_ITEMS
}
void
BOARD
::
SetViaSizeIndex
(
unsigned
aIndex
)
{
if
(
aIndex
>=
m_ViasDimensionsList
.
size
()
)
m_viaSizeIndex
=
m_ViasDimensionsList
.
size
();
else
m_viaSizeIndex
=
aIndex
;
}
void
BOARD
::
SetTrackWidthIndex
(
unsigned
aIndex
)
{
if
(
m_trackWidthIndex
>=
m_TrackWidthList
.
size
()
)
m_trackWidthIndex
=
m_TrackWidthList
.
size
();
else
m_trackWidthIndex
=
aIndex
;
}
#if defined(DEBUG)
void
BOARD
::
Show
(
int
nestLevel
,
std
::
ostream
&
os
)
const
...
...
pcbnew/class_board.h
View file @
8a5ea7ec
...
...
@@ -173,30 +173,29 @@ class BOARD : public BOARD_ITEM
private
:
/// the board filename
wxString
m_fileName
;
wxString
m_fileName
;
// @todo: switch to boost:ptr_vector, and change ~BOARD()
typedef
std
::
vector
<
MARKER_PCB
*>
MARKERS
;
/// MARKER_PCBs for clearance problems, owned by pointer.
MARKERS
m_markers
;
MARKERS
m_markers
;
// @todo: switch to boost::ptr_vector, and change ~BOARD()
typedef
std
::
vector
<
ZONE_CONTAINER
*>
ZONE_CONTAINERS
;
/// edge zone descriptors, owned by pointer.
ZONE_CONTAINERS
m_ZoneDescriptorList
;
ZONE_CONTAINERS
m_ZoneDescriptorList
;
LAYER
m_Layer
[
LAYER_COUNT
];
LAYER
m_Layer
[
LAYER_COUNT
];
// if true m_highLight_NetCode is used
HIGH_LIGHT_INFO
m_highLight
;
// current high light data
HIGH_LIGHT_INFO
m_highLightPrevious
;
// a previously stored high light data
HIGH_LIGHT_INFO
m_highLight
;
// current high light data
HIGH_LIGHT_INFO
m_highLightPrevious
;
// a previously stored high light data
int
m_fileFormatVersionAtLoad
;
///< the version in the *.brd header on first lin
e
int
m_fileFormatVersionAtLoad
;
///< the version loaded from the fil
e
EDA_RECT
m_BoundingBox
;
NETINFO_LIST
m_NetInfo
;
///< net info list (name, design constraints ..
EDA_RECT
m_BoundingBox
;
NETINFO_LIST
m_NetInfo
;
///< net info list (name, design constraints ..
BOARD_DESIGN_SETTINGS
m_designSettings
;
ZONE_SETTINGS
m_zoneSettings
;
...
...
@@ -206,7 +205,24 @@ private:
PCB_PLOT_PARAMS
m_plotOptions
;
/// Position of the origin axis, which is used in exports mostly
wxPoint
m_originAxisPosition
;
wxPoint
m_originAxisPosition
;
/// Number of pads connected to the current net.
int
m_nodeCount
;
/// Number of unconnected nets in the current rats nest.
int
m_unconnectedNetCount
;
/// Current net class name used to display netclass info.
/// This is also the last used netclass after starting a track.
wxString
m_currentNetClassName
;
/// Index for #m_ViaSizeList to select the current via size.
/// 0 is the index selection of the default value Netclass
unsigned
m_viaSizeIndex
;
// Index for m_TrackWidthList to select the value.
unsigned
m_trackWidthIndex
;
/**
* Function chainMarkedSegments
...
...
@@ -232,12 +248,6 @@ public:
/// Flags used in ratsnest calculation and update.
int
m_Status_Pcb
;
/// Active pads (pads attached to a net ) count.
int
m_NbNodes
;
/// Active ratsnest count (ratsnests not already connected by tracks)
int
m_NbNoconnect
;
DLIST
<
BOARD_ITEM
>
m_Drawings
;
// linked list of lines & texts
DLIST
<
MODULE
>
m_Modules
;
// linked list of MODULEs
DLIST
<
TRACK
>
m_Track
;
// linked list of TRACKs and SEGVIAs
...
...
@@ -255,10 +265,6 @@ public:
/// List of current netclasses. There is always the default netclass.
NETCLASSES
m_NetClasses
;
/// Current net class name used to display netclass info.
/// This is also the last used netclass after starting a track.
wxString
m_CurrentNetClassName
;
// handling of vias and tracks size:
// the first value is always the value of the current NetClass
// The others values are extra values
...
...
@@ -271,13 +277,6 @@ public:
// The first value is the current netclass track width
std
::
vector
<
int
>
m_TrackWidthList
;
/// Index for m_ViaSizeList to select the value.
/// 0 is the index selection of the default value Netclass
unsigned
m_ViaSizeSelector
;
// Index for m_TrackWidthList to select the value.
unsigned
m_TrackWidthSelector
;
BOARD
();
~
BOARD
();
...
...
@@ -672,8 +671,6 @@ public:
/** Calculate the zone segment count */
int
GetNumSegmZone
()
const
;
unsigned
GetNoconnectCount
()
const
;
// Return the number of missing links.
/**
* Function GetNumRatsnests
* @return int - The number of rats
...
...
@@ -690,6 +687,42 @@ public:
*/
unsigned
GetNodesCount
()
const
;
/**
* Function SetNodeCount
* set the number of nodes of the current net to \a aCount.
*
* @param aCount is the number of nodes attached to the current net.
*/
void
SetNodeCount
(
unsigned
aCount
)
{
m_nodeCount
=
aCount
;
}
/**
* Function GetUnconnectedNetCount
* @return the number of unconnected nets in the current rats nest.
*/
unsigned
GetUnconnectedNetCount
()
const
{
return
m_unconnectedNetCount
;
}
/**
* Function SetUnconnectedNetCount
* sets the number of unconnected nets in the current rats nest to \a aCount.
*
* @param aCount is the number of unconneceted nets in the current rats nest.
*/
void
SetUnconnectedNetCount
(
unsigned
aCount
)
{
m_unconnectedNetCount
=
aCount
;
}
/**
* Function SetCurrentNetClassName
* sets the current net class name to \a aName.
*
* @param aName is a reference to a wxString object containing the current net class name.
*/
void
SetCurrentNetClassName
(
const
wxString
&
aName
)
{
m_currentNetClassName
=
aName
;
}
/**
* Function GetCurrentNetClassName
* @return the current net class name.
*/
const
wxString
&
GetCurrentNetClassName
()
const
{
return
m_currentNetClassName
;
}
/**
* Function GetPadCount
* @return the number of pads in board
...
...
@@ -877,6 +910,20 @@ public:
*/
int
GetSmallestClearanceValue
();
/**
* Function GetTrackWidthIndex
* @return the current track width list index.
*/
unsigned
GetTrackWidthIndex
()
const
{
return
m_trackWidthIndex
;
}
/**
* Function SetTrackWidthIndex
* sets the current track width list index to \a aIndex.
*
* @param aIndex is the track width list index.
*/
void
SetTrackWidthIndex
(
unsigned
aIndex
);
/**
* Function GetCurrentTrackWidth
* @return the current track width, according to the selected options
...
...
@@ -885,9 +932,23 @@ public:
*/
int
GetCurrentTrackWidth
()
const
{
return
m_TrackWidthList
[
m_
TrackWidthSelector
];
return
m_TrackWidthList
[
m_
trackWidthIndex
];
}
/**
* Function GetViaSizeIndex
* @return the current via size list index.
*/
unsigned
GetViaSizeIndex
()
const
{
return
m_viaSizeIndex
;
}
/**
* Function SetViaSizeIndex
* sets the current via size list index to \a aIndex.
*
* @param aIndex is the via size list index.
*/
void
SetViaSizeIndex
(
unsigned
aIndex
);
/**
* Function GetCurrentViaSize
* @return the current via size, according to the selected options
...
...
@@ -896,7 +957,7 @@ public:
*/
int
GetCurrentViaSize
()
{
return
m_ViasDimensionsList
[
m_
ViaSizeSelector
].
m_Diameter
;
return
m_ViasDimensionsList
[
m_
viaSizeIndex
].
m_Diameter
;
}
/**
...
...
@@ -907,8 +968,8 @@ public:
*/
int
GetCurrentViaDrill
()
{
return
m_ViasDimensionsList
[
m_
ViaSizeSelector
].
m_Drill
>
0
?
m_ViasDimensionsList
[
m_
ViaSizeSelector
].
m_Drill
:
-
1
;
return
m_ViasDimensionsList
[
m_
viaSizeIndex
].
m_Drill
>
0
?
m_ViasDimensionsList
[
m_
viaSizeIndex
].
m_Drill
:
-
1
;
}
/**
...
...
pcbnew/class_netinfolist.cpp
View file @
8a5ea7ec
...
...
@@ -120,7 +120,7 @@ void NETINFO_LIST::buildListOfNets()
last_pad
=
pad
;
}
m_Parent
->
m_NbNodes
=
nodes_count
;
m_Parent
->
SetNodeCount
(
nodes_count
)
;
m_Parent
->
SynchronizeNetsAndNetClasses
(
);
...
...
pcbnew/connect.cpp
View file @
8a5ea7ec
...
...
@@ -791,6 +791,7 @@ void PCB_BASE_FRAME::TestNetConnection( wxDC* aDC, int aNetCode )
// Display results
int
net_notconnected_count
=
0
;
NETINFO_ITEM
*
net
=
m_Pcb
->
FindNet
(
aNetCode
);
if
(
net
)
// Should not occur, but ...
{
for
(
unsigned
ii
=
net
->
m_RatsnestStartIdx
;
ii
<
net
->
m_RatsnestEndIdx
;
ii
++
)
...
...
@@ -798,8 +799,9 @@ void PCB_BASE_FRAME::TestNetConnection( wxDC* aDC, int aNetCode )
if
(
m_Pcb
->
m_FullRatsnest
[
ii
].
IsActive
()
)
net_notconnected_count
++
;
}
msg
.
Printf
(
wxT
(
"links %d nc %d net:nc %d"
),
m_Pcb
->
GetRatsnestsCount
(),
m_Pcb
->
Get
Noconnec
tCount
(),
m_Pcb
->
GetRatsnestsCount
(),
m_Pcb
->
Get
UnconnectedNe
tCount
(),
net_notconnected_count
);
}
else
...
...
pcbnew/dialogs/dialog_global_edit_tracks_and_vias.cpp
View file @
8a5ea7ec
...
...
@@ -49,17 +49,18 @@ void DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::MyInit()
NETCLASSES
&
netclasses
=
board
->
m_NetClasses
;
NETINFO_ITEM
*
net
=
board
->
FindNet
(
m_Netcode
);
NETCLASS
*
netclass
=
netclasses
.
GetDefault
();
if
(
net
)
{
m_CurrentNetName
->
SetLabel
(
net
->
GetNetname
()
);
m_CurrentNetclassName
->
SetLabel
(
board
->
m_CurrentNetClassName
);
netclass
=
netclasses
.
Find
(
board
->
m_CurrentNetClassName
);
m_CurrentNetclassName
->
SetLabel
(
board
->
GetCurrentNetClassName
()
);
netclass
=
netclasses
.
Find
(
board
->
GetCurrentNetClassName
()
);
}
/* Disable the option "copy current to net" if we have only default netclass values
* i.e. when m_TrackWidthSelector and m_ViaSizeSelector are set to 0
*/
if
(
!
board
->
m_TrackWidthSelector
&&
!
board
->
m_ViaSizeSelector
)
if
(
!
board
->
GetTrackWidthIndex
()
&&
!
board
->
GetViaSizeIndex
()
)
{
m_Net2CurrValueButton
->
Enable
(
false
);
m_OptionID
=
ID_NETCLASS_VALUES_TO_CURRENT_NET
;
...
...
@@ -75,19 +76,22 @@ void DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::MyInit()
int
value
=
netclass
->
GetTrackWidth
();
// Display track width
msg
=
ReturnStringFromValue
(
g_UserUnit
,
value
,
true
);
m_gridDisplayCurrentSettings
->
SetCellValue
(
0
,
0
,
msg
);
if
(
board
->
m_TrackWidthSelector
)
if
(
board
->
GetTrackWidthIndex
()
)
{
value
=
board
->
GetCurrentTrackWidth
();
msg
=
ReturnStringFromValue
(
g_UserUnit
,
value
,
true
);
}
else
msg
=
_
(
"Default"
);
m_gridDisplayCurrentSettings
->
SetCellValue
(
1
,
0
,
msg
);
value
=
netclass
->
GetViaDiameter
();
// Display via diameter
msg
=
ReturnStringFromValue
(
g_UserUnit
,
value
,
true
);
m_gridDisplayCurrentSettings
->
SetCellValue
(
0
,
1
,
msg
);
if
(
board
->
m_ViaSizeSelector
)
if
(
board
->
GetViaSizeIndex
()
)
{
value
=
board
->
GetCurrentViaSize
();
msg
=
ReturnStringFromValue
(
g_UserUnit
,
value
,
true
);
...
...
pcbnew/event_handlers_tracks_vias_sizes.cpp
View file @
8a5ea7ec
...
...
@@ -41,8 +41,8 @@ void PCB_EDIT_FRAME::Tracks_and_Vias_Size_Event( wxCommandEvent& event )
case
ID_POPUP_PCB_SELECT_USE_NETCLASS_VALUES
:
GetDesignSettings
().
m_UseConnectedTrackWidth
=
false
;
GetBoard
()
->
m_TrackWidthSelector
=
0
;
GetBoard
()
->
m_ViaSizeSelector
=
0
;
GetBoard
()
->
SetTrackWidthIndex
(
0
)
;
GetBoard
()
->
SetViaSizeIndex
(
0
)
;
break
;
case
ID_POPUP_PCB_SELECT_AUTO_WIDTH
:
...
...
@@ -69,7 +69,7 @@ void PCB_EDIT_FRAME::Tracks_and_Vias_Size_Event( wxCommandEvent& event )
m_canvas
->
MoveCursorToCrossHair
();
GetDesignSettings
().
m_UseConnectedTrackWidth
=
false
;
ii
=
id
-
ID_POPUP_PCB_SELECT_WIDTH1
;
GetBoard
()
->
m_TrackWidthSelector
=
ii
;
GetBoard
()
->
SetTrackWidthIndex
(
ii
)
;
break
;
case
ID_POPUP_PCB_SELECT_VIASIZE1
:
// this is the default Netclass selection
...
...
@@ -91,17 +91,17 @@ void PCB_EDIT_FRAME::Tracks_and_Vias_Size_Event( wxCommandEvent& event )
// select the new current value for via size (via diameter)
m_canvas
->
MoveCursorToCrossHair
();
ii
=
id
-
ID_POPUP_PCB_SELECT_VIASIZE1
;
GetBoard
()
->
m_ViaSizeSelector
=
ii
;
GetBoard
()
->
SetViaSizeIndex
(
ii
)
;
break
;
case
ID_AUX_TOOLBAR_PCB_TRACK_WIDTH
:
ii
=
m_SelTrackWidthBox
->
GetCurrentSelection
();
GetBoard
()
->
m_TrackWidthSelector
=
ii
;
GetBoard
()
->
SetTrackWidthIndex
(
ii
)
;
break
;
case
ID_AUX_TOOLBAR_PCB_VIA_SIZE
:
ii
=
m_SelViaSizeBox
->
GetCurrentSelection
();
GetBoard
()
->
m_ViaSizeSelector
=
ii
;
GetBoard
()
->
SetViaSizeIndex
(
ii
)
;
break
;
default
:
...
...
pcbnew/hotkeys_board_editor.cpp
View file @
8a5ea7ec
...
...
@@ -170,8 +170,8 @@ void PCB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosit
if
(
GetCanvas
()
->
IsMouseCaptured
()
)
GetCanvas
()
->
CallMouseCapture
(
aDC
,
wxDefaultPosition
,
false
);
GetBoard
()
->
m_TrackWidthSelector
=
(
GetBoard
()
->
m_TrackWidthSelector
+
1
)
%
GetBoard
()
->
m_TrackWidthList
.
size
(
);
GetBoard
()
->
SetTrackWidthIndex
(
(
GetBoard
()
->
GetTrackWidthIndex
()
+
1
)
%
GetBoard
()
->
m_TrackWidthList
.
size
()
);
if
(
GetCanvas
()
->
IsMouseCaptured
()
)
GetCanvas
()
->
CallMouseCapture
(
aDC
,
wxDefaultPosition
,
false
);
...
...
@@ -182,10 +182,10 @@ void PCB_EDIT_FRAME::OnHotKey( wxDC* aDC, int aHotkeyCode, const wxPoint& aPosit
if
(
GetCanvas
()
->
IsMouseCaptured
()
)
GetCanvas
()
->
CallMouseCapture
(
aDC
,
wxDefaultPosition
,
false
);
if
(
GetBoard
()
->
m_TrackWidthSelector
==
0
)
GetBoard
()
->
m_TrackWidthSelector
=
GetBoard
()
->
m_TrackWidthList
.
size
(
);
if
(
GetBoard
()
->
GetTrackWidthIndex
()
==
0
)
GetBoard
()
->
SetTrackWidthIndex
(
GetBoard
()
->
m_TrackWidthList
.
size
()
);
GetBoard
()
->
m_TrackWidthSelector
--
;
GetBoard
()
->
SetTrackWidthIndex
(
GetBoard
()
->
GetTrackWidthIndex
()
-
1
)
;
if
(
GetCanvas
()
->
IsMouseCaptured
()
)
GetCanvas
()
->
CallMouseCapture
(
aDC
,
wxDefaultPosition
,
false
);
...
...
pcbnew/kicad_plugin.cpp
View file @
8a5ea7ec
...
...
@@ -400,7 +400,7 @@ void PCB_IO::format( BOARD* aBoard, int aNestLevel ) const
m_out
->
Print
(
aNestLevel
,
"(general
\n
"
);
m_out
->
Print
(
aNestLevel
+
1
,
"(links %d)
\n
"
,
aBoard
->
GetRatsnestsCount
()
);
m_out
->
Print
(
aNestLevel
+
1
,
"(no_connects %d)
\n
"
,
aBoard
->
m_NbNoconnect
);
m_out
->
Print
(
aNestLevel
+
1
,
"(no_connects %d)
\n
"
,
aBoard
->
GetUnconnectedNetCount
()
);
// Write Bounding box info
m_out
->
Print
(
aNestLevel
+
1
,
"(area %s %s %s %s)
\n
"
,
...
...
pcbnew/legacy_plugin.cpp
View file @
8a5ea7ec
...
...
@@ -454,7 +454,7 @@ void LEGACY_PLUGIN::loadGENERAL()
else
if
(
TESTLINE
(
"NoConn"
)
)
{
int
tmp
=
intParse
(
line
+
SZ
(
"NoConn"
)
);
m_board
->
m_NbNoconnect
=
tmp
;
m_board
->
SetUnconnectedNetCount
(
tmp
)
;
}
else
if
(
TESTLINE
(
"Di"
)
)
...
...
@@ -2902,7 +2902,7 @@ void LEGACY_PLUGIN::saveGENERAL( const BOARD* aBoard ) const
fprintf
(
m_fp
,
"VisibleLayers %08X
\n
"
,
aBoard
->
GetVisibleLayers
()
);
fprintf
(
m_fp
,
"Links %d
\n
"
,
aBoard
->
GetRatsnestsCount
()
);
fprintf
(
m_fp
,
"NoConn %d
\n
"
,
aBoard
->
m_NbNoconnect
);
fprintf
(
m_fp
,
"NoConn %d
\n
"
,
aBoard
->
GetUnconnectedNetCount
()
);
// Write Bounding box info
EDA_RECT
bbbox
=
((
BOARD
*
)
aBoard
)
->
ComputeBoundingBox
();
...
...
pcbnew/onrightclick.cpp
View file @
8a5ea7ec
...
...
@@ -796,7 +796,7 @@ void PCB_EDIT_FRAME::createPopUpMenuForFpPads( D_PAD* Pad, wxMenu* menu )
if
(
flags
)
// Currently in edit, no others commands possible
return
;
if
(
GetBoard
()
->
m_CurrentNetClassName
!=
Pad
->
GetNetClassName
()
)
if
(
GetBoard
()
->
GetCurrentNetClassName
()
!=
Pad
->
GetNetClassName
()
)
{
GetBoard
()
->
SetCurrentNetClass
(
Pad
->
GetNetClassName
()
);
updateTraceWidthSelectBox
();
...
...
@@ -919,9 +919,9 @@ static wxMenu* Append_Track_Width_List( BOARD* aBoard )
if
(
aBoard
->
GetDesignSettings
().
m_UseConnectedTrackWidth
)
trackwidth_menu
->
Check
(
ID_POPUP_PCB_SELECT_AUTO_WIDTH
,
true
);
if
(
aBoard
->
m_ViaSizeSelector
!=
0
||
aBoard
->
m_TrackWidthSelector
!=
0
||
aBoard
->
GetDesignSettings
().
m_UseConnectedTrackWidth
)
if
(
aBoard
->
GetViaSizeIndex
()
!=
0
||
aBoard
->
GetTrackWidthIndex
()
!=
0
||
aBoard
->
GetDesignSettings
().
m_UseConnectedTrackWidth
)
trackwidth_menu
->
Append
(
ID_POPUP_PCB_SELECT_USE_NETCLASS_VALUES
,
_
(
"Use Netclass Values"
),
_
(
"Use track and via sizes from their Netclass values"
),
...
...
pcbnew/pcb_parser.cpp
View file @
8a5ea7ec
...
...
@@ -499,7 +499,7 @@ void PCB_PARSER::parseGeneralSection() throw( IO_ERROR, PARSE_ERROR )
break
;
case
T_no_connects
:
m_board
->
m_NbNoconnect
=
parseInt
(
"no connect count"
);
m_board
->
SetUnconnectedNetCount
(
parseInt
(
"no connect count"
)
);
NeedRIGHT
();
break
;
...
...
pcbnew/ratsnest.cpp
View file @
8a5ea7ec
...
...
@@ -201,7 +201,7 @@ void PCB_BASE_FRAME::Build_Board_Ratsnest()
D_PAD
*
pad
;
int
noconn
;
m_Pcb
->
m_NbNoconnect
=
0
;
m_Pcb
->
SetUnconnectedNetCount
(
0
)
;
m_Pcb
->
m_FullRatsnest
.
clear
();
...
...
@@ -244,7 +244,7 @@ void PCB_BASE_FRAME::Build_Board_Ratsnest()
net
->
m_RatsnestEndIdx
=
m_Pcb
->
GetRatsnestsCount
();
}
m_Pcb
->
m_NbNoconnect
=
noconn
;
m_Pcb
->
SetUnconnectedNetCount
(
noconn
)
;
m_Pcb
->
m_Status_Pcb
|=
LISTE_RATSNEST_ITEM_OK
;
// Update the ratsnest display option (visible/invisible) flag
...
...
@@ -482,13 +482,17 @@ void PCB_BASE_FRAME::TestForActiveLinksInRatsnest( int aNetCode )
}
}
m_Pcb
->
m_NbNoconnect
=
0
;
m_Pcb
->
SetUnconnectedNetCount
(
0
);
unsigned
cnt
=
0
;
for
(
unsigned
ii
=
0
;
ii
<
m_Pcb
->
GetRatsnestsCount
();
ii
++
)
{
if
(
m_Pcb
->
m_FullRatsnest
[
ii
].
IsActive
()
)
m_Pcb
->
m_NbNoconnec
t
++
;
cn
t
++
;
}
m_Pcb
->
SetUnconnectedNetCount
(
cnt
);
}
...
...
pcbnew/tool_pcb.cpp
View file @
8a5ea7ec
...
...
@@ -621,9 +621,10 @@ void PCB_EDIT_FRAME::updateTraceWidthSelectBox()
m_SelTrackWidthBox
->
Append
(
msg
);
}
if
(
GetBoard
()
->
m_TrackWidthSelector
>=
GetBoard
()
->
m_TrackWidthList
.
size
()
)
GetBoard
()
->
m_TrackWidthSelector
=
0
;
m_SelTrackWidthBox
->
SetSelection
(
GetBoard
()
->
m_TrackWidthSelector
);
if
(
GetBoard
()
->
GetTrackWidthIndex
()
>=
GetBoard
()
->
m_TrackWidthList
.
size
()
)
GetBoard
()
->
SetTrackWidthIndex
(
0
);
m_SelTrackWidthBox
->
SetSelection
(
GetBoard
()
->
GetTrackWidthIndex
()
);
}
...
...
@@ -651,10 +652,10 @@ void PCB_EDIT_FRAME::updateViaSizeSelectBox()
m_SelViaSizeBox
->
Append
(
msg
);
}
if
(
GetBoard
()
->
m_ViaSizeSelector
>=
GetBoard
()
->
m_ViasDimensionsList
.
size
()
)
GetBoard
()
->
m_ViaSizeSelector
=
0
;
if
(
GetBoard
()
->
GetViaSizeIndex
()
>=
GetBoard
()
->
m_ViasDimensionsList
.
size
()
)
GetBoard
()
->
SetViaSizeIndex
(
0
)
;
m_SelViaSizeBox
->
SetSelection
(
GetBoard
()
->
m_ViaSizeSelector
);
m_SelViaSizeBox
->
SetSelection
(
GetBoard
()
->
GetViaSizeIndex
()
);
}
...
...
pcbnew/toolbars_update_user_interface.cpp
View file @
8a5ea7ec
...
...
@@ -55,13 +55,13 @@ void PCB_EDIT_FRAME::OnUpdateSelectTrackWidth( wxUpdateUIEvent& aEvent )
{
if
(
aEvent
.
GetId
()
==
ID_AUX_TOOLBAR_PCB_TRACK_WIDTH
)
{
if
(
m_SelTrackWidthBox
->
GetSelection
()
!=
(
int
)
GetBoard
()
->
m_TrackWidthSelector
)
m_SelTrackWidthBox
->
SetSelection
(
GetBoard
()
->
m_TrackWidthSelector
);
if
(
m_SelTrackWidthBox
->
GetSelection
()
!=
(
int
)
GetBoard
()
->
GetTrackWidthIndex
()
)
m_SelTrackWidthBox
->
SetSelection
(
GetBoard
()
->
GetTrackWidthIndex
()
);
}
else
{
bool
check
=
(
(
(
ID_POPUP_PCB_SELECT_WIDTH1
+
(
int
)
GetBoard
()
->
m_TrackWidthSelector
)
==
aEvent
.
GetId
()
)
&&
(
int
)
GetBoard
()
->
GetTrackWidthIndex
()
)
==
aEvent
.
GetId
()
)
&&
!
GetDesignSettings
().
m_UseConnectedTrackWidth
);
aEvent
.
Check
(
check
);
}
...
...
@@ -80,13 +80,13 @@ void PCB_EDIT_FRAME::OnUpdateSelectViaSize( wxUpdateUIEvent& aEvent )
if
(
aEvent
.
GetId
()
==
ID_AUX_TOOLBAR_PCB_VIA_SIZE
)
{
if
(
m_SelViaSizeBox
->
GetSelection
()
!=
(
int
)
GetBoard
()
->
m_ViaSizeSelector
)
m_SelViaSizeBox
->
SetSelection
(
GetBoard
()
->
m_ViaSizeSelector
);
if
(
m_SelViaSizeBox
->
GetSelection
()
!=
(
int
)
GetBoard
()
->
GetViaSizeIndex
()
)
m_SelViaSizeBox
->
SetSelection
(
GetBoard
()
->
GetViaSizeIndex
()
);
}
else
{
bool
check
=
(
(
(
ID_POPUP_PCB_SELECT_VIASIZE1
+
(
int
)
GetBoard
()
->
m_ViaSizeSelector
)
==
aEvent
.
GetId
()
)
&&
(
int
)
GetBoard
()
->
GetViaSizeIndex
()
)
==
aEvent
.
GetId
()
)
&&
!
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