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
11d8f51b
Commit
11d8f51b
authored
Mar 21, 2008
by
dickelbeck
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dialog work
parent
8f2e7068
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
187 additions
and
120 deletions
+187
-120
change_log.txt
change_log.txt
+13
-2
drawpanel_wxstruct.h
include/drawpanel_wxstruct.h
+21
-5
classpcb.cpp
pcbnew/classpcb.cpp
+2
-1
pcbplot.cpp
pcbnew/pcbplot.cpp
+151
-112
No files found.
change_log.txt
View file @
11d8f51b
...
@@ -5,11 +5,21 @@ Started 2007-June-11
...
@@ -5,11 +5,21 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with
Please add newer entries at the top, list the date and your name with
email address.
email address.
2008-Mar-21 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew
pcbplot.cpp now saves the selected layers as wxConfig options,
i.e. retentitively. The ESC key now works in that dialog.
Make upper/lower case conformat to UIpolicies.txt
Put buttons at bottom, "Close" as bottom button.
2008-Mar-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
2008-Mar-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================
================================================================================
+eeschema
+eeschema
Removed an very old bug in onrightclick.cpp which crashes eeschema when right clicking in a field inside a component.
Removed an very old bug in onrightclick.cpp which crashes eeschema when
Old code should never works, but ...
right clicking in a field inside a component.
Old code should never works, but ...
2008-Mar-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
2008-Mar-20 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
...
@@ -19,6 +29,7 @@ email address.
...
@@ -19,6 +29,7 @@ email address.
If possible (i.e. if freeroute.jnlp is found in kicad binary directory) javaws is called insteed of the default browser)
If possible (i.e. if freeroute.jnlp is found in kicad binary directory) javaws is called insteed of the default browser)
So @todo removed
So @todo removed
>>>>>>> .r920
2008-Mar-19 UPDATE Dick Hollenbeck <dick@softplc.com>
2008-Mar-19 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
================================================================================
+eeschema
+eeschema
...
...
include/drawpanel_wxstruct.h
View file @
11d8f51b
...
@@ -296,16 +296,32 @@ public:
...
@@ -296,16 +296,32 @@ public:
EDA_BaseStruct
*
GetCurItem
()
const
{
return
m_CurrentItem
;
}
EDA_BaseStruct
*
GetCurItem
()
const
{
return
m_CurrentItem
;
}
/* fonctions relatives au zoom */
//----<zoom stuff>----------------------------------------------------------
int
GetZoom
();
/* retourne le coeff de zoom */
/**
void
SetZoom
(
int
coeff
);
/* ajuste le coeff de zoom a coeff */
* Function GetZoom
void
SetZoomList
(
int
*
zoomlist
);
/* init liste des zoom (NULL terminated) */
* returns the current zoom factor
*/
int
GetZoom
()
const
;
/**
* Function SetZoom
* adjusts the current zoom factor
*/
void
SetZoom
(
int
coeff
);
/**
* Function SetZoomList
* sets the list of zoom factors.
* @param aZoomList An array of zoom factors in ascending order, zero terminated
*/
void
SetZoomList
(
const
int
*
zoomlist
);
void
SetNextZoom
();
/* ajuste le prochain coeff de zoom */
void
SetNextZoom
();
/* ajuste le prochain coeff de zoom */
void
SetPreviousZoom
();
/* ajuste le precedent coeff de zoom */
void
SetPreviousZoom
();
/* ajuste le precedent coeff de zoom */
void
SetFirstZoom
();
/* ajuste le coeff de zoom a 1*/
void
SetFirstZoom
();
/* ajuste le coeff de zoom a 1*/
void
SetLastZoom
();
/* ajuste le coeff de zoom au max */
void
SetLastZoom
();
/* ajuste le coeff de zoom au max */
/
* fonctions relatives a la grille */
/
/----<grid stuff>----------------------------------------------------------
wxSize
GetGrid
();
/* retourne la grille */
wxSize
GetGrid
();
/* retourne la grille */
void
SetGrid
(
const
wxSize
&
size
);
void
SetGrid
(
const
wxSize
&
size
);
void
SetGridList
(
wxSize
*
sizelist
);
/* init liste des grilles (NULL terminated) */
void
SetGridList
(
wxSize
*
sizelist
);
/* init liste des grilles (NULL terminated) */
...
...
pcbnew/classpcb.cpp
View file @
11d8f51b
...
@@ -36,7 +36,8 @@ void EDA_BaseStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
...
@@ -36,7 +36,8 @@ void EDA_BaseStruct::Place( WinEDA_DrawFrame* frame, wxDC* DC )
/* Constructeur de SCREEN */
/* Constructeur de SCREEN */
PCB_SCREEN
::
PCB_SCREEN
(
int
idscreen
)
:
BASE_SCREEN
(
TYPESCREEN
)
PCB_SCREEN
::
PCB_SCREEN
(
int
idscreen
)
:
BASE_SCREEN
(
TYPESCREEN
)
{
{
int
zoom_list
[]
=
{
1
,
2
,
4
,
8
,
16
,
32
,
64
,
128
,
256
,
512
,
1024
,
2048
,
0
};
// a zero terminated list
static
const
int
zoom_list
[]
=
{
1
,
2
,
4
,
8
,
16
,
32
,
64
,
128
,
256
,
512
,
1024
,
2048
,
0
};
m_Type
=
idscreen
;
m_Type
=
idscreen
;
SetGridList
(
g_GridList
);
SetGridList
(
g_GridList
);
...
...
pcbnew/pcbplot.cpp
View file @
11d8f51b
...
@@ -14,23 +14,26 @@
...
@@ -14,23 +14,26 @@
#include "protos.h"
#include "protos.h"
#define PLOT_DEFAULT_MARGE 300 // mils
#define PLOT_DEFAULT_MARGE 300
// mils
/* Keywords to r/w options in config */
/* Keywords to r/w options in config */
#define EDGELAYER_GERBER_OPT_KEY wxT( "EdgeLayerGerberOpt" )
#define OPTKEY_EDGELAYER_GERBER wxT( "EdgeLayerGerberOpt" )
#define PLOT_XFINESCALE_ADJ_KEY wxT( "PlotXFineScaleAdj" )
#define OPTKEY_XFINESCALE_ADJ wxT( "PlotXFineScaleAdj" )
#define PLOT_YFINESCALE_ADJ_KEY wxT( "PlotYFineScaleAdj" )
#define OPTKEY_YFINESCALE_ADJ wxT( "PlotYFineScaleAdj" )
#define OPTKEY_LAYERBASE wxT( "PlotLayer_%d" )
#define OPTKEY_PADS_ON_SILKSCREEN wxT( "PlotPadsOnSilkscreen" )
#define OPTKEY_ALWAYS_PRINT_PADS wxT( "PlotAlwaysPads" )
#define OPTKEY_OUTPUT_FORMAT wxT( "PlotOutputFormat" )
// variables locale :
static
long
s_SelectedLayers
=
CUIVRE_LAYER
|
CMP_LAYER
|
static
long
s_SelectedLayers
=
CUIVRE_LAYER
|
CMP_LAYER
|
SILKSCREEN_LAYER_CMP
|
SILKSCREEN_LAYER_CU
;
SILKSCREEN_LAYER_CMP
|
SILKSCREEN_LAYER_CU
;
static
bool
s_PlotOriginIsAuxAxis
=
FALSE
;
static
bool
s_PlotOriginIsAuxAxis
=
FALSE
;
// Routines Locales
enum
id_plotps
{
enum
id_plotps
{
ID_CLOSE_PLOT
=
8020
,
ID_DRILL_SHAPE_OPT
=
8020
,
ID_DRILL_SHAPE_OPT
,
ID_SCALE_OPT
,
ID_SCALE_OPT
,
ID_ROTATE_OPT
,
ID_ROTATE_OPT
,
ID_MIROR_OPT
,
ID_MIROR_OPT
,
...
@@ -61,8 +64,8 @@ class WinEDA_PlotFrame : public wxDialog
...
@@ -61,8 +64,8 @@ class WinEDA_PlotFrame : public wxDialog
{
{
public
:
public
:
WinEDA_BasePcbFrame
*
m_Parent
;
WinEDA_BasePcbFrame
*
m_Parent
;
wxButton
*
m_
MergePlotButton
;
wxButton
*
m_
PlotButton
;
// button with initial focus
wxCheckBox
*
m_BoxSelecLayer
[
32
];
wxCheckBox
*
m_BoxSelec
t
Layer
[
32
];
wxRadioBox
*
m_PlotFormatOpt
;
wxRadioBox
*
m_PlotFormatOpt
;
wxRadioBox
*
m_Choice_Plot_Offset
;
wxRadioBox
*
m_Choice_Plot_Offset
;
wxRadioBox
*
m_Drill_Shape_Opt
;
wxRadioBox
*
m_Drill_Shape_Opt
;
...
@@ -104,7 +107,7 @@ private:
...
@@ -104,7 +107,7 @@ private:
BEGIN_EVENT_TABLE
(
WinEDA_PlotFrame
,
wxDialog
)
BEGIN_EVENT_TABLE
(
WinEDA_PlotFrame
,
wxDialog
)
EVT_CLOSE
(
WinEDA_PlotFrame
::
OnClose
)
EVT_CLOSE
(
WinEDA_PlotFrame
::
OnClose
)
EVT_BUTTON
(
ID_CLOSE_PLOT
,
WinEDA_PlotFrame
::
OnQuit
)
EVT_BUTTON
(
wxID_CANCEL
,
WinEDA_PlotFrame
::
OnQuit
)
EVT_BUTTON
(
ID_EXEC_PLOT
,
WinEDA_PlotFrame
::
Plot
)
EVT_BUTTON
(
ID_EXEC_PLOT
,
WinEDA_PlotFrame
::
Plot
)
EVT_BUTTON
(
ID_SAVE_OPT_PLOT
,
WinEDA_PlotFrame
::
SaveOptPlot
)
EVT_BUTTON
(
ID_SAVE_OPT_PLOT
,
WinEDA_PlotFrame
::
SaveOptPlot
)
EVT_BUTTON
(
ID_CREATE_DRILL_FILE
,
WinEDA_PlotFrame
::
CreateDrillFile
)
EVT_BUTTON
(
ID_CREATE_DRILL_FILE
,
WinEDA_PlotFrame
::
CreateDrillFile
)
...
@@ -122,13 +125,15 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -122,13 +125,15 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
wxDEFAULT_DIALOG_STYLE
)
wxDEFAULT_DIALOG_STYLE
)
/********************************************************************/
/********************************************************************/
{
{
wxButton
*
Button
;
wxButton
*
button
;
int
ii
;
m_Parent
=
parent
;
m_Parent
=
parent
;
BOARD
*
board
=
parent
->
m_Pcb
;
BOARD
*
board
=
parent
->
m_Pcb
;
wxConfig
*
config
=
m_Parent
->
m_Parent
->
m_EDA_Config
;
// Current config used by application
SetFont
(
*
g_DialogFont
);
SetFont
(
*
g_DialogFont
);
Centre
();
Centre
();
...
@@ -162,29 +167,33 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -162,29 +167,33 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
m_PlotFormatOpt
=
new
wxRadioBox
(
this
,
ID_SEL_PLOT_FORMAT
,
m_PlotFormatOpt
=
new
wxRadioBox
(
this
,
ID_SEL_PLOT_FORMAT
,
_
(
"Plot Format"
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
_
(
"Plot Format"
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
4
,
fmtmsg
,
1
,
wxRA_SPECIFY_COLS
);
4
,
fmtmsg
,
1
,
wxRA_SPECIFY_COLS
);
MidRightBoxSizer
->
Add
(
m_PlotFormatOpt
,
0
,
wxGROW
|
wxALL
,
5
);
MidRightBoxSizer
->
Add
(
m_PlotFormatOpt
,
0
,
wxGROW
|
wxALL
,
5
);
switch
(
m_PlotFormat
)
if
(
config
&&
config
->
Read
(
OPTKEY_OUTPUT_FORMAT
,
&
m_PlotFormat
)
)
m_PlotFormatOpt
->
SetSelection
(
m_PlotFormat
);
else
{
{
case
PLOT_FORMAT_HPGL
:
switch
(
m_PlotFormat
)
m_PlotFormatOpt
->
SetSelection
(
0
);
{
break
;
case
PLOT_FORMAT_HPGL
:
m_PlotFormatOpt
->
SetSelection
(
0
);
case
PLOT_FORMAT_GERBER
:
break
;
m_PlotFormatOpt
->
SetSelection
(
1
);
break
;
case
PLOT_FORMAT_GERBER
:
m_PlotFormatOpt
->
SetSelection
(
1
);
default
:
// ( PLOT_FORMAT_POST or PLOT_FORMAT_POST_A4 )
break
;
// As m_PlotFormat is never set to a value of PLOT_FORMAT_POST_A4,
// use the value of g_ForcePlotPS_On_A4 to determine whether the
default
:
// ( PLOT_FORMAT_POST or PLOT_FORMAT_POST_A4 )
// "Postscript" or "Postscipt A4" radiobutton had been selected
// As m_PlotFormat is never set to a value of PLOT_FORMAT_POST_A4,
// previously (and thus which button should be reselected now).
// use the value of g_ForcePlotPS_On_A4 to determine whether the
if
(
g_ForcePlotPS_On_A4
)
// "Postscript" or "Postscipt A4" radiobutton had been selected
m_PlotFormatOpt
->
SetSelection
(
3
);
// previously (and thus which button should be reselected now).
else
if
(
g_ForcePlotPS_On_A4
)
m_PlotFormatOpt
->
SetSelection
(
2
);
m_PlotFormatOpt
->
SetSelection
(
3
);
break
;
else
m_PlotFormatOpt
->
SetSelection
(
2
);
break
;
}
}
}
// Creation des menus d'option du format GERBER
// Creation des menus d'option du format GERBER
...
@@ -193,35 +202,35 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -193,35 +202,35 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
UNITS_MILS
);
UNITS_MILS
);
// Creation des menus d'option du format HPGL
// Creation des menus d'option du format HPGL
m_HPGLPenSizeOpt
=
new
WinEDA_ValueCtrl
(
this
,
_
(
"Pen
S
ize"
),
m_HPGLPenSizeOpt
=
new
WinEDA_ValueCtrl
(
this
,
_
(
"Pen
s
ize"
),
g_HPGL_Pen_Diam
,
g_UnitMetric
,
MidRightBoxSizer
,
g_HPGL_Pen_Diam
,
g_UnitMetric
,
MidRightBoxSizer
,
UNITS_MILS
);
UNITS_MILS
);
// unites standards = cm pour vitesse plume en HPGL
// unites standards = cm pour vitesse plume en HPGL
m_HPGLPenSpeedOpt
=
new
WinEDA_ValueCtrl
(
this
,
_
(
"Pen
S
peed (cm/s)"
),
m_HPGLPenSpeedOpt
=
new
WinEDA_ValueCtrl
(
this
,
_
(
"Pen
s
peed (cm/s)"
),
g_HPGL_Pen_Speed
,
CENTIMETRE
,
MidRightBoxSizer
,
g_HPGL_Pen_Speed
,
CENTIMETRE
,
MidRightBoxSizer
,
1
);
1
);
m_HPGLPenSpeedOpt
->
SetToolTip
(
_
(
"Set pen speed in cm/s"
)
);
m_HPGLPenSpeedOpt
->
SetToolTip
(
_
(
"Set pen speed in cm/s"
)
);
m_HPGLPenOverlayOpt
=
new
WinEDA_ValueCtrl
(
this
,
_
(
"Pen
O
vr"
),
m_HPGLPenOverlayOpt
=
new
WinEDA_ValueCtrl
(
this
,
_
(
"Pen
o
vr"
),
g_HPGL_Pen_Recouvrement
,
g_UnitMetric
,
g_HPGL_Pen_Recouvrement
,
g_UnitMetric
,
MidRightBoxSizer
,
UNITS_MILS
);
MidRightBoxSizer
,
UNITS_MILS
);
m_HPGLPenOverlayOpt
->
SetToolTip
(
_
(
"Set plot overlay for filling"
)
);
m_HPGLPenOverlayOpt
->
SetToolTip
(
_
(
"Set plot overlay for filling"
)
);
m_LinesWidth
=
new
WinEDA_ValueCtrl
(
this
,
_
(
"Lines
W
idth"
),
m_LinesWidth
=
new
WinEDA_ValueCtrl
(
this
,
_
(
"Lines
w
idth"
),
g_PlotLine_Width
,
g_UnitMetric
,
MidRightBoxSizer
,
g_PlotLine_Width
,
g_UnitMetric
,
MidRightBoxSizer
,
PCB_INTERNAL_UNIT
);
PCB_INTERNAL_UNIT
);
m_LinesWidth
->
SetToolTip
(
_
(
"Set width for lines in
L
ine plot mode"
)
);
m_LinesWidth
->
SetToolTip
(
_
(
"Set width for lines in
l
ine plot mode"
)
);
// Create the right column commands
// Create the right column commands
static
const
wxString
choice_plot_offset_msg
[]
=
static
const
wxString
choice_plot_offset_msg
[]
=
{
_
(
"Absolute"
),
_
(
"Auxiliary axis"
)
};
{
_
(
"Absolute"
),
_
(
"Auxiliary axis"
)
};
m_Choice_Plot_Offset
=
new
wxRadioBox
(
this
,
ID_SEL_PLOT_OFFSET_OPTION
,
m_Choice_Plot_Offset
=
new
wxRadioBox
(
this
,
ID_SEL_PLOT_OFFSET_OPTION
,
_
(
"Plot
O
rigin"
),
_
(
"Plot
o
rigin"
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
2
,
choice_plot_offset_msg
,
1
,
wxRA_SPECIFY_COLS
);
2
,
choice_plot_offset_msg
,
1
,
wxRA_SPECIFY_COLS
);
...
@@ -231,87 +240,98 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -231,87 +240,98 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
/* Add a spacer for a better look */
/* Add a spacer for a better look */
RightBoxSizer
->
Add
(
5
,
5
,
0
,
wxALIGN_CENTER_HORIZONTAL
|
wxALL
,
20
);
RightBoxSizer
->
Add
(
5
,
5
,
0
,
wxALIGN_CENTER_HORIZONTAL
|
wxALL
,
20
);
/* Create the command buttons */
Button
=
new
wxButton
(
this
,
ID_EXEC_PLOT
,
_
(
"Plot"
)
);
Button
->
SetForegroundColour
(
*
wxRED
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
Button
=
new
wxButton
(
this
,
ID_CLOSE_PLOT
,
_
(
"Close"
)
);
Button
->
SetForegroundColour
(
*
wxBLUE
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
Button
=
new
wxButton
(
this
,
ID_SAVE_OPT_PLOT
,
_
(
"Save options"
)
);
Button
->
SetForegroundColour
(
wxColour
(
0
,
80
,
0
)
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
Button
=
new
wxButton
(
this
,
ID_CREATE_DRILL_FILE
,
_
(
"Create Drill File"
)
);
Button
->
SetForegroundColour
(
wxColour
(
0
,
80
,
80
)
);
RightBoxSizer
->
Add
(
Button
,
0
,
wxGROW
|
wxALL
,
5
);
// Create scale adjust option
// Create scale adjust option
m_XScaleAdjust
=
m_YScaleAdjust
=
1.0
;
m_XScaleAdjust
=
m_YScaleAdjust
=
1.0
;
if
(
m_Parent
->
m_Parent
->
m_EDA_C
onfig
)
if
(
c
onfig
)
{
{
m_Parent
->
m_Parent
->
m_EDA_Config
->
Read
(
EDGELAYER_GERBER_OPT_KEY
,
&
g_Exclude_Edges_Pcb
);
config
->
Read
(
OPTKEY_EDGELAYER_GERBER
,
&
g_Exclude_Edges_Pcb
);
m_Parent
->
m_Parent
->
m_EDA_Config
->
Read
(
PLOT_XFINESCALE_ADJ_KEY
,
&
m_XScaleAdjust
);
config
->
Read
(
OPTKEY_XFINESCALE_ADJ
,
&
m_XScaleAdjust
);
m_Parent
->
m_Parent
->
m_EDA_Config
->
Read
(
PLOT_XFINESCALE_ADJ_KEY
,
&
m_YScaleAdjust
);
config
->
Read
(
OPTKEY_XFINESCALE_ADJ
,
&
m_YScaleAdjust
);
}
}
m_FineAdjustXscaleOpt
=
new
WinEDA_DFloatValueCtrl
(
this
,
_
(
"X Scale Adjust"
),
m_XScaleAdjust
,
RightBoxSizer
);
m_FineAdjustXscaleOpt
=
new
WinEDA_DFloatValueCtrl
(
this
,
_
(
"X scale adjust"
),
m_XScaleAdjust
,
RightBoxSizer
);
m_FineAdjustXscaleOpt
->
SetToolTip
(
_
(
"Set X scale adjust for exact scale plotting"
)
);
m_FineAdjustXscaleOpt
->
SetToolTip
(
_
(
"Set X scale adjust for exact scale plotting"
)
);
m_FineAdjustYscaleOpt
=
new
WinEDA_DFloatValueCtrl
(
this
,
_
(
"Y Scale Adjust"
),
m_YScaleAdjust
,
RightBoxSizer
);
m_FineAdjustYscaleOpt
=
new
WinEDA_DFloatValueCtrl
(
this
,
_
(
"Y scale adjust"
),
m_YScaleAdjust
,
RightBoxSizer
);
m_FineAdjustYscaleOpt
->
SetToolTip
(
_
(
"Set Y scale adjust for exact scale plotting"
)
);
m_FineAdjustYscaleOpt
->
SetToolTip
(
_
(
"Set Y scale adjust for exact scale plotting"
)
);
m_Plot_PS_Negative
=
new
wxCheckBox
(
this
,
-
1
,
_
(
"Plot Negative"
)
);
m_Plot_PS_Negative
=
new
wxCheckBox
(
this
,
-
1
,
_
(
"Plot negative"
)
);
m_Plot_PS_Negative
->
SetValue
(
g_Plot_PS_Negative
);
m_Plot_PS_Negative
->
SetValue
(
g_Plot_PS_Negative
);
RightBoxSizer
->
Add
(
m_Plot_PS_Negative
,
0
,
wxGROW
|
wxALL
,
5
);
RightBoxSizer
->
Add
(
m_Plot_PS_Negative
,
0
,
wxGROW
|
wxALL
,
5
);
// Creation de la liste des layers
int
mask
=
1
;
wxBoxSizer
*
OneColonLayerBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
LayersBoxSizer
->
Add
(
OneColonLayerBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
/* Create the command buttons */
m_PlotButton
=
new
wxButton
(
this
,
ID_EXEC_PLOT
,
_
(
"Plot"
)
);
m_PlotButton
->
SetForegroundColour
(
*
wxRED
);
RightBoxSizer
->
Add
(
m_PlotButton
,
0
,
wxGROW
|
wxALL
,
5
);
button
=
new
wxButton
(
this
,
ID_SAVE_OPT_PLOT
,
_
(
"Save Options"
)
);
button
->
SetForegroundColour
(
wxColour
(
0
,
80
,
0
)
);
RightBoxSizer
->
Add
(
button
,
0
,
wxGROW
|
wxALL
,
5
);
button
=
new
wxButton
(
this
,
ID_CREATE_DRILL_FILE
,
_
(
"Create Drill File"
)
);
button
->
SetForegroundColour
(
wxColour
(
0
,
80
,
80
)
);
RightBoxSizer
->
Add
(
button
,
0
,
wxGROW
|
wxALL
,
5
);
button
=
new
wxButton
(
this
,
wxID_CANCEL
,
_
(
"Close"
)
);
button
->
SetForegroundColour
(
*
wxBLUE
);
RightBoxSizer
->
Add
(
button
,
0
,
wxGROW
|
wxALL
,
5
);
// Creation de la liste des layers
wxBoxSizer
*
OneColumnLayerBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
LayersBoxSizer
->
Add
(
OneColumnLayerBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
for
(
ii
=
0
;
ii
<
NB_LAYERS
;
ii
++
,
mask
<<=
1
)
int
mask
=
1
;
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
layer
++
,
mask
<<=
1
)
{
{
if
(
ii
==
16
)
if
(
layer
==
16
)
{
{
OneColonLayerBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
OneColumnLayerBoxSizer
=
new
wxBoxSizer
(
wxVERTICAL
);
LayersBoxSizer
->
Add
(
OneColumnLayerBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
LayersBoxSizer
->
Add
(
OneColonLayerBoxSizer
,
0
,
wxGROW
|
wxALL
,
5
);
}
}
m_BoxSelec
Layer
[
ii
]
=
new
wxCheckBox
(
this
,
-
1
,
board
->
GetLayerName
(
ii
)
);
m_BoxSelec
tLayer
[
layer
]
=
new
wxCheckBox
(
this
,
-
1
,
board
->
GetLayerName
(
layer
)
);
if
(
mask
&
s_SelectedLayers
)
if
(
mask
&
s_SelectedLayers
)
m_BoxSelecLayer
[
ii
]
->
SetValue
(
true
);
m_BoxSelectLayer
[
layer
]
->
SetValue
(
true
);
OneColonLayerBoxSizer
->
Add
(
m_BoxSelecLayer
[
ii
],
0
,
wxGROW
|
wxALL
,
1
);
OneColumnLayerBoxSizer
->
Add
(
m_BoxSelectLayer
[
layer
],
0
,
wxGROW
|
wxALL
,
1
);
}
if
(
config
)
{
wxString
layerKey
;
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
++
layer
)
{
bool
option
;
layerKey
.
Printf
(
OPTKEY_LAYERBASE
,
layer
);
if
(
config
->
Read
(
layerKey
,
&
option
)
)
m_BoxSelectLayer
[
layer
]
->
SetValue
(
option
);
}
}
}
// Option for excluding contents of "Edges Pcb" layer
// Option for excluding contents of "Edges Pcb" layer
m_Exclude_Edges_Pcb
=
new
wxCheckBox
(
this
,
m_Exclude_Edges_Pcb
=
new
wxCheckBox
(
this
,
ID_EXCLUDE_EDGES_PCB
,
_
(
"Exclude Edges
Pcb L
ayer"
)
);
ID_EXCLUDE_EDGES_PCB
,
_
(
"Exclude Edges
_Pcb l
ayer"
)
);
m_Exclude_Edges_Pcb
->
SetValue
(
g_Exclude_Edges_Pcb
);
m_Exclude_Edges_Pcb
->
SetValue
(
g_Exclude_Edges_Pcb
);
m_Exclude_Edges_Pcb
->
SetToolTip
(
m_Exclude_Edges_Pcb
->
SetToolTip
(
_
(
"Exclude contents of Edges
Pcb layer from all other layers"
)
);
_
(
"Exclude contents of Edges
_
Pcb layer from all other layers"
)
);
LeftBoxSizer
->
Add
(
m_Exclude_Edges_Pcb
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Exclude_Edges_Pcb
,
0
,
wxGROW
|
wxALL
,
1
);
// Option d'impression du cartouche:
// Option d'impression du cartouche:
if
(
m_Parent
->
m_Print_Sheet_Ref
)
if
(
m_Parent
->
m_Print_Sheet_Ref
)
{
{
m_Plot_Sheet_Ref
=
new
wxCheckBox
(
this
,
ID_PRINT_REF
,
_
(
"Print
Sheet R
ef"
)
);
m_Plot_Sheet_Ref
=
new
wxCheckBox
(
this
,
ID_PRINT_REF
,
_
(
"Print
sheet r
ef"
)
);
m_Plot_Sheet_Ref
->
SetValue
(
Plot_Sheet_Ref
);
m_Plot_Sheet_Ref
->
SetValue
(
Plot_Sheet_Ref
);
LeftBoxSizer
->
Add
(
m_Plot_Sheet_Ref
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Sheet_Ref
,
0
,
wxGROW
|
wxALL
,
1
);
...
@@ -320,56 +340,57 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -320,56 +340,57 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
Plot_Sheet_Ref
=
false
;
Plot_Sheet_Ref
=
false
;
// Option d'impression des pads sur toutes les couches
// Option d'impression des pads sur toutes les couches
m_Plot_Pads_on_Silkscreen
=
new
wxCheckBox
(
this
,
m_Plot_Pads_on_Silkscreen
=
new
wxCheckBox
(
this
,
ID_PRINT_PAD_ON_SILKSCREEN
,
ID_PRINT_PAD_ON_SILKSCREEN
,
_
(
_
(
"Print pads on silkscreen"
)
);
"Print Pads on Silkscreen"
)
);
if
(
config
)
config
->
Read
(
OPTKEY_PADS_ON_SILKSCREEN
,
&
PlotPadsOnSilkLayer
);
m_Plot_Pads_on_Silkscreen
->
SetValue
(
PlotPadsOnSilkLayer
);
m_Plot_Pads_on_Silkscreen
->
SetValue
(
PlotPadsOnSilkLayer
);
m_Plot_Pads_on_Silkscreen
->
SetToolTip
(
m_Plot_Pads_on_Silkscreen
->
SetToolTip
(
_
(
"Enable/disable print/plot pads on
S
ilkscreen layers"
)
);
_
(
"Enable/disable print/plot pads on
s
ilkscreen layers"
)
);
LeftBoxSizer
->
Add
(
m_Plot_Pads_on_Silkscreen
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Pads_on_Silkscreen
,
0
,
wxGROW
|
wxALL
,
1
);
m_Force_Plot_Pads
=
new
wxCheckBox
(
this
,
ID_FORCE_PRINT_PAD
,
m_Force_Plot_Pads
=
new
wxCheckBox
(
this
,
ID_FORCE_PRINT_PAD
,
_
(
"Always Print Pads"
)
);
_
(
"Always print pads"
)
);
if
(
config
)
config
->
Read
(
OPTKEY_ALWAYS_PRINT_PADS
,
&
Plot_Pads_All_Layers
);
m_Force_Plot_Pads
->
SetValue
(
Plot_Pads_All_Layers
);
m_Force_Plot_Pads
->
SetValue
(
Plot_Pads_All_Layers
);
m_Force_Plot_Pads
->
SetToolTip
(
_
(
"Force print/plot pads on ALL layers"
)
);
m_Force_Plot_Pads
->
SetToolTip
(
_
(
"Force print/plot pads on ALL layers"
)
);
LeftBoxSizer
->
Add
(
m_Force_Plot_Pads
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Force_Plot_Pads
,
0
,
wxGROW
|
wxALL
,
1
);
// Options d'impression des textes modules
// Options d'impression des textes modules
m_Plot_Text_Value
=
new
wxCheckBox
(
this
,
ID_PRINT_VALUE
,
_
(
"Print
Module V
alue"
)
);
m_Plot_Text_Value
=
new
wxCheckBox
(
this
,
ID_PRINT_VALUE
,
_
(
"Print
module v
alue"
)
);
m_Plot_Text_Value
->
SetValue
(
Sel_Texte_Valeur
);
m_Plot_Text_Value
->
SetValue
(
Sel_Texte_Valeur
);
m_Plot_Text_Value
->
SetToolTip
(
m_Plot_Text_Value
->
SetToolTip
(
_
(
"Enable/disable print/plot module value on
S
ilkscreen layers"
)
);
_
(
"Enable/disable print/plot module value on
s
ilkscreen layers"
)
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Value
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Value
,
0
,
wxGROW
|
wxALL
,
1
);
m_Plot_Text_Ref
=
new
wxCheckBox
(
this
,
ID_PRINT_REF
,
_
(
"Print
Module R
eference"
)
);
m_Plot_Text_Ref
=
new
wxCheckBox
(
this
,
ID_PRINT_REF
,
_
(
"Print
module r
eference"
)
);
m_Plot_Text_Ref
->
SetValue
(
Sel_Texte_Reference
);
m_Plot_Text_Ref
->
SetValue
(
Sel_Texte_Reference
);
m_Plot_Text_Ref
->
SetToolTip
(
m_Plot_Text_Ref
->
SetToolTip
(
_
(
"Enable/disable print/plot module reference on
S
ilkscreen layers"
)
);
_
(
"Enable/disable print/plot module reference on
s
ilkscreen layers"
)
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Ref
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Ref
,
0
,
wxGROW
|
wxALL
,
1
);
m_Plot_Text_Div
=
new
wxCheckBox
(
this
,
ID_PRINT_MODULE_TEXTS
,
m_Plot_Text_Div
=
new
wxCheckBox
(
this
,
ID_PRINT_MODULE_TEXTS
,
_
(
"Print other
M
odule texts"
)
);
_
(
"Print other
m
odule texts"
)
);
m_Plot_Text_Div
->
SetValue
(
Sel_Texte_Divers
);
m_Plot_Text_Div
->
SetValue
(
Sel_Texte_Divers
);
m_Plot_Text_Div
->
SetToolTip
(
m_Plot_Text_Div
->
SetToolTip
(
_
(
"Enable/disable print/plot module field texts on
S
ilkscreen layers"
)
);
_
(
"Enable/disable print/plot module field texts on
s
ilkscreen layers"
)
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Div
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Text_Div
,
0
,
wxGROW
|
wxALL
,
1
);
m_Plot_Invisible_Text
=
new
wxCheckBox
(
this
,
m_Plot_Invisible_Text
=
new
wxCheckBox
(
this
,
ID_FORCE_PRINT_INVISIBLE_TEXT
,
_
(
ID_FORCE_PRINT_INVISIBLE_TEXT
,
_
(
"Force
Print Invisible T
exts"
)
);
"Force
print invisible t
exts"
)
);
m_Plot_Invisible_Text
->
SetValue
(
Sel_Texte_Invisible
);
m_Plot_Invisible_Text
->
SetValue
(
Sel_Texte_Invisible
);
m_Plot_Invisible_Text
->
SetToolTip
(
m_Plot_Invisible_Text
->
SetToolTip
(
_
(
"Force print/plot module invisible texts on
S
ilkscreen layers"
)
);
_
(
"Force print/plot module invisible texts on
s
ilkscreen layers"
)
);
LeftBoxSizer
->
Add
(
m_Plot_Invisible_Text
,
0
,
wxGROW
|
wxALL
,
1
);
LeftBoxSizer
->
Add
(
m_Plot_Invisible_Text
,
0
,
wxGROW
|
wxALL
,
1
);
static
const
wxString
drillmsg
[
3
]
=
{
_
(
"No
Drill mark"
),
_
(
"Small mark"
),
_
(
"Real D
rill"
)
};
static
const
wxString
drillmsg
[
3
]
=
{
_
(
"No
drill mark"
),
_
(
"Small mark"
),
_
(
"Real d
rill"
)
};
m_Drill_Shape_Opt
=
new
wxRadioBox
(
this
,
ID_DRILL_SHAPE_OPT
,
m_Drill_Shape_Opt
=
new
wxRadioBox
(
this
,
ID_DRILL_SHAPE_OPT
,
_
(
"Pads Drill Opt"
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
_
(
"Pads Drill Opt"
),
wxDefaultPosition
,
wxSize
(
-
1
,
-
1
),
3
,
drillmsg
,
1
,
wxRA_SPECIFY_COLS
);
3
,
drillmsg
,
1
,
wxRA_SPECIFY_COLS
);
...
@@ -388,6 +409,7 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -388,6 +409,7 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
MidLeftBoxSizer
->
Add
(
m_Scale_Opt
,
0
,
wxGROW
|
wxALL
,
5
);
MidLeftBoxSizer
->
Add
(
m_Scale_Opt
,
0
,
wxGROW
|
wxALL
,
5
);
static
const
wxString
list_opt3
[
3
]
=
{
_
(
"Line"
),
_
(
"Filled"
),
_
(
"Sketch"
)
};
static
const
wxString
list_opt3
[
3
]
=
{
_
(
"Line"
),
_
(
"Filled"
),
_
(
"Sketch"
)
};
m_PlotModeOpt
=
new
wxRadioBox
(
this
,
ID_PLOT_MODE_OPT
,
_
(
"Plot Mode"
),
m_PlotModeOpt
=
new
wxRadioBox
(
this
,
ID_PLOT_MODE_OPT
,
_
(
"Plot Mode"
),
wxDefaultPosition
,
wxDefaultSize
,
wxDefaultPosition
,
wxDefaultSize
,
3
,
list_opt3
,
1
);
3
,
list_opt3
,
1
);
...
@@ -396,13 +418,13 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -396,13 +418,13 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
MidLeftBoxSizer
->
Add
(
m_PlotModeOpt
,
0
,
wxGROW
|
wxALL
,
5
);
MidLeftBoxSizer
->
Add
(
m_PlotModeOpt
,
0
,
wxGROW
|
wxALL
,
5
);
m_PlotMirorOpt
=
new
wxCheckBox
(
this
,
ID_MIROR_OPT
,
m_PlotMirorOpt
=
new
wxCheckBox
(
this
,
ID_MIROR_OPT
,
_
(
"Plot
M
irror"
)
);
_
(
"Plot
m
irror"
)
);
m_PlotMirorOpt
->
SetValue
(
Plot_Set_MIROIR
);
m_PlotMirorOpt
->
SetValue
(
Plot_Set_MIROIR
);
MidLeftBoxSizer
->
Add
(
m_PlotMirorOpt
,
0
,
wxGROW
|
wxALL
,
5
);
MidLeftBoxSizer
->
Add
(
m_PlotMirorOpt
,
0
,
wxGROW
|
wxALL
,
5
);
m_PlotNoViaOnMaskOpt
=
new
wxCheckBox
(
this
,
ID_MASKVIA_OPT
,
m_PlotNoViaOnMaskOpt
=
new
wxCheckBox
(
this
,
ID_MASKVIA_OPT
,
_
(
"Vias on
M
ask"
)
);
_
(
"Vias on
m
ask"
)
);
m_PlotNoViaOnMaskOpt
->
SetValue
(
g_DrawViaOnMaskLayer
);
m_PlotNoViaOnMaskOpt
->
SetValue
(
g_DrawViaOnMaskLayer
);
m_PlotNoViaOnMaskOpt
->
SetToolTip
(
m_PlotNoViaOnMaskOpt
->
SetToolTip
(
...
@@ -422,6 +444,9 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
...
@@ -422,6 +444,9 @@ WinEDA_PlotFrame::WinEDA_PlotFrame( WinEDA_BasePcbFrame* parent ) :
GetSizer
()
->
Fit
(
this
);
GetSizer
()
->
Fit
(
this
);
GetSizer
()
->
SetSizeHints
(
this
);
GetSizer
()
->
SetSizeHints
(
this
);
// without this line, the ESC key does not work
m_PlotButton
->
SetFocus
();
}
}
...
@@ -582,11 +607,24 @@ void WinEDA_PlotFrame::SaveOptPlot( wxCommandEvent& event )
...
@@ -582,11 +607,24 @@ void WinEDA_PlotFrame::SaveOptPlot( wxCommandEvent& event )
m_XScaleAdjust
=
m_FineAdjustXscaleOpt
->
GetValue
();
m_XScaleAdjust
=
m_FineAdjustXscaleOpt
->
GetValue
();
m_YScaleAdjust
=
m_FineAdjustYscaleOpt
->
GetValue
();
m_YScaleAdjust
=
m_FineAdjustYscaleOpt
->
GetValue
();
if
(
m_Parent
->
m_Parent
->
m_EDA_Config
)
wxConfig
*
config
=
m_Parent
->
m_Parent
->
m_EDA_Config
;
if
(
config
)
{
{
m_Parent
->
m_Parent
->
m_EDA_Config
->
Write
(
EDGELAYER_GERBER_OPT_KEY
,
g_Exclude_Edges_Pcb
);
config
->
Write
(
OPTKEY_EDGELAYER_GERBER
,
g_Exclude_Edges_Pcb
);
m_Parent
->
m_Parent
->
m_EDA_Config
->
Write
(
PLOT_XFINESCALE_ADJ_KEY
,
m_XScaleAdjust
);
config
->
Write
(
OPTKEY_XFINESCALE_ADJ
,
m_XScaleAdjust
);
m_Parent
->
m_Parent
->
m_EDA_Config
->
Write
(
PLOT_YFINESCALE_ADJ_KEY
,
m_YScaleAdjust
);
config
->
Write
(
OPTKEY_YFINESCALE_ADJ
,
m_YScaleAdjust
);
config
->
Write
(
OPTKEY_PADS_ON_SILKSCREEN
,
PlotPadsOnSilkLayer
);
config
->
Write
(
OPTKEY_ALWAYS_PRINT_PADS
,
Plot_Pads_All_Layers
);
m_PlotFormat
=
m_PlotFormatOpt
->
GetSelection
();
config
->
Write
(
OPTKEY_OUTPUT_FORMAT
,
m_PlotFormat
);
wxString
layerKey
;
for
(
int
layer
=
0
;
layer
<
NB_LAYERS
;
++
layer
)
{
layerKey
.
Printf
(
OPTKEY_LAYERBASE
,
layer
);
config
->
Write
(
layerKey
,
m_BoxSelectLayer
[
layer
]
->
IsChecked
()
);
}
}
}
g_Plot_PS_Negative
=
m_Plot_PS_Negative
->
GetValue
();
g_Plot_PS_Negative
=
m_Plot_PS_Negative
->
GetValue
();
...
@@ -650,7 +688,7 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
...
@@ -650,7 +688,7 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
for
(
layer_to_plot
=
0
;
layer_to_plot
<
NB_LAYERS
;
layer_to_plot
++
,
mask
<<=
1
)
for
(
layer_to_plot
=
0
;
layer_to_plot
<
NB_LAYERS
;
layer_to_plot
++
,
mask
<<=
1
)
{
{
if
(
m_BoxSelecLayer
[
layer_to_plot
]
->
GetValue
()
)
if
(
m_BoxSelec
t
Layer
[
layer_to_plot
]
->
GetValue
()
)
{
{
s_SelectedLayers
|=
mask
;
s_SelectedLayers
|=
mask
;
...
@@ -674,7 +712,7 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
...
@@ -674,7 +712,7 @@ void WinEDA_PlotFrame::Plot( wxCommandEvent& event )
}
}
}
}
//
Close(true);
//
Close(true);
}
}
...
@@ -684,5 +722,6 @@ void WinEDA_BasePcbFrame::ToPlotter( wxCommandEvent& event )
...
@@ -684,5 +722,6 @@ void WinEDA_BasePcbFrame::ToPlotter( wxCommandEvent& event )
{
{
WinEDA_PlotFrame
*
frame
=
new
WinEDA_PlotFrame
(
this
);
WinEDA_PlotFrame
*
frame
=
new
WinEDA_PlotFrame
(
this
);
frame
->
ShowModal
();
frame
->
Destroy
();
frame
->
ShowModal
();
frame
->
Destroy
();
}
}
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