/// <summary>
 /// Setup constructor
 /// </summary>
 /// <param name="workspace">Current workspace</param>
 /// <param name="viewFactory">View factory used by the controller to create dependent views</param>
 /// <param name="view">View to control</param>
 /// <param name="composite">Composite object to show</param>
 /// <exception cref="ArgumentNullException">Thrown if view or template is null</exception>
 public EditableCompositeViewController( IWorkspace workspace, IViewFactory viewFactory, IEditableCompositeView view, IComposite composite )
 {
     Arguments.CheckNotNull( workspace, "workspace" );
     Arguments.CheckNotNull( viewFactory, "viewFactory" );
     Arguments.CheckNotNull( view, "view" );
     Arguments.CheckNotNull( composite, "composite" );
     view.EditComposition += OnEditComposition;
     view.ComponentSelected += OnComponentSelected;
     view.Composite = composite;
     m_Workspace = workspace;
     m_View = view;
     m_Composite = composite;
     m_ViewFactory = viewFactory;
 }
 /// <summary>
 /// Setup constructor
 /// </summary>
 public EditablePlanetTemplateViewController( IWorkspace workspace, IViewFactory viewFactory, IEditableCompositeView view, IPlanetModelTemplate template )
     : base(workspace, viewFactory, view, template)
 {
 }
 /// <summary>
 /// Setup constructor
 /// </summary>
 /// <param name="workspace">Current workspace</param>
 /// <param name="viewFactory">View factory</param>
 /// <param name="view">View to control</param>
 /// <param name="planet">Planet composite to edit</param>
 public EditablePlanetViewController( IWorkspace workspace, IViewFactory viewFactory, IEditableCompositeView view, IComposite planet )
     : base(workspace, viewFactory, view, planet)
 {
 }