TXSLib : Class TCompass

La classe TCompass est un widget qui permet d'afficher une donnée de direction selon la rose des vents..


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 TCompass ainsi que le code utilisé pour configurer celui-ci.



m_pCompass = new TCompass();

// On met un titre
m_pCompass->SetCaption("Démo TCompass");

// 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
m_pCompass->SetNunericIndicatorVisible(true);
m_pCompass->SetNumericIndicatorNumberFormat(TXS::NumberFormat_Double_AutoFixedPoint);
m_pCompass->SetNumericIndicatorDigitsAfterDecimalSeparator(2);

// Les propriétés spécifiques à la classe TCompass
m_pCompass->SetCompassStyle(TXS::CompassStyle_3DRose);
m_pCompass->EnableCardinalDirections(true);

// On définie les zones couleurs à appliquer au compas
m_pCompass->AppendColorZone(0, 90, QColor("lime"));
m_pCompass->AppendColorZone(90,180 , QColor("yellow"));
m_pCompass->AppendColorZone(180, 270, QColor("mediumblue"));
m_pCompass->AppendColorZone(270, 360 ,QColor("crimson"));

// réglage de la visualisation des zones de couleurs
m_pCompass->SetColorZonesBlocksWidth(8);
m_pCompass->SetAutoAdjustColorZonesLeds(false);
m_pCompass->SetColorZonesBlocks(90);
m_pCompass->SetColorZonesThickness(12);
m_pCompass->SetColorZonesBlocksWidth(6);
m_pCompass->SetColorZonesStyle(TXS::KnobColorZonesStyle_Blocks);
m_pCompass->SetUse3DEffectForColorZones(false);
m_pCompass->SetDefaultColorZonesLedsColorAboveCursor(QColor("darkgray"));

Relations d'héritage

- Hérite de :
   - TCircularScalarWidget.

Fonctions publiques

Note : Les fonctions d'écriture des propriétés suivantes héritées de la classe TCircularScalarWidget sont surchargées par cette classe car ces propriétés sont fixées de manière constante par la classe "TCompass" :

 - ScaleExcursion
 - ScaleOrigin
 - ScaleTicksSpecification
 - ScaleTicksInterval




TCompass(QWidget *parent = nullptr)
voidvoid Copy(TCompass* pTarget)
TCompass* 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
CardinalDirections bool EnableCardinalDirections AreCardinalDirectionsEnabled
CompassBackgroundColor QColor SetCompassBackgroundColor GetCompassBackgroundColor
CompassBorderColor QColor SetCompassBorderColor GetCompassBorderColor
CompassBorderStyle TXS::LineStyle SetCompassBorderStyle GetCompassBorderStyle
CompassBorderVisible bool SetCompassBorderVisible IsCompassBorderVisible
CompassBordeWidth int SetCompassBorderWidth GetCompassBorderWidth
CompassHasBackground bool SetCompassHasBackground IsCompassHasBackground
CompassIndexColor QColor SetCompassIndexColor GetCompassIndexColor
CompassIndexDistance int SetCompasIndexDistance GetCompasIndexDistance
CompassIndexLenght int SetCompasIndexLenght GetCompasIndexLenght
CompassIndexStyle TXS::CompassIndexStyle SetCompassIndexStyle GetCompassIndexStyle
CompassIndexThickness int SetCompasIndexThickness GetCompasIndexThickness
CompassStyle TXS::CompassStyle SetCompassStyle GetCompassStyle
ContinuousMode bool EnableContinuousMode IsContinuousModeEnabled
FlatCompassColor QColor SetFlatCompassColor GetFlatCompassColor
NormalizedValue double GetNormalizedValue
NormalizedValueEnabled bool EnableNormalizedValue IsNormalizedValueEnabled
Range double SetRange GetRange
Value double SetValue GetValue


TCompass::TCompass(QWidget *parent = nullptr)

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


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



void TCompass::Copy(TCompass* pTarget)

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


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



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

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

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


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



QString TCompass::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 : a2c3ec89-937f-4388-b192-a9723d7d0501



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



CardinalDirections

Description : Lorsque cette propriété prend la valeur true, les graduations de l'axe normalement numériques prennent les directions de la rose des vents plutôt que les valeurs numériques.


Type : bool

Valeur par défaut : false

Ecriture : void EnableCardinalDirections(const bool& Tf);

Lecture : bool AreCardinalDirectionsEnabled();



CompassBackgroundColor

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


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 SetCompassBackgroundColor(const QColor& Color);

Lecture : QColor GetCompassBackgroundColor();



CompassBorderColor

Description : Cette propriété définie la couleur du bord du compas.


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 SetCompassBorderColor(const QColor& Color);

Lecture : QColor GetCompassBorderColor();



CompassBorderStyle

Description : Cette propriété définie le style de bord du compas.


Type : TXS::LineStyle

Valeur par défaut : TXS::SolidLine

Ecriture : void SetCompassBorderStyle(const TXS::LineStyle& Style);

Lecture : TXS::LineStyle GetCompassBorderStyle();



CompassBorderVisible

Description : Cette propriété définie si le bord du compas est visible ou non.


Type : bool

Valeur par défaut : true

Ecriture : void SetCompassBorderVisible(const bool& Tf);

Lecture : bool IsCompassBorderVisible();



CompassBordeWidth

Description : Cette propriété définie l'épaisseur du bord du compas.


Type : int

Valeur par défaut : 1

Ecriture : void SetCompassBorderWidth(const int& Width);

Lecture : int GetCompassBorderWidth();



CompassHasBackground

Description : Cette propriété définie si le compas a une couleur de fond.


Type : bool

Valeur par défaut : false

Ecriture : void SetCompassHasBackground(const bool& Tf);

Lecture : bool IsCompassHasBackground();



CompassIndexColor

Description : Cette propriété définie la couleur de l'index du compas.


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 SetCompassIndexColor(const QColor& Color);

Lecture : QColor GetCompassIndexColor()



CompassIndexDistance

Description : Cette propriété définie la distance en pixels séparant l'index du compas de l'axe circulaire du compas.


Type : double

Valeur par défaut : 5

Ecriture : void SetCompasIndexDistance(const double& Lenght);

Lecture : double GetCompasIndexDistance();



CompassIndexLenght

Description : Cette propriété définie la longueur en pixels de l'index du compas.


Type : double

Valeur par défaut : 5

Ecriture : void SetCompasIndexLenght(const double& Lenght);

Lecture : double GetCompasIndexLenght();



CompassIndexStyle

Description : Cette propriété définie le style de l'index du compas.


Type : TXS::CompassStyle

Valeur par défaut : TXS::CompassIndex_Arrow

Ecriture : void SetCompassIndexStyle(const TXS::CompassIndexStyle Style);

Lecture : TXS::CompassIndexStyle GetCompassIndexStyle();



CompassIndexThickness

Description : Cette propriété définie l'épaisseur en pixels de l'index du compas.


Type : double

Valeur par défaut : 5

Ecriture : void SetCompasIndexThickness(const double& Lenght);

Lecture : double GetCompassIndexThickness();



CompassStyle

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


Type : TXS::CompassStyle

Valeur par défaut : TXS::CompassStyle_None

Ecriture : void SetCompassStyle(const TXS::CompassStyle Style)

Lecture : TXS::CompassStyle GetCompassStyle();



ContinuousMode

Description : Cette propriété définie si le compas fonctionne en mode continu. Dans ce mode avec une gamme de 0 à 360 degrés d'angle, lorsque la propriété "Value" dépasse la valeur de 360, ce dépassement est autorisé. La position de l'index est réinitialisé à partir de 0. Dans ce cas la propriété "Value" n'est pas modifiée, mais la propriété "NormalizedValue" retourne la valeur par rapport au 0 de l'axe.


Note : La fonction d'écriture retourne un booléen indiquant si cette écriture est possible selon la valeur courante des propriétés "Range" et "Value".


Type : bool

Valeur par défaut : true

Ecriture : bool EnableContinuousMode(const bool& Tf);

Lecture : bool IsContinuousModeEnabled();



FlatCompassColor

Description : Cette propriété définie la couleur de l'index du compas en mode non 3D.


Type : QColor

Valeur par défaut : Noir

Ecriture : void SetFlatCompassColor(const QColor& Color);

Lecture : QColor GetFlatCompassColor()



NormalizedValue

Description : Cette propriété retourne la valeur normalisée lorsque le mode continu est activé.


Type : double

Valeur par défaut : 0

Lecture : double GetNormalizedValue();



NormalizedValueEnabled

Description : Cette propriété active ou désaactive la valeur normalisée lorsque le mode continu est activé.


Note : La fonction d'écriture retourne un booléen indiquant si cette écriture est possible selon la valeur courante des propriétés "Range" et "Value".


Type : bool

Valeur par défaut : true

Ecriture : bool EnableNormalizedValue(const bool& Tf);

Lecture : bool IsNormalizedValueEnabled();



Value

Description : Cette propriété définie la gamme du compas.


Type : double

Valeur par défaut : 360

Ecriture : void SetValue(const double& Value)

Lecture : double GetValue();



Value

Description : Cette propriété est la propriété principale de cette classe. La position de l'index de direction est mis à jour à chaque modification de cette valeur.


Note : La fonction d'écriture retourne un booléen indiquant si cette écriture est possible selon la valeur courante de la propriété "Value".


Type : double

Valeur par défaut : 0

Ecriture : bool SetRange(const double& Range);

Lecture : double GetRange();