DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer une application ou un site / Champs, fenêtres et pages / Champs : Types disponibles / Champ TimeLine
  • Présentation
  • Manipuler le champ TimeLine par programmation
  • Ajouter une piste
  • Ajouter un événement
  • Remplir un champ TimeLine avec les données présentes dans un fichier de données HFSQL
  • Récupérer une liste d'événements
  • Supprimer un événement
  • Supprimer une piste
  • Modifier l'échelle temporelle du champ
  • Utilisation du menu contextuel (FAA)
  • Utilisation avancée des événements associés au champ TimeLine
  • Utilisation avancée des événements avec procédure
  • Propriétés spécifiques aux champs TimeLine
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Un champ TimeLine peut être :
Pour manipuler un champ TimeLine par programmation, WINDEV propose les fonctions TimeLine.
Cette page d'aide détaille comment manipuler un champ TimeLine par programmation. L'exemple utilisé en illustration permet de mémoriser les événements dans une base HFSQL.
Manipuler le champ TimeLine par programmation

Ajouter une piste

L'ajout d'une piste dans un champ TimeLine est réalisé grâce à la fonction TimelineAjoutePiste.
Exemple :
// Ajoute des pistes dans un champ TimeLine TL_TimeLine1
TimelineAjoutePiste(TL_TimeLine1, "Sub Bass")
TimelineAjoutePiste(TL_TimeLine1, "Scratchy Drums")
TimelineAjoutePiste(TL_TimeLine1, "Guitar 1")

Ajouter un événement

L'ajout d'un événement dans un champ TimeLine est réalisé grâce à la fonction TimelineAjouteEvénement. Cette fonction accepte deux syntaxes :
  • syntaxe permettant de préciser les caractéristiques de l'événement : titre, description, ...
    // Ajoute un événement de 5 secondes dans un champ TimeLine configuré à la seconde
    MaPiste est une chaîne
    MonTitre est une chaîne
    DébutEvt est un entier
    FinEvt est un entier
     
    MaPiste = "Cordes"
    MonTitre = "Début"
    DébutEvt = 4
    FinEvt = 9
     
    TimelineAjouteEvénement(TL_Musique, MaPiste, MonTitre, DébutEvt, FinEvt)
  • syntaxe manipulant une variable de type EvénementTimeline.
    TimelineSupprimeTout(TL_Automates)
    Evt est un EvénementTimeline
     
    TimelineAjoutePiste(TL_Automates, "Automate 1")
    Evt.Piste = "Automate 1"
    Evt.Titre = "Démarrage"
    Evt.Début = 10
    Evt.Fin = 150
    Evt.CouleurFond = VertClair
    TimelineAjouteEvénement(TL_Automates, Evt)
     
    Evt.Piste = "Automate 1"
    Evt.Titre = "Traitement spécial"
    Evt.Début = 150
    Evt.Fin = 450
    Evt.CouleurFond = BleuPastel
    TimelineAjouteEvénement(TL_Automates, Evt)
La propriété CouleurFond de la variable EvénementTimeline permet de définir une couleur d'affichage pour un événement. Si aucune couleur de fond n'est définie, le champ TimeLine utilisera automatiquement la couleur associée à la catégorie de l'événement.

Remplir un champ TimeLine avec les données présentes dans un fichier de données HFSQL

Les enregistrements sont stockés dans un fichier de données HFSQL. Le remplissage initial du champ TimeLine peut être réalisé par un parcours du fichier de données via la syntaxe POUR TOUT et par l'ajout de chaque événement via la fonction TimelineAjouteEvénement.
TimelineSupprimeTout(TL_Automates)
// Déclaration des événements
Evt est un EvénementTimeline
 
// Parcours du fichier de données Automate
POUR TOUT Automate
TimelineAjoutePiste(TL_Automates, Automate.NomAutomate)
// Parcours du fichier de données Evt_Automate
POUR TOUT Evt_Automate AVEC IDAutomate = Automate.IDAutomate
Evt.Bulle = Evt_Automate.EvtBulle
Evt.Titre = Evt_Automate.EvtTitre
Evt.Début = Evt_Automate.EvtDébut
Evt.Fin = Evt_Automate.EvtFin
Evt.Contenu = Evt_Automate.EvtContenu
Evt.Piste = Automate.NomAutomate
Evt.CouleurFond = Evt_Automate.EvtCouleur
TimelineAjouteEvénement(TL_Automates, Evt)
FIN
FIN
Rappel : Il est également possible d'utiliser un champ TimeLine lié à un fichier de données. Pour plus de détails, consultez Champ TimeLine lié à un fichier de données.

Récupérer une liste d'événements

La fonction TimelineListeEvénement permet de récupérer :
  • la liste de tous les événements du champ TimeLine :
    // Tableau contenant une liste des événements
    tabListeEvt est un tableau de EvénementTimeline
     
    // Liste des événements
    tabListeEvt = TimelineListeEvénement(TL_TimeLine)
  • la liste des événements d'une piste compris entre deux moments :
    // Liste des événements de l'automate 1 compris entre 50s et 100s
    tabListeEvt est un tableau de EvénementTimeline
    tabListeEvt = TimelineListeEvénement(TL_Automates, "Automate 1", 50, 100)
  • l'événement actuellement sélectionné ou survolé :
    // Evénement sélectionné
    tabListeEvt est un tableau de EvénementTimeline
    tabListeEvt = TimelineListeEvénement(TL_Automates, plnRdvSélectionné)

Supprimer un événement

La fonction TimelineSupprimeEvénement permet de supprimer :
  • l'événement sélectionné dans le champ.
  • un événement précis.
// Supprime le premier événement
TimelineSupprimeEvénement(TL_MonTimeLine, 1)

Supprimer une piste

La fonction TimelineSupprimePiste permet de supprimer une piste du champ TimeLine.
// Supprime la piste SON
ResSup est un booléen
ResSup = TimelineSupprimePiste(TL_MonTimeLine, "Son")
SI ResSup = Vrai ALORS
Info("Piste supprimée")
FIN
La fonction TimeLineSupprimeTout permet de supprimer tous les événements présents dans le champ TimeLine ainsi que toutes ses pistes.

Modifier l'échelle temporelle du champ

L'affichage courant d'un champ TimeLine peut être modifié via la fonction TimelineChangeMode. Cette fonction permet de modifier le mode d'affichage du champ : seconde, milliseconde ou microseconde.
Utilisation du menu contextuel (FAA)
Le champ TimeLine est associé par défaut à un menu contextuel (FAA). Via le menu contextuel du champ TimeLine, il est possible de :
  • réaliser un zoom sur le champ,
  • ajouter, modifier ou supprimer un événement.
Pour sauvegarder les opérations réalisées, il est nécessaire d'utiliser les événements WLangage associés au champ TimeLine.
Dans l'événement WLangage concerné, il suffit de récupérer l'événement en cours d'utilisation et de faire le traitement correspondant.
Exemple : Pour mémoriser dans un fichier de données "EVT" un événement que l'utilisateur ajoute via le menu contextuel, il suffit de saisir dans l'événement "Entrée en saisie d'un événement" le code suivant :
PROCÉDURE EntréeEnSaisie(evtEdité est un EvénementTimeline)

// Mémorisation des données
EVT.Titre = evtEdité.Titre
EVT.DébutEvt = evtEdité.Début
EVT.FinEvt = evtEdité.Fin
...
HAjoute(EVT)
Le même type de code peut être mis en place pour les différents événements associés au champ TimeLine. En effet, pour chaque événement WLangage associé au champ qui manipule un événement, une procédure a été déclarée automatiquement par le champ TimeLine.
Ces procédures reçoivent en paramètre une variable de type EvénementTimeline concernée par le traitement.
Utilisation avancée des événements associés au champ TimeLine

Utilisation avancée des événements avec procédure

Il est possible de proposer à l'utilisateur de définir plus précisément les caractéristiques de son événement lors d'un ajout ou d'une modification. Il suffit pour cela de créer une fenêtre avec les informations à remplir.
Dans le code, il suffit d'ouvrir la fenêtre par exemple dans l'événement "Entrée en saisie d'un événement". Pour bloquer la saisie directe, le traitement doit alors renvoyer Faux.
Ce principe peut être appliqué à tous les événements WLangage appelés par le menu contextuel du champ TimeLine.
Exemple : Ouverture d'une fenêtre de saisie de l'événement.
PROCÉDURE EntréeEnSaisie(evtEdité est un EvénementTimeline)

// Ouvre la fenêtre de saisie d'un Ã©vénement
// avec l'événement sélectionné (en mode Création ou Modification)
Ouvre(FEN_SaisieEvt_HFSQL, evtEdité)

// Renvoie FAUX pour bloquer la saisie directe dans le champ TimeLine
RENVOYER Faux
Propriétés spécifiques aux champs TimeLine
Les propriétés suivantes sont spécifiques à la gestion d'un champ TimeLine par programmation.
DébutEtendueTotaleLa propriété DébutEtendueTotale permet de :
  • connaître la première date ou heure affichable dans un champ Planning ou dans un champ TimeLine.
  • modifier la première heure affichable dans un champ TimeLine.
DébutEtendueVisibleLa propriété DébutEtendueVisible permet de :
  • connaître la première date ou heure visible dans un champ Planning ou dans un champ TimeLine.
  • modifier la première heure visible dans un champ TimeLine.
FinEtendueTotaleLa propriété FinEtendueTotale permet de :
  • connaître la dernière date ou heure affichable dans un champ Planning ou dans un champ TimeLine.
  • modifier la dernière heure affichable dans un champ TimeLine.
FinEtendueVisibleLa propriété FinEtendueVisible permet de :
  • connaître la dernière date ou heure visible dans un champ Planning ou dans un champ TimeLine.
  • modifier la dernière heure visible dans un champ TimeLine.
GranularitéDéplacementLa propriété GranularitéDéplacement permet de connaître et de modifier la taille de la grille pour le déplacement :
  • des rendez-vous d'un champ Agenda.
  • des rendez-vous d'un champ Planning.
  • des événements d'un champ TimeLine.
  • des tâches d'une colonne de type Diagramme de Gantt.
GranularitéDuréeLa propriété GranularitéDurée permet de connaître et de modifier la taille de la grille utilisée pour le redimensionnement :
  • des rendez-vous d'un champ Agenda.
  • des rendez-vous d'un champ Planning.
  • des événements d'un champ TimeLine.
  • des tâches d'une colonne de type Diagramme de Gantt.
RégletteModifiableLa propriété RégletteModifiable permet de :
  • Savoir si la réglette d'un champ TimeLine peut être déplacée par l'utilisateur.
  • Rendre déplaçable ou non la réglette d'un champ TimeLine par l'utilisateur.
RégletteValeurLa propriété RégletteValeur permet de connaître ou modifier la position de la réglette dans un champ TimeLine.
RégletteVisibleLa propriété RégletteVisible permet de :
  • Savoir une réglette est visible dans un champ TimeLine.
  • Rendre une réglette visible ou invisible dans un champ TimeLine.
Pour connaître la liste complète des propriétés du WLangage pouvant être utilisées avec un champ de type TimeLine, consultez Propriétés associées au champ TimeLine.
Version minimum requise
  • Version 18
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 16/06/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale