コンテンツにスキップ

ParentDataWidget<T> クラス

子RenderObjectへ、親RenderObjectのレイアウトで使用するParentDataを設定するWidgetの基底型です。

名前空間: FloatSoda.Widgets
アセンブリ: FloatSoda.dll

public abstract record ParentDataWidget<T> : ProxyWidget, IEquatable<Widget>, IEquatable<ProxyWidget>, IEquatable<ParentDataWidget<T>> where T : class, IParentData

T

親RenderObjectが子ごとに用意するParentDataの型。

object ← Widget ← ProxyWidget ← ParentDataWidget<T>

IEquatable<Widget>, IEquatable<ProxyWidget>, IEquatable<ParentDataWidget<T>>

ProxyWidget.Child, Widget.Key, Widget.CanUpdate(Widget, Widget), Widget.CreateElement(), Widget.GetHashCode(), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

派生Widgetは、対応する親RenderObjectがSetupParentDataで Tを設定する位置で使用します。

現在のWidget構成を、子RenderObjectに用意されたParentDataへ反映します。

public void ApplyParentData(RenderObject renderObject)

renderObject RenderObject

ParentDataを保持する子RenderObject。

InvalidOperationException

親RenderObjectがTを用意していない場合。

Widget固有の値をParentDataへ反映し、値が変更されたかを返します。

protected abstract bool ApplyParentData(T parentData)

parentData T

親RenderObjectによって子へ用意されたParentData。

bool

ParentDataを変更した場合はtrue。変更がない場合はfalse。

trueを返すと、基底実装が親RenderObjectへレイアウト更新を要求します。

このウィジェットの構成をElementツリーへ反映するElementを生成します。

public override Element CreateElement()

Element

このウィジェットに対応する未マウントのElement。

ParentDataElement<T>