GoDiagram Web Reference
GenerateChildAttributes Method

the GoXmlBindingTransformer being used to write the child object
This is called on the parent's GoXmlBindingTransformer for each child object, when HandlesChildren and HandlesChildAttributes are true, to allow a parent object to add attributes to each child element.
Syntax
'Declaration
 
Protected Overridable Sub GenerateChildAttributes( _
   ByVal parent As Object, _
   ByVal child As Object, _
   ByVal childtransformer As GoXmlBindingTransformer _
) 
protected virtual void GenerateChildAttributes( 
   object parent,
   object child,
   GoXmlBindingTransformer childtransformer
)

Parameters

parent
child
childtransformer
the GoXmlBindingTransformer being used to write the child object
Remarks

For example, this can be used to help generate a dictionary that maps key values to child objects by writing a "key" attribute value on each child object. This could also be used to store a "value" attribute value on each child object, assuming the child object itself is the key in the dictionary.

By default this does nothing, unless HandlesSubGraphCollapsedChildren and HandlesChildAttributes are both true and this parent is a Northwoods.GoWeb.GoSubGraph and the child is a Northwoods.GoWeb.GoObject. If those conditions are true, this will write out saved bounds or saved path information for each child object if the subgraph is not expanded.

Here is an example transformer for Northwoods.GoWeb.GoSubGraph:

            GoSubGraph sg = new GoSubGraph();
            ... do subgraph initialization ...
            GoXmlBindingTransformer st = new GoXmlBindingTransformer("subgraph", sg);
            st.HandlesNamedPorts = true;
            // generates children and consumes them by adding to the subgraph
            st.HandlesChildren = true;
            // make sure reading/writing each child calls the Generate/ConsumeChildAttributes methods
            st.HandlesChildAttributes = true;
            // actually read/write SavedBounds and SavedPath attributes on children, when collapsed
            st.HandlesSubGraphCollapsedChildren = true;
            st.AddBinding("back", "BackgroundColor");
            st.AddBinding("opacity", "Opacity");
            st.AddBinding("border", "BorderPen.Color");
            st.AddBinding("borderwidth", "BorderPen.Width");
            st.AddBinding("loc", "Location");
            // SavedBounds, and SavedPaths if collapsed on each child, handled by Generate/ConsumeChildAttributes
            // define these AFTER defining Location binding
            st.AddBinding("wasexpanded", "WasExpanded");
            st.AddBinding("expanded", "IsExpanded");
            readerorwriter.AddTransformer(st);
            
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

GoXmlBindingTransformer Class
GoXmlBindingTransformer Members
ConsumeChildAttributes Method

 

 


© 2013. Northwoods Software Corporation. All Rights Reserved.

Send Feedback