/// <summary>
 /// Setup constructor
 /// </summary>
 /// <param name="mainDisplay">Main application display</param>
 /// <exception cref="System.ArgumentNullException">Thrown if mainDisplay is null</exception>
 public WorkspaceEx( IMainApplicationDisplay mainDisplay )
     : base(mainDisplay)
 {
     m_ProjectContext = new ProjectContext( );
     m_SelectedBiomeContext = new SelectedBiomeContext( );
     m_ProjectGroups = new ProjectGroupContainer( );
 }
        /// <summary>
        /// Setup constructor
        /// </summary>
        /// <param name="view">Selector view</param>
        /// <param name="rootGroup">Root group (model)</param>
        /// <exception cref="ArgumentNullException">Thrown if view or root group is null</exception>
        public ProjectTypeSelectorController( IProjectTypeSelectorView view, ProjectGroupContainer rootGroup )
        {
            Arguments.CheckNotNull( view, "view" );
            Arguments.CheckNotNull( rootGroup, "rootGroup" );

            view.RootGroup = rootGroup;
            view.SelectionChanged += OnSelectionChanged;

            m_View = view;
        }
        /// <summary>
        /// Setup constructor
        /// </summary>
        /// <param name="workspace">Workspace controller runs in</param>
        /// <param name="context">Project instance context</param>
        /// <param name="view">View to control</param>
        /// <param name="rootGroup">Project model to view</param>
        /// <exception cref="ArgumentNullException">Thrown if any argument is null</exception>
        public CreateProjectController( IWorkspace workspace, ProjectContext context, ICreateProjectView view, ProjectGroupContainer rootGroup )
        {
            Arguments.CheckNotNull( workspace, "workspace" );
            Arguments.CheckNotNull( context, "context" );
            Arguments.CheckNotNull( view, "view" );
            Arguments.CheckNotNull( rootGroup, "rootGroup" );

            AppLog.Info( "Created {0}", GetType( ) );

            m_Workspace = workspace;
            m_Context = context;

            view.SelectionView.SelectionChanged += OnSelectionChanged;
            m_View = view;

            //	Create a controller for the selection view
            new ProjectTypeSelectorController( view.SelectionView, rootGroup );
        }
 /// <summary>
 /// Shows a create project view as a modal dialog
 /// </summary>
 public void ShowCreateProjectView( IWorkspace workspace, ProjectContext context, ProjectGroupContainer rootGroup )
 {
     ICreateProjectView view = new CreateProjectForm( );
     new CreateProjectController( workspace, context, view, rootGroup ).Show( );
 }
 /// <summary>
 /// Creates a project type selector view
 /// </summary>
 public IProjectTypeSelectorView CreateProjectTypeSelectorView( ProjectGroupContainer rootGroup )
 {
     IProjectTypeSelectorView view = new ProjectTypeSelectorView( );
     new ProjectTypeSelectorController( view, rootGroup );
     return view;
 }