Changeset 464

Show
Ignore:
Timestamp:
Thu Jun 26 20:43:24 2008
Author:
Brian
Message:

In Data.py, allow objects to be used as hash keys. In ORM.py, found some bugs when last working on UMLmap. These are the fixes I made then.

Files:

Legend:

Unmodified
Added
Removed
Modified
  • ganttpv/trunk/ORM.py

    r463 r464  
    217 217         model['ORMObjectTypeID'] = nodeb.TableID  
    218 218     elif shape_type == 'ORMSubtypeConnectorShape':  # what should this be called?  
    219           model['ORMSubtypeID'] = nodeb.TableID  
      219         model['ORMObjectTypeID'] = nodeb.TableID  
      220         model['ORMSubtypeID'] = nodea.TableID  
    220 221     elif shape_type == 'ORMNoteConnectorShape':  # may connect to anything  
    221 222         model['TableName'] = nodeb.TableName  
     
    264 265         object_id = nodea.TableID   # same target as nodea  
    265 266     elif shape_type == 'ORMObjectTypeShape':  
    266           model['Type'] = 'Entity'  
      267         model['Type'] = 'Objectified'  
    266 267         object_id = Data.Update(model)['ID']  
    267 268  
     
    1532 1533         dc.SetIdBounds(self.dcid,r)  
    1533 1534  
    1534   ##    def IsUIDeletable(self):  # allow user to delete this graphic object  
    1535   ##        return True  
      1535     def IsUIDeletable(self):  # allow user to delete this graphic object  
      1536         return True  
    1536 1537 ## or handle via menu command  
    1537 1538  
      1539     def Delete(self):  
      1540         if self.InDelete: return  # prevent loops  
      1541         self._SetInShell('InDelete', True)  
      1542         if self.Target:  
      1543             self.Target.Delete()  
      1544         self._SetInShell('InDelete', None)  
      1545         ORMShape.Delete(self)  
      1546  
    1538 1547 class ORMNoteConnectorShape(ORMConnector):  
    1539 1548     def Draw(self, dc):  
     
    1781 1790         self.SetScrollRate(20,20)  
    1782 1791          
      1792         self.keyboard_target_dcid = None  
      1793  
    1783 1794         # create a PseudoDC to record our drawing  
    1784 1795         self.pdc = wx.PseudoDC()  
     
    1790 1801         self.log.write('Created PseudoDC draw list with %d operations!'%self.pdc.GetLen())  
    1791 1802  
    1792           self.keyboard_target_dcid = None  
    1793    
    1794 1803         self.Bind(wx.EVT_PAINT, self.OnPaint)  
    1795 1804         self.Bind(wx.EVT_ERASE_BACKGROUND, lambda x:None)  
  • ganttpv/trunk/Data.py

    r459 r464  
    639 639             return False  
    640 640  
      641     def __hash__(self):  # IMPORTANT: hash values may be changed by share w/ server script  
      642         return hash((self.Table, self.ID))  
      643  
    641 644     def __setattr__(self, name, value):  
    642 645         # edits