예제 #1
0
	def __init__(self):
		QMainWindow.__init__(self)
		self.ui = Ui_Form()
		self.ui.setupUi(self)
#		self.setCentralWidget(self.ui.mdiArea)
		self.ui.menuTemplates.setEnabled(False)
		self.periodConfig = PeriodConfig(self)
		self.period = self.periodConfig.value
		self.shortcuts = list()
		sc = QShortcut(QKeySequence("Ctrl+W"), self)
		self.shortcuts.append(sc)
		self.connect(sc, SIGNAL("activated()"), self.triggerExit)
		sc = QShortcut(QKeySequence("Ctrl+O"), self)
		self.shortcuts.append(sc)
		self.connect(sc, SIGNAL("activated()"), self.triggerOpen)

		self.connect(self.ui.actionOpen, SIGNAL('triggered()'), self.triggerOpen)
		self.connect(self.ui.actionClose, SIGNAL('triggered()'), self.triggerClose)
		self.connect(self.ui.actionExit, SIGNAL('triggered()'), self.triggerExit)
		self.connect(self.ui.actionPeriod, SIGNAL('triggered()'), self.triggerPeriod)
		self.connect(self.ui.actionBase_pose, SIGNAL('triggered()'), self.triggerTemplateBase)
		self.connect(self.ui.actionCamera_RGB_Image, SIGNAL('triggered()'), self.triggerTemplateRGBImage)
		self.connect(self.ui.actionCamera_Grey_Image, SIGNAL('triggered()'), self.triggerTemplateGreyImage)
		self.connect(self.ui.actionCustom, SIGNAL('triggered()'), self.triggerTemplateCustom)
		self.connect(self.ui.actionSignal, SIGNAL('triggered()'), self.triggerTemplateSignal)
		self.connect(self.periodConfig, SIGNAL('done()'), self.periodChange)

		self.statusBar().showMessage('Click on \'Connection->Open\' to establish a new connection.')
		self.ticks = 0

		if len(sys.argv) > 1:
			global force_host
			global force_port
			try:
				print ('Opening configuration file', sys.argv[1])
				f = open(sys.argv[1], 'r')
			except:
				print ('Cannot open configuration file', sys.argv[1])
				sys.exit()
			argIdx = getParamIdx()
			print (argIdx)
			for idx in argIdx:
				if sys.argv[idx] == '-h':
					force_host = sys.argv[idx+1]
				elif sys.argv[idx] == '-p':
					force_port = sys.argv[idx+1]
			self.triggerOpen()
			openConfig = [ line.strip() for line in f.readlines() if len(line.strip()) > 0 and line.strip()[0] != '#' and len(line.strip()) > 0]
			self.periodConfig.msChanged(int(openConfig.pop(5)))
			if force_host != '': openConfig[2] = force_host
			if force_port != '': openConfig[4] = force_port
			root = os.path.dirname( sys.argv[1] )
			print ("FILE: " + sys.argv[1])
			print ("ROOT: " + root)
			self.openA.loadConfig(openConfig, root)
예제 #2
0
	def __init__(self):
		QMainWindow.__init__(self)
		self.ui = Ui_Form()
		self.ui.setupUi(self)
#		self.setCentralWidget(self.ui.mdiArea)
		self.ui.menuTemplates.setEnabled(False)
		self.periodConfig = PeriodConfig(self)
		self.period = self.periodConfig.value
		self.shortcuts = list()
		sc = QShortcut(QKeySequence("Ctrl+W"), self)
		self.shortcuts.append(sc)
		self.connect(sc, SIGNAL("activated()"), self.triggerExit)
		sc = QShortcut(QKeySequence("Ctrl+O"), self)
		self.shortcuts.append(sc)
		self.connect(sc, SIGNAL("activated()"), self.triggerOpen)

		self.connect(self.ui.actionOpen, SIGNAL('triggered()'), self.triggerOpen)
		self.connect(self.ui.actionClose, SIGNAL('triggered()'), self.triggerClose)
		self.connect(self.ui.actionExit, SIGNAL('triggered()'), self.triggerExit)
		self.connect(self.ui.actionPeriod, SIGNAL('triggered()'), self.triggerPeriod)
		self.connect(self.ui.actionBase_pose, SIGNAL('triggered()'), self.triggerTemplateBase)
		self.connect(self.ui.actionCamera_RGB_Image, SIGNAL('triggered()'), self.triggerTemplateRGBImage)
		self.connect(self.ui.actionCamera_Grey_Image, SIGNAL('triggered()'), self.triggerTemplateGreyImage)
		self.connect(self.ui.actionCustom, SIGNAL('triggered()'), self.triggerTemplateCustom)
		self.connect(self.ui.actionSignal, SIGNAL('triggered()'), self.triggerTemplateSignal)
		self.connect(self.periodConfig, SIGNAL('done()'), self.periodChange)

		self.statusBar().showMessage('Click on \'Connection->Open\' to establish a new connection.')
		self.ticks = 0

		if len(sys.argv) > 1:
			global force_host
			global force_port
			try:
				print 'Opening configuration file', sys.argv[1]
				f = open(sys.argv[1], 'r')
			except:
				print 'Cannot open configuration file', sys.argv[1]
				sys.exit()
			argIdx = getParamIdx()
			print argIdx
			for idx in argIdx:
				if sys.argv[idx] == '-h':
					force_host = sys.argv[idx+1]
				elif sys.argv[idx] == '-p':
					force_port = sys.argv[idx+1]
			self.triggerOpen()
			openConfig = [ line.strip() for line in f.readlines() if len(line.strip()) > 0 and line.strip()[0] != '#' and len(line.strip()) > 0]
			self.periodConfig.msChanged(int(openConfig.pop(5)))
			if force_host != '': openConfig[2] = force_host
			if force_port != '': openConfig[4] = force_port
			root = os.path.dirname( sys.argv[1] )
			print ("FILE: " + sys.argv[1])
			print ("ROOT: " + root)
			self.openA.loadConfig(openConfig, root)
예제 #3
0
class RCOMPMonitor(QMainWindow):
	def __init__(self):
		QMainWindow.__init__(self)
		self.ui = Ui_Form()
		self.ui.setupUi(self)
#		self.setCentralWidget(self.ui.mdiArea)
		self.ui.menuTemplates.setEnabled(False)
		self.periodConfig = PeriodConfig(self)
		self.period = self.periodConfig.value
		self.shortcuts = list()
		sc = QShortcut(QKeySequence("Ctrl+W"), self)
		self.shortcuts.append(sc)
		self.connect(sc, SIGNAL("activated()"), self.triggerExit)
		sc = QShortcut(QKeySequence("Ctrl+O"), self)
		self.shortcuts.append(sc)
		self.connect(sc, SIGNAL("activated()"), self.triggerOpen)

		self.connect(self.ui.actionOpen, SIGNAL('triggered()'), self.triggerOpen)
		self.connect(self.ui.actionClose, SIGNAL('triggered()'), self.triggerClose)
		self.connect(self.ui.actionExit, SIGNAL('triggered()'), self.triggerExit)
		self.connect(self.ui.actionPeriod, SIGNAL('triggered()'), self.triggerPeriod)
		self.connect(self.ui.actionBase_pose, SIGNAL('triggered()'), self.triggerTemplateBase)
		self.connect(self.ui.actionCamera_RGB_Image, SIGNAL('triggered()'), self.triggerTemplateRGBImage)
		self.connect(self.ui.actionCamera_Grey_Image, SIGNAL('triggered()'), self.triggerTemplateGreyImage)
		self.connect(self.ui.actionCustom, SIGNAL('triggered()'), self.triggerTemplateCustom)
		self.connect(self.ui.actionSignal, SIGNAL('triggered()'), self.triggerTemplateSignal)
		self.connect(self.periodConfig, SIGNAL('done()'), self.periodChange)

		self.statusBar().showMessage('Click on \'Connection->Open\' to establish a new connection.')
		self.ticks = 0

		if len(sys.argv) > 1:
			global force_host
			global force_port
			try:
				print ('Opening configuration file', sys.argv[1])
				f = open(sys.argv[1], 'r')
			except:
				print ('Cannot open configuration file', sys.argv[1])
				sys.exit()
			argIdx = getParamIdx()
			print (argIdx)
			for idx in argIdx:
				if sys.argv[idx] == '-h':
					force_host = sys.argv[idx+1]
				elif sys.argv[idx] == '-p':
					force_port = sys.argv[idx+1]
			self.triggerOpen()
			openConfig = [ line.strip() for line in f.readlines() if len(line.strip()) > 0 and line.strip()[0] != '#' and len(line.strip()) > 0]
			self.periodConfig.msChanged(int(openConfig.pop(5)))
			if force_host != '': openConfig[2] = force_host
			if force_port != '': openConfig[4] = force_port
			root = os.path.dirname( sys.argv[1] )
			print ("FILE: " + sys.argv[1])
			print ("ROOT: " + root)
			self.openA.loadConfig(openConfig, root)
	def triggerOpen(self):
		self.openA = OpenConnection(self)
		self.subwindow = self.ui.mdiArea.addSubWindow(self.openA)
		self.subwindow.showMaximized()
		self.connect(self.openA, SIGNAL('done()'), self.doJob)
		self.openA.show()
		self.ui.menuTemplates.setEnabled(False)
	def triggerClose(self):
		if exists(self, 'openA'): self.openA.close()
		self.ui.menuTemplates.setEnabled(False)
	def triggerExit(self):
		self.close()
	def triggerPeriod(self):
			self.periodConfig.show()
	def triggerTemplateBase(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(BasePoseCodeTemplate)
	def triggerTemplateRGBImage(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(CameraRGBCodeTemplate)
	def triggerTemplateGreyImage(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(CameraGreyCodeTemplate)
	def triggerTemplateCustom(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(CustomCodeTemplate)
	def triggerTemplateSignal(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(SignalCodeTemplate)
	def startNewConnection(self):
		self.triggerClose()
	def doJob(self):
		print("doJob")
		self.subwindow.close()
		if exists(self, 'openA') and exists(self.openA.module, 'C'):
			self.doer = self.openA.module.C(self.openA.endpoint, self.openA.sr.RoboComps)
			self.openA.close()
			if issubclass(self.openA.module.C, QWidget):
				self.subwindow = self.ui.mdiArea.addSubWindow(self.doer)
				self.doer.setParent(self.subwindow)
				self.subwindow.showMaximized()
			else:
				self.drawer = DrawData()
				self.subwindow = self.ui.mdiArea.addSubWindow(self.drawer)
				self.subwindow.showMaximized()

			self.mySlot()
			self.timer = QTimer()
			self.timer.start(self.period)
			self.connect(self.timer, SIGNAL('timeout()'), self.mySlot)
	def mySlot(self):
		if exists(self.doer, 'job'):
			if exists(self, "drawer"):
				output = self.doer.job()
				if (output != None):
					self.drawer.setData(output[0], output[1])
					self.drawer.update()
			else:
				self.doer.job()
				self.doer.update()
			self.statusBar().showMessage(str('Ticks: ')+str(self.ticks))
			self.ticks = self.ticks + 1
	def periodChange(self):
		print("perdiod change", self.periodConfig.value)
		self.period = self.periodConfig.value
		if exists(self, 'timer'): self.timer.start(self.period)
예제 #4
0
class RCOMPMonitor(QMainWindow):
	def __init__(self):
		QMainWindow.__init__(self)
		self.ui = Ui_Form()
		self.ui.setupUi(self)
#		self.setCentralWidget(self.ui.mdiArea)
		self.ui.menuTemplates.setEnabled(False)
		self.periodConfig = PeriodConfig(self)
		self.period = self.periodConfig.value
		self.shortcuts = list()
		sc = QShortcut(QKeySequence("Ctrl+W"), self)
		self.shortcuts.append(sc)
		self.connect(sc, SIGNAL("activated()"), self.triggerExit)
		sc = QShortcut(QKeySequence("Ctrl+O"), self)
		self.shortcuts.append(sc)
		self.connect(sc, SIGNAL("activated()"), self.triggerOpen)

		self.connect(self.ui.actionOpen, SIGNAL('triggered()'), self.triggerOpen)
		self.connect(self.ui.actionClose, SIGNAL('triggered()'), self.triggerClose)
		self.connect(self.ui.actionExit, SIGNAL('triggered()'), self.triggerExit)
		self.connect(self.ui.actionPeriod, SIGNAL('triggered()'), self.triggerPeriod)
		self.connect(self.ui.actionBase_pose, SIGNAL('triggered()'), self.triggerTemplateBase)
		self.connect(self.ui.actionCamera_RGB_Image, SIGNAL('triggered()'), self.triggerTemplateRGBImage)
		self.connect(self.ui.actionCamera_Grey_Image, SIGNAL('triggered()'), self.triggerTemplateGreyImage)
		self.connect(self.ui.actionCustom, SIGNAL('triggered()'), self.triggerTemplateCustom)
		self.connect(self.ui.actionSignal, SIGNAL('triggered()'), self.triggerTemplateSignal)
		self.connect(self.periodConfig, SIGNAL('done()'), self.periodChange)

		self.statusBar().showMessage('Click on \'Connection->Open\' to establish a new connection.')
		self.ticks = 0

		if len(sys.argv) > 1:
			global force_host
			global force_port
			try:
				print 'Opening configuration file', sys.argv[1]
				f = open(sys.argv[1], 'r')
			except:
				print 'Cannot open configuration file', sys.argv[1]
				sys.exit()
			argIdx = getParamIdx()
			print argIdx
			for idx in argIdx:
				if sys.argv[idx] == '-h':
					force_host = sys.argv[idx+1]
				elif sys.argv[idx] == '-p':
					force_port = sys.argv[idx+1]
			self.triggerOpen()
			openConfig = [ line.strip() for line in f.readlines() if len(line.strip()) > 0 and line.strip()[0] != '#' and len(line.strip()) > 0]
			self.periodConfig.msChanged(int(openConfig.pop(5)))
			if force_host != '': openConfig[2] = force_host
			if force_port != '': openConfig[4] = force_port
			root = os.path.dirname( sys.argv[1] )
			print ("FILE: " + sys.argv[1])
			print ("ROOT: " + root)
			self.openA.loadConfig(openConfig, root)
	def triggerOpen(self):
		self.openA = OpenConnection(self)
		self.subwindow = self.ui.mdiArea.addSubWindow(self.openA)
		self.subwindow.showMaximized()
		self.connect(self.openA, SIGNAL('done()'), self.doJob)
		self.openA.show()
		self.ui.menuTemplates.setEnabled(False)
	def triggerClose(self):
		if exists(self, 'openA'): self.openA.close()
		self.ui.menuTemplates.setEnabled(False)
	def triggerExit(self):
		self.close()
	def triggerPeriod(self):
			self.periodConfig.show()
	def triggerTemplateBase(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(BasePoseCodeTemplate)
	def triggerTemplateRGBImage(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(CameraRGBCodeTemplate)
	def triggerTemplateGreyImage(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(CameraGreyCodeTemplate)
	def triggerTemplateCustom(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(CustomCodeTemplate)
	def triggerTemplateSignal(self):
		if exists(self, 'openA'): self.openA.ui.textEdit.setText(SignalCodeTemplate)
	def startNewConnection(self):
		self.triggerClose()
	def doJob(self):
		self.subwindow.close()
		if exists(self, 'openA') and exists(self.openA.module, 'C'):
			self.doer = self.openA.module.C(self.openA.endpoint, self.openA.sr.RoboComps)
			self.openA.close()
			if issubclass(self.openA.module.C, QWidget):
				self.subwindow = self.ui.mdiArea.addSubWindow(self.doer)
				self.doer.setParent(self.subwindow)
				self.subwindow.showMaximized()
			else:
				self.drawer = DrawData()
				self.subwindow = self.ui.mdiArea.addSubWindow(self.drawer)
				self.subwindow.showMaximized()

			self.mySlot()
			self.timer = QTimer()
			self.timer.start(self.period)
			self.connect(self.timer, SIGNAL('timeout()'), self.mySlot)
	def mySlot(self):
		if exists(self.doer, 'job'):
			if exists(self, "drawer"):
				output = self.doer.job()
				if (output != None):
					self.drawer.setData(output[0], output[1])
					self.drawer.update()
			else:
				self.doer.job()
				self.doer.update()
			self.statusBar().showMessage(QString('Ticks: ')+QString.number(self.ticks))
			self.ticks = self.ticks + 1
	def periodChange(self):
		self.period = self.periodConfig.value
		if exists(self, 'timer'): self.timer.start(self.period)