62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
from brewpi_win import Ui_MainWindow
|
|
from PyQt5 import QtGui, QtWidgets, QtCore
|
|
import sys
|
|
from ws_client import WsClient
|
|
from connection import IConnection
|
|
import json
|
|
from queue import Queue
|
|
from message import MsgIo, Value, MessageDispatcher
|
|
|
|
|
|
class Window(QtWidgets.QMainWindow):
|
|
def __init__(self):
|
|
QtWidgets.QMainWindow.__init__(self)
|
|
self.msg_dispatch = MessageDispatcher()
|
|
self.ws_client = WsClient(listener=self.msg_dispatch)
|
|
self.msg_pot = self.msg_dispatch.msgio_get('Pot')
|
|
self.msg_sensor = self.msg_dispatch.msgio_get('Sensor')
|
|
self.msg_heater = self.msg_dispatch.msgio_get('Heater')
|
|
|
|
self.msg_pot.set_recv_handler(self.on_pot_changed)
|
|
self.msg_sensor.set_recv_handler(self.on_sensor_changed)
|
|
self.msg_heater.set_recv_handler(self.on_heater_changed)
|
|
|
|
self.ws_client.connect(uri="ws://localhost:8765")
|
|
|
|
def on_pot_changed(self, msg):
|
|
print("on_pot_changed")
|
|
|
|
def on_sensor_changed(self, msg):
|
|
print("on_sensor_changed")
|
|
|
|
def on_heater_changed(self, msg):
|
|
print("on_heater_changed")
|
|
|
|
def on_connect(self):
|
|
self.send_data.put_nowait({'+': 'Pot'})
|
|
self.send_data.put_nowait({'+': 'Sensor'})
|
|
self.send_data.put_nowait({'+': 'Heater'})
|
|
|
|
def on_disconnect(self):
|
|
pass
|
|
|
|
async def on_recv(self, data):
|
|
pass
|
|
|
|
async def on_send(self):
|
|
return None
|
|
|
|
def closeEvent(self, event):
|
|
print("Exitting gracefully!")
|
|
self.ws_client.disconnect()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
app = QtWidgets.QApplication(sys.argv)
|
|
win = Window()
|
|
ui = Ui_MainWindow()
|
|
ui.setupUi(win)
|
|
win.show()
|
|
sys.exit(app.exec_())
|
|
|
|
print ("End of program.") |