Делаем краудсорсовый проект по Canvas - страница 40

 
Алексей Барбашин:

Да, конечно с самых простых свойств. Из каких примитивных объектов может состоять та же Текстовая метка? Или из каких примитивных объектов может состоять в простом варианте Кнопка?

1). Текстовая метка - 2 объекта. Основание и текст.

2). Кнопка - 3 объекта. Основание, текст, иконка.

 
Реter Konow:

1). Текстовая метка - 2 объекта. Основание и текст.

2). Кнопка - 3 объекта. Основание, текст, иконка.

А рамка? И кнопка и метка могут обладать рамкой. разве нет?

Какие свойства содержит основание?

 
Петер, поскольку мы мыслим разными категориями то нам будет в самом начале пути тяжело понимать друг друга. Поэтому стоит набраться терпения. Иногда нам обоим придется скатываться до садика и играть в кубики. Но этого стыдиться не стоит.
 
Алексей Барбашин:

А рамка? И кнопка и метка могут обладать рамкой. разве нет?

Какие свойства содержит основание?

Рамка это внутреннее свойство объекта, а не самостоятельный объект. Как координата, цвет или какой нибудь флаг.

Основание содержит все базовые свойства прямоугольной метки. Например: координаты, размер, координатные привязки (к окну)... 

В моей реализации, основание элементов содержит львиную долю всех свойств элемента. То есть, все флаги, указатели на внутренние объекты, и прочее. Само по себе основание - это главный объект любого элемента. 

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
 
Алексей Барбашин:
Петер, поскольку мы мыслим разными категориями то нам будет в самом начале пути тяжело понимать друг друга. Поэтому стоит набраться терпения. Иногда нам обоим придется скатываться до садика и играть в кубики. Но этого стыдиться не стоит.

Ничего, я все понимаю.

 
Основание элемента привязывается к окну, а внутренние объекты элемента привязываются к его основанию специальными привязками. Их обрабатывает функция и позиционирует объекты в нужном месте.
 
Если интересно, могу позже привести список первых 40 свойств основания. С пояснениями. Они общие. Так будет понятнее.
 

//Базовые идентификаторы объекта.---------------------------

1. Имя объекта (специальный номер по которому можно узнать его порядковый номер и порядковый номер его окна).

2. Тип объекта. (подразумевается МТ-тип - прямоугольная метка, текст...).

3. Второй тип объекта - объект-основание/объект-текст/объект-иконка.


//Координаты и размеры объекта--------------------------------

3. Координата Х.

4. Координата Y.

5. X_SIZE. 

6. Y_SIZE.


//Свойства для дополнительной классификации объектов. ----------------------------------

12. Категория объекта.

13. Подкатегория объекта.

14. Группа объекта.

15. Статус объекта.


//Базовые цветовые свойства----------------------------------------------------------------------

12. Цвет в наведенном курсором состоянии.

13. Цвет в нейтральном состоянии.

14. Цвет в активном состоянии.

15. Цвет в нейтральном состоянии в фокусе.

16. Цвет в активном состоянии в фокусе.


//Координатные зависимости (привязки)------------------------------------------------------------------------------------

17. Привязка Х-координаты объекта.

18. Объект привязки Х-координаты.

19. Поправка привязки.

...

Тоже самое для координаты Y.

...

23. Тип привязки длинны объекта.

24. Объект привязки длинны объекта.

25. Поправка привязки длинны объекта.

...

Тоже самое для высоты объекта.

//------------------------------------------------------------------------------


//Разные свойства---------------------------------------------------------------------------------

29. Номер канваса на котором нужно рисовать объект.

30. Меняет ли элемент цвет при наведении на него курсором.

31. Номер главного объекта в элементе.

32. Тип элемента которому принадлежит объект.

33. Спрятан ли объект.

...

//-----------------------------------------
 

Петр, пожалуй,твоё творение смахивает больше не на язык разметок, а на язык запросов. 
И, как уже известно, с недавнего времени в MQL5 уже есть возможность работать с базами данных SQLite

Что такое база данных?  Это набор таблиц и взаимосвязи между ними.

А язык запросов (SQL - Structured Query Language - язык структурированных запросов) - это работа с этими таблицами (создание, модификация, запросы и доступ, удаление).
Не буду давать никаких советов. Я уже понял, что ты относишься к тому типу людей, которые не нуждаются ни в чьих советах.
Просто информация для размышления.
А выдать решение под формат, который уже стандартизирован и выстрадан - это дорогого стоит.
Сейчас как раз изучаю Java во взаимодействии с БД (MySQL). Java пришлось создать специальные инструменты для этого (JPA, Hibernate, DAO Design Pattern). Эта тема очень близка твоей. Эти инструменты - по сути классы -переводчики языка Java на язык SQL.
Мое мнение - более кототкий путь начать с начала после успешной практики с OOP и SQL. А еще может быть пригодится язык разметки XML.

 
Nikolai Semko:

Петр, пожалуй,твоё творение смахивает больше не на язык разметок, а на язык запросов. 
И, как уже известно, с недавнего времени в MQL5 уже есть возможность работать с базами данных SQLite

Что такое база данных?  Это набор таблиц и взаимосвязи между ними.

А язык запросов (SQL - Structured Query Language - язык структурированных запросов) - это работа с этими таблицами (создание, модификация, запросы, удаление).
Не буду давать никаких советов. Я уже понял, что ты относишься к тому типу людей, которые не нуждаются ни в чьих советах.
Просто информация для размышления.
А выдать решение под формат, который уже стандартизирован и выстрадан - это дорогого стоит.
Сейчас как раз изучаю Java во взаимодействии с БД (MySQL). Java пришлось создать специальные инструменты для этого (JPA, Hibernate, DAO Design Pattern). Эта тема очень близка твоей. Эти инструменты - по сути классы -переводчики языка Java на язык SQL.
Мое мнение - более кототкий путь начать с начала после успешной практики с OOP и SQL.

Николай, твое мнение всегда интересно. Я закончил графический проект и просто хочу отдать его людям. Еще немного времени осталось и любой протестирует движок и конструктор. Потом, продолжу заниматься совсем иными разработками. 

Алексей решил помочь перевести матрицу в стандартный формат ООП. Я не против, но честно говоря - сильно сомневаюсь. Точнее, я совершенно точно знаю, что это почти невозможно. Уйдет год, прежде чем будет создан равноценный аналог. С моей точки зрения - это имеет только один смысл - дать возможность людям редактировать и развивать проект. Если вдруг я его остановлю, другие могли бы продолжать.   

Главное, чтобы все это пригодилось сообществу.))