From a352bd4a25152c63596bf7e31f8e50ededf7f2d2 Mon Sep 17 00:00:00 2001 From: Alex Shvartzkop Date: Wed, 29 Nov 2023 06:04:36 +0300 Subject: [PATCH] Improve Symbol Fields Table appearance on Windows. --- .../dialogs/dialog_symbol_fields_table.cpp | 4 +- .../dialog_symbol_fields_table_base.cpp | 50 +++--- .../dialog_symbol_fields_table_base.fbp | 166 ++++++------------ .../dialogs/dialog_symbol_fields_table_base.h | 11 +- 4 files changed, 80 insertions(+), 151 deletions(-) diff --git a/eeschema/dialogs/dialog_symbol_fields_table.cpp b/eeschema/dialogs/dialog_symbol_fields_table.cpp index 60560a717d..95680cfa4f 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table.cpp +++ b/eeschema/dialogs/dialog_symbol_fields_table.cpp @@ -170,8 +170,6 @@ DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE( SCH_EDIT_FRAME* parent ) // Get all symbols from the list of schematic sheets m_parent->Schematic().GetSheets().GetSymbols( m_symbolsList, false ); - m_separator1->SetIsSeparator(); - m_separator2->SetIsSeparator(); m_bRefresh->SetBitmap( KiBitmapBundle( BITMAPS::small_refresh ) ); m_bRefreshPreview->SetBitmap( KiBitmapBundle( BITMAPS::small_refresh ) ); m_browseButton->SetBitmap( KiBitmapBundle( BITMAPS::small_folder ) ); @@ -185,7 +183,6 @@ DIALOG_SYMBOL_FIELDS_TABLE::DIALOG_SYMBOL_FIELDS_TABLE( SCH_EDIT_FRAME* parent ) m_bomPresetsLabel->SetFont( KIUI::GetInfoFont( this ) ); m_labelBomExportPresets->SetFont( KIUI::GetInfoFont( this ) ); - m_separator11->SetIsSeparator(); m_fieldsCtrl->AppendTextColumn( _( "Field" ), wxDATAVIEW_CELL_INERT, 0, wxALIGN_LEFT, 0 ); m_fieldsCtrl->AppendTextColumn( _( "Label" ), wxDATAVIEW_CELL_EDITABLE, 0, wxALIGN_LEFT, 0 ); @@ -781,6 +778,7 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnFilterMouseMoved( wxMouseEvent& aEvent ) wxRect ctrlRect = m_filter->GetScreenRect(); int buttonWidth = ctrlRect.GetHeight(); // Presume buttons are square + // TODO: restore cursor when mouse leaves the filter field (or is it a MSW bug?) if( m_filter->IsSearchButtonVisible() && pos.x < buttonWidth ) SetCursor( wxCURSOR_ARROW ); else if( m_filter->IsCancelButtonVisible() && pos.x > ctrlRect.GetWidth() - buttonWidth ) diff --git a/eeschema/dialogs/dialog_symbol_fields_table_base.cpp b/eeschema/dialogs/dialog_symbol_fields_table_base.cpp index ab28ee8781..8352038b65 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table_base.cpp +++ b/eeschema/dialogs/dialog_symbol_fields_table_base.cpp @@ -1,11 +1,10 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b) +// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! /////////////////////////////////////////////////////////////////////////// -#include "widgets/bitmap_button.h" #include "widgets/std_bitmap_button.h" #include "widgets/wx_grid.h" @@ -90,22 +89,19 @@ DIALOG_SYMBOL_FIELDS_TABLE_BASE::DIALOG_SYMBOL_FIELDS_TABLE_BASE( wxWindow* pare m_filter->ShowSearchButton( true ); #endif m_filter->ShowCancelButton( true ); + m_filter->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxEmptyString ) ); m_filter->SetMinSize( wxSize( 140,-1 ) ); - bControls->Add( m_filter, 1, wxEXPAND|wxRIGHT, 5 ); + bControls->Add( m_filter, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); - m_separator1 = new BITMAP_BUTTON( m_rightPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE ); - m_separator1->Enable( false ); - - bControls->Add( m_separator1, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + m_staticline31 = new wxStaticLine( m_rightPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL ); + bControls->Add( m_staticline31, 0, wxEXPAND | wxALL, 3 ); m_checkExcludeDNP = new wxCheckBox( m_rightPanel, wxID_ANY, _("Exclude DNP"), wxDefaultPosition, wxDefaultSize, 0 ); - bControls->Add( m_checkExcludeDNP, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + bControls->Add( m_checkExcludeDNP, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); - m_separator2 = new BITMAP_BUTTON( m_rightPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE ); - m_separator2->Enable( false ); - - bControls->Add( m_separator2, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + m_staticline32 = new wxStaticLine( m_rightPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL ); + bControls->Add( m_staticline32, 0, wxEXPAND | wxALL, 3 ); m_groupSymbolsBox = new wxCheckBox( m_rightPanel, OPT_GROUP_COMPONENTS, _("Group symbols"), wxDefaultPosition, wxDefaultSize, 0 ); m_groupSymbolsBox->SetValue(true); @@ -113,15 +109,13 @@ DIALOG_SYMBOL_FIELDS_TABLE_BASE::DIALOG_SYMBOL_FIELDS_TABLE_BASE( wxWindow* pare bControls->Add( m_groupSymbolsBox, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 ); - m_separator3 = new BITMAP_BUTTON( m_rightPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE ); - m_separator3->Enable( false ); - - bControls->Add( m_separator3, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); + m_staticline3 = new wxStaticLine( m_rightPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL ); + bControls->Add( m_staticline3, 0, wxEXPAND | wxALL, 3 ); m_bRefresh = new STD_BITMAP_BUTTON( m_rightPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 ); m_bRefresh->SetMinSize( wxSize( 30,30 ) ); - bControls->Add( m_bRefresh, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + bControls->Add( m_bRefresh, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 5 ); bRightSizer->Add( bControls, 0, wxEXPAND|wxLEFT|wxTOP, 5 ); @@ -162,34 +156,32 @@ DIALOG_SYMBOL_FIELDS_TABLE_BASE::DIALOG_SYMBOL_FIELDS_TABLE_BASE( wxWindow* pare m_scopeLabel = new wxStaticText( m_rightPanel, wxID_ANY, _("Scope:"), wxDefaultPosition, wxDefaultSize, 0 ); m_scopeLabel->Wrap( -1 ); - bSizer12->Add( m_scopeLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 10 ); + bSizer12->Add( m_scopeLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_radioProject = new wxRadioButton( m_rightPanel, wxID_ANY, _("Entire project"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP ); - bSizer12->Add( m_radioProject, 0, wxALIGN_CENTER_VERTICAL, 6 ); + bSizer12->Add( m_radioProject, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_radioCurrentSheet = new wxRadioButton( m_rightPanel, wxID_ANY, _("Current sheet only"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer12->Add( m_radioCurrentSheet, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 12 ); + bSizer12->Add( m_radioCurrentSheet, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_radioRecursive = new wxRadioButton( m_rightPanel, wxID_ANY, _("Recursive"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer12->Add( m_radioRecursive, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 ); + bSizer12->Add( m_radioRecursive, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); - m_separator11 = new BITMAP_BUTTON( m_rightPanel, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 21,21 ), wxBU_AUTODRAW|wxBORDER_NONE ); - m_separator11->Enable( false ); - - bSizer12->Add( m_separator11, 0, wxLEFT, 5 ); + m_staticline311 = new wxStaticLine( m_rightPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL ); + bSizer12->Add( m_staticline311, 0, wxEXPAND | wxALL, 3 ); m_crossProbeLabel = new wxStaticText( m_rightPanel, wxID_ANY, _("Cross-probe action:"), wxDefaultPosition, wxDefaultSize, 0 ); m_crossProbeLabel->Wrap( -1 ); - bSizer12->Add( m_crossProbeLabel, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 ); + bSizer12->Add( m_crossProbeLabel, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_radioHighlight = new wxRadioButton( m_rightPanel, wxID_ANY, _("Highlight"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP ); - bSizer12->Add( m_radioHighlight, 0, wxALIGN_CENTER_VERTICAL, 8 ); + bSizer12->Add( m_radioHighlight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_radioSelect = new wxRadioButton( m_rightPanel, wxID_ANY, _("Select"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer12->Add( m_radioSelect, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL, 12 ); + bSizer12->Add( m_radioSelect, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); m_radioOff = new wxRadioButton( m_rightPanel, wxID_ANY, _("None"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer12->Add( m_radioOff, 0, wxALIGN_CENTER_VERTICAL, 8 ); + bSizer12->Add( m_radioOff, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); bRightSizer->Add( bSizer12, 0, wxEXPAND|wxRIGHT, 5 ); diff --git a/eeschema/dialogs/dialog_symbol_fields_table_base.fbp b/eeschema/dialogs/dialog_symbol_fields_table_base.fbp index 29d0efce3e..213abffc21 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table_base.fbp +++ b/eeschema/dialogs/dialog_symbol_fields_table_base.fbp @@ -836,7 +836,7 @@ none 5 - wxEXPAND|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxRIGHT 1 1 @@ -863,7 +863,7 @@ 1 1 - + ,90,400,-1,70,0 0 0 wxID_ANY @@ -901,11 +901,11 @@ OnFilterText - - 5 - wxALL|wxALIGN_CENTER_VERTICAL + + 3 + wxEXPAND | wxALL 0 - + 1 1 1 @@ -914,34 +914,25 @@ - 0 - 1 0 1 1 - - 0 0 - Dock 0 Left - 0 + 1 1 - 0 0 wxID_ANY - - - 0 0 @@ -949,26 +940,20 @@ 0 1 - m_separator1 + m_staticline31 1 protected 1 - - Resizable 1 - 21,21 - wxBORDER_NONE - BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare + + wxLI_VERTICAL + ; ; forward_declare 0 - - wxFILTER_NONE - wxDefaultValidator - @@ -976,7 +961,7 @@ 5 - wxALL|wxALIGN_CENTER_VERTICAL + wxALIGN_CENTER_VERTICAL|wxALL 0 1 @@ -1039,11 +1024,11 @@ OnExcludeDNPToggled - - 5 - wxALL|wxALIGN_CENTER_VERTICAL + + 3 + wxEXPAND | wxALL 0 - + 1 1 1 @@ -1052,34 +1037,25 @@ - 0 - 1 0 1 1 - - 0 0 - Dock 0 Left - 0 + 1 1 - 0 0 wxID_ANY - - - 0 0 @@ -1087,26 +1063,20 @@ 0 1 - m_separator2 + m_staticline32 1 protected 1 - - Resizable 1 - 21,21 - wxBORDER_NONE - BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare + + wxLI_VERTICAL + ; ; forward_declare 0 - - wxFILTER_NONE - wxDefaultValidator - @@ -1178,10 +1148,10 @@ - 5 - wxALL|wxALIGN_CENTER_VERTICAL + 3 + wxEXPAND | wxALL 0 - + 1 1 1 @@ -1190,34 +1160,25 @@ - 0 - 1 0 1 1 - - 0 0 - Dock 0 Left - 0 + 1 1 - 0 0 wxID_ANY - - - 0 0 @@ -1225,26 +1186,20 @@ 0 1 - m_separator3 + m_staticline3 1 protected 1 - - Resizable 1 - 21,21 - wxBORDER_NONE - BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare + + wxLI_VERTICAL + ; ; forward_declare 0 - - wxFILTER_NONE - wxDefaultValidator - @@ -1252,7 +1207,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT 0 1 @@ -1439,8 +1394,8 @@ wxHORIZONTAL none - 10 - wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT + 5 + wxALIGN_CENTER_VERTICAL|wxALL 0 1 @@ -1500,8 +1455,8 @@ - 6 - wxALIGN_CENTER_VERTICAL + 5 + wxALIGN_CENTER_VERTICAL|wxALL 0 1 @@ -1565,8 +1520,8 @@ - 12 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 5 + wxALIGN_CENTER_VERTICAL|wxALL 0 1 @@ -1631,7 +1586,7 @@ 5 - wxALIGN_CENTER_VERTICAL|wxRIGHT + wxALIGN_CENTER_VERTICAL|wxALL 0 1 @@ -1695,10 +1650,10 @@ - 5 - wxLEFT + 3 + wxEXPAND | wxALL 0 - + 1 1 1 @@ -1707,34 +1662,25 @@ - 0 - 1 0 1 1 - - 0 0 - Dock 0 Left - 0 + 1 1 - 0 0 wxID_ANY - - - 0 0 @@ -1742,34 +1688,28 @@ 0 1 - m_separator11 + m_staticline311 1 protected 1 - - Resizable 1 - 21,21 - wxBORDER_NONE - BITMAP_BUTTON; widgets/bitmap_button.h; forward_declare + + wxLI_VERTICAL + ; ; forward_declare 0 - - wxFILTER_NONE - wxDefaultValidator - - 10 - wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT + 5 + wxALIGN_CENTER_VERTICAL|wxALL 0 1 @@ -1829,8 +1769,8 @@ - 8 - wxALIGN_CENTER_VERTICAL + 5 + wxALIGN_CENTER_VERTICAL|wxALL 0 1 @@ -1893,8 +1833,8 @@ - 12 - wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL + 5 + wxALIGN_CENTER_VERTICAL|wxALL 0 1 @@ -1957,8 +1897,8 @@ - 8 - wxALIGN_CENTER_VERTICAL + 5 + wxALIGN_CENTER_VERTICAL|wxALL 0 1 diff --git a/eeschema/dialogs/dialog_symbol_fields_table_base.h b/eeschema/dialogs/dialog_symbol_fields_table_base.h index 95526d0933..229a16ae5c 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table_base.h +++ b/eeschema/dialogs/dialog_symbol_fields_table_base.h @@ -1,5 +1,5 @@ /////////////////////////////////////////////////////////////////////////// -// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b) +// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3) // http://www.wxformbuilder.org/ // // PLEASE DO *NOT* EDIT THIS FILE! @@ -10,7 +10,6 @@ #include #include #include -class BITMAP_BUTTON; class STD_BITMAP_BUTTON; class WX_GRID; @@ -66,18 +65,18 @@ class DIALOG_SYMBOL_FIELDS_TABLE_BASE : public DIALOG_SHIM wxChoice* m_cbBomPresets; wxPanel* m_rightPanel; wxSearchCtrl* m_filter; - BITMAP_BUTTON* m_separator1; + wxStaticLine* m_staticline31; wxCheckBox* m_checkExcludeDNP; - BITMAP_BUTTON* m_separator2; + wxStaticLine* m_staticline32; wxCheckBox* m_groupSymbolsBox; - BITMAP_BUTTON* m_separator3; + wxStaticLine* m_staticline3; STD_BITMAP_BUTTON* m_bRefresh; WX_GRID* m_grid; wxStaticText* m_scopeLabel; wxRadioButton* m_radioProject; wxRadioButton* m_radioCurrentSheet; wxRadioButton* m_radioRecursive; - BITMAP_BUTTON* m_separator11; + wxStaticLine* m_staticline311; wxStaticText* m_crossProbeLabel; wxRadioButton* m_radioHighlight; wxRadioButton* m_radioSelect;