PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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'affichage du champ
  • Utilisation du menu contextuel (FAA)
  • Utilisation avancée des traitements associés au champ TimeLine
  • Utilisation avancée des traitements 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
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
TimelineAjoutePiste(TL_TimeLine1, "Sub Bass")
TimelineAjoutePiste(TL_TimeLine1, "Scratchy Drums")
TimelineAjoutePiste(TL_TimeLine1, "Guitar 1")
Remarque : La fonction TimelineAjoutePiste permet d'insérer une image de fond dans la piste.

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'affichage 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 traitements du champ TimeLine.
Dans le traitement 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 le traitement "Entrée en saisie d'un événement" :
PROCEDURE 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 traitements du champ TimeLine. En effet, pour chaque traitement du 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 traitements associés au champ TimeLine

Utilisation avancée des traitements 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 le traitement "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 traitements 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.
Versions 18 et supérieures
DébutEtendueTotale
Nouveauté 18
DébutEtendueTotale
DébutEtendueTotale
La 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.
Versions 18 et supérieures
DébutEtendueVisible
DébutEtendueVisible
La 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.
Versions 18 et supérieures
FinEtendueTotale
Nouveauté 18
FinEtendueTotale
FinEtendueTotale
La 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.
Versions 18 et supérieures
FinEtendueVisible
Nouveauté 18
FinEtendueVisible
FinEtendueVisible
La 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.
Versions 16 et supérieures
GranularitéDéplacement
GranularitéDéplacement
La 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.
Versions 16 et supérieures
GranularitéDurée
Nouveauté 16
GranularitéDurée
GranularitéDurée
La 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.
Versions 18 et supérieures
RégletteModifiable
Nouveauté 18
RégletteModifiable
RégletteModifiable
La 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.
Versions 18 et supérieures
RégletteValeur
Nouveauté 18
RégletteValeur
RégletteValeur
La propriété ..RégletteValeur permet de connaître ou modifier la position de la réglette dans un champ TimeLine.
Versions 18 et supérieures
RégletteVisible
Nouveauté 18
RégletteVisible
RégletteVisible
La 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