Changeset 459

Show
Ignore:
Timestamp:
Wed Jun 18 15:30:50 2008
Author:
Alexander
Message:

fixed deletion of roles

Files:

Legend:

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

    r458 r459  
    988 988         '''use this to delete a role from a fact type'''  
    989 989         fact_object = self.Target  
    990           reading_object = self.Target.ORMFactReading  
      990         # reading_object = self.Target.ORMFactReading  
    990 990  
    991 991         DeleteRole(fact_object, role)  
     
    1006 1006         i = 0  
    1007 1007         for r in roles:  
    1008               if r.Role == delete_role:  
      1008             if r.ORMRole == delete_role:  
    1008 1008                 r.Delete()  
    1009               else:  # renumber remaing role positions  
      1009             else:  # renumber remaining role positions  
    1009 1009                 i += 1  
    1010 1010                 r.Seq = i  
     
    1505 1505         if self.InDelete: return  # prevent loops  
    1506 1506         self._SetInShell('InDelete', True)  
    1507           if self.Target:  
    1508   ##            fact = self.Target.ORMFactType  
    1509   ##            self.Target.Delete()  
    1510   ##            fact.ResequenceRoles()  
    1511               self.Target.ORMFactType.DeleteRole(self.Target)  
      1507         if self.NodeA:  
      1508             self.NodeA.DeleteRole(self.Target)  
    1512 1509         self._SetInShell('InDelete', None)  
    1513 1510         ORMShape.Delete(self)  
     
    1998 1995         menu.AppendRadioItem(self.popsID28, "Set as Value (not implemented)")  
    1999 1996         menu.Check(self.popsID28, (constraint.Operator == 'Value'))  
    2000           sm = wx.Menu()  
    2001           sm.Append(self.popsID71, "Irreflexive")  
    2002           sm.Append(self.popsID72, "Asymmetric")  
    2003           sm.Append(self.popsID73, "Intransitive")  
    2004           sm.Append(self.popsID74, "Antisymmetric")  
    2005           sm.Append(self.popsID75, "Acyclic")  
    2006           sm.Append(self.popsID76, "Antisymmetric + Intransitive")  
    2007           sm.Append(self.popsID77, "Acyclic + Intransitive")  
    2008           sm.Append(self.popsID78, "Symmetric")  
    2009           sm.Append(self.popsID79, "Symmetric + Irreflexive")  
    2010           sm.Append(self.popsID80, "Symmetric + Intransitive")  
    2011           sm.Append(self.popsID81, "Purely Reflexive")  
    2012           menu.AppendMenu(self.popsID29, "Ring Constraints", sm)  
      1997         menu.AppendRadioItem(self.popsID29, "Set as Ring (not implemented)")  
      1998         menu.Check(self.popsID29, (constraint.Operator == 'Ring'))  
    2013 1999         menu.AppendSeparator()  
    2014 2000         menu.AppendCheckItem(self.ID_SetAsDeontic, "Set as Deontic")  
     
    2077 2063             self.popsID52 = wx.NewId()  
    2078 2064             self.popsID53 = wx.NewId()  
    2079               self.popsID71 = wx.NewId()  
    2080               self.popsID72 = wx.NewId()  
    2081               self.popsID73 = wx.NewId()  
    2082               self.popsID74 = wx.NewId()  
    2083               self.popsID75 = wx.NewId()  
    2084               self.popsID76 = wx.NewId()  
    2085               self.popsID77 = wx.NewId()  
    2086               self.popsID78 = wx.NewId()  
    2087               self.popsID79 = wx.NewId()  
    2088               self.popsID80 = wx.NewId()  
    2089               self.popsID81 = wx.NewId()  
    2090 2065             self.ID_SetAsDeontic = wx.NewId()  
    2091 2066  
     
    2124 2099             self.Bind(wx.EVT_MENU, self.OnPops52, id=self.popsID52)  
    2125 2100             self.Bind(wx.EVT_MENU, self.OnPops53, id=self.popsID53)  
    2126               self.Bind(wx.EVT_MENU, self.OnPops71, id=self.popsID71)  
    2127               self.Bind(wx.EVT_MENU, self.OnPops72, id=self.popsID72)  
    2128               self.Bind(wx.EVT_MENU, self.OnPops73, id=self.popsID73)  
    2129               self.Bind(wx.EVT_MENU, self.OnPops74, id=self.popsID74)  
    2130               self.Bind(wx.EVT_MENU, self.OnPops75, id=self.popsID75)  
    2131               self.Bind(wx.EVT_MENU, self.OnPops76, id=self.popsID76)  
    2132               self.Bind(wx.EVT_MENU, self.OnPops77, id=self.popsID77)  
    2133               self.Bind(wx.EVT_MENU, self.OnPops78, id=self.popsID78)  
    2134               self.Bind(wx.EVT_MENU, self.OnPops79, id=self.popsID79)  
    2135               self.Bind(wx.EVT_MENU, self.OnPops80, id=self.popsID80)  
    2136               self.Bind(wx.EVT_MENU, self.OnPops81, id=self.popsID81)  
    2137 2101             wx.EVT_MENU(self, self.ID_SetAsDeontic, self.SetAsDeontic)  
    2138 2102  
     
    2482 2446         self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2483 2447  
    2484       def OnPops71(self, event):  
    2485           s = 'Irreflexive'  
    2486           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2487       def OnPops72(self, event):  
    2488           s = 'Asymmetric'  
    2489           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2490       def OnPops73(self, event):  
    2491           s = 'Intransitive'  
    2492           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2493       def OnPops74(self, event):  
    2494           s = 'Antisymmetric'  
    2495           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2496       def OnPops75(self, event):  
    2497           s = 'Acyclic'  
    2498           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2499       def OnPops76(self, event):  
    2500           s = 'Antisymmetric + Intransitive'  
    2501           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2502       def OnPops77(self, event):  
    2503           s = 'Acyclic + Intransitive'  
    2504           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2505       def OnPops78(self, event):  
    2506           s = 'Symmetric'  
    2507           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2508       def OnPops79(self, event):  
    2509           s = 'Symmetric + Irreflexive'  
    2510           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2511       def OnPops80(self, event):  
    2512           s = 'Symmetric + Intransitive'  
    2513           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2514       def OnPops81(self, event):  
    2515           s = 'Purely Reflexive'  
    2516           self.SetRoleConstraint(event, s, 'Undo ' + s)  
    2517    
    2518 2448     def DeleteRoleSequence(self, event, delete_seq):  
    2519 2449         l = self.pdc.FindObjects(self.popupx, self.popupy, hitradius)  
     
    3016 2946     # action              | target        | result  
    3017 2947     # ------------------------------------------------  
    3018       # left click          | canvas        | none (clear selection)  
      2948     # left click          | canvas        | clear selection  
    3018 2948     #                     | object        | select object  
    3019       # left double         | object        | open object?? -- NOT YET  
      2949     # left double         | object        | open object -- NOT YET  
    3019 2949     # left drag           | canvas        | new selection rectangle -- PARTIAL  
    3020 2950     #                     | object        | move object  
     
    3032 2962     # cntl left drag      | canvas        | add to selection rectangle -- PARTIAL  
    3033 2963     # right click         | canvas        | open canvas menu  
    3034       #                     | object        | open object menu?? -- NOT YET  
      2964     #                     | object        | open object menu  
    3034 2964  
    3035 2965     def NewOnMouse(self, event):  
  • ganttpv/trunk/Data.py

    r447 r459  
    634 634  
    635 635     def __eq__(self, other):  # so the 'in' operator will work  
    636           return (self.ID, self.Table) == (other.ID, other.Table)  
      636         try:  
      637             return (self.ID, self.Table) == (other.ID, other.Table)  
      638         except AttributeError:  
      639             return False  
    637 640  
    638 641     def __setattr__(self, name, value):