コンテンツにスキップ

RenderObjectElement<T> クラス

指定した型のRenderObjectを生成・更新するRenderObjectWidgetに対応するElementの基底クラスです。

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

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

T

このElementが管理するRenderObjectの型。

object ← Element ← RenderObjectElement ← RenderObjectElement<T>

IBuildContext, IComparable<Element>

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)

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

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

RenderObject?

Elementツリーへ接続し、対応するWidgetからRenderObjectを生成してRenderObjectツリーへ接続します。

public override void Mount(Element? parent)

parent Element?

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

現在のWidgetの構成を管理対象のRenderObjectへ反映し、再構築が必要な状態を解除します。

public override void PerformRebuild()

管理するWidgetを置き換え、その構成を既存のRenderObjectへ直ちに反映します。

public override void Update(Widget newWidget)

newWidget Widget

同じRenderObjectを引き継ぐ新しいWidget。

RenderObjectWidget<T>