def OpenFile(self, event): self.list_ctrl.DeleteAllItems() dlg = wx.FileDialog(self, message="Open file ...", style=wx.OPEN) if dlg.ShowModal() == wx.ID_OK: path = dlg.GetPath() p = act.network() p.OpenNetwork(path) #write the network to the lisctrl self.WriteNetworkToGUI(event, p) #update from GUI network self.GetFromGui(event) dlg.Destroy()
def GetFromGui(self, event): try: del(self.project) except AttributeError: print "no project asigned" self.activities = [] number_of_activities = self.list_ctrl.GetItemCount() number_of_headings = len(self.headings) self.project = act.network() for i in range(0,number_of_activities): self.activities.append(act.activity()) try: self.activities[i].AssignID(int(self.list_ctrl.GetItem(i,0).GetText())) except: raise ValueError('Activity must have an ID') try: self.activities[i].AssignName(self.list_ctrl.GetItem(i,1).GetText()) except ValueError: pass try: start = re.split('; |, |-|\n',self.list_ctrl.GetItem(i,2).GetText()) self.activities[i].AssignStart(int(start[0]),int(start[1]),int(start[2])) except ValueError: pass try: end = re.split('; |, |-|\n',self.list_ctrl.GetItem(i,3).GetText()) self.activities[i].AssignEnd(int(end[0]),int(end[1]),int(end[2])) except ValueError: pass try: self.activities[i].AssignDuration(int(self.list_ctrl.GetItem(i,4).GetText())) except ValueError: pass try: suc = [str(q) for q in re.split('; |, |-|\n|;|,|',self.list_ctrl.GetItem(i,5).GetText())] self.activities[i].AssignSuccsesors(*suc) except ValueError: pass try: pre = [int(q) for q in re.split('; |, |-|\n',self.list_ctrl.GetItem(i,6).GetText())] self.activities[i].AssignPredecesors(*pre) except ValueError: pass try: self.activities[i].SetDurationRangeMin(int(self.list_ctrl.GetItem(i,7).GetText())) except ValueError: pass try: self.activities[i].SetDurationRangeML(int(self.list_ctrl.GetItem(i,8).GetText())) except ValueError: pass try: self.activities[i].SetDurationRangeMax(int(self.list_ctrl.GetItem(i,9).GetText())) except ValueError: pass self.project.AddActivity(*self.activities) names = [q.GetName() for q in self.project]