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
e8778199
Commit
e8778199
authored
Jun 18, 2009
by
charras
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pcbnew: Added: Option to show the via area while creating a new track. Better code.
parent
360eda0f
Changes
18
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
482 additions
and
452 deletions
+482
-452
CHANGELOG.txt
CHANGELOG.txt
+1
-1
gerberframe.cpp
gerbview/gerberframe.cpp
+1
-1
gerbview_config.cpp
gerbview/gerbview_config.cpp
+1
-1
lay2plot.cpp
gerbview/lay2plot.cpp
+1
-1
options.cpp
gerbview/options.cpp
+1
-1
tool_gerber.cpp
gerbview/tool_gerber.cpp
+1
-1
tracepcb.cpp
gerbview/tracepcb.cpp
+1
-1
pcbstruct.h
include/pcbstruct.h
+20
-4
kicad.mo
internat/fr/kicad.mo
+0
-0
kicad.po
internat/fr/kicad.po
+356
-330
class_track.cpp
pcbnew/class_track.cpp
+2
-2
classpcb.cpp
pcbnew/classpcb.cpp
+4
-4
dialog_display_options.cpp
pcbnew/dialog_display_options.cpp
+22
-17
editrack.cpp
pcbnew/editrack.cpp
+63
-66
pcbcfg.h
pcbnew/pcbcfg.h
+5
-13
pcbnew.cpp
pcbnew/pcbnew.cpp
+0
-1
pcbnew.h
pcbnew/pcbnew.h
+0
-6
print_board_functions.cpp
pcbnew/print_board_functions.cpp
+3
-2
No files found.
CHANGELOG.txt
View file @
e8778199
...
@@ -9,7 +9,7 @@ email address.
...
@@ -9,7 +9,7 @@ email address.
++Pcbnew:
++Pcbnew:
Added: in DRC tests: tests for vias min size and tracks min width.
Added: in DRC tests: tests for vias min size and tracks min width.
Added: Option to show the via area while creating a new track.
Added: Option to show the via area while creating a new track.
Useful in compact designs to know ho
s
to place a via during track creation.
Useful in compact designs to know ho
w
to place a via during track creation.
2009-june-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
2009-june-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================
================================================================================
...
...
gerbview/gerberframe.cpp
View file @
e8778199
...
@@ -59,7 +59,7 @@ BEGIN_EVENT_TABLE( WinEDA_GerberFrame, WinEDA_BasePcbFrame )
...
@@ -59,7 +59,7 @@ BEGIN_EVENT_TABLE( WinEDA_GerberFrame, WinEDA_BasePcbFrame )
EVT_MENU
(
ID_COLORS_SETUP
,
WinEDA_GerberFrame
::
Process_Config
)
EVT_MENU
(
ID_COLORS_SETUP
,
WinEDA_GerberFrame
::
Process_Config
)
EVT_MENU
(
ID_OPTIONS_SETUP
,
WinEDA_GerberFrame
::
Process_Config
)
EVT_MENU
(
ID_OPTIONS_SETUP
,
WinEDA_GerberFrame
::
Process_Config
)
EVT_MENU
(
ID_PCB_
LOOK
_SETUP
,
WinEDA_GerberFrame
::
Process_Config
)
EVT_MENU
(
ID_PCB_
DISPLAY_OPTIONS
_SETUP
,
WinEDA_GerberFrame
::
Process_Config
)
EVT_MENU_RANGE
(
ID_LANGUAGE_CHOICE
,
ID_LANGUAGE_CHOICE_END
,
EVT_MENU_RANGE
(
ID_LANGUAGE_CHOICE
,
ID_LANGUAGE_CHOICE_END
,
WinEDA_DrawFrame
::
SetLanguage
)
WinEDA_DrawFrame
::
SetLanguage
)
...
...
gerbview/gerbview_config.cpp
View file @
e8778199
...
@@ -51,7 +51,7 @@ void WinEDA_GerberFrame::Process_Config( wxCommandEvent& event )
...
@@ -51,7 +51,7 @@ void WinEDA_GerberFrame::Process_Config( wxCommandEvent& event )
}
}
case
ID_PCB_TRACK_SIZE_SETUP
:
case
ID_PCB_TRACK_SIZE_SETUP
:
case
ID_PCB_
LOOK
_SETUP
:
case
ID_PCB_
DISPLAY_OPTIONS
_SETUP
:
case
ID_OPTIONS_SETUP
:
case
ID_OPTIONS_SETUP
:
InstallPcbOptionsFrame
(
pos
,
id
);
InstallPcbOptionsFrame
(
pos
,
id
);
break
;
break
;
...
...
gerbview/lay2plot.cpp
View file @
e8778199
...
@@ -28,7 +28,7 @@ void Print_PcbItems(BOARD * Pcb, wxDC *DC, int drawmode, int printmasklayer)
...
@@ -28,7 +28,7 @@ void Print_PcbItems(BOARD * Pcb, wxDC *DC, int drawmode, int printmasklayer)
DisplayOpt
.
DisplayPadNoConn
=
0
;
DisplayOpt
.
DisplayPadNoConn
=
0
;
DisplayOpt
.
DisplayPadIsol
=
0
;
DisplayOpt
.
DisplayPadIsol
=
0
;
DisplayOpt
.
DisplayPcbTrackFill
=
FILLED
;
DisplayOpt
.
DisplayPcbTrackFill
=
FILLED
;
DisplayOpt
.
DisplayTrackIsol
=
0
;
DisplayOpt
.
ShowTrackClearanceMode
=
DO_NOT_SHOW_CLEARANCE
;
DisplayOpt
.
DisplayDrawItems
=
FILLED
;
DisplayOpt
.
DisplayDrawItems
=
FILLED
;
DisplayOpt
.
DisplayZonesMode
=
0
;
DisplayOpt
.
DisplayZonesMode
=
0
;
...
...
gerbview/options.cpp
View file @
e8778199
...
@@ -390,7 +390,7 @@ void WinEDA_GerberFrame::InstallPcbOptionsFrame( const wxPoint& pos, int id )
...
@@ -390,7 +390,7 @@ void WinEDA_GerberFrame::InstallPcbOptionsFrame( const wxPoint& pos, int id )
{
{
switch
(
id
)
switch
(
id
)
{
{
case
ID_PCB_
LOOK
_SETUP
:
case
ID_PCB_
DISPLAY_OPTIONS
_SETUP
:
{
{
WinEDA_LookFrame
*
OptionsFrame
=
WinEDA_LookFrame
*
OptionsFrame
=
new
WinEDA_LookFrame
(
this
,
pos
);
new
WinEDA_LookFrame
(
this
,
pos
);
...
...
gerbview/tool_gerber.cpp
View file @
e8778199
...
@@ -87,7 +87,7 @@ void WinEDA_GerberFrame::ReCreateMenuBar( void )
...
@@ -87,7 +87,7 @@ void WinEDA_GerberFrame::ReCreateMenuBar( void )
ADD_MENUITEM_WITH_HELP
(
configmenu
,
ID_OPTIONS_SETUP
,
_
(
"&Options"
),
ADD_MENUITEM_WITH_HELP
(
configmenu
,
ID_OPTIONS_SETUP
,
_
(
"&Options"
),
_
(
" Select general options"
),
preference_xpm
);
_
(
" Select general options"
),
preference_xpm
);
ADD_MENUITEM_WITH_HELP
(
configmenu
,
ID_PCB_
LOOK
_SETUP
,
_
(
"Display"
),
ADD_MENUITEM_WITH_HELP
(
configmenu
,
ID_PCB_
DISPLAY_OPTIONS
_SETUP
,
_
(
"Display"
),
_
(
" Select how items are displayed"
),
_
(
" Select how items are displayed"
),
display_options_xpm
);
display_options_xpm
);
...
...
gerbview/tracepcb.cpp
View file @
e8778199
...
@@ -43,7 +43,7 @@ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmaskl
...
@@ -43,7 +43,7 @@ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmaskl
DisplayOpt
.
DisplayModEdge
=
FILLED
;
DisplayOpt
.
DisplayModEdge
=
FILLED
;
DisplayOpt
.
DisplayModText
=
FILLED
;
DisplayOpt
.
DisplayModText
=
FILLED
;
DisplayOpt
.
DisplayPcbTrackFill
=
FILLED
;
DisplayOpt
.
DisplayPcbTrackFill
=
FILLED
;
DisplayOpt
.
DisplayTrackIsol
=
0
;
DisplayOpt
.
ShowTrackClearanceMode
=
DO_NOT_SHOW_CLEARANCE
;
DisplayOpt
.
DisplayDrawItems
=
FILLED
;
DisplayOpt
.
DisplayDrawItems
=
FILLED
;
DisplayOpt
.
DisplayZonesMode
=
0
;
DisplayOpt
.
DisplayZonesMode
=
0
;
DisplayPolygonsModeImg
=
g_DisplayPolygonsModeSketch
;
DisplayPolygonsModeImg
=
g_DisplayPolygonsModeSketch
;
...
...
include/pcbstruct.h
View file @
e8778199
...
@@ -268,6 +268,17 @@ public:
...
@@ -268,6 +268,17 @@ public:
#include "class_marker.h"
#include "class_marker.h"
#include "class_zone.h"
#include "class_zone.h"
/* Values for DISPLAY_OPTIONS.ShowTrackClearanceMode parameter option
* This parameter controls how to show tracks and vias clerance area
*/
enum
ShowTrackClearanceModeList
{
DO_NOT_SHOW_CLEARANCE
=
0
,
// Do not show clearance areas
SHOW_CLEARANCE_NEW_TRACKS
,
// Show clearance areas only for new track during track creation
SHOW_CLEARANCE_NEW_TRACKS_AND_VIA_AREAS
,
/* Show clrearance areas only for new track during track creation,
* and shows a via clearnce area at end of current new segment (guide to place a nev via
*/
SHOW_CLEARANCE_ALWAYS
// Show Always clearance areas for track and vias
};
class
DISPLAY_OPTIONS
class
DISPLAY_OPTIONS
{
{
...
@@ -280,7 +291,12 @@ public:
...
@@ -280,7 +291,12 @@ public:
int
DisplayModEdge
;
int
DisplayModEdge
;
int
DisplayModText
;
int
DisplayModText
;
bool
DisplayPcbTrackFill
;
/* FALSE = sketch , TRUE = filled */
bool
DisplayPcbTrackFill
;
/* FALSE = sketch , TRUE = filled */
bool
DisplayTrackIsol
;
int
ShowTrackClearanceMode
;
/* = 0 , 1 or 2
* 0 = do not show clearance
* 1 = show track clearance
* 2 = show clearance + via area
* (useful to know what clearance area is neede if we want to put a via on terminal track point)
*/
int
m_DisplayViaMode
;
/* 0 do not show via hole,
int
m_DisplayViaMode
;
/* 0 do not show via hole,
* 1 show via hole for non default value
* 1 show via hole for non default value
...
...
internat/fr/kicad.mo
View file @
e8778199
No preview for this file type
internat/fr/kicad.po
View file @
e8778199
This diff is collapsed.
Click to expand it.
pcbnew/class_track.cpp
View file @
e8778199
...
@@ -49,7 +49,7 @@ static bool ShowClearance( const TRACK* aTrack )
...
@@ -49,7 +49,7 @@ static bool ShowClearance( const TRACK* aTrack )
{
{
// maybe return true for tracks and vias, not for zone segments
// maybe return true for tracks and vias, not for zone segments
return
!
(
aTrack
->
m_Flags
&
DRAW_ERASED
)
return
!
(
aTrack
->
m_Flags
&
DRAW_ERASED
)
&&
DisplayOpt
.
DisplayTrackIsol
&&
DisplayOpt
.
ShowTrackClearanceMode
==
SHOW_CLEARANCE_ALWAYS
&&
aTrack
->
GetLayer
()
<=
LAST_COPPER_LAYER
&&
aTrack
->
GetLayer
()
<=
LAST_COPPER_LAYER
&&
(
aTrack
->
Type
()
==
TYPE_TRACK
||
aTrack
->
Type
()
==
TYPE_VIA
);
&&
(
aTrack
->
Type
()
==
TYPE_TRACK
||
aTrack
->
Type
()
==
TYPE_VIA
);
}
}
...
@@ -764,7 +764,7 @@ void SEGVIA::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoi
...
@@ -764,7 +764,7 @@ void SEGVIA::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoi
}
}
}
}
if
(
DisplayOpt
.
DisplayTrackIsol
)
if
(
DisplayOpt
.
ShowTrackClearanceMode
==
SHOW_CLEARANCE_ALWAYS
)
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
m_Start
.
x
,
m_Start
.
y
,
rayon
+
g_DesignSettings
.
m_TrackClearence
,
color
);
rayon
+
g_DesignSettings
.
m_TrackClearence
,
color
);
...
...
pcbnew/classpcb.cpp
View file @
e8778199
...
@@ -143,8 +143,8 @@ DISPLAY_OPTIONS::DISPLAY_OPTIONS()
...
@@ -143,8 +143,8 @@ DISPLAY_OPTIONS::DISPLAY_OPTIONS()
DisplayModEdge
=
true
;
DisplayModEdge
=
true
;
DisplayModText
=
true
;
DisplayModText
=
true
;
DisplayPcbTrackFill
=
true
;
/* false = sketch , true = rempli
*/
DisplayPcbTrackFill
=
true
;
/* false = sketch , true = filled
*/
DisplayTrackIsol
=
false
;
ShowTrackClearanceMode
=
SHOW_CLEARANCE_NEW_TRACKS_AND_VIA_AREAS
;
m_DisplayViaMode
=
VIA_HOLE_NOT_SHOW
;
m_DisplayViaMode
=
VIA_HOLE_NOT_SHOW
;
DisplayPolarCood
=
false
;
/* false = display absolute coordinates,
DisplayPolarCood
=
false
;
/* false = display absolute coordinates,
...
...
pcbnew/dialog_display_options.cpp
View file @
e8778199
...
@@ -60,13 +60,22 @@ void Dialog_Display_Options::init()
...
@@ -60,13 +60,22 @@ void Dialog_Display_Options::init()
if
(
DisplayOpt
.
DisplayPcbTrackFill
)
if
(
DisplayOpt
.
DisplayPcbTrackFill
)
m_OptDisplayTracks
->
SetSelection
(
1
);
m_OptDisplayTracks
->
SetSelection
(
1
);
if
(
DisplayOpt
.
DisplayTrackIsol
)
switch
(
DisplayOpt
.
ShowTrackClearanceMode
)
m_OptDisplayTracksClearance
->
SetSelection
(
3
);
{
else
if
(
g_ShowClearanceWhenTrackCreation
==
1
)
case
DO_NOT_SHOW_CLEARANCE
:
m_OptDisplayTracksClearance
->
SetSelection
(
0
);
break
;
case
SHOW_CLEARANCE_NEW_TRACKS
:
m_OptDisplayTracksClearance
->
SetSelection
(
1
);
m_OptDisplayTracksClearance
->
SetSelection
(
1
);
else
if
(
g_ShowClearanceWhenTrackCreation
==
2
)
break
;
default
:
case
SHOW_CLEARANCE_NEW_TRACKS_AND_VIA_AREAS
:
m_OptDisplayTracksClearance
->
SetSelection
(
2
);
m_OptDisplayTracksClearance
->
SetSelection
(
2
);
else
m_OptDisplayTracksClearance
->
SetSelection
(
0
);
break
;
case
SHOW_CLEARANCE_ALWAYS
:
m_OptDisplayTracksClearance
->
SetSelection
(
3
);
break
;
}
if
(
DisplayOpt
.
DisplayPadFill
)
if
(
DisplayOpt
.
DisplayPadFill
)
m_OptDisplayPads
->
SetSelection
(
1
);
m_OptDisplayPads
->
SetSelection
(
1
);
...
@@ -115,21 +124,17 @@ void Dialog_Display_Options::OnOkClick(wxCommandEvent& event)
...
@@ -115,21 +124,17 @@ void Dialog_Display_Options::OnOkClick(wxCommandEvent& event)
switch
(
m_OptDisplayTracksClearance
->
GetSelection
()
)
switch
(
m_OptDisplayTracksClearance
->
GetSelection
()
)
{
{
case
3
:
case
0
:
DisplayOpt
.
DisplayTrackIsol
=
TRUE
;
DisplayOpt
.
ShowTrackClearanceMode
=
DO_NOT_SHOW_CLEARANCE
;
g_ShowClearanceWhenTrackCreation
=
1
;
break
;
break
;
case
1
:
case
1
:
DisplayOpt
.
DisplayTrackIsol
=
FALSE
;
DisplayOpt
.
ShowTrackClearanceMode
=
SHOW_CLEARANCE_NEW_TRACKS
;
g_ShowClearanceWhenTrackCreation
=
1
;
break
;
break
;
case
2
:
case
2
:
DisplayOpt
.
DisplayTrackIsol
=
FALSE
;
DisplayOpt
.
ShowTrackClearanceMode
=
SHOW_CLEARANCE_NEW_TRACKS_AND_VIA_AREAS
;
g_ShowClearanceWhenTrackCreation
=
2
;
break
;
break
;
case
0
:
case
3
:
DisplayOpt
.
DisplayTrackIsol
=
FALSE
;
DisplayOpt
.
ShowTrackClearanceMode
=
SHOW_CLEARANCE_ALWAYS
;
g_ShowClearanceWhenTrackCreation
=
0
;
break
;
break
;
}
}
...
...
pcbnew/editrack.cpp
View file @
e8778199
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
#include "trigo.h"
#include "trigo.h"
/* Routines Locales */
/* Routines Locales */
static
void
Exit_Editrack
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
);
static
void
Exit_Editrack
(
WinEDA_DrawPanel
*
panel
,
wxDC
*
DC
);
void
ShowNewTrackWhenMovingCursor
(
WinEDA_DrawPanel
*
panel
,
void
ShowNewTrackWhenMovingCursor
(
WinEDA_DrawPanel
*
panel
,
...
@@ -85,7 +84,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
...
@@ -85,7 +84,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
{
{
D_PAD
*
pt_pad
=
NULL
;
D_PAD
*
pt_pad
=
NULL
;
TRACK
*
TrackOnStartPoint
=
NULL
;
TRACK
*
TrackOnStartPoint
=
NULL
;
int
masquelayer
=
g_TabOneLayerMask
[((
PCB_SCREEN
*
)
GetScreen
()
)
->
m_Active_Layer
];
int
masquelayer
=
g_TabOneLayerMask
[(
(
PCB_SCREEN
*
)
GetScreen
()
)
->
m_Active_Layer
];
BOARD_ITEM
*
LockPoint
;
BOARD_ITEM
*
LockPoint
;
wxPoint
pos
=
GetScreen
()
->
m_Curseur
;
wxPoint
pos
=
GetScreen
()
->
m_Curseur
;
...
@@ -131,10 +130,11 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
...
@@ -131,10 +130,11 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
CreateLockPoint
(
&
pos
.
x
,
&
pos
.
y
,
TrackOnStartPoint
,
NULL
);
CreateLockPoint
(
&
pos
.
x
,
&
pos
.
y
,
TrackOnStartPoint
,
NULL
);
}
}
}
}
else
// no starting point, but a filled zone area can exist. This is also a good starting point.
else
// no starting point, but a filled zone area can exist. This is also a good starting point.
{
{
ZONE_CONTAINER
*
zone
=
GetBoard
()
->
HitTestForAnyFilledArea
(
pos
,
GetScreen
()
->
m_Active_Layer
);
ZONE_CONTAINER
*
zone
=
GetBoard
()
->
HitTestForAnyFilledArea
(
pos
,
GetScreen
()
->
m_Active_Layer
);
if
(
zone
)
if
(
zone
)
g_HightLigth_NetCode
=
zone
->
GetNet
();
g_HightLigth_NetCode
=
zone
->
GetNet
();
}
}
...
@@ -147,7 +147,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
...
@@ -147,7 +147,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
Hight_Light
(
DC
);
Hight_Light
(
DC
);
g_CurrentTrackSegment
->
SetLayer
(
(
(
PCB_SCREEN
*
)
GetScreen
()
)
->
m_Active_Layer
);
g_CurrentTrackSegment
->
SetLayer
(
(
(
PCB_SCREEN
*
)
GetScreen
()
)
->
m_Active_Layer
);
g_CurrentTrackSegment
->
m_Width
=
g_DesignSettings
.
m_CurrentTrackWidth
;
g_CurrentTrackSegment
->
m_Width
=
g_DesignSettings
.
m_CurrentTrackWidth
;
if
(
g_DesignSettings
.
m_UseConnectedTrackWidth
)
if
(
g_DesignSettings
.
m_UseConnectedTrackWidth
)
...
@@ -259,7 +259,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
...
@@ -259,7 +259,7 @@ TRACK* WinEDA_PcbFrame::Begin_Route( TRACK* aTrack, wxDC* DC )
newTrack
->
m_Start
=
newTrack
->
m_End
;
newTrack
->
m_Start
=
newTrack
->
m_End
;
newTrack
->
SetLayer
(
(
(
PCB_SCREEN
*
)
GetScreen
()
)
->
m_Active_Layer
);
newTrack
->
SetLayer
(
(
(
PCB_SCREEN
*
)
GetScreen
()
)
->
m_Active_Layer
);
if
(
!
g_DesignSettings
.
m_UseConnectedTrackWidth
)
if
(
!
g_DesignSettings
.
m_UseConnectedTrackWidth
)
{
{
...
@@ -309,9 +309,9 @@ bool WinEDA_PcbFrame::Add_45_degrees_Segment( wxDC* DC )
...
@@ -309,9 +309,9 @@ bool WinEDA_PcbFrame::Add_45_degrees_Segment( wxDC* DC )
return
false
;
return
false
;
}
}
pas_45
=
(
int
)
GetScreen
()
->
GetGrid
().
x
/
2
;
pas_45
=
(
int
)
GetScreen
()
->
GetGrid
().
x
/
2
;
if
(
pas_45
<
curTrack
->
m_Width
)
if
(
pas_45
<
curTrack
->
m_Width
)
pas_45
=
(
int
)
GetScreen
()
->
GetGrid
().
x
;
pas_45
=
(
int
)
GetScreen
()
->
GetGrid
().
x
;
while
(
pas_45
<
curTrack
->
m_Width
)
while
(
pas_45
<
curTrack
->
m_Width
)
pas_45
*=
2
;
pas_45
*=
2
;
...
@@ -420,7 +420,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
...
@@ -420,7 +420,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
* Routine de fin de trace d'une piste (succession de segments)
* Routine de fin de trace d'une piste (succession de segments)
*/
*/
{
{
int
masquelayer
=
g_TabOneLayerMask
[(
(
PCB_SCREEN
*
)
GetScreen
()
)
->
m_Active_Layer
];
int
masquelayer
=
g_TabOneLayerMask
[(
(
PCB_SCREEN
*
)
GetScreen
()
)
->
m_Active_Layer
];
if
(
aTrack
==
NULL
)
if
(
aTrack
==
NULL
)
return
;
return
;
...
@@ -441,11 +441,11 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
...
@@ -441,11 +441,11 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
trace_ratsnest_pad
(
DC
);
/* efface trace chevelu*/
trace_ratsnest_pad
(
DC
);
/* efface trace chevelu*/
/* cleanup
/* cleanup
if( g_CurrentTrackSegment->Next() != NULL )
*
if( g_CurrentTrackSegment->Next() != NULL )
{
*
{
delete g_CurrentTrackSegment->Next();
*
delete g_CurrentTrackSegment->Next();
g_CurrentTrackSegment->SetNext( NULL );
*
g_CurrentTrackSegment->SetNext( NULL );
}
*
}
*/
*/
D
(
g_CurrentTrackList
.
VerifyListIntegrity
();
);
D
(
g_CurrentTrackList
.
VerifyListIntegrity
();
);
...
@@ -492,7 +492,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
...
@@ -492,7 +492,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
// Put entire new current segment list in BOARD
// Put entire new current segment list in BOARD
TRACK
*
track
;
TRACK
*
track
;
TRACK
*
insertBeforeMe
=
g_CurrentTrackSegment
->
GetBestInsertPoint
(
GetBoard
()
);
TRACK
*
insertBeforeMe
=
g_CurrentTrackSegment
->
GetBestInsertPoint
(
GetBoard
()
);
while
(
(
track
=
g_CurrentTrackList
.
PopFront
()
)
!=
NULL
)
while
(
(
track
=
g_CurrentTrackList
.
PopFront
()
)
!=
NULL
)
{
{
GetBoard
()
->
m_Track
.
Insert
(
track
,
insertBeforeMe
);
GetBoard
()
->
m_Track
.
Insert
(
track
,
insertBeforeMe
);
}
}
...
@@ -502,7 +502,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
...
@@ -502,7 +502,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
Trace_Une_Piste
(
DrawPanel
,
DC
,
firstTrack
,
newCount
,
GR_OR
);
Trace_Une_Piste
(
DrawPanel
,
DC
,
firstTrack
,
newCount
,
GR_OR
);
int
i
=
0
;
int
i
=
0
;
for
(
track
=
firstTrack
;
track
&&
i
<
newCount
;
++
i
,
track
=
track
->
Next
()
)
for
(
track
=
firstTrack
;
track
&&
i
<
newCount
;
++
i
,
track
=
track
->
Next
()
)
{
{
track
->
m_Flags
=
0
;
track
->
m_Flags
=
0
;
track
->
SetState
(
BUSY
,
OFF
);
track
->
SetState
(
BUSY
,
OFF
);
...
@@ -599,7 +599,7 @@ TRACK* LocateIntrusion( TRACK* start, int net, int width )
...
@@ -599,7 +599,7 @@ TRACK* LocateIntrusion( TRACK* start, int net, int width )
*/
*/
static
void
PushTrack
(
WinEDA_DrawPanel
*
panel
)
static
void
PushTrack
(
WinEDA_DrawPanel
*
panel
)
{
{
BOARD
*
pcb
=
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
GetBoard
();
BOARD
*
pcb
=
(
(
WinEDA_BasePcbFrame
*
)(
panel
->
m_Parent
)
)
->
GetBoard
();
wxPoint
cursor
=
ActiveScreen
->
m_Curseur
;
wxPoint
cursor
=
ActiveScreen
->
m_Curseur
;
wxPoint
cv
,
vec
,
n
;
wxPoint
cv
,
vec
,
n
;
TRACK
*
track
=
g_CurrentTrackSegment
;
TRACK
*
track
=
g_CurrentTrackSegment
;
...
@@ -666,28 +666,26 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
...
@@ -666,28 +666,26 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
{
{
D
(
g_CurrentTrackList
.
VerifyListIntegrity
();
);
D
(
g_CurrentTrackList
.
VerifyListIntegrity
();
);
int
IsolTmp
;
bool
Track_fill_copy
;
PCB_SCREEN
*
screen
=
(
PCB_SCREEN
*
)
panel
->
GetScreen
();
PCB_SCREEN
*
screen
=
(
PCB_SCREEN
*
)
panel
->
GetScreen
();
Track_fill_copy
=
DisplayOpt
.
DisplayPcbTrackFill
;
bool
Track_fill_copy
=
DisplayOpt
.
DisplayPcbTrackFill
;
DisplayOpt
.
DisplayPcbTrackFill
=
true
;
DisplayOpt
.
DisplayPcbTrackFill
=
true
;
IsolTmp
=
DisplayOpt
.
DisplayTrackIsol
;
int
showTrackClearanceMode
=
DisplayOpt
.
ShowTrackClearanceMode
;
if
(
g_ShowClearanceWhenTrackCreation
)
if
(
showTrackClearanceMode
!=
DO_NOT_SHOW_CLEARANCE
)
DisplayOpt
.
DisplayTrackIsol
=
TRUE
;
DisplayOpt
.
ShowTrackClearanceMode
=
SHOW_CLEARANCE_ALWAYS
;
/* efface ancienne position si elle a ete deja dessinee */
/* efface ancienne position si elle a ete deja dessinee */
if
(
erase
)
if
(
erase
)
{
{
Trace_Une_Piste
(
panel
,
DC
,
g_FirstTrackSegment
,
g_CurrentTrackList
.
GetCount
(),
GR_XOR
);
Trace_Une_Piste
(
panel
,
DC
,
g_FirstTrackSegment
,
g_CurrentTrackList
.
GetCount
(),
GR_XOR
);
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
trace_ratsnest_pad
(
DC
);
(
(
WinEDA_BasePcbFrame
*
)(
panel
->
m_Parent
)
)
->
trace_ratsnest_pad
(
DC
);
if
(
g_ShowClearanceWhenTrackCreation
>
1
)
// Show the via area
if
(
showTrackClearanceMode
>=
SHOW_CLEARANCE_NEW_TRACKS_AND_VIA_AREAS
)
// Show the via area
{
{
int
color
=
g_DesignSettings
.
m_LayerColor
[
g_CurrentTrackSegment
->
GetLayer
()];
int
color
=
g_DesignSettings
.
m_LayerColor
[
g_CurrentTrackSegment
->
GetLayer
()];
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
g_CurrentTrackSegment
->
m_End
.
x
,
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
g_CurrentTrackSegment
->
m_End
.
x
,
g_CurrentTrackSegment
->
m_End
.
y
,
g_CurrentTrackSegment
->
m_End
.
y
,
(
g_DesignSettings
.
m_CurrentViaSize
/
2
)
+
g_DesignSettings
.
m_TrackClearence
,
(
g_DesignSettings
.
m_CurrentViaSize
/
2
)
+
g_DesignSettings
.
m_TrackClearence
,
color
);
color
);
}
}
}
}
...
@@ -698,7 +696,7 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
...
@@ -698,7 +696,7 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
/* dessin de la nouvelle piste : mise a jour du point d'arrivee */
/* dessin de la nouvelle piste : mise a jour du point d'arrivee */
g_CurrentTrackSegment
->
SetLayer
(
screen
->
m_Active_Layer
);
g_CurrentTrackSegment
->
SetLayer
(
screen
->
m_Active_Layer
);
if
(
!
g_DesignSettings
.
m_UseConnectedTrackWidth
)
if
(
!
g_DesignSettings
.
m_UseConnectedTrackWidth
)
g_CurrentTrackSegment
->
m_Width
=
g_DesignSettings
.
m_CurrentTrackWidth
;
g_CurrentTrackSegment
->
m_Width
=
g_DesignSettings
.
m_CurrentTrackWidth
;
if
(
g_TwoSegmentTrackBuild
)
if
(
g_TwoSegmentTrackBuild
)
...
@@ -707,7 +705,7 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
...
@@ -707,7 +705,7 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
if
(
previous_track
&&
previous_track
->
Type
()
==
TYPE_TRACK
)
if
(
previous_track
&&
previous_track
->
Type
()
==
TYPE_TRACK
)
{
{
previous_track
->
SetLayer
(
screen
->
m_Active_Layer
);
previous_track
->
SetLayer
(
screen
->
m_Active_Layer
);
if
(
!
g_DesignSettings
.
m_UseConnectedTrackWidth
)
if
(
!
g_DesignSettings
.
m_UseConnectedTrackWidth
)
previous_track
->
m_Width
=
g_DesignSettings
.
m_CurrentTrackWidth
;
previous_track
->
m_Width
=
g_DesignSettings
.
m_CurrentTrackWidth
;
}
}
}
}
...
@@ -719,7 +717,7 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
...
@@ -719,7 +717,7 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
g_CurrentTrackSegment
->
m_End
=
ActiveScreen
->
m_Curseur
;
g_CurrentTrackSegment
->
m_End
=
ActiveScreen
->
m_Curseur
;
if
(
Drc_On
)
if
(
Drc_On
)
PushTrack
(
panel
);
PushTrack
(
panel
);
ComputeBreakPoint
(
g_CurrentTrackSegment
,
g_CurrentTrackList
.
GetCount
(),
ComputeBreakPoint
(
g_CurrentTrackSegment
,
g_CurrentTrackList
.
GetCount
(),
g_CurrentTrackSegment
->
m_End
);
g_CurrentTrackSegment
->
m_End
);
...
@@ -742,22 +740,22 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
...
@@ -742,22 +740,22 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel, wxDC* DC, bool erase
D
(
g_CurrentTrackList
.
VerifyListIntegrity
();
);
D
(
g_CurrentTrackList
.
VerifyListIntegrity
();
);
Trace_Une_Piste
(
panel
,
DC
,
g_FirstTrackSegment
,
g_CurrentTrackList
.
GetCount
(),
GR_XOR
);
Trace_Une_Piste
(
panel
,
DC
,
g_FirstTrackSegment
,
g_CurrentTrackList
.
GetCount
(),
GR_XOR
);
if
(
g_ShowClearanceWhenTrackCreation
>
1
)
// Show the via area
if
(
showTrackClearanceMode
>=
SHOW_CLEARANCE_NEW_TRACKS_AND_VIA_AREAS
)
// Show the via area
{
{
int
color
=
g_DesignSettings
.
m_LayerColor
[
g_CurrentTrackSegment
->
GetLayer
()];
int
color
=
g_DesignSettings
.
m_LayerColor
[
g_CurrentTrackSegment
->
GetLayer
()];
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
g_CurrentTrackSegment
->
m_End
.
x
,
GRCircle
(
&
panel
->
m_ClipBox
,
DC
,
g_CurrentTrackSegment
->
m_End
.
x
,
g_CurrentTrackSegment
->
m_End
.
y
,
g_CurrentTrackSegment
->
m_End
.
y
,
(
g_DesignSettings
.
m_CurrentViaSize
/
2
)
+
g_DesignSettings
.
m_TrackClearence
,
(
g_DesignSettings
.
m_CurrentViaSize
/
2
)
+
g_DesignSettings
.
m_TrackClearence
,
color
);
color
);
}
}
DisplayOpt
.
DisplayTrackIsol
=
IsolTmp
;
DisplayOpt
.
ShowTrackClearanceMode
=
showTrackClearanceMode
;
DisplayOpt
.
DisplayPcbTrackFill
=
Track_fill_copy
;
DisplayOpt
.
DisplayPcbTrackFill
=
Track_fill_copy
;
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
(
(
WinEDA_BasePcbFrame
*
)(
panel
->
m_Parent
)
)
->
build_ratsnest_pad
(
NULL
,
g_CurrentTrackSegment
->
m_End
,
FALSE
);
build_ratsnest_pad
(
NULL
,
g_CurrentTrackSegment
->
m_End
,
FALSE
);
(
(
WinEDA_BasePcbFrame
*
)
(
panel
->
m_Parent
)
)
->
trace_ratsnest_pad
(
DC
);
(
(
WinEDA_BasePcbFrame
*
)(
panel
->
m_Parent
)
)
->
trace_ratsnest_pad
(
DC
);
}
}
...
@@ -1029,4 +1027,3 @@ void EnsureEndTrackOnPad( D_PAD* Pad )
...
@@ -1029,4 +1027,3 @@ void EnsureEndTrackOnPad( D_PAD* Pad )
g_CurrentTrackSegment
->
end
=
Pad
;
g_CurrentTrackSegment
->
end
=
Pad
;
g_CurrentTrackSegment
->
SetState
(
END_ONPAD
,
ON
);
g_CurrentTrackSegment
->
SetState
(
END_ONPAD
,
ON
);
}
}
pcbnew/pcbcfg.h
View file @
e8778199
...
@@ -194,20 +194,13 @@ static PARAM_CFG_BOOL SegmFillCfg
...
@@ -194,20 +194,13 @@ static PARAM_CFG_BOOL SegmFillCfg
TRUE
/* Default value */
TRUE
/* Default value */
);
);
static
PARAM_CFG_INT
NewTrackAfficheGardeCfg
(
INSETUP
,
wxT
(
"NewAffG"
),
/* Keyword */
&
g_ShowClearanceWhenTrackCreation
,
/* Parameter address */
1
/* Default value */
);
static
PARAM_CFG_
BOOL
TrackAfficheGard
eCfg
static
PARAM_CFG_
INT
TrackDisplayClearanc
eCfg
(
(
INSETUP
,
INSETUP
,
wxT
(
"
SegAffG"
),
/* Keyword */
wxT
(
"
TrackDisplayClearance"
),
/* Keyword */
&
DisplayOpt
.
DisplayTrackIsol
,
/* Parameter address */
&
DisplayOpt
.
ShowTrackClearanceMode
,
/* Parameter address */
FALSE
/* Default value */
SHOW_CLEARANCE_NEW_TRACKS_AND_VIA_AREAS
/* Default value */
);
);
static
PARAM_CFG_BOOL
PadFillCfg
static
PARAM_CFG_BOOL
PadFillCfg
...
@@ -816,8 +809,7 @@ PARAM_CFG_BASE* ParamCfgList[] =
...
@@ -816,8 +809,7 @@ PARAM_CFG_BASE* ParamCfgList[] =
&
Raccord45Cfg
,
&
Raccord45Cfg
,
&
UnitCfg
,
&
UnitCfg
,
&
SegmFillCfg
,
&
SegmFillCfg
,
&
TrackAfficheGardeCfg
,
&
TrackDisplayClearanceCfg
,
&
NewTrackAfficheGardeCfg
,
&
PadFillCfg
,
&
PadFillCfg
,
&
PadAfficheGardeCfg
,
&
PadAfficheGardeCfg
,
&
PadShowNumCfg
,
&
PadShowNumCfg
,
...
...
pcbnew/pcbnew.cpp
View file @
e8778199
...
@@ -33,7 +33,6 @@ bool g_Show_Ratsnest;
...
@@ -33,7 +33,6 @@ bool g_Show_Ratsnest;
bool
g_Show_Module_Ratsnest
;
bool
g_Show_Module_Ratsnest
;
bool
g_Show_Pads_Module_in_Move
=
TRUE
;
bool
g_Show_Pads_Module_in_Move
=
TRUE
;
bool
g_Raccord_45_Auto
=
TRUE
;
bool
g_Raccord_45_Auto
=
TRUE
;
int
g_ShowClearanceWhenTrackCreation
=
1
;
bool
Track_45_Only
;
bool
Track_45_Only
;
bool
Segments_45_Only
;
bool
Segments_45_Only
;
bool
g_TwoSegmentTrackBuild
=
TRUE
;
bool
g_TwoSegmentTrackBuild
=
TRUE
;
...
...
pcbnew/pcbnew.h
View file @
e8778199
...
@@ -54,12 +54,6 @@ extern bool g_Show_Ratsnest;
...
@@ -54,12 +54,6 @@ extern bool g_Show_Ratsnest;
extern
bool
g_Show_Module_Ratsnest
;
extern
bool
g_Show_Module_Ratsnest
;
extern
bool
g_Show_Pads_Module_in_Move
;
extern
bool
g_Show_Pads_Module_in_Move
;
extern
bool
g_Raccord_45_Auto
;
extern
bool
g_Raccord_45_Auto
;
extern
int
g_ShowClearanceWhenTrackCreation
;
/* = 0 , 1 or 2
* 0 = do not show clearance
* 1 = show track clearance
* 2 = show clearance + via area
* (useful to know what clearance area is neede if we want to put a via on terminal track point)
*/
extern
const
wxString
g_FootprintLibFileWildcard
;
// Wildcard for footprint libraries filesnames
extern
const
wxString
g_FootprintLibFileWildcard
;
// Wildcard for footprint libraries filesnames
...
...
pcbnew/print_board_functions.cpp
View file @
e8778199
...
@@ -45,9 +45,10 @@ void WinEDA_DrawPanel::PrintPage( wxDC* aDC, bool aPrint_Sheet_Ref, int aPrintMa
...
@@ -45,9 +45,10 @@ void WinEDA_DrawPanel::PrintPage( wxDC* aDC, bool aPrint_Sheet_Ref, int aPrintMa
DisplayOpt
.
DisplayModEdge
=
FILLED
;
DisplayOpt
.
DisplayModEdge
=
FILLED
;
DisplayOpt
.
DisplayModText
=
FILLED
;
DisplayOpt
.
DisplayModText
=
FILLED
;
frame
->
m_DisplayPcbTrackFill
=
DisplayOpt
.
DisplayPcbTrackFill
=
FILLED
;
frame
->
m_DisplayPcbTrackFill
=
DisplayOpt
.
DisplayPcbTrackFill
=
FILLED
;
DisplayOpt
.
DisplayTrackIsol
=
false
;
DisplayOpt
.
ShowTrackClearanceMode
=
DO_NOT_SHOW_CLEARANCE
;
DisplayOpt
.
DisplayDrawItems
=
FILLED
;
DisplayOpt
.
DisplayDrawItems
=
FILLED
;
DisplayOpt
.
DisplayZonesMode
=
0
;
DisplayOpt
.
DisplayZonesMode
=
0
;
DisplayOpt
.
DisplayNetNamesMode
=
0
;
m_PrintIsMirrored
=
aPrintMirrorMode
;
m_PrintIsMirrored
=
aPrintMirrorMode
;
...
...
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