From 7f20c55ed6d4d4f1a2f4667ee37b4a108d483822 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Sat, 8 Dec 2018 17:46:41 +0100 Subject: [PATCH] Pcbnew, Plot dialog, Gerber format: Enable or disable adding net metadata both in X1 and X2 format. Previously, this option was existing only in X2 format. Should be existing in both formats. A bit of cleaning code related to this option. --- common/plotters/GERBER_plotter.cpp | 12 +- pcbnew/dialogs/dialog_plot.cpp | 26 +- pcbnew/dialogs/dialog_plot_base.cpp | 302 +++--- pcbnew/dialogs/dialog_plot_base.fbp | 1562 +-------------------------- pcbnew/dialogs/dialog_plot_base.h | 26 +- pcbnew/pcb_plot_params.cpp | 10 +- pcbnew/pcb_plot_params.h | 6 +- pcbnew/plot_board_layers.cpp | 18 +- 8 files changed, 195 insertions(+), 1767 deletions(-) diff --git a/common/plotters/GERBER_plotter.cpp b/common/plotters/GERBER_plotter.cpp index 6cb6c21b80..4b4aebca76 100644 --- a/common/plotters/GERBER_plotter.cpp +++ b/common/plotters/GERBER_plotter.cpp @@ -59,7 +59,7 @@ GERBER_PLOTTER::GERBER_PLOTTER() // happen easily. m_gerberUnitInch = false; m_gerberUnitFmt = 6; - m_useX2Attributes = false; + m_useX2Attributes = true; m_useNetAttributes = true; } @@ -144,13 +144,11 @@ void GERBER_PLOTTER::formatNetAttribute( GBR_NETLIST_METADATA* aData ) if( aData == NULL ) return; - bool useX1StructuredComment = false; - - if( !m_useX2Attributes ) - useX1StructuredComment = true; - else if( !m_useNetAttributes ) + if( !m_useNetAttributes ) return; + bool useX1StructuredComment = !m_useX2Attributes; + bool clearDict; std::string short_attribute_string; @@ -325,7 +323,7 @@ void GERBER_PLOTTER::selectAperture( const wxSize& aSize, ( currentAperture->m_Type != aType ) || ( currentAperture->m_Size != aSize ); - if( m_useX2Attributes && !m_useNetAttributes ) + if( !m_useNetAttributes ) aApertureAttribute = 0; else change = change || ( currentAperture->m_ApertureAttribute != aApertureAttribute ); diff --git a/pcbnew/dialogs/dialog_plot.cpp b/pcbnew/dialogs/dialog_plot.cpp index f0a78f3f09..6ee97bea14 100644 --- a/pcbnew/dialogs/dialog_plot.cpp +++ b/pcbnew/dialogs/dialog_plot.cpp @@ -133,18 +133,17 @@ void DIALOG_PLOT::init_Dialog() m_layerCheckListBox->Check( checkIndex ); } - // Option for using proper Gerber extensions + // Option for using proper Gerber extensions. Note also Protel extensions are + // a broken feature. However, for now, we need to handle it. m_useGerberExtensions->SetValue( m_plotOpts.GetUseGerberProtelExtensions() ); - // Option for including Gerber attributes (from Gerber X2 format) in the output - m_useGerberX2Attributes->SetValue( m_plotOpts.GetUseGerberAttributes() ); + // Option for including Gerber attributes, from Gerber X2 format, in the output + // In X1 format, they will be added as comments + m_useGerberX2Format->SetValue( m_plotOpts.GetUseGerberX2format() ); // Option for including Gerber netlist info (from Gerber X2 format) in the output m_useGerberNetAttributes->SetValue( m_plotOpts.GetIncludeGerberNetlistInfo() ); - // Grey out if m_useGerberX2Attributes is not checked - m_useGerberNetAttributes->Enable( m_useGerberX2Attributes->GetValue() ); - // Option to generate a Gerber job file m_generateGerberJobFile->SetValue( m_plotOpts.GetCreateGerberJobFile() ); @@ -658,7 +657,7 @@ void DIALOG_PLOT::applyPlotSettings() tempOptions.SetFormat( getPlotFormat() ); tempOptions.SetUseGerberProtelExtensions( m_useGerberExtensions->GetValue() ); - tempOptions.SetUseGerberAttributes( m_useGerberX2Attributes->GetValue() ); + tempOptions.SetUseGerberX2format( m_useGerberX2Format->GetValue() ); tempOptions.SetIncludeGerberNetlistInfo( m_useGerberNetAttributes->GetValue() ); tempOptions.SetCreateGerberJobFile( m_generateGerberJobFile->GetValue() ); @@ -701,18 +700,7 @@ void DIALOG_PLOT::applyPlotSettings() void DIALOG_PLOT::OnGerberX2Checked( wxCommandEvent& event ) { - // m_useGerberNetAttributes is useless if m_useGerberX2Attributes - // is not checked. So disabled (greyed out) when Gerber X2 gets unchecked - // to make it clear to the user. - if( m_useGerberX2Attributes->GetValue() ) - { - m_useGerberNetAttributes->Enable( true ); - } - else - { - m_useGerberNetAttributes->Enable( false ); - m_useGerberNetAttributes->SetValue( false ); - } + // Currently: do nothing } diff --git a/pcbnew/dialogs/dialog_plot_base.cpp b/pcbnew/dialogs/dialog_plot_base.cpp index 9e5890c40f..d60ef19a81 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 Jul 11 2018) +// C++ code generated with wxFormBuilder (version Dec 1 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -14,332 +14,332 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style ) { this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize ); - + m_MainSizer = new wxBoxSizer( wxVERTICAL ); - + wxBoxSizer* bupperSizer; bupperSizer = new wxBoxSizer( wxHORIZONTAL ); - + m_staticTextPlotFmt = new wxStaticText( this, wxID_ANY, _("Plot format:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextPlotFmt->Wrap( -1 ); bupperSizer->Add( m_staticTextPlotFmt, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 ); - + wxString m_plotFormatOptChoices[] = { _("Gerber"), _("Postscript"), _("SVG"), _("DXF"), _("HPGL"), _("PDF") }; int m_plotFormatOptNChoices = sizeof( m_plotFormatOptChoices ) / sizeof( wxString ); m_plotFormatOpt = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_plotFormatOptNChoices, m_plotFormatOptChoices, 0 ); m_plotFormatOpt->SetSelection( 0 ); bupperSizer->Add( m_plotFormatOpt, 0, wxALL, 6 ); - - + + bupperSizer->Add( 0, 0, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 ); - + m_staticTextDir = new wxStaticText( this, wxID_ANY, _("Output directory:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextDir->Wrap( -1 ); bupperSizer->Add( m_staticTextDir, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); - + m_outputDirectoryName = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_outputDirectoryName->SetToolTip( _("Target directory for plot files. Can be absolute or relative to the board file location.") ); - + bupperSizer->Add( m_outputDirectoryName, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 ); - - m_browseButton = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); + + m_browseButton = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); m_browseButton->SetMinSize( wxSize( 29,29 ) ); - + bupperSizer->Add( m_browseButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - - + + m_MainSizer->Add( bupperSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); - + wxBoxSizer* bmiddleSizer; bmiddleSizer = new wxBoxSizer( wxHORIZONTAL ); - + m_LayersSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Included Layers") ), wxHORIZONTAL ); - + wxArrayString m_layerCheckListBoxChoices; m_layerCheckListBox = new wxCheckListBox( m_LayersSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_layerCheckListBoxChoices, 0 ); m_layerCheckListBox->SetMinSize( wxSize( 150,-1 ) ); - + m_LayersSizer->Add( m_layerCheckListBox, 1, wxEXPAND, 5 ); - - + + bmiddleSizer->Add( m_LayersSizer, 1, wxALL|wxEXPAND, 3 ); - + m_PlotOptionsSizer = new wxBoxSizer( wxVERTICAL ); - + wxStaticBoxSizer* sbOptionsSizer; sbOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("General Options") ), wxVERTICAL ); - + wxGridBagSizer* gbSizer1; gbSizer1 = new wxGridBagSizer( 3, 0 ); gbSizer1->SetFlexibleDirection( wxHORIZONTAL ); gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - + m_plotSheetRef = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot border and title block"), wxDefaultPosition, wxDefaultSize, 0 ); m_plotSheetRef->SetMinSize( wxSize( 280,-1 ) ); - + gbSizer1->Add( m_plotSheetRef, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + m_plotModuleValueOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot footprint values"), wxDefaultPosition, wxDefaultSize, 0 ); - m_plotModuleValueOpt->SetValue(true); + m_plotModuleValueOpt->SetValue(true); gbSizer1->Add( m_plotModuleValueOpt, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + m_plotModuleRefOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_PRINT_REF, _("Plot footprint references"), wxDefaultPosition, wxDefaultSize, 0 ); - m_plotModuleRefOpt->SetValue(true); + m_plotModuleRefOpt->SetValue(true); gbSizer1->Add( m_plotModuleRefOpt, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + m_plotInvisibleText = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Force plotting of invisible values / refs"), wxDefaultPosition, wxDefaultSize, 0 ); m_plotInvisibleText->SetToolTip( _("Force plot invisible values and/or references") ); - + gbSizer1->Add( m_plotInvisibleText, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + m_excludeEdgeLayerOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Exclude PCB edge layer from other layers"), wxDefaultPosition, wxDefaultSize, 0 ); m_excludeEdgeLayerOpt->SetToolTip( _("Do not plot the contents of the PCB edge layer on any other layers.") ); - + gbSizer1->Add( m_excludeEdgeLayerOpt, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + 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.") ); - + gbSizer1->Add( m_excludePadsFromSilkscreen, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + m_plotNoViaOnMaskOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Do not tent vias"), wxDefaultPosition, wxDefaultSize, 0 ); m_plotNoViaOnMaskOpt->SetToolTip( _("Remove soldermask on vias") ); - + gbSizer1->Add( m_plotNoViaOnMaskOpt, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + m_useAuxOriginCheckBox = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Use auxiliary axis as origin"), wxDefaultPosition, wxDefaultSize, 0 ); m_useAuxOriginCheckBox->SetToolTip( _("Use auxiliary axis as coordinates origin in plot files") ); - + gbSizer1->Add( m_useAuxOriginCheckBox, wxGBPosition( 7, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + drillMarksLabel = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Drill marks:"), wxDefaultPosition, wxDefaultSize, 0 ); drillMarksLabel->Wrap( -1 ); gbSizer1->Add( drillMarksLabel, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - + wxString m_drillShapeOptChoices[] = { _("None"), _("Small"), _("Actual size") }; int m_drillShapeOptNChoices = sizeof( m_drillShapeOptChoices ) / sizeof( wxString ); m_drillShapeOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_drillShapeOptNChoices, m_drillShapeOptChoices, 0 ); m_drillShapeOpt->SetSelection( 0 ); gbSizer1->Add( m_drillShapeOpt, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxEXPAND|wxLEFT, 5 ); - + scalingLabel = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Scaling:"), wxDefaultPosition, wxDefaultSize, 0 ); scalingLabel->Wrap( -1 ); gbSizer1->Add( scalingLabel, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - + wxString m_scaleOptChoices[] = { _("Auto"), _("1:1"), _("3:2"), _("2:1"), _("3:1") }; int m_scaleOptNChoices = sizeof( m_scaleOptChoices ) / sizeof( wxString ); m_scaleOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_scaleOptNChoices, m_scaleOptChoices, 0 ); m_scaleOpt->SetSelection( 1 ); gbSizer1->Add( m_scaleOpt, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxEXPAND|wxLEFT, 5 ); - + plotModeLabel = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Plot mode:"), wxDefaultPosition, wxDefaultSize, 0 ); plotModeLabel->Wrap( -1 ); gbSizer1->Add( plotModeLabel, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - + wxString m_plotModeOptChoices[] = { _("Filled"), _("Sketch") }; int m_plotModeOptNChoices = sizeof( m_plotModeOptChoices ) / sizeof( wxString ); m_plotModeOpt = new wxChoice( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_plotModeOptNChoices, m_plotModeOptChoices, 0 ); m_plotModeOpt->SetSelection( 0 ); gbSizer1->Add( m_plotModeOpt, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxEXPAND|wxLEFT, 5 ); - + m_lineWidthLabel = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Default line width:"), wxDefaultPosition, wxDefaultSize, 0 ); m_lineWidthLabel->Wrap( -1 ); m_lineWidthLabel->SetToolTip( _("Pen size used to draw items that have no pen size specified.\nUsed mainly to draw items in sketch mode.") ); - + gbSizer1->Add( m_lineWidthLabel, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - + m_lineWidthCtrl = new wxTextCtrl( sbOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_lineWidthCtrl->SetToolTip( _("Line width for, e.g., sheet references.") ); m_lineWidthCtrl->SetMinSize( wxSize( 120,-1 ) ); - + gbSizer1->Add( m_lineWidthCtrl, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxLEFT, 5 ); - + m_lineWidthUnits = new wxStaticText( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_lineWidthUnits->Wrap( -1 ); gbSizer1->Add( m_lineWidthUnits, wxGBPosition( 3, 3 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); - + m_plotMirrorOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), ID_MIROR_OPT, _("Mirrored plot"), wxDefaultPosition, wxDefaultSize, 0 ); gbSizer1->Add( m_plotMirrorOpt, wxGBPosition( 4, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - + m_plotPSNegativeOpt = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Negative plot"), wxDefaultPosition, wxDefaultSize, 0 ); gbSizer1->Add( m_plotPSNegativeOpt, wxGBPosition( 5, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - + m_zoneFillCheck = new wxCheckBox( sbOptionsSizer->GetStaticBox(), wxID_ANY, _("Check zone fills before plotting"), wxDefaultPosition, wxDefaultSize, 0 ); gbSizer1->Add( m_zoneFillCheck, wxGBPosition( 7, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - - + + gbSizer1->AddGrowableCol( 0 ); gbSizer1->AddGrowableCol( 2 ); - + sbOptionsSizer->Add( gbSizer1, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - + + m_PlotOptionsSizer->Add( sbOptionsSizer, 0, wxALL|wxEXPAND, 5 ); - + m_GerberOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Gerber Options") ), wxHORIZONTAL ); - + wxGridBagSizer* gbSizer2; gbSizer2 = new wxGridBagSizer( 3, 0 ); gbSizer2->SetFlexibleDirection( wxHORIZONTAL ); gbSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - + m_useGerberExtensions = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Use Protel filename extensions"), wxDefaultPosition, wxDefaultSize, 0 ); m_useGerberExtensions->SetToolTip( _("Use Protel Gerber extensions (.GBL, .GTL, etc...)\nNo longer recommended. The official extension is .gbr") ); m_useGerberExtensions->SetMinSize( wxSize( 280,-1 ) ); - + gbSizer2->Add( m_useGerberExtensions, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + m_generateGerberJobFile = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Generate Gerber job file"), wxDefaultPosition, wxDefaultSize, 0 ); m_generateGerberJobFile->SetToolTip( _("Generate a Gerber job file that contains info about the board,\nand the list of generated Gerber plot files") ); - + gbSizer2->Add( m_generateGerberJobFile, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + m_subtractMaskFromSilk = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Subtract soldermask from silkscreen"), wxDefaultPosition, wxDefaultSize, 0 ); m_subtractMaskFromSilk->SetToolTip( _("Remove silkscreen from areas without soldermask") ); - + gbSizer2->Add( m_subtractMaskFromSilk, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL, 5 ); - + coordFormatLabel = new wxStaticText( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Coordinate format:"), wxDefaultPosition, wxDefaultSize, 0 ); coordFormatLabel->Wrap( -1 ); gbSizer2->Add( coordFormatLabel, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - + wxString m_coordFormatCtrlChoices[] = { _("4.5, unit mm"), _("4.6, unit mm") }; int m_coordFormatCtrlNChoices = sizeof( m_coordFormatCtrlChoices ) / sizeof( wxString ); m_coordFormatCtrl = new wxChoice( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_coordFormatCtrlNChoices, m_coordFormatCtrlChoices, 0 ); m_coordFormatCtrl->SetSelection( 0 ); gbSizer2->Add( m_coordFormatCtrl, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - m_useGerberX2Attributes = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Include extended (X2) attributes"), wxDefaultPosition, wxDefaultSize, 0 ); - m_useGerberX2Attributes->SetToolTip( _("Include extended attributes (X2 Gerber files format) in the Gerber file.\nMainly File Format attributes.") ); - - gbSizer2->Add( m_useGerberX2Attributes, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - - m_useGerberNetAttributes = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Include advanced X2 features"), wxDefaultPosition, wxDefaultSize, 0 ); - m_useGerberNetAttributes->SetToolTip( _("Only available in X2 Gerber files format.\nInclude netlist metadata and aperture attributes.") ); - + + m_useGerberX2Format = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Use extended X2 format"), wxDefaultPosition, wxDefaultSize, 0 ); + m_useGerberX2Format->SetToolTip( _("Use X2 Gerber file format.\nInclude mainly X2 attributes in Gerber headers.\nIf not checked, use X1 format.\nIn X1 format, these attributes are included as comments in files.") ); + + gbSizer2->Add( m_useGerberX2Format, wxGBPosition( 1, 1 ), wxGBSpan( 1, 2 ), wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); + + m_useGerberNetAttributes = new wxCheckBox( m_GerberOptionsSizer->GetStaticBox(), wxID_ANY, _("Include netlist attributes"), wxDefaultPosition, wxDefaultSize, 0 ); + m_useGerberNetAttributes->SetToolTip( _("Include netlist metadata and aperture attributes in Gerber files.\nIn X1 format, they are comments.\nUsed to check connectivity in CAM tools and Gerber viewers.") ); + gbSizer2->Add( m_useGerberNetAttributes, wxGBPosition( 2, 1 ), wxGBSpan( 1, 2 ), wxLEFT|wxALIGN_CENTER_VERTICAL, 30 ); - - + + gbSizer2->AddGrowableCol( 2 ); - + m_GerberOptionsSizer->Add( gbSizer2, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - + + m_PlotOptionsSizer->Add( m_GerberOptionsSizer, 0, wxALL|wxEXPAND, 5 ); - + m_HPGLOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("HPGL Options") ), wxHORIZONTAL ); - + m_hpglPenLabel = new wxStaticText( m_HPGLOptionsSizer->GetStaticBox(), wxID_ANY, _("Default pen size:"), wxDefaultPosition, wxDefaultSize, 0 ); m_hpglPenLabel->Wrap( -1 ); m_HPGLOptionsSizer->Add( m_hpglPenLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - + m_hpglPenCtrl = new wxTextCtrl( m_HPGLOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_HPGLOptionsSizer->Add( m_hpglPenCtrl, 5, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - + m_hpglPenUnits = new wxStaticText( m_HPGLOptionsSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_hpglPenUnits->Wrap( -1 ); m_HPGLOptionsSizer->Add( m_hpglPenUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 ); - - + + m_HPGLOptionsSizer->Add( 0, 0, 11, wxEXPAND, 5 ); - - + + m_PlotOptionsSizer->Add( m_HPGLOptionsSizer, 0, wxALL|wxEXPAND, 5 ); - + m_PSOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Postscript Options") ), wxVERTICAL ); - + wxFlexGridSizer* fgSizer2; fgSizer2 = new wxFlexGridSizer( 0, 6, 3, 0 ); fgSizer2->AddGrowableCol( 1 ); fgSizer2->AddGrowableCol( 4 ); fgSizer2->SetFlexibleDirection( wxBOTH ); fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - - fgSizer2->SetMinSize( wxSize( 60,-1 ) ); + + fgSizer2->SetMinSize( wxSize( 60,-1 ) ); m_fineAdjustXLabel = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("X scale factor:"), wxDefaultPosition, wxDefaultSize, 0 ); m_fineAdjustXLabel->Wrap( -1 ); fgSizer2->Add( m_fineAdjustXLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - + m_fineAdjustXCtrl = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_fineAdjustXCtrl->SetToolTip( _("Set global X scale adjust for exact scale postscript output.") ); - + fgSizer2->Add( m_fineAdjustXCtrl, 0, wxEXPAND|wxRIGHT, 5 ); - - + + fgSizer2->Add( 0, 0, 1, wxEXPAND, 5 ); - + m_fineAdjustYLabel = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Y scale factor:"), wxDefaultPosition, wxDefaultSize, 0 ); m_fineAdjustYLabel->Wrap( -1 ); fgSizer2->Add( m_fineAdjustYLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 30 ); - + m_fineAdjustYCtrl = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_fineAdjustYCtrl->SetToolTip( _("Set global Y scale adjust for exact scale postscript output.") ); - + fgSizer2->Add( m_fineAdjustYCtrl, 0, wxEXPAND|wxRIGHT|wxLEFT, 30 ); - - + + fgSizer2->Add( 0, 0, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 ); - + m_widthAdjustLabel = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Track width correction:"), wxDefaultPosition, wxDefaultSize, 0 ); m_widthAdjustLabel->Wrap( -1 ); fgSizer2->Add( m_widthAdjustLabel, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); - + m_widthAdjustCtrl = new wxTextCtrl( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); m_widthAdjustCtrl->SetToolTip( _("Set global width correction for exact width postscript output.\nThese width correction is intended to compensate tracks width and also pads and vias size errors.\nThe reasonable width correction value must be in a range of [-(MinTrackWidth-1), +(MinClearanceValue-1)] in decimils.") ); - + fgSizer2->Add( m_widthAdjustCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 5 ); - + m_widthAdjustUnits = new wxStaticText( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); m_widthAdjustUnits->Wrap( -1 ); fgSizer2->Add( m_widthAdjustUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 ); - - + + m_PSOptionsSizer->Add( fgSizer2, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - + m_forcePSA4OutputOpt = new wxCheckBox( m_PSOptionsSizer->GetStaticBox(), wxID_ANY, _("Force A4 output"), wxDefaultPosition, wxDefaultSize, 0 ); m_PSOptionsSizer->Add( m_forcePSA4OutputOpt, 0, wxRIGHT|wxLEFT, 5 ); - - + + m_PlotOptionsSizer->Add( m_PSOptionsSizer, 0, wxALL|wxEXPAND, 5 ); - + m_SizerDXF_options = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("DXF Options") ), wxVERTICAL ); - + m_DXF_plotModeOpt = new wxCheckBox( m_SizerDXF_options->GetStaticBox(), wxID_ANY, _("Plot all layers in outline (polygon) mode"), wxDefaultPosition, wxDefaultSize, 0 ); - m_DXF_plotModeOpt->SetValue(true); + m_DXF_plotModeOpt->SetValue(true); m_DXF_plotModeOpt->SetToolTip( _("DXF only:\nCheck to plot all layers in polygon mode.\nUncheck to plot in sketch mode layers that don't support polygons (*.SilkS, *_User, Edge.Cuts, Margin, *.CrtYd, *.Fab)\nand plot in polygon mode other layers (*.Cu, *.Adhes, *.Paste, *.Mask)") ); - + m_SizerDXF_options->Add( m_DXF_plotModeOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - + m_DXF_plotTextStrokeFontOpt = new wxCheckBox( m_SizerDXF_options->GetStaticBox(), wxID_ANY, _("Use Pcbnew font to plot texts"), wxDefaultPosition, wxDefaultSize, 0 ); m_DXF_plotTextStrokeFontOpt->SetToolTip( _("Check to use Pcbnew stroke font\nUncheck to plot oneline ASCII texts as editable text (using DXF font)") ); - + m_SizerDXF_options->Add( m_DXF_plotTextStrokeFontOpt, 0, wxALL, 5 ); - - + + m_PlotOptionsSizer->Add( m_SizerDXF_options, 0, wxEXPAND|wxALL, 5 ); - - + + bmiddleSizer->Add( m_PlotOptionsSizer, 0, 0, 5 ); - - + + m_MainSizer->Add( bmiddleSizer, 0, wxEXPAND|wxALL, 5 ); - + wxBoxSizer* sbSizerMsg; sbSizerMsg = new wxBoxSizer( wxVERTICAL ); - + m_messagesPanel = new WX_HTML_REPORT_PANEL( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); m_messagesPanel->SetMinSize( wxSize( -300,150 ) ); - + sbSizerMsg->Add( m_messagesPanel, 1, wxEXPAND|wxRIGHT|wxLEFT, 10 ); - - + + m_MainSizer->Add( sbSizerMsg, 1, wxEXPAND, 5 ); - + m_sizerButtons = new wxBoxSizer( wxHORIZONTAL ); - + m_buttonDRC = new wxButton( this, wxID_ANY, _("Run DRC..."), wxDefaultPosition, wxDefaultSize, 0 ); m_sizerButtons->Add( m_buttonDRC, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 ); - + m_sdbSizer1 = new wxStdDialogButtonSizer(); m_sdbSizer1OK = new wxButton( this, wxID_OK ); m_sdbSizer1->AddButton( m_sdbSizer1OK ); @@ -348,13 +348,13 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr m_sdbSizer1Cancel = new wxButton( this, wxID_CANCEL ); m_sdbSizer1->AddButton( m_sdbSizer1Cancel ); m_sdbSizer1->Realize(); - + m_sizerButtons->Add( m_sdbSizer1, 1, wxEXPAND, 5 ); - - + + m_MainSizer->Add( m_sizerButtons, 0, wxALL|wxEXPAND, 5 ); - - + + this->SetSizer( m_MainSizer ); this->Layout(); m_MainSizer->Fit( this ); @@ -362,28 +362,28 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr wxMenuItem* m_menuItem1; m_menuItem1 = new wxMenuItem( m_popMenu, ID_LAYER_FAB, wxString( _("Select Fab Layers") ) , wxEmptyString, wxITEM_NORMAL ); m_popMenu->Append( m_menuItem1 ); - + wxMenuItem* m_menuItem2; m_menuItem2 = new wxMenuItem( m_popMenu, ID_SELECT_COPPER_LAYERS, wxString( _("Select all Copper Layers") ) , wxEmptyString, wxITEM_NORMAL ); m_popMenu->Append( m_menuItem2 ); - + wxMenuItem* m_menuItem3; m_menuItem3 = new wxMenuItem( m_popMenu, ID_DESELECT_COPPER_LAYERS, wxString( _("Deselect all Copper Layers") ) , wxEmptyString, wxITEM_NORMAL ); m_popMenu->Append( m_menuItem3 ); - + wxMenuItem* m_menuItem4; m_menuItem4 = new wxMenuItem( m_popMenu, ID_SELECT_ALL_LAYERS, wxString( _("Select all Layers") ) , wxEmptyString, wxITEM_NORMAL ); m_popMenu->Append( m_menuItem4 ); - + wxMenuItem* m_menuItem5; m_menuItem5 = new wxMenuItem( m_popMenu, ID_DESELECT_ALL_LAYERS, wxString( _("Deselect all Layers") ) , wxEmptyString, wxITEM_NORMAL ); m_popMenu->Append( m_menuItem5 ); - - this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::DIALOG_PLOT_BASEOnContextMenu ), NULL, this ); - - + + this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::DIALOG_PLOT_BASEOnContextMenu ), NULL, this ); + + this->Centre( wxBOTH ); - + // Connect Events this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_PLOT_BASE::OnInitDialog ) ); this->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ) ); @@ -391,7 +391,7 @@ DIALOG_PLOT_BASE::DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id, const wxStr m_browseButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnOutputDirectoryBrowseClicked ), NULL, this ); m_layerCheckListBox->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ), NULL, this ); m_scaleOpt->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnSetScaleOpt ), NULL, this ); - m_useGerberX2Attributes->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnGerberX2Checked ), NULL, this ); + m_useGerberX2Format->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnGerberX2Checked ), NULL, this ); m_DXF_plotModeOpt->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnChangeDXFPlotMode ), NULL, this ); m_buttonDRC->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::onRunDRC ), NULL, this ); m_sdbSizer1Apply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::CreateDrillFile ), NULL, this ); @@ -412,11 +412,11 @@ DIALOG_PLOT_BASE::~DIALOG_PLOT_BASE() m_browseButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnOutputDirectoryBrowseClicked ), NULL, this ); m_layerCheckListBox->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( DIALOG_PLOT_BASE::OnRightClick ), NULL, this ); m_scaleOpt->Disconnect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnSetScaleOpt ), NULL, this ); - m_useGerberX2Attributes->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnGerberX2Checked ), NULL, this ); + m_useGerberX2Format->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnGerberX2Checked ), NULL, this ); m_DXF_plotModeOpt->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::OnChangeDXFPlotMode ), NULL, this ); m_buttonDRC->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::onRunDRC ), NULL, this ); m_sdbSizer1Apply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::CreateDrillFile ), NULL, this ); m_sdbSizer1OK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_PLOT_BASE::Plot ), NULL, this ); - - delete m_popMenu; + + delete m_popMenu; } diff --git a/pcbnew/dialogs/dialog_plot_base.fbp b/pcbnew/dialogs/dialog_plot_base.fbp index 81b6f2b4ce..1368bb541a 100644 --- a/pcbnew/dialogs/dialog_plot_base.fbp +++ b/pcbnew/dialogs/dialog_plot_base.fbp @@ -1,6 +1,6 @@ - + C++ @@ -53,55 +53,8 @@ - - - - - - - - - - - - - - - - - - - - - - OnInitDialog - - - - - - - - - - - - - - - - - - - - OnRightClick - - - - - m_MainSizer @@ -175,36 +128,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -269,37 +192,7 @@ - - - - - - - - SetPlotFormat - - - - - - - - - - - - - - - - - - - - - - @@ -371,36 +264,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -465,40 +328,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -571,37 +400,7 @@ - - - - - - OnOutputDirectoryBrowseClicked - - - - - - - - - - - - - - - - - - - - - - - - @@ -627,7 +426,6 @@ wxHORIZONTAL 1 protected - 5 wxEXPAND @@ -689,39 +487,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - OnRightClick - - - - @@ -747,7 +513,6 @@ wxVERTICAL 1 none - 5 wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT @@ -828,37 +593,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -926,37 +660,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1024,37 +727,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1122,37 +794,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1220,37 +861,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1318,37 +928,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1416,37 +995,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1514,37 +1062,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1609,36 +1126,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1706,37 +1193,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1801,36 +1257,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1898,37 +1324,7 @@ - - - - - - - - OnSetScaleOpt - - - - - - - - - - - - - - - - - - - - - - @@ -1993,36 +1389,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2090,37 +1456,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2185,36 +1520,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2282,40 +1587,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2380,36 +1651,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2477,37 +1718,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2575,37 +1785,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2673,37 +1852,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2722,7 +1870,6 @@ wxHORIZONTAL 1 protected - 5 wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT @@ -2803,37 +1950,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2901,37 +2017,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2999,37 +2084,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3094,36 +2148,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3191,37 +2215,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3260,7 +2253,7 @@ 0 0 wxID_ANY - Include extended (X2) attributes + Use extended X2 format 0 @@ -3268,7 +2261,7 @@ 0 -1,-1 1 - m_useGerberX2Attributes + m_useGerberX2Format 1 @@ -3281,7 +2274,7 @@ 0 - Include extended attributes (X2 Gerber files format) in the Gerber file. Mainly File Format attributes. + Use X2 Gerber file format. Include mainly X2 attributes in Gerber headers. If not checked, use X1 format. In X1 format, these attributes are included as comments in files. wxFILTER_NONE wxDefaultValidator @@ -3289,37 +2282,7 @@ - - - - - - - - OnGerberX2Checked - - - - - - - - - - - - - - - - - - - - - - @@ -3358,7 +2321,7 @@ 0 0 wxID_ANY - Include advanced X2 features + Include netlist attributes 0 @@ -3379,7 +2342,7 @@ 0 - Only available in X2 Gerber files format. Include netlist metadata and aperture attributes. + Include netlist metadata and aperture attributes in Gerber files. In X1 format, they are comments. Used to check connectivity in CAM tools and Gerber viewers. wxFILTER_NONE wxDefaultValidator @@ -3387,37 +2350,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3436,7 +2368,6 @@ wxHORIZONTAL 1 protected - 5 wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT @@ -3496,36 +2427,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3590,40 +2491,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3685,36 +2552,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3741,7 +2578,6 @@ wxVERTICAL 1 protected - 5 wxEXPAND|wxRIGHT|wxLEFT @@ -3817,36 +2653,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3911,40 +2717,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4016,36 +2788,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4110,40 +2852,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4215,36 +2923,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4309,40 +2987,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4404,36 +3048,6 @@ -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4500,37 +3114,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4547,7 +3130,6 @@ wxVERTICAL 1 protected - 5 wxBOTTOM|wxRIGHT|wxLEFT @@ -4610,37 +3192,7 @@ - - - - - - - - OnChangeDXFPlotMode - - - - - - - - - - - - - - - - - - - - - - @@ -4705,37 +3257,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4808,36 +3329,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4921,37 +3412,7 @@ - - - - - - onRunDRC - - - - - - - - - - - - - - - - - - - - - - - - @@ -4971,13 +3432,7 @@ m_sdbSizer1 protected CreateDrillFile - - - - Plot - - @@ -5000,7 +3455,6 @@ OnPopUpLayers - @@ -5015,7 +3469,6 @@ OnPopUpLayers - @@ -5030,7 +3483,6 @@ OnPopUpLayers - @@ -5045,7 +3497,6 @@ OnPopUpLayers - @@ -5060,7 +3511,6 @@ OnPopUpLayers - diff --git a/pcbnew/dialogs/dialog_plot_base.h b/pcbnew/dialogs/dialog_plot_base.h index f208203602..f4cf8b3bfb 100644 --- a/pcbnew/dialogs/dialog_plot_base.h +++ b/pcbnew/dialogs/dialog_plot_base.h @@ -1,12 +1,11 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jul 11 2018) +// C++ code generated with wxFormBuilder (version Dec 1 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// -#ifndef __DIALOG_PLOT_BASE_H__ -#define __DIALOG_PLOT_BASE_H__ +#pragma once #include #include @@ -44,7 +43,7 @@ class WX_HTML_REPORT_PANEL; class DIALOG_PLOT_BASE : public DIALOG_SHIM { private: - + protected: enum { @@ -57,7 +56,7 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM ID_SELECT_ALL_LAYERS, ID_DESELECT_ALL_LAYERS }; - + wxBoxSizer* m_MainSizer; wxStaticText* m_staticTextPlotFmt; wxChoice* m_plotFormatOpt; @@ -93,7 +92,7 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM wxCheckBox* m_subtractMaskFromSilk; wxStaticText* coordFormatLabel; wxChoice* m_coordFormatCtrl; - wxCheckBox* m_useGerberX2Attributes; + wxCheckBox* m_useGerberX2Format; wxCheckBox* m_useGerberNetAttributes; wxStaticBoxSizer* m_HPGLOptionsSizer; wxStaticText* m_hpglPenLabel; @@ -119,7 +118,7 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM wxButton* m_sdbSizer1Apply; wxButton* m_sdbSizer1Cancel; wxMenu* m_popMenu; - + // Virtual event handlers, overide them in your derived class virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); } virtual void OnRightClick( wxMouseEvent& event ) { event.Skip(); } @@ -132,18 +131,17 @@ class DIALOG_PLOT_BASE : public DIALOG_SHIM virtual void CreateDrillFile( wxCommandEvent& event ) { event.Skip(); } virtual void Plot( wxCommandEvent& event ) { event.Skip(); } virtual void OnPopUpLayers( wxCommandEvent& event ) { event.Skip(); } - - + + public: - - DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Plot"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); + + DIALOG_PLOT_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Plot"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); ~DIALOG_PLOT_BASE(); - + void DIALOG_PLOT_BASEOnContextMenu( wxMouseEvent &event ) { this->PopupMenu( m_popMenu, event.GetPosition() ); } - + }; -#endif //__DIALOG_PLOT_BASE_H__ diff --git a/pcbnew/pcb_plot_params.cpp b/pcbnew/pcb_plot_params.cpp index 96dc825a48..3d7856cf99 100644 --- a/pcbnew/pcb_plot_params.cpp +++ b/pcbnew/pcb_plot_params.cpp @@ -93,7 +93,7 @@ static bool setDouble( double* aTarget, double aValue, double aMin, double aMax PCB_PLOT_PARAMS::PCB_PLOT_PARAMS() { m_useGerberProtelExtensions = false; - m_useGerberAttributes = false; + m_useGerberX2format = false; m_includeGerberNetlistInfo = false; m_createGerberJobFile = false; m_gerberPrecision = gbrDefaultPrecision; @@ -162,7 +162,7 @@ void PCB_PLOT_PARAMS::Format( OUTPUTFORMATTER* aFormatter, m_useGerberProtelExtensions ? trueStr : falseStr ); aFormatter->Print( aNestLevel+1, "(%s %s)\n", getTokenName( T_usegerberattributes ), - GetUseGerberAttributes() ? trueStr : falseStr ); + GetUseGerberX2format() ? trueStr : falseStr ); aFormatter->Print( aNestLevel+1, "(%s %s)\n", getTokenName( T_usegerberadvancedattributes ), GetIncludeGerberNetlistInfo() ? trueStr : falseStr ); @@ -239,9 +239,9 @@ bool PCB_PLOT_PARAMS::IsSameAs( const PCB_PLOT_PARAMS &aPcbPlotParams, bool aCom return false; if( m_useGerberProtelExtensions != aPcbPlotParams.m_useGerberProtelExtensions ) return false; - if( m_useGerberAttributes != aPcbPlotParams.m_useGerberAttributes ) + if( m_useGerberX2format != aPcbPlotParams.m_useGerberX2format ) return false; - if( m_useGerberAttributes && m_includeGerberNetlistInfo != aPcbPlotParams.m_includeGerberNetlistInfo ) + if( m_includeGerberNetlistInfo != aPcbPlotParams.m_includeGerberNetlistInfo ) return false; if( m_createGerberJobFile != aPcbPlotParams.m_createGerberJobFile ) return false; @@ -402,7 +402,7 @@ void PCB_PLOT_PARAMS_PARSER::Parse( PCB_PLOT_PARAMS* aPcbPlotParams ) break; case T_usegerberattributes: - aPcbPlotParams->m_useGerberAttributes = parseBool(); + aPcbPlotParams->m_useGerberX2format = parseBool(); break; case T_usegerberadvancedattributes: diff --git a/pcbnew/pcb_plot_params.h b/pcbnew/pcb_plot_params.h index 0d7da8f4b4..f9ab3c21c1 100644 --- a/pcbnew/pcb_plot_params.h +++ b/pcbnew/pcb_plot_params.h @@ -103,7 +103,7 @@ private: bool m_useGerberProtelExtensions; /// Include attributes from the Gerber X2 format (chapter 5 in revision J2) - bool m_useGerberAttributes; + bool m_useGerberX2format; /// Include netlist info (only in Gerber X2 format) (chapter ? in revision ?) bool m_includeGerberNetlistInfo; @@ -243,8 +243,8 @@ public: void SetOutputDirectory( wxString aDir ) { m_outputDirectory = aDir; } wxString GetOutputDirectory() const { return m_outputDirectory; } - void SetUseGerberAttributes( bool aUse ) { m_useGerberAttributes = aUse; } - bool GetUseGerberAttributes() const { return m_useGerberAttributes; } + void SetUseGerberX2format( bool aUse ) { m_useGerberX2format = aUse; } + bool GetUseGerberX2format() const { return m_useGerberX2format; } void SetIncludeGerberNetlistInfo( bool aUse ) { m_includeGerberNetlistInfo = aUse; } bool GetIncludeGerberNetlistInfo() const { return m_includeGerberNetlistInfo; } diff --git a/pcbnew/plot_board_layers.cpp b/pcbnew/plot_board_layers.cpp index f37327d422..8d4eb6c4f0 100644 --- a/pcbnew/plot_board_layers.cpp +++ b/pcbnew/plot_board_layers.cpp @@ -1107,19 +1107,13 @@ PLOTTER* StartPlotBoard( BOARD *aBoard, PCB_PLOT_PARAMS *aPlotOpts, // For the Gerber "file function" attribute, set the layer number if( plotter->GetPlotterType() == PLOT_FORMAT_GERBER ) { - bool useX2mode = plotOpts.GetUseGerberAttributes(); + bool useX2mode = plotOpts.GetUseGerberX2format(); - if( useX2mode ) - { - AddGerberX2Attribute( plotter, aBoard, aLayer, false ); - GERBER_PLOTTER* gbrplotter = static_cast ( plotter ); - gbrplotter->UseX2Attributes( true ); - gbrplotter->UseX2NetAttributes( plotOpts.GetIncludeGerberNetlistInfo() ); - } - else - { - AddGerberX2Attribute( plotter, aBoard, aLayer, true ); - } + GERBER_PLOTTER* gbrplotter = static_cast ( plotter ); + gbrplotter->UseX2Attributes( useX2mode ); + gbrplotter->UseX2NetAttributes( plotOpts.GetIncludeGerberNetlistInfo() ); + + AddGerberX2Attribute( plotter, aBoard, aLayer, not useX2mode ); } plotter->StartPlot();