static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // Set up main editor triad ProjectModel project = new ProjectModel(); MainForm form = new MainForm(); new MainPresenter(project, form); // Set up property editor triad new PropertyPresenter(new PropertyModel(project), form.PropertyView); // Set up XML editor triad new XmlPresenter(project, form.XmlView); if (args.Length > 0) project.OpenProject(args[0]); Application.Run(form); }
public MainPresenter(IProjectDocument doc, IMainView view) { this.doc = doc; this.view = view; // Set up property editor triad ProjectModel project = new ProjectModel(doc); IPropertyView propertyView = view.PropertyView; this.propertyPresenter = new PropertyPresenter(project, propertyView); // Set up XML editor triad IXmlView xmlView = view.XmlView; this.xmlPresenter = new XmlPresenter(doc, xmlView); // Enable and disable menu items view.NewProjectCommand.Enabled = true; view.OpenProjectCommand.Enabled = true; view.CloseProjectCommand.Enabled = false; view.SaveProjectCommand.Enabled = false; view.SaveProjectAsCommand.Enabled = false; // Set up handlers for view events view.FormClosing += OnFormClosing; view.NewProjectCommand.Execute += CreateNewProject; view.OpenProjectCommand.Execute += OpenProject; view.SaveProjectCommand.Execute += SaveProject; view.SaveProjectAsCommand.Execute += SaveProjectAs; view.CloseProjectCommand.Execute += CloseProject; view.ActiveViewChanging += this.ValidateActiveViewChange; view.ActiveViewChanged += this.ActiveViewChanged; // Set up handlers for model events doc.ProjectCreated += OnProjectCreated; doc.ProjectClosed += OnProjectClosed; }