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
bcd7a739
Commit
bcd7a739
authored
Nov 02, 2007
by
CHARRAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gerbview enhancement: polygons can be shown in sketch mode. Some translations
parent
b30b24c5
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
384 additions
and
331 deletions
+384
-331
opt_show_polygon.xpm
bitmaps/opt_show_polygon.xpm
+27
-0
dcode.cpp
gerbview/dcode.cpp
+2
-2
gerberframe.cpp
gerbview/gerberframe.cpp
+6
-3
gerbview.h
gerbview/gerbview.h
+133
-132
options.cpp
gerbview/options.cpp
+49
-39
readgerb.cpp
gerbview/readgerb.cpp
+41
-35
reglage.cpp
gerbview/reglage.cpp
+97
-110
tool_gerber.cpp
gerbview/tool_gerber.cpp
+16
-4
tracepcb.cpp
gerbview/tracepcb.cpp
+11
-5
bitmaps.h
include/bitmaps.h
+1
-0
id.h
include/id.h
+1
-1
No files found.
bitmaps/opt_show_polygon.xpm
0 → 100644
View file @
bcd7a739
/* XPM */
#ifndef XPMMAIN
extern const char *opt_show_polygon_xpm[];
#else
const char * opt_show_polygon_xpm[] = {
"16 16 3 1",
" c None",
"! c black",
"# c #D90000",
" ",
" ####### ",
" # # ",
" # # ",
" # # ",
" # # ",
" # # ",
" # # ",
"# # ",
"# # ",
" # # ",
" # # ",
" # # ",
" # # ",
" # # ",
" ###### "};
#endif
gerbview/dcode.cpp
View file @
bcd7a739
...
...
@@ -233,7 +233,7 @@ char* ptcar;
int
dimH
,
dimV
,
drill
,
type_outil
,
dummy
;
float
fdimH
,
fdimV
,
fdrill
;
char
c_type_outil
[
256
];
char
Line
[
1024
];
char
Line
[
2000
];
wxString
msg
;
D_CODE
*
pt_Dcode
;
FILE
*
dest
;
...
...
@@ -266,7 +266,7 @@ D_CODE ** ListeDCode;
ListeDCode
=
g_GERBER_Descr_List
[
layer
]
->
m_Aperture_List
;
while
(
fgets
(
Line
,
255
,
dest
)
!=
NULL
)
while
(
fgets
(
Line
,
sizeof
(
Line
)
-
1
,
dest
)
!=
NULL
)
{
if
(
*
Line
==
';'
)
continue
;
/* Commentaire */
if
(
strlen
(
Line
)
<
10
)
continue
;
/* Probablemant ligne vide */
...
...
gerbview/gerberframe.cpp
View file @
bcd7a739
...
...
@@ -198,9 +198,9 @@ PCB_SCREEN * screen;
/*******************************************/
void
WinEDA_GerberFrame
::
SetToolbars
()
/*******************************************/
/*
Active ou desactive les tools du toolbar horizontal, en fonction des commandes
en cour
s
*/
/*
* Function SetToolbars()
* Set the tools state for the toolbars, accordint to display option
s
*/
{
int
layer
=
GetScreen
()
->
m_Active_Layer
;
GERBER_Descr
*
Gerber_layer_descr
=
g_GERBER_Descr_List
[
layer
];
...
...
@@ -277,6 +277,9 @@ GERBER_Descr * Gerber_layer_descr = g_GERBER_Descr_List[layer];
m_OptionsToolBar
->
ToggleTool
(
ID_TB_OPTIONS_SHOW_TRACKS_SKETCH
,
!
m_DisplayPcbTrackFill
);
m_OptionsToolBar
->
ToggleTool
(
ID_TB_OPTIONS_SHOW_POLYGONS_SKETCH
,
g_DisplayPolygonsModeSketch
==
0
?
0
:
1
);
m_OptionsToolBar
->
ToggleTool
(
ID_TB_OPTIONS_SHOW_DCODES
,
DisplayOpt
.
DisplayPadNum
);
}
...
...
gerbview/gerbview.h
View file @
bcd7a739
This diff is collapsed.
Click to expand it.
gerbview/options.cpp
View file @
bcd7a739
...
...
@@ -2,10 +2,10 @@
/* GERBVIEW - Gestion des Options et Reglages */
/********************************************/
/* Fi
chier
options.cpp */
/* Fi
le
options.cpp */
/*
*
Affichage et modifications des parametres de travail
Gerbview
*
Set the display options for
Gerbview
*/
...
...
@@ -20,45 +20,42 @@
#include "protos.h"
#include <wx/spinctrl.h>
/* Fonctions locales */
/* variables locales */
/*****************************************************************/
void
WinEDA_GerberFrame
::
OnSelectOptionToolbar
(
wxCommandEvent
&
event
)
/*****************************************************************/
/** Function OnSelectOptionToolbar
* called to validate current choices
*/
{
int
id
=
event
.
GetId
();
wxClientDC
dc
(
DrawPanel
);
DrawPanel
->
PrepareGraphicContext
(
&
dc
);
switch
(
id
)
{
case
ID_TB_OPTIONS_SHOW_GRID
:
m_Draw_Grid
=
g_ShowGrid
=
m_OptionsToolBar
->
GetToolState
(
id
);
DrawPanel
->
Re
Draw
(
&
dc
,
TRUE
);
DrawPanel
->
Re
fresh
(
TRUE
);
break
;
case
ID_TB_OPTIONS_SELECT_UNIT_MM
:
g_UnitMetric
=
MILLIMETRE
;
Affiche_Status_Box
();
/* Reaffichage des coord curseur */
Affiche_Status_Box
();
break
;
case
ID_TB_OPTIONS_SELECT_UNIT_INCH
:
g_UnitMetric
=
INCHES
;
Affiche_Status_Box
();
/* Reaffichage des coord curseur */
Affiche_Status_Box
();
break
;
case
ID_TB_OPTIONS_SHOW_POLAR_COORD
:
Affiche_Message
(
wxEmptyString
);
DisplayOpt
.
DisplayPolarCood
=
m_OptionsToolBar
->
GetToolState
(
id
);
Affiche_Status_Box
();
/* Reaffichage des coord curseur */
Affiche_Status_Box
();
break
;
case
ID_TB_OPTIONS_SELECT_CURSOR
:
DrawPanel
->
CursorOff
(
&
dc
);
g_CursorShape
=
m_OptionsToolBar
->
GetToolState
(
id
);
DrawPanel
->
CursorOn
(
&
dc
);
DrawPanel
->
Refresh
(
TRUE
);
break
;
case
ID_TB_OPTIONS_SHOW_PADS_SKETCH
:
...
...
@@ -72,7 +69,7 @@ wxClientDC dc(DrawPanel);
m_DisplayPadFill
=
TRUE
;
DisplayOpt
.
DisplayPadFill
=
TRUE
;
}
DrawPanel
->
Re
Draw
(
&
dc
,
TRUE
);
DrawPanel
->
Re
fresh
(
TRUE
);
break
;
case
ID_TB_OPTIONS_SHOW_TRACKS_SKETCH
:
...
...
@@ -86,12 +83,19 @@ wxClientDC dc(DrawPanel);
m_DisplayPcbTrackFill
=
TRUE
;
DisplayOpt
.
DisplayPcbTrackFill
=
TRUE
;
}
DrawPanel
->
ReDraw
(
&
dc
,
TRUE
);
DrawPanel
->
Refresh
(
TRUE
);
break
;
case
ID_TB_OPTIONS_SHOW_POLYGONS_SKETCH
:
if
(
m_OptionsToolBar
->
GetToolState
(
id
)
)
// Polygons filled asked
g_DisplayPolygonsModeSketch
=
0
;
else
g_DisplayPolygonsModeSketch
=
1
;
DrawPanel
->
Refresh
(
TRUE
);
break
;
case
ID_TB_OPTIONS_SHOW_DCODES
:
DisplayOpt
.
DisplayPadNum
=
m_OptionsToolBar
->
GetToolState
(
id
);
DrawPanel
->
Re
Draw
(
&
dc
,
TRUE
);
DrawPanel
->
Re
fresh
(
TRUE
);
break
;
default
:
...
...
@@ -103,11 +107,9 @@ wxClientDC dc(DrawPanel);
}
/*************************************************/
/* classe derivee pour la frame de Configuration */
/*************************************************/
/******************************************************/
class
WinEDA_GerberGeneralOptionsFrame
:
public
wxDialog
/******************************************************/
{
private
:
...
...
@@ -129,7 +131,7 @@ private:
DECLARE_EVENT_TABLE
()
};
/*
Construction de la table des evenements pou
r WinEDA_GerberGeneralOptionsFrame */
/*
Events table fo
r WinEDA_GerberGeneralOptionsFrame */
BEGIN_EVENT_TABLE
(
WinEDA_GerberGeneralOptionsFrame
,
wxDialog
)
EVT_BUTTON
(
wxID_OK
,
WinEDA_GerberGeneralOptionsFrame
::
OnOkClick
)
EVT_BUTTON
(
wxID_CANCEL
,
WinEDA_GerberGeneralOptionsFrame
::
OnCancelClick
)
...
...
@@ -138,15 +140,15 @@ END_EVENT_TABLE()
/*************************************************/
/* Constructeur de WinEDA_GerberGeneralOptionsFrame */
/************************************************/
/**********************************************************************************************/
WinEDA_GerberGeneralOptionsFrame
::
WinEDA_GerberGeneralOptionsFrame
(
WinEDA_BasePcbFrame
*
parent
,
const
wxPoint
&
framepos
)
:
wxDialog
(
parent
,
-
1
,
_
(
"Gerbview Options"
),
framepos
,
wxSize
(
300
,
240
),
wxDEFAULT_DIALOG_STYLE
|
wxFRAME_FLOAT_ON_PARENT
)
/**********************************************************************************************/
/** WinEDA_GerberGeneralOptionsFrame Constructor
*/
{
m_Parent
=
parent
;
SetFont
(
*
g_DialogFont
);
...
...
@@ -168,7 +170,7 @@ WinEDA_GerberGeneralOptionsFrame::WinEDA_GerberGeneralOptionsFrame(WinEDA_BasePc
Button
->
SetForegroundColour
(
*
wxBLUE
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
/* Display
Selection affichage des coordonnes polaires
*/
/* Display
/ not display polar coordinates:
*/
wxString
list_coord
[
2
]
=
{
_
(
"No Display"
),
_
(
"Display"
)
};
...
...
@@ -178,7 +180,7 @@ wxString list_coord[2] =
m_PolarDisplay
->
SetSelection
(
DisplayOpt
.
DisplayPolarCood
?
1
:
0
);
LeftBoxSizer
->
Add
(
m_PolarDisplay
,
0
,
wxGROW
|
wxALL
,
5
);
/* Selection
choix des units d'affichage
*/
/* Selection
of units
*/
wxString
list_units
[
2
]
=
{
_
(
"Inches"
),
_
(
"millimeters"
)
};
...
...
@@ -187,7 +189,7 @@ wxString list_units[2] = {
m_BoxUnits
->
SetSelection
(
g_UnitMetric
?
1
:
0
);
LeftBoxSizer
->
Add
(
m_BoxUnits
,
0
,
wxGROW
|
wxALL
,
5
);
/* Selection
forme du curseur
*/
/* Selection
of cursor shape
*/
wxString
list_cursors
[
2
]
=
{
_
(
"Small"
),
_
(
"Big"
)
};
m_CursorShape
=
new
wxRadioBox
(
this
,
-
1
,
_
(
"Cursor"
),
wxDefaultPosition
,
wxDefaultSize
,
2
,
list_cursors
,
1
);
...
...
@@ -232,30 +234,25 @@ void WinEDA_GerberGeneralOptionsFrame::OnOkClick(wxCommandEvent& event)
/******************************************************************/
/* classe derivee pour la frame de Configuration WinEDA_LookFrame */
/******************************************************************/
/*******************************************/
/* Dialog frame to select deisplay options */
/*******************************************/
class
WinEDA_LookFrame
:
public
wxDialog
{
private
:
protected
:
public
:
WinEDA_BasePcbFrame
*
m_Parent
;
wxRadioBox
*
m_OptDisplayLines
;
wxRadioBox
*
m_OptDisplayFlashes
;
wxRadioBox
*
m_OptDisplayPolygons
;
wxCheckBox
*
m_OptDisplayDCodes
;
wxRadioBox
*
m_OptDisplayDrawings
;
public
:
// Constructor and destructor
WinEDA_LookFrame
(
WinEDA_BasePcbFrame
*
parent
,
const
wxPoint
&
pos
);
~
WinEDA_LookFrame
()
{};
private
:
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
);
...
...
@@ -313,6 +310,14 @@ wxString list_opt2[2] = { _("Sketch"), _("Filled") };
m_OptDisplayFlashes
->
SetSelection
(
1
);
LeftBoxSizer
->
Add
(
m_OptDisplayFlashes
,
0
,
wxGROW
|
wxALL
,
5
);
// Show Option Draw polygons
m_OptDisplayPolygons
=
new
wxRadioBox
(
this
,
-
1
,
_
(
"Polygons:"
),
wxDefaultPosition
,
wxDefaultSize
,
2
,
list_opt2
,
1
);
if
(
g_DisplayPolygonsModeSketch
==
0
)
m_OptDisplayPolygons
->
SetSelection
(
1
);
LeftBoxSizer
->
Add
(
m_OptDisplayPolygons
,
0
,
wxGROW
|
wxALL
,
5
);
wxString
list_opt3
[
3
]
=
{
_
(
"Sketch"
),
_
(
"Filled"
),
_
(
"Line"
)
};
m_OptDisplayDrawings
=
new
wxRadioBox
(
this
,
-
1
,
_
(
"Display other items:"
),
wxDefaultPosition
,
wxDefaultSize
,
...
...
@@ -354,6 +359,11 @@ void WinEDA_LookFrame::OnOkClick(wxCommandEvent& event)
else
DisplayOpt
.
DisplayPadFill
=
FALSE
;
if
(
m_OptDisplayPolygons
->
GetSelection
()
==
0
)
g_DisplayPolygonsModeSketch
=
1
;
else
g_DisplayPolygonsModeSketch
=
0
;
DisplayOpt
.
DisplayPadNum
=
m_OptDisplayDCodes
->
GetValue
();
DisplayOpt
.
DisplayDrawItems
=
m_OptDisplayDrawings
->
GetSelection
();
...
...
gerbview/readgerb.cpp
View file @
bcd7a739
...
...
@@ -36,7 +36,7 @@
* G75 Active interpolation circulaire sur 360 degre
* G90 Mode Coordonnees absolues
* G91 Mode Coordonnees Relatives
*
*
* Coordonnees X,Y
* X,Y sont suivies de + ou - et de m+n chiffres (non separes)
* m = partie entiere
...
...
@@ -45,20 +45,20 @@
* m = 3, n = 4 (format 3.4)
* ex:
* G__ X00345Y-06123 D__*
*
*
* Outils et D_CODES
* numero d'outil ( identification des formes )
* 1 a 99 (classique)
* 1 a 999
* D_CODES:
*
*
* D01 ... D9 = codes d'action:
* D01 = activation de lumiere (baisser de plume) lors du déplacement
* D02 = extinction de lumiere (lever de plume) lors du déplacement
* D03 = Flash
* D09 = VAPE Flash
* D51 = precede par G54 -> Select VAPE
*
*
* D10 ... D255 = Indentification d'outils ( d'ouvertures )
* Ne sont pas tj dans l'ordre ( voir tableau dans PCBPLOT.H)
*/
...
...
@@ -72,25 +72,25 @@
/* Routine de Lecture d'un fichier de D Codes.
* Accepte format standard ou ALSPCB
* un ';' demarre un commentaire.
*
*
* Format Standard:
* tool, Horiz, Vert, drill, vitesse, acc. ,Type ; [DCODE (commentaire)]
* ex: 1, 12, 12, 0, 0, 0, 3 ; D10
*
*
* Format ALSPCB:
* Ver , Hor , Type , Tool [,Drill]
* ex: 0.012, 0.012, L , D10
*
*
* Classe les caract en buf_tmp sous forme de tableau de structures D_CODE.
* Retourne:
* < 0 si erreur:
* -1 = Fichier non trouve
* -2 = Erreur lecture fichier
* Rang de D_code maxi lu ( nbr de dcodes )
*
*
*
*
* Representation interne:
*
*
* Les lignes sont représentées par des TRACKS standards
* Les Flash sont représentées par des DRAWSEGMENTS
* - ronds ou ovales: DRAWSEGMENTS
...
...
@@ -105,24 +105,28 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
const
wxString
&
D_Code_FullFileName
)
/********************************************************/
/*
Lecture de 1 fichier gerber
.
*
Format
/*
Read a gerber file (RS274D or RS274X format)
.
*
Normal format:
* Imperial
* Absolu
*
fin de bloc
= *
* CrLf a
pres chaque commande
* Absolu
te
*
end of block
= *
* CrLf a
fter each command
* G codes repetes
*/
{
int
G_commande
=
0
,
D_commande
=
0
;
/* Numero de commande G et D codes */
char
Line
[
1024
];
// Buffer des lignes du fichier gerber en cours
int
G_commande
=
0
,
D_commande
=
0
;
/* command number for G et D commands (like G04 or D02) */
char
Line
[
4000
];
/* Buffer to read 1 line of the gerber file
* warning: some files can have very long lines, so the buffer must be large
*/
wxString
msg
;
char
*
text
;
int
layer
=
GetScreen
()
->
m_Active_Layer
;
int
layer
;
/* current layer used in gerbview */
GERBER_Descr
*
gerber_layer
;
wxPoint
pos
;
int
error
=
0
;
layer
=
GetScreen
()
->
m_Active_Layer
;
if
(
g_GERBER_Descr_List
[
layer
]
==
NULL
)
{
...
...
@@ -130,16 +134,16 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
}
gerber_layer
=
g_GERBER_Descr_List
[
layer
];
/*
Mise a jour de l'echelle gerber
: */
/*
Set the gerber scale
: */
gerber_layer
->
ResetDefaultValues
();
/*
Lecture du fichier de Trac
e */
/*
Read the gerber fil
e */
gerber_layer
->
m_Current_File
=
wxFopen
(
GERBER_FullFileName
,
wxT
(
"rt"
)
);
if
(
gerber_layer
->
m_Current_File
==
0
)
{
msg
=
_
(
"File "
)
+
GERBER_FullFileName
+
_
(
" not found"
);
DisplayError
(
this
,
msg
,
10
);
DisplayError
(
this
,
msg
,
10
);
return
FALSE
;
}
...
...
@@ -152,20 +156,20 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
while
(
TRUE
)
{
if
(
fgets
(
Line
,
255
,
gerber_layer
->
m_Current_File
)
==
NULL
)
// E.O.F
if
(
fgets
(
Line
,
sizeof
(
Line
)
-
1
,
gerber_layer
->
m_Current_File
)
==
NULL
)
// E.O.F
{
if
(
gerber_layer
->
m_FilesPtr
==
0
)
break
;
fclose
(
gerber_layer
->
m_Current_File
);
gerber_layer
->
m_FilesPtr
--
;
gerber_layer
->
m_Current_File
=
gerber_layer
->
m_FilesList
[
gerber_layer
->
m_FilesPtr
];
continue
;
}
text
=
StrPurge
(
Line
);
while
(
text
&&
*
text
)
...
...
@@ -187,21 +191,22 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
gerber_layer
->
m_CommandState
=
CMD_IDLE
;
while
(
*
text
)
text
++
;
break
;
case
'G'
:
/* Li
gne type Gxx : commande
*/
case
'G'
:
/* Li
ne type Gxx : command
*/
G_commande
=
gerber_layer
->
ReturnGCodeNumber
(
text
);
gerber_layer
->
Execute_G_Command
(
text
,
G_commande
);
break
;
case
'D'
:
/* Li
gne type Dxx : Selection d'un outil ou commande si
xx = 0..9*/
case
'D'
:
/* Li
ne type Dxx : Tool selection (xx > 0) or command if
xx = 0..9*/
D_commande
=
gerber_layer
->
ReturnDCodeNumber
(
text
);
gerber_layer
->
Execute_DCODE_Command
(
this
,
DC
,
text
,
D_commande
);
break
;
case
'X'
:
case
'Y'
:
/*
Commande de deplacement ou de Trace
*/
case
'Y'
:
/*
Move or draw command
*/
pos
=
gerber_layer
->
ReadXYCoord
(
text
);
if
(
*
text
==
'*'
)
// command like X12550Y19250*
{
...
...
@@ -211,7 +216,7 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
break
;
case
'I'
:
case
'J'
:
/*
Commande de deplacement ou de Trace
*/
case
'J'
:
/*
Auxiliary Move command
*/
pos
=
gerber_layer
->
ReadIJCoord
(
text
);
break
;
...
...
@@ -219,7 +224,7 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
if
(
gerber_layer
->
m_CommandState
!=
ENTER_RS274X_CMD
)
{
gerber_layer
->
m_CommandState
=
ENTER_RS274X_CMD
;
if
(
!
gerber_layer
->
ReadRS274XCommand
(
this
,
DC
,
Line
,
text
)
)
{
error
++
;
...
...
@@ -227,7 +232,6 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
}
else
//Error
{
wxBell
();
error
++
;
gerber_layer
->
m_CommandState
=
CMD_IDLE
;
text
++
;
...
...
@@ -235,7 +239,7 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
break
;
default
:
text
++
;
text
++
;
error
++
;
break
;
}
...
...
@@ -252,7 +256,9 @@ bool WinEDA_GerberFrame::Read_GERBER_File( wxDC* DC,
setlocale
(
LC_NUMERIC
,
""
);
/* Init tableau des DCodes et Lecture fichier DCODES */
/* Init DCodes list and perhaps read a DCODES file,
* if the gerber file is only a RS274D file (without any aperture information)
*/
if
(
!
gerber_layer
->
m_As_DCode
)
{
wxString
DCodeFileName
;
...
...
gerbview/reglage.cpp
View file @
bcd7a739
/
********************************************/
/* PCBN
EW - Gestion des Options et Reglages */
/
********************************************/
/**
********************************************/
/* GERBVI
EW - Gestion des Options et Reglages */
/**
********************************************/
/* Fichier reglage.cpp */
/* Fichier reglage.cpp */
/*
* Affichage et modifications des parametres de travail de PcbNew
* Parametres = dimensions des via, pistes, isolements, options...
* Options for file extensions
*/
...
...
@@ -18,148 +17,136 @@
#include "protos.h"
/* Fonctions locales */
/* variables locales */
/***********/
enum
{
ID_SAVE_CFG
=
1000
};
ID_SAVE_CFG
=
1000
};
/* Routines Locales */
/*************************************************/
/* classe derivee pour la frame de Configuration */
/*************************************************/
class
WinEDA_ConfigFrame
:
public
wxDialog
class
WinEDA_ConfigFrame
:
public
wxDialog
{
private
:
WinEDA_GerberFrame
*
m_Parent
;
wxListBox
*
ListLibr
;
int
LibModified
;
WinEDA_GerberFrame
*
m_Parent
;
wxListBox
*
ListLibr
;
int
LibModified
;
WinEDA_EnterText
*
TextDrillExt
;
WinEDA_EnterText
*
TextPhotoExt
;
WinEDA_EnterText
*
TextPenExt
;
WinEDA_EnterText
*
TextDrillExt
;
WinEDA_EnterText
*
TextPhotoExt
;
WinEDA_EnterText
*
TextPenExt
;
// Constructor and destructor
// Constructor and destructor
public
:
WinEDA_ConfigFrame
(
WinEDA_GerberFrame
*
parent
,
const
wxPoint
&
pos
);
~
WinEDA_ConfigFrame
()
{
};
WinEDA_ConfigFrame
(
WinEDA_GerberFrame
*
parent
,
const
wxPoint
&
pos
);
~
WinEDA_ConfigFrame
()
{
};
private
:
void
SaveCfg
(
wxCommandEvent
&
event
);
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
);
DECLARE_EVENT_TABLE
()
void
SaveCfg
(
wxCommandEvent
&
event
);
void
OnOkClick
(
wxCommandEvent
&
event
);
void
OnCancelClick
(
wxCommandEvent
&
event
);
DECLARE_EVENT_TABLE
()
};
/* Construction de la table des evenements pour WinEDA_ConfigFrame */
BEGIN_EVENT_TABLE
(
WinEDA_ConfigFrame
,
wxDialog
)
EVT_BUTTON
(
ID_SAVE_CFG
,
WinEDA_ConfigFrame
::
SaveCfg
)
EVT_BUTTON
(
wxID_OK
,
WinEDA_ConfigFrame
::
OnOkClick
)
EVT_BUTTON
(
wxID_CANCEL
,
WinEDA_ConfigFrame
::
OnCancelClick
)
BEGIN_EVENT_TABLE
(
WinEDA_ConfigFrame
,
wxDialog
)
EVT_BUTTON
(
ID_SAVE_CFG
,
WinEDA_ConfigFrame
::
SaveCfg
)
EVT_BUTTON
(
wxID_OK
,
WinEDA_ConfigFrame
::
OnOkClick
)
EVT_BUTTON
(
wxID_CANCEL
,
WinEDA_ConfigFrame
::
OnCancelClick
)
END_EVENT_TABLE
()
/*****************************************************************/
void
WinEDA_GerberFrame
::
InstallConfigFrame
(
const
wxPoint
&
pos
)
/*****************************************************************/
/*****************************************************************/
/* void WinEDA_GerberFrame::InstallConfigFrame(const wxPoint & pos) */
/*****************************************************************/
void
WinEDA_GerberFrame
::
InstallConfigFrame
(
const
wxPoint
&
pos
)
/** Function InstallConfigFrame
* install the dialog box to configure some gerbview options
* manly the default file extensions
*/
{
WinEDA_ConfigFrame
*
CfgFrame
=
new
WinEDA_ConfigFrame
(
this
,
pos
);
CfgFrame
->
ShowModal
();
CfgFrame
->
Destroy
();
}
WinEDA_ConfigFrame
*
CfgFrame
=
new
WinEDA_ConfigFrame
(
this
,
pos
);
CfgFrame
->
ShowModal
();
CfgFrame
->
Destroy
();
}
/************************************************************/
/* Constructeur de WinEDA_ConfigFrame: la fenetre de config */
/************************************************************/
WinEDA_ConfigFrame
::
WinEDA_ConfigFrame
(
WinEDA_GerberFrame
*
parent
,
const
wxPoint
&
framepos
)
:
wxDialog
(
parent
,
-
1
,
wxEmptyString
,
framepos
,
wxSize
(
300
,
180
),
wxDEFAULT_DIALOG_STYLE
|
wxFRAME_FLOAT_ON_PARENT
)
/************************************************************/
WinEDA_ConfigFrame
::
WinEDA_ConfigFrame
(
WinEDA_GerberFrame
*
parent
,
const
wxPoint
&
framepos
)
:
wxDialog
(
parent
,
-
1
,
wxEmptyString
,
framepos
,
wxSize
(
300
,
180
),
wxDEFAULT_DIALOG_STYLE
|
wxFRAME_FLOAT_ON_PARENT
)
/************************************************************/
{
const
int
LEN_EXT
=
100
;
wxString
title
;
m_Parent
=
parent
;
SetFont
(
*
g_DialogFont
);
title
=
_
(
"from "
)
+
g_EDA_Appl
->
m_CurrentOptionFile
;
SetTitle
(
title
);
LibModified
=
FALSE
;
wxBoxSizer
*
MainBoxSizer
=
new
wxBoxSizer
(
wxHORIZONTAL
);
SetSizer
(
MainBoxSizer
);
wxBoxSizer
*
RightBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
wxBoxSizer
*
LeftBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
MainBoxSizer
->
Add
(
LeftBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
MainBoxSizer
->
Add
(
RightBoxSizer
,
0
,
wxALIGN_CENTER_VERTICAL
|
wxALL
,
5
);
/* Creation des boutons de commande */
wxButton
*
Button
=
new
wxButton
(
this
,
ID_SAVE_CFG
,
_
(
"Save Cfg..."
));
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
// Provide a spacer to improve appearance of dialog box
RightBoxSizer
->
AddSpacer
(
20
);
Button
=
new
wxButton
(
this
,
wxID_OK
,
_
(
"OK"
));
Button
->
SetForegroundColour
(
*
wxRED
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
Button
=
new
wxButton
(
this
,
wxID_CANCEL
,
_
(
"Cancel"
));
Button
->
SetForegroundColour
(
*
wxBLUE
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
wxSize
size
;
size
.
x
=
LEN_EXT
;
size
.
y
=
-
1
;
TextDrillExt
=
new
WinEDA_EnterText
(
this
,
_
(
"Drill File Ext:"
),
g_DrillFilenameExt
,
LeftBoxSizer
,
size
);
TextPhotoExt
=
new
WinEDA_EnterText
(
this
,
_
(
"Gerber File Ext:"
),
g_PhotoFilenameExt
,
LeftBoxSizer
,
size
);
TextPenExt
=
new
WinEDA_EnterText
(
this
,
_
(
"D code File Ext:"
),
g_PenFilenameExt
,
LeftBoxSizer
,
size
);
GetSizer
()
->
Fit
(
this
);
GetSizer
()
->
SetSizeHints
(
this
);
const
int
LEN_EXT
=
100
;
wxString
title
;
m_Parent
=
parent
;
SetFont
(
*
g_DialogFont
);
/* Shows the config filename currently used : */
title
=
_
(
"from "
)
+
g_EDA_Appl
->
m_CurrentOptionFile
;
SetTitle
(
title
);
LibModified
=
FALSE
;
wxBoxSizer
*
MainBoxSizer
=
new
wxBoxSizer
(
wxHORIZONTAL
);
SetSizer
(
MainBoxSizer
);
wxBoxSizer
*
RightBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
wxBoxSizer
*
LeftBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
MainBoxSizer
->
Add
(
LeftBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
MainBoxSizer
->
Add
(
RightBoxSizer
,
0
,
wxALIGN_CENTER_VERTICAL
|
wxALL
,
5
);
/* Created the buttons */
wxButton
*
Button
=
new
wxButton
(
this
,
ID_SAVE_CFG
,
_
(
"Save Cfg..."
)
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
// Provide a spacer to improve appearance of dialog box
RightBoxSizer
->
AddSpacer
(
20
);
Button
=
new
wxButton
(
this
,
wxID_OK
,
_
(
"OK"
)
);
Button
->
SetForegroundColour
(
*
wxRED
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
Button
=
new
wxButton
(
this
,
wxID_CANCEL
,
_
(
"Cancel"
)
);
Button
->
SetForegroundColour
(
*
wxBLUE
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
wxSize
size
;
size
.
x
=
LEN_EXT
;
size
.
y
=
-
1
;
TextDrillExt
=
new
WinEDA_EnterText
(
this
,
_
(
"Drill File Ext:"
),
g_DrillFilenameExt
,
LeftBoxSizer
,
size
);
TextPhotoExt
=
new
WinEDA_EnterText
(
this
,
_
(
"Gerber File Ext:"
),
g_PhotoFilenameExt
,
LeftBoxSizer
,
size
);
TextPenExt
=
new
WinEDA_EnterText
(
this
,
_
(
"D code File Ext:"
),
g_PenFilenameExt
,
LeftBoxSizer
,
size
);
GetSizer
()
->
Fit
(
this
);
GetSizer
()
->
SetSizeHints
(
this
);
}
/*****************************************************************/
/* Fonctions de base de WinEDA_ConfigFrame: la fenetre de config */
/*****************************************************************/
/******************************************************************/
void
WinEDA_ConfigFrame
::
OnOkClick
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
void
WinEDA_ConfigFrame
::
OnOkClick
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
/******************************************************************/
{
g_DrillFilenameExt
=
TextDrillExt
->
GetValue
();
g_PhotoFilenameExt
=
TextPhotoExt
->
GetValue
();
g_PenFilenameExt
=
TextPenExt
->
GetValue
();
g_PenFilenameExt
=
TextPenExt
->
GetValue
();
EndModal
(
1
);
}
/******************************************************************/
void
WinEDA_ConfigFrame
::
OnCancelClick
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
void
WinEDA_ConfigFrame
::
OnCancelClick
(
wxCommandEvent
&
WXUNUSED
(
event
)
)
/******************************************************************/
{
EndModal
(
-
1
);
...
...
@@ -167,8 +154,8 @@ void WinEDA_ConfigFrame::OnCancelClick(wxCommandEvent& WXUNUSED(event))
/******************************************************/
void
WinEDA_ConfigFrame
::
SaveCfg
(
wxCommandEvent
&
event
)
void
WinEDA_ConfigFrame
::
SaveCfg
(
wxCommandEvent
&
event
)
/******************************************************/
{
m_Parent
->
Update_config
();
m_Parent
->
Update_config
();
}
gerbview/tool_gerber.cpp
View file @
bcd7a739
...
...
@@ -27,7 +27,6 @@ void WinEDA_GerberFrame::ReCreateMenuBar( void )
{
int
ii
;
wxMenuBar
*
menuBar
=
GetMenuBar
();
// wxMenuItem* item;
if
(
menuBar
==
NULL
)
{
...
...
@@ -162,7 +161,7 @@ void WinEDA_GerberFrame::ReCreateMenuBar( void )
// Associate the menu bar with the frame
SetMenuBar
(
menuBar
);
}
else
//
simple mise a jour de la liste des fichiers anciens
else
//
Only an update of the files list
{
wxMenuItem
*
item
;
int
max_file
=
m_Parent
->
m_LastProjectMaxCount
;
...
...
@@ -342,6 +341,9 @@ void WinEDA_GerberFrame::ReCreateHToolbar( void )
/**********************************************/
void
WinEDA_GerberFrame
::
ReCreateVToolbar
(
void
)
/**********************************************/
/**
create or update the right vertical toolbar
*/
{
if
(
m_VToolBar
)
return
;
...
...
@@ -398,6 +400,9 @@ void WinEDA_GerberFrame::ReCreateVToolbar( void )
/************************************************/
void
WinEDA_GerberFrame
::
ReCreateOptToolbar
(
void
)
/************************************************/
/**
create or update the left vertical toolbar (option toolbar
*/
{
if
(
m_OptionsToolBar
)
return
;
...
...
@@ -437,14 +442,21 @@ void WinEDA_GerberFrame::ReCreateOptToolbar( void )
wxNullBitmap
,
TRUE
,
-
1
,
-
1
,
(
wxObject
*
)
NULL
,
_
(
"Show Spots
Sketch
"
)
);
_
(
"Show Spots
in Sketch Mode
"
)
);
m_OptionsToolBar
->
AddTool
(
ID_TB_OPTIONS_SHOW_TRACKS_SKETCH
,
BITMAP
(
showtrack_xpm
),
wxNullBitmap
,
TRUE
,
-
1
,
-
1
,
(
wxObject
*
)
NULL
,
_
(
"Show Lines Sketch"
)
);
_
(
"Show Lines in Sketch Mode"
)
);
m_OptionsToolBar
->
AddTool
(
ID_TB_OPTIONS_SHOW_POLYGONS_SKETCH
,
BITMAP
(
opt_show_polygon_xpm
),
wxNullBitmap
,
TRUE
,
-
1
,
-
1
,
(
wxObject
*
)
NULL
,
_
(
"Show Polygons in Sketch Mode"
)
);
m_OptionsToolBar
->
AddTool
(
ID_TB_OPTIONS_SHOW_DCODES
,
BITMAP
(
show_dcodenumber_xpm
),
...
...
gerbview/tracepcb.cpp
View file @
bcd7a739
...
...
@@ -28,7 +28,8 @@ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmaskl
/* routine de trace du pcb, avec selection des couches */
{
DISPLAY_OPTIONS
save_opt
;
int
DisplayPolygonsModeImg
;
save_opt
=
DisplayOpt
;
if
(
printmasklayer
&
ALL_CU_LAYERS
)
DisplayOpt
.
DisplayPadFill
=
FILLED
;
...
...
@@ -43,6 +44,8 @@ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmaskl
DisplayOpt
.
DisplayTrackIsol
=
0
;
DisplayOpt
.
DisplayDrawItems
=
FILLED
;
DisplayOpt
.
DisplayZones
=
1
;
DisplayPolygonsModeImg
=
g_DisplayPolygonsModeSketch
;
g_DisplayPolygonsModeSketch
=
0
;
(
(
WinEDA_GerberFrame
*
)
m_Parent
)
->
Trace_Gerber
(
DC
,
GR_COPY
,
printmasklayer
);
...
...
@@ -50,6 +53,7 @@ void WinEDA_DrawPanel::PrintPage( wxDC* DC, bool Print_Sheet_Ref, int printmaskl
m_Parent
->
TraceWorkSheet
(
DC
,
GetScreen
(),
0
);
DisplayOpt
=
save_opt
;
g_DisplayPolygonsModeSketch
=
DisplayPolygonsModeImg
;
}
...
...
@@ -112,13 +116,14 @@ void WinEDA_GerberFrame::Trace_Gerber( wxDC* DC, int draw_mode, int printmasklay
if
(
printmasklayer
!=
-
1
)
if
(
(
track
->
ReturnMaskLayer
()
&
printmasklayer
)
==
0
)
continue
;
if
(
track
->
GetNet
()
==
0
)
// StartPoint
if
(
track
->
GetNet
()
==
0
)
// StartPoint
{
if
(
nbpoints
)
if
(
nbpoints
)
// we have found a new polygon: Draw the old polygon
{
int
Color
=
g_DesignSettings
.
m_LayerColor
[
track
->
GetLayer
()];
int
filled
=
(
g_DisplayPolygonsModeSketch
==
0
)
?
1
:
0
;
GRClosedPoly
(
&
DrawPanel
->
m_ClipBox
,
DC
,
nbpoints
,
coord
,
1
,
Color
,
Color
);
filled
,
Color
,
Color
);
}
nbpoints
=
2
;
ptcoord
=
coord
;
...
...
@@ -142,8 +147,9 @@ void WinEDA_GerberFrame::Trace_Gerber( wxDC* DC, int draw_mode, int printmasklay
if
(
track
->
Next
()
==
NULL
)
// Last point
{
int
Color
=
g_DesignSettings
.
m_LayerColor
[
track
->
GetLayer
()];
int
filled
=
(
g_DisplayPolygonsModeSketch
==
0
)
?
1
:
0
;
GRClosedPoly
(
&
DrawPanel
->
m_ClipBox
,
DC
,
nbpoints
,
coord
,
1
,
Color
,
Color
);
filled
,
Color
,
Color
);
}
}
...
...
include/bitmaps.h
View file @
bcd7a739
...
...
@@ -72,6 +72,7 @@
#include "../bitmaps/Options_Segment.xpm"
#include "../bitmaps/Options_Rectangle.xpm"
#include "../bitmaps/Display_Options.xpm"
#include "../bitmaps/opt_show_polygon.xpm"
#include "../bitmaps/Mirror_V.xpm"
#include "../bitmaps/Mirror_H.xpm"
...
...
include/id.h
View file @
bcd7a739
...
...
@@ -814,7 +814,7 @@ enum main_id {
ID_TB_OPTIONS_SHOW_DCODES
,
ID_TB_OPTIONS_SHOW_HIGHT_CONTRAST_MODE
,
ID_TB_OPTIONS_SHOW_EXTRA_VERTICAL_TOOLBAR1
,
ID_TB_OPTIONS_
UNUSED5
,
ID_TB_OPTIONS_
SHOW_POLYGONS_SKETCH
,
ID_TB_OPTIONS_UNUSED6
,
ID_TB_OPTIONS_UNUSED7
,
ID_TB_OPTIONS_UNUSED8
,
...
...
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