diff --git a/pcbnew/dialogs/dialog_plot.cpp b/pcbnew/dialogs/dialog_plot.cpp
index c5650a74fb..c4a1ae61c0 100644
--- a/pcbnew/dialogs/dialog_plot.cpp
+++ b/pcbnew/dialogs/dialog_plot.cpp
@@ -177,14 +177,14 @@ void DIALOG_PLOT::init_Dialog()
// Option for excluding contents of "Edges Pcb" layer
m_excludeEdgeLayerOpt->SetValue( m_plotOpts.GetExcludeEdgeLayer() );
+ // Option to exclude pads from silkscreen layers
+ m_excludePadsFromSilkscreen->SetValue( !m_plotOpts.GetPlotPadsOnSilkLayer() );
+
m_subtractMaskFromSilk->SetValue( m_plotOpts.GetSubtractMaskFromSilk() );
// Option to plot page references:
m_plotSheetRef->SetValue( m_plotOpts.GetPlotFrameRef() );
- // Option to allow pads on silkscreen layers
- m_plotPads_on_Silkscreen->SetValue( m_plotOpts.GetPlotPadsOnSilkLayer() );
-
// Options to plot texts on footprints
m_plotModuleValueOpt->SetValue( m_plotOpts.GetPlotValue() );
m_plotModuleRefOpt->SetValue( m_plotOpts.GetPlotReference() );
@@ -588,7 +588,7 @@ void DIALOG_PLOT::applyPlotSettings()
tempOptions.SetExcludeEdgeLayer( m_excludeEdgeLayerOpt->GetValue() );
tempOptions.SetSubtractMaskFromSilk( m_subtractMaskFromSilk->GetValue() );
tempOptions.SetPlotFrameRef( m_plotSheetRef->GetValue() );
- tempOptions.SetPlotPadsOnSilkLayer( m_plotPads_on_Silkscreen->GetValue() );
+ tempOptions.SetPlotPadsOnSilkLayer( !m_excludePadsFromSilkscreen->GetValue() );
tempOptions.SetUseAuxOrigin( m_useAuxOriginCheckBox->GetValue() );
tempOptions.SetPlotValue( m_plotModuleValueOpt->GetValue() );
tempOptions.SetPlotReference( m_plotModuleRefOpt->GetValue() );
diff --git a/pcbnew/dialogs/dialog_plot_base.cpp b/pcbnew/dialogs/dialog_plot_base.cpp
index b6e2e2ccac..570066acca 100644
--- a/pcbnew/dialogs/dialog_plot_base.cpp
+++ b/pcbnew/dialogs/dialog_plot_base.cpp
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Nov 22 2017)
+// C++ code generated with wxFormBuilder (version Dec 30 2017)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
@@ -61,7 +61,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
bupperSizer->Add( bSizerOutDir, 1, 0, 5 );
- m_MainSizer->Add( bupperSizer, 0, wxEXPAND, 5 );
+ m_MainSizer->Add( bupperSizer, 0, wxALL|wxEXPAND, 5 );
wxBoxSizer* bmiddleSizer;
bmiddleSizer = new wxBoxSizer( wxHORIZONTAL );
@@ -91,11 +91,6 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
m_plotSheetRef = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot sheet reference on all layers"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerPlotItems->Add( m_plotSheetRef, 0, wxTOP|wxRIGHT|wxLEFT, 2 );
- m_plotPads_on_Silkscreen = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_ALLOW_PRINT_PAD_ON_SILKSCREEN, _("Plot pads on silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
- m_plotPads_on_Silkscreen->SetToolTip( _("Enable plotting of pads on silkscreen layers\nWhen disabled, pads are never plotted on silkscreen layers\nWhen enabled, pads are plotted only if they appear on silkscreen layers") );
-
- bSizerPlotItems->Add( m_plotPads_on_Silkscreen, 0, wxALL, 2 );
-
m_plotModuleValueOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot footprint values"), wxDefaultPosition, wxDefaultSize, 0 );
m_plotModuleValueOpt->SetValue(true);
bSizerPlotItems->Add( m_plotModuleValueOpt, 0, wxTOP|wxRIGHT|wxLEFT, 2 );
@@ -115,10 +110,15 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
bSizerPlotItems->Add( m_plotNoViaOnMaskOpt, 0, wxTOP|wxRIGHT|wxLEFT, 2 );
m_excludeEdgeLayerOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Exclude PCB edge layer from other layers"), wxDefaultPosition, wxDefaultSize, 0 );
- m_excludeEdgeLayerOpt->SetToolTip( _("Exclude contents of the pcb edge layer from all other layers") );
+ m_excludeEdgeLayerOpt->SetToolTip( _("Do not plot the contents of the PCB edge layer on any other layers.") );
bSizerPlotItems->Add( m_excludeEdgeLayerOpt, 0, wxALL, 2 );
+ m_excludePadsFromSilkscreen = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_ALLOW_PRINT_PAD_ON_SILKSCREEN, _("Exclude pads from silkscreen"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_excludePadsFromSilkscreen->SetToolTip( _("Do not plot pads on silkscreen layers, even when they are assigned to them.\nUncheck this if you wish to create assembly drawings from silkscreen layers.") );
+
+ bSizerPlotItems->Add( m_excludePadsFromSilkscreen, 0, wxALL, 2 );
+
m_plotMirrorOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_MIROR_OPT, _("Mirrored plot"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerPlotItems->Add( m_plotMirrorOpt, 0, wxALL, 2 );
@@ -361,7 +361,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
bmiddleSizer->Add( m_PlotOptionsSizer, 0, 0, 5 );
- m_MainSizer->Add( bmiddleSizer, 0, wxEXPAND, 5 );
+ m_MainSizer->Add( bmiddleSizer, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 );
wxBoxSizer* sbSizerMsg;
sbSizerMsg = new wxBoxSizer( wxVERTICAL );
@@ -394,7 +394,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr
bSizerButtons->Add( m_buttonQuit, 0, wxALL, 5 );
- m_MainSizer->Add( bSizerButtons, 0, wxALIGN_RIGHT|wxRIGHT|wxLEFT, 5 );
+ m_MainSizer->Add( bSizerButtons, 0, wxALIGN_RIGHT|wxBOTTOM|wxLEFT|wxRIGHT, 5 );
this->SetSizer( m_MainSizer );
diff --git a/pcbnew/dialogs/dialog_plot_base.fbp b/pcbnew/dialogs/dialog_plot_base.fbp
index 23b7120033..930605b854 100644
--- a/pcbnew/dialogs/dialog_plot_base.fbp
+++ b/pcbnew/dialogs/dialog_plot_base.fbp
@@ -95,7 +95,7 @@
protected
-
+
5
1
-
+
bSizerOutDir
wxVERTICAL
@@ -376,11 +376,11 @@
-
+
5
wxEXPAND
1
-
+
bSizer29
wxHORIZONTAL
@@ -572,7 +572,7 @@
5
- wxEXPAND
+ wxEXPAND|wxLEFT|wxRIGHT
0
@@ -811,94 +811,6 @@
-
- 2
- wxALL
- 0
-
- 1
- 1
- 1
- 1
-
-
-
-
-
-
-
- 1
- 0
- 0
- 1
-
- 1
- 0
- Dock
- 0
- Left
- 1
-
- 1
-
- 0
- 0
- ID_ALLOW_PRINT_PAD_ON_SILKSCREEN
- Plot pads on silkscreen
-
- 0
-
-
- 0
-
- 1
- m_plotPads_on_Silkscreen
- 1
-
-
- protected
- 1
-
- Resizable
- 1
-
-
-
- 0
- Enable plotting of pads on silkscreen layers
When disabled, pads are never plotted on silkscreen layers
When enabled, pads are plotted only if they appear on silkscreen layers
-
- wxFILTER_NONE
- wxDefaultValidator
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
2
wxTOP|wxRIGHT|wxLEFT
@@ -1305,7 +1217,95 @@
0
- Exclude contents of the pcb edge layer from all other layers
+ Do not plot the contents of the PCB edge layer on any other layers.
+
+ wxFILTER_NONE
+ wxDefaultValidator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2
+ wxALL
+ 0
+
+ 1
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+
+ 1
+ 0
+ Dock
+ 0
+ Left
+ 1
+
+ 1
+
+ 0
+ 0
+ ID_ALLOW_PRINT_PAD_ON_SILKSCREEN
+ Exclude pads from silkscreen
+
+ 0
+
+
+ 0
+
+ 1
+ m_excludePadsFromSilkscreen
+ 1
+
+
+ protected
+ 1
+
+ Resizable
+ 1
+
+
+
+ 0
+ Do not plot pads on silkscreen layers, even when they are assigned to them.
Uncheck this if you wish to create assembly drawings from silkscreen layers.
wxFILTER_NONE
wxDefaultValidator
@@ -4385,7 +4385,7 @@
5
- wxALIGN_RIGHT|wxRIGHT|wxLEFT
+ wxALIGN_RIGHT|wxBOTTOM|wxLEFT|wxRIGHT
0
diff --git a/pcbnew/dialogs/dialog_plot_base.h b/pcbnew/dialogs/dialog_plot_base.h
index a241bdbdb2..553d7447da 100644
--- a/pcbnew/dialogs/dialog_plot_base.h
+++ b/pcbnew/dialogs/dialog_plot_base.h
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Nov 22 2017)
+// C++ code generated with wxFormBuilder (version Dec 30 2017)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
@@ -47,8 +47,8 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM
protected:
enum
{
- ID_ALLOW_PRINT_PAD_ON_SILKSCREEN = 1000,
- ID_PRINT_REF,
+ ID_PRINT_REF = 1000,
+ ID_ALLOW_PRINT_PAD_ON_SILKSCREEN,
ID_MIROR_OPT,
ID_CREATE_DRILL_FILE,
ID_LAYER_FAB,
@@ -68,12 +68,12 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM
wxCheckListBox* m_layerCheckListBox;
wxBoxSizer* m_PlotOptionsSizer;
wxCheckBox* m_plotSheetRef;
- wxCheckBox* m_plotPads_on_Silkscreen;
wxCheckBox* m_plotModuleValueOpt;
wxCheckBox* m_plotModuleRefOpt;
wxCheckBox* m_plotInvisibleText;
wxCheckBox* m_plotNoViaOnMaskOpt;
wxCheckBox* m_excludeEdgeLayerOpt;
+ wxCheckBox* m_excludePadsFromSilkscreen;
wxCheckBox* m_plotMirrorOpt;
wxCheckBox* m_plotPSNegativeOpt;
wxCheckBox* m_useAuxOriginCheckBox;