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.

// 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) | |
| void | void Copy(TCompass* pTarget) |
| TCompass* | CreateCopy(QWidget *parent = nullptr) |
| void | bool Draw(QPainter* pPainter, const QRect& Rect) |
| bool | EditColorZones(const double& Min = DBL_MAX, const double& Max = DBL_MAX, const QIcon& DialogIcon = QIcon(), const QString& DialogTitle = "", QWidget* pParent = nullptr) |
| QUuid | GetTWidgetIdentifier() |
| QString | GetTWidgetIdentifierAsString() |
| QString | GetTWidgetName() |
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 |
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
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
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éé.
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.
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
Description : Retourne un UUID pour cettte classe d'objets.
Valeur de retour : UUID de cette classe d'objets.
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
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
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();
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();
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();
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();
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();
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();
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();
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()
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();
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();
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();
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();
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();
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();
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()
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();
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();
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();
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();