From ab7cf4a2b04b01f5df4c7e813959eef359391e4e Mon Sep 17 00:00:00 2001 From: Jeff Young Date: Sat, 20 Jul 2019 14:38:28 -0600 Subject: [PATCH] A bit of visual cleanup for the new Board Statistics dialog. --- pcbnew/dialogs/dialog_board_statistics.cpp | 41 +- .../dialogs/dialog_board_statistics_base.cpp | 352 +++++---- .../dialogs/dialog_board_statistics_base.fbp | 722 +++++++++++++++++- pcbnew/dialogs/dialog_board_statistics_base.h | 57 +- 4 files changed, 937 insertions(+), 235 deletions(-) diff --git a/pcbnew/dialogs/dialog_board_statistics.cpp b/pcbnew/dialogs/dialog_board_statistics.cpp index dbd6e2856d..7850a24a1d 100644 --- a/pcbnew/dialogs/dialog_board_statistics.cpp +++ b/pcbnew/dialogs/dialog_board_statistics.cpp @@ -40,12 +40,33 @@ DIALOG_BOARD_STATISTICS::DIALOG_BOARD_STATISTICS( PCB_EDIT_FRAME* aParentFrame ) m_gridBoard->SetColMinimalAcceptableWidth( 80 ); // Make labels for grids - m_gridBoard->SetCellValue( 0, 0, _( "Width" ) ); - m_gridBoard->SetCellValue( 1, 0, _( "Height" ) ); - m_gridBoard->SetCellValue( 2, 0, _( "Area" ) ); + wxFont headingFont = wxSystemSettings::GetFont( wxSYS_DEFAULT_GUI_FONT ); + headingFont.SetSymbolicSize( wxFONTSIZE_SMALL ); m_gridComponents->SetCellValue( 0, 1, _( "Front Side" ) ); + m_gridComponents->SetCellFont( 0, 1, headingFont ); m_gridComponents->SetCellValue( 0, 2, _( "Bottom Side" ) ); + m_gridComponents->SetCellFont( 0, 2, headingFont ); m_gridComponents->SetCellValue( 0, 3, _( "Total" ) ); + m_gridComponents->SetCellFont( 0, 3, headingFont ); + + m_gridComponents->SetCellAlignment( wxALIGN_LEFT, 0, 0 ); + m_gridComponents->SetCellAlignment( wxALIGN_LEFT, 1, 0 ); + m_gridComponents->SetCellAlignment( wxALIGN_LEFT, 2, 0 ); + m_gridComponents->SetCellAlignment( wxALIGN_LEFT, 3, 0 ); + m_gridComponents->SetCellAlignment( wxALIGN_LEFT, 4, 0 ); + + m_gridPads->SetCellAlignment( wxALIGN_LEFT, 0, 0 ); + m_gridPads->SetCellAlignment( wxALIGN_LEFT, 1, 0 ); + m_gridPads->SetCellAlignment( wxALIGN_LEFT, 2, 0 ); + m_gridPads->SetCellAlignment( wxALIGN_LEFT, 3, 0 ); + m_gridPads->SetCellAlignment( wxALIGN_LEFT, 4, 0 ); + + m_gridBoard->SetCellValue( 0, 0, _( "Width:" ) ); + m_gridBoard->SetCellAlignment( wxALIGN_LEFT, 0, 0 ); + m_gridBoard->SetCellValue( 1, 0, _( "Height:" ) ); + m_gridBoard->SetCellAlignment( wxALIGN_LEFT, 1, 0 ); + m_gridBoard->SetCellValue( 2, 0, _( "Area:" ) ); + m_gridBoard->SetCellAlignment( wxALIGN_LEFT, 2, 0 ); } void DIALOG_BOARD_STATISTICS::refreshItemsTypes() @@ -54,15 +75,15 @@ void DIALOG_BOARD_STATISTICS::refreshItemsTypes() // If you need some more types to be shown, simply add them to the // corresponding list - m_componentsTypes.push_back( componentsType_t( MOD_CMS, _( "THT" ) ) ); - m_componentsTypes.push_back( componentsType_t( MOD_DEFAULT, _( "SMD" ) ) ); - m_componentsTypes.push_back( componentsType_t( MOD_VIRTUAL, _( "Virtual" ) ) ); + m_componentsTypes.push_back( componentsType_t( MOD_CMS, _( "THT:" ) ) ); + m_componentsTypes.push_back( componentsType_t( MOD_DEFAULT, _( "SMD:" ) ) ); + m_componentsTypes.push_back( componentsType_t( MOD_VIRTUAL, _( "Virtual:" ) ) ); m_padsTypes.clear(); - m_padsTypes.push_back( padsType_t( PAD_ATTRIB_STANDARD, _( "THT" ) ) ); - m_padsTypes.push_back( padsType_t( PAD_ATTRIB_SMD, _( "SMD" ) ) ); - m_padsTypes.push_back( padsType_t( PAD_ATTRIB_CONN, _( "Connector" ) ) ); - m_padsTypes.push_back( padsType_t( PAD_ATTRIB_HOLE_NOT_PLATED, _( "NPH" ) ) ); + m_padsTypes.push_back( padsType_t( PAD_ATTRIB_STANDARD, _( "Through hole:" ) ) ); + m_padsTypes.push_back( padsType_t( PAD_ATTRIB_SMD, _( "SMD:" ) ) ); + m_padsTypes.push_back( padsType_t( PAD_ATTRIB_CONN, _( "Connector:" ) ) ); + m_padsTypes.push_back( padsType_t( PAD_ATTRIB_HOLE_NOT_PLATED, _( "NPTH:" ) ) ); // If there not enough rows in grids, append some size_t appendRows = m_componentsTypes.size() + 2 - m_gridComponents->GetNumberRows(); diff --git a/pcbnew/dialogs/dialog_board_statistics_base.cpp b/pcbnew/dialogs/dialog_board_statistics_base.cpp index 2cdf488d03..cafd53301b 100644 --- a/pcbnew/dialogs/dialog_board_statistics_base.cpp +++ b/pcbnew/dialogs/dialog_board_statistics_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jun 25 2019) +// C++ code generated with wxFormBuilder (version Dec 30 2017) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -11,173 +11,193 @@ 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 ); - this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); - - wxBoxSizer* bMainBoxSizer; - bMainBoxSizer = new wxBoxSizer( wxVERTICAL ); - - wxGridBagSizer* gbConentsSizer; - gbConentsSizer = new wxGridBagSizer( 5, 10 ); - gbConentsSizer->SetFlexibleDirection( wxBOTH ); - gbConentsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - - wxStaticBoxSizer* sbComponentsSizer; - sbComponentsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Components") ), wxVERTICAL ); - - m_gridComponents = new wxGrid( sbComponentsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL ); - - // Grid - m_gridComponents->CreateGrid( 5, 4 ); - m_gridComponents->EnableEditing( false ); - m_gridComponents->EnableGridLines( false ); - m_gridComponents->SetGridLineColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); - 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 - m_gridComponents->SetLabelBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND ) ); - m_gridComponents->SetLabelFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - - // Cell Defaults - m_gridComponents->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); - m_gridComponents->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP ); - m_gridComponents->SetMaxSize( wxSize( -1,400 ) ); - - sbComponentsSizer->Add( m_gridComponents, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 ); - - - gbConentsSizer->Add( sbComponentsSizer, wxGBPosition( 0, 0 ), wxGBSpan( 2, 1 ), wxEXPAND, 5 ); - - wxStaticBoxSizer* sbPadsSizer; - sbPadsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Pads") ), wxVERTICAL ); - - m_gridPads = new wxGrid( sbPadsSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL ); - - // Grid - m_gridPads->CreateGrid( 5, 2 ); - m_gridPads->EnableEditing( false ); - m_gridPads->EnableGridLines( false ); - m_gridPads->SetGridLineColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); - m_gridPads->EnableDragGridSize( false ); - m_gridPads->SetMargins( 10, 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_CENTER, wxALIGN_CENTER ); - - // Label Appearance - m_gridPads->SetLabelBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND ) ); - m_gridPads->SetLabelFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - - // Cell Defaults - m_gridPads->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); - m_gridPads->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP ); - m_gridPads->SetMaxSize( wxSize( -1,300 ) ); - - sbPadsSizer->Add( m_gridPads, 0, wxALL, 5 ); - - - gbConentsSizer->Add( sbPadsSizer, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); - - wxStaticBoxSizer* sbBoardSizer; - sbBoardSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Board") ), wxVERTICAL ); - - m_gridBoard = new wxGrid( sbBoardSizer->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL ); - - // Grid - m_gridBoard->CreateGrid( 3, 2 ); - m_gridBoard->EnableEditing( false ); - m_gridBoard->EnableGridLines( false ); - m_gridBoard->SetGridLineColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); - m_gridBoard->EnableDragGridSize( false ); - m_gridBoard->SetMargins( 10, 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 - m_gridBoard->SetLabelBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND ) ); - m_gridBoard->SetLabelFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); - - // Cell Defaults - m_gridBoard->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); - m_gridBoard->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP ); - m_gridBoard->SetMaxSize( wxSize( -1,300 ) ); - - sbBoardSizer->Add( m_gridBoard, 0, wxALL, 5 ); - - - gbConentsSizer->Add( sbBoardSizer, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); - - - gbConentsSizer->AddGrowableCol( 0 ); - gbConentsSizer->AddGrowableCol( 1 ); - gbConentsSizer->AddGrowableRow( 0 ); - - bMainBoxSizer->Add( gbConentsSizer, 1, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 10 ); - - wxGridSizer* gOptionsSizer; - gOptionsSizer = new wxGridSizer( 0, 2, 0, 0 ); - - m_checkBoxSubtractHoles = new wxCheckBox( this, wxID_ANY, _("Subtract holes from board area"), wxDefaultPosition, wxDefaultSize, 0 ); - gOptionsSizer->Add( m_checkBoxSubtractHoles, 0, wxALL|wxEXPAND, 5 ); - - m_checkBoxExcludeComponentsNoPins = new wxCheckBox( this, wxID_ANY, _("Exclude components with no pins"), wxDefaultPosition, wxDefaultSize, 0 ); - gOptionsSizer->Add( m_checkBoxExcludeComponentsNoPins, 0, wxALL|wxEXPAND, 5 ); - - - bMainBoxSizer->Add( gOptionsSizer, 0, wxEXPAND|wxLEFT|wxRIGHT, 10 ); - - m_sdbControlSizer = new wxStdDialogButtonSizer(); - m_sdbControlSizerOK = new wxButton( this, wxID_OK ); - m_sdbControlSizer->AddButton( m_sdbControlSizerOK ); - m_sdbControlSizer->Realize(); - - bMainBoxSizer->Add( m_sdbControlSizer, 0, wxALIGN_RIGHT|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 10 ); - - - this->SetSizer( bMainBoxSizer ); - this->Layout(); - bMainBoxSizer->Fit( this ); - - this->Centre( wxBOTH ); - - // Connect Events - 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 ); + this->SetSizeHints( wxDefaultSize, wxDefaultSize ); + this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); + + wxBoxSizer* bMainBoxSizer; + bMainBoxSizer = new wxBoxSizer( wxVERTICAL ); + + wxGridBagSizer* gbContentsSizer; + gbContentsSizer = new wxGridBagSizer( 10, 20 ); + gbContentsSizer->SetFlexibleDirection( wxBOTH ); + gbContentsSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + + wxBoxSizer* bSizer2; + bSizer2 = new wxBoxSizer( wxVERTICAL ); + + wxStaticText* componentsLabel; + componentsLabel = new wxStaticText( this, wxID_ANY, wxT("Components"), wxDefaultPosition, wxDefaultSize, 0 ); + componentsLabel->Wrap( -1 ); + bSizer2->Add( componentsLabel, 0, wxALL, 5 ); + + m_gridComponents = new wxGrid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL ); + + // Grid + m_gridComponents->CreateGrid( 5, 4 ); + m_gridComponents->EnableEditing( false ); + m_gridComponents->EnableGridLines( false ); + m_gridComponents->SetGridLineColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNSHADOW ) ); + 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 + m_gridComponents->SetLabelBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND ) ); + m_gridComponents->SetLabelFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + // Cell Defaults + m_gridComponents->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); + m_gridComponents->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_TOP ); + bSizer2->Add( m_gridComponents, 0, wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + + + gbContentsSizer->Add( bSizer2, wxGBPosition( 0, 0 ), wxGBSpan( 2, 1 ), wxEXPAND, 5 ); + + wxBoxSizer* bSizer3; + bSizer3 = new wxBoxSizer( wxVERTICAL ); + + wxStaticText* padsLabel; + padsLabel = new wxStaticText( this, wxID_ANY, wxT("Pads"), wxDefaultPosition, wxDefaultSize, 0 ); + padsLabel->Wrap( -1 ); + bSizer3->Add( padsLabel, 0, wxALL, 5 ); + + m_gridPads = new wxGrid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL ); + + // Grid + m_gridPads->CreateGrid( 5, 2 ); + m_gridPads->EnableEditing( false ); + m_gridPads->EnableGridLines( false ); + m_gridPads->SetGridLineColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNSHADOW ) ); + 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 + m_gridPads->SetLabelBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND ) ); + m_gridPads->SetLabelFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + // Cell Defaults + m_gridPads->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); + m_gridPads->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_TOP ); + m_gridPads->SetMaxSize( wxSize( -1,300 ) ); + + bSizer3->Add( m_gridPads, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + + + gbContentsSizer->Add( bSizer3, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); + + wxBoxSizer* bSizer5; + bSizer5 = new wxBoxSizer( wxVERTICAL ); + + wxStaticText* boardLabel; + boardLabel = new wxStaticText( this, wxID_ANY, wxT("Board Size"), wxDefaultPosition, wxDefaultSize, 0 ); + boardLabel->Wrap( -1 ); + bSizer5->Add( boardLabel, 0, wxALL, 5 ); + + m_gridBoard = new wxGrid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL ); + + // Grid + m_gridBoard->CreateGrid( 3, 2 ); + m_gridBoard->EnableEditing( false ); + m_gridBoard->EnableGridLines( false ); + m_gridBoard->SetGridLineColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNSHADOW ) ); + 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 + m_gridBoard->SetLabelBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BACKGROUND ) ); + m_gridBoard->SetLabelFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); + + // Cell Defaults + m_gridBoard->SetDefaultCellBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWFRAME ) ); + m_gridBoard->SetDefaultCellAlignment( wxALIGN_CENTRE, wxALIGN_TOP ); + m_gridBoard->SetMaxSize( wxSize( -1,300 ) ); + + bSizer5->Add( m_gridBoard, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + + + gbContentsSizer->Add( bSizer5, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxEXPAND, 5 ); + + + gbContentsSizer->AddGrowableCol( 0 ); + gbContentsSizer->AddGrowableCol( 1 ); + gbContentsSizer->AddGrowableRow( 0 ); + gbContentsSizer->AddGrowableRow( 1 ); + + bMainBoxSizer->Add( gbContentsSizer, 1, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 10 ); + + m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + bMainBoxSizer->Add( m_staticline1, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 10 ); + + wxGridSizer* gOptionsSizer; + gOptionsSizer = new wxGridSizer( 0, 2, 0, 0 ); + + m_checkBoxSubtractHoles = new wxCheckBox( this, wxID_ANY, wxT("Subtract holes from board area"), wxDefaultPosition, wxDefaultSize, 0 ); + gOptionsSizer->Add( m_checkBoxSubtractHoles, 0, wxALL|wxEXPAND, 5 ); + + m_checkBoxExcludeComponentsNoPins = new wxCheckBox( this, wxID_ANY, wxT("Exclude components with no pins"), wxDefaultPosition, wxDefaultSize, 0 ); + gOptionsSizer->Add( m_checkBoxExcludeComponentsNoPins, 0, wxALL|wxEXPAND, 5 ); + + + bMainBoxSizer->Add( gOptionsSizer, 0, wxEXPAND|wxLEFT|wxRIGHT, 10 ); + + m_staticline2 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); + bMainBoxSizer->Add( m_staticline2, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 10 ); + + m_sdbControlSizer = new wxStdDialogButtonSizer(); + m_sdbControlSizerOK = new wxButton( this, wxID_OK ); + m_sdbControlSizer->AddButton( m_sdbControlSizerOK ); + m_sdbControlSizer->Realize(); + + bMainBoxSizer->Add( m_sdbControlSizer, 0, wxALIGN_RIGHT|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 ); + + + this->SetSizer( bMainBoxSizer ); + this->Layout(); + bMainBoxSizer->Fit( this ); + + this->Centre( wxBOTH ); + + // Connect Events + 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 ); } DIALOG_BOARD_STATISTICS_BASE::~DIALOG_BOARD_STATISTICS_BASE() { - // Disconnect Events - 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 ); - + // Disconnect Events + 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 ); + } diff --git a/pcbnew/dialogs/dialog_board_statistics_base.fbp b/pcbnew/dialogs/dialog_board_statistics_base.fbp index fe9a222b5a..93b8276057 100644 --- a/pcbnew/dialogs/dialog_board_statistics_base.fbp +++ b/pcbnew/dialogs/dialog_board_statistics_base.fbp @@ -1,6 +1,6 @@ - + ; C++ @@ -14,7 +14,6 @@ dialog_board_statistics_base 1000 none - 0 DIALOG_BOARD_STATISTCS_BASE @@ -53,6 +52,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bMainBoxSizer @@ -65,14 +100,14 @@ wxBOTH - 0 - 0 - 10 + 0,1 + 0,1 + 20 - gbConentsSizer + gbContentsSizer wxFLEX_GROWMODE_SPECIFIED none - 5 + 10 5 1 @@ -80,17 +115,97 @@ wxEXPAND 0 2 - - wxID_ANY - Components + - sbComponentsSizer + bSizer2 wxVERTICAL - 1 none 5 - wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP + wxALL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Components + + 0 + + + 0 + + 1 + componentsLabel + 1 + + + none + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT 0 1 @@ -109,7 +224,7 @@ 1 wxSYS_COLOUR_WINDOWFRAME - wxALIGN_LEFT + wxALIGN_CENTRE wxALIGN_TOP 0 @@ -135,7 +250,7 @@ 1 - wxSYS_COLOUR_WINDOWFRAME + wxSYS_COLOUR_BTNSHADOW 0 0 0 @@ -147,7 +262,7 @@ 0 0 - -1,400 + -1,-1 0 @@ -174,6 +289,61 @@ wxVSCROLL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -185,18 +355,98 @@ wxEXPAND 0 1 - - wxID_ANY - Pads + - sbPadsSizer + bSizer3 wxVERTICAL - 1 none 5 wxALL 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Pads + + 0 + + + 0 + + 1 + padsLabel + 1 + + + none + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 1 1 @@ -214,7 +464,7 @@ 1 wxSYS_COLOUR_WINDOWFRAME - wxALIGN_LEFT + wxALIGN_CENTRE wxALIGN_TOP 0 @@ -240,7 +490,7 @@ 1 - wxSYS_COLOUR_WINDOWFRAME + wxSYS_COLOUR_BTNSHADOW 0 0 0 @@ -249,7 +499,7 @@ ,90,90,-1,70,0 0 - 10 + 0 0 -1,300 @@ -265,7 +515,7 @@ 1 Resizable - wxALIGN_CENTER + wxALIGN_RIGHT 0 wxALIGN_CENTER @@ -279,6 +529,61 @@ wxVSCROLL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -290,18 +595,98 @@ wxEXPAND 1 1 - - wxID_ANY - Board + - sbBoardSizer + bSizer5 wxVERTICAL - 1 none 5 wxALL 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Board Size + + 0 + + + 0 + + 1 + boardLabel + 1 + + + none + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxBOTTOM|wxRIGHT|wxLEFT + 0 1 1 @@ -319,7 +704,7 @@ 1 wxSYS_COLOUR_WINDOWFRAME - wxALIGN_LEFT + wxALIGN_CENTRE wxALIGN_TOP 0 @@ -345,7 +730,7 @@ 1 - wxSYS_COLOUR_WINDOWFRAME + wxSYS_COLOUR_BTNSHADOW 0 0 0 @@ -354,7 +739,7 @@ ,90,90,-1,70,0 0 - 10 + 0 0 -1,300 @@ -384,12 +769,148 @@ wxVSCROLL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 + wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticline1 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + ; forward_declare + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10 wxEXPAND|wxLEFT|wxRIGHT @@ -464,7 +985,30 @@ + checkboxClicked + + + + + + + + + + + + + + + + + + + + + + @@ -529,13 +1073,117 @@ + checkboxClicked + + + + + + + + + + + + + + + + + + + + + + 10 + wxEXPAND|wxTOP|wxRIGHT|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_staticline2 + 1 + + + protected + 1 + + Resizable + 1 + + wxLI_HORIZONTAL + ; forward_declare + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 wxALIGN_RIGHT|wxBOTTOM|wxLEFT|wxRIGHT|wxTOP 0 @@ -550,6 +1198,14 @@ m_sdbControlSizer protected + + + + + + + + diff --git a/pcbnew/dialogs/dialog_board_statistics_base.h b/pcbnew/dialogs/dialog_board_statistics_base.h index 0494adcfe0..2ee2e1ffb0 100644 --- a/pcbnew/dialogs/dialog_board_statistics_base.h +++ b/pcbnew/dialogs/dialog_board_statistics_base.h @@ -1,24 +1,26 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jun 25 2019) +// C++ code generated with wxFormBuilder (version Dec 30 2017) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// -#pragma once +#ifndef __DIALOG_BOARD_STATISTICS_BASE_H__ +#define __DIALOG_BOARD_STATISTICS_BASE_H__ #include #include #include "dialog_shim.h" +#include +#include +#include +#include #include #include -#include -#include #include -#include #include -#include #include +#include #include #include #include @@ -31,25 +33,28 @@ /////////////////////////////////////////////////////////////////////////////// class DIALOG_BOARD_STATISTICS_BASE : public DIALOG_SHIM { - private: - - protected: - wxGrid* m_gridComponents; - wxGrid* m_gridPads; - wxGrid* m_gridBoard; - wxCheckBox* m_checkBoxSubtractHoles; - wxCheckBox* m_checkBoxExcludeComponentsNoPins; - wxStdDialogButtonSizer* m_sdbControlSizer; - wxButton* m_sdbControlSizerOK; - - // Virtual event handlers, overide them in your derived class - virtual void checkboxClicked( wxCommandEvent& event ) { event.Skip(); } - - - public: - - DIALOG_BOARD_STATISTICS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Board Statistics"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE ); - ~DIALOG_BOARD_STATISTICS_BASE(); - + private: + + protected: + wxGrid* m_gridComponents; + wxGrid* m_gridPads; + wxGrid* m_gridBoard; + wxStaticLine* m_staticline1; + wxCheckBox* m_checkBoxSubtractHoles; + wxCheckBox* m_checkBoxExcludeComponentsNoPins; + wxStaticLine* m_staticline2; + wxStdDialogButtonSizer* m_sdbControlSizer; + wxButton* m_sdbControlSizerOK; + + // Virtual event handlers, overide them in your derived class + virtual void checkboxClicked( wxCommandEvent& event ) { event.Skip(); } + + + public: + + DIALOG_BOARD_STATISTICS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Board Statistics"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE ); + ~DIALOG_BOARD_STATISTICS_BASE(); + }; +#endif //__DIALOG_BOARD_STATISTICS_BASE_H__