Exemplo n.º 1
0
 static public void RenderChildren <DOCUMENT_NODE_TYPE, CANVAS_TYPE>(this DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> item, CANVAS_TYPE canvas) where DOCUMENT_NODE_TYPE : DocumentNode <CANVAS_TYPE>
 {
     item.GetChildren().Narrow(c => c.IsVisible()).Process(c => c.Render(canvas));
 }
Exemplo n.º 2
0
        static public IEnumerable <DOCUMENT_NODE_TYPE> GetDeepChildren <DOCUMENT_NODE_TYPE, CANVAS_TYPE>(this DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> item) where DOCUMENT_NODE_TYPE : DocumentNode <CANVAS_TYPE>
        {
            foreach (DOCUMENT_NODE_TYPE child in item.GetChildren())
            {
                yield return(child);

                DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> child_container;
                if (child.Convert <DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> >(out child_container))
                {
                    foreach (DOCUMENT_NODE_TYPE sub_child in child_container.GetDeepChildren())
                    {
                        yield return(sub_child);
                    }
                }
            }
        }
Exemplo n.º 3
0
 static public bool HasVisibleChild <DOCUMENT_NODE_TYPE, CANVAS_TYPE>(this DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> item) where DOCUMENT_NODE_TYPE : DocumentNode <CANVAS_TYPE>
 {
     return(item.GetChildren().Has(c => c.IsVisible()));
 }
Exemplo n.º 4
0
 static public void Add <DOCUMENT_NODE_TYPE, CANVAS_TYPE>(this DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> item, params DOCUMENT_NODE_TYPE[] to_add) where DOCUMENT_NODE_TYPE : DocumentNode <CANVAS_TYPE>
 {
     item.Add <DOCUMENT_NODE_TYPE, CANVAS_TYPE>((IEnumerable <DOCUMENT_NODE_TYPE>)to_add);
 }
Exemplo n.º 5
0
 static public void Add <DOCUMENT_NODE_TYPE, CANVAS_TYPE>(this DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> item, IEnumerable <DOCUMENT_NODE_TYPE> to_add) where DOCUMENT_NODE_TYPE : DocumentNode <CANVAS_TYPE>
 {
     to_add.Process(n => item.Add(n));
 }
Exemplo n.º 6
0
 static public J AddAndGet <DOCUMENT_NODE_TYPE, CANVAS_TYPE, J>(this DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> item, J to_add) where J : DOCUMENT_NODE_TYPE where DOCUMENT_NODE_TYPE : DocumentNode <CANVAS_TYPE>
 {
     item.Add(to_add);
     return(to_add);
 }
Exemplo n.º 7
0
 public DocumentBuilder(DocumentNodeContainer <DOCUMENT_NODE_TYPE, CANVAS_TYPE> c)
 {
     root_container   = c;
     active_container = root_container;
 }