LINUX.ORG.RU

[HIG] [кнопочка] Переключение трёх и более состояний

 


0

2

Есть 3 кнопочки. На них написаны названия животных. Например: «собачка», «кошка», «мышка». Кнопочки можно вжимать и отжимать. Если кнопочка вжата, то показывается соответствующее животное. То есть если вжаты кнопки «кошка» и «мышка», то показываются кошка и мышка.

А теперь появился хамелеон. Он умеет быть жёлтым и красным. Соответственно, есть такие взаимоисключающие состояния: «показывается жёлтый хамелеон», «показывается красный хамелеон», «хамелеон не показывается». По логике, первому и второму состояниям должна соответствовать вжатая кнопка, а последнему — отжатая.

Что должно быть написано на такой кнопке? Или правильные HIG такое вообще запрещают? А как тогда поступить?

P.S.: в моём случае речь идёт не о животных, а о переключении способов привязки — кто работал с CAD-ами, знает, что это. Но дела это не меняет, наверное.

upd: В дальнейшем у хамелеона могут добавиться новые цвета.

★★★★★

Последнее исправление: Obey-Kun (всего исправлений: 2)

Используй элементы, позволяющие три и более состояний - т.е. не кнопки или чекбоксы.

yaws
()

вот из-за таких как ты, которые на кнопках экономят, у нас так все плохо. Это должна быть не супер-кнопка, а чекбокс + радиобатоны. Ну или придумай свой удобный для этих целей интерфейс (хоткеи+индикаторы, например). Но, пожалуйста, не надо таких кнопок-монстров!

belka
()

в таких случаях лучше радиобаттоны или чекбоксы заюзать. в мобильных дивайсах с тачем - слайдеры.

isden ★★★★★
()
Ответ на: комментарий от belka

> Это должна быть не супер-кнопка, а чекбокс + радиобатоны.

А тогда это выбьется из общего стиля. А общий сейчас аналогичен тому, что используется в Автокаде: http://images.autodesk.com/adsk/images/1_ACE_2006_Symbols_large.jpg (см. в самый низ на кнопки SNAP, GRID, ORTHO, …) http://yaslil.com/images/stories/Soft/videouroki_autocad3.jpeg (см. в ту же область). Во втором случае там картинки, но и здесь их можно использовать: тупо иконки для обычных животных и 3 иконки (жёлткая, красная, бесцветная) для хамелеона.

Ну или придумай свой удобный для этих целей интерфейс (хоткеи+индикаторы, например).

Хоткеи и так используются. F1..F*. Индикация идёт на кнопке, ведь для обычных животных она или вжата, или отжата. Хотя вот индикация для хамелеона пока не придумана, но ведь можно менять текст, например: «Хамелеон», «Хамелеон ЖЁЛ» и «Хамелеон КРС»? Хоткеи в цикле включают-выключают обычных животных и переключают хамелеона как выкл-жёлтый-красный. Но нужно и мышку дать использовать.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от isden

> в таких случаях лучше радиобаттоны или чекбоксы заюзать. в мобильных дивайсах с тачем - слайдеры.

Мало пространства. Переключалка находится в статусбаре. См. скрины выше.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от kifer

> можно еде выпадающий список заюзать

Вариант, но немного хреново получается: для всех животных кнопки, а для хамелеона выпадающий список.

Obey-Kun ★★★★★
() автор топика

А на кнопку повесить кольцо. (Список замкнутый в кольцо). При нажатии на пипку, фокус на элемент списка меняется.

vada ★★★★★
()
Ответ на: комментарий от Obey-Kun

Из «стандартных» я бы предпочел выпадающий список (в случае с хамелеоном - с тремя строками выбора) или радиогруппу, если место позволяет.
Или самопальный, изоморфный (аналогичный) кругу, разделенному на сектора (вряд ли более 6 - эргономика пострадает) позволяющий выбирать один из секторов.
После 4-6 состояний, один хрен придется возвращаться к списку.

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

yaws
()
Ответ на: комментарий от Obey-Kun

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

kifer
()
Ответ на: комментарий от yaws

vada тоже вариант высказал - лишь бы управление кольцом было интуитивным.

yaws
()
Ответ на: комментарий от yaws

> Или самопальный, изоморфный (аналогичный) кругу, разделенному на сектора (вряд ли более 6 - эргономика пострадает) позволяющий выбирать один из секторов.

Любопытно, но при малом размере неудобно тыкать мышкой. А вот тыкать в любое место виджета, чтобы при этом по часовой стрелке менялся сектор, это уже можно. Но ведь это немногим отличается от кнопки, которая меняет своё название при клике по ней? Ну то есть: вжата и «Хамелеон ЖЁЛ», вжата и «Хамелеон КРС», отжата и «Хамелеон».

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от yaws

> Из «стандартных» я бы предпочел выпадающий список (в случае с хамелеоном - с тремя строками выбора) или радиогруппу, если место позволяет.

О, для единообразности можно так: вжимаемая-отжимаемая кнопка и рядом с ней выпадающий список, который доступен, только если кнопка вжата. По-моему, хорошо.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

>Любопытно, но при малом размере неудобно тыкать мышкой
Именно так. Смотри на самом деле сколько у тебя места (пример идиотского в этом смысле интерфейса - ранние, а может и теперешние FruityLoops (кажется она) с милипиздричческими круговыми регуляторами громкости трека)


yaws
()
Ответ на: комментарий от yaws

Переключалки в статусбаре, так что места МАЛО.

А тогда это выбьется из общего стиля. А общий сейчас аналогичен тому, что используется в Автокаде: http://images.autodesk.com/adsk/images/1_ACE_2006_Symbols_large.jpg (см. в самый низ на кнопки SNAP, GRID, ORTHO, …) http://yaslil.com/images/stories/Soft/videouroki_autocad3.jpeg (см. в ту же область). Во втором случае там картинки, но и здесь их можно использовать: тупо иконки для обычных животных и 3 иконки (жёлткая, красная, бесцветная) для хамелеона.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

> Мало пространства. Переключалка находится в статусбаре. См. скрины выше.

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

isden ★★★★★
()
Ответ на: комментарий от isden

Кнопка (вкл/выкл) + рядом с ней выпадающий список (выбор цвета). Видимо, остановлюсь на этом. Ибо единообразно с обычными животными.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

> Кнопка (вкл/выкл) + рядом с ней выпадающий список (выбор цвета)

для экономии места лучше таки не делать два элемента, а совместить все в одной кнопке. вот типа такого - http://www.intuit.ru/department/office/msword2010/6/06_06sm.jpg

isden ★★★★★
()
Ответ на: комментарий от Obey-Kun

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

aol ★★★★★
()
Ответ на: комментарий от aol

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

Obey-Kun ★★★★★
() автор топика

В порядке бреда…

     ___       ___       ___
--> | 1 | --> | 2 | --> | n | --> обратно к 1
     ---       ---       ---
      |         |          |
      V         V          V
     ___       ___       ___
    | 1а|     | 2а|     | nа|
     ---       ---       ---
      |         |          |
      V         V          V
     ___       ___       ___
    | 1б|     | 2б|     | nб|
     ---       ---       ---
      |         |          |
      V         V          V

      о         о         о
      б         б         б
      р         р         р
      а         а         а
      т         т         т
      н         н         н
      о         о         о

      к         к         к

      1         2         n

Поясняю :) На вид это все еще кнопка. В отжатом состоянии - общий Выкл. В нажатом состоянии управляем хоть стрелочками хоть точпадом… задействуется вращение и по вертикали и по горизонтали. Итак верхняя строка «1» - «собачка», «2» - «кошка», «n» - «мышка». Строка «а» - «блондинки», «б» - «брюнетки»…

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

Возможен вариант что находясь в 2а (кошка блондинка) нажали влево перескочили на n (т.е. просто общая мышка) либо на na (мышь блондинка)

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

Поливайте грязью. :)

init_6 ★★★★★
()
Ответ на: В порядке бреда… от init_6

Фикс --> Возможен вариант что находясь в 2а (кошка блондинка) нажали влево конечно же вправо перескочили на n (т.е. просто общая мышка) либо на na (мышь блондинка)

init_6 ★★★★★
()
Ответ на: комментарий от Obey-Kun

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

init_6 ★★★★★
()
Ответ на: комментарий от Obey-Kun

Хотя впринципе в этом случае можно каждую ячейку всей таблицы выбора наделять двумя состояниями вкл и выкл.

init_6 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.