7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2024-11-22 11:35:00 +00:00
kicad/pcbnew/dialogs/dialog_board_statistics_base.cpp
2023-09-18 17:15:34 +03:00

298 lines
11 KiB
C++

///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include "widgets/wx_grid.h"
#include "dialog_board_statistics_base.h"
///////////////////////////////////////////////////////////////////////////
DIALOG_BOARD_STATISTICS_BASE::DIALOG_BOARD_STATISTICS_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
{
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
wxBoxSizer* bMainBoxSizer;
bMainBoxSizer = new wxBoxSizer( wxVERTICAL );
topNotebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
m_generalPanel = new wxPanel( topNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxBoxSizer* bGeneralPanelSizer;
bGeneralPanelSizer = new wxBoxSizer( wxVERTICAL );
wxFlexGridSizer* fgSizerContents;
fgSizerContents = new wxFlexGridSizer( 0, 2, 0, 0 );
fgSizerContents->AddGrowableCol( 0 );
fgSizerContents->AddGrowableCol( 1 );
fgSizerContents->AddGrowableRow( 0 );
fgSizerContents->AddGrowableRow( 1 );
fgSizerContents->SetFlexibleDirection( wxBOTH );
fgSizerContents->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL );
wxBoxSizer* bSizerComponents;
bSizerComponents = new wxBoxSizer( wxVERTICAL );
wxStaticText* componentsLabel;
componentsLabel = new wxStaticText( m_generalPanel, wxID_ANY, _("Components"), wxDefaultPosition, wxDefaultSize, 0 );
componentsLabel->Wrap( -1 );
bSizerComponents->Add( componentsLabel, 0, wxALL, 5 );
m_gridComponents = new wxGrid( m_generalPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
// Grid
m_gridComponents->CreateGrid( 5, 4 );
m_gridComponents->EnableEditing( false );
m_gridComponents->EnableGridLines( false );
m_gridComponents->EnableDragGridSize( false );
m_gridComponents->SetMargins( 0, 0 );
// Columns
m_gridComponents->EnableDragColMove( false );
m_gridComponents->EnableDragColSize( true );
m_gridComponents->SetColLabelSize( 0 );
m_gridComponents->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows
m_gridComponents->EnableDragRowSize( true );
m_gridComponents->SetRowLabelSize( 0 );
m_gridComponents->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Label Appearance
// Cell Defaults
m_gridComponents->SetDefaultCellAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
m_gridComponents->SetMaxSize( wxSize( -1,300 ) );
bSizerComponents->Add( m_gridComponents, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
fgSizerContents->Add( bSizerComponents, 1, wxEXPAND|wxBOTTOM|wxRIGHT, 5 );
wxBoxSizer* bSizerPads;
bSizerPads = new wxBoxSizer( wxVERTICAL );
wxStaticText* padsLabel;
padsLabel = new wxStaticText( m_generalPanel, wxID_ANY, _("Pads"), wxDefaultPosition, wxDefaultSize, 0 );
padsLabel->Wrap( -1 );
bSizerPads->Add( padsLabel, 0, wxALL, 5 );
m_gridPads = new wxGrid( m_generalPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
// Grid
m_gridPads->CreateGrid( 5, 2 );
m_gridPads->EnableEditing( false );
m_gridPads->EnableGridLines( false );
m_gridPads->EnableDragGridSize( false );
m_gridPads->SetMargins( 0, 0 );
// Columns
m_gridPads->EnableDragColMove( false );
m_gridPads->EnableDragColSize( true );
m_gridPads->SetColLabelSize( 0 );
m_gridPads->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows
m_gridPads->EnableDragRowSize( true );
m_gridPads->SetRowLabelSize( 0 );
m_gridPads->SetRowLabelAlignment( wxALIGN_RIGHT, wxALIGN_CENTER );
// Label Appearance
// Cell Defaults
m_gridPads->SetDefaultCellAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
m_gridPads->SetMaxSize( wxSize( -1,300 ) );
bSizerPads->Add( m_gridPads, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
fgSizerContents->Add( bSizerPads, 1, wxEXPAND|wxBOTTOM|wxLEFT, 5 );
wxBoxSizer* bSizerBrdSize;
bSizerBrdSize = new wxBoxSizer( wxVERTICAL );
wxStaticText* boardLabel;
boardLabel = new wxStaticText( m_generalPanel, wxID_ANY, _("Board Size"), wxDefaultPosition, wxDefaultSize, 0 );
boardLabel->Wrap( -1 );
bSizerBrdSize->Add( boardLabel, 0, wxALL, 5 );
m_gridBoard = new wxGrid( m_generalPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
// Grid
m_gridBoard->CreateGrid( 3, 2 );
m_gridBoard->EnableEditing( false );
m_gridBoard->EnableGridLines( false );
m_gridBoard->EnableDragGridSize( false );
m_gridBoard->SetMargins( 0, 0 );
// Columns
m_gridBoard->EnableDragColMove( false );
m_gridBoard->EnableDragColSize( true );
m_gridBoard->SetColLabelSize( 0 );
m_gridBoard->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows
m_gridBoard->EnableDragRowSize( true );
m_gridBoard->SetRowLabelSize( 0 );
m_gridBoard->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Label Appearance
// Cell Defaults
m_gridBoard->SetDefaultCellAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
m_gridBoard->SetMaxSize( wxSize( -1,300 ) );
bSizerBrdSize->Add( m_gridBoard, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
fgSizerContents->Add( bSizerBrdSize, 1, wxEXPAND|wxRIGHT, 5 );
wxBoxSizer* bSizerVias;
bSizerVias = new wxBoxSizer( wxVERTICAL );
viasLabel = new wxStaticText( m_generalPanel, wxID_ANY, _("Vias"), wxDefaultPosition, wxDefaultSize, 0 );
viasLabel->Wrap( -1 );
bSizerVias->Add( viasLabel, 0, wxALL, 5 );
m_gridVias = new wxGrid( m_generalPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
// Grid
m_gridVias->CreateGrid( 4, 2 );
m_gridVias->EnableEditing( false );
m_gridVias->EnableGridLines( false );
m_gridVias->EnableDragGridSize( false );
m_gridVias->SetMargins( 0, 0 );
// Columns
m_gridVias->EnableDragColMove( false );
m_gridVias->EnableDragColSize( true );
m_gridVias->SetColLabelSize( 0 );
m_gridVias->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows
m_gridVias->EnableDragRowSize( true );
m_gridVias->SetRowLabelSize( 0 );
m_gridVias->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Label Appearance
// Cell Defaults
m_gridVias->SetDefaultCellAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
m_gridVias->SetMaxSize( wxSize( -1,300 ) );
bSizerVias->Add( m_gridVias, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
fgSizerContents->Add( bSizerVias, 1, wxEXPAND|wxLEFT, 5 );
bGeneralPanelSizer->Add( fgSizerContents, 1, wxEXPAND, 5 );
wxGridSizer* gOptionsSizer;
gOptionsSizer = new wxGridSizer( 0, 1, 0, 0 );
m_checkBoxSubtractHoles = new wxCheckBox( m_generalPanel, wxID_ANY, _("Subtract holes from board area"), wxDefaultPosition, wxDefaultSize, 0 );
gOptionsSizer->Add( m_checkBoxSubtractHoles, 0, wxEXPAND|wxTOP|wxBOTTOM|wxRIGHT, 4 );
m_checkBoxExcludeComponentsNoPins = new wxCheckBox( m_generalPanel, wxID_ANY, _("Exclude footprints with no pads"), wxDefaultPosition, wxDefaultSize, 0 );
gOptionsSizer->Add( m_checkBoxExcludeComponentsNoPins, 0, wxEXPAND|wxBOTTOM|wxRIGHT, 4 );
bGeneralPanelSizer->Add( gOptionsSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 2 );
m_generalPanel->SetSizer( bGeneralPanelSizer );
m_generalPanel->Layout();
bGeneralPanelSizer->Fit( m_generalPanel );
topNotebook->AddPage( m_generalPanel, _("General"), true );
m_drillsPanel = new wxPanel( topNotebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
wxBoxSizer* bDrillsSizer;
bDrillsSizer = new wxBoxSizer( wxVERTICAL );
m_gridDrills = new WX_GRID( m_drillsPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL );
// Grid
m_gridDrills->CreateGrid( 0, 8 );
m_gridDrills->EnableEditing( false );
m_gridDrills->EnableGridLines( true );
m_gridDrills->EnableDragGridSize( false );
m_gridDrills->SetMargins( 0, 0 );
// Columns
m_gridDrills->AutoSizeColumns();
m_gridDrills->EnableDragColMove( true );
m_gridDrills->EnableDragColSize( true );
m_gridDrills->SetColLabelValue( 0, _("Count") );
m_gridDrills->SetColLabelValue( 1, _("Shape") );
m_gridDrills->SetColLabelValue( 2, _("X Size") );
m_gridDrills->SetColLabelValue( 3, _("Y Size") );
m_gridDrills->SetColLabelValue( 4, _("Plated") );
m_gridDrills->SetColLabelValue( 5, _("Via/Pad") );
m_gridDrills->SetColLabelValue( 6, _("Start Layer") );
m_gridDrills->SetColLabelValue( 7, _("Stop Layer") );
m_gridDrills->SetColLabelSize( 22 );
m_gridDrills->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Rows
m_gridDrills->EnableDragRowSize( false );
m_gridDrills->SetRowLabelSize( 0 );
m_gridDrills->SetRowLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
// Label Appearance
// Cell Defaults
m_gridDrills->SetDefaultCellAlignment( wxALIGN_CENTER, wxALIGN_CENTER );
bDrillsSizer->Add( m_gridDrills, 1, wxALL|wxEXPAND, 5 );
m_drillsPanel->SetSizer( bDrillsSizer );
m_drillsPanel->Layout();
bDrillsSizer->Fit( m_drillsPanel );
topNotebook->AddPage( m_drillsPanel, _("Drill Holes"), false );
bMainBoxSizer->Add( topNotebook, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
wxBoxSizer* bSizerBottom;
bSizerBottom = new wxBoxSizer( wxHORIZONTAL );
m_buttonSaveReport = new wxButton( this, wxID_ANY, _("Generate Report File..."), wxDefaultPosition, wxDefaultSize, 0 );
bSizerBottom->Add( m_buttonSaveReport, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 15 );
m_sdbControlSizer = new wxStdDialogButtonSizer();
m_sdbControlSizerCancel = new wxButton( this, wxID_CANCEL );
m_sdbControlSizer->AddButton( m_sdbControlSizerCancel );
m_sdbControlSizer->Realize();
bSizerBottom->Add( m_sdbControlSizer, 1, wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 );
bMainBoxSizer->Add( bSizerBottom, 0, wxEXPAND, 5 );
this->SetSizer( bMainBoxSizer );
this->Layout();
bMainBoxSizer->Fit( this );
this->Centre( wxBOTH );
// Connect Events
this->Connect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_BOARD_STATISTICS_BASE::windowSize ) );
m_checkBoxSubtractHoles->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_BOARD_STATISTICS_BASE::checkboxClicked ), NULL, this );
m_checkBoxExcludeComponentsNoPins->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_BOARD_STATISTICS_BASE::checkboxClicked ), NULL, this );
m_gridDrills->Connect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_BOARD_STATISTICS_BASE::drillGridSize ), NULL, this );
m_buttonSaveReport->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOARD_STATISTICS_BASE::saveReportClicked ), NULL, this );
}
DIALOG_BOARD_STATISTICS_BASE::~DIALOG_BOARD_STATISTICS_BASE()
{
// Disconnect Events
this->Disconnect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_BOARD_STATISTICS_BASE::windowSize ) );
m_checkBoxSubtractHoles->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_BOARD_STATISTICS_BASE::checkboxClicked ), NULL, this );
m_checkBoxExcludeComponentsNoPins->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_BOARD_STATISTICS_BASE::checkboxClicked ), NULL, this );
m_gridDrills->Disconnect( wxEVT_SIZE, wxSizeEventHandler( DIALOG_BOARD_STATISTICS_BASE::drillGridSize ), NULL, this );
m_buttonSaveReport->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_BOARD_STATISTICS_BASE::saveReportClicked ), NULL, this );
}