Making a crowdsourced project on Canvas - page 3

 
o_O:

I'd say it's a beauty.)

The speed is very good. everything is quite adequate in terms of rendering time and control.

You see the problem: It's all cool and groovy, but not all people can write as in the attached codes.

I would be glad to participate, but I have no knowledge, and they do not, not because I do not learn and do not want to learn they do not, because this is nowhere to teach well.

I have many times raised the question of a good competent training, how to program correctly and how not to program correctly, what is OOP and how to use it.

Now only those who have studied programming at institutes and have much knowledge and understand much can answer your call, but how many of them do you see?

For instance, I don't understand such things at all:

class A { public:
              A *operator<<( int )       { return &this; }
        const A *operator>>( int ) const { return &this; }
};
void OnStart()
{
        A a;
        a >> 0 << 0;                       //нет сообщения об ошибке
        a.operator>>( 0 ).operator<<( 0 ); //error: правомерно

Show me in documentation or anywhere else where I can learn and understand where to apply this and how to understand it in general ...

You want to write cool and useful things and that's very good, but who will write it have you prepared ? Did you teach people ? Or again a good idea will die because 1,5 people will take part in it...

Thinking aloud, the most needed and needed project would be a project to teach (good, simple, useful, competent) programming from the basics to examples as I showed above. I would do but I'm not a professional, I don't know how to do it right!

And the use for all will be a hundred-thousand times more than from the project where 1.5 smart guys will make up cool (in their opinion) things ...

 
o_O:
hmm, what's the problem with edit?
Is the main and most important problem the limited input string or has something changed?
 
Vladimir Pastushak:
You want to write cool and useful things and that's very good, but who will write it have you prepared ? Did you teach people? Or again, a good idea will die because 1.5 people will take part in it ...

Sometimes 0.5 person is enough, if he is a genius in development )


Thinking out loud, the most needed and needed project would be a training project...

that's a topic for another thread.

And the benefit for all will be a hundred or a thousand times more than a project where 1.5 smart guys will write cool (in their opinion) things...


it will not be a cool thing. it will just be a must have. and it is not made for smart people, but for people like you, for freelancing, for the marketplace.
 
Zorro:
The most important and main problem is the limited input string or has something changed?

(-) so we don't use a graphical object from MT.

We have to do our own Edit, with blackjack etc.
Drawn on a generic bitmap of the application,

 

A label and a ride with an unlimited string is already a plus in itself )

And yes, it's Anatoly who's supposed to be in the thread.

 

Now that we've more or less figured out what to do, I suggest adding a basic class architecture clause to the first task (for all future controls, not just buttons)

----
In general, I see the whole project in the following direction

1. We are going to write a button and render it on canvas. With its events. Therefore we get into the beginning and test the bitmap gui model.

2. Make a class that combines a group of GUI elements with events (this is to account for zorder when rendering and events)

These are two complicated steps, hopefully there will be a few options, we will choose one.
After that, I'll run the open source project in bitbucket. And move on to the third stage.

3. When the architecture becomes clear, then everyone can already take it and make basic controls: Edit, Static, Droplist, etc.. I am limiting myself to these elements for now, as they will be enough for the first practical task.

I don't argue that some architectural tweaks will be needed at the control development stage. This will be solved in a couple of iterations

 
o_O:

it will not be a cool thing. it will simply be a must have. and it is not made for smart people, but for people like you, for freelancing, for the marketplace.

1 - I don't trust things/codes I don't understand

2 - As far as I remember Kanvas does not work in the strategy tester, which for many is a huge disadvantage, especially when testing paid products from the market, they simply will not work.

3 - I wish you good luck...

ZS: And I don't understand what"must have" means...

 
Vladimir Pastushak:
...

ZS: And I don't understand what"must have" means...

Just "must have" ...
 
Комбинатор:

A label and a ride with an unlimited string are already a plus in themselves )

And yes, Anatoly is supposedly called to the topic

Originally I planned to develop my library in the same direction, as suggested in this thread. I purposely started with simple standard primitives, to work out scheme, because it's easier at first stage. Now practically all the material has been published in the articles. The first stage in relation to my original plan is almost done. There will be one more main article as well as a couple of articles with updates upon request from interested users and I have also done some code and schematic optimization, which has reduced CPU resource consumption a bit.

The schematic currently looks like the one shown in the figure below. This is not the final version and it will be repeatedly changed during development of the library. But I also do not exclude strong changes, if a variant is found that gives advantages and new features that are not available in the current version.

All published materials are available and you are free to use them in your own projects or versions of similar libraries. That's what everything was published for. As each part of the series is published you can trace how the library has evolved.

I was planning to implement all the controls fully drawn on canvas (some of them have already been implemented). This is the second stage of development of the library. That is, for each control there will be a separateOBJ_BITMAP_LABEL-type object. The number of graphical objects will become much less, which in turn will also reduce CPU resources. Again, it all depends on how it will be implemented. There are always a few variants. It's advisable to try them all, if this is the first time in this environment and you don't know for sure that the chosen option is unambiguously the best.

And only after that the plan was to move on to the third stage, when all the graphical interface elements should be drawn on the same kanvas. Regarding the libraries for creating graphical interfaces, this is top notch. And it is a very big job for one person. Total abstraction and immersion into the project. Maximum concentration for a long period. And I think that if you have plans to become a professional programmer, you have to go through this. The thing is that this experience may come in handy in any programming environment later on. But if you get a team together, perhaps the development can be completed much faster.

I think this project is very interesting and useful, both for others and for myself. With great interest I will watch the development and study the materials published here. I will in any case continue to develop my version of the library and publish articles. I like the format in which I am currently working. Let that be my participation. The ideas and codes will be available to everyone and they can be used. I have very strict requirements for code design and description. Everything must be detailed, neat, presented in schemes, understandable to everyone and perfect as far as possible. Otherwise, nothing will work and risk ending up in nothing, as it has repeatedly been on this forum for many different and very interesting ideas, although the discussions involved the most professional developers present on this site. I hope this is not the case and we will get a good library for creating graphical interfaces for MetaTrader terminals, and the endless period of its absence will be forgotten like a bad dream.

 
o_O:

Greetings coders.

There's an interesting task of making something really useful...

----

So, task one and basic.

1. We need to make a class of button (let's say GButton, prefixed with G not to confuse with existing ones).

I think that after Anatoly's articles creating the same eggs in profile again is at least a strange pastime. Graphics is not a hot topic for MT at all.

  • Users don't need graphical interfaces. As a consequence, it's impossible to monitor GUI and its development will never pay off.
  • If you want to raise the skills, it's better to immediately get a job as a junior. So at least you will start making some money right away and raise your skills slowly.
  • Too narrow a target audience. Who needs libraries? - Absolutely no one, except for a handful of programmers, and they have long since written all the libraries they need. For example I have two graphics libraries of my own.

I do not want to teach anyone here, but I can give you some advice: guys, smell the powder. Learn how to work with users. Learn their psychology. Learn how to monitor their ideas. Then quickly come down to earth and you will reason in a completely different way. I, too, once believed in some special and beautiful ideas, but all this nonsense, it does not work. What you are discussing here is of no use to anyone but you.
Reason: