Skip to main content

Crate ferroui_controls_repeater

Crate ferroui_controls_repeater 

Source
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§

BuildTreeScheduler
Schedules phased binding work against the framework’s rendering clock and yields after the same 40 ms work budget as the source implementation.
ElementFactory
Extensible factory base. Its base virtual methods report the same invalid abstract-method calls as the original; derived factories implement them.
ElementFactoryGetArgs
Arguments passed when the repeater asks a factory to create an element.
ElementFactoryRecycleArgs
Arguments passed when an element is returned to its factory.
ElementFactoryVTable
The virtual table of the class.
ItemCollectionTransition
One addition, removal, or bounds change submitted to a transition provider.
ItemCollectionTransitionCompletedEventArgs
ItemCollectionTransitionProgress
A started transition’s completion handle. Keeping this handle alone does not retain the transition or its element after the provider’s keepalive.
ItemCollectionTransitionProvider
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_core to release those resources before an element is returned to its factory.
ItemCollectionTransitionProviderVTable
The virtual table of the class.
ItemCollectionTransitionTriggers
ItemTemplateWrapper
Adapts FerroUI data templates and recycling templates to the element-factory contract while retaining template-specific pools across repeaters.
ItemsRepeater
A lightweight, virtualizing items host with pluggable layouts and factories.
ItemsRepeaterElementClearingEventArgs
Raised before a realized element is returned to its element factory.
ItemsRepeaterElementIndexChangedEventArgs
Raised when an existing element acquires a different source index.
ItemsRepeaterElementPreparedEventArgs
Raised after an element has been prepared and attached to its repeater.
ItemsRepeaterScrollHost
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.
LayoutPanel
Hosts explicit children using a shareable Layout, including virtualizing layouts adapted to a fixed collection. Border and padding inset the layout.
LinedFlowLayoutItemCollectionTransitionProvider
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.
RecyclePool
Keyed element pool that preserves the owner when the same panel reuses an element and detaches it when a different panel requests it.
RecyclePoolVTable
The virtual table of the class.
RecyclingElementFactory
A factory that selects named templates and shares elements through a pool.
RecyclingElementFactoryVTable
The virtual table of the class.
RepeaterAutomationPeer
Exposes realized child peers in data-source order, including peers whose accessible control is a descendant of the generated element.
RepeaterBindingHelper
Native attached-property counterpart of the template-component binding hook.
SelectTemplateEventArgs
Event arguments used to select a keyed template.
TransitionManager
Derives animation triggers from collection and layout changes during the current layout cycle and returns removed elements when their transition ends.
VirtualizationInfo
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§

ElementFactoryError
Errors reported by element factories and recycle pools.
ElementOwner
The current owner of a repeater-generated element.
ItemCollectionTransitionOperation

Traits§

ElementFactoryImpl
The overridable members introduced by the class.
ElementFactoryImplExt
Access to the base implementations of the overridable members.
IDataTemplateComponent
Binding component attached by a template with phased bindings. Phase zero initializes the element; positive returned phases are deferred.
IDataTemplateSelector
Selects a template based on data and, optionally, the requesting container. The second overload is consulted only when the first returns no template.
IElementFactory
Supplies and recycles the elements of an super::ItemsRepeater.
ItemCollectionTransitionProviderImpl
The overridable members introduced by the class.
ItemCollectionTransitionProviderImplExt
Access to the base implementations of the overridable members.
RecyclePoolImpl
The overridable members introduced by the class.
RecyclePoolImplExt
Access to the base implementations of the overridable members.
RecyclingElementFactoryImpl
The overridable members introduced by the class.
RecyclingElementFactoryImplExt
Access to the base implementations of the overridable members.

Functions§

factory_from_template
Converts the untyped ItemTemplate property to its native factory contract. None is 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.

Type Aliases§

ElementFactoryTemplates