コンテンツにスキップ

RenderObjectToWidgetElement<T> クラス

既存のRenderObjectをルートとしてWidgetツリーを接続するアダプターに対応するElementです。

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

public class RenderObjectToWidgetElement<T> : RenderObjectElement<T>, IBuildContext, IComparable<Element> where T : RenderObject

T

ルートとして使用するRenderObjectの型。

object ← Element ← RenderObjectElement ← RenderObjectElement<T> ← RenderObjectToWidgetElement<T>

IBuildContext, IComparable<Element>

RenderObjectElement<T>.RenderObject, RenderObjectElement<T>.Mount(Element?), RenderObjectElement<T>.Update(Widget), RenderObjectElement<T>.PerformRebuild(), RenderObjectElement.AttachRenderObject(), RenderObjectElement.UpdateSlot(object?), RenderObjectElement.DetachRenderObject(), RenderObjectElement.InsertRenderObjectChild(RenderObject?), RenderObjectElement.InsertRenderObjectChild(RenderObject?, object?), RenderObjectElement.MoveRenderObjectChild(RenderObject, object?, object?), RenderObjectElement.RemoveRenderObjectChild(RenderObject?), RenderObjectElement.FindAncestorRenderObjectElement(), RenderObjectElement.UpdateChildren(List<Element>, List<Widget>, HashSet<Element>?), Element.Widget, Element.Parent, Element.Depth, Element.RenderObject, Element.InheritedWidgets, Element.Dependencies, Element.Owner, Element.DependOnInheritedWidgetOfExactType<T>(), Element.GetElementForInheritedWidgetOfExactType<T>(), Element.UpdateInheritance(), Element.InDirtyList, Element.Dirty, Element.VisitChildren(Action<Element>), Element.Mount(Element?), Element.Slot, Element.UpdateChild(Element?, Widget?), Element.UpdateChild(Element?, Widget?, object?), Element.UpdateSlotForChild(Element, object?), Element.UpdateSlot(object?), Element.Update(Widget), Element.InflateWidget(Widget, object?), Element.AttachRenderObject(), Element.DetachRenderObject(), Element.DeactivateChild(Element), Element.Deactivate(), Element.DidChangeDependencies(), Element.MarkNeedsBuild(), Element.Reassemble(), Element.Rebuild(), Element.PerformRebuild(), Element.CompareTo(Element?), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

ServiceScopeExtension.GetRequiredService<T>(IBuildContext), ServiceScopeExtension.GetService<T>(IBuildContext)

次の再構築時に適用する新しいルートWidgetを取得または設定します。 保留中の更新がない場合はnullです。

public Widget? NewWidget { get; set; }

Widget?

値は再構築時に一度だけ消費され、適用前にnullへ戻されます。

このElementが管理するRenderObjectを取得します。 RenderObjectがまだ生成されていない場合はnullです。

public override RenderObject? RenderObject { get; protected set; }

RenderObject?

このElementのRenderObjectへ子RenderObjectを挿入します。

public override void InsertRenderObjectChild(RenderObject? child)

child RenderObject?

挿入する子RenderObject。子を持たないことを表す場合はnull。

ElementツリーとRenderObjectツリーへ接続し、アダプターが宣言する子Elementを生成します。

public override void Mount(Element? parent)

parent Element?

接続先の親Element。ルートとして接続する場合はnull。

保留中のルートWidget更新を適用した後、現在の構成をルートRenderObjectへ反映します。

public override void PerformRebuild()

ルートのアダプターWidgetを置き換え、その子Elementを更新します。

public override void Update(Widget newWidget)

newWidget Widget

既存のルートRenderObjectを引き継ぐ新しいアダプターWidget。

このElementが直接管理する子Elementを列挙します。

public override void VisitChildren(Action<Element> visitor)

visitor Action<Element>

各子Elementに一度ずつ適用する処理。

RenderObjectToWidgetAdapter