Repository navigation
Expand file tree
/
Copy pathModSlaveSettings.py
More file actions
75 lines (63 loc) · 2.47 KB
/
Copy pathModSlaveSettings.py
File metadata and controls
75 lines (63 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#-------------------------------------------------------------------------------
# Name: ModSlaveSettings
# Purpose:
#
# Author: ElBar
#
# Created: 17/04/2012
# Copyright: (c) ElBar 2012
# Licence: <your licence>
#-------------------------------------------------------------------------------
#!/usr/bin/env python
from PyQt5 import QtGui,QtCore,QtWidgets
from Ui_settings import Ui_Settings
#add logging capability
import logging
#-------------------------------------------------------------------------------
class ModSlaveSettingsWindow(QtWidgets.QDialog):
""" Class wrapper for general settings ui """
def __init__(self):
super(ModSlaveSettingsWindow,self).__init__()
#init values
self.max_no_of_bus_monitor_lines = 50
self.sim_min = 0
self.sim_max = 65535
self._logger = logging.getLogger("modbus_tk")
self.setupUI()
#signals-slots
self.ui.sbSimMin.valueChanged.connect(self._set_min_value)
def setupUI(self):
#create window from ui
self.ui=Ui_Settings()
self.ui.setupUi(self)
#set init values
self._set_values()
#signals-slots
self.accepted.connect(self._OK_pressed)
self.rejected.connect(self._cancel_pressed)
def _set_values(self):
"""set param values to ui"""
self._logger.info("Set param values to UI")
self.ui.sbMaxNoOfBusMonitorLines.setValue(self.max_no_of_bus_monitor_lines)
self.ui.sbSimMin.setValue(self.sim_min)
self.ui.sbSimMax.setValue(self.sim_max)
#self.ui.sbSimMax.setMinimum(self.sim_min + 1)
def _set_min_value(self, value):
"""set min value to max simulation value"""
self.ui.sbSimMax.setMinimum(value + 1)
def _get_values(self):
"""get param values from ui"""
self._logger.info("Get param values from UI")
self.max_no_of_bus_monitor_lines = self.ui.sbMaxNoOfBusMonitorLines.value()
self.sim_min = self.ui.sbSimMin.value()
self.sim_max = self.ui.sbSimMax.value()
def _OK_pressed(self):
"""new values are accepted"""
self._get_values()
def _cancel_pressed(self):
"""new values are rejected"""
self._set_values()
def showEvent(self,QShowEvent):
"""set values for controls"""
self._set_values()
#-------------------------------------------------------------------------------