Qt Designer в режиме MDI

Многодокументный интерфейс[1] (англ. multiple document interface, MDI) — способ организации графического интерфейса пользователя, предполагающий использование оконного интерфейса, в котором большинство окон (исключая, как правило, только модальные окна) расположены внутри одного общего окна. Этим он и отличается от SDI, в котором окна располагаются независимо друг от друга. Разработчики широко используют оба типа интерфейса, а зачастую и интерфейс смешанного типа. Например, Microsoft меняла интерфейс Microsoft Office от SDI к MDI, а потом вернулась к SDI, хотя степень реализации включает и первое, и второе.

Среди недостатков MDI часто указывали отсутствие наглядной информации об открытых окнах, для просмотра текущего списка открытых окон в приложении пользователю было необходимо выбрать в меню пункт «открытые окна/window list», или подобный ему. В последнее время в приложениях стали появляться панели задач и вкладки для отображения открытых окон в MDI. Такой тип интерфейса иногда называют многодокументным интерфейсом с вкладками (TDI), хотя фактически это разновидность MDI.

Почти все конструкторы и редакторы приложений на сегодняшний день предоставляют по крайней мере одно решение для создания MDI-интерфейса. Так, например, в библиотеке для создания графического интерфейса на языке Java под названием Swing есть класс javax.swing.JDesktopPane, который создаёт контейнеры для отдельных фреймов (класс javax.swing.JInternalFrame). В другом популярном наборе элементов интерфейса — GTK+ — такой возможности нет.

Сравнение с SDI

править

Преимущества

править
  • В интерфейсе типа MDI (как и в TDI) общая панель меню и панель инструментов для всех дочерних окон, что уменьшает загромождённость экрана элементами интерфейса и увеличивает его полезную площадь.
  • Все окна приложения можно прятать/показывать, сворачивать/разворачивать и проводить с ними другие манипуляции, как с одним окном.
  • Дочерние окна можно размещать «черепицей» или «каскадом» в главном окне.
  • Увеличение скорости и экономия памяти при работе в одном окне, скорость переключения между дочерними окнами также выше, чем между равноправными в среде операционной системы[источник не указан 3695 дней].
  • В некоторых приложениях предусмотрены «горячие сочетания клавиш» для быстрой навигации, в частности, для переключения между окнами. Это ещё более повышает скорость и удобство работы с приложением, так как не задействуются дополнительные ресурсы операционной системы.
  • Логичное решение, если окна — части одного проекта.

Недостатки

править
  • Затруднительно (чаще всего невозможно) выводить содержимое разных дочерних окон на разные мониторы.
  • Также невозможно выводить их содержимое на разные виртуальные рабочие столы.
  • MDI может затруднить параллельную работу с разными приложениями, так как переключение между внешними окнами разных программ и дочерними окнами одной неудобно.
  • Плавающие панели инструментов одного приложения могут перекрывать рабочее окно другого, загораживая обзор, а иногда и сбивая пользователя с толку — какая панель к какому приложению относится.
  • Пользователю нужно привыкать к обоим типам интерфейса, так как введение MDI не отменяет полностью использование SDI, который заложен в большинстве операционных систем.
  • Многие оконные системы (3D Desktop, Exposé) позволяют с комфортом переключаться между программами. Подобное переключение между окнами документов, как правило, не работает.
  • Хаос на «рабочем столе» программы, когда открыто одновременно несколько документов.
  • По умолчанию использующийся в Windows интерфейс MDI не поддерживает средств переключения между окнами программы, наподобие панели задач.

Примечания

править
  1. Крис Андерсон. Основы Windows Presentation Foundation. — ДМК Пресс, 2008. — С. 68. — ISBN 978-5-457-49581-4.

📚 Artikel Terkait di Wikipedia

MDI

MDI: Medium Dependent Interface — тип Ethernet-порта. Multiple Document Interface — тип графического интерфейса в компьютерной отрасли. MDI — проприетарный

MacOS

команды Automator. Подробное руководство по построению интерфейса Human Interface Guidelines, которому следует большинство разработчиков, делает их приложения

XS (Perl)

Interfaces Between Perl and ANSI C, Visual C++ // Applications Interface Programming Using Multiple Languages: A Windows® Programmer's Guide. — Pearson, 2003

Web2py

на чистом Python язык шаблонов, не требующий использования отступов и Document Object Model на стороне сервера (DOM). Шаблонизатор может быть использован

Список награждённых Национальной медалью науки США

Белого дома президентом Бараком Обамой For pioneering research at the interface of engineering and oncology, including tumor microenvironment, drug delivery