public ThemeEditorWindowContentsViewController(Palette <T> palette, EditPaletteStoreService editService, ThemeEditorWindowContentsView view) { _palette = palette; _editService = editService; _view = view; var treeView = _view.TreeView; treeView.OnItemAddedAsObservable() .Subscribe(OnItemAdded) .DisposeWith(_disposables); treeView.OnItemRemovedAsObservable() .Subscribe(OnItemRemoved) .DisposeWith(_disposables); treeView.OnItemClearedAsObservable() .Subscribe(_ => OnItemCleared()) .DisposeWith(_disposables); treeView.ItemIndexChangedAsObservable .Subscribe(x => ItemIndexChanged(x.item, x.newIndex)) .DisposeWith(_disposables); view.RightClickCreateMenuClickedAsObservable .Subscribe(_ => AddNewTheme()) .DisposeWith(_disposables); view.RightClickRemoveMenuClickedAsObservable .Subscribe(_ => OnRightClickRemoveMenuClicked()) .DisposeWith(_disposables); }
private void SetupContentsView(PaletteStore store, PaletteEditorWindow view) { _colorContentsViewController?.Dispose(); _gradientContentsViewController?.Dispose(); _characterStyleContentsViewController?.Dispose(); _characterStyleTMPContentsViewController?.Dispose(); _emptyViewController?.Dispose(); _editService = new EditPaletteStoreService(store, new GenerateNameEnumsFileService(store)); _colorContentsViewController = new PaletteEditorWindowContentsViewController <Color>(store.ColorPalette, _editService, view.ColorContentsView); _gradientContentsViewController = new PaletteEditorWindowContentsViewController <Gradient>(store.GradientPalette, _editService, view.GradientContentsView); _characterStyleContentsViewController = new PaletteEditorWindowContentsViewController <CharacterStyle>(store.CharacterStylePalette, _editService, view.CharacterStyleContentsView); _characterStyleTMPContentsViewController = new PaletteEditorWindowContentsViewController <CharacterStyleTMP>(store.CharacterStyleTMPPalette, _editService, view.CharacterStyleTMPContentsView); _activeContentsViewController = GetPerTypeController(_guiState.ActivePaletteType.Value); }