# -*- coding: utf-8 -*-
"""
Basisklasse für SAWAS-Dashboard-Module.

Eigene Module legst du als .py-Datei in diesem Ordner ab. Jedes Modul muss
am Dateiende zwei Variablen exportieren:

    MODULE_TITLE = "Mein Modul"
    MODULE_CLASS = MeineKlasse

Die Klasse erbt von DashboardModule (oder direkt von QWidget) und baut ihren
Inhalt in __init__ auf. Updates kannst du über einen eigenen QTimer machen.
"""
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QFont
from PyQt5.QtWidgets import QWidget, QLabel, QVBoxLayout


class DashboardModule(QWidget):
    """Komfort-Basisklasse mit dem Standard-Styling für Modul-Inhalte."""

    def __init__(self, parent=None):
        super().__init__(parent)
        self.setStyleSheet("color: #E8F4FF;")


def make_value_label(text: str = "", size: int = 18, bold: bool = True) -> QLabel:
    """Kleine Hilfsfunktion für große Werteanzeigen."""
    lbl = QLabel(text)
    f = QFont("Segoe UI", size)
    f.setBold(bold)
    lbl.setFont(f)
    lbl.setStyleSheet("color: #FFFFFF;")
    lbl.setAlignment(Qt.AlignCenter)
    return lbl


def make_caption_label(text: str = "") -> QLabel:
    lbl = QLabel(text)
    f = QFont("Segoe UI", 8)
    lbl.setFont(f)
    lbl.setStyleSheet("color: #9EE6FF; letter-spacing: 1px;")
    lbl.setAlignment(Qt.AlignCenter)
    return lbl
