Контейнер свойств
Контейнер свойств - это вспомогательный компонент, который служит хранилищем для Свойств, обеспечивает простой интерфейс для манипуляции ими. В составе Плагинов используется для хранения пользоватьских настроек. Контейнер свойств позволяет производить такие операции как:
- получение графического интерфейса (формы) для редактирования значений свойств в контейнере;
- извлечение/установка значений и параметров;
- получать доступ к определенному свойству и его значению;
- перевод всех отображаемых данных свойств на другие языки.
Дополнительную информацию читайте в материалах: Properties, PropertyContainer, Разработка интерфейса для Контейнера Свойств
Применение
Первым дело нужно создать класс-потомок PropertyContainer, экземпляры Свойств записываются в теле класса как аннотации, объявление данного класса выглядит следующим образом:
class <Имя класса>(PropertyContainer): <имя свойства 1>:<Класс свойства>(<параметры>) <имя свойства 2>:<Класс свойства>(<параметры>) ...
Указанные в теле класса Свойства будут сохранены в атрибуте _ _annotations_ _ , но знать об этом в принципе не обязательно, так как для работы есть все необходимые методы.
Получить значения свойств можно несколькими способами:
- использовать специальный метод класса get_property_value(), ему нужно передать фактическое имя свойства;
- создать экземпляр класса контейнера и обратиться к значению свойства как к обычному атрибуту (например, <экземпляр класса>.<имя свойства>).
Получить ссылку на свойство поможет метод get_property() , ему нужно передать фактическое имя свойства. Это нужно для того, чтобы, например, изменить параметры свойства во время исполнения, их имена начинаются на p_. Чтобы сохранить параметры на жестком диске нужно воспользоваться соответствующим методом у класса UBHelper, это работает если Контейнер свойств используется для хранения пользовательских настроек в составе Плагина.
Выше описана работа с составе Плагина, большинство методов, которые имеются используются Менеджером автоматически в зависимости от контекста. Конечно, можно найти Свойствам в составе контейнера и другие применения,например, для создания форм для ввода данных. Чтобы узнать больше о реализации читайте Справочник API