Debugger/DebugServer.py

branch
6_1_x
changeset 4533
9178dcb04f76
parent 4495
b99a70d5cb4b
child 4632
ca310db386ed
equal deleted inserted replaced
4532:d12adfaf9d1d 4533:9178dcb04f76
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.
289 self.__registerDebuggerInterfaces() 285 self.__registerDebuggerInterfaces()
290 286
291 def __registerDebuggerInterfaces(self): 287 def __registerDebuggerInterfaces(self):
292 """ 288 """
293 Private method to register the available debugger interface modules. 289 Private method to register the available debugger interface modules.
294 """ 290 """
295 self.__clientCapabilities = {} 291 self.__clientCapabilities = {}
296 self.__clientAssociations = {} 292 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.
308 293
309 for interface in DebuggerInterfaces: 294 for interface in DebuggerInterfaces:
310 modName = "Debugger.{0}".format(interface) 295 modName = "Debugger.{0}".format(interface)
311 mod = __import__(modName) 296 mod = __import__(modName)
312 components = modName.split('.') 297 components = modName.split('.')
362 """ 347 """
363 Private slot to create the debugger interface object. 348 Private slot to create the debugger interface object.
364 349
365 @param clientType type of the client interface to be created (string) 350 @param clientType type of the client interface to be created (string)
366 """ 351 """
367 # TODO: eric 6.2: make debugger interfaces be registered in order to
368 # allow to implement a debugger backend as a plug-in.
369 if self.lastClientType != self.clientType or clientType is not None: 352 if self.lastClientType != self.clientType or clientType is not None:
370 if clientType is None: 353 if clientType is None:
371 clientType = self.clientType 354 clientType = self.clientType
372 if clientType == "Python2": 355 if clientType == "Python2":
373 from .DebuggerInterfacePython import DebuggerInterfacePython 356 from .DebuggerInterfacePython import DebuggerInterfacePython

eric ide

mercurial