| 
    KiCad PCB EDA Suite
    
   | 
 
#include <panel_packages_view.h>
  
Public Member Functions | |
| PANEL_PACKAGES_VIEW (wxWindow *parent, std::shared_ptr< PLUGIN_CONTENT_MANAGER > aPcm, const ActionCallback &aCallback, const PinCallback &aPinCallback) | |
| ~PANEL_PACKAGES_VIEW () | |
| void | SetData (const std::vector< PACKAGE_VIEW_DATA > &aPackageData) | 
| Recreates package panels and displays data.   | |
| void | SetPackageState (const wxString &aPackageId, const PCM_PACKAGE_STATE aState, const bool aPinned) | 
| Set the state of package.   | |
| void | ClearData () | 
| Selects full row of the clicked cell.   | |
| void | OnVersionsCellClicked (wxGridEvent &event) override | 
| Opens file chooser dialog and downloads selected package version archive.   | |
| void | OnDownloadVersionClicked (wxCommandEvent &event) override | 
| Schedules relevant action for selected package version.   | |
| void | OnVersionActionClicked (wxCommandEvent &event) override | 
| Shows all versions including incompatible ones.   | |
| void | OnShowAllVersionsClicked (wxCommandEvent &event) override | 
| Ranks packages for entered search term and rearranges/hides panels according to their rank.   | |
| void | OnSearchTextChanged (wxCommandEvent &event) | 
| void | OnSizeInfoBox (wxSizeEvent &aEvent) override | 
| Respond to a URL in the info window.   | |
| void | OnURLClicked (wxHtmlLinkEvent &event) override | 
| Respond to scrolling over the window.   | |
| void | OnInfoMouseWheel (wxMouseEvent &event) override | 
| Replacement of wxFormBuilder's ill-advised m_splitter1OnIdle.   | |
| void | SetSashOnIdle (wxIdleEvent &) | 
| Enqueues all available package updates.   | |
| void | OnUpdateAllClicked (wxCommandEvent &event) override | 
| void | m_splitter1OnIdle (wxIdleEvent &) | 
Protected Attributes | |
| WX_SPLITTER_WINDOW * | m_splitter1 | 
| WX_PANEL * | m_panelList | 
| wxSearchCtrl * | m_searchCtrl | 
| wxButton * | m_buttonUpdateAll | 
| wxScrolledWindow * | m_packageListWindow | 
| wxPanel * | m_panelDetails | 
| wxScrolledWindow * | m_infoScrollWindow | 
| HTML_WINDOW * | m_infoText | 
| wxBoxSizer * | m_sizerVersions | 
| WX_GRID * | m_gridVersions | 
| wxCheckBox * | m_showAllVersions | 
| wxButton * | m_buttonDownload | 
| wxButton * | m_buttonAction | 
Private Types | |
| enum | PACKAGE_VERSIONS_GRID_COLUMNS {  COL_VERSION = 0 , COL_DOWNLOAD_SIZE , COL_INSTALL_SIZE , COL_COMPATIBILITY , COL_STATUS }  | 
Private Member Functions | |
| void | updatePackageList () | 
| < Updates package listing according to search term   | |
| void | updateDetailsButtons () | 
| Called when package state changes, currently used to calculate Update All button state.   | |
| void | updateCommonState () | 
| Updates details panel.   | |
| void | setPackageDetails (const PACKAGE_VIEW_DATA &aPackageData) | 
| Clears details panel.   | |
| void | unsetPackageDetails () | 
| Bytes to Kb/Mb/Gb string or "-" if absent.   | |
| wxString | toHumanReadableSize (const std::optional< uint64_t > size) const | 
| Returns true if it the download operation can be performed.   | |
| bool | canDownload () const | 
| Returns true if the package action can be performed.   | |
| bool | canRunAction () const | 
| Returns implied action for the action button.   | |
| PCM_PACKAGE_ACTION | getAction () const | 
Private Attributes | |
| const ActionCallback & | m_actionCallback | 
| const PinCallback & | m_pinCallback | 
| std::unordered_map< wxString, PANEL_PACKAGE * > | m_packagePanels | 
| std::vector< wxString > | m_packageInitialOrder | 
| PANEL_PACKAGE * | m_currentSelected | 
| std::unordered_set< wxString > | m_updateablePackages | 
| std::shared_ptr< PLUGIN_CONTENT_MANAGER > | m_pcm | 
Static Private Attributes | |
| static std::unordered_map< PCM_PACKAGE_VERSION_STATUS, wxString > | STATUS_ENUM_TO_STR | 
Definition at line 35 of file panel_packages_view.h.
      
  | 
  private | 
| Enumerator | |
|---|---|
| COL_VERSION | |
| COL_DOWNLOAD_SIZE | |
| COL_INSTALL_SIZE | |
| COL_COMPATIBILITY | |
| COL_STATUS | |
Definition at line 128 of file panel_packages_view.h.
| PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW | ( | wxWindow * | parent, | 
| std::shared_ptr< PLUGIN_CONTENT_MANAGER > | aPcm, | ||
| const ActionCallback & | aCallback, | ||
| const PinCallback & | aPinCallback ) | 
Definition at line 52 of file panel_packages_view.cpp.
References _, ClearData(), GRID_CELL_MARGIN, m_actionCallback, PANEL_PACKAGES_VIEW_BASE::m_gridVersions, PANEL_PACKAGES_VIEW_BASE::m_infoScrollWindow, PANEL_PACKAGES_VIEW_BASE::m_packageListWindow, PANEL_PACKAGES_VIEW_BASE::m_panelList, m_pcm, m_pinCallback, PANEL_PACKAGES_VIEW_BASE::m_searchCtrl, PANEL_PACKAGES_VIEW_BASE::m_splitter1, PANEL_PACKAGES_VIEW_BASE::m_splitter1OnIdle(), OnSearchTextChanged(), PANEL_PACKAGES_VIEW_BASE::PANEL_PACKAGES_VIEW_BASE(), and SetSashOnIdle().
| PANEL_PACKAGES_VIEW::~PANEL_PACKAGES_VIEW | ( | ) | 
Definition at line 106 of file panel_packages_view.cpp.
References PGM_BASE::GetCommonSettings(), PANEL_PACKAGES_VIEW_BASE::m_gridVersions, COMMON_SETTINGS::m_PackageManager, PANEL_PACKAGES_VIEW_BASE::m_splitter1, Pgm(), COMMON_SETTINGS::PACKAGE_MANAGER::sash_pos, and SetSashOnIdle().
      
  | 
  private | 
Returns true if the package action can be performed.
Definition at line 418 of file panel_packages_view.cpp.
References m_currentSelected, and PANEL_PACKAGES_VIEW_BASE::m_gridVersions.
Referenced by OnDownloadVersionClicked(), and updateDetailsButtons().
      
  | 
  private | 
Returns implied action for the action button.
Definition at line 427 of file panel_packages_view.cpp.
References m_currentSelected, PANEL_PACKAGES_VIEW_BASE::m_gridVersions, PPS_PENDING_INSTALL, PPS_PENDING_UNINSTALL, PPS_PENDING_UPDATE, and PACKAGE_VIEW_DATA::state.
Referenced by OnVersionActionClicked(), and updateDetailsButtons().
| void PANEL_PACKAGES_VIEW::ClearData | ( | ) | 
Selects full row of the clicked cell.
Definition at line 118 of file panel_packages_view.cpp.
References m_currentSelected, m_packageInitialOrder, PANEL_PACKAGES_VIEW_BASE::m_packageListWindow, m_packagePanels, m_updateablePackages, and unsetPackageDetails().
Referenced by PANEL_PACKAGES_VIEW(), and SetData().
      
  | 
  private | 
Definition at line 716 of file panel_packages_view.cpp.
References COL_VERSION, and PANEL_PACKAGES_VIEW_BASE::m_gridVersions.
Referenced by OnVersionActionClicked(), and updateDetailsButtons().
      
  | 
  inlineinherited | 
Definition at line 78 of file panel_packages_view_base.h.
References m_splitter1, and m_splitter1OnIdle().
Referenced by m_splitter1OnIdle(), PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW(), and PANEL_PACKAGES_VIEW_BASE().
      
  | 
  overridevirtual | 
Schedules relevant action for selected package version.
Reimplemented from PANEL_PACKAGES_VIEW_BASE.
Definition at line 480 of file panel_packages_view.cpp.
References _, canDownload(), COL_VERSION, GetAppSettings(), PANEL_PACKAGES_VIEW_BASE::m_gridVersions, m_pcm, KICAD_SETTINGS::m_PcmLastDownloadDir, path, PR_CAN_ABORT, and PCM_PACKAGE::versions.
      
  | 
  overridevirtual | 
Replacement of wxFormBuilder's ill-advised m_splitter1OnIdle.
Reimplemented from PANEL_PACKAGES_VIEW_BASE.
Definition at line 772 of file panel_packages_view.cpp.
References PANEL_PACKAGES_VIEW_BASE::m_infoScrollWindow.
| void PANEL_PACKAGES_VIEW::OnSearchTextChanged | ( | wxCommandEvent & | event | ) | 
Definition at line 619 of file panel_packages_view.cpp.
References m_currentSelected, unsetPackageDetails(), and updatePackageList().
Referenced by PANEL_PACKAGES_VIEW().
      
  | 
  overridevirtual | 
Ranks packages for entered search term and rearranges/hides panels according to their rank.
Reimplemented from PANEL_PACKAGES_VIEW_BASE.
Definition at line 607 of file panel_packages_view.cpp.
References dummy, m_currentSelected, and updateDetailsButtons().
      
  | 
  overridevirtual | 
Respond to a URL in the info window.
Reimplemented from PANEL_PACKAGES_VIEW_BASE.
Definition at line 746 of file panel_packages_view.cpp.
References KIPLATFORM::UI::GetUnobscuredSize(), PANEL_PACKAGES_VIEW_BASE::m_infoText, and Refresh().
Referenced by setPackageDetails().
      
  | 
  overridevirtual | 
Reimplemented from PANEL_PACKAGES_VIEW_BASE.
Definition at line 796 of file panel_packages_view.cpp.
References m_actionCallback, m_packagePanels, m_updateablePackages, PPA_UPDATE, and PACKAGE_VIEW_DATA::update_version.
      
  | 
  overridevirtual | 
Respond to scrolling over the window.
Reimplemented from PANEL_PACKAGES_VIEW_BASE.
Definition at line 765 of file panel_packages_view.cpp.
References info.
      
  | 
  overridevirtual | 
Shows all versions including incompatible ones.
Reimplemented from PANEL_PACKAGES_VIEW_BASE.
Definition at line 561 of file panel_packages_view.cpp.
References _, canRunAction(), COL_VERSION, getAction(), m_actionCallback, m_currentSelected, PANEL_PACKAGES_VIEW_BASE::m_gridVersions, PPA_UNINSTALL, and PCM_PACKAGE::versions.
      
  | 
  overridevirtual | 
Opens file chooser dialog and downloads selected package version archive.
Reimplemented from PANEL_PACKAGES_VIEW_BASE.
Definition at line 471 of file panel_packages_view.cpp.
References PANEL_PACKAGES_VIEW_BASE::m_gridVersions, and updateDetailsButtons().
| void PANEL_PACKAGES_VIEW::SetData | ( | const std::vector< PACKAGE_VIEW_DATA > & | aPackageData | ) | 
Recreates package panels and displays data.
| aPackageData | list of package view data | 
Definition at line 132 of file panel_packages_view.cpp.
References ClearData(), PANEL_PACKAGE::GetPackageData(), m_actionCallback, m_currentSelected, m_packageInitialOrder, PANEL_PACKAGES_VIEW_BASE::m_packageListWindow, m_packagePanels, m_pinCallback, m_updateablePackages, PPS_UPDATE_AVAILABLE, setPackageDetails(), PANEL_PACKAGE::SetSelectCallback(), PANEL_PACKAGE::SetSelected(), updateCommonState(), and updatePackageList().
      
  | 
  private | 
Clears details panel.
Definition at line 166 of file panel_packages_view.cpp.
References _, COL_COMPATIBILITY, COL_DOWNLOAD_SIZE, COL_INSTALL_SIZE, COL_STATUS, COL_VERSION, PACKAGE_VERSION::compatible, PACKAGE_VERSION::download_size, dummy, EscapeHTML(), PACKAGE_VERSION::install_size, m_currentSelected, PANEL_PACKAGES_VIEW_BASE::m_gridVersions, PANEL_PACKAGES_VIEW_BASE::m_infoScrollWindow, PANEL_PACKAGES_VIEW_BASE::m_infoText, m_pcm, PANEL_PACKAGES_VIEW_BASE::m_showAllVersions, PANEL_PACKAGES_VIEW_BASE::m_sizerVersions, name, PCM_PACKAGE::name, OnSizeInfoBox(), PPS_INSTALLED, PPS_UPDATE_AVAILABLE, result, PACKAGE_VIEW_DATA::state, PACKAGE_VERSION::status, STATUS_ENUM_TO_STR, text, toHumanReadableSize(), updateDetailsButtons(), and PACKAGE_VERSION::version.
Referenced by SetData().
| void PANEL_PACKAGES_VIEW::SetPackageState | ( | const wxString & | aPackageId, | 
| const PCM_PACKAGE_STATE | aState, | ||
| const bool | aPinned ) | 
Set the state of package.
| aPackageId | id of the package | 
| aState | new state | 
| aPinned | indicates pinned version Destroys package panels | 
Definition at line 446 of file panel_packages_view.cpp.
References dummy, m_currentSelected, m_packagePanels, m_updateablePackages, PPS_UPDATE_AVAILABLE, and updateCommonState().
| void PANEL_PACKAGES_VIEW::SetSashOnIdle | ( | wxIdleEvent & | aEvent | ) | 
Enqueues all available package updates.
Definition at line 779 of file panel_packages_view.cpp.
References PGM_BASE::GetCommonSettings(), PANEL_PACKAGES_VIEW_BASE::m_packageListWindow, COMMON_SETTINGS::m_PackageManager, PANEL_PACKAGES_VIEW_BASE::m_splitter1, Pgm(), COMMON_SETTINGS::PACKAGE_MANAGER::sash_pos, and SetSashOnIdle().
Referenced by PANEL_PACKAGES_VIEW(), SetSashOnIdle(), and ~PANEL_PACKAGES_VIEW().
      
  | 
  private | 
Returns true if it the download operation can be performed.
Definition at line 401 of file panel_packages_view.cpp.
Referenced by setPackageDetails().
      
  | 
  private | 
Bytes to Kb/Mb/Gb string or "-" if absent.
Definition at line 385 of file panel_packages_view.cpp.
References PANEL_PACKAGES_VIEW_BASE::m_gridVersions, PANEL_PACKAGES_VIEW_BASE::m_infoScrollWindow, PANEL_PACKAGES_VIEW_BASE::m_infoText, and PANEL_PACKAGES_VIEW_BASE::m_sizerVersions.
Referenced by ClearData(), and OnSearchTextChanged().
      
  | 
  private | 
Updates details panel.
Definition at line 790 of file panel_packages_view.cpp.
References PANEL_PACKAGES_VIEW_BASE::m_buttonUpdateAll, and m_updateablePackages.
Referenced by SetData(), and SetPackageState().
      
  | 
  private | 
Called when package state changes, currently used to calculate Update All button state.
Definition at line 691 of file panel_packages_view.cpp.
References _, canDownload(), canRunAction(), getAction(), PANEL_PACKAGES_VIEW_BASE::m_buttonAction, PANEL_PACKAGES_VIEW_BASE::m_buttonDownload, PPA_INSTALL, PPA_UNINSTALL, and PPA_UPDATE.
Referenced by OnShowAllVersionsClicked(), OnVersionsCellClicked(), and setPackageDetails().
      
  | 
  private | 
< Updates package listing according to search term
Updates buttons below the package details: Download and Install
Definition at line 632 of file panel_packages_view.cpp.
References dummy, m_currentSelected, m_packageInitialOrder, PANEL_PACKAGES_VIEW_BASE::m_packageListWindow, m_packagePanels, m_pcm, PANEL_PACKAGES_VIEW_BASE::m_searchCtrl, PANEL_PACKAGE::OnClick(), and PCM_PACKAGE::versions.
Referenced by OnSearchTextChanged(), and SetData().
      
  | 
  private | 
Definition at line 120 of file panel_packages_view.h.
Referenced by OnUpdateAllClicked(), OnVersionActionClicked(), PANEL_PACKAGES_VIEW(), and SetData().
      
  | 
  protectedinherited | 
Definition at line 59 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::updateDetailsButtons(), and ~PANEL_PACKAGES_VIEW_BASE().
      
  | 
  protectedinherited | 
Definition at line 58 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::updateDetailsButtons(), and ~PANEL_PACKAGES_VIEW_BASE().
      
  | 
  protectedinherited | 
Definition at line 50 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::updateCommonState(), and ~PANEL_PACKAGES_VIEW_BASE().
      
  | 
  private | 
Definition at line 124 of file panel_packages_view.h.
Referenced by canDownload(), canRunAction(), ClearData(), OnSearchTextChanged(), OnShowAllVersionsClicked(), OnVersionActionClicked(), SetData(), setPackageDetails(), SetPackageState(), and updatePackageList().
      
  | 
  protectedinherited | 
Definition at line 56 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW::canDownload(), PANEL_PACKAGES_VIEW::canRunAction(), PANEL_PACKAGES_VIEW::getAction(), PANEL_PACKAGES_VIEW::OnDownloadVersionClicked(), PANEL_PACKAGES_VIEW::OnVersionActionClicked(), PANEL_PACKAGES_VIEW::OnVersionsCellClicked(), PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW(), PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::setPackageDetails(), PANEL_PACKAGES_VIEW::unsetPackageDetails(), PANEL_PACKAGES_VIEW::~PANEL_PACKAGES_VIEW(), and ~PANEL_PACKAGES_VIEW_BASE().
      
  | 
  protectedinherited | 
Definition at line 53 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW::OnInfoMouseWheel(), PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW(), PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::setPackageDetails(), PANEL_PACKAGES_VIEW::unsetPackageDetails(), and ~PANEL_PACKAGES_VIEW_BASE().
      
  | 
  protectedinherited | 
Definition at line 54 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW::OnSizeInfoBox(), PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::setPackageDetails(), PANEL_PACKAGES_VIEW::unsetPackageDetails(), and ~PANEL_PACKAGES_VIEW_BASE().
      
  | 
  private | 
Definition at line 123 of file panel_packages_view.h.
Referenced by ClearData(), SetData(), and updatePackageList().
      
  | 
  protectedinherited | 
Definition at line 51 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW::ClearData(), PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW(), PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::SetData(), PANEL_PACKAGES_VIEW::SetSashOnIdle(), and PANEL_PACKAGES_VIEW::updatePackageList().
      
  | 
  private | 
Definition at line 122 of file panel_packages_view.h.
Referenced by ClearData(), OnUpdateAllClicked(), SetData(), SetPackageState(), and updatePackageList().
      
  | 
  protectedinherited | 
Definition at line 52 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW_BASE().
      
  | 
  protectedinherited | 
Definition at line 48 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW(), and PANEL_PACKAGES_VIEW_BASE().
      
  | 
  private | 
Definition at line 126 of file panel_packages_view.h.
Referenced by OnDownloadVersionClicked(), PANEL_PACKAGES_VIEW(), setPackageDetails(), and updatePackageList().
      
  | 
  private | 
Definition at line 121 of file panel_packages_view.h.
Referenced by PANEL_PACKAGES_VIEW(), and SetData().
      
  | 
  protectedinherited | 
Definition at line 49 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW(), PANEL_PACKAGES_VIEW_BASE(), and PANEL_PACKAGES_VIEW::updatePackageList().
      
  | 
  protectedinherited | 
Definition at line 57 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::setPackageDetails(), and ~PANEL_PACKAGES_VIEW_BASE().
      
  | 
  protectedinherited | 
Definition at line 55 of file panel_packages_view_base.h.
Referenced by PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::setPackageDetails(), and PANEL_PACKAGES_VIEW::unsetPackageDetails().
      
  | 
  protectedinherited | 
Definition at line 47 of file panel_packages_view_base.h.
Referenced by m_splitter1OnIdle(), PANEL_PACKAGES_VIEW::PANEL_PACKAGES_VIEW(), PANEL_PACKAGES_VIEW_BASE(), PANEL_PACKAGES_VIEW::SetSashOnIdle(), and PANEL_PACKAGES_VIEW::~PANEL_PACKAGES_VIEW().
      
  | 
  private | 
Definition at line 125 of file panel_packages_view.h.
Referenced by ClearData(), OnUpdateAllClicked(), SetData(), SetPackageState(), and updateCommonState().
      
  | 
  staticprivate | 
Definition at line 43 of file panel_packages_view.h.
Referenced by setPackageDetails().