예제 #1
0
 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()
예제 #2
0
    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]