TXSLib : Class TAnalogLed

La classe TAnalogLed est un widget de type affichage à diode. La couleur de la diode dépend de la configuration d'une liste de zones de couleurs et de la valeur donnée à la propriété "Value".


Cette classe d'objet est compatible avec son utllisation sur un afficheur LCD. Voir la rubrique : LCD 7789 avec Qt

Ci-dessous un exemple d'un objet de la classe TAnalogLed ainsi que le code utilisé pour configurer celui-ci.



m_pLed = new TAnalogLed();

// On donne à la LED une taille fixe
m_pLed->setFixedSize(200,80);

// On met un titre
m_pLed->SetCaption("Démo TAnalogLed");

// On règle l'indicateur numérique au format TXS::NumberFormat_Double_AutoFixedPoint
// Ce format déduit le nombre de chiffres avant la virgule automatiquement
// Mais on peut fixer le nombre de chiffres après la virgule
// Et forcer le signe
m_pLed->SetNunericIndicatorVisible(true);
m_pLed->SetNumericIndicatorNumberFormat(TXS::NumberFormat_Double_AutoFixedPoint);
m_pLed->SetNumericIndicatorForceSign(true);
m_pLed->SetNumericIndicatorDigitsAfterDecimalSeparator(2);

// Les propriétés spécifiques à la classe TAnalogLed
m_pLed->SetStyle(TXS::LEDStyle_Circle);
m_pLed->Enable3DEffect(true);
m_pLed->SetOffColor("DimGrey");

// On définie les couleurs à appliquer à la LED en fonction de niveaux min et max
m_pLed->AppendColorZone(-100, -75,QColor("darkmagenta"));
m_pLed->AppendColorZone(-75, -50 ,QColor("darkblue"));
m_pLed->AppendColorZone(-50, -25 ,QColor("mediumblue"));
m_pLed->AppendColorZone(-25, -10 ,QColor("dodgerblue"));
m_pLed->AppendColorZone(-10, -5 ,QColor("darkgreen"));
m_pLed->AppendColorZone(-5, 5 ,QColor("lime"));
m_pLed->AppendColorZone(5, 10 ,QColor("yellow"));
m_pLed->AppendColorZone(10, 25 ,QColor("darkorange"));
m_pLed->AppendColorZone(25, 50 ,QColor("orangered"));
m_pLed->AppendColorZone(50, 75 ,QColor("firebrick"));
m_pLed->AppendColorZone(75, 100 ,QColor("crimson"));

Relations d'héritage

- Hérite de :
   - TScalarWidget.

Fonctions publiques

TAnalogLed(QWidget *parent = nullptr)
voidvoid Copy(TAnalogLed* pTarget)
TAnalogLed* CreateCopy(QWidget *parent = nullptr)
voidbool Draw(QPainter* pPainter, const QRect& Rect)
boolEditColorZones(const double& Min = DBL_MAX, const double& Max = DBL_MAX, const QIcon& DialogIcon = QIcon(), const QString& DialogTitle = "", QWidget* pParent = nullptr)
QUuidGetTWidgetIdentifier()
QStringGetTWidgetIdentifierAsString()
QStringGetTWidgetName()

Propriétés

Propriétés Type Ecriture Lecture
3DEffect bool Enable3DEffect Is3DEffectEnabled
OffColor QColor SetOffColor GetOffColor
Style TXS::LEDStyle SetStyle GetStyle
Value double SetValue GetValue


TAnalogLed::TAnalogLed(QWidget *parent = nullptr)

Description : Contructeur. Instancie un objet de la classe TAnalogLed.


Paramètre : parent - type QWidget* - Pointeur vers un QWidget parent s'il existe. Ce paramètre est optionnel



void TAnalogLed::Copy(TAnalogLed* pTarget)

Description : Copie toutes les valeurs des propriétés de cet objet aux propriétés de l'objet TAnalogLed passé en paramètre.


Paramètre : pTarget - type TAnalogLed* - Pointeur vers un objet TAnalogLed vers lequel sont copiées les valeurs des propriétés de cet objet



TAnalogLed* TAnalogLed::CreateCopy(QWidget *parent = nullptr)

Description : Crée et retourne un nouvel objet de la classe TAnalogLed après avoir initialisé toutes ses propriétés aux valeurs de celles de l'objet utilisé pour créer le nouvel objet.


Paramètre : parent - type QWidget* - Pointeur vers un QWidget parent s'il existe. Ce paramètre est optionnel


Valeur de retour : Pointeur vers le nouvel objet créé.



void TAnalogLed::Draw(QPainter* pPainter, const QRect& Rect)

Description : Permet de tracer cet objet dans un rectangle dont les coordonnées sont passées en paramètres au moyen du QPainter passé en paramètre et créé par une classe héritant du QPaintDevice.


Cette méthode est essentiellement destinée à une utilisation pour tracer sur un LCD via les classes Classe CLCD7789 et Classe CLCD7789PaintDevice de la librairie cpp2835. Voir la rubrique : LCD 7789 avec Qt


Elle peut toutefois être utilisée pour tracer dans un objet d'une classe héritant de QPaintDevice, comme QImage ou QPixmap pour créer une image de l'objet sauvegardable dans un fichier image.


Sauf cas particuliers, cette méthode ne doit pas être utilisée pour tracer sur le moniteur sur lequel fonctionne l'application qui l'héberge. La mise à jour du tracé dans cette condition est contrôlée par l'application par surcharge de la méthode protégée "QWidget::paintEvent".


Paramètre : pPainter - type QPainter* - Pointeur vers un QPainter attaché au QPaintDevice dans lequel il faut tracer l'objet.

Paramètre : Rect - type const QRect& - Coordonnées du rectangle de tracé dans le QPaintDevice.



void TAnalogLed::EditColorZones(const double& Min = DBL_MAX, const double& Max = DBL_MAX, const QIcon& DialogIcon = QIcon(), const QString& DialogTitle = "", QWidget* pParent = nullptr)

Description : Affiche une boite de dialogue modal permettant de créer ou de modifier la liste de zones de couleurs de l'objet.


Paramètre : Min - type const double& - Valeur de seuil bas minimale des zones de couleurs.

Paramètre : Max - type const double& - Valeur de seuil haut maximale des zones de couleurs.

Paramètre : DialogIcon - type const QIcon& - Icone à afficher dans la barre de titre de la fenêtre de dialogue.


Paramètre : DialogTitle - type const QString& - Texte à afficher dans la barre de titre de la fenêtre de dialogue.


Paramètre : parent - type QWidget* - Pointeur vers un QWidget parent de la boite de dialogue s'il existe. Ce paramètre est optionnel



QUuid TAnalogLed::GetTWidgetIdentifier()

Description : Retourne un UUID pour cettte classe d'objets.


Valeur de retour : UUID de cette classe d'objets.



QString TAnalogLed::GetTWidgetIdentifierAsString()

Description : Retourne un UUID pour cettte classe d'objets.


Valeur de retour : UUID de cette classe d'objets sous forme de chaine de caractères. La valeur de l'UUID de cette est : 14e8349a-aed2-45d6-b5bb-99dc27475e48



QString TAnalogLed::GetTWidgetName()

Description : Retourne le nom de la classe..


Valeur de retour : Nom de cette classe d'objets sous forme de chaine de caractères. La valeur pour cette class est : TAnalogLed



3DEffect

Description : Cette propriété définie le style plat ou 3D de la diode.


Type : bool

Valeur par défaut : true

Ecriture : Enable3DEffect(const bool& Tf)

Lecture : bool Is3DEffectEnabled();



OffColor

Description : Cette propriété définie la couleur de la diode lorsque la propriété "Value" n'est pas comprise entre les deux seuils de toutes les zones de la liste de zones de couleurs..


Type : QColor

Valeur par défaut : Qt::black

Ecriture : void SetOffColor(const QColor& Color)

Lecture : QColor GetOffColor();



Style

Description : Cette propriété définie le style et la forme de la diode.


Type : TXS::LEDStyle

Valeur par défaut : TXS::LEDStyle_Circle

Ecriture : void SetStyle(const TXS::LEDStyle& Style)

Lecture : TXS::LEDStyle GetStyle();



Value

Description : Cette propriété est la propriété principale de cette classe. La diode est mise à jour à chaque modification de cette valeur. La couleur de la diode est directement dépendante de cette propriété et des zones de couleurs définies. Si la valeur n'est pas comprise entre les seuils de toutes les zones de couleurs, la couleur affichée sera celle définie par la propriété "OffColor"


Type : double

Valeur par défaut : 0

Ecriture : void SetValue(const double& Value)

Lecture : double GetValue();