60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
import sys
|
|
import weakref
|
|
|
|
from PyQt5.QtCore import Qt
|
|
|
|
from lib.helpers import timing
|
|
from PyQt5.QtCore import QTimer
|
|
from PyQt5.QtGui import QKeySequence, QPixmap
|
|
from PyQt5.QtWidgets import QShortcut
|
|
from ui.test_test import Test_Test
|
|
|
|
|
|
class Test_Warning_Img(Test_Test):
|
|
def __init__(self, components=None, recipe=None, step=None, run_once=False, reset_on_start=False, enable_override=False,bench_name="generic"):
|
|
super().__init__(components=components, recipe=recipe, step=step, run_once=run_once, reset_on_start=reset_on_start, enable_override=enable_override)
|
|
self.bench_name = bench_name
|
|
|
|
def start(self, recipe=None, step=None, pieces=None):
|
|
show = super().start(recipe=recipe, step=step)
|
|
|
|
if step is not None:
|
|
img_path=f"config/warning_images/{self.bench_name}/{step.spec['warning_img']}.png"
|
|
self.continue_b.clicked.connect(lambda checked, self=weakref.ref(self): self().get(0))
|
|
self.img = QPixmap(str(img_path))
|
|
self.img_l.setPixmap(self.img)
|
|
|
|
return show
|
|
|
|
def get(self, data=None, override=False):
|
|
if self.done: # avoid proccessing if completed
|
|
return
|
|
# if data is None:
|
|
# data = self.amount_sb.value()
|
|
if data is None:
|
|
super().get(None, override=override)
|
|
return
|
|
result = data
|
|
ok = True
|
|
super().get([{
|
|
"time": timing(),
|
|
"results": {
|
|
"ok": ok,
|
|
"result": result,
|
|
"data": data,
|
|
},
|
|
}], override=override, fail=ok is False, skip_delay=True)
|
|
|
|
def set_done(self):
|
|
self.done=True
|
|
self.done_ok=True
|
|
|
|
|
|
def stop(self):
|
|
#self.done=True
|
|
#self.done_ok = True
|
|
super().stop()
|
|
|
|
def reset(self):
|
|
super().reset()
|