TXSLib : Class TSlider

La classe TSlider est un widget qui permet de saisir une valeur numérique au moyen d'un potentiomètre linéaire.


Cette classe d'objet n'est pas 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 TSlider ainsi que le code utilisé pour configurer celui-ci.



m_pVerticalMeter = new TLinearMeter();
m_pHorizontalMeter = new TLinearMeter();

// Ajustage des tailles des sliders
m_pVerticalSlider->setFixedWidth(150);
m_pHorizontalSlider->setFixedHeight(150);

// Titres des sliders
m_pVerticalSlider->SetCaption("Tension");
m_pHorizontalSlider->SetCaption("Courant");

// Orientation du slider horizontal
m_pHorizontalSlider->SetOrientation(TXS::Orientation_Horizontal);

// Style slider horizontal
m_pHorizontalSlider->SetSliderStyle(TXS::SliderStyle_Rounded);
m_pHorizontalSlider->SetColorZonesStyle(TXS::SliderColorZonesStyle_Continuous);
m_pHorizontalSlider->SetColorZonesThickness(5);
m_pHorizontalSlider->SetSliderColorToCurrentColorZone(true);

// Style slider vertical
m_pVerticalSlider->SetSliderStyle(TXS::SliderStyle_Square);
m_pVerticalSlider->SetScalePosition(TXS::Position_LeftOrTop);
m_pVerticalSlider->SetColorZonesStyle(TXS::SliderColorZonesStyle_Blocks);

// Couleurs slider vertical
m_pVerticalSlider->AppendColorZone(0, 25,QColor("MediumBlue"));
m_pVerticalSlider->AppendColorZone(25, 50 ,QColor("LawnGreen"));
m_pVerticalSlider->AppendColorZone(50, 75 ,QColor("Gold"));
m_pVerticalSlider->AppendColorZone(75, 100 ,QColor("Crimson"));

// Couleurs slider horizontal
m_pHorizontalSlider->AppendColorZone(0, 25,QColor("MediumBlue"));
m_pHorizontalSlider->AppendColorZone(25, 50 ,QColor("LawnGreen"));
m_pHorizontalSlider->AppendColorZone(50, 75 ,QColor("Gold"));
m_pHorizontalSlider->AppendColorZone(75, 100 ,QColor("Crimson"));

Interface opérateur

L'utilisation d'un TSlider répond aux règles suivantes :


 - Les mouvements sont réglés par 3 propriétés exprimées en pourcentage de l'intervalle entre deux graduations principales. :

  - Resolution : Cette propriété définie le pas le plus fin. A titre d'exemple, si la l'intervalle entre deux graduation principales est de 10 et que cette propriété est réglée à 0,1%, le slider ne retournera pas de valeurs plus précise que le dixième : 0, 0.01, 0.02, 0.03, etc...
  - SmallStep : Cette propriété définie un pas plus rapide que la résolution.
  - LargeStep : Cette propriété définie le pas le plus rapide.

La valeur du slider peut être modifiée par la souris, la roulette de la souris et le clavier. Ces 3 moyens fonctionnent en même temps. On peut approcher la valeur souhaitée à la souris, puis la régler plus finement à la roulette de la souris ou au clavier.

Les actions possibles, et leur correspondances sur la variation de la valeur du slider sont les suivantes :



Action Aucune touche appuyée Touche ALT appuyée Touche SHIFT appuyée
Souris +- Resolution +- Resolution +- Resolution
Roulette de la souris +- Resolution +- SmallStep +- LargeStep
Flêche montante + Resolution + SmallStep + LargeStep
Flêche descendante - Resolution - SmallStep - LargeStep
Flêche gacuhe + Resolution + SmallStep + LargeStep
Flêche droite - Resolution - SmallStep - LargeStep
Page Up + Resolution X 5 + SmallStep X 5 + LargeStep X 5
Page Down - Resolution X 5 - SmallStep X 5 - LargeStep X 5
Home Va à la valeur minimale Va à la valeur minimale Va à la valeur minimale
End Va à la valeur maximale Va à la valeur maximale Va à la valeur maximale

Note : Sur le Raspberry Pi et certaines versions de Linux, la touche ALT peut être inopérante avec la roulette de la souris.

Relations d'héritage

- Hérite de :
   - TLinearScalarWidget.

Fonctions publiques

Note : Les fonctions suivantes héritées de la classe TLinearScalarWidget sont surchargées par cette classe :

 - SetScaleTicksSpecification
 - ScaleTickSetMinMaxsInterval




TSlider(QWidget *parent = nullptr)
voidvoid Copy(TSlider* pTarget)
TSlider* CreateCopy(QWidget *parent = nullptr)
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()

Signaux publiques

voidValueChanged(double dValue)

Propriétés

Propriétés Type Ecriture Lecture
ColorZonesStyle TXS::SliderColorZonesStyle SetKnobColor SetColorZonesStyle
ColorZonesThickness int SetColorZonesThickness GetColorZonesThickness
ColorZonesVisible bool SetColorZonesVisible AreColorZonesVisible
DefaultColorZonesLedsCol... QColor SetDefaultColorZonesLedsColorBelowCursor GetDefaultColorZonesLedsColor...
FlatCursorColor QColor SetFlatCursorColor GetFlatCursorColor
FlatCursorIndexColor QColor SetFlatCursorIndexColor GetFlatCursorIndexColor
LargeStep double SetLargeStep GetLargeStep
Maximum double GetMaximum
Minimum double GetMinimum
NumberOfBlocks int SetNumberOfBlocks GetNumberOfBlocks
NumberOfBlocksPerTick int SetNumberOfBlocksPerTick GetNumberOfBlocksPerTick
Orientation TXS::Orientation SetOrientation GetOrientation
Resolution double SetResolution GetResolution
SliderBackgroundColor QColor SetSliderBackgroundColor GetSliderBackgroundColor
SliderColorToCurrentColor... bool SetSliderColorToCurrentColorZone GetSliderColorToCurrentColorZone
SliderRailBorderColor QColor SetSliderRailBorderColor GetSliderRailBorderColor
SliderRailColorAboveCursor QColor SetSliderRailColorAboveCursor GetSliderRailColorAboveCursor
SliderRailColorBelowCursor QColor SetSliderRailColorBelowCursor GetSliderRailColorBelowCursor
SliderRailThickness int SetSliderRailThickness GetSliderRailThickness
SliderStyle TXS::SliderStyle SetSliderStyle GetSliderStyle
SmallStep double SetSmallStep GetSmallStep
Use3DEffectForColorZones bool SetUse3DEffectForColorZones GetUse3DEffectForColorZones
Value double SetValue GetValue


TSlider::TSlider(QWidget *parent = nullptr)

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


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



void TSlider::Copy(TSlider* pTarget)

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


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



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

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

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


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



QString TSlider::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 : 8ca9f1b9-8766-4fb4-9c80-d204615e7a80



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



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

Description : Assigne les valeurs minimales et maximales entre lesquelles le slider 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 knob.

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

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



void TSlider::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 TSlider::SetValueToMax()

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



QString TSlider::SetValueToMin()

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



void TSlider::ValueChanged(double dValue)

Description : Ce signal est émis à chaque fois que la propriété "Value" est modifiée par la saisie.


Paramètre : dValue - type double - Valeur de la saisie, c'est à dire la valeur de la Propriété "Value"



ColorZonesStyle

Description : Cette propriété définie le style de la zone de couleur du slider.


Type : TXS::SliderColorZonesStyle

Valeur par défaut : TXS::SliderColorZonesStyle_Blocks

Ecriture : void SetColorZonesStyle(const TXS::SliderColorZonesStyle& Style);

Lecture : TXS::SliderColorZonesStyle GetColorZonesStyle();



ColorZonesThickness

Description : Cette propriété définie l'epaisseur de la zone de couleurs.


Type : int

Valeur par défaut : 20

Ecriture : void SetColorZonesThickness(const int& Thickness);

Lecture : int GetColorZonesThickness();



ColorZonesVisible

Description : Cette propriété définie si les zones de couleurs sont visibles ou non.


Type : bool

Valeur par défaut : true

Ecriture : void SetColorZonesVisible(const bool& Tf);

Lecture : bool AreColorZonesVisible();



DefaultColorZonesLedsColorBelowCursor

Description : Cette propriété définie la couleur des blocs ou leds lorsq'ils correspondent à une valeur non incluse dans une zone de couleur.


Type : QColor

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

Ecriture : void SetDefaultColorZonesLedsColorBelowCursor(const QColor& Color);

Lecture : QColor GetDefaultColorZonesLedsColorBelowCursor();



FlatCursorColor

Description : Cette propriété définie la couleur du curseur lorsque le style du slider définie par la propriété SliderStyle prend la valeur "TXS::SliderStyle_Flat".


Type : QColor

Valeur par défaut : QColor(156,156,156,255) : Gris

Ecriture : void SetFlatCursorColor(const QColor& Color);

Lecture : QColor GetFlatCursorColor();



FlatCursorIndexColor

Description : Cette propriété définie la couleur de l'index du curseur lorsque le style du slider définie par la propriété SliderStyle prend la valeur "TXS::SliderStyle_Flat".


Type : QColor

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

Ecriture : void SetFlatCursorIndexColor(const QColor& Color);

Lecture : QColor GetFlatCursorIndexColor();



LargeStep

Description : Cette propriété définie le pas maximal de mouvement du slider.


Pour une desciption détaillée, se reporter à la rubrique : Interface Opérateur.


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


Type : double

Valeur par défaut : 5

Ecriture : bool SetLargeStep(const double& dValue);

Lecture : double GetLargeStep();



Maximum

Description : Cette propriété retourne la borne maximale du slider définie par la fonction SetMinMax.


Type : double

Lecture : double GetMaximum();



Minimum

Description : Cette propriété retourne la borne minimale du slider définie par la fonction SetMinMax.


Type : double

Lecture : double GetMinimum();



NumberOfBlocks

Description : Cette propriété définie le nombre de blocs ou de leds dans la zone de couleur. Cette propriété est prise en compte uniquement si la propriété NumberOfBlocksPerTick est fixée à 0 car cette dernière lui est prioritaire.


Type : int

Valeur par défaut : 30

Ecriture : void SetNumberOfBlocks(const int& Blocks);

Lecture : int GetNumberOfBlocks();



NumberOfBlocksPerTick

Description : Cette propriété définie le nombre de blocs ou de leds par intervalle entre graduations principales dans la zone de couleur. Cette propriété est prise en compte uniquement si la propriété NumberOfBlocksPerTick est fixée à 0 car cette dernière lui est prioritaire.


Type : int

Valeur par défaut : 3

Ecriture : void SetNumberOfBlocksPerTick(const int& Blocks);

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()



Resolution

Description : Cette propriété définie la résolution de mouvement du slider.


Pour une desciption détaillée, se reporter à la rubrique : Interface Opérateur.


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


Type : double

Valeur par défaut : 2

Ecriture : bool SetResolution(const double& dValue);

Lecture : double GetResolution();



SliderBackgroundColor

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


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

Lecture : QColor GetSliderBackgroundColor();



SliderColorToCurrentColorZone

Description : Cette propriété définie si le curseur du slider doit prendre la couleur de la zone de couleur en cours.


Type : bool

Valeur par défaut : false

Ecriture : void SetSliderColorToCurrentColorZone(const bool& Tf);

Lecture : bool IsSliderColorSetToCurrentColorZone();



SliderRailBorderColor

Description : Cette propriété définie la couleur de bord du rail du slider.


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

Lecture : QColor GetSliderRailBorderColor();



SliderRailColorAboveCursor

Description : Cette propriété définie la couleur du rail du slider situé au dessus du curseur.


Type : QColor

Valeur par défaut : QColor(192,192,192,255) : Gris clair

Ecriture : void SetSliderRailColorAboveCursor(const QColor& Color);

Lecture : QColor GetSliderRailColorAboveCursor();



SliderRailColorBelowCursor

Description : Cette propriété définie la couleur du rail du slider situé en dessous du curseur.


Type : QColor

Valeur par défaut : QColor(128,128,128,255) : Gris moyen

Ecriture : void SetSliderRailColorBelowCursor(const QColor& Color);

Lecture : QColor GetSliderRailColorBelowCursor();



SliderRailThickness

Description : Cette propriété définie l'epaisseur du rail du slider.


Type : int

Valeur par défaut : 10.0

Ecriture : bool SetSliderRailThickness(const int& Thickness);

Lecture : int GetSliderRailThickness();



SliderStyle

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


Type : TXS::SliderStyle

Valeur par défaut : TXS::SliderColorZonesStyle_Blocks

Ecriture : void SetSliderStyle(const TXS::SliderStyle& Style);

Lecture : TXS::SliderStyle GetSliderStyle();



SmallStep

Description : Cette propriété définie le pas accentué de mouvement du slider.


Pour une desciption détaillée, se reporter à la rubrique : Interface Opérateur.


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


Type : double

Valeur par défaut : 2

Ecriture : bool SetSmallStep(const double& dValue);

Lecture : double GetSmallStep();



Use3DEffectForColorZones

Description : Cette propriété active ou désactive les zones de couleurs.


Type : bool

Valeur par défaut : true

Ecriture : void SetUse3DEffectForColorZones(const bool& Tf);

Lecture : bool GetUse3DEffectForColorZones();



Value

Description : Cette propriété est la propriété principale de cette classe. Elle représente la position du slider sur sa gamme. A chaque fois que cette valeur est modifié le signal ValueChanged est émis.


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


Type : double

Valeur par défaut : 0

Ecriture : bool SetValue(const double& dValue);

Lecture : double GetValue();