AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Controles: tipos disponibles / Control Línea de tiempo
  • Presentación
  • Manipular controles Línea de tiempo mediante programación
  • Agregar una pista
  • Agregar un evento
  • Rellenar un control Línea de tiempo con los datos de un archivo de datos HFSQL
  • Obtener una lista de eventos
  • Eliminar un evento
  • Eliminar una pista
  • Cambiar la escala de tiempo del control
  • Uso del menú contextual (FAA)
  • Uso avanzado de eventos asociados al control Línea de tiempo
  • Uso avanzado de eventos con procedimientos
  • Propiedades específicas de los controles Línea de tiempo
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
Otros
Procedimientos almacenados
Presentación
Un control Línea de tiempo se puede:
En WINDEV, puede utilizar Funciones Línea de tiempo para manipular un control Línea de tiempo mediante programación.
Esta página de ayuda explica cómo manipular controles Línea de tiempo mediante programación. El siguiente ejemplo almacena los eventos en una base de datos HFSQL.
Manipular controles Línea de tiempo mediante programación

Agregar una pista

Para agregar una pista a un control Línea de tiempo, llame a la función TimelineAddTrack.
Ejemplo:
// Adds tracks in TL_TimeLine1
TimelineAddTrack(TL_Timeline1, "Sub Bass")
TimelineAddTrack(TL_Timeline1, "Scratchy Drums")
TimelineAddTrack(TL_Timeline1, "Guitar1")

Agregar un evento

Para agregar un evento a un control Línea de tiempo, utilice la función TimelineAddEvent. Esta función acepta dos sintaxis:
  • sintaxis utilizada para especificar las características del evento: título, descripción, etc, ...
    // Adds a 5-second event into a TimeLine control configured to the second
    MyTrack is string
    MyTitle is string
    EvtStart is int
    EvtEnd is int
     
    MyTrack = "Strings"
    MyTitle = "Start"
    EvtStart = 4
    EvtEnd = 9
     
    TimelineAddEvent(TL_Music, MyTrack, MyTitle, EvtStart, EvtEnd)
  • sintaxis que manipula una variable de tipo EventTimeline.
    TimelineDeleteAll(TL_Robots)
    Evt is EventTimeline
    TimelineAddTrack(TL_Robots, "Robot 1")
    Evt.Track = "Robot 1"
    Evt.Title = "Start"
    Evt.Start = 10
    Evt.End = 150
    Evt.BackgroundColor = LightGreen
    TimelineAddEvent(TL_Robots, Evt)
    Evt.Track = "Robot 1"
    Evt.Title = "Special process"
    Evt.Start = 150
    Evt.End = 450
    Evt.BackgroundColor = PastelBlue
    TimelineAddEvent(TL_Robots, Evt)
La propiedad BackgroundColor de la variable EventTimeline define el color utilizado para mostrar un evento. Si no se define ningún color de fondo, el control Línea de tiempo utiliza automáticamente el color asociado a la categoría del evento.

Rellenar un control Línea de tiempo con los datos de un archivo de datos HFSQL

Los registros se almacenan en un archivo de datos HFSQL. Para rellenar el control Línea de tiempo por primera vez, puede utilizar un bucle FOR EACH o agregar cada evento con la función TimelineAddEvent.
TimelineDeleteAll(TL_Robots)
// Declare the events
Evt is EventTimeline
 
// Browse the Robot data file
FOR EACH Robot
TimelineAddTrack(TL_Robots, Robot.RobotName)
// Browse the Evt_Robot data file
FOR EACH Evt_Robot WITH RobotID = Robot.RobotID
Evt.ToolTip = Evt_Robot.EvtTooltip
Evt.Title = Evt_Robot.EvtTitle
Evt.Start = Evt_Robot.EvtStart
Evt.End = Evt_Robot.EvtEnd
Evt.Content = Evt_Robot.EvtContent
Evt.Track = Robot.RobotName
Evt.BackgroundColor = Evt_Robot.EvtColor
TimelineAddEvent(TL_Robots, Evt)
END
END
Recordatorio: También puede utilizar un control Línea de tiempo vinculado a un archivo de datos. Para obtener más información, consulte Control Línea de tiempo vinculado a un archivo de datos.

Obtener una lista de eventos

La función TimelineListEvent permite obtener:
  • la lista de todos los eventos del control Línea de tiempo:
    // Array containing a list of events 
    arrEvtList is array of EventTimeline
    // List of events
    arrEvtList = TimelineListEvent(TL_Timeline)
  • la lista de eventos de una pista entre dos tiempos específicos:
    // List of events for robot 1 found between 50s and 100s
    arrEvtList is array of EventTimeline
    arrEvtList = TimelineListEvent(TL_Robots, "Robot 1", 50, 100)
  • el evento seleccionado o sobre el que se pasa el cursor:
    // Selected event
    arrEvtList is array of EventTimeline
    arrEvtList = TimelineListEvent(TL_Robots, schAptSelected)

Eliminar un evento

TimelineDeleteEvent permite eliminar:
  • el evento seleccionado en el control.
  • un evento específico.
// Deletes the first event
TimelineDeleteEvent(TL_MyTimeLine, 1)

Eliminar una pista

La función TimelineDeleteTrack elimina una pista del control Línea de tiempo.
// Deletes the SOUND track
ResDel is boolean
ResDel = TimelineDeleteTrack(TL_MyTimeLine, "Sound")
IF ResDel = True THEN
Info("Track successfully deleted")
END
La función TimelineDeleteAll elimina todos los eventos del control Línea de tiempo y sus pistas.

Cambiar la escala de tiempo del control

Puede cambiar la escala de tiempo de un control Línea de tiempo con la función TimelineChangeMode. Esta función cambia el modo de visualización del control: segundo, milisegundo o microsegundo.
Uso del menú contextual (FAA)
El control Línea de tiempo está asociado a un menú contextual (FAA). Este menú contextual permite:
  • aumentar o disminuir el zoom en el control,
  • agregar, modificar o eliminar un evento.
Para guardar las operaciones realizadas, debe utilizar los eventos WLanguage asociados al control Línea de tiempo.
En el evento WLanguage correspondiente, recupere el evento utilizado y realice el proceso correspondiente.
Ejemplo: Para almacenar en un archivo de datos "EVT" un evento que el usuario agrega mediante el menú contextual, introduzca el siguiente código en el evento "Entrada en modo de edición en un evento":
PROCEDURE EnterInInput(evtEdited is EventTimeline)
// Store the data
EVT.Title = evtEdited.Title
EVT.EvtStart = evtEdited.Start
EVT.EvtEnd = evtEdited.End
...
HAdd(EVT)
El mismo tipo de código puede implementarse para los diferentes eventos asociados al control Línea de tiempo. Por cada evento WLanguage asociado al control que manipula un evento, el control Línea de tiempo declara automáticamente un procedimiento .
Estos procedimientos reciben como parámetro una variable de tipo EventTimeline.
Uso avanzado de eventos asociados al control Línea de tiempo

Uso avanzado de eventos con procedimientos

También puede permitir que los usuarios definan con mayor precisión las características de los eventos al agregarlos o modificarlos. Para ello, cree una ventana con la información a especificar.
En el código, especifique que la ventana debe abrirse en el evento "Entrada en modo de edición en un evento". Para bloquear la entrada directa, el proceso debe devolver False.
Este principio puede aplicarse a todos los eventos WLanguage llamados mediante el menú contextual del control Línea de tiempo.
Ejemplo: Abrir una ventana para introducir en el evento.
PROCEDURE EnterInInput(evtEdited is EventTimeline)
// Opens the window for entering an event
// with the selected event (in Creation or Modification mode)
Open(WIN_InputEvt_HFSQL, evtEdited)
// Returns False to lock the direct input in the TimeLine control
RETURN False
Propiedades específicas de los controles Línea de tiempo
Las siguientes propiedades permiten manipular controles Línea de tiempo.
EndTotalRangeLa propiedad EndTotalRange se utiliza para:
  • obtiene la última fecha u hora que se puede mostrar en un control Planificador o Línea de tiempo.
  • cambiar la última hora que se puede mostrar en un control Línea de tiempo.
EndVisibleRangeLa propiedad EndVisibleRange se utiliza para:
  • averigua y modifica la última fecha u hora visible en un control Planificador o en un control Línea de tiempo..
  • modificar la última hora visible en un control Línea de tiempo.
GranularityDurationThe GranularityDuration property gets and sets the size of the grid to resize:
  • appointments in an Organizer control.
  • appointments in a Scheduler control.
  • events in a TimeLine control.
  • tasks in a Gantt Chart column.
GranularityMovementThe GranularityMovement property gets and sets the size of the grid to move:
  • appointments in an Organizer control.
  • appointments in a Scheduler control.
  • events in a TimeLine control.
  • tasks in a Gantt Chart column.
RulerModifiableThe RulerModifiable property is used to:
  • Find out whether the user can move the playhead in a TimeLine control.
  • Allow or prevent the user from moving the playhead in a TimeLine control.
RulerValueThe RulerValue property is used to get or change the position of the playhead in a TimeLine control.
RulerVisibleThe RulerVisible property is used to:
  • Determine if a playhead is visible in a TimeLine control.
  • Show or hide a playhead in a TimeLine control.
StartTotalRangeLa propiedad StartTotalRange permite:
  • obtener la primera fecha u hora que se mostrará en un control Planificador o Línea de tiempo.
  • cambiar la primera hora que se muestra en un control Línea de tiempo.
StartVisibleRangeLa propiedad StartVisibleRange permite:
  • obtener y cambiar la primera fecha u hora visible en un control Planificador o Línea de tiempo.
  • cambiar la primera hora visible en un control Línea de tiempo.

Para obtener la lista completa de las propiedades WLanguage que pueden utilizarse con los controles Línea de tiempo, consulte Propiedades asociadas a los controles Línea de tiempo.
Versión mínima requerida
  • Versión 18
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 15/09/2024

Señalar un error o enviar una sugerencia | Ayuda local