====== Контейнер свойств ====== Контейнер свойств - это вспомогательный компонент, который служит хранилищем для [[:products:pussy:concepts:property|Свойств]], обеспечивает простой интерфейс для манипуляции ими. В составе [[:products:pussy:concepts:plugin|Плагинов]] используется для хранения пользоватьских настроек. Контейнер свойств позволяет производить такие операции как: * получение графического интерфейса (формы) для редактирования значений свойств в контейнере; * извлечение/установка значений и параметров; * получать доступ к определенному свойству и его значению; * перевод всех отображаемых данных свойств на другие языки. Дополнительную информацию читайте в материалах: [[:products:pussy:api:pyub:types:properties:main|]], [[:products:pussy:api:pyub:types:propertycontainer|]], [[:products:pussy:other:dev_propertycontainer_gui|]] ===== Применение ===== Первым дело нужно создать класс-потомок [[:products:pussy:api:pyub:types:propertycontainer|PropertyContainer, ]]экземпляры Свойств записываются в теле класса как аннотации, объявление данного класса выглядит следующим образом: class <Имя класса>(PropertyContainer): <имя свойства 1>:<Класс свойства>(<параметры>) <имя свойства 2>:<Класс свойства>(<параметры>) ... Указанные в теле класса Свойства будут сохранены в атрибуте //_ _annotations_ _ //, но знать об этом в принципе не обязательно, так как для работы есть все необходимые методы. Получить значения свойств можно несколькими способами: - использовать специальный метод класса //[[http://wiki.mig-ironmesh.ru/products;pussy;api;pyub;types;propertycontainer#get_property_value|get_property_value()]]//, ему нужно передать фактическое имя свойства; - создать экземпляр класса контейнера и обратиться к значению свойства как к обычному атрибуту (например, <экземпляр класса>.<имя свойства>). Получить ссылку на свойство поможет метод //[[http://wiki.mig-ironmesh.ru/products;pussy;api;pyub;types;propertycontainer#get_property|get_property()]]// , ему нужно передать фактическое имя свойства. Это нужно для того, чтобы, например, изменить параметры свойства во время исполнения, их имена начинаются на **p_. ** Чтобы сохранить параметры на жестком диске нужно воспользоваться соответствующим методом у класса **[[:products:pussy:api:pyub:types:ubhelper|]]**, это работает если Контейнер свойств используется для хранения пользовательских настроек в составе Плагина. Выше описана работа с составе Плагина, большинство методов, которые имеются используются Менеджером автоматически в зависимости от контекста. Конечно, можно найти Свойствам в составе контейнера и другие применения,например, для создания форм для ввода данных. Чтобы узнать больше о реализации читайте [[:products:pussy:api:pyub:main|Справочник API]]