public void ActivateNode(ITreeNode node) { if (node == null) { return; } //one of the root has been selected if (nodeRepresentsMoleculeFolder(node)) { _view.LinkedExpressionProfileCaption = string.Empty; _view.ActivateView(_noItemInSelectionPresenter.BaseView); return; } var rootNode = node.ParentNode.DowncastTo <RootNode>(); var molecule = moleculeFrom(node); var expressionProfile = _simulationSubject.ExpressionProfileFor(molecule); if (expressionProfile == null) { throw new PKSimException(PKSimConstants.Error.ExpressionProfileForMoleculeNotFound(molecule.Name, _simulationSubject.Name, _entityTask.TypeFor(_simulationSubject))); } _view.LinkedExpressionProfileCaption = PKSimConstants.UI.LinkedExpressionProfileIs(expressionProfile.Name); _activePresenter = presenterFor(rootNode); //needs to be done as soon as the view is available to allow proper resizing _view.ActivateView(_activePresenter.BaseView); _activePresenter.DisableEdit(); _activePresenter.ActivateMolecule(molecule); _activePresenter.OntogenyVisible = _simulationSubject.IsAgeDependent; _activePresenter.MoleculeParametersVisible = _simulationSubject.IsAnImplementationOf <Individual>(); }
public override void ReleaseFrom(IEventPublisher eventPublisher) { base.ReleaseFrom(eventPublisher); _expressionsPresenterCache.Each(p => p.ReleaseFrom(eventPublisher)); _expressionsPresenterCache.Each(p => p.BaseView.Dispose()); _expressionsPresenterCache.Clear(); _activePresenter = null; }
public void ActivateNode(ITreeNode node) { if (node == null) { return; } //one of the root has been selected _view.GroupCaption = node.FullPath(PKSimConstants.UI.DisplayPathSeparator); if (nodeRepresentsMoleculeFolder(node)) { _view.ActivateView(_noItemInSelectionPresenter.BaseView); return; } var rootNode = node.ParentNode.DowncastTo <RootNode>(); _activePresenter = presenterFor(rootNode); _activePresenter.OntogenyVisible = _simulationSubject.IsAgeDependent; _activePresenter.MoleculeParametersVisible = _simulationSubject.IsAnImplementationOf <Individual>(); _activePresenter.ActivateMolecule(moleculeFrom(node)); _view.ActivateView(_activePresenter.BaseView); }