public LokiNodeView(LokiNodeAdapter adapter) { this.adapter = adapter; var visualTree = LokiResources.Get <VisualTreeAsset>("UXML/LokiNodeView.uxml"); visualTree.CloneTree(this); var styleSheet = LokiResources.Get <StyleSheet>("StyleSheets/LokiNodeView.uss"); styleSheets.Add(styleSheet); this.AddToClassList("node"); capabilities |= Capabilities.Selectable | Capabilities.Movable | Capabilities.Deletable | Capabilities.Ascendable | Capabilities.Copiable; usageHints = UsageHints.DynamicTransform; style.position = Position.Absolute; selectionBorder = this.Q <VisualElement>("selection-border"); container = this.Q <VisualElement>("node-root"); headerContainer = this.Q <VisualElement>("header-container"); midContainer = this.Q <VisualElement>("mid-container"); titleLabel = headerContainer.Q <Label>("title"); container.RegisterCallback <GeometryChangedEvent>(OnRootGeometryChanged); this.RegisterCallback <MouseEnterEvent>(OnMouseEnter); this.RegisterCallback <MouseLeaveEvent>(OnMouseLeave); adapter.BuildNodeView(this); }
public static LokiNodeView Get(LokiNodeAdapter adapter) { var nodeView = new LokiNodeView(adapter); return(nodeView); }