Краудсорсовый GUI. Открытое бета-тестирование. - страница 36

 
Алексей Барбашин:

При открытии редакторе не понятно почему ты панель сразу не "растаскиваешь" по краям графика, почему они у тебя друг на друга накладываются? Это конечно мелочь в глобальном потоке, но это то что бросается в глаза.

Недоработка. Изначально, окно не подлежит редактированию. Когда на него переносится первый элемент, оно обретает возможность растягиватся. Включается вспомогательная разметка и значения свойств элемента пересылаются в окно свойств, где их можно редактировать. 

Нужно, чтобы окно сразу было редактируемым. Сделаю.
 
Алексей Барбашин:

Видео показало что у Петра ВСЕ построено через глобальные переменные.

функция обработки оповещений одна единственная на всю программу и в нее приходит только значение.

В этой единственной функции проверяется изменение всех имеющихся элементов управления, которые находятся в глобальном массиве. И портянка этой функции будет рости с ростом количества элементов на форме.

Петр заявил что копаться в его коде не придется: так вот именно в этой портянки и придется очень серьезно копаться. Этого можно было бы легко избежать если бы в этой функции Петр на каждом case генерировал метод стандартного события с передачей в него типа, имени и значения элемента управления. Тогда все это дело легко обрабатывалось бы в теле основного советника.

Ок. Но чтобы что-то переписать надо иметь четкое представления об организации.

Если есть мысли пишите. Думаю базовые классы это :

координаты

стили на все эвенты

ну и базовый класс самого обьекта.

Речь идет именно о базовых классах. Я честно в графике не очень силен... но запрограмировать что-то могу, правда из за того что с графикой особо не сталкивался со структурой (с организацией структуры) с первого раза могу сильно промахнуться.

 
Реter Konow:
Недоработка. Изначально, окно не подлежит редактированию. Когда на него переносится первый элемент, оно обретает возможность растягиватся. Включается вспомогательная разметка и значения свойств элемента пересылаются в окно свойств, где их можно редактировать. 

Нужно, чтобы окно сразу было редактируемым. Сделаю.

Перечитай мой пост, я не про редактируемое окно писал.

 
Алексей Барбашин:

Перечитай мой пост, я не про редактируемое окно писал.

Потому что при первом открытии все окна позиционируются по центру. Правило.
 
Реter Konow:
Потому что при первом открытии все окна позиционируются по центру. Правило.

Мы говорим про окна "редактора"! О каком правиле ты говоришь? Открываем любой редактор и у него все окна прилеплены к сторонам редактора, даже в том же метаедиторе..

 
Алексей Барбашин:

Мы говорим про окна "редактора"! О каком правиле ты говоришь? Открываем любой редактор и у него все окна прилеплены к сторонам редактора, даже в том же метаедиторе..

Ну, ты забыл, что это не релиз. Сделаю позже. 
 

А где опубликованный код? 

По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).

Так же и для свойств:  SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)

Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".

 
Алексей Барбашин:

А где опубликованный код? 

По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).

Так же и для свойств:  SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)

Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".

Там в файле подключения отсутсвует важный информационный блок. 

Вот он:

//---------------------------------------------------------------------------------------------------------------------------+
//                                              PLEASE READ CAREFULLY                                                        |
//---------------------------------------------------------------------------------------------------------------------------+
//-------------------------------------TO GET OR SET VALUE FOR YOUR VARIABLE-------------------------------------------------+
//---------------------------------------------------------------------------------------------------------------------------+
//1. To initialize your variable with this value, type:            variable = ( type of your variable )value;                |
//2. To initialize your variable with some element's value, type:  variable = E_, then, choose element and add ();           |
//---------------------------------------------------------------------------------------------------------------------------+
//---------------------------------------TO GET OR SET VALUE OF THE ELEMENT--------------------------------------------------+
//---------------------------------------------------------------------------------------------------------------------------+
//3. To use value of some element, type:                           E_, then, choose element and add ();                      |
//4. To set new value to some element, type:                       E_, then, choose element and add ( type here new value ); |
//---------------------------------------------------------------------------------------------------------------------------+
//-------------------------------------------TO OPEN OR CLOSE A WINDOW-------------------------------------------------------+
//---------------------------------------------------------------------------------------------------------------------------+
//5. To open your window, type:                                    W_, then, choose window and add ();                       |
//6. To close your window, type:                                   W_, then, choose window and add (close);                  |
//---------------------------------------------------------------------------------------------------------------------------+
//------------------------------------TO CHANGE A COLOR PROPERTY OF THE ELEMENT----------------------------------------------+
//---------------------------------------------------------------------------------------------------------------------------+
//7. To change main color of the element:                          Type E_,then, choose element and add (M_COLOR,your color);|
//8. To change text color of the element:                          Type E_,then, choose element and add (T_COLOR,your color);|
//9. To change frame color of the element:                         Type E_,then, choose element and add (F_COLOR,your color);|
//---------------------------------------------------------------------------------------------------------------------------+
//------------------------------------TO CHANGE READ ONLY PROPERTY OF THE TEXT BOX-------------------------------------------+
//---------------------------------------------------------------------------------------------------------------------------+
//10.To change READ ONLY property of the text box:                 Type E_,then, choose element and add (ONLY_READ,0 or 1);  |
//---------------------------------------------------------------------------------------------------------------------------+
//------------------------------------TO CHANGE A STATE PROPERTY OF THE ELEMENT----------------------------------------------+
//---------------------------------------------------------------------------------------------------------------------------+
//11.You can set 6 possible states of the element:        OFF, ON, LOCKED_OFF, LOCKED_ON, OFF_H, ON_H.                       |
//To set a new state of the element:                    Type E_,then, choose element and add (STATE,one of the states above);|
//---------------------------------------------------------------------------------------------------------------------------+
//***************************************************************************************************************************+
//NOTICE: THE COLOR WILL BE SET FOR THE CURRENT STATE OF THE ELEMENT. IF THE STATE CHANGES, THE COLOR WILL CHANGE.           |
//        IN EACH STATE THE ELEMENT CAN HAVE DIFFERENT MAIN, TEXT AND FRAME COLOR. MAKE SURE TO CONSIDER THE STATE           |
//        OF THE ELEMENT, WHEN YOU CHANGE IT'S MAIN, TEXT OR FRAME COLOR.                                                    | 
//---------------------------------------------------------------------------------------------------------------------------+

Здесь ответы на вопросы о получении значений элементов и других свойств.

Включу его в апи-файл. И примеры добавлю.

 
Алексей Барбашин:

А где опубликованный код? 

1. По поводу получения и установки значений элементов управления тебе необходимо добавить упрощенные функции, например такие: SetElementValue(имяЭлемента, значение) и GetElementValue(имяЭлемента).

2. Так же и для свойств:  SetElementProperty(имяЭлемента, свойство, значение) и GetElementProperty(имяЭлемента, свойство)

Можно последние функции использовать универсально так как для получения или установки значения можно передавать свойство "VALUE".

Частично реализовано. Можно расширить программное взаимодействие с элементами. Подумаю над этим.

 
Реter Konow:

Частично реализовано. Можно расширить программное взаимодействие с элементами. Подумаю над этим.

Странно.. кодируешь на родном языке, а справку пишешь на английском, да еше делаешь выпады в адрес англоязычных умников.... Странно...