public IUtilityPresenter Create(IUtility utility, IUtilityView view) { IUtilityPresenter pres = null; if (utility!=null && view!=null) { pres = new UtilityPresenter(utility, view); } return pres; }
internal void _View_ViewReset(IUtilityView sender, ViewResetEventArgs ea) { if (sender != null) { CommentModel.Reset(); } }
/// <summary> /// Verifies both the <paramref name="view"/> and the <paramref name="model"/> have the /// same selected setting. /// </summary> /// <param name="view"></param> /// <param name="model"></param> private void VerifySelectionStates(IUtilityView view, IUtility model) { if (view.IsSelected != model.IsSelected) { throw new InvalidOperationException("Both the view and model must have the same selected value!"); } }
internal void _View_SettingsButtonClicked(IUtilityView sender, ButtonClickEventArgs ea) { if (sender != null) { CustomizationsViewToggle(); } }
public UtilityPresenter(IUtility utility, IUtilityView view) { CommentModel = utility; CommentView = view; }
internal void _View_SelectionChanged(IUtilityView sender, SelectionEventArgs ea) { if (sender != null) { // the change originated at the UI level and has already been applied at the UI level. if (_Comment.IsSelected != ea.IsSelected) { // propagate the selection change to the model if the Source is a UI source: Mouse, Keyboard, UserInput if (ea.Source == SelectionSource.Mouse) { _Comment.SetIsSelected(ea.IsSelected, ea.Source, ea.Origin); VerifySelectionStates(_View, _Comment); } else if (ea.Source == SelectionSource.KeyBoard) { _Comment.SetIsSelected(ea.IsSelected, ea.Source, ea.Origin); VerifySelectionStates(_View, _Comment); } else if (ea.Source == SelectionSource.UserInput) { _Comment.SetIsSelected(ea.IsSelected, ea.Source, ea.Origin); VerifySelectionStates(_View, _Comment); } } } }
internal void UnsubscribeFromView(IUtilityView view) { if (view != null) { view.ViewControlsChanging -= _View_ViewControlsChanging; view.ViewControlsChanged -= _View_ViewControlsChanged; view.SettingsButtonClicked -= _View_SettingsButtonClicked; view.ViewReset-= _View_ViewReset; view = null; } }
internal void SubscribeToView(IUtilityView view) { if (view != null) { view.ViewControlsChanging += new ViewControlsChangeEventHandler<IView, ViewControlsChangeEventArgs>(_View_ViewControlsChanging); view.ViewControlsChanged += new ViewControlsChangeEventHandler<IView, ViewControlsChangeEventArgs>(_View_ViewControlsChanged); view.SettingsButtonClicked += new ButtonClickEventHandler<IUtilityView, ButtonClickEventArgs>(_View_SettingsButtonClicked); view.ViewReset += new ViewResetEventHandler<IUtilityView, ViewResetEventArgs>(_View_ViewReset); } }