Very generous. Much will depend not on functionality, but on explanations inside the code (preferably in Russian), as well as examples of different panels are required - it makes it much easier to understand the code.
Examples of markup code will be more than enough.
In addition to the markup language you need to master only the connection of controls to their functionality inside the file Internal API.mqh. This is a task of a day.
The constructor generates EVERYTHING. You only connect it.
I should add that you do not need to write any MQL code to create your GUI at all. I emphasise this because I was asked this all the time. People could not believe that it is not necessary to program the interface. That's why there was a lot of confusion.
Often asked where are my libraries and how to connect everything without OOP.... I'm tired of explaining that everything is already solved. All connection functions are generated automatically. You just call them where you need them in YOUR code. Such simplicity...
Реter Konow #: Often asked where are my libraries and how to connect everything without OOP.... I'm tired of explaining that everything is already solved. All connection functions are generated automatically. You just call them where you need them in YOUR code. Such simplicity...
We are waiting for the presentation :) The audience is warmed up :))))
Prepare your EAs/indicators for the transition to a graphical interface. Think about the content and design of the interface (so you don't waste time).
I will soon post the constructor, interpreter and engine.
I will provide installation instructions, provide examples of markups and setting element properties.
I will provide explanations of connectivity.
The language is simple and does not take long to master. If the learning curve was complicated, I would not take it on.
Take advantage of the last opportunity.
P.S..
Later I will post a list of controls and windows that the first release will support.
Some things (like tree list and dynamic window) will be disabled.
ОБЫЧНАЯ РАДИО-КНОПКА. СЛУЖИТ ДЛЯ ПЕРЕКЛЮЧЕНИЯ МЕЖДУ НЕСКОЛЬКИМИ ОПЦИЯМИ.
//-------------------------------------------------------------
S_EDIT
ПОЛЕ ВВОДА С КНОПКАМИ. СЛУЖИТ ДЛЯ ПЕРЕКЛЮЧЕНИЯ ЗНАЧЕНИЙ.
//-------------------------------------------------------------
D_LIST
ВЫПАДАЮЩИЙ СПИСОК С ПУНКТАМИ И ПОЛЕМ ВВОДА. СЛУЖИТ ДЛЯ ВЫБОРА ИЛИ ВВОДА НУЖНОЙ ОПЦИИ.
//-------------------------------------------------------------
C_LIST
ВЫПАДАЮЩИЙ СПИСОК БЕЗ БЕЗ ПОЛЯ ВВОДА. СЛУЖИТ ДЛЯ ВЫБОРА ПРЕДОПРЕДЕЛЕННЫХ ОПЦИЙ.
//-------------------------------------------------------------
G_FRAME
РАМКА ДЛЯ ОБОСОБЛЕНИЯ ГРУППЫ ЭЛЕМЕНТОВ ВНУТРИ ОКНА.
ИМЕЕТ ЗАДАВАЕМОЕ НАЗВАНИЕ И ПРАВИЛА ПОЗИЦИОНИРОВАНИЯ.
//-------------------------------------------------------------
H_SEP
ГОРИЗОНТАЛЬНАЯ РАЗДЕЛИТЕЛЬНАЯ ЛИНИЯ. ДЛИННА, ТОЛЩИНА, ЦВЕТ ЗАДАЮТСЯ.
//-------------------------------------------------------------
V_SEP
ВЕРТИКАЛЬНАЯ РАЗДЕЛИТЕЛЬНАЯ ЛИНИЯ. ДЛИННА, ТОЛЩИНА, ЦВЕТ ЗАДАЮТСЯ.
//-------------------------------------------------------------
ТИП КНОПКИ. ИНТЕРАКТИВНАЯ КНОПКА. ПРИЛИПАЕТ К КУРСОРУ. МОЖЕТ ИМЕТЬ ТЕКСТ И ИКОНКУ ЕСЛИ УКАЗАНО.
//-------------------------------------------------------------
D_BUTTON
КНОПКА ДЛЯ ДИАЛОГОВЫХ ОКОН - НАПРИМЕР: ДА, НЕТ, ОТМЕНА...
//-------------------------------------------------------------
I_BUTTON
ЕЩЕ ОДИН ТИП КНОПКИ. ИМЕЕТ ТЕКСТ И ИКОНКУ.
//-------------------------------------------------------------
SQ_BUTTON
ТОЖЕ ТИП КНОПКИ.
//-------------------------------------------------------------
EDIT
ОБЫЧНОЕ ПОЛЕ ВВОДА ДЛЯ ВВОДА/ВЫВОДА ТЕКСТОВ ИЛИ ЗНАЧЕНИЙ.
//-------------------------------------------------------------
V_BOX
КАНВАС С ПРОКРУТКОЙ - НЕСЕТ ЛЮБЫЕ ГРУППЫ ЭЛЕМЕНТОВ ИЛИ ТЕКСТ.
НА ЭЛЕМЕНТЕ МОГУТ УСТАНАВЛИВАТЬСЯ ВКЛАДКИ ЯВЛЯЮЩИЕ ОБОСОБЛЕННЫЕ ГРУППЫ ЭЛЕМЕНТОВ.
//-------------------------------------------------------------
H_SLIDER
ГОРИЗОНТАЛЬНЫЙ СЛАЙДЕР. МОЖНО ВКЛЮЧАТЬ/ОТКЛЮЧАТЬ ТАБЛО С ЦИФРАМИ И ДРУГУЮ ИНТЕРАКТИВНОСТЬ.
//-------------------------------------------------------------
V_SLIDER
ВЕРТИКАЛЬНЫЙ СЛАЙДЕР. ТОЖЕ САМОЕ ЧТО И ГОРИЗОНТАЛЬНЫЙ.
//-------------------------------------------------------------
T_HEADER
ЗАГОЛОВОЧНАЯ ЯЧЕЙКА ЛЮБЫХ ТАБЛИЦ. ИСПОЛЬЗУЕТСЯ ТОЛЬКО В ТАБЛИЦАХ.
//-------------------------------------------------------------
R_HEADER
ЗАГОЛОВОЧНАЯ ЯЧЕЙКА РЯДОВ ТАБЛИЦ. ИСПОЛЬЗУЕТСЯ ТОЛЬКО В ТАБЛИЦАХ.
//-------------------------------------------------------------
C_HEADER
ЗАГОЛОВОЧНАЯ ЯЧЕЙКА КОЛОНОК ТАБЛИЦ. ИСПОЛЬЗУЕТСЯ ТОЛЬКО В ТАБЛИЦАХ.
//-------------------------------------------------------------
CELL
ОБЫКНОВЕННАЯ ЯЧЕЙКА ТАБЛИЦЫ. МОЖЕТ ИМЕТЬ ТЕКСТ И ИКОНКУ.
МОЖЕТ ИСПОЛЬЗОВАТЬСЯ ВНЕ ТАБЛИЦ. НАПРИМЕР В СПИСКАХ.
ИНТЕРАКТИВНАЯ ПО ЖЕЛАНИЮ ПОЛЬЗОВАТЕЛЯ.
//-------------------------------------------------------------
P_BAR
ОБЫКНОВЕННЫЙ ПРОГРЕСС-БАР. ПОКАЗЫВАЕТ СТАТУС ЗАВЕРШЕНИЯ ПРОЦЕССА.
//-------------------------------------------------------------
FRAME
ОБЫКНОВЕННАЯ ПРЯМОУГОЛЬНАЯ РАМКА ДЛЯ ВЫДЕЛЕНИЯ ГРУПП ЭЛЕМЕНТОВ.
//-------------------------------------------------------------
H_TAB
ГОРИЗОНТАЛЬНАЯ ВКЛАДКА. ЯВЛЯЕТ/ПРЯЧЕТ ГРУППЫ ЭЛЕМЕНТОВ ПРИ НАЖАТИИ.
//-------------------------------------------------------------
V_TAB
ВЕРТИКАЛЬНАЯ ВКЛАДКА. ЯВЛЯЕТ/ПРЯЧЕТ ГРУППЫ ЭЛЕМЕНТОВ ПРИ НАЖАТИИ.
//-------------------------------------------------------------
H_LINE
ОБЫКНОВЕННАЯ ГОРИЗОНТАЛЬНАЯ ЛИНИЯ. РАЗМЕРЫ И ЦВЕТ ЗАДАЕТ ПОЛЬЗОВАТЕЛЬ.
//-------------------------------------------------------------
V_LINE
ОБЫКНОВЕННАЯ ВЕРТИКАЛЬНАЯ ЛИНИЯ. РАЗМЕРЫ И ЦВЕТ ЗАДАЕТ ПОЛЬЗОВАТЕЛЬ.
//-------------------------------------------------------------
LABEL
ОБЫКНОВЕННАЯ ИКОНКА. МОЖЕТ ИСПОЛЬЗОВАТЬСЯ САМА ПО СЕБЕ, ВНЕ ЭЛЕМЕНТА.
ЕСТЬ ВЫБОР ВСТРОЕННЫХ ИКОНОК И СПОСОБ ИХ НАЗНАЧЕНИЯ.
//-------------------------------------------------------------
REC
ПРЯМОУГОЛЬНИК. БЕЛЫЙ ПО УМОЛЧАНИЮ. РАЗМЕРЫ И ЦВЕТ ЗАДАЮТСЯ ПОЛЬЗОВАТЕЛЕМ.
МОЖЕТ БЫТЬ ИНТЕРАКТИВНЫМ (РЕАГИРОВАТЬ НА НАЖАТИЕ ИЛИ КУРСОР И МЕНЯТЬ ЦВЕТ.)
//-------------------------------------------------------------
M_TAB
ИНТЕРАКТИВНАЯ ВКЛАДКА ГРУППЫ КОНТЕКСТНЫХ МЕНЮ В ШАПКЕ ГЛАВНОГО ОКНА. ОТКРЫВАЕТ ОКНО МЕНЮ.
//-------------------------------------------------------------
TIP
ВСПЛЫВАЮЩАЯ ПРИ НАВЕДЕНИИ ПОДСКАЗКА. ТЕКСТ ЗАДАЕТ ПОЛЬЗОВАТЕЛЬ.
//-------------------------------------------------------------
L_ITEM
ИНТЕРАКТИВНЫЙ ПУНКТ ВЫПАДАЮЩЕГО ИЛИ ОБЫЧНОГО ПРОКРУЧИВАЕМОГО СПИСКА.
//-------------------------------------------------------------
BOARD
ОБЫКНОВЕННАЯ ТЕКСТОВАЯ МЕТКА НА ПРЯМОУГОЛЬНИКЕ. ТЕКСТ, ЦВЕТ, РАЗМЕР, СТИЛЬ, ШРИФТ И ПР. ЗАДАЕТ ПОЛЬЗОВАТЕЛЬ.
МОЖЕТ БЫТЬ ИНТЕРАКТИВНОЙ - МЕНЯТЬ ЦВЕТ ОСНОВАНИЯ ИЛИ ТЕКСТА И РЕАГИРОВАТЬ НА КУРСОР ИЛИ НАЖАТИЕ.
//-------------------------------------------------------------
T_CELL
ЯЧЕЙКА ТАБЛИЦЫ С ПРЕДОПРЕДЕЛЕННЫМ И НЕИЗМЕННЫМ ТЕКСТОМ УСТАНАВЛИВАЕМЫМ ПОЛЬЗОВАТЕЛЕМ.
ИСПОЛЬЗУЕТСЯ В ТАБЛИЦАХ СО СТАТИЧНЫМИ ЗНАЧЕНИЯМИ.
//-------------------------------------------------------------
M_CHECKBOX
ИНТЕРАКТИВНЫЙ ЧЕКБОКС ДЛЯ ОКНА МЕНЮ.
//-------------------------------------------------------------
TV_ITEM
ИНТЕРАКТИВНЫЙ ПУНКТ ДРЕВОВИДНОГО СПИСКА.
//-------------------------------------------------------------
TV_MENU
ЭЛЕМЕНТ МЕНЮ ДРЕВОВИДНОГО СПИСКА.
//-------------------------------------------------------------
T_FOLDER
СВОРАЧИВАТЕЛЬ ТАБЛИЦ. УСТАНАВЛИВАЕТСЯ ВНУТРИ ТАБЛИЦ ДЛЯ СВОРАЧИВАНИЯ ИХ РЯДОВ.
//-------------------------------------------------------------
G_FOLDER
СВОРАЧИВАТЕЛЬ ГРУПП ЭЛЕМЕНТОВ. УСТАНАВЛИВАЕТСЯ ДЛЯ СВОРАЧИВАНИЯ ЧАСТИ ОКНА.
//-------------------------------------------------------------
I_TEXT
ИНТЕРАКТИВНЫЙ ЭЛЕМЕНТ МНОГОСТРОЧНЫХ СПИСКОВ. НЕСЕТ ТЕКСТ, МОЖЕТ ВЫЗЫВАТЬ ОКНО ИЛИ ФУНКЦИЮ.
//-------------------------------------------------------------
T_BOX
МНОГОСТРОЧНЫЙ ТЕКСТОВЫЙ БЛОК. МОЖЕТ БЫТЬ ИНТЕРАКТИВНЫМ.
//-------------------------------------------------------------
VALUE
ТЕКСТОВАЯ МЕТКА ПЕРЕДАЮЩАЯ ЗНАЧЕНИЕ ПАРАМЕТРА ПОЛЬЗОВАТЕЛЯ ИЗ ЕГО ПРИЛОЖЕНИЯ.
ЦВЕТ, РАЗМЕР, СТИЛЬ, ШРИФТ ЗАДАЮТСЯ ПОЛЬЗОВАТЕЛЕМ. МОЖЕТ БЫТЬ ИНТЕРАКТИВНА.
//-------------------------------------------------------------
D_BAR
ВЕРТИКАЛЬНЫЙ ПРОГРЕСС-БАР. ИСПОЛЬЗУЕТСЯ В ДИАГРАММАХ.
//-------------------------------------------------------------
ОКНА
SETTINGS
ОКНО НАСТРОЕК. ИСПОЛЬЗУЕТСЯ ДЛЯ ОБЫЧНЫХ ЭЛЕМЕНТОВ, ТАБЛИЦ, СПИСКОВ.
DIALOG ДИАЛОГОВОЕ ОКНО. ВЫЗЫВАЕТСЯ ДЛЯ СООБЩЕНИЯ ИНФОРМАЦИИ ИЛИ ПОЛУЧЕНИЯ ОТВЕТА ОТ ПОЛЬЗОВАТЕЛЯ.
//------------------------------------------------------------------
CONTEXT_MENU
ВЫПАДАЮЩЕЕ КОНТЕКСТНОЕ МЕНЮ. ДЛЯ ВЫЗОВА ОКОН ИЛИ ФУНКЦИЙ.
//-------------------------------------------------------------------
IMPORTANT!!!
ALMOST ALL INTERACTIVE ELEMENTS ARE AUTOMATICALLY EMBEDDED IN TABLES!!!!
i.e. Sliders, progress bars, checkboxes, radio buttons, drop-down lists, input fields and others.
Very generous. Much will depend not on functionality, but on explanations inside the code (preferably in Russian), as well as examples of different panels are required - it makes it much easier to understand the code.
Often asked where are my libraries and how to connect everything without OOP.... I'm tired of explaining that everything is already solved. All connection functions are generated automatically. You just call them where you need them in YOUR code. Such simplicity...
We are waiting for the presentation :) The audience is warmed up :))))
Prepare your EAs/indicators for the transition to a graphical interface. Think about the content and design of the interface (so you don't waste time).
I will soon post the constructor, interpreter and engine.
I will provide installation instructions, provide examples of markups and setting element properties.
I will provide explanations of connectivity.
The language is simple and does not take long to master. If the learning curve was complicated, I would not take it on.
Take advantage of the last opportunity.
P.S..
Later I will post a list of controls and windows that the first release will support.
Some things (like tree list and dynamic window) will be disabled.
If public interest is high, I'll post them later.
IMPORTANT!!!
ALMOST ALL INTERACTIVE ELEMENTS ARE AUTOMATICALLY EMBEDDED IN TABLES!!!!
i.e. Sliders, progress bars, checkboxes, radio buttons, drop-down lists, input fields and others.
Did a great job of manning the builder and engine. Soon (in the next few days) will be ready.
I will post the tutorials in the morning.
Anything once started has to be finished. Even if nobody needs it. That's the principle.
And so, tutorials...
I publish them before the release, so that at the time of the release the readers have a general idea of the markup language.