src/eric7/EricNetwork/EricHostnameInputWidget.py

Sat, 23 Dec 2023 15:48:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 23 Dec 2023 15:48:12 +0100
branch
eric7
changeset 10439
21c28b0f9e41
parent 10167
0a62a4bf749c
child 11090
f5f5f5803935
permissions
-rw-r--r--

Updated copyright for 2024.

# -*- coding: utf-8 -*-

# Copyright (c) 2023 - 2024 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