Какие подходы существуют для композитного выделения элементов?
Например, у меня есть дизайнер. В нем хостятся некие элементы. Каждый из етих елементов может выступать хостом для других элементов и так до бесконечности.
В самом простом случае когда структура содержит только один уровень: Дизайнер -> элементы все просто. Когда элемент получает фокус (от мышки или клавиатуры) он выделяется, что включает изменение цветовой схемы и показ адорнеров. Если при этом нажат Ctrl, то выделенный элемент добавляется в группу. Сандарт-с.
Теперь представим следующую цепочку — дизайнер -> элемент 1 уровня А(под-хост)-> елелемент 2 уровня Б, хостящийся в елементе 1 уровня. Как принято уирпавлять выделением в таком случае? Если Б выделен, А как бы выделен implicitly, что делать с выделением А (цветом и адорнерами)?
Здравствуйте, Аноним, Вы писали:
А>Какие подходы существуют для композитного выделения элементов?
А>Например, у меня есть дизайнер. В нем хостятся некие элементы. Каждый из етих елементов может выступать хостом для других элементов и так до бесконечности.
А>В самом простом случае когда структура содержит только один уровень: Дизайнер -> элементы все просто. Когда элемент получает фокус (от мышки или клавиатуры) он выделяется, что включает изменение цветовой схемы и показ адорнеров. Если при этом нажат Ctrl, то выделенный элемент добавляется в группу. Сандарт-с.
А>Теперь представим следующую цепочку — дизайнер -> элемент 1 уровня А(под-хост)-> елелемент 2 уровня Б, хостящийся в елементе 1 уровня. Как принято уирпавлять выделением в таком случае? Если Б выделен, А как бы выделен implicitly, что делать с выделением А (цветом и адорнерами)?
А>Не поделится ли кто идеями?
Если я правильно все это понял, то проблема в общем виде разрешается только заданием режима выбора: выбор только по-элементно; выбор целиком групп (либо все вниз по иерархии, либо вся группа вверх до родителя, который "хостится" у корня). Это может быть дополнено другими средствами выбора, например командами "выбрать все на уровень выше" или отдельными UI-объектами, например, деревом с иерархией, на котором можно выбирать ноды.
Здравствуйте, Аноним, Вы писали:
А>Какие подходы существуют для композитного выделения элементов?
А>Например, у меня есть дизайнер. В нем хостятся некие элементы. Каждый из етих елементов может выступать хостом для других элементов и так до бесконечности.