ferroui-base 0.3.0

The base library of FerroUI: the property system, layout, input, styling, media, text, animation, data binding and the compositor
Documentation
//! The model layer: what bindings need from data that is not part of the
//! class hierarchy (view models, plain data, collections, commands).
//!
//! The managed runtime discovers these capabilities through reflection and
//! interface casts on arbitrary objects. Here a model type states them once:
//! it implements the notification traits it supports and declares its
//! bindable properties and methods (see [`ferro_model!`](crate::ferro_model)
//! and [`ModelTypeBuilder`]). Compiled bindings do not need the declaration:
//! they are built from typed accessor closures.

mod i_bindable_indexer;
mod i_notify_collection_changed;
mod i_notify_data_error_info;
mod model_type;

pub use ferroui_system::events::Event;
pub use crate::input::ICommand;
pub use i_bindable_indexer::{BindableArray, BindableDictionary, IBindableArray, IBindableIndexer};
pub use i_notify_collection_changed::{BindableList, CollectionChange, IBindableList, INotifyCollectionChanged};
pub use i_notify_data_error_info::INotifyDataErrorInfo;
pub use ferroui_system::component_model::INotifyPropertyChanged;
pub use model_type::{Model, ModelMethod, ModelType, ModelTypeBuilder, ModelTypes};