/// <summary> /// Loads a new workspace MVP, where <paramref name="workSpace"/> is the model of the /// MVP stack. The <see cref="IWorkSpacePresenter"/> is returned. /// </summary> /// <returns>Returns the <see cref="IWorkSpacePresenter"/> of the new workspace MVP.</returns> public IWorkSpacePresenter OpenWorkSpaceMVP(IWorkSpace workSpace) { IWorkSpacePresenter presenter = null; Guid viewId = Guid.NewGuid(); IWorkSpaceView wsView = CreateWorkSpaceView(viewId, workSpace.Id); // keep the WS core id with the view as a key to locate the core later on presenter = CreateWorkSpacePresenter(workSpace, wsView); SetPresenterInView(wsView, presenter); WorkSpacePresenter = presenter; //TODO View.Add(wsView); App.WorkSpace = workSpace; return presenter; }
/// <summary> /// Sets the reference in the <paramref name="view"/> to the <paramref name="presenter"/>. /// </summary> /// <param name="view">The view needing a reference to its presenter</param> /// <param name="presenter">The presenter</param> internal void SetPresenterInView(IWorkSpaceView view, IWorkSpacePresenter presenter) { ISetWorkSpacePresenter setter = view as ISetWorkSpacePresenter; if (setter!=null) setter.SetPresenter(presenter); }
/// <summary> /// Creates a new workspace MVP stack. The <see cref="IWorkSpacePresenter"/> is returned. /// </summary> /// <returns>Returns the <see cref="IWorkSpacePresenter"/> of the new workspace MVP.</returns> public IWorkSpacePresenter CreateWorkSpaceMVP() { IWorkSpacePresenter presenter = null; Guid wsId = Guid.NewGuid(); Guid viewId = Guid.NewGuid(); IWorkSpace ws = CreateWorkSpaceCore(wsId); SetDefaultProperties(ws.WSProperties); IWorkSpaceView wsView = CreateWorkSpaceView(viewId, ws.Id); // keep the WS core id with the view as a key to locate the core later on presenter = CreateWorkSpacePresenter(ws, wsView); SetPresenterInView(wsView, presenter); WorkSpacePresenter = presenter; //TODO View.Add(wsView); App.WorkSpace = ws; return presenter; }