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

Требования, которые были выдвинуты как задание на шейп:

Шейп предназначен для использования на плане помещения.

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

Набор данных: Бренд, Модель, Тип, Технология, Формат, Цвет. Модель однозначно определяет остальные поля.

Выбор одной из 5 иконок в зависимости от типа устройства. 1 - круг (тип не задан). 2 - Принтер. 3 - МФУ, Копир, Дупликатор. 4 - Сканер, Факс. 5 - Инж.сист.

Индикатор цвета на два положения (дополнительное кольцо): цветной, монохромный.

Индикатор формата: буквенное обозначение для принтера А3.

Индикатор технологии на 4 положения (подсветка): 1 - не указана. 2 - струйная. 3 - матричная. 4 - светодиодная, лазерная, твердочернильная.

Данные принимаются из справочника (Excel).

Индикатор номера (в пределах документа). Число в правом верхем углу. Формируется автоматом при опускании шейпа на страницу или задается вручную.

Два варианта установки связи с данными: 1. Drag&Drop из окна внешних данных; 2 - выбор модели в специальном окне с возможностью предварительной фильтрации по текстовому фрагменту (сокращение списка выбора).

Версия Visio - 2019 Pro.

 

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

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


В Visio существует несколько типов диаграмм с похожим поведением при перемещении шейпов. Это древовидные диаграммы, в которых перемещение старшего по иерархии узла вызывает аналогичное перемещение подчиненных узлов. Так ведут себя Brainstorming диаграммы, организационные схемы.

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

Brainstorming

Для начала рассмотрим шейп-лист одного из подчиненных узлов Brainstorming диаграммы.