src/eric7/Plugins/VcsPlugins/vcsMercurial/HgExtensionProjectBrowserHelper.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9653
e67609152c5e
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
14 14
15 class HgExtensionProjectBrowserHelper(QObject): 15 class HgExtensionProjectBrowserHelper(QObject):
16 """ 16 """
17 Class implementing the project browser helper base for Mercurial extension 17 Class implementing the project browser helper base for Mercurial extension
18 interfaces. 18 interfaces.
19 19
20 Note: The methods initMenus() and menuTitle() have to be reimplemented by 20 Note: The methods initMenus() and menuTitle() have to be reimplemented by
21 derived classes. 21 derived classes.
22 """ 22 """
23
23 def __init__(self, vcsObject, browserObject, projectObject): 24 def __init__(self, vcsObject, browserObject, projectObject):
24 """ 25 """
25 Constructor 26 Constructor
26 27
27 @param vcsObject reference to the vcs object 28 @param vcsObject reference to the vcs object
28 @param browserObject reference to the project browser object 29 @param browserObject reference to the project browser object
29 @param projectObject reference to the project object 30 @param projectObject reference to the project object
30 """ 31 """
31 super().__init__() 32 super().__init__()
32 33
33 self.vcs = vcsObject 34 self.vcs = vcsObject
34 self.browser = browserObject 35 self.browser = browserObject
35 self.project = projectObject 36 self.project = projectObject
36 37
37 def initMenus(self): 38 def initMenus(self):
38 """ 39 """
39 Public method to generate the extension menus. 40 Public method to generate the extension menus.
40 41
41 Note: Derived class must implement this method. 42 Note: Derived class must implement this method.
42 43
43 @return dictionary of populated menu (dict of QMenu). The dict 44 @return dictionary of populated menu (dict of QMenu). The dict
44 must have the keys 'mainMenu', 'multiMenu', 'backMenu', 'dirMenu' 45 must have the keys 'mainMenu', 'multiMenu', 'backMenu', 'dirMenu'
45 and 'dirMultiMenu'. 46 and 'dirMultiMenu'.
46 @exception NotImplementedError raised if the class has not been 47 @exception NotImplementedError raised if the class has not been
47 reimplemented 48 reimplemented
48 """ 49 """
49 raise NotImplementedError 50 raise NotImplementedError
50 51
51 return { 52 return {
52 'mainMenu': QMenu(), 53 "mainMenu": QMenu(),
53 'multiMenu': QMenu(), 54 "multiMenu": QMenu(),
54 'backMenu': QMenu(), 55 "backMenu": QMenu(),
55 'dirMenu': QMenu(), 56 "dirMenu": QMenu(),
56 'dirMultiMenu': QMenu(), 57 "dirMultiMenu": QMenu(),
57 } 58 }
58 59
59 def menuTitle(self): 60 def menuTitle(self):
60 """ 61 """
61 Public method to get the menu title. 62 Public method to get the menu title.
62 63
63 Note: Derived class must implement this method. 64 Note: Derived class must implement this method.
64 65
65 @return title of the menu (string) 66 @return title of the menu (string)
66 @exception NotImplementedError raised if the class has not been 67 @exception NotImplementedError raised if the class has not been
67 reimplemented 68 reimplemented
68 """ 69 """
69 raise NotImplementedError 70 raise NotImplementedError
70 71
71 return "" 72 return ""
72 73
73 def showExtensionMenu(self, key, controlled): 74 def showExtensionMenu(self, key, controlled):
74 """ 75 """
75 Public method to prepare the extension menu for display. 76 Public method to prepare the extension menu for display.
76 77
77 Note: Derived class must implement this method to adjust the 78 Note: Derived class must implement this method to adjust the
78 enabled states of its menus. 79 enabled states of its menus.
79 80
80 @param key menu key (string, one of 'mainMenu', 'multiMenu', 81 @param key menu key (string, one of 'mainMenu', 'multiMenu',
81 'backMenu', 'dirMenu' or 'dirMultiMenu') 82 'backMenu', 'dirMenu' or 'dirMultiMenu')
82 @param controlled flag indicating to prepare the menu for a 83 @param controlled flag indicating to prepare the menu for a
83 version controlled entry or a non-version controlled entry 84 version controlled entry or a non-version controlled entry
84 (boolean) 85 (boolean)
88 raise NotImplementedError 89 raise NotImplementedError
89 90
90 def _updateVCSStatus(self, name): 91 def _updateVCSStatus(self, name):
91 """ 92 """
92 Protected method to update the VCS status of an item. 93 Protected method to update the VCS status of an item.
93 94
94 @param name filename or directoryname of the item to be updated 95 @param name filename or directoryname of the item to be updated
95 (string) 96 (string)
96 """ 97 """
97 self.project.getModel().updateVCSStatus(name) 98 self.project.getModel().updateVCSStatus(name)

eric ide

mercurial