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

 
Alexandr Andreev:

В этом случае надо заранее знать наизусть название всех элементов, а тут в файле уже все с генерировано

Как видим из видео - знать название элементов нужно в любом случае. В принципе это логично.

Вот только я не понял как можно самостоятельно давать осмысленные имена элементам управления. Видимо никак.

 
Alexandr Andreev:

ну свои-то переменные проще помнить чем учить чужие.

А в обще в коде должно быть минимум глобальных переменных все реализуется через передачу кусков памяти и обработкой сразу нескольких значений. Логично что ..... .... .... ЗЫ попытался вырезать слова связные с объектами напрямую.

В общем проще обычные коолбэки.

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

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

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

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

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

Как видим из видео - знать название элементов нужно в любом случае. В принципе это логично.

Вот только я не понял как можно самостоятельно давать осмысленные имена элементам управления. Видимо никак.

Элементам имеющим на себе текст - кнопки например, можно писать имена прямо на них (дабл-клик), или во втором сверху поле ввода на панели свойств. Остальным, - только в поле имени на панели свойств. Там же, задается наименование окон (самое верхнее поле).
 
Реter Konow:
А что Вы имеете ввиду под окружающей средой? 

язык разметки

 

Видео четко показало что получить значение от конкретного элемента управления в конкретном месте не получится. Значение можно получить только в момент события изменения в той большой простыне. А все потому, что просто обратиться не к чему так как объектов нет...

Петр сказал что для того, чтобы хотя бы немного переделать его код нужен как минимум год... я в этом не уверен. Обычное редактирование текстов, чем и являются куски кода, позволит очень быстро выполнить в них замену одного на другое. Но это уже совершенно другая песня...

 
Для задания имени элементу в поле окна свойств, элемент должен быть в фокусе. Проще говоря, на него нужно кликнуть и все его свойства отразятся в панели свойств и будут доступны для редактирования. Классический подход виз.редакторов.
 
Реter Konow:
Элементам имеющим на себе текст - кнопки например, можно писать имена прямо на них (дабл-клик), или во втором сверху поле ввода на панели свойств. Остальным, - только в поле имени на панели свойств. Там же, задается наименование окон (самое верхнее поле).

Пересмотрел еще раз видео - да, это так, извини не сразу заметил. Это действительно классический подход. Имя элемента и текст на нем (content) могут не совпадать.

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

Видео четко показало что получить значение от конкретного элемента управления в конкретном месте не получится. Значение можно получить только в момент события изменения в той большой простыне. А все потому, что просто обратиться не к чему так как объектов нет...

Петр сказал что для того, чтобы хотя бы немного переделать его код нужен как минимум год... я в этом не уверен. Обычное редактирование текстов, чем и являются куски кода, позволит очень быстро выполнить в них замену одного на другое. Но это уже совершенно другая песня...

Эх, видимо придется еще видео делать... забыл показать как советнике получить значение элементов. Тот же вызов, только при пустых скобках, возвращает текущее значение элемента.

Есть еще возможность, тем же вызовом менять цвета и состояния элемента. 

Сегодня сделаю маленькое демо в гифке.
 
Реter Konow:
Эх, видимо придется еще видео делать... забыл показать как советнике получить значение элементов. Тот же вызов, только при пустых скобках, возвращает текущее элемента.

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

 
Реter Konow:
Эх, видимо придется еще видео делать... забыл показать как советнике получить значение элементов. Тот же вызов, только при пустых скобках, возвращает текущее значение элемента.

Есть еще возможность, тем же вызовом менять цвета и состояния элемента. 

Сегодня сделаю маленькое демо в гифке.

Ах, ну да. Об этом можно было бы и догадаться.. я затупил. Поскольку у тебя все построено на глобальных переменный и отсутствует понятие контекста, то конечно все что угодно можно получить от чего угодно в любом месте программы.