Crowdsourced GUI. Open beta testing. - page 5

 
Yeah... I wonder if there is at least a control of correctness of such code at the compilation stage. For example, if H_TAB is written instead of _X2X etc.
 
Alexey Navoykov:
Yeah... I wonder if there is at least a control of correctness of such code at the compilation stage. For instance, if you write H_TAB instead of _X2X etc.

There are some correctness controls in place. For example, if you write h_tab instead of H_TAB or make any spelling mistake in any keyword. However, if you write code incorrectly, there is no control. Just like in usual editor.

In the above example, the group will simply be positioned incorrectly.

Here's what came up.

 
Реter Konow:

However, if you write the code incorrectly, there will be no control. Just like in an ordinary editor.

Do you mean a text editor? Those numerous random errors (such as mixing up parameters, missing something etc.) that are usually controlled by the compiler, have to be caught at run-time here by yourself.
All this apparently laconic code writing turns out to be a hell of a lot of troubles while debugging it later. You save a hundred code lines and then spend a hundred man-hours to catch even the simplest errors. It's like this...
 
Alexey Navoykov:
Are you referring to a text editor? Those numerous random errors (such as mixing up parameters, missing something, etc.) which are normally controlled by a compiler, will have to be caught at runtime here.
As a result, all this apparent brevity of code writing turns into a hell of a lot of troubles with its subsequent debugging. To save a hundred lines of code and then spend a hundred man-hours on catching the simplest errors. That's just...

Look how many windows I've glued. And how fast I'm riveting them. Why go to all that trouble? It's all very easy and fast. You just have to learn the basic rules.

Look at the code. Chains of properties, and entire groups and windows, can simply be transferred from project to project. No one forbids creating a free GUI code base from which everyone can take ready-made templates.

Each window created can become a prototype for the next.

 

Thanks, Peter, I downloaded your code, updated to version 1.3, after switching the timeframe, the cross and the taskbar at the bottom disappear, and nothing else is clicked.

Also for some reason in all tabs displays text, and should only be in the tab Hotkeys, and that in inverted commas "UP" and "DOWN" should be edited,

and it's still not clear to me what these commands are, you would post the instructions for the commands and syntax, if it's not ready yet, I'm not in a hurry


 
Rafil Nurmukhametov:

Thanks, Peter, I downloaded your code, updated to version 1.3, after switching the timeframe, the cross and the taskbar at the bottom disappear, and nothing else is clicked.

Also for some reason in all tabs displays text, and should only be in the tab Hotkeys, and that in inverted commas "UP" and "DOWN" should be edited,

and still not clear to me what these commands are, you would post the instructions for the commands and syntax, if not ready yet, I am not in a hurry


A few clarifications, Rafil.

1. You don't need to switch timeframes on the constructor chart. It's not designed for that. You model the interface on it, and then print its files: CORES and Internal_API. You connect these files to your application and it will get its own GUI.

2. You bind entire groups of objects to tabs:

//--------------------------------------------------------------------------------------------------------------
//УСТАНАВЛИВАЕМ ЯВЛЕНИЕМ КАКИХ ГРУПП БУДУТ УПРАВЛЯТЬ ВКЛАДКИ (прописываем имена групп последовательно).--------------
//--------------------------------------------------------------------------------------------------------------
"Цветовые настройки",  IS_APPEARANCE_CONTROLLER,  "Группа вкладки цветовых настроек", ... продолжаем перечисление названий групп или объектов... END,
"Индикаторы",          IS_APPEARANCE_CONTROLLER,  "Группа вкладки индикаторы",        ... продолжаем перечисление названий групп или объектов... END,
"Горячие клавиши",     IS_APPEARANCE_CONTROLLER,  "Группа вкладки клавиш",            ... продолжаем перечисление названий групп или объектов... END,
//----------------------------------------------------------------------------------


//------------------------------------------------------------------------------------
//ИМЕНУЕМ ГРУППЫ КАК ИХ ПОДКЛЮЧАЛИ ВЫШЕ. И ТОГДА, ВКЛАДКИ БУДУТ УПРАВЛЯТЬ ИХ ЯВЛЕНИЕМ:
//------------------------------------------------------------------------------------
GROUP, "Группа вкладки цветовых настроек",  

....

END_GROUP,
//------------------------------------------------------------------------------------
GROUP, "Группа вкладки индикаторы"",  

....

END_GROUP,
//------------------------------------------------------------------------------------
GROUP, "Группа вкладки клавиш",  

....

END_GROUP,

I will print out the instructions for the commands and basic rules today. There will be more updates, I'm constantly fixing bugs.


NOTE:

1. IDENTICAL NAMES CANNOT BE GIVEN TO GROUPS OR OBJECTS WITHIN THE SAME WINDOW. IF THE NAME OF AN OBJECT IS NOT ESSENTIAL, IT IS SIMPLY CALLED "A" AND IT IS CREATED AUTOMATICALLY.

2. YOU CANNOT NAME WINDOWS WITH THE SAME NAME.

 
Rafil Nurmukhametov:
... and what is in inverted commas "UP" and "DOWN" must be edited...


Explain what editing means, please.
 
Реter Konow:
Explain what editing means, please.

i.e. there must be a field for entering numbers and letters

 
Rafil Nurmukhametov:

i.e. there must be a field for entering numbers and letters

Okay. Okay, then:

//---------------------------------------------
//НАЗВАНИЯ ПОЛЕЙ ВВОДА И ПОЛЯ ВВОДА.
//---------------------------------------------
GROUP, "Group name 1",  

__,BOARD,"ПОКУПКА ПО РЫНКУ  - ''UP''",   EDIT,"ПОКУПКА ПО РЫНКУ",  

GAP,20,

__,BOARD,"ПРОДАЖА ПО РЫНКУ  - ''DOWN''",EDIT,"ПРОДАЖА ПО РЫНКУ",    

END_GROUP,
//-----------------------------------
//ПОЗИЦИЯ ГРУППЫ ОТНОСИТЕЛЬНО ПРЯМОУГОЛЬНИКА R1 (тип привязки по оси х, имя объекта привязки, поправка. тоже самое для оси y).
//-----------------------------------
i, AT, _X2X,"R1",10, _Y2Y,"R1",30,
//-----------------------------------
//ПРИВЯЗЫВАЕМ ТЕКСТ ЭЛЕМЕНТОВ BOARD К ЛЕВОМУ КРАЮ И УСТАНАВЛИВАЕМ ДЛИННУ.
//-----------------------------------
i,BOARDS,  text, _A1_,_X2X,0,  W,200,  END,
//-----------------------------------
//УСТАНАВЛИВАЕМ ДЛИННУ ПОЛЕЙ ВВОДА.
//-----------------------------------
i,EDITS,   W,100,                      END,
//-----------------------------------

Put it in place of the previous group.

zy. there will be an update in the evening. noticeable bugs have been fixed.


 
Updated the version. Printed the lesson.