Discussion of article "Graphical Interfaces I: Preparation of the Library Structure (Chapter 1)"

 

New article Graphical Interfaces I: Preparation of the Library Structure (Chapter 1) has been published:

This article is the beginning of another series concerning development of graphical interfaces. Currently, there is not a single code library that would allow quick and easy creation of high quality graphical interfaces within MQL applications. By that, I mean the graphical interfaces that we are used to in familiar operating systems.

What will the reader gain after reading these articles?

  • The aim of this project is to create ultimately intuitive interfaces for the end user. Developers of those user interfaces will be provided with an easy to study and use code library, which can be developed further.
  • Those developers, who are just starting to make the first steps in implementing large scale projects using object oriented methods or starting to learn object-oriented programming, will find specific material for studying with a lot of examples from the beginning to the implementation.
  • More experienced developers will find one more implementation of a library for graphical user interfaces so they can start to realize their ideas. It is good when there is a choice.
  • Those professionals who can create such libraries and are likely to have similar libraries can criticize and challenge the suggested implementation. They may be able to suggest a more suitable and efficient approach to the implementation of such projects, which is going to be interesting for less experienced readers. Such discussions are sometimes as interesting as the article itself.

I called the narration method used in this series of articles "an attempted imitation of ideal sequence". Often, in the process of real life large scale project development, sequential order of actions and the line of thinking are more chaotic and consist of many experiments, trial and error. Here, we will skip all those complications. For those who come across projects of this scale for the first time, it is recommended to repeat all the actions for a better understanding of the material, when studying this library, and the process of its development. The articles of this series give an opportunity to present the train of thought in the ideal sequence when all the answers to the majority of questions are already present and all parts of the project are created as required.

Fig. 5. Inclusion into the project of the classes for storing pointers and event handling.

Fig. 5. Inclusion into the project of the classes for storing pointers and event handling

Author: Anatoli Kazharski

 
Anatoly, do you plan to draw all controls on Canvas?
 
Igor Volodin:
Anatoly, do you plan to draw all controls on Canvas?

In this version of the library (in the implemented series of articles) only some of them. But later it won't be difficult to make classes of all elements drawn, which can be easily connected to the engine. Even a special class is already provided for this purpose. All this will be shown in detail in the next articles.

 

And it started once upon a time, just like this. )

What the first GUIs looked like: From radar screens to personal computers >>>>

1962: Sketchpad, the first GUI programme

//---

Как выглядели первые графические интерфейсы
Как выглядели первые графические интерфейсы
  • www.lookatme.ru
1962: Sketchpad, первая программа с GUI В середине XX века главной задачей инженеров было во что бы то ни стало сделать компьютеры умнее. Ради этого жертвовали всем, и дружелюбностью к пользователям в том числе. Что, впрочем, не мешало мыслителям того времени рассказывать, как со временем компьютеры будут помогать человеку во всём — на языке...
 

Are the articles ready and just waiting to be published, or just in process? What are the approximate dates of the final article?

This could be a useful thing, I would like to test it )

 
Andrey Khatimlianskii:

Are the articles ready and just waiting to be published, or just in process? What are the approximate dates of the final article?

It may turn out to be a useful thing, I would like to test it ).

At the moment 14 articles are ready. In total there will be about 20.

The publication process will not be fast. It is difficult to say approximate terms. At best it will be one or two articles per week.

 
Anatoli Kazharski:

There are now 14 articles ready. There will be about 20 in total.

The publication process will not be quick. It is difficult to give an approximate timeframe. At best it will be one or two articles per week.

Fucking hell! This topic could have its own slogan: "Recipes for User Panels, Part 238":)
 
Vasiliy Sokolov:
Holy crap! This topic could have its own slogan: "Recipes for Custom Panels, Part 238":)

In discussion, it was decided to break the parts of the whole series into chapters, as the parts were too big. )

And the "slogan" here is"Graphical Interfaces".

 
Anatoli Kazharski:

In discussion, it was decided to break parts of the entire series into chapters, as the parts were too big. )

And the "tagline" here is "Graphic Interfaces".

I see. The topic is useful for sure. I understand your classes are based on the standard set of graphics libraries from MQ?
 
Vasiliy Sokolov:
... I understand your classes are based on the standard set of graphics libraries from MQ?
Yes, and there will be a class for drawing elements, which will be discussed in the second and fourth parts. There will also be examples of how to use it.
 
Anatoli Kazharski:
Yes, and there will be a class for drawing elements, which will be discussed in the second and fourth parts. There will also be examples of how to use it.
That's great. If possible, more pictures with examples of graphical interfaces. In general, the topic is very necessary: we should have started documenting the standard library a long time ago.