Discusión sobre el artículo "El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas"

 

Artículo publicado El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas:

En este artículo, finalizaremos la descripción del nuevo concepto para la construcción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. El editor gráfico especial permitirá ajustar de forma interactiva una disposición formada por las clases básicas de elementos de GUI, y después exportarla a una descripción MQL para usarla en nuestro proyecto MQL. Asimismo, presentamos la construcción interna del editor y las instrucciones para el usuario. Los códigos fuente se adjuntan al final del artículo.

El editor ha sido pensado para las clases de los elementos de interfaz de la Biblioteca Estándar. Para crear instrumentos similares para otras bibliotecas, necesitaremos escribir implementaciones concretas de todos los entes abstractos del sistema de marcado propuesto. En este caso, además, nos guiaremos por la implementación de las clases de marcado para la Biblioteca Estándar.

Debemos prestar atención a que el nombre "biblioteca de componentes estándar" no se corresponde del todo con la realidad, dado que, en el contexto de los artículos anteriores, ya tuvimos que modificarlo sustancialmente y sacarlo a una rama de versión paralela en la carpeta ControlsPlus. En el marco del presente artículo, continuaremos usándolo y modificándolo.

Vamos a enumerar los tipos de elementos que soportará el editor.

  • los contenedores CBox con orientación horizontal (CBoxH) y vertical (CBoxV),
  • el botón CButton,
  • el campo de edición CEdit,
  • la etiqueta CLabel,
  • el campo de edición con iteración de valores SpinEditResizable,
  • el calendario CDatePicker,
  • la lista desplegable ComboBoxResizable,
  • la lista ListViewResizable,
  • el grupo de interruptores independientes CheckGroupResizable,
  • el grupo de interruptores independientes RadioGroupResizable.

Todas las clases posibilitan el cambio adaptativo del tamaño (algunos tipos estándar ya tenían esta posibilidad inicialmente, para otros, hemos tenido que introducir nuestros propios cambios).

Proceso de edición de la forma

Autor: Stanislav Korotky