KiCad PCB EDA Suite
DIALOG_PLOT Class Reference

DIALOG_PLOT is the dialog to set the plot options, and create plot files in various formats. More...

#include <dialog_plot.h>

Inheritance diagram for DIALOG_PLOT:
DIALOG_PLOT_BASE DIALOG_SHIM KIWAY_HOLDER

Public Types

enum  HOLDER_TYPE { DIALOG, FRAME, PANEL }
 

Public Member Functions

 DIALOG_PLOT (PCB_EDIT_FRAME *parent)
 
void DIALOG_PLOT_BASEOnContextMenu (wxMouseEvent &event)
 
void SetInitialFocus (wxWindow *aWindow)
 Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown. More...
 
int ShowQuasiModal ()
 
void EndQuasiModal (int retCode)
 
bool IsQuasiModal ()
 
bool Show (bool show) override
 
bool Enable (bool enable) override
 
void OnPaint (wxPaintEvent &event)
 
EDA_UNITS GetUserUnits () const
 
HOLDER_TYPE GetType ()
 
KIWAYKiway () const
 Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in. More...
 
PROJECTPrj () const
 Function Prj returns a reference to the PROJECT "associated with" this KIWAY. More...
 
void SetKiway (wxWindow *aDest, KIWAY *aKiway)
 Function SetKiway. More...
 

Static Public Member Functions

static bool IsCtrl (int aChar, const wxKeyEvent &e)
 
static bool IsShiftCtrl (int aChar, const wxKeyEvent &e)
 
static void FixOSXCancelButtonIssue (wxWindow *aWindow)
 

Protected Types

enum  {
  ID_PRINT_REF = 1000, ID_ALLOW_PRINT_PAD_ON_SILKSCREEN, ID_MIROR_OPT, ID_LAYER_FAB,
  ID_SELECT_COPPER_LAYERS, ID_DESELECT_COPPER_LAYERS, ID_SELECT_ALL_LAYERS, ID_DESELECT_ALL_LAYERS
}
 

Protected Member Functions

virtual void OnInitDialog (wxInitDialogEvent &event)
 
virtual void OnCharHook (wxKeyEvent &aEvt)
 
void FinishDialogSettings ()
 In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls. More...
 
void SetSizeInDU (int x, int y)
 Set the dialog to the given dimensions in "dialog units". More...
 
int HorizPixelsFromDU (int x)
 Convert an integer number of dialog units to pixels, horizontally. More...
 
int VertPixelsFromDU (int y)
 Convert an integer number of dialog units to pixels, vertically. More...
 
void ResetSize ()
 Clear the existing dialog size and position. More...
 

Protected Attributes

wxBoxSizer * m_MainSizer
 
wxStaticText * m_staticTextPlotFmt
 
wxChoice * m_plotFormatOpt
 
wxStaticText * m_staticTextDir
 
wxTextCtrl * m_outputDirectoryName
 
wxBitmapButton * m_browseButton
 
wxStaticBoxSizer * m_LayersSizer
 
wxCheckListBox * m_layerCheckListBox
 
wxBoxSizer * m_PlotOptionsSizer
 
wxCheckBox * m_plotSheetRef
 
wxCheckBox * m_plotModuleValueOpt
 
wxCheckBox * m_plotModuleRefOpt
 
wxCheckBox * m_plotInvisibleText
 
wxCheckBox * m_excludeEdgeLayerOpt
 
wxCheckBox * m_sketchPadsOnFabLayers
 
wxCheckBox * m_plotNoViaOnMaskOpt
 
wxCheckBox * m_useAuxOriginCheckBox
 
wxStaticText * drillMarksLabel
 
wxChoice * m_drillShapeOpt
 
wxStaticText * scalingLabel
 
wxChoice * m_scaleOpt
 
wxStaticText * plotModeLabel
 
wxChoice * m_plotModeOpt
 
wxCheckBox * m_plotMirrorOpt
 
wxCheckBox * m_plotPSNegativeOpt
 
wxCheckBox * m_zoneFillCheck
 
wxBoxSizer * m_SizerSolderMaskAlert
 
wxStaticBitmap * m_bitmapAlert
 
wxStaticText * m_staticTextAlert
 
wxStaticText * m_staticTextAlert1
 
wxHyperlinkCtrl * m_boardSetup
 
wxStaticBoxSizer * m_GerberOptionsSizer
 
wxCheckBox * m_useGerberExtensions
 
wxCheckBox * m_generateGerberJobFile
 
wxCheckBox * m_subtractMaskFromSilk
 
wxStaticText * coordFormatLabel
 
wxChoice * m_coordFormatCtrl
 
wxCheckBox * m_useGerberX2Format
 
wxCheckBox * m_useGerberNetAttributes
 
wxCheckBox * m_disableApertMacros
 
wxStaticBoxSizer * m_HPGLOptionsSizer
 
wxStaticText * m_hpglPenLabel
 
wxTextCtrl * m_hpglPenCtrl
 
wxStaticText * m_hpglPenUnits
 
wxStaticBoxSizer * m_PSOptionsSizer
 
wxStaticText * m_fineAdjustXLabel
 
wxTextCtrl * m_fineAdjustXCtrl
 
wxStaticText * m_fineAdjustYLabel
 
wxTextCtrl * m_fineAdjustYCtrl
 
wxStaticText * m_widthAdjustLabel
 
wxTextCtrl * m_widthAdjustCtrl
 
wxStaticText * m_widthAdjustUnits
 
wxCheckBox * m_forcePSA4OutputOpt
 
wxStaticBoxSizer * m_SizerDXF_options
 
wxCheckBox * m_DXF_plotModeOpt
 
wxCheckBox * m_DXF_plotTextStrokeFontOpt
 
wxStaticText * DXF_exportUnitsLabel
 
wxChoice * m_DXF_plotUnits
 
wxStaticBoxSizer * m_svgOptionsSizer
 
wxStaticText * svgUnitLabel
 
wxChoice * m_svgUnits
 
wxStaticText * svgPrecisionLabel
 
wxSpinCtrl * m_svgPrecsision
 
WX_HTML_REPORT_PANELm_messagesPanel
 
wxBoxSizer * m_sizerButtons
 
wxButton * m_buttonDRC
 
wxStaticText * m_DRCExclusionsWarning
 
wxStdDialogButtonSizer * m_sdbSizer1
 
wxButton * m_sdbSizer1OK
 
wxButton * m_sdbSizer1Apply
 
wxButton * m_sdbSizer1Cancel
 
wxMenu * m_popMenu
 
EDA_UNITS m_units
 
std::string m_hash_key
 
bool m_firstPaintEvent
 
wxWindow * m_initialFocusTarget
 
WX_EVENT_LOOPm_qmodal_loop
 
bool m_qmodal_showing
 
WDO_ENABLE_DISABLEm_qmodal_parent_disabler
 
EDA_BASE_FRAMEm_parentFrame
 
std::vector< wxWindow * > m_tabOrder
 

Private Member Functions

void Plot (wxCommandEvent &event) override
 
void OnOutputDirectoryBrowseClicked (wxCommandEvent &event) override
 
void OnRightClick (wxMouseEvent &event) override
 
void OnPopUpLayers (wxCommandEvent &event) override
 
void SetPlotFormat (wxCommandEvent &event) override
 
void OnChangeDXFPlotMode (wxCommandEvent &event) override
 
void OnSetScaleOpt (wxCommandEvent &event) override
 
void CreateDrillFile (wxCommandEvent &event) override
 
void OnGerberX2Checked (wxCommandEvent &event) override
 
void onRunDRC (wxCommandEvent &event) override
 
void onBoardSetup (wxHyperlinkEvent &aEvent) override
 
void init_Dialog ()
 
void reInitDialog ()
 
void applyPlotSettings ()
 
PLOT_FORMAT getPlotFormat ()
 
void setPlotModeChoiceSelection (OUTLINE_MODE aPlotMode)
 

Private Attributes

PCB_EDIT_FRAMEm_parent
 
LSEQ m_layerList
 
double m_XScaleAdjust
 
double m_YScaleAdjust
 
int m_PSWidthAdjust
 
int m_widthAdjustMinValue
 
int m_widthAdjustMaxValue
 
UNIT_BINDER m_defaultPenSize
 
UNIT_BINDER m_trackWidthCorrection
 
wxString m_DRCWarningTemplate
 
PCB_PLOT_PARAMS m_plotOpts
 

Detailed Description

DIALOG_PLOT is the dialog to set the plot options, and create plot files in various formats.

Definition at line 40 of file dialog_plot.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protectedinherited

◆ HOLDER_TYPE

enum KIWAY_HOLDER::HOLDER_TYPE
inherited
Enumerator
DIALOG 
FRAME 
PANEL 

Definition at line 42 of file kiway_holder.h.

Constructor & Destructor Documentation

◆ DIALOG_PLOT()

DIALOG_PLOT::DIALOG_PLOT ( PCB_EDIT_FRAME parent)

Definition at line 48 of file dialog_plot.cpp.

48  :
49  DIALOG_PLOT_BASE( aParent ), m_parent( aParent ),
52 {
53  SetName( DLG_WINDOW_NAME );
54  m_plotOpts = aParent->GetPlotSettings();
56 
57  init_Dialog();
58 
59  // We use a sdbSizer to get platform-dependent ordering of the action buttons, but
60  // that requires us to correct the button labels here.
61  m_sdbSizer1OK->SetLabel( _( "Plot" ) );
62  m_sdbSizer1Apply->SetLabel( _( "Generate Drill Files..." ) );
63  m_sdbSizer1Cancel->SetLabel( _( "Close" ) );
64  m_sizerButtons->Layout();
65 
66  m_sdbSizer1OK->SetDefault();
67 
68  GetSizer()->Fit( this );
69  GetSizer()->SetSizeHints( this );
70 }
wxStaticText * m_widthAdjustLabel
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)
wxButton * m_sdbSizer1Cancel
wxStaticText * m_hpglPenUnits
wxButton * m_sdbSizer1OK
UNIT_BINDER m_trackWidthCorrection
Definition: dialog_plot.h:60
wxButton * m_sdbSizer1Apply
wxTextCtrl * m_widthAdjustCtrl
PCB_EDIT_FRAME * m_parent
Definition: dialog_plot.h:46
wxStaticText * m_hpglPenLabel
PCB_PLOT_PARAMS m_plotOpts
Definition: dialog_plot.h:64
wxStaticText * m_widthAdjustUnits
wxTextCtrl * m_hpglPenCtrl
wxString m_DRCWarningTemplate
Definition: dialog_plot.h:62
wxBoxSizer * m_sizerButtons
void init_Dialog()
Definition: dialog_plot.cpp:73
#define _(s)
Definition: 3d_actions.cpp:33
UNIT_BINDER m_defaultPenSize
Definition: dialog_plot.h:59
#define DLG_WINDOW_NAME
wxStaticText * m_DRCExclusionsWarning

References _, DLG_WINDOW_NAME, PCB_BASE_FRAME::GetPlotSettings(), init_Dialog(), DIALOG_PLOT_BASE::m_DRCExclusionsWarning, m_DRCWarningTemplate, m_plotOpts, DIALOG_PLOT_BASE::m_sdbSizer1Apply, DIALOG_PLOT_BASE::m_sdbSizer1Cancel, DIALOG_PLOT_BASE::m_sdbSizer1OK, and DIALOG_PLOT_BASE::m_sizerButtons.

Member Function Documentation

◆ applyPlotSettings()

void DIALOG_PLOT::applyPlotSettings ( )
private

Definition at line 621 of file dialog_plot.cpp.

622 {
623  REPORTER& reporter = m_messagesPanel->Reporter();
624  int sel;
625  PCB_PLOT_PARAMS tempOptions;
626 
627  tempOptions.SetExcludeEdgeLayer( m_excludeEdgeLayerOpt->GetValue() );
628  tempOptions.SetSubtractMaskFromSilk( m_subtractMaskFromSilk->GetValue() );
629  tempOptions.SetPlotFrameRef( m_plotSheetRef->GetValue() );
630  tempOptions.SetSketchPadsOnFabLayers( m_sketchPadsOnFabLayers->GetValue());
631  tempOptions.SetUseAuxOrigin( m_useAuxOriginCheckBox->GetValue() );
632  tempOptions.SetPlotValue( m_plotModuleValueOpt->GetValue() );
633  tempOptions.SetPlotReference( m_plotModuleRefOpt->GetValue() );
634  tempOptions.SetPlotInvisibleText( m_plotInvisibleText->GetValue() );
635  tempOptions.SetScaleSelection( m_scaleOpt->GetSelection() );
636 
637  sel = m_drillShapeOpt->GetSelection();
638  tempOptions.SetDrillMarksType( static_cast<PCB_PLOT_PARAMS::DrillMarksType>( sel ) );
639 
640  tempOptions.SetMirror( m_plotMirrorOpt->GetValue() );
641  tempOptions.SetPlotMode( m_plotModeOpt->GetSelection() == 1 ? SKETCH : FILLED );
642  tempOptions.SetDXFPlotPolygonMode( m_DXF_plotModeOpt->GetValue() );
643 
644  sel = m_DXF_plotUnits->GetSelection();
645  tempOptions.SetDXFPlotUnits( sel == 0 ? DXF_UNITS::INCHES : DXF_UNITS::MILLIMETERS );
646 
647  tempOptions.SetPlotViaOnMaskLayer( m_plotNoViaOnMaskOpt->GetValue() );
648 
649  if( !m_DXF_plotTextStrokeFontOpt->IsEnabled() ) // Currently, only DXF supports this option
650  tempOptions.SetTextMode( PLOT_TEXT_MODE::DEFAULT );
651  else
654 
655  // Update settings from text fields. Rewrite values back to the fields,
656  // since the values may have been constrained by the setters.
657  wxString msg;
658 
659  // read HPLG pen size (this param is stored in mils)
660  // However, due to issues when converting this value from or to mm
661  // that can slightly change the value, update this param only if it
662  // is in use
664  {
665  if( !tempOptions.SetHPGLPenDiameter( m_defaultPenSize.GetValue() / IU_PER_MILS ) )
666  {
668  msg.Printf( _( "HPGL pen size constrained." ) );
669  reporter.Report( msg, RPT_SEVERITY_INFO );
670  }
671  }
672  else // keep the last value (initial value if no HPGL plot made)
674 
675  // X scale
676  double tmpDouble;
677  msg = m_fineAdjustXCtrl->GetValue();
678  msg.ToDouble( &tmpDouble );
679 
680  if( !setDouble( &m_XScaleAdjust, tmpDouble, PLOT_MIN_SCALE, PLOT_MAX_SCALE ) )
681  {
682  msg.Printf( wxT( "%f" ), m_XScaleAdjust );
683  m_fineAdjustXCtrl->SetValue( msg );
684  msg.Printf( _( "X scale constrained." ) );
685  reporter.Report( msg, RPT_SEVERITY_INFO );
686  }
687 
688  // Y scale
689  msg = m_fineAdjustYCtrl->GetValue();
690  msg.ToDouble( &tmpDouble );
691 
692  if( !setDouble( &m_YScaleAdjust, tmpDouble, PLOT_MIN_SCALE, PLOT_MAX_SCALE ) )
693  {
694  msg.Printf( wxT( "%f" ), m_YScaleAdjust );
695  m_fineAdjustYCtrl->SetValue( msg );
696  msg.Printf( _( "Y scale constrained." ) );
697  reporter.Report( msg, RPT_SEVERITY_INFO );
698  }
699 
700  auto cfg = m_parent->GetPcbNewSettings();
701 
703  cfg->m_Plot.fine_scale_y = m_YScaleAdjust;
704 
705  cfg->m_Plot.check_zones_before_plotting = m_zoneFillCheck->GetValue();
706 
707  // PS Width correction
710  {
712  msg.Printf( _( "Width correction constrained. "
713  "The reasonable width correction value must be in a range of "
714  " [%s; %s] (%s) for current design rules." ),
718  reporter.Report( msg, RPT_SEVERITY_WARNING );
719  }
720 
721  // Store m_PSWidthAdjust in mm in user config
722  cfg->m_Plot.ps_fine_width_adjust = Iu2Millimeter( m_PSWidthAdjust );
723 
724  tempOptions.SetFormat( getPlotFormat() );
725 
726  tempOptions.SetDisableGerberMacros( m_disableApertMacros->GetValue() );
727  tempOptions.SetUseGerberProtelExtensions( m_useGerberExtensions->GetValue() );
728  tempOptions.SetUseGerberX2format( m_useGerberX2Format->GetValue() );
729  tempOptions.SetIncludeGerberNetlistInfo( m_useGerberNetAttributes->GetValue() );
730  tempOptions.SetCreateGerberJobFile( m_generateGerberJobFile->GetValue() );
731 
732  tempOptions.SetGerberPrecision( m_coordFormatCtrl->GetSelection() == 0 ? 5 : 6 );
733  tempOptions.SetSvgPrecision( m_svgPrecsision->GetValue(), m_svgUnits->GetSelection() );
734 
735  LSET selectedLayers;
736  for( unsigned i = 0; i < m_layerList.size(); i++ )
737  {
738  if( m_layerCheckListBox->IsChecked( i ) )
739  selectedLayers.set( m_layerList[i] );
740  }
741  // Get a list of copper layers that aren't being used by inverting enabled layers.
742  LSET disabledCopperLayers = LSET::AllCuMask() & ~m_parent->GetBoard()->GetEnabledLayers();
743  // Enable all of the disabled copper layers.
744  // If someone enables more copper layers they will be selected by default.
745  selectedLayers = selectedLayers | disabledCopperLayers;
746  tempOptions.SetLayerSelection( selectedLayers );
747 
748  tempOptions.SetNegative( m_plotPSNegativeOpt->GetValue() );
749  tempOptions.SetA4Output( m_forcePSA4OutputOpt->GetValue() );
750 
751  // Set output directory and replace backslashes with forward ones
752  wxString dirStr;
753  dirStr = m_outputDirectoryName->GetValue();
754  dirStr.Replace( wxT( "\\" ), wxT( "/" ) );
755  tempOptions.SetOutputDirectory( dirStr );
756 
757  if( !m_plotOpts.IsSameAs( tempOptions, false ) )
758  {
759  // First, mark board as modified only for parameters saved in file
760  if( !m_plotOpts.IsSameAs( tempOptions, true ) )
761  m_parent->OnModify();
762 
763  // Now, save any change, for the session
764  m_parent->SetPlotSettings( tempOptions );
765  m_plotOpts = tempOptions;
766  }
767 }
static LSET AllCuMask(int aCuLayerCount=MAX_CU_LAYERS)
Return a mask holding the requested number of Cu PCB_LAYER_IDs.
Definition: lset.cpp:749
void SetUseGerberProtelExtensions(bool aUse)
void SetPlotReference(bool aFlag)
void SetExcludeEdgeLayer(bool aFlag)
WX_HTML_REPORT_PANEL * m_messagesPanel
void SetScaleSelection(int aSelection)
LSEQ m_layerList
Definition: dialog_plot.h:47
void SetIncludeGerberNetlistInfo(bool aUse)
void SetDXFPlotPolygonMode(bool aFlag)
double m_YScaleAdjust
Definition: dialog_plot.h:50
void OnModify() override
Function OnModify must be called after a board change to set the modified flag.
wxCheckBox * m_useGerberExtensions
void SetGerberPrecision(int aPrecision)
void SetPlotViaOnMaskLayer(bool aFlag)
void SetLayerSelection(LSET aSelection)
void SetUseAuxOrigin(bool aAux)
wxCheckBox * m_plotPSNegativeOpt
#define PLOT_MIN_SCALE
Definition: pcbplot.h:56
wxCheckBox * m_excludeEdgeLayerOpt
void SetCreateGerberJobFile(bool aCreate)
void SetMirror(bool aFlag)
wxCheckBox * m_plotMirrorOpt
void SetTextMode(PLOT_TEXT_MODE aVal)
LSET GetEnabledLayers() const
A proxy function that calls the corresponding function in m_BoardSettings Returns a bit-mask of all t...
wxString GetAbbreviatedUnitsLabel(EDA_UNITS aUnit, EDA_DATA_TYPE aType)
Get the units string for a given units type.
Definition: base_units.cpp:467
wxCheckBox * m_zoneFillCheck
void SetDrillMarksType(DrillMarksType aVal)
PCBNEW_SETTINGS * GetPcbNewSettings()
REPORTER is a pure virtual class used to derive REPORTER objects from.
Definition: reporter.h:64
wxChoice * m_coordFormatCtrl
void SetDXFPlotUnits(DXF_UNITS aUnit)
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.
UNIT_BINDER m_trackWidthCorrection
Definition: dialog_plot.h:60
void SetA4Output(int aForce)
double m_XScaleAdjust
Definition: dialog_plot.h:48
wxTextCtrl * m_fineAdjustYCtrl
wxCheckBox * m_DXF_plotModeOpt
void SetPlotValue(bool aFlag)
EDA_UNITS GetUserUnits() const
Definition: dialog_shim.h:132
wxCheckBox * m_plotSheetRef
void SetPlotFrameRef(bool aFlag)
wxTextCtrl * m_fineAdjustXCtrl
void SetDisableGerberMacros(bool aDisable)
wxSpinCtrl * m_svgPrecsision
LSET is a set of PCB_LAYER_IDs.
PCB_EDIT_FRAME * m_parent
Definition: dialog_plot.h:46
int m_widthAdjustMaxValue
Definition: dialog_plot.h:57
PLOT_FORMAT getPlotFormat()
static bool setDouble(double *aResult, double aValue, double aMin, double aMax)
REPORTER & Reporter()
returns the reporter object that reports to this panel
#define PLOT_MAX_SCALE
Definition: pcbplot.h:57
int m_PSWidthAdjust
Definition: dialog_plot.h:52
wxCheckBox * m_forcePSA4OutputOpt
void SetSubtractMaskFromSilk(bool aSubtract)
void SetUseGerberX2format(bool aUse)
virtual void SetPlotSettings(const PCB_PLOT_PARAMS &aSettings)
wxCheckBox * m_useGerberNetAttributes
void SetOutputDirectory(wxString aDir)
wxCheckBox * m_disableApertMacros
wxChoice * m_DXF_plotUnits
void SetFormat(PLOT_FORMAT aFormat)
int m_widthAdjustMinValue
Definition: dialog_plot.h:56
wxCheckBox * m_generateGerberJobFile
PCB_PLOT_PARAMS handles plot parameters and options when plotting/printing a board.
wxTextCtrl * m_outputDirectoryName
void SetPlotInvisibleText(bool aFlag)
wxCheckBox * m_DXF_plotTextStrokeFontOpt
void SetPlotMode(OUTLINE_MODE aPlotMode)
PCB_PLOT_PARAMS m_plotOpts
Definition: dialog_plot.h:64
void SetNegative(bool aFlag)
void SetSvgPrecision(unsigned aPrecision, bool aUseInch)
wxChoice * m_scaleOpt
wxCheckBox * m_plotModuleRefOpt
bool SetHPGLPenDiameter(double aValue)
wxCheckBox * m_subtractMaskFromSilk
wxCheckBox * m_plotNoViaOnMaskOpt
wxCheckBox * m_plotModuleValueOpt
wxChoice * m_drillShapeOpt
#define _(s)
Definition: 3d_actions.cpp:33
static bool setInt(int *aResult, int aValue, int aMin, int aMax)
virtual void SetValue(int aValue)
Function SetValue Sets new value (in Internal Units) for the text field, taking care of units convers...
wxCheckBox * m_plotInvisibleText
double GetHPGLPenDiameter() const
wxCheckBox * m_sketchPadsOnFabLayers
bool IsSameAs(const PCB_PLOT_PARAMS &aPcbPlotParams, bool aCompareOnlySavedPrms) const
Compare current settings to aPcbPlotParams, including not saved parameters in brd file.
#define IU_PER_MILS
Definition: plotter.cpp:137
wxCheckBox * m_useAuxOriginCheckBox
DIALOG_PLOT m_Plot
wxChoice * m_plotModeOpt
virtual long long int GetValue()
Function GetValue Returns the current value in Internal Units.
wxString StringFromValue(EDA_UNITS aUnits, double aValue, bool aAddUnitSymbol, EDA_DATA_TYPE aType)
Function StringFromValue returns the string from aValue according to units (inch, mm ....
Definition: base_units.cpp:220
UNIT_BINDER m_defaultPenSize
Definition: dialog_plot.h:59
wxCheckBox * m_useGerberX2Format
BOARD * GetBoard() const
wxCheckListBox * m_layerCheckListBox
void SetSketchPadsOnFabLayers(bool aFlag)

References _, LSET::AllCuMask(), DEFAULT, FILLED, PCBNEW_SETTINGS::DIALOG_PLOT::fine_scale_x, GetAbbreviatedUnitsLabel(), PCB_BASE_FRAME::GetBoard(), BOARD::GetEnabledLayers(), PCB_PLOT_PARAMS::GetHPGLPenDiameter(), PCB_BASE_FRAME::GetPcbNewSettings(), getPlotFormat(), DIALOG_SHIM::GetUserUnits(), UNIT_BINDER::GetValue(), HPGL, INCHES, PCB_PLOT_PARAMS::IsSameAs(), IU_PER_MILS, DIALOG_PLOT_BASE::m_coordFormatCtrl, m_defaultPenSize, DIALOG_PLOT_BASE::m_disableApertMacros, DIALOG_PLOT_BASE::m_drillShapeOpt, DIALOG_PLOT_BASE::m_DXF_plotModeOpt, DIALOG_PLOT_BASE::m_DXF_plotTextStrokeFontOpt, DIALOG_PLOT_BASE::m_DXF_plotUnits, DIALOG_PLOT_BASE::m_excludeEdgeLayerOpt, DIALOG_PLOT_BASE::m_fineAdjustXCtrl, DIALOG_PLOT_BASE::m_fineAdjustYCtrl, DIALOG_PLOT_BASE::m_forcePSA4OutputOpt, DIALOG_PLOT_BASE::m_generateGerberJobFile, DIALOG_PLOT_BASE::m_layerCheckListBox, m_layerList, DIALOG_PLOT_BASE::m_messagesPanel, DIALOG_PLOT_BASE::m_outputDirectoryName, m_parent, PCBNEW_SETTINGS::m_Plot, DIALOG_PLOT_BASE::m_plotInvisibleText, DIALOG_PLOT_BASE::m_plotMirrorOpt, DIALOG_PLOT_BASE::m_plotModeOpt, DIALOG_PLOT_BASE::m_plotModuleRefOpt, DIALOG_PLOT_BASE::m_plotModuleValueOpt, DIALOG_PLOT_BASE::m_plotNoViaOnMaskOpt, m_plotOpts, DIALOG_PLOT_BASE::m_plotPSNegativeOpt, DIALOG_PLOT_BASE::m_plotSheetRef, m_PSWidthAdjust, DIALOG_PLOT_BASE::m_scaleOpt, DIALOG_PLOT_BASE::m_sketchPadsOnFabLayers, DIALOG_PLOT_BASE::m_subtractMaskFromSilk, DIALOG_PLOT_BASE::m_svgPrecsision, DIALOG_PLOT_BASE::m_svgUnits, m_trackWidthCorrection, DIALOG_PLOT_BASE::m_useAuxOriginCheckBox, DIALOG_PLOT_BASE::m_useGerberExtensions, DIALOG_PLOT_BASE::m_useGerberNetAttributes, DIALOG_PLOT_BASE::m_useGerberX2Format, m_widthAdjustMaxValue, m_widthAdjustMinValue, m_XScaleAdjust, m_YScaleAdjust, DIALOG_PLOT_BASE::m_zoneFillCheck, MILLIMETERS, NATIVE, PCB_EDIT_FRAME::OnModify(), PLOT_MAX_SCALE, PLOT_MIN_SCALE, REPORTER::Report(), WX_HTML_REPORT_PANEL::Reporter(), RPT_SEVERITY_INFO, RPT_SEVERITY_WARNING, PCB_PLOT_PARAMS::SetA4Output(), PCB_PLOT_PARAMS::SetCreateGerberJobFile(), PCB_PLOT_PARAMS::SetDisableGerberMacros(), setDouble(), PCB_PLOT_PARAMS::SetDrillMarksType(), PCB_PLOT_PARAMS::SetDXFPlotPolygonMode(), PCB_PLOT_PARAMS::SetDXFPlotUnits(), PCB_PLOT_PARAMS::SetExcludeEdgeLayer(), PCB_PLOT_PARAMS::SetFormat(), PCB_PLOT_PARAMS::SetGerberPrecision(), PCB_PLOT_PARAMS::SetHPGLPenDiameter(), PCB_PLOT_PARAMS::SetIncludeGerberNetlistInfo(), setInt(), PCB_PLOT_PARAMS::SetLayerSelection(), PCB_PLOT_PARAMS::SetMirror(), PCB_PLOT_PARAMS::SetNegative(), PCB_PLOT_PARAMS::SetOutputDirectory(), PCB_PLOT_PARAMS::SetPlotFrameRef(), PCB_PLOT_PARAMS::SetPlotInvisibleText(), PCB_PLOT_PARAMS::SetPlotMode(), PCB_PLOT_PARAMS::SetPlotReference(), PCB_BASE_FRAME::SetPlotSettings(), PCB_PLOT_PARAMS::SetPlotValue(), PCB_PLOT_PARAMS::SetPlotViaOnMaskLayer(), PCB_PLOT_PARAMS::SetScaleSelection(), PCB_PLOT_PARAMS::SetSketchPadsOnFabLayers(), PCB_PLOT_PARAMS::SetSubtractMaskFromSilk(), PCB_PLOT_PARAMS::SetSvgPrecision(), PCB_PLOT_PARAMS::SetTextMode(), PCB_PLOT_PARAMS::SetUseAuxOrigin(), PCB_PLOT_PARAMS::SetUseGerberProtelExtensions(), PCB_PLOT_PARAMS::SetUseGerberX2format(), UNIT_BINDER::SetValue(), SKETCH, and StringFromValue().

Referenced by CreateDrillFile(), and Plot().

◆ CreateDrillFile()

void DIALOG_PLOT::CreateDrillFile ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 328 of file dialog_plot.cpp.

329 {
330  // Be sure drill file use the same settings (axis option, plot directory)
331  // as plot files:
333 
334  DIALOG_GENDRILL dlg( m_parent, this );
335  dlg.ShowModal();
336 
337  // a few plot settings can be modified: take them in account
339  reInitDialog();
340 }
virtual const PCB_PLOT_PARAMS & GetPlotSettings() const
Function GetPlotSettings returns the PCB_PLOT_PARAMS for the BOARD owned by this frame.
PCB_EDIT_FRAME * m_parent
Definition: dialog_plot.h:46
PCB_PLOT_PARAMS m_plotOpts
Definition: dialog_plot.h:64
void reInitDialog()
void applyPlotSettings()

References applyPlotSettings(), PCB_BASE_FRAME::GetPlotSettings(), m_parent, m_plotOpts, and reInitDialog().

◆ DIALOG_PLOT_BASEOnContextMenu()

void DIALOG_PLOT_BASE::DIALOG_PLOT_BASEOnContextMenu ( wxMouseEvent &  event)
inlineinherited

Definition at line 156 of file dialog_plot_base.h.

157  {
158  this->PopupMenu( m_popMenu, event.GetPosition() );
159  }

References DIALOG_PLOT_BASE::m_popMenu.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ Enable()

bool DIALOG_SHIM::Enable ( bool  enable)
overrideinherited

Definition at line 268 of file dialog_shim.cpp.

269 {
270  // so we can do logging of this state change:
271  return wxDialog::Enable( enable );
272 }

◆ EndQuasiModal()

void DIALOG_SHIM::EndQuasiModal ( int  retCode)
inherited

Definition at line 387 of file dialog_shim.cpp.

388 {
389  // Hook up validator and transfer data from controls handling so quasi-modal dialogs
390  // handle validation in the same way as other dialogs.
391  if( ( retCode == wxID_OK ) && ( !Validate() || !TransferDataFromWindow() ) )
392  return;
393 
394  SetReturnCode( retCode );
395 
396  if( !IsQuasiModal() )
397  {
398  wxFAIL_MSG( "either DIALOG_SHIM::EndQuasiModal called twice or ShowQuasiModal"
399  "wasn't called" );
400  return;
401  }
402 
403  if( m_qmodal_loop )
404  {
405  if( m_qmodal_loop->IsRunning() )
406  m_qmodal_loop->Exit( 0 );
407  else
408  m_qmodal_loop->ScheduleExit( 0 );
409 
411  }
412 
415 
416  Show( false );
417 }
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:207
#define NULL
bool IsQuasiModal()
Definition: dialog_shim.h:124
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:210

References DIALOG_SHIM::IsQuasiModal(), DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, NULL, and DIALOG_SHIM::Show().

Referenced by HK_PROMPT_DIALOG::EndFlexible(), DIALOG_SHIM::OnButton(), DIALOG_EDIT_COMPONENTS_LIBID::onCancel(), DIALOG_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_LIB_SYMBOL_PROPERTIES::OnCancelButtonClick(), DIALOG_LIB_EDIT_PIN_TABLE::OnClose(), DIALOG_PRINT_GENERIC::onCloseButton(), DIALOG_CHOOSE_FOOTPRINT::OnCloseTimer(), DIALOG_CHOOSE_COMPONENT::OnCloseTimer(), DIALOG_SHIM::OnCloseWindow(), DIALOG_SYMBOL_PROPERTIES::OnEditLibrarySymbol(), DIALOG_SYMBOL_PROPERTIES::OnEditSymbol(), DIALOG_SYMBOL_PROPERTIES::OnExchangeSymbol(), HTML_MESSAGE_BOX::OnOKButtonClick(), DIALOG_SYMBOL_PROPERTIES::OnUpdateSymbol(), DIALOG_CHOOSE_FOOTPRINT::OnUseBrowser(), DIALOG_CHOOSE_COMPONENT::OnUseBrowser(), and DIALOG_SHIM::~DIALOG_SHIM().

◆ FinishDialogSettings()

void DIALOG_SHIM::FinishDialogSettings ( )
protectedinherited

In all dialogs, we must call the same functions to fix minimal dlg size, the default position and perhaps some others to fix a few issues depending on Windows Managers this helper function does these calls.

FinishDialogSettings must be called from derived classes, when all widgets are initialized, and therefore their size fixed. If TransferDataToWindow() is used to initialize widgets, at end of TransferDataToWindow, or better at end of a wxInitDialogEvent handler

In any case, the best way is to call it in a wxInitDialogEvent handler after calling TransfertDataToWindow(), which is the default wxInitDialogEvent handler wxDialog

Definition at line 146 of file dialog_shim.cpp.

147 {
148  // must be called from the constructor of derived classes,
149  // when all widgets are initialized, and therefore their size fixed
150 
151  // SetSizeHints fixes the minimal size of sizers in the dialog
152  // (SetSizeHints calls Fit(), so no need to call it)
153  GetSizer()->SetSizeHints( this );
154 }

Referenced by DIALOG_3D_VIEW_OPTIONS::DIALOG_3D_VIEW_OPTIONS(), DIALOG_ANNOTATE::DIALOG_ANNOTATE(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOM::DIALOG_BOM(), DIALOG_CHANGE_SYMBOLS::DIALOG_CHANGE_SYMBOLS(), DIALOG_CLEANUP_TRACKS_AND_VIAS::DIALOG_CLEANUP_TRACKS_AND_VIAS(), DIALOG_COPPER_ZONE::DIALOG_COPPER_ZONE(), DIALOG_DIMENSION_PROPERTIES::DIALOG_DIMENSION_PROPERTIES(), DIALOG_DRC::DIALOG_DRC(), DIALOG_EDIT_COMPONENTS_LIBID::DIALOG_EDIT_COMPONENTS_LIBID(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EDIT_SHEET_PIN::DIALOG_EDIT_SHEET_PIN(), DIALOG_ENUM_PADS::DIALOG_ENUM_PADS(), DIALOG_ERC::DIALOG_ERC(), DIALOG_EXCHANGE_FOOTPRINTS::DIALOG_EXCHANGE_FOOTPRINTS(), DIALOG_EXPORT_3DFILE::DIALOG_EXPORT_3DFILE(), DIALOG_EXPORT_IDF3::DIALOG_EXPORT_IDF3(), DIALOG_EXPORT_STEP::DIALOG_EXPORT_STEP(), DIALOG_EXPORT_SVG::DIALOG_EXPORT_SVG(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FOOTPRINT_WIZARD_LIST::DIALOG_FOOTPRINT_WIZARD_LIST(), DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS(), DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS(), DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS::DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS(), DIALOG_GLOBAL_LIB_TABLE_CONFIG::DIALOG_GLOBAL_LIB_TABLE_CONFIG(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMAGE_EDITOR::DIALOG_IMAGE_EDITOR(), DIALOG_IMPORTED_LAYERS::DIALOG_IMPORTED_LAYERS(), DIALOG_INSPECTOR::DIALOG_INSPECTOR(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_LIB_NEW_COMPONENT::DIALOG_LIB_NEW_COMPONENT(), DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES(), DIALOG_LIST_HOTKEYS::DIALOG_LIST_HOTKEYS(), DIALOG_MOVE_EXACT::DIALOG_MOVE_EXACT(), DIALOG_NETLIST::DIALOG_NETLIST(), DIALOG_NON_COPPER_ZONES_EDITOR::DIALOG_NON_COPPER_ZONES_EDITOR(), DIALOG_PAD_PRIMITIVE_POLY_PROPS::DIALOG_PAD_PRIMITIVE_POLY_PROPS(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PASTE_SPECIAL::DIALOG_PASTE_SPECIAL(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_PLOT_SCHEMATIC::DIALOG_PLOT_SCHEMATIC(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_PRINT_GENERIC::DIALOG_PRINT_GENERIC(), DIALOG_PRINT_USING_PRINTER::DIALOG_PRINT_USING_PRINTER(), DIALOG_PUSH_PAD_PROPERTIES::DIALOG_PUSH_PAD_PROPERTIES(), DIALOG_REGULATOR_FORM::DIALOG_REGULATOR_FORM(), DIALOG_RULE_AREA_PROPERTIES::DIALOG_RULE_AREA_PROPERTIES(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SELECT_NET_FROM_LIST::DIALOG_SELECT_NET_FROM_LIST(), DIALOG_SHEET_PROPERTIES::DIALOG_SHEET_PROPERTIES(), DIALOG_SWAP_LAYERS::DIALOG_SWAP_LAYERS(), DIALOG_SYMBOL_PROPERTIES::DIALOG_SYMBOL_PROPERTIES(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), DIALOG_TRACK_VIA_SIZE::DIALOG_TRACK_VIA_SIZE(), DIALOG_UNUSED_PAD_LAYERS::DIALOG_UNUSED_PAD_LAYERS(), DIALOG_UPDATE_FROM_PCB::DIALOG_UPDATE_FROM_PCB(), DIALOG_UPDATE_PCB::DIALOG_UPDATE_PCB(), DLG_SELECT_3DMODEL::DLG_SELECT_3DMODEL(), DIALOG_CONSTRAINTS_REPORTER::FinishInitialization(), PAGED_DIALOG::finishInitialization(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_EDIT_LIBRARY_TABLES::InstallPanel(), NETLIST_DIALOG::NETLIST_DIALOG(), DIALOG_GRAPHIC_ITEM_PROPERTIES::OnInitDlg(), DIALOG_SHEET_PROPERTIES::OnInitDlg(), DIALOG_SYMBOL_PROPERTIES::OnInitDlg(), DIALOG_SIM_SETTINGS::onInitDlg(), DIALOG_SPICE_MODEL::onInitDlg(), DIALOG_SIGNAL_LIST::TransferDataToWindow(), DIALOG_BOARD_STATISTICS::TransferDataToWindow(), and DIALOG_COLOR_PICKER::TransferDataToWindow().

◆ FixOSXCancelButtonIssue()

static void DIALOG_SHIM::FixOSXCancelButtonIssue ( wxWindow *  aWindow)
staticinherited

◆ getPlotFormat()

PLOT_FORMAT DIALOG_PLOT::getPlotFormat ( )
private

Definition at line 404 of file dialog_plot.cpp.

405 {
406  // plot format id's are ordered like displayed in m_plotFormatOpt
409 
410  return plotFmt[m_plotFormatOpt->GetSelection()];
411 }
wxChoice * m_plotFormatOpt
PLOT_FORMAT
The set of supported output plot formats.
Definition: plotter.h:67

References DXF, GERBER, HPGL, DIALOG_PLOT_BASE::m_plotFormatOpt, PDF, POST, and SVG.

Referenced by applyPlotSettings(), Plot(), reInitDialog(), and SetPlotFormat().

◆ GetType()

HOLDER_TYPE KIWAY_HOLDER::GetType ( )
inlineinherited

Definition at line 49 of file kiway_holder.h.

49 { return m_type; }
HOLDER_TYPE m_type
Definition: kiway_holder.h:82

References KIWAY_HOLDER::m_type.

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ GetUserUnits()

◆ HorizPixelsFromDU()

int DIALOG_SHIM::HorizPixelsFromDU ( int  x)
protectedinherited

Convert an integer number of dialog units to pixels, horizontally.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 164 of file dialog_shim.cpp.

165 {
166  wxSize sz( x, 0 );
167  return ConvertDialogToPixels( sz ).x;
168 }

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), and DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT().

◆ init_Dialog()

void DIALOG_PLOT::init_Dialog ( )
private

Definition at line 73 of file dialog_plot.cpp.

74 {
75  BOARD* board = m_parent->GetBoard();
76  wxFileName fileName;
77 
78  auto cfg = m_parent->GetPcbNewSettings();
79 
80  m_XScaleAdjust = cfg->m_Plot.fine_scale_x;
81  m_YScaleAdjust = cfg->m_Plot.fine_scale_y;
82 
83  m_zoneFillCheck->SetValue( cfg->m_Plot.check_zones_before_plotting );
84 
85  m_browseButton->SetBitmap( KiBitmap( folder_xpm ) );
86 
87  // m_PSWidthAdjust is stored in mm in user config
88  m_PSWidthAdjust = KiROUND( cfg->m_Plot.ps_fine_width_adjust * IU_PER_MM );
89 
90  // The reasonable width correction value must be in a range of
91  // [-(MinTrackWidth-1), +(MinClearanceValue-1)] decimils.
94 
95  switch( m_plotOpts.GetFormat() )
96  {
97  default:
98  case PLOT_FORMAT::GERBER: m_plotFormatOpt->SetSelection( 0 ); break;
99  case PLOT_FORMAT::POST: m_plotFormatOpt->SetSelection( 1 ); break;
100  case PLOT_FORMAT::SVG: m_plotFormatOpt->SetSelection( 2 ); break;
101  case PLOT_FORMAT::DXF: m_plotFormatOpt->SetSelection( 3 ); break;
102  case PLOT_FORMAT::HPGL: m_plotFormatOpt->SetSelection( 4 ); break;
103  case PLOT_FORMAT::PDF: m_plotFormatOpt->SetSelection( 5 ); break;
104  }
105 
106  // Set units and value for HPGL pen size (this param is in mils).
108 
109  // Test for a reasonable scale value. Set to 1 if problem
113 
116 
117  // Test for a reasonable PS width correction value. Set to 0 if problem.
118  if( m_PSWidthAdjust < m_widthAdjustMinValue || m_PSWidthAdjust > m_widthAdjustMaxValue )
119  m_PSWidthAdjust = 0.;
120 
122 
125 
126  // Could devote a PlotOrder() function in place of UIOrder().
127  m_layerList = board->GetEnabledLayers().UIOrder();
128 
129  // Populate the check list box by all enabled layers names
130  for( LSEQ seq = m_layerList; seq; ++seq )
131  {
132  PCB_LAYER_ID layer = *seq;
133 
134  int checkIndex = m_layerCheckListBox->Append( board->GetLayerName( layer ) );
135 
136  if( m_plotOpts.GetLayerSelection()[layer] )
137  m_layerCheckListBox->Check( checkIndex );
138  }
139 
140  // Option for disabling Gerber Aperture Macro (for broken Gerber readers)
142 
143  // Option for using proper Gerber extensions. Note also Protel extensions are
144  // a broken feature. However, for now, we need to handle it.
146 
147  // Option for including Gerber attributes, from Gerber X2 format, in the output
148  // In X1 format, they will be added as comments
150 
151  // Option for including Gerber netlist info (from Gerber X2 format) in the output
153 
154  // Option to generate a Gerber job file
156 
157  // Gerber precision for coordinates
158  m_coordFormatCtrl->SetSelection( m_plotOpts.GetGerberPrecision() == 5 ? 0 : 1 );
159 
160  // SVG precision and units for coordinates
162  m_svgUnits->SetSelection( m_plotOpts.GetSvgUseInch() );
163 
164  // Option for excluding contents of "Edges Pcb" layer
166 
167  // Option to exclude pads from silkscreen layers
169 
170  // Option to tent vias
172 
173  // Option to use aux origin
175 
176  // Option to plot page references:
178 
179  // Options to plot texts on footprints
183 
184  // Options to plot pads and vias holes
185  m_drillShapeOpt->SetSelection( m_plotOpts.GetDrillMarksType() );
186 
187  // Scale option
188  m_scaleOpt->SetSelection( m_plotOpts.GetScaleSelection() );
189 
190  // Plot mode
192 
193  // DXF outline mode
195 
196  // DXF text mode
198 
199  // DXF units selection
200  m_DXF_plotUnits->SetSelection( m_plotOpts.GetDXFPlotUnits() == DXF_UNITS::INCHES ? 0 : 1);
201 
202  // Plot mirror option
203  m_plotMirrorOpt->SetValue( m_plotOpts.GetMirror() );
204 
205  // Put vias on mask layer
207 
208  // Initialize a few other parameters, which can also be modified
209  // from the drill dialog
210  reInitDialog();
211 
212  // Update options values:
213  wxCommandEvent cmd_event;
214  SetPlotFormat( cmd_event );
215  OnSetScaleOpt( cmd_event );
216 }
OUTLINE_MODE GetPlotMode() const
LSEQ m_layerList
Definition: dialog_plot.h:47
const BITMAP_OPAQUE folder_xpm[1]
Definition: folder.cpp:20
double m_YScaleAdjust
Definition: dialog_plot.h:50
bool GetCreateGerberJobFile() const
wxCheckBox * m_useGerberExtensions
const wxString GetLayerName(PCB_LAYER_ID aLayer) const
Return the name of a aLayer.
bool GetPlotFrameRef() const
bool GetDXFPlotPolygonMode() const
int GetSmallestClearanceValue()
Function GetSmallestClearanceValue.
static constexpr double IU_PER_MM
Mock up a conversion function.
wxCheckBox * m_plotPSNegativeOpt
#define PLOT_MIN_SCALE
Definition: pcbplot.h:56
bool GetDisableGerberMacros() const
wxCheckBox * m_excludeEdgeLayerOpt
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Definition: class_board.h:558
wxCheckBox * m_plotMirrorOpt
LSET GetEnabledLayers() const
A proxy function that calls the corresponding function in m_BoardSettings Returns a bit-mask of all t...
wxCheckBox * m_zoneFillCheck
PCBNEW_SETTINGS * GetPcbNewSettings()
wxChoice * m_plotFormatOpt
wxChoice * m_coordFormatCtrl
UNIT_BINDER m_trackWidthCorrection
Definition: dialog_plot.h:60
bool GetUseGerberX2format() const
double m_XScaleAdjust
Definition: dialog_plot.h:48
wxTextCtrl * m_fineAdjustYCtrl
wxCheckBox * m_DXF_plotModeOpt
bool GetMirror() const
wxCheckBox * m_plotSheetRef
wxBitmap KiBitmap(BITMAP_DEF aBitmap)
Construct a wxBitmap from a memory record, held in a BITMAP_DEF.
Definition: bitmap.cpp:82
void SetPlotFormat(wxCommandEvent &event) override
wxTextCtrl * m_fineAdjustXCtrl
PCB_LAYER_ID
A quick note on layer IDs:
bool GetA4Output() const
int GetGerberPrecision() const
wxSpinCtrl * m_svgPrecsision
PLOT_FORMAT GetFormat() const
PCB_EDIT_FRAME * m_parent
Definition: dialog_plot.h:46
int m_widthAdjustMaxValue
Definition: dialog_plot.h:57
bool GetUseGerberProtelExtensions() const
unsigned GetSvgPrecision() const
#define PLOT_MAX_SCALE
Definition: pcbplot.h:57
bool GetIncludeGerberNetlistInfo() const
int m_PSWidthAdjust
Definition: dialog_plot.h:52
PLOT_TEXT_MODE GetTextMode() const
wxCheckBox * m_forcePSA4OutputOpt
void setPlotModeChoiceSelection(OUTLINE_MODE aPlotMode)
Definition: dialog_plot.h:85
void OnSetScaleOpt(wxCommandEvent &event) override
wxCheckBox * m_useGerberNetAttributes
wxCheckBox * m_disableApertMacros
wxChoice * m_DXF_plotUnits
int m_widthAdjustMinValue
Definition: dialog_plot.h:56
wxCheckBox * m_generateGerberJobFile
LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
wxCheckBox * m_DXF_plotTextStrokeFontOpt
PCB_PLOT_PARAMS m_plotOpts
Definition: dialog_plot.h:64
bool GetPlotValue() const
wxChoice * m_scaleOpt
void reInitDialog()
wxCheckBox * m_plotModuleRefOpt
wxCheckBox * m_subtractMaskFromSilk
bool GetSketchPadsOnFabLayers() const
wxCheckBox * m_plotNoViaOnMaskOpt
wxCheckBox * m_plotModuleValueOpt
bool GetPlotViaOnMaskLayer() const
wxChoice * m_drillShapeOpt
Information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:186
bool GetSubtractMaskFromSilk() const
virtual void SetValue(int aValue)
Function SetValue Sets new value (in Internal Units) for the text field, taking care of units convers...
wxCheckBox * m_plotInvisibleText
double GetHPGLPenDiameter() const
wxCheckBox * m_sketchPadsOnFabLayers
#define IU_PER_MILS
Definition: plotter.cpp:137
constexpr ret_type KiROUND(fp_type v)
Round a floating point number to an integer using "round halfway cases away from zero".
Definition: util.h:68
wxCheckBox * m_useAuxOriginCheckBox
bool GetPlotInvisibleText() const
wxString StringFromValue(EDA_UNITS aUnits, double aValue, bool aAddUnitSymbol, EDA_DATA_TYPE aType)
Function StringFromValue returns the string from aValue according to units (inch, mm ....
Definition: base_units.cpp:220
int GetScaleSelection() const
DXF_UNITS GetDXFPlotUnits() const
UNIT_BINDER m_defaultPenSize
Definition: dialog_plot.h:59
bool GetSvgUseInch() const
wxBitmapButton * m_browseButton
bool GetNegative() const
wxCheckBox * m_useGerberX2Format
BOARD * GetBoard() const
bool GetUseAuxOrigin() const
wxCheckListBox * m_layerCheckListBox
LSET GetLayerSelection() const
LSEQ UIOrder() const
Definition: lset.cpp:887
DrillMarksType GetDrillMarksType() const
bool GetPlotReference() const
bool GetExcludeEdgeLayer() const

References DEFAULT, DXF, folder_xpm, GERBER, PCB_PLOT_PARAMS::GetA4Output(), PCB_BASE_FRAME::GetBoard(), PCB_PLOT_PARAMS::GetCreateGerberJobFile(), BOARD::GetDesignSettings(), PCB_PLOT_PARAMS::GetDisableGerberMacros(), PCB_PLOT_PARAMS::GetDrillMarksType(), PCB_PLOT_PARAMS::GetDXFPlotPolygonMode(), PCB_PLOT_PARAMS::GetDXFPlotUnits(), BOARD::GetEnabledLayers(), PCB_PLOT_PARAMS::GetExcludeEdgeLayer(), PCB_PLOT_PARAMS::GetFormat(), PCB_PLOT_PARAMS::GetGerberPrecision(), PCB_PLOT_PARAMS::GetHPGLPenDiameter(), PCB_PLOT_PARAMS::GetIncludeGerberNetlistInfo(), BOARD::GetLayerName(), PCB_PLOT_PARAMS::GetLayerSelection(), PCB_PLOT_PARAMS::GetMirror(), PCB_PLOT_PARAMS::GetNegative(), PCB_BASE_FRAME::GetPcbNewSettings(), PCB_PLOT_PARAMS::GetPlotFrameRef(), PCB_PLOT_PARAMS::GetPlotInvisibleText(), PCB_PLOT_PARAMS::GetPlotMode(), PCB_PLOT_PARAMS::GetPlotReference(), PCB_PLOT_PARAMS::GetPlotValue(), PCB_PLOT_PARAMS::GetPlotViaOnMaskLayer(), PCB_PLOT_PARAMS::GetScaleSelection(), PCB_PLOT_PARAMS::GetSketchPadsOnFabLayers(), BOARD_DESIGN_SETTINGS::GetSmallestClearanceValue(), PCB_PLOT_PARAMS::GetSubtractMaskFromSilk(), PCB_PLOT_PARAMS::GetSvgPrecision(), PCB_PLOT_PARAMS::GetSvgUseInch(), PCB_PLOT_PARAMS::GetTextMode(), PCB_PLOT_PARAMS::GetUseAuxOrigin(), PCB_PLOT_PARAMS::GetUseGerberProtelExtensions(), PCB_PLOT_PARAMS::GetUseGerberX2format(), HPGL, INCHES, IU_PER_MILS, IU_PER_MM, KiBitmap(), KiROUND(), DIALOG_PLOT_BASE::m_browseButton, DIALOG_PLOT_BASE::m_coordFormatCtrl, m_defaultPenSize, DIALOG_PLOT_BASE::m_disableApertMacros, DIALOG_PLOT_BASE::m_drillShapeOpt, DIALOG_PLOT_BASE::m_DXF_plotModeOpt, DIALOG_PLOT_BASE::m_DXF_plotTextStrokeFontOpt, DIALOG_PLOT_BASE::m_DXF_plotUnits, DIALOG_PLOT_BASE::m_excludeEdgeLayerOpt, DIALOG_PLOT_BASE::m_fineAdjustXCtrl, DIALOG_PLOT_BASE::m_fineAdjustYCtrl, DIALOG_PLOT_BASE::m_forcePSA4OutputOpt, DIALOG_PLOT_BASE::m_generateGerberJobFile, DIALOG_PLOT_BASE::m_layerCheckListBox, m_layerList, m_parent, DIALOG_PLOT_BASE::m_plotFormatOpt, DIALOG_PLOT_BASE::m_plotInvisibleText, DIALOG_PLOT_BASE::m_plotMirrorOpt, DIALOG_PLOT_BASE::m_plotModuleRefOpt, DIALOG_PLOT_BASE::m_plotModuleValueOpt, DIALOG_PLOT_BASE::m_plotNoViaOnMaskOpt, m_plotOpts, DIALOG_PLOT_BASE::m_plotPSNegativeOpt, DIALOG_PLOT_BASE::m_plotSheetRef, m_PSWidthAdjust, DIALOG_PLOT_BASE::m_scaleOpt, DIALOG_PLOT_BASE::m_sketchPadsOnFabLayers, DIALOG_PLOT_BASE::m_subtractMaskFromSilk, DIALOG_PLOT_BASE::m_svgPrecsision, DIALOG_PLOT_BASE::m_svgUnits, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, m_trackWidthCorrection, DIALOG_PLOT_BASE::m_useAuxOriginCheckBox, DIALOG_PLOT_BASE::m_useGerberExtensions, DIALOG_PLOT_BASE::m_useGerberNetAttributes, DIALOG_PLOT_BASE::m_useGerberX2Format, m_widthAdjustMaxValue, m_widthAdjustMinValue, m_XScaleAdjust, m_YScaleAdjust, DIALOG_PLOT_BASE::m_zoneFillCheck, OnSetScaleOpt(), PDF, PLOT_MAX_SCALE, PLOT_MIN_SCALE, POST, reInitDialog(), SetPlotFormat(), setPlotModeChoiceSelection(), UNIT_BINDER::SetValue(), StringFromValue(), SVG, LSET::UIOrder(), and UNSCALED.

Referenced by DIALOG_PLOT().

◆ IsCtrl()

static bool DIALOG_SHIM::IsCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 137 of file dialog_shim.h.

138  {
139  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
140  !e.ShiftDown() && !e.MetaDown();
141  }

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook().

◆ IsQuasiModal()

◆ IsShiftCtrl()

static bool DIALOG_SHIM::IsShiftCtrl ( int  aChar,
const wxKeyEvent &  e 
)
inlinestaticinherited

Definition at line 143 of file dialog_shim.h.

144  {
145  return e.GetKeyCode() == aChar && e.ControlDown() && !e.AltDown() &&
146  e.ShiftDown() && !e.MetaDown();
147  }

Referenced by DIALOG_TEXT_PROPERTIES::OnCharHook().

◆ Kiway()

KIWAY& KIWAY_HOLDER::Kiway ( ) const
inlineinherited

Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in.

A KIWAY_HOLDER is not necessarily a KIWAY_PLAYER.

Definition at line 56 of file kiway_holder.h.

57  {
58  wxASSERT( m_kiway ); // smoke out bugs in Debug build, then Release runs fine.
59  return *m_kiway;
60  }
KIWAY * m_kiway
Definition: kiway_holder.h:81

References KIWAY_HOLDER::m_kiway.

Referenced by TREEPROJECT_ITEM::Activate(), FOOTPRINT_VIEWER_FRAME::AddFootprintToPCB(), PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_CONTROL::AddSymbolToSchematic(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), LIB_EDIT_FRAME::canCloseWindow(), SCH_EDIT_FRAME::canCloseWindow(), KICAD_MANAGER_FRAME::CloseProject(), COMMON_CONTROL::ConfigurePaths(), DIALOG_CHOOSE_FOOTPRINT::ConstructRightPanel(), DIALOG_CHOOSE_COMPONENT::ConstructRightPanel(), PCB_BASE_FRAME::CreateAndShow3D_Frame(), CVPCB_MAINFRAME::CVPCB_MAINFRAME(), DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), DIALOG_SHIM::DIALOG_SHIM(), CVPCB_MAINFRAME::DisplayStatus(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), PCB_EDITOR_CONTROL::EditFpInFpEditor(), SCH_EDITOR_CONTROL::EditWithLibEdit(), BACK_ANNOTATE::FetchNetlistFromPCB(), DISPLAY_FOOTPRINTS_FRAME::GetModule(), PCB_EDIT_FRAME::importFile(), KICAD_MANAGER_FRAME::ImportNonKiCadProject(), KICAD_MANAGER_FRAME::language_change(), KIWAY_PLAYER::language_change(), DIALOG_CHANGE_SYMBOLS::launchMatchIdSymbolBrowser(), DIALOG_CHANGE_SYMBOLS::launchNewIdSymbolBrowser(), LIB_TREE_MODEL_ADAPTER::LIB_TREE_MODEL_ADAPTER(), CVPCB_MAINFRAME::LoadFootprintFiles(), TEXT_BUTTON_SYMBOL_CHOOSER::OnButtonClick(), TEXT_BUTTON_FP_CHOOSER::OnButtonClick(), PL_EDITOR_FRAME::OnExit(), SCH_EDIT_FRAME::OnExit(), FOOTPRINT_EDIT_FRAME::OnExitKiCad(), FOOTPRINT_VIEWER_FRAME::OnExitKiCad(), LIB_EDIT_FRAME::OnExitKiCad(), SAVE_AS_TRAVERSER::OnFile(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), SCH_EDIT_FRAME::OnOpenCvpcb(), SCH_EDIT_FRAME::OnOpenPcbnew(), EDA_BASE_FRAME::OnPreferences(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_EDIT_ONE_FIELD::OnTextValueSelectButtonClick(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), FOOTPRINT_EDIT_FRAME::OnUpdateInsertModuleInBoard(), FOOTPRINT_EDIT_FRAME::OnUpdateLoadModuleFromBoard(), SCH_EDIT_FRAME::OnUpdatePCB(), PANEL_PCBNEW_COLOR_SETTINGS::PANEL_PCBNEW_COLOR_SETTINGS(), KIWAY_HOLDER::Prj(), SCH_EDIT_TOOL::Properties(), BACK_ANNOTATE::PushNewLinksToPCB(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), LIB_EDIT_FRAME::refreshSchematic(), SCH_EDITOR_CONTROL::rescueProject(), EE_INSPECTION_TOOL::RunSimulation(), CVPCB_MAINFRAME::SaveFootprintAssociation(), FOOTPRINT_EDIT_FRAME::SaveFootprintToBoard(), LIB_TREE_MODEL_ADAPTER::SavePinnedItems(), SCH_BASE_FRAME::SelectComponentFromLibBrowser(), SCH_EDIT_FRAME::SendCrossProbeClearHighlight(), SCH_EDIT_FRAME::SendCrossProbeNetName(), PCB_EDIT_FRAME::SendCrossProbeNetName(), CVPCB_MAINFRAME::SendMessageToEESCHEMA(), PCB_EDIT_FRAME::SendMessageToEESCHEMA(), SCH_EDIT_FRAME::SendMessageToPCBNEW(), SCH_EDIT_FRAME::sendNetlistToCvpcb(), SCH_EDIT_FRAME::SetCrossProbeConnection(), CVPCB_CONTROL::ShowFootprintViewer(), COMMON_CONTROL::ShowLibraryTable(), COMMON_CONTROL::ShowPlayer(), KICAD_MANAGER_CONTROL::ShowPlayer(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), PCB_EDITOR_CONTROL::UpdateSchematicFromPCB(), LIB_CONTROL::UpdateSymbolInSchematic(), and DIALOG_EXCHANGE_FOOTPRINTS::ViewAndSelectFootprint().

◆ onBoardSetup()

void DIALOG_PLOT::onBoardSetup ( wxHyperlinkEvent &  aEvent)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 943 of file dialog_plot.cpp.

944 {
945  PCB_EDIT_FRAME* parent = dynamic_cast<PCB_EDIT_FRAME*>( GetParent() );
946 
947  if( parent )
948  {
949  parent->ShowBoardSetupDialog( _( "Solder Mask/Paste" ) );
950 
951  // Update warnings on return to this dialog
952  reInitDialog();
953  }
954 }
void ShowBoardSetupDialog(const wxString &aInitialPage=wxEmptyString)
Function ShowBoardSetupDialog.
void reInitDialog()
#define _(s)
Definition: 3d_actions.cpp:33
PCB_EDIT_FRAME is the main frame for Pcbnew.

References _, reInitDialog(), and PCB_EDIT_FRAME::ShowBoardSetupDialog().

◆ OnChangeDXFPlotMode()

void DIALOG_PLOT::OnChangeDXFPlotMode ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 343 of file dialog_plot.cpp.

344 {
345  // m_DXF_plotTextStrokeFontOpt is disabled if m_DXF_plotModeOpt
346  // is checked (plot in DXF polygon mode)
347  m_DXF_plotTextStrokeFontOpt->Enable( !m_DXF_plotModeOpt->GetValue() );
348 
349  // if m_DXF_plotTextStrokeFontOpt option is disabled (plot DXF in polygon mode),
350  // force m_DXF_plotTextStrokeFontOpt to true to use Pcbnew stroke font
351  if( !m_DXF_plotTextStrokeFontOpt->IsEnabled() )
352  m_DXF_plotTextStrokeFontOpt->SetValue( true );
353 }
wxCheckBox * m_DXF_plotModeOpt
wxCheckBox * m_DXF_plotTextStrokeFontOpt

References DIALOG_PLOT_BASE::m_DXF_plotModeOpt, and DIALOG_PLOT_BASE::m_DXF_plotTextStrokeFontOpt.

Referenced by SetPlotFormat().

◆ OnCharHook()

void DIALOG_SHIM::OnCharHook ( wxKeyEvent &  aEvt)
protectedvirtualinherited

Reimplemented in DIALOG_CHOOSE_COMPONENT, HK_PROMPT_DIALOG, DIALOG_TEXT_PROPERTIES, and HTML_MESSAGE_BOX.

Definition at line 478 of file dialog_shim.cpp.

479 {
480  if( aEvt.GetKeyCode() == 'U' && aEvt.GetModifiers() == wxMOD_CONTROL )
481  {
482  if( m_parentFrame )
483  {
485  return;
486  }
487  }
488  // shift-return (Mac default) or Ctrl-Return (GTK) for OK
489  else if( aEvt.GetKeyCode() == WXK_RETURN && ( aEvt.ShiftDown() || aEvt.ControlDown() ) )
490  {
491  wxPostEvent( this, wxCommandEvent( wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK ) );
492  return;
493  }
494  else if( aEvt.GetKeyCode() == WXK_TAB && !aEvt.ControlDown() )
495  {
496  wxWindow* currentWindow = wxWindow::FindFocus();
497  int currentIdx = -1;
498  int delta = aEvt.ShiftDown() ? -1 : 1;
499 
500  auto advance = [&]( int& idx )
501  {
502  // Wrap-around modulus
503  int size = m_tabOrder.size();
504  idx = ( ( idx + delta ) % size + size ) % size;
505  };
506 
507  for( size_t i = 0; i < m_tabOrder.size(); ++i )
508  {
509  if( m_tabOrder[i] == currentWindow )
510  {
511  currentIdx = (int) i;
512  break;
513  }
514  }
515 
516  if( currentIdx >= 0 )
517  {
518  advance( currentIdx );
519 
520  //todo: We don't currently have non-textentry dialog boxes but this will break if
521  // we add them.
522 #ifdef __APPLE__
523  while( dynamic_cast<wxTextEntry*>( m_tabOrder[ currentIdx ] ) == nullptr )
524  advance( currentIdx );
525 #endif
526 
527  m_tabOrder[ currentIdx ]->SetFocus();
528  return;
529  }
530  }
531 
532  aEvt.Skip();
533 }
std::vector< wxWindow * > m_tabOrder
Definition: dialog_shim.h:214
EDA_BASE_FRAME * m_parentFrame
Definition: dialog_shim.h:212
virtual void ToggleUserUnits()

References DIALOG_SHIM::m_parentFrame, DIALOG_SHIM::m_tabOrder, and EDA_BASE_FRAME::ToggleUserUnits().

◆ OnGerberX2Checked()

void DIALOG_PLOT::OnGerberX2Checked ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 770 of file dialog_plot.cpp.

771 {
772  // Currently: do nothing
773 }

◆ OnInitDialog()

virtual void DIALOG_PLOT_BASE::OnInitDialog ( wxInitDialogEvent &  event)
inlineprotectedvirtualinherited

Definition at line 137 of file dialog_plot_base.h.

137 { event.Skip(); }

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE(), and DIALOG_PLOT_BASE::~DIALOG_PLOT_BASE().

◆ OnOutputDirectoryBrowseClicked()

void DIALOG_PLOT::OnOutputDirectoryBrowseClicked ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 368 of file dialog_plot.cpp.

369 {
370  // Build the absolute path of current output directory to preselect it in the file browser.
371  wxString path = ExpandEnvVarSubstitutions( m_outputDirectoryName->GetValue(), &Prj() );
372  path = Prj().AbsolutePath( path );
373 
374  wxDirDialog dirDialog( this, _( "Select Output Directory" ), path );
375 
376  if( dirDialog.ShowModal() == wxID_CANCEL )
377  return;
378 
379  wxFileName dirName = wxFileName::DirName( dirDialog.GetPath() );
380 
381  wxFileName fn( Prj().AbsolutePath( m_parent->GetBoard()->GetFileName() ) );
382  wxString defaultPath = fn.GetPathWithSep();
383  wxString msg;
384  wxFileName relPathTest; // Used to test if we can make the path relative
385 
386  relPathTest.Assign( dirDialog.GetPath() );
387 
388  // Test if making the path relative is possible before asking the user if they want to do it
389  if( relPathTest.MakeRelativeTo( defaultPath ) )
390  {
391  msg.Printf( _( "Do you want to use a path relative to\n\"%s\"" ), defaultPath );
392 
393  wxMessageDialog dialog( this, msg, _( "Plot Output Directory" ),
394  wxYES_NO | wxICON_QUESTION | wxYES_DEFAULT );
395 
396  if( dialog.ShowModal() == wxID_YES )
397  dirName.MakeRelativeTo( defaultPath );
398  }
399 
400  m_outputDirectoryName->SetValue( dirName.GetFullPath() );
401 }
const wxString ExpandEnvVarSubstitutions(const wxString &aString, PROJECT *aProject)
Replace any environment variable & text variable references with their values.
Definition: common.cpp:255
const wxString & GetFileName() const
Definition: class_board.h:279
VTBL_ENTRY const wxString AbsolutePath(const wxString &aFileName) const
Function AbsolutePath fixes up aFileName if it is relative to the project's directory to be an absolu...
Definition: project.cpp:269
PCB_EDIT_FRAME * m_parent
Definition: dialog_plot.h:46
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
wxTextCtrl * m_outputDirectoryName
#define _(s)
Definition: 3d_actions.cpp:33
BOARD * GetBoard() const

References _, PROJECT::AbsolutePath(), ExpandEnvVarSubstitutions(), PCB_BASE_FRAME::GetBoard(), BOARD::GetFileName(), DIALOG_PLOT_BASE::m_outputDirectoryName, m_parent, and KIWAY_HOLDER::Prj().

◆ OnPaint()

void DIALOG_SHIM::OnPaint ( wxPaintEvent &  event)
inherited

Definition at line 294 of file dialog_shim.cpp.

295 {
296  if( m_firstPaintEvent )
297  {
299 
300  selectAllInTextCtrls( GetChildren() );
301 
303  m_initialFocusTarget->SetFocus();
304  else
305  SetFocus(); // Focus the dialog itself
306 
307  m_firstPaintEvent = false;
308  }
309 
310  event.Skip();
311 }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:205
bool m_firstPaintEvent
Definition: dialog_shim.h:204
void FixupCancelButtonCmdKeyCollision(wxWindow *aWindow)
Definition: gtk/ui.cpp:56
static void selectAllInTextCtrls(wxWindowList &children)

References KIPLATFORM::UI::FixupCancelButtonCmdKeyCollision(), DIALOG_SHIM::m_firstPaintEvent, DIALOG_SHIM::m_initialFocusTarget, and selectAllInTextCtrls().

Referenced by DIALOG_SHIM::DIALOG_SHIM().

◆ OnPopUpLayers()

void DIALOG_PLOT::OnPopUpLayers ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 275 of file dialog_plot.cpp.

276 {
277  // Build a list of layers for usual fabrication:
278  // copper layers + tech layers without courtyard
279  LSET fab_layer_set = ( LSET::AllCuMask() | LSET::AllTechMask() )
280  & ~LSET( 2, B_CrtYd, F_CrtYd );
281 
282  switch( event.GetId() )
283  {
284  case ID_LAYER_FAB: // Select layers usually needed to build a board
285  for( unsigned i = 0; i < m_layerList.size(); i++ )
286  {
287  LSET layermask( m_layerList[ i ] );
288 
289  if( ( layermask & fab_layer_set ).any() )
290  m_layerCheckListBox->Check( i, true );
291  else
292  m_layerCheckListBox->Check( i, false );
293  }
294  break;
295 
297  for( unsigned i = 0; i < m_layerList.size(); i++ )
298  {
299  if( IsCopperLayer( m_layerList[i] ) )
300  m_layerCheckListBox->Check( i, true );
301  }
302  break;
303 
305  for( unsigned i = 0; i < m_layerList.size(); i++ )
306  {
307  if( IsCopperLayer( m_layerList[i] ) )
308  m_layerCheckListBox->Check( i, false );
309  }
310  break;
311 
313  for( unsigned i = 0; i < m_layerList.size(); i++ )
314  m_layerCheckListBox->Check( i, true );
315  break;
316 
318  for( unsigned i = 0; i < m_layerList.size(); i++ )
319  m_layerCheckListBox->Check( i, false );
320  break;
321 
322  default:
323  break;
324  }
325 }
static LSET AllCuMask(int aCuLayerCount=MAX_CU_LAYERS)
Return a mask holding the requested number of Cu PCB_LAYER_IDs.
Definition: lset.cpp:749
LSEQ m_layerList
Definition: dialog_plot.h:47
static LSET AllTechMask()
Return a mask holding all technical layers (no CU layer) on both side.
Definition: lset.cpp:819
LSET is a set of PCB_LAYER_IDs.
bool IsCopperLayer(LAYER_NUM aLayerId)
Tests whether a layer is a copper layer.
wxCheckListBox * m_layerCheckListBox

References LSET::AllCuMask(), LSET::AllTechMask(), B_CrtYd, F_CrtYd, DIALOG_PLOT_BASE::ID_DESELECT_ALL_LAYERS, DIALOG_PLOT_BASE::ID_DESELECT_COPPER_LAYERS, DIALOG_PLOT_BASE::ID_LAYER_FAB, DIALOG_PLOT_BASE::ID_SELECT_ALL_LAYERS, DIALOG_PLOT_BASE::ID_SELECT_COPPER_LAYERS, IsCopperLayer(), DIALOG_PLOT_BASE::m_layerCheckListBox, and m_layerList.

◆ OnRightClick()

void DIALOG_PLOT::OnRightClick ( wxMouseEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 268 of file dialog_plot.cpp.

269 {
270  PopupMenu( m_popMenu );
271 }

References DIALOG_PLOT_BASE::m_popMenu.

◆ onRunDRC()

void DIALOG_PLOT::onRunDRC ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 922 of file dialog_plot.cpp.

923 {
924  PCB_EDIT_FRAME* parent = dynamic_cast<PCB_EDIT_FRAME*>( GetParent() );
925 
926  if( parent )
927  {
928  DRC_TOOL* drcTool = parent->GetToolManager()->GetTool<DRC_TOOL>();
929 
930  // First close an existing dialog if open
931  // (low probability, but can happen)
932  drcTool->DestroyDRCDialog();
933 
934  // Open a new drc dialod, with the right parent frame, and in Modal Mode
935  drcTool->ShowDRCDialog( this );
936 
937  // Update DRC warnings on return to this dialog
938  reInitDialog();
939  }
940 }
void ShowDRCDialog(wxWindow *aParent)
Open a dialog and prompts the user, then if a test run button is clicked, runs the test(s) and create...
Definition: drc_tool.cpp:81
void reInitDialog()
PCB_EDIT_FRAME is the main frame for Pcbnew.
TOOL_MANAGER * GetToolManager() const
Return the MVC controller.
Definition: tools_holder.h:76
void DestroyDRCDialog()
Closes and frees the DRC dialog.
Definition: drc_tool.cpp:132

References DRC_TOOL::DestroyDRCDialog(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), reInitDialog(), and DRC_TOOL::ShowDRCDialog().

◆ OnSetScaleOpt()

void DIALOG_PLOT::OnSetScaleOpt ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 356 of file dialog_plot.cpp.

357 {
358  /* Disable sheet reference for scale != 1:1 */
359  bool scale1 = ( m_scaleOpt->GetSelection() == 1 );
360 
361  m_plotSheetRef->Enable( scale1 );
362 
363  if( !scale1 )
364  m_plotSheetRef->SetValue( false );
365 }
wxCheckBox * m_plotSheetRef
wxChoice * m_scaleOpt

References DIALOG_PLOT_BASE::m_plotSheetRef, and DIALOG_PLOT_BASE::m_scaleOpt.

Referenced by init_Dialog(), and SetPlotFormat().

◆ Plot()

void DIALOG_PLOT::Plot ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 776 of file dialog_plot.cpp.

777 {
778  BOARD* board = m_parent->GetBoard();
779 
781 
782  SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager();
784 
786 
788 
789  // If no layer selected, we have nothing plotted.
790  // Prompt user if it happens because he could think there is a bug in Pcbnew.
791  if( !m_plotOpts.GetLayerSelection().any() )
792  {
793  DisplayError( this, _( "No layer selected, Nothing to plot" ) );
794  return;
795  }
796 
797  // Create output directory if it does not exist (also transform it in
798  // absolute form). Bail if it fails
800  wxFileName outputDir = wxFileName::DirName( path );
801  wxString boardFilename = m_parent->GetBoard()->GetFileName();
802  REPORTER& reporter = m_messagesPanel->Reporter();
803 
804  if( !EnsureFileDirectoryExists( &outputDir, boardFilename, &reporter ) )
805  {
806  wxString msg;
807  msg.Printf( _( "Could not write plot files to folder \"%s\"." ), outputDir.GetPath() );
808  DisplayError( this, msg );
809  return;
810  }
811 
812  if( m_zoneFillCheck->GetValue() )
813  m_parent->GetToolManager()->GetTool<ZONE_FILLER_TOOL>()->CheckAllZones( this );
814 
815  m_plotOpts.SetAutoScale( false );
816 
817  switch( m_plotOpts.GetScaleSelection() )
818  {
819  default: m_plotOpts.SetScale( 1 ); break;
820  case 0: m_plotOpts.SetAutoScale( true ); break;
821  case 2: m_plotOpts.SetScale( 1.5 ); break;
822  case 3: m_plotOpts.SetScale( 2 ); break;
823  case 4: m_plotOpts.SetScale( 3 ); break;
824  }
825 
826  /* If the scale factor edit controls are disabled or the scale value
827  * is 0, don't adjust the base scale factor. This fixes a bug when
828  * the default scale adjust is initialized to 0 and saved in program
829  * settings resulting in a divide by zero fault.
830  */
832  {
833  if( m_XScaleAdjust != 0.0 )
835 
836  if( m_YScaleAdjust != 0.0 )
838 
840  }
841 
842  wxString file_ext( GetDefaultPlotExtension( m_plotOpts.GetFormat() ) );
843 
844  // Test for a reasonable scale value
845  // XXX could this actually happen? isn't it constrained in the apply
846  // function?
848  DisplayInfoMessage( this, _( "Warning: Scale option set to a very small value" ) );
849 
851  DisplayInfoMessage( this, _( "Warning: Scale option set to a very large value" ) );
852 
853  GERBER_JOBFILE_WRITER jobfile_writer( board, &reporter );
854 
855  // Save the current plot options in the board
857 
858  wxBusyCursor dummy;
859 
860  for( LSEQ seq = m_plotOpts.GetLayerSelection().UIOrder(); seq; ++seq )
861  {
862  PCB_LAYER_ID layer = *seq;
863 
864  // All copper layers that are disabled are actually selected
865  // This is due to wonkyness in automatically selecting copper layers
866  // for plotting when adding more than two layers to a board.
867  // If plot options become accessible to the layers setup dialog
868  // please move this functionality there!
869  // This skips a copper layer if it is actually disabled on the board.
870  if( ( LSET::AllCuMask() & ~board->GetEnabledLayers() )[layer] )
871  continue;
872 
873  // Pick the basename from the board file
874  wxFileName fn( boardFilename );
875 
876  // Use Gerber Extensions based on layer number
877  // (See http://en.wikipedia.org/wiki/Gerber_File)
879  file_ext = GetGerberProtelExtension( layer );
880 
881  BuildPlotFileName( &fn, outputDir.GetPath(), board->GetLayerName( layer ), file_ext );
882  wxString fullname = fn.GetFullName();
883  jobfile_writer.AddGbrFile( layer, fullname );
884 
885  LOCALE_IO toggle;
886 
887  PLOTTER* plotter = StartPlotBoard( board, &m_plotOpts, layer, fn.GetFullPath(), wxEmptyString );
888 
889  // Print diags in messages box:
890  wxString msg;
891 
892  if( plotter )
893  {
894  PlotOneBoardLayer( board, plotter, layer, m_plotOpts );
895  plotter->EndPlot();
896  delete plotter->RenderSettings();
897  delete plotter;
898 
899  msg.Printf( _( "Plot file \"%s\" created." ), fn.GetFullPath() );
900  reporter.Report( msg, RPT_SEVERITY_ACTION );
901  }
902  else
903  {
904  msg.Printf( _( "Unable to create file \"%s\"." ), fn.GetFullPath() );
905  reporter.Report( msg, RPT_SEVERITY_ERROR );
906  }
907 
908  wxSafeYield(); // displays report message.
909  }
910 
912  {
913  // Pick the basename from the board file
914  wxFileName fn( boardFilename );
915  // Build gerber job file from basename
916  BuildPlotFileName( &fn, outputDir.GetPath(), "job", GerberJobFileExtension );
917  jobfile_writer.CreateJobFile( fn.GetFullPath() );
918  }
919 }
static LSET AllCuMask(int aCuLayerCount=MAX_CU_LAYERS)
Return a mask holding the requested number of Cu PCB_LAYER_IDs.
Definition: lset.cpp:749
void DisplayError(wxWindow *aParent, const wxString &aText, int aDisplayTime)
Display an error or warning message box with aMessage.
Definition: confirm.cpp:240
WX_HTML_REPORT_PANEL * m_messagesPanel
double m_YScaleAdjust
Definition: dialog_plot.h:50
bool GetCreateGerberJobFile() const
wxCheckBox * m_useGerberExtensions
const wxString GetLayerName(PCB_LAYER_ID aLayer) const
Return the name of a aLayer.
Instantiate the current locale within a scope in which you are expecting exceptions to be thrown.
Definition: locale_io.h:40
wxString GetDefaultPlotExtension(PLOT_FORMAT aFormat)
Returns the default plot extension for a format.
void SetSketchPadLineWidth(int aWidth)
void PlotOneBoardLayer(BOARD *aBoard, PLOTTER *aPlotter, PCB_LAYER_ID aLayer, const PCB_PLOT_PARAMS &aPlotOpt)
Function PlotOneBoardLayer main function to plot one copper or technical layer.
#define PLOT_MIN_SCALE
Definition: pcbplot.h:56
const wxString GetGerberProtelExtension(LAYER_NUM aLayer)
Function GetGerberProtelExtension.
Definition: pcbplot.cpp:45
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Definition: class_board.h:558
LSET GetEnabledLayers() const
A proxy function that calls the corresponding function in m_BoardSettings Returns a bit-mask of all t...
wxCheckBox * m_zoneFillCheck
const wxString ExpandEnvVarSubstitutions(const wxString &aString, PROJECT *aProject)
Replace any environment variable & text variable references with their values.
Definition: common.cpp:255
REPORTER is a pure virtual class used to derive REPORTER objects from.
Definition: reporter.h:64
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:102
const wxString & GetFileName() const
Definition: class_board.h:279
virtual REPORTER & Report(const wxString &aText, SEVERITY aSeverity=RPT_SEVERITY_UNDEFINED)=0
Function Report is a pure virtual function to override in the derived object.
double GetScale() const
double m_XScaleAdjust
Definition: dialog_plot.h:48
int GetLineThickness(PCB_LAYER_ID aLayer) const
Function GetLineThickness Returns the default graphic segment thickness from the layer class for the ...
virtual bool EndPlot()=0
PCB_LAYER_ID
A quick note on layer IDs:
ZONE_FILLER_TOOL.
GERBER_JOBFILE_WRITER is a class used to create Gerber job file a Gerber job file stores info to make...
PLOT_FORMAT GetFormat() const
PCB_EDIT_FRAME * m_parent
Definition: dialog_plot.h:46
void SetColorSettings(COLOR_SETTINGS *aSettings)
PLOT_FORMAT getPlotFormat()
PROJECT & Prj() const
Function Prj returns a reference to the PROJECT "associated with" this KIWAY.
bool EnsureFileDirectoryExists(wxFileName *aTargetFullFileName, const wxString &aBaseFilename, REPORTER *aReporter)
Make aTargetFullFileName absolute and create the path of this file if it doesn't yet exist.
Definition: common.cpp:283
REPORTER & Reporter()
returns the reporter object that reports to this panel
#define PLOT_MAX_SCALE
Definition: pcbplot.h:57
int m_PSWidthAdjust
Definition: dialog_plot.h:52
const std::string GerberJobFileExtension
virtual void SetPlotSettings(const PCB_PLOT_PARAMS &aSettings)
AppSettings * GetAppSettings(bool aLoadNow=true)
Returns a handle to the a given settings by type If the settings have already been loaded,...
void SetScale(double aVal)
LSEQ is a sequence (and therefore also a set) of PCB_LAYER_IDs.
PCB_PLOT_PARAMS m_plotOpts
Definition: dialog_plot.h:64
wxString GetOutputDirectory() const
void SetFineScaleAdjustX(double aVal)
void BuildPlotFileName(wxFileName *aFilename, const wxString &aOutputDir, const wxString &aSuffix, const wxString &aExtension)
Function BuildPlotFileName (helper function) Complete a plot filename: forces the output directory,...
Definition: pcbplot.cpp:370
COLOR_SETTINGS * GetColorSettings(const wxString &aName="user")
Retrieves a color settings object that applications can read colors from.
Base plotter engine class.
Definition: plotter.h:131
RENDER_SETTINGS * RenderSettings()
Definition: plotter.h:165
void applyPlotSettings()
void SetWidthAdjust(int aVal)
static LIB_PART * dummy()
Used to draw a dummy shape when a LIB_PART is not found in library.
Information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:186
#define _(s)
Definition: 3d_actions.cpp:33
void SetAutoScale(bool aFlag)
void SetFineScaleAdjustY(double aVal)
int GetScaleSelection() const
TOOL_MANAGER * GetToolManager() const
Return the MVC controller.
Definition: tools_holder.h:76
PLOTTER * StartPlotBoard(BOARD *aBoard, PCB_PLOT_PARAMS *aPlotOpts, int aLayer, const wxString &aFullFileName, const wxString &aSheetDesc)
Open a new plotfile using the options (and especially the format) specified in the options and prepar...
BOARD * GetBoard() const
LSET GetLayerSelection() const
LSEQ UIOrder() const
Definition: lset.cpp:887
void DisplayInfoMessage(wxWindow *aParent, const wxString &aMessage, const wxString &aExtraInfo)
Display an informational message box with aMessage.
Definition: confirm.cpp:268
wxString m_ColorTheme
Active color theme name.
Definition: app_settings.h:176

References _, GERBER_JOBFILE_WRITER::AddGbrFile(), LSET::AllCuMask(), applyPlotSettings(), BuildPlotFileName(), GERBER_JOBFILE_WRITER::CreateJobFile(), DisplayError(), DisplayInfoMessage(), dummy(), PLOTTER::EndPlot(), EnsureFileDirectoryExists(), ExpandEnvVarSubstitutions(), F_Fab, GERBER, GerberJobFileExtension, SETTINGS_MANAGER::GetAppSettings(), PCB_BASE_FRAME::GetBoard(), SETTINGS_MANAGER::GetColorSettings(), PCB_PLOT_PARAMS::GetCreateGerberJobFile(), GetDefaultPlotExtension(), BOARD::GetDesignSettings(), BOARD::GetEnabledLayers(), BOARD::GetFileName(), PCB_PLOT_PARAMS::GetFormat(), GetGerberProtelExtension(), BOARD::GetLayerName(), PCB_PLOT_PARAMS::GetLayerSelection(), BOARD_DESIGN_SETTINGS::GetLineThickness(), PCB_PLOT_PARAMS::GetOutputDirectory(), getPlotFormat(), PCB_PLOT_PARAMS::GetScale(), PCB_PLOT_PARAMS::GetScaleSelection(), TOOL_MANAGER::GetTool(), TOOLS_HOLDER::GetToolManager(), APP_SETTINGS_BASE::m_ColorTheme, DIALOG_PLOT_BASE::m_messagesPanel, m_parent, m_plotOpts, m_PSWidthAdjust, DIALOG_PLOT_BASE::m_useGerberExtensions, m_XScaleAdjust, m_YScaleAdjust, DIALOG_PLOT_BASE::m_zoneFillCheck, Pgm(), PLOT_MAX_SCALE, PLOT_MIN_SCALE, PlotOneBoardLayer(), POST, KIWAY_HOLDER::Prj(), PLOTTER::RenderSettings(), REPORTER::Report(), WX_HTML_REPORT_PANEL::Reporter(), RPT_SEVERITY_ACTION, RPT_SEVERITY_ERROR, PCB_PLOT_PARAMS::SetAutoScale(), PCB_PLOT_PARAMS::SetColorSettings(), PCB_PLOT_PARAMS::SetFineScaleAdjustX(), PCB_PLOT_PARAMS::SetFineScaleAdjustY(), PCB_BASE_FRAME::SetPlotSettings(), PCB_PLOT_PARAMS::SetScale(), PCB_PLOT_PARAMS::SetSketchPadLineWidth(), PCB_PLOT_PARAMS::SetWidthAdjust(), StartPlotBoard(), and LSET::UIOrder().

◆ Prj()

PROJECT & KIWAY_HOLDER::Prj ( ) const
inherited

Function Prj returns a reference to the PROJECT "associated with" this KIWAY.

Definition at line 35 of file kiway_holder.cpp.

36 {
37  return Kiway().Prj();
38 }
KIWAY & Kiway() const
Function Kiway returns a reference to the KIWAY that this object has an opportunity to participate in...
Definition: kiway_holder.h:56
VTBL_ENTRY PROJECT & Prj() const
Function Prj returns the PROJECT associated with this KIWAY.
Definition: kiway.cpp:173

References KIWAY_HOLDER::Kiway(), and KIWAY::Prj().

Referenced by PCB_BASE_EDIT_FRAME::AddLibrary(), LIB_MANAGER::addLibrary(), SCH_EDIT_FRAME::AppendSchematic(), AskSaveBoardFileName(), DIALOG_SYMBOL_REMAP::backupProject(), CVPCB_MAINFRAME::buildEquivalenceList(), CVPCB_MAINFRAME::BuildLIBRARY_LISTBOX(), DIALOG_FOOTPRINT_FP_EDITOR::Cfg3DPath(), DIALOG_FOOTPRINT_PROPERTIES::Cfg3DPath(), KICAD_MANAGER_FRAME::CloseProject(), DIALOG_GEN_FOOTPRINT_POSITION::CreateGerberFiles(), PCB_BASE_EDIT_FRAME::CreateNewLibrary(), DIALOG_PLOT_SCHEMATIC::createPlotFileName(), DIALOG_SYMBOL_REMAP::createProjectSymbolLibTable(), SCH_EDIT_FRAME::CreateScreens(), FOOTPRINT_EDIT_FRAME::DeleteModuleFromLibrary(), DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP(), DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CONFIG_EQUFILES::DIALOG_CONFIG_EQUFILES(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_PAGES_SETTINGS::DIALOG_PAGES_SETTINGS(), DIALOG_SCHEMATIC_SETUP::DIALOG_SCHEMATIC_SETUP(), DIALOG_SYMBOL_REMAP::DIALOG_SYMBOL_REMAP(), LIB_VIEW_FRAME::DisplayLibInfos(), CVPCB_MAINFRAME::DisplayStatus(), PL_DRAW_PANEL_GAL::DisplayWorksheet(), PCB_EDIT_FRAME::doAutoSave(), PCB_BASE_EDIT_FRAME::doCloseWindow(), SCH_EDIT_FRAME::doCloseWindow(), FIELDS_GRID_TRICKS::doPopupSelection(), FIELDS_EDITOR_GRID_TRICKS::doPopupSelection(), KICAD_MANAGER_CONTROL::Execute(), PCB_EDIT_FRAME::Export_IDF3(), DIALOG_EXPORT_SVG::ExportSVGFile(), LIB_CONTROL::ExportSymbolAsSVG(), LIB_CONTROL::ExportView(), PCB_EDIT_FRAME::ExportVRML_File(), BACK_ANNOTATE::FetchNetlistFromPCB(), PCB_EDIT_FRAME::Files_io_from_id(), PCB_EDIT_FRAME::GenD356File(), DIALOG_GENDRILL::GenDrillAndMapFiles(), FOOTPRINT_VIEWER_FRAME::getCurFootprintName(), LIB_EDIT_FRAME::GetCurLib(), FOOTPRINT_VIEWER_FRAME::getCurNickname(), PCB_BASE_EDIT_FRAME::GetDesignRulesPath(), SCH_BASE_FRAME::GetLibPart(), DIALOG_SYMBOL_REMAP::getLibsNotInGlobalSymbolLibTable(), DISPLAY_FOOTPRINTS_FRAME::GetModule(), KICAD_MANAGER_FRAME::GetProjectFileName(), LIB_VIEW_FRAME::GetSelectedSymbol(), FP_THREAD_IFACE::GetTable(), PCB_EDIT_FRAME::HarvestFootprintsToLibrary(), PCB_EDIT_FRAME::importFile(), SCH_EDIT_FRAME::importFile(), SCH_EDITOR_CONTROL::ImportFPAssignments(), DIALOG_CONFIG_EQUFILES::Init(), FOOTPRINT_EDIT_FRAME::initLibraryTree(), SCH_EDIT_FRAME::KiwayMailIn(), LIB_EDIT_FRAME::KiwayMailIn(), EDA_DRAW_FRAME::LibraryFileBrowser(), LIB_EDIT_FRAME::LoadComponentFromCurrentLib(), CVPCB_MAINFRAME::LoadFootprintFiles(), DIALOG_SPICE_MODEL::loadLibrary(), LIB_EDIT_FRAME::LoadOneSymbol(), KICAD_MANAGER_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProject(), SCH_EDIT_FRAME::LoadProjectSettings(), PCB_EDIT_FRAME::LoadProjectSettings(), SCH_EDIT_FRAME::LoadSheetFromFile(), EDA_BASE_FRAME::LoadWindowState(), DIALOG_FOOTPRINT_FP_EDITOR::On3DModelCellChanged(), DIALOG_FOOTPRINT_PROPERTIES::On3DModelCellChanged(), FOOTPRINT_VIEWER_FRAME::OnActivate(), DIALOG_FOOTPRINT_FP_EDITOR::OnAdd3DModel(), DIALOG_FOOTPRINT_PROPERTIES::OnAdd3DModel(), DIALOG_BOARD_SETUP::OnAuxiliaryAction(), KICAD_MANAGER_FRAME::OnBrowseInFileExplorer(), TEXT_BUTTON_URL::OnButtonClick(), TEXT_BUTTON_FILE_BROWSER::OnButtonClick(), DIALOG_EDIT_COMPONENTS_LIBID::onClickOrphansButton(), DIALOG_GENDRILL::OnGenReportFile(), KICAD_MANAGER_FRAME::OnIdle(), SCH_EDIT_FRAME::OnImportProject(), DIALOG_CHOOSE_COMPONENT::OnInitDialog(), DIALOG_CONFIG_EQUFILES::OnOkClick(), SCH_EDIT_FRAME::OnOpenCvpcb(), KICAD_MANAGER_FRAME::OnOpenFileInTextEditor(), DIALOG_NETLIST::OnOpenNetlistClick(), SCH_EDIT_FRAME::OnOpenPcbnew(), DIALOG_EXPORT_SVG::OnOutputDirectoryBrowseClicked(), OnOutputDirectoryBrowseClicked(), DIALOG_GEN_FOOTPRINT_POSITION::OnOutputDirectoryBrowseClicked(), DIALOG_PLOT_SCHEMATIC::OnOutputDirectoryBrowseClicked(), DIALOG_GENDRILL::OnOutputDirectoryBrowseClicked(), DIALOG_SYMBOL_REMAP::OnRemapSymbols(), DIALOG_BOM::OnRunGenerator(), FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng(), DIALOG_ERC::OnSaveReport(), DIALOG_DRC::OnSaveReport(), PROPERTIES_FRAME::onScintillaCharAdded(), DIALOG_LABEL_EDITOR::onScintillaCharAdded(), DIALOG_SCH_EDIT_ONE_FIELD::onScintillaCharAdded(), DIALOG_SPICE_MODEL::onSelectLibrary(), LIB_VIEW_FRAME::OnSelectSymbol(), KICAD_MANAGER_FRAME::OnUnarchiveFiles(), SCH_EDIT_FRAME::OnUpdatePCB(), SCH_EDIT_FRAME::OpenProjectFiles(), PCB_EDIT_FRAME::OpenProjectFiles(), PANEL_PREV_3D::PANEL_PREV_3D(), SCH_EDITOR_CONTROL::Paste(), FOOTPRINT_EDITOR_TOOLS::PasteFootprint(), PCB_BASE_EDIT_FRAME::PCB_BASE_EDIT_FRAME(), Plot(), DIALOG_PLOT_SCHEMATIC::Plot_1_Page_HPGL(), DIALOG_PLOT_SCHEMATIC::PlotOneSheetDXF(), DIALOG_CHOOSE_COMPONENT::PopulateFootprintSelector(), SCH_EDITOR_CONTROL::Print(), SCH_EDIT_FRAME::PrintPage(), EDA_DRAW_FRAME::PrintWorkSheet(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), PCB_EDIT_FRAME::RecreateCmpFileFromBoard(), FOOTPRINT_VIEWER_FRAME::ReCreateFootprintList(), FOOTPRINT_VIEWER_FRAME::ReCreateLibraryList(), LIB_VIEW_FRAME::ReCreateListCmp(), LIB_VIEW_FRAME::ReCreateListLib(), EDA_3D_VIEWER::ReloadRequest(), DIALOG_SYMBOL_REMAP::remapSymbolToLibTable(), SCH_EDITOR_CONTROL::RescueLegacyProject(), SCH_EDITOR_CONTROL::RescueSymbolLibTableProject(), FOOTPRINT_EDIT_FRAME::restoreLastFootprint(), FOOTPRINT_EDIT_FRAME::retainLastFootprint(), SCH_EDIT_FRAME::Save_File(), SCH_EDIT_FRAME::SaveEEFile(), FOOTPRINT_EDIT_FRAME::SaveFootprint(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), FOOTPRINT_EDIT_FRAME::SaveFootprintInLibrary(), LIB_EDIT_FRAME::saveLibrary(), LIB_EDIT_FRAME::SaveOneSymbol(), LIB_EDIT_FRAME::savePartAs(), PCB_EDIT_FRAME::SavePcbCopy(), PCB_EDIT_FRAME::SavePcbFile(), SCH_EDIT_FRAME::SaveProject(), PCB_EDIT_FRAME::SaveProjectSettings(), DIALOG_BOARD_STATISTICS::saveReportClicked(), EDA_BASE_FRAME::SaveSettings(), SCH_BASE_FRAME::saveSymbolLibTables(), FOOTPRINT_VIEWER_FRAME::SelectAndViewFootprint(), SCH_BASE_FRAME::SelectCompFromLibTree(), PCB_BASE_FRAME::SelectLibrary(), LIB_EDIT_FRAME::SelectLibraryFromList(), LIB_EDIT_FRAME::selectSymLibTable(), FOOTPRINT_VIEWER_FRAME::setCurFootprintName(), LIB_EDIT_FRAME::SetCurLib(), FOOTPRINT_VIEWER_FRAME::setCurNickname(), LIB_EDIT_FRAME::SetCurPart(), GERBVIEW_FRAME::SetPageSettings(), EE_INSPECTION_TOOL::ShowDatasheet(), DIALOG_CHOOSE_COMPONENT::ShowFootprintFor(), COMMON_CONTROL::ShowHelp(), LIB_VIEW_FRAME::ShowModal(), FOOTPRINT_VIEWER_FRAME::ShowModal(), SCH_EDIT_FRAME::ShowSchematicSetupDialog(), SIM_PLOT_FRAME::SIM_PLOT_FRAME(), LIB_MANAGER::symTable(), SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync(), FOOTPRINT_EDIT_FRAME::SyncLibraryTree(), EDA_3D_VIEWER::takeScreenshot(), PANEL_SETUP_RULES::TransferDataFromWindow(), NETLIST_DIALOG::TransferDataFromWindow(), DIALOG_EDIT_COMPONENTS_LIBID::TransferDataFromWindow(), PANEL_SETUP_RULES::TransferDataToWindow(), DIALOG_FOOTPRINT_FP_EDITOR::TransferDataToWindow(), DIALOG_FOOTPRINT_PROPERTIES::TransferDataToWindow(), DIALOG_PAGES_SETTINGS::UpdatePageLayoutExample(), FOOTPRINT_VIEWER_FRAME::UpdateTitle(), FOOTPRINT_EDIT_FRAME::updateTitle(), SCH_EDIT_FRAME::UpdateTitle(), SCH_EDIT_FRAME::WriteNetListFile(), DIALOG_FOOTPRINT_FP_EDITOR::~DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FOOTPRINT_PROPERTIES::~DIALOG_FOOTPRINT_PROPERTIES(), and SCH_EDIT_FRAME::~SCH_EDIT_FRAME().

◆ reInitDialog()

void DIALOG_PLOT::reInitDialog ( )
private

Definition at line 219 of file dialog_plot.cpp.

220 {
221  // after calling the Drill or DRC dialogs some parameters can be modified....
222 
223  // Output directory
225 
226  // Origin of coordinates:
228 
229  int knownViolations = 0;
230  int exclusions = 0;
231 
232  for( MARKER_PCB* marker : m_parent->GetBoard()->Markers() )
233  {
234  if( marker->IsExcluded() )
235  exclusions++;
236  else
237  knownViolations++;
238  }
239 
240  if( knownViolations || exclusions )
241  {
243  knownViolations,
244  exclusions ) );
245  m_DRCExclusionsWarning->Show();
246  }
247  else
248  {
249  m_DRCExclusionsWarning->Hide();
250  }
251 
252  BOARD* board = m_parent->GetBoard();
253  const BOARD_DESIGN_SETTINGS& brd_settings = board->GetDesignSettings();
254 
256  ( brd_settings.m_SolderMaskMargin || brd_settings.m_SolderMaskMinWidth ) )
257  {
259  }
260  else
261  {
263  }
264 }
MARKERS & Markers()
Definition: class_board.h:293
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Definition: class_board.h:558
wxBoxSizer * m_SizerSolderMaskAlert
PCB_EDIT_FRAME * m_parent
Definition: dialog_plot.h:46
PLOT_FORMAT getPlotFormat()
wxTextCtrl * m_outputDirectoryName
PCB_PLOT_PARAMS m_plotOpts
Definition: dialog_plot.h:64
wxString GetOutputDirectory() const
wxString m_DRCWarningTemplate
Definition: dialog_plot.h:62
void Format(OUTPUTFORMATTER *out, int aNestLevel, int aCtl, CPTREE &aTree)
Function Format outputs a PTREE into s-expression format via an OUTPUTFORMATTER derivative.
Definition: ptree.cpp:201
Information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:186
wxCheckBox * m_useAuxOriginCheckBox
BOARD * GetBoard() const
bool GetUseAuxOrigin() const
wxBoxSizer * m_PlotOptionsSizer
wxStaticText * m_DRCExclusionsWarning
BOARD_DESIGN_SETTINGS contains design settings for a BOARD object.

References Format(), GERBER, PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), PCB_PLOT_PARAMS::GetOutputDirectory(), getPlotFormat(), PCB_PLOT_PARAMS::GetUseAuxOrigin(), DIALOG_PLOT_BASE::m_DRCExclusionsWarning, m_DRCWarningTemplate, DIALOG_PLOT_BASE::m_outputDirectoryName, m_parent, DIALOG_PLOT_BASE::m_PlotOptionsSizer, m_plotOpts, DIALOG_PLOT_BASE::m_SizerSolderMaskAlert, BOARD_DESIGN_SETTINGS::m_SolderMaskMargin, BOARD_DESIGN_SETTINGS::m_SolderMaskMinWidth, DIALOG_PLOT_BASE::m_useAuxOriginCheckBox, and BOARD::Markers().

Referenced by CreateDrillFile(), init_Dialog(), onBoardSetup(), and onRunDRC().

◆ ResetSize()

void DIALOG_SHIM::ResetSize ( )
protectedinherited

Clear the existing dialog size and position.

This will cause the dialog size to be clear so the next time the dialog is shown the sizers will layout the dialog accordingly. This useful when there are dialog windows that size changes due to layout dependency hidden controls.

Definition at line 243 of file dialog_shim.cpp.

244 {
245  const char* hash_key;
246 
247  if( m_hash_key.size() )
248  {
249  // a special case like EDA_LIST_DIALOG, which has multiple uses.
250  hash_key = m_hash_key.c_str();
251  }
252  else
253  {
254  hash_key = typeid(*this).name();
255  }
256 
257  RECT_MAP::iterator it = class_map.find( hash_key );
258 
259  if( it == class_map.end() )
260  return;
261 
262  EDA_RECT rect = it->second;
263  rect.SetSize( 0, 0 );
264  class_map[ hash_key ] = rect;
265 }
std::string m_hash_key
Definition: dialog_shim.h:199
static RECT_MAP class_map
void SetSize(const wxSize &size)
Definition: eda_rect.h:144
EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44

References class_map, DIALOG_SHIM::m_hash_key, and EDA_RECT::SetSize().

Referenced by DIALOG_LIB_SYMBOL_PROPERTIES::DIALOG_LIB_SYMBOL_PROPERTIES().

◆ SetInitialFocus()

void DIALOG_SHIM::SetInitialFocus ( wxWindow *  aWindow)
inlineinherited

Sets the window (usually a wxTextCtrl) that should be focused when the dialog is shown.

Definition at line 115 of file dialog_shim.h.

116  {
117  m_initialFocusTarget = aWindow;
118  }
wxWindow * m_initialFocusTarget
Definition: dialog_shim.h:205

References DIALOG_SHIM::m_initialFocusTarget.

Referenced by DIALOG_BOM::DIALOG_BOM(), DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT(), DIALOG_CHOOSE_FOOTPRINT::DIALOG_CHOOSE_FOOTPRINT(), DIALOG_CONFIGURE_PATHS::DIALOG_CONFIGURE_PATHS(), DIALOG_EDIT_LINE_STYLE::DIALOG_EDIT_LINE_STYLE(), DIALOG_EDIT_SHEET_PIN::DIALOG_EDIT_SHEET_PIN(), DIALOG_FIELDS_EDITOR_GLOBAL::DIALOG_FIELDS_EDITOR_GLOBAL(), DIALOG_FIND::DIALOG_FIND(), DIALOG_FOOTPRINT_FP_EDITOR::DIALOG_FOOTPRINT_FP_EDITOR(), DIALOG_FOOTPRINT_PROPERTIES::DIALOG_FOOTPRINT_PROPERTIES(), DIALOG_FP_PLUGIN_OPTIONS::DIALOG_FP_PLUGIN_OPTIONS(), DIALOG_GRAPHIC_ITEM_PROPERTIES::DIALOG_GRAPHIC_ITEM_PROPERTIES(), DIALOG_GRID_SETTINGS::DIALOG_GRID_SETTINGS(), DIALOG_GROUP_PROPERTIES::DIALOG_GROUP_PROPERTIES(), DIALOG_IMPORT_GFX::DIALOG_IMPORT_GFX(), DIALOG_JUNCTION_PROPS::DIALOG_JUNCTION_PROPS(), DIALOG_LABEL_EDITOR::DIALOG_LABEL_EDITOR(), DIALOG_LIB_EDIT_DRAW_ITEM::DIALOG_LIB_EDIT_DRAW_ITEM(), DIALOG_LIB_EDIT_TEXT::DIALOG_LIB_EDIT_TEXT(), DIALOG_PAD_PRIMITIVES_PROPERTIES::DIALOG_PAD_PRIMITIVES_PROPERTIES(), DIALOG_PAD_PROPERTIES::DIALOG_PAD_PROPERTIES(), DIALOG_PIN_PROPERTIES::DIALOG_PIN_PROPERTIES(), DIALOG_POSITION_RELATIVE::DIALOG_POSITION_RELATIVE(), DIALOG_SCH_FIND::DIALOG_SCH_FIND(), DIALOG_TARGET_PROPERTIES::DIALOG_TARGET_PROPERTIES(), DIALOG_TEXT_PROPERTIES::DIALOG_TEXT_PROPERTIES(), DIALOG_TRACK_VIA_PROPERTIES::DIALOG_TRACK_VIA_PROPERTIES(), EDA_VIEW_SWITCHER::EDA_VIEW_SWITCHER(), DIALOG_EDIT_ONE_FIELD::init(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchAllClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchIDClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchRefClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchSelectedClicked(), DIALOG_EXCHANGE_FOOTPRINTS::OnMatchValueClicked(), PANEL_FP_LIB_TABLE::PANEL_FP_LIB_TABLE(), PANEL_SYM_LIB_TABLE::PANEL_SYM_LIB_TABLE(), FOOTPRINT_EDIT_FRAME::SaveFootprintAs(), LIB_EDIT_FRAME::savePartAs(), DIALOG_NON_COPPER_ZONES_EDITOR::TransferDataToWindow(), DIALOG_RULE_AREA_PROPERTIES::TransferDataToWindow(), and DIALOG_COPPER_ZONE::TransferDataToWindow().

◆ SetKiway()

void KIWAY_HOLDER::SetKiway ( wxWindow *  aDest,
KIWAY aKiway 
)
inherited

Function SetKiway.

Parameters
aDestis the recipient of aKiway pointer. It is only used for debugging, since "this" is not a wxWindow*. "this" is a KIWAY_HOLDER mix-in.
aKiwayis often from a parent window, or from KIFACE::CreateWindow().

Definition at line 42 of file kiway_holder.cpp.

43 {
44 #if defined(DEBUG)
45  // offer a trap point for debugging most any window
46  wxASSERT( aDest );
47  if( !strcmp( typeid(aDest).name(), "DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB" ) )
48  {
49  int breakhere=1;
50  (void) breakhere;
51  }
52 #endif
53 
54  (void) aDest;
55 
56  m_kiway = aKiway;
57 }
KIWAY * m_kiway
Definition: kiway_holder.h:81
const char * name
Definition: DXF_plotter.cpp:59

References KIWAY_HOLDER::m_kiway, and name.

Referenced by BM2CMP_FRAME::BM2CMP_FRAME(), PCB::IFACE::CreateWindow(), InvokePcbLibTableEditor(), PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME(), and SIM_PLOT_FRAME::SIM_PLOT_FRAME().

◆ SetPlotFormat()

void DIALOG_PLOT::SetPlotFormat ( wxCommandEvent &  event)
overrideprivatevirtual

Reimplemented from DIALOG_PLOT_BASE.

Definition at line 416 of file dialog_plot.cpp.

417 {
418  // this option exist only in DXF format:
420 
421  // The alert message about non 0 solder mask min width and margin is shown
422  // only in gerber format and if min mask width or mask margin is not 0
423  BOARD* board = m_parent->GetBoard();
424  const BOARD_DESIGN_SETTINGS& brd_settings = board->GetDesignSettings();
425 
427  ( brd_settings.m_SolderMaskMargin || brd_settings.m_SolderMaskMinWidth ) )
428  {
430  }
431  else
432  {
434  }
435 
436 
437  switch( getPlotFormat() )
438  {
439  case PLOT_FORMAT::SVG:
440  case PLOT_FORMAT::PDF:
441  m_drillShapeOpt->Enable( true );
442  m_plotModeOpt->Enable( false );
444  m_plotMirrorOpt->Enable( true );
445  m_useAuxOriginCheckBox->Enable( false );
446  m_useAuxOriginCheckBox->SetValue( false );
447  m_defaultPenSize.Enable( false );
448  m_excludeEdgeLayerOpt->Enable( true );
449  m_scaleOpt->Enable( false );
450  m_scaleOpt->SetSelection( 1 );
451  m_fineAdjustXCtrl->Enable( false );
452  m_fineAdjustYCtrl->Enable( false );
454  m_plotPSNegativeOpt->Enable( true );
455  m_forcePSA4OutputOpt->Enable( false );
456  m_forcePSA4OutputOpt->SetValue( false );
457 
460  else
462 
467  break;
468 
469  case PLOT_FORMAT::POST:
470  m_drillShapeOpt->Enable( true );
471  m_plotModeOpt->Enable( true );
472  m_plotMirrorOpt->Enable( true );
473  m_useAuxOriginCheckBox->Enable( false );
474  m_useAuxOriginCheckBox->SetValue( false );
475  m_defaultPenSize.Enable( false );
476  m_excludeEdgeLayerOpt->Enable( true );
477  m_scaleOpt->Enable( true );
478  m_fineAdjustXCtrl->Enable( true );
479  m_fineAdjustYCtrl->Enable( true );
481  m_plotPSNegativeOpt->Enable( true );
482  m_forcePSA4OutputOpt->Enable( true );
483 
489  break;
490 
491  case PLOT_FORMAT::GERBER:
492  m_drillShapeOpt->Enable( false );
493  m_drillShapeOpt->SetSelection( 0 );
494  m_plotModeOpt->Enable( false );
496  m_plotMirrorOpt->Enable( false );
497  m_plotMirrorOpt->SetValue( false );
498  m_useAuxOriginCheckBox->Enable( true );
499  m_defaultPenSize.Enable( false );
500  m_excludeEdgeLayerOpt->Enable( true );
501  m_scaleOpt->Enable( false );
502  m_scaleOpt->SetSelection( 1 );
503  m_fineAdjustXCtrl->Enable( false );
504  m_fineAdjustYCtrl->Enable( false );
506  m_plotPSNegativeOpt->Enable( false );
507  m_plotPSNegativeOpt->SetValue( false );
508  m_forcePSA4OutputOpt->Enable( false );
509  m_forcePSA4OutputOpt->SetValue( false );
510 
516  break;
517 
518  case PLOT_FORMAT::HPGL:
519  m_drillShapeOpt->Enable( true );
520  m_plotModeOpt->Enable( true );
521  m_plotMirrorOpt->Enable( true );
522  m_useAuxOriginCheckBox->Enable( false );
523  m_useAuxOriginCheckBox->SetValue( false );
524  m_defaultPenSize.Enable( true );
525  m_excludeEdgeLayerOpt->Enable( true );
526  m_scaleOpt->Enable( true );
527  m_fineAdjustXCtrl->Enable( false );
528  m_fineAdjustYCtrl->Enable( false );
530  m_plotPSNegativeOpt->SetValue( false );
531  m_plotPSNegativeOpt->Enable( false );
532  m_forcePSA4OutputOpt->Enable( true );
533 
539  break;
540 
541  case PLOT_FORMAT::DXF:
542  m_drillShapeOpt->Enable( true );
543  m_plotModeOpt->Enable( false );
545  m_plotMirrorOpt->Enable( false );
546  m_plotMirrorOpt->SetValue( false );
547  m_useAuxOriginCheckBox->Enable( true );
548  m_defaultPenSize.Enable( false );
549  m_excludeEdgeLayerOpt->Enable( true );
550  m_scaleOpt->Enable( false );
551  m_scaleOpt->SetSelection( 1 );
552  m_fineAdjustXCtrl->Enable( false );
553  m_fineAdjustYCtrl->Enable( false );
555  m_plotPSNegativeOpt->Enable( false );
556  m_plotPSNegativeOpt->SetValue( false );
557  m_forcePSA4OutputOpt->Enable( false );
558  m_forcePSA4OutputOpt->SetValue( false );
559 
565 
566  OnChangeDXFPlotMode( event );
567  break;
568 
570  break;
571  }
572 
573  /* Update the interlock between scale and frame reference
574  * (scaling would mess up the frame border...) */
575  OnSetScaleOpt( event );
576 
577  Layout();
578  m_MainSizer->SetSizeHints( this );
579 }
wxStaticBoxSizer * m_HPGLOptionsSizer
void OnChangeDXFPlotMode(wxCommandEvent &event) override
wxCheckBox * m_plotPSNegativeOpt
wxCheckBox * m_excludeEdgeLayerOpt
BOARD_DESIGN_SETTINGS & GetDesignSettings() const
Definition: class_board.h:558
wxCheckBox * m_plotMirrorOpt
wxStaticBoxSizer * m_SizerDXF_options
UNIT_BINDER m_trackWidthCorrection
Definition: dialog_plot.h:60
wxTextCtrl * m_fineAdjustYCtrl
wxCheckBox * m_DXF_plotModeOpt
wxBoxSizer * m_SizerSolderMaskAlert
wxTextCtrl * m_fineAdjustXCtrl
PCB_EDIT_FRAME * m_parent
Definition: dialog_plot.h:46
PLOT_FORMAT getPlotFormat()
wxCheckBox * m_forcePSA4OutputOpt
void setPlotModeChoiceSelection(OUTLINE_MODE aPlotMode)
Definition: dialog_plot.h:85
void OnSetScaleOpt(wxCommandEvent &event) override
wxStaticBoxSizer * m_GerberOptionsSizer
wxChoice * m_scaleOpt
wxChoice * m_drillShapeOpt
Information pertinent to a Pcbnew printed circuit board.
Definition: class_board.h:186
wxCheckBox * m_useAuxOriginCheckBox
wxChoice * m_plotModeOpt
UNIT_BINDER m_defaultPenSize
Definition: dialog_plot.h:59
wxBoxSizer * m_MainSizer
wxStaticBoxSizer * m_svgOptionsSizer
BOARD * GetBoard() const
wxStaticBoxSizer * m_PSOptionsSizer
wxBoxSizer * m_PlotOptionsSizer
void Enable(bool aEnable)
Function Enable Enables/diasables the label, widget and units label.
BOARD_DESIGN_SETTINGS contains design settings for a BOARD object.

References DXF, UNIT_BINDER::Enable(), FILLED, GERBER, PCB_BASE_FRAME::GetBoard(), BOARD::GetDesignSettings(), getPlotFormat(), HPGL, m_defaultPenSize, DIALOG_PLOT_BASE::m_drillShapeOpt, DIALOG_PLOT_BASE::m_DXF_plotModeOpt, DIALOG_PLOT_BASE::m_excludeEdgeLayerOpt, DIALOG_PLOT_BASE::m_fineAdjustXCtrl, DIALOG_PLOT_BASE::m_fineAdjustYCtrl, DIALOG_PLOT_BASE::m_forcePSA4OutputOpt, DIALOG_PLOT_BASE::m_GerberOptionsSizer, DIALOG_PLOT_BASE::m_HPGLOptionsSizer, DIALOG_PLOT_BASE::m_MainSizer, m_parent, DIALOG_PLOT_BASE::m_plotMirrorOpt, DIALOG_PLOT_BASE::m_plotModeOpt, DIALOG_PLOT_BASE::m_PlotOptionsSizer, DIALOG_PLOT_BASE::m_plotPSNegativeOpt, DIALOG_PLOT_BASE::m_PSOptionsSizer, DIALOG_PLOT_BASE::m_scaleOpt, DIALOG_PLOT_BASE::m_SizerDXF_options, DIALOG_PLOT_BASE::m_SizerSolderMaskAlert, BOARD_DESIGN_SETTINGS::m_SolderMaskMargin, BOARD_DESIGN_SETTINGS::m_SolderMaskMinWidth, DIALOG_PLOT_BASE::m_svgOptionsSizer, m_trackWidthCorrection, DIALOG_PLOT_BASE::m_useAuxOriginCheckBox, OnChangeDXFPlotMode(), OnSetScaleOpt(), PDF, POST, setPlotModeChoiceSelection(), SVG, and UNDEFINED.

Referenced by init_Dialog().

◆ setPlotModeChoiceSelection()

void DIALOG_PLOT::setPlotModeChoiceSelection ( OUTLINE_MODE  aPlotMode)
inlineprivate

Definition at line 85 of file dialog_plot.h.

86  {
87  m_plotModeOpt->SetSelection( aPlotMode == SKETCH ? 1 : 0 );
88  }
wxChoice * m_plotModeOpt

References DIALOG_PLOT_BASE::m_plotModeOpt, and SKETCH.

Referenced by init_Dialog(), and SetPlotFormat().

◆ SetSizeInDU()

void DIALOG_SHIM::SetSizeInDU ( int  x,
int  y 
)
protectedinherited

Set the dialog to the given dimensions in "dialog units".

These are units equivalent to 4* the average character width and 8* the average character height, allowing a dialog to be sized in a way that scales it with the system font.

Definition at line 157 of file dialog_shim.cpp.

158 {
159  wxSize sz( x, y );
160  SetSize( ConvertDialogToPixels( sz ) );
161 }

Referenced by DIALOG_RESCUE_EACH::DIALOG_RESCUE_EACH(), HTML_MESSAGE_BOX::HTML_MESSAGE_BOX(), and HTML_MESSAGE_BOX::SetDialogSizeInDU().

◆ Show()

bool DIALOG_SHIM::Show ( bool  show)
overrideinherited

Definition at line 184 of file dialog_shim.cpp.

185 {
186  bool ret;
187  const char* hash_key;
188 
189  if( m_hash_key.size() )
190  {
191  // a special case like EDA_LIST_DIALOG, which has multiple uses.
192  hash_key = m_hash_key.c_str();
193  }
194  else
195  {
196  hash_key = typeid(*this).name();
197  }
198 
199  // Show or hide the window. If hiding, save current position and size.
200  // If showing, use previous position and size.
201  if( show )
202  {
203 #ifndef __WINDOWS__
204  wxDialog::Raise(); // Needed on OS X and some other window managers (i.e. Unity)
205 #endif
206  ret = wxDialog::Show( show );
207 
208  // classname is key, returns a zeroed out default EDA_RECT if none existed before.
209  EDA_RECT savedDialogRect = class_map[ hash_key ];
210 
211  if( savedDialogRect.GetSize().x != 0 && savedDialogRect.GetSize().y != 0 )
212  {
213  SetSize( savedDialogRect.GetPosition().x,
214  savedDialogRect.GetPosition().y,
215  std::max( wxDialog::GetSize().x, savedDialogRect.GetSize().x ),
216  std::max( wxDialog::GetSize().y, savedDialogRect.GetSize().y ),
217  0 );
218  }
219 
220  // Be sure that the dialog appears in a visible area
221  // (the dialog position might have been stored at the time when it was
222  // shown on another display)
223  if( wxDisplay::GetFromWindow( this ) == wxNOT_FOUND )
224  Centre();
225  }
226  else
227  {
228  // Save the dialog's position & size before hiding, using classname as key
229  class_map[ hash_key ] = EDA_RECT( wxDialog::GetPosition(), wxDialog::GetSize() );
230 
231 #ifdef __WXMAC__
232  if ( m_eventLoop )
233  m_eventLoop->Exit( GetReturnCode() ); // Needed for APP-MODAL dlgs on OSX
234 #endif
235 
236  ret = wxDialog::Show( show );
237  }
238 
239  return ret;
240 }
std::string m_hash_key
Definition: dialog_shim.h:199
static RECT_MAP class_map
const wxPoint GetPosition() const
Definition: eda_rect.h:115
EDA_RECT handles the component boundary box.
Definition: eda_rect.h:44
const wxSize GetSize() const
Definition: eda_rect.h:103

References class_map, EDA_RECT::GetPosition(), EDA_RECT::GetSize(), and DIALOG_SHIM::m_hash_key.

Referenced by DIALOG_SHIM::EndQuasiModal(), GROUP_TOOL::GroupProperties(), InvokeDialogERC(), SCH_EDIT_FRAME::OnAnnotate(), DIALOG_DRC::OnDRCItemDClick(), DIALOG_ERC::OnERCItemDClick(), DIALOG_CLEANUP_GRAPHICS::OnLeftDClickItem(), DIALOG_CLEANUP_TRACKS_AND_VIAS::OnLeftDClickItem(), GROUP_TOOL::PickNewMember(), POSITION_RELATIVE_TOOL::PositionRelative(), CVPCB_MAINFRAME::ReadNetListAndFpFiles(), EDA_VIEW_SWITCHER::Show(), DIALOG_PAD_PROPERTIES::Show(), DRC_TOOL::ShowDRCDialog(), SCH_EDIT_FRAME::ShowFindReplaceDialog(), HTML_MESSAGE_BOX::ShowModeless(), DIALOG_SHIM::ShowQuasiModal(), DIALOG_POSITION_RELATIVE::UpdateAnchor(), and SCH_EDIT_FRAME::UpdateHierarchyNavigator().

◆ ShowQuasiModal()

int DIALOG_SHIM::ShowQuasiModal ( )
inherited

Definition at line 337 of file dialog_shim.cpp.

338 {
339  // This is an exception safe way to zero a pointer before returning.
340  // Yes, even though DismissModal() clears this first normally, this is
341  // here in case there's an exception before the dialog is dismissed.
342  struct NULLER
343  {
344  void*& m_what;
345  NULLER( void*& aPtr ) : m_what( aPtr ) {}
346  ~NULLER() { m_what = 0; } // indeed, set it to NULL on destruction
347  } clear_this( (void*&) m_qmodal_loop );
348 
349  // release the mouse if it's currently captured as the window having it
350  // will be disabled when this dialog is shown -- but will still keep the
351  // capture making it impossible to do anything in the modal dialog itself
352  wxWindow* win = wxWindow::GetCapture();
353  if( win )
354  win->ReleaseMouse();
355 
356  // Get the optimal parent
357  wxWindow* parent = GetParentForModalDialog( GetParent(), GetWindowStyle() );
358 
359  wxASSERT_MSG( !m_qmodal_parent_disabler,
360  wxT( "Caller using ShowQuasiModal() twice on same window?" ) );
361 
362  // quasi-modal: disable only my "optimal" parent
364 
365  // Apple in its infinite wisdom will raise a disabled window before even passing
366  // us the event, so we have no way to stop it. Instead, we must set an order on
367  // the windows so that the quasi-modal will be pushed in front of the disabled
368  // window when it is raised.
370 
371  Show( true );
372 
373  m_qmodal_showing = true;
374 
375  WX_EVENT_LOOP event_loop;
376 
377  m_qmodal_loop = &event_loop;
378 
379  event_loop.Run();
380 
381  m_qmodal_showing = false;
382 
383  return GetReturnCode();
384 }
bool m_qmodal_showing
Definition: dialog_shim.h:209
#define WX_EVENT_LOOP
Definition: kiway_player.h:43
WX_EVENT_LOOP * m_qmodal_loop
Definition: dialog_shim.h:207
bool Show(bool show) override
WDO_ENABLE_DISABLE * m_qmodal_parent_disabler
Definition: dialog_shim.h:210
Toggle a window's "enable" status to disabled, then enabled on destruction.
Definition: dialog_shim.cpp:42
void ReparentQuasiModal(wxNonOwnedWindow *aWindow)
Move a window's parent to be the top-level window and force the window to be on top.
Definition: gtk/ui.cpp:50

References DIALOG_SHIM::m_qmodal_loop, DIALOG_SHIM::m_qmodal_parent_disabler, DIALOG_SHIM::m_qmodal_showing, KIPLATFORM::UI::ReparentQuasiModal(), DIALOG_SHIM::Show(), and WX_EVENT_LOOP.

Referenced by SCH_DRAWING_TOOLS::createNewText(), LIB_EDIT_TOOL::editFieldProperties(), SCH_EDITOR_CONTROL::EditSymbolFields(), LIB_EDIT_TOOL::editSymbolProperties(), GLOBAL_EDIT_TOOL::EditTracksAndVias(), GLOBAL_EDIT_TOOL::ExchangeFootprints(), InvokeDialogEditComponentsLibId(), InvokeDialogRescueEach(), LIB_VIEW_FRAME::OnSelectSymbol(), SCH_EDIT_FRAME::OpenProjectFiles(), SCH_EDIT_TOOL::Properties(), EDIT_TOOL::Properties(), SCH_EDITOR_CONTROL::RemapSymbols(), PCB_BASE_FRAME::SelectFootprintFromLibTree(), PCB_EDIT_FRAME::ShowBoardSetupDialog(), PCB_EDIT_FRAME::ShowExchangeFootprintsDialog(), PCB_BASE_FRAME::ShowPadPropertiesDialog(), and SCH_EDIT_FRAME::ShowSchematicSetupDialog().

◆ VertPixelsFromDU()

int DIALOG_SHIM::VertPixelsFromDU ( int  y)
protectedinherited

Convert an integer number of dialog units to pixels, vertically.

See SetSizeInDU or wxDialog documentation for more information.

Definition at line 171 of file dialog_shim.cpp.

172 {
173  wxSize sz( 0, y );
174  return ConvertDialogToPixels( sz ).y;
175 }

Referenced by DIALOG_CHOOSE_COMPONENT::DIALOG_CHOOSE_COMPONENT().

Member Data Documentation

◆ coordFormatLabel

wxStaticText* DIALOG_PLOT_BASE::coordFormatLabel
protectedinherited

Definition at line 98 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ drillMarksLabel

wxStaticText* DIALOG_PLOT_BASE::drillMarksLabel
protectedinherited

Definition at line 80 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ DXF_exportUnitsLabel

wxStaticText* DIALOG_PLOT_BASE::DXF_exportUnitsLabel
protectedinherited

Definition at line 119 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_bitmapAlert

wxStaticBitmap* DIALOG_PLOT_BASE::m_bitmapAlert
protectedinherited

Definition at line 90 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_boardSetup

wxHyperlinkCtrl* DIALOG_PLOT_BASE::m_boardSetup
protectedinherited

◆ m_browseButton

wxBitmapButton* DIALOG_PLOT_BASE::m_browseButton
protectedinherited

◆ m_buttonDRC

wxButton* DIALOG_PLOT_BASE::m_buttonDRC
protectedinherited

◆ m_coordFormatCtrl

wxChoice* DIALOG_PLOT_BASE::m_coordFormatCtrl
protectedinherited

◆ m_defaultPenSize

UNIT_BINDER DIALOG_PLOT::m_defaultPenSize
private

Definition at line 59 of file dialog_plot.h.

Referenced by applyPlotSettings(), init_Dialog(), and SetPlotFormat().

◆ m_disableApertMacros

wxCheckBox* DIALOG_PLOT_BASE::m_disableApertMacros
protectedinherited

◆ m_DRCExclusionsWarning

wxStaticText* DIALOG_PLOT_BASE::m_DRCExclusionsWarning
protectedinherited

◆ m_DRCWarningTemplate

wxString DIALOG_PLOT::m_DRCWarningTemplate
private

Definition at line 62 of file dialog_plot.h.

Referenced by DIALOG_PLOT(), and reInitDialog().

◆ m_drillShapeOpt

wxChoice* DIALOG_PLOT_BASE::m_drillShapeOpt
protectedinherited

◆ m_DXF_plotModeOpt

wxCheckBox* DIALOG_PLOT_BASE::m_DXF_plotModeOpt
protectedinherited

◆ m_DXF_plotTextStrokeFontOpt

wxCheckBox* DIALOG_PLOT_BASE::m_DXF_plotTextStrokeFontOpt
protectedinherited

◆ m_DXF_plotUnits

wxChoice* DIALOG_PLOT_BASE::m_DXF_plotUnits
protectedinherited

◆ m_excludeEdgeLayerOpt

wxCheckBox* DIALOG_PLOT_BASE::m_excludeEdgeLayerOpt
protectedinherited

◆ m_fineAdjustXCtrl

wxTextCtrl* DIALOG_PLOT_BASE::m_fineAdjustXCtrl
protectedinherited

◆ m_fineAdjustXLabel

wxStaticText* DIALOG_PLOT_BASE::m_fineAdjustXLabel
protectedinherited

Definition at line 108 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_fineAdjustYCtrl

wxTextCtrl* DIALOG_PLOT_BASE::m_fineAdjustYCtrl
protectedinherited

◆ m_fineAdjustYLabel

wxStaticText* DIALOG_PLOT_BASE::m_fineAdjustYLabel
protectedinherited

Definition at line 110 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_firstPaintEvent

bool DIALOG_SHIM::m_firstPaintEvent
protectedinherited

Definition at line 204 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint().

◆ m_forcePSA4OutputOpt

wxCheckBox* DIALOG_PLOT_BASE::m_forcePSA4OutputOpt
protectedinherited

◆ m_generateGerberJobFile

wxCheckBox* DIALOG_PLOT_BASE::m_generateGerberJobFile
protectedinherited

◆ m_GerberOptionsSizer

wxStaticBoxSizer* DIALOG_PLOT_BASE::m_GerberOptionsSizer
protectedinherited

Definition at line 94 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE(), and SetPlotFormat().

◆ m_hash_key

◆ m_HPGLOptionsSizer

wxStaticBoxSizer* DIALOG_PLOT_BASE::m_HPGLOptionsSizer
protectedinherited

Definition at line 103 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE(), and SetPlotFormat().

◆ m_hpglPenCtrl

wxTextCtrl* DIALOG_PLOT_BASE::m_hpglPenCtrl
protectedinherited

Definition at line 105 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_hpglPenLabel

wxStaticText* DIALOG_PLOT_BASE::m_hpglPenLabel
protectedinherited

Definition at line 104 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_hpglPenUnits

wxStaticText* DIALOG_PLOT_BASE::m_hpglPenUnits
protectedinherited

Definition at line 106 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_initialFocusTarget

wxWindow* DIALOG_SHIM::m_initialFocusTarget
protectedinherited

Definition at line 205 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnPaint(), and DIALOG_SHIM::SetInitialFocus().

◆ m_layerCheckListBox

wxCheckListBox* DIALOG_PLOT_BASE::m_layerCheckListBox
protectedinherited

◆ m_layerList

LSEQ DIALOG_PLOT::m_layerList
private

Definition at line 47 of file dialog_plot.h.

Referenced by applyPlotSettings(), init_Dialog(), and OnPopUpLayers().

◆ m_LayersSizer

wxStaticBoxSizer* DIALOG_PLOT_BASE::m_LayersSizer
protectedinherited

Definition at line 69 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_MainSizer

wxBoxSizer* DIALOG_PLOT_BASE::m_MainSizer
protectedinherited

Definition at line 63 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE(), and SetPlotFormat().

◆ m_messagesPanel

WX_HTML_REPORT_PANEL* DIALOG_PLOT_BASE::m_messagesPanel
protectedinherited

Definition at line 126 of file dialog_plot_base.h.

Referenced by applyPlotSettings(), DIALOG_PLOT_BASE::DIALOG_PLOT_BASE(), and Plot().

◆ m_outputDirectoryName

wxTextCtrl* DIALOG_PLOT_BASE::m_outputDirectoryName
protectedinherited

◆ m_parent

◆ m_parentFrame

EDA_BASE_FRAME* DIALOG_SHIM::m_parentFrame
protectedinherited

Definition at line 212 of file dialog_shim.h.

Referenced by DIALOG_SHIM::OnCharHook().

◆ m_plotFormatOpt

wxChoice* DIALOG_PLOT_BASE::m_plotFormatOpt
protectedinherited

◆ m_plotInvisibleText

wxCheckBox* DIALOG_PLOT_BASE::m_plotInvisibleText
protectedinherited

◆ m_plotMirrorOpt

wxCheckBox* DIALOG_PLOT_BASE::m_plotMirrorOpt
protectedinherited

◆ m_plotModeOpt

wxChoice* DIALOG_PLOT_BASE::m_plotModeOpt
protectedinherited

◆ m_plotModuleRefOpt

wxCheckBox* DIALOG_PLOT_BASE::m_plotModuleRefOpt
protectedinherited

◆ m_plotModuleValueOpt

wxCheckBox* DIALOG_PLOT_BASE::m_plotModuleValueOpt
protectedinherited

◆ m_plotNoViaOnMaskOpt

wxCheckBox* DIALOG_PLOT_BASE::m_plotNoViaOnMaskOpt
protectedinherited

◆ m_PlotOptionsSizer

wxBoxSizer* DIALOG_PLOT_BASE::m_PlotOptionsSizer
protectedinherited

◆ m_plotOpts

PCB_PLOT_PARAMS DIALOG_PLOT::m_plotOpts
private

◆ m_plotPSNegativeOpt

wxCheckBox* DIALOG_PLOT_BASE::m_plotPSNegativeOpt
protectedinherited

◆ m_plotSheetRef

wxCheckBox* DIALOG_PLOT_BASE::m_plotSheetRef
protectedinherited

◆ m_popMenu

wxMenu* DIALOG_PLOT_BASE::m_popMenu
protectedinherited

◆ m_PSOptionsSizer

wxStaticBoxSizer* DIALOG_PLOT_BASE::m_PSOptionsSizer
protectedinherited

Definition at line 107 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE(), and SetPlotFormat().

◆ m_PSWidthAdjust

int DIALOG_PLOT::m_PSWidthAdjust
private

Definition at line 52 of file dialog_plot.h.

Referenced by applyPlotSettings(), init_Dialog(), and Plot().

◆ m_qmodal_loop

WX_EVENT_LOOP* DIALOG_SHIM::m_qmodal_loop
protectedinherited

Definition at line 207 of file dialog_shim.h.

Referenced by DIALOG_SHIM::EndQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_qmodal_parent_disabler

WDO_ENABLE_DISABLE* DIALOG_SHIM::m_qmodal_parent_disabler
protectedinherited

◆ m_qmodal_showing

bool DIALOG_SHIM::m_qmodal_showing
protectedinherited

Definition at line 209 of file dialog_shim.h.

Referenced by DIALOG_SHIM::IsQuasiModal(), and DIALOG_SHIM::ShowQuasiModal().

◆ m_scaleOpt

wxChoice* DIALOG_PLOT_BASE::m_scaleOpt
protectedinherited

◆ m_sdbSizer1

wxStdDialogButtonSizer* DIALOG_PLOT_BASE::m_sdbSizer1
protectedinherited

Definition at line 130 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_sdbSizer1Apply

wxButton* DIALOG_PLOT_BASE::m_sdbSizer1Apply
protectedinherited

◆ m_sdbSizer1Cancel

wxButton* DIALOG_PLOT_BASE::m_sdbSizer1Cancel
protectedinherited

Definition at line 133 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT(), and DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_sdbSizer1OK

wxButton* DIALOG_PLOT_BASE::m_sdbSizer1OK
protectedinherited

◆ m_sizerButtons

wxBoxSizer* DIALOG_PLOT_BASE::m_sizerButtons
protectedinherited

Definition at line 127 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT(), and DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_SizerDXF_options

wxStaticBoxSizer* DIALOG_PLOT_BASE::m_SizerDXF_options
protectedinherited

Definition at line 116 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE(), and SetPlotFormat().

◆ m_SizerSolderMaskAlert

wxBoxSizer* DIALOG_PLOT_BASE::m_SizerSolderMaskAlert
protectedinherited

◆ m_sketchPadsOnFabLayers

wxCheckBox* DIALOG_PLOT_BASE::m_sketchPadsOnFabLayers
protectedinherited

◆ m_staticTextAlert

wxStaticText* DIALOG_PLOT_BASE::m_staticTextAlert
protectedinherited

Definition at line 91 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_staticTextAlert1

wxStaticText* DIALOG_PLOT_BASE::m_staticTextAlert1
protectedinherited

Definition at line 92 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_staticTextDir

wxStaticText* DIALOG_PLOT_BASE::m_staticTextDir
protectedinherited

Definition at line 66 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_staticTextPlotFmt

wxStaticText* DIALOG_PLOT_BASE::m_staticTextPlotFmt
protectedinherited

Definition at line 64 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_subtractMaskFromSilk

wxCheckBox* DIALOG_PLOT_BASE::m_subtractMaskFromSilk
protectedinherited

◆ m_svgOptionsSizer

wxStaticBoxSizer* DIALOG_PLOT_BASE::m_svgOptionsSizer
protectedinherited

Definition at line 121 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE(), and SetPlotFormat().

◆ m_svgPrecsision

wxSpinCtrl* DIALOG_PLOT_BASE::m_svgPrecsision
protectedinherited

◆ m_svgUnits

wxChoice* DIALOG_PLOT_BASE::m_svgUnits
protectedinherited

◆ m_tabOrder

◆ m_trackWidthCorrection

UNIT_BINDER DIALOG_PLOT::m_trackWidthCorrection
private

Definition at line 60 of file dialog_plot.h.

Referenced by applyPlotSettings(), init_Dialog(), and SetPlotFormat().

◆ m_units

◆ m_useAuxOriginCheckBox

wxCheckBox* DIALOG_PLOT_BASE::m_useAuxOriginCheckBox
protectedinherited

◆ m_useGerberExtensions

wxCheckBox* DIALOG_PLOT_BASE::m_useGerberExtensions
protectedinherited

◆ m_useGerberNetAttributes

wxCheckBox* DIALOG_PLOT_BASE::m_useGerberNetAttributes
protectedinherited

◆ m_useGerberX2Format

wxCheckBox* DIALOG_PLOT_BASE::m_useGerberX2Format
protectedinherited

◆ m_widthAdjustCtrl

wxTextCtrl* DIALOG_PLOT_BASE::m_widthAdjustCtrl
protectedinherited

Definition at line 113 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_widthAdjustLabel

wxStaticText* DIALOG_PLOT_BASE::m_widthAdjustLabel
protectedinherited

Definition at line 112 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_widthAdjustMaxValue

int DIALOG_PLOT::m_widthAdjustMaxValue
private

Definition at line 57 of file dialog_plot.h.

Referenced by applyPlotSettings(), and init_Dialog().

◆ m_widthAdjustMinValue

int DIALOG_PLOT::m_widthAdjustMinValue
private

Definition at line 56 of file dialog_plot.h.

Referenced by applyPlotSettings(), and init_Dialog().

◆ m_widthAdjustUnits

wxStaticText* DIALOG_PLOT_BASE::m_widthAdjustUnits
protectedinherited

Definition at line 114 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ m_XScaleAdjust

double DIALOG_PLOT::m_XScaleAdjust
private

Definition at line 48 of file dialog_plot.h.

Referenced by applyPlotSettings(), init_Dialog(), and Plot().

◆ m_YScaleAdjust

double DIALOG_PLOT::m_YScaleAdjust
private

Definition at line 50 of file dialog_plot.h.

Referenced by applyPlotSettings(), init_Dialog(), and Plot().

◆ m_zoneFillCheck

wxCheckBox* DIALOG_PLOT_BASE::m_zoneFillCheck
protectedinherited

◆ plotModeLabel

wxStaticText* DIALOG_PLOT_BASE::plotModeLabel
protectedinherited

Definition at line 84 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ scalingLabel

wxStaticText* DIALOG_PLOT_BASE::scalingLabel
protectedinherited

Definition at line 82 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ svgPrecisionLabel

wxStaticText* DIALOG_PLOT_BASE::svgPrecisionLabel
protectedinherited

Definition at line 124 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().

◆ svgUnitLabel

wxStaticText* DIALOG_PLOT_BASE::svgUnitLabel
protectedinherited

Definition at line 122 of file dialog_plot_base.h.

Referenced by DIALOG_PLOT_BASE::DIALOG_PLOT_BASE().


The documentation for this class was generated from the following files: