private bool IsExpanded(IRenderContext context, INode node) { CanvasControl canvas = context != null ? context.CanvasControl : null; if (canvas != null) { IGraph graph = canvas.Lookup(typeof(IGraph)) as IGraph; if (graph != null) { IFoldingView foldedGraph = graph.Lookup <IFoldingView>(); if (foldedGraph != null && foldedGraph.Graph.Contains(node)) { return(foldedGraph.IsExpanded(node)); } } } return(true); }
public override IVisual CreateVisual(IRenderContext context) { collapsedIcon.SetBounds(new RectD(Bounds.GetTopLeft(), Bounds.GetSize())); expandedIcon.SetBounds(new RectD(Bounds.GetTopLeft(), Bounds.GetSize())); bool expanded = true; CanvasControl canvas = context != null ? context.CanvasControl : null; if (canvas != null) { IGraph graph = canvas.Lookup(typeof(IGraph)) as IGraph; if (graph != null) { IFoldingView foldedGraph = graph.Lookup <IFoldingView>(); if (foldedGraph != null && foldedGraph.Graph.Contains(node)) { expanded = foldedGraph.IsExpanded(node); } } } return(expanded ? expandedIcon.CreateVisual(context) : collapsedIcon.CreateVisual(context)); }