Дальнейшее развитие инструментария привело к появлению понятия widget (заготовка) -- объекта более сложного, чем перечисленный выше набор простых средств ввода в прикладную программу, хотя и включающих в себя эти средства. Такой инструментарий не стандартизован, различные фирмы (Apple, Sun, etc) предлагают существенно разный набор средств, как по номенклатуре, так и по функциональным возможностям. В качестве примера рассмотрим набор простых, составных и дополнительных заготовок, предоставляемых программным продуктом OSF/Motif.
Основные:
Область рисования | графическое пространство |
Разделитель | линии разделяющие области |
Метка | статический текст |
Шкала | слайдер для получения числа |
Зона прокрутки | управление прокруткой |
Три типа Кнопок | управляющие кнопки с различным статусом |
Каскадные Кнопки | кнопки для каскадных меню |
Необязательные поля | отображение перечислимых значений переменной |
Текст | ввод и редактирование текста |
Команды | клавиатура с описанием |
Составные:
Доска объявлений | панель с произвольным размещением объектов |
Экранная форма | форма размещения объектов с выравниванием |
Список | список строк |
Вертикальное подокно | столбец с изменяемой высотой |
Строка/Столбец | объект с ограничениями по строкам и столбцам |
Зона меню | область меню для выпадающего меню |
Кадр | контейнер для поддержки 3D обрамления |
Дополнительные:
Прокрутка текста | область прокрутки текста |
Прокрутка списка | область прокрутки списка |
Окно прокрутки | обобщённая область прокрутки |
Радио поле | набор радио кнопок |
Поле выбора | выбор из списка строк |
Поле выбора файла | специализированная область селектирования файлов |
Основное окно | прикладное окно верхнего уровня |
Поле диалога | транзитное поле диалога |
Диалог в экранной форме | транзитное поле диалога для экранных форм |
Меню | ``выпадающее'' или ``выпрыгивающее'' меню |
Сообщение/предупреждение | зона диалога для печати сообщений |
На базисе этих элементов интерфейса сейчас реализовано множество более сложных объектов универсального назначения. Сейчас на рынке программного обеспечения предлагается множество библиотек таких объектов и средств для управления ими. Например, семейство widget XRT компании KL Group Inc.
Несмотря на явное облегчение создания интерфейса пользователя с помощью такого инструментария, более передовым следует считать использование интегрированной среды разработки и управления диалогом. Основной целью таких систем является отделение процесса конструирования интерфейса от разработки прикладной программы.