public PaletteEditorWindowController(PaletteStoreRepository storeRepository, UPaletteEditorGUIState guiState, PaletteEditorWindow view) { _guiState = guiState; view.UndoShortcutExecutedAsObservable .Subscribe(_ => OnUndoCommandExecuted()) .DisposeWith(_disposables); view.RedoShortcutExecutedAsObservable .Subscribe(_ => OnRedoCommandExecuted()) .DisposeWith(_disposables); view.RemoveShortcutExecutedAsObservable .Subscribe(_ => _activeContentsViewController.OnRemoveShortcutExecuted()) .DisposeWith(_disposables); view.SelectedPaletteTypeChangedAsObservable .Subscribe(OnActivePaletteTypeChanged) .DisposeWith(_disposables); view.CreateButtonClickedAsObservable .Subscribe(_ => OnCreateButtonClicked()) .DisposeWith(_disposables); view.LostFocusAsObservable .Subscribe(_ => OnLostFocus()) .DisposeWith(_disposables); guiState.ActivePaletteType .Subscribe(x => _activeContentsViewController = GetPerTypeController(x)) .DisposeWith(_disposables); storeRepository.Store.Subscribe(x => { if (x == null) { SetupEmptyView(view); } else { SetupContentsView(x, view); } }).DisposeWith(_disposables); }
public PaletteEditorWindowPresenter(PaletteStoreRepository storeRepository, UPaletteEditorGUIState guiState, PaletteEditorWindow view) { _guiState = guiState; _guiState.ActivePaletteType .Subscribe(view.SetActiveContentView) .DisposeWith(_disposables); view.SetActiveContentView(_guiState.ActivePaletteType.Value); storeRepository.Store.Subscribe(x => { if (x == null) { SetupEmptyView(view); } else { SetupContentsView(x, view); } }).DisposeWith(_disposables); }