Yu Zhang бэктестинге твоего советника, я буду благодарен.
Нет ничего проще.
Описанное ядро управляет ВСЕМИ событиями, неважно, тиковое это событие или событие на графике. Вы можете просто получить позицию мыши и т.д. также в тике, проверить изменения и затем запустить OnEACylce() для chart-события. Вы больше ничем не ограничены.
1. Проделана огромная работа по интеграции сотен свойств объектов, элементов, окон и параметров во вкладки и таблицы редактора. Было необходимо их разделить и сортировать. Приблизительно на 70% эта задача выполнена. Не все из этих свойств будут нужны пользователям в работе, но они необходимы мне для дальнейшего развития редактора.
2. Отлажен механизм прокрутки. Теперь каждая вкладка "запоминает" положение ползунка и при возвращении канвас автоматически прокручивается на последнее место просмотра.
3. Исправлены лаги связанные с прокруткой. Например, во время прокрутки колесиком мышки интерактивные элементы не реагируют на курсор при заданном пороге скорости. Если скорость прихода событий колесика больше чем 3 в секунду (300 мс между событиями),попадая под курсор элементы не перерисовываются. Также теперь во время прокрутки рисуется только пространство полосы и ее компоненты. Остальное пространство канваса не игнорируется.
4. Налажена работа элементов T_FOLDER - сворачивателей таблиц. Это можно хорошо увидеть на видео.
5. Найденыи и исправлены проблемы с явлением элементов.
6. Лучше продуман дизайн подокон редактора. Найдены удобные и эстетические решения. Однако предстоит немало работы в этом направлении.
Ближайшие планы:
1. Написать функции Get_property() и Set_property(). Они позволят редактировать экземпляры скопированные от шаблонов. Первая функция будет получать сразу все свойства (более 300-от) от каждого элемента и помещать их в редактирующие элементы во вкладках редактора (те что в видео). Вторая функция будет посылать пользовательские значения из элемента-редактора в редактируемое свойство экземпляра на главном канвасе (в центре).
2. Восстановить функционал ручного редактирования элементов который уже хорошо работал 4 года назад.
Сегодня 21-ое декабря. Я рассчитывал что минимальная версия редактора будет готова в десятых числах, то есть до 20-го декабря, и в принципе так и получилось бы, если бы я восстанавливал прежнюю минимальную версию которая работала раньше, но я решил создать полную версию редактора. Поэтому работы получилось гораздо больше чем ожидалось.
Ранее я говорил о 6-ти основах визуального редактора. Напомню их:
1. Клонирование элементов/окон.
Создание новых экземпляров элементов путем копирования шаблонов и модификации их свойств.
2. Удаление элементов/окон.
Стирание клонированных ранее экземпляров из ядра.
3. Получение свойств окон/элементов.
Элементы-редакторы свойств должны получать значения свойств экземпляров попадающих в фокус редактирования.
4. Редактирование свойств элементов/окон.
Всего существует 2 способа редактирования свойств: (1) через элементы-редакторы и (2) ручное редактирование экземпляров. Например рястягивание, перемещение, печатание на поверхности х и т.д.
5. Загрузка шаблонов/проектов.
Функционал позволяющий загружать сохраненные шаблоны и проекты внутрь редактора для дальнейшего редактирования.
6. Сохранение шаблонов/проектов.
Функционал сохраняющий готовые шаблоны и проекты GUI в файлах для последующего перенесения в пользователькие программы или для использования в качестве бета-версий и повторной загрузки для редактирования или копирования частей.
В общем, это шесть основ визуального редактора.
В качестве седьмой основы я бы добавил графический интерфейс редактора без которого он функционировать не может.
До Нового Года я рассчитываю реализовать клонирование, удаление и визуальное редактирование как с помощью элементов-редакторов, так и в ручном режиме. Посмотрим что из этого успею.
Нужна хорошая инструкция, видео уроки создания панели от А до Я. Интерфейс на русском языке ;)
Иначе обилие функционала пугает.
Да, рассчитываю снять видео-уроки и пару статей написать. Но пожалуй основная задача это сделать редактор самопонятным. Например, когда перемещая курсор над элементом будут появлятся стрелки, пользователю будет ясно что можно ухватить его за края и менять размеры. А если появится перекрестие, он поймет что элемент перетаскивается по канвасу. При клике на элемент будут рисоваться его размеры - высота и ширина - тоже вполне понятно. Текст и иконку можно будет перемещать внутри элемента. При наведение на них тоже будут появлятся стрелки. Размер текста можно изменить растягиванием. Расстояния между элементами при перемещении, а также совпадения их позиций по вертикали и горизонтали тоже возникают на канвасе в виде красных линий. В этом плане все понятно сразу.
Что касается редактирующих элементов, то отвечающие за основные свойства вынесу наверх, а остальные сдвину вниз. Кроме этого, будет автоматически срабатывать блокировка тех элементов которые не относятся к редактируемому в тот момент экземпляру. Это упростит работу в окне элементов-редакторов.
Далее, над непонятными названиями свойств будут возникать подсказки при наведении курсора. Они обьяснят юзеру смысл того или иного свойства редактируемого элемента. На этом этапе, все понятно.
Что касается полотна редактирования в центре. Пока окончательной концепции еще не сложилось. Предполагаю что пользователь будет собирать там шаблоны элементов или групп и переносить в окна. То есть, из левого подокна шаблонов он скопирует элемент перетаскиванием, поменяет размеры, цвет, текст и прочее, затем клонирует несколько таких штук и сохранит в файле как шаблон или сразу переносит к себе в окно. Думаю одного короткого видео будет достаточно чтобы обьяснить этот процесс пользователям.
По большому счету, почти ничего в этом редакторе не потребует долгих обьяснений или уроков и его освоение займет не более часа. И в этом его неоспоримое преимущество перед языком разметки.)
Реter Konow #: По большому счету, почти ничего в этом редакторе не потребует долгих обьяснений или уроков и его освоение займет не более часа. И в этом его неоспоримое преимущество перед языком разметки.)
Хорошая цель! Нужно набирать тестеров, которые действительно будут с нуля осваивать функционал, тогда более явно будет видно на что надо обратить внимание в эргономике интерфейса..
Хорошая цель! Нужно набирать тестеров, которые действительно будут с нуля осваивать функционал, тогда более явно будет видно на что надо обратить внимание в эргономике интерфейса..
Согласен, но нужно придти к этому. Один человек уже вызвался побыть бета-тестером на страницах ветки, надеюсь будут и другие, но пока рано. Где то в течении следующего месяца начальное тестирование редактора станет актуальным. Пока еще много рутинной работы которая значительно замедляет ход. Все эти таблицы свойств, группы шаблонов, распределения по вкладкам и по группам, дизайнерские решения, мелкие баги... но, никто и не говорил что будет легко.)
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Сделать такое нелегко. )
Нет ничего проще.
Описанное ядро управляет ВСЕМИ событиями, неважно, тиковое это событие или событие на графике. Вы можете просто получить позицию мыши и т.д. также в тике, проверить изменения и затем запустить OnEACylce() для chart-события. Вы больше ничем не ограничены.
Текущий статус разработки:
1. Проделана огромная работа по интеграции сотен свойств объектов, элементов, окон и параметров во вкладки и таблицы редактора. Было необходимо их разделить и сортировать. Приблизительно на 70% эта задача выполнена. Не все из этих свойств будут нужны пользователям в работе, но они необходимы мне для дальнейшего развития редактора.
2. Отлажен механизм прокрутки. Теперь каждая вкладка "запоминает" положение ползунка и при возвращении канвас автоматически прокручивается на последнее место просмотра.
3. Исправлены лаги связанные с прокруткой. Например, во время прокрутки колесиком мышки интерактивные элементы не реагируют на курсор при заданном пороге скорости. Если скорость прихода событий колесика больше чем 3 в секунду (300 мс между событиями), попадая под курсор элементы не перерисовываются. Также теперь во время прокрутки рисуется только пространство полосы и ее компоненты. Остальное пространство канваса не игнорируется.
4. Налажена работа элементов T_FOLDER - сворачивателей таблиц. Это можно хорошо увидеть на видео.
5. Найденыи и исправлены проблемы с явлением элементов.
6. Лучше продуман дизайн подокон редактора. Найдены удобные и эстетические решения. Однако предстоит немало работы в этом направлении.
Ближайшие планы:
1. Написать функции Get_property() и Set_property(). Они позволят редактировать экземпляры скопированные от шаблонов. Первая функция будет получать сразу все свойства (более 300-от) от каждого элемента и помещать их в редактирующие элементы во вкладках редактора (те что в видео). Вторая функция будет посылать пользовательские значения из элемента-редактора в редактируемое свойство экземпляра на главном канвасе (в центре).
2. Восстановить функционал ручного редактирования элементов который уже хорошо работал 4 года назад.
Нужна хорошая инструкция, видео уроки создания панели от А до Я. Интерфейс на русском языке ;)
Иначе обилие функционала пугает.
Нужна хорошая инструкция, видео уроки создания панели от А до Я. Интерфейс на русском языке ;)
Иначе обилие функционала пугает.
По большому счету, почти ничего в этом редакторе не потребует долгих обьяснений или уроков и его освоение займет не более часа. И в этом его неоспоримое преимущество перед языком разметки.)
Хорошая цель! Нужно набирать тестеров, которые действительно будут с нуля осваивать функционал, тогда более явно будет видно на что надо обратить внимание в эргономике интерфейса..
Хорошая цель! Нужно набирать тестеров, которые действительно будут с нуля осваивать функционал, тогда более явно будет видно на что надо обратить внимание в эргономике интерфейса..