Making a crowdsourced project on Canvas - page 40

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

Yes, of course, with the simplest properties. What primitive objects could a Text label consist of? Or what primitive objects could a simple Button consist of?

1). The text label is 2 objects. The base and the text.

2). Button - 3 objects. Base, text, icon.

 
Реter Konow:

1). Text mark - 2 objects. Basis and text.

2). Button - 3 objects. Base, text, icon.

And the frame? Both the button and the label can have a frame, can't they?

What properties does the base contain?

 
Peter, because we think in different categories, it will be difficult for us to understand each other at the beginning of the journey. That's why it pays to be patient. Sometimes we'll both have to slip down to kindergarten and play dice. But this is nothing to be ashamed of.
 
Алексей Барбашин:

And the frame? Both the button and the label can have a frame. can't they?

What properties does the frame contain?

A frame is an internal property of an object, not an independent object. Like a coordinate, a colour or some kind of flag.

The base contains all the basic properties of a rectangular object. For example: coordinates, size, coordinate binding (to a window)...

In my implementation, element base contains the lion's share of all element properties. That is, all the flags, pointers to internal objects, and so on. The base itself is the main object of any element.

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
 
Алексей Барбашин:
Peter, because we think in different categories, it will be difficult for us to understand each other at the beginning of the journey. That's why we have to be patient. Sometimes we'll both have to slip down to kindergarten and play dice. But there's no need to be ashamed of that.

It's all right, I understand.

 
The base of the element is snapped to the window, and the internal objects of the element are snapped to its base with special bindings. These are processed by the function and the objects are positioned in the right place.
 
If interested, I can give you a list of the first 40 base properties later. With explanations. They are general. This will make it easier to understand.
 

//Basic object identifiers. ---------------------------

1. object name (special number by which its sequence number and its window order number can be found).

2. object type. (implies MT-type - rectangular label, text...).

3. The second type of object - base-object/object-text/object-icon.


//Object coordinates and dimensions--------------------------------

3. X coordinate.

4. Y coordinate.

5. X_SIZE.

6. Y_SIZE.


//Properties for additional object classification. ----------------------------------

12. Category of object.

13. Sub-category of the object.

14. Facility group.

15. Status of the object.


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

12. Colour in cursor hovered state.

13. Colour in neutral state.

14. Colour in active state.

15. Colour in neutral state in focus.

16. Colour in active state in focus.


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

17. Binding X-coordinate of the object.

18. X-coordinate snap object.

19. Snap correction.

...

Same for Y-coordinate.

...

23. Type of object length snap.

24. Length snap object.

25. Correction of object length reference.

...

The same for object height.

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


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

29. The number of the canvas on which you want to draw the object.

30. Whether the element changes colour when the cursor is placed on it.

31. The number of the main object in the element.

32. Type of the element to which the object belongs.

33. Whether the object is hidden.

...

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

Peter, I think your creation looks more like a query language than a markup language.
And as we know, MQL5 has recently been able to work withSQLite databases.

What is a database? It is a set of tables and the relationships between them.

And the query language (SQL - Structured QueryLanguage) is working with these tables (create, modify, query and access, delete).
I won't give any advice. I already figured out that you are the type of person who doesn't need anyone's advice.
Just information for thought.
And it's expensive to give out a solution for a format that has already been standardized and developed.
Right now I'm studying Java in its interaction with a database (MySQL). Java had to create special tools for this (JPA, Hibernate, DAO Design Pattern). This topic is very close to yours. These tools are essentially classes - translators of Java to SQL.
My opinion is that it's a better way to start from the beginning after successful practice with OOP and SQL. And the markup language XML might also come in handy.

 
Nikolai Semko:

Peter, your work looks more like a query language than a markup language.
And as we know, MQL5 has recently been able to work withSQLite databases.

What is a database? It is a set of tables and the relationships between them.

And the query language (SQL - Structured QueryLanguage) is working with these tables (creating, modifying, querying, deleting).
I will not give any advice. I already understood that you belong to that type of people who don't need anyone's advice.
It's just information for you to think about.
And it's expensive to give out a solution for a format that has already been standardized and developed.
Right now I'm studying Java in its interaction with a database (MySQL). Java had to create special tools for this (JPA, Hibernate, DAO Design Pattern). This topic is very close to yours. These tools are essentially classes - translators of Java to SQL.
In my opinion, it's a better way to start from the beginning after successful practice with OOP and SQL.

Nikolai, your opinion is always interesting. I have finished a graphic project and just want to give it to people. There is still some time left and anyone will test the engine and the designer. Then, I'll continue with completely different developments.

Alexey decided to help me to translate matrix into standard OOP format. I don't mind it, but frankly speaking - I doubt it very much. To be more exact, I know for sure that it's almost impossible. It would take a year before an equivalent analogue would be created. From my point of view - it only makes sense - to give people the opportunity to edit and develop the project. If I suddenly stop it, others could continue.

The main thing is that it all comes in handy for the community.)

Reason: