280 |
280 |
281 def preferencesChanged(self): |
281 def preferencesChanged(self): |
282 """ |
282 """ |
283 Public slot to handle the preferencesChanged signal. |
283 Public slot to handle the preferencesChanged signal. |
284 """ |
284 """ |
|
285 # TODO: eric 6.2: change this to call all registered debugger |
|
286 # interfaces getRegistryData() method ignoring the client |
|
287 # language and update the client capabilities and client |
|
288 # associations. |
285 self.__registerDebuggerInterfaces() |
289 self.__registerDebuggerInterfaces() |
286 |
290 |
287 def __registerDebuggerInterfaces(self): |
291 def __registerDebuggerInterfaces(self): |
288 """ |
292 """ |
289 Private method to register the available debugger interface modules. |
293 Private method to register the available debugger interface modules. |
290 """ |
294 """ |
291 self.__clientCapabilities = {} |
295 self.__clientCapabilities = {} |
292 self.__clientAssociations = {} |
296 self.__clientAssociations = {} |
|
297 # TODO: eric 6.2: Add a debugger interface registry dictionary with the |
|
298 # debugger name (language) as a key |
|
299 # TODO: eric 6.2: Add a registerDebuggerInterface() method taking a |
|
300 # name and a getRegistryData() method. This method should be |
|
301 # called when a debugger backend plug-in is activated. |
|
302 # getRegistryData() shall return the client language, the client |
|
303 # capabilities, the list of associated file extensions and a |
|
304 # function reference to create the debugger interface (see |
|
305 # __createDebuggerInterface() below |
|
306 # TODO: eric 6.2: Add an unregisterDebuggerInterface() method with a |
|
307 # name as parameter to revert the above. |
293 |
308 |
294 for interface in DebuggerInterfaces: |
309 for interface in DebuggerInterfaces: |
295 modName = "Debugger.{0}".format(interface) |
310 modName = "Debugger.{0}".format(interface) |
296 mod = __import__(modName) |
311 mod = __import__(modName) |
297 components = modName.split('.') |
312 components = modName.split('.') |
347 """ |
362 """ |
348 Private slot to create the debugger interface object. |
363 Private slot to create the debugger interface object. |
349 |
364 |
350 @param clientType type of the client interface to be created (string) |
365 @param clientType type of the client interface to be created (string) |
351 """ |
366 """ |
|
367 # TODO: eric 6.2: make debugger interfaces be registered in order to |
|
368 # allow to implement a debugger backend as a plug-in. |
352 if self.lastClientType != self.clientType or clientType is not None: |
369 if self.lastClientType != self.clientType or clientType is not None: |
353 if clientType is None: |
370 if clientType is None: |
354 clientType = self.clientType |
371 clientType = self.clientType |
355 if clientType == "Python2": |
372 if clientType == "Python2": |
356 from .DebuggerInterfacePython import DebuggerInterfacePython |
373 from .DebuggerInterfacePython import DebuggerInterfacePython |