Debugger/DebugServer.py

changeset 4476
43ff14cde5e3
parent 4366
9445c7cb991f
child 4480
2dec66f0b518
equal deleted inserted replaced
4475:dde2aa51ac0b 4476:43ff14cde5e3
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

eric ide

mercurial