powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Генерация интерфейсов
8 сообщений из 8, страница 1 из 1
Генерация интерфейсов
    #38439080
Idid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некоторые объекты с кучей свойств.
Свойства образуют некую иерархию, и хорошо ложатся на XML.
Понятно, что их можно описать в виде некой XML Schema, которая задаст типы для каждого свойства и отношения (связи, один к одному, один ко многим и пр.) В XML Schema можно добавить дополнительно данные, которые определят например пользовательские названия свойств, желательные виды редактирования и пр. Используя эту информацию можно сгенерить некий пользовательский интерфейс (набор стандартных элементов, иерархию вызова форм), который позволит задать все эти свойства объекта (не в виде хмл тегов, а в нормальном пользовательском интерфейсе), соответственно обрабатывая пользовательские ошибки (это не заполнено, тут должно быть число, тут нужно ввести дочерний элемент и пр.) На выходе должен быть заполненный XML соответствующий XML Schema.

Вопросы собственно вот какие:
Есть ли стандарты, которые это описывают (т.е. дополнительную мета информацию, для генерации пользовательского интерфейса)
Есть ли реализации, которые это делают (желательно Open Source)
или скажите как это называется, я что-то затрудняюсь сформулировать это для google
...
Рейтинг: 0 / 0
Генерация интерфейсов
    #38439093
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idid, были такие разработки, не одна, стандартов не припомню, что бы были.

Есть похожая штука xul, но это не совсем то.
Были также проекты в gnu.
...
Рейтинг: 0 / 0
Генерация интерфейсов
    #38439137
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Генерация интерфейсов
    #38439146
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обобщенно это называют "динамическими интерфейсами".

Из работающих примеров могу ткнуть пальцем в Glade. Любыми средствами формируешь XML с описанием интерфейса, прогоняешь его через GtkBuilder и ура. Потом остается только сделать привязку внутренних переменных к элементам UI, обычно это делается по именам ui-объектов, но можно и что-то более навороченное придумать. Стандартов на это насколько я знаю нет.
Подобное же есть и в Qt, не помню сходу как называется соответствующий класс.
В IUP это тоже вроде можно делать, но там используется led - собственный формат описания интерфейса с которым я так и не разобрался.
...
Рейтинг: 0 / 0
Генерация интерфейсов
    #38439798
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idid,

Посмотри Qt QUiLoader. Пример http://www.java2s.com/Code/Cpp/Qt/QtUIloader.htm
...
Рейтинг: 0 / 0
Генерация интерфейсов
    #38439806
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idid,

Или вообще переходи просто на декларативные технологии типа QML (разметка + поведения на JavaScript), JavaFX (разметка и поведение) и т.п.
...
Рейтинг: 0 / 0
Генерация интерфейсов
    #38440623
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Idid,

была такая хрень - BoldForDelphi/BoldForC++Builder.

Описывается иерархия классов (текст, либо с помощью RationalRose, либо с помощью ModelMaker), генерируется набор классов в подходящем языке (Delphi/C++). Для класов, отмеченных как persistence, генерируется структура для хранения в СУБД (или даже в текстовом XML файле).

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

Как бы можно было быстро создать прототип сложной рабочей системы, но под нагрузкой все дико тормозило. Оптимизировать было практически невозможно: проблемы с исходниками, поддержкой и документацией.

Все умерло.
...
Рейтинг: 0 / 0
Генерация интерфейсов
    #38440636
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хочется стандарт, то "ближайший подходящий" --- Fresnel - Display Vocabulary for RDF . И технически возможно сделать RDF и XML, напустить какой-нибудь френель, а из результата сделать XML . Но это если у вас не меньше тысяч или хотя бы сотен разных типов объектов. Если их меньше, то вам не понравятся усилия, потребные для освоения этой инфраструктуры. То есть в принципе-то там всё просто, но ведь вам нужно дорыть вглубь до уровня, годного для продуктивной работы за деньги, а не для учебного "хелло кто-нибудь".

Иные машиностроители юзают язык описания автокадовских диалогов, в надежде когда-нибудь переиспользовать его непосредственно в автокаде, но больше из-за лени учить ещё чего-нибудь. Там удобен полнейший пофигизм к разрешению экрана и вообще к типу устройства, (позже это назвали "динамическая вёрстка"), но полностью отсутствуют некоторые "очевидные" вещи, вроде горизонтальной прокрутки.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Генерация интерфейсов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]