AIMP Forum
Разное => Предложения (архив) / Suggestions (archive) => Архив / Archive => Реализовано в AIMP v5.0X / Implemented in AIMP v5.0X => Topic started by: gr-e on April 03, 2020, 20:46:40
-
Хотелось бы иметь возможность для каждого провайдера видеть список элементов, с которыми он имеет связи, скриптов, в которых он упоминается и т.п.
Это удобно при удалении, переименовании, ну и для понимания, что этот провайдер делает.
Сейчас приходится распаковывать скин в папку и искать по .xml файлам.
-
А ещё бы карту всего проекта, хотя бы схематично. Порой трудно найти, с чем тот или иной провайдер связан.
-
А ещё бы карту всего проекта, хотя бы схематично. Порой трудно найти, с чем тот или иной провайдер связан.
не редактируемую? пойдет?
-
не редактируемую? пойдет?
Разумеется! Но, если будет возможность по клику мышки показать выбранный элемент в инспекторе свойств или перейти в редактор связей провайдера, это будет совсем здорово.
-
Попробуйте:
https://yadi.sk/d/qXaZRgxO3chYtg
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64507.0;attach=60737)
-
Спасибо, Артём, уже близко к желаемому.
Непривычно что карта отзеркалена - обычно провайдеры справа, но не суть. Много лишнего захватывается: и компонентов, и связей.
На картинке карта построена для элемента Bob_Left (TASEAnimator, на карте обведён красным прямоугольником), где его ещё не сразу найдёшь. Линии связей местами проходят очень близко к компонентам и цвет их коротких отрезков порой трудно разглядеть.
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64507.0;attach=60738)
Реально все связи с тем же элементом выглядят так:
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64507.0;attach=60739)
Дерево связей должно обрываться на стандартных провайдерах, поскольку связи их с другими компонентами нас в данном случае не интересуют. Проверять на продолжение связей надо счётчики и аниматоры у которых связи могут быть с "двух сторон".
Скроллинга не хватает от колеса мышки, а лучше - перетаскивать всю карту с сзажатой ЛКМ.
-
Ок, доработаю
-
Перезалил:
https://yadi.sk/d/qXaZRgxO3chYtg
-
Уже лучше, но всё же "мусора" много:
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64507.0;attach=60741)
В данном случае виновники размножения связей - счётчики, которые используются ещё и для других элементов.
Видимо, надо собирать связи от выбранного элемента до первого подключения, и всё.
Исключения составят многовходовые провайдеры:
LogicalOperatorCommutator,
LogicalOperatorMultiplexer,
StringOperatorConcatenator,
StringOperatorConcatenatorNotificator
и от них связи (от точек ValueX) отображать тоже до первого подключения.
Особняком ещё стоят такие провайдеры (и некоторые элементы), как
LogicalOperatorCounter,
LogicalOperatorDelayer,
LogicalOperatorTimer
у которых связи могут быть с двух сторон. Если программно можно различить, с какой стороны подходит связь, то их тоже надо отслеживать.
И ещё, такую же карту хорошо бы строить и для пользовательских провайдеров, вызывать её прямо из диалога "Custom Providers". К примеру, к тому же счётчику может быть подключено несколько кнопок, а в скине их отыскать непросто.
-
Слишком много исключений получится. Может сделать возможность прятать не нужные в режиме превью?
-
А как определить, что нужно, а что нет, особенно, если проект чужой?
Да и так уж ли много исключений, в основном, 4 многовходовых провайдера.
-
И ещё, такую же карту хорошо бы строить и для пользовательских провайдеров, вызывать её прямо из диалога "Custom Providers".
+1
Хотелось бы иметь возможность для каждого провайдера видеть список элементов, с которыми он имеет связи, скриптов, в которых он упоминается и т.п.
+1
Но как быть со скриптами? Парсить скрипты? А если переименовать элемент в дереве, скрипт тоже должен обновиться?
Может как-то этот момент улучшить? Например, использовать для этого секцию описания констант в скрипте? Или создать отдельную секцию для этого? Переименовал в скине элемент, использующийся в скрипте, — автоматически обновилась и строка с названием элемента у константы. Или использовать вместо секции констант связи? Привязал элемент к скрипту и обращаешься к элементу уже через эту связь, независимо от того, как на самом деле называется элемент. Только сейчас нельзя привязывать элементы управления.
-
Но как быть со скриптами? Парсить скрипты? А если переименовать элемент в дереве, скрипт тоже должен обновиться?
Может как-то этот момент улучшить? Например, использовать для этого секцию описания констант в скрипте? Или создать отдельную секцию для этого? Переименовал в скине элемент, использующийся в скрипте, — автоматически обновилась и строка с названием элемента у константы. Или использовать вместо секции констант связи? Привязал элемент к скрипту и обращаешься к элементу уже через эту связь, независимо от того, как на самом деле называется элемент. Только сейчас нельзя привязывать элементы управления.
Автоматическое переименование провайдера в скриптах не сильно критично, но удобно, да.
Можно просто добавить чекбокс "найти и заменить" в окно переименования, а ответственность за совпадение имен элементов и ресурсов/строк оставить на пользователя. При этом заменять только текст в одиночных кавычках, естественно.
-
В отношении скриптов - ИМХО, достаточно иметь инструмент поиска (может и замены) по ним, не сильно это напрягает и не так уж их (скриптов) много.
-
Интересная функция, пока два замечания:
- элементы узкие, т.е. названия не вписываются, а посмотреть полное название элемента никак нельзя.
- всплывающая подсказка появляется без смещения, сразу под курсором.
скриншот (https://i.imgur.com/auDSYQD.png)
Еще была мысль, что не хватает типа элемента отдельной строкой под названием, TASEButton, TASEPanel ... т.е. чтобы сразу было видно какой элемент с каким связан.
-
ок
-
В плане избыточных связей, похоже, пока ничего не изменилось?
У аниматора Band всего две связи с одним счётчиком:
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64507.0;attach=60759)
а выстраивается чуть ли не половина всего проекта:
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64507.0;attach=60760)
Коротковаты отрезки линий связей возле элементов, трудно разглядеть их цвет, приходится постоянно подсвечивать искомую связь:
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64507.0;attach=60761)
Тема у элементов остаётся всегда дневной.
При перемещении элементов связи порой становятся наклонными (не ортогональными).
-
В плане избыточных связей, похоже, пока ничего не изменилось?
У аниматора Band всего две связи с одним счётчиком:
Пока ничего.
Коротковаты отрезки линий связей возле элементов, трудно разглядеть их цвет, приходится постоянно подсвечивать искомую связь:
К сожалению, из-за потенциально большой карты связей и возможности перемещать объекты, я не могу сделать более интеллектуальное размещение связей, как это сделано в самом редакторе связей.
Тема у элементов остаётся всегда дневной.
Поправил
При перемещении элементов связи порой становятся наклонными (не ортогональными).
Это случается, когда точка выхода или входа скрыта другим элементом, т.е. до нее нельзя построить путь, минуя другие препятствия. Поправлю.
-
... я не могу сделать более интеллектуальное размещение связей, как это сделано в самом редакторе связей.
Я не за интеллектульность связей ратую, а за увеличение отступа линий от элемента до первого излома, хотя бы вдвое.
-
Вот, попробуй:
https://yadi.sk/d/SYkOs8wD7vrRMQ
-
Вот, попробуй:
Отлично! Со связями теперь всё ОК.
Спасибо, Артём!
-
Единственное, на будущее, если возможно, оптимизировать пустое пространство.
(https://www.aimp.ru/forum/index.php?action=dlattach;topic=64507.0;attach=60762)
-
Шрифт в ночной теме в названиях точек доступа остался тёмным.
-
Шрифт в ночной теме в названиях точек доступа остался тёмным.
Поправил
-
Осталось добавить пункт "Карта связей" в контекстное меню дерева элементов, кнопку в панель инструментов и горячую клавишу.