Making a crowdsourced project on Canvas - page 41

 
Реter Konow:

Nikolai, your opinion is always interesting. I have finished the graphic project and just want to give it to people. There is still some time left and anyone will test the engine and 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 to make it all useful to the community.)

I guess it's past time to just turn the page and move on. Good experience gained.
But of course no one will develop your project. You have to be realistic.

 
Nikolai Semko:

It is probably past time to just turn the page and move on. Good experience has been gained.
But of course no one will develop your project. You have to be realistic.

They will not develop, but they will apply.

 
Nikolai Semko:

Piotr, your creation looks more like a language of requests than a language of markings.
And as we know, MQL5 has recently been able to work withSQLite databases.

What is a database? It's 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 will not 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.

It will come in handy! Cross-platform solutions run on a declarative description of WPF, activiti in android,Xamarin, web pages in the end - all use XML.

"Java had to create special tools for this" - any add-ons and tools are created to facilitate access, native access or even object binding, where reading data from a database and adding data to it is done without calling queries from the end developer. Of course everything works on queries, only it's all deeply hidden in add-ons.

And with Peter it will all work out if he has the will to do it. So far he's out of his stubborn habit of trying to "push" his model. I, on the other hand, am trying to abstract him from his matrix and move on to general reasoning. As long as he is fixated on his matrix it is difficult to reason sensibly. But things are moving along nicely so far.

Nikolay, I hope you'll join our discussion from time to time.

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

...

And everything will work out with Peter if he has the will to do so. So far he is in the habit of trying to "push" his model. I am trying to abstract him from his matrix and move on to general reasoning. As long as he is fixated on his matrix it is difficult to reason sensibly. But things are moving along nicely so far.

...

I'm not trying to push anything anymore). Just, I have no idea how to translate it all into classes. I'm now fully focused on debugging, as soon as I publish it, you and others will have a better idea of what it is. Then maybe there'll be some sort of scheme. Maybe collectivism will still pay off in this thread).
 
Алексей Барбашин:

Nikolai, I hope you'll join in the conversation from time to time.

I don't mind, but to be honest, I don't even know how I can help. I've said it all many times. Peter just needs to go his own way.

He is a self-sufficient man and does not need patronage, for he is his own boss. Although sometimes you get the feeling that he needs a patronage, but it's just an illusion, a trick, a kind of lure :))

 
Nikolai Semko:

I don't mind, but to be honest, I don't even know how I can help. Everything has already been said many times. Peter just needs to go his own way.

He is a self-sufficient fellow and does not need supervision, for he is his own boss. Although sometimes you get the feeling that he needs a patronage, but it's just an illusion, a kind of luring :))

Nikolai, do you think it's worth abandoning the attempt to guide Peter on an alternative path to his personal development?

P.S.: Was it just me or was the site down yesterday?

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

Nikolai, do you think it's worth leaving the attempt to direct Peter to an alternative way of developing his personality?

It's about directing the project in an alternative way. Its code is easier to rewrite than mine).
There is an idea that we should make one base class CElement, and from it - heirs - all types of elements.

If we consider the logic of links between elements, that's right, but if we consider the structure of elements, then the base classes should be CRec, CImage, CText.
So, everything depends on the choice of classification criterion.

We can either classify according to the physical structure of elements or according to their types. There are many variants of classification and each offers a different class library structure. It is necessary to choose one criterion and follow it.
 
Реter Konow:
It's about pointing the project in an alternative direction. Its code is easier to rewrite than mine).
The idea is to make one base class CElement, and from it, all types of elements as descendants.

If we consider the logic of element relations, this is correct, but if we consider the structure of elements, then the base classes should be CRec, CImage, CText.
So, everything depends on the choice of classification criterion.

We can either classify according to the physical structure of elements or according to their types. There are many variants of classification and each offers a different class library structure. It is necessary to choose one criterion and follow it.

I think it is better to look at the experience of the ancestors of the interfaces and controls. I don't see the point in reinventing the wheel or overcomplicating things. Many things have been invented before us and we just need to port them to mql.

I didn't just ask what these or those controls have in common.

Now I ask one more thing: Peter, post here pictures of the following controls - button with icon and caption, text label with icon and caption, checkbox, radio button, combobox, panel, input field.

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

I think it is better to look at the experience of the ancestors of interface and control design in this matter. There is no point in reinventing the wheel or overcomplicating things. Many things have been invented before us and we just need to port them to mql.

I didn't just ask what the controls have in common.

Now I will ask one more thing: Peter, put here pictures of the following controls - button with icon and label, text label with icon and label, checkbox, radio button, combobox, panel, input field.

I have ancestor's experience, but which one would work? For example, the staff library, or Anatoly's library offer a ready-made class structure, but these are LIBRARIES. That is, elements are created by calling the right functions. I have a markup language, which means that you can write the GUI in a separate file. This is a completely different technology. If you don't take that into account, you can create a regular library, of which we already have two in MQL. You do not need another one. It's not about whether they are on the canvas or not, it's about how easy it is to create an interface on them.

Pictures will be posted.
 
Реter Konow:
The ancestor experience is there, but which of these will do? For example, the staff library, or the Anatolian library offer a ready-made class structure, but these are LIBRARIES. That is, elements are created by calling the right functions. I have a markup language, which means that you can write the GUI in a separate file. This is a completely different technology. If you don't take that into account, you can create a regular library, of which we already have two in MQL. You do not need another one. It's not about whether they are on the canvas or not, it's about how easy it is to create an interface on them.

I'll post pictures.

It's about both. It's about what the drawing is done on, and how easy it is to build an interface out of it.

De facto, everything is a library. For example, you have created a dialog box constructor , but based on what? On the basis of the same library controls. So, for a user to be able to drop something on a form, he has to provide these very controls, i.e. he can pick them out from ... library. That's why it's called that. Then you generate a markup file based on it, which the user can use in mql, but initially the fact remains that the user will select the controls from the available list. It's the same library, only "viewed from the side".

Reason: