Skip to content

Commit 067b7f1

Browse files
committed
I04_1-156: messages have a lifetime. Added scan timeout message
1 parent 97b6c3a commit 067b7f1

File tree

4 files changed

+13
-12
lines changed

4 files changed

+13
-12
lines changed

dls_barcode/gui/main_window.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ def _read_side_scan(self):
230230
def _read_top_scan(self):
231231
if self._result_queue.empty():
232232
if self._camera_switch.is_top_scan_timeout():
233-
self._message_display.display_message(Message(MessageType.INFO, "Scan timeout"))
233+
self._message_display.display_message(Message(MessageType.INFO, "Scan timeout", lifetime=4))
234234
print("\n*** Scan timeout ***")
235235
self._camera_switch.restart_live_capture_from_side()
236236
return

dls_barcode/gui/message_display.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
import time
21
from PyQt4.QtGui import QLabel, QGroupBox, QVBoxLayout
32
from PyQt4 import QtCore
43

54
from dls_util.message import MessageType
65

7-
MSG_LIFETIME = 2
86

97
class MessageDisplay(QGroupBox):
108
"""GUI component. Displays messages for the user."""
@@ -35,11 +33,11 @@ def _init_ui(self):
3533
self.setLayout(vbox)
3634

3735
def display_message(self, message):
38-
self._message_lbl.setText(message.content())
39-
self._message_lbl.setStyleSheet("color: " + self._colors[message.type()])
40-
self._latest_message_time = time.time()
36+
self._message = message
37+
self._message_lbl.setText(self._message.content())
38+
self._message_lbl.setStyleSheet("color: " + self._colors[self._message.type()])
4139

4240
def _clear_old_message(self):
43-
now = time.time()
44-
if self._message_lbl.text() and now - self._latest_message_time > MSG_LIFETIME:
41+
if self._message_lbl.text() and self._message.has_expired():
4542
self._message_lbl.clear()
43+
self._message = None

dls_util/message/message.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
class Message:
1+
from dls_util.object_with_lifetime import ObjectWithLifetime
2+
3+
class Message(ObjectWithLifetime):
24
"""A class that holds a message"""
3-
def __init__(self, type, content):
5+
def __init__(self, type, content, lifetime=2):
6+
ObjectWithLifetime.__init__(self, lifetime)
47
self._type = type
58
self._content = content
69

710
def type(self):
811
return self._type
912

1013
def content(self):
11-
return self._content
14+
return self._content

dls_util/object_with_lifetime.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ def __init__(self, lifetime):
99
self._start_time = time.time()
1010

1111
def has_expired(self):
12-
return (time.time() - self._start_time) > self._lifetime
12+
return (time.time() - self._start_time) > self._lifetime

0 commit comments

Comments
 (0)