diff --git a/common/layer_id.cpp b/common/layer_id.cpp index c32748064c..87112c173d 100644 --- a/common/layer_id.cpp +++ b/common/layer_id.cpp @@ -33,7 +33,7 @@ wxString LayerName( int aLayer ) switch( aLayer ) { // PCB_LAYER_ID - case UNDEFINED_LAYER: return _( "undefined" ); + case UNDEFINED_LAYER: return _( "undefined" ); // Copper case PCB_LAYER_ID::F_Cu: return wxT( "F.Cu" ); diff --git a/pcbnew/CMakeLists.txt b/pcbnew/CMakeLists.txt index 1b8fa6ed76..81a97db139 100644 --- a/pcbnew/CMakeLists.txt +++ b/pcbnew/CMakeLists.txt @@ -161,8 +161,8 @@ set( PCBNEW_DIALOGS dialogs/dialog_multichannel_generate_rule_areas.cpp dialogs/dialog_multichannel_repeat_layout_base.cpp dialogs/dialog_multichannel_repeat_layout.cpp - dialogs/panel_pcb_display_options.cpp - dialogs/panel_pcb_display_options_base.cpp + dialogs/panel_display_options.cpp + dialogs/panel_display_options_base.cpp dialogs/panel_edit_options.cpp dialogs/panel_edit_options_base.cpp dialogs/panel_fp_lib_table.cpp diff --git a/pcbnew/dialogs/panel_display_options.cpp b/pcbnew/dialogs/panel_display_options.cpp new file mode 100644 index 0000000000..dcb4bcb79a --- /dev/null +++ b/pcbnew/dialogs/panel_display_options.cpp @@ -0,0 +1,441 @@ +/* + * This program source code file is part of KiCad, a free EDA CAD application. + * + * Copyright (C) 2015 Jean-Pierre Charras, jean-pierre.charras at wanadoo.fr + * Copyright The 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 3 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, see <http://www.gnu.org/licenses/>. + */ + +#include <pgm_base.h> +#include <settings/settings_manager.h> +#include <pcbnew_settings.h> +#include <config_map.h> +#include <panel_display_options.h> +#include <widgets/paged_dialog.h> +#include <widgets/gal_options_panel.h> +#include <widgets/std_bitmap_button.h> +#include <grid_tricks.h> +#include <board_design_settings.h> +#include <grid_layer_box_helpers.h> +#include <footprint_editor_settings.h> + + +static const UTIL::CFG_MAP<TRACK_CLEARANCE_MODE> clearanceModeMap = +{ + { SHOW_WITH_VIA_WHILE_ROUTING, 2 }, // Default + { DO_NOT_SHOW_CLEARANCE, 0 }, + { SHOW_WHILE_ROUTING, 1 }, + { SHOW_WITH_VIA_WHILE_ROUTING_OR_DRAGGING, 3 }, + { SHOW_WITH_VIA_ALWAYS, 4 }, +}; + + +class LAYER_NAMES_GRID_TABLE : public wxGridTableBase +{ + std::vector<TEXT_ITEM_INFO> m_items; + +public: + LAYER_NAMES_GRID_TABLE() {} + + int GetNumberRows() override { return m_items.size(); } + int GetNumberCols() override { return 2; } + + wxString GetColLabelValue( int aCol ) override + { + switch( aCol ) + { + case 0: return _( "Layer" ); + case 1: return _( "Name" ); + default: return wxEmptyString; + } + } + + bool CanGetValueAs( int aRow, int aCol, const wxString& aTypeName ) override + { + switch( aCol ) + { + case 0: return aTypeName == wxGRID_VALUE_NUMBER; + case 1: return aTypeName == wxGRID_VALUE_STRING; + default: wxFAIL; return false; + } + } + + bool CanSetValueAs( int aRow, int aCol, const wxString& aTypeName ) override + { + return CanGetValueAs( aRow, aCol, aTypeName ); + } + + wxString GetValue( int row, int col ) override { return m_items[row].m_Text; } + void SetValue( int row, int col, const wxString& value ) override + { + if( col == 1 ) + m_items[row].m_Text = value; + } + + long GetValueAsLong( int row, int col ) override { return m_items[row].m_Layer; } + void SetValueAsLong( int row, int col, long value ) override + { + if( col == 0 ) + m_items[row].m_Layer = static_cast<PCB_LAYER_ID>( value ); + } + + bool AppendRows( size_t aNumRows = 1 ) override + { + std::set<int> layers; + int layer = User_1; + + for( const TEXT_ITEM_INFO& item : m_items ) + layers.insert( item.m_Layer ); + + + for( size_t i = 0; i < aNumRows; ++i ) + { + while( layers.contains( layer ) ) + layer = layer + 2; + + if( IsUserLayer( static_cast<PCB_LAYER_ID>( layer ) ) ) + { + layers.insert( layer ); + m_items.emplace_back( wxT( "" ), true, static_cast<PCB_LAYER_ID>( layer ) ); + } + else + { + return false; + } + } + + if( GetView() ) + { + wxGridTableMessage msg( this, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, aNumRows ); + GetView()->ProcessTableMessage( msg ); + } + + return true; + } + + bool DeleteRows( size_t aPos, size_t aNumRows ) override + { + // aPos may be a large positive, e.g. size_t(-1), and the sum of + // aPos+aNumRows may wrap here, so both ends of the range are tested. + if( aPos < m_items.size() && aPos + aNumRows <= m_items.size() ) + { + m_items.erase( m_items.begin() + aPos, m_items.begin() + aPos + aNumRows ); + + if( GetView() ) + { + wxGridTableMessage msg( this, wxGRIDTABLE_NOTIFY_ROWS_DELETED, aPos, aNumRows ); + GetView()->ProcessTableMessage( msg ); + } + return true; + } + + return false; + } +}; + + +PANEL_DISPLAY_OPTIONS::PANEL_DISPLAY_OPTIONS( wxWindow* aParent, APP_SETTINGS_BASE* aAppSettings ) : + PANEL_DISPLAY_OPTIONS_BASE( aParent ), + m_isPCBEdit( dynamic_cast<PCBNEW_SETTINGS*>( aAppSettings ) != nullptr ) +{ + m_galOptsPanel = new GAL_OPTIONS_PANEL( this, aAppSettings ); + m_galOptionsSizer->Add( m_galOptsPanel, 1, wxEXPAND|wxRIGHT, 15 ); + + m_optionsBook->SetSelection( m_isPCBEdit ? 1 : 0 ); + + m_layerNameitemsGrid->SetDefaultRowSize( m_layerNameitemsGrid->GetDefaultRowSize() + 4 ); + + m_layerNameitemsGrid->SetTable( new LAYER_NAMES_GRID_TABLE(), true ); + m_layerNameitemsGrid->PushEventHandler( new GRID_TRICKS( m_layerNameitemsGrid ) ); + m_layerNameitemsGrid->SetSelectionMode( wxGrid::wxGridSelectRows ); + + wxGridCellAttr* attr = new wxGridCellAttr; + attr->SetRenderer( new GRID_CELL_LAYER_RENDERER( nullptr ) ); + LSET forbiddenLayers = LSET::AllCuMask() | LSET::AllTechMask(); + forbiddenLayers.set( Edge_Cuts ); + forbiddenLayers.set( Margin ); + attr->SetEditor( new GRID_CELL_LAYER_SELECTOR( nullptr, forbiddenLayers ) ); + m_layerNameitemsGrid->SetColAttr( 0, attr ); + + m_bpAddLayer->SetBitmap( KiBitmapBundle( BITMAPS::small_plus ) ); + m_bpDeleteLayer->SetBitmap( KiBitmapBundle( BITMAPS::small_trash ) ); + + // I wish I knew why these were needed here and not anywhere else. Something to do with being + // inside a notebook page that starts off hidden? Anyway: no hacky code -> no worky. + m_bpAddLayer->SetSize( m_bpAddLayer->GetMinSize() ); + m_bpDeleteLayer->SetSize( m_bpDeleteLayer->GetMinSize() ); + Layout(); +} + + +PANEL_DISPLAY_OPTIONS::~PANEL_DISPLAY_OPTIONS() +{ + // destroy GRID_TRICKS before grids. + m_layerNameitemsGrid->PopEventHandler( true ); +} + + +void PANEL_DISPLAY_OPTIONS::loadFPSettings( const FOOTPRINT_EDITOR_SETTINGS* aCfg ) +{ + wxGridTableBase* table = m_layerNameitemsGrid->GetTable(); + + for( auto& item : aCfg->m_DesignSettings.m_UserLayerNames ) + { + wxString orig_name = item.first; + int layer = LSET::NameToLayer( orig_name ); + + if( !IsUserLayer( static_cast<PCB_LAYER_ID>( layer ) ) ) + continue; + + int row = m_layerNameitemsGrid->GetNumberRows(); + table->AppendRows( 1 ); + table->SetValueAsLong( row, 0, layer ); + table->SetValue( row, 1, item.second ); + } + + Layout(); +} + + +void PANEL_DISPLAY_OPTIONS::loadPCBSettings( PCBNEW_SETTINGS* aCfg ) +{ + int i = UTIL::GetConfigForVal( clearanceModeMap, aCfg->m_Display.m_TrackClearance ); + m_OptDisplayTracksClearance->SetSelection( i ); + + m_OptDisplayPadClearence->SetValue( aCfg->m_Display.m_PadClearance ); + m_OptDisplayPadNumber->SetValue( aCfg->m_ViewersDisplay.m_DisplayPadNumbers ); + m_ShowNetNamesOption->SetSelection( aCfg->m_Display.m_NetNames ); + m_checkForceShowFieldsWhenFPSelected->SetValue( aCfg->m_Display.m_ForceShowFieldsWhenFPSelected ); + m_live3Drefresh->SetValue( aCfg->m_Display.m_Live3DRefresh ); + m_checkCrossProbeOnSelection->SetValue( aCfg->m_CrossProbing.on_selection ); + m_checkCrossProbeCenter->SetValue( aCfg->m_CrossProbing.center_on_items ); + m_checkCrossProbeZoom->SetValue( aCfg->m_CrossProbing.zoom_to_fit ); + m_checkCrossProbeAutoHighlight->SetValue( aCfg->m_CrossProbing.auto_highlight ); +} + + +bool PANEL_DISPLAY_OPTIONS::Show( bool aShow ) +{ + bool retVal = wxPanel::Show( aShow ); + + if( aShow ) + { + // These *should* work in the constructor, and indeed they do if this panel is the + // first displayed. However, on OSX 3.0.5 (at least), if another panel is displayed + // first then the icons will be blank unless they're set here. + m_bpAddLayer->SetBitmap( KiBitmapBundle( BITMAPS::small_plus ) ); + m_bpDeleteLayer->SetBitmap( KiBitmapBundle( BITMAPS::small_trash ) ); + Layout(); + } + + return retVal; +} + + +bool PANEL_DISPLAY_OPTIONS::TransferDataToWindow() +{ + SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager(); + + if( m_isPCBEdit ) + { + PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" ); + + loadPCBSettings( cfg ); + } + else + { + FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" ); + + loadFPSettings( cfg ); + } + + m_galOptsPanel->TransferDataToWindow(); + + return true; +} + + +int PANEL_DISPLAY_OPTIONS::getNextAvailableLayer() const +{ + std::set<int> usedLayers; + + for( int i = 0; i < m_layerNameitemsGrid->GetNumberRows(); ++i ) + usedLayers.insert( (int) m_layerNameitemsGrid->GetTable()->GetValueAsLong( i, 0 ) ); + + for( int ii = User_1; ii < User_45; ++ii ) + { + if( !usedLayers.contains( ii ) ) + return ii; + } + + return -1; +} + + +void PANEL_DISPLAY_OPTIONS::onLayerChange( wxGridEvent& event ) +{ + wxGridTableBase* table = m_layerNameitemsGrid->GetTable(); + + if( event.GetCol() == 0 ) + { + int layer = static_cast<int>( table->GetValueAsLong( event.GetRow(), 0 ) ); + + for( int i = 0; i < m_layerNameitemsGrid->GetNumberRows(); ++i ) + { + if( i != event.GetRow() + && table->GetValueAsLong( i, 0 ) == layer ) + { + table->SetValueAsLong( event.GetRow(), 0, getNextAvailableLayer() ); + return; + } + } + } + + for( int ii = 0; ii < m_layerNameitemsGrid->GetNumberRows(); ++ii ) + { + wxString layerName = table->GetValue( ii, 1 ); + + if( ii != event.GetRow() && layerName == table->GetValue( event.GetRow(), 1 ) ) + { + wxString msg = wxString::Format( _( "Layer name %s already in use." ), layerName ); + PAGED_DIALOG::GetDialog( this )->SetError( msg, this, m_layerNameitemsGrid, ii, 1 ); + return; + } + } +} + + +void PANEL_DISPLAY_OPTIONS::OnAddLayerItem( wxCommandEvent& event ) +{ + if( !m_layerNameitemsGrid->CommitPendingChanges() ) + return; + + wxGridTableBase* table = m_layerNameitemsGrid->GetTable(); + + int newRow = m_layerNameitemsGrid->GetNumberRows(); + table->AppendRows( 1 ); + + m_layerNameitemsGrid->MakeCellVisible( newRow, 0 ); + m_layerNameitemsGrid->SetGridCursor( newRow, 0 ); +} + + +void PANEL_DISPLAY_OPTIONS::OnDeleteLayerItem( wxCommandEvent& event ) +{ + wxArrayInt selectedRows = m_layerNameitemsGrid->GetSelectedRows(); + + if( selectedRows.empty() && m_layerNameitemsGrid->GetGridCursorRow() >= 0 ) + selectedRows.push_back( m_layerNameitemsGrid->GetGridCursorRow() ); + + if( selectedRows.empty() ) + return; + + if( !m_layerNameitemsGrid->CommitPendingChanges() ) + return; + + // Reverse sort so deleting a row doesn't change the indexes of the other rows. + selectedRows.Sort( + []( int* first, int* second ) + { + return *second - *first; + } ); + + for( int row : selectedRows ) + { + m_layerNameitemsGrid->GetTable()->DeleteRows( row, 1 ); + + if( m_layerNameitemsGrid->GetNumberRows() > 0 ) + { + m_layerNameitemsGrid->MakeCellVisible( std::max( 0, row - 1 ), + m_layerNameitemsGrid->GetGridCursorCol() ); + m_layerNameitemsGrid->SetGridCursor( std::max( 0, row - 1 ), + m_layerNameitemsGrid->GetGridCursorCol() ); + } + } +} + + +/* + * Update variables with new options + */ +bool PANEL_DISPLAY_OPTIONS::TransferDataFromWindow() +{ + if( !m_layerNameitemsGrid->CommitPendingChanges() ) + return false; + + m_galOptsPanel->TransferDataFromWindow(); + + SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager(); + + if( m_isPCBEdit ) + { + PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" ); + + int i = m_OptDisplayTracksClearance->GetSelection(); + cfg->m_Display.m_TrackClearance = UTIL::GetValFromConfig( clearanceModeMap, i ); + + cfg->m_Display.m_PadClearance = m_OptDisplayPadClearence->GetValue(); + cfg->m_ViewersDisplay.m_DisplayPadNumbers = m_OptDisplayPadNumber->GetValue(); + cfg->m_Display.m_NetNames = m_ShowNetNamesOption->GetSelection(); + cfg->m_Display.m_ForceShowFieldsWhenFPSelected = m_checkForceShowFieldsWhenFPSelected->GetValue(); + cfg->m_Display.m_Live3DRefresh = m_live3Drefresh->GetValue(); + cfg->m_CrossProbing.on_selection = m_checkCrossProbeOnSelection->GetValue(); + cfg->m_CrossProbing.center_on_items = m_checkCrossProbeCenter->GetValue(); + cfg->m_CrossProbing.zoom_to_fit = m_checkCrossProbeZoom->GetValue(); + cfg->m_CrossProbing.auto_highlight = m_checkCrossProbeAutoHighlight->GetValue(); + } + else + { + FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" ); + + cfg->m_DesignSettings.m_UserLayerNames.clear(); + wxGridTableBase* table = m_layerNameitemsGrid->GetTable(); + + for( int i = 0; i < m_layerNameitemsGrid->GetNumberRows(); ++i ) + { + PCB_LAYER_ID layer = static_cast<PCB_LAYER_ID>( table->GetValueAsLong( i, 0 ) ); + wxString orig_name = LSET::Name( static_cast<PCB_LAYER_ID>( layer ) ); + wxString name = table->GetValue( i, 1 ); + + if( layer >= 0 && IsUserLayer( layer ) && !name.IsEmpty() ) + cfg->m_DesignSettings.m_UserLayerNames.emplace( orig_name.ToStdString(), name ); + } + } + + return true; +} + + +void PANEL_DISPLAY_OPTIONS::ResetPanel() +{ + if( m_isPCBEdit ) + { + PCBNEW_SETTINGS cfg; + cfg.Load(); // Loading without a file will init to defaults + + loadPCBSettings( &cfg ); + m_galOptsPanel->ResetPanel( &cfg ); + } + else + { + FOOTPRINT_EDITOR_SETTINGS cfg; + cfg.Load(); // Loading without a file will init to defaults + + loadFPSettings( &cfg ); + m_galOptsPanel->ResetPanel( &cfg ); + } +} + + diff --git a/pcbnew/dialogs/panel_pcb_display_options.h b/pcbnew/dialogs/panel_display_options.h similarity index 68% rename from pcbnew/dialogs/panel_pcb_display_options.h rename to pcbnew/dialogs/panel_display_options.h index 70bc61c2c9..0095754634 100644 --- a/pcbnew/dialogs/panel_pcb_display_options.h +++ b/pcbnew/dialogs/panel_display_options.h @@ -18,17 +18,21 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "panel_pcb_display_options_base.h" +#include "panel_display_options_base.h" class PCBNEW_SETTINGS; +class FOOTPRINT_EDITOR_SETTINGS; class APP_SETTINGS_BASE; class GAL_OPTIONS_PANEL; -class PANEL_PCB_DISPLAY_OPTIONS : public PANEL_PCB_DISPLAY_OPTIONS_BASE +class PANEL_DISPLAY_OPTIONS : public PANEL_DISPLAY_OPTIONS_BASE { public: - PANEL_PCB_DISPLAY_OPTIONS( wxWindow* aParent, APP_SETTINGS_BASE* aAppSettings ); + PANEL_DISPLAY_OPTIONS( wxWindow* aParent, APP_SETTINGS_BASE* aAppSettings ); + ~PANEL_DISPLAY_OPTIONS() override; + + bool Show( bool aShow ) override; bool TransferDataFromWindow() override; bool TransferDataToWindow() override; @@ -36,7 +40,14 @@ public: void ResetPanel() override; private: + void OnAddLayerItem( wxCommandEvent& event ) override; + void OnDeleteLayerItem( wxCommandEvent& event ) override; + void onLayerChange( wxGridEvent& event ) override; + void loadPCBSettings( PCBNEW_SETTINGS* aCfg ); + void loadFPSettings( const FOOTPRINT_EDITOR_SETTINGS* aCfg ); + + int getNextAvailableLayer() const; private: bool m_isPCBEdit; diff --git a/pcbnew/dialogs/panel_pcb_display_options_base.cpp b/pcbnew/dialogs/panel_display_options_base.cpp similarity index 66% rename from pcbnew/dialogs/panel_pcb_display_options_base.cpp rename to pcbnew/dialogs/panel_display_options_base.cpp index 86c05140ab..12f5cb3a2b 100644 --- a/pcbnew/dialogs/panel_pcb_display_options_base.cpp +++ b/pcbnew/dialogs/panel_display_options_base.cpp @@ -1,15 +1,18 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b) +// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// -#include "panel_pcb_display_options_base.h" +#include "widgets/std_bitmap_button.h" +#include "widgets/wx_grid.h" + +#include "panel_display_options_base.h" /////////////////////////////////////////////////////////////////////////// -PANEL_PCB_DISPLAY_OPTIONS_BASE::PANEL_PCB_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : RESETTABLE_PANEL( parent, id, pos, size, style, name ) +PANEL_DISPLAY_OPTIONS_BASE::PANEL_DISPLAY_OPTIONS_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : RESETTABLE_PANEL( parent, id, pos, size, style, name ) { wxBoxSizer* bMainSizer; bMainSizer = new wxBoxSizer( wxVERTICAL ); @@ -23,9 +26,70 @@ PANEL_PCB_DISPLAY_OPTIONS_BASE::PANEL_PCB_DISPLAY_OPTIONS_BASE( wxWindow* parent bupperSizer->Add( m_galOptionsSizer, 0, wxEXPAND|wxRIGHT, 10 ); m_optionsBook = new wxSimplebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); - wxPanel* emptyPage; - emptyPage = new wxPanel( m_optionsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); - m_optionsBook->AddPage( emptyPage, _("a page"), false ); + wxPanel* fpEditorPage; + fpEditorPage = new wxPanel( m_optionsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* fpEditorOptionsSizer; + fpEditorOptionsSizer = new wxBoxSizer( wxVERTICAL ); + + m_layerNamesLabel = new wxStaticText( fpEditorPage, wxID_ANY, _("Layer Names"), wxDefaultPosition, wxDefaultSize, 0 ); + m_layerNamesLabel->Wrap( -1 ); + fpEditorOptionsSizer->Add( m_layerNamesLabel, 0, wxTOP|wxRIGHT|wxLEFT, 13 ); + + + fpEditorOptionsSizer->Add( 0, 3, 0, 0, 5 ); + + m_layerNameitemsGrid = new WX_GRID( fpEditorPage, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxTAB_TRAVERSAL ); + + // Grid + m_layerNameitemsGrid->CreateGrid( 0, 2 ); + m_layerNameitemsGrid->EnableEditing( true ); + m_layerNameitemsGrid->EnableGridLines( true ); + m_layerNameitemsGrid->EnableDragGridSize( false ); + m_layerNameitemsGrid->SetMargins( 0, 0 ); + + // Columns + m_layerNameitemsGrid->SetColSize( 0, 200 ); + m_layerNameitemsGrid->SetColSize( 1, 220 ); + m_layerNameitemsGrid->EnableDragColMove( false ); + m_layerNameitemsGrid->EnableDragColSize( true ); + m_layerNameitemsGrid->SetColLabelValue( 0, _("Layer") ); + m_layerNameitemsGrid->SetColLabelValue( 1, _("Name") ); + m_layerNameitemsGrid->SetColLabelSize( wxGRID_AUTOSIZE ); + m_layerNameitemsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER ); + + // Rows + m_layerNameitemsGrid->EnableDragRowSize( false ); + m_layerNameitemsGrid->SetRowLabelSize( 0 ); + m_layerNameitemsGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER ); + + // Label Appearance + + // Cell Defaults + m_layerNameitemsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER ); + m_layerNameitemsGrid->SetMinSize( wxSize( -1,140 ) ); + + fpEditorOptionsSizer->Add( m_layerNameitemsGrid, 0, wxEXPAND|wxLEFT, 10 ); + + wxBoxSizer* bButtonSize1; + bButtonSize1 = new wxBoxSizer( wxHORIZONTAL ); + + m_bpAddLayer = new STD_BITMAP_BUTTON( fpEditorPage, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); + bButtonSize1->Add( m_bpAddLayer, 0, wxBOTTOM|wxLEFT|wxTOP, 5 ); + + + bButtonSize1->Add( 20, 0, 0, 0, 5 ); + + m_bpDeleteLayer = new STD_BITMAP_BUTTON( fpEditorPage, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); + bButtonSize1->Add( m_bpDeleteLayer, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 ); + + + fpEditorOptionsSizer->Add( bButtonSize1, 0, wxLEFT, 5 ); + + + fpEditorPage->SetSizer( fpEditorOptionsSizer ); + fpEditorPage->Layout(); + fpEditorOptionsSizer->Fit( fpEditorPage ); + m_optionsBook->AddPage( fpEditorPage, _("a page"), false ); wxPanel* pcbPage; pcbPage = new wxPanel( m_optionsBook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* pcbOptionsSizer; @@ -175,8 +239,20 @@ PANEL_PCB_DISPLAY_OPTIONS_BASE::PANEL_PCB_DISPLAY_OPTIONS_BASE( wxWindow* parent this->SetSizer( bMainSizer ); this->Layout(); bMainSizer->Fit( this ); + + // Connect Events + m_layerNameitemsGrid->Connect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( PANEL_DISPLAY_OPTIONS_BASE::onLayerChange ), NULL, this ); + m_layerNameitemsGrid->Connect( wxEVT_SIZE, wxSizeEventHandler( PANEL_DISPLAY_OPTIONS_BASE::OnGridSize ), NULL, this ); + m_bpAddLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_DISPLAY_OPTIONS_BASE::OnAddLayerItem ), NULL, this ); + m_bpDeleteLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_DISPLAY_OPTIONS_BASE::OnDeleteLayerItem ), NULL, this ); } -PANEL_PCB_DISPLAY_OPTIONS_BASE::~PANEL_PCB_DISPLAY_OPTIONS_BASE() +PANEL_DISPLAY_OPTIONS_BASE::~PANEL_DISPLAY_OPTIONS_BASE() { + // Disconnect Events + m_layerNameitemsGrid->Disconnect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( PANEL_DISPLAY_OPTIONS_BASE::onLayerChange ), NULL, this ); + m_layerNameitemsGrid->Disconnect( wxEVT_SIZE, wxSizeEventHandler( PANEL_DISPLAY_OPTIONS_BASE::OnGridSize ), NULL, this ); + m_bpAddLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_DISPLAY_OPTIONS_BASE::OnAddLayerItem ), NULL, this ); + m_bpDeleteLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_DISPLAY_OPTIONS_BASE::OnDeleteLayerItem ), NULL, this ); + } diff --git a/pcbnew/dialogs/panel_display_options_base.fbp b/pcbnew/dialogs/panel_display_options_base.fbp new file mode 100644 index 0000000000..39f0981caf --- /dev/null +++ b/pcbnew/dialogs/panel_display_options_base.fbp @@ -0,0 +1,1979 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<wxFormBuilder_Project> + <FileVersion major="1" minor="18"/> + <object class="Project" expanded="true"> + <property name="code_generation">C++</property> + <property name="cpp_class_decoration"></property> + <property name="cpp_disconnect_events">1</property> + <property name="cpp_event_generation">connect</property> + <property name="cpp_help_provider">none</property> + <property name="cpp_namespace"></property> + <property name="cpp_precompiled_header"></property> + <property name="cpp_use_array_enum">0</property> + <property name="cpp_use_enum">1</property> + <property name="embedded_files_path">res</property> + <property name="encoding">UTF-8</property> + <property name="file">panel_display_options_base</property> + <property name="first_id">1000</property> + <property name="internationalize">1</property> + <property name="lua_skip_events">1</property> + <property name="lua_ui_table">UI</property> + <property name="name">PanelDisplayOptions</property> + <property name="path">.</property> + <property name="php_disconnect_events">0</property> + <property name="php_disconnect_mode">source_name</property> + <property name="php_skip_events">1</property> + <property name="python_disconnect_events">0</property> + <property name="python_disconnect_mode">source_name</property> + <property name="python_image_path_wrapper_function_name"></property> + <property name="python_indent_with_spaces"></property> + <property name="python_skip_events">1</property> + <property name="relative_path">1</property> + <property name="use_microsoft_bom">0</property> + <property name="use_native_eol">0</property> + <object class="Panel" expanded="true"> + <property name="aui_managed">0</property> + <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> + <property name="bg"></property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="event_handler">impl_virtual</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">PANEL_DISPLAY_OPTIONS_BASE</property> + <property name="pos"></property> + <property name="size">-1,-1</property> + <property name="subclass">RESETTABLE_PANEL; widgets/resettable_panel.h; Not forward_declare</property> + <property name="tooltip"></property> + <property name="two_step_creation">0</property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style">wxTAB_TRAVERSAL</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">bMainSizer</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">bupperSizer</property> + <property name="orient">wxHORIZONTAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="true"> + <property name="border">10</property> + <property name="flag">wxEXPAND|wxRIGHT</property> + <property name="proportion">0</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">m_galOptionsSizer</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">protected</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxSimplebook" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_optionsBook</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <object class="simplebookpage" expanded="true"> + <property name="label">a page</property> + <property name="select">0</property> + <object class="wxPanel" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">fpEditorPage</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">none</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style">wxTAB_TRAVERSAL</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">fpEditorOptionsSizer</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="true"> + <property name="border">13</property> + <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxStaticText" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Layer Names</property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_layerNamesLabel</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <property name="wrap">-1</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag"></property> + <property name="proportion">0</property> + <object class="spacer" expanded="true"> + <property name="height">3</property> + <property name="permission">protected</property> + <property name="width">0</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">10</property> + <property name="flag">wxEXPAND|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxGrid" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="autosize_cols">0</property> + <property name="autosize_rows">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="cell_bg"></property> + <property name="cell_font"></property> + <property name="cell_horiz_alignment">wxALIGN_LEFT</property> + <property name="cell_text"></property> + <property name="cell_vert_alignment">wxALIGN_CENTER</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="col_label_horiz_alignment">wxALIGN_CENTER</property> + <property name="col_label_size">wxGRID_AUTOSIZE</property> + <property name="col_label_values">"Layer" "Name"</property> + <property name="col_label_vert_alignment">wxALIGN_CENTER</property> + <property name="cols">2</property> + <property name="column_sizes">200,220</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="drag_col_move">0</property> + <property name="drag_col_size">1</property> + <property name="drag_grid_size">0</property> + <property name="drag_row_size">0</property> + <property name="editing">1</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="grid_line_color"></property> + <property name="grid_lines">1</property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label_bg"></property> + <property name="label_font"></property> + <property name="label_text"></property> + <property name="margin_height">0</property> + <property name="margin_width">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size">-1,140</property> + <property name="moveable">1</property> + <property name="name">m_layerNameitemsGrid</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="row_label_horiz_alignment">wxALIGN_LEFT</property> + <property name="row_label_size">0</property> + <property name="row_label_values"></property> + <property name="row_label_vert_alignment">wxALIGN_CENTER</property> + <property name="row_sizes"></property> + <property name="rows">0</property> + <property name="show">1</property> + <property name="size">-1,-1</property> + <property name="subclass">WX_GRID; widgets/wx_grid.h; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style">wxTAB_TRAVERSAL</property> + <event name="OnGridCellChange">onLayerChange</event> + <event name="OnSize">OnGridSize</event> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxLEFT</property> + <property name="proportion">0</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">bButtonSize1</property> + <property name="orient">wxHORIZONTAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxBOTTOM|wxLEFT|wxTOP</property> + <property name="proportion">0</property> + <object class="wxBitmapButton" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="auth_needed">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Add Layer Name</property> + <property name="margins"></property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size">-1,-1</property> + <property name="moveable">1</property> + <property name="name">m_bpAddLayer</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <event name="OnButtonClick">OnAddLayerItem</event> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag"></property> + <property name="proportion">0</property> + <object class="spacer" expanded="true"> + <property name="height">0</property> + <property name="permission">protected</property> + <property name="width">20</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxBOTTOM|wxLEFT|wxRIGHT|wxTOP</property> + <property name="proportion">0</property> + <object class="wxBitmapButton" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="auth_needed">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="bitmap"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="current"></property> + <property name="default">0</property> + <property name="default_pane">0</property> + <property name="disabled"></property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="focus"></property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Delete Layer Name</property> + <property name="margins"></property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size">-1,-1</property> + <property name="moveable">1</property> + <property name="name">m_bpDeleteLayer</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="position"></property> + <property name="pressed"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <event name="OnButtonClick">OnDeleteLayerItem</event> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="simplebookpage" expanded="true"> + <property name="label">a page</property> + <property name="select">0</property> + <object class="wxPanel" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">pcbPage</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">none</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style">wxTAB_TRAVERSAL</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">pcbOptionsSizer</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">bMargins</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="true"> + <property name="border">13</property> + <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxStaticText" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Annotations</property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_annotationsLabel</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <property name="wrap">-1</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxBOTTOM</property> + <property name="proportion">0</property> + <object class="wxStaticLine" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_staticline1</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style">wxLI_HORIZONTAL</property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property> + <property name="proportion">1</property> + <object class="wxGridBagSizer" expanded="true"> + <property name="empty_cell_size"></property> + <property name="flexible_direction">wxBOTH</property> + <property name="growablecols"></property> + <property name="growablerows"></property> + <property name="hgap">0</property> + <property name="minimum_size"></property> + <property name="name">gbSizer1</property> + <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property> + <property name="permission">none</property> + <property name="vgap">2</property> + <object class="gbsizeritem" expanded="true"> + <property name="border">5</property> + <property name="colspan">1</property> + <property name="column">0</property> + <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property> + <property name="row">0</property> + <property name="rowspan">1</property> + <object class="wxStaticText" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Net names:</property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_netNamesLabel</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <property name="wrap">-1</property> + </object> + </object> + <object class="gbsizeritem" expanded="true"> + <property name="border">5</property> + <property name="colspan">1</property> + <property name="column">1</property> + <property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT</property> + <property name="row">0</property> + <property name="rowspan">1</property> + <object class="wxChoice" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="choices">"Do not show" "Show on pads" "Show on tracks" "Show on pads & tracks"</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_ShowNetNamesOption</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="selection">0</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="gbsizeritem" expanded="true"> + <property name="border">5</property> + <property name="colspan">2</property> + <property name="column">0</property> + <property name="flag">wxALL</property> + <property name="row">1</property> + <property name="rowspan">1</property> + <object class="wxCheckBox" expanded="false"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="checked">1</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Show pad numbers</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_OptDisplayPadNumber</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass"></property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">0</property> + <object class="spacer" expanded="true"> + <property name="height">10</property> + <property name="permission">protected</property> + <property name="width">0</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">13</property> + <property name="flag">wxTOP|wxRIGHT|wxLEFT|wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxStaticText" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Clearance Outlines</property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_clearanceLabel</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <property name="wrap">-1</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxBOTTOM</property> + <property name="proportion">0</property> + <object class="wxStaticLine" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_staticline2</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style">wxLI_HORIZONTAL</property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property> + <property name="proportion">1</property> + <object class="wxGridBagSizer" expanded="true"> + <property name="empty_cell_size"></property> + <property name="flexible_direction">wxBOTH</property> + <property name="growablecols"></property> + <property name="growablerows"></property> + <property name="hgap">0</property> + <property name="minimum_size"></property> + <property name="name">gbSizer2</property> + <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property> + <property name="permission">none</property> + <property name="vgap">2</property> + <object class="gbsizeritem" expanded="true"> + <property name="border">5</property> + <property name="colspan">1</property> + <property name="column">0</property> + <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property> + <property name="row">0</property> + <property name="rowspan">1</property> + <object class="wxStaticText" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Tracks:</property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_trackClearancesLabel</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <property name="wrap">-1</property> + </object> + </object> + <object class="gbsizeritem" expanded="true"> + <property name="border">5</property> + <property name="colspan">1</property> + <property name="column">1</property> + <property name="flag">wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL</property> + <property name="row">0</property> + <property name="rowspan">1</property> + <object class="wxChoice" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="choices">"Do not show clearances" "Show when routing" "Show when routing w/ via clearance at end" "Show when routing and editing" "Show always"</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_OptDisplayTracksClearance</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="selection">0</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="gbsizeritem" expanded="true"> + <property name="border">5</property> + <property name="colspan">2</property> + <property name="column">0</property> + <property name="flag">wxALL</property> + <property name="row">1</property> + <property name="rowspan">1</property> + <object class="wxCheckBox" expanded="false"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="checked">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Show pad clearance</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_OptDisplayPadClearence</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass"></property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">0</property> + <object class="spacer" expanded="true"> + <property name="height">10</property> + <property name="permission">protected</property> + <property name="width">0</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">13</property> + <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxStaticText" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Selection && Highlighting</property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_staticText4</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <property name="wrap">-1</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxBOTTOM</property> + <property name="proportion">0</property> + <object class="wxStaticLine" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_staticline4</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style">wxLI_HORIZONTAL</property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">bSizer9</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxCheckBox" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="checked">1</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Show all fields when parent footprint is selected</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_checkForceShowFieldsWhenFPSelected</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">0</property> + <object class="spacer" expanded="true"> + <property name="height">10</property> + <property name="permission">protected</property> + <property name="width">0</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">13</property> + <property name="flag">wxTOP|wxRIGHT|wxLEFT|wxEXPAND</property> + <property name="proportion">0</property> + <object class="wxStaticText" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Cross-probing</property> + <property name="markup">0</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_crossProbingLabel</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + <property name="wrap">-1</property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxBOTTOM</property> + <property name="proportion">0</property> + <object class="wxStaticLine" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_staticline3</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style">wxLI_HORIZONTAL</property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxBoxSizer" expanded="true"> + <property name="minimum_size"></property> + <property name="name">bSizer8</property> + <property name="orient">wxVERTICAL</property> + <property name="permission">none</property> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxCheckBox" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="checked">1</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Select/highlight objects corresponding to schematic selection</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_checkCrossProbeOnSelection</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip">Highlight footprints corresponding to selected symbols</property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxCheckBox" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="checked">1</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Center view on cross-probed items</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_checkCrossProbeCenter</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip">Ensures that cross-probed footprints are visible in the current view</property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxCheckBox" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="checked">1</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Zoom to fit cross-probed items</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_checkCrossProbeZoom</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> + <property name="proportion">0</property> + <object class="wxCheckBox" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="checked">1</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Highlight cross-probed nets</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_checkCrossProbeAutoHighlight</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip">Highlight nets when they are highlighted in the schematic editor</property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="sizeritem" expanded="true"> + <property name="border">5</property> + <property name="flag">wxBOTTOM|wxLEFT|wxRIGHT</property> + <property name="proportion">0</property> + <object class="wxCheckBox" expanded="true"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer">0</property> + <property name="aui_name"></property> + <property name="aui_position">0</property> + <property name="aui_row">0</property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="checked">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="drag_accept_files">0</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="label">Refresh 3D view automatically</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_live3Drefresh</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style"></property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip">When enabled, edits to the board will cause the 3D view to refresh (may be slow with larger boards)</property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> +</wxFormBuilder_Project> diff --git a/pcbnew/dialogs/panel_pcb_display_options_base.h b/pcbnew/dialogs/panel_display_options_base.h similarity index 61% rename from pcbnew/dialogs/panel_pcb_display_options_base.h rename to pcbnew/dialogs/panel_display_options_base.h index 0210ae1fa4..8a3b507837 100644 --- a/pcbnew/dialogs/panel_pcb_display_options_base.h +++ b/pcbnew/dialogs/panel_display_options_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b) +// C++ code generated with wxFormBuilder (version 4.2.1-0-g80c4cb6) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -10,15 +10,24 @@ #include <wx/artprov.h> #include <wx/xrc/xmlres.h> #include <wx/intl.h> +class STD_BITMAP_BUTTON; +class WX_GRID; + #include "widgets/resettable_panel.h" #include <wx/sizer.h> #include <wx/gdicmn.h> -#include <wx/panel.h> +#include <wx/string.h> +#include <wx/stattext.h> #include <wx/font.h> #include <wx/colour.h> #include <wx/settings.h> -#include <wx/string.h> -#include <wx/stattext.h> +#include <wx/grid.h> +#include <wx/bmpbuttn.h> +#include <wx/bitmap.h> +#include <wx/image.h> +#include <wx/icon.h> +#include <wx/button.h> +#include <wx/panel.h> #include <wx/statline.h> #include <wx/choice.h> #include <wx/checkbox.h> @@ -28,15 +37,19 @@ /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// -/// Class PANEL_PCB_DISPLAY_OPTIONS_BASE +/// Class PANEL_DISPLAY_OPTIONS_BASE /////////////////////////////////////////////////////////////////////////////// -class PANEL_PCB_DISPLAY_OPTIONS_BASE : public RESETTABLE_PANEL +class PANEL_DISPLAY_OPTIONS_BASE : public RESETTABLE_PANEL { private: protected: wxBoxSizer* m_galOptionsSizer; wxSimplebook* m_optionsBook; + wxStaticText* m_layerNamesLabel; + WX_GRID* m_layerNameitemsGrid; + STD_BITMAP_BUTTON* m_bpAddLayer; + STD_BITMAP_BUTTON* m_bpDeleteLayer; wxStaticText* m_annotationsLabel; wxStaticLine* m_staticline1; wxStaticText* m_netNamesLabel; @@ -58,11 +71,18 @@ class PANEL_PCB_DISPLAY_OPTIONS_BASE : public RESETTABLE_PANEL wxCheckBox* m_checkCrossProbeAutoHighlight; wxCheckBox* m_live3Drefresh; + // Virtual event handlers, override them in your derived class + virtual void onLayerChange( wxGridEvent& event ) { event.Skip(); } + virtual void OnGridSize( wxSizeEvent& event ) { event.Skip(); } + virtual void OnAddLayerItem( wxCommandEvent& event ) { event.Skip(); } + virtual void OnDeleteLayerItem( wxCommandEvent& event ) { event.Skip(); } + + public: - PANEL_PCB_DISPLAY_OPTIONS_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_DISPLAY_OPTIONS_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_PCB_DISPLAY_OPTIONS_BASE(); + ~PANEL_DISPLAY_OPTIONS_BASE(); }; diff --git a/pcbnew/dialogs/panel_fp_editor_field_defaults.cpp b/pcbnew/dialogs/panel_fp_editor_field_defaults.cpp index adc0954e3b..09beb2352b 100644 --- a/pcbnew/dialogs/panel_fp_editor_field_defaults.cpp +++ b/pcbnew/dialogs/panel_fp_editor_field_defaults.cpp @@ -36,109 +36,6 @@ #include <confirm.h> -class LAYER_NAMES_GRID_TABLE : public wxGridTableBase -{ - std::vector<TEXT_ITEM_INFO> m_items; - -public: - LAYER_NAMES_GRID_TABLE() {} - - int GetNumberRows() override { return m_items.size(); } - int GetNumberCols() override { return 2; } - - wxString GetColLabelValue( int aCol ) override - { - switch( aCol ) - { - case 0: return _( "Layer" ); - case 1: return _( "Name" ); - default: return wxEmptyString; - } - } - - bool CanGetValueAs( int aRow, int aCol, const wxString& aTypeName ) override - { - switch( aCol ) - { - case 0: return aTypeName == wxGRID_VALUE_NUMBER; - case 1: return aTypeName == wxGRID_VALUE_STRING; - default: wxFAIL; return false; - } - } - - bool CanSetValueAs( int aRow, int aCol, const wxString& aTypeName ) override - { - return CanGetValueAs( aRow, aCol, aTypeName ); - } - - wxString GetValue( int row, int col ) override { return m_items[row].m_Text; } - void SetValue( int row, int col, const wxString& value ) override - { - if( col == 1 ) - m_items[row].m_Text = value; - } - - long GetValueAsLong( int row, int col ) override { return m_items[row].m_Layer; } - void SetValueAsLong( int row, int col, long value ) override - { - if( col == 0 ) - m_items[row].m_Layer = static_cast<PCB_LAYER_ID>( value ); - } - - bool AppendRows( size_t aNumRows = 1 ) override - { - std::set<int> layers; - int layer = User_1; - - for( const TEXT_ITEM_INFO& item : m_items ) - layers.insert( item.m_Layer ); - - - for( size_t i = 0; i < aNumRows; ++i ) - { - while( layers.contains( layer ) ) - layer = layer + 2; - - if( IsUserLayer( static_cast<PCB_LAYER_ID>( layer ) ) ) - { - layers.insert( layer ); - m_items.emplace_back( wxT( "" ), true, static_cast<PCB_LAYER_ID>( layer ) ); - } - else - { - return false; - } - } - - if( GetView() ) - { - wxGridTableMessage msg( this, wxGRIDTABLE_NOTIFY_ROWS_APPENDED, aNumRows ); - GetView()->ProcessTableMessage( msg ); - } - - return true; - } - - bool DeleteRows( size_t aPos, size_t aNumRows ) override - { - // aPos may be a large positive, e.g. size_t(-1), and the sum of - // aPos+aNumRows may wrap here, so both ends of the range are tested. - if( aPos < m_items.size() && aPos + aNumRows <= m_items.size() ) - { - m_items.erase( m_items.begin() + aPos, m_items.begin() + aPos + aNumRows ); - - if( GetView() ) - { - wxGridTableMessage msg( this, wxGRIDTABLE_NOTIFY_ROWS_DELETED, aPos, aNumRows ); - GetView()->ProcessTableMessage( msg ); - } - return true; - } - - return false; - } -}; - class TEXT_ITEMS_GRID_TABLE : public wxGridTableBase { bool m_forFieldProps; @@ -308,22 +205,6 @@ PANEL_FP_EDITOR_FIELD_DEFAULTS::PANEL_FP_EDITOR_FIELD_DEFAULTS( wxWindow* attr->SetRenderer( new GRID_CELL_LAYER_RENDERER( nullptr ) ); attr->SetEditor( new GRID_CELL_LAYER_SELECTOR( nullptr, {} ) ); m_textItemsGrid->SetColAttr( 1, attr ); - - m_layerNameitemsGrid->SetDefaultRowSize( m_layerNameitemsGrid->GetDefaultRowSize() + 4 ); - - m_layerNameitemsGrid->SetTable( new LAYER_NAMES_GRID_TABLE(), true ); - m_layerNameitemsGrid->PushEventHandler( new GRID_TRICKS( m_layerNameitemsGrid ) ); - m_layerNameitemsGrid->SetSelectionMode( wxGrid::wxGridSelectRows ); - - attr = new wxGridCellAttr; - attr->SetRenderer( new GRID_CELL_LAYER_RENDERER( nullptr ) ); - LSET forbiddenLayers = LSET::AllCuMask() | LSET::AllTechMask(); - forbiddenLayers.set( Edge_Cuts ); - forbiddenLayers.set( Margin ); - attr->SetEditor( new GRID_CELL_LAYER_SELECTOR( nullptr, forbiddenLayers ) ); - m_layerNameitemsGrid->SetColAttr( 0, attr ); - - } @@ -332,7 +213,6 @@ PANEL_FP_EDITOR_FIELD_DEFAULTS::~PANEL_FP_EDITOR_FIELD_DEFAULTS() // destroy GRID_TRICKS before grids. m_fieldPropsGrid->PopEventHandler( true ); m_textItemsGrid->PopEventHandler( true ); - m_layerNameitemsGrid->PopEventHandler( true ); } @@ -370,22 +250,6 @@ void PANEL_FP_EDITOR_FIELD_DEFAULTS::loadFPSettings( const FOOTPRINT_EDITOR_SETT table->SetValueAsLong( i - 2, 1, item.m_Layer ); } - table = m_layerNameitemsGrid->GetTable(); - - for( auto& item : aCfg->m_DesignSettings.m_UserLayerNames ) - { - wxString orig_name = item.first; - int layer = LSET::NameToLayer( orig_name ); - - if( !IsUserLayer( static_cast<PCB_LAYER_ID>( layer ) ) ) - continue; - - int row = m_layerNameitemsGrid->GetNumberRows(); - table->AppendRows( 1 ); - table->SetValueAsLong( row, 0, layer ); - table->SetValue( row, 1, item.second ); - } - Layout(); } @@ -411,8 +275,6 @@ bool PANEL_FP_EDITOR_FIELD_DEFAULTS::Show( bool aShow ) // first then the icons will be blank unless they're set here. m_bpAdd->SetBitmap( KiBitmapBundle( BITMAPS::small_plus ) ); m_bpDelete->SetBitmap( KiBitmapBundle( BITMAPS::small_trash ) ); - m_bpAddLayer->SetBitmap( KiBitmapBundle( BITMAPS::small_plus ) ); - m_bpDeleteLayer->SetBitmap( KiBitmapBundle( BITMAPS::small_trash ) ); } return retVal; @@ -450,85 +312,10 @@ bool PANEL_FP_EDITOR_FIELD_DEFAULTS::TransferDataFromWindow() cfg.m_DefaultFPTextItems.emplace_back( text, true, layer ); } - cfg.m_UserLayerNames.clear(); - table = m_layerNameitemsGrid->GetTable(); - - for( int i = 0; i < m_layerNameitemsGrid->GetNumberRows(); ++i ) - { - PCB_LAYER_ID layer = static_cast<PCB_LAYER_ID>( table->GetValueAsLong( i, 0 ) ); - wxString orig_name = LSET::Name( static_cast<PCB_LAYER_ID>( layer ) ); - wxString name = table->GetValue( i, 1 ); - - if( layer >= 0 && IsUserLayer( layer ) && !name.IsEmpty() ) - cfg.m_UserLayerNames.emplace( orig_name.ToStdString(), name ); - } - return true; } -bool PANEL_FP_EDITOR_FIELD_DEFAULTS::isLayerAvailable( int aLayer ) const -{ - for( int i = 0; i < m_layerNameitemsGrid->GetNumberRows(); ++i ) - { - if( m_layerNameitemsGrid->GetTable()->GetValueAsLong( i, 0 ) == aLayer ) - return false; - } - - return true; -} - - -int PANEL_FP_EDITOR_FIELD_DEFAULTS::getNextAvailableLayer() const -{ - std::set<int> usedLayers; - - for( int i = 0; i < m_layerNameitemsGrid->GetNumberRows(); ++i ) - usedLayers.insert( m_layerNameitemsGrid->GetTable()->GetValueAsLong( i, 0 ) ); - - for( int ii = User_1; ii < User_45; ++ii ) - { - if( !usedLayers.contains( ii ) ) - return ii; - } - - return -1; -} - - -void PANEL_FP_EDITOR_FIELD_DEFAULTS::onLayerChange( wxGridEvent& event ) -{ - wxGridTableBase* table = m_layerNameitemsGrid->GetTable(); - - if( event.GetCol() == 0 ) - { - int layer = static_cast<int>( table->GetValueAsLong( event.GetRow(), 0 ) ); - - for( int i = 0; i < m_layerNameitemsGrid->GetNumberRows(); ++i ) - { - if( i != event.GetRow() - && table->GetValueAsLong( i, 0 ) == layer ) - { - table->SetValueAsLong( event.GetRow(), 0, getNextAvailableLayer() ); - return; - } - } - } - - for( int ii = 0; ii < m_layerNameitemsGrid->GetNumberRows(); ++ii ) - { - wxString layerName = table->GetValue( ii, 1 ); - - if( ii != event.GetRow() && layerName == table->GetValue( event.GetRow(), 1 ) ) - { - wxString msg = wxString::Format( _( "Layer name %s already in use." ), layerName ); - PAGED_DIALOG::GetDialog( this )->SetError( msg, this, m_layerNameitemsGrid, ii, 1 ); - return; - } - } -} - - void PANEL_FP_EDITOR_FIELD_DEFAULTS::OnAddTextItem( wxCommandEvent& event ) { if( !m_textItemsGrid->CommitPendingChanges() ) @@ -548,24 +335,6 @@ void PANEL_FP_EDITOR_FIELD_DEFAULTS::OnAddTextItem( wxCommandEvent& event ) } -void PANEL_FP_EDITOR_FIELD_DEFAULTS::OnAddLayerItem( wxCommandEvent& event ) -{ - if( !m_layerNameitemsGrid->CommitPendingChanges() ) - return; - - wxGridTableBase* table = m_layerNameitemsGrid->GetTable(); - - int newRow = m_layerNameitemsGrid->GetNumberRows(); - table->AppendRows( 1 ); - - m_layerNameitemsGrid->MakeCellVisible( newRow, 0 ); - m_layerNameitemsGrid->SetGridCursor( newRow, 0 ); - - m_layerNameitemsGrid->EnableCellEditControl( true ); - m_layerNameitemsGrid->ShowCellEditControl(); -} - - void PANEL_FP_EDITOR_FIELD_DEFAULTS::OnDeleteTextItem( wxCommandEvent& event ) { wxArrayInt selectedRows = m_textItemsGrid->GetSelectedRows(); @@ -601,41 +370,6 @@ void PANEL_FP_EDITOR_FIELD_DEFAULTS::OnDeleteTextItem( wxCommandEvent& event ) } -void PANEL_FP_EDITOR_FIELD_DEFAULTS::OnDeleteLayerItem( wxCommandEvent& event ) -{ - wxArrayInt selectedRows = m_layerNameitemsGrid->GetSelectedRows(); - - if( selectedRows.empty() && m_layerNameitemsGrid->GetGridCursorRow() >= 0 ) - selectedRows.push_back( m_layerNameitemsGrid->GetGridCursorRow() ); - - if( selectedRows.empty() ) - return; - - if( !m_layerNameitemsGrid->CommitPendingChanges() ) - return; - - // Reverse sort so deleting a row doesn't change the indexes of the other rows. - selectedRows.Sort( - []( int* first, int* second ) - { - return *second - *first; - } ); - - for( int row : selectedRows ) - { - m_layerNameitemsGrid->GetTable()->DeleteRows( row, 1 ); - - if( m_layerNameitemsGrid->GetNumberRows() > 0 ) - { - m_layerNameitemsGrid->MakeCellVisible( std::max( 0, row - 1 ), - m_layerNameitemsGrid->GetGridCursorCol() ); - m_layerNameitemsGrid->SetGridCursor( std::max( 0, row - 1 ), - m_layerNameitemsGrid->GetGridCursorCol() ); - } - } -} - - void PANEL_FP_EDITOR_FIELD_DEFAULTS::ResetPanel() { FOOTPRINT_EDITOR_SETTINGS cfg; diff --git a/pcbnew/dialogs/panel_fp_editor_field_defaults.h b/pcbnew/dialogs/panel_fp_editor_field_defaults.h index 77249f2846..7a60d4d537 100644 --- a/pcbnew/dialogs/panel_fp_editor_field_defaults.h +++ b/pcbnew/dialogs/panel_fp_editor_field_defaults.h @@ -35,26 +35,19 @@ public: PANEL_FP_EDITOR_FIELD_DEFAULTS( wxWindow* aParent, UNITS_PROVIDER* aUnitsProvider ); ~PANEL_FP_EDITOR_FIELD_DEFAULTS() override; + bool Show( bool aShow ) override; + bool TransferDataToWindow() override; bool TransferDataFromWindow() override; void ResetPanel() override; private: - virtual void OnAddTextItem( wxCommandEvent& event ) override; - virtual void OnDeleteTextItem( wxCommandEvent& event ) override; - virtual void OnAddLayerItem( wxCommandEvent& event ) override; - virtual void OnDeleteLayerItem( wxCommandEvent& event ) override; - virtual void onLayerChange( wxGridEvent& event ) override; - - bool Show( bool aShow ) override; + void OnAddTextItem( wxCommandEvent& event ) override; + void OnDeleteTextItem( wxCommandEvent& event ) override; void loadFPSettings( const FOOTPRINT_EDITOR_SETTINGS* aCfg ); - bool isLayerAvailable( int aLayerId ) const; - int getNextAvailableLayer() const; - - private: UNITS_PROVIDER* m_unitProvider; BOARD_DESIGN_SETTINGS& m_designSettings; diff --git a/pcbnew/dialogs/panel_fp_editor_field_defaults_base.cpp b/pcbnew/dialogs/panel_fp_editor_field_defaults_base.cpp index 5737a268af..4d0aabdc19 100644 --- a/pcbnew/dialogs/panel_fp_editor_field_defaults_base.cpp +++ b/pcbnew/dialogs/panel_fp_editor_field_defaults_base.cpp @@ -140,73 +140,6 @@ PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE( wxWind bSizerMargins->Add( 5, 25, 0, wxEXPAND, 5 ); - defaultValuesLabel = new wxStaticText( this, wxID_ANY, _("Default Values"), wxDefaultPosition, wxDefaultSize, 0 ); - defaultValuesLabel->Wrap( -1 ); - bSizerMargins->Add( defaultValuesLabel, 0, wxEXPAND|wxLEFT|wxTOP, 8 ); - - - bSizerMargins->Add( 0, 4, 0, wxEXPAND, 5 ); - - wxBoxSizer* defaultFieldsSizer; - defaultFieldsSizer = new wxBoxSizer( wxVERTICAL ); - - m_layerNameitemsGrid = new WX_GRID( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxTAB_TRAVERSAL ); - - // Grid - m_layerNameitemsGrid->CreateGrid( 0, 2 ); - m_layerNameitemsGrid->EnableEditing( true ); - m_layerNameitemsGrid->EnableGridLines( true ); - m_layerNameitemsGrid->EnableDragGridSize( false ); - m_layerNameitemsGrid->SetMargins( 0, 0 ); - - // Columns - m_layerNameitemsGrid->SetColSize( 0, 200 ); - m_layerNameitemsGrid->SetColSize( 1, 380 ); - m_layerNameitemsGrid->EnableDragColMove( false ); - m_layerNameitemsGrid->EnableDragColSize( true ); - m_layerNameitemsGrid->SetColLabelValue( 0, _("Layer") ); - m_layerNameitemsGrid->SetColLabelValue( 1, _("Name") ); - m_layerNameitemsGrid->SetColLabelSize( wxGRID_AUTOSIZE ); - m_layerNameitemsGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER ); - - // Rows - m_layerNameitemsGrid->EnableDragRowSize( false ); - m_layerNameitemsGrid->SetRowLabelSize( 0 ); - m_layerNameitemsGrid->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTER ); - - // Label Appearance - - // Cell Defaults - m_layerNameitemsGrid->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_CENTER ); - m_layerNameitemsGrid->SetMinSize( wxSize( -1,140 ) ); - - defaultFieldsSizer->Add( m_layerNameitemsGrid, 0, wxEXPAND, 5 ); - - wxBoxSizer* bButtonSize1; - bButtonSize1 = new wxBoxSizer( wxHORIZONTAL ); - - m_bpAddLayer = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); - m_bpAddLayer->SetMinSize( wxSize( 30,29 ) ); - - bButtonSize1->Add( m_bpAddLayer, 0, wxBOTTOM|wxLEFT|wxTOP, 5 ); - - - bButtonSize1->Add( 20, 0, 0, wxEXPAND, 5 ); - - m_bpDeleteLayer = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); - m_bpDeleteLayer->SetMinSize( wxSize( 30,29 ) ); - - bButtonSize1->Add( m_bpDeleteLayer, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxTOP, 5 ); - - - bButtonSize1->Add( 0, 0, 1, wxEXPAND, 5 ); - - - defaultFieldsSizer->Add( bButtonSize1, 1, wxEXPAND, 5 ); - - - bSizerMargins->Add( defaultFieldsSizer, 1, wxEXPAND, 20 ); - bSizerMain->Add( bSizerMargins, 1, wxEXPAND, 5 ); @@ -220,10 +153,6 @@ PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE( wxWind m_textItemsGrid->Connect( wxEVT_SIZE, wxSizeEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnGridSize ), NULL, this ); m_bpAdd->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnAddTextItem ), NULL, this ); m_bpDelete->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnDeleteTextItem ), NULL, this ); - m_layerNameitemsGrid->Connect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::onLayerChange ), NULL, this ); - m_layerNameitemsGrid->Connect( wxEVT_SIZE, wxSizeEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnGridSize ), NULL, this ); - m_bpAddLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnAddLayerItem ), NULL, this ); - m_bpDeleteLayer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnDeleteLayerItem ), NULL, this ); } PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::~PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE() @@ -233,9 +162,5 @@ PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::~PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE() m_textItemsGrid->Disconnect( wxEVT_SIZE, wxSizeEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnGridSize ), NULL, this ); m_bpAdd->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnAddTextItem ), NULL, this ); m_bpDelete->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnDeleteTextItem ), NULL, this ); - m_layerNameitemsGrid->Disconnect( wxEVT_GRID_CELL_CHANGED, wxGridEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::onLayerChange ), NULL, this ); - m_layerNameitemsGrid->Disconnect( wxEVT_SIZE, wxSizeEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnGridSize ), NULL, this ); - m_bpAddLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnAddLayerItem ), NULL, this ); - m_bpDeleteLayer->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE::OnDeleteLayerItem ), NULL, this ); } diff --git a/pcbnew/dialogs/panel_fp_editor_field_defaults_base.fbp b/pcbnew/dialogs/panel_fp_editor_field_defaults_base.fbp index 740a7d2042..8a502ab70b 100644 --- a/pcbnew/dialogs/panel_fp_editor_field_defaults_base.fbp +++ b/pcbnew/dialogs/panel_fp_editor_field_defaults_base.fbp @@ -616,361 +616,6 @@ <property name="width">5</property> </object> </object> - <object class="sizeritem" expanded="true"> - <property name="border">8</property> - <property name="flag">wxEXPAND|wxLEFT|wxTOP</property> - <property name="proportion">0</property> - <object class="wxStaticText" expanded="true"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer">0</property> - <property name="aui_name"></property> - <property name="aui_position">0</property> - <property name="aui_row">0</property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="drag_accept_files">0</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Default Values</property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">defaultValuesLabel</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <property name="wrap">-1</property> - </object> - </object> - <object class="sizeritem" expanded="true"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">0</property> - <object class="spacer" expanded="true"> - <property name="height">4</property> - <property name="permission">protected</property> - <property name="width">0</property> - </object> - </object> - <object class="sizeritem" expanded="true"> - <property name="border">20</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">1</property> - <object class="wxBoxSizer" expanded="true"> - <property name="minimum_size"></property> - <property name="name">defaultFieldsSizer</property> - <property name="orient">wxVERTICAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="true"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">0</property> - <object class="wxGrid" expanded="true"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer">0</property> - <property name="aui_name"></property> - <property name="aui_position">0</property> - <property name="aui_row">0</property> - <property name="autosize_cols">0</property> - <property name="autosize_rows">0</property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="cell_bg"></property> - <property name="cell_font"></property> - <property name="cell_horiz_alignment">wxALIGN_LEFT</property> - <property name="cell_text"></property> - <property name="cell_vert_alignment">wxALIGN_CENTER</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="col_label_horiz_alignment">wxALIGN_CENTER</property> - <property name="col_label_size">wxGRID_AUTOSIZE</property> - <property name="col_label_values">"Layer" "Name"</property> - <property name="col_label_vert_alignment">wxALIGN_CENTER</property> - <property name="cols">2</property> - <property name="column_sizes">200,380</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="drag_accept_files">0</property> - <property name="drag_col_move">0</property> - <property name="drag_col_size">1</property> - <property name="drag_grid_size">0</property> - <property name="drag_row_size">0</property> - <property name="editing">1</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="grid_line_color"></property> - <property name="grid_lines">1</property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label_bg"></property> - <property name="label_font"></property> - <property name="label_text"></property> - <property name="margin_height">0</property> - <property name="margin_width">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size">-1,140</property> - <property name="moveable">1</property> - <property name="name">m_layerNameitemsGrid</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="row_label_horiz_alignment">wxALIGN_LEFT</property> - <property name="row_label_size">0</property> - <property name="row_label_values"></property> - <property name="row_label_vert_alignment">wxALIGN_CENTER</property> - <property name="row_sizes"></property> - <property name="rows">0</property> - <property name="show">1</property> - <property name="size">-1,-1</property> - <property name="subclass">WX_GRID; widgets/wx_grid.h; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style">wxTAB_TRAVERSAL</property> - <event name="OnGridCellChange">onLayerChange</event> - <event name="OnSize">OnGridSize</event> - </object> - </object> - <object class="sizeritem" expanded="true"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">1</property> - <object class="wxBoxSizer" expanded="true"> - <property name="minimum_size"></property> - <property name="name">bButtonSize1</property> - <property name="orient">wxHORIZONTAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="true"> - <property name="border">5</property> - <property name="flag">wxBOTTOM|wxLEFT|wxTOP</property> - <property name="proportion">0</property> - <object class="wxBitmapButton" expanded="true"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer">0</property> - <property name="aui_name"></property> - <property name="aui_position">0</property> - <property name="aui_row">0</property> - <property name="auth_needed">0</property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="bitmap"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="current"></property> - <property name="default">0</property> - <property name="default_pane">0</property> - <property name="disabled"></property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="drag_accept_files">0</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="focus"></property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Add Field</property> - <property name="margins"></property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size">30,29</property> - <property name="moveable">1</property> - <property name="name">m_bpAddLayer</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="position"></property> - <property name="pressed"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <event name="OnButtonClick">OnAddLayerItem</event> - </object> - </object> - <object class="sizeritem" expanded="true"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">0</property> - <object class="spacer" expanded="true"> - <property name="height">0</property> - <property name="permission">protected</property> - <property name="width">20</property> - </object> - </object> - <object class="sizeritem" expanded="true"> - <property name="border">5</property> - <property name="flag">wxBOTTOM|wxLEFT|wxRIGHT|wxTOP</property> - <property name="proportion">0</property> - <object class="wxBitmapButton" expanded="true"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer">0</property> - <property name="aui_name"></property> - <property name="aui_position">0</property> - <property name="aui_row">0</property> - <property name="auth_needed">0</property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="bitmap"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="current"></property> - <property name="default">0</property> - <property name="default_pane">0</property> - <property name="disabled"></property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="drag_accept_files">0</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="focus"></property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Delete Field</property> - <property name="margins"></property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size">30,29</property> - <property name="moveable">1</property> - <property name="name">m_bpDeleteLayer</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="position"></property> - <property name="pressed"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">STD_BITMAP_BUTTON; widgets/std_bitmap_button.h; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <event name="OnButtonClick">OnDeleteLayerItem</event> - </object> - </object> - <object class="sizeritem" expanded="true"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">1</property> - <object class="spacer" expanded="true"> - <property name="height">0</property> - <property name="permission">protected</property> - <property name="width">0</property> - </object> - </object> - </object> - </object> - </object> - </object> </object> </object> </object> diff --git a/pcbnew/dialogs/panel_fp_editor_field_defaults_base.h b/pcbnew/dialogs/panel_fp_editor_field_defaults_base.h index 47db09b090..4b3e4773b3 100644 --- a/pcbnew/dialogs/panel_fp_editor_field_defaults_base.h +++ b/pcbnew/dialogs/panel_fp_editor_field_defaults_base.h @@ -45,18 +45,11 @@ class PANEL_FP_EDITOR_FIELD_DEFAULTS_BASE : public RESETTABLE_PANEL WX_GRID* m_textItemsGrid; STD_BITMAP_BUTTON* m_bpAdd; STD_BITMAP_BUTTON* m_bpDelete; - wxStaticText* defaultValuesLabel; - WX_GRID* m_layerNameitemsGrid; - STD_BITMAP_BUTTON* m_bpAddLayer; - STD_BITMAP_BUTTON* m_bpDeleteLayer; // Virtual event handlers, override them in your derived class virtual void OnGridSize( wxSizeEvent& event ) { event.Skip(); } virtual void OnAddTextItem( wxCommandEvent& event ) { event.Skip(); } virtual void OnDeleteTextItem( wxCommandEvent& event ) { event.Skip(); } - virtual void onLayerChange( wxGridEvent& event ) { event.Skip(); } - virtual void OnAddLayerItem( wxCommandEvent& event ) { event.Skip(); } - virtual void OnDeleteLayerItem( wxCommandEvent& event ) { event.Skip(); } public: diff --git a/pcbnew/dialogs/panel_pcb_display_options.cpp b/pcbnew/dialogs/panel_pcb_display_options.cpp deleted file mode 100644 index a9eb2b9c1a..0000000000 --- a/pcbnew/dialogs/panel_pcb_display_options.cpp +++ /dev/null @@ -1,124 +0,0 @@ -/* - * This program source code file is part of KiCad, a free EDA CAD application. - * - * Copyright (C) 2015 Jean-Pierre Charras, jean-pierre.charras at wanadoo.fr - * Copyright The 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 3 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, see <http://www.gnu.org/licenses/>. - */ - -#include <pgm_base.h> -#include <settings/settings_manager.h> -#include <pcbnew_settings.h> -#include <config_map.h> -#include <panel_pcb_display_options.h> -#include <widgets/gal_options_panel.h> - - -static const UTIL::CFG_MAP<TRACK_CLEARANCE_MODE> clearanceModeMap = -{ - { SHOW_WITH_VIA_WHILE_ROUTING, 2 }, // Default - { DO_NOT_SHOW_CLEARANCE, 0 }, - { SHOW_WHILE_ROUTING, 1 }, - { SHOW_WITH_VIA_WHILE_ROUTING_OR_DRAGGING, 3 }, - { SHOW_WITH_VIA_ALWAYS, 4 }, -}; - - -PANEL_PCB_DISPLAY_OPTIONS::PANEL_PCB_DISPLAY_OPTIONS( wxWindow* aParent, APP_SETTINGS_BASE* aAppSettings ) : - PANEL_PCB_DISPLAY_OPTIONS_BASE( aParent ), - m_isPCBEdit( dynamic_cast<PCBNEW_SETTINGS*>( aAppSettings ) != nullptr ) -{ - m_galOptsPanel = new GAL_OPTIONS_PANEL( this, aAppSettings ); - m_galOptionsSizer->Add( m_galOptsPanel, 1, wxEXPAND|wxRIGHT, 15 ); - - m_optionsBook->SetSelection( m_isPCBEdit ? 1 : 0 ); -} - - -void PANEL_PCB_DISPLAY_OPTIONS::loadPCBSettings( PCBNEW_SETTINGS* aCfg ) -{ - int i = UTIL::GetConfigForVal( clearanceModeMap, aCfg->m_Display.m_TrackClearance ); - m_OptDisplayTracksClearance->SetSelection( i ); - - m_OptDisplayPadClearence->SetValue( aCfg->m_Display.m_PadClearance ); - m_OptDisplayPadNumber->SetValue( aCfg->m_ViewersDisplay.m_DisplayPadNumbers ); - m_ShowNetNamesOption->SetSelection( aCfg->m_Display.m_NetNames ); - m_checkForceShowFieldsWhenFPSelected->SetValue( aCfg->m_Display.m_ForceShowFieldsWhenFPSelected ); - m_live3Drefresh->SetValue( aCfg->m_Display.m_Live3DRefresh ); - m_checkCrossProbeOnSelection->SetValue( aCfg->m_CrossProbing.on_selection ); - m_checkCrossProbeCenter->SetValue( aCfg->m_CrossProbing.center_on_items ); - m_checkCrossProbeZoom->SetValue( aCfg->m_CrossProbing.zoom_to_fit ); - m_checkCrossProbeAutoHighlight->SetValue( aCfg->m_CrossProbing.auto_highlight ); -} - - -bool PANEL_PCB_DISPLAY_OPTIONS::TransferDataToWindow() -{ - if( m_isPCBEdit ) - { - SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager(); - PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" ); - - loadPCBSettings( cfg ); - } - - m_galOptsPanel->TransferDataToWindow(); - - return true; -} - - -/* - * Update variables with new options - */ -bool PANEL_PCB_DISPLAY_OPTIONS::TransferDataFromWindow() -{ - m_galOptsPanel->TransferDataFromWindow(); - - if( m_isPCBEdit ) - { - SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager(); - PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" ); - - int i = m_OptDisplayTracksClearance->GetSelection(); - cfg->m_Display.m_TrackClearance = UTIL::GetValFromConfig( clearanceModeMap, i ); - - cfg->m_Display.m_PadClearance = m_OptDisplayPadClearence->GetValue(); - cfg->m_ViewersDisplay.m_DisplayPadNumbers = m_OptDisplayPadNumber->GetValue(); - cfg->m_Display.m_NetNames = m_ShowNetNamesOption->GetSelection(); - cfg->m_Display.m_ForceShowFieldsWhenFPSelected = m_checkForceShowFieldsWhenFPSelected->GetValue(); - cfg->m_Display.m_Live3DRefresh = m_live3Drefresh->GetValue(); - cfg->m_CrossProbing.on_selection = m_checkCrossProbeOnSelection->GetValue(); - cfg->m_CrossProbing.center_on_items = m_checkCrossProbeCenter->GetValue(); - cfg->m_CrossProbing.zoom_to_fit = m_checkCrossProbeZoom->GetValue(); - cfg->m_CrossProbing.auto_highlight = m_checkCrossProbeAutoHighlight->GetValue(); - } - - return true; -} - - -void PANEL_PCB_DISPLAY_OPTIONS::ResetPanel() -{ - PCBNEW_SETTINGS cfg; - cfg.Load(); // Loading without a file will init to defaults - - if( m_isPCBEdit ) - loadPCBSettings( &cfg ); - - m_galOptsPanel->ResetPanel( &cfg ); -} - - diff --git a/pcbnew/dialogs/panel_pcb_display_options_base.fbp b/pcbnew/dialogs/panel_pcb_display_options_base.fbp deleted file mode 100644 index 89655dd993..0000000000 --- a/pcbnew/dialogs/panel_pcb_display_options_base.fbp +++ /dev/null @@ -1,1613 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> -<wxFormBuilder_Project> - <FileVersion major="1" minor="16" /> - <object class="Project" expanded="1"> - <property name="class_decoration"></property> - <property name="code_generation">C++</property> - <property name="disconnect_events">1</property> - <property name="disconnect_mode">source_name</property> - <property name="disconnect_php_events">0</property> - <property name="disconnect_python_events">0</property> - <property name="embedded_files_path">res</property> - <property name="encoding">UTF-8</property> - <property name="event_generation">connect</property> - <property name="file">panel_pcb_display_options_base</property> - <property name="first_id">1000</property> - <property name="help_provider">none</property> - <property name="image_path_wrapper_function_name"></property> - <property name="indent_with_spaces"></property> - <property name="internationalize">1</property> - <property name="name">PanelPCBDisplayOptions</property> - <property name="namespace"></property> - <property name="path">.</property> - <property name="precompiled_header"></property> - <property name="relative_path">1</property> - <property name="skip_lua_events">1</property> - <property name="skip_php_events">1</property> - <property name="skip_python_events">1</property> - <property name="ui_table">UI</property> - <property name="use_array_enum">0</property> - <property name="use_enum">1</property> - <property name="use_microsoft_bom">0</property> - <object class="Panel" expanded="1"> - <property name="aui_managed">0</property> - <property name="aui_manager_style">wxAUI_MGR_DEFAULT</property> - <property name="bg"></property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="enabled">1</property> - <property name="event_handler">impl_virtual</property> - <property name="fg"></property> - <property name="font"></property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="maximum_size"></property> - <property name="minimum_size"></property> - <property name="name">PANEL_PCB_DISPLAY_OPTIONS_BASE</property> - <property name="pos"></property> - <property name="size">-1,-1</property> - <property name="subclass">RESETTABLE_PANEL; widgets/resettable_panel.h; Not forward_declare</property> - <property name="tooltip"></property> - <property name="two_step_creation">0</property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style">wxTAB_TRAVERSAL</property> - <object class="wxBoxSizer" expanded="1"> - <property name="minimum_size"></property> - <property name="name">bMainSizer</property> - <property name="orient">wxVERTICAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">0</property> - <object class="wxBoxSizer" expanded="1"> - <property name="minimum_size"></property> - <property name="name">bupperSizer</property> - <property name="orient">wxHORIZONTAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="1"> - <property name="border">10</property> - <property name="flag">wxEXPAND|wxRIGHT</property> - <property name="proportion">0</property> - <object class="wxBoxSizer" expanded="1"> - <property name="minimum_size"></property> - <property name="name">m_galOptionsSizer</property> - <property name="orient">wxVERTICAL</property> - <property name="permission">protected</property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property> - <property name="proportion">0</property> - <object class="wxSimplebook" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_optionsBook</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <object class="simplebookpage" expanded="1"> - <property name="label">a page</property> - <property name="select">0</property> - <object class="wxPanel" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">emptyPage</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">none</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style">wxTAB_TRAVERSAL</property> - </object> - </object> - <object class="simplebookpage" expanded="1"> - <property name="label">a page</property> - <property name="select">0</property> - <object class="wxPanel" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">pcbPage</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">none</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style">wxTAB_TRAVERSAL</property> - <object class="wxBoxSizer" expanded="1"> - <property name="minimum_size"></property> - <property name="name">pcbOptionsSizer</property> - <property name="orient">wxVERTICAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">1</property> - <object class="wxBoxSizer" expanded="1"> - <property name="minimum_size"></property> - <property name="name">bMargins</property> - <property name="orient">wxVERTICAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="1"> - <property name="border">13</property> - <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> - <property name="proportion">0</property> - <object class="wxStaticText" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Annotations</property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_annotationsLabel</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <property name="wrap">-1</property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxBOTTOM</property> - <property name="proportion">0</property> - <object class="wxStaticLine" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_staticline1</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style">wxLI_HORIZONTAL</property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property> - <property name="proportion">1</property> - <object class="wxGridBagSizer" expanded="1"> - <property name="empty_cell_size"></property> - <property name="flexible_direction">wxBOTH</property> - <property name="growablecols"></property> - <property name="growablerows"></property> - <property name="hgap">0</property> - <property name="minimum_size"></property> - <property name="name">gbSizer1</property> - <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property> - <property name="permission">none</property> - <property name="vgap">2</property> - <object class="gbsizeritem" expanded="1"> - <property name="border">5</property> - <property name="colspan">1</property> - <property name="column">0</property> - <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property> - <property name="row">0</property> - <property name="rowspan">1</property> - <object class="wxStaticText" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Net names:</property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_netNamesLabel</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <property name="wrap">-1</property> - </object> - </object> - <object class="gbsizeritem" expanded="1"> - <property name="border">5</property> - <property name="colspan">1</property> - <property name="column">1</property> - <property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT</property> - <property name="row">0</property> - <property name="rowspan">1</property> - <object class="wxChoice" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="choices">"Do not show" "Show on pads" "Show on tracks" "Show on pads & tracks"</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_ShowNetNamesOption</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="selection">0</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="gbsizeritem" expanded="1"> - <property name="border">5</property> - <property name="colspan">2</property> - <property name="column">0</property> - <property name="flag">wxALL</property> - <property name="row">1</property> - <property name="rowspan">1</property> - <object class="wxCheckBox" expanded="0"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="checked">1</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Show pad numbers</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_OptDisplayPadNumber</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass"></property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">0</property> - <object class="spacer" expanded="1"> - <property name="height">10</property> - <property name="permission">protected</property> - <property name="width">0</property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">13</property> - <property name="flag">wxTOP|wxRIGHT|wxLEFT|wxEXPAND</property> - <property name="proportion">0</property> - <object class="wxStaticText" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Clearance Outlines</property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_clearanceLabel</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <property name="wrap">-1</property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxBOTTOM</property> - <property name="proportion">0</property> - <object class="wxStaticLine" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_staticline2</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style">wxLI_HORIZONTAL</property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property> - <property name="proportion">1</property> - <object class="wxGridBagSizer" expanded="1"> - <property name="empty_cell_size"></property> - <property name="flexible_direction">wxBOTH</property> - <property name="growablecols"></property> - <property name="growablerows"></property> - <property name="hgap">0</property> - <property name="minimum_size"></property> - <property name="name">gbSizer2</property> - <property name="non_flexible_grow_mode">wxFLEX_GROWMODE_SPECIFIED</property> - <property name="permission">none</property> - <property name="vgap">2</property> - <object class="gbsizeritem" expanded="1"> - <property name="border">5</property> - <property name="colspan">1</property> - <property name="column">0</property> - <property name="flag">wxALIGN_CENTER_VERTICAL|wxLEFT</property> - <property name="row">0</property> - <property name="rowspan">1</property> - <object class="wxStaticText" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Tracks:</property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_trackClearancesLabel</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <property name="wrap">-1</property> - </object> - </object> - <object class="gbsizeritem" expanded="1"> - <property name="border">5</property> - <property name="colspan">1</property> - <property name="column">1</property> - <property name="flag">wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL</property> - <property name="row">0</property> - <property name="rowspan">1</property> - <object class="wxChoice" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="choices">"Do not show clearances" "Show when routing" "Show when routing w/ via clearance at end" "Show when routing and editing" "Show always"</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_OptDisplayTracksClearance</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="selection">0</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="gbsizeritem" expanded="1"> - <property name="border">5</property> - <property name="colspan">2</property> - <property name="column">0</property> - <property name="flag">wxALL</property> - <property name="row">1</property> - <property name="rowspan">1</property> - <object class="wxCheckBox" expanded="0"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="checked">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Show pad clearance</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_OptDisplayPadClearence</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass"></property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">0</property> - <object class="spacer" expanded="1"> - <property name="height">10</property> - <property name="permission">protected</property> - <property name="width">0</property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">13</property> - <property name="flag">wxTOP|wxRIGHT|wxLEFT</property> - <property name="proportion">0</property> - <object class="wxStaticText" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Selection && Highlighting</property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_staticText4</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <property name="wrap">-1</property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxBOTTOM</property> - <property name="proportion">0</property> - <object class="wxStaticLine" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_staticline4</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style">wxLI_HORIZONTAL</property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property> - <property name="proportion">0</property> - <object class="wxBoxSizer" expanded="1"> - <property name="minimum_size"></property> - <property name="name">bSizer9</property> - <property name="orient">wxVERTICAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxALL</property> - <property name="proportion">0</property> - <object class="wxCheckBox" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="checked">1</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Show all fields when parent footprint is selected</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_checkForceShowFieldsWhenFPSelected</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND</property> - <property name="proportion">0</property> - <object class="spacer" expanded="1"> - <property name="height">10</property> - <property name="permission">protected</property> - <property name="width">0</property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">13</property> - <property name="flag">wxTOP|wxRIGHT|wxLEFT|wxEXPAND</property> - <property name="proportion">0</property> - <object class="wxStaticText" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Cross-probing</property> - <property name="markup">0</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_crossProbingLabel</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - <property name="wrap">-1</property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxBOTTOM</property> - <property name="proportion">0</property> - <object class="wxStaticLine" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_staticline3</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style">wxLI_HORIZONTAL</property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property> - <property name="proportion">0</property> - <object class="wxBoxSizer" expanded="1"> - <property name="minimum_size"></property> - <property name="name">bSizer8</property> - <property name="orient">wxVERTICAL</property> - <property name="permission">none</property> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxALL</property> - <property name="proportion">0</property> - <object class="wxCheckBox" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="checked">1</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Select/highlight objects corresponding to schematic selection</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_checkCrossProbeOnSelection</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip">Highlight footprints corresponding to selected symbols</property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> - <property name="proportion">0</property> - <object class="wxCheckBox" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="checked">1</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Center view on cross-probed items</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_checkCrossProbeCenter</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip">Ensures that cross-probed footprints are visible in the current view</property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> - <property name="proportion">0</property> - <object class="wxCheckBox" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="checked">1</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Zoom to fit cross-probed items</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_checkCrossProbeZoom</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip"></property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property> - <property name="proportion">0</property> - <object class="wxCheckBox" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="checked">1</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Highlight cross-probed nets</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_checkCrossProbeAutoHighlight</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip">Highlight nets when they are highlighted in the schematic editor</property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - <object class="sizeritem" expanded="1"> - <property name="border">5</property> - <property name="flag">wxBOTTOM|wxLEFT|wxRIGHT</property> - <property name="proportion">0</property> - <object class="wxCheckBox" expanded="1"> - <property name="BottomDockable">1</property> - <property name="LeftDockable">1</property> - <property name="RightDockable">1</property> - <property name="TopDockable">1</property> - <property name="aui_layer"></property> - <property name="aui_name"></property> - <property name="aui_position"></property> - <property name="aui_row"></property> - <property name="best_size"></property> - <property name="bg"></property> - <property name="caption"></property> - <property name="caption_visible">1</property> - <property name="center_pane">0</property> - <property name="checked">0</property> - <property name="close_button">1</property> - <property name="context_help"></property> - <property name="context_menu">1</property> - <property name="default_pane">0</property> - <property name="dock">Dock</property> - <property name="dock_fixed">0</property> - <property name="docking">Left</property> - <property name="enabled">1</property> - <property name="fg"></property> - <property name="floatable">1</property> - <property name="font"></property> - <property name="gripper">0</property> - <property name="hidden">0</property> - <property name="id">wxID_ANY</property> - <property name="label">Refresh 3D view automatically</property> - <property name="max_size"></property> - <property name="maximize_button">0</property> - <property name="maximum_size"></property> - <property name="min_size"></property> - <property name="minimize_button">0</property> - <property name="minimum_size"></property> - <property name="moveable">1</property> - <property name="name">m_live3Drefresh</property> - <property name="pane_border">1</property> - <property name="pane_position"></property> - <property name="pane_size"></property> - <property name="permission">protected</property> - <property name="pin_button">1</property> - <property name="pos"></property> - <property name="resize">Resizable</property> - <property name="show">1</property> - <property name="size"></property> - <property name="style"></property> - <property name="subclass">; ; forward_declare</property> - <property name="toolbar_pane">0</property> - <property name="tooltip">When enabled, edits to the board will cause the 3D view to refresh (may be slow with larger boards)</property> - <property name="validator_data_type"></property> - <property name="validator_style">wxFILTER_NONE</property> - <property name="validator_type">wxDefaultValidator</property> - <property name="validator_variable"></property> - <property name="window_extra_style"></property> - <property name="window_name"></property> - <property name="window_style"></property> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> -</wxFormBuilder_Project> diff --git a/pcbnew/footprint_edit_frame.cpp b/pcbnew/footprint_edit_frame.cpp index c7d3fb0bd2..58c58f15db 100644 --- a/pcbnew/footprint_edit_frame.cpp +++ b/pcbnew/footprint_edit_frame.cpp @@ -1447,6 +1447,8 @@ void FOOTPRINT_EDIT_FRAME::CommonSettingsChanged( int aFlags ) GetGalDisplayOptions().ReadWindowSettings( cfg->m_Window ); GetBoard()->GetDesignSettings() = cfg->m_DesignSettings; + GetBoard()->SetCopperLayerCount( 3 ); + GetBoard()->SetLayerName( In1_Cu, _( "Inner layers" ) ); GetCanvas()->GetView()->UpdateAllLayersColor(); GetCanvas()->GetView()->MarkTargetDirty( KIGFX::TARGET_NONCACHED ); diff --git a/pcbnew/pcbnew.cpp b/pcbnew/pcbnew.cpp index 98bfadcb60..9c0fbd983e 100644 --- a/pcbnew/pcbnew.cpp +++ b/pcbnew/pcbnew.cpp @@ -49,7 +49,7 @@ #include <dialogs/dialog_configure_paths.h> #include <dialogs/panel_grid_settings.h> #include <dialog_global_fp_lib_table_config.h> -#include <panel_pcb_display_options.h> +#include <panel_display_options.h> #include <panel_edit_options.h> #include <panel_fp_editor_field_defaults.h> #include <panel_fp_editor_graphics_defaults.h> @@ -157,7 +157,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager(); FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" ); - return new PANEL_PCB_DISPLAY_OPTIONS( aParent, cfg ); + return new PANEL_DISPLAY_OPTIONS( aParent, cfg ); } case PANEL_FP_GRIDS: @@ -260,7 +260,7 @@ static struct IFACE : public KIFACE_BASE, public UNITS_PROVIDER SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager(); PCBNEW_SETTINGS* cfg = mgr.GetAppSettings<PCBNEW_SETTINGS>( "pcbnew" ); - return new PANEL_PCB_DISPLAY_OPTIONS( aParent, cfg ); + return new PANEL_DISPLAY_OPTIONS( aParent, cfg ); } case PANEL_PCB_GRIDS: diff --git a/pcbnew/widgets/appearance_controls.cpp b/pcbnew/widgets/appearance_controls.cpp index 5b708a3d52..afa11f7650 100644 --- a/pcbnew/widgets/appearance_controls.cpp +++ b/pcbnew/widgets/appearance_controls.cpp @@ -33,6 +33,7 @@ #include <pcb_edit_frame.h> #include <pcb_painter.h> #include <pcbnew_settings.h> +#include <footprint_editor_settings.h> #include <project.h> #include <project/project_local_settings.h> #include <settings/color_settings.h> @@ -60,6 +61,7 @@ #include <wx/textdlg.h> #include <wx/bmpbuttn.h> // needed on wxMSW for OnSetFocus() #include <core/profile.h> +#include <pgm_base.h> NET_GRID_TABLE::NET_GRID_TABLE( PCB_BASE_FRAME* aFrame, wxColor aBackgroundColor ) : @@ -1549,6 +1551,9 @@ void APPEARANCE_CONTROLS::rebuildLayers() COLOR4D bgColor = theme->GetColor( LAYER_PCB_BACKGROUND ); bool readOnly = theme->IsReadOnly(); + SETTINGS_MANAGER& mgr = Pgm().GetSettingsManager(); + FOOTPRINT_EDITOR_SETTINGS* cfg = mgr.GetAppSettings<FOOTPRINT_EDITOR_SETTINGS>( "fpedit" ); + #ifdef __WXMAC__ wxSizerItem* m_windowLayersSizerItem = m_panelLayersSizer->GetItem( m_windowLayers ); m_windowLayersSizerItem->SetFlag( m_windowLayersSizerItem->GetFlag() & ~wxTOP ); @@ -1578,9 +1583,10 @@ void APPEARANCE_CONTROLS::rebuildLayers() swatch->SetToolTip( _( "Double click or middle click for color change, " "right click for menu" ) ); - BITMAP_TOGGLE* btn_visible = new BITMAP_TOGGLE( - panel, layer, KiBitmapBundle( BITMAPS::visibility ), - KiBitmapBundle( BITMAPS::visibility_off ), aSetting->visible ); + BITMAP_TOGGLE* btn_visible = new BITMAP_TOGGLE( panel, layer, + KiBitmapBundle( BITMAPS::visibility ), + KiBitmapBundle( BITMAPS::visibility_off ), + aSetting->visible ); btn_visible->SetToolTip( _( "Show or hide this layer" ) ); wxStaticText* label = new wxStaticText( panel, layer, aSetting->label ); @@ -1799,7 +1805,20 @@ void APPEARANCE_CONTROLS::rebuildLayers() std::unique_ptr<APPEARANCE_SETTING>& setting = *layer_it; - setting->label = board->GetLayerName( layer ); + if( m_isFpEditor ) + { + wxString canonicalName = LSET::Name( static_cast<PCB_LAYER_ID>( layer ) ); + + if( cfg->m_DesignSettings.m_UserLayerNames.contains( canonicalName.ToStdString() ) ) + setting->label = cfg->m_DesignSettings.m_UserLayerNames[canonicalName.ToStdString()]; + else + setting->label = board->GetStandardLayerName( layer ); + } + else + { + setting->label = board->GetLayerName( layer ); + } + setting->id = layer; // Because non_cu_seq is created static, we must explicitly call wxGetTranslation for // texts which are internationalized