Rows of information or content items.
Алан Дэй (Allan Day)
aday@gnome.org

# Списки

Список это один из основных элементов пользовательского интерфейса, служащий для представления информации или элементов управления. В GNOME 3 существуют два основных типа списков: стандартные списки и таблицы.

Боковые списки -- это отдельный шаблон проектирования, который также использует список.

# Когда использовать

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

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

# Стандартные списки

Стандартные списки это наиболее распространённый тип списков. Старайтесь отдавать предпочтение стандартным спискам, а не таблицам.

In standard lists, each row is divided by separators, and changing the sort order is achieved by using a control outside the list itself.

## Стили

У стандартных списков существует два стиля: растянутый и встроенный. Растянутые списки полностью заполняют свои контейнеры, вокруг встроенных списков существуют отступы.

Растянутые списки выглядят проще и аккуратнее. Придерживайтесь этого стиля списков везде, где это возможно. Но есть случаи, когда растянутые списки использовать невозможно. Примеры, когда лучше использовать встроенные списки:

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

Когда в окне содержится несколько списков.

Когда необходимо выровнять список с другими управляющими элементами в окне.

## Изменяемые списки

Изменяемые списки позволяют пользователям добавлять и удалять элементы из списка. Изменяемыми могут быть как растянутые списки, так и встроенные.

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

# Таблицы

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

В качестве индикации порядка сортировки в заголовке используйте стрелки.

Порядок | Направление стрелок | Пример
--- | --- | ---
Естественный | Вниз | Алфавитный, по возрастанию чисел, по возрастанию дат, по признаку включённости
Обратный | Вверх | Обратный алфавитный порядок, по убыванию чисел, по убыванию дат, по признаку выключенности

# Поведение строк

В зависимости от типа списка поведение строк может изменяться, когда пользователь нажимает на них. По этому аспекту списки можно разделить на три вида:

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

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

# Общие рекомендации

Для разделения информации используйте различные выравнивания, цвет и насыщенность шрифта. Выделяйте главную информацию, для второстепенной информации используйте меньшую насыщенность шрифта.

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

Старайтесь не использовать несколько список в одном и том же окне, особенно в главных окнах.

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

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

Если в списках используются значки, то применяйте символические значки, они проще для восприятия и не смещают на себя акцент.

Если список слишком длинный, добавьте возможность поиска, применив стандартный шаблон поиска.

# API reference

GtkListBox

GtkTreeView