Web2.0 MessageBox cambiar letra

Cómo puedo cambiar el tamaño de la letra de los MessageBox en la web 2.0?

Asi:

MessageBox("<raw><h6>Message Text</h6></raw>")

La implementación de los dialogos en Xojo es una verdadera porqueria :frowning:

El MessageBox esta hecho para ser algo asi como una subclase mal implementada del “webMessageDialog” que a su ves tambien es bastante malo.

Xojo usa una etiqueta H4 para el texto cuando debería de usar una P. La opción “oficial”, sería usar el webMessageDialog, PERO poniendo tu mensaje en la propiedad Explanation (que usa etiqueta P) en vez del Message (que es la misma que internamente usa el MessageBox con una etiqueta H4):

Var d As New webMessageDialog
d.ActionButton.Caption = "Ok"
d.CancelButton.Visible = False
d.AlternateActionButton.Visible = False
d.Explanation = "This is the message"
d.Show

Según Xojo dice que una de las metas del Web 2 era hacer aplicaciones web que se comportaran como aplicaciones web en vez de aplicaciones web que parecieran de escritorio… y salen con que importan esta aberración del MessageDialog que ni en el escritorio funciona bien…

Otra opción seria corregir el archivo xojo.js en la carpeta C:\Program Files\Xojo\Xojo …\Xojo Resources\WebFrameworks\XojoWeb\Libraries\Xojo y reemplazar la etiqueta H4 dentro de class XojoMessageDialog por una etiqueta P

Si usas el webMessageDialog, también puedes agregar un título al dialogo agregando la propiedad Title (ya sabes, era mejor hacerlo más engorroso, verboso y dificil que simplemente agregar un segundo parametro en el MessageBox :roll_eyes:)

Var d As New webMessageDialog
d.ActionButton.Caption = "Ok"
d.CancelButton.Visible = False
d.AlternateActionButton.Visible = False
d.Title = "This is the Tittle"
d.Explanation = "This is the message"
d.Show

Pero incluso ahi, Xojo usa un H4 para el título cuando bootstrap recomienda un H5, asi que el título resulta más grande de lo que debería. :man_facepalming:t2: (también puedes corregir el xojo.js para cambiar el H4 por un H5)

Quiza @Ricardo_Cruz pueda ayudar con estos puntos:

-Redireccionar el primer parametro del MessageBox a la propiedad Explanation del webMessageDialog que se usa internamente. De esta forma se mantiene compatibilidad con el uso del webMessageDialog al mismo tiempo que el MessageBox usa la etiqueta P del la propiedad Explanation.

-Agregar un segundo parametro opcional al MessageBox para el título.

-Usar una etiqueta H5 En vez de H4 para el título tanto en webMessageDialog como en MessageBox si se implementa el primer punto.

-Usar una etiqueta H6 para la propiedad Message del webMessageDialog en vez del H4 (O dejar el H4 para el título y H5 para el Mensaje, pero que haya una diferencia del tamaño para dar contexto visual)

-Crear los casos necesarios en issues :sweat_smile:

Original Vs Sugerido:

1 Like

@Mauricio_Tanco, al igual que ocurre en Desktop, se puede mostrar un modal con título y mensaje más pequeño, separándolos con dos EndOfLine.

MessageBox("Título" + EndOfLine + EndOfLine + "Cuerpo del mensaje")

Si quieres mostrar un mensaje con el tamaño normal, sin título, puedes empezar el MessageBox con dos EndOfLine:

MessageBox(EndOfLine + EndOfLine + "Cuerpo del mensaje")

Para ajustar el tamaño del título o del cuerpo del mensaje, de momento puedes hacerlo con CSS. En App > HTML Header puedes utilizar este código:

<style>
.modal-dialog h4 { font-size: 1.5rem; } /* Este sería el tamaño de letra por defecto del título */
.modal-dialog p  { font-size: 16px; }   /* Este el del cuerpo del mensaje */
</style>

@Ivan_Tellez, te animo a utilizar GitLab Issues para poner tus sugerencias y mejorar entre todos Xojo.

4 Likes

Gracias a todos por sus comentarios, me fueron de ayuda y quedo solucionado.

@Ivan_Tellez como bien dices el webMessageBox no esta trabajando bien, pero estoy seguro que con la ayuda de @Ricardo_Cruz en alguna liberación lo veremos solucionado.

Me encanta la web 2.0 creo que tiene mucho potencial pero para aprovecharlo al máximo falta que todas las capacidades que se le pueden implementar por javascript se puedan implementar directamente.

No se si es un disparate pero seria bueno que a cada comando se le fuera agregando todo lo que aporta el foro en JS para no estar buscando luego como se hace cada cosa. Quizás en el ayuda actual al final agregar “Trucos o agregados JS” y ahí nos lo puedan indicar?.

Nuevamente, muchas gracias a todos.

https://tracker.xojo.com/xojoinc/xojo/-/issues/69575

1 Like

Muchas gracias :slightly_smiling_face: