diff --git a/common/widgets/lib_tree.cpp b/common/widgets/lib_tree.cpp index 1bc86d17e2..3e89ff1bb6 100644 --- a/common/widgets/lib_tree.cpp +++ b/common/widgets/lib_tree.cpp @@ -120,8 +120,6 @@ LIB_TREE::LIB_TREE( wxWindow* aParent, LIB_TABLE* aLibTable, Bind( SYMBOL_PRESELECTED, &LIB_TREE::onPreselect, this ); - // If wxTextCtrl::SetHint() is called before binding wxEVT_TEXT, the event - // handler will intermittently fire. if( m_query_ctrl ) { m_query_ctrl->SetDescriptiveText( _( "Filter" ) ); diff --git a/kicad/pcm/dialogs/panel_packages_view.cpp b/kicad/pcm/dialogs/panel_packages_view.cpp index 146e34ce6d..fe72c49fab 100644 --- a/kicad/pcm/dialogs/panel_packages_view.cpp +++ b/kicad/pcm/dialogs/panel_packages_view.cpp @@ -49,7 +49,16 @@ PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW( wxWindow* PANEL_PACKAGES_VIEW_BASE( parent ), m_pcm( aPcm ) { - m_searchBitmap->SetBitmap( KiBitmap( BITMAPS::find, 24 ) ); +#ifdef __WXGTK__ + // wxSearchCtrl vertical height is not calculated correctly on some GTK setups + // See https://gitlab.com/kicad/code/kicad/-/issues/9019 + m_searchCtrl->SetMinSize( wxSize( -1, GetTextExtent( wxT( "qb" ) ).y + 10 ) ); +#endif + + m_searchCtrl->Bind( wxEVT_TEXT, &PANEL_PACKAGES_VIEW::OnSearchTextChanged, this ); + m_searchCtrl->SetDescriptiveText( _( "Filter" ) ); + + m_gridVersions->PushEventHandler( new GRID_TRICKS( m_gridVersions ) ); for( int col = 0; col < m_gridVersions->GetNumberCols(); col++ ) @@ -59,11 +68,12 @@ PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW( wxWindow* // Set the minimal width to the column label size. m_gridVersions->SetColMinimalWidth( col, headingWidth ); - m_gridVersions->SetColSize( col, - m_gridVersions->GetVisibleWidth( col, true, true, false ) ); + m_gridVersions->SetColSize( col, m_gridVersions->GetVisibleWidth( col, true, true, + false ) ); } m_infoText->SetBackgroundColour( wxStaticText::GetClassDefaultAttributes().colBg ); + m_infoText->EnableVerticalScrollbar( false ); // Try to disable the caret on platforms that show it even in read-only controls m_infoText->Bind( wxEVT_SET_FOCUS, @@ -138,6 +148,11 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa // Details m_infoText->Clear(); + m_infoText->BeginBold(); + m_infoText->WriteText( package.name ); + m_infoText->EndBold(); + m_infoText->Newline(); + m_infoText->BeginParagraphSpacing( 0, 30 ); m_infoText->WriteText( package.description_full ); m_infoText->Newline(); @@ -150,15 +165,15 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa m_infoText->BeginParagraphSpacing( 0, 10 ); m_infoText->BeginSymbolBullet( wxString::FromUTF8( u8"\u25CF" ), 30, 40 ); - m_infoText->WriteText( - wxString::Format( _( "Package identifier: %s\n" ), package.identifier ) ); + m_infoText->WriteText( wxString::Format( _( "Package identifier: %s\n" ), + package.identifier ) ); m_infoText->WriteText( wxString::Format( _( "License: %s\n" ), package.license ) ); if( package.tags.size() > 0 ) { wxString tags_str; - for( const wxString& tag : package.tags ) + for( const std::string& tag : package.tags ) { if( !tags_str.IsEmpty() ) tags_str += ", "; @@ -193,10 +208,8 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa m_infoText->BeginLeftIndent( 60, 40 ); - for( const auto& entry : package.resources ) - { + for( const std::pair& entry : package.resources ) m_infoText->WriteText( wxString::Format( "%s: %s\n", entry.first, entry.second ) ); - } m_infoText->EndLeftIndent(); } @@ -204,6 +217,14 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa m_infoText->EndSymbolBullet(); m_infoText->EndParagraphSpacing(); + m_infoText->LayoutContent(); + + wxSize minSize = m_infoText->GetSize(); + minSize.y = m_infoText->GetBuffer().GetCachedSize().y + m_infoText->GetBuffer().GetTopMargin(); + minSize.y *= m_infoText->GetScale(); + m_infoText->SetMinSize( minSize ); + m_infoText->SetSize( minSize ); + // Versions table m_gridVersions->Freeze(); @@ -258,13 +279,24 @@ void PANEL_PACKAGES_VIEW::setPackageDetails( const PACKAGE_VIEW_DATA& aPackageDa m_buttonInstall->Enable(); else m_buttonInstall->Disable(); + + m_sizerVersions->Show( true ); + m_sizerVersions->Layout(); + + wxSize size = m_scrolledWindow5->GetTargetWindow()->GetBestVirtualSize(); + m_scrolledWindow5->SetVirtualSize( size ); } void PANEL_PACKAGES_VIEW::unsetPackageDetails() { - m_infoText->ChangeValue( _( "Pick a package on the left panel to view its description." ) ); + m_infoText->ChangeValue( wxEmptyString ); + m_sizerVersions->Show( false ); + wxSize size = m_scrolledWindow5->GetTargetWindow()->GetBestVirtualSize(); + m_scrolledWindow5->SetVirtualSize( size ); + + // Clean up grid just so we don't keep stale info around (it's already been hidden). m_gridVersions->Freeze(); if( m_gridVersions->GetNumberRows() > 0 ) diff --git a/kicad/pcm/dialogs/panel_packages_view.h b/kicad/pcm/dialogs/panel_packages_view.h index 5e51892b36..66a8dc17b9 100644 --- a/kicad/pcm/dialogs/panel_packages_view.h +++ b/kicad/pcm/dialogs/panel_packages_view.h @@ -70,7 +70,7 @@ public: void OnShowAllVersionsClicked( wxCommandEvent& event ) override; ///< Ranks packages for entered search term and rearranges/hides panels according to their rank - void OnSearchTextChanged( wxCommandEvent& event ) override; + void OnSearchTextChanged( wxCommandEvent& event ); private: ///< Updates package listing according to search term diff --git a/kicad/pcm/dialogs/panel_packages_view_base.cpp b/kicad/pcm/dialogs/panel_packages_view_base.cpp index 31aac9257d..6eb3853dab 100644 --- a/kicad/pcm/dialogs/panel_packages_view_base.cpp +++ b/kicad/pcm/dialogs/panel_packages_view_base.cpp @@ -14,24 +14,23 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID wxBoxSizer* bSizer1; bSizer1 = new wxBoxSizer( wxVERTICAL ); - wxBoxSizer* bSizer7; - bSizer7 = new wxBoxSizer( wxHORIZONTAL ); - - m_searchBitmap = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer7->Add( m_searchBitmap, 0, wxALL, 5 ); - - m_searchCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer7->Add( m_searchCtrl, 1, wxALL|wxEXPAND, 5 ); - - - bSizer1->Add( bSizer7, 0, wxEXPAND, 5 ); - m_splitter1 = new wxSplitterWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3DSASH ); - m_splitter1->SetSashGravity( 0.55 ); + m_splitter1->SetSashGravity( 0.5 ); m_splitter1->Connect( wxEVT_IDLE, wxIdleEventHandler( PANEL_PACKAGES_VIEW_BASE::m_splitter1OnIdle ), NULL, this ); m_splitter1->SetMinimumPaneSize( 300 ); - m_packageListWindow = new wxScrolledWindow( m_splitter1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxALWAYS_SHOW_SB|wxBORDER_SUNKEN|wxFULL_REPAINT_ON_RESIZE|wxVSCROLL ); + m_panelList = new wxPanel( m_splitter1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); + wxBoxSizer* bPanelListSizer; + bPanelListSizer = new wxBoxSizer( wxVERTICAL ); + + m_searchCtrl = new wxSearchCtrl( m_panelList, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); + #ifndef __WXMAC__ + m_searchCtrl->ShowSearchButton( true ); + #endif + m_searchCtrl->ShowCancelButton( false ); + bPanelListSizer->Add( m_searchCtrl, 0, wxEXPAND, 5 ); + + m_packageListWindow = new wxScrolledWindow( m_panelList, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxALWAYS_SHOW_SB|wxBORDER_SUNKEN|wxFULL_REPAINT_ON_RESIZE|wxVSCROLL ); m_packageListWindow->SetScrollRate( 5, 5 ); wxBoxSizer* bSizer2; bSizer2 = new wxBoxSizer( wxVERTICAL ); @@ -40,31 +39,30 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID m_packageListWindow->SetSizer( bSizer2 ); m_packageListWindow->Layout(); bSizer2->Fit( m_packageListWindow ); + bPanelListSizer->Add( m_packageListWindow, 1, wxEXPAND, 5 ); + + + m_panelList->SetSizer( bPanelListSizer ); + m_panelList->Layout(); + bPanelListSizer->Fit( m_panelList ); m_panelDetails = new wxPanel( m_splitter1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); - wxBoxSizer* bSizer3; - bSizer3 = new wxBoxSizer( wxVERTICAL ); + wxBoxSizer* bPanelDetailsSizer; + bPanelDetailsSizer = new wxBoxSizer( wxVERTICAL ); - m_notebook = new wxNotebook( m_panelDetails, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); - m_panelDescription = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); - wxBoxSizer* bSizer4; - bSizer4 = new wxBoxSizer( wxVERTICAL ); + m_scrolledWindow5 = new wxScrolledWindow( m_panelDetails, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL ); + m_scrolledWindow5->SetScrollRate( 5, 5 ); + wxBoxSizer* bSizerScrolledWindow; + bSizerScrolledWindow = new wxBoxSizer( wxVERTICAL ); - m_infoText = new wxRichTextCtrl( m_panelDescription, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_AUTO_URL|wxTE_READONLY|wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS ); - bSizer4->Add( m_infoText, 1, wxEXPAND, 5 ); + m_infoText = new wxRichTextCtrl( m_scrolledWindow5, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_AUTO_URL ); + m_infoText->Enable( false ); + m_infoText->SetMinSize( wxSize( -1,300 ) ); + bSizerScrolledWindow->Add( m_infoText, 0, wxEXPAND, 5 ); - m_panelDescription->SetSizer( bSizer4 ); - m_panelDescription->Layout(); - bSizer4->Fit( m_panelDescription ); - m_notebook->AddPage( m_panelDescription, _("Description"), true ); - m_panelVersions = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); - wxBoxSizer* bSizer5; - bSizer5 = new wxBoxSizer( wxVERTICAL ); + m_sizerVersions = new wxBoxSizer( wxVERTICAL ); - m_showAllVersions = new wxCheckBox( m_panelVersions, wxID_ANY, _("Show all versions"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer5->Add( m_showAllVersions, 0, wxALL, 5 ); - - m_gridVersions = new WX_GRID( m_panelVersions, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); + m_gridVersions = new WX_GRID( m_scrolledWindow5, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 ); // Grid m_gridVersions->CreateGrid( 0, 5 ); @@ -94,49 +92,49 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID // Cell Defaults m_gridVersions->SetDefaultCellAlignment( wxALIGN_CENTER, wxALIGN_CENTER ); - bSizer5->Add( m_gridVersions, 1, wxEXPAND, 5 ); + m_sizerVersions->Add( m_gridVersions, 0, wxEXPAND|wxRIGHT, 15 ); - wxBoxSizer* bSizer6; - bSizer6 = new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer* bSizerVersionButtons; + bSizerVersionButtons = new wxBoxSizer( wxHORIZONTAL ); + + m_showAllVersions = new wxCheckBox( m_scrolledWindow5, wxID_ANY, _("Show all versions"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizerVersionButtons->Add( m_showAllVersions, 0, wxALIGN_CENTER_VERTICAL|wxTOP, 5 ); - bSizer6->Add( 0, 0, 1, wxEXPAND, 5 ); + bSizerVersionButtons->Add( 0, 0, 1, wxEXPAND, 5 ); - m_buttonDownload = new wxButton( m_panelVersions, wxID_ANY, _("Download"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer6->Add( m_buttonDownload, 0, wxALL, 5 ); + m_buttonDownload = new wxButton( m_scrolledWindow5, wxID_ANY, _("Download"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizerVersionButtons->Add( m_buttonDownload, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 ); - m_buttonInstall = new wxButton( m_panelVersions, wxID_ANY, _("Install"), wxDefaultPosition, wxDefaultSize, 0 ); - bSizer6->Add( m_buttonInstall, 0, wxALL, 5 ); + m_buttonInstall = new wxButton( m_scrolledWindow5, wxID_ANY, _("Install"), wxDefaultPosition, wxDefaultSize, 0 ); + bSizerVersionButtons->Add( m_buttonInstall, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 ); - bSizer6->Add( 0, 0, 1, wxEXPAND, 5 ); + m_sizerVersions->Add( bSizerVersionButtons, 0, wxEXPAND|wxRIGHT, 15 ); - bSizer5->Add( bSizer6, 0, wxEXPAND, 5 ); + bSizerScrolledWindow->Add( m_sizerVersions, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 ); - m_panelVersions->SetSizer( bSizer5 ); - m_panelVersions->Layout(); - bSizer5->Fit( m_panelVersions ); - m_notebook->AddPage( m_panelVersions, _("Versions"), false ); - - bSizer3->Add( m_notebook, 1, wxEXPAND, 5 ); + m_scrolledWindow5->SetSizer( bSizerScrolledWindow ); + m_scrolledWindow5->Layout(); + bSizerScrolledWindow->Fit( m_scrolledWindow5 ); + bPanelDetailsSizer->Add( m_scrolledWindow5, 1, wxEXPAND, 5 ); - m_panelDetails->SetSizer( bSizer3 ); + m_panelDetails->SetSizer( bPanelDetailsSizer ); m_panelDetails->Layout(); - bSizer3->Fit( m_panelDetails ); - m_splitter1->SplitVertically( m_packageListWindow, m_panelDetails, 0 ); - bSizer1->Add( m_splitter1, 1, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); + bPanelDetailsSizer->Fit( m_panelDetails ); + m_splitter1->SplitVertically( m_panelList, m_panelDetails, 0 ); + bSizer1->Add( m_splitter1, 1, wxEXPAND|wxALL, 5 ); this->SetSizer( bSizer1 ); this->Layout(); // Connect Events - m_searchCtrl->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSearchTextChanged ), NULL, this ); - m_showAllVersions->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnShowAllVersionsClicked ), NULL, this ); m_gridVersions->Connect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( PANEL_PACKAGES_VIEW_BASE::OnVersionsCellClicked ), NULL, this ); + m_showAllVersions->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnShowAllVersionsClicked ), NULL, this ); m_buttonDownload->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnDownloadVersionClicked ), NULL, this ); m_buttonInstall->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnInstallVersionClicked ), NULL, this ); } @@ -144,9 +142,8 @@ PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID PANEL_PACKAGES_VIEW_BASE::~PANEL_PACKAGES_VIEW_BASE() { // Disconnect Events - m_searchCtrl->Disconnect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnSearchTextChanged ), NULL, this ); - m_showAllVersions->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnShowAllVersionsClicked ), NULL, this ); m_gridVersions->Disconnect( wxEVT_GRID_CELL_LEFT_CLICK, wxGridEventHandler( PANEL_PACKAGES_VIEW_BASE::OnVersionsCellClicked ), NULL, this ); + m_showAllVersions->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnShowAllVersionsClicked ), NULL, this ); m_buttonDownload->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnDownloadVersionClicked ), NULL, this ); m_buttonInstall->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( PANEL_PACKAGES_VIEW_BASE::OnInstallVersionClicked ), NULL, this ); diff --git a/kicad/pcm/dialogs/panel_packages_view_base.fbp b/kicad/pcm/dialogs/panel_packages_view_base.fbp index af97604524..7cf21b2a3f 100644 --- a/kicad/pcm/dialogs/panel_packages_view_base.fbp +++ b/kicad/pcm/dialogs/panel_packages_view_base.fbp @@ -43,7 +43,7 @@ PANEL_PACKAGES_VIEW_BASE - 500,300 + 700,400 ; ; forward_declare @@ -56,141 +56,7 @@ none 5 - wxEXPAND - 0 - - - bSizer7 - wxHORIZONTAL - none - - 5 - wxALL - 0 - - 1 - 1 - 1 - 1 - - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_searchBitmap - 1 - - - protected - 1 - - Resizable - 1 - - ; ; forward_declare - 0 - - - - - - - - 5 - wxALL|wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - - 0 - - 1 - m_searchCtrl - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - - OnSearchTextChanged - - - - - - 5 - wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT + wxEXPAND|wxALL 1 1 @@ -236,7 +102,7 @@ 1 Resizable - 0.55 + 0.5 0 -1 1 @@ -250,7 +116,7 @@ - + 1 1 1 @@ -285,7 +151,7 @@ 0 1 - m_packageListWindow + m_panelList 1 @@ -293,8 +159,6 @@ 1 Resizable - 5 - 5 1 ; ; forward_declare @@ -302,12 +166,142 @@ - wxALWAYS_SHOW_SB|wxBORDER_SUNKEN|wxFULL_REPAINT_ON_RESIZE|wxVSCROLL + wxTAB_TRAVERSAL - bSizer2 + bPanelListSizer wxVERTICAL none + + 5 + wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + 0 + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_searchCtrl + 1 + + + protected + 1 + + Resizable + 1 + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + wxEXPAND + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_packageListWindow + 1 + + + protected + 1 + + Resizable + 5 + 5 + 1 + + ; ; forward_declare + 0 + + + + wxALWAYS_SHOW_SB|wxBORDER_SUNKEN|wxFULL_REPAINT_ON_RESIZE|wxVSCROLL + + + bSizer2 + wxVERTICAL + none + + + @@ -365,14 +359,14 @@ wxTAB_TRAVERSAL - bSizer3 + bPanelDetailsSizer wxVERTICAL none 5 wxEXPAND 1 - + 1 1 1 @@ -383,7 +377,6 @@ - 1 0 @@ -408,7 +401,7 @@ 0 1 - m_notebook + m_scrolledWindow5 1 @@ -416,270 +409,97 @@ 1 Resizable + 5 + 5 1 - ; ; forward_declare 0 - - - - Description - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_panelDescription - 1 - - - protected - 1 - - Resizable - 1 - - ; ; forward_declare - 0 - - - - wxTAB_TRAVERSAL - - - bSizer4 - wxVERTICAL - none - - 5 - wxEXPAND - 1 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_infoText - 1 - - - protected - 1 - - Resizable - 1 - - wxTE_AUTO_URL|wxTE_READONLY - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - wxVSCROLL|wxHSCROLL|wxNO_BORDER|wxWANTS_CHARS - - + wxVSCROLL + + + bSizerScrolledWindow + wxVERTICAL + none + + 5 + wxEXPAND + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 0 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + -1,-1 + 0 + -1,300 + 1 + m_infoText + 1 + + + protected + 1 + + Resizable + 1 + + wxTE_AUTO_URL + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + - - - - Versions - 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - - 0 - - - 0 - - 1 - m_panelVersions - 1 - - - protected - 1 - - Resizable - 1 - - ; ; forward_declare - 0 - - - - wxTAB_TRAVERSAL + + 5 + wxEXPAND|wxRIGHT|wxLEFT + 0 - bSizer5 + m_sizerVersions wxVERTICAL - none - - 5 - wxALL + protected + + 15 + wxEXPAND|wxRIGHT 0 - - 1 - 1 - 1 - 1 - - - - - - - - 1 - 0 - 0 - 1 - - 1 - 0 - Dock - 0 - Left - 1 - - 1 - - 0 - 0 - wxID_ANY - Show all versions - - 0 - - - 0 - - 1 - m_showAllVersions - 1 - - - protected - 1 - - Resizable - 1 - - - ; ; forward_declare - 0 - - - wxFILTER_NONE - wxDefaultValidator - - - - - OnShowAllVersionsClicked - - - - 5 - wxEXPAND - 1 - + 1 1 1 @@ -765,29 +585,94 @@ - 5 - wxEXPAND + 15 + wxEXPAND|wxRIGHT 0 - bSizer6 + bSizerVersionButtons wxHORIZONTAL none - + + 5 + wxALIGN_CENTER_VERTICAL|wxTOP + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + Show all versions + + 0 + + + 0 + + 1 + m_showAllVersions + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnShowAllVersionsClicked + + + 5 wxEXPAND 1 - + 0 protected 0 - + 5 - wxALL + wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT 0 - + 1 1 1 @@ -856,11 +741,11 @@ OnDownloadVersionClicked - + 5 - wxALL + wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT 0 - + 1 1 1 @@ -929,16 +814,6 @@ OnInstallVersionClicked - - 5 - wxEXPAND - 1 - - 0 - protected - 0 - - diff --git a/kicad/pcm/dialogs/panel_packages_view_base.h b/kicad/pcm/dialogs/panel_packages_view_base.h index 13dadee4dd..0f4244b62a 100644 --- a/kicad/pcm/dialogs/panel_packages_view_base.h +++ b/kicad/pcm/dialogs/panel_packages_view_base.h @@ -11,24 +11,22 @@ #include #include #include "widgets/wx_grid.h" -#include -#include -#include -#include +#include +#include #include #include #include #include -#include -#include #include #include -#include #include -#include +#include #include +#include +#include +#include +#include #include -#include #include /////////////////////////////////////////////////////////////////////////// @@ -42,31 +40,29 @@ class PANEL_PACKAGES_VIEW_BASE : public wxPanel private: protected: - wxStaticBitmap* m_searchBitmap; - wxTextCtrl* m_searchCtrl; wxSplitterWindow* m_splitter1; + wxPanel* m_panelList; + wxSearchCtrl* m_searchCtrl; wxScrolledWindow* m_packageListWindow; wxPanel* m_panelDetails; - wxNotebook* m_notebook; - wxPanel* m_panelDescription; + wxScrolledWindow* m_scrolledWindow5; wxRichTextCtrl* m_infoText; - wxPanel* m_panelVersions; - wxCheckBox* m_showAllVersions; + wxBoxSizer* m_sizerVersions; WX_GRID* m_gridVersions; + wxCheckBox* m_showAllVersions; wxButton* m_buttonDownload; wxButton* m_buttonInstall; // Virtual event handlers, overide them in your derived class - virtual void OnSearchTextChanged( wxCommandEvent& event ) { event.Skip(); } - virtual void OnShowAllVersionsClicked( wxCommandEvent& event ) { event.Skip(); } virtual void OnVersionsCellClicked( wxGridEvent& event ) { event.Skip(); } + virtual void OnShowAllVersionsClicked( wxCommandEvent& event ) { event.Skip(); } virtual void OnDownloadVersionClicked( wxCommandEvent& event ) { event.Skip(); } virtual void OnInstallVersionClicked( wxCommandEvent& event ) { event.Skip(); } public: - PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); + PANEL_PACKAGES_VIEW_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 700,400 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString ); ~PANEL_PACKAGES_VIEW_BASE(); void m_splitter1OnIdle( wxIdleEvent& )