Galería de interfaces de usuario escritas en MQL - página 80

 
Kuzma Shevelev #:



Hoy en día la mayoría de las interfaces avanzadas se desarrollan programáticamente, y da muy buenos resultados, además escribir una librería te llevará mucho menos tiempo que desarrollar un editor gráfico completo, lo principal es simplemente idear una interfaz de software cómoda que sea fácil de usar creo que podrías inspirarte en React Native.

No voy a discutir, sólo una opinión.

En la evolución del desarrollo GUI, las librerías de clases o funciones ocupan el primer escalón de los tres existentes - librería gráfica, lenguaje de marcas y editor visual.

La librería permite al desarrollador crear controles de la forma más lenta, pero cabe destacar que permite la máxima libertad creativa (pensada sólo para desarrolladores MUY experimentados).

El lenguaje de marcado es el eslabón intermedio de esta cadena. Combina comodidad y facilidad con una amplia gama de funciones. Sin embargo, hereda de las bibliotecas una de sus principales desventajas: la necesidad de compilar completamente el programa para comprobar hasta el más mínimo cambio. Si cambias el color de un elemento, compílalo; si quieres comprobar algo, recompílalo. ¿Has cambiado el tipo de letra? - recompila. ¿Moviste la posición? ¿Escribiste un texto diferente? - recompila, recompila, recompila.

Sin embargo, el lenguaje de marcado es indispensable cuando se crean grandes grupos de varios elementos y se establecen propiedades en masa. Hace que este proceso sea muy cómodo. Mucho más fácil que en una biblioteca. Además, la poca sintaxis, la intuitividad y las reglas poco complicadas garantizan una comprensión mucho más rápida que en el caso de las bibliotecas.

El editor visual es el nivel más alto. Combina todas las ventajas del lenguaje de marcado, pero las eleva a un nuevo nivel, que está fuera del alcance de las bibliotecas. Cuando se trabaja en el editor, todos los cambios son visibles al instante. No es necesario volver a compilar. No es inferior al lenguaje de marcado, sino que lo supera en capacidades. Lo mejor.

Y objetivamente, no queda mucho para llegar a esta cima... en comparación con la distancia recorrida hasta ahora.

 
Aunque no uso ningún gráfico en mis EAs, y los EAs dan resultados financieros muy tangibles, sigo el tema con interés y le deseo éxito al autor de todo corazón.
 
JRandomTrader #:
¡Aunque no uso ningún gráfico en mis EAs, y los EAs dan resultados financieros muy tangibles, sigo el tema con interés y le deseo éxito al autor de todo corazón!
¡Muchas gracias!


 
Está prevista otra actualización del estado de desarrollo para el 31 de diciembre.
 

Estado de desarrollo: bueno.

En los últimos quince días se ha trabajado mucho siguiendo un plan predeterminado. El énfasis puesto en implementar capacidades de edición manual dentro de la ventana del editor gráfico ha dado sus frutos. Se han restaurado y actualizado los mecanismos de edición de versiones anteriores del editor. Sin embargo, aún queda trabajo por hacer. Para el 7 de enero tengo previsto presentar el trabajo completo de todos los principales mecanismos de edición necesarios para el editor gráfico. Ya está casi listo.

P.D. Muchos artilugios funcionarán mucho mejor en un futuro próximo.

P.D. ¡Feliz Año Nuevo!




 

Feliz Año Nuevo Peter. Gracias de nuevo por todo tu duro trabajo.
Espero con impaciencia tu próxima actualización/presentación.

 
Douglas Prager #:

Feliz Año Nuevo, Peter. Gracias de nuevo por todo tu duro trabajo.
Espero con impaciencia tu próxima actualización/presentación.

Gracias, Douglas. Feliz Año Nuevo.
 
Реter Konow #:
En este sentido, estoy de acuerdo, pero en ausencia de demanda, esta alegría desaparece al instante y queda el vacío. Así que ahora estoy en la misma situación que las personas que escriben asesores sin garantizar el resultado. En el mismo barco, por así decirlo.
Te comprendo. La realidad golpea fuerte.
 
Midamba Pinkyperry #:
Sé lo que quieres decir. La realidad duele.
Sí. Todas.
 

Estado actual.

Implementado:

  • Generación de un formulario de la ventana Configuración.
  • Añadir, clonar y editar manualmente controles dentro del formulario generado.
  • Borrado de instancias de elementos previamente añadidos desde el lienzo VE o desde el formulario de instancia de ventana generado.
  • Eliminación de la ventana de configuración generada junto con todo el contenido interno, incluidas todas las instancias de elementos previamente añadidas y editadas.
  • Al cambiar el foco de un elemento editable a otro, todos los elementos del editor VE reciben y traducen los valores de todas las propiedades de la instancia enfocada utilizando el mecanismo GetProperty().
  • Y viceversa: los elementos del editor cambian los valores de las propiedades de los elementos editables que se encuentran en el foco de edición mediante el mecanismo SetProperty().


Conclusión:

4 de las 6 bases del editor están implementadas globalmente:

1. Clonación de instancias de elementos/ventanas desde sus plantillas y añadirlas al núcleo y al lienzo de edición.

2. Eliminación de instancias de elementos/ventanas producidas del núcleo y de los lienzos si surge la necesidad.

3. Editar instancias de elementos en modo manual - posicionar y redimensionar a través de agarrar, comprimir, estirar y mover a través del kanvas.

4. Edición de propiedades de instancias de elementos/ventanas a través de editores de elementos dedicados.


Faltan dos más:

5. Guardar la GUI creada como un proyecto/plantilla personalizado en un archivo de la carpeta Archivos.

6. 6. Cargar un proyecto/plantilla de GUI personalizada desde un archivo ubicado en la carpeta Files o en la carpeta include, donde el usuario debe transferirlo por sí mismo. (Cuestión en estudio).


P.S. Se decidió no integrar nuestro propio navegador de archivos dentro de VE, porque en esta etapa sus funciones pueden ser fácilmente reemplazadas por el navegador de archivos estándar en ME, que por supuesto se abrirá mientras el usuario está trabajando dentro de VE.

P.S.S. La próxima actualización se publicará en torno al 16-17 de enero junto con otro vídeo de demostración, pero después de eso, tras un cierto periodo de tiempo (tentativamente, no mucho), se publicará la primera versión beta para pruebas preliminares. Es decir, la próxima actualización será la última antes de que se publique la versión beta.