
3.2. Клиенты 177
«голое» Х-ядро, в то время как весь код приложения находится на удаленной ма-
шине. Сконфигурированный таким образом терминал часто называют просто
Х-терминалом (X terminal). В наиболее интеллектуальном виде на клиентской
машине могут быть запущены многочисленные приложения, включая менеджер
окон, и необходимость в сетевой связи отпадает.
Важно понимать, что системы пользовательского интерфейса, такие как Х-сис-
тема, только предоставляют приложениям пользовательский интерфейс. Един-
ственная информация, которую подобные приложения могут получать из систе-
мы,
—
это события, определяющие основные действия пользователя с подклю-
ченными к терминалу устройствами. Примерами подобных событий могут быть
нажатия клавиш, перемещение мыши и операции с кнопками мыши и т. п.
Составные документы
Как мы уже говорили в главе 1, современные пользовательские интерфейсы мо-
гут делать значительно больше, чем X-Windows. Так, они позволяют приложени-
ям совместно использовать одно и то же графическое окно и в процессе работы
пользователя обмениваться данными через это окно. Дополнительные действия,
которые могут выполнять пользователи, включают в себя и то, что обычно назы-
вают соответственно операциями
перетаскивания
(drag-and-drop) и редактиро-
вания по месту (in-place editing).
Типичным примером функциональности перетаскивания является перемеще-
ние представляющего файл А значка в мусорную корзину, приводящее к его уда-
лению. В данном случае пользовательский интерфейс должен быть в состоянии
делать более сложную работу, чем при выравнивании значков на экране: когда
значок Л переносится на изображение мусорной корзины, он должен передать
имя файла Л приложению, ассоциированному с мусорной корзиной. Немного по-
думав, вы легко найдете и другие примеры.
Редактирование по месту может быть с успехом проиллюстрировано на при-
мере документа, содержащего текст и графику. Представьте себе, что документ
просматривается при помощи стандартного текстового редактора. Как только поль-
зователь перемещает мышь на изображение, пользовательский интерфейс пере-
дает эту информацию приложению для работы с графикой, которое позволяет
пользователю внести в изображение изменения. Так, пользователь может повер-
нуть изображение, а это может повлиять на размещение рисунка в документе.
Пользовательский интерфейс должен в этом случае определить новую высоту
и ширину рисунка и передать эту информацию текстовому редактору. Послед-
ний, в свою очередь, сможет автоматически обновить вид страницы.
Ключевая идея, стоящая за пользовательскими интерфейсами,
—
это понятие
о
составном
документе
{compound
document).
Составной документ можно опре-
делить как набор документов, возможно различных типов (например, текст, ри-
сунки, электронные таблицы и т. д.), которые интегрируются в одно целое на
уровне пользовательского интерфейса. Пользовательский интерфейс, в котором
представляется этот документ, скрывает тот факт, что с разными частями доку-
мента работают различные приложения. С точки зрения пользователя, все части
соедрпгены в одно целое. Если изменение одной из частей влечет за собой изме-