Expand description
ferroui-controls-repeater
A port of the Repeater of WinUI on FerroUI controls: ItemsRepeater and
ItemsRepeaterScrollHost, LayoutPanel, the stack, uniform grid, flow and lined-flow
layouts with their virtualizing and non-virtualizing contexts, element factories and
RecyclePool, phased template binding, item collection transitions, the selection model
of the repeater (selection) and the automation peer. register_types registers the
types of the crate for markup, in the XML namespace of the framework.
The port, its sources, tests and deviations are described in
docs/porting/winui-repeater/ in the repository.
Re-exports§
pub use layouts::*;
Modules§
- layouts
- WinUI layout objects and their host-independent layout contexts.
- selection
- Hierarchical selection services of the WinUI repeater family.
Structs§
- Build
Tree Scheduler - Schedules phased binding work against the framework’s rendering clock and yields after the same 40 ms work budget as the source implementation.
- Element
Factory - Extensible factory base. Its base virtual methods report the same invalid abstract-method calls as the original; derived factories implement them.
- Element
Factory GetArgs - Arguments passed when the repeater asks a factory to create an element.
- Element
Factory Recycle Args - Arguments passed when an element is returned to its factory.
- Element
FactoryV Table - The virtual table of the class.
- Item
Collection Transition - One addition, removal, or bounds change submitted to a transition provider.
- Item
Collection Transition Completed Event Args - Item
Collection Transition Progress - A started transition’s completion handle. Keeping this handle alone does not retain the transition or its element after the provider’s keepalive.
- Item
Collection Transition Provider - Extensible transition provider. Batches begin on the next rendering frame;
transitions a subclass does not start still receive completion notification.
Native subclasses that own animation resources also override
cancel_transitions_coreto release those resources before an element is returned to its factory. - Item
Collection Transition ProviderV Table - The virtual table of the class.
- Item
Collection Transition Triggers - Item
Template Wrapper - Adapts FerroUI data templates and recycling templates to the element-factory contract while retaining template-specific pools across repeaters.
- Items
Repeater - A lightweight, virtualizing items host with pluggable layouts and factories.
- Items
Repeater Element Clearing Event Args - Raised before a realized element is returned to its element factory.
- Items
Repeater Element Index Changed Event Args - Raised when an existing element acquires a different source index.
- Items
Repeater Element Prepared Event Args - Raised after an element has been prepared and attached to its repeater.
- Items
Repeater Scroll Host - Compatibility host for a repeater inside a native ScrollViewer. Its candidate selection retains the source host’s vertical-edge convention: HorizontalAnchorRatio controls that edge; VerticalAnchorRatio round-trips for compatibility. Ordinary FerroUI scrolling does not require this host.
- Layout
Panel - Hosts explicit children using a shareable Layout, including virtualizing layouts adapted to a fixed collection. Border and padding inset the layout.
- Lined
Flow Layout Item Collection Transition Provider - Lined-flow add, remove and move transitions with the original scaling, slide-in, line changes, easing curves and delete/move/add sequencing.
- Phaser
- Coordinates phase work for one repeater. Callbacks capture the owner weakly; recycling cancels outstanding work before an element can be reused.
- Recycle
Pool - Keyed element pool that preserves the owner when the same panel reuses an element and detaches it when a different panel requests it.
- Recycle
PoolV Table - The virtual table of the class.
- Recycling
Element Factory - A factory that selects named templates and shares elements through a pool.
- Recycling
Element FactoryV Table - The virtual table of the class.
- Repeater
Automation Peer - Exposes realized child peers in data-source order, including peers whose accessible control is a descendant of the generated element.
- Repeater
Binding Helper - Native attached-property counterpart of the template-component binding hook.
- Select
Template Event Args - Event arguments used to select a keyed template.
- Transition
Manager - Derives animation triggers from collection and layout changes during the current layout cycle and returns removed elements when their transition ends.
- Virtualization
Info - The ownership and layout state of one realized element. The template component
is held weakly; the phased item is held strongly while phasing lasts (see
data).
Enums§
- Element
Factory Error - Errors reported by element factories and recycle pools.
- Element
Owner - The current owner of a repeater-generated element.
- Item
Collection Transition Operation
Traits§
- Element
Factory Impl - The overridable members introduced by the class.
- Element
Factory Impl Ext - Access to the base implementations of the overridable members.
- IData
Template Component - Binding component attached by a template with phased bindings. Phase zero initializes the element; positive returned phases are deferred.
- IData
Template Selector - Selects a template based on data and, optionally, the requesting container. The second overload is consulted only when the first returns no template.
- IElement
Factory - Supplies and recycles the elements of an
super::ItemsRepeater. - Item
Collection Transition Provider Impl - The overridable members introduced by the class.
- Item
Collection Transition Provider Impl Ext - Access to the base implementations of the overridable members.
- Recycle
Pool Impl - The overridable members introduced by the class.
- Recycle
Pool Impl Ext - Access to the base implementations of the overridable members.
- Recycling
Element Factory Impl - The overridable members introduced by the class.
- Recycling
Element Factory Impl Ext - Access to the base implementations of the overridable members.
Functions§
- factory_
from_ template - Converts the untyped ItemTemplate property to its native factory contract.
Noneis left for the repeater’s data-as-element/default-template path. - register_
types - Registers the namespaces, the types and the assembly of this crate (and of the crates it is built on) and the markup metadata of its types. Cheap and idempotent.