Существует ли стандартная парадигма пользовательского интерфейса для настройки раздела набора элементов? - PullRequest
0 голосов
/ 24 декабря 2009

Предположим, у вас есть набор объектов X (например, A, B, C, D), которые вы хотите разделить на непустые подмножества, охватывающие весь X. Математически, разбиение набора .

Итак, сначала вы можете относиться к ним как к разным, {{A}, {B}, {C}, {D}}. В качестве альтернативы вы можете разделить их на гласные и согласные, то есть {{A}, {B, C, D}}. Или, произвольно, {{A, D}, {B, C}}.

Существует ли стандартный виджет / концепция / парадигма / шаблон пользовательского интерфейса, который это поддерживает? Наличие двух списков со списками Add ->, Add All ->, <- Remove и <- Remove All для переключения между ними (т.е. построитель списка) работает только для 2 подмножеств, но не работает для произвольного числа k подмножеств. </p>

Ответы [ 3 ]

3 голосов
/ 24 декабря 2009

Я не знаю конкретных виджетов пользовательского интерфейса, которые выполняют именно то, что вы запрашиваете, но вот несколько парадигм пользовательского интерфейса, которые могут оказаться полезными (в зависимости от того, что вам нужно делать с подмножествами после их определения):

  • Поле со списком с цветовой кодировкой (позволяет пользователю или программе выделять элементы разными цветами в зависимости от того, к какому подмножеству они принадлежат. В этой модели полезны возможность группировки элементов по цвету и отображение легенды).
  • Управление деревом (отображает группы как дочерние узлы дерева. Обычно это будет дерево только с двумя уровнями: верхний - это раздел, а следующий - элементы в разделе. возможность перетаскивания элементов между разделами (узлами) и возможность переименования раздела верхнего уровня могут быть полезны в этой модели.)
  • Иерархическая сетка (аналогично древовидному элементу управления, но показывает дополнительные столбцы информации для описания деталей отображаемых элементов)
  • Многостолбцовые перетаскиваемые списки (набор из нескольких столбцов, в которые можно перетаскивать элементы. Каждый столбец представляет одно подмножество в разделе).
1 голос
/ 29 декабря 2009

Стандартный интерфейс для группировки элементов в наборы представляет собой список переключателей. Ужасное приближение ASCII:

A B C
o x o - Item One
o x o - Item Two
o o x - Item Three

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

Часто используемый вариант этого использует меню опций вместо групп переключателей.

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

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

0 голосов
/ 24 декабря 2009

Похоже, работа для перетаскивания.

Раз источник, несколько возможных мест назначения. Возможно, кнопка «Добавить подмножество», позволяющая легко создавать новые подмножества.

То же самое может быть достигнуто «выделением» в одном списке. Ctrl-Click выберите, нажмите цветную кнопку.

...