diff --git a/.gitignore b/.gitignore index 15ff2ea..63917fc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # Temporary editor files # ########################## *~ - -*.-* \ No newline at end of file +*.*:* +*.*- +*.*-* +__pycache__ \ No newline at end of file diff --git a/__pycache__/pvgateway.cpython-37.pyc b/__pycache__/pvgateway.cpython-37.pyc index cb5cbe4..b7e6101 100644 Binary files a/__pycache__/pvgateway.cpython-37.pyc and b/__pycache__/pvgateway.cpython-37.pyc differ diff --git a/__pycache__/pvwidgets.cpython-37.pyc b/__pycache__/pvwidgets.cpython-37.pyc index a6fa8b4..463e551 100644 Binary files a/__pycache__/pvwidgets.cpython-37.pyc and b/__pycache__/pvwidgets.cpython-37.pyc differ diff --git a/pvgateway.py b/pvgateway.py index f8fe1b6..1116252 100644 --- a/pvgateway.py +++ b/pvgateway.py @@ -130,9 +130,9 @@ class PVGateway(QWidget): self.color_mode_requested = self.color_mode - if 'READ' in self.pv_name: - print('color mode',self.pv_name, self.color_mode, self.color_mode_requested ) - + #if 'READ' in self.pv_name: + #print('color mode',self.pv_name, self.color_mode, + #self.color_mode_requested ) if monitor_callback is not None: self.monitor_callback = monitor_callback diff --git a/pvwidgets.py b/pvwidgets.py index df9f610..414eebd 100644 --- a/pvwidgets.py +++ b/pvwidgets.py @@ -1,7 +1,7 @@ ''' Module with channel access enabled QtWidgets.''' __author__ = 'Jan T. M. Chrin' -import collections +import collections import numpy as np import re from threading import Lock @@ -1196,10 +1196,12 @@ class CAQTableWidget(QTableWidget): def widget_update(self): + for _row, pvgate in enumerate(self.pv_gateway): - #for _row in range(0, len(self.pv_gateway)): + if not pvgate.notify_unison: continue + _handle = pvgate.handle _pvd = pvgate.cafe.getPVCache(_handle) @@ -1219,10 +1221,14 @@ class CAQTableWidget(QTableWidget): f.setPointSize(8) qtwi.setFont(f) - self.setItem(_row, self.no_columns-3, + val_col_no = self.columns_dict['Value'] + if self.show_timestamp: + ts_col_no = self.columns_dict['Timestamp'] + + self.setItem(_row, val_col_no, QTableWidgetItem(qtwi)) - self.item(_row, self.no_columns-3).setTextAlignment(Qt.AlignRight | - Qt.AlignVCenter) + self.item(_row, val_col_no).setTextAlignment(Qt.AlignRight | + Qt.AlignVCenter) _ts_date = _pvd.tsDateAsString _ts_str_len = len(_ts_date) @@ -1248,8 +1254,9 @@ class CAQTableWidget(QTableWidget): f.setPointSize(8) qtwi.setFont(f) - self.setItem(_row, self.no_columns-2, QTableWidgetItem(qtwi)) - self.item(_row, self.no_columns-2).setTextAlignment(Qt.AlignCenter) + if self.show_timestamp: + self.setItem(_row, ts_col_no, QTableWidgetItem(qtwi)) + self.item(_row, ts_col_no).setTextAlignment(Qt.AlignCenter) _prop = pvgate.qt_dynamic_property_get() @@ -1271,31 +1278,29 @@ class CAQTableWidget(QTableWidget): _fgcolor = "black" #Colors for bg/fg reversed as is the old norm - self.item(_row, self.no_columns-3).setBackground( - QColor(_bgcolor)) - self.item(_row, self.no_columns-2).setBackground( - QColor(_bgcolor)) - self.item(_row, self.no_columns-3).setForeground( - QColor(_fgcolor)) - self.item(_row, self.no_columns-2).setForeground( - QColor(_fgcolor)) + self.item(_row, val_col_no).setBackground(QColor(_bgcolor)) + self.item(_row, val_col_no).setForeground(QColor(_fgcolor)) + + if self.show_timestamp: + self.item(_row, ts_col_no).setBackground(QColor(_bgcolor)) + self.item(_row, ts_col_no).setForeground(QColor(_fgcolor)) elif _prop == pvgate.READBACK_STATIC: - self.item(_row, self.no_columns-3).setBackground( - QColor(pvgate.bg_readback)) - self.item(_row, self.no_columns-2).setBackground( + self.item(_row, val_col_no).setBackground( QColor(pvgate.bg_readback)) + if self.show_timestamp: + self.item(_row, ts_col_no).setBackground( + QColor(pvgate.bg_readback)) elif _prop == pvgate.DISCONNECTED: - self.item(_row, self.no_columns-3).setBackground( + self.item(_row, val_col_no).setBackground( QColor("#ffffff")) - self.item(_row, self.no_columns-2).setBackground( - QColor("#ffffff")) - self.item(_row, self.no_columns-3).setForeground( - QColor("#777777")) - self.item(_row, self.no_columns-2).setForeground( + self.item(_row, val_col_no).setForeground( QColor("#777777")) + if self.show_timestamp: + self.item(_row, ts_col_no).setBackground(QColor("#ffffff")) + self.item(_row, ts_col_no).setForeground(QColor("#777777")) else: print(_prop, "widget_update unknown in element/row", _row, @@ -1701,7 +1706,7 @@ class CAQTableWidget(QTableWidget): _restore_layout.setAlignment(Qt.AlignCenter) _restore_layout.setContentsMargins(1, 1, 0, 0) _restore_widget.setLayout(_restore_layout) - self.setCellWidget(len(self.pv_gateway), 0, _restore_widget) + self.setCellWidget(len(self.pv_gateway), 2, _restore_widget) #Do not display no for last row (Reconnect button) _row_digit_last_cell = QTableWidgetItem(str(""))