From 69f30f954a5852cff011752bb0fa019266221310 Mon Sep 17 00:00:00 2001 From: Michael Kavanagh Date: Tue, 12 Mar 2019 22:23:50 +0000 Subject: [PATCH] Move grid settings from View menus to Preferences panels MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------2.17.2 (Apple Git-113)" This is a multi-part message in MIME format. --------------2.17.2 (Apple Git-113) Content-Type: text/plain; charset=UTF-8; format=fixed Content-Transfer-Encoding: 8bit * Move eeschema and symbol library editor grid settings to respective preferences panels. Also remove grid settings menubar entries in view menus, add units choice to library editor preferences panel and tidy up panel layout. * Move pcb grid origin from grid settings dialog to board setup dialog. Grid origin isn't saved in footprint file so no need for it in the footprint editor. * Move Pcbnew and Footprint Editor grid settings from Grid Settings dialog to Preferences panels. Fixes: lp:1797570 https://bugs.launchpad.net/kicad/+bug/1797570 --- common/legacy_gal/eda_draw_frame.cpp | 5 - common/legacy_wx/eda_draw_frame.cpp | 4 - eeschema/CMakeLists.txt | 2 - eeschema/dialogs/dialog_set_grid.cpp | 91 - eeschema/dialogs/dialog_set_grid_base.cpp | 71 - eeschema/dialogs/dialog_set_grid_base.fbp | 478 --- eeschema/dialogs/panel_eeschema_settings.cpp | 15 + .../dialogs/panel_eeschema_settings_base.cpp | 54 +- .../dialogs/panel_eeschema_settings_base.fbp | 256 +- .../dialogs/panel_eeschema_settings_base.h | 5 +- eeschema/dialogs/panel_libedit_settings.cpp | 20 +- .../dialogs/panel_libedit_settings_base.cpp | 66 +- .../dialogs/panel_libedit_settings_base.fbp | 3184 ++++++++++------- .../dialogs/panel_libedit_settings_base.h | 18 +- eeschema/eeschema_id.h | 1 - eeschema/libedit/lib_edit_frame.cpp | 1 - eeschema/libedit/menubar_libedit.cpp | 4 - eeschema/menubar.cpp | 4 - eeschema/sch_base_frame.h | 2 - eeschema/sch_edit_frame.cpp | 2 - include/draw_frame.h | 1 - pcbnew/CMakeLists.txt | 5 +- pcbnew/dialogs/dialog_board_setup.cpp | 6 + pcbnew/dialogs/dialog_board_setup.h | 2 + pcbnew/dialogs/dialog_import_settings.cpp | 1 + .../dialogs/dialog_import_settings_base.cpp | 9 +- .../dialogs/dialog_import_settings_base.fbp | 204 +- pcbnew/dialogs/dialog_import_settings_base.h | 5 +- pcbnew/dialogs/dialog_set_grid.cpp | 175 - pcbnew/dialogs/dialog_set_grid_base.cpp | 184 - pcbnew/dialogs/dialog_set_grid_base.fbp | 1462 -------- pcbnew/dialogs/dialog_set_grid_base.h | 79 - pcbnew/dialogs/panel_modedit_settings.cpp | 64 +- pcbnew/dialogs/panel_modedit_settings.h | 8 + .../dialogs/panel_modedit_settings_base.cpp | 132 +- .../dialogs/panel_modedit_settings_base.fbp | 970 ++++- pcbnew/dialogs/panel_modedit_settings_base.h | 35 +- pcbnew/dialogs/panel_pcbnew_settings.cpp | 64 +- pcbnew/dialogs/panel_pcbnew_settings.h | 8 + pcbnew/dialogs/panel_pcbnew_settings_base.cpp | 96 +- pcbnew/dialogs/panel_pcbnew_settings_base.fbp | 888 ++++- pcbnew/dialogs/panel_pcbnew_settings_base.h | 17 +- pcbnew/dialogs/panel_setup_grids.cpp | 83 + .../panel_setup_grids.h} | 52 +- pcbnew/dialogs/panel_setup_grids_base.cpp | 68 + pcbnew/dialogs/panel_setup_grids_base.fbp | 475 +++ pcbnew/dialogs/panel_setup_grids_base.h | 47 + pcbnew/footprint_edit_frame.cpp | 8 +- pcbnew/footprint_edit_frame.h | 3 +- pcbnew/menubar_footprint_editor.cpp | 4 - pcbnew/menubar_pcb_editor.cpp | 4 - pcbnew/pcb_base_edit_frame.h | 3 - pcbnew/pcb_edit_frame.cpp | 7 +- pcbnew/pcb_edit_frame.h | 3 +- pcbnew/pcbnew_id.h | 1 - 55 files changed, 5267 insertions(+), 4189 deletions(-) delete mode 100644 eeschema/dialogs/dialog_set_grid.cpp delete mode 100644 eeschema/dialogs/dialog_set_grid_base.cpp delete mode 100644 eeschema/dialogs/dialog_set_grid_base.fbp delete mode 100644 pcbnew/dialogs/dialog_set_grid.cpp delete mode 100644 pcbnew/dialogs/dialog_set_grid_base.cpp delete mode 100644 pcbnew/dialogs/dialog_set_grid_base.fbp delete mode 100644 pcbnew/dialogs/dialog_set_grid_base.h create mode 100644 pcbnew/dialogs/panel_setup_grids.cpp rename pcbnew/{tool_onrightclick.cpp => dialogs/panel_setup_grids.h} (54%) create mode 100644 pcbnew/dialogs/panel_setup_grids_base.cpp create mode 100644 pcbnew/dialogs/panel_setup_grids_base.fbp create mode 100644 pcbnew/dialogs/panel_setup_grids_base.h --------------2.17.2 (Apple Git-113) Content-Type: text/x-patch; name="0001-Move-grid-settings-from-View-menus-to-Preferences-pa.patch" Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="0001-Move-grid-settings-from-View-menus-to-Preferences-pa.patch" diff --git a/common/legacy_gal/eda_draw_frame.cpp b/common/legacy_gal/eda_draw_frame.cpp index fa1eec228b..e74bf3528e 100644 --- a/common/legacy_gal/eda_draw_frame.cpp +++ b/common/legacy_gal/eda_draw_frame.cpp @@ -501,11 +501,6 @@ int EDA_DRAW_FRAME::WriteHotkeyConfig( struct EDA_HOTKEY_CONFIG* aDescList, } -void EDA_DRAW_FRAME::ToolOnRightClick( wxCommandEvent& event ) -{ -} - - void EDA_DRAW_FRAME::PrintPage( wxDC* aDC, LSET aPrintMask, bool aPrintMirrorMode, void* aData ) { wxMessageBox( wxT("EDA_DRAW_FRAME::PrintPage() error") ); diff --git a/common/legacy_wx/eda_draw_frame.cpp b/common/legacy_wx/eda_draw_frame.cpp index 8702c30315..39fe28c861 100644 --- a/common/legacy_wx/eda_draw_frame.cpp +++ b/common/legacy_wx/eda_draw_frame.cpp @@ -502,10 +502,6 @@ int EDA_DRAW_FRAME::WriteHotkeyConfig( struct EDA_HOTKEY_CONFIG* aDescList, return result; } -void EDA_DRAW_FRAME::ToolOnRightClick( wxCommandEvent& event ) -{ -} - void EDA_DRAW_FRAME::PrintPage( wxDC* aDC, LSET aPrintMask, bool aPrintMirrorMode, void* aData ) { diff --git a/eeschema/CMakeLists.txt b/eeschema/CMakeLists.txt index c56ac2d9cb..1f3b5733f5 100644 --- a/eeschema/CMakeLists.txt +++ b/eeschema/CMakeLists.txt @@ -78,8 +78,6 @@ set( EESCHEMA_DLGS dialogs/dialog_sch_sheet_props_base.cpp dialogs/dialog_schematic_find.cpp dialogs/dialog_schematic_find_base.cpp - dialogs/dialog_set_grid.cpp - dialogs/dialog_set_grid_base.cpp dialogs/dialog_symbol_remap.cpp dialogs/dialog_symbol_remap_base.cpp dialogs/dialog_update_fields.cpp diff --git a/eeschema/dialogs/dialog_set_grid.cpp b/eeschema/dialogs/dialog_set_grid.cpp deleted file mode 100644 index e7715822a1..0000000000 --- a/eeschema/dialogs/dialog_set_grid.cpp +++ /dev/null @@ -1,91 +0,0 @@ -/* - * This program source code file is part of KiCad, a free EDA CAD application. - * - * Copyright (C) 2018 KiCad Developers, see AUTHORS.txt for contributors. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, you may find one here: - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - * or you may search the http://www.gnu.org website for the version 2 license, - * or you may write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include - -#include -#include -#include -#include -#include -#include - - - -class DIALOG_SET_GRID : public DIALOG_SET_GRID_BASE -{ - SCH_BASE_FRAME* m_frame; - -public: - DIALOG_SET_GRID( SCH_BASE_FRAME* aParent ); - - bool TransferDataFromWindow() override; - bool TransferDataToWindow() override; -}; - - -DIALOG_SET_GRID::DIALOG_SET_GRID( SCH_BASE_FRAME* aParent ): - DIALOG_SET_GRID_BASE( aParent ), - m_frame( aParent ) -{ - m_sdbSizerOK->SetDefault(); - - FinishDialogSettings(); -} - - -bool DIALOG_SET_GRID::TransferDataToWindow() -{ - const GRIDS& gridSizes = m_frame->GetScreen()->GetGrids(); - - for( size_t i = 0; i < gridSizes.size(); i++ ) - { - m_choiceGridSize->Append( wxString::Format( wxT( "%0.1f" ), gridSizes[i].m_Size.x ) ); - - if( gridSizes[i].m_CmdId == m_frame->GetScreen()->GetGridCmdId() ) - m_choiceGridSize->SetSelection( (int) i ); - } - - return true; -} - - -bool DIALOG_SET_GRID::TransferDataFromWindow() -{ - const GRIDS& gridSizes = m_frame->GetScreen()->GetGrids(); - wxRealPoint gridSize = gridSizes[ (size_t) m_choiceGridSize->GetSelection() ].m_Size; - m_frame->SetLastGridSizeId( m_frame->GetScreen()->SetGrid( gridSize ) ); - - m_frame->GetCanvas()->GetView()->GetGAL()->SetGridSize( VECTOR2D( gridSize ) ); - m_frame->GetCanvas()->GetView()->MarkTargetDirty( KIGFX::TARGET_NONCACHED ); - - return true; -} - - -void SCH_BASE_FRAME::OnGridSettings( wxCommandEvent& aEvent ) -{ - DIALOG_SET_GRID dlg( this ); - - dlg.ShowModal(); -} diff --git a/eeschema/dialogs/dialog_set_grid_base.cpp b/eeschema/dialogs/dialog_set_grid_base.cpp deleted file mode 100644 index 159b4dfceb..0000000000 --- a/eeschema/dialogs/dialog_set_grid_base.cpp +++ /dev/null @@ -1,71 +0,0 @@ -/////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) -// http://www.wxformbuilder.org/ -// -// PLEASE DO *NOT* EDIT THIS FILE! -/////////////////////////////////////////////////////////////////////////// - -#include "dialog_set_grid_base.h" - -/////////////////////////////////////////////////////////////////////////// - -DIALOG_SET_GRID_BASE::DIALOG_SET_GRID_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* bSizerMain; - bSizerMain = new wxBoxSizer( wxVERTICAL ); - - wxFlexGridSizer* fgSizer32; - fgSizer32 = new wxFlexGridSizer( 0, 3, 0, 0 ); - fgSizer32->AddGrowableCol( 1 ); - fgSizer32->SetFlexibleDirection( wxBOTH ); - fgSizer32->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - - m_staticText3 = new wxStaticText( this, wxID_ANY, _("&Grid size:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticText3->Wrap( -1 ); - fgSizer32->Add( m_staticText3, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - - wxArrayString m_choiceGridSizeChoices; - m_choiceGridSize = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceGridSizeChoices, 0 ); - m_choiceGridSize->SetSelection( 0 ); - fgSizer32->Add( m_choiceGridSize, 0, wxEXPAND|wxLEFT, 5 ); - - m_units = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); - m_units->Wrap( -1 ); - fgSizer32->Add( m_units, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); - - - bSizerMain->Add( fgSizer32, 1, wxEXPAND|wxALL, 15 ); - - m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - bSizerMain->Add( m_staticline1, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - m_sdbSizer = new wxStdDialogButtonSizer(); - m_sdbSizerOK = new wxButton( this, wxID_OK ); - m_sdbSizer->AddButton( m_sdbSizerOK ); - m_sdbSizerCancel = new wxButton( this, wxID_CANCEL ); - m_sdbSizer->AddButton( m_sdbSizerCancel ); - m_sdbSizer->Realize(); - - bSizerMain->Add( m_sdbSizer, 0, wxEXPAND|wxALL, 5 ); - - - this->SetSizer( bSizerMain ); - this->Layout(); - bSizerMain->Fit( this ); - - // Connect Events - this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SET_GRID_BASE::OnInitDlg ) ); - m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnCancelClick ), NULL, this ); - m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnOkClick ), NULL, this ); -} - -DIALOG_SET_GRID_BASE::~DIALOG_SET_GRID_BASE() -{ - // Disconnect Events - this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SET_GRID_BASE::OnInitDlg ) ); - m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnCancelClick ), NULL, this ); - m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnOkClick ), NULL, this ); - -} diff --git a/eeschema/dialogs/dialog_set_grid_base.fbp b/eeschema/dialogs/dialog_set_grid_base.fbp deleted file mode 100644 index 380451173b..0000000000 --- a/eeschema/dialogs/dialog_set_grid_base.fbp +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - C++ - 1 - source_name - 0 - 0 - res - UTF-8 - connect - dialog_set_grid_base - 1000 - none - 1 - dialog_set_grid - - . - - 1 - 1 - 1 - 1 - UI - 0 - 0 - - 0 - wxAUI_MGR_DEFAULT - - - - 1 - 1 - impl_virtual - - - - 0 - wxID_ANY - - - DIALOG_SET_GRID_BASE - - -1,-1 - wxDEFAULT_DIALOG_STYLE - DIALOG_SHIM; dialog_shim.h - Grid Settings - - - - - - - - - - - - - - - - - - - - OnInitDlg - - - - - - - - - - - - - - - - - - - - - - - bSizerMain - wxVERTICAL - none - - 15 - wxEXPAND|wxALL - 1 - - 3 - wxBOTH - 1 - - 0 - -1,-1 - fgSizer32 - wxFLEX_GROWMODE_SPECIFIED - none - 0 - 0 - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - &Grid size: - - 0 - - - 0 - - 1 - m_staticText3 - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_choiceGridSize - 1 - - - protected - 1 - - Resizable - 0 - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mils - - 0 - - - 0 - - 1 - m_units - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxALL - 0 - - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - - m_sdbSizer - protected - - OnCancelClick - - - - OnOkClick - - - - - - - - diff --git a/eeschema/dialogs/panel_eeschema_settings.cpp b/eeschema/dialogs/panel_eeschema_settings.cpp index 6727fdbb85..6ce76b478f 100644 --- a/eeschema/dialogs/panel_eeschema_settings.cpp +++ b/eeschema/dialogs/panel_eeschema_settings.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "panel_eeschema_settings.h" @@ -39,6 +40,14 @@ bool PANEL_EESCHEMA_SETTINGS::TransferDataToWindow() { m_choiceUnits->SetSelection( m_frame->GetUserUnits() == INCHES ? 0 : 1 ); + const GRIDS& gridSizes = m_frame->GetScreen()->GetGrids(); + for( size_t i = 0; i < gridSizes.size(); i++ ) + { + m_choiceGridSize->Append( wxString::Format( wxT( "%0.1f" ), gridSizes[i].m_Size.x ) ); + if( gridSizes[i].m_CmdId == m_frame->GetScreen()->GetGridCmdId() ) + m_choiceGridSize->SetSelection( (int) i ); + } + m_textSizeCtrl->SetValue( StringFromValue( INCHES, GetDefaultTextSize(), false, true ) ); m_hPitchCtrl->SetValue( StringFromValue( INCHES, m_frame->GetRepeatStep().x, false, true ) ); m_vPitchCtrl->SetValue( StringFromValue( INCHES, m_frame->GetRepeatStep().y, false, true ) ); @@ -59,6 +68,12 @@ bool PANEL_EESCHEMA_SETTINGS::TransferDataFromWindow() { m_frame->SetUserUnits( m_choiceUnits->GetSelection() == 0 ? INCHES : MILLIMETRES ); + const GRIDS& gridSizes = m_frame->GetScreen()->GetGrids(); + wxRealPoint gridSize = gridSizes[( size_t ) m_choiceGridSize->GetSelection()].m_Size; + m_frame->SetLastGridSizeId( m_frame->GetScreen()->SetGrid( gridSize ) ); + m_frame->GetCanvas()->GetView()->GetGAL()->SetGridSize( VECTOR2D( gridSize ) ); + m_frame->GetCanvas()->GetView()->MarkTargetDirty( KIGFX::TARGET_NONCACHED ); + int textSize = ValueFromString( INCHES, m_textSizeCtrl->GetValue(), true ); if( textSize != GetDefaultTextSize() ) diff --git a/eeschema/dialogs/panel_eeschema_settings_base.cpp b/eeschema/dialogs/panel_eeschema_settings_base.cpp index 17d14c2060..e9a9321009 100644 --- a/eeschema/dialogs/panel_eeschema_settings_base.cpp +++ b/eeschema/dialogs/panel_eeschema_settings_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jan 5 2019) +// C++ code generated with wxFormBuilder (version Oct 26 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -22,7 +22,7 @@ PANEL_EESCHEMA_SETTINGS_BASE::PANEL_EESCHEMA_SETTINGS_BASE( wxWindow* parent, wx bLeftColumn = new wxBoxSizer( wxVERTICAL ); wxFlexGridSizer* fgSizer3; - fgSizer3 = new wxFlexGridSizer( 0, 3, 5, 5 ); + fgSizer3 = new wxFlexGridSizer( 0, 3, 3, 0 ); fgSizer3->AddGrowableCol( 0 ); fgSizer3->AddGrowableCol( 1 ); fgSizer3->AddGrowableCol( 2 ); @@ -31,56 +31,78 @@ PANEL_EESCHEMA_SETTINGS_BASE::PANEL_EESCHEMA_SETTINGS_BASE( wxWindow* parent, wx m_staticText2 = new wxStaticText( this, wxID_ANY, _("&Measurement units:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText2->Wrap( -1 ); - fgSizer3->Add( m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + fgSizer3->Add( m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); wxString m_choiceUnitsChoices[] = { _("inches"), _("millimeters") }; int m_choiceUnitsNChoices = sizeof( m_choiceUnitsChoices ) / sizeof( wxString ); m_choiceUnits = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitsNChoices, m_choiceUnitsChoices, 0 ); m_choiceUnits->SetSelection( 0 ); - fgSizer3->Add( m_choiceUnits, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); + fgSizer3->Add( m_choiceUnits, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 ); - fgSizer3->Add( 0, 0, 1, wxEXPAND, 3 ); + fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 ); + + m_gridSizeLabel = new wxStaticText( this, wxID_ANY, _("&Grid size:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_gridSizeLabel->Wrap( -1 ); + fgSizer3->Add( m_gridSizeLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + wxArrayString m_choiceGridSizeChoices; + m_choiceGridSize = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceGridSizeChoices, 0 ); + m_choiceGridSize->SetSelection( 0 ); + fgSizer3->Add( m_choiceGridSize, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_units = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); + m_units->Wrap( -1 ); + fgSizer3->Add( m_units, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + + fgSizer3->Add( 0, 0, 1, wxBOTTOM|wxEXPAND|wxTOP, 10 ); + + + fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 ); + + + fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 ); m_textSizeLabel = new wxStaticText( this, wxID_ANY, _("Def&ault text size:"), wxDefaultPosition, wxDefaultSize, 0 ); m_textSizeLabel->Wrap( -1 ); - fgSizer3->Add( m_textSizeLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + fgSizer3->Add( m_textSizeLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); m_textSizeCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP ); - fgSizer3->Add( m_textSizeCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 10 ); + fgSizer3->Add( m_textSizeCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); m_textSizeUnits = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_textSizeUnits->Wrap( -1 ); - fgSizer3->Add( m_textSizeUnits, 0, wxALIGN_CENTER_VERTICAL, 5 ); + fgSizer3->Add( m_textSizeUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 ); m_hPitchLabel = new wxStaticText( this, wxID_ANY, _("&Horizontal pitch of repeated items:"), wxDefaultPosition, wxDefaultSize, 0 ); m_hPitchLabel->Wrap( -1 ); - fgSizer3->Add( m_hPitchLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + fgSizer3->Add( m_hPitchLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); m_hPitchCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP ); - fgSizer3->Add( m_hPitchCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); + fgSizer3->Add( m_hPitchCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); m_hPitchUnits = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_hPitchUnits->Wrap( -1 ); - fgSizer3->Add( m_hPitchUnits, 0, wxALIGN_CENTER_VERTICAL, 5 ); + fgSizer3->Add( m_hPitchUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 ); m_vPitchLabel = new wxStaticText( this, wxID_ANY, _("&Vertical pitch of repeated items:"), wxDefaultPosition, wxDefaultSize, 0 ); m_vPitchLabel->Wrap( -1 ); - fgSizer3->Add( m_vPitchLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + fgSizer3->Add( m_vPitchLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); m_vPitchCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP ); - fgSizer3->Add( m_vPitchCtrl, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 ); + fgSizer3->Add( m_vPitchCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); m_vPitchUnits = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_vPitchUnits->Wrap( -1 ); - fgSizer3->Add( m_vPitchUnits, 0, wxALIGN_CENTER_VERTICAL, 5 ); + fgSizer3->Add( m_vPitchUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 ); m_staticText16 = new wxStaticText( this, wxID_ANY, _("&Increment of repeated labels:"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticText16->Wrap( -1 ); - fgSizer3->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); + fgSizer3->Add( m_staticText16, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); m_spinRepeatLabel = new wxSpinCtrl( this, wxID_ANY, wxT("1"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, -10, 10, 1 ); - fgSizer3->Add( m_spinRepeatLabel, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 ); + fgSizer3->Add( m_spinRepeatLabel, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxLEFT|wxRIGHT, 5 ); fgSizer3->Add( 0, 0, 1, wxEXPAND, 3 ); diff --git a/eeschema/dialogs/panel_eeschema_settings_base.fbp b/eeschema/dialogs/panel_eeschema_settings_base.fbp index 8f0b643627..fe430cb1cb 100644 --- a/eeschema/dialogs/panel_eeschema_settings_base.fbp +++ b/eeschema/dialogs/panel_eeschema_settings_base.fbp @@ -72,16 +72,16 @@ wxBOTH 0,1,2 - 5 + 0 fgSizer3 wxFLEX_GROWMODE_SPECIFIED none 0 - 5 + 3 5 - wxALIGN_CENTER_VERTICAL|wxLEFT + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 @@ -142,7 +142,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxEXPAND + wxEXPAND|wxLEFT|wxRIGHT|wxTOP 0 1 @@ -206,7 +206,7 @@ - 3 + 5 wxEXPAND 1 @@ -217,7 +217,223 @@ 5 - wxALIGN_CENTER_VERTICAL|wxLEFT + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + &Grid size: + 0 + + 0 + + + 0 + + 1 + m_gridSizeLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_choiceGridSize + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mils + 0 + + 0 + + + 0 + + 1 + m_units + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 10 + wxBOTTOM|wxEXPAND|wxTOP + 1 + + 0 + protected + 0 + + + + 5 + wxEXPAND + 1 + + 0 + protected + 0 + + + + 5 + wxEXPAND + 1 + + 0 + protected + 0 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 @@ -277,8 +493,8 @@ - 10 - wxALIGN_CENTER_VERTICAL|wxEXPAND + 5 + wxEXPAND|wxLEFT|wxRIGHT 0 1 @@ -341,8 +557,8 @@ - 5 - wxALIGN_CENTER_VERTICAL + 3 + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 @@ -403,7 +619,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxLEFT + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 @@ -464,7 +680,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxEXPAND + wxEXPAND|wxLEFT|wxRIGHT 0 1 @@ -527,8 +743,8 @@ - 5 - wxALIGN_CENTER_VERTICAL + 3 + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 @@ -589,7 +805,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxLEFT + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 @@ -650,7 +866,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxEXPAND + wxEXPAND|wxLEFT|wxRIGHT 0 1 @@ -713,8 +929,8 @@ - 5 - wxALIGN_CENTER_VERTICAL + 3 + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 @@ -775,7 +991,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxLEFT + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 @@ -836,7 +1052,7 @@ 5 - wxALIGN_CENTER_HORIZONTAL|wxEXPAND + wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxLEFT|wxRIGHT 0 1 diff --git a/eeschema/dialogs/panel_eeschema_settings_base.h b/eeschema/dialogs/panel_eeschema_settings_base.h index cf1821b784..0f0407c968 100644 --- a/eeschema/dialogs/panel_eeschema_settings_base.h +++ b/eeschema/dialogs/panel_eeschema_settings_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jan 5 2019) +// C++ code generated with wxFormBuilder (version Oct 26 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -41,6 +41,9 @@ class PANEL_EESCHEMA_SETTINGS_BASE : public wxPanel protected: wxStaticText* m_staticText2; wxChoice* m_choiceUnits; + wxStaticText* m_gridSizeLabel; + wxChoice* m_choiceGridSize; + wxStaticText* m_units; wxStaticText* m_textSizeLabel; wxTextCtrl* m_textSizeCtrl; wxStaticText* m_textSizeUnits; diff --git a/eeschema/dialogs/panel_libedit_settings.cpp b/eeschema/dialogs/panel_libedit_settings.cpp index a6d989abfa..e017c1b522 100644 --- a/eeschema/dialogs/panel_libedit_settings.cpp +++ b/eeschema/dialogs/panel_libedit_settings.cpp @@ -39,6 +39,16 @@ PANEL_LIBEDIT_SETTINGS::PANEL_LIBEDIT_SETTINGS( LIB_EDIT_FRAME* aFrame, wxWindow bool PANEL_LIBEDIT_SETTINGS::TransferDataToWindow() { + m_choiceUnits->SetSelection( m_frame->GetUserUnits() == INCHES ? 0 : 1 ); + + const GRIDS& gridSizes = m_frame->GetScreen()->GetGrids(); + for( size_t i = 0; i < gridSizes.size(); i++ ) + { + m_choiceGridSize->Append( wxString::Format( wxT( "%0.1f" ), gridSizes[i].m_Size.x ) ); + if( gridSizes[i].m_CmdId == m_frame->GetScreen()->GetGridCmdId() ) + m_choiceGridSize->SetSelection( (int) i ); + } + m_lineWidthCtrl->SetValue( StringFromValue( INCHES, GetDefaultLineThickness(), false, true ) ); m_pinLengthCtrl->SetValue( StringFromValue( INCHES, m_frame->GetDefaultPinLength(), false, true ) ); m_pinNumSizeCtrl->SetValue( StringFromValue( INCHES, m_frame->GetPinNumDefaultSize(), false, true ) ); @@ -56,6 +66,14 @@ bool PANEL_LIBEDIT_SETTINGS::TransferDataToWindow() bool PANEL_LIBEDIT_SETTINGS::TransferDataFromWindow() { + m_frame->SetUserUnits( m_choiceUnits->GetSelection() == 0 ? INCHES : MILLIMETRES ); + + const GRIDS& gridSizes = m_frame->GetScreen()->GetGrids(); + wxRealPoint gridSize = gridSizes[ (size_t) m_choiceGridSize->GetSelection() ].m_Size; + m_frame->SetLastGridSizeId( m_frame->GetScreen()->SetGrid( gridSize ) ); + m_frame->GetCanvas()->GetView()->GetGAL()->SetGridSize( VECTOR2D( gridSize ) ); + m_frame->GetCanvas()->GetView()->MarkTargetDirty( KIGFX::TARGET_NONCACHED ); + SetDefaultLineThickness( ValueFromString( INCHES, m_lineWidthCtrl->GetValue(), true ) ); m_frame->SetDefaultPinLength( ValueFromString( INCHES, m_pinLengthCtrl->GetValue(), true ) ); m_frame->SetPinNumDefaultSize( ValueFromString( INCHES, m_pinNumSizeCtrl->GetValue(), true ) ); @@ -72,5 +90,3 @@ bool PANEL_LIBEDIT_SETTINGS::TransferDataFromWindow() return true; } - - diff --git a/eeschema/dialogs/panel_libedit_settings_base.cpp b/eeschema/dialogs/panel_libedit_settings_base.cpp index d70ebae62d..5ac9428e4f 100644 --- a/eeschema/dialogs/panel_libedit_settings_base.cpp +++ b/eeschema/dialogs/panel_libedit_settings_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Jul 11 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -9,10 +9,14 @@ /////////////////////////////////////////////////////////////////////////// +BEGIN_EVENT_TABLE( PANEL_LIBEDIT_SETTINGS_BASE, wxPanel ) + EVT_CHOICE( wxID_ANY, PANEL_LIBEDIT_SETTINGS_BASE::_wxFB_OnChooseUnits ) +END_EVENT_TABLE() + PANEL_LIBEDIT_SETTINGS_BASE::PANEL_LIBEDIT_SETTINGS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style ) { wxBoxSizer* p1mainSizer; - p1mainSizer = new wxBoxSizer( wxHORIZONTAL ); + p1mainSizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer* bLeftColumn; bLeftColumn = new wxBoxSizer( wxVERTICAL ); @@ -25,16 +29,31 @@ PANEL_LIBEDIT_SETTINGS_BASE::PANEL_LIBEDIT_SETTINGS_BASE( wxWindow* parent, wxWi fgSizer->SetFlexibleDirection( wxBOTH ); fgSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - m_lineWidthLabel = new wxStaticText( this, wxID_ANY, _("&Default line width:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_lineWidthLabel->Wrap( -1 ); - fgSizer->Add( m_lineWidthLabel, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + m_staticText2 = new wxStaticText( this, wxID_ANY, _("&Measurement units:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticText2->Wrap( -1 ); + fgSizer->Add( m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - m_lineWidthCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP ); - fgSizer->Add( m_lineWidthCtrl, 0, wxALL|wxEXPAND, 5 ); + wxString m_choiceUnitsChoices[] = { _("inches"), _("millimeters") }; + int m_choiceUnitsNChoices = sizeof( m_choiceUnitsChoices ) / sizeof( wxString ); + m_choiceUnits = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitsNChoices, m_choiceUnitsChoices, 0 ); + m_choiceUnits->SetSelection( 0 ); + fgSizer->Add( m_choiceUnits, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 ); - m_lineWidthUnits = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); - m_lineWidthUnits->Wrap( -1 ); - fgSizer->Add( m_lineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 ); + + fgSizer->Add( 0, 0, 1, wxEXPAND, 5 ); + + m_gridSizeLabel = new wxStaticText( this, wxID_ANY, _("&Grid size:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_gridSizeLabel->Wrap( -1 ); + fgSizer->Add( m_gridSizeLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + wxArrayString m_choiceGridSizeChoices; + m_choiceGridSize = new wxChoice( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceGridSizeChoices, 0 ); + m_choiceGridSize->SetSelection( 0 ); + fgSizer->Add( m_choiceGridSize, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_units = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); + m_units->Wrap( -1 ); + fgSizer->Add( m_units, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); fgSizer->Add( 0, 0, 1, wxEXPAND|wxTOP|wxBOTTOM, 10 ); @@ -45,16 +64,27 @@ PANEL_LIBEDIT_SETTINGS_BASE::PANEL_LIBEDIT_SETTINGS_BASE( wxWindow* parent, wxWi fgSizer->Add( 0, 0, 1, wxEXPAND, 5 ); + m_lineWidthLabel = new wxStaticText( this, wxID_ANY, _("&Default line width:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_lineWidthLabel->Wrap( -1 ); + fgSizer->Add( m_lineWidthLabel, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + m_lineWidthCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP ); + fgSizer->Add( m_lineWidthCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + m_lineWidthUnits = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); + m_lineWidthUnits->Wrap( -1 ); + fgSizer->Add( m_lineWidthUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 ); + m_pinLengthLabel = new wxStaticText( this, wxID_ANY, _("D&efault pin length:"), wxDefaultPosition, wxDefaultSize, 0 ); m_pinLengthLabel->Wrap( -1 ); - fgSizer->Add( m_pinLengthLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 ); + fgSizer->Add( m_pinLengthLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); m_pinLengthCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP ); - fgSizer->Add( m_pinLengthCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); + fgSizer->Add( m_pinLengthCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); m_pinLengthUnits = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_pinLengthUnits->Wrap( -1 ); - fgSizer->Add( m_pinLengthUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 3 ); + fgSizer->Add( m_pinLengthUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 3 ); m_pinNumSizeLabel = new wxStaticText( this, wxID_ANY, _("De&fault pin number size:"), wxDefaultPosition, wxDefaultSize, 0 ); m_pinNumSizeLabel->Wrap( -1 ); @@ -98,14 +128,14 @@ PANEL_LIBEDIT_SETTINGS_BASE::PANEL_LIBEDIT_SETTINGS_BASE( wxWindow* parent, wxWi m_hPitchLabel = new wxStaticText( this, wxID_ANY, _("&Horizontal pitch of repeated items:"), wxDefaultPosition, wxDefaultSize, 0 ); m_hPitchLabel->Wrap( -1 ); - fgSizer->Add( m_hPitchLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 ); + fgSizer->Add( m_hPitchLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); m_hPitchCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS ); - fgSizer->Add( m_hPitchCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); + fgSizer->Add( m_hPitchCtrl, 0, wxEXPAND|wxLEFT|wxRIGHT, 5 ); m_hPitchUnits = new wxStaticText( this, wxID_ANY, _("mils"), wxDefaultPosition, wxDefaultSize, 0 ); m_hPitchUnits->Wrap( -1 ); - fgSizer->Add( m_hPitchUnits, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 ); + fgSizer->Add( m_hPitchUnits, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); m_vPitchLabel = new wxStaticText( this, wxID_ANY, _("&Vertical pitch of repeated items:"), wxDefaultPosition, wxDefaultSize, 0 ); m_vPitchLabel->Wrap( -1 ); @@ -143,10 +173,10 @@ PANEL_LIBEDIT_SETTINGS_BASE::PANEL_LIBEDIT_SETTINGS_BASE( wxWindow* parent, wxWi fgSizer->Add( 0, 0, 0, 0, 5 ); - bLeftColumn->Add( fgSizer, 0, wxALL, 5 ); + bLeftColumn->Add( fgSizer, 0, wxLEFT|wxRIGHT, 5 ); - p1mainSizer->Add( bLeftColumn, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + p1mainSizer->Add( bLeftColumn, 1, wxLEFT|wxRIGHT, 5 ); this->SetSizer( p1mainSizer ); diff --git a/eeschema/dialogs/panel_libedit_settings_base.fbp b/eeschema/dialogs/panel_libedit_settings_base.fbp index d4db21ddf0..be966cd4fd 100644 --- a/eeschema/dialogs/panel_libedit_settings_base.fbp +++ b/eeschema/dialogs/panel_libedit_settings_base.fbp @@ -1,8 +1,8 @@ - + - + C++ 1 source_name @@ -14,11 +14,12 @@ panel_libedit_settings_base 1000 none + 1 PanelLibeditSettingsBase - + . - + 1 1 1 @@ -29,80 +30,87 @@ 0 wxAUI_MGR_DEFAULT - - + + 1 1 impl_virtual - - + + 0 wxID_ANY - - + + PANEL_LIBEDIT_SETTINGS_BASE - + -1,-1 ; forward_declare - - - + + + wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + p1mainSizer - wxHORIZONTAL + wxVERTICAL none 5 - wxEXPAND|wxRIGHT|wxLEFT + wxLEFT|wxRIGHT 1 - + bLeftColumn wxVERTICAL none 5 - wxALL + wxLEFT|wxRIGHT 0 3 wxBOTH 0,1,2 - + 0 - + fgSizer wxFLEX_GROWMODE_SPECIFIED none @@ -111,179 +119,387 @@ 5 wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + &Measurement units: + 0 + + 0 + + + 0 + + 1 + m_staticText2 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT|wxTOP + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "inches" "millimeters" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_choiceUnits + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + OnChooseUnits + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND 1 + + 0 + protected + 0 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 1 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY - &Default line width: - + &Grid size: + 0 + 0 - - + + 0 - + 1 - m_lineWidthLabel + m_gridSizeLabel 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 - wxALL|wxEXPAND + wxEXPAND|wxLEFT|wxRIGHT 0 - + 1 1 1 1 - - - - - - - + + + + + + + 1 0 + 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY - + 0 - - - + + 0 - + 1 - m_lineWidthCtrl + m_choiceGridSize 1 - - + + protected 1 - + Resizable + 0 1 - - wxSP_ARROW_KEYS|wxSP_WRAP - + + + 0 - - + + wxFILTER_NONE wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - 3 + 5 wxALIGN_CENTER_VERTICAL|wxRIGHT 0 @@ -291,105 +507,113 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY mils - + 0 + 0 - - + + 0 - + 1 - m_lineWidthUnits + m_units 1 - - + + protected 1 - + Resizable 1 - - - + + + ; forward_declare 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 10 wxEXPAND|wxTOP|wxBOTTOM 1 - + 0 protected 0 - + 5 wxEXPAND 1 - + 0 protected 0 - + 5 wxEXPAND 1 - + 0 protected 0 @@ -397,259 +621,562 @@ 5 - wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxRIGHT + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + &Default line width: + 0 + + 0 + + + 0 + + 1 + m_lineWidthLabel + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxEXPAND|wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + + 0 + + 1 + m_lineWidthCtrl + 1 + + + protected + 1 + + Resizable + 1 + + wxSP_ARROW_KEYS|wxSP_WRAP + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mils + 0 + + 0 + + + 0 + + 1 + m_lineWidthUnits + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY D&efault pin length: - + 0 + 0 - - + + 0 - + 1 m_pinLengthLabel 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT + wxEXPAND|wxLEFT|wxRIGHT 0 1 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY - + 0 - - - + + + 0 - + 1 m_pinLengthCtrl 1 - - + + protected 1 - + Resizable 1 - + wxSP_ARROW_KEYS|wxSP_WRAP - + 0 - - + + wxFILTER_NONE wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 - wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY mils - + 0 + 0 - - + + 0 - + 1 m_pinLengthUnits 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -661,78 +1188,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY De&fault pin number size: - + 0 + 0 - - + + 0 - + 1 m_pinNumSizeLabel 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -744,86 +1279,93 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY - + 0 - - - + + + 0 - + 1 m_pinNumSizeCtrl 1 - - + + protected 1 - + Resizable 1 - + wxSP_ARROW_KEYS|wxSP_WRAP - + 0 - - + + wxFILTER_NONE wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -835,78 +1377,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY mils - + 0 + 0 - - + + 0 - + 1 m_pinNumSizeUnits 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -918,78 +1468,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY Def&ault pin name size: - + 0 + 0 - - + + 0 - + 1 m_pinNameSizeLabel 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1001,86 +1559,93 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY - + 0 - - - + + + 0 - + 1 m_pinNameSizeCtrl 1 - - + + protected 1 - + Resizable 1 - + wxSP_ARROW_KEYS|wxSP_WRAP - + 0 - - + + wxFILTER_NONE wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1092,78 +1657,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY mils - + 0 + 0 - - + + 0 - + 1 m_pinNameSizeUnits 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1175,130 +1748,137 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY Show pin &electrical type - + 0 - - + + 0 - + 1 m_checkShowPinElectricalType 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - + + wxFILTER_NONE wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 5 wxEXPAND 1 - + 0 protected 0 - + 5 wxEXPAND 1 - + 0 protected 0 - + 10 wxEXPAND|wxTOP|wxBOTTOM 1 - + 0 protected 0 - + 5 wxEXPAND 1 - + 0 protected 0 - + 5 wxEXPAND 1 - + 0 protected 0 @@ -1306,259 +1886,282 @@ 5 - wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY &Horizontal pitch of repeated items: - + 0 + 0 - - + + 0 - + 1 m_hPitchLabel 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT + wxEXPAND|wxLEFT|wxRIGHT 0 1 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY - + 0 - - - + + + 0 - + 1 m_hPitchCtrl 1 - - + + protected 1 - + Resizable 1 - + wxSP_ARROW_KEYS - + 0 - - + + wxFILTER_NONE wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 - wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxRIGHT 0 1 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY mils - + 0 + 0 - - + + 0 - + 1 m_hPitchUnits 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1570,78 +2173,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY &Vertical pitch of repeated items: - + 0 + 0 - - + + 0 - + 1 m_vPitchLabel 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1653,86 +2264,93 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY - + 0 - - - + + + 0 - + 1 m_vPitchCtrl 1 - - + + protected 1 - + Resizable 1 - + wxSP_ARROW_KEYS - + 0 - - + + wxFILTER_NONE wxDefaultValidator - + 100 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1744,78 +2362,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY mils - + 0 + 0 - - + + 0 - + 1 m_vPitchUnits 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1827,78 +2453,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY &Pitch of repeated pins: - + 0 + 0 - - + + 0 - + 1 m_pinPitchLabel 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1910,83 +2544,90 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 "100" "50" 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY - + 0 - - + + 0 - + 1 m_choicePinDisplacement 1 - - + + protected 1 - + Resizable 0 1 - - - + + + 0 - - + + wxFILTER_NONE wxDefaultValidator - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1998,78 +2639,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY mils - + 0 + 0 - - + + 0 - + 1 m_pinPitchUnis 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2081,78 +2730,86 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY &Increment of repeated labels: - + 0 + 0 - - + + 0 - + 1 m_labelIncrementLabel 1 - - + + protected 1 - + Resizable 1 - - - + + + 0 - - - - + + + + -1 - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2164,88 +2821,95 @@ 1 1 1 - - - - - - - + + + + + + + 1 0 1 - + 1 0 Dock 0 Left 1 - + 1 - + 0 0 wxID_ANY 1 10 - + 0 - + -10 - + 0 - + 1 m_spinRepeatLabel 1 - - + + protected 1 - + Resizable 1 - + wxSP_ARROW_KEYS - + 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 - + 0 0 diff --git a/eeschema/dialogs/panel_libedit_settings_base.h b/eeschema/dialogs/panel_libedit_settings_base.h index 314416843b..e21ad1e0e8 100644 --- a/eeschema/dialogs/panel_libedit_settings_base.h +++ b/eeschema/dialogs/panel_libedit_settings_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Jul 11 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -17,9 +17,9 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -32,9 +32,19 @@ /////////////////////////////////////////////////////////////////////////////// class PANEL_LIBEDIT_SETTINGS_BASE : public wxPanel { + DECLARE_EVENT_TABLE() private: + + // Private event handlers + void _wxFB_OnChooseUnits( wxCommandEvent& event ){ OnChooseUnits( event ); } + protected: + wxStaticText* m_staticText2; + wxChoice* m_choiceUnits; + wxStaticText* m_gridSizeLabel; + wxChoice* m_choiceGridSize; + wxStaticText* m_units; wxStaticText* m_lineWidthLabel; wxTextCtrl* m_lineWidthCtrl; wxStaticText* m_lineWidthUnits; @@ -59,6 +69,10 @@ class PANEL_LIBEDIT_SETTINGS_BASE : public wxPanel wxStaticText* m_pinPitchUnis; wxStaticText* m_labelIncrementLabel; wxSpinCtrl* m_spinRepeatLabel; + + // Virtual event handlers, overide them in your derived class + virtual void OnChooseUnits( wxCommandEvent& event ) { event.Skip(); } + public: diff --git a/eeschema/eeschema_id.h b/eeschema/eeschema_id.h index 30818ee164..886b081bee 100644 --- a/eeschema/eeschema_id.h +++ b/eeschema/eeschema_id.h @@ -68,7 +68,6 @@ enum id_eeschema_frm ID_EDIT_SYM_LIB_TABLE, ID_REMAP_SYMBOLS, ID_EDIT_COMPONENTS_TO_SYMBOLS_LIB_ID, - ID_GRID_SETTINGS, /* Schematic editor horizontal toolbar IDs */ ID_HIERARCHY, diff --git a/eeschema/libedit/lib_edit_frame.cpp b/eeschema/libedit/lib_edit_frame.cpp index 9a81b354e1..326a5f39cf 100644 --- a/eeschema/libedit/lib_edit_frame.cpp +++ b/eeschema/libedit/lib_edit_frame.cpp @@ -145,7 +145,6 @@ BEGIN_EVENT_TABLE( LIB_EDIT_FRAME, EDA_DRAW_FRAME ) EVT_MENU( wxID_INDEX, EDA_DRAW_FRAME::GetKicadHelp ) EVT_MENU( ID_HELP_GET_INVOLVED, EDA_DRAW_FRAME::GetKicadContribute ) EVT_MENU( wxID_ABOUT, EDA_BASE_FRAME::GetKicadAbout ) - EVT_MENU( ID_GRID_SETTINGS, SCH_BASE_FRAME::OnGridSettings ) EVT_MENU( ID_MENU_CANVAS_CAIRO, LIB_EDIT_FRAME::OnSwitchCanvas ) EVT_MENU( ID_MENU_CANVAS_OPENGL, LIB_EDIT_FRAME::OnSwitchCanvas ) diff --git a/eeschema/libedit/menubar_libedit.cpp b/eeschema/libedit/menubar_libedit.cpp index fc3de52ff9..3af9c3ac09 100644 --- a/eeschema/libedit/menubar_libedit.cpp +++ b/eeschema/libedit/menubar_libedit.cpp @@ -214,10 +214,6 @@ void LIB_EDIT_FRAME::ReCreateMenuBar() _( "Show &Grid" ), wxEmptyString, KiBitmap( grid_xpm ), wxITEM_CHECK ); - AddMenuItem( viewMenu, ID_GRID_SETTINGS, - _( "Grid Settings..." ), wxEmptyString, - KiBitmap( grid_xpm ) ); - // Units submenu wxMenu* unitsSubMenu = new wxMenu; AddMenuItem( unitsSubMenu, ID_TB_OPTIONS_SELECT_UNIT_INCH, diff --git a/eeschema/menubar.cpp b/eeschema/menubar.cpp index c209a40385..9e2fbbe449 100644 --- a/eeschema/menubar.cpp +++ b/eeschema/menubar.cpp @@ -191,10 +191,6 @@ void prepareViewMenu( wxMenu* aParentMenu ) _( "Show &Grid" ), wxEmptyString, KiBitmap( grid_xpm ), wxITEM_CHECK ); - AddMenuItem( aParentMenu, ID_GRID_SETTINGS, - _( "Grid Settings..." ), wxEmptyString, - KiBitmap( grid_xpm ) ); - // Units submenu wxMenu* unitsSubMenu = new wxMenu; AddMenuItem( unitsSubMenu, ID_TB_OPTIONS_SELECT_UNIT_INCH, diff --git a/eeschema/sch_base_frame.h b/eeschema/sch_base_frame.h index 876303963b..f83228d6b8 100644 --- a/eeschema/sch_base_frame.h +++ b/eeschema/sch_base_frame.h @@ -168,8 +168,6 @@ public: } void SetGridOrigin( const wxPoint& aPoint ) override {} - void OnGridSettings( wxCommandEvent& aEvent ) override; - const TITLE_BLOCK& GetTitleBlock() const override; void SetTitleBlock( const TITLE_BLOCK& aTitleBlock ) override; diff --git a/eeschema/sch_edit_frame.cpp b/eeschema/sch_edit_frame.cpp index 2b51b93b75..0fb31809ee 100644 --- a/eeschema/sch_edit_frame.cpp +++ b/eeschema/sch_edit_frame.cpp @@ -294,7 +294,6 @@ BEGIN_EVENT_TABLE( SCH_EDIT_FRAME, EDA_DRAW_FRAME ) EVT_MENU( wxID_INDEX, EDA_DRAW_FRAME::GetKicadHelp ) EVT_MENU( ID_HELP_GET_INVOLVED, EDA_DRAW_FRAME::GetKicadContribute ) EVT_MENU( wxID_ABOUT, EDA_BASE_FRAME::GetKicadAbout ) - EVT_MENU( ID_GRID_SETTINGS, SCH_BASE_FRAME::OnGridSettings ) // Tools and buttons for vertical toolbar. EVT_TOOL( ID_NO_TOOL_SELECTED, SCH_EDIT_FRAME::OnSelectTool ) @@ -1560,4 +1559,3 @@ const BOX2I SCH_EDIT_FRAME::GetDocumentExtents() const return BOX2I( VECTOR2I(0, 0), VECTOR2I( sizeX, sizeY ) ); } - diff --git a/include/draw_frame.h b/include/draw_frame.h index 3f34aaad55..931abe8313 100644 --- a/include/draw_frame.h +++ b/include/draw_frame.h @@ -753,7 +753,6 @@ public: virtual void OnLeftClick( wxDC* DC, const wxPoint& MousePos ) = 0; virtual void OnLeftDClick( wxDC* DC, const wxPoint& MousePos ); virtual bool OnRightClick( const wxPoint& MousePos, wxMenu* PopMenu ) = 0; - virtual void ToolOnRightClick( wxCommandEvent& event ); void AdjustScrollBars( const wxPoint& aCenterPosition ); /** diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index 1d3cc5cf54..cc3994bf28 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -131,8 +131,6 @@ set( PCBNEW_DIALOGS dialogs/dialog_print_pcbnew.cpp dialogs/dialog_select_net_from_list.cpp dialogs/dialog_select_net_from_list_base.cpp - dialogs/dialog_set_grid.cpp - dialogs/dialog_set_grid_base.cpp dialogs/dialog_swap_layers.cpp dialogs/dialog_swap_layers_base.cpp dialogs/dialog_target_properties_base.cpp @@ -159,6 +157,8 @@ set( PCBNEW_DIALOGS dialogs/panel_setup_mask_and_paste_base.cpp dialogs/panel_setup_feature_constraints.cpp dialogs/panel_setup_feature_constraints_base.cpp + dialogs/panel_setup_grids.cpp + dialogs/panel_setup_grids_base.cpp dialogs/panel_setup_layers.cpp dialogs/panel_setup_layers_base.cpp dialogs/panel_setup_netclasses.cpp @@ -310,7 +310,6 @@ set( PCBNEW_CLASS_SRCS text_mod_grid_table.cpp tool_footprint_editor.cpp tool_footprint_viewer.cpp - tool_onrightclick.cpp tool_pcb_editor.cpp toolbars_update_user_interface.cpp tracks_cleaner.cpp diff --git a/pcbnew/dialogs/dialog_board_setup.cpp b/pcbnew/dialogs/dialog_board_setup.cpp index d47759651c..90fd433c93 100644 --- a/pcbnew/dialogs/dialog_board_setup.cpp +++ b/pcbnew/dialogs/dialog_board_setup.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include "dialog_import_settings.h" @@ -38,6 +39,7 @@ DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP( PCB_EDIT_FRAME* aFrame ) : m_netclasses = new PANEL_SETUP_NETCLASSES( this, aFrame, m_constraints ); m_tracksAndVias = new PANEL_SETUP_TRACKS_AND_VIAS( this, aFrame, m_constraints ); m_maskAndPaste = new PANEL_SETUP_MASK_AND_PASTE( this, aFrame ); + m_grids = new PANEL_SETUP_GRIDS( this, aFrame ); /* * WARNING: If you change page names you MUST update callers which specifiy a @@ -51,6 +53,8 @@ DIALOG_BOARD_SETUP::DIALOG_BOARD_SETUP( PCB_EDIT_FRAME* aFrame ) : m_treebook->AddSubPage( m_netclasses, _( "Net Classes" ) ); m_treebook->AddSubPage( m_tracksAndVias, _( "Tracks & Vias" ) ); m_treebook->AddSubPage( m_maskAndPaste, _( "Solder Mask/Paste" ) ); + + m_treebook->AddPage( m_grids, _( "Grids" ) ); } @@ -84,6 +88,8 @@ void DIALOG_BOARD_SETUP::OnAuxiliaryAction( wxCommandEvent& event ) m_netclasses->ImportSettingsFrom( dummyBoard ); if( importDlg.m_MaskAndPasteOpt->GetValue() ) m_maskAndPaste->ImportSettingsFrom( dummyBoard ); + if( importDlg.m_GridsOpt->GetValue() ) + m_grids->ImportSettingsFrom( dummyBoard ); delete dummyBoard; delete cfg; diff --git a/pcbnew/dialogs/dialog_board_setup.h b/pcbnew/dialogs/dialog_board_setup.h index 84d43851d9..8361008710 100644 --- a/pcbnew/dialogs/dialog_board_setup.h +++ b/pcbnew/dialogs/dialog_board_setup.h @@ -30,6 +30,7 @@ class PANEL_SETUP_TEXT_AND_GRAPHICS; class PANEL_SETUP_NETCLASSES; class PANEL_SETUP_TRACKS_AND_VIAS; class PANEL_SETUP_MASK_AND_PASTE; +class PANEL_SETUP_GRIDS; class DIALOG_BOARD_SETUP : public PAGED_DIALOG @@ -48,6 +49,7 @@ protected: PANEL_SETUP_NETCLASSES* m_netclasses; PANEL_SETUP_TRACKS_AND_VIAS* m_tracksAndVias; PANEL_SETUP_MASK_AND_PASTE* m_maskAndPaste; + PANEL_SETUP_GRIDS* m_grids; }; diff --git a/pcbnew/dialogs/dialog_import_settings.cpp b/pcbnew/dialogs/dialog_import_settings.cpp index 847c7a885b..41aeae8455 100644 --- a/pcbnew/dialogs/dialog_import_settings.cpp +++ b/pcbnew/dialogs/dialog_import_settings.cpp @@ -87,4 +87,5 @@ void DIALOG_IMPORT_SETTINGS::OnSelectAll( wxCommandEvent& event ) m_ConstraintsOpt->SetValue( true ); m_NetclassesOpt->SetValue( true ); m_MaskAndPasteOpt->SetValue( true ); + m_GridsOpt->SetValue( true ); } diff --git a/pcbnew/dialogs/dialog_import_settings_base.cpp b/pcbnew/dialogs/dialog_import_settings_base.cpp index 86bca505c1..d3f8c484e5 100644 --- a/pcbnew/dialogs/dialog_import_settings_base.cpp +++ b/pcbnew/dialogs/dialog_import_settings_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Jul 11 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -29,7 +29,7 @@ DIALOG_IMPORT_SETTINGS_BASE::DIALOG_IMPORT_SETTINGS_BASE( wxWindow* parent, wxWi bupperSizer->Add( m_filePathCtrl, 1, wxEXPAND|wxTOP|wxBOTTOM, 5 ); - m_browseButton = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW ); + m_browseButton = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); m_browseButton->SetMinSize( wxSize( 29,29 ) ); bupperSizer->Add( m_browseButton, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); @@ -58,7 +58,10 @@ DIALOG_IMPORT_SETTINGS_BASE::DIALOG_IMPORT_SETTINGS_BASE( wxWindow* parent, wxWi bmiddleSizer->Add( m_NetclassesOpt, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); m_MaskAndPasteOpt = new wxCheckBox( this, wxID_ANY, _("Solder Mask/Paste defaults"), wxDefaultPosition, wxDefaultSize, 0 ); - bmiddleSizer->Add( m_MaskAndPasteOpt, 0, wxRIGHT|wxLEFT, 5 ); + bmiddleSizer->Add( m_MaskAndPasteOpt, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); + + m_GridsOpt = new wxCheckBox( this, wxID_ANY, _("Grids"), wxDefaultPosition, wxDefaultSize, 0 ); + bmiddleSizer->Add( m_GridsOpt, 0, wxLEFT|wxRIGHT, 5 ); m_MainSizer->Add( bmiddleSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 10 ); diff --git a/pcbnew/dialogs/dialog_import_settings_base.fbp b/pcbnew/dialogs/dialog_import_settings_base.fbp index 81e189218e..346854ab90 100644 --- a/pcbnew/dialogs/dialog_import_settings_base.fbp +++ b/pcbnew/dialogs/dialog_import_settings_base.fbp @@ -1,6 +1,6 @@ - + C++ @@ -14,6 +14,7 @@ dialog_import_settings_base 1000 none + 1 dialog_import_settings_base @@ -54,13 +55,20 @@ - + + + + + + + + @@ -75,17 +83,23 @@ + + + + + + @@ -135,6 +149,7 @@ 0 wxID_ANY Import from: + 0 0 @@ -160,7 +175,14 @@ -1 + + + + + + + @@ -247,7 +269,14 @@ + + + + + + + @@ -298,6 +327,7 @@ 1 1 + 0 0 @@ -311,9 +341,10 @@ 0 0 - wxID_ANY Browse + + 0 0 @@ -328,11 +359,12 @@ protected 1 + + Resizable - 1 - wxBU_AUTODRAW + ; forward_declare 0 @@ -343,8 +375,15 @@ + + + + + + OnBrowseClicked + @@ -413,6 +452,7 @@ 0 wxID_ANY Import: + 0 0 @@ -438,7 +478,14 @@ -1 + + + + + + + @@ -525,7 +572,14 @@ + + + + + + + @@ -613,7 +667,14 @@ + + + + + + + @@ -701,7 +762,14 @@ + + + + + + + @@ -789,7 +857,14 @@ + + + + + + + @@ -817,7 +892,7 @@ 5 - wxRIGHT|wxLEFT + wxBOTTOM|wxLEFT|wxRIGHT 0 1 @@ -877,7 +952,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + wxLEFT|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Grids + + 0 + + + 0 + + 1 + m_GridsOpt + 1 + + + public + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + + + + @@ -929,25 +1106,31 @@ + 1 0 1 1 + 0 0 + Dock 0 Left 1 1 + 0 0 wxID_ANY Select All + + 0 0 @@ -962,6 +1145,8 @@ protected 1 + + Resizable 1 @@ -976,8 +1161,15 @@ + + + + + + OnSelectAll + diff --git a/pcbnew/dialogs/dialog_import_settings_base.h b/pcbnew/dialogs/dialog_import_settings_base.h index c03696105f..a403253b70 100644 --- a/pcbnew/dialogs/dialog_import_settings_base.h +++ b/pcbnew/dialogs/dialog_import_settings_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Jul 11 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -19,10 +19,10 @@ #include #include #include +#include #include #include #include -#include #include #include #include @@ -58,6 +58,7 @@ class DIALOG_IMPORT_SETTINGS_BASE : public DIALOG_SHIM wxCheckBox* m_ConstraintsOpt; wxCheckBox* m_NetclassesOpt; wxCheckBox* m_MaskAndPasteOpt; + wxCheckBox* m_GridsOpt; DIALOG_IMPORT_SETTINGS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Import Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); ~DIALOG_IMPORT_SETTINGS_BASE(); diff --git a/pcbnew/dialogs/dialog_set_grid.cpp b/pcbnew/dialogs/dialog_set_grid.cpp deleted file mode 100644 index 6aa73c4eeb..0000000000 --- a/pcbnew/dialogs/dialog_set_grid.cpp +++ /dev/null @@ -1,175 +0,0 @@ -/* - * This program source code file is part of KiCad, a free EDA CAD application. - * - * Copyright (C) 1992-2018 KiCad Developers, see AUTHORS.txt for contributors. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, you may find one here: - * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - * or you may search the http://www.gnu.org website for the version 2 license, - * or you may write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - */ - -/** - * @file dialog_set_grid.cpp - * @brief Manage user grid. - */ - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -// Max values for grid size -static const int MAX_GRID_SIZE = KiROUND( 1000.0 * IU_PER_MM ); -static const int MIN_GRID_SIZE = KiROUND( 0.001 * IU_PER_MM ); - - -class DIALOG_SET_GRID : public DIALOG_SET_GRID_BASE -{ - PCB_BASE_FRAME* m_parent; - wxArrayString m_fast_grid_opts; - -public: - /// This has no dependencies on calling wxFrame derivative, such as PCB_BASE_FRAME. - DIALOG_SET_GRID( PCB_BASE_FRAME* aParent, const wxArrayString& aGridChoices ); - - bool TransferDataFromWindow() override; - bool TransferDataToWindow() override; - -private: - void OnResetGridOrgClick( wxCommandEvent& event ) override; - - UNIT_BINDER m_gridOriginX; - UNIT_BINDER m_gridOriginY; - UNIT_BINDER m_userGridX; - UNIT_BINDER m_userGridY; -}; - - -DIALOG_SET_GRID::DIALOG_SET_GRID( PCB_BASE_FRAME* aParent, const wxArrayString& aGridChoices ): - DIALOG_SET_GRID_BASE( aParent ), - m_parent( aParent ), - m_fast_grid_opts( aGridChoices ), - m_gridOriginX( aParent, m_staticTextGridPosX, m_GridOriginXCtrl, m_TextPosXUnits ), - m_gridOriginY( aParent, m_staticTextGridPosY, m_GridOriginYCtrl, m_TextPosYUnits ), - m_userGridX( aParent, m_staticTextSizeX, m_OptGridSizeX, m_TextSizeXUnits ), - m_userGridY( aParent, m_staticTextSizeY, m_OptGridSizeY, m_TextSizeYUnits ) -{ - m_comboBoxGrid1->Append( m_fast_grid_opts ); - m_comboBoxGrid2->Append( m_fast_grid_opts ); - - m_sdbSizerOK->SetDefault(); // set OK button as default response to 'Enter' key - SetInitialFocus( m_GridOriginXCtrl ); - - Layout(); - - // Now all widgets have the size fixed, call FinishDialogSettings - FinishDialogSettings(); -} - - -bool DIALOG_SET_GRID::TransferDataFromWindow() -{ - // Validate new settings - if( !m_userGridX.Validate( MIN_GRID_SIZE, MAX_GRID_SIZE ) ) - return false; - - if( !m_userGridY.Validate( MIN_GRID_SIZE, MAX_GRID_SIZE ) ) - return false; - - // Apply the new settings - - // Because grid origin is saved in board, show as modified - m_parent->OnModify(); - m_parent->SetGridOrigin( wxPoint( m_gridOriginX.GetValue(), m_gridOriginY.GetValue() ) ); - m_parent->m_UserGridSize = wxPoint( m_userGridX.GetValue(), m_userGridY.GetValue() ); - m_parent->m_FastGrid1 = m_comboBoxGrid1->GetSelection(); - m_parent->m_FastGrid2 = m_comboBoxGrid2->GetSelection(); - - // User grid - BASE_SCREEN* screen = m_parent->GetScreen(); - screen->AddGrid( m_parent->m_UserGridSize, EDA_UNITS_T::UNSCALED_UNITS, ID_POPUP_GRID_USER ); - - // If the user grid is the current option, recall SetGrid() - // to force new values put in list as current grid value - if( screen->GetGridCmdId() == ID_POPUP_GRID_USER ) - screen->SetGrid( ID_POPUP_GRID_USER ); - - // Notify GAL - TOOL_MANAGER* mgr = m_parent->GetToolManager(); - - if( mgr && m_parent->IsGalCanvasActive() ) - { - mgr->RunAction( "common.Control.gridPreset", true, - screen->GetGridCmdId() - ID_POPUP_GRID_LEVEL_1000 ); - - TOOL_EVENT gridOriginUpdate = ACTIONS::gridSetOrigin.MakeEvent(); - gridOriginUpdate.SetParameter( new VECTOR2D( m_parent->GetGridOrigin() ) ); - mgr->ProcessEvent( gridOriginUpdate ); - } - - m_parent->UpdateGridSelectBox(); - - return wxDialog::TransferDataFromWindow(); -} - - -bool DIALOG_SET_GRID::TransferDataToWindow() -{ - m_userGridX.SetValue( m_parent->m_UserGridSize.x ); - m_userGridY.SetValue( m_parent->m_UserGridSize.y ); - - m_gridOriginX.SetValue( m_parent->GetGridOrigin().x ); - m_gridOriginY.SetValue( m_parent->GetGridOrigin().y ); - - m_comboBoxGrid1->SetSelection( m_parent->m_FastGrid1 ); - m_comboBoxGrid2->SetSelection( m_parent->m_FastGrid2 ); - - int hk1 = m_parent->GetHotKeyDescription( HK_SWITCH_GRID_TO_FASTGRID1 )->m_KeyCode; - int hk2 = m_parent->GetHotKeyDescription( HK_SWITCH_GRID_TO_FASTGRID2 )->m_KeyCode; - m_grid1HotKey->SetLabel( wxString::Format( wxT( "(%s)" ), KeyNameFromKeyCode( hk1 ) ) ); - m_grid2HotKey->SetLabel( wxString::Format( wxT( "(%s)" ), KeyNameFromKeyCode( hk2 ) ) ); - - return wxDialog::TransferDataToWindow(); -} - - -void DIALOG_SET_GRID::OnResetGridOrgClick( wxCommandEvent& event ) -{ - m_gridOriginX.SetValue( 0 ); - m_gridOriginY.SetValue( 0 ); -} - - -bool PCB_BASE_EDIT_FRAME::InvokeDialogGrid() -{ - DIALOG_SET_GRID dlg( this, m_gridSelectBox->GetStrings() ); - return dlg.ShowModal(); -} - - -void PCB_BASE_EDIT_FRAME::OnGridSettings( wxCommandEvent& event ) -{ - InvokeDialogGrid(); -} diff --git a/pcbnew/dialogs/dialog_set_grid_base.cpp b/pcbnew/dialogs/dialog_set_grid_base.cpp deleted file mode 100644 index 283402eac8..0000000000 --- a/pcbnew/dialogs/dialog_set_grid_base.cpp +++ /dev/null @@ -1,184 +0,0 @@ -/////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 1 2018) -// http://www.wxformbuilder.org/ -// -// PLEASE DO *NOT* EDIT THIS FILE! -/////////////////////////////////////////////////////////////////////////// - -#include "dialog_set_grid_base.h" - -/////////////////////////////////////////////////////////////////////////// - -DIALOG_SET_GRID_BASE::DIALOG_SET_GRID_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* bSizerMain; - bSizerMain = new wxBoxSizer( wxVERTICAL ); - - wxBoxSizer* bUpperSizer; - bUpperSizer = new wxBoxSizer( wxHORIZONTAL ); - - wxStaticBoxSizer* sbLeftSizer; - sbLeftSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Grid Origin") ), wxVERTICAL ); - - wxFlexGridSizer* fgSizerGridOrigin; - fgSizerGridOrigin = new wxFlexGridSizer( 2, 3, 0, 0 ); - fgSizerGridOrigin->AddGrowableCol( 1 ); - fgSizerGridOrigin->SetFlexibleDirection( wxBOTH ); - fgSizerGridOrigin->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - - m_staticTextGridPosX = new wxStaticText( sbLeftSizer->GetStaticBox(), wxID_ANY, _("X:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextGridPosX->Wrap( -1 ); - fgSizerGridOrigin->Add( m_staticTextGridPosX, 0, wxALIGN_CENTER_VERTICAL, 5 ); - - m_GridOriginXCtrl = new wxTextCtrl( sbLeftSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizerGridOrigin->Add( m_GridOriginXCtrl, 0, wxEXPAND|wxLEFT, 5 ); - - m_TextPosXUnits = new wxStaticText( sbLeftSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); - m_TextPosXUnits->Wrap( -1 ); - fgSizerGridOrigin->Add( m_TextPosXUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 ); - - m_staticTextGridPosY = new wxStaticText( sbLeftSizer->GetStaticBox(), wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextGridPosY->Wrap( -1 ); - fgSizerGridOrigin->Add( m_staticTextGridPosY, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 ); - - m_GridOriginYCtrl = new wxTextCtrl( sbLeftSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizerGridOrigin->Add( m_GridOriginYCtrl, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 ); - - m_TextPosYUnits = new wxStaticText( sbLeftSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); - m_TextPosYUnits->Wrap( -1 ); - fgSizerGridOrigin->Add( m_TextPosYUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 ); - - - sbLeftSizer->Add( fgSizerGridOrigin, 0, wxEXPAND|wxALL, 5 ); - - - bUpperSizer->Add( sbLeftSizer, 1, wxEXPAND|wxALL, 5 ); - - wxStaticBoxSizer* sbUserGridSizer; - sbUserGridSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("User Defined Grid") ), wxVERTICAL ); - - wxFlexGridSizer* fgSizer31; - fgSizer31 = new wxFlexGridSizer( 2, 3, 0, 0 ); - fgSizer31->AddGrowableCol( 1 ); - fgSizer31->SetFlexibleDirection( wxBOTH ); - fgSizer31->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - - m_staticTextSizeX = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("Size X:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextSizeX->Wrap( -1 ); - fgSizer31->Add( m_staticTextSizeX, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); - - m_OptGridSizeX = new wxTextCtrl( sbUserGridSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer31->Add( m_OptGridSizeX, 0, wxEXPAND|wxBOTTOM|wxLEFT, 5 ); - - m_TextSizeXUnits = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); - m_TextSizeXUnits->Wrap( -1 ); - fgSizer31->Add( m_TextSizeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 ); - - m_staticTextSizeY = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("Size Y:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextSizeY->Wrap( -1 ); - fgSizer31->Add( m_staticTextSizeY, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - - m_OptGridSizeY = new wxTextCtrl( sbUserGridSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - fgSizer31->Add( m_OptGridSizeY, 0, wxEXPAND|wxLEFT, 5 ); - - m_TextSizeYUnits = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); - m_TextSizeYUnits->Wrap( -1 ); - fgSizer31->Add( m_TextSizeYUnits, 0, wxALIGN_CENTER_VERTICAL, 5 ); - - - sbUserGridSizer->Add( fgSizer31, 0, wxEXPAND|wxALL, 5 ); - - - bUpperSizer->Add( sbUserGridSizer, 1, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 ); - - - bSizerMain->Add( bUpperSizer, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); - - wxStaticBoxSizer* sbFastSwitchSizer; - sbFastSwitchSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Fast Switching") ), wxVERTICAL ); - - wxFlexGridSizer* fgSizer3; - fgSizer3 = new wxFlexGridSizer( 2, 3, 0, 5 ); - fgSizer3->AddGrowableCol( 1 ); - fgSizer3->SetFlexibleDirection( wxBOTH ); - fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); - - m_staticTextGrid1 = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("Grid 1:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextGrid1->Wrap( -1 ); - fgSizer3->Add( m_staticTextGrid1, 0, wxALIGN_CENTER_VERTICAL, 5 ); - - m_comboBoxGrid1 = new wxComboBox( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); - m_comboBoxGrid1->SetMinSize( wxSize( 240,-1 ) ); - - fgSizer3->Add( m_comboBoxGrid1, 0, wxEXPAND, 5 ); - - m_grid1HotKey = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("(hotkey)"), wxDefaultPosition, wxDefaultSize, 0 ); - m_grid1HotKey->Wrap( -1 ); - fgSizer3->Add( m_grid1HotKey, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); - - m_staticTextGrid2 = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("Grid 2:"), wxDefaultPosition, wxDefaultSize, 0 ); - m_staticTextGrid2->Wrap( -1 ); - fgSizer3->Add( m_staticTextGrid2, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); - - m_comboBoxGrid2 = new wxComboBox( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); - m_comboBoxGrid2->SetMinSize( wxSize( 240,-1 ) ); - - fgSizer3->Add( m_comboBoxGrid2, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); - - m_grid2HotKey = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("(hotkey)"), wxDefaultPosition, wxDefaultSize, 0 ); - m_grid2HotKey->Wrap( -1 ); - fgSizer3->Add( m_grid2HotKey, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); - - - sbFastSwitchSizer->Add( fgSizer3, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 ); - - - bSizerMain->Add( sbFastSwitchSizer, 0, wxEXPAND|wxALL, 10 ); - - m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); - bSizerMain->Add( m_staticline1, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - - wxBoxSizer* bButtonSizer; - bButtonSizer = new wxBoxSizer( wxHORIZONTAL ); - - m_buttonReset = new wxButton( this, wxID_ANY, _("Reset Grid Origin"), wxDefaultPosition, wxDefaultSize, 0 ); - bButtonSizer->Add( m_buttonReset, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); - - - bButtonSizer->Add( 0, 0, 1, wxEXPAND, 5 ); - - m_sdbSizer = new wxStdDialogButtonSizer(); - m_sdbSizerOK = new wxButton( this, wxID_OK ); - m_sdbSizer->AddButton( m_sdbSizerOK ); - m_sdbSizerCancel = new wxButton( this, wxID_CANCEL ); - m_sdbSizer->AddButton( m_sdbSizerCancel ); - m_sdbSizer->Realize(); - - bButtonSizer->Add( m_sdbSizer, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); - - - bSizerMain->Add( bButtonSizer, 0, wxEXPAND|wxLEFT, 10 ); - - - this->SetSizer( bSizerMain ); - this->Layout(); - bSizerMain->Fit( this ); - - // Connect Events - this->Connect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SET_GRID_BASE::OnInitDlg ) ); - m_buttonReset->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnResetGridOrgClick ), NULL, this ); - m_sdbSizerCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnCancelClick ), NULL, this ); - m_sdbSizerOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnOkClick ), NULL, this ); -} - -DIALOG_SET_GRID_BASE::~DIALOG_SET_GRID_BASE() -{ - // Disconnect Events - this->Disconnect( wxEVT_INIT_DIALOG, wxInitDialogEventHandler( DIALOG_SET_GRID_BASE::OnInitDlg ) ); - m_buttonReset->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnResetGridOrgClick ), NULL, this ); - m_sdbSizerCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnCancelClick ), NULL, this ); - m_sdbSizerOK->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_SET_GRID_BASE::OnOkClick ), NULL, this ); - -} diff --git a/pcbnew/dialogs/dialog_set_grid_base.fbp b/pcbnew/dialogs/dialog_set_grid_base.fbp deleted file mode 100644 index dab3774fa5..0000000000 --- a/pcbnew/dialogs/dialog_set_grid_base.fbp +++ /dev/null @@ -1,1462 +0,0 @@ - - - - - - C++ - 1 - source_name - 0 - 0 - res - UTF-8 - connect - dialog_set_grid_base - 1000 - none - - 1 - dialog_set_grid - - . - - 1 - 1 - 1 - 1 - UI - 0 - 0 - - 0 - wxAUI_MGR_DEFAULT - - - - 1 - 1 - impl_virtual - - - - 0 - wxID_ANY - - - DIALOG_SET_GRID_BASE - - -1,-1 - wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER - DIALOG_SHIM; dialog_shim.h - Grid Settings - - - - - OnInitDlg - - - bSizerMain - wxVERTICAL - none - - 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT - 0 - - - bUpperSizer - wxHORIZONTAL - none - - 5 - wxEXPAND|wxALL - 1 - - wxID_ANY - Grid Origin - - sbLeftSizer - wxVERTICAL - 1 - none - - 5 - wxEXPAND|wxALL - 0 - - 3 - wxBOTH - 1 - - 0 - - fgSizerGridOrigin - wxFLEX_GROWMODE_SPECIFIED - none - 2 - 0 - - 5 - wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - X: - 0 - - 0 - - - 0 - - 1 - m_staticTextGridPosX - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_GridOriginXCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mm - 0 - - 0 - - - 0 - - 1 - m_TextPosXUnits - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Y: - 0 - - 0 - - - 0 - - 1 - m_staticTextGridPosY - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxTOP|wxBOTTOM|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_GridOriginYCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mm - 0 - - 0 - - - 0 - - 1 - m_TextPosYUnits - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - - - - - 5 - wxEXPAND|wxTOP|wxBOTTOM|wxLEFT - 1 - - wxID_ANY - User Defined Grid - - sbUserGridSizer - wxVERTICAL - 1 - none - - 5 - wxEXPAND|wxALL - 0 - - 3 - wxBOTH - 1 - - 0 - - fgSizer31 - wxFLEX_GROWMODE_SPECIFIED - none - 2 - 0 - - 5 - wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Size X: - 0 - - 0 - - - 0 - - 1 - m_staticTextSizeX - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxBOTTOM|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_OptGridSizeX - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mm - 0 - - 0 - - - 0 - - 1 - m_TextSizeXUnits - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Size Y: - 0 - - 0 - - - 0 - - 1 - m_staticTextSizeY - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxLEFT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - 0 - - 0 - - 1 - m_OptGridSizeY - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - mm - 0 - - 0 - - - 0 - - 1 - m_TextSizeYUnits - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - - - 10 - wxEXPAND|wxALL - 0 - - wxID_ANY - Fast Switching - - sbFastSwitchSizer - wxVERTICAL - 1 - none - - 5 - wxEXPAND|wxTOP|wxBOTTOM|wxLEFT - 0 - - 3 - wxBOTH - 1 - - 5 - - fgSizer3 - wxFLEX_GROWMODE_SPECIFIED - none - 2 - 0 - - 5 - wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Grid 1: - 0 - - 0 - - - 0 - - 1 - m_staticTextGrid1 - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - 240,-1 - 1 - m_comboBoxGrid1 - 1 - - - protected - 1 - - Resizable - -1 - 1 - - wxCB_READONLY - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - (hotkey) - 0 - - 0 - - - 0 - - 1 - m_grid1HotKey - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - 5 - wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Grid 2: - 0 - - 0 - - - 0 - - 1 - m_staticTextGrid2 - 1 - - - protected - 1 - - Resizable - 1 - - - - 0 - - - - - -1 - - - - 5 - wxEXPAND|wxTOP|wxBOTTOM - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - 240,-1 - 1 - m_comboBoxGrid2 - 1 - - - protected - 1 - - Resizable - -1 - 1 - - wxCB_READONLY - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - (hotkey) - 0 - - 0 - - - 0 - - 1 - m_grid2HotKey - 1 - - - protected - 1 - - Resizable - 1 - - - ; forward_declare - 0 - - - - - -1 - - - - - - - - 5 - wxEXPAND|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 - 0 - - - bButtonSizer - wxHORIZONTAL - none - - 5 - wxALIGN_CENTER_VERTICAL|wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - - 0 - 0 - - Dock - 0 - Left - 1 - - 1 - - - 0 - 0 - wxID_ANY - Reset Grid Origin - - 0 - - 0 - - - 0 - - 1 - m_buttonReset - 1 - - - protected - 1 - - - - Resizable - 1 - - - - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnResetGridOrgClick - - - - 5 - wxEXPAND - 1 - - 0 - protected - 0 - - - - 5 - wxALL|wxALIGN_CENTER_VERTICAL - 0 - - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - - m_sdbSizer - protected - OnCancelClick - OnOkClick - - - - - - - - diff --git a/pcbnew/dialogs/dialog_set_grid_base.h b/pcbnew/dialogs/dialog_set_grid_base.h deleted file mode 100644 index af743cc3c4..0000000000 --- a/pcbnew/dialogs/dialog_set_grid_base.h +++ /dev/null @@ -1,79 +0,0 @@ -/////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 1 2018) -// http://www.wxformbuilder.org/ -// -// PLEASE DO *NOT* EDIT THIS FILE! -/////////////////////////////////////////////////////////////////////////// - -#pragma once - -#include -#include -#include -#include "dialog_shim.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/////////////////////////////////////////////////////////////////////////// - - -/////////////////////////////////////////////////////////////////////////////// -/// Class DIALOG_SET_GRID_BASE -/////////////////////////////////////////////////////////////////////////////// -class DIALOG_SET_GRID_BASE : public DIALOG_SHIM -{ - private: - - protected: - wxStaticText* m_staticTextGridPosX; - wxTextCtrl* m_GridOriginXCtrl; - wxStaticText* m_TextPosXUnits; - wxStaticText* m_staticTextGridPosY; - wxTextCtrl* m_GridOriginYCtrl; - wxStaticText* m_TextPosYUnits; - wxStaticText* m_staticTextSizeX; - wxTextCtrl* m_OptGridSizeX; - wxStaticText* m_TextSizeXUnits; - wxStaticText* m_staticTextSizeY; - wxTextCtrl* m_OptGridSizeY; - wxStaticText* m_TextSizeYUnits; - wxStaticText* m_staticTextGrid1; - wxComboBox* m_comboBoxGrid1; - wxStaticText* m_grid1HotKey; - wxStaticText* m_staticTextGrid2; - wxComboBox* m_comboBoxGrid2; - wxStaticText* m_grid2HotKey; - wxStaticLine* m_staticline1; - wxButton* m_buttonReset; - wxStdDialogButtonSizer* m_sdbSizer; - wxButton* m_sdbSizerOK; - wxButton* m_sdbSizerCancel; - - // Virtual event handlers, overide them in your derived class - virtual void OnInitDlg( wxInitDialogEvent& event ) { event.Skip(); } - virtual void OnResetGridOrgClick( wxCommandEvent& event ) { event.Skip(); } - virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); } - virtual void OnOkClick( wxCommandEvent& event ) { event.Skip(); } - - - public: - - DIALOG_SET_GRID_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Grid Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER ); - ~DIALOG_SET_GRID_BASE(); - -}; - diff --git a/pcbnew/dialogs/panel_modedit_settings.cpp b/pcbnew/dialogs/panel_modedit_settings.cpp index 0fdf52b422..bb93ed7b46 100644 --- a/pcbnew/dialogs/panel_modedit_settings.cpp +++ b/pcbnew/dialogs/panel_modedit_settings.cpp @@ -28,14 +28,26 @@ #include #include +#include +#include #include -PANEL_MODEDIT_SETTINGS::PANEL_MODEDIT_SETTINGS( FOOTPRINT_EDIT_FRAME* aFrame, - PAGED_DIALOG* aParent) : +PANEL_MODEDIT_SETTINGS::PANEL_MODEDIT_SETTINGS( FOOTPRINT_EDIT_FRAME* aFrame, PAGED_DIALOG* aParent ) : PANEL_MODEDIT_SETTINGS_BASE( aParent->GetTreebook() ), - m_frame( aFrame ) -{} + m_frame( aFrame ), + m_userGridX( aFrame, m_staticTextSizeX, m_OptGridSizeX, m_TextSizeXUnits ), + m_userGridY( aFrame, m_staticTextSizeY, m_OptGridSizeY, m_TextSizeYUnits ) +{ + wxArrayString gridsList; + m_frame->GetScreen()->BuildGridsChoiceList( gridsList, m_frame->GetUserUnits() != INCHES ); + + for( size_t i = 0; i < m_frame->GetScreen()->GetGridCount(); i++ ) + { + m_comboBoxGrid1->Append( gridsList[i] ); + m_comboBoxGrid2->Append( gridsList[i] ); + } +} bool PANEL_MODEDIT_SETTINGS::TransferDataToWindow() @@ -46,6 +58,18 @@ bool PANEL_MODEDIT_SETTINGS::TransferDataToWindow() m_PolarDisplay->SetSelection( displ_opts->m_DisplayPolarCood ? 1 : 0 ); m_UnitsSelection->SetSelection( m_frame->GetUserUnits() == INCHES ? 0 : 1 ); + // Grid options + m_userGridX.SetValue( m_frame->m_UserGridSize.x ); + m_userGridY.SetValue( m_frame->m_UserGridSize.y ); + + m_comboBoxGrid1->SetSelection( m_frame->m_FastGrid1 ); + m_comboBoxGrid2->SetSelection( m_frame->m_FastGrid2 ); + + int hk1 = m_frame->GetHotKeyDescription( HK_SWITCH_GRID_TO_FASTGRID1 )->m_KeyCode; + int hk2 = m_frame->GetHotKeyDescription( HK_SWITCH_GRID_TO_FASTGRID2 )->m_KeyCode; + m_grid1HotKey->SetLabel( wxString::Format( wxT( "(%s)" ), KeyNameFromKeyCode( hk1 ) ) ); + m_grid2HotKey->SetLabel( wxString::Format( wxT( "(%s)" ), KeyNameFromKeyCode( hk2 ) ) ); + // Editing options m_Segments_45_Only_Ctrl->SetValue( m_frame->Settings().m_use45DegreeGraphicSegments ); m_MagneticPads->SetValue( m_frame->Settings().m_magneticPads == CAPTURE_ALWAYS ); @@ -63,6 +87,38 @@ bool PANEL_MODEDIT_SETTINGS::TransferDataFromWindow() m_frame->SetUserUnits( m_UnitsSelection->GetSelection() == 0 ? INCHES : MILLIMETRES ); + // Grid options + if( !m_userGridX.Validate( MIN_GRID_SIZE, MAX_GRID_SIZE ) ) + return false; + + if( !m_userGridY.Validate( MIN_GRID_SIZE, MAX_GRID_SIZE ) ) + return false; + + // Apply the new settings + m_frame->m_UserGridSize = wxPoint( m_userGridX.GetValue(), m_userGridY.GetValue() ); + m_frame->m_FastGrid1 = m_comboBoxGrid1->GetSelection(); + m_frame->m_FastGrid2 = m_comboBoxGrid2->GetSelection(); + + // User grid + BASE_SCREEN* screen = m_frame->GetScreen(); + screen->AddGrid( m_frame->m_UserGridSize, EDA_UNITS_T::UNSCALED_UNITS, ID_POPUP_GRID_USER ); + + // If the user grid is the current option, recall SetGrid() + // to force new values put in list as current grid value + if( screen->GetGridCmdId() == ID_POPUP_GRID_USER ) + screen->SetGrid( ID_POPUP_GRID_USER ); + + // Notify GAL + TOOL_MANAGER* mgr = m_frame->GetToolManager(); + + if( mgr && m_frame->IsGalCanvasActive() ) + { + mgr->RunAction( "common.Control.gridPreset", true, + screen->GetGridCmdId() - ID_POPUP_GRID_LEVEL_1000 ); + } + + m_frame->UpdateGridSelectBox(); + // Editing options m_frame->Settings().m_use45DegreeGraphicSegments = m_Segments_45_Only_Ctrl->GetValue(); m_frame->Settings().m_magneticPads = m_MagneticPads->GetValue() ? CAPTURE_ALWAYS : NO_EFFECT; diff --git a/pcbnew/dialogs/panel_modedit_settings.h b/pcbnew/dialogs/panel_modedit_settings.h index cfb9b37117..5cfefdd973 100644 --- a/pcbnew/dialogs/panel_modedit_settings.h +++ b/pcbnew/dialogs/panel_modedit_settings.h @@ -20,8 +20,13 @@ #ifndef KICAD_PANEL_MODEDIT_SETTINGS_H #define KICAD_PANEL_MODEDIT_SETTINGS_H +#include #include +// Max values for grid size +static const int MAX_GRID_SIZE = KiROUND( 1000.0 * IU_PER_MM ); +static const int MIN_GRID_SIZE = KiROUND( 0.001 * IU_PER_MM ); + class FOOTPRINT_EDIT_FRAME; class PAGED_DIALOG; @@ -36,6 +41,9 @@ public: private: bool TransferDataToWindow() override; bool TransferDataFromWindow() override; + + UNIT_BINDER m_userGridX; + UNIT_BINDER m_userGridY; }; diff --git a/pcbnew/dialogs/panel_modedit_settings_base.cpp b/pcbnew/dialogs/panel_modedit_settings_base.cpp index 54fc7ec87f..4ad03663ac 100644 --- a/pcbnew/dialogs/panel_modedit_settings_base.cpp +++ b/pcbnew/dialogs/panel_modedit_settings_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Oct 26 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -9,62 +9,140 @@ /////////////////////////////////////////////////////////////////////////// -PANEL_MODEDIT_SETTINGS_BASE::PANEL_MODEDIT_SETTINGS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style ) +PANEL_MODEDIT_SETTINGS_BASE::PANEL_MODEDIT_SETTINGS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) { wxBoxSizer* bSizerMain; bSizerMain = new wxBoxSizer( wxHORIZONTAL ); - + wxBoxSizer* bSizerColumns; bSizerColumns = new wxBoxSizer( wxVERTICAL ); - + wxBoxSizer* bSizerDisplayOptions; bSizerDisplayOptions = new wxBoxSizer( wxVERTICAL ); - + wxString m_PolarDisplayChoices[] = { _("Cartesian coordinates"), _("Polar coordinates") }; int m_PolarDisplayNChoices = sizeof( m_PolarDisplayChoices ) / sizeof( wxString ); m_PolarDisplay = new wxRadioBox( this, wxID_POLAR_CTRL, _("Coordinates"), wxDefaultPosition, wxDefaultSize, m_PolarDisplayNChoices, m_PolarDisplayChoices, 1, wxRA_SPECIFY_COLS ); m_PolarDisplay->SetSelection( 0 ); m_PolarDisplay->SetToolTip( _("Set display of relative (dx/dy) coordinates to Cartesian (rectangular) or polar (angle/distance).") ); - + bSizerDisplayOptions->Add( m_PolarDisplay, 0, wxEXPAND|wxBOTTOM, 5 ); - + wxString m_UnitsSelectionChoices[] = { _("Inches"), _("Millimeters") }; int m_UnitsSelectionNChoices = sizeof( m_UnitsSelectionChoices ) / sizeof( wxString ); m_UnitsSelection = new wxRadioBox( this, wxID_UNITS, _("Units"), wxDefaultPosition, wxDefaultSize, m_UnitsSelectionNChoices, m_UnitsSelectionChoices, 1, wxRA_SPECIFY_COLS ); m_UnitsSelection->SetSelection( 0 ); m_UnitsSelection->SetToolTip( _("Set units used to display dimensions and positions.") ); - - bSizerDisplayOptions->Add( m_UnitsSelection, 0, wxEXPAND|wxBOTTOM, 5 ); - - + + bSizerDisplayOptions->Add( m_UnitsSelection, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); + + bSizerColumns->Add( bSizerDisplayOptions, 0, wxEXPAND, 5 ); - + + wxStaticBoxSizer* sbUserGridSizer; + sbUserGridSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("User Defined Grid") ), wxVERTICAL ); + + wxFlexGridSizer* fgSizer31; + fgSizer31 = new wxFlexGridSizer( 2, 3, 0, 0 ); + fgSizer31->AddGrowableCol( 1 ); + fgSizer31->SetFlexibleDirection( wxBOTH ); + fgSizer31->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + + m_staticTextSizeX = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("Size X:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextSizeX->Wrap( -1 ); + fgSizer31->Add( m_staticTextSizeX, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); + + m_OptGridSizeX = new wxTextCtrl( sbUserGridSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizer31->Add( m_OptGridSizeX, 0, wxEXPAND|wxBOTTOM|wxLEFT, 5 ); + + m_TextSizeXUnits = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); + m_TextSizeXUnits->Wrap( -1 ); + fgSizer31->Add( m_TextSizeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 ); + + m_staticTextSizeY = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("Size Y:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextSizeY->Wrap( -1 ); + fgSizer31->Add( m_staticTextSizeY, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + m_OptGridSizeY = new wxTextCtrl( sbUserGridSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizer31->Add( m_OptGridSizeY, 0, wxEXPAND|wxLEFT, 5 ); + + m_TextSizeYUnits = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); + m_TextSizeYUnits->Wrap( -1 ); + fgSizer31->Add( m_TextSizeYUnits, 0, wxALIGN_CENTER_VERTICAL, 5 ); + + + sbUserGridSizer->Add( fgSizer31, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + + bSizerColumns->Add( sbUserGridSizer, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); + + wxStaticBoxSizer* sbFastSwitchSizer; + sbFastSwitchSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Fast Switching") ), wxVERTICAL ); + + wxFlexGridSizer* fgSizer3; + fgSizer3 = new wxFlexGridSizer( 2, 3, 0, 5 ); + fgSizer3->AddGrowableCol( 1 ); + fgSizer3->SetFlexibleDirection( wxBOTH ); + fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + + m_staticTextGrid1 = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("Grid 1:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextGrid1->Wrap( -1 ); + fgSizer3->Add( m_staticTextGrid1, 0, wxALIGN_CENTER_VERTICAL, 5 ); + + m_comboBoxGrid1 = new wxComboBox( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); + m_comboBoxGrid1->SetMinSize( wxSize( 240,-1 ) ); + + fgSizer3->Add( m_comboBoxGrid1, 0, wxEXPAND, 5 ); + + m_grid1HotKey = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("(hotkey)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_grid1HotKey->Wrap( -1 ); + fgSizer3->Add( m_grid1HotKey, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + + m_staticTextGrid2 = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("Grid 2:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextGrid2->Wrap( -1 ); + fgSizer3->Add( m_staticTextGrid2, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); + + m_comboBoxGrid2 = new wxComboBox( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); + m_comboBoxGrid2->SetMinSize( wxSize( 240,-1 ) ); + + fgSizer3->Add( m_comboBoxGrid2, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); + + m_grid2HotKey = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("(hotkey)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_grid2HotKey->Wrap( -1 ); + fgSizer3->Add( m_grid2HotKey, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + + + sbFastSwitchSizer->Add( fgSizer3, 0, wxEXPAND|wxLEFT, 5 ); + + + bSizerColumns->Add( sbFastSwitchSizer, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); + wxStaticBoxSizer* sbSizerEditOptions; sbSizerEditOptions = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Editing Options") ), wxVERTICAL ); - + m_MagneticPads = new wxCheckBox( sbSizerEditOptions->GetStaticBox(), wxID_ANY, _("Magnetic pads"), wxDefaultPosition, wxDefaultSize, 0 ); sbSizerEditOptions->Add( m_MagneticPads, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - + + sbSizerEditOptions->Add( 0, 0, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); - + m_Segments_45_Only_Ctrl = new wxCheckBox( sbSizerEditOptions->GetStaticBox(), wxID_SEGMENTS45, _("L&imit graphic lines to H, V and 45 degrees"), wxDefaultPosition, wxDefaultSize, 0 ); m_Segments_45_Only_Ctrl->SetToolTip( _("Force line segment directions to H, V or 45 degrees when drawing on technical layers.") ); - + sbSizerEditOptions->Add( m_Segments_45_Only_Ctrl, 0, wxALL, 5 ); - + m_dragSelects = new wxCheckBox( sbSizerEditOptions->GetStaticBox(), wxID_ANY, _("Prefer selection to dragging"), wxDefaultPosition, wxDefaultSize, 0 ); m_dragSelects->SetToolTip( _("When enabled and nothing is selected, drag gesture will draw a selection box, even if there are items under the cursor that could be immediately dragged.") ); - + sbSizerEditOptions->Add( m_dragSelects, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 ); - - - bSizerColumns->Add( sbSizerEditOptions, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); - - - bSizerMain->Add( bSizerColumns, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); - - + + + bSizerColumns->Add( sbSizerEditOptions, 0, wxEXPAND|wxTOP, 5 ); + + + bSizerMain->Add( bSizerColumns, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 ); + + this->SetSizer( bSizerMain ); this->Layout(); bSizerMain->Fit( this ); diff --git a/pcbnew/dialogs/panel_modedit_settings_base.fbp b/pcbnew/dialogs/panel_modedit_settings_base.fbp index 4cb09f5c40..eeb28bdaa6 100644 --- a/pcbnew/dialogs/panel_modedit_settings_base.fbp +++ b/pcbnew/dialogs/panel_modedit_settings_base.fbp @@ -1,6 +1,6 @@ - + C++ @@ -14,6 +14,7 @@ panel_modedit_settings_base 1000 none + 1 PanelModeditSettings @@ -48,36 +49,6 @@ wxTAB_TRAVERSAL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bSizerMain @@ -85,7 +56,7 @@ none 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT + wxEXPAND|wxLEFT|wxRIGHT|wxTOP 0 @@ -165,35 +136,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - 5 - wxEXPAND|wxBOTTOM + wxBOTTOM|wxEXPAND|wxTOP 0 1 @@ -255,37 +202,823 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + 5 + wxBOTTOM|wxEXPAND|wxTOP + 0 + + wxID_ANY + User Defined Grid + + sbUserGridSizer + wxVERTICAL + 1 + none + + 5 + wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + 0 + + 3 + wxBOTH + 1 + + 0 + + fgSizer31 + wxFLEX_GROWMODE_SPECIFIED + none + 2 + 0 + + 5 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Size X: + 0 + + 0 + + + 0 + + 1 + m_staticTextSizeX + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxBOTTOM|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_OptGridSizeX + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_TextSizeXUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Size Y: + 0 + + 0 + + + 0 + + 1 + m_staticTextSizeY + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_OptGridSizeY + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_TextSizeYUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + + + 5 + wxBOTTOM|wxEXPAND|wxTOP + 0 + + wxID_ANY + Fast Switching + + sbFastSwitchSizer + wxVERTICAL + 1 + none + + 5 + wxEXPAND|wxLEFT + 0 + + 3 + wxBOTH + 1 + + 5 + + fgSizer3 + wxFLEX_GROWMODE_SPECIFIED + none + 2 + 0 + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Grid 1: + 0 + + 0 + + + 0 + + 1 + m_staticTextGrid1 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + 240,-1 + 1 + m_comboBoxGrid1 + 1 + + + protected + 1 + + Resizable + -1 + 1 + + wxCB_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + (hotkey) + 0 + + 0 + + + 0 + + 1 + m_grid1HotKey + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Grid 2: + 0 + + 0 + + + 0 + + 1 + m_staticTextGrid2 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxTOP|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + 240,-1 + 1 + m_comboBoxGrid2 + 1 + + + protected + 1 + + Resizable + -1 + 1 + + wxCB_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + (hotkey) + 0 + + 0 + + + 0 + + 1 + m_grid2HotKey + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + 5 - wxEXPAND|wxTOP|wxBOTTOM + wxEXPAND|wxTOP 0 wxID_ANY @@ -295,7 +1028,6 @@ wxVERTICAL 1 none - 5 wxBOTTOM|wxRIGHT|wxLEFT @@ -358,30 +1090,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -456,30 +1164,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - @@ -544,30 +1228,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pcbnew/dialogs/panel_modedit_settings_base.h b/pcbnew/dialogs/panel_modedit_settings_base.h index 930201fa01..ed91d19c7c 100644 --- a/pcbnew/dialogs/panel_modedit_settings_base.h +++ b/pcbnew/dialogs/panel_modedit_settings_base.h @@ -1,12 +1,11 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Dec 30 2017) +// C++ code generated with wxFormBuilder (version Oct 26 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// -#ifndef __PANEL_MODEDIT_SETTINGS_BASE_H__ -#define __PANEL_MODEDIT_SETTINGS_BASE_H__ +#pragma once #include #include @@ -18,8 +17,11 @@ #include #include #include -#include +#include +#include #include +#include +#include #include /////////////////////////////////////////////////////////////////////////// @@ -31,22 +33,33 @@ /////////////////////////////////////////////////////////////////////////////// /// Class PANEL_MODEDIT_SETTINGS_BASE /////////////////////////////////////////////////////////////////////////////// -class PANEL_MODEDIT_SETTINGS_BASE : public wxPanel +class PANEL_MODEDIT_SETTINGS_BASE : public wxPanel { private: - + protected: wxRadioBox* m_PolarDisplay; wxRadioBox* m_UnitsSelection; + wxStaticText* m_staticTextSizeX; + wxTextCtrl* m_OptGridSizeX; + wxStaticText* m_TextSizeXUnits; + wxStaticText* m_staticTextSizeY; + wxTextCtrl* m_OptGridSizeY; + wxStaticText* m_TextSizeYUnits; + wxStaticText* m_staticTextGrid1; + wxComboBox* m_comboBoxGrid1; + wxStaticText* m_grid1HotKey; + wxStaticText* m_staticTextGrid2; + wxComboBox* m_comboBoxGrid2; + wxStaticText* m_grid2HotKey; wxCheckBox* m_MagneticPads; wxCheckBox* m_Segments_45_Only_Ctrl; wxCheckBox* m_dragSelects; - + public: - - PANEL_MODEDIT_SETTINGS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL ); + + PANEL_MODEDIT_SETTINGS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); ~PANEL_MODEDIT_SETTINGS_BASE(); - + }; -#endif //__PANEL_MODEDIT_SETTINGS_BASE_H__ diff --git a/pcbnew/dialogs/panel_pcbnew_settings.cpp b/pcbnew/dialogs/panel_pcbnew_settings.cpp index 882fd00bbb..1b98c8d980 100644 --- a/pcbnew/dialogs/panel_pcbnew_settings.cpp +++ b/pcbnew/dialogs/panel_pcbnew_settings.cpp @@ -33,10 +33,24 @@ #include #include +#include +#include + PANEL_PCBNEW_SETTINGS::PANEL_PCBNEW_SETTINGS( PCB_EDIT_FRAME* aFrame, PAGED_DIALOG* aParent ) : PANEL_PCBNEW_SETTINGS_BASE( aParent->GetTreebook() ), - m_Frame( aFrame ) -{} + m_Frame( aFrame ), + m_userGridX( aFrame, m_staticTextSizeX, m_OptGridSizeX, m_TextSizeXUnits ), + m_userGridY( aFrame, m_staticTextSizeY, m_OptGridSizeY, m_TextSizeYUnits ) +{ + wxArrayString gridsList; + m_Frame->GetScreen()->BuildGridsChoiceList( gridsList, m_Frame->GetUserUnits() != INCHES ); + + for( size_t i = 0; i < m_Frame->GetScreen()->GetGridCount(); i++ ) + { + m_comboBoxGrid1->Append( gridsList[i] ); + m_comboBoxGrid2->Append( gridsList[i] ); + } +} bool PANEL_PCBNEW_SETTINGS::TransferDataToWindow() @@ -47,6 +61,18 @@ bool PANEL_PCBNEW_SETTINGS::TransferDataToWindow() m_PolarDisplay->SetSelection( displ_opts->m_DisplayPolarCood ? 1 : 0 ); m_UnitsSelection->SetSelection( m_Frame->GetUserUnits() == INCHES ? 0 : 1 ); + // Grid options + m_userGridX.SetValue( m_Frame->m_UserGridSize.x ); + m_userGridY.SetValue( m_Frame->m_UserGridSize.y ); + + m_comboBoxGrid1->SetSelection( m_Frame->m_FastGrid1 ); + m_comboBoxGrid2->SetSelection( m_Frame->m_FastGrid2 ); + + int hk1 = m_Frame->GetHotKeyDescription( HK_SWITCH_GRID_TO_FASTGRID1 )->m_KeyCode; + int hk2 = m_Frame->GetHotKeyDescription( HK_SWITCH_GRID_TO_FASTGRID2 )->m_KeyCode; + m_grid1HotKey->SetLabel( wxString::Format( wxT( "(%s)" ), KeyNameFromKeyCode( hk1 ) ) ); + m_grid2HotKey->SetLabel( wxString::Format( wxT( "(%s)" ), KeyNameFromKeyCode( hk2 ) ) ); + wxString rotationAngle; rotationAngle = AngleToStringDegrees( (double)m_Frame->GetRotationAngle() ); m_RotationAngle->SetValue( rotationAngle ); @@ -75,6 +101,38 @@ bool PANEL_PCBNEW_SETTINGS::TransferDataFromWindow() m_Frame->SetUserUnits( m_UnitsSelection->GetSelection() == 0 ? INCHES : MILLIMETRES ); + // Grid options + if( !m_userGridX.Validate( MIN_GRID_SIZE, MAX_GRID_SIZE ) ) + return false; + + if( !m_userGridY.Validate( MIN_GRID_SIZE, MAX_GRID_SIZE ) ) + return false; + + // Apply the new settings + m_Frame->m_UserGridSize = wxPoint( m_userGridX.GetValue(), m_userGridY.GetValue() ); + m_Frame->m_FastGrid1 = m_comboBoxGrid1->GetSelection(); + m_Frame->m_FastGrid2 = m_comboBoxGrid2->GetSelection(); + + // User grid + BASE_SCREEN* screen = m_Frame->GetScreen(); + screen->AddGrid( m_Frame->m_UserGridSize, EDA_UNITS_T::UNSCALED_UNITS, ID_POPUP_GRID_USER ); + + // If the user grid is the current option, recall SetGrid() + // to force new values put in list as current grid value + if( screen->GetGridCmdId() == ID_POPUP_GRID_USER ) + screen->SetGrid( ID_POPUP_GRID_USER ); + + // Notify GAL + TOOL_MANAGER* mgr = m_Frame->GetToolManager(); + + if( mgr && m_Frame->IsGalCanvasActive() ) + { + mgr->RunAction( "common.Control.gridPreset", true, + screen->GetGridCmdId() - ID_POPUP_GRID_LEVEL_1000 ); + } + + m_Frame->UpdateGridSelectBox(); + m_Frame->SetRotationAngle( wxRound( 10.0 * wxAtof( m_RotationAngle->GetValue() ) ) ); /* Updating the combobox to display the active layer. */ @@ -101,5 +159,3 @@ bool PANEL_PCBNEW_SETTINGS::TransferDataFromWindow() return true; } - - diff --git a/pcbnew/dialogs/panel_pcbnew_settings.h b/pcbnew/dialogs/panel_pcbnew_settings.h index ed4ba190f7..b662eb50a1 100644 --- a/pcbnew/dialogs/panel_pcbnew_settings.h +++ b/pcbnew/dialogs/panel_pcbnew_settings.h @@ -25,8 +25,13 @@ #ifndef __dialog_general_options_h #define __dialog_general_options_h +#include #include "panel_pcbnew_settings_base.h" +// Max values for grid size +static const int MAX_GRID_SIZE = KiROUND( 1000.0 * IU_PER_MM ); +static const int MIN_GRID_SIZE = KiROUND( 0.001 * IU_PER_MM ); + class PAGED_DIALOG; @@ -35,6 +40,9 @@ class PANEL_PCBNEW_SETTINGS : public PANEL_PCBNEW_SETTINGS_BASE private: PCB_EDIT_FRAME* m_Frame; + UNIT_BINDER m_userGridX; + UNIT_BINDER m_userGridY; + public: PANEL_PCBNEW_SETTINGS( PCB_EDIT_FRAME* aFrame, PAGED_DIALOG* aWindow ); diff --git a/pcbnew/dialogs/panel_pcbnew_settings_base.cpp b/pcbnew/dialogs/panel_pcbnew_settings_base.cpp index 4642d64a5f..87ccc87332 100644 --- a/pcbnew/dialogs/panel_pcbnew_settings_base.cpp +++ b/pcbnew/dialogs/panel_pcbnew_settings_base.cpp @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jan 17 2019) +// C++ code generated with wxFormBuilder (version Oct 26 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -26,7 +26,7 @@ PANEL_PCBNEW_SETTINGS_BASE::PANEL_PCBNEW_SETTINGS_BASE( wxWindow* parent, wxWind m_PolarDisplay->SetSelection( 0 ); m_PolarDisplay->SetToolTip( _("Set display of relative (dx/dy) coordinates to Cartesian (rectangular) or polar (angle/distance).") ); - bMiddleLeftSizer->Add( m_PolarDisplay, 0, wxALL|wxEXPAND, 5 ); + bMiddleLeftSizer->Add( m_PolarDisplay, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); wxString m_UnitsSelectionChoices[] = { _("Inches"), _("Millimeters") }; int m_UnitsSelectionNChoices = sizeof( m_UnitsSelectionChoices ) / sizeof( wxString ); @@ -34,7 +34,85 @@ PANEL_PCBNEW_SETTINGS_BASE::PANEL_PCBNEW_SETTINGS_BASE( wxWindow* parent, wxWind m_UnitsSelection->SetSelection( 0 ); m_UnitsSelection->SetToolTip( _("Set units used to display dimensions and positions.") ); - bMiddleLeftSizer->Add( m_UnitsSelection, 0, wxALL|wxEXPAND, 5 ); + bMiddleLeftSizer->Add( m_UnitsSelection, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); + + wxStaticBoxSizer* sbUserGridSizer; + sbUserGridSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("User Defined Grid") ), wxVERTICAL ); + + wxFlexGridSizer* fgSizer31; + fgSizer31 = new wxFlexGridSizer( 2, 3, 0, 0 ); + fgSizer31->AddGrowableCol( 1 ); + fgSizer31->SetFlexibleDirection( wxBOTH ); + fgSizer31->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + + m_staticTextSizeX = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("Size X:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextSizeX->Wrap( -1 ); + fgSizer31->Add( m_staticTextSizeX, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT, 5 ); + + m_OptGridSizeX = new wxTextCtrl( sbUserGridSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizer31->Add( m_OptGridSizeX, 0, wxEXPAND|wxBOTTOM|wxLEFT, 5 ); + + m_TextSizeXUnits = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); + m_TextSizeXUnits->Wrap( -1 ); + fgSizer31->Add( m_TextSizeXUnits, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 ); + + m_staticTextSizeY = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("Size Y:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextSizeY->Wrap( -1 ); + fgSizer31->Add( m_staticTextSizeY, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + + m_OptGridSizeY = new wxTextCtrl( sbUserGridSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizer31->Add( m_OptGridSizeY, 0, wxEXPAND|wxLEFT, 5 ); + + m_TextSizeYUnits = new wxStaticText( sbUserGridSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); + m_TextSizeYUnits->Wrap( -1 ); + fgSizer31->Add( m_TextSizeYUnits, 0, wxALIGN_CENTER_VERTICAL, 5 ); + + + sbUserGridSizer->Add( fgSizer31, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + + bMiddleLeftSizer->Add( sbUserGridSizer, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); + + wxStaticBoxSizer* sbFastSwitchSizer; + sbFastSwitchSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Fast Switching") ), wxVERTICAL ); + + wxFlexGridSizer* fgSizer3; + fgSizer3 = new wxFlexGridSizer( 2, 3, 0, 5 ); + fgSizer3->AddGrowableCol( 1 ); + fgSizer3->SetFlexibleDirection( wxBOTH ); + fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + + m_staticTextGrid1 = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("Grid 1:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextGrid1->Wrap( -1 ); + fgSizer3->Add( m_staticTextGrid1, 0, wxALIGN_CENTER_VERTICAL, 5 ); + + m_comboBoxGrid1 = new wxComboBox( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); + m_comboBoxGrid1->SetMinSize( wxSize( 240,-1 ) ); + + fgSizer3->Add( m_comboBoxGrid1, 0, wxEXPAND, 5 ); + + m_grid1HotKey = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("(hotkey)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_grid1HotKey->Wrap( -1 ); + fgSizer3->Add( m_grid1HotKey, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + + m_staticTextGrid2 = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("Grid 2:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextGrid2->Wrap( -1 ); + fgSizer3->Add( m_staticTextGrid2, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 ); + + m_comboBoxGrid2 = new wxComboBox( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, wxCB_READONLY ); + m_comboBoxGrid2->SetMinSize( wxSize( 240,-1 ) ); + + fgSizer3->Add( m_comboBoxGrid2, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 ); + + m_grid2HotKey = new wxStaticText( sbFastSwitchSizer->GetStaticBox(), wxID_ANY, _("(hotkey)"), wxDefaultPosition, wxDefaultSize, 0 ); + m_grid2HotKey->Wrap( -1 ); + fgSizer3->Add( m_grid2HotKey, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + + + sbFastSwitchSizer->Add( fgSizer3, 0, wxEXPAND|wxLEFT, 5 ); + + + bMiddleLeftSizer->Add( sbFastSwitchSizer, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); wxStaticBoxSizer* bOptionsSizer; bOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Editing Options") ), wxVERTICAL ); @@ -77,10 +155,10 @@ PANEL_PCBNEW_SETTINGS_BASE::PANEL_PCBNEW_SETTINGS_BASE( wxWindow* parent, wxWind bOptionsSizer->Add( fgSizer12, 1, wxEXPAND, 5 ); - bMiddleLeftSizer->Add( bOptionsSizer, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 ); + bMiddleLeftSizer->Add( bOptionsSizer, 1, wxEXPAND|wxTOP, 5 ); - bMargins->Add( bMiddleLeftSizer, 1, wxEXPAND|wxRIGHT, 5 ); + bMargins->Add( bMiddleLeftSizer, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 ); wxBoxSizer* bRightSizer; bRightSizer = new wxBoxSizer( wxVERTICAL ); @@ -139,7 +217,7 @@ PANEL_PCBNEW_SETTINGS_BASE::PANEL_PCBNEW_SETTINGS_BASE( wxWindow* parent, wxWind sbMagnets->Add( fgSizer2, 1, wxEXPAND, 5 ); - bRightSizer->Add( sbMagnets, 1, wxEXPAND, 5 ); + bRightSizer->Add( sbMagnets, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); wxStaticBoxSizer* bLegacyOptionsSizer; bLegacyOptionsSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Legacy Toolset Routing Options") ), wxVERTICAL ); @@ -169,13 +247,13 @@ PANEL_PCBNEW_SETTINGS_BASE::PANEL_PCBNEW_SETTINGS_BASE( wxWindow* parent, wxWind bLegacyOptionsSizer->Add( m_Track_DoubleSegm_Ctrl, 0, wxBOTTOM|wxLEFT|wxRIGHT, 5 ); - bRightSizer->Add( bLegacyOptionsSizer, 1, wxEXPAND|wxTOP|wxLEFT, 5 ); + bRightSizer->Add( bLegacyOptionsSizer, 0, wxBOTTOM|wxEXPAND|wxTOP, 5 ); - bMargins->Add( bRightSizer, 1, wxEXPAND|wxRIGHT, 5 ); + bMargins->Add( bRightSizer, 1, wxEXPAND|wxLEFT|wxRIGHT, 5 ); - bPanelSizer->Add( bMargins, 1, wxRIGHT, 5 ); + bPanelSizer->Add( bMargins, 1, 0, 5 ); this->SetSizer( bPanelSizer ); diff --git a/pcbnew/dialogs/panel_pcbnew_settings_base.fbp b/pcbnew/dialogs/panel_pcbnew_settings_base.fbp index 3b2cb82731..92281f0c75 100644 --- a/pcbnew/dialogs/panel_pcbnew_settings_base.fbp +++ b/pcbnew/dialogs/panel_pcbnew_settings_base.fbp @@ -56,7 +56,7 @@ none 5 - wxRIGHT + 1 @@ -65,7 +65,7 @@ none 5 - wxEXPAND|wxRIGHT + wxEXPAND|wxLEFT|wxRIGHT 1 @@ -74,7 +74,7 @@ none 5 - wxALL|wxEXPAND + wxBOTTOM|wxEXPAND|wxTOP 0 1 @@ -140,7 +140,7 @@ 5 - wxALL|wxEXPAND + wxBOTTOM|wxEXPAND|wxTOP 0 1 @@ -204,11 +204,821 @@ + + 5 + wxBOTTOM|wxEXPAND|wxTOP + 0 + + wxID_ANY + User Defined Grid + + sbUserGridSizer + wxVERTICAL + 1 + none + + 5 + wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + 0 + + 3 + wxBOTH + 1 + + 0 + + fgSizer31 + wxFLEX_GROWMODE_SPECIFIED + none + 2 + 0 + + 5 + wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Size X: + 0 + + 0 + + + 0 + + 1 + m_staticTextSizeX + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxBOTTOM|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_OptGridSizeX + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_TextSizeXUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxRIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Size Y: + 0 + + 0 + + + 0 + + 1 + m_staticTextSizeY + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_OptGridSizeY + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_TextSizeYUnits + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + + + 5 + wxBOTTOM|wxEXPAND|wxTOP + 0 + + wxID_ANY + Fast Switching + + sbFastSwitchSizer + wxVERTICAL + 1 + none + + 5 + wxEXPAND|wxLEFT + 0 + + 3 + wxBOTH + 1 + + 5 + + fgSizer3 + wxFLEX_GROWMODE_SPECIFIED + none + 2 + 0 + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Grid 1: + 0 + + 0 + + + 0 + + 1 + m_staticTextGrid1 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + 240,-1 + 1 + m_comboBoxGrid1 + 1 + + + protected + 1 + + Resizable + -1 + 1 + + wxCB_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + (hotkey) + 0 + + 0 + + + 0 + + 1 + m_grid1HotKey + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Grid 2: + 0 + + 0 + + + 0 + + 1 + m_staticTextGrid2 + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxTOP|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + 240,-1 + 1 + m_comboBoxGrid2 + 1 + + + protected + 1 + + Resizable + -1 + 1 + + wxCB_READONLY + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + (hotkey) + 0 + + 0 + + + 0 + + 1 + m_grid2HotKey + 1 + + + protected + 1 + + Resizable + 1 + + + ; forward_declare + 0 + + + + + -1 + + + + + + 5 - wxEXPAND|wxTOP|wxRIGHT|wxLEFT + wxEXPAND|wxTOP 1 - + wxID_ANY Editing Options @@ -280,11 +1090,11 @@ - + 5 wxBOTTOM|wxLEFT|wxRIGHT 0 - + 1 1 1 @@ -344,11 +1154,11 @@ - + 5 wxBOTTOM|wxLEFT|wxRIGHT 0 - + 1 1 1 @@ -408,11 +1218,11 @@ - + 5 wxBOTTOM|wxLEFT|wxRIGHT 0 - + 1 1 1 @@ -472,11 +1282,11 @@ - + 5 wxEXPAND 1 - + 2 wxBOTH 1 @@ -488,11 +1298,11 @@ none 0 0 - + 5 wxALIGN_CENTER_VERTICAL|wxALL 0 - + 1 1 1 @@ -549,11 +1359,11 @@ -1 - + 5 wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND 0 - + 1 1 1 @@ -621,7 +1431,7 @@ 5 - wxEXPAND|wxRIGHT + wxEXPAND|wxLEFT|wxRIGHT 1 @@ -630,9 +1440,9 @@ none 5 - wxEXPAND - 1 - + wxBOTTOM|wxEXPAND|wxTOP + 0 + wxID_ANY Magnetic Points @@ -640,11 +1450,11 @@ wxVERTICAL 1 none - + 5 wxEXPAND 1 - + 2 wxVERTICAL @@ -656,11 +1466,11 @@ none 0 0 - + 5 wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND|wxLEFT|wxRIGHT 0 - + 1 1 1 @@ -717,11 +1527,11 @@ -1 - + 5 wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT 0 - + 1 1 1 @@ -781,11 +1591,11 @@ - + 5 wxALL 0 - + 1 1 1 @@ -842,11 +1652,11 @@ -1 - + 5 wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT 0 - + 1 1 1 @@ -906,11 +1716,11 @@ - + 5 wxALL 0 - + 1 1 1 @@ -967,11 +1777,11 @@ -1 - + 5 wxALIGN_CENTER_VERTICAL|wxEXPAND|wxLEFT|wxRIGHT 0 - + 1 1 1 @@ -1037,9 +1847,9 @@ 5 - wxEXPAND|wxTOP|wxLEFT - 1 - + wxBOTTOM|wxEXPAND|wxTOP + 0 + wxID_ANY Legacy Toolset Routing Options diff --git a/pcbnew/dialogs/panel_pcbnew_settings_base.h b/pcbnew/dialogs/panel_pcbnew_settings_base.h index bf0c0344a3..5182ff941e 100644 --- a/pcbnew/dialogs/panel_pcbnew_settings_base.h +++ b/pcbnew/dialogs/panel_pcbnew_settings_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version Jan 17 2019) +// C++ code generated with wxFormBuilder (version Oct 26 2018) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -16,11 +16,12 @@ #include #include #include -#include #include #include #include #include +#include +#include #include #include @@ -46,6 +47,18 @@ class PANEL_PCBNEW_SETTINGS_BASE : public wxPanel wxRadioBox* m_PolarDisplay; wxRadioBox* m_UnitsSelection; + wxStaticText* m_staticTextSizeX; + wxTextCtrl* m_OptGridSizeX; + wxStaticText* m_TextSizeXUnits; + wxStaticText* m_staticTextSizeY; + wxTextCtrl* m_OptGridSizeY; + wxStaticText* m_TextSizeYUnits; + wxStaticText* m_staticTextGrid1; + wxComboBox* m_comboBoxGrid1; + wxStaticText* m_grid1HotKey; + wxStaticText* m_staticTextGrid2; + wxComboBox* m_comboBoxGrid2; + wxStaticText* m_grid2HotKey; wxCheckBox* m_Show_Page_Limits; wxCheckBox* m_Segments_45_Only_Ctrl; wxCheckBox* m_UseEditKeyForWidth; diff --git a/pcbnew/dialogs/panel_setup_grids.cpp b/pcbnew/dialogs/panel_setup_grids.cpp new file mode 100644 index 0000000000..6c3396468a --- /dev/null +++ b/pcbnew/dialogs/panel_setup_grids.cpp @@ -0,0 +1,83 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2018 KiCad Developers, see change_log.txt for contributors. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you may find one here: + * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * or you may search the http://www.gnu.org website for the version 2 license, + * or you may write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +#include +#include +#include + +#include +#include +#include + +#include + + +PANEL_SETUP_GRIDS::PANEL_SETUP_GRIDS( PAGED_DIALOG* aParent, PCB_EDIT_FRAME* aFrame ) : + PANEL_SETUP_GRIDS_BASE( aParent->GetTreebook() ), + m_gridOriginX( aFrame, m_staticTextGridPosX, m_GridOriginXCtrl, m_TextPosXUnits ), + m_gridOriginY( aFrame, m_staticTextGridPosY, m_GridOriginYCtrl, m_TextPosYUnits ) +{ + m_Frame = aFrame; + m_BrdSettings = &m_Frame->GetBoard()->GetDesignSettings(); +} + + +bool PANEL_SETUP_GRIDS::TransferDataToWindow() +{ + m_gridOriginX.SetValue( m_BrdSettings->m_GridOrigin.x ); + m_gridOriginY.SetValue( m_BrdSettings->m_GridOrigin.y ); + + return true; +} + + +bool PANEL_SETUP_GRIDS::TransferDataFromWindow() +{ + // Because grid origin is saved in board, show as modified + m_Frame->OnModify(); + m_Frame->SetGridOrigin( wxPoint( m_gridOriginX.GetValue(), m_gridOriginY.GetValue() ) ); + + // Notify GAL + TOOL_MANAGER* mgr = m_Frame->GetToolManager(); + + if( mgr && m_Frame->IsGalCanvasActive() ) + { + TOOL_EVENT gridOriginUpdate = ACTIONS::gridSetOrigin.MakeEvent(); + gridOriginUpdate.SetParameter( new VECTOR2D( m_Frame->GetGridOrigin() ) ); + mgr->ProcessEvent( gridOriginUpdate ); + } + + return true; +} + + +void PANEL_SETUP_GRIDS::ImportSettingsFrom( BOARD* aBoard ) +{ + BOARD_DESIGN_SETTINGS* savedSettings = m_BrdSettings; + + m_BrdSettings = &aBoard->GetDesignSettings(); + TransferDataToWindow(); + + m_BrdSettings = savedSettings; +} diff --git a/pcbnew/tool_onrightclick.cpp b/pcbnew/dialogs/panel_setup_grids.h similarity index 54% rename from pcbnew/tool_onrightclick.cpp rename to pcbnew/dialogs/panel_setup_grids.h index 82a9031465..864d49f7b9 100644 --- a/pcbnew/tool_onrightclick.cpp +++ b/pcbnew/dialogs/panel_setup_grids.h @@ -1,13 +1,7 @@ -/** - * @file tool_onrightclick.cpp - */ - /* * This program source code file is part of KiCad, a free EDA CAD application. * - * Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr - * Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck - * Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2018 KiCad Developers, see change_log.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -27,23 +21,37 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -#include -#include -#include -#include -#include -#include +#ifndef PANEL_SETUP_GRIDS_H +#define PANEL_SETUP_GRIDS_H -void PCB_EDIT_FRAME::ToolOnRightClick( wxCommandEvent& event ) -{ - if( event.GetSelection() == ID_PCB_PLACE_GRID_COORD_BUTT ) - InvokeDialogGrid(); -} +#include +#include +#include +#include +class PCB_EDIT_FRAME; +class BOARD_DESIGN_SETTINGS; -void FOOTPRINT_EDIT_FRAME::ToolOnRightClick( wxCommandEvent& event ) + +class PANEL_SETUP_GRIDS : public PANEL_SETUP_GRIDS_BASE { - if( event.GetSelection() == ID_PCB_PLACE_GRID_COORD_BUTT ) - InvokeDialogGrid(); -} +private: + PCB_EDIT_FRAME* m_Frame; + BOARD_DESIGN_SETTINGS* m_BrdSettings; + +private: + UNIT_BINDER m_gridOriginX; + UNIT_BINDER m_gridOriginY; + +public: + PANEL_SETUP_GRIDS( PAGED_DIALOG* aParent, PCB_EDIT_FRAME* aFrame ); + ~PANEL_SETUP_GRIDS() override {}; + + bool TransferDataToWindow() override; + bool TransferDataFromWindow() override; + + void ImportSettingsFrom( BOARD* aBoard ); +}; + +#endif //PANEL_SETUP_GRIDS_H diff --git a/pcbnew/dialogs/panel_setup_grids_base.cpp b/pcbnew/dialogs/panel_setup_grids_base.cpp new file mode 100644 index 0000000000..d75d54e634 --- /dev/null +++ b/pcbnew/dialogs/panel_setup_grids_base.cpp @@ -0,0 +1,68 @@ +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Oct 26 2018) +// http://www.wxformbuilder.org/ +// +// PLEASE DO *NOT* EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#include "panel_setup_grids_base.h" + +/////////////////////////////////////////////////////////////////////////// + +PANEL_SETUP_GRIDS_BASE::PANEL_SETUP_GRIDS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name ) +{ + wxBoxSizer* bMainSizer; + bMainSizer = new wxBoxSizer( wxVERTICAL ); + + wxBoxSizer* bMargins; + bMargins = new wxBoxSizer( wxVERTICAL ); + + wxStaticBoxSizer* sbLeftSizer; + sbLeftSizer = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Grid Origin") ), wxVERTICAL ); + + wxFlexGridSizer* fgSizerGridOrigin; + fgSizerGridOrigin = new wxFlexGridSizer( 2, 3, 0, 0 ); + fgSizerGridOrigin->AddGrowableCol( 1 ); + fgSizerGridOrigin->SetFlexibleDirection( wxBOTH ); + fgSizerGridOrigin->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); + + m_staticTextGridPosX = new wxStaticText( sbLeftSizer->GetStaticBox(), wxID_ANY, _("X:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextGridPosX->Wrap( -1 ); + fgSizerGridOrigin->Add( m_staticTextGridPosX, 0, wxALIGN_CENTER_VERTICAL, 5 ); + + m_GridOriginXCtrl = new wxTextCtrl( sbLeftSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizerGridOrigin->Add( m_GridOriginXCtrl, 0, wxEXPAND|wxLEFT, 5 ); + + m_TextPosXUnits = new wxStaticText( sbLeftSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); + m_TextPosXUnits->Wrap( -1 ); + fgSizerGridOrigin->Add( m_TextPosXUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 ); + + m_staticTextGridPosY = new wxStaticText( sbLeftSizer->GetStaticBox(), wxID_ANY, _("Y:"), wxDefaultPosition, wxDefaultSize, 0 ); + m_staticTextGridPosY->Wrap( -1 ); + fgSizerGridOrigin->Add( m_staticTextGridPosY, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 ); + + m_GridOriginYCtrl = new wxTextCtrl( sbLeftSizer->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + fgSizerGridOrigin->Add( m_GridOriginYCtrl, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 ); + + m_TextPosYUnits = new wxStaticText( sbLeftSizer->GetStaticBox(), wxID_ANY, _("mm"), wxDefaultPosition, wxDefaultSize, 0 ); + m_TextPosYUnits->Wrap( -1 ); + fgSizerGridOrigin->Add( m_TextPosYUnits, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT, 5 ); + + + sbLeftSizer->Add( fgSizerGridOrigin, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); + + + bMargins->Add( sbLeftSizer, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 ); + + + bMainSizer->Add( bMargins, 1, wxEXPAND|wxRIGHT, 5 ); + + + this->SetSizer( bMainSizer ); + this->Layout(); + bMainSizer->Fit( this ); +} + +PANEL_SETUP_GRIDS_BASE::~PANEL_SETUP_GRIDS_BASE() +{ +} diff --git a/pcbnew/dialogs/panel_setup_grids_base.fbp b/pcbnew/dialogs/panel_setup_grids_base.fbp new file mode 100644 index 0000000000..6508930c79 --- /dev/null +++ b/pcbnew/dialogs/panel_setup_grids_base.fbp @@ -0,0 +1,475 @@ + + + + + + C++ + 1 + source_name + 0 + 0 + res + UTF-8 + connect + panel_setup_grids_base + 1000 + none + + 1 + panel_setup_grids_base + + . + + 1 + 1 + 1 + 1 + UI + 1 + 0 + + 0 + wxAUI_MGR_DEFAULT + + + 1 + 1 + impl_virtual + + + 0 + wxID_ANY + + + PANEL_SETUP_GRIDS_BASE + + -1,-1 + ; forward_declare + + + + wxTAB_TRAVERSAL + + + bMainSizer + wxVERTICAL + none + + 5 + wxEXPAND|wxRIGHT + 1 + + + bMargins + wxVERTICAL + none + + 5 + wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT + 0 + + wxID_ANY + Grid Origin + + sbLeftSizer + wxVERTICAL + 1 + none + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 + + 3 + wxBOTH + 1 + + 0 + + fgSizerGridOrigin + wxFLEX_GROWMODE_SPECIFIED + none + 2 + 0 + + 5 + wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + X: + 0 + + 0 + + + 0 + + 1 + m_staticTextGridPosX + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_GridOriginXCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_TextPosXUnits + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Y: + 0 + + 0 + + + 0 + + 1 + m_staticTextGridPosY + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + 5 + wxEXPAND|wxTOP|wxBOTTOM|wxLEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + 0 + + 0 + + 1 + m_GridOriginYCtrl + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxALIGN_CENTER_VERTICAL|wxALIGN_LEFT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + mm + 0 + + 0 + + + 0 + + 1 + m_TextPosYUnits + 1 + + + protected + 1 + + Resizable + 1 + + + + 0 + + + + + -1 + + + + + + + + + + + + diff --git a/pcbnew/dialogs/panel_setup_grids_base.h b/pcbnew/dialogs/panel_setup_grids_base.h new file mode 100644 index 0000000000..b7e345a687 --- /dev/null +++ b/pcbnew/dialogs/panel_setup_grids_base.h @@ -0,0 +1,47 @@ +/////////////////////////////////////////////////////////////////////////// +// C++ code generated with wxFormBuilder (version Oct 26 2018) +// http://www.wxformbuilder.org/ +// +// PLEASE DO *NOT* EDIT THIS FILE! +/////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/////////////////////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////////////////////// +/// Class PANEL_SETUP_GRIDS_BASE +/////////////////////////////////////////////////////////////////////////////// +class PANEL_SETUP_GRIDS_BASE : public wxPanel +{ + private: + + protected: + wxStaticText* m_staticTextGridPosX; + wxTextCtrl* m_GridOriginXCtrl; + wxStaticText* m_TextPosXUnits; + wxStaticText* m_staticTextGridPosY; + wxTextCtrl* m_GridOriginYCtrl; + wxStaticText* m_TextPosYUnits; + + public: + + PANEL_SETUP_GRIDS_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); + ~PANEL_SETUP_GRIDS_BASE(); + +}; + diff --git a/pcbnew/footprint_edit_frame.cpp b/pcbnew/footprint_edit_frame.cpp index 3b9de95589..406e8462a8 100644 --- a/pcbnew/footprint_edit_frame.cpp +++ b/pcbnew/footprint_edit_frame.cpp @@ -164,8 +164,6 @@ BEGIN_EVENT_TABLE( FOOTPRINT_EDIT_FRAME, PCB_BASE_FRAME ) EVT_MENU( ID_MODEDIT_MODULE_MIRROR, FOOTPRINT_EDIT_FRAME::Process_Special_Functions ) EVT_MENU( ID_MODEDIT_MODULE_MOVE_EXACT, FOOTPRINT_EDIT_FRAME::Process_Special_Functions ) - EVT_MENU( ID_PCB_USER_GRID_SETUP, FOOTPRINT_EDIT_FRAME::OnGridSettings ) - // Menu Help EVT_MENU( wxID_HELP, EDA_DRAW_FRAME::GetKicadHelp ) EVT_MENU( wxID_INDEX, EDA_DRAW_FRAME::GetKicadHelp ) @@ -950,6 +948,12 @@ void FOOTPRINT_EDIT_FRAME::OnUpdateLayerAlpha( wxUpdateUIEvent & ) } +void FOOTPRINT_EDIT_FRAME::OnGridSettings( wxCommandEvent& event ) +{ + ShowPreferences( g_Pcbnew_Editor_Hotkeys_Descr, g_Module_Editor_Hotkeys_Descr, wxT( "pcbnew" ) ); +} + + void FOOTPRINT_EDIT_FRAME::ProcessPreferences( wxCommandEvent& event ) { int id = event.GetId(); diff --git a/pcbnew/footprint_edit_frame.h b/pcbnew/footprint_edit_frame.h index 1f821b3f5f..7999f9c8e2 100644 --- a/pcbnew/footprint_edit_frame.h +++ b/pcbnew/footprint_edit_frame.h @@ -110,6 +110,8 @@ public: void Process_Special_Functions( wxCommandEvent& event ); + void OnGridSettings( wxCommandEvent& aEvent ) override; + void ProcessPreferences( wxCommandEvent& event ); /** @@ -148,7 +150,6 @@ public: // The Tool Framework initalization, for GAL mode void setupTools(); - void ToolOnRightClick( wxCommandEvent& event ) override; void OnSelectOptionToolbar( wxCommandEvent& event ); void OnConfigurePaths( wxCommandEvent& aEvent ); void OnToggleSearchTree( wxCommandEvent& event ); diff --git a/pcbnew/menubar_footprint_editor.cpp b/pcbnew/menubar_footprint_editor.cpp index 45d27dcd92..69c87be9c6 100644 --- a/pcbnew/menubar_footprint_editor.cpp +++ b/pcbnew/menubar_footprint_editor.cpp @@ -240,10 +240,6 @@ void FOOTPRINT_EDIT_FRAME::ReCreateMenuBar() _( "Show &Grid" ), wxEmptyString, KiBitmap( grid_xpm ), wxITEM_CHECK ); - AddMenuItem( viewMenu, ID_PCB_USER_GRID_SETUP, - _( "Grid &Settings..." ),_( "Adjust custom user-defined grid dimensions" ), - KiBitmap( grid_xpm ) ); - AddMenuItem( viewMenu, ID_TB_OPTIONS_SHOW_POLAR_COORD, _( "Display &Polar Coordinates" ), wxEmptyString, KiBitmap( polar_coord_xpm ), wxITEM_CHECK ); diff --git a/pcbnew/menubar_pcb_editor.cpp b/pcbnew/menubar_pcb_editor.cpp index 2fdf37450b..c94ce7fbf2 100644 --- a/pcbnew/menubar_pcb_editor.cpp +++ b/pcbnew/menubar_pcb_editor.cpp @@ -595,10 +595,6 @@ void prepareViewMenu( wxMenu* aParentMenu, bool aUseGal ) _( "Show &Grid" ), wxEmptyString, KiBitmap( grid_xpm ), wxITEM_CHECK ); - AddMenuItem( aParentMenu, ID_PCB_USER_GRID_SETUP, - _( "Grid &Settings..." ),_( "Adjust custom user-defined grid dimensions" ), - KiBitmap( grid_xpm ) ); - AddMenuItem( aParentMenu, ID_TB_OPTIONS_SHOW_POLAR_COORD, _( "Display &Polar Coordinates" ), wxEmptyString, KiBitmap( polar_coord_xpm ), wxITEM_CHECK ); diff --git a/pcbnew/pcb_base_edit_frame.h b/pcbnew/pcb_base_edit_frame.h index e860ea57d5..b3de5c28ce 100644 --- a/pcbnew/pcb_base_edit_frame.h +++ b/pcbnew/pcb_base_edit_frame.h @@ -172,9 +172,6 @@ public: ///> @copydoc PCB_BASE_FRAME::SetBoard() virtual void SetBoard( BOARD* aBoard ) override; - void OnGridSettings( wxCommandEvent& aEvent ) override; - bool InvokeDialogGrid(); - protected: /// User defined rotation angle (in tenths of a degree). int m_rotationAngle; diff --git a/pcbnew/pcb_edit_frame.cpp b/pcbnew/pcb_edit_frame.cpp index 97db1e4703..05f63bb780 100644 --- a/pcbnew/pcb_edit_frame.cpp +++ b/pcbnew/pcb_edit_frame.cpp @@ -144,7 +144,6 @@ BEGIN_EVENT_TABLE( PCB_EDIT_FRAME, PCB_BASE_FRAME ) EVT_MENU( ID_PREFERENCES_CONFIGURE_PATHS, PCB_EDIT_FRAME::OnConfigurePaths ) EVT_MENU( ID_PREFERENCES_HOTKEY_SHOW_CURRENT_LIST, PCB_EDIT_FRAME::Process_Config ) EVT_MENU( wxID_PREFERENCES, PCB_EDIT_FRAME::Process_Config ) - EVT_MENU( ID_PCB_USER_GRID_SETUP, PCB_EDIT_FRAME::OnGridSettings ) // menu Postprocess EVT_MENU( ID_PCB_GEN_POS_MODULES_FILE, PCB_EDIT_FRAME::GenFootprintsPositionFile ) @@ -826,6 +825,12 @@ void PCB_EDIT_FRAME::SetGridColor( COLOR4D aColor ) } +void PCB_EDIT_FRAME::OnGridSettings( wxCommandEvent& event ) +{ + ShowPreferences( g_Pcbnew_Editor_Hotkeys_Descr, g_Board_Editor_Hotkeys_Descr, wxT( "pcbnew" ) ); +} + + bool PCB_EDIT_FRAME::IsMicroViaAcceptable() { int copperlayercnt = GetBoard()->GetCopperLayerCount( ); diff --git a/pcbnew/pcb_edit_frame.h b/pcbnew/pcb_edit_frame.h index e5a04898f8..9c48408536 100644 --- a/pcbnew/pcb_edit_frame.h +++ b/pcbnew/pcb_edit_frame.h @@ -394,6 +394,8 @@ public: */ virtual void SetGridColor( COLOR4D aColor ) override; + void OnGridSettings( wxCommandEvent& aEvent ) override; + // Configurations: void Process_Config( wxCommandEvent& event ); @@ -740,7 +742,6 @@ public: void OnSelectOptionToolbar( wxCommandEvent& event ); void OnFlipPcbView( wxCommandEvent& event ); - void ToolOnRightClick( wxCommandEvent& event ) override; /* Block operations: */ diff --git a/pcbnew/pcbnew_id.h b/pcbnew/pcbnew_id.h index dfe402af5a..2fbafe1fc6 100644 --- a/pcbnew/pcbnew_id.h +++ b/pcbnew/pcbnew_id.h @@ -295,7 +295,6 @@ enum pcbnew_ids ID_PCB_GEN_CMP_FILE, ID_MENU_PCB_SHOW_3D_FRAME, - ID_PCB_USER_GRID_SETUP, ID_PCB_GEN_BOM_FILE_FROM_BOARD, ID_PCB_3DSHAPELIB_WIZARD, ID_PCB_LIB_TABLE_EDIT, --------------2.17.2 (Apple Git-113)--