roboforum.ru

Технический форум по робототехнике.

Ищу... Простой язык описания GUI

Вопросы не попавшие в другие категории.

Re: Ищу... Простой язык описания GUI

Сообщение =DeaD= » 08 сен 2011, 22:52

Michael_K писал(а):Вот в концепции "биндинга" такая процедура мне кажется уж очень корявой.
Ну, по крайней мере, неочевидной с моей точки зрения.

А в чем именно корявость - есть форма, в ней элементы "забиндены" на переменные, есть методы формы, закрытые для основного кода (основной код про такую фичу ничего не знает, он думает, что просто пользователь подряд в каждом элементе управления выставил новое значение), позволяющие выставить пакет настроек, ранее сохраненный куда-то, где грабли?

Уж простите за явно неуместную аналогию, просто каждый день работаю - в 1С есть такая вешь, как сохранение настроек формы - оно все значение позволяет сохранить под заданным именем и потом любой пакет настроек взять готовый из таких "комбо". Обычный код в форме ничего про пакетное сохранение настроек не знает.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Ищу... Простой язык описания GUI

Сообщение Michael_K » 08 сен 2011, 22:56

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

Или я вас не так понял?

К чему это приведет - к тому, что каждому элементу интерфейса (даже самому тупому) придется прикручивать обработчики событий (которые теоретически дизайнер может или должен программировать). Это доставит массу неявных проблем - например, придется реализовывать дебаггер, обработчики ошибок ран-тайма.
Последний раз редактировалось Michael_K 08 сен 2011, 23:00, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Ищу... Простой язык описания GUI

Сообщение Сергей » 08 сен 2011, 22:59

Michael_K писал(а):Вы действительно не понимаете, или притворяетесь?

Вы можете ответить на мой вопрос? Почему и в каком месте приведенный пример реализации не решает задачу разработки GUI отдельно от функционала прибора? Форма рисуется отдельно, а потом байндится к функционалу и состоянию прибора.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Ищу... Простой язык описания GUI

Сообщение Michael_K » 08 сен 2011, 23:02

Рпаспишите, пожалуйста, как происходит процесс, скрытый у вас за словами "а потом байндится".
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Ищу... Простой язык описания GUI

Сообщение Angel71 » 08 сен 2011, 23:03

Сергей, да какая разница на чём вы пишите? хоть на чистом си пишите, используя на меге свою графическую библиотеку, подгружая только файлы уи (без всякого встроенного в них кода). нужно просто реализация паттерна, т.е. нужно написать код, а не выбрать на чём писать.
вот несколько примеров
PlanetsListBox.zip
(210.99 КиБ) Скачиваний: 0

EditableCollectionSample.zip
(211.55 КиБ) Скачиваний: 0

familyshowsource.zip
(987.34 КиБ) Скачиваний: 0

откомпилированное здесь
compiled.rar
(576.84 КиБ) Скачиваний: 0
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Ищу... Простой язык описания GUI

Сообщение Сергей » 08 сен 2011, 23:08

Я и предлагаю реализацию паттерна. Я пишу уже год на XAML, и считаю эту технологию очень удачной. Я предлагаю тот же XAML, только в упрощенной форме в виде XML + Binding. Хотите примеров - смотрите примеры XAML.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Ищу... Простой язык описания GUI

Сообщение =DeaD= » 08 сен 2011, 23:08

Michael_K писал(а):С моей точки зрения корявость в том, что дизайнер в этом случае должен описать эти самые "методы формы", то есть программировать. Это типичная концепция "вижуал-бейсика".

Или я вас не так понял?

Ага, не так :) я имею в виду, что дизайнер максимум может сказать "этот контрол не сохранять в настройках", но лучше и это отпилить, чтобы дизайнер вообще не мог потрогать инструмент пакетных настроек - лучше всего место под такой инструмент зарезервировать где-нибудь в тулбаре приложения. Возможно это потребует небольшого расширения фреймворка, но вроде не фатально и достаточно прозрачно - об инструменте пакетных настроек таким образом знает только разраб фреймворка, а дизайнер и само функциональное приложение про него не знает.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Ищу... Простой язык описания GUI

Сообщение Michael_K » 08 сен 2011, 23:13

А, тогда, да. Вот я о таком и думаю как раз!
Только набор инструментов придется сильно расширять под вот такие спецслучаи.
Это не страшно, конечно... :)

С ходу, правда, фиг все предусмотришь, но по ходу, думаю, мясо будет нарастать.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Ищу... Простой язык описания GUI

Сообщение =DeaD= » 08 сен 2011, 23:19

А что за другие спецслучаи есть? Я кроме сохранения пакета настроек ничего особо не встречал...
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Ищу... Простой язык описания GUI

Сообщение Michael_K » 08 сен 2011, 23:22

Angel71 писал(а):хоть на чистом си пишите, используя на меге свою графическую библиотеку, подгружая только файлы уи

Именно это и сейчас уже реализовано (и работает) - Сишный код подгружает картинки, показывает их и т.п. Ну, пусть луа это будет делать - какая разница?

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

А ведь он еще и через пару лет прибежит, и хорошо если ко мне - вот тогда вопрос ясной структуры будет стоят очень остро.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Ищу... Простой язык описания GUI

Сообщение Angel71 » 08 сен 2011, 23:23

Сергей, ксамл - это язык разметки. :) ни больше, ни меньше. а то, про что вы пишете складывается из взаимодействия кучи "кирпичиков", один из которых ксамл.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: Ищу... Простой язык описания GUI

Сообщение Michael_K » 08 сен 2011, 23:30

=DeaD= писал(а):А что за другие спецслучаи есть? Я кроме сохранения пакета настроек ничего особо не встречал...


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

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

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

Там куча всяких таких ограничений (медицина, млин)...
Последний раз редактировалось Michael_K 08 сен 2011, 23:34, всего редактировалось 1 раз.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

Re: Ищу... Простой язык описания GUI

Сообщение Сергей » 08 сен 2011, 23:34

Вы о своем, я о своем. Ладно, забейте - в итоге все-равно получится то, что я и имел ввиду :)
Ну и посмотрите примеры, так, на всякий случай
http://msdn.microsoft.com/en-us/library/ms752059.aspx
http://www.wpftutorial.net/XAML.html
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: Ищу... Простой язык описания GUI

Сообщение Виталий » 08 сен 2011, 23:38

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

Ну согласитесь, что специфика создания интерфейсов, т.е. _интерактивных_ картинок, диктует необходимость написания какого-то кода. Но дело в том, что реализовать это одному в разумный срок - нереально.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: Ищу... Простой язык описания GUI

Сообщение =DeaD= » 08 сен 2011, 23:39

Вроде всё имеет очевидные решения:

Michael_K писал(а):Например, ты прибавляешь ток слайдером, а он дальше не хочет расти (например сопротивление нагрузки слишком велико), и должен тебе об этом сказать.

Это составной элемент, у него просто несколько биндов.

Michael_K писал(а):Причем, если ток больше некоторого порога, то окно не должно "уметь закрываться", пока ток не спадет и т.п.

А вот это уже программирование, а не дизайн интерфейса, причем "по определению".

Michael_K писал(а):Некоторые величины нельзя менять слишком быстро - параметры должны регулироваться, но обязаны нарастать плавно.

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

Michael_K писал(а):Там куча всяких таких ограничений (медицина, млин)...

И масса их явно выходит за пределы GUI :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Пред.След.

Вернуться в Обо всём

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0