src/eric7/EricNetwork/EricHostnameInputWidget.py

branch
eric7
changeset 10153
ffe7432f716b
child 10167
0a62a4bf749c
diff -r 33e7b9d3f91c -r ffe7432f716b src/eric7/EricNetwork/EricHostnameInputWidget.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricNetwork/EricHostnameInputWidget.py	Thu Aug 03 17:33:07 2023 +0200
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2023 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing an input widget for network host names.
+"""
+
+from PyQt6.QtCore import QRegularExpression
+from PyQt6.QtGui import QRegularExpressionValidator
+from PyQt6.QtWidgets import QLineEdit
+
+
+class EricHostnameInputWidget(QLineEdit):
+    """
+    Class implementing an input widget for network host names.
+    """
+    def __init__(self, parent=None):
+        """
+        Constructor
+
+        @param parent reference to the parent widget (defaults to None)
+        @type QWidget (optional)
+        """
+        super().__init__(parent)
+
+        self.setClearButtonEnabled(True)
+
+        self.setValidator(
+            QRegularExpressionValidator(
+                QRegularExpression(
+                    r"""([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])"""
+                )
+            )
+        )
+        self.setMaxLength(63)

eric ide

mercurial