mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-04-21 22:13:44 +00:00
CHANGED: Make drill dialog generate maps a checkbox option rather than explicit button
Wouldn't you want to always consistently generating both drill list and map rather than separately? Fixes https://gitlab.com/kicad/code/kicad/-/issues/19400
This commit is contained in:
parent
1cf569b0be
commit
f07e3e5b3b
@ -75,9 +75,8 @@ DIALOG_GENDRILL::DIALOG_GENDRILL( PCB_EDIT_FRAME* aPcbEditFrame, wxWindow* aPare
|
||||
m_job = nullptr;
|
||||
m_plotOpts = m_pcbEditFrame->GetPlotSettings();
|
||||
|
||||
SetupStandardButtons( { { wxID_OK, _( "Generate Drill File" ) },
|
||||
{ wxID_APPLY, _( "Generate Map File" ) },
|
||||
{ wxID_CANCEL, _( "Close" ) } } );
|
||||
SetupStandardButtons( { { wxID_OK, _( "Generate" ) },
|
||||
{ wxID_CANCEL, _( "Close" ) } } );
|
||||
|
||||
m_buttonsSizer->Layout();
|
||||
|
||||
@ -101,7 +100,6 @@ DIALOG_GENDRILL::DIALOG_GENDRILL( PCB_EDIT_FRAME* aPcbEditFrame, JOB_EXPORT_PCB_
|
||||
bMainSizer->Remove( bMsgSizer );
|
||||
m_messagesBox->Hide();
|
||||
|
||||
m_sdbSizerApply->Hide();
|
||||
SetupStandardButtons( { { wxID_OK, _( "Save" ) }, { wxID_CANCEL, _( "Cancel" ) } } );
|
||||
m_buttonsSizer->Layout();
|
||||
|
||||
@ -117,6 +115,7 @@ int DIALOG_GENDRILL::m_ZerosFormat = EXCELLON_WRITER::DECIMAL_FORMAT;
|
||||
bool DIALOG_GENDRILL::m_MinimalHeader = false; // Only for Excellon format
|
||||
bool DIALOG_GENDRILL::m_Mirror = false; // Only for Excellon format
|
||||
bool DIALOG_GENDRILL::m_Merge_PTH_NPTH = false; // Only for Excellon format
|
||||
bool DIALOG_GENDRILL::m_GenerateMap = false;
|
||||
int DIALOG_GENDRILL::m_mapFileType = 4; // The last choice in m_Choice_Drill_Map
|
||||
int DIALOG_GENDRILL::m_drillFileType = 0;
|
||||
bool DIALOG_GENDRILL::m_UseRouteModeForOvalHoles = true; // Use G00 route mode to "drill" oval holes
|
||||
@ -153,6 +152,8 @@ void DIALOG_GENDRILL::initDialog()
|
||||
m_drillFileType = cfg->m_GenDrill.drill_file_type;
|
||||
m_mapFileType = cfg->m_GenDrill.map_file_type;
|
||||
m_ZerosFormat = cfg->m_GenDrill.zeros_format;
|
||||
m_GenerateMap = cfg->m_GenDrill.generate_map;
|
||||
|
||||
|
||||
// Ensure validity of m_mapFileType
|
||||
if( m_mapFileType < 0 || m_mapFileType >= (int) m_Choice_Drill_Map->GetCount() )
|
||||
@ -184,6 +185,7 @@ void DIALOG_GENDRILL::InitDisplayParams()
|
||||
m_Check_Merge_PTH_NPTH->SetValue( m_Merge_PTH_NPTH );
|
||||
m_Choice_Drill_Map->SetSelection( m_mapFileType );
|
||||
m_radioBoxOvalHoleMode->SetSelection( m_UseRouteModeForOvalHoles ? 0 : 1 );
|
||||
m_cbGenerateMap->SetValue( m_GenerateMap );
|
||||
|
||||
// Output directory
|
||||
m_outputDirectoryName->SetValue( m_plotOpts.GetOutputDirectory() );
|
||||
@ -309,6 +311,7 @@ void DIALOG_GENDRILL::UpdateConfig()
|
||||
cfg->m_GenDrill.drill_file_type = m_drillFileType;
|
||||
cfg->m_GenDrill.map_file_type = m_mapFileType;
|
||||
cfg->m_GenDrill.zeros_format = m_ZerosFormat;
|
||||
cfg->m_GenDrill.generate_map = m_GenerateMap;
|
||||
}
|
||||
|
||||
|
||||
@ -318,20 +321,11 @@ void DIALOG_GENDRILL::OnSelDrillUnitsSelected( wxCommandEvent& event )
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_GENDRILL::OnGenMapFile( wxCommandEvent& event )
|
||||
{
|
||||
if( !m_job )
|
||||
{
|
||||
GenDrillAndMapFiles( false, true );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DIALOG_GENDRILL::OnGenDrillFile( wxCommandEvent& event )
|
||||
{
|
||||
if( !m_job )
|
||||
{
|
||||
GenDrillAndMapFiles( true, false );
|
||||
GenDrillAndMapFiles( true, m_cbGenerateMap->GetValue() );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -348,6 +342,7 @@ void DIALOG_GENDRILL::OnGenDrillFile( wxCommandEvent& event )
|
||||
m_job->m_excellonOvalDrillRoute = m_radioBoxOvalHoleMode->GetSelection() == 0;
|
||||
m_job->m_mapFormat = static_cast<JOB_EXPORT_PCB_DRILL::MAP_FORMAT>( m_Choice_Drill_Map->GetSelection() );
|
||||
m_job->m_zeroFormat = static_cast<JOB_EXPORT_PCB_DRILL::ZEROS_FORMAT>( m_Choice_Zeros_Format->GetSelection() );
|
||||
m_job->m_generateMap = m_cbGenerateMap->IsChecked();
|
||||
Close();
|
||||
}
|
||||
}
|
||||
@ -431,6 +426,7 @@ void DIALOG_GENDRILL::UpdateDrillParams()
|
||||
m_Merge_PTH_NPTH = m_Check_Merge_PTH_NPTH->IsChecked();
|
||||
m_ZerosFormat = m_Choice_Zeros_Format->GetSelection();
|
||||
m_UseRouteModeForOvalHoles = m_radioBoxOvalHoleMode->GetSelection() == 0;
|
||||
m_GenerateMap = m_cbGenerateMap->IsChecked();
|
||||
|
||||
if( m_Choice_Drill_Offset->GetSelection() == 0 )
|
||||
m_DrillFileOffset = VECTOR2I( 0, 0 );
|
||||
|
@ -57,7 +57,6 @@ private:
|
||||
void OnSelDrillUnitsSelected( wxCommandEvent& event ) override;
|
||||
void OnSelZerosFmtSelected( wxCommandEvent& event ) override;
|
||||
void OnGenDrillFile( wxCommandEvent& event ) override;
|
||||
void OnGenMapFile( wxCommandEvent& event ) override;
|
||||
void onFileFormatSelection( wxCommandEvent& event ) override;
|
||||
|
||||
// Called when closing the dialog: Update config.
|
||||
@ -104,6 +103,7 @@ public:
|
||||
static bool m_MinimalHeader;
|
||||
static bool m_Mirror;
|
||||
static bool m_Merge_PTH_NPTH;
|
||||
static bool m_GenerateMap;
|
||||
DRILL_PRECISION m_Precision; // Precision for drill files, in non decimal format
|
||||
VECTOR2I m_DrillFileOffset; // Drill offset: 0,0 for absolute coordinates,
|
||||
// or origin of the auxiliary axis
|
||||
|
@ -80,6 +80,9 @@ DIALOG_GENDRILL_BASE::DIALOG_GENDRILL_BASE( wxWindow* parent, wxWindowID id, con
|
||||
|
||||
bMiddleSizer->Add( sbSizer6, 1, wxEXPAND|wxALL, 5 );
|
||||
|
||||
m_cbGenerateMap = new wxCheckBox( this, wxID_ANY, _("Generate Map"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bMiddleSizer->Add( m_cbGenerateMap, 0, wxALL, 5 );
|
||||
|
||||
wxString m_Choice_Drill_MapChoices[] = { _("PostScript"), _("Gerber X2"), _("DXF"), _("SVG"), _("PDF") };
|
||||
int m_Choice_Drill_MapNChoices = sizeof( m_Choice_Drill_MapChoices ) / sizeof( wxString );
|
||||
m_Choice_Drill_Map = new wxRadioBox( this, wxID_ANY, _("Map File Format"), wxDefaultPosition, wxDefaultSize, m_Choice_Drill_MapNChoices, m_Choice_Drill_MapChoices, 1, wxRA_SPECIFY_COLS );
|
||||
@ -217,8 +220,6 @@ DIALOG_GENDRILL_BASE::DIALOG_GENDRILL_BASE( wxWindow* parent, wxWindowID id, con
|
||||
m_sdbSizer = new wxStdDialogButtonSizer();
|
||||
m_sdbSizerOK = new wxButton( this, wxID_OK );
|
||||
m_sdbSizer->AddButton( m_sdbSizerOK );
|
||||
m_sdbSizerApply = new wxButton( this, wxID_APPLY );
|
||||
m_sdbSizer->AddButton( m_sdbSizerApply );
|
||||
m_sdbSizerCancel = new wxButton( this, wxID_CANCEL );
|
||||
m_sdbSizer->AddButton( m_sdbSizerCancel );
|
||||
m_sdbSizer->Realize();
|
||||
@ -243,7 +244,6 @@ DIALOG_GENDRILL_BASE::DIALOG_GENDRILL_BASE( wxWindow* parent, wxWindowID id, con
|
||||
m_Choice_Unit->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnSelDrillUnitsSelected ), NULL, this );
|
||||
m_Choice_Zeros_Format->Connect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnSelZerosFmtSelected ), NULL, this );
|
||||
m_buttonReport->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnGenReportFile ), NULL, this );
|
||||
m_sdbSizerApply->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnGenMapFile ), NULL, this );
|
||||
m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::onQuitDlg ), NULL, this );
|
||||
m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnGenDrillFile ), NULL, this );
|
||||
}
|
||||
@ -258,7 +258,6 @@ DIALOG_GENDRILL_BASE::~DIALOG_GENDRILL_BASE()
|
||||
m_Choice_Unit->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnSelDrillUnitsSelected ), NULL, this );
|
||||
m_Choice_Zeros_Format->Disconnect( wxEVT_COMMAND_RADIOBOX_SELECTED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnSelZerosFmtSelected ), NULL, this );
|
||||
m_buttonReport->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnGenReportFile ), NULL, this );
|
||||
m_sdbSizerApply->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnGenMapFile ), NULL, this );
|
||||
m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::onQuitDlg ), NULL, this );
|
||||
m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnGenDrillFile ), NULL, this );
|
||||
|
||||
|
@ -282,25 +282,25 @@
|
||||
<property name="border">8</property>
|
||||
<property name="flag">wxEXPAND|wxTOP</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="false">
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bmiddlerSizer</property>
|
||||
<property name="orient">wxHORIZONTAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxBoxSizer" expanded="false">
|
||||
<object class="wxBoxSizer" expanded="true">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bMiddleSizer</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxEXPAND|wxALL</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxStaticBoxSizer" expanded="false">
|
||||
<object class="wxStaticBoxSizer" expanded="true">
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Drill File Format</property>
|
||||
<property name="minimum_size"></property>
|
||||
@ -715,6 +715,71 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="true">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxCheckBox" expanded="true">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer">0</property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position">0</property>
|
||||
<property name="aui_row">0</property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="checked">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="drag_accept_files">0</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">Generate Map</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_cbGenerateMap</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass">; ; forward_declare</property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="false">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
@ -1973,7 +2038,7 @@
|
||||
<property name="flag">wxEXPAND</property>
|
||||
<property name="proportion">1</property>
|
||||
<object class="wxStdDialogButtonSizer" expanded="true">
|
||||
<property name="Apply">1</property>
|
||||
<property name="Apply">0</property>
|
||||
<property name="Cancel">1</property>
|
||||
<property name="ContextHelp">0</property>
|
||||
<property name="Help">0</property>
|
||||
@ -1984,7 +2049,6 @@
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">m_sdbSizer</property>
|
||||
<property name="permission">protected</property>
|
||||
<event name="OnApplyButtonClick">OnGenMapFile</event>
|
||||
<event name="OnCancelButtonClick">onQuitDlg</event>
|
||||
<event name="OnOKButtonClick">OnGenDrillFile</event>
|
||||
</object>
|
||||
|
@ -52,6 +52,7 @@ class DIALOG_GENDRILL_BASE : public DIALOG_SHIM
|
||||
wxCheckBox* m_Check_Merge_PTH_NPTH;
|
||||
wxRadioBox* m_radioBoxOvalHoleMode;
|
||||
wxRadioButton* m_rbGerberX2;
|
||||
wxCheckBox* m_cbGenerateMap;
|
||||
wxRadioBox* m_Choice_Drill_Map;
|
||||
wxRadioBox* m_Choice_Drill_Offset;
|
||||
wxRadioBox* m_Choice_Unit;
|
||||
@ -74,7 +75,6 @@ class DIALOG_GENDRILL_BASE : public DIALOG_SHIM
|
||||
wxButton* m_buttonReport;
|
||||
wxStdDialogButtonSizer* m_sdbSizer;
|
||||
wxButton* m_sdbSizerOK;
|
||||
wxButton* m_sdbSizerApply;
|
||||
wxButton* m_sdbSizerCancel;
|
||||
|
||||
// Virtual event handlers, override them in your derived class
|
||||
@ -84,7 +84,6 @@ class DIALOG_GENDRILL_BASE : public DIALOG_SHIM
|
||||
virtual void OnSelDrillUnitsSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnSelZerosFmtSelected( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnGenReportFile( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnGenMapFile( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void onQuitDlg( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void OnGenDrillFile( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
|
@ -345,6 +345,9 @@ PCBNEW_SETTINGS::PCBNEW_SETTINGS()
|
||||
m_params.emplace_back( new PARAM<int>( "gen_drill.zeros_format",
|
||||
&m_GenDrill.zeros_format, 0, 0, 3 ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<bool>( "gen_drill.generate_map",
|
||||
&m_GenDrill.generate_map, false ) );
|
||||
|
||||
m_params.emplace_back( new PARAM<int>( "export_2581.units",
|
||||
&m_Export2581.units, 0 ) );
|
||||
|
||||
|
@ -252,6 +252,7 @@ public:
|
||||
int drill_file_type;
|
||||
int map_file_type;
|
||||
int zeros_format;
|
||||
bool generate_map;
|
||||
};
|
||||
|
||||
struct DIALOG_IMPORT_GRAPHICS
|
||||
|
Loading…
Reference in New Issue
Block a user