/// <summary>
 /// Setup constructor
 /// </summary>
 /// <param name="name">Graph component name</param>
 /// <param name="data">Graph data</param>
 /// <param name="renderer">Graph renderer</param>
 /// <param name="controller">Graph controller</param>
 public GraphComponent( string name, IGraph2dSource data, IGraph2dRenderer renderer, IGraph2dController controller )
 {
     m_Name = name;
     m_Controller = controller;
     m_Source = data;
     m_Renderer = renderer;
 }
 /// <summary>
 /// Setup constructor. Controller and renderer are created from <see cref="IGraph2dSource.CreateController()"/>
 /// and <see cref="IGraph2dSource.CreateRenderer()"/>.
 /// </summary>
 /// <param name="name">Graph component name</param>
 /// <param name="renderer">Graph renderer</param>
 /// <param name="data">Graph data</param>
 public GraphComponent( string name, IGraph2dSource data, IGraph2dRenderer renderer )
     : this(name, data, renderer, data.CreateController( ))
 {
 }