Введение
Тип интерфейса программного обеспечения. Многодокументный интерфейс (MDI) — это графический пользовательский интерфейс, в котором несколько окон размещаются внутри единого родительского окна. В таких системах часто допускается встраивание дочерними окнами других окон, что позволяет создавать сложные вложенные иерархии. Это отличается от интерфейса с одним документом (SDI), где все окна независимы друг от друга.
A multiple document interface (MDI) is a graphical user interface in which multiple windows reside under a single parent window. Such systems often allow child windows to embed other windows inside them as well, creating complex nested hierarchies. This contrasts with single document interfaces (SDI) where all windows are independent of each other.
Сравнение с интерфейсом одного документа
В сообществе юзабилити ведется много споров о том, какой интерфейс предпочтительнее – с несколькими документами или с одним документом. Программные компании использовали оба интерфейса, получая неоднозначные результаты. Например, Microsoft перевела свои приложения Office с режима SDI в режим MDI, а затем обратно в SDI, хотя степень реализации различается в зависимости от компонента. SDI может быть более удобным, когда пользователи чаще переключаются между разными приложениями, чем между окнами одного приложения. MDI может быть запутанным, если не предоставляет информации о текущих открытых окнах. В приложениях MDI разработчик должен предоставить способ переключения между документами или просмотра списка открытых окон, а пользователю, возможно, придется использовать специальное меню приложения («список окон» или подобное) для переключения между открытыми документами. Это отличается от приложений SDI, где панель задач или диспетчер задач операционной системы отображают текущие открытые окна. В последние годы приложения MDI все чаще используют «вкладки» для отображения открытых окон. Интерфейс, в котором вкладки используются для управления открытыми документами, называется «интерфейсом с вкладками документов» (TDI). Другой вариант – «плиточные» панели или окна, которые упрощают предотвращение перекрытия содержимого. Некоторые приложения позволяют пользователю переключаться между этими режимами по своему выбору, в зависимости от личных предпочтений или текущей задачи. Почти все наборы инструментов для разработки графического пользовательского интерфейса на сегодняшний день предоставляют хотя бы одно решение для создания MDI. Заметным исключением был API Apple Cocoa до появления групп окон с вкладками в MacOS High Sierra. Например, графический инструментарий Java, Swing, предоставляет класс, который служит контейнером для отдельных фреймов (класс). GTK не имеет стандартизированной поддержки MDI.
Преимущества
При использовании множественных интерфейсов документов (а также интерфейсов с вкладками) общая панель меню и/или панель инструментов используется всеми дочерними окнами, что снижает беспорядок и повышает эффективность использования экранного пространства. Этот аргумент менее значим в операционной системе с единой панелью меню. Дочерние окна приложения могут быть скрыты, показаны, свернуты и развернуты как единое целое. Функции вроде "Мозаичное расположение" и "Каскад" могут быть реализованы для дочерних окон. Разработчики кроссплатформенных приложений могут обеспечить единообразное поведение приложений на разных платформах. Если в оконной среде и операционной системе отсутствует удобное управление окнами, разработчик приложения может реализовать его самостоятельно. Модульность: продвинутый менеджер окон может обновляться независимо от приложений.
Складываемые детские окна
Распространенной практикой для дочерних окон в приложениях, выполненных в стиле IDE, является возможность сворачивать их, либо когда они неактивны, либо по указанию пользователя. Свернутые дочерние окна будут примыкать к одной из четырех внешних границ родительского окна, с каким-либо обозначением или индикатором, позволяющим их развернуть обратно.
Интерфейс для таблиц с документами для подпанелей
В отличие от приложений (MDI), которые обычно предоставляют единый интерфейс с вкладками для родительского окна, приложения с интерфейсом в стиле IDE позволяют использовать вкладки для организации одного или нескольких подэлементов родительского окна.
Макинтош
MacOS и его графический интерфейс ориентированы на документы, а не на окна или приложения. Каждое окно документа является объектом, с которым пользователь может взаимодействовать. Строка меню изменяется в зависимости от того, какому приложению принадлежит активное окно. Окна приложений можно скрывать и управлять ими как группой, а пользователь может переключаться между приложениями (то есть группами окон) или между отдельными окнами, с автоматическим скрытием палитр, и большинство программ продолжают работать даже при отсутствии открытых окон. Фактически, до Mac OS X намеренно было невозможно накладывать окна из разных приложений друг на друга. Несмотря на это, некоторые необычные приложения, не соответствующие рекомендациям по дизайну интерфейса (в частности, Photoshop), демонстрируют иное поведение.