def __init__(self):
        QFrame.__init__(self)
        self.ui = Ui_all_drugs_form()

        self.ui.setupUi(self)

        QObject.connect(self.ui.new_drug_btn, SIGNAL("clicked()"), self.showNewDrugForm)
        QObject.connect(self.ui.del_drug_btn, SIGNAL("clicked()"), self.delDrug)
        QObject.connect(self.ui.tableWidget, SIGNAL("cellDoubleClicked(int, int)"), self.showDetails)
        QObject.connect(self.ui.close_btn, SIGNAL("clicked()"), self.closeme)

        self.drugs = self.getDrugs(0)
        self.drawTable()
        self.setWindowTitle(QString.fromUtf8("Склад"))
class AllDrugsWindow(QFrame):
    def __init__(self):
        QFrame.__init__(self)
        self.ui = Ui_all_drugs_form()

        self.ui.setupUi(self)

        QObject.connect(self.ui.new_drug_btn, SIGNAL("clicked()"), self.showNewDrugForm)
        QObject.connect(self.ui.del_drug_btn, SIGNAL("clicked()"), self.delDrug)
        QObject.connect(self.ui.tableWidget, SIGNAL("cellDoubleClicked(int, int)"), self.showDetails)
        QObject.connect(self.ui.close_btn, SIGNAL("clicked()"), self.closeme)

        self.drugs = self.getDrugs(0)
        self.drawTable()
        self.setWindowTitle(QString.fromUtf8("Склад"))

    def getDrugs(self, name_filter):
        if name_filter:
            return query_session.query(Drug).filter_by(name=name_filter)
            # Session.close()
        else:
            return query_session.query(Drug)
            # Session.close()

    def drawTable(self):
        self.drugs = query_session.query(GeneralDrug).all()
        self.ui.tableWidget.clear()
        self.ui.tableWidget.setRowCount(0)
        self.ui.tableWidget.setColumnCount(4)
        self.ui.tableWidget.setHorizontalHeaderLabels(
            [
                QString.fromUtf8("ИД"),
                QString.fromUtf8("Название препарата"),
                QString.fromUtf8("Количество"),
                QString.fromUtf8("Сумма"),
            ]
        )
        self.summ = 0
        for drug in self.drugs:
            self.ui.tableWidget.setRowCount(self.ui.tableWidget.rowCount() + 1)
            data = []
            data.append(str(drug.id))
            data.append(drug.name)
            data.append(str(drug.count()))
            data.append(str(drug.summ()))
            self.summ = self.summ + drug.summ()
            for i in range(0, 4):
                tableitem = QTableWidgetItem()
                tableitem.setText(data[i])
                tableitem.font = QFont("Arial", 10)
                tableitem.font.setBold(True)
                tableitem.textcolor = QColor("black")
                tableitem.setBackgroundColor(QColor("White"))
                self.ui.tableWidget.setItem(self.ui.tableWidget.rowCount() - 1, i, tableitem)
        self.ui.tableWidget.resizeColumnsToContents()
        self.ui.label_3.setText(QString.fromUtf8("Всего лс на сумму " + str(self.summ) + "р."))

    def showNewDrugForm(self):
        self.new_drug_form = NewDrugForm()
        self.new_drug_form.setWindowModality(2)
        # QObject.connect(self.new_drug_form, SIGNAL("drugCreated()"), self.drawTable)
        self.new_drug_form.show()

    def delDrug(self):
        row = self.ui.tableWidget.currentRow()
        id_for_delete = int(self.ui.tableWidget.item(row, 0).text())
        drug_for_delete = query_session.query(Drug).filter_by(id=id_for_delete).one()
        s = Session()
        s.delete(drug_for_delete)
        s.commit()
        s.close
        self.drawTable()

    def showDetails(self, i, j):
        self.t = QTableWidget(self)
        self.t.setRowCount(4)
        self.t.setColumnCount(4)
        self.ui.tableWidget.setCellWidget(i, j, self.t)

    def closeme(self):
        self.parent().close()