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
1b39dfc7
Commit
1b39dfc7
authored
Feb 19, 2008
by
dickelbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
highlight zone containers
parent
7750cf6d
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
135 additions
and
113 deletions
+135
-113
change_log.txt
change_log.txt
+7
-0
class_pad.cpp
pcbnew/class_pad.cpp
+1
-1
collectors.cpp
pcbnew/collectors.cpp
+6
-5
collectors.h
pcbnew/collectors.h
+89
-89
surbrill.cpp
pcbnew/surbrill.cpp
+32
-18
No files found.
change_log.txt
View file @
1b39dfc7
...
...
@@ -5,6 +5,13 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
email address.
2008-Feb-19 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
Add ZONE_CONTAINER support to the ID_PCB_HIGHLIGHT_BUTT tool and
WinEDA_PcbFrame::DrawHightLight()
2008-Feb-18 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
...
...
pcbnew/class_pad.cpp
View file @
1b39dfc7
...
...
@@ -331,7 +331,7 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, const wxPoint& offset, int
// if PAD_SMD pad and high contrast mode
if
(
m_Attribut
==
PAD_SMD
&&
DisplayOpt
.
ContrastModeDisplay
)
if
(
(
m_Attribut
==
PAD_SMD
||
m_Attribut
==
PAD_CONN
)
&&
DisplayOpt
.
ContrastModeDisplay
)
{
// when routing tracks
if
(
frame
&&
frame
->
m_ID_current_state
==
ID_TRACK_BUTT
)
...
...
pcbnew/collectors.cpp
View file @
1b39dfc7
...
...
@@ -93,11 +93,12 @@ const KICAD_T GENERAL_COLLECTOR::PadsOrModules[] = {
};
const
KICAD_T
GENERAL_COLLECTOR
::
Pads
OrTrack
s
[]
=
{
const
KICAD_T
GENERAL_COLLECTOR
::
Pads
TracksOrZone
s
[]
=
{
TYPEPAD
,
TYPEVIA
,
TYPETRACK
,
TYPEZONE
,
TYPEZONE_CONTAINER
,
EOT
};
...
...
@@ -368,20 +369,20 @@ void GENERAL_COLLECTOR::Collect( BOARD_ITEM* aItem, const KICAD_T aScanList[],
// see collectors.h
SEARCH_RESULT
TYPE_COLLECTOR
::
Inspect
(
EDA_BaseStruct
*
testItem
,
const
void
*
testData
)
{
// The Vist() function only visits the testItem if its type was in the
// The Vist() function only visits the testItem if its type was in the
// the scanList, so therefore we can collect anything given to us here.
Append
(
testItem
);
return
SEARCH_CONTINUE
;
// always when collecting
}
void
TYPE_COLLECTOR
::
Collect
(
BOARD_ITEM
*
aBoard
,
const
KICAD_T
aScanList
[]
)
{
Empty
();
// empty any existing collection
// visit the board with the INSPECTOR (me).
aBoard
->
Visit
(
this
,
// INSPECTOR* inspector
NULL
,
// const void* testData,
NULL
,
// const void* testData,
aScanList
);
}
...
...
pcbnew/collectors.h
View file @
1b39dfc7
This diff is collapsed.
Click to expand it.
pcbnew/surbrill.cpp
View file @
1b39dfc7
...
...
@@ -92,22 +92,22 @@ int WinEDA_PcbFrame::Select_High_Light( wxDC* DC )
{
if
(
g_HightLigt_Status
)
Hight_Light
(
DC
);
// use this scheme because of pad is higher priority than tracks in the
// search, and finding a pad, instead of a track on a pad,
// allows us to fire a message to eescema.
GENERAL_COLLECTORS_GUIDE
guide
=
GetCollectorsGuide
();
// optionally, modify the "guide" here as needed using its member functions
m_Collector
->
Collect
(
m_Pcb
,
GENERAL_COLLECTOR
::
Pads
OrTracks
,
m_Collector
->
Collect
(
m_Pcb
,
GENERAL_COLLECTOR
::
Pads
TracksOrZones
,
GetScreen
()
->
RefPos
(
true
),
guide
);
BOARD_ITEM
*
item
=
(
*
m_Collector
)[
0
];
if
(
item
)
{
switch
(
item
->
Type
()
)
...
...
@@ -117,7 +117,7 @@ int WinEDA_PcbFrame::Select_High_Light( wxDC* DC )
Hight_Light
(
DC
);
SendMessageToEESCHEMA
(
item
);
return
g_HightLigth_NetCode
;
case
TYPETRACK
:
case
TYPEVIA
:
case
TYPEZONE
:
...
...
@@ -126,13 +126,18 @@ int WinEDA_PcbFrame::Select_High_Light( wxDC* DC )
g_HightLigth_NetCode
=
((
TRACK
*
)
item
)
->
GetNet
();
Hight_Light
(
DC
);
return
g_HightLigth_NetCode
;
case
TYPEZONE_CONTAINER
:
g_HightLigth_NetCode
=
((
ZONE_CONTAINER
*
)
item
)
->
GetNet
();
Hight_Light
(
DC
);
return
g_HightLigth_NetCode
;
default
:
;
// until somebody changes GENERAL_COLLECTOR::PadsOrTracks,
// this should not happen.
}
}
return
-
1
;
// HitTest() failed.
}
...
...
@@ -158,30 +163,37 @@ void WinEDA_PcbFrame::DrawHightLight( wxDC* DC, int NetCode )
/* Turn On or OFF the HightLight for trcak and pads with the netcode "NetCode'
*/
{
TRACK
*
pts
;
MODULE
*
Module
;
if
(
g_HightLigt_Status
)
draw_mode
=
GR_SURBRILL
|
GR_OR
;
else
draw_mode
=
GR_AND
|
GR_SURBRILL
;
Module
=
m_Pcb
->
m_Modules
;
/* Redraw pads */
for
(
;
Module
!=
NULL
;
Module
=
(
MODULE
*
)
Module
->
Pnext
)
for
(
MODULE
*
module
=
m_Pcb
->
m_Modules
;
module
;
module
=
module
->
Next
()
)
{
Pad_Surbrillance
(
DrawPanel
,
DC
,
M
odule
,
NetCode
);
Pad_Surbrillance
(
DrawPanel
,
DC
,
m
odule
,
NetCode
);
}
/* Redraw track and vias: */
for
(
pts
=
m_Pcb
->
m_Track
;
pts
!=
NULL
;
pts
=
(
TRACK
*
)
pts
->
Pnext
)
for
(
TRACK
*
pts
=
m_Pcb
->
m_Track
;
pts
;
pts
=
pts
->
Next
()
)
{
if
(
pts
->
GetNet
()
==
NetCode
)
{
pts
->
Draw
(
DrawPanel
,
DC
,
draw_mode
);
}
}
wxPoint
zero
(
0
,
0
);
// construct outside loop for speed
// Redraw ZONE_CONTAINERS
BOARD
::
ZONE_CONTAINERS
&
zones
=
m_Pcb
->
m_ZoneDescriptorList
;
for
(
BOARD
::
ZONE_CONTAINERS
::
iterator
zc
=
zones
.
begin
();
zc
!=
zones
.
end
();
++
zc
)
{
if
(
(
*
zc
)
->
GetNet
()
==
NetCode
)
{
(
*
zc
)
->
Draw
(
DrawPanel
,
DC
,
zero
,
draw_mode
);
}
}
}
...
...
@@ -193,12 +205,14 @@ static void Pad_Surbrillance( WinEDA_DrawPanel* panel,
{
D_PAD
*
pt_pad
;
wxPoint
zero
(
0
,
0
);
// construct outside loop for speed
/* trace des pastilles */
for
(
pt_pad
=
Module
->
m_Pads
;
pt_pad
!=
NULL
;
pt_pad
=
(
D_PAD
*
)
pt_pad
->
Pnext
)
{
if
(
pt_pad
->
GetNet
()
==
NetCode
)
{
pt_pad
->
Draw
(
panel
,
DC
,
wxPoint
(
0
,
0
)
,
draw_mode
);
pt_pad
->
Draw
(
panel
,
DC
,
zero
,
draw_mode
);
}
}
}
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