VDateTimeEditBrowser

Hereda de: VAbstractBrowser.

Esta clase representa al control de edición de fecha/hora con doble botón arriba/abajo y botón de menú.

Esta clase implementa la misma funcionalidad que la clase VDateTmeEdit más las propiedades y funciones heredadas de la clase VAbstractBrowser.

Indice de propiedades

Boolean accelerated

const Boolean acceptableInput

Number alignment

Number buttonSymbols

Boolean calendarPopup

Number correctionMode

Number currentSection

Number currentSectionIndex

Date date

DateTime dateTime

const Number displayedSections

String displayFormat

Boolean frame

Boolean keyboardTracking

Date maximumDate

DateTime maximumDateTime

Time maximumTime

Date minimumDate

DateTime minimumDateTime

Time minimumTime

Boolean readOnly

const Number sectionCount

String specialValueText

const String text

Time time

Number timeSpec

Boolean wrapping

Indice de funciones

Generales

void clear()

void selectAll()

void stepDown()

void stepUp()

De set

void setCalendarStyle(String colorFondo, String colorTexto, String DíasSemana, String CadenaDiaMeses, Array fechas)

void setDate( Date date )

void setDateTime( DateTime datetime )

void setTime( Time time )

Señales

Value changed

Enumeraciones

Button symbols

  • UpDownArrows

  • PlusMinus

  • NoButtons

Correction mode

  • CorrectToPreviousValue

  • CorrectToNearestValue

Flags de alineamiento

  • AlignLeft = 0×0001

  • AlignRight = 0×0002

  • AlignHCenter = 0×0004

  • AlignJustify = 0×0008

  • AlignAbsolute = 0×0010

  • AlignTop = 0×0020

  • AlignBottom = 0×0040

  • AlignVCenter = 0×0080

  • AlignCenter = AlignVCenter | AlignHCenter

Flags de sección

  • NoSection = 0x0000

  • AmPmSection = 0x0001

  • MSecSection = 0x0002

  • SecondSection = 0x0004

  • MinuteSection = 0x0008

  • HourSection = 0x0010

  • DaySection = 0x0100

  • MonthSection = 0x0200

  • YearSection = 0x0400

TimeSpec

  • LocalTime = 0

  • UTC = 1

  • OffsetFromUTC = 2

Documentación de propiedades

accelerated

Permite leer o configurar si está activada la aceleración en caso de mantener pulsados los botones arriba/abajo del microscroller.

acceptableInput

Devuelve true si la entrada cumple la validación actual del control.

alignment

Permite leer o configurar la alineación del contenido. Ver enum de Flags de alineamiento. Los valores con combinables mediante el uso del operador bitwise or booleano "|".

buttonSymbols

Permite leer o configurar los símbolos a utilizar en los botones arriba/abajo del microscroller, por ejemplo (+/- ó flecha arriba/flecha abajo).

calendarPopup

Permite leer o configurar el modo en el que se mostrará el calendario pop-up. El calendario pop-up aparecerá al hacer clic en el botón de flecha. Esta propiedad sólo es válida si hay un formato de visualización de fecha válida.

correctionMode

Permite leer o configurar si se aplicará corrección si existe un valor intermedio editado en el control.

currentSection

Permite leer o configurar la sección actual del microscroller setCurrentSection(). Ver enum de flags de sección. Los valores con combinables mediante el uso del operador bitwise or booleano "|".

currentSectionIndex

Permite leer o configurar el índice de la sección actual del microscroller. Si el formato es "aaaa/MM/dd ', el displayText es '2001/05/21' y la posición del cursor es de 5 currentSectionIndex devuelve 1. Si la posición del cursor es 3 currentSectionIndex es 0, etc.

date

Permite leer o configurar la fecha del widget. De forma predeterminada, esta propiedad contiene una fecha que se refiere al 1 de enero de 2000.

dateTime

Permite leer o configurar la fecha y hora editada en el widget. Al establecer esta propiedad la timespec del QDateTimeEdit sigue siendo el mismo y la timespec del QDateTime nuevo se ignora. De forma predeterminada, esta propiedad contiene una fecha que se refiere al 1 de enero de 2000 y un tiempo de 00:00:00 y 0 milisegundos.

displayedSections

Permite leer los campos mostrados actualmente de la edición Fecha y Hora. Devuelve un conjunto de bits de las secciones que se muestran. Ver enum de flags de sección. Los valores con combinables mediante el uso del operador bitwise or booleano "|".

displayFormat

Permite leer o configurar el formato utilizado para mostrar la fecha y la hora. Este formato es el mismo que el utilizado se describe en DateTime.toString() y DateTime.FromString()

Ejemplo de formato de cadenas (asumiendo que la fecha es 02 de julio 1969):

Formato de resultados

dd.mm.aaaa - 02.07.1969

MMM d aa - 02 de julio 69

MMMM d yy - 02 de julio 69

Tenga en cuenta que si especifica un año de dos dígitos, se interpreta que en el siglo en el que la edición de fecha y hora se ha inicializado. El valor predeterminado es el siglo 21 (2000-2099). Si se especifica un formato no válido el formato no se establecerá.

frame

Permite leer o configurar si el control será pintado con o sin frame.

keyboardTracking

Permite leer o configurar si el seguimiento de teclado está habilitado para el control. Si el seguimiento de teclado está activado (por defecto), el cuadro de número valueChanged emite la señal (), mientras que el nuevo valor se introduce desde el teclado. Por ejemplo cuando el usuario introduce el valor 600, escribiendo 6, 0, y 0, el cuadro de número 3 emite señales con los valores de 6, 60, y 600, respectivamente. Si el seguimiento de teclado está desactivado, el cuadro de número no emite la señal valueChanged () mientras se escribe. Emite la señal después, cuando la tecla es presionada, cuando el foco del teclado se pierde, o cuando la funcionalidad spinbox otro se utiliza por ejemplo, presionando una tecla de flecha.

maximumDate

Permite leer o configurar la fecha máxima editable. Al establecer esta propiedad la minimumDate se ajusta si es necesario para asegurar que el rango sigue siendo válido. Si la fecha no es válida esta función no hace nada. De forma predeterminada, esta propiedad contiene una fecha que hace referencia al 31 de diciembre de 7999.

maximumDateTime

Permite leer o configurar fecha y hora máximas editables. Al establecer esta propiedad la minimumDateTime() se ajusta si es necesario para asegurar que el rango sigue siendo válido. Si la fecha y hora no son válidos esta función no hace nada. El maximumDateTime por defecto puede restaurarse con clearMaximumDateTime(). De forma predeterminada, esta propiedad contiene una fecha que hace referencia a 31 de diciembre de 7999 y un tiempo de 23:59:59 y 999 milisegundos.

maximumTime

Permite leer o configurar la hora máxima editable. Al establecer esta propiedad, el minimumTime se ajusta si es necesario para asegurar que el rango sigue siendo válido. Si la hora no es válida, esta función no hace nada. De forma predeterminada, esta propiedad posee un tiempo de 23:59:59 y 999 milisegundos.

minimumDate

Permite leer o configurar la fecha mínima editable. Al establecer esta propiedad la maximumDate se ajusta si es necesario, para asegurar que el rango sigue siendo válido. Si la fecha no es válida esta función no hace nada. De forma predeterminada, esta propiedad contiene una fecha que se refiere al 14 de septiembre de 1752. La fecha mínima debe ser de al menos el primer día en el año 100.

minimumDateTime

Permite leer o configurar la fecha y hora mínima editable. Al establecer esta propiedad la maximumDateTime() se ajusta si es necesario para asegurar que el rango sigue siendo válido. Si la fecha y hora no son válidos esta función no hace nada. El minimumDateTime por defecto puede restaurarse con clearMinimumDateTime(). De forma predeterminada, esta propiedad contiene una fecha que se refiere al 14 de septiembre 1752 y un tiempo de 00:00:00 y 0 milisegundos.

minimumTime

Permite leer o configurar la hora mínima editable. Al establecer esta propiedad la maximumTime se ajusta si es necesario, para asegurar que el rango sigue siendo válido. Si la hora no es válida, esta función no hace nada. De forma predeterminada, esta propiedad posee un tiempo de 00:00:00 y 0 milisegundos.

readOnly

Permite leer o configurar si el control es de sólo lectura.

sectionCount

Devuelve el número de secciones que se muestran. Si el formato es "aaaa/aa/aaaa ', sectionCount devuelve 3.

specialValueText

Permite leer o configurar si contiene el texto especial valor. Si se establece, el cuadro de selección mostrará este texto en lugar de un valor numérico siempre que el valor actual es igual al mínimo (). El uso típico es para indicar que esta elección tiene una especial (por defecto) que significa.

Por ejemplo, si su cuadro de selección permite al usuario elegir un factor de escala (o nivel de zoom) para la visualización de una imagen, y su aplicación es capaz de seleccionar automáticamente uno que permitirá a la imagen para que quepa completamente dentro de la ventana de visualización, puede configurar hasta la vuelta cuadro como este:

QSpinBox * zoomSpinBox = new QSpinBox;

zoomSpinBox >> SetRange (0, 1000);

zoomSpinBox >> setSingleStep (10);

zoomSpinBox >> setSuffix ("%");

zoomSpinBox >> setSpecialValueText (tr ("Automático"));

zoomSpinBox >> setValue (100);

Después, el usuario podrá elegir una escala de 1% a 1000% o seleccione "Auto" para dejar a la solicitud de elegir. Su código se debe interpretar el valor de cuadro de número 0 como una petición por parte del usuario para escalar la imagen para que quepa en la ventana. Todos los valores se muestran con el prefijo y sufijo (si se define), excepto para el valor especial, que sólo muestra el texto de un valor especial. Este texto especial se pasa en la señal QSpinBox :: valueChanged () que pasa a un QString. Para desactivar la visualización de texto especial valor y llamar a esta función con una cadena vacía. El valor predeterminado es ningún texto especial valor, es decir, el valor numérico se muestra la forma habitual. Si no hay texto especial valor está establecido, specialValueText () devuelve una cadena vacía.

text

Devuelve el texto del control, incluyendo el prefijo y el sufijo.

time

Permite leer o configurar la hora del widget. De forma predeterminada, esta propiedad posee un tiempo de 00:00:00 y 0 milisegundos.

timeSpec

Devuelva la especificación de tiempo empleada. Ver enum TimeSpec.

wrapping

Permite leer o configurar si el valor del control se comportará de modo circular. Esto sólo tiene sentido si se han especificado el valor mínimo y máximo para que el aumento de valor por encima del máximo lleve al valor mínimo y el decremento de valor por debajo del mínimo lleve al máximo.

Documentación de funciones

Funciones generales

void clear()

Limpia el contenido del control.

void selectAll()

Selecciona todo el contenido del control.

void stepDown()

Equivale a pulsar el botón flecha abajo, lo que supone cambiar el valor del control por el del día siguiente.

void stepUp()

Equivale a pulsar el botón flecha arriba, lo que supone cambiar el valor del control por el del día anterior.

Funciones de set

void setCalendarStyle(String colorFondo, String colorTexto, String DíasSemana, String CadenaDiaMeses, Array fechas)

Permite configurar la interfaz de los días del calendario de un control de edición fecha/hora con botón menú y calendario. Equivale al comando de instrucción de proceso Interfaz: Establecer estilo de los días de calendarios.

Parámetros:

  • colorFondo: cadena con el color de fondo a aplicar al calendario. Podemos especificar, o bien su valor hexadecimal (ejemplo: "#FFFFFF"), o bien su nombre (ejemplo: "white"). Este parámetro es opcional. Si no se especifica, no se aplicará ningún color de fondo al día o días que se configuren en el resto de los parámetros de la función.

  • String colorTexto: cadena con el color de texto a aplicar al calendario. Podemos especificar, o bien su valor hexadecimal (ejemplo: "#FFFFFF"), o bien su nombre (ejemplo: "white"). Este parámetro es opcional. Si no se especifica, no se aplicará ningún color de texto al día o días que se configuren en el resto de los parámetros de la función.

  • String DíasSemana: cadena con los números de día de 1 a 7 o letras para los días a los que se aplicará el estilo separados por comas:

    • De 1 a 7, día de la semana de lunes a domingo.

    • "H" o "T" para aplicar estilo al día de hoy (admitir mayúsculas y minúsculas). Ejemplo: "1,2,3,4,5".

    • "S" para aplicar estilo al día seleccionado en el calendario (admitir mayúsculas y minúsculas).

    • Este parámetro es opcional, si no se especifica, no se aplicará a ningún día.

  • String CadenaDiaMeses: cadena con los días y meses del año a los que se aplicará el estilo en todos los años, separados por comas y con el formato (d/M), ejemplo: "1/1,02/02,10/10". Este parámetro es opcional, si no se especifica nada, no se aplicará a ningún día/mes en concreto.

  • Array fechas: En este parámetro podremos especificar, o bien un dato de tipo fecha o bien un array con las fechas a las que aplicar el estilo. Este parámetro es opcional, si no lo aplicamos, no se aplicarán los colores configurados a ninguna fecha concreta.

Es funcional solamente en el nuevo motor Javascript, así que, para poder usarla, se debería activar la clave beta jsEngine en cada estación cliente.

void setDate( Date date )

Asigna la fecha al control.

Parámetros:

  • date: dato de tipo fecha a asignar.

void setDateTime( DateTime datetime )

Asigna el tiempo, fecha y hora al control.

Parámetros:

  • datetime: dato de tipo tiempo, fecha y hora a asignar.

void setTime( Time time )

Asigna la hora al control.

Parámetros:

  • time: dato de tipo hora a asignar.

Ejemplo

1. Limitar un control de tipo tiempo a que solo se pueda introducir un tiempo de la fecha actual y entre las 8 y las 18 horas

//Obtenemos el formulario
var formuulario = theRoot.dataView();

//Obtenemos el edit de tiempo
var control = formuulario.control("TMP");

//Obtenemos el tiempo actual
hoy = new Date();

//Obtenemos el año del tiempo actual
anyoActual = hoy.getFullYear();

//Obtenemos el mes del tiempo actual
mesActual = hoy.getMonth(); 

//Obtenemos el día del tiempo actual
diaActual = hoy.getDay();

//Establecemos el tiempo mínimo y máximo

tmpMin= new Date(anyoActual,mesActual,diaActual,8,0,0,0);
tmpMax = new Date(anyoActual,mesActual,diaActual,18,0,0,0);


//Establecemos los tiempos mínimo y máximo al control

control.minimumDateTime = tmpMin;
control.maximumDateTime = tmpMax;

2. Personalizar los colores de texto de un calendario de un control de edición de fecha/hora con botón menú y calendario

En un manejador de evento de un formulario vamos a personalizar los siguientes colores de días del calendario de un control de edición de fecha/hora con botón menú y calendario. Personalizaremos los colores de los siguientes días:

Días laborables (de lunes a viernes).

Fines de semana y festivos (sábados, domingos y festivos del año).

Para destacar los días 1 de cada mes.

Para destacar el día actual.

Para destacar el día seleccionado en el calendario.

Además, disponemos de una variable local array con las fechas de los días festivos del año.

//Leer obtener controles personalizables del formulario
var formulario = theRoot.dataView();
var control = formulario.control("CAL");

//Generar array de fechas
var tamArray = theRoot.varToInt("TAMAÑO");
var fechas = [];

for (var i = 0; i < tamArray; i++) {
  fechas.push( new Date(theRoot.varToDate("FECHAS_ARRAY", i)));
}

//Aplicar colores días laborables

control.setCalendarStyle("darkgreen", "#FFFFFF", diasSemana, "1,2,3,4,5");

//Aplicar colores días festivos y findes	

control.setCalendarStyle("darkred", "white", "6,7", null , fechas);

//Aplicar colores día 1 de cada mes
control.setCalendarStyle("green", "black", null , "1/1,1/2,1/3,1/4,1/5,1/6,1/7,1/8,1/9,1/10,1/11,1/12");

//Aplicar colores hoy
control.setCalendarStyle("#FFFFFF", "blue", "h");

//Aplicar colores día seleccionado
control.setCalendarStyle("darkyellow", "orange", "s");ejavas

Última actualización