TXSLib : Class TLinearMeter

La classe TLinearMeter est un widget affichant une donnée numérique scalaire sous la forme d'un bar graph linéaire.


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

Ci-dessous des exemples d'objets de la classe TLinearMeter ainsi que le code utilisé pour configurer ces objets.



void Dialog::AdjustBarVerticalMeter()
{
  // Taille
  m_pBarVerticalMeter->setFixedWidth(160);

  // Orientation
  m_pBarVerticalMeter->SetOrientation(TXS::Orientation_Vertical);

  // Suppression des éléments d'information
  m_pBarVerticalMeter->SetCaptionVisible(false);
  m_pBarVerticalMeter->SetNumericIndicatorVisible(false);

  // Style
  m_pBarVerticalMeter->SetStyle(TXS::LinearMeterStyle_Blocks);
  m_pBarVerticalMeter->Enable3DBlocks(true);
  m_pBarVerticalMeter->SetNumberOfBlocksPerTick(3);

  // Colors
  m_pBarVerticalMeter->AppendColorZone(25, 50 ,QColor("LawnGreen"));
  m_pBarVerticalMeter->AppendColorZone(50, 75 ,QColor("Gold"));
  m_pBarVerticalMeter->AppendColorZone(0, 25,QColor("MediumBlue"));
  m_pBarVerticalMeter->AppendColorZone(75, 100 ,QColor("Crimson"));
}

void Dialog::AdjustContinousVerticalMeter()
{
  // Taille
  m_pContinousVerticalMeter->setFixedWidth(160);

  // Orientation
  m_pContinousVerticalMeter->SetOrientation(TXS::Orientation_Vertical);

  // Suppression des éléments d'information
  m_pContinousVerticalMeter->SetCaptionVisible(false);
  m_pContinousVerticalMeter->SetNumericIndicatorVisible(false);

  // Style
  m_pSimpleHorizontalMeter->SetStyle(TXS::LinearMeterStyle_Continuous);

  // Colors
  m_pContinousVerticalMeter->AppendColorZone(0, 25,QColor("MediumBlue"));
  m_pContinousVerticalMeter->AppendColorZone(25, 50 ,QColor("LawnGreen"));
  m_pContinousVerticalMeter->AppendColorZone(50, 75 ,QColor("Gold"));
  m_pContinousVerticalMeter->AppendColorZone(75, 100 ,QColor("Crimson"));
}

void Dialog::AdjustSimpleHorizontalMeter()
{
  // Taille
  m_pSimpleHorizontalMeter->setFixedHeight(160);

  // Orientation
  m_pSimpleHorizontalMeter->SetOrientation(TXS::Orientation_Horizontal);

  // Suppression des éléments d'information
  m_pSimpleHorizontalMeter->SetCaptionVisible(false);
  m_pSimpleHorizontalMeter->SetNumericIndicatorVisible(false);

  // Style
  m_pSimpleHorizontalMeter->SetStyle(TXS::LinearMeterStyle_Line);
  m_pSimpleHorizontalMeter->SetLineThickness(4);
}

Relations d'héritage

- Hérite de :
   - TLinearScalarWidget.

Fonctions publiques

TLinearMeter(QWidget *parent = nullptr)
voidvoid Copy(TLinearMeter* pTarget)
TLinearMeter* 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()
boolSetMinMax(const double& Min, const double & Max)
voidSetScaleTicksSpecification(const TXS::TicksSpecification& TicksSpecification)
voidSetValueToMax()
voidSetValueToMin()

Propriétés

Propriétés Type Ecriture Lecture
3DBlocksEnabled bool Enable3DBlocks Are3DBlocksEnabled
Color Qcolor SetColor GetColor
ColorZonesVisible bool SetColorZonesVisible GetColorZonesVisible
FrameBackgroundColor Qcolor SetFrameBackgroundColor GetFrameBackgroundColor
FrameBorderColor Qcolor SetFrameBorderColor GetFrameBorderColor
FrameBorderStyle TXS::LineStyle SetFrameBorderStyle GetFrameBorderStyle
FrameBorderWidth int SetFrameBorderWidth GetFrameBorderWidth
FrameVisible bool SetFrameVisible IsFrameVisible
LineThickness double SetLineThickness GetLineThickness
Maximum double GetMaximum
Minimum double GetMinimum
NumberOfBlocks int SetNumberOfBlocks GetNumberOfBlocks
NumberOfBlocksperTick int SetNumberOfBlocksperTick GetNumberOfBlocksperTick
Orientation TXS::Orientation SetOrientation GetOrientation
ProportionalSize double SetProportionalSize GetProportionalSize
Style TXS::LinearMeterStyle SetStyle GetStyle
Value double SetValue GetValue

TLinearMeter::TLinearMeter(QWidget *parent = nullptr)

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


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



void TLinearMeter::Copy(TLinearMeter* pTarget)

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


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



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

Description : Crée et retourne un nouvel objet de la classe TLinearMeter 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 TLinearMeter::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 TLinearMeter::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 TLinearMeter::GetTWidgetIdentifier()

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


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



QString TLinearMeter::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 : addc0868-0a83-496f-befa-35105ca3ac84



QString TLinearMeter::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 : TLinearMeter



bool TLinearMeter::SetMinMax(const double& Min, const double & Max)

Description : Assigne les valeurs minimales et maximales entre lesquelles le linear meter fonctionne. Ces valeurs peuvent être retrouvées via les propriétés Maximum et Minimum.


Paramètre : Min - type const double& - Valeur minimale de fonctionnement du linear meter.

Paramètre : Max - type const double& - Valeur maximale de fonctionnement du linear meter.

Valeur de retour : Booléen indiquant le succès ou l'echec de la fonction.



void TLinearMeter::SetScaleTicksSpecification(const TXS::TicksSpecification& TicksSpecification)

Description : Cette fonction définie le choix de l'algorithme de calcul des valeurs des graduations principales de l'axe.


Une explication détaillée est documentée à la page : Gestion des axes


Paramètre : TicksSpecification - type TXS::TicksSpecification& - Spécification des graduations de l'axe.



QString TLinearMeter::SetValueToMax()

Description : Assigne la valeur maximale de la gamme du linear meter à la propriété Value.



QString TLinearMeter::SetValueToMin()

Description : Assigne la valeur minimale de la gamme du linear meter à la propriété Value.



3DBlocksEnabled

Description : Cette propriété définie le style plat ou 3D des blocs lorsque la propriété Style prend les valeurs TXS::LinearMeterStyle_ContinuousBlocks ou TXS::LinearMeterStyle_Blocks.


Type : bool

Valeur par défaut : false

Ecriture : void Enable3DBlocks(const bool& Enable)

Lecture : bool Are3DBlocksEnabled()



Color

Description : Cette propriété définie la couleur du tracé lorsqu'aucune zone de couleurs n'a été définie ou lorsque la propriété ColorZonesVisible prend la valeur false.


Type : QColor

Valeur par défaut : QColor(255,0,0) - Rouge

Ecriture : void SetColor(const QColor& Col)

Lecture : QColor GetColor()



ColorZonesVisible

Description : Cette propriété active ou désactive l'affichage en zone de couleurs. Si aucune zone de couleur est définie cette propriété n'a pas d'influence.


Type : bool

Valeur par défaut : true

Ecriture : void SetColorZonesVisible(const bool& Tf)

Lecture : bool bool AreColorZonesVisible()



FrameBackgroundColor

Description : Cette propriété définie la couleur de fond du cadre de tracé.


Type : QColor

Valeur par défaut : Couleur de la palette courante de l'application avec le rôle "QPalette::Button" et la groupe "QPalette::Active". (Voir la classe QPalette de Qt)

Ecriture : void SetFrameBackgroundColor(const QColor& Col)

Lecture : QColor GetFrameBackgroundColor()



FrameBorderColor

Description : Cette propriété définie la couleur des bords du cadre de tracé.


Type : QColor

Valeur par défaut : Couleur de la palette courante de l'application avec le rôle "QPalette::ButtonText" et la groupe "QPalette::Active". (Voir la classe QPalette de Qt)

Ecriture : void SetFrameBorderColor(const QColor& Col)

Lecture : QColor GetFrameBorderColor()



FrameBorderStyle

Description : Cette propriété définie le style de ligne des bords du cadre de tracé.


Type : TXS::LineStyle

Valeur par défaut : TXS::SolidLine

Ecriture : void SetFrameBorderStyle(const TXS::LineStyle& Style)

Lecture : TXS::LineStyle GetFrameBorderStyle();



FrameBorderWidth

Description : Cette propriété définie l'épaisseur de ligne des bords du cadre de tracé.


Type : int

Valeur par défaut : 1

Ecriture : void SetFrameBorderWidth(const int& Width)

Lecture : int GetFrameBorderWidth();



FrameVisible

Description : Cette propriété définie si le la cadre de tracé est visible ou non.


Type : bool

Valeur par défaut : true.

Ecriture : void SetFrameVisible(const bool& Tf)

Lecture : bool GetFrameVisible();



LineThickness

Description : Cette propriété définie l'épaisseur de la ligne repère lorsque la propriété Style prend la valeur TXS::LinearMeterStyle_Line.


Type : double

Valeur par défaut : 3.

Ecriture : void SetLineThickness(const double& Thickness)

Lecture : double GetLineThickness()



Maximum

Description : Cette propriété retourne la bone maximale du linear meter définie par la fonction SetMinMax.


Type : double

Lecture : double GetMaximum();



Minimum

Description : Cette propriété retourne la bone minimale du linear meter définie par la fonction SetMinMax.


Type : double

Lecture : double GetMinimum();



NumberOfBlocks

Description : Cette propriété définie le nombre de blocs total sur toute l'echelle lorsque la propriété Style prend les valeurs TXS::LinearMeterStyle_ContinuousBlocks ou TXS::LinearMeterStyle_Blocks.


Type : int

Valeur par défaut : 0

Ecriture : void SetNumberOfBlocks(const int& nBlocks)

Lecture : int GetNumberOfBlocks()



NumberOfBlocksperTick

Description : Cette propriété définie le nombre de blocs entre chaque graduation prinicpale lorsque la propriété Style prend les valeurs TXS::LinearMeterStyle_ContinuousBlocks ou TXS::LinearMeterStyle_Blocks.


Type : int

Valeur par défaut : 4

Ecriture : void SetNumberOfBlocksPerTick(const int& nBlocks)

Lecture : int GetNumberOfBlocksperTick(;



Orientation

Description : Cette propriété définie l'orientation du widget.


Type : TXS::Orientation

Valeur par défaut : TXS::Orientation_Vertical

Ecriture : void SetOrientation(const TXS::Orientation& Orientation)

Lecture : TXS::Orientation GetOrientation()



ProportionalSize

Description : Cette proprité définie la taille proportionelle utilisée par le tracé et l'echelle à l'intérieur des marges du widget. Cette propriété est exprimée en pourcentage. Elle est limitée entre 50% et 100%.


Type : double

Valeur par défaut : 60

Ecriture : void SetProportionalSize(const double& Size)

Lecture : double GetProportionalSize()



Style

Description : Cette propriété définie le style du linear meter.


Type : TXS::LinearMeterStyle

Valeur par défaut : TXS::LinearMeterStyle_Continuous

Ecriture : void SetStyle(const TXS::LinearMeterStyle& Orientation)

Lecture : TXS::LinearMeterStyle GetStyle()



Value

Description : Cette propriété est la propriété principale de cette classe. Elle représente la valeur affichée par le widget.


Note : La fonction d'écriture retourne un booléen indiquant si la valeur est comprise dans la gamme du linear meter.


Type : double

Valeur par défaut : 0

Ecriture : bool SetValue(const double& dValue);

Lecture : double GetValue();