Skip to main content

Crate ferroui_treedatagrid_core

Crate ferroui_treedatagrid_core 

Source
Expand description

The framework-neutral part of FerroUI’s TreeDataGrid, ported from the TreeDataGrid.Core project of TreeDataGrid (https://github.com/wieslawsoltes/TreeDataGrid): sources of flat and hierarchical data, their columns and rows, sorting, expansion, and row and cell selection. The control that shows them is ferroui-controls-treedatagrid (docs/porting/treedatagrid.md).

Re-exports§

pub use accessor::Accessor;
pub use accessor::PathSubscription;
pub use accessor::PropertyPathObserver;
pub use accessor::TreeModel;
pub use items_source_view::TreeDataGridItemsSourceView;
pub use model_collection::ModelCollection;
pub use model_collection::Models;
pub use model_collection::MutableModelCollection;

Modules§

accessor
Accessors: what the reference reads from Expression<Func<TModel, TValue>>, without expression trees. A column’s value is read by a getter, written by an optional setter, named for change notifications, and observed along the objects of its path (Utils/PropertyPathObserver.cs).
items_source_view
TreeDataGridItemsSourceView.cs: the view of a collection of models that the rows and the selection read and listen to.
model_collection
The collections of models a source shows: the reference’s IEnumerable<TModel>, which the sources and the selection treat as an IList that may implement INotifyCollectionChanged.
models
Models/: columns, rows and the notifying bases.
selection
Selection/: the tree selection model and the row and cell selection of a source.
utils
Utils/.

Macros§

impl_column_base
Implements IColumn for a type that holds a ColumnBase in the field base.
index_path
new IndexPath(a, b, ...).

Structs§

CellIndex
A cell of a TreeDataGrid source: the index of its column in the source’s columns and the hierarchical index of its row’s model in the data.
FlatTreeDataGridSource
A source of a flat grid: one row per model.
GridLength
A length that is a size in pixels, a weighted share of the remaining space (*) or determined by the content (Auto).
HierarchicalTreeDataGridSource
A source of a tree with columns: the rows of the root models, each expandable to the rows of its children through the expander column.
IndexPath
A path of indexes into a hierarchy: one index for a row of a flat source or a root row, one more per level below. The empty path (IndexPath::UNSELECTED, the default) is no row.
RowMoveEffects
The effects of a move of rows ([Flags] RowMoveEffects).

Enums§

GridUnitType
The unit of a GridLength.
RowDropPosition
Where a dragged row is dropped relative to the target row.

Traits§

ITreeDataGridSource
A source of a tree data grid, untyped (ITreeDataGridSource).
ITreeDataGridSourceOf
A source of models of M (ITreeDataGridSource<TModel>).

Functions§

downcast_source
The source of a shared source as the concrete source type T.
register_types
Registers the markup metadata of the enumerations of the crate and their nullable forms with the untyped value conversions. Cheap and idempotent; the control crate calls it from its register_types.

Type Aliases§

RowEventHandler
A handler of the row events of a hierarchical source.