Gallery of UIs written in MQL - page 41

 

As a result of installation of the new version of the constructor, you should see an updated context menu (double-click on the graph):


If you see such a menu, then the installation was successful.

 

This installation is no different from the previous one. Same steps in the same order.

There are text instructions on this blog. And in pictures too:

https://www.mql5.com/ru/blogs/post/758425

KIB-DRIVE instalation instractions
KIB-DRIVE instalation instractions
  • www.mql5.com
This archive contains: //------------------------------------------------------------------------------ 1. Folder     (1) KIB 1.0
 

Separately I would like to mention the new EA Shell v1.mq5 file

Save it in the EAs folder, but compile it only after printing the API file in the constructor. It's about the connections in its header.

1. Run the constructor and the indicator as before on one chart.

2. Immediately open the context menu and print the UIDATA and API files.

3. Transfer these files to the folder at this path:

#include<(2)  KIB PROJECTS\(5) USER PROJECTS\Project 1\

4. Compile EA Shell v1.mq5 and drop it on another chart.

5. Done.

 

A little instruction in pictures:

1.


2.


3.


4.


5.


6.


7.


 
Small installation instructions (1) EA Shell v1.mq5 further...
 

1.



2.


3.



4.



5.



6.



7.


DiscussionForumPosting - Schema.org Type
  • schema.org
Schema.org Type: DiscussionForumPosting - A posting to a discussion forum.
 

The settings windows above are intended for testing connection and response to interface events by custom functionality.

To do this, open the API file and write your calls.

By default, interface events call Alert() function printing their identifier and parameter value on events of impact on elements.

 
I'll test the new version later.
 

A list of fixes and updates in this and the next release:

Global Changes:

  • The Internal_API file has been renamed to simply ARI.
  • All defines and functions that are not relevant to user's work with controls were removed from the API file. Partially they were moved to the UIDATA file.
  • The method of linking user code with controls has been fundamentally changed. The user will have direct access to the G_CORE kernel where the controls are stored. Access is realised through wrapper functions that are printed automatically in the UIDATA file.
  • A special prefix is added to the names of the wrapper functions to make it easy to find the elements through intellisense.
  • Opened the possibility of creating a context menu for a user application. A special area in the file #include<(2) KIB PROJECTS\(1) Must be included\User section\My menu section.mqh> has been allocated
  • Added possibility to set buttons in the right part of the user's taskbar. A special area in the file #include<(2) K IB PROJECTS\ (1) Must be included\User section\ My Taskbar section.mqh> has been prepared for this purpose.
  • Custom context menu and taskbar are now called from the context menu of the constructor and do not interfere with editing other windows:


  • User context menu can call junior menu windows.
This is how it looks like after saving the project and switching to the user application mode on another chart:
.

  • The behaviour of context menu windows is similar to their behaviour in the Windows application environment.

  • Context menu options can call functions or windows. If a menu item calls a window, the window icon is automatically set to the left.



  • Local changes and improvements:

  • Fixed a problem with the taskbar jumping when switching charts. It now adapts better and faster to window resizing.
  • Thesliders work better:
  • The value tab (S_WIDGET) always accommodates the digits of the value and takes the size depending on the text size of the maximum (or minimum) value.
  • The scoreboard is positioned on one of the 4 sides as desired by the user (set by flags).
  • The slider toggles any value in any range with any The slider switches any value in any range with any number of decimal places, and in any specified step.
  • The number of decimal places (precision of the value) is set by the user (word DIGITS).
  • The size of the slider and the range of values do not play a role. The algorithm calculates the movement of the slider through the range in such a way that one end will always have a minimum and the other end will always have a maximum.
  • When clicking on the slider track, the slider automatically jumps to the place of clicking and continues moving synchronously with the user if the mouse button is pressed.
  • It is planned to add the possibility of scrolling the slider through the slider track with the mouse wheel.


  • Fixed problems with the dropdown list.

  • The list no longer jumps when the open button is clicked.
  • Fixed problem with list disappearing when scrolling to the bottom.
  • The list can be scrolled with the wheel even if the cursor is on the scroll bar or buttons.
  • The list scrolling with the mouse wheel is now faster.


  • False click problem solved:

  1. Previously, pressing a button or other similar element would cause a state change even if the press happened outside of the element space. This problem has been solved. If the user clicked on an element but changed his mind and moved the cursor away, or moved it to another element or free space of the chart, the element of the first click will always return to the previous state. As if nothing happened. The event will be cancelled and there will be no change of the parameter value. False click fixation allows you to cancel the click at the last moment simply by moving the cursor (with the mouse button still pressed) to another space.


  • It was decided to focus on creating templates for professional Windows-like settings windows to make them easier for users to create. A good example of such windows are the included Settings example 1 and Settings example 2 windows (called from the context menu and from the use of the taskbar):

  • The possibility of blocking messages has been added.

    Example:

First open the different settings windows. Their buttons are at the bottom of the taskbar. Then go to the context menu (double-click on the chart) and open the "Sorry, this order is blocked" window. It is located here:


Then try clicking on any previously opened window with the "Sorry, this order is blocked" window open. Any actions on other windows will be blocked until that window is closed. However, you can limit the list of blocked windows in the window properties in the cyber code. Then some windows will be blocked and some will not. Depending on the user's decision.


  • Now dialogue windows can be opened with sound. This is set via KIB code in window properties.
  • Dialogue windows have a special priority over other windows and are always drawn on top of settings windows.
  • The buttons of dialogue windows (Ok, Cancel, Confirm, Close) work and close their windows automatically when pressed.


  • Dialog boxes can have their minimisation feature disabled. In this case they cannot appear on the taskbar.


  • The window name can be located on the left or in the centre. It is set by a flag in the window properties (cyb-code).
  • Dialogue windows can be called programmatically from the user's application.
  • Dialogue windows can be closed automatically when clicking on another window or chart. The possibility is set by the user in the window properties in the cyb-code.


 

Added:

Menu windows now always stay inside the chart space and do not go out of view. Example:

DO NOT GO BEYOND THE RIGHT BORDER OF THE CHART:


DO NOT GO BEYOND THE BOTTOM BORDER OF THE CHART: