src/eric7/EricNetwork/EricIPv4InputWidget.py

Sun, 26 Feb 2023 12:44:03 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 26 Feb 2023 12:44:03 +0100
branch
mpy_network
changeset 9803
2ab3de60b51c
parent 9797
3be7b2326e2c
child 9830
6c91fdb0e55b
permissions
-rw-r--r--

MicroPython
- fixed an issue checking, if the device data is available

9797
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2023 Detlev Offenbach <detlev@die-offenbachs.de>
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a widget to enter an IPv4 address.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import ipaddress
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 from PyQt6.QtCore import pyqtSignal, pyqtSlot, QRegularExpression, QEvent, Qt
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from PyQt6.QtGui import QRegularExpressionValidator
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 from PyQt6.QtWidgets import QWidget
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from eric7.EricGui import EricPixmapCache
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 from .Ui_EricIPv4InputWidget import Ui_EricIPv4InputWidget
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 class EricIPv4InputWidget(QWidget, Ui_EricIPv4InputWidget):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Class implementing a widget to enter an IPv4 address.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 @signal addressChanged() emitted to indicate a change of the entered IPv4 address
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 addressChanged = pyqtSignal()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 def __init__(self, parent=None):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 Constructor
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 @param parent reference to the parent widget (defaults to None)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @type QWidget (optional)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 super().__init__(parent)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.setupUi(self)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 self.clearButton.setIcon(EricPixmapCache.getIcon("clearLeft"))
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 self.clearButton.clicked.connect(self.__clear)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 ipRange = r"(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 self.ip1Edit.setValidator(
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 QRegularExpressionValidator(QRegularExpression(ipRange))
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 )
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.ip2Edit.setValidator(
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 QRegularExpressionValidator(QRegularExpression(ipRange))
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 )
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.ip3Edit.setValidator(
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 QRegularExpressionValidator(QRegularExpression(ipRange))
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 )
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 self.ip4Edit.setValidator(
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 QRegularExpressionValidator(QRegularExpression(ipRange))
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 )
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 self.ip1Edit.installEventFilter(self)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.ip2Edit.installEventFilter(self)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.ip3Edit.installEventFilter(self)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 self.ip1Edit.textChanged.connect(self.addressChanged)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.ip2Edit.textChanged.connect(self.addressChanged)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.ip3Edit.textChanged.connect(self.addressChanged)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.ip4Edit.textChanged.connect(self.addressChanged)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 def eventFilter(self, obj, evt):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 Public method to filter pressing '.' to give focus to the next input field.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 @param obj reference to the object
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 @type QObject
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 @param evt reference to the event object
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 @type QEvent
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 if evt.type() == QEvent.Type.KeyPress:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 if evt.text() == '.':
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 if obj is self.ip1Edit:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 nextWidget = self.ip2Edit
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 elif obj is self.ip2Edit:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 nextWidget = self.ip3Edit
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 elif obj is self.ip3Edit:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 nextWidget = self.ip4Edit
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 else:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 nextWidget = None
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 if nextWidget:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 nextWidget.setFocus(Qt.FocusReason.TabFocusReason)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 return True
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 return super().eventFilter(obj, evt)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 def hasAcceptableInput(self):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 Public method to check, if the input is acceptable.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 @return flag indicating acceptable input
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 @rtype bool
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 try:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 ipaddress.IPv4Address(self.text())
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 except ipaddress.AddressValueError:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 # leading zeros are not allowed
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 return False
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104 return (
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 self.ip1Edit.hasAcceptableInput()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 and self.ip2Edit.hasAcceptableInput()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 and self.ip3Edit.hasAcceptableInput()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 and self.ip4Edit.hasAcceptableInput()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 )
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 def text(self):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 Public method to get the IPv4 address as a string.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
114
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
115 @return IPv4 address
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 @rtype str
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
118 return "{0}.{1}.{2}.{3}".format(
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 self.ip1Edit.text(),
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120 self.ip2Edit.text(),
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 self.ip3Edit.text(),
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.ip4Edit.text(),
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 )
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 def setText(self, address):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
126 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 Public method to set the IPv4 address given a string.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 @param address IPv4 address
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 @type str
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 if address:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 try:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 ipaddress.IPv4Address(address)
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 except ipaddress.AddressValueError as err:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 raise ValueError(str(err))
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 addressParts = address.split(".")
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 self.ip1Edit.setText(addressParts[0])
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 self.ip2Edit.setText(addressParts[1])
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 self.ip3Edit.setText(addressParts[2])
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 self.ip4Edit.setText(addressParts[3])
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143 else:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
144 self.clear()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 def address(self):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 Public method to get the IPv4 address as an ipaddress.IPv4Address object.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 @return IPv4 address
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 @rtype ipaddress.IPv4Address
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 try:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 return ipaddress.IPv4Address(self.text())
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 except ipaddress.AddressValueError as err:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 raise ValueError(str(err))
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 def setAddress(self, address):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 Public method to set the IPv4 address given an ipaddress.IPv4Address object.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 @param address IPv4 address
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 @type ipaddress.IPv4Address
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 if address:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 self.setText(str(address))
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 else:
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 self.clear()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 @pyqtSlot()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 def clear(self):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 Public slot to clear the input fields.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 self.ip1Edit.clear()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 self.ip2Edit.clear()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 self.ip3Edit.clear()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 self.ip4Edit.clear()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 @pyqtSlot()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 def __clear(self):
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 Private slot to handle the clear button press.
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 """
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 self.clear()
3be7b2326e2c MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 self.ip1Edit.setFocus(Qt.FocusReason.OtherFocusReason)

eric ide

mercurial