def __init__(self, parent):
		QFrame.__init__(self)
		self.ui = Ui_add_drug_form()
	
		self.ui.setupUi(self)
		QObject.connect(self.ui.filter_text, SIGNAL("textEdited(QString)"), self.drawTable)
		if hasattr(parent, 'deliver'):
			QObject.connect(self.ui.drugsTable, SIGNAL("cellDoubleClicked(int, int)"), self.setDrugForDeliver)
			self.fordeliver = True
		else:
			QObject.connect(self.ui.drugsTable, SIGNAL("cellDoubleClicked(int, int)"), self.setDrugForSale)
			self.fordeliver = False
			
		QObject.connect(self.ui.newDrugBtn, SIGNAL("clicked()"), self.showNewDrugForm)
		
		self.parent = parent
		self.count_form = CountForm(self)
        
		self.drawTable()
class AddDrugForm(QFrame):
	def __init__(self, parent):
		QFrame.__init__(self)
		self.ui = Ui_add_drug_form()
	
		self.ui.setupUi(self)
		QObject.connect(self.ui.filter_text, SIGNAL("textEdited(QString)"), self.drawTable)
		if hasattr(parent, 'deliver'):
			QObject.connect(self.ui.drugsTable, SIGNAL("cellDoubleClicked(int, int)"), self.setDrugForDeliver)
			self.fordeliver = True
		else:
			QObject.connect(self.ui.drugsTable, SIGNAL("cellDoubleClicked(int, int)"), self.setDrugForSale)
			self.fordeliver = False
			
		QObject.connect(self.ui.newDrugBtn, SIGNAL("clicked()"), self.showNewDrugForm)
		
		self.parent = parent
		self.count_form = CountForm(self)
        
		self.drawTable()

	def getDrugs(self, filter):
		if filter:
			drugs = query_session.query(Drug).filter(Drug.name.like('%'+str(filter.toUtf8())+'%'))
			
		else:
			drugs = query_session.query(Drug).all()
		result = []
			
	
	def drawTable(self):
		self.drugs = self.getDrugs(self.ui.filter_text.text())
		self.ui.drugsTable.clear()
		self.ui.drugsTable.setRowCount(0)
		self.ui.drugsTable.setColumnCount(7)
		self.ui.drugsTable.setHorizontalHeaderLabels([QString.fromUtf8('ИД'), QString.fromUtf8('Название препарата'), QString.fromUtf8('Производитель'), QString.fromUtf8('Серийный номер'), QString.fromUtf8('Годен до'), QString.fromUtf8('Цена'),QString.fromUtf8('Количество')])
		for drug in self.drugs:
			if drug.count() > 0 or self.fordeliver:
				self.ui.drugsTable.setRowCount(self.ui.drugsTable.rowCount()+1)
				data = []
				data.append(str(drug.id))
				data.append(QString.fromUtf8(drug.name()))
				data.append(QString.fromUtf8(drug.manufacter.name))
				data.append(str(drug.serial))
				data.append(str(drug.best_before))
				data.append(str(drug.price))
				data.append(str(drug.count()))
				for i in range(0,7):	
					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.drugsTable.setItem(self.ui.drugsTable.rowCount() - 1,i,tableitem)
		self.ui.drugsTable.resizeColumnsToContents()
	
	def setDrugForDeliver(self,i,j):
		#self.parent.drug_deliver_map = DrugDeliverMap(self.parent.deliver)
		selected_drug = query_session.query(Drug).filter_by(id=int(self.ui.drugsTable.item(i,0).text())).one()
#		self.parent.drug_deliver_map.drug = selected_drug
		self.m = DrugDeliverMap()
		self.m.drug = selected_drug
		self.count_form.setWindowModality(2)
		self.count_form.show()
	
	
	def setDrugForSale(self,i,j):
		#self.parent.drug_deliver_map = DrugDeliverMap(self.parent.deliver)
		selected_drug = query_session.query(Drug).filter_by(id=int(self.ui.drugsTable.item(i,0).text())).one()
#		self.parent.drug_deliver_map.drug = selected_drug
		self.m = DrugSaleMap()
		self.m.drug = selected_drug
		self.count_form.setWindowModality(2)
		self.count_form.show()
		
		
	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()