Интерфейс: новые направления в проектировании компьютерных систем - [60]

Шрифт
Интервал

Функция LEAP работает следующим образом: имеется две клавиши «LEAP», находящиеся под большими пальцами. «LEAP-Up» производит поиск вперед от позиции курсора, a «LEAP-Down» – назад. При нажатии на клавишу «LEAP» включается квазирежим, после чего все, что вы ввели, воспринимается как шаблон поиска. Для выборки документа вы должны нажать «LEAP-Up» и ввести символ документа (LEAP-Up↓ Doc↓ ↑↑). Мы перемещаемся к началу документа. Затем мы нажимаем «LEAP-Down» и вводим символ документа (поиск в этом случае найдет символ документа в конце документа). Одновременное нажатие на обе клавиши «LEAP» позволяет выделить весь текст. (Вероятно, удобнее всего это делать с помощью больших пальцев, которые редко используются при работе с клавиатурой. См. рис. 2.1 с изображением обычной клавиатуры, снабженной клавишами «LEAP». Альтернативным вариантом является клавиша «Выбрать» (Select).) Для того чтобы сделать эту функцию видимой, рядом с клавишами «LEAP» необходимо поместить какое-то обозначение. Например, можно использовать надпись: «Для создания выделения нажмите одновременно на обе клавиши LEAP». Обратите внимание, что пользователю не требуется смотреть на экран при выборе документа. Когда документ выбран, нажатием клавиши «LEAP» курсор перескакивает на тот объект, куда нам необходимо вставить текст, после чего дается команда Копировать (Copy). При таком выделении документ включает свои разделители. Таким образом, если документ перемещается, он сохраняет в себе свою сущность как документ, поскольку эти разделители перемещаются вместе с ним.

Та же самая техника, которая использовалась для копирования документов (или другой выборки любой длины, начиная от единственного символа и заканчивая набором документов или даже всем содержанием системы (!)) из одного места в другое, может быть использована и для перемещения выборки. Разница состоит только в том, что подается команда Переместить (Move) вместо команды Копировать (Copy). В функциональном отношении этот процесс является не более сложным, чем аналогичные процессы в обычных пользовательских графических интерфейсах. Зачастую он оказывается более быстрым, а число методов, понятий и структур, которые должен знать пользователь, оказывается меньшим.

Сравним перемещение нескольких выборок из разных документов на диск с помощью клавиши «LEAP» с выполнением этой же задачи в обычном пользовательском графическом интерфейсе. В первом случае метод будет аналогичным тому, который применялся для перемещения документов на диск. Объекты, предназначенные для выборки, сначала находятся (при этом необходимости их открывать нет), потом они выбираются, как это было описано выше (за исключением того, что в начале и в конце выборки используются символы не документа, а текста), и затем они копируются в нужное место. В обычном пользовательском графическом интерфейсе пользователь должен сначала открыть документ, в который будет производиться копирование (возможно, это потребует использования команды Создать (New) из меню Файл (File)), потом найти документ, который содержит нужную выборку, открыть этот документ, найти выборку внутри документа, выделить ее, применить команду Копировать (Copy), сделать активным документ назначения, вставить выборку, активировать рабочий стол, найти следующий документ, содержащий нужную выборку, повторить всю процедуру до тех пор, пока все выборки не будут – вставлены в документ назначения. После этого вы должны сохранить результат на диске, используя специальное диалоговое окно.

Даже если бы уровень сложности выполнения задач был одинаковым для обоих подходов, концептуальная простота методов, описанных в этой книге, делала бы их более предпочтительными. В большинстве же случаев объем необходимой работы также оказывается намного меньшим, чем при использовании обычных интерфейсов.

5.4. Поиск строк и механизмы поиска

Маленький шаг большого человечества.

Нейл Армстронг (1969)

Прежде чем продолжить рассмотрение функции LEAP, имеет смысл рассмотреть несколько более подробно вопрос использования интерфейсов для поиска. Строкой (string) называется последовательность[33] символов. Обычные английские слова и предложения являются примерами строк. При поиске по строке (string search) происходит просмотр (обычно длинной) последовательности, называемой текстом, с целью обнаружения (обычно короткой) последовательности, указанной пользователем и называемой шаблоном (pattern). Каждый случай совпадения между подстрокой текста и заданной комбинацией называется объектом поиска (target). Например, при попытке найти в большом письме место, где вы писали о кошке по кличке «маленькая Татсу», наиболее подходящим объектом поиска будет маленькая Татсу, а еще более короткая строка Татсу будет хорошим шаблоном. Совпадение может быть полным, может зависеть от регистра символов или от других параметров (например, соответствие может быть по рифме). Наиболее распространенный критерий поиска, по которому легко искать, заключается в том, что строчные буквы в задаваемой комбинации соответствуют как строчным, так и прописным буквам в тексте, тогда как прописные буквы в задаваемой комбинации соответствуют только прописным буквам в тексте. Обычно поиск начинается от текущей позиции курсора и осуществляется вперед. В большинстве систем с помощью модальных пользовательских установок можно произвести поиск в обратном направлении (рис. 5.3).


Рекомендуем почитать
Графика DirectX в Delphi

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.