Специальный тип виджета. Не имеет соответствующего ресурса и не может быть создан в ресурсной системе, существует только в рантайме. Является максимально облегченной и упрощенной реализацией Widget. Единственное назначение - хранение временно неиспользуемых динамических виджетов.
Особенности:
Может существовать один экземпляр данного виджета на аддон. Получается / создается с помощью mainForm:GetFactoryCache()
Невидим, не имеет имени, недоступен для реакций, не участвует в обходе дерева виджетов и тп.
Не является виджетом с точки зрения common.IsWidget() (имя метатаблицы FactoryCacheSafe)
Поддерживает очень ограниченный набор API (смотри ниже)
Список методов Widget реализованных в FactoryCache:
FactoryCache:IsEqual( other ) - всегда возвращает false (метаметод eq реализован, имеет идентичную логику)
FactoryCache:GetName() - всегда возвращает "__WidgetCache"
FactoryCache:GetParent() - всегда возвращает nil
FactoryCache:AddChild( other, noReposition ) - имеет упрощенную и оптимизированную реализацию, noReposition всегда true
FactoryCache:CreateChildByDesc( widgetDesc, noReposition, noParent ) - имеет упрощенную и оптимизированную реализацию, noReposition всегда true, дополнительный параметр noParent - не добавлять родителя, использовать только если родитель будет немедленно (в том же кадре) задан через AddChild
Собственных специфических методов не имеет.