コード例 #1
0
    def on_button_chooseassign_pressed(self):
        items = [c.id for c in self.criteria if c.disabled is True]
        if len(items) < 1:
            QtGui.QMessageBox.information(None, "Error",
                                          "No assignment column")
            return

        item, ok = QtGui.QInputDialog.getItem(self,
                                              "Select assignments column",
                                              "Column:", items, 0, False)
        if ok is False:
            return

        try:
            cid = item.toString()
        except:
            cid = str(item)

        ncat = len(self.bpt) + 1
        pt, aa = PerformanceTable(), AlternativesAssignments()
        for ap in self.pt:
            perf =  int(ap.performances[cid])
            if perf > 0 and perf < (ncat + 1):
                pt.append(ap)
                aa.append(AlternativeAssignment(ap.id, str(perf)))

        if len(pt) < 1:
            QtGui.QMessageBox.information(None, "Error",
                                          "No assignments examples found")
            return

        self.a_ref = Alternatives([Alternative(a.id) for a in aa])
        self.pt_ref = pt
        self.aa_ref = aa

        a = Alternatives([Alternative(aid) for aid in pt.keys()])

        self.table_refs.reset_table()

        self.table_refs.add_criteria(self.criteria)
        self.table_refs.add_pt(a, pt, False)
        self.__generate_category_colors()
        self.table_refs.add_assignments(aa, self.category_colors, True)

        self.button_zoom.setEnabled(True)
        self.button_show.setEnabled(True)

        self.button_infer.setEnabled(True)