Конвенции для поведения двойного или тройного “щелчка для выбора текста” функции?

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

Пример - двойные щелчки некоторых программ не выбирают конечное пространство после слова, но большинство делает. Некоторые распознают - символ как конец слова, другие не делают. ТАК любит выбирать весь абзац, поскольку я пишу это сообщение, когда я утрою щелчок это, веб-разработчика VS, 2005 не имеет никакой тройной поддержки щелчка, и ультраредактирование 32 выберет одну строку при тройном нажатии. Мы могли придумать неисчислимые несоответствия о том, как двойное и тройное сопоставление с образцом щелчка реализовано через программы.

Я обеспокоен тем, как реализовать это поведение в моей программе, если никто больше не достиг конвенции о том, как сопоставление с образцом должно работать.

Мой вопрос, делает конвенцию (конвенции? возможно, MS или конвенция Linux?) существуют, который диктует, как эти функции, как предполагается, ведут себя конечному пользователю? Что, если таковые имеются, не так ли?

7
задан skaffman 20 March 2012 в 14:22
поделиться

3 ответа

Я не верю, что существует стандарт того уровня спецификации, который вам нужен, и, вероятно, его не должно быть. Руководство Apple Human Interface Guidelines является наиболее полным. Что касается выбора содержимого (в отличие от элементов управления или отдельных объектов данных), они говорят:

Двойной щелчок чаще всего используется как ярлык для других действий, таких как… для выбора слова. Тройной щелчок выбирает следующую логическую единицу, как определено приложением. В текстовом документе тройной щелчок по слову выделяет абзац, содержащий слово…. Двойной щелчок внутри слова выделяет слово. Выбор должен обеспечивать «умное» поведение; если пользователь удаляет выбранное слово, например, следует также удалить пробел после слова ... В некоторых контекстах - например, в языке программирования - может быть уместным разрешить пользователям выбирать как левую, так и правую круглые скобки (или фигурные скобки или скобки) в паре, а также все символы между ними, дважды щелкнув любой из них ». (p115-116)

Apple довольно четко определяет, какие символы входят в слово, а какие нет.

В рекомендациях Microsoft по взаимодействию с пользователем в Windows говорится:

Для некоторых типов выбираемых объектов каждый щелчок усиливает эффект щелчка. Например, одиночный щелчок в текстовом поле устанавливает место ввода, двойной щелчок выделяет слово, а тройной щелчок выбирает предложение или абзац. (p430)

Рекомендации по дизайну Java Swing Look and Feel гласят:

Двойной щелчок (щелчок кнопкой мыши дважды в быстрой последовательности без перемещения мыши) используется для выбора более крупных единиц (например, для выбора слово в текстовом поле)…. Тройной щелчок (нажатие кнопки мыши три раза подряд без перемещения мыши) используется для выбора даже более крупных единиц (например, для выбора всей строки в текстовом поле)…. Тройной щелчок по строке текста отменяет любой существующий выбор и выделяет строку.

В Руководстве по человеческому интерфейсу Gnome ничего не говорится о том, что должно делать двойной и тройной щелчок.

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

Например, очевидно, что смысл включения конечного пробела при двойном щелчке слова заключается в том, что пользователи обычно выбирают слово, чтобы скопировать или вставить его в другое место в тексте.Это означает, что вы автоматически включаете конечный пробел, чтобы пользователю не приходилось вручную удалять оставшееся дополнительное пространство в источнике и добавлять пробел для разделения слов в месте назначения.

Аналогичным образом, если пользователи выбирают строку кода или абзац, чтобы скопировать или переместить его в другое место, вы, вероятно, захотите включить символы новой строки, чтобы у пользователя не оставалась пустая строка в источнике, и принудительно добавить вручную перевод строки в место назначения (при условии, что они не хотели брать строку / абзац и объединять ее с другой строкой / абзацем.

Если выделение делается для чего-то другого, кроме копирования и перемещения текста в предложениях, то ничего из этого не может применяться и вы не обязательно хотите включать конечные пробелы или символы новой строки. Вот почему не должно быть стандарта.

Альтернативой является использование того, что Apple называет Intelligent Cut and Paste (см. Рекомендации по человеческому интерфейсу) или Microsoft Word Интеллектуальная вырезка и вставка, где пробелы, новые строки и другие настройки вычисляются алгоритмически при вырезании, копировании, вставке и удалении, а не при выборе.

13
ответ дан 6 December 2019 в 14:02
поделиться

В моем идеальном мире я бы устроил так.

  • Двойной щелчок по слову выделяет только слово (слово в соответствии с правилами грамматики языкового стандарта), без конечного пробела (это для упрощения копирования между программами, чтобы мне не нужно было удалять любые пробелы при вставке)
  • Если я удалю выбранное слово, мой текстовый редактор узнает о моем содержимом и удалит все оставшиеся пробелы
  • Тройной щелчок выделяет строку без завершающих символов новой строки. (Абзац - это длинная строка, которая была перенесена)
2
ответ дан 6 December 2019 в 14:02
поделиться

В Windows, Linux и OS X двойной щелчок выделяет слово под курсором, тройной щелчок выделяет всю строку текста (только одна строка, т. Е. С переносом line)

0
ответ дан 6 December 2019 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: