Board and footprint editors: Auto update 3D display after a footprint or board change.
This commit is contained in:
commit
bbb126db2e
|
@ -57,6 +57,7 @@ WinEDA3D_DrawFrame::WinEDA3D_DrawFrame( WinEDA_BasePcbFrame* parent,
|
||||||
m_HToolBar = NULL;
|
m_HToolBar = NULL;
|
||||||
m_VToolBar = NULL;
|
m_VToolBar = NULL;
|
||||||
m_InternalUnits = 10000; // Internal units = 1/10000 inch
|
m_InternalUnits = 10000; // Internal units = 1/10000 inch
|
||||||
|
m_reloadRequest = false;
|
||||||
|
|
||||||
// Give it an icon
|
// Give it an icon
|
||||||
SetIcon( wxICON( icon_w3d ) );
|
SetIcon( wxICON( icon_w3d ) );
|
||||||
|
@ -343,6 +344,8 @@ error: unknown command" ) );
|
||||||
|
|
||||||
void WinEDA3D_DrawFrame::NewDisplay()
|
void WinEDA3D_DrawFrame::NewDisplay()
|
||||||
{
|
{
|
||||||
|
m_reloadRequest = false;
|
||||||
|
|
||||||
m_Canvas->ClearLists();
|
m_Canvas->ClearLists();
|
||||||
m_Canvas->CreateDrawGL_List();
|
m_Canvas->CreateDrawGL_List();
|
||||||
|
|
||||||
|
@ -356,10 +359,9 @@ void WinEDA3D_DrawFrame::OnActivate( wxActivateEvent& event )
|
||||||
{
|
{
|
||||||
// Reload data if 3D frame shows a footprint,
|
// Reload data if 3D frame shows a footprint,
|
||||||
// because it can be changed since last frame activation
|
// because it can be changed since last frame activation
|
||||||
if( m_Parent->m_Ident == MODULE_EDITOR_FRAME )
|
if( m_reloadRequest )
|
||||||
{
|
NewDisplay();
|
||||||
// NewDisplay();
|
|
||||||
}
|
|
||||||
event.Skip(); // required under wxMAC
|
event.Skip(); // required under wxMAC
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -185,23 +185,25 @@ class WinEDA3D_DrawFrame : public wxFrame
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
WinEDA_BasePcbFrame* m_Parent;
|
WinEDA_BasePcbFrame* m_Parent;
|
||||||
|
private:
|
||||||
|
wxString m_FrameName; // name used for writing and reading setup
|
||||||
|
// It is "Frame3D"
|
||||||
Pcb3D_GLCanvas* m_Canvas;
|
Pcb3D_GLCanvas* m_Canvas;
|
||||||
WinEDA_Toolbar* m_HToolBar;
|
WinEDA_Toolbar* m_HToolBar;
|
||||||
WinEDA_Toolbar* m_VToolBar;
|
WinEDA_Toolbar* m_VToolBar;
|
||||||
int m_InternalUnits;
|
int m_InternalUnits;
|
||||||
wxPoint m_FramePos;
|
wxPoint m_FramePos;
|
||||||
wxSize m_FrameSize;
|
wxSize m_FrameSize;
|
||||||
|
|
||||||
wxAuiManager m_auimgr;
|
wxAuiManager m_auimgr;
|
||||||
~WinEDA3D_DrawFrame() { m_auimgr.UnInit(); };
|
bool m_reloadRequest;
|
||||||
|
|
||||||
private:
|
|
||||||
wxString m_FrameName; // name used for writing and reading setup
|
|
||||||
// It is "Frame3D"
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
WinEDA3D_DrawFrame( WinEDA_BasePcbFrame* parent, const wxString& title,
|
WinEDA3D_DrawFrame( WinEDA_BasePcbFrame* parent, const wxString& title,
|
||||||
long style = KICAD_DEFAULT_3D_DRAWFRAME_STYLE );
|
long style = KICAD_DEFAULT_3D_DRAWFRAME_STYLE );
|
||||||
|
~WinEDA3D_DrawFrame()
|
||||||
|
{
|
||||||
|
m_auimgr.UnInit();
|
||||||
|
};
|
||||||
|
|
||||||
void Exit3DFrame( wxCommandEvent& event );
|
void Exit3DFrame( wxCommandEvent& event );
|
||||||
void OnCloseWindow( wxCloseEvent& Event );
|
void OnCloseWindow( wxCloseEvent& Event );
|
||||||
|
@ -211,6 +213,15 @@ public:
|
||||||
void SetToolbars();
|
void SetToolbars();
|
||||||
void GetSettings();
|
void GetSettings();
|
||||||
void SaveSettings();
|
void SaveSettings();
|
||||||
|
/** function ReloadRequest
|
||||||
|
* must be called when reloading data from Pcbnew is needed
|
||||||
|
* mainly after edition of the board or footprint beeing displayed.
|
||||||
|
* mainly for the mudule editor.
|
||||||
|
*/
|
||||||
|
void ReloadRequest( )
|
||||||
|
{
|
||||||
|
m_reloadRequest = true;
|
||||||
|
}
|
||||||
|
|
||||||
void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
|
void OnLeftClick( wxDC* DC, const wxPoint& MousePos );
|
||||||
void OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
|
void OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu );
|
||||||
|
|
|
@ -4,6 +4,14 @@ KiCad ChangeLog 2010
|
||||||
Please add newer entries at the top, list the date and your name with
|
Please add newer entries at the top, list the date and your name with
|
||||||
email address.
|
email address.
|
||||||
|
|
||||||
|
2010-may-01, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
||||||
|
================================================================================
|
||||||
|
++Pcbnew:
|
||||||
|
Board and footprint editors:
|
||||||
|
Auto update 3D display after footprint or board edition.
|
||||||
|
(board or footprint is reloaded only when the 3D frame is reactivated, so
|
||||||
|
no extra time is needed during edition)
|
||||||
|
|
||||||
2010-apr-29, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
2010-apr-29, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
|
||||||
================================================================================
|
================================================================================
|
||||||
++Pcbnew:
|
++Pcbnew:
|
||||||
|
|
|
@ -218,9 +218,11 @@ public:
|
||||||
|
|
||||||
/** Function OnModify()
|
/** Function OnModify()
|
||||||
* Virtual
|
* Virtual
|
||||||
* Must be called after a schematic change
|
* Must be called after a change
|
||||||
* in order to set the "modify" flag of the current screen
|
* in order to set the "modify" flag of the current screen
|
||||||
* and update the date in frame reference
|
* and update the date in frame reference
|
||||||
|
* do not forget to call this basic OnModify function to update info
|
||||||
|
* in derived OnModify functions
|
||||||
*/
|
*/
|
||||||
virtual void OnModify( );
|
virtual void OnModify( );
|
||||||
|
|
||||||
|
|
|
@ -274,6 +274,14 @@ public:
|
||||||
void ReCreateMenuBar();
|
void ReCreateMenuBar();
|
||||||
WinEDAChoiceBox* ReCreateLayerBox( WinEDA_Toolbar* parent );
|
WinEDAChoiceBox* ReCreateLayerBox( WinEDA_Toolbar* parent );
|
||||||
|
|
||||||
|
/** Virtual Function OnModify()
|
||||||
|
* Must be called after a board change
|
||||||
|
* in order to set the "modify" flag of the current screen
|
||||||
|
* and prepare, if needed the refresh of the 3D frame showing the footprint
|
||||||
|
* do not forget to call the basic OnModify function to update auxiliary info
|
||||||
|
*/
|
||||||
|
virtual void OnModify( );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function IsElementVisible
|
* Function IsElementVisible
|
||||||
* tests whether a given element category is visible. Keep this as an
|
* tests whether a given element category is visible. Keep this as an
|
||||||
|
@ -1069,6 +1077,14 @@ public:
|
||||||
void GeneralControle( wxDC* DC, wxPoint Mouse );
|
void GeneralControle( wxDC* DC, wxPoint Mouse );
|
||||||
void LoadModuleFromBoard( wxCommandEvent& event );
|
void LoadModuleFromBoard( wxCommandEvent& event );
|
||||||
|
|
||||||
|
/** Virtual Function OnModify()
|
||||||
|
* Must be called after a footprint change
|
||||||
|
* in order to set the "modify" flag of the current screen
|
||||||
|
* and prepare, if needed the refresh of the 3D frame showing the footprint
|
||||||
|
* do not forget to call the basic OnModify function to update auxiliary info
|
||||||
|
*/
|
||||||
|
virtual void OnModify( );
|
||||||
|
|
||||||
/** function ToPrinter
|
/** function ToPrinter
|
||||||
* Install the print dialog
|
* Install the print dialog
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -54,7 +54,8 @@ set(PCBNEW_SRCS
|
||||||
dialog_export_3Dfiles_base.cpp
|
dialog_export_3Dfiles_base.cpp
|
||||||
dialog_freeroute_exchange.cpp
|
dialog_freeroute_exchange.cpp
|
||||||
dialog_freeroute_exchange_base.cpp
|
dialog_freeroute_exchange_base.cpp
|
||||||
# dialog_gendrill.cpp
|
dialog_gendrill.cpp
|
||||||
|
dialog_gendrill_base.cpp
|
||||||
dialog_general_options.cpp
|
dialog_general_options.cpp
|
||||||
dialog_general_options_BoardEditor_base.cpp
|
dialog_general_options_BoardEditor_base.cpp
|
||||||
dialog_global_edit_tracks_and_vias.cpp
|
dialog_global_edit_tracks_and_vias.cpp
|
||||||
|
|
|
@ -423,6 +423,8 @@ void WinEDA_BasePcbFrame::SaveSettings()
|
||||||
* Must be called after a schematic change
|
* Must be called after a schematic change
|
||||||
* in order to set the "modify" flag of the current screen
|
* in order to set the "modify" flag of the current screen
|
||||||
* and update the date in frame reference
|
* and update the date in frame reference
|
||||||
|
* do not forget to call this basic OnModify function to update info
|
||||||
|
* in derived OnModify functions
|
||||||
*/
|
*/
|
||||||
void WinEDA_BasePcbFrame::OnModify( )
|
void WinEDA_BasePcbFrame::OnModify( )
|
||||||
{
|
{
|
||||||
|
|
|
@ -45,10 +45,10 @@ DIALOG_EXPORT_3DFILE_BASE::DIALOG_EXPORT_3DFILE_BASE( wxWindow* parent, wxWindow
|
||||||
m_rbSelectUnits->SetSelection( 0 );
|
m_rbSelectUnits->SetSelection( 0 );
|
||||||
bLowerSizer->Add( m_rbSelectUnits, 1, wxALL|wxEXPAND, 5 );
|
bLowerSizer->Add( m_rbSelectUnits, 1, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
wxString m_rb3DFilesOptionChoices[] = { _("Copy 3D Shapes Files in Subdir"), _("Use Absolute Path in Wrml File ") };
|
wxString m_rb3DFilesOptionChoices[] = { _("Copy 3D Shapes Files in Subdir"), _("Use Absolute Path in Vrml File ") };
|
||||||
int m_rb3DFilesOptionNChoices = sizeof( m_rb3DFilesOptionChoices ) / sizeof( wxString );
|
int m_rb3DFilesOptionNChoices = sizeof( m_rb3DFilesOptionChoices ) / sizeof( wxString );
|
||||||
m_rb3DFilesOption = new wxRadioBox( this, wxID_ANY, _("3D Shapes Files Option:"), wxDefaultPosition, wxDefaultSize, m_rb3DFilesOptionNChoices, m_rb3DFilesOptionChoices, 1, wxRA_SPECIFY_COLS );
|
m_rb3DFilesOption = new wxRadioBox( this, wxID_ANY, _("3D Shapes Files Option:"), wxDefaultPosition, wxDefaultSize, m_rb3DFilesOptionNChoices, m_rb3DFilesOptionChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
m_rb3DFilesOption->SetSelection( 0 );
|
m_rb3DFilesOption->SetSelection( 1 );
|
||||||
bLowerSizer->Add( m_rb3DFilesOption, 1, wxALL|wxEXPAND, 5 );
|
bLowerSizer->Add( m_rb3DFilesOption, 1, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
bSizer1->Add( bLowerSizer, 1, wxEXPAND, 5 );
|
bSizer1->Add( bLowerSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
|
@ -365,7 +365,7 @@
|
||||||
<property name="proportion">1</property>
|
<property name="proportion">1</property>
|
||||||
<object class="wxRadioBox" expanded="1">
|
<object class="wxRadioBox" expanded="1">
|
||||||
<property name="bg"></property>
|
<property name="bg"></property>
|
||||||
<property name="choices">"Copy 3D Shapes Files in Subdir" "Use Absolute Path in Wrml File "</property>
|
<property name="choices">"Copy 3D Shapes Files in Subdir" "Use Absolute Path in Vrml File "</property>
|
||||||
<property name="context_help"></property>
|
<property name="context_help"></property>
|
||||||
<property name="enabled">1</property>
|
<property name="enabled">1</property>
|
||||||
<property name="fg"></property>
|
<property name="fg"></property>
|
||||||
|
@ -379,7 +379,7 @@
|
||||||
<property name="name">m_rb3DFilesOption</property>
|
<property name="name">m_rb3DFilesOption</property>
|
||||||
<property name="permission">protected</property>
|
<property name="permission">protected</property>
|
||||||
<property name="pos"></property>
|
<property name="pos"></property>
|
||||||
<property name="selection">0</property>
|
<property name="selection">1</property>
|
||||||
<property name="size"></property>
|
<property name="size"></property>
|
||||||
<property name="style">wxRA_SPECIFY_COLS</property>
|
<property name="style">wxRA_SPECIFY_COLS</property>
|
||||||
<property name="subclass"></property>
|
<property name="subclass"></property>
|
||||||
|
|
|
@ -1,114 +1,35 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: dialog_gendrill.cpp
|
// Name: dialog_gendrill.cpp
|
||||||
// Purpose:
|
|
||||||
// Author: jean-pierre Charras
|
// Author: jean-pierre Charras
|
||||||
// Modified by:
|
// Licence: GPL
|
||||||
// Created: 13/01/2008 17:26:27
|
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: License GNU
|
|
||||||
// Licence:
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// Generated by DialogBlocks (unregistered), 13/01/2008 17:26:27
|
#include "fctsys.h"
|
||||||
|
#include "pcbnew.h"
|
||||||
// For compilers that support precompilation, includes "wx/wx.h".
|
#include "wxPcbStruct.h"
|
||||||
#include "wx/wxprec.h"
|
#include "gendrill.h"
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
|
||||||
#pragma hdrstop
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include "wx/wx.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
////@begin includes
|
|
||||||
////@end includes
|
|
||||||
|
|
||||||
#include "dialog_gendrill.h"
|
#include "dialog_gendrill.h"
|
||||||
|
|
||||||
////@begin XPM images
|
|
||||||
////@end XPM images
|
|
||||||
|
|
||||||
|
DIALOG_GENDRILL::DIALOG_GENDRILL( WinEDA_PcbFrame* parent )
|
||||||
/*!
|
: DIALOG_GENDRILL_BASE( parent )
|
||||||
* WinEDA_DrillFrame type definition
|
|
||||||
*/
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS( WinEDA_DrillFrame, wxDialog )
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_DrillFrame event table definition
|
|
||||||
*/
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE( WinEDA_DrillFrame, wxDialog )
|
|
||||||
|
|
||||||
////@begin WinEDA_DrillFrame event table entries
|
|
||||||
EVT_CLOSE( WinEDA_DrillFrame::OnCloseWindow )
|
|
||||||
|
|
||||||
EVT_RADIOBOX( ID_SEL_DRILL_UNITS, WinEDA_DrillFrame::OnSelDrillUnitsSelected )
|
|
||||||
|
|
||||||
EVT_RADIOBOX( ID_SEL_ZEROS_FMT, WinEDA_DrillFrame::OnSelZerosFmtSelected )
|
|
||||||
|
|
||||||
EVT_BUTTON( wxID_OK, WinEDA_DrillFrame::OnOkClick )
|
|
||||||
|
|
||||||
EVT_BUTTON( wxID_CANCEL, WinEDA_DrillFrame::OnCancelClick )
|
|
||||||
|
|
||||||
////@end WinEDA_DrillFrame event table entries
|
|
||||||
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_DrillFrame constructors
|
|
||||||
*/
|
|
||||||
|
|
||||||
WinEDA_DrillFrame::WinEDA_DrillFrame()
|
|
||||||
{
|
|
||||||
Init();
|
|
||||||
}
|
|
||||||
|
|
||||||
WinEDA_DrillFrame::WinEDA_DrillFrame( WinEDA_PcbFrame* parent, wxWindowID id,
|
|
||||||
const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
|
|
||||||
{
|
{
|
||||||
m_Parent = parent;
|
m_Parent = parent;
|
||||||
|
|
||||||
SetReturnCode( 1 );
|
SetReturnCode( 1 );
|
||||||
Init();
|
initDialog();
|
||||||
Create(parent, id, caption, pos, size, style);
|
GetSizer()->SetSizeHints( this );
|
||||||
|
Centre( );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* WinEDA_DrillFrame creator
|
* DIALOG_GENDRILL destructor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
bool WinEDA_DrillFrame::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style )
|
DIALOG_GENDRILL::~DIALOG_GENDRILL()
|
||||||
{
|
{
|
||||||
////@begin WinEDA_DrillFrame creation
|
|
||||||
SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
|
|
||||||
wxDialog::Create( parent, id, caption, pos, size, style );
|
|
||||||
|
|
||||||
CreateControls();
|
|
||||||
if (GetSizer())
|
|
||||||
{
|
|
||||||
GetSizer()->SetSizeHints(this);
|
|
||||||
}
|
|
||||||
Centre();
|
|
||||||
////@end WinEDA_DrillFrame creation
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_DrillFrame destructor
|
|
||||||
*/
|
|
||||||
|
|
||||||
WinEDA_DrillFrame::~WinEDA_DrillFrame()
|
|
||||||
{
|
|
||||||
////@begin WinEDA_DrillFrame destruction
|
|
||||||
////@end WinEDA_DrillFrame destruction
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -116,194 +37,8 @@ WinEDA_DrillFrame::~WinEDA_DrillFrame()
|
||||||
* Member initialisation
|
* Member initialisation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void WinEDA_DrillFrame::Init()
|
void DIALOG_GENDRILL::initDialog()
|
||||||
{
|
{
|
||||||
////@begin WinEDA_DrillFrame member initialisation
|
|
||||||
m_LeftBoxSizer = NULL;
|
|
||||||
m_Choice_Unit = NULL;
|
|
||||||
m_Choice_Zeros_Format = NULL;
|
|
||||||
m_Choice_Precision = NULL;
|
|
||||||
m_Choice_Drill_Offset = NULL;
|
|
||||||
m_Choice_Drill_Map = NULL;
|
|
||||||
m_Choice_Drill_Report = NULL;
|
|
||||||
m_PenSpeed = NULL;
|
|
||||||
m_PenNum = NULL;
|
|
||||||
m_Check_Mirror = NULL;
|
|
||||||
m_Check_Minimal = NULL;
|
|
||||||
m_DefaultViasDrillSizer = NULL;
|
|
||||||
m_ViaDrillValue = NULL;
|
|
||||||
m_MicroViasDrillSizer = NULL;
|
|
||||||
m_MicroViaDrillValue = NULL;
|
|
||||||
m_PadsCountInfoMsg = NULL;
|
|
||||||
m_ThroughViasInfoMsg = NULL;
|
|
||||||
m_MicroViasInfoMsg = NULL;
|
|
||||||
m_BuriedViasInfoMsg = NULL;
|
|
||||||
m_OkButton = NULL;
|
|
||||||
m_CancelButton = NULL;
|
|
||||||
////@end WinEDA_DrillFrame member initialisation
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Control creation for WinEDA_DrillFrame
|
|
||||||
*/
|
|
||||||
|
|
||||||
void WinEDA_DrillFrame::CreateControls()
|
|
||||||
{
|
|
||||||
////@begin WinEDA_DrillFrame content construction
|
|
||||||
// Generated by DialogBlocks, 29/06/2009 20:34:44 (unregistered)
|
|
||||||
|
|
||||||
WinEDA_DrillFrame* itemDialog1 = this;
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxHORIZONTAL);
|
|
||||||
itemDialog1->SetSizer(itemBoxSizer2);
|
|
||||||
|
|
||||||
m_LeftBoxSizer = new wxBoxSizer(wxVERTICAL);
|
|
||||||
itemBoxSizer2->Add(m_LeftBoxSizer, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_Choice_UnitStrings;
|
|
||||||
m_Choice_UnitStrings.Add(_("Millimeters"));
|
|
||||||
m_Choice_UnitStrings.Add(_("Inches"));
|
|
||||||
m_Choice_Unit = new wxRadioBox( itemDialog1, ID_SEL_DRILL_UNITS, _("Drill Units:"), wxDefaultPosition, wxDefaultSize, m_Choice_UnitStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_Choice_Unit->SetSelection(0);
|
|
||||||
m_LeftBoxSizer->Add(m_Choice_Unit, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_Choice_Zeros_FormatStrings;
|
|
||||||
m_Choice_Zeros_FormatStrings.Add(_("decimal format"));
|
|
||||||
m_Choice_Zeros_FormatStrings.Add(_("suppress leading zeros"));
|
|
||||||
m_Choice_Zeros_FormatStrings.Add(_("suppress trailing zeros"));
|
|
||||||
m_Choice_Zeros_FormatStrings.Add(_("keep zeros"));
|
|
||||||
m_Choice_Zeros_Format = new wxRadioBox( itemDialog1, ID_SEL_ZEROS_FMT, _("Zeros Format"), wxDefaultPosition, wxDefaultSize, m_Choice_Zeros_FormatStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_Choice_Zeros_Format->SetSelection(0);
|
|
||||||
if (WinEDA_DrillFrame::ShowToolTips())
|
|
||||||
m_Choice_Zeros_Format->SetToolTip(_("Choose EXCELLON numbers notation"));
|
|
||||||
m_LeftBoxSizer->Add(m_Choice_Zeros_Format, 0, wxALIGN_LEFT|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_Choice_PrecisionStrings;
|
|
||||||
m_Choice_PrecisionStrings.Add(_("2:3"));
|
|
||||||
m_Choice_PrecisionStrings.Add(_("2:4"));
|
|
||||||
m_Choice_Precision = new wxRadioBox( itemDialog1, ID_SEL_PRECISION, _("Precision"), wxDefaultPosition, wxDefaultSize, m_Choice_PrecisionStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_Choice_Precision->SetSelection(0);
|
|
||||||
if (WinEDA_DrillFrame::ShowToolTips())
|
|
||||||
m_Choice_Precision->SetToolTip(_("Choose EXCELLON numbers precision"));
|
|
||||||
m_LeftBoxSizer->Add(m_Choice_Precision, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_Choice_Drill_OffsetStrings;
|
|
||||||
m_Choice_Drill_OffsetStrings.Add(_("absolute"));
|
|
||||||
m_Choice_Drill_OffsetStrings.Add(_("auxiliary axis"));
|
|
||||||
m_Choice_Drill_Offset = new wxRadioBox( itemDialog1, ID_SEL_DRILL_SHEET, _("Drill Origin:"), wxDefaultPosition, wxDefaultSize, m_Choice_Drill_OffsetStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_Choice_Drill_Offset->SetSelection(0);
|
|
||||||
if (WinEDA_DrillFrame::ShowToolTips())
|
|
||||||
m_Choice_Drill_Offset->SetToolTip(_("Choose the coordinate origin: absolute or relative to the auxiliray axis"));
|
|
||||||
m_LeftBoxSizer->Add(m_Choice_Drill_Offset, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxVERTICAL);
|
|
||||||
itemBoxSizer2->Add(itemBoxSizer8, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_Choice_Drill_MapStrings;
|
|
||||||
m_Choice_Drill_MapStrings.Add(_("None"));
|
|
||||||
m_Choice_Drill_MapStrings.Add(_("drill sheet (HPGL)"));
|
|
||||||
m_Choice_Drill_MapStrings.Add(_("drill sheet (PostScript)"));
|
|
||||||
m_Choice_Drill_MapStrings.Add(_("Drill sheet (Gerber)"));
|
|
||||||
m_Choice_Drill_MapStrings.Add(_("Drill sheet (DXF)"));
|
|
||||||
m_Choice_Drill_Map = new wxRadioBox( itemDialog1, ID_SEL_DRILL_SHEET, _("Drill Sheet:"), wxDefaultPosition, wxDefaultSize, m_Choice_Drill_MapStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_Choice_Drill_Map->SetSelection(0);
|
|
||||||
if (WinEDA_DrillFrame::ShowToolTips())
|
|
||||||
m_Choice_Drill_Map->SetToolTip(_("Creates a drill map in PS or HPGL format"));
|
|
||||||
itemBoxSizer8->Add(m_Choice_Drill_Map, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxArrayString m_Choice_Drill_ReportStrings;
|
|
||||||
m_Choice_Drill_ReportStrings.Add(_("None"));
|
|
||||||
m_Choice_Drill_ReportStrings.Add(_("Drill report"));
|
|
||||||
m_Choice_Drill_Report = new wxRadioBox( itemDialog1, ID_SEL_DRILL_REPORT, _("Drill Report:"), wxDefaultPosition, wxDefaultSize, m_Choice_Drill_ReportStrings, 1, wxRA_SPECIFY_COLS );
|
|
||||||
m_Choice_Drill_Report->SetSelection(0);
|
|
||||||
if (WinEDA_DrillFrame::ShowToolTips())
|
|
||||||
m_Choice_Drill_Report->SetToolTip(_("Creates a plain text report"));
|
|
||||||
itemBoxSizer8->Add(m_Choice_Drill_Report, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxStaticBox* itemStaticBoxSizer11Static = new wxStaticBox(itemDialog1, wxID_ANY, _("HPGL plotter Options:"));
|
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer11 = new wxStaticBoxSizer(itemStaticBoxSizer11Static, wxVERTICAL);
|
|
||||||
itemBoxSizer8->Add(itemStaticBoxSizer11, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxStaticText* itemStaticText12 = new wxStaticText( itemDialog1, wxID_STATIC, _("Speed (cm/s)"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer11->Add(itemStaticText12, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
|
|
||||||
|
|
||||||
m_PenSpeed = new wxTextCtrl( itemDialog1, ID_TEXTCTRL2, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer11->Add(m_PenSpeed, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
|
||||||
|
|
||||||
wxStaticText* itemStaticText14 = new wxStaticText( itemDialog1, wxID_STATIC, _("Pen Number"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer11->Add(itemStaticText14, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
|
|
||||||
|
|
||||||
m_PenNum = new wxTextCtrl( itemDialog1, ID_TEXTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer11->Add(m_PenNum, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
|
|
||||||
|
|
||||||
wxStaticBox* itemStaticBoxSizer16Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Options:"));
|
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer16 = new wxStaticBoxSizer(itemStaticBoxSizer16Static, wxVERTICAL);
|
|
||||||
itemStaticBoxSizer11->Add(itemStaticBoxSizer16, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_Check_Mirror = new wxCheckBox( itemDialog1, ID_CHECKBOX2, _("mirror y axis"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
m_Check_Mirror->SetValue(false);
|
|
||||||
itemStaticBoxSizer16->Add(m_Check_Mirror, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_Check_Minimal = new wxCheckBox( itemDialog1, ID_CHECKBOX3, _("minimal header"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
m_Check_Minimal->SetValue(false);
|
|
||||||
if (WinEDA_DrillFrame::ShowToolTips())
|
|
||||||
m_Check_Minimal->SetToolTip(_("If checked, the EXCELLON header is minimal"));
|
|
||||||
itemStaticBoxSizer16->Add(m_Check_Minimal, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxBoxSizer* itemBoxSizer19 = new wxBoxSizer(wxVERTICAL);
|
|
||||||
itemBoxSizer2->Add(itemBoxSizer19, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxStaticBox* itemStaticBoxSizer20Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Info:"));
|
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer20 = new wxStaticBoxSizer(itemStaticBoxSizer20Static, wxVERTICAL);
|
|
||||||
itemBoxSizer19->Add(itemStaticBoxSizer20, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_DefaultViasDrillSizer = new wxStaticBox(itemDialog1, wxID_ANY, _("Default Vias Drill:"));
|
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer21 = new wxStaticBoxSizer(m_DefaultViasDrillSizer, wxVERTICAL);
|
|
||||||
itemStaticBoxSizer20->Add(itemStaticBoxSizer21, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_ViaDrillValue = new wxStaticText( itemDialog1, wxID_STATIC, _("Via Drill Value"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer21->Add(m_ViaDrillValue, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_MicroViasDrillSizer = new wxStaticBox(itemDialog1, wxID_ANY, _("Micro Vias Drill:"));
|
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer23 = new wxStaticBoxSizer(m_MicroViasDrillSizer, wxVERTICAL);
|
|
||||||
itemStaticBoxSizer20->Add(itemStaticBoxSizer23, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_MicroViaDrillValue = new wxStaticText( itemDialog1, wxID_STATIC, _("Micro Via Drill Value"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer23->Add(m_MicroViaDrillValue, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
wxStaticBox* itemStaticBoxSizer25Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Holes Count:"));
|
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer25 = new wxStaticBoxSizer(itemStaticBoxSizer25Static, wxVERTICAL);
|
|
||||||
itemStaticBoxSizer20->Add(itemStaticBoxSizer25, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_PadsCountInfoMsg = new wxStaticText( itemDialog1, wxID_STATIC, _("Pads:"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer25->Add(m_PadsCountInfoMsg, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_ThroughViasInfoMsg = new wxStaticText( itemDialog1, wxID_STATIC, _("Through Vias:"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer25->Add(m_ThroughViasInfoMsg, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_MicroViasInfoMsg = new wxStaticText( itemDialog1, wxID_STATIC, _("Micro Vias:"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer25->Add(m_MicroViasInfoMsg, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_BuriedViasInfoMsg = new wxStaticText( itemDialog1, wxID_STATIC, _("Buried Vias:"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemStaticBoxSizer25->Add(m_BuriedViasInfoMsg, 0, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
itemBoxSizer19->Add(5, 5, 1, wxGROW|wxALL, 5);
|
|
||||||
|
|
||||||
m_OkButton = new wxButton( itemDialog1, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
m_OkButton->SetDefault();
|
|
||||||
itemBoxSizer19->Add(m_OkButton, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
|
||||||
|
|
||||||
m_CancelButton = new wxButton( itemDialog1, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
|
||||||
itemBoxSizer19->Add(m_CancelButton, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
|
||||||
|
|
||||||
// Set validators
|
|
||||||
m_Choice_Unit->SetValidator( wxGenericValidator(& s_Unit_Drill_is_Inch) );
|
|
||||||
m_Choice_Zeros_Format->SetValidator( wxGenericValidator(& s_Zeros_Format) );
|
|
||||||
m_Check_Mirror->SetValidator( wxGenericValidator(& Mirror) );
|
|
||||||
m_Check_Minimal->SetValidator( wxGenericValidator(& Minimal) );
|
|
||||||
////@end WinEDA_DrillFrame content construction
|
|
||||||
|
|
||||||
SetFocus(); // Under wxGTK: mandatory to close dialog by the ESC key
|
SetFocus(); // Under wxGTK: mandatory to close dialog by the ESC key
|
||||||
InitDisplayParams();
|
InitDisplayParams();
|
||||||
}
|
}
|
||||||
|
@ -313,7 +48,7 @@ void WinEDA_DrillFrame::CreateControls()
|
||||||
* wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_RADIOBOX
|
* wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_RADIOBOX
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void WinEDA_DrillFrame::OnSelDrillUnitsSelected( wxCommandEvent& event )
|
void DIALOG_GENDRILL::OnSelDrillUnitsSelected( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
UpdatePrecisionOptions(event);
|
UpdatePrecisionOptions(event);
|
||||||
}
|
}
|
||||||
|
@ -323,7 +58,7 @@ void WinEDA_DrillFrame::OnSelDrillUnitsSelected( wxCommandEvent& event )
|
||||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_OK
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void WinEDA_DrillFrame::OnOkClick( wxCommandEvent& event )
|
void DIALOG_GENDRILL::OnOkClick( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
GenDrillFiles(event);
|
GenDrillFiles(event);
|
||||||
}
|
}
|
||||||
|
@ -333,68 +68,18 @@ void WinEDA_DrillFrame::OnOkClick( wxCommandEvent& event )
|
||||||
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CLOSE
|
* wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CLOSE
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void WinEDA_DrillFrame::OnCancelClick( wxCommandEvent& event )
|
void DIALOG_GENDRILL::OnCancelClick( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
UpdateConfig(); /* Save drill options: */
|
UpdateConfig(); /* Save drill options: */
|
||||||
event.Skip(); // Process the default cancel event (close dialog)
|
event.Skip(); // Process the default cancel event (close dialog)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Should we show tooltips?
|
|
||||||
*/
|
|
||||||
|
|
||||||
bool WinEDA_DrillFrame::ShowToolTips()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Get bitmap resources
|
|
||||||
*/
|
|
||||||
|
|
||||||
wxBitmap WinEDA_DrillFrame::GetBitmapResource( const wxString& name )
|
|
||||||
{
|
|
||||||
// Bitmap retrieval
|
|
||||||
////@begin WinEDA_DrillFrame bitmap retrieval
|
|
||||||
wxUnusedVar(name);
|
|
||||||
return wxNullBitmap;
|
|
||||||
////@end WinEDA_DrillFrame bitmap retrieval
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Get icon resources
|
|
||||||
*/
|
|
||||||
|
|
||||||
wxIcon WinEDA_DrillFrame::GetIconResource( const wxString& name )
|
|
||||||
{
|
|
||||||
// Icon retrieval
|
|
||||||
////@begin WinEDA_DrillFrame icon retrieval
|
|
||||||
wxUnusedVar(name);
|
|
||||||
return wxNullIcon;
|
|
||||||
////@end WinEDA_DrillFrame icon retrieval
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_SEL_ZEROS_FMT
|
* wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_SEL_ZEROS_FMT
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void WinEDA_DrillFrame::OnSelZerosFmtSelected( wxCommandEvent& event )
|
void DIALOG_GENDRILL::OnSelZerosFmtSelected( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
UpdatePrecisionOptions(event);
|
UpdatePrecisionOptions(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* wxEVT_CLOSE_WINDOW event handler for ID_WINEDA_DRILLFRAME
|
|
||||||
*/
|
|
||||||
|
|
||||||
void WinEDA_DrillFrame::OnCloseWindow( wxCloseEvent& event )
|
|
||||||
{
|
|
||||||
////@begin wxEVT_CLOSE_WINDOW event handler for ID_WINEDA_DRILLFRAME in WinEDA_DrillFrame.
|
|
||||||
// Before editing this code, remove the block markers.
|
|
||||||
event.Skip();
|
|
||||||
////@end wxEVT_CLOSE_WINDOW event handler for ID_WINEDA_DRILLFRAME in WinEDA_DrillFrame.
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -1,94 +1,32 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: dialog_gendrill.h
|
// Name: dialog_gendrill.h
|
||||||
// Purpose:
|
|
||||||
// Author: jean-pierre Charras
|
// Author: jean-pierre Charras
|
||||||
// Modified by:
|
// Created: 2010 apr 30
|
||||||
// Created: 13/01/2008 17:26:dialog_gendrill
|
// Licence: GPL
|
||||||
// RCS-ID:
|
|
||||||
// Copyright: License GNU
|
|
||||||
// Licence:
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// Generated by DialogBlocks (unregistered), 13/01/2008 17:26:dialog_gendrill
|
|
||||||
|
|
||||||
#ifndef _DIALOG_GENDRILL_H_
|
#ifndef _DIALOG_GENDRILL_H_
|
||||||
#define _DIALOG_GENDRILL_H_
|
#define _DIALOG_GENDRILL_H_
|
||||||
|
|
||||||
|
#include "dialog_gendrill_base.h"
|
||||||
|
|
||||||
/*!
|
class DIALOG_GENDRILL: public DIALOG_GENDRILL_BASE
|
||||||
* Includes
|
{
|
||||||
*/
|
|
||||||
|
|
||||||
////@begin includes
|
private:
|
||||||
#include "wx/valgen.h"
|
WinEDA_PcbFrame* m_Parent;
|
||||||
////@end includes
|
int m_PadsHoleCount;
|
||||||
|
int m_ThroughViasCount;
|
||||||
/*!
|
int m_MicroViasCount;
|
||||||
* Forward declarations
|
int m_BlindOrBuriedViasCount;
|
||||||
*/
|
|
||||||
|
|
||||||
////@begin forward declarations
|
|
||||||
class wxBoxSizer;
|
|
||||||
////@end forward declarations
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* Control identifiers
|
|
||||||
*/
|
|
||||||
|
|
||||||
////@begin control identifiers
|
|
||||||
#define ID_WINEDA_DRILLFRAME 10000
|
|
||||||
#define ID_SEL_DRILL_UNITS 10002
|
|
||||||
#define ID_SEL_ZEROS_FMT 10001
|
|
||||||
#define ID_SEL_PRECISION 10003
|
|
||||||
#define ID_SEL_DRILL_SHEET 10004
|
|
||||||
#define ID_SEL_DRILL_REPORT 10010
|
|
||||||
#define ID_TEXTCTRL2 10007
|
|
||||||
#define ID_TEXTCTRL 10006
|
|
||||||
#define ID_CHECKBOX2 10011
|
|
||||||
#define ID_CHECKBOX3 10012
|
|
||||||
#define SYMBOL_WINEDA_DRILLFRAME_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL
|
|
||||||
#define SYMBOL_WINEDA_DRILLFRAME_TITLE _("Drill Files Generation")
|
|
||||||
#define SYMBOL_WINEDA_DRILLFRAME_IDNAME ID_WINEDA_DRILLFRAME
|
|
||||||
#define SYMBOL_WINEDA_DRILLFRAME_SIZE wxSize(400, 300)
|
|
||||||
#define SYMBOL_WINEDA_DRILLFRAME_POSITION wxDefaultPosition
|
|
||||||
////@end control identifiers
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
|
||||||
* WinEDA_DrillFrame class declaration
|
|
||||||
*/
|
|
||||||
|
|
||||||
class WinEDA_DrillFrame: public wxDialog
|
|
||||||
{
|
|
||||||
DECLARE_DYNAMIC_CLASS( WinEDA_DrillFrame )
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Constructors
|
DIALOG_GENDRILL( WinEDA_PcbFrame* parent );
|
||||||
WinEDA_DrillFrame();
|
~DIALOG_GENDRILL();
|
||||||
WinEDA_DrillFrame( WinEDA_PcbFrame* parent,
|
|
||||||
wxWindowID id = SYMBOL_WINEDA_DRILLFRAME_IDNAME,
|
|
||||||
const wxString& caption = SYMBOL_WINEDA_DRILLFRAME_TITLE,
|
|
||||||
const wxPoint& pos = SYMBOL_WINEDA_DRILLFRAME_POSITION,
|
|
||||||
const wxSize& size = SYMBOL_WINEDA_DRILLFRAME_SIZE,
|
|
||||||
long style = SYMBOL_WINEDA_DRILLFRAME_STYLE );
|
|
||||||
|
|
||||||
/// Creation
|
|
||||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WINEDA_DRILLFRAME_IDNAME, const wxString& caption = SYMBOL_WINEDA_DRILLFRAME_TITLE, const wxPoint& pos = SYMBOL_WINEDA_DRILLFRAME_POSITION, const wxSize& size = SYMBOL_WINEDA_DRILLFRAME_SIZE, long style = SYMBOL_WINEDA_DRILLFRAME_STYLE );
|
|
||||||
|
|
||||||
/// Destructor
|
|
||||||
~WinEDA_DrillFrame();
|
|
||||||
|
|
||||||
|
private:
|
||||||
/// Initialises member variables
|
/// Initialises member variables
|
||||||
void Init();
|
void initDialog();
|
||||||
|
|
||||||
/// Creates the controls and sizers
|
|
||||||
void CreateControls();
|
|
||||||
|
|
||||||
////@begin WinEDA_DrillFrame event handler declarations
|
|
||||||
|
|
||||||
/// wxEVT_CLOSE_WINDOW event handler for ID_WINEDA_DRILLFRAME
|
|
||||||
void OnCloseWindow( wxCloseEvent& event );
|
|
||||||
|
|
||||||
/// wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_SEL_DRILL_UNITS
|
/// wxEVT_COMMAND_RADIOBOX_SELECTED event handler for ID_SEL_DRILL_UNITS
|
||||||
void OnSelDrillUnitsSelected( wxCommandEvent& event );
|
void OnSelDrillUnitsSelected( wxCommandEvent& event );
|
||||||
|
@ -102,50 +40,6 @@ public:
|
||||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for wxID_CANCEL
|
||||||
void OnCancelClick( wxCommandEvent& event );
|
void OnCancelClick( wxCommandEvent& event );
|
||||||
|
|
||||||
////@end WinEDA_DrillFrame event handler declarations
|
|
||||||
|
|
||||||
////@begin WinEDA_DrillFrame member function declarations
|
|
||||||
|
|
||||||
/// Retrieves bitmap resources
|
|
||||||
wxBitmap GetBitmapResource( const wxString& name );
|
|
||||||
|
|
||||||
/// Retrieves icon resources
|
|
||||||
wxIcon GetIconResource( const wxString& name );
|
|
||||||
////@end WinEDA_DrillFrame member function declarations
|
|
||||||
|
|
||||||
/// Should we show tooltips?
|
|
||||||
static bool ShowToolTips();
|
|
||||||
|
|
||||||
////@begin WinEDA_DrillFrame member variables
|
|
||||||
wxBoxSizer* m_LeftBoxSizer;
|
|
||||||
wxRadioBox* m_Choice_Unit;
|
|
||||||
wxRadioBox* m_Choice_Zeros_Format;
|
|
||||||
wxRadioBox* m_Choice_Precision;
|
|
||||||
wxRadioBox* m_Choice_Drill_Offset;
|
|
||||||
wxRadioBox* m_Choice_Drill_Map;
|
|
||||||
wxRadioBox* m_Choice_Drill_Report;
|
|
||||||
wxTextCtrl* m_PenSpeed;
|
|
||||||
wxTextCtrl* m_PenNum;
|
|
||||||
wxCheckBox* m_Check_Mirror;
|
|
||||||
wxCheckBox* m_Check_Minimal;
|
|
||||||
wxStaticBox* m_DefaultViasDrillSizer;
|
|
||||||
wxStaticText* m_ViaDrillValue;
|
|
||||||
wxStaticBox* m_MicroViasDrillSizer;
|
|
||||||
wxStaticText* m_MicroViaDrillValue;
|
|
||||||
wxStaticText* m_PadsCountInfoMsg;
|
|
||||||
wxStaticText* m_ThroughViasInfoMsg;
|
|
||||||
wxStaticText* m_MicroViasInfoMsg;
|
|
||||||
wxStaticText* m_BuriedViasInfoMsg;
|
|
||||||
wxButton* m_OkButton;
|
|
||||||
wxButton* m_CancelButton;
|
|
||||||
////@end WinEDA_DrillFrame member variables
|
|
||||||
|
|
||||||
private:
|
|
||||||
WinEDA_PcbFrame* m_Parent;
|
|
||||||
int m_PadsHoleCount;
|
|
||||||
int m_ThroughViasCount;
|
|
||||||
int m_MicroViasCount;
|
|
||||||
int m_BlindOrBuriedViasCount;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void InitDisplayParams(void);
|
void InitDisplayParams(void);
|
||||||
|
@ -162,5 +56,4 @@ private:
|
||||||
int Gen_Liste_Tools( std::vector<DRILL_TOOL> & buffer, bool print_header );
|
int Gen_Liste_Tools( std::vector<DRILL_TOOL> & buffer, bool print_header );
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _DIALOG_GENDRILL_H_
|
||||||
// _DIALOG_GENDRILL_H_
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,181 @@
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||||
|
// http://www.wxformbuilder.org/
|
||||||
|
//
|
||||||
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "dialog_gendrill_base.h"
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
DIALOG_GENDRILL_BASE::DIALOG_GENDRILL_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||||
|
{
|
||||||
|
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||||
|
|
||||||
|
wxBoxSizer* bMainSizer;
|
||||||
|
bMainSizer = new wxBoxSizer( wxHORIZONTAL );
|
||||||
|
|
||||||
|
wxBoxSizer* m_LeftBoxSizer;
|
||||||
|
m_LeftBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxString m_Choice_UnitChoices[] = { _("Millimeters"), _("Inches") };
|
||||||
|
int m_Choice_UnitNChoices = sizeof( m_Choice_UnitChoices ) / sizeof( wxString );
|
||||||
|
m_Choice_Unit = new wxRadioBox( this, wxID_ANY, _("Drill Units:"), wxDefaultPosition, wxDefaultSize, m_Choice_UnitNChoices, m_Choice_UnitChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_Choice_Unit->SetSelection( 1 );
|
||||||
|
m_LeftBoxSizer->Add( m_Choice_Unit, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxString m_Choice_Zeros_FormatChoices[] = { _("Decimal format"), _("Suppress leading zeros"), _("Suppress trailing zeros"), _("Keep zeros") };
|
||||||
|
int m_Choice_Zeros_FormatNChoices = sizeof( m_Choice_Zeros_FormatChoices ) / sizeof( wxString );
|
||||||
|
m_Choice_Zeros_Format = new wxRadioBox( this, wxID_ANY, _("Zeros Format"), wxDefaultPosition, wxDefaultSize, m_Choice_Zeros_FormatNChoices, m_Choice_Zeros_FormatChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_Choice_Zeros_Format->SetSelection( 0 );
|
||||||
|
m_Choice_Zeros_Format->SetToolTip( _("Choose EXCELLON numbers notation") );
|
||||||
|
|
||||||
|
m_LeftBoxSizer->Add( m_Choice_Zeros_Format, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxString m_Choice_PrecisionChoices[] = { _("2:3"), _("2:4") };
|
||||||
|
int m_Choice_PrecisionNChoices = sizeof( m_Choice_PrecisionChoices ) / sizeof( wxString );
|
||||||
|
m_Choice_Precision = new wxRadioBox( this, wxID_ANY, _("Precision"), wxDefaultPosition, wxDefaultSize, m_Choice_PrecisionNChoices, m_Choice_PrecisionChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_Choice_Precision->SetSelection( 1 );
|
||||||
|
m_Choice_Precision->SetToolTip( _("Choose EXCELLON numbers precision") );
|
||||||
|
|
||||||
|
m_LeftBoxSizer->Add( m_Choice_Precision, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxString m_Choice_Drill_OffsetChoices[] = { _("Absolute"), _("Auxiliary axis") };
|
||||||
|
int m_Choice_Drill_OffsetNChoices = sizeof( m_Choice_Drill_OffsetChoices ) / sizeof( wxString );
|
||||||
|
m_Choice_Drill_Offset = new wxRadioBox( this, wxID_ANY, _("Drill Origin:"), wxDefaultPosition, wxDefaultSize, m_Choice_Drill_OffsetNChoices, m_Choice_Drill_OffsetChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_Choice_Drill_Offset->SetSelection( 0 );
|
||||||
|
m_Choice_Drill_Offset->SetToolTip( _("Choose the coordinate origin: absolute or relative to the auxiliray axis") );
|
||||||
|
|
||||||
|
m_LeftBoxSizer->Add( m_Choice_Drill_Offset, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
bMainSizer->Add( m_LeftBoxSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxBoxSizer* bMiddleBoxSizer;
|
||||||
|
bMiddleBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxString m_Choice_Drill_MapChoices[] = { _("None"), _("Drill map (HPGL)"), _("Drill map (PostScript)"), _("Drill map (Gerber)"), _("Drill map (DXF)") };
|
||||||
|
int m_Choice_Drill_MapNChoices = sizeof( m_Choice_Drill_MapChoices ) / sizeof( wxString );
|
||||||
|
m_Choice_Drill_Map = new wxRadioBox( this, wxID_ANY, _("Drill Sheet:"), wxDefaultPosition, wxDefaultSize, m_Choice_Drill_MapNChoices, m_Choice_Drill_MapChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_Choice_Drill_Map->SetSelection( 0 );
|
||||||
|
m_Choice_Drill_Map->SetToolTip( _("Creates a drill map in PSr HPGL or others formats") );
|
||||||
|
|
||||||
|
bMiddleBoxSizer->Add( m_Choice_Drill_Map, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxString m_Choice_Drill_ReportChoices[] = { _("None"), _("Drill report") };
|
||||||
|
int m_Choice_Drill_ReportNChoices = sizeof( m_Choice_Drill_ReportChoices ) / sizeof( wxString );
|
||||||
|
m_Choice_Drill_Report = new wxRadioBox( this, wxID_ANY, _("Drill Report:"), wxDefaultPosition, wxDefaultSize, m_Choice_Drill_ReportNChoices, m_Choice_Drill_ReportChoices, 1, wxRA_SPECIFY_COLS );
|
||||||
|
m_Choice_Drill_Report->SetSelection( 0 );
|
||||||
|
m_Choice_Drill_Report->SetToolTip( _("Creates a plain text report") );
|
||||||
|
|
||||||
|
bMiddleBoxSizer->Add( m_Choice_Drill_Report, 0, wxALL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxStaticBoxSizer* sbHPGOptionsSizer;
|
||||||
|
sbHPGOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("HPGL plotter Options:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
m_staticText1 = new wxStaticText( this, wxID_ANY, _("Speed (cm/s)"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticText1->Wrap( -1 );
|
||||||
|
sbHPGOptionsSizer->Add( m_staticText1, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_PenSpeed = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
sbHPGOptionsSizer->Add( m_PenSpeed, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_staticText2 = new wxStaticText( this, wxID_ANY, _("Pen Number"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_staticText2->Wrap( -1 );
|
||||||
|
sbHPGOptionsSizer->Add( m_staticText2, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
|
||||||
|
|
||||||
|
m_PenNum = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
sbHPGOptionsSizer->Add( m_PenNum, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
bMiddleBoxSizer->Add( sbHPGOptionsSizer, 0, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxStaticBoxSizer* sbOptSizer;
|
||||||
|
sbOptSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Options:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
m_Check_Mirror = new wxCheckBox( this, wxID_ANY, _("Mirror y axis"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
|
||||||
|
sbOptSizer->Add( m_Check_Mirror, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_Check_Minimal = new wxCheckBox( this, wxID_ANY, _("Minimal header"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
|
||||||
|
sbOptSizer->Add( m_Check_Minimal, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
bMiddleBoxSizer->Add( sbOptSizer, 0, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
bMainSizer->Add( bMiddleBoxSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
wxBoxSizer* bRightBoxSizer;
|
||||||
|
bRightBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||||
|
|
||||||
|
wxStaticBoxSizer* sbSizerInfo;
|
||||||
|
sbSizerInfo = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Info:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
m_DefaultViasDrillSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Default Vias Drill:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
m_ViaDrillValue = new wxStaticText( this, wxID_ANY, _("Via Drill Value"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_ViaDrillValue->Wrap( -1 );
|
||||||
|
m_DefaultViasDrillSizer->Add( m_ViaDrillValue, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
sbSizerInfo->Add( m_DefaultViasDrillSizer, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
|
||||||
|
|
||||||
|
m_MicroViasDrillSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Micro Vias Drill:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
m_MicroViaDrillValue = new wxStaticText( this, wxID_ANY, _("Micro Via Drill Value"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_MicroViaDrillValue->Wrap( -1 );
|
||||||
|
m_MicroViasDrillSizer->Add( m_MicroViaDrillValue, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
sbSizerInfo->Add( m_MicroViasDrillSizer, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
|
||||||
|
|
||||||
|
wxStaticBoxSizer* sbSizerHoles;
|
||||||
|
sbSizerHoles = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Holes Count:") ), wxVERTICAL );
|
||||||
|
|
||||||
|
m_PadsCountInfoMsg = new wxStaticText( this, wxID_ANY, _("Pads:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_PadsCountInfoMsg->Wrap( -1 );
|
||||||
|
sbSizerHoles->Add( m_PadsCountInfoMsg, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_ThroughViasInfoMsg = new wxStaticText( this, wxID_ANY, _("Through Vias:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_ThroughViasInfoMsg->Wrap( -1 );
|
||||||
|
sbSizerHoles->Add( m_ThroughViasInfoMsg, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_MicroViasInfoMsg = new wxStaticText( this, wxID_ANY, _("Micro Vias:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_MicroViasInfoMsg->Wrap( -1 );
|
||||||
|
sbSizerHoles->Add( m_MicroViasInfoMsg, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
m_BuriedViasInfoMsg = new wxStaticText( this, wxID_ANY, _("Buried Vias:"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_BuriedViasInfoMsg->Wrap( -1 );
|
||||||
|
sbSizerHoles->Add( m_BuriedViasInfoMsg, 0, wxALL, 5 );
|
||||||
|
|
||||||
|
sbSizerInfo->Add( sbSizerHoles, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 );
|
||||||
|
|
||||||
|
bRightBoxSizer->Add( sbSizerInfo, 0, wxEXPAND|wxTOP, 5 );
|
||||||
|
|
||||||
|
|
||||||
|
bRightBoxSizer->Add( 10, 10, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||||
|
|
||||||
|
m_OkButton = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
m_OkButton->SetDefault();
|
||||||
|
bRightBoxSizer->Add( m_OkButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
m_CancelButton = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
bRightBoxSizer->Add( m_CancelButton, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
|
||||||
|
|
||||||
|
bMainSizer->Add( bRightBoxSizer, 1, wxEXPAND, 5 );
|
||||||
|
|
||||||
|
this->SetSizer( bMainSizer );
|
||||||
|
this->Layout();
|
||||||
|
|
||||||
|
// Connect Events
|
||||||
|
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_OkButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnOkClick ), NULL, this );
|
||||||
|
m_CancelButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnCancelClick ), NULL, this );
|
||||||
|
}
|
||||||
|
|
||||||
|
DIALOG_GENDRILL_BASE::~DIALOG_GENDRILL_BASE()
|
||||||
|
{
|
||||||
|
// Disconnect Events
|
||||||
|
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_OkButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnOkClick ), NULL, this );
|
||||||
|
m_CancelButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_GENDRILL_BASE::OnCancelClick ), NULL, this );
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,75 @@
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// C++ code generated with wxFormBuilder (version Apr 16 2008)
|
||||||
|
// http://www.wxformbuilder.org/
|
||||||
|
//
|
||||||
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef __dialog_gendrill_base__
|
||||||
|
#define __dialog_gendrill_base__
|
||||||
|
|
||||||
|
#include <wx/intl.h>
|
||||||
|
|
||||||
|
#include <wx/string.h>
|
||||||
|
#include <wx/radiobox.h>
|
||||||
|
#include <wx/gdicmn.h>
|
||||||
|
#include <wx/font.h>
|
||||||
|
#include <wx/colour.h>
|
||||||
|
#include <wx/settings.h>
|
||||||
|
#include <wx/sizer.h>
|
||||||
|
#include <wx/stattext.h>
|
||||||
|
#include <wx/textctrl.h>
|
||||||
|
#include <wx/statbox.h>
|
||||||
|
#include <wx/checkbox.h>
|
||||||
|
#include <wx/button.h>
|
||||||
|
#include <wx/dialog.h>
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
/// Class DIALOG_GENDRILL_BASE
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
class DIALOG_GENDRILL_BASE : public wxDialog
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
|
||||||
|
protected:
|
||||||
|
wxRadioBox* m_Choice_Unit;
|
||||||
|
wxRadioBox* m_Choice_Zeros_Format;
|
||||||
|
wxRadioBox* m_Choice_Precision;
|
||||||
|
wxRadioBox* m_Choice_Drill_Offset;
|
||||||
|
wxRadioBox* m_Choice_Drill_Map;
|
||||||
|
wxRadioBox* m_Choice_Drill_Report;
|
||||||
|
wxStaticText* m_staticText1;
|
||||||
|
wxTextCtrl* m_PenSpeed;
|
||||||
|
wxStaticText* m_staticText2;
|
||||||
|
wxTextCtrl* m_PenNum;
|
||||||
|
wxCheckBox* m_Check_Mirror;
|
||||||
|
wxCheckBox* m_Check_Minimal;
|
||||||
|
wxStaticBoxSizer* m_DefaultViasDrillSizer;
|
||||||
|
wxStaticText* m_ViaDrillValue;
|
||||||
|
wxStaticBoxSizer* m_MicroViasDrillSizer;
|
||||||
|
wxStaticText* m_MicroViaDrillValue;
|
||||||
|
wxStaticText* m_PadsCountInfoMsg;
|
||||||
|
wxStaticText* m_ThroughViasInfoMsg;
|
||||||
|
wxStaticText* m_MicroViasInfoMsg;
|
||||||
|
wxStaticText* m_BuriedViasInfoMsg;
|
||||||
|
|
||||||
|
wxButton* m_OkButton;
|
||||||
|
wxButton* m_CancelButton;
|
||||||
|
|
||||||
|
// Virtual event handlers, overide them in your derived class
|
||||||
|
virtual void OnSelDrillUnitsSelected( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnSelZerosFmtSelected( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnOkClick( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
virtual void OnCancelClick( wxCommandEvent& event ){ event.Skip(); }
|
||||||
|
|
||||||
|
|
||||||
|
public:
|
||||||
|
DIALOG_GENDRILL_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Drill Files Generation"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 447,412 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||||
|
~DIALOG_GENDRILL_BASE();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif //__dialog_gendrill_base__
|
|
@ -50,7 +50,7 @@ void Dialog_GeneralOptions::init()
|
||||||
m_ShowModuleRatsnest->SetValue( g_Show_Module_Ratsnest );
|
m_ShowModuleRatsnest->SetValue( g_Show_Module_Ratsnest );
|
||||||
m_ShowGlobalRatsnest->SetValue( m_Board->IsElementVisible(RATSNEST_VISIBLE) );
|
m_ShowGlobalRatsnest->SetValue( m_Board->IsElementVisible(RATSNEST_VISIBLE) );
|
||||||
m_TrackAutodel->SetValue( g_AutoDeleteOldTrack );
|
m_TrackAutodel->SetValue( g_AutoDeleteOldTrack );
|
||||||
m_Track_45_Only_Ctrl->SetValue( Track_45_Only );
|
m_Track_45_Only_Ctrl->SetValue( g_Track_45_Only_Allowed );
|
||||||
m_Segments_45_Only_Ctrl->SetValue( Segments_45_Only );
|
m_Segments_45_Only_Ctrl->SetValue( Segments_45_Only );
|
||||||
m_AutoPANOpt->SetValue( m_Parent->DrawPanel->m_AutoPAN_Enable );
|
m_AutoPANOpt->SetValue( m_Parent->DrawPanel->m_AutoPAN_Enable );
|
||||||
m_Segments_45_Only_Ctrl->SetValue( Segments_45_Only );
|
m_Segments_45_Only_Ctrl->SetValue( Segments_45_Only );
|
||||||
|
@ -92,7 +92,7 @@ void Dialog_GeneralOptions::OnOkClick( wxCommandEvent& event )
|
||||||
g_Show_Module_Ratsnest = m_ShowModuleRatsnest->GetValue();
|
g_Show_Module_Ratsnest = m_ShowModuleRatsnest->GetValue();
|
||||||
g_AutoDeleteOldTrack = m_TrackAutodel->GetValue();
|
g_AutoDeleteOldTrack = m_TrackAutodel->GetValue();
|
||||||
Segments_45_Only = m_Segments_45_Only_Ctrl->GetValue();
|
Segments_45_Only = m_Segments_45_Only_Ctrl->GetValue();
|
||||||
Track_45_Only = m_Track_45_Only_Ctrl->GetValue();
|
g_Track_45_Only_Allowed = m_Track_45_Only_Ctrl->GetValue();
|
||||||
m_Parent->DrawPanel->m_AutoPAN_Enable = m_AutoPANOpt->GetValue();
|
m_Parent->DrawPanel->m_AutoPAN_Enable = m_AutoPANOpt->GetValue();
|
||||||
g_TwoSegmentTrackBuild = m_Track_DoubleSegm_Ctrl->GetValue();
|
g_TwoSegmentTrackBuild = m_Track_DoubleSegm_Ctrl->GetValue();
|
||||||
|
|
||||||
|
|
|
@ -736,7 +736,7 @@ void ShowNewTrackWhenMovingCursor( WinEDA_DrawPanel* panel,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( Track_45_Only )
|
if( g_Track_45_Only_Allowed )
|
||||||
{
|
{
|
||||||
if( g_TwoSegmentTrackBuild )
|
if( g_TwoSegmentTrackBuild )
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include "wxPcbStruct.h"
|
#include "wxPcbStruct.h"
|
||||||
#include "protos.h"
|
#include "protos.h"
|
||||||
#include "pcbnew_id.h"
|
#include "pcbnew_id.h"
|
||||||
|
#include "3d_viewer.h"
|
||||||
|
|
||||||
#define BACKUP_FILE_EXT wxT( "000" )
|
#define BACKUP_FILE_EXT wxT( "000" )
|
||||||
|
|
||||||
|
@ -274,6 +275,9 @@ this file again." ) );
|
||||||
/* reset the auto save timer */
|
/* reset the auto save timer */
|
||||||
g_SaveTime = time( NULL );
|
g_SaveTime = time( NULL );
|
||||||
|
|
||||||
|
// Refresh the 3D view, if any
|
||||||
|
if( m_Draw3DFrame )
|
||||||
|
m_Draw3DFrame->NewDisplay();
|
||||||
|
|
||||||
#if 0 && defined(DEBUG)
|
#if 0 && defined(DEBUG)
|
||||||
// note this freezes up pcbnew when run under the kicad project
|
// note this freezes up pcbnew when run under the kicad project
|
||||||
|
|
|
@ -22,6 +22,8 @@
|
||||||
|
|
||||||
#include "gendrill.h"
|
#include "gendrill.h"
|
||||||
|
|
||||||
|
#include "dialog_gendrill.h" // Dialog box for drill file generation
|
||||||
|
|
||||||
#include "build_version.h"
|
#include "build_version.h"
|
||||||
|
|
||||||
const wxString DrillFileExtension( wxT( "drl" ) );
|
const wxString DrillFileExtension( wxT( "drl" ) );
|
||||||
|
@ -40,7 +42,7 @@ const wxString DrillFileWildcard( _( "Drill files (*.drl)|*.drl" ) );
|
||||||
*
|
*
|
||||||
* The drill maps can be created in HPGL or PS format
|
* The drill maps can be created in HPGL or PS format
|
||||||
*
|
*
|
||||||
* dialog_gendrill.cpp is the file (included in this file) which handles
|
* dialog_gendrill.cpp is the filewhich handles
|
||||||
* the Dialog box for drill file generation
|
* the Dialog box for drill file generation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -74,12 +76,10 @@ static std::vector<HOLE_INFO> s_HoleListBuffer;
|
||||||
#define UnitDrillInchKey wxT( "DrillUnit" )
|
#define UnitDrillInchKey wxT( "DrillUnit" )
|
||||||
#define DrillOriginIsAuxAxisKey wxT( "DrillAuxAxis" )
|
#define DrillOriginIsAuxAxisKey wxT( "DrillAuxAxis" )
|
||||||
|
|
||||||
#include "dialog_gendrill.cpp" // Dialog box for drill file generation
|
|
||||||
|
|
||||||
|
|
||||||
/* some param values initialization before display dialog window
|
/* some param values initialization before display dialog window
|
||||||
*/
|
*/
|
||||||
void WinEDA_DrillFrame::InitDisplayParams( void )
|
void DIALOG_GENDRILL::InitDisplayParams( void )
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
|
@ -123,7 +123,6 @@ void WinEDA_DrillFrame::InitDisplayParams( void )
|
||||||
m_BlindOrBuriedViasCount++;
|
m_BlindOrBuriedViasCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_MicroViasDrillSizer->Enable( m_MicroViasCount );
|
|
||||||
m_MicroViaDrillValue->Enable( m_MicroViasCount );
|
m_MicroViaDrillValue->Enable( m_MicroViasCount );
|
||||||
|
|
||||||
// Pads holes round:
|
// Pads holes round:
|
||||||
|
@ -162,7 +161,7 @@ void WinEDA_DrillFrame::InitDisplayParams( void )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_DrillFrame::SetParams( void )
|
void DIALOG_GENDRILL::SetParams( void )
|
||||||
{
|
{
|
||||||
wxString msg;
|
wxString msg;
|
||||||
long ltmp;
|
long ltmp;
|
||||||
|
@ -221,14 +220,14 @@ void WinEDA_PcbFrame::InstallDrillFrame( wxCommandEvent& event )
|
||||||
Config->Read( DrillOriginIsAuxAxisKey, &DrillOriginIsAuxAxis );
|
Config->Read( DrillOriginIsAuxAxisKey, &DrillOriginIsAuxAxis );
|
||||||
}
|
}
|
||||||
|
|
||||||
WinEDA_DrillFrame* frame = new WinEDA_DrillFrame( this );
|
DIALOG_GENDRILL* frame = new DIALOG_GENDRILL( this );
|
||||||
frame->ShowModal();
|
frame->ShowModal();
|
||||||
frame->Destroy();
|
frame->Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Save drill options: */
|
/* Save drill options: */
|
||||||
void WinEDA_DrillFrame::UpdateConfig()
|
void DIALOG_GENDRILL::UpdateConfig()
|
||||||
{
|
{
|
||||||
SetParams();
|
SetParams();
|
||||||
|
|
||||||
|
@ -256,7 +255,7 @@ void WinEDA_DrillFrame::UpdateConfig()
|
||||||
* And one file per layer pair, which have one or more holes, excluding
|
* And one file per layer pair, which have one or more holes, excluding
|
||||||
* through holes, already in the first file.
|
* through holes, already in the first file.
|
||||||
*/
|
*/
|
||||||
void WinEDA_DrillFrame::GenDrillFiles( wxCommandEvent& event )
|
void DIALOG_GENDRILL::GenDrillFiles( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
wxFileName fn;
|
wxFileName fn;
|
||||||
wxString layer_extend; /* added to the Board FileName to
|
wxString layer_extend; /* added to the Board FileName to
|
||||||
|
@ -383,7 +382,7 @@ void WinEDA_DrillFrame::GenDrillFiles( wxCommandEvent& event )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void WinEDA_DrillFrame::UpdatePrecisionOptions( wxCommandEvent& event )
|
void DIALOG_GENDRILL::UpdatePrecisionOptions( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
if( m_Choice_Unit->GetSelection()==1 )
|
if( m_Choice_Unit->GetSelection()==1 )
|
||||||
{
|
{
|
||||||
|
@ -410,7 +409,7 @@ void WinEDA_DrillFrame::UpdatePrecisionOptions( wxCommandEvent& event )
|
||||||
* @param aHoleListBuffer = hole descriptor list
|
* @param aHoleListBuffer = hole descriptor list
|
||||||
* @param aToolListBuffer = Drill tools list
|
* @param aToolListBuffer = Drill tools list
|
||||||
*/
|
*/
|
||||||
int WinEDA_DrillFrame::Create_Drill_File_EXCELLON( FILE* excellon_dest,
|
int DIALOG_GENDRILL::Create_Drill_File_EXCELLON( FILE* excellon_dest,
|
||||||
std::vector<HOLE_INFO>& aHoleListBuffer,
|
std::vector<HOLE_INFO>& aHoleListBuffer,
|
||||||
std::vector<DRILL_TOOL>& aToolListBuffer )
|
std::vector<DRILL_TOOL>& aToolListBuffer )
|
||||||
{
|
{
|
||||||
|
@ -652,7 +651,7 @@ void Gen_Line_EXCELLON( char* line, float x, float y )
|
||||||
* ICI,OFF
|
* ICI,OFF
|
||||||
* ATC,ON
|
* ATC,ON
|
||||||
*/
|
*/
|
||||||
void WinEDA_DrillFrame::Write_Excellon_Header( FILE* aFile )
|
void DIALOG_GENDRILL::Write_Excellon_Header( FILE* aFile )
|
||||||
{
|
{
|
||||||
char Line[256];
|
char Line[256];
|
||||||
|
|
||||||
|
@ -733,7 +732,7 @@ void Write_End_Of_File_Drill( FILE* aFile )
|
||||||
|
|
||||||
/* Generate the drill plan (Drill map) format HPGL or POSTSCRIPT
|
/* Generate the drill plan (Drill map) format HPGL or POSTSCRIPT
|
||||||
*/
|
*/
|
||||||
void WinEDA_DrillFrame::GenDrillMap( const wxString aFileName,
|
void DIALOG_GENDRILL::GenDrillMap( const wxString aFileName,
|
||||||
std::vector<HOLE_INFO>& aHoleListBuffer,
|
std::vector<HOLE_INFO>& aHoleListBuffer,
|
||||||
std::vector<DRILL_TOOL>& buffer,
|
std::vector<DRILL_TOOL>& buffer,
|
||||||
int format )
|
int format )
|
||||||
|
@ -766,7 +765,7 @@ void WinEDA_DrillFrame::GenDrillMap( const wxString aFileName,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
DisplayError( this, wxT( "WinEDA_DrillFrame::GenDrillMap() error" ) );
|
DisplayError( this, wxT( "DIALOG_GENDRILL::GenDrillMap() error" ) );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -806,7 +805,7 @@ void WinEDA_DrillFrame::GenDrillMap( const wxString aFileName,
|
||||||
/*
|
/*
|
||||||
* Create a list of drill values and drill count
|
* Create a list of drill values and drill count
|
||||||
*/
|
*/
|
||||||
void WinEDA_DrillFrame::GenDrillReport( const wxString aFileName )
|
void DIALOG_GENDRILL::GenDrillReport( const wxString aFileName )
|
||||||
{
|
{
|
||||||
wxFileName fn;
|
wxFileName fn;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
|
@ -802,4 +802,5 @@ void WinEDA_ModuleEditFrame::Transform( MODULE* module, int transform )
|
||||||
}
|
}
|
||||||
|
|
||||||
module->Set_Rectangle_Encadrement();
|
module->Set_Rectangle_Encadrement();
|
||||||
|
OnModify();
|
||||||
}
|
}
|
||||||
|
|
|
@ -531,3 +531,16 @@ void WinEDA_ModuleEditFrame::GeneralControle( wxDC* DC, wxPoint Mouse )
|
||||||
SetToolbars();
|
SetToolbars();
|
||||||
UpdateStatusBar();
|
UpdateStatusBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Virtual Function OnModify()
|
||||||
|
* Must be called after a change
|
||||||
|
* in order to set the "modify" flag of the current screen
|
||||||
|
* and prepare, if needed the refresh of the 3D frame showing the footprint
|
||||||
|
* do not forget to call the basic OnModify function to update auxiliary info
|
||||||
|
*/
|
||||||
|
void WinEDA_ModuleEditFrame::OnModify( )
|
||||||
|
{
|
||||||
|
WinEDA_BasePcbFrame::OnModify( );
|
||||||
|
if( m_Draw3DFrame )
|
||||||
|
m_Draw3DFrame->ReloadRequest( );
|
||||||
|
}
|
||||||
|
|
|
@ -678,3 +678,17 @@ void WinEDA_PcbFrame::SetLastNetListRead( const wxString& aLastNetListRead )
|
||||||
m_lastNetListRead = relativeFileName.GetFullPath();
|
m_lastNetListRead = relativeFileName.GetFullPath();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Virtual Function OnModify()
|
||||||
|
* Must be called after a change
|
||||||
|
* in order to set the "modify" flag of the current screen
|
||||||
|
* and prepare, if needed the refresh of the 3D frame showing the footprint
|
||||||
|
* do not forget to call the basic OnModify function to update auxiliary info
|
||||||
|
*/
|
||||||
|
void WinEDA_PcbFrame::OnModify( )
|
||||||
|
{
|
||||||
|
WinEDA_BasePcbFrame::OnModify( );
|
||||||
|
if( m_Draw3DFrame )
|
||||||
|
m_Draw3DFrame->ReloadRequest( );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,8 +43,8 @@ bool g_Drag_Pistes_On;
|
||||||
bool g_Show_Module_Ratsnest;
|
bool g_Show_Module_Ratsnest;
|
||||||
bool g_Show_Pads_Module_in_Move = true;
|
bool g_Show_Pads_Module_in_Move = true;
|
||||||
bool g_Raccord_45_Auto = true;
|
bool g_Raccord_45_Auto = true;
|
||||||
bool Track_45_Only;
|
bool g_Track_45_Only_Allowed = true; // True to allow horiz, vert. and 45deg only tracks
|
||||||
bool Segments_45_Only;
|
bool Segments_45_Only; // True to allow horiz, vert. and 45deg only graphic segments
|
||||||
bool g_TwoSegmentTrackBuild = true;
|
bool g_TwoSegmentTrackBuild = true;
|
||||||
bool g_HighLight_Status;
|
bool g_HighLight_Status;
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ extern bool g_Raccord_45_Auto;
|
||||||
extern const wxString g_FootprintLibFileWildcard; // Wildcard for footprint libraries filesnames
|
extern const wxString g_FootprintLibFileWildcard; // Wildcard for footprint libraries filesnames
|
||||||
|
|
||||||
|
|
||||||
extern bool Track_45_Only;
|
extern bool g_Track_45_Only_Allowed;
|
||||||
extern bool Segments_45_Only;
|
extern bool Segments_45_Only;
|
||||||
extern wxString g_Shapes3DExtBuffer;
|
extern wxString g_Shapes3DExtBuffer;
|
||||||
extern wxString g_DocModulesFileName;
|
extern wxString g_DocModulesFileName;
|
||||||
|
|
Loading…
Reference in New Issue