# eric5.Plugins.VcsPlugins.vcsMercurial.HgExtensionProjectBrowserHelper

Module implementing the project browser helper base for Mercurial extension interfaces.

### Global Attributes

None

### Classes

HgExtensionProjectBrowserHelper | Class implementing the project browser helper base for Mercurial extension interfaces.

### Functions

None

## HgExtensionProjectBrowserHelper

Class implementing the project browser helper base for Mercurial extension interfaces.

Note: The methods initMenus() and menuTitle() have to be reimplemented by derived classes.

### Derived from

QObject

### Class Attributes

None

### Class Methods

None

### Methods

HgExtensionProjectBrowserHelper | Constructor
_updateVCSStatus | Protected method to update the VCS status of an item.
initMenus | Public method to generate the extension menus.
menuTitle | Public method to get the menu title.
showExtensionMenu | Public method to prepare the extension menu for display.

### Static Methods

None

#### HgExtensionProjectBrowserHelper (Constructor)

HgExtensionProjectBrowserHelper(vcsObject, browserObject, projectObject)

Constructor

vcsObject
  reference to the vcs object
browserObject
  reference to the project browser object
projectObject
  reference to the project object

#### HgExtensionProjectBrowserHelper._updateVCSStatus

_updateVCSStatus(name)

Protected method to update the VCS status of an item.

name
  filename or directoryname of the item to be updated (string)

#### HgExtensionProjectBrowserHelper.initMenus

initMenus()

Public method to generate the extension menus.

Note: Derived class must implement this method.

Returns:
  dictionary of populated menu (dict of QMenu). The dict must have the keys 'mainMenu', 'multiMenu', 'backMenu', 'dirMenu' and 'dirMultiMenu'.

Raises NotImplementedError:
  raised if the class has not been reimplemented

#### HgExtensionProjectBrowserHelper.menuTitle

menuTitle()

Public method to get the menu title.

Note: Derived class must implement this method.

Returns:
  title of the menu (string)

Raises NotImplementedError:
  raised if the class has not been reimplemented

#### HgExtensionProjectBrowserHelper.showExtensionMenu

showExtensionMenu(key, controlled)

Public method to prepare the extension menu for display.

Note: Derived class must implement this method to adjust the enabled states of its menus.

key
  menu key (string, one of 'mainMenu', 'multiMenu', 'backMenu', 'dirMenu' or 'dirMultiMenu')
controlled
  flag indicating to prepare the menu for a version controlled entry or a non-version controlled entry (boolean)

Raises NotImplementedError:
  raised if the class has not been reimplemented

Up