gui.addonStoreGui.controls package

Submodules

gui.addonStoreGui.controls.actions module

class gui.addonStoreGui.controls.actions._ActionsContextMenuP

Bases: Generic[AddonActionT], ABC

_actions: List[AddonActionT]
_actionMenuItemMap: Dict[AddonActionT, MenuItem]
_contextMenu: Menu
abstract _menuItemClicked(evt: ContextMenuEvent, actionVM: AddonActionT)
popupContextMenuFromPosition(targetWindow: Window, position: Position = wx.Point(-1, -1))
_populateContextMenu()
_abc_impl = <_abc._abc_data object>
class gui.addonStoreGui.controls.actions._MonoActionsContextMenu(storeVM: AddonStoreVM)

Bases: _ActionsContextMenuP[AddonActionVM]

Context menu for actions for a single add-on

_actionMenuItemMap: Dict[AddonActionT, MenuItem]
_contextMenu: Menu
_menuItemClicked(evt: ContextMenuEvent, actionVM: AddonActionVM)
property _actions: List[AddonActionVM]
_abc_impl = <_abc._abc_data object>
class gui.addonStoreGui.controls.actions._BatchActionsContextMenu(storeVM: AddonStoreVM)

Bases: _ActionsContextMenuP[BatchAddonActionVM]

Context menu for actions for a group of add-ons

_actionMenuItemMap: Dict[AddonActionT, MenuItem]
_contextMenu: Menu
_updateSelectedAddons(selectedAddons: Iterable[AddonListItemVM])
popupContextMenuFromPosition(targetWindow: Window, position: Position = wx.Point(-1, -1))
_menuItemClicked(evt: ContextMenuEvent, actionVM: BatchAddonActionVM)
property _actions: List[BatchAddonActionVM]
_abc_impl = <_abc._abc_data object>
class gui.addonStoreGui.controls.actions.AddonListValidator(addonsList: List[AddonListItemVM])

Bases: object

canUseInstallAction() bool
canUseUpdateAction() bool
canUseRemoveAction() bool
canUseEnableAction() bool
canUseDisableAction() bool

gui.addonStoreGui.controls.addonList module

class gui.addonStoreGui.controls.addonList.AddonVirtualList(parent: Window, addonsListVM: AddonListVM, actionsContextMenu: _MonoActionsContextMenu)

Bases: AutoWidthColumnListCtrl, DpiScalingHelperMixinWithoutInit

initialiser Takes the same parameter as a wx.ListCtrl with the following additions: @param autoSizeColumn: defaults to “LAST” which results in the last column being resized.

Pass the column number to be resized, valid values: 1 to N

@type autoSizeColumn: int @param itemTextCallable: A callable to be called to get the item text for a particular item’s column in the list.

It should accept the same parameters as L{OnGetItemText},

@type itemTextCallable: L{callable}

_refreshColumns()
_getListSelectionPosition() Position | None
_updateBatchContextMenuSelection()
property _contextMenu: _ActionsContextMenuP
_popupContextMenuFromList(evt: ContextMenuEvent)
_itemDataUpdated(index: int)
OnItemSelected(evt: ListEvent)
OnItemActivated(evt: ListEvent)
OnItemDeselected(evt: ListEvent)
OnGetItemText(item, column) String

This function must be overridden in the derived class for a control with wxLC_VIRTUAL style.

OnColClick(evt: ListEvent)
_doRefresh()
_refreshSelection()

gui.addonStoreGui.controls.details module

class gui.addonStoreGui.controls.details.AddonDetails(parent: AddonStoreDialog, detailsVM: AddonDetailsVM, actionsContextMenu: _MonoActionsContextMenu)

Bases: Panel, DpiScalingHelperMixinWithoutInit

_labelSpace = '\u2003'
_loadingAddonsLabelText: str = 'Loading add-ons...'
_noAddonSelectedLabelText: str = 'No add-on selected.'
_descriptionLabelText: str = 'Description:'
_statusLabelText: str = 'S&tatus:'
_actionsLabelText: str = 'A&ctions'
_createRichTextStyles()
_setAddonNameCtrlStyle()
updateAddonName(displayName: str)
_updatedListItem(addonDetailsVM: AddonDetailsVM)
_refresh()
_addDetailsLabel(label: str)
_appendDetailsLabelValue(label: str, value: str)

gui.addonStoreGui.controls.messageDialogs module

class gui.addonStoreGui.controls.messageDialogs.ErrorAddonInstallDialogWithYesNoButtons(*args, useRememberChoiceCheckbox: bool = False, **kwargs)

Bases: ErrorAddonInstallDialog

Called in place of wx.Dialog __init__ arguments are forwarded on. Expected args (from wx docs): parent, id, title, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_DIALOG_STYLE, name=wx.DialogNameStr where: wx.DEFAULT_DIALOG_STYLE = (wxCAPTION | wxSYSTEM_MENU | wxCLOSE_BOX)

_addButtons(buttonHelper: ButtonHelper) None

Adds ok / cancel buttons. Can be overridden to provide alternative functionality.

_addContents(contentsSizer: BoxSizerHelper)

Adds additional contents to the dialog, before the buttons. Subclasses may implement this method.

shouldRememberChoice() bool
gui.addonStoreGui.controls.messageDialogs._shouldProceedWhenInstalledAddonVersionUnknown(parent: Window, addon: _AddonGUIModel, useRememberChoiceCheckbox: bool = False) tuple[bool, bool]
gui.addonStoreGui.controls.messageDialogs._shouldProceedToRemoveAddonDialog(parent, addon: SupportsVersionCheck, useRememberChoiceCheckbox: bool = False) tuple[bool, bool]
gui.addonStoreGui.controls.messageDialogs._shouldInstallWhenAddonTooOldDialog(parent: Window, addon: _AddonGUIModel, useRememberChoiceCheckbox: bool = False) tuple[bool, bool]
gui.addonStoreGui.controls.messageDialogs._shouldEnableWhenAddonTooOldDialog(parent: Window, addon: _AddonGUIModel, useRememberChoiceCheckbox: bool = False) tuple[bool, bool]
gui.addonStoreGui.controls.messageDialogs._showAddonRequiresNVDAUpdateDialog(parent: Window, addon: _AddonGUIModel) None
gui.addonStoreGui.controls.messageDialogs._showConfirmAddonInstallDialog(parent: Window, addon: _AddonGUIModel) int
gui.addonStoreGui.controls.messageDialogs._showAddonInfo(addon: _AddonGUIModel) None
class gui.addonStoreGui.controls.messageDialogs._SafetyWarningDialog(parent: Window)

Bases: ContextHelpMixin, Dialog

A dialog warning the user about the risks of installing add-ons.

helpId = 'AddonStoreInstalling'
onOkButton(evt: CommandEvent)
class gui.addonStoreGui.controls.messageDialogs.UpdatableAddonsDialog(parent: Window, addonsPendingUpdate: list[_AddonGUIModel])

Bases: ContextHelpMixin, Dialog

A dialog notifying users that updatable add-ons are available

helpId = 'AutomaticAddonUpdates'
_setupUI()
onCharHook(evt: KeyEvent)
_setupMessage(sHelper: BoxSizerHelper)
_setupButtons(sHelper: BoxSizerHelper)
_createAddonsPanel(sHelper: BoxSizerHelper)
onOpenStoreButton(evt: CommandEvent)

Open the Add-on Store to update add-ons

onUpdateAllButton(evt: CommandEvent)
_statusUpdate(addonListItemVM: AddonListItemVM)
onCloseButton(evt: CommandEvent)
onClose(evt: CloseEvent)
classmethod _checkForUpdatableAddons()

gui.addonStoreGui.controls.storeDialog module

class gui.addonStoreGui.controls.storeDialog.AddonStoreDialog(*args, **kwargs)

Bases: SettingsDialog

@param parent: The parent for this dialog; C{None} for no parent. @param resizeable: True if the settings dialog should be resizable by the user, only set this if

you have tested that the components resize correctly.

@param hasApplyButton: C{True} to add an apply button to the dialog; defaults to C{False} for backwards compatibility.

Deprecated, use buttons instead.

@param settingsSizerOrientation: Either wx.VERTICAL or wx.HORIZONTAL. This controls the orientation of the

sizer that is passed into L{makeSettings}. The default is wx.VERTICAL.

@param multiInstanceAllowed: Whether multiple instances of SettingsDialog may exist.

Note that still only one instance of a particular SettingsDialog subclass may exist at one time.

@param buttons: Buttons to add to the settings dialog.

Should be a subset of {wx.OK, wx.CANCEL, wx.APPLY, wx.CLOSE}.

title = 'Add-on Store'
helpId = 'AddonsManager'
_enterActivatesOk_ctrlSActivatesApply(evt: KeyEvent)

Disables parent behaviour which overrides behaviour for enter and ctrl+s

handleDisplayableError(displayableError: DisplayableError)
makeSettings(settingsSizer: BoxSizer)

Populate the dialog with settings controls. Subclasses must override this method. @param sizer: The sizer to which to add the settings controls. @type sizer: wx.Sizer

_makeBanner()
_createFilterControls(filterCtrlHelper: BoxSizerHelper) None
postInit()

Called after the dialog has been created. For example, this might be used to set focus to the desired control. Sub-classes may override this method.

_onWindowDestroy(evt: WindowDestroyEvent)
_installationPromptTitle = 'Add-on installation'
onClose(evt: CommandEvent)

Take action in response to the Close button being pressed. Sub-classes may extend this method. This base method should always be called to clean up the dialog.

property _requiresRestart: bool
property _statusFilterKey: _StatusFilterKey
property _channelFilterKey: Channel
property _titleText: str
property _listLabelText: str
_setListLabels()
_toggleFilterControls()
onListTabPageChange(evt: <wx.core.PyEventBinder object at 0x06240E30>)
onChannelFilterChange(evt: <wx.core.PyEventBinder object at 0x06240E30>)
onFilterTextChange(evt: <wx.core.PyEventBinder object at 0x062468D0>)
onEnabledFilterChange(evt: <wx.core.PyEventBinder object at 0x06240E30>)
onIncompatibleFilterChange(evt: <wx.core.PyEventBinder object at 0x06240EF0>)
filter(filterText: str)
openExternalInstall(evt: <wx.core.PyEventBinder object at 0x062402B0>)
_abc_impl = <_abc._abc_data object>