filterannotation.txt
2008-02-28 09:41...
Краткое описание пакета filterannotation ======================================== Пакет filterannotation сохраняет в аннотации объекта список идентификаторов части его объектов, отобранных по некоторому условию. Этот список поддерживается в актуальном состоянии по событиям, происходящим на контейнере. Способ реализации ----------------- Пакет определяет интерфейс IFilterAnnotationAble. Пакет предоставляет также адаптер этого интерфейса к интерфейсу IFilterAnnotation (о способе реализации смотри в Аннотации.txt). Специальный хендлер filterannotationhanndler.txt получает все события на объекте с таким интерфейсом и поддерживает целостность списков. Интерфейс может содержать несколько списков, для каждого списка могут различаться фильтр объектов, условие добавления (в начало, в конец), списки имеют названия, по которому список объектов может быть получен. Интерфейсы ---------- IFilterAnnotationAble Этот интерфейс обуславливает то, что объект будет иметь фильтр-аннотацию; IFilterAnnotationData Этот интерфейс позволяет настроить фильтр-аннотацию, содержит единственный элемент - кортеж дескрипторов с интерфейсом IFilterAnnotationDecriptor; IFilterAnnotationDescriptor Этот интерфейс позволяет настроить отдельный дескриптор, поля: name : textline Имя списка condition : select Условие включения объекта в список (утилита); order : select Порядок вставки объекта в список (пока фиксированный список); length : int Текущая длина списка. IFilterAnnotation Общий интерфейс аннотации, предоставляет возможность по имени списка получить сам список: keys () Список имен списков; __getitem__ () Дать список по имени; itemAdd () Добавить объект; itemRemove () Удалить объект; itemModify () Модифицировать объект; Виды ---- filter Настройка фильтра, реализуется директиктивой form. Использование ------------- Использование предполагает наличие специальных адаптеров к интерфейсу IPagerSource неизвестно как.