|
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().