Exemplo n.º 1
0
 def __init__(self, dbPath=None):
     """
         init of the kernel
     """
     self.__logger = logging.getLogger('DbKernel')
     self.__logger.debug('__init__')
     BaseDb.__init__(self)
     # set the events
     self.__logger.debug('set events')
     self.saveEntityEvent = PyCadEvent()
     self.deleteEntityEvent = PyCadEvent()
     self.massiveDeleteEvent = PyCadEvent()
     self.showEntEvent = PyCadEvent()
     self.hideEntEvent = PyCadEvent()
     self.updateShowEntEvent = PyCadEvent()
     self.undoRedoEvent = PyCadEvent()
     self.handledErrorEvent = PyCadEvent()
     #create Connection
     self.createConnection(dbPath)
     # inizialize extentionObject
     self.__UndoDb = UndoDb(self.getConnection())
     self.__EntityDb = EntityDb(self.getConnection())
     self.__RelationDb = RelationDb(self.getConnection())
     # Some inizialization parameter
     self.__bulkCommit = False
     self.__bulkUndoIndex = -1  # undo index are always positive so we do not brake in case missing entity id
     self.__entId = self.__EntityDb.getNewEntId()
     #   set the default style
     self.__logger.debug('Set Style')
     self.__activeStyleObj = None
     self.__activeStyleObj = self.getMainStyle()
     self.__settings = self.getDbSettingsObject()
     self.__property = {}
     #************************
     #Inizialize Layer structure
     #************************
     self.__logger.debug('Inizialize layer structure')
     try:
         self.__LayerTable = LayerTable(self)
     except StructuralError:
         raise StructuralError, 'Unable to create LayerTree structure'
     self.__logger.debug('Done inizialization')