diff --git a/pvwidgets.py b/pvwidgets.py index 8a70f48..734c7db 100644 --- a/pvwidgets.py +++ b/pvwidgets.py @@ -131,7 +131,6 @@ class CAQLineEdit(QLineEdit, PVGateway): _width_scaling_factor = 1.15 self.setFixedHeight((fm.lineSpacing()*1.8)) self.setFixedWidth(((qrect.width()) * _width_scaling_factor)) - if self.pv_within_daq_group: self.qt_property_initial_values(qt_object_name=self.PV_DAQ_CA) @@ -1105,25 +1104,21 @@ class reconnectQPushButton(QPushButton, QThread): def reconnect(self): QApplication.processEvents() - print("Reconnect") + self.isdirty = True if self._handles_to_reconnect: - print("handles to reconnect", self._handles_to_reconnect, flush=True) + self.parent.cafe.reconnect(self._handles_to_reconnect) - print("handles reconnected", self._handles_to_reconnect, flush=True) + self.isdirty = False #Uncheck reconnected channels for i in range(0, len(self.parent.pv_gateway)): - #print(i, len(self.parent.pv_gateway), flush=True) - #print( "ischecked", self.parent.item( - # i, self.parent.no_columns-1).checkState(), Qt.Checked ) - #print("Connected", self.parent.cafe.isConnected( - # self.parent.pv_gateway[i].handle), flush=True) + if self.parent.item( i, self.parent.no_columns-1).checkState() == Qt.Checked: if self.parent.cafe.isConnected( self.parent.pv_gateway[i].handle): - #print("isConnected", flush=True) + self.parent.item( i, self.parent.no_columns-1).setCheckState(False) else: @@ -1159,12 +1154,15 @@ class CAQTableWidget(QTableWidget): return newDataFlag - def paint_rows(self, row_range: list = [], reset=False, last_row=[" ", " "], + def paint_rows(self, row_range: list=[], reset=False, last_row=[" ", " "], columns=[0]): _qcolor_last_line = QColor("#d1e8e9") - self.font_pts11 = QTableWidgetItem().font() - self.font_pts11.setPixelSize(11) + self.font_pts8 = QTableWidgetItem().font() + self.font_pts8.setPointSize(8) + if not row_range: + row_range = [0, self.rowCount()-1] + if reset: _qcolor = self.item(0, self.columnCount()-1).background() _start = 0 @@ -1175,40 +1173,41 @@ class CAQTableWidget(QTableWidget): _end = row_range[1] for _row in range(_start, _end): - _cell = QTableWidgetItem("{0}".format(_row+1)) - if not reset: - _cell.setFont(self.font_pts11) - _cell.setBackground(_qcolor) - + #if not reset: + #_cell.setFont(self.font_pts8) if 1 in columns: self.item(_row, 0).setBackground(_qcolor) - self.item(_row, 0).setFont(self.font_pts11) + self.item(_row, 0).setFont(self.font_pts8) if 0 in columns: + _cell = QTableWidgetItem("{0}".format(_row+1)) + #if not reset: + _cell.setFont(self.font_pts8) + #_cell.setTextAlignment(Qt.AlignCenter) self.setVerticalHeaderItem(_row, _cell) - + #last row if reset and 0 in columns: _cell = QTableWidgetItem("{0}".format(last_row[0])) - _cell.setFont(self.font_pts11) + _cell.setFont(self.font_pts8) self.setVerticalHeaderItem(self.rowCount()-1, _cell) self.item(self.rowCount()-1, 0).setTextAlignment(Qt.AlignCenter) self.item(self.rowCount()-1, 0).setText(str(last_row[1])) self.item(self.rowCount()-1, 0).setBackground(_qcolor) - self.item(self.rowCount()-1, 0).setFont(self.font_pts11) + self.item(self.rowCount()-1, 0).setFont(self.font_pts8) elif last_row[0] != " ": _cell = QTableWidgetItem("{0}".format(last_row[0])) _cell.setBackground(_qcolor_last_line) - _cell.setFont(self.font_pts11) + _cell.setFont(self.font_pts8) self.setVerticalHeaderItem(self.rowCount()-1, _cell) if columns: self.item(self.rowCount()-1, 0).setTextAlignment(Qt.AlignCenter) self.item(self.rowCount()-1, 0).setText(str(last_row[1])) self.item(self.rowCount()-1, 0).setBackground(_qcolor_last_line) - self.item(self.rowCount()-1, 0).setFont(self.font_pts11) + self.item(self.rowCount()-1, 0).setFont(self.font_pts8) def widget_update(self): @@ -1590,8 +1589,6 @@ class CAQTableWidget(QTableWidget): return status, status_list, _pvs_to_set - - def restore_init_values(self, pv_list: list = []): _text = self.restore_value_button.text() @@ -1830,6 +1827,9 @@ class CAQTableWidget(QTableWidget): _column_width_timestamp = 210 _column_width_checkbox = 22 + item_font = QTableWidgetItem().font() + item_font.setPixelSize(13) + self.setRowCount(len(self.pv_gateway)+1) self.setColumnCount(self.no_columns) self.setEditTriggers(QAbstractItemView.NoEditTriggers) @@ -1857,7 +1857,6 @@ class CAQTableWidget(QTableWidget): f = qtwt.font() f.setPointSize(8) qtwt.setFont(f) - self.setItem(i, _pv_column, qtwt) self.item(i, _pv_column).setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter) @@ -1884,9 +1883,9 @@ class CAQTableWidget(QTableWidget): self.init_layout = QHBoxLayout(self.init_widget) self.init_value_button = QPushButton() self.init_value_button.setText("Update") - _f = self.init_value_button.font() - _f.setPointSize(8) - self.init_value_button.setFont(_f) + f = self.init_value_button.font() + f.setPointSize(8) + self.init_value_button.setFont(f) self.init_value_button.setFixedWidth(64) self.init_value_button.clicked.connect(self.update_init_values) self.init_value_button.setToolTip( @@ -1908,9 +1907,9 @@ class CAQTableWidget(QTableWidget): self.restore_value_button.setStyleSheet( "QPushButton{background-color: rgb(212, 219, 157);}") self.restore_value_button.setText("Restore") - _f = self.restore_value_button.font() - _f.setPointSize(8) - self.restore_value_button.setFont(_f) + f = self.restore_value_button.font() + f.setPointSize(8) + self.restore_value_button.setFont(f) self.restore_value_button.setFixedWidth(80) self.restore_value_button.clicked.connect(self.restore_init_values) self.restore_value_button.setToolTip( @@ -1932,9 +1931,9 @@ class CAQTableWidget(QTableWidget): self.standby_value_button.setStyleSheet( "QPushButton{background-color: rgb(212, 219, 157);}") self.standby_value_button.setText("Standby") - _f = self.standby_value_button.font() - _f.setPointSize(8) - self.standby_value_button.setFont(_f) + f = self.standby_value_button.font() + f.setPointSize(8) + self.standby_value_button.setFont(f) self.standby_value_button.setFixedWidth(80) self.standby_value_button.clicked.connect(self.set_standby_values) self.standby_value_button.setToolTip( @@ -1958,10 +1957,10 @@ class CAQTableWidget(QTableWidget): f = self.reconnect_button.font() if 'Timestamp' in self.columns_dict.keys(): - f.setPointSize(8) + f.setPixelSize(13) self.reconnect_button.setFixedWidth(100) else: - f.setPointSize(7) #6 + f.setPixelSize(11) #6 self.reconnect_button.setFixedWidth(66) #58 self.reconnect_button.setFont(f) @@ -1985,22 +1984,43 @@ class CAQTableWidget(QTableWidget): self.cb_item_all) + if 'PV' in self.columns_dict.keys(): header_item = QTableWidgetItem("Process Variable") + f = header_item.font() + f.setPixelSize(13) + header_item.setFont(f) self.setHorizontalHeaderItem(self.columns_dict['PV'], header_item) if 'Init' in self.columns_dict.keys(): - self.setHorizontalHeaderItem(self.columns_dict['Init'], - QTableWidgetItem("Initial Value")) - - self.setHorizontalHeaderItem(self.columns_dict['Value'], - QTableWidgetItem("Value")) + header_item = QTableWidgetItem("Initial Value") + f = header_item.font() + f.setPixelSize(13) + header_item.setFont(f) + self.setHorizontalHeaderItem(self.columns_dict['Init'], header_item) + + header_item = QTableWidgetItem("Value") + f = header_item.font() + f.setPixelSize(13) + header_item.setFont(f) + self.setHorizontalHeaderItem(self.columns_dict['Value'], header_item) + if 'Timestamp' in self.columns_dict.keys(): + header_item = QTableWidgetItem("Timestamp") + f = header_item.font() + f.setPixelSize(13) + header_item.setFont(f) self.setHorizontalHeaderItem(self.columns_dict['Timestamp'], - QTableWidgetItem("Timestamp")) - self.setHorizontalHeaderItem(self.columns_dict['Reconnect'], - QTableWidgetItem("R")) + header_item) + + header_item = QTableWidgetItem("R") + f = header_item.font() + f.setPixelSize(13) + header_item.setFont(f) + self.setHorizontalHeaderItem(self.columns_dict['Reconnect'], + header_item) + self.setFocusPolicy(Qt.NoFocus) self.setEditTriggers(QAbstractItemView.NoEditTriggers) self.setSelectionMode(QAbstractItemView.NoSelection)