Элеме́нт интерфе́йса — примитив графического интерфейса пользователя, имеющий стандартный внешний вид и выполняющий стандартные действия.
Другие названия: элемент управления, ви́джет (), контро́л (), компонент (из терминологии Embarcadero Delphi).
Происхождение термина «виджет» Употребляется примерно с 1920-х годов в американском английском для обозначения простой, но необходимой вещи, маленького изделия, название которого временно забыто говорящим. Online Etymology Dictionary предполагает, что на его форму могло повлиять слово или же оно происходит от — «этот, как его». Другие словари предполагают словослияние «window gadget» (), также произошедшее в начале XX века.
Слово «виджет» также используется и как название класса вспомогательных мини-программ — графических модулей, которые размещаются в рабочем пространстве соответствующей родительской программы и служат для украшения рабочего пространства, развлечения, решения отдельных рабочих задач или быстрого получения информации из интернета без помощи веб-браузера.
Типовые элементы интерфейса аккордеон () кнопка () сдвоенная кнопка (split button) — кнопка, вызывающая список со вторичным(и) действием(и) (кнопками) радиокнопка () флаговая кнопка () кнопка переключения (toggle button) — может находиться в одном из двух состояний: активна или неактивна значок (иконка, ) список () дерево — иерархический список () раскрывающийся список () метка () поле редактирования () элемент для отображения табличных данных () меню () главное меню окна ( или menu bar) контекстное меню () ниспадающее меню () окно () диалоговое окно () модальное окно () панель () вкладка () панель инструментов () полоса прокрутки () ползунок () строка состояния () всплывающая подсказка ()
Встречаются и другие элементы управления, которые могут не входить в некоторые наборы: Радиальное меню (pie menu или radial menu) — кольцевое меню вокруг курсора. Выбор пункта меню осуществляется движением курсора в направлении пункта меню. Кнопка последовательного выбора — элемент, значение в котором выбирается последовательным нажатием мыши по нему. В отличие от раскрывающегося списка, такая кнопка не позволяет видеть другие значения, кроме выбранного. Счётчик — двунаправленный вариант для числовых значений. Нажатие на кнопку позволяет изменить значение параметра на единицу в большую или меньшую сторону. Heads-up display — отображение поверх всех элементов значения каких-то параметров либо важных сообщений. Пузырь — подсказка наподобие филактера в комиксах, которая указывает на элемент — источник сообщения. Валкодер — вращающийся элемент управления наподобие ручки настройки во многих радиоприёмниках. Может быть как одно-, так и многооборотным. Скрываемый виджет — элемент, позволяющий скрыть часть элементов управления, когда они не используются. Индикатор уровня (Level Indicator) — элемент для индикации значения какой-либо величины. Иногда вместо него используется индикатор процесса, но некоторые руководства (к примеру, HIG от Apple) запрещают подобную практику.
Библиотеки элементов интерфейса В каждой оконной системе существует свой набор «родных» элементов с интерфейсом низкого уровня для работы с ними. Одни библиотеки элементов управления — это высокоуровневые «обёртки» к имеющимся стандартным виджетам, упрощающие работу с ними и расширяющие их функциональность. Другие предоставляют свой единый программный интерфейс для программирования интерфейса пользователя в нескольких платформах или оконных системах и с целью обеспечения кроссплатформенности приводят их к единому для всех платформ API. Третьи предоставляют кроссплатформенные возможности за счёт собственной, платформонезависимой, реализации элементов управления.
Кроссплатформенные, на основе Java Standard Widget Toolkit — в составе проекта Eclipse Swing — разработка Sun, компонента Java Foundation Classes (JFC) на основе AWT AWT — частично устаревший Abstract Windowing Toolkit (Sun, 1995) JavaFX — платформа для разработки RIA на Java
Кроссплатформенные, на основе C/C++, с возможностью использования в других языках Tk GTK+ Qt wxWidgets (wxWindows) IUP FOX toolkit FLTK
Кроссплатформенные, на основе Pascal LCL CLX — адаптация интерфейса Qt для Borland Delphi & Kylix
Кроссплатформенные, на основе AJAX Dojo ExtJS YAHOO User Interface library Под AmigaOS Intuition Reaction MUI (Magic User Interface)
Под AROS Zune
Под DOS Turbo Vision — в составе Borland Turbo Pascal 6.0/7.0, текстовый интерфейс Zinc — библиотека для Borland C++
Под Microsoft Windows Windows API Microsoft Foundation Classes Windows Template Library Object Windows Library (Borland Pascal 7.0, графический интерфейс) Visual Component Library (Borland Delphi) Windows Forms Windows Presentation Foundation (или Avalon)
Под Unix — для X Window System Xlib Xt Xaw Motif (Open Motif, LessTif)
Под BREW BUIW
Графический интерфейс для игр MyGUI GWEN CEGUI
См. также
Гаджет Портлет Скин GUI-конструктор
Примечания
Ссылки Программа XWidget для операционной системы Windows Fox-Toolkit Терминология GUI-проектирования