GUI à l'initiative de la foule. Test bêta ouvert. - page 7

 

Il n'y a probablement aucun intérêt à continuer à apprendre le langage de balisage. Pourquoi pas ? Aujourd'hui, il est devenu évident que le constructeur visuel va le remplacer. Je n'aurais jamais pensé que son design deviendrait un jour aussi clair, mais c'est le cas. C'est dommage bien sûr, mais c'était le plan. Je vais décrire brièvement la fonctionnalité et les principes de l'éditeur :

  1. Trois fonctions de base, (comme les trois éléphants qui soutiennent le monde) :
  • Ajouter un élément au noyau.
  • Retirer un élément du noyau.
  • Déplacer un élément dans le noyau.

Deux fonctions pour modifier les éléments :

  • Définir la mise au point de l'édition.
  • Modifier l'article.

3. des fonctions permettant de travailler sur des projets :

  • Projet de charge.
  • Sauver le projet.

Les fenêtres requises pour l'éditeur. 4 :

  • Sélection des contrôles.
  • Sélectionnez la mise au point.
  • Sélection de propriétés.
  • Fenêtres permettant de sélectionner les valeurs de différentes propriétés (couleurs, cadres, polices...).
  • Fenêtres permettant de définir les paramètres des tableaux, listes et menus créés.
  • Fenêtres de confirmation des actions.

Maintenant, un peu d'explications :

  • Fonction permettant d'ajouter un élément au noyau : Comme vous le savez, le noyau est divisé en deux zones - standard et utilisateur. L'ordinaire contient les prototypes des éléments (à l'intérieur de la fenêtre de sélection). Lors du transfert de l'élément vers la fenêtre utilisateur, la taille de la partie utilisateur du noyau est augmentée et l'espace libre est rempli avec le modèle de l'élément de la zone du personnel. Ensuite, l'ordre de numérotation des objets dans le noyau est réécrit et le nouvel élément prend sa place. La partie la plus difficile est de réécrire correctement le noyau, car de nombreux paramètres sont impliqués dans ce changement.
  • La fonction de suppression d'un élément est essentiellement une fonction inversée d'ajout d'un élément. C'est la même chose, mais à l'envers.

  • La fonction déplacer l'élément dans le noyau manipule essentiellement les deux fonctions décrites ci-dessus.

  • La fonction la plus importante de mon éditeur est la fonction de mise au point de l'édition. Ce que c'est : l'utilisateur sélectionne les éléments, objets et propriétés qui vont être édités. Voici comment procéder : un clic sur un élément le met automatiquement au point et, à l'aide de la fenêtre de changement de point de mire, tous les éléments de ce type peuvent être mis au point, ou un seul objet dans un élément ou un ensemble sélectionné d'éléments peut être mis au point. C'est-à-dire que vous pouvez faire basculer la cible d'édition. Par exemple, si nous sélectionnons 'cet élément' et 'base' comme option de focalisation, les éditeurs travailleront avec les propriétés de cette base, et si nous prenons 'Type d'élément dans la fenêtre' et 'Texte' comme option de focalisation, les éditeurs modifieront les propriétés de tous les éléments de texte dans la fenêtre. Et ainsi de suite. Plusieurs options de mise au point peuvent être disponibles pour rendre l'édition pratique et rapide.
  • La fonction de modification transfère les valeurs des propriétés des éléments modifiés aux paramètres des éditeurs qui travaillent avec les valeurs résultantes, puis les renvoie aux propriétés d'origine, après quoi elle redessine les éléments modifiés.

  • La fonction Load Project est une inversion de la fonction Save Project, qui fonctionne bien dans le constructeur (appelé depuis le menu et qui imprime le fichier "CORES"). Il prend les noyaux sauvegardés dans le fichier et les replace dans la zone utilisateur d'où ils ont été déchargés dans le fichier.

  • Les fenêtres nécessaires à l'éditeur sont en partie déjà en place. Il y a quelques temps, j'ai créé une vidéo sur Visual Studio, où je montrais la création de son prototype. Toutes les fenêtres nécessaires ont été écrites dans un langage de balisage. Cela me permet donc d'économiser du temps et des efforts.
  • De plus, quelque part dans les archives se trouve une fonction de cadre bleu, qui permet de sélectionner des éléments à éditer.
  • Il existe déjà des fonctions permettant de redimensionner les éléments (illustrées dans le gif) et de les déplacer, ce qui constitue une partie cruciale du processus d'édition.


C'est tout. C'est une réalité absolue. Donc, le langage de balisage nous échappe... Je suis personnellement triste...

 
Реter Konow:

Il est probablement inutile de continuer à apprendre le langage de balisage. Pourquoi pas ? Aujourd'hui, il est devenu évident que le constructeur visuel va le remplacer. Je n'aurais jamais pensé que son design deviendrait un jour aussi clair, mais c'est le cas.

Hourra !
Vous et moi en avons déjà parlé il y a presque 3 ans :))

 
Mardi, je présenterai une version minimale du vis-editeur. Il créera une fenêtre, ajoutera des éléments (un par un), modifiera la position, la taille, la couleur (pas encore de focus fantaisie) et enregistrera dans le projet. Le travail sur le reste des choses prendra jusqu'à la fin du mois, je pense. Peut-être un peu plus longtemps. L'éditeur sera disponible pour tous.
 
Nikolai Semko:

Yay !
Vous et moi en avons déjà parlé il y a presque 3 ans :))

Oui, Nikolaï :)) C'est arrivé !))

 
Nikolai Semko:

Yay !
Vous et moi en avons déjà parlé il y a presque 3 ans :))


Je l'ai dit aussi, qu'il est plus facile d'écrire un projet sur peluche ou embarcadero que d'enseigner le markup......
 

Ce soir (dans environ 5 heures...), je présenterai un prototype fonctionnel de l'éditeur visuel, où vous pourrez ajouter des éléments et modifier les propriétés en mode "manuel". Je vous invite à l'essayer et à donner votre avis. Son développement se fait à une vitesse énorme, ce à quoi je ne m'attendais pas, et ce que vous allez voir n'est que le début. Par conséquent, ne le jugez pas sévèrement. Sa fonctionnalité peut être multipliée et améliorée plusieurs fois en quelques semaines.

 

Publié.

Instructions rapides :

Décompressez l'archive et installez le conseiller KIB_Studio.ex5 dans le dossier experts et l'indicateur Empty_window.ex5 dans le dossier indicateurs. Exécutez d'abord le conseiller, puis l'indicateur.

1. La fenêtre du menu apparaît. Il contient des contrôles de base.

2. Après le chargement de l'indicateur, une fenêtre vide apparaît pour l'édition.

3. Faites glisser et déposez les éléments de la fenêtre de menu sur le kanvas de la fenêtre vide et modifiez-les.


L'édition comprend les options suivantes :

1. le redimensionnement des objets (la base des éléments (boutons) et les textes). Certains des éléments ne changent pas certains de leurs paramètres. Ceci est fait pour garder leur intégrité. Par exemple, la liste popup ne change pas la hauteur et la position de son texte et les paramètres de son bouton.

2. Déplacement d'éléments sur la toile. Vous pouvez déplacer à la fois l'élément entier et ses parties (encore une fois - pas pour tous les éléments). Pour un élément, le mouvement est limité par le kanvas, et pour ses objets internes - par l'espace de sa base. La correction est automatique.

3. ouvrez les fenêtres de sélection des couleurs, des polices et des icônes en cliquant sur l'onglet "Propriétés principales" du menu. Pour éditer un objet, cliquez dessus, puis cliquez sur les couleurs, les polices ou les icônes souhaitées, selon l'objet d'édition sélectionné.

4. Il est possible de redimensionner le texte en cliquant dessus, avec les flèches haut et bas ou gauche et droite et en déplaçant le curseur. Le texte change de taille en devenant plus petit ou plus grand.

5. Vous pouvez modifier l'angle du texte en le faisant pivoter. Pour ce faire, saisissez la flèche dans le coin supérieur gauche et tirez. La flèche pointe en diagonale de gauche à droite.

6. Il est possible de taper sur les éléments en modifiant leur texte. Pour ce faire, double-cliquez sur le texte. Une boîte de saisie apparaît. Un autre clic et le texte est sélectionné. Vous pouvez ensuite l'effacer et imprimer autre chose.

7. Vous pouvez déplacer des objets en saisissant le centre de leur côté supérieur lorsqu'une croix apparaît.


Документация по MQL5: Программы MQL5 / Выполнение программ
Документация по MQL5: Программы MQL5 / Выполнение программ
  • www.mql5.com
Каждый скрипт, сервис и эксперт работает в собственном отдельном потоке. Все индикаторы, рассчитываемые на одном символе, даже если они запущены на разных графиках, работают в одном потоке. Таким образом, все индикаторы на одном символе делят между собой ресурсы одного потока. В одном потоке с индикаторами также последовательно выполняются...
 

Bravo, Peter !
Beaucoup de travail a été fait.

Un bon départ a été pris.
Le fichier contenant le code est-il généré ? Je n'ai pas pu le trouver.

 
Nikolai Semko:

Bravo Piotr !
Bon travail.

Le début a été fait.
Le fichier contenant le code est-il généré ? Je ne l'ai pas trouvé.

Merci, Nikolaï.

Les fichiers boot et api sont générés via le menu principal (double-clic sur le graphique), mais cela ne vaut pas encore la peine d'essayer dans cette version. Le moteur doit être amélioré sur place et tout ne se fait pas dans le studio lui-même. C'est un peu tôt. D'ici la fin du mois, j'essaierai de porter toutes les fonctionnalités de la langue vers l'éditeur.

 

que tout se passe dans le cadre du style habituel. Il y a certains moments, comme le bouton de lien, le bouton de survol, le bouton de clic, et juste le bouton. Et pour chaque moment, ils créent généralement leurs propres styles, ou un mélange de ceux-ci.

A vrai dire, je n'ai toujours pas compris dans ce genre de choses comment organiser la mise en place d'un code exécuté pour un bouton. Pour que ce soit aussi visuel. Et aussi avec ses propres contrôles d'erreurs dans le code.


Un exemple frappant d'un tel travail serait la création d'un menu pour la création d'un menu. C'est-à-dire, si graphiquement il sera possible de faire le menu de gauche ou de droite avec le code embarqué pour ainsi dire à la volée.

Ou est-ce qu'il ne fait que générer des boutons dans le code.... ?

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