コード例 #1
0
 def Generate(self):
     d = FilesGenerator()
     for generator in self.parent().generators.values():
         d.ui.generators.addItem(generator.GetName())
     d.exec_()
     if not d.result():
         return
     resources = ResourceGraph()
     if not d.result():
         return
     if d.ui.topologies.currentIndex()==0:
         d1 = TreeDialog(1)
     elif d.ui.topologies.currentIndex()==1:
         d1 = TreeDialog(2)
     elif d.ui.topologies.currentIndex()==2:
         d1 = TreeDialog(3)
     d1.exec_()
     if not d1.result():
         return
     dict = d1.GetResult()
     if dict["type"]==1:
         resources.GenerateCommonStructure(dict)
     elif dict["type"]==2:
         resources.GenerateTree2(dict)
     elif dict["type"]==3:
         resources.GenerateTree3(dict)
     generator = self.parent().generators.values()[d.ui.generators.currentIndex()]
     data = generator.GetSettings()
     d2 = ParamsDialog(data, self)
     d2.setWindowTitle("Demand Params Lower Bound")
     d2.exec_()
     if d2.result() != QDialog.Accepted:
         return
     lower = d2.data
     d3 = ParamsDialog(data, self)
     d3.setWindowTitle("Demand Params Upper Bound")
     d3.exec_()
     if d3.result() != QDialog.Accepted:
         return
     upper = d3.data   
     count = int(d.ui.num.text())         
     for j in range(count):
         params = [v for v in lower]
         for i in range(len(params)):
             params[i][1] = lower[i][1] + (upper[i][1] - lower[i][1]) / count
         generator.UpdateSettings(params)
         project = Project()
         project.demands = generator.Generate(resources)
         project.resources = resources
         name = "Project" + str(j) + ".dcxml"
         project.Save(name)
         it = QTreeWidgetItem(self.ui.projects, [name])
         self.projects[it] = name
     self.changed = True
コード例 #2
0
 def generateTopology(self):
     self.New()
     d = TopologyDialog()
     d.exec_()
     if not d.result():
         return
     if d.ui.common.isChecked():
         d1 = TreeDialog(1)
     elif d.ui.tree2.isChecked():
         d1 = TreeDialog(2)
     elif d.ui.tree3.isChecked():
         d1 = TreeDialog(3)
     d1.exec_()
     if not d1.result():
         return
     dict = d1.GetResult()
     if dict["type"]==1:
         self.resources.GenerateCommonStructure(dict)
     elif dict["type"]==2:
         self.resources.GenerateTree2(dict)
     elif dict["type"]==3:
         self.resources.GenerateTree3(dict)
     self.setData(self.resources)
コード例 #3
0
 def Generate(self):
     d = FilesGenerator()
     for generator in self.parent().generators.values():
         d.ui.generators.addItem(generator.GetName())
     d.exec_()
     if not d.result():
         return
     resources = ResourceGraph()
     if not d.result():
         return
     if d.ui.topologies.currentIndex()==0:
         d1 = TreeDialog(1)
     elif d.ui.topologies.currentIndex()==1:
         d1 = TreeDialog(2)
     elif d.ui.topologies.currentIndex()==2:
         d1 = TreeDialog(3)
     d1.exec_()
     if not d1.result():
         return
     dict = d1.GetResult()
     if dict["type"]==1:
         resources.GenerateCommonStructure(dict)
     elif dict["type"]==2:
         resources.GenerateTree2(dict)
     elif dict["type"]==3:
         resources.GenerateTree3(dict)
     generator = self.parent().generators.values()[d.ui.generators.currentIndex()]
     data = generator.GetSettings()
     d2 = ParamsDialog(data, self)
     d2.setWindowTitle("Demand Params Lower Bound")
     d2.exec_()
     if d2.result() != QDialog.Accepted:
         return
     lower = d2.data
     d3 = ParamsDialog(data, self)
     d3.setWindowTitle("Demand Params Upper Bound")
     d3.exec_()
     if d3.result() != QDialog.Accepted:
         return
     upper = d3.data   
     count = int(d.ui.num.text())         
     for j in range(count):
         params = [v for v in lower]
         for i in range(len(params)):
             params[i][1] = lower[i][1] + (upper[i][1] - lower[i][1]) / count
         generator.UpdateSettings(params)
         project = Project()
         project.demands = generator.Generate(resources)
         project.resources = resources
         name = "Project" + str(j) + ".dcxml"
         project.Save(name)
         it = QTreeWidgetItem(self.ui.projects, [name])
         self.projects[it] = name
     self.changed = True