|
|
|
|
|
- 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
Manipuler un champ TimeLine par programmation
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 :
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, ...
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)
Evt est un EvénementTimeline
POUR TOUT Automate
TimelineAjoutePiste(TL_Automates, Automate.NomAutomate)
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 :
tabListeEvt est un tableau de EvénementTimeline
tabListeEvt = TimelineListeEvénement(TL_TimeLine)
- la liste des événements d'une piste compris entre deux moments :
tabListeEvt est un tableau de EvénementTimeline
tabListeEvt = TimelineListeEvénement(TL_Automates, "Automate 1", 50, 100)
- l'événement actuellement sélectionné ou survolé :
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.
TimelineSupprimeEvénement(TL_MonTimeLine, 1)
Supprimer une piste La fonction TimelineSupprimePiste permet de supprimer une piste du champ TimeLine.
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)
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(FEN_SaisieEvt_HFSQL, evtEdité)
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é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.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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.
| RégletteValeur | La propriété RégletteValeur permet de connaître ou modifier la position de la réglette dans un champ TimeLine. | 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|