def __init__(self, parent=None):
		QtGui.QMainWindow.__init__(self,parent)
		self.ui = Ui_MainWindow()
		self.ui.setupUi(self)
		QtCore.QObject.connect(self.ui.plot, QtCore.SIGNAL("clicked()"), self.plot )
		QtCore.QObject.connect(self.ui.Reduce, QtCore.SIGNAL("clicked()"), self.Reduce )
		QtCore.QObject.connect(self.ui.plotOver, QtCore.SIGNAL("clicked()"), self.plotOver )
		QtCore.QObject.connect(self.ui.calcProj, QtCore.SIGNAL("clicked()"), self.calcProj )
		QtCore.QObject.connect(self.ui.display, QtCore.SIGNAL("clicked()"), self.display )
		QtCore.QObject.connect(self.ui.refresh, QtCore.SIGNAL("clicked()"), self.refreshlist )
		QtCore.QObject.connect(self.ui.cutMin, QtCore.SIGNAL("returnPressed()"), self.cutMin)
		QtCore.QObject.connect(self.ui.cutMax, QtCore.SIGNAL("returnPressed()"), self.cutMax)
		QtCore.QObject.connect(self.ui.delta, QtCore.SIGNAL("returnPressed()"), self.delta)
		QtCore.QObject.connect(self.ui.intMin, QtCore.SIGNAL("returnPressed()"), self.intMin)
		QtCore.QObject.connect(self.ui.intMax, QtCore.SIGNAL("returnPressed()"), self.intMax)
		QtCore.QObject.connect(self.ui.WkspIn, QtCore.SIGNAL("activated()"), self.setwksp)
		QtCore.QObject.connect(self.ui.actionDensityOfstates, QtCore.SIGNAL("triggered()"), self.pdos )
		QtCore.QObject.connect(self.ui.actionBoseFactor, QtCore.SIGNAL("triggered()"), self.bose )
		QtCore.QObject.connect(self.ui.removeWksp, QtCore.SIGNAL("clicked()"), self.removeWksp )
		QtCore.QObject.connect(self.ui.removePlot, QtCore.SIGNAL("clicked()"), self.removePlot )
		
		#reduction UI commands
		
		QtCore.QObject.connect(self.ui.InstName, QtCore.SIGNAL("activated(int)"), self.setInst )
		QtCore.QObject.connect(self.ui.NormMethod, QtCore.SIGNAL("activated(int)"), self.setNormMethod )
		
		QtCore.QObject.connect(self.ui.BkgSwitch,  QtCore.SIGNAL("stateChanged(int)"), self.BkgSwitchOn)
		
		QtCore.QObject.connect(self.ui.AutoEiChbox,  QtCore.SIGNAL("stateChanged(int)"), self.AutoEiOn)
		QtCore.QObject.connect(self.ui.FixEi,  QtCore.SIGNAL("stateChanged(int)"), self.FixEiOn)
		QtCore.QObject.connect(self.ui.FixMonitorSpectrum,  QtCore.SIGNAL("stateChanged(int)"), self.MonitorSpec)
		
		QtCore.QObject.connect(self.ui.AbsNormSwitch,  QtCore.SIGNAL("stateChanged(int)"), self.AbsNormOn)
		QtCore.QObject.connect(self.ui.sumRuns,  QtCore.SIGNAL("stateChanged(int)"), self.sumRunsOn)
		
		
		
		self.smooth=0
		self.cutMin=0
		self.cutMax=0
		self.delta=0
		self.intMin=0
		self.intMax=0
		self.scalemin=''
		self.scalemax=''
		self.selectedWksp=''
		self.selectedFig=''
		self.data_dict={}
		self.masterFigureDict={}
		self.fignum=0
		self.currentWkspNames=[]
		
		self.ui.axis.insertItem(1,'|Q|')
		self.ui.axis.insertItem(2,'E')
		
		#stuff for the reduction UI
		self.inst=''
		self.BkgSwitch=False
		self.AutoEi=False
		self.FixEi=False
		self.EiVal=[]
		self.MonitorSpec=False
		self.MonitorSpectrumNumber=[]
		self.Normalisation='current'
		self.CurrentMapFile=''
		
		self.DetVanNum=''
		self.runNum=''
		self.WkspOutName=''
		
		self.AbsNormStatus=False
		
		self.MonoDetVanNum=''
		self.MonorunNum=''
		self.sampleMass=[]
		self.RMM=[]
		self.sumRunsCheck=False
		self.BkgdRange=[]
		self.ui.mapfile.setText('mari_res2013')
		self.ui.MonSpecNumber.setText('2')
		self.shortname=''
		
		
		self.currentWkspNames=mtd.getObjectNames()
		iter=0
		for item in self.currentWkspNames: 
			self.ui.WkspIn.insertItem(iter,item)
			iter=iter+1