From 15f13002219a50d4ca7523d4e5482f226d1f2b39 Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Fri, 9 Feb 2018 01:05:35 +0000 Subject: [PATCH] Flip sense of Plot pads on silkscreen. Added a better tooltip too. Fixes: lp:1372233 * https://bugs.launchpad.net/kicad/+bug/1372233 --- pcbnew/dialogs/dialog_plot.cpp | 8 +- pcbnew/dialogs/dialog_plot_base.cpp | 20 +-- pcbnew/dialogs/dialog_plot_base.fbp | 192 ++++++++++++++-------------- pcbnew/dialogs/dialog_plot_base.h | 8 +- 4 files changed, 114 insertions(+), 114 deletions(-) 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 - wxEXPAND + wxALL|wxEXPAND 0 @@ -284,11 +284,11 @@ - + 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;